diff --git a/404.html b/404.html index 612f075..b99976e 100644 --- a/404.html +++ b/404.html @@ -1,4 +1,4 @@ -404: This page could not be found

404

This page could not be found.

\ No newline at end of file +data-styled.g314[id="cmp__StyledCustomIcon-sc-123qbte-0"]{content:"kJrizP,gNFVDG,"}/*!sc*/ +

404

This page could not be found.

\ No newline at end of file diff --git a/404/index.html b/404/index.html index 612f075..b99976e 100644 --- a/404/index.html +++ b/404/index.html @@ -1,4 +1,4 @@ -404: This page could not be found

404

This page could not be found.

\ No newline at end of file +data-styled.g314[id="cmp__StyledCustomIcon-sc-123qbte-0"]{content:"kJrizP,gNFVDG,"}/*!sc*/ +

404

This page could not be found.

\ No newline at end of file diff --git a/_loading/index.html b/_loading/index.html index 4f3655a..eec6da5 100644 --- a/_loading/index.html +++ b/_loading/index.html @@ -1,4 +1,4 @@ -
\ No newline at end of file +data-styled.g264[id="cmp__StyledCustomIcon-sc-123qbte-0"]{content:"kJrizP,gNFVDG,"}/*!sc*/ +
\ No newline at end of file diff --git a/_next/static/YIe45s3sd3MAyuGKhPBEt/_buildManifest.js b/_next/static/YIe45s3sd3MAyuGKhPBEt/_buildManifest.js new file mode 100644 index 0000000..fb9c5c1 --- /dev/null +++ b/_next/static/YIe45s3sd3MAyuGKhPBEt/_buildManifest.js @@ -0,0 +1 @@ +self.__BUILD_MANIFEST=function(a,s,c,n,e,r){return{__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":["static/chunks/pages/index-0dc2b74c7817864a.js"],"/_error":["static/chunks/pages/_error-3f6d1c55bb8051ab.js"],"/_loading":["static/chunks/pages/_loading-a4a5af135c6d517d.js"],"/earn":["static/chunks/pages/earn-67f6a5ef85aa3b7d.js"],"/earn/ccn":[a,c,n,"static/chunks/pages/earn/ccn-43233038afe59255.js"],"/earn/ccn/new":[s,"static/chunks/pages/earn/ccn/new-363d9d46f11d2c63.js"],"/earn/ccn/[hash]":[a,s,e,r,"static/chunks/pages/earn/ccn/[hash]-4bef0dd4e26b1b45.js"],"/earn/crn":[a,c,"static/chunks/pages/earn/crn-6be23280004fa6c0.js"],"/earn/crn/new":[s,"static/chunks/pages/earn/crn/new-ded632509cf38049.js"],"/earn/crn/[hash]":[a,s,e,r,"static/chunks/pages/earn/crn/[hash]-a599f582276bd6d2.js"],"/earn/staking":[a,c,n,"static/chunks/pages/earn/staking-7ca06960be4d9aab.js"],sortedPages:["/","/_app","/_error","/_loading","/earn","/earn/ccn","/earn/ccn/new","/earn/ccn/[hash]","/earn/crn","/earn/crn/new","/earn/crn/[hash]","/earn/staking"]}}("static/chunks/959-07d961f513f799a1.js","static/chunks/312-a3e00b089592b88f.js","static/chunks/983-299a078f0ba5f337.js","static/chunks/431-fb9caa5405a988e4.js","static/chunks/505-6dcc0e2dcbcf1875.js","static/chunks/903-ce15336cfd00b2a9.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/_next/static/dCwRf9WFAVgz1IXJV9rkW/_ssgManifest.js b/_next/static/YIe45s3sd3MAyuGKhPBEt/_ssgManifest.js similarity index 100% rename from _next/static/dCwRf9WFAVgz1IXJV9rkW/_ssgManifest.js rename to _next/static/YIe45s3sd3MAyuGKhPBEt/_ssgManifest.js diff --git a/_next/static/chunks/431-9d2d6aecf439e349.js b/_next/static/chunks/431-fb9caa5405a988e4.js similarity index 94% rename from _next/static/chunks/431-9d2d6aecf439e349.js rename to _next/static/chunks/431-fb9caa5405a988e4.js index 991ef69..2773619 100644 --- a/_next/static/chunks/431-9d2d6aecf439e349.js +++ b/_next/static/chunks/431-fb9caa5405a988e4.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[431],{87931:function(e,t,n){n.d(t,{Z:function(){return d}});var i=n(85893),r=n(67294),o=n(41664),a=n.n(o),l=n(79632);let s=e=>{let{href:t,variant:n="secondary",color:r="main0",kind:o="default",size:s="md",disabled:d,children:c,...m}=e,p=(0,i.jsx)(l.zx,{as:"a",variant:n,color:r,kind:o,size:s,disabled:d,...m,children:c});return d?p:(0,i.jsx)(a(),{href:t,passHref:!0,legacyBehavior:!0,children:p})};s.displayName="ButtonLink";var d=(0,r.memo)(s)},13153:function(e,t,n){n.d(t,{Z:function(){return c}});var i=n(85893),r=n(67294),o=n(79632),a=n(19521);let l=a.ZP.div.attrs((0,o.PT)("fx-dark-main0")).withConfig({displayName:"styles__StyledContainer",componentId:"sc-1hw364q-0"})([""," background:#00000019 !important;"],{position:"relative",height:"100%",maxWidth:"100%",borderRadius:"1.5rem",padding:"1.5rem"}),s=a.ZP.div.withConfig({displayName:"styles__StyledContent",componentId:"sc-1hw364q-1"})([""," ",""],{maxWidth:"100%"},e=>{let{$disabled:t}=e;return t&&(0,a.iv)(["opacity:0.4;filter:grayscale(100%);"])}),d=e=>{let{children:t,disabled:n,loading:r,...o}=e;return(0,i.jsx)(l,{...o,children:(0,i.jsx)(s,{$disabled:n,children:t})})};d.displayName="Card1";var c=(0,r.memo)(d)},52984:function(e,t,n){n.d(t,{Z:function(){return o}});var i=n(19521);let r=i.ZP.div.withConfig({displayName:"styles__StyledProgressBar",componentId:"sc-lav9ln-0"})(e=>{var t;let{theme:n,$color:r="main0",$gradient:o,$percent:a}=e,l=o?null===(t=n.gradient[o])||void 0===t?void 0:t.fn:void 0,s=l||n.color[r]||r,d=n.color.disabled2;return[{position:"relative",height:"0.125rem",width:"100%"},(0,i.iv)(["background-color:",";&:after{"," content:'';background-color:",";width:","%;}"],d,{position:"absolute",left:"0px",top:"0px",height:"100%"},s,100*a)]});var o=r},60202:function(e,t,n){n.d(t,{Z:function(){return c}});var i=n(85893),r=n(19521),o=n(67294),a=n(79632);let l=(0,r.ZP)(a.cu).attrs(e=>{let{$performance:t,...n}=e;return{$color:t>=.8?"main1":t>=.5?"main0":"error",...n}}).withConfig({displayName:"styles__StyledAPYIcon",componentId:"sc-162ntq6-0"})([""]);var s=n(47630);let d=e=>{let{node:t,nodes:n}=e,r=new s.S,o=r.computeEstimatedStakersAPY(t,n),a=r.currentAPY(n);return(0,i.jsxs)(m,{children:[(0,i.jsx)(l,{$performance:o/a}),Number(100*o).toFixed(2),"%"]})};d.displayName="NodeAPY";var c=(0,o.memo)(d),m=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-svx2na-0"})({display:"inline-flex",alignItems:"center",gap:"0.75rem"})},90709:function(e,t,n){n.d(t,{Rr:function(){return a},ZP:function(){return d}});var i=n(85893),r=n(19521),o=n(67294);let a=r.ZP.div.withConfig({displayName:"styles__StyledDotIcon",componentId:"sc-q6l3ug-0"})(e=>{let{theme:t,$score:n}=e,i=void 0===n?t.color.disabled2:n>=.8?t.color.success:n>=.5?t.color.info:t.color.error;return[{height:"0.75rem",width:"0.5rem"},(0,r.iv)(["background-color:",";"],i)]});var l=n(72479);let s=e=>{let{nodes:t,subfix:n,...r}=e,o=l.B.maxLinkedPerNode;return(0,i.jsxs)(c,{...r,children:[(0,i.jsx)(m,{children:Array.from({length:o},(e,n)=>{var r;return(0,i.jsx)(a,{$score:null==t?void 0:null===(r=t[n])||void 0===r?void 0:r.score},n)})}),(0,i.jsxs)(p,{className:"fs-10",children:[null==t?void 0:t.length," ",(0,i.jsxs)(u,{children:["of ",o,n]})]})]})};s.displayName="NodeLinkedNodes";var d=(0,o.memo)(s),c=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1i7lvnr-0"})({display:"inline-flex",alignItems:"center",gap:"0.75rem"}),m=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-1i7lvnr-1"})({display:"flex",alignItems:"stretch",gap:"0.125rem"}),p=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-1i7lvnr-2"})({whiteSpace:"nowrap",lineHeight:"1rem"}),u=(0,r.ZP)("span").withConfig({displayName:"cmp___StyledSpan",componentId:"sc-1i7lvnr-3"})({opacity:"0.2"})},11140:function(e,t,n){n.d(t,{Z:function(){return d}});var i=n(85893),r=n(19521),o=n(67294),a=n(79632),l=n(52984);let s=e=>{let{staked:t,status:n,locked:r}=e,o=Math.min(t,5e5)/5e5,s=Number(t/1e3).toFixed(0);return(0,i.jsxs)(c,{className:"fs-10",children:[(0,i.jsxs)(m,{children:[(0,i.jsxs)("div",{children:[s,"k ",(0,i.jsx)(p,{children:"of 500k"})]}),(0,i.jsxs)(u,{children:[n.toUpperCase(),r&&(0,i.jsx)(a.JO,{name:"lock",size:"xs"})]})]}),(0,i.jsx)(f,{children:(0,i.jsx)(l.Z,{$percent:o,$color:o>=1?"main1":"main0"})})]})};s.displayName="NodeStaked";var d=(0,o.memo)(s),c=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-158w15e-0"})({width:"100%",lineHeight:"1rem"}),m=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-158w15e-1"})({marginBottom:"0.625rem",display:"flex",alignItems:"center",justifyContent:"space-between",gap:"0.375rem",whiteSpace:"nowrap",lineHeight:"1rem"}),p=(0,r.ZP)("span").withConfig({displayName:"cmp___StyledSpan",componentId:"sc-158w15e-2"})({opacity:"0.2"}),u=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-158w15e-3"})({display:"flex",alignItems:"center",gap:"0.25rem",fontSize:"0.375rem"}),f=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-158w15e-4"})({display:"flex",alignItems:"center",gap:"0.25rem"})},68461:function(e,t,n){n.d(t,{Z:function(){return d}});var i=n(85893),r=n(19521),o=n(67294),a=n(79632);let l=(0,r.ZP)(a.iA).attrs(e=>({borderType:"solid",oddRowNoise:!0,stickyHeader:!1,...e})).withConfig({displayName:"styles__StyledTable",componentId:"sc-gp6li6-0"})(["thead th{font-size:0.8125rem;","}td,th{padding:0.75rem 1rem;width:0;}tr,td{border:none;}"],{whiteSpace:"nowrap"}),s=e=>{let{children:t,...n}=e;return(0,i.jsx)(c,{children:(0,i.jsx)(l,{...n,children:t})})};s.displayName="NodesTable";var d=(0,o.memo)(s),c=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1mxy15q-0"})({maxWidth:"100%",overflowX:"auto"})},6309:function(e,t,n){n.d(t,{t:function(){return d},Z:function(){return c}});var i=n(85893),r=n(67294),o=n(19521);let a=o.ZP.span.withConfig({displayName:"styles__StyledPrice",componentId:"sc-ouxjcu-0"})(["",""],{display:"inline-flex",alignItems:"center",gap:"0.25rem",whiteSpace:"nowrap"});var l=n(79632),s=n(34853);let d=e=>{let{value:t,...n}=e;return(0,i.jsxs)(a,{...n,children:[(0,s.RK)(t),(0,i.jsx)(l.TR,{color:"currentColor"})]})};d.displayName="Price";var c=(0,r.memo)(d)},7954:function(e,t,n){n.d(t,{Z:function(){return i.Z}});var i=n(6309)},32350:function(e,t,n){n.d(t,{Z:function(){return c}});var i=n(85893),r=n(19521),o=n(67294),a=n(79632);r.ZP.div.withConfig({displayName:"styles__StyledContainer",componentId:"sc-7dtatc-0"})(["",""],e=>{let{$isOpen:t,$duration:n=500}=e;return(0,r.iv)(["display:grid;grid-template-rows:0fr;transition:grid-template-rows ","ms ease-in-out;",""],n,t&&(0,r.iv)(["grid-template-rows:1fr;"]))});let l=(0,r.ZP)(a.Gd).withConfig({displayName:"styles__StyledToggleContainer",componentId:"sc-7dtatc-1"})([""," transition-property:all !important;",""],{position:"relative",top:"-1.25rem",margin:"0px",padding:"0px"},e=>{let{open:t}=e;return t&&(0,r.iv)(["",""],{top:"0px",margin:"-4rem",padding:"4rem"})}),s=r.ZP.div.withConfig({displayName:"styles__StyledButtonsContainer",componentId:"sc-7dtatc-2"})(["",""],e=>{let{$open:t}=e;return(0,r.iv)([""," opacity:",";transition:opacity ease-in-out 400ms ","ms,visibility linear 0ms ","ms;"],{position:"absolute !important",top:"0px",display:"flex",flexDirection:"column",gap:"1.25rem"},t?1:0,t?600:0,t?600:0)}),d=e=>{let{buttons:t,children:n,...r}=e,[d,c]=(0,o.useState)(!0),g=(0,o.useCallback)(()=>c(e=>!e),[]),h=(0,o.useRef)(null),{shouldMount:v,stage:y}=(0,a.Yz)(!d,1e3),{shouldMount:_,stage:x}=(0,a.Yz)(d,1e3),w="enter"===y,{bounds:N}=(0,a.Bq)({ref:h,deps:[w]}),C=(null==N?void 0:N.height)||0;return(0,i.jsx)(m,{style:{minHeight:C},...r,children:(0,i.jsxs)(i.Fragment,{children:[_&&(0,i.jsxs)(l,{open:"enter"===x,duration:1e3,children:[n,(0,i.jsxs)(p,{color:"main0",kind:"neon",variant:"textOnly",size:"md",onClick:g,$_css:[{marginLeft:"auto !important",marginTop:"1.5rem !important",display:"flex !important",gap:"0.625rem"}],children:[(0,i.jsx)(u,{name:"sort-up"}),"collapse"]})]}),v&&(0,i.jsxs)(s,{ref:h,$open:w,children:[t,(0,i.jsxs)(f,{color:"main0",kind:"neon",variant:"secondary",size:"md",onClick:g,children:[(0,i.jsx)(a.JO,{name:"gauge"}),"open dashboard"]})]})]})})};d.displayName="ToggleDashboard";var c=(0,o.memo)(d),m=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-juc50-0"})({position:"relative",marginBottom:"3.5rem",marginTop:"2rem"}),p=(0,r.ZP)(a.zx).withConfig({displayName:"cmp___StyledButton",componentId:"sc-juc50-1"})(["",""],e=>e.$_css),u=(0,r.ZP)(a.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-juc50-2"})({height:"0.875rem",width:"0.875rem",paddingTop:"0.5rem"}),f=(0,r.ZP)(a.zx).withConfig({displayName:"cmp___StyledButton2",componentId:"sc-juc50-3"})({gap:"0.625rem"})},87625:function(e,t,n){n.d(t,{_:function(){return o}});var i=n(85893),r=n(19521);function o(e){let{data:t}=e,n=(0,r.Fg)();return(0,i.jsx)(i.Fragment,{children:t.filter(e=>!!e.gradient).map((e,t)=>{if(!e.gradient)return null;let{colors:r,deg:o,stops:a}="string"==typeof e.gradient?n.gradient[e.gradient]:e.gradient,l="string"==typeof e.gradient?"gr-".concat(e.gradient):"gr-".concat(t);return(0,i.jsx)("linearGradient",{id:l,gradientTransform:"rotate(".concat(o+-90," 0.5 0.5)"),children:r.map((e,t)=>(0,i.jsx)("stop",{offset:"".concat(a[t],"%"),stopColor:e},e))},l)})})}},96272:function(e,t,n){n.d(t,{v:function(){return l}});var i=n(94461),r=n(67294),o=n(32998),a=n(70235);function l(e){let{nodes:t,filterKey:n="ccnq"}=e,[l]=(0,i.mr)(),{account:s,balance:d=0}=l.connection,{data:c}=l.lastCCNVersion,{entities:m}=l.ccns,p=l.filter,u=t||m,[f,g]=(0,a.L)({key:n,debounced:200}),[h,v]=(0,r.useState)(),y=(0,r.useCallback)(e=>{let t=e.target.value;v(t),g(t)},[g]);(0,r.useEffect)(()=>{void 0===h&&f&&v(f)},[f,h]);let _=(0,r.useCallback)((e,t)=>{if(t)return e?t.filter(t=>{var n;return null===(n=t.name)||void 0===n?void 0:n.toLowerCase().includes(e.toLowerCase())}):t},[]),x=(0,r.useMemo)(()=>_(f,u),[_,f,u]),w=(0,r.useMemo)(()=>{if(x)return x.sort((e,t)=>t.score-e.score)},[x]),{list:N,handleSortItems:C}=(0,o.g)({list:w});return{account:s,accountBalance:d,nodes:u,filteredNodes:N,filter:h,lastVersion:c,filters:p,handleSortItems:C,handleFilterChange:y}}},70235:function(e,t,n){n.d(t,{L:function(){return a}});var i=n(67294),r=n(94461),o=n(77767);function a(e){var t;let{key:n,debounced:a=0}=e,[l,s]=(0,r.mr)(),d=l.filter,c=null===(t=d[n])||void 0===t?void 0:t.value,m=(0,i.useMemo)(()=>{var e;let t;return e=e=>e?s(new o.q6({key:n,value:e})):s(new o.xp({key:n})),n=>{clearTimeout(t),t=setTimeout(()=>e(n),a)}},[a,n,s]);return[c,m]}},76625:function(e,t,n){n.d(t,{W:function(){return r}});var i=n(67294);function r(){let[e,t]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{let e=setTimeout(()=>t(!0));return()=>clearTimeout(e)},[]),{render:e}}},51383:function(e,t,n){n.d(t,{L:function(){return r}});var i=n(67294);function r(e){let{nodes:t,nodesIssues:n}=e,r=(0,i.useMemo)(()=>{if(t)return t.sort((e,t)=>{let i=n[e.hash]?1:0,r=n[t.hash]?1:0;return r-i})},[t,n]);return{sortedNodes:r}}},32998:function(e,t,n){n.d(t,{g:function(){return r}});var i=n(67294);function r(e){let{list:t}=e,[n,r]=(0,i.useState)(),o=(0,i.useMemo)(()=>t&&n?n(t):t,[t,n]),a=(0,i.useCallback)(e=>r(()=>e),[]);return{list:o,handleSortItems:a}}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[431],{87931:function(e,t,n){n.d(t,{Z:function(){return d}});var i=n(85893),r=n(67294),o=n(41664),a=n.n(o),l=n(31515);let s=e=>{let{href:t,variant:n="secondary",color:r="main0",kind:o="default",size:s="md",disabled:d,children:c,...m}=e,p=(0,i.jsx)(l.zx,{as:"a",variant:n,color:r,kind:o,size:s,disabled:d,...m,children:c});return d?p:(0,i.jsx)(a(),{href:t,passHref:!0,legacyBehavior:!0,children:p})};s.displayName="ButtonLink";var d=(0,r.memo)(s)},13153:function(e,t,n){n.d(t,{Z:function(){return c}});var i=n(85893),r=n(67294),o=n(31515),a=n(19521);let l=a.ZP.div.attrs((0,o.PT)("fx-dark-main0")).withConfig({displayName:"styles__StyledContainer",componentId:"sc-1hw364q-0"})([""," background:#00000019 !important;"],{position:"relative",height:"100%",maxWidth:"100%",borderRadius:"1.5rem",padding:"1.5rem"}),s=a.ZP.div.withConfig({displayName:"styles__StyledContent",componentId:"sc-1hw364q-1"})([""," ",""],{maxWidth:"100%"},e=>{let{$disabled:t}=e;return t&&(0,a.iv)(["opacity:0.4;filter:grayscale(100%);"])}),d=e=>{let{children:t,disabled:n,loading:r,...o}=e;return(0,i.jsx)(l,{...o,children:(0,i.jsx)(s,{$disabled:n,children:t})})};d.displayName="Card1";var c=(0,r.memo)(d)},52984:function(e,t,n){n.d(t,{Z:function(){return o}});var i=n(19521);let r=i.ZP.div.withConfig({displayName:"styles__StyledProgressBar",componentId:"sc-lav9ln-0"})(e=>{var t;let{theme:n,$color:r="main0",$gradient:o,$percent:a}=e,l=o?null===(t=n.gradient[o])||void 0===t?void 0:t.fn:void 0,s=l||n.color[r]||r,d=n.color.disabled2;return[{position:"relative",height:"0.125rem",width:"100%"},(0,i.iv)(["background-color:",";&:after{"," content:'';background-color:",";width:","%;}"],d,{position:"absolute",left:"0px",top:"0px",height:"100%"},s,100*a)]});var o=r},60202:function(e,t,n){n.d(t,{Z:function(){return c}});var i=n(85893),r=n(19521),o=n(67294),a=n(31515);let l=(0,r.ZP)(a.cu).attrs(e=>{let{$performance:t,...n}=e;return{$color:t>=.8?"main1":t>=.5?"main0":"error",...n}}).withConfig({displayName:"styles__StyledAPYIcon",componentId:"sc-162ntq6-0"})([""]);var s=n(47630);let d=e=>{let{node:t,nodes:n}=e,r=new s.S,o=r.computeEstimatedStakersAPY(t,n),a=r.currentAPY(n);return(0,i.jsxs)(m,{children:[(0,i.jsx)(l,{$performance:o/a}),Number(100*o).toFixed(2),"%"]})};d.displayName="NodeAPY";var c=(0,o.memo)(d),m=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-svx2na-0"})({display:"inline-flex",alignItems:"center",gap:"0.75rem"})},90709:function(e,t,n){n.d(t,{Rr:function(){return a},ZP:function(){return d}});var i=n(85893),r=n(19521),o=n(67294);let a=r.ZP.div.withConfig({displayName:"styles__StyledDotIcon",componentId:"sc-q6l3ug-0"})(e=>{let{theme:t,$score:n}=e,i=void 0===n?t.color.disabled2:n>=.8?t.color.success:n>=.5?t.color.info:t.color.error;return[{height:"0.75rem",width:"0.5rem"},(0,r.iv)(["background-color:",";"],i)]});var l=n(48107);let s=e=>{let{nodes:t,subfix:n,...r}=e,o=l.B.maxLinkedPerNode;return(0,i.jsxs)(c,{...r,children:[(0,i.jsx)(m,{children:Array.from({length:o},(e,n)=>{var r;return(0,i.jsx)(a,{$score:null==t?void 0:null===(r=t[n])||void 0===r?void 0:r.score},n)})}),(0,i.jsxs)(p,{className:"fs-10",children:[null==t?void 0:t.length," ",(0,i.jsxs)(u,{children:["of ",o,n]})]})]})};s.displayName="NodeLinkedNodes";var d=(0,o.memo)(s),c=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1i7lvnr-0"})({display:"inline-flex",alignItems:"center",gap:"0.75rem"}),m=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-1i7lvnr-1"})({display:"flex",alignItems:"stretch",gap:"0.125rem"}),p=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-1i7lvnr-2"})({whiteSpace:"nowrap",lineHeight:"1rem"}),u=(0,r.ZP)("span").withConfig({displayName:"cmp___StyledSpan",componentId:"sc-1i7lvnr-3"})({opacity:"0.2"})},11140:function(e,t,n){n.d(t,{Z:function(){return d}});var i=n(85893),r=n(19521),o=n(67294),a=n(31515),l=n(52984);let s=e=>{let{staked:t,status:n,locked:r}=e,o=Math.min(t,5e5)/5e5,s=Number(t/1e3).toFixed(0);return(0,i.jsxs)(c,{className:"fs-10",children:[(0,i.jsxs)(m,{children:[(0,i.jsxs)("div",{children:[s,"k ",(0,i.jsx)(p,{children:"of 500k"})]}),(0,i.jsxs)(u,{children:[n.toUpperCase(),r&&(0,i.jsx)(a.JO,{name:"lock",size:"xs"})]})]}),(0,i.jsx)(f,{children:(0,i.jsx)(l.Z,{$percent:o,$color:o>=1?"main1":"main0"})})]})};s.displayName="NodeStaked";var d=(0,o.memo)(s),c=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-158w15e-0"})({width:"100%",lineHeight:"1rem"}),m=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-158w15e-1"})({marginBottom:"0.625rem",display:"flex",alignItems:"center",justifyContent:"space-between",gap:"0.375rem",whiteSpace:"nowrap",lineHeight:"1rem"}),p=(0,r.ZP)("span").withConfig({displayName:"cmp___StyledSpan",componentId:"sc-158w15e-2"})({opacity:"0.2"}),u=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-158w15e-3"})({display:"flex",alignItems:"center",gap:"0.25rem",fontSize:"0.375rem"}),f=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-158w15e-4"})({display:"flex",alignItems:"center",gap:"0.25rem"})},68461:function(e,t,n){n.d(t,{Z:function(){return d}});var i=n(85893),r=n(19521),o=n(67294),a=n(31515);let l=(0,r.ZP)(a.iA).attrs(e=>({borderType:"solid",oddRowNoise:!0,stickyHeader:!1,...e})).withConfig({displayName:"styles__StyledTable",componentId:"sc-gp6li6-0"})(["thead th{font-size:0.8125rem;","}td,th{padding:0.75rem 1rem;width:0;}tr,td{border:none;}"],{whiteSpace:"nowrap"}),s=e=>{let{children:t,...n}=e;return(0,i.jsx)(c,{children:(0,i.jsx)(l,{...n,children:t})})};s.displayName="NodesTable";var d=(0,o.memo)(s),c=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1mxy15q-0"})({maxWidth:"100%",overflowX:"auto"})},6309:function(e,t,n){n.d(t,{t:function(){return d},Z:function(){return c}});var i=n(85893),r=n(67294),o=n(19521);let a=o.ZP.span.withConfig({displayName:"styles__StyledPrice",componentId:"sc-ouxjcu-0"})(["",""],{display:"inline-flex",alignItems:"center",gap:"0.25rem",whiteSpace:"nowrap"});var l=n(31515),s=n(34853);let d=e=>{let{value:t,...n}=e;return(0,i.jsxs)(a,{...n,children:[(0,s.RK)(t),(0,i.jsx)(l.TR,{color:"currentColor"})]})};d.displayName="Price";var c=(0,r.memo)(d)},7954:function(e,t,n){n.d(t,{Z:function(){return i.Z}});var i=n(6309)},32350:function(e,t,n){n.d(t,{Z:function(){return c}});var i=n(85893),r=n(19521),o=n(67294),a=n(31515);r.ZP.div.withConfig({displayName:"styles__StyledContainer",componentId:"sc-7dtatc-0"})(["",""],e=>{let{$isOpen:t,$duration:n=500}=e;return(0,r.iv)(["display:grid;grid-template-rows:0fr;transition:grid-template-rows ","ms ease-in-out;",""],n,t&&(0,r.iv)(["grid-template-rows:1fr;"]))});let l=(0,r.ZP)(a.Gd).withConfig({displayName:"styles__StyledToggleContainer",componentId:"sc-7dtatc-1"})([""," transition-property:all !important;",""],{position:"relative",top:"-1.25rem",margin:"0px",padding:"0px"},e=>{let{open:t}=e;return t&&(0,r.iv)(["",""],{top:"0px",margin:"-4rem",padding:"4rem"})}),s=r.ZP.div.withConfig({displayName:"styles__StyledButtonsContainer",componentId:"sc-7dtatc-2"})(["",""],e=>{let{$open:t}=e;return(0,r.iv)([""," opacity:",";transition:opacity ease-in-out 400ms ","ms,visibility linear 0ms ","ms;"],{position:"absolute !important",top:"0px",display:"flex",flexDirection:"column",gap:"1.25rem"},t?1:0,t?600:0,t?600:0)}),d=e=>{let{buttons:t,children:n,...r}=e,[d,c]=(0,o.useState)(!0),g=(0,o.useCallback)(()=>c(e=>!e),[]),h=(0,o.useRef)(null),{shouldMount:v,stage:y}=(0,a.Yz)(!d,1e3),{shouldMount:_,stage:x}=(0,a.Yz)(d,1e3),w="enter"===y,{bounds:N}=(0,a.Bq)({ref:h,deps:[w]}),C=(null==N?void 0:N.height)||0;return(0,i.jsx)(m,{style:{minHeight:C},...r,children:(0,i.jsxs)(i.Fragment,{children:[_&&(0,i.jsxs)(l,{open:"enter"===x,duration:1e3,children:[n,(0,i.jsxs)(p,{color:"main0",kind:"neon",variant:"textOnly",size:"md",onClick:g,$_css:[{marginLeft:"auto !important",marginTop:"1.5rem !important",display:"flex !important",gap:"0.625rem"}],children:[(0,i.jsx)(u,{name:"sort-up"}),"collapse"]})]}),v&&(0,i.jsxs)(s,{ref:h,$open:w,children:[t,(0,i.jsxs)(f,{color:"main0",kind:"neon",variant:"secondary",size:"md",onClick:g,children:[(0,i.jsx)(a.JO,{name:"gauge"}),"open dashboard"]})]})]})})};d.displayName="ToggleDashboard";var c=(0,o.memo)(d),m=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-juc50-0"})({position:"relative",marginBottom:"3.5rem",marginTop:"2rem"}),p=(0,r.ZP)(a.zx).withConfig({displayName:"cmp___StyledButton",componentId:"sc-juc50-1"})(["",""],e=>e.$_css),u=(0,r.ZP)(a.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-juc50-2"})({height:"0.875rem",width:"0.875rem",paddingTop:"0.5rem"}),f=(0,r.ZP)(a.zx).withConfig({displayName:"cmp___StyledButton2",componentId:"sc-juc50-3"})({gap:"0.625rem"})},87625:function(e,t,n){n.d(t,{_:function(){return o}});var i=n(85893),r=n(19521);function o(e){let{data:t}=e,n=(0,r.Fg)();return(0,i.jsx)(i.Fragment,{children:t.filter(e=>!!e.gradient).map((e,t)=>{if(!e.gradient)return null;let{colors:r,deg:o,stops:a}="string"==typeof e.gradient?n.gradient[e.gradient]:e.gradient,l="string"==typeof e.gradient?"gr-".concat(e.gradient):"gr-".concat(t);return(0,i.jsx)("linearGradient",{id:l,gradientTransform:"rotate(".concat(o+-90," 0.5 0.5)"),children:r.map((e,t)=>(0,i.jsx)("stop",{offset:"".concat(a[t],"%"),stopColor:e},e))},l)})})}},96272:function(e,t,n){n.d(t,{v:function(){return l}});var i=n(94461),r=n(67294),o=n(32998),a=n(70235);function l(e){let{nodes:t,filterKey:n="ccnq"}=e,[l]=(0,i.mr)(),{account:s,balance:d=0}=l.connection,{data:c}=l.lastCCNVersion,{entities:m}=l.ccns,p=l.filter,u=t||m,[f,g]=(0,a.L)({key:n,debounced:200}),[h,v]=(0,r.useState)(),y=(0,r.useCallback)(e=>{let t=e.target.value;v(t),g(t)},[g]);(0,r.useEffect)(()=>{void 0===h&&f&&v(f)},[f,h]);let _=(0,r.useCallback)((e,t)=>{if(t)return e?t.filter(t=>{var n;return null===(n=t.name)||void 0===n?void 0:n.toLowerCase().includes(e.toLowerCase())}):t},[]),x=(0,r.useMemo)(()=>_(f,u),[_,f,u]),w=(0,r.useMemo)(()=>{if(x)return x.sort((e,t)=>t.score-e.score)},[x]),{list:N,handleSortItems:C}=(0,o.g)({list:w});return{account:s,accountBalance:d,nodes:u,filteredNodes:N,filter:h,lastVersion:c,filters:p,handleSortItems:C,handleFilterChange:y}}},70235:function(e,t,n){n.d(t,{L:function(){return a}});var i=n(67294),r=n(94461),o=n(77767);function a(e){var t;let{key:n,debounced:a=0}=e,[l,s]=(0,r.mr)(),d=l.filter,c=null===(t=d[n])||void 0===t?void 0:t.value,m=(0,i.useMemo)(()=>{var e;let t;return e=e=>e?s(new o.q6({key:n,value:e})):s(new o.xp({key:n})),n=>{clearTimeout(t),t=setTimeout(()=>e(n),a)}},[a,n,s]);return[c,m]}},76625:function(e,t,n){n.d(t,{W:function(){return r}});var i=n(67294);function r(){let[e,t]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{let e=setTimeout(()=>t(!0));return()=>clearTimeout(e)},[]),{render:e}}},51383:function(e,t,n){n.d(t,{L:function(){return r}});var i=n(67294);function r(e){let{nodes:t,nodesIssues:n}=e,r=(0,i.useMemo)(()=>{if(t)return t.sort((e,t)=>{let i=n[e.hash]?1:0,r=n[t.hash]?1:0;return r-i})},[t,n]);return{sortedNodes:r}}},32998:function(e,t,n){n.d(t,{g:function(){return r}});var i=n(67294);function r(e){let{list:t}=e,[n,r]=(0,i.useState)(),o=(0,i.useMemo)(()=>t&&n?n(t):t,[t,n]),a=(0,i.useCallback)(e=>r(()=>e),[]);return{list:o,handleSortItems:a}}}}]); \ No newline at end of file diff --git a/_next/static/chunks/903-ae8e1e2999ba79a3.js b/_next/static/chunks/903-ce15336cfd00b2a9.js similarity index 96% rename from _next/static/chunks/903-ae8e1e2999ba79a3.js rename to _next/static/chunks/903-ce15336cfd00b2a9.js index fa06c2f..fb1e113 100644 --- a/_next/static/chunks/903-ae8e1e2999ba79a3.js +++ b/_next/static/chunks/903-ce15336cfd00b2a9.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[903],{87931:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(85893),i=n(67294),a=n(41664),o=n.n(a),l=n(79632);let s=e=>{let{href:t,variant:n="secondary",color:i="main0",kind:a="default",size:s="md",disabled:c,children:d,...u}=e,m=(0,r.jsx)(l.zx,{as:"a",variant:n,color:i,kind:a,size:s,disabled:c,...u,children:d});return c?m:(0,r.jsx)(o(),{href:t,passHref:!0,legacyBehavior:!0,children:m})};s.displayName="ButtonLink";var c=(0,i.memo)(s)},68390:function(e,t,n){n.d(t,{HC:function(){return m},ZP:function(){return p}});var r=n(85893),i=n(19521),a=n(67294),o=n(79632);let l=i.ZP.div.withConfig({displayName:"styles__StyledContainer",componentId:"sc-lib0cf-0"})([""," background-color:#00000033;border:1px solid #ffffff19;box-shadow:0px 4px 24px 0px rgba(135,157,202,0.12);backdrop-filter:blur(50px);"],{position:"relative",display:"flex",flexDirection:"column",gap:"1.5rem",borderRadius:"1rem",padding:"1.5rem"}),s=i.ZP.div.attrs((0,o.PT)("tp-info")).withConfig({displayName:"styles__StyledTitle",componentId:"sc-lib0cf-1"})(["",""],{textTransform:"uppercase"});var c=n(11505);let d=e=>{let{name:t,value:n,big:a=!1,...o}=e,l=(0,i.Fg)();return(0,r.jsxs)(f,{...o,children:[(0,r.jsx)(h,{className:"tp-body3 fs-10",children:t}),(0,r.jsx)(y,{className:"".concat(a?"tp-body3 fs-16":"tp-body fs-12"),children:n||(0,r.jsx)(c.g4,{width:"1em",height:"1em",color:l.color.info})})]})};d.displayName="Card2Field";let u=e=>{let{title:t,children:n,...i}=e;return(0,r.jsxs)(l,{...i,children:[(0,r.jsx)(s,{children:t}),n]})};u.displayName="Card2";let m=(0,a.memo)(d);var p=(0,a.memo)(u),f=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-cjcrrw-0"})({display:"flex",alignItems:"center"}),h=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-cjcrrw-1"})({marginRight:"1rem",whiteSpace:"nowrap",textTransform:"uppercase",opacity:"0.6"}),y=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-cjcrrw-2"})({marginLeft:"auto",maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"})},77849:function(e,t,n){n.d(t,{Z:function(){return s}});var r=n(85893),i=n(19521),a=n(67294),o=n(79632);let l=e=>{let{children:t,isOwner:n,value:i,onChange:o,onBlur:l,onKeyDown:s,wrap:f=!1,...h}=e,[y,g]=(0,a.useState)(),v=(0,a.useRef)(null),w=(0,a.useCallback)(()=>{g(e=>e||!e)},[]),x=(0,a.useCallback)(e=>{g(!1),l&&l(e)},[l]),_=(0,a.useCallback)(e=>{["Escape","Enter","NumpadEnter"].includes(e.code)&&(g(!1),s&&s(e))},[s]),N=(0,a.useCallback)(e=>{var t;let n=null===(t=e.currentTarget)||void 0===t?void 0:t.textContent;o&&o(n)},[o]);return(0,a.useEffect)(()=>{if(!v.current)return;let e=i+"";v.current.textContent!==e&&(v.current.textContent=e||null)},[i,y]),(0,a.useEffect)(()=>{v.current&&(v.current.focus(),function(e){if(!document.createRange)return;let t=document.createRange();t.selectNodeContents(e),t.collapse(!1);let n=window.getSelection();null==n||n.removeAllRanges(),null==n||n.addRange(t)}(v.current),v.current.scrollLeft=v.current.scrollWidth)},[y]),(0,r.jsxs)(c,{...h,children:[y?(0,r.jsx)(d,{ref:v,type:"text",disabled:!n,contentEditable:!0,onInput:N,onBlur:x,onKeyDown:_,suppressContentEditableWarning:!0,...h,$_css:[{minWidth:"1px",borderStyle:"none",outline:"2px solid transparent",outlineOffset:"2px"},!f&&{maxWidth:"100%",overflow:"hidden",whiteSpace:"nowrap"}]}):(0,r.jsx)(u,{$_css2:[!f&&{maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}],children:t||i||"NONE"}),n&&(0,r.jsx)(m,{$_css3:[{display:"flex",flexShrink:"0",justifyContent:"flex-end",overflow:"hidden"},{maxWidth:y?"0":"1.75rem",transition:"max-width ease-in-out 0.25s 0s"}],children:(0,r.jsx)(p,{name:"edit",onClick:w})})]})};l.displayName="NodeDetailEditableField";var s=(0,a.memo)(l),c=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-g2fwm8-0"})({display:"flex",alignItems:"baseline",overflow:"hidden"}),d=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-g2fwm8-1"})(["",""],e=>e.$_css),u=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-g2fwm8-2"})(["",""],e=>e.$_css2),m=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-g2fwm8-3"})(["",""],e=>e.$_css3),p=(0,i.ZP)(o.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-g2fwm8-4"})({marginLeft:"0.75rem",height:"0.875rem",width:"0.875rem",cursor:"pointer"})},1218:function(e,t,n){n.d(t,{Z:function(){return b}});var r=n(85893),i=n(67294),a=n(79632),o=n(19521);let l=o.ZP.input.attrs({type:"file"}).withConfig({displayName:"styles__StyledHiddenFileInput",componentId:"sc-11emaos-0"})(["display:none;"]),s=(0,i.forwardRef)((e,t)=>{let{value:n,onChange:o,accept:s,children:c,error:d,label:u,resetValue:m="",...p}=e,f=(0,i.useRef)(null),h=(0,i.useCallback)(()=>{if(f.current){if(void 0!==m&&n&&n!==m){f.current.value="",o(m);return}f.current.click()}},[o,m,n]),y=(0,i.useCallback)(e=>{let t=e.target,{files:n}=t;if(n){let e=n[0];o(e)}},[o]);return(0,r.jsxs)("div",{tabIndex:-1,ref:t,onClick:h,...p,children:[u&&(0,r.jsx)(a.lX,{label:u,error:d,required:!0}),c,d&&(0,r.jsx)(a.Xq,{error:d}),(0,r.jsx)(l,{type:"file",ref:f,onChange:y,accept:s})]})});s.displayName="HiddenFileInput";var c=(0,i.memo)(s),d=n(25675),u=n.n(d);let m=(0,o.ZP)(c).attrs(e=>({accept:"*.png,*.jpg,*.jpeg,*.svg",...e})).withConfig({displayName:"styles__StyledBackgroundEditInput",componentId:"sc-ysmt7e-0"})(["",";"],e=>{let{theme:t}=e;return(0,o.iv)([""," transition:all ease-in-out 0.25s 0s;background-color:","66;border-bottom-left-radius:100%;"],{position:"absolute",right:"-1rem",top:"-1rem",display:"flex",height:"3.5rem",width:"5rem",cursor:"pointer",alignItems:"center",justifyContent:"center",paddingBottom:"1.25rem",paddingLeft:"1.5rem",opacity:"0"},t.color.base1)}),p=o.ZP.div.withConfig({displayName:"styles__StyledContainer",componentId:"sc-ysmt7e-1"})(["",""],e=>{let{$backgroundUrl:t,$hash:n,theme:r}=e,i=Object.keys(r.gradient),a=(n||"").split("").reduce((e,t)=>t.charCodeAt(0)+e,0)%i.length,[l,s]=r.gradient[i[a]].colors,c=t?"url(".concat(t,")"):"linear-gradient(90deg, ".concat(l,"cc 0%, ").concat(s,"cc 100%)");return(0,o.iv)([""," background-image:",";background-position:center;background-size:cover;&:before{"," content:'';background:inherit;transition:transform 0.4s ease-in-out;}&:hover{&:before{","}& > ","{","}}"],{position:"relative",zIndex:"0",display:"flex",height:"12.5rem",flexDirection:"column",justifyContent:"flex-end",overflow:"hidden"},c,{position:"absolute",inset:"0px",transformOrigin:"center","--tw-scale-x":"1","--tw-scale-y":"1",transform:"translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))"},{"--tw-scale-x":"1.1","--tw-scale-y":"1.1",transform:"translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))"},m,{right:"0px",top:"0px",opacity:"1"})}),f=o.ZP.h1.attrs((0,a.PT)("tp-h5")).withConfig({displayName:"styles__StyledTitle",componentId:"sc-ysmt7e-2"})(["",";"],e=>{let{theme:t}=e;return(0,o.iv)([""," color:",";background-color:","E5;"],{zIndex:"10",margin:"0px",paddingLeft:"1.5rem",paddingRight:"1.5rem",paddingTop:"0.125rem",paddingBottom:"0.125rem"},t.color.text,t.color.base1)}),h=o.ZP.h2.attrs((0,a.PT)("tp-body3")).withConfig({displayName:"styles__StyledDescription",componentId:"sc-ysmt7e-3"})(["",";"],e=>{let{theme:t}=e;return(0,o.iv)([""," color:",";"],{margin:"0px",paddingLeft:"1.5rem",paddingRight:"1.5rem",paddingTop:"0.75rem",paddingBottom:"0.75rem"},t.color.text)}),y=(0,o.ZP)(c).attrs(e=>({accept:"*.png,*.jpg,*.jpeg,*.svg",...e})).withConfig({displayName:"styles__StyledNodeAvatarEditInput",componentId:"sc-ysmt7e-4"})(["",";"],e=>{let{theme:t}=e;return(0,o.iv)([""," transition:all ease-in-out 0.25s 0s;background-color:","66;border-radius:50%;"],{position:"absolute",inset:"0px",display:"flex",cursor:"pointer",alignItems:"center",justifyContent:"center",opacity:"0"},t.color.base1)}),g=o.ZP.div.withConfig({displayName:"styles__StyledNodeAvatarContainer",componentId:"sc-ysmt7e-5"})([""," &:hover > ","{","}"],{position:"relative",zIndex:"10",marginLeft:"1.5rem",marginRight:"1.5rem",marginTop:"1rem",marginBottom:"1rem",display:"inline-flex",overflow:"hidden"},y,{opacity:"1"}),v=(0,o.ZP)(a.pN).attrs(e=>({size:"lg",Image:u(),...e})).withConfig({displayName:"styles__StyledNodeAvatar",componentId:"sc-ysmt7e-6"})([""]);var w=n(77849),x=n(33358),_=n(34853);function N(e){let{file:t}=e,[n,r]=(0,i.useState)();return(0,i.useEffect)(()=>{(async function(){let e;if(!t){r(void 0);return}t instanceof File&&(e=await (0,_.s5)(t)),"string"==typeof t&&((e=new Image).src="".concat(x.pf,"/api/v0/storage/raw/").concat(t)),e&&r(e)})()},[t]),{img:n}}let C=e=>{let{nameCtrl:t,descriptionCtrl:n,bannerCtrl:i,pictureCtrl:o,isOwner:l,node:s,...c}=e,{img:d}=N({file:o.field.value}),{img:u}=N({file:i.field.value});return(0,r.jsxs)("div",{...c,children:[(0,r.jsxs)(p,{$hash:null==s?void 0:s.hash,$backgroundUrl:null==u?void 0:u.src,children:[l&&(0,r.jsx)(m,{...i.field,...i.fieldState,resetValue:null==s?void 0:s.banner,children:i.field.value!==(null==s?void 0:s.banner)?(0,r.jsx)(a.JO,{name:"trash"}):(0,r.jsx)(a.JO,{name:"edit"})}),(0,r.jsx)("div",{children:(0,r.jsxs)(g,{children:[(0,r.jsx)(v,{src:null==d?void 0:d.src}),l&&(0,r.jsx)(y,{...o.field,...o.fieldState,resetValue:null==s?void 0:s.picture,children:o.field.value!==(null==s?void 0:s.picture)?(0,r.jsx)(a.JO,{name:"trash"}):(0,r.jsx)(a.JO,{name:"edit"})})]})}),(0,r.jsx)(f,{children:(0,r.jsx)(w.Z,{...t.field,...t.fieldState,placeholder:"name",isOwner:l})})]}),(n.field.value||l)&&(0,r.jsx)(h,{children:(0,r.jsx)(w.Z,{...n.field,...n.fieldState,placeholder:"description",isOwner:l,wrap:!0})})]})};C.displayName="NodeDetailHeader";var b=(0,i.memo)(C)},43666:function(e,t,n){n.d(t,{Z:function(){return d}});var r=n(85893),i=n(19521),a=n(67294),o=n(41664),l=n.n(o),s=n(79632);let c=e=>{let{href:t,children:n,isOwner:i,...a}=e,o=(0,r.jsx)(u,{children:n||"NONE"});return(0,r.jsx)(r.Fragment,{children:t?(0,r.jsxs)(m,{href:t,target:"_blank",...a,children:[o,!i&&(0,r.jsx)(p,{name:"external-link-square-alt"})]}):(0,r.jsx)(f,{children:o})})};c.displayName="NodeDetailLink";var d=(0,a.memo)(c),u=(0,i.ZP)("span").withConfig({displayName:"cmp___StyledSpan",componentId:"sc-1nkwyfg-0"})({flex:"1 1 0%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}),m=(0,i.ZP)(l()).withConfig({displayName:"cmp___StyledLink",componentId:"sc-1nkwyfg-1"})({display:"flex",width:"100%",alignItems:"center"}),p=(0,i.ZP)(s.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-1nkwyfg-2"})({marginLeft:"0.75rem",height:"0.875rem",width:"0.875rem"}),f=(0,i.ZP)("span").withConfig({displayName:"cmp___StyledSpan2",componentId:"sc-1nkwyfg-3"})({display:"flex",width:"100%",alignItems:"center"})},8978:function(e,t,n){n.d(t,{Z:function(){return p}});var r=n(85893),i=n(19521),a=n(67294),o=n(79632);let l=(0,i.ZP)(o.cu).attrs(e=>{let{$status:t,...n}=e;return{$color:"active"===t||"linked"===t?"main1":"main2",...n}}).withConfig({displayName:"styles__StyledStatusIcon",componentId:"sc-1qd83xw-0"})([""]),s=e=>{let{status:t,...n}=e;return(0,r.jsxs)(d,{...n,children:[(0,r.jsx)(l,{$status:t}),(0,r.jsx)(u,{className:"tp-body3",children:t})]})};s.displayName="NodeStatus";var c=(0,a.memo)(s),d=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-b7ni1q-0"})({display:"flex",alignItems:"center",gap:"0.375rem",paddingTop:"0.375rem"}),u=(0,i.ZP)("span").withConfig({displayName:"cmp___StyledSpan",componentId:"sc-b7ni1q-1"})({textTransform:"capitalize"});let m=e=>{let{status:t,...n}=e;return(0,r.jsxs)(f,{...n,children:[(0,r.jsx)("div",{className:"tp-body fs-10",children:"STATUS"}),(0,r.jsx)(c,{status:t||"waiting"})]})};m.displayName="NodeDetailStatus";var p=(0,a.memo)(m),f=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-jhruyg-0"})({backgroundColor:"#00000033",paddingLeft:"0.75rem",paddingRight:"0.75rem",paddingTop:"0.375rem",paddingBottom:"0.375rem"})},90709:function(e,t,n){n.d(t,{Rr:function(){return o},ZP:function(){return c}});var r=n(85893),i=n(19521),a=n(67294);let o=i.ZP.div.withConfig({displayName:"styles__StyledDotIcon",componentId:"sc-q6l3ug-0"})(e=>{let{theme:t,$score:n}=e,r=void 0===n?t.color.disabled2:n>=.8?t.color.success:n>=.5?t.color.info:t.color.error;return[{height:"0.75rem",width:"0.5rem"},(0,i.iv)(["background-color:",";"],r)]});var l=n(72479);let s=e=>{let{nodes:t,subfix:n,...i}=e,a=l.B.maxLinkedPerNode;return(0,r.jsxs)(d,{...i,children:[(0,r.jsx)(u,{children:Array.from({length:a},(e,n)=>{var i;return(0,r.jsx)(o,{$score:null==t?void 0:null===(i=t[n])||void 0===i?void 0:i.score},n)})}),(0,r.jsxs)(m,{className:"fs-10",children:[null==t?void 0:t.length," ",(0,r.jsxs)(p,{children:["of ",a,n]})]})]})};s.displayName="NodeLinkedNodes";var c=(0,a.memo)(s),d=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1i7lvnr-0"})({display:"inline-flex",alignItems:"center",gap:"0.75rem"}),u=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-1i7lvnr-1"})({display:"flex",alignItems:"stretch",gap:"0.125rem"}),m=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-1i7lvnr-2"})({whiteSpace:"nowrap",lineHeight:"1rem"}),p=(0,i.ZP)("span").withConfig({displayName:"cmp___StyledSpan",componentId:"sc-1i7lvnr-3"})({opacity:"0.2"})},6309:function(e,t,n){n.d(t,{t:function(){return c},Z:function(){return d}});var r=n(85893),i=n(67294),a=n(19521);let o=a.ZP.span.withConfig({displayName:"styles__StyledPrice",componentId:"sc-ouxjcu-0"})(["",""],{display:"inline-flex",alignItems:"center",gap:"0.25rem",whiteSpace:"nowrap"});var l=n(79632),s=n(34853);let c=e=>{let{value:t,...n}=e;return(0,r.jsxs)(o,{...n,children:[(0,s.RK)(t),(0,r.jsx)(l.TR,{color:"currentColor"})]})};c.displayName="Price";var d=(0,i.memo)(c)},7954:function(e,t,n){n.d(t,{Z:function(){return r.Z}});var r=n(6309)},10159:function(e,t,n){n.d(t,{c:function(){return l}});var r=n(79632),i=n(67294),a=n(87536),o=n(1604);function l(e){let{onSubmit:t,onSuccess:n,onError:l,readyDeps:s=[],...c}=e,d=(0,a.cI)(c);(0,i.useEffect)(()=>{"object"==typeof c.defaultValues&&d.reset(c.defaultValues)},[...s]);let[u,m]=(0,i.useState)({data:void 0,error:void 0,loading:!1}),[p,{onLoad:f,onSuccess:h,onError:y}]=(0,r.g7)({flushData:!0,state:u,setState:m,onSuccess:n,onError:l}),g=(0,i.useCallback)(async e=>{try{f();let n=await t(e);h(n)}catch(t){let e=t instanceof o.jm?Error("Validation error, check highlighted form fields"):(null==t?void 0:t.cause)||t;d.setError("root.serverError",{...e,message:null==e?void 0:e.message}),y(e)}},[d,y,f,t,h]),v=(0,i.useCallback)(async e=>{let t;if(console.log(e),!t){let n=function e(t){let[n]=Object.entries(t);if(!n)return;let[r,i]=n;if(Array.isArray(i)){let t=i[i.length-1];return e(t)}return[r,i]}(e);if(n){let[e,r]=n,i="string"==typeof r?r:(null==r?void 0:r.message)?": ".concat(r.message):(null==r?void 0:r.type)?': "'.concat(null==r?void 0:r.type,'" validation not satisfied'):"";t=Error('Error on field "'.concat(e,'"').concat(i))}}t||(t=Error("Validation error")),y(t)},[y]),w=(0,i.useMemo)(()=>d.handleSubmit(g,v),[d,g,v]);return{...d,requestState:p,handleSubmit:w}}},73384:function(e,t,n){n.d(t,{i:function(){return s}});var r=n(94461),i=n(72479),a=n(91421),o=n(79632),l=n(67294);function s(){let[e,t]=(0,r.mr)(),{account:n}=e.connection,{entities:s}=e.crns,{entities:c}=e.ccns,d=(0,l.useMemo)(()=>new i.B(n),[n]),u=(0,o.lm)(),m=(0,l.useCallback)(e=>"string"==typeof e?null==s?void 0:s.find(t=>t.hash===e):e,[s]),p=(0,l.useCallback)(e=>"string"==typeof e?null==c?void 0:c.find(t=>t.hash===e):e,[c]),f=(0,l.useCallback)(e=>{let t=m(e);return!!t&&d.isLinked(t)},[m,d]),h=(0,l.useCallback)((e,t)=>{let n=m(e),r=p(t);return!!n&&!!r&&d.isLinkableBy(n,r)[0]},[p,m,d]),y=(0,l.useCallback)(e=>{let t=m(e);if(!t)return!1;let n=p(t.parentData||t.parent||"");return!!n&&d.isUnlinkableBy(t,n)},[p,m,d]),g=(0,l.useCallback)(async(e,n)=>{try{if(!u)throw Error("Notification not ready");let r=m(e);if(!r)throw Error("Invalid CRN node");let i=p(n);if(!i)throw Error("Invalid CCN node");if(!h(r,i))throw Error("Not linkable node");await d.linkComputeResourceNode(r.hash),u.add({variant:"success",title:"Success",text:'Linked resource node "'.concat(r.hash,'" successfully.')});let[o,l]=function(e,t){let n={...t,virtual:Date.now()},r={...e,virtual:Date.now()};n.parent=r.hash,n.parentData=r;let i=r.crnsData.reduce((e,t)=>(e[t.hash]=t,e),{});return i[n.hash]=n,r.crnsData=Object.values(i),r.resource_nodes=Object.keys(i),[r,n]}(i,r);return t(new a.Wy({name:"ccns",entities:[o]})),t(new a.Wy({name:"crns",entities:[l]})),!0}catch(e){null==u||u.add({variant:"error",title:"Error",text:e.message})}return!1},[t,p,m,h,d,u]),v=(0,l.useCallback)(async e=>{try{if(!u)throw Error("Notification not ready");let n=m(e);if(!n)throw Error("Invalid CRN node");let r=p(n.parentData||n.parent||"");if(!r)throw Error("Invalid CCN node");if(!y(n))throw Error("Not unlinkable node");await d.unlinkComputeResourceNode(n.hash),u.add({variant:"success",title:"Success",text:'Unlinked resource node "'.concat(n.hash,'" successfully.')});let[i,o]=function(e,t){let n={...t,virtual:Date.now()},r={...e,virtual:Date.now()};n.parent="",n.parentData=void 0;let i=r.crnsData.filter(e=>e.hash!==n.hash);return r.crnsData=i,r.resource_nodes=i.map(e=>e.hash),[r,n]}(r,n);return t(new a.Wy({name:"ccns",entities:[i]})),t(new a.Wy({name:"crns",entities:[o]})),!0}catch(e){null==u||u.add({variant:"error",title:"Error",text:e.message})}return!1},[t,p,m,y,d,u]);return{isLinked:f,isLinkableByUser:h,isUnlinkableByUser:y,handleLink:g,handleUnlink:v}}},15457:function(e,t,n){n.d(t,{_:function(){return c}});var r=n(67294),i=n(11163),a=n(79632),o=n(72479),l=n(94461),s=n(91421);function c(e){var t;let{node:n,nodes:c}=e,d=(0,i.useRouter)(),u=(0,a.lm)(),[m,p]=(0,l.mr)(),{account:f}=m.connection,h=(0,r.useMemo)(()=>new o.B(f),[f]),y=(0,r.useMemo)(()=>n?h.isCRN(n):void 0,[h,n]),g=(0,r.useCallback)(async()=>{if(n){if(!u)throw Error("Notification not ready");try{let e=null==n?void 0:n.hash;await h.removeNode(e),u.add({variant:"success",title:"Success",text:'Your node "'.concat(n.hash,'" was deleted successfully.')}),p(new s.gg({name:y?"crns":"ccns",keys:[e]})),d.replace("/earn/".concat(y?"crn":"ccn"))}catch(e){null==u||u.add({variant:"error",title:"Error",text:e.message})}}},[p,y,n,h,u,d]),{nodes_with_identical_asn:v}=(null==n?void 0:null===(t=n.scoreData)||void 0===t?void 0:t.measurements)||{},{base_latency:w,measured_at:x}=(null==n?void 0:n.metricsData)||{},_=(0,r.useMemo)(()=>w?"".concat(Number(100*(w||0)).toFixed(2)," %"):void 0,[w]),N=(0,r.useMemo)(()=>{if(!x)return;let e=new Date(1e3*x);return"".concat(e.toLocaleDateString()," (").concat(e.toLocaleTimeString(),")")},[x]),C=(0,r.useMemo)(()=>{if(!n)return;let e=new Date((null==n?void 0:n.time)*1e3);return"".concat(e.toLocaleDateString())},[n]),b=(0,r.useMemo)(()=>n&&h.isUserNode(n),[h,n]);return{account:f,node:n,nodesOnSameASN:v,baseLatency:_,lastMetricsCheck:N,creationDate:C,isOwner:b,handleRemove:g}}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[903],{87931:function(e,t,n){n.d(t,{Z:function(){return c}});var r=n(85893),i=n(67294),a=n(41664),o=n.n(a),l=n(31515);let s=e=>{let{href:t,variant:n="secondary",color:i="main0",kind:a="default",size:s="md",disabled:c,children:d,...u}=e,m=(0,r.jsx)(l.zx,{as:"a",variant:n,color:i,kind:a,size:s,disabled:c,...u,children:d});return c?m:(0,r.jsx)(o(),{href:t,passHref:!0,legacyBehavior:!0,children:m})};s.displayName="ButtonLink";var c=(0,i.memo)(s)},68390:function(e,t,n){n.d(t,{HC:function(){return m},ZP:function(){return p}});var r=n(85893),i=n(19521),a=n(67294),o=n(31515);let l=i.ZP.div.withConfig({displayName:"styles__StyledContainer",componentId:"sc-lib0cf-0"})([""," background-color:#00000033;border:1px solid #ffffff19;box-shadow:0px 4px 24px 0px rgba(135,157,202,0.12);backdrop-filter:blur(50px);"],{position:"relative",display:"flex",flexDirection:"column",gap:"1.5rem",borderRadius:"1rem",padding:"1.5rem"}),s=i.ZP.div.attrs((0,o.PT)("tp-info")).withConfig({displayName:"styles__StyledTitle",componentId:"sc-lib0cf-1"})(["",""],{textTransform:"uppercase"});var c=n(11505);let d=e=>{let{name:t,value:n,big:a=!1,...o}=e,l=(0,i.Fg)();return(0,r.jsxs)(f,{...o,children:[(0,r.jsx)(h,{className:"tp-body3 fs-10",children:t}),(0,r.jsx)(y,{className:"".concat(a?"tp-body3 fs-16":"tp-body fs-12"),children:n||(0,r.jsx)(c.g4,{width:"1em",height:"1em",color:l.color.info})})]})};d.displayName="Card2Field";let u=e=>{let{title:t,children:n,...i}=e;return(0,r.jsxs)(l,{...i,children:[(0,r.jsx)(s,{children:t}),n]})};u.displayName="Card2";let m=(0,a.memo)(d);var p=(0,a.memo)(u),f=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-cjcrrw-0"})({display:"flex",alignItems:"center"}),h=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-cjcrrw-1"})({marginRight:"1rem",whiteSpace:"nowrap",textTransform:"uppercase",opacity:"0.6"}),y=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-cjcrrw-2"})({marginLeft:"auto",maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"})},77849:function(e,t,n){n.d(t,{Z:function(){return s}});var r=n(85893),i=n(19521),a=n(67294),o=n(31515);let l=e=>{let{children:t,isOwner:n,value:i,onChange:o,onBlur:l,onKeyDown:s,wrap:f=!1,...h}=e,[y,g]=(0,a.useState)(),v=(0,a.useRef)(null),w=(0,a.useCallback)(()=>{g(e=>e||!e)},[]),x=(0,a.useCallback)(e=>{g(!1),l&&l(e)},[l]),_=(0,a.useCallback)(e=>{["Escape","Enter","NumpadEnter"].includes(e.code)&&(g(!1),s&&s(e))},[s]),N=(0,a.useCallback)(e=>{var t;let n=null===(t=e.currentTarget)||void 0===t?void 0:t.textContent;o&&o(n)},[o]);return(0,a.useEffect)(()=>{if(!v.current)return;let e=i+"";v.current.textContent!==e&&(v.current.textContent=e||null)},[i,y]),(0,a.useEffect)(()=>{v.current&&(v.current.focus(),function(e){if(!document.createRange)return;let t=document.createRange();t.selectNodeContents(e),t.collapse(!1);let n=window.getSelection();null==n||n.removeAllRanges(),null==n||n.addRange(t)}(v.current),v.current.scrollLeft=v.current.scrollWidth)},[y]),(0,r.jsxs)(c,{...h,children:[y?(0,r.jsx)(d,{ref:v,type:"text",disabled:!n,contentEditable:!0,onInput:N,onBlur:x,onKeyDown:_,suppressContentEditableWarning:!0,...h,$_css:[{minWidth:"1px",borderStyle:"none",outline:"2px solid transparent",outlineOffset:"2px"},!f&&{maxWidth:"100%",overflow:"hidden",whiteSpace:"nowrap"}]}):(0,r.jsx)(u,{$_css2:[!f&&{maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}],children:t||i||"NONE"}),n&&(0,r.jsx)(m,{$_css3:[{display:"flex",flexShrink:"0",justifyContent:"flex-end",overflow:"hidden"},{maxWidth:y?"0":"1.75rem",transition:"max-width ease-in-out 0.25s 0s"}],children:(0,r.jsx)(p,{name:"edit",onClick:w})})]})};l.displayName="NodeDetailEditableField";var s=(0,a.memo)(l),c=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-g2fwm8-0"})({display:"flex",alignItems:"baseline",overflow:"hidden"}),d=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-g2fwm8-1"})(["",""],e=>e.$_css),u=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-g2fwm8-2"})(["",""],e=>e.$_css2),m=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-g2fwm8-3"})(["",""],e=>e.$_css3),p=(0,i.ZP)(o.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-g2fwm8-4"})({marginLeft:"0.75rem",height:"0.875rem",width:"0.875rem",cursor:"pointer"})},1218:function(e,t,n){n.d(t,{Z:function(){return b}});var r=n(85893),i=n(67294),a=n(31515),o=n(19521);let l=o.ZP.input.attrs({type:"file"}).withConfig({displayName:"styles__StyledHiddenFileInput",componentId:"sc-11emaos-0"})(["display:none;"]),s=(0,i.forwardRef)((e,t)=>{let{value:n,onChange:o,accept:s,children:c,error:d,label:u,resetValue:m="",...p}=e,f=(0,i.useRef)(null),h=(0,i.useCallback)(()=>{if(f.current){if(void 0!==m&&n&&n!==m){f.current.value="",o(m);return}f.current.click()}},[o,m,n]),y=(0,i.useCallback)(e=>{let t=e.target,{files:n}=t;if(n){let e=n[0];o(e)}},[o]);return(0,r.jsxs)("div",{tabIndex:-1,ref:t,onClick:h,...p,children:[u&&(0,r.jsx)(a.lX,{label:u,error:d,required:!0}),c,d&&(0,r.jsx)(a.Xq,{error:d}),(0,r.jsx)(l,{type:"file",ref:f,onChange:y,accept:s})]})});s.displayName="HiddenFileInput";var c=(0,i.memo)(s),d=n(25675),u=n.n(d);let m=(0,o.ZP)(c).attrs(e=>({accept:"*.png,*.jpg,*.jpeg,*.svg",...e})).withConfig({displayName:"styles__StyledBackgroundEditInput",componentId:"sc-ysmt7e-0"})(["",";"],e=>{let{theme:t}=e;return(0,o.iv)([""," transition:all ease-in-out 0.25s 0s;background-color:","66;border-bottom-left-radius:100%;"],{position:"absolute",right:"-1rem",top:"-1rem",display:"flex",height:"3.5rem",width:"5rem",cursor:"pointer",alignItems:"center",justifyContent:"center",paddingBottom:"1.25rem",paddingLeft:"1.5rem",opacity:"0"},t.color.base1)}),p=o.ZP.div.withConfig({displayName:"styles__StyledContainer",componentId:"sc-ysmt7e-1"})(["",""],e=>{let{$backgroundUrl:t,$hash:n,theme:r}=e,i=Object.keys(r.gradient),a=(n||"").split("").reduce((e,t)=>t.charCodeAt(0)+e,0)%i.length,[l,s]=r.gradient[i[a]].colors,c=t?"url(".concat(t,")"):"linear-gradient(90deg, ".concat(l,"cc 0%, ").concat(s,"cc 100%)");return(0,o.iv)([""," background-image:",";background-position:center;background-size:cover;&:before{"," content:'';background:inherit;transition:transform 0.4s ease-in-out;}&:hover{&:before{","}& > ","{","}}"],{position:"relative",zIndex:"0",display:"flex",height:"12.5rem",flexDirection:"column",justifyContent:"flex-end",overflow:"hidden"},c,{position:"absolute",inset:"0px",transformOrigin:"center","--tw-scale-x":"1","--tw-scale-y":"1",transform:"translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))"},{"--tw-scale-x":"1.1","--tw-scale-y":"1.1",transform:"translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))"},m,{right:"0px",top:"0px",opacity:"1"})}),f=o.ZP.h1.attrs((0,a.PT)("tp-h5")).withConfig({displayName:"styles__StyledTitle",componentId:"sc-ysmt7e-2"})(["",";"],e=>{let{theme:t}=e;return(0,o.iv)([""," color:",";background-color:","E5;"],{zIndex:"10",margin:"0px",paddingLeft:"1.5rem",paddingRight:"1.5rem",paddingTop:"0.125rem",paddingBottom:"0.125rem"},t.color.text,t.color.base1)}),h=o.ZP.h2.attrs((0,a.PT)("tp-body3")).withConfig({displayName:"styles__StyledDescription",componentId:"sc-ysmt7e-3"})(["",";"],e=>{let{theme:t}=e;return(0,o.iv)([""," color:",";"],{margin:"0px",paddingLeft:"1.5rem",paddingRight:"1.5rem",paddingTop:"0.75rem",paddingBottom:"0.75rem"},t.color.text)}),y=(0,o.ZP)(c).attrs(e=>({accept:"*.png,*.jpg,*.jpeg,*.svg",...e})).withConfig({displayName:"styles__StyledNodeAvatarEditInput",componentId:"sc-ysmt7e-4"})(["",";"],e=>{let{theme:t}=e;return(0,o.iv)([""," transition:all ease-in-out 0.25s 0s;background-color:","66;border-radius:50%;"],{position:"absolute",inset:"0px",display:"flex",cursor:"pointer",alignItems:"center",justifyContent:"center",opacity:"0"},t.color.base1)}),g=o.ZP.div.withConfig({displayName:"styles__StyledNodeAvatarContainer",componentId:"sc-ysmt7e-5"})([""," &:hover > ","{","}"],{position:"relative",zIndex:"10",marginLeft:"1.5rem",marginRight:"1.5rem",marginTop:"1rem",marginBottom:"1rem",display:"inline-flex",overflow:"hidden"},y,{opacity:"1"}),v=(0,o.ZP)(a.pN).attrs(e=>({size:"lg",Image:u(),...e})).withConfig({displayName:"styles__StyledNodeAvatar",componentId:"sc-ysmt7e-6"})([""]);var w=n(77849),x=n(33358),_=n(34853);function N(e){let{file:t}=e,[n,r]=(0,i.useState)();return(0,i.useEffect)(()=>{(async function(){let e;if(!t){r(void 0);return}t instanceof File&&(e=await (0,_.s5)(t)),"string"==typeof t&&((e=new Image).src="".concat(x.pf,"/api/v0/storage/raw/").concat(t)),e&&r(e)})()},[t]),{img:n}}let C=e=>{let{nameCtrl:t,descriptionCtrl:n,bannerCtrl:i,pictureCtrl:o,isOwner:l,node:s,...c}=e,{img:d}=N({file:o.field.value}),{img:u}=N({file:i.field.value});return(0,r.jsxs)("div",{...c,children:[(0,r.jsxs)(p,{$hash:null==s?void 0:s.hash,$backgroundUrl:null==u?void 0:u.src,children:[l&&(0,r.jsx)(m,{...i.field,...i.fieldState,resetValue:null==s?void 0:s.banner,children:i.field.value!==(null==s?void 0:s.banner)?(0,r.jsx)(a.JO,{name:"trash"}):(0,r.jsx)(a.JO,{name:"edit"})}),(0,r.jsx)("div",{children:(0,r.jsxs)(g,{children:[(0,r.jsx)(v,{src:null==d?void 0:d.src}),l&&(0,r.jsx)(y,{...o.field,...o.fieldState,resetValue:null==s?void 0:s.picture,children:o.field.value!==(null==s?void 0:s.picture)?(0,r.jsx)(a.JO,{name:"trash"}):(0,r.jsx)(a.JO,{name:"edit"})})]})}),(0,r.jsx)(f,{children:(0,r.jsx)(w.Z,{...t.field,...t.fieldState,placeholder:"name",isOwner:l})})]}),(n.field.value||l)&&(0,r.jsx)(h,{children:(0,r.jsx)(w.Z,{...n.field,...n.fieldState,placeholder:"description",isOwner:l,wrap:!0})})]})};C.displayName="NodeDetailHeader";var b=(0,i.memo)(C)},43666:function(e,t,n){n.d(t,{Z:function(){return d}});var r=n(85893),i=n(19521),a=n(67294),o=n(41664),l=n.n(o),s=n(31515);let c=e=>{let{href:t,children:n,isOwner:i,...a}=e,o=(0,r.jsx)(u,{children:n||"NONE"});return(0,r.jsx)(r.Fragment,{children:t?(0,r.jsxs)(m,{href:t,target:"_blank",...a,children:[o,!i&&(0,r.jsx)(p,{name:"external-link-square-alt"})]}):(0,r.jsx)(f,{children:o})})};c.displayName="NodeDetailLink";var d=(0,a.memo)(c),u=(0,i.ZP)("span").withConfig({displayName:"cmp___StyledSpan",componentId:"sc-1nkwyfg-0"})({flex:"1 1 0%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}),m=(0,i.ZP)(l()).withConfig({displayName:"cmp___StyledLink",componentId:"sc-1nkwyfg-1"})({display:"flex",width:"100%",alignItems:"center"}),p=(0,i.ZP)(s.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-1nkwyfg-2"})({marginLeft:"0.75rem",height:"0.875rem",width:"0.875rem"}),f=(0,i.ZP)("span").withConfig({displayName:"cmp___StyledSpan2",componentId:"sc-1nkwyfg-3"})({display:"flex",width:"100%",alignItems:"center"})},8978:function(e,t,n){n.d(t,{Z:function(){return p}});var r=n(85893),i=n(19521),a=n(67294),o=n(31515);let l=(0,i.ZP)(o.cu).attrs(e=>{let{$status:t,...n}=e;return{$color:"active"===t||"linked"===t?"main1":"main2",...n}}).withConfig({displayName:"styles__StyledStatusIcon",componentId:"sc-1qd83xw-0"})([""]),s=e=>{let{status:t,...n}=e;return(0,r.jsxs)(d,{...n,children:[(0,r.jsx)(l,{$status:t}),(0,r.jsx)(u,{className:"tp-body3",children:t})]})};s.displayName="NodeStatus";var c=(0,a.memo)(s),d=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-b7ni1q-0"})({display:"flex",alignItems:"center",gap:"0.375rem",paddingTop:"0.375rem"}),u=(0,i.ZP)("span").withConfig({displayName:"cmp___StyledSpan",componentId:"sc-b7ni1q-1"})({textTransform:"capitalize"});let m=e=>{let{status:t,...n}=e;return(0,r.jsxs)(f,{...n,children:[(0,r.jsx)("div",{className:"tp-body fs-10",children:"STATUS"}),(0,r.jsx)(c,{status:t||"waiting"})]})};m.displayName="NodeDetailStatus";var p=(0,a.memo)(m),f=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-jhruyg-0"})({backgroundColor:"#00000033",paddingLeft:"0.75rem",paddingRight:"0.75rem",paddingTop:"0.375rem",paddingBottom:"0.375rem"})},90709:function(e,t,n){n.d(t,{Rr:function(){return o},ZP:function(){return c}});var r=n(85893),i=n(19521),a=n(67294);let o=i.ZP.div.withConfig({displayName:"styles__StyledDotIcon",componentId:"sc-q6l3ug-0"})(e=>{let{theme:t,$score:n}=e,r=void 0===n?t.color.disabled2:n>=.8?t.color.success:n>=.5?t.color.info:t.color.error;return[{height:"0.75rem",width:"0.5rem"},(0,i.iv)(["background-color:",";"],r)]});var l=n(48107);let s=e=>{let{nodes:t,subfix:n,...i}=e,a=l.B.maxLinkedPerNode;return(0,r.jsxs)(d,{...i,children:[(0,r.jsx)(u,{children:Array.from({length:a},(e,n)=>{var i;return(0,r.jsx)(o,{$score:null==t?void 0:null===(i=t[n])||void 0===i?void 0:i.score},n)})}),(0,r.jsxs)(m,{className:"fs-10",children:[null==t?void 0:t.length," ",(0,r.jsxs)(p,{children:["of ",a,n]})]})]})};s.displayName="NodeLinkedNodes";var c=(0,a.memo)(s),d=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1i7lvnr-0"})({display:"inline-flex",alignItems:"center",gap:"0.75rem"}),u=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-1i7lvnr-1"})({display:"flex",alignItems:"stretch",gap:"0.125rem"}),m=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-1i7lvnr-2"})({whiteSpace:"nowrap",lineHeight:"1rem"}),p=(0,i.ZP)("span").withConfig({displayName:"cmp___StyledSpan",componentId:"sc-1i7lvnr-3"})({opacity:"0.2"})},6309:function(e,t,n){n.d(t,{t:function(){return c},Z:function(){return d}});var r=n(85893),i=n(67294),a=n(19521);let o=a.ZP.span.withConfig({displayName:"styles__StyledPrice",componentId:"sc-ouxjcu-0"})(["",""],{display:"inline-flex",alignItems:"center",gap:"0.25rem",whiteSpace:"nowrap"});var l=n(31515),s=n(34853);let c=e=>{let{value:t,...n}=e;return(0,r.jsxs)(o,{...n,children:[(0,s.RK)(t),(0,r.jsx)(l.TR,{color:"currentColor"})]})};c.displayName="Price";var d=(0,i.memo)(c)},7954:function(e,t,n){n.d(t,{Z:function(){return r.Z}});var r=n(6309)},10159:function(e,t,n){n.d(t,{c:function(){return l}});var r=n(31515),i=n(67294),a=n(87536),o=n(1604);function l(e){let{onSubmit:t,onSuccess:n,onError:l,readyDeps:s=[],...c}=e,d=(0,a.cI)(c);(0,i.useEffect)(()=>{"object"==typeof c.defaultValues&&d.reset(c.defaultValues)},[...s]);let[u,m]=(0,i.useState)({data:void 0,error:void 0,loading:!1}),[p,{onLoad:f,onSuccess:h,onError:y}]=(0,r.g7)({flushData:!0,state:u,setState:m,onSuccess:n,onError:l}),g=(0,i.useCallback)(async e=>{try{f();let n=await t(e);h(n)}catch(t){let e=t instanceof o.jm?Error("Validation error, check highlighted form fields"):(null==t?void 0:t.cause)||t;d.setError("root.serverError",{...e,message:null==e?void 0:e.message}),y(e)}},[d,y,f,t,h]),v=(0,i.useCallback)(async e=>{let t;if(console.log(e),!t){let n=function e(t){let[n]=Object.entries(t);if(!n)return;let[r,i]=n;if(Array.isArray(i)){let t=i[i.length-1];return e(t)}return[r,i]}(e);if(n){let[e,r]=n,i="string"==typeof r?r:(null==r?void 0:r.message)?": ".concat(r.message):(null==r?void 0:r.type)?': "'.concat(null==r?void 0:r.type,'" validation not satisfied'):"";t=Error('Error on field "'.concat(e,'"').concat(i))}}t||(t=Error("Validation error")),y(t)},[y]),w=(0,i.useMemo)(()=>d.handleSubmit(g,v),[d,g,v]);return{...d,requestState:p,handleSubmit:w}}},73384:function(e,t,n){n.d(t,{i:function(){return s}});var r=n(94461),i=n(48107),a=n(91421),o=n(31515),l=n(67294);function s(){let[e,t]=(0,r.mr)(),{account:n}=e.connection,{entities:s}=e.crns,{entities:c}=e.ccns,d=(0,l.useMemo)(()=>new i.B(n),[n]),u=(0,o.lm)(),m=(0,l.useCallback)(e=>"string"==typeof e?null==s?void 0:s.find(t=>t.hash===e):e,[s]),p=(0,l.useCallback)(e=>"string"==typeof e?null==c?void 0:c.find(t=>t.hash===e):e,[c]),f=(0,l.useCallback)(e=>{let t=m(e);return!!t&&d.isLinked(t)},[m,d]),h=(0,l.useCallback)((e,t)=>{let n=m(e),r=p(t);return!!n&&!!r&&d.isLinkableBy(n,r)[0]},[p,m,d]),y=(0,l.useCallback)(e=>{let t=m(e);if(!t)return!1;let n=p(t.parentData||t.parent||"");return!!n&&d.isUnlinkableBy(t,n)},[p,m,d]),g=(0,l.useCallback)(async(e,n)=>{try{if(!u)throw Error("Notification not ready");let r=m(e);if(!r)throw Error("Invalid CRN node");let i=p(n);if(!i)throw Error("Invalid CCN node");if(!h(r,i))throw Error("Not linkable node");await d.linkComputeResourceNode(r.hash),u.add({variant:"success",title:"Success",text:'Linked resource node "'.concat(r.hash,'" successfully.')});let[o,l]=function(e,t){let n={...t,virtual:Date.now()},r={...e,virtual:Date.now()};n.parent=r.hash,n.parentData=r;let i=r.crnsData.reduce((e,t)=>(e[t.hash]=t,e),{});return i[n.hash]=n,r.crnsData=Object.values(i),r.resource_nodes=Object.keys(i),[r,n]}(i,r);return t(new a.Wy({name:"ccns",entities:[o]})),t(new a.Wy({name:"crns",entities:[l]})),!0}catch(e){null==u||u.add({variant:"error",title:"Error",text:e.message})}return!1},[t,p,m,h,d,u]),v=(0,l.useCallback)(async e=>{try{if(!u)throw Error("Notification not ready");let n=m(e);if(!n)throw Error("Invalid CRN node");let r=p(n.parentData||n.parent||"");if(!r)throw Error("Invalid CCN node");if(!y(n))throw Error("Not unlinkable node");await d.unlinkComputeResourceNode(n.hash),u.add({variant:"success",title:"Success",text:'Unlinked resource node "'.concat(n.hash,'" successfully.')});let[i,o]=function(e,t){let n={...t,virtual:Date.now()},r={...e,virtual:Date.now()};n.parent="",n.parentData=void 0;let i=r.crnsData.filter(e=>e.hash!==n.hash);return r.crnsData=i,r.resource_nodes=i.map(e=>e.hash),[r,n]}(r,n);return t(new a.Wy({name:"ccns",entities:[i]})),t(new a.Wy({name:"crns",entities:[o]})),!0}catch(e){null==u||u.add({variant:"error",title:"Error",text:e.message})}return!1},[t,p,m,y,d,u]);return{isLinked:f,isLinkableByUser:h,isUnlinkableByUser:y,handleLink:g,handleUnlink:v}}},15457:function(e,t,n){n.d(t,{_:function(){return c}});var r=n(67294),i=n(11163),a=n(31515),o=n(48107),l=n(94461),s=n(91421);function c(e){var t;let{node:n,nodes:c}=e,d=(0,i.useRouter)(),u=(0,a.lm)(),[m,p]=(0,l.mr)(),{account:f}=m.connection,h=(0,r.useMemo)(()=>new o.B(f),[f]),y=(0,r.useMemo)(()=>n?h.isCRN(n):void 0,[h,n]),g=(0,r.useCallback)(async()=>{if(n){if(!u)throw Error("Notification not ready");try{let e=null==n?void 0:n.hash;await h.removeNode(e),u.add({variant:"success",title:"Success",text:'Your node "'.concat(n.hash,'" was deleted successfully.')}),p(new s.gg({name:y?"crns":"ccns",keys:[e]})),d.replace("/earn/".concat(y?"crn":"ccn"))}catch(e){null==u||u.add({variant:"error",title:"Error",text:e.message})}}},[p,y,n,h,u,d]),{nodes_with_identical_asn:v}=(null==n?void 0:null===(t=n.scoreData)||void 0===t?void 0:t.measurements)||{},{base_latency:w,measured_at:x}=(null==n?void 0:n.metricsData)||{},_=(0,r.useMemo)(()=>w?"".concat(Number(100*(w||0)).toFixed(2)," %"):void 0,[w]),N=(0,r.useMemo)(()=>{if(!x)return;let e=new Date(1e3*x);return"".concat(e.toLocaleDateString()," (").concat(e.toLocaleTimeString(),")")},[x]),C=(0,r.useMemo)(()=>{if(!n)return;let e=new Date((null==n?void 0:n.time)*1e3);return"".concat(e.toLocaleDateString())},[n]),b=(0,r.useMemo)(()=>n&&h.isUserNode(n),[h,n]);return{account:f,node:n,nodesOnSameASN:v,baseLatency:_,lastMetricsCheck:N,creationDate:C,isOwner:b,handleRemove:g}}}}]); \ No newline at end of file diff --git a/_next/static/chunks/983-299a078f0ba5f337.js b/_next/static/chunks/983-299a078f0ba5f337.js new file mode 100644 index 0000000..54abbdf --- /dev/null +++ b/_next/static/chunks/983-299a078f0ba5f337.js @@ -0,0 +1,12 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[983],{94184:function(t,e){var n;/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var t=[],e=0;e(c=(a=Math.ceil(p/7))>c?a+1:c+1)&&(i=c,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for((c=l.length)-(i=s.length)<0&&(i=c,r=s,s=l,l=r),n=0;i;)n=(l[--i]=l[i]+s[i]+n)/1e7|0,l[i]%=1e7;for(n&&(l.unshift(n),++o),c=l.length;0==l[--c];)l.pop();return e.d=l,e.e=o,u?A(e,p):e}function m(t,e,n){if(t!==~~t||tn)throw Error(l+t)}function g(t){var e,n,r,o=t.length-1,i="",a=t[0];if(o>0){for(i+=a,e=1;et.e^this.s<0?1:-1;for(e=0,n=(r=this.d.length)<(o=t.d.length)?r:o;et.d[e]^this.s<0?1:-1;return r===o?0:r>o^this.s<0?1:-1},y.decimalPlaces=y.dp=function(){var t=this.d.length-1,e=(t-this.e)*7;if(t=this.d[t])for(;t%10==0;t/=10)e--;return e<0?0:e},y.dividedBy=y.div=function(t){return b(this,new this.constructor(t))},y.dividedToIntegerBy=y.idiv=function(t){var e=this.constructor;return A(b(this,new e(t),0,1),e.precision)},y.equals=y.eq=function(t){return!this.cmp(t)},y.exponent=function(){return O(this)},y.greaterThan=y.gt=function(t){return this.cmp(t)>0},y.greaterThanOrEqualTo=y.gte=function(t){return this.cmp(t)>=0},y.isInteger=y.isint=function(){return this.e>this.d.length-2},y.isNegative=y.isneg=function(){return this.s<0},y.isPositive=y.ispos=function(){return this.s>0},y.isZero=function(){return 0===this.s},y.lessThan=y.lt=function(t){return 0>this.cmp(t)},y.lessThanOrEqualTo=y.lte=function(t){return 1>this.cmp(t)},y.logarithm=y.log=function(t){var e,n=this.constructor,r=n.precision,o=r+5;if(void 0===t)t=new n(10);else if((t=new n(t)).s<1||t.eq(i))throw Error(c+"NaN");if(this.s<1)throw Error(c+(this.s?"NaN":"-Infinity"));return this.eq(i)?new n(0):(u=!1,e=b(S(this,o),S(t,o),o),u=!0,A(e,r))},y.minus=y.sub=function(t){return t=new this.constructor(t),this.s==t.s?P(this,t):v(this,(t.s=-t.s,t))},y.modulo=y.mod=function(t){var e,n=this.constructor,r=n.precision;if(!(t=new n(t)).s)throw Error(c+"NaN");return this.s?(u=!1,e=b(this,t,0,1).times(t),u=!0,this.minus(e)):A(new n(this),r)},y.naturalExponential=y.exp=function(){return x(this)},y.naturalLogarithm=y.ln=function(){return S(this)},y.negated=y.neg=function(){var t=new this.constructor(this);return t.s=-t.s||0,t},y.plus=y.add=function(t){return t=new this.constructor(t),this.s==t.s?v(this,t):P(this,(t.s=-t.s,t))},y.precision=y.sd=function(t){var e,n,r;if(void 0!==t&&!!t!==t&&1!==t&&0!==t)throw Error(l+t);if(e=O(this)+1,n=7*(r=this.d.length-1)+1,r=this.d[r]){for(;r%10==0;r/=10)n--;for(r=this.d[0];r>=10;r/=10)n++}return t&&e>n?e:n},y.squareRoot=y.sqrt=function(){var t,e,n,r,o,i,a,l=this.constructor;if(this.s<1){if(!this.s)return new l(0);throw Error(c+"NaN")}for(t=O(this),u=!1,0==(o=Math.sqrt(+this))||o==1/0?(((e=g(this.d)).length+t)%2==0&&(e+="0"),o=Math.sqrt(e),t=f((t+1)/2)-(t<0||t%2),e=o==1/0?"5e"+t:(e=o.toExponential()).slice(0,e.indexOf("e")+1)+t,r=new l(e)):r=new l(o.toString()),o=a=(n=l.precision)+3;;)if(r=(i=r).plus(b(this,i,a+2)).times(.5),g(i.d).slice(0,a)===(e=g(r.d)).slice(0,a)){if(e=e.slice(a-3,a+1),o==a&&"4999"==e){if(A(i,n+1,0),i.times(i).eq(this)){r=i;break}}else if("9999"!=e)break;a+=4}return u=!0,A(r,n)},y.times=y.mul=function(t){var e,n,r,o,i,a,c,l,s,f=this.constructor,p=this.d,h=(t=new f(t)).d;if(!this.s||!t.s)return new f(0);for(t.s*=this.s,n=this.e+t.e,(l=p.length)<(s=h.length)&&(i=p,p=h,h=i,a=l,l=s,s=a),i=[],r=a=l+s;r--;)i.push(0);for(r=s;--r>=0;){for(e=0,o=l+r;o>r;)c=i[o]+h[r]*p[o-r-1]+e,i[o--]=c%1e7|0,e=c/1e7|0;i[o]=(i[o]+e)%1e7|0}for(;!i[--a];)i.pop();return e?++n:i.shift(),t.d=i,t.e=n,u?A(t,f.precision):t},y.toDecimalPlaces=y.todp=function(t,e){var n=this,r=n.constructor;return(n=new r(n),void 0===t)?n:(m(t,0,1e9),void 0===e?e=r.rounding:m(e,0,8),A(n,t+O(n)+1,e))},y.toExponential=function(t,e){var n,r=this,o=r.constructor;return void 0===t?n=k(r,!0):(m(t,0,1e9),void 0===e?e=o.rounding:m(e,0,8),n=k(r=A(new o(r),t+1,e),!0,t+1)),n},y.toFixed=function(t,e){var n,r,o=this.constructor;return void 0===t?k(this):(m(t,0,1e9),void 0===e?e=o.rounding:m(e,0,8),n=k((r=A(new o(this),t+O(this)+1,e)).abs(),!1,t+O(r)+1),this.isneg()&&!this.isZero()?"-"+n:n)},y.toInteger=y.toint=function(){var t=this.constructor;return A(new t(this),O(this)+1,t.rounding)},y.toNumber=function(){return+this},y.toPower=y.pow=function(t){var e,n,r,o,a,l,s=this,p=s.constructor,h=+(t=new p(t));if(!t.s)return new p(i);if(!(s=new p(s)).s){if(t.s<1)throw Error(c+"Infinity");return s}if(s.eq(i))return s;if(r=p.precision,t.eq(i))return A(s,r);if(l=(e=t.e)>=(n=t.d.length-1),a=s.s,l){if((n=h<0?-h:h)<=9007199254740991){for(o=new p(i),e=Math.ceil(r/7+4),u=!1;n%2&&M((o=o.times(s)).d,e),0!==(n=f(n/2));)M((s=s.times(s)).d,e);return u=!0,t.s<0?new p(i).div(o):A(o,r)}}else if(a<0)throw Error(c+"NaN");return a=a<0&&1&t.d[Math.max(e,n)]?-1:1,s.s=1,u=!1,o=t.times(S(s,r+12)),u=!0,(o=x(o)).s=a,o},y.toPrecision=function(t,e){var n,r,o=this,i=o.constructor;return void 0===t?(n=O(o),r=k(o,n<=i.toExpNeg||n>=i.toExpPos)):(m(t,1,1e9),void 0===e?e=i.rounding:m(e,0,8),n=O(o=A(new i(o),t,e)),r=k(o,t<=n||n<=i.toExpNeg,t)),r},y.toSignificantDigits=y.tosd=function(t,e){var n=this.constructor;return void 0===t?(t=n.precision,e=n.rounding):(m(t,1,1e9),void 0===e?e=n.rounding:m(e,0,8)),A(new n(this),t,e)},y.toString=y.valueOf=y.val=y.toJSON=function(){var t=O(this),e=this.constructor;return k(this,t<=e.toExpNeg||t>=e.toExpPos)};var b=function(){function t(t,e){var n,r=0,o=t.length;for(t=t.slice();o--;)n=t[o]*e+r,t[o]=n%1e7|0,r=n/1e7|0;return r&&t.unshift(r),t}function e(t,e,n,r){var o,i;if(n!=r)i=n>r?1:-1;else for(o=i=0;oe[o]?1:-1;break}return i}function n(t,e,n){for(var r=0;n--;)t[n]-=r,r=t[n]1;)t.shift()}return function(r,o,i,a){var u,l,s,f,p,h,d,y,v,m,g,b,x,w,j,S,E,P,k=r.constructor,M=r.s==o.s?1:-1,_=r.d,T=o.d;if(!r.s)return new k(r);if(!o.s)throw Error(c+"Division by zero");for(s=0,l=r.e-o.e,E=T.length,j=_.length,y=(d=new k(M)).d=[];T[s]==(_[s]||0);)++s;if(T[s]>(_[s]||0)&&--l,(b=null==i?i=k.precision:a?i+(O(r)-O(o))+1:i)<0)return new k(0);if(b=b/7+2|0,s=0,1==E)for(f=0,T=T[0],b++;(s1&&(T=t(T,f),_=t(_,f),E=T.length,j=_.length),w=E,m=(v=_.slice(0,E)).length;m=1e7/2&&++S;do f=0,(u=e(T,v,E,m))<0?(g=v[0],E!=m&&(g=1e7*g+(v[1]||0)),(f=g/S|0)>1?(f>=1e7&&(f=1e7-1),h=(p=t(T,f)).length,m=v.length,1==(u=e(p,v,h,m))&&(f--,n(p,E16)throw Error(s+O(t));if(!t.s)return new h(i);for(null==e?(u=!1,c=d):c=e,a=new h(.03125);t.abs().gte(.1);)t=t.times(a),f+=5;for(c+=Math.log(p(2,f))/Math.LN10*2+5|0,n=r=o=new h(i),h.precision=c;;){if(r=A(r.times(t),c),n=n.times(++l),g((a=o.plus(b(r,n,c))).d).slice(0,c)===g(o.d).slice(0,c)){for(;f--;)o=A(o.times(o),c);return h.precision=d,null==e?(u=!0,A(o,d)):o}o=a}}function O(t){for(var e=7*t.e,n=t.d[0];n>=10;n/=10)e++;return e}function w(t,e,n){if(e>t.LN10.sd())throw u=!0,n&&(t.precision=n),Error(c+"LN10 precision limit exceeded");return A(new t(t.LN10),e)}function j(t){for(var e="";t--;)e+="0";return e}function S(t,e){var n,r,o,a,l,s,f,p,h,d=1,y=t,v=y.d,m=y.constructor,x=m.precision;if(y.s<1)throw Error(c+(y.s?"NaN":"-Infinity"));if(y.eq(i))return new m(0);if(null==e?(u=!1,p=x):p=e,y.eq(10))return null==e&&(u=!0),w(m,p);if(p+=10,m.precision=p,r=(n=g(v)).charAt(0),!(15e14>Math.abs(a=O(y))))return f=w(m,p+2,x).times(a+""),y=S(new m(r+"."+n.slice(1)),p-10).plus(f),m.precision=x,null==e?(u=!0,A(y,x)):y;for(;r<7&&1!=r||1==r&&n.charAt(1)>3;)r=(n=g((y=y.times(t)).d)).charAt(0),d++;for(a=O(y),r>1?(y=new m("0."+n),a++):y=new m(r+"."+n.slice(1)),s=l=y=b(y.minus(i),y.plus(i),p),h=A(y.times(y),p),o=3;;){if(l=A(l.times(h),p),g((f=s.plus(b(l,new m(o),p))).d).slice(0,p)===g(s.d).slice(0,p))return s=s.times(2),0!==a&&(s=s.plus(w(m,p+2,x).times(a+""))),s=b(s,new m(d),p),m.precision=x,null==e?(u=!0,A(s,x)):s;s=f,o+=2}}function E(t,e){var n,r,o;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;48===e.charCodeAt(r);)++r;for(o=e.length;48===e.charCodeAt(o-1);)--o;if(e=e.slice(r,o)){if(o-=r,n=n-r-1,t.e=f(n/7),t.d=[],r=(n+1)%7,n<0&&(r+=7),rd||t.e<-d))throw Error(s+n)}else t.s=0,t.e=0,t.d=[0];return t}function A(t,e,n){var r,o,i,a,c,l,h,y,v=t.d;for(a=1,i=v[0];i>=10;i/=10)a++;if((r=e-a)<0)r+=7,o=e,h=v[y=0];else{if(y=Math.ceil((r+1)/7),i=v.length,y>=i)return t;for(a=1,h=i=v[y];i>=10;i/=10)a++;r%=7,o=r-7+a}if(void 0!==n&&(c=h/(i=p(10,a-o-1))%10|0,l=e<0||void 0!==v[y+1]||h%i,l=n<4?(c||l)&&(0==n||n==(t.s<0?3:2)):c>5||5==c&&(4==n||l||6==n&&(r>0?o>0?h/p(10,a-o):0:v[y-1])%10&1||n==(t.s<0?8:7))),e<1||!v[0])return l?(i=O(t),v.length=1,e=e-i-1,v[0]=p(10,(7-e%7)%7),t.e=f(-e/7)||0):(v.length=1,v[0]=t.e=t.s=0),t;if(0==r?(v.length=y,i=1,y--):(v.length=y+1,i=p(10,7-r),v[y]=o>0?(h/p(10,a-o)%p(10,o)|0)*i:0),l)for(;;){if(0==y){1e7==(v[0]+=i)&&(v[0]=1,++t.e);break}if(v[y]+=i,1e7!=v[y])break;v[y--]=0,i=1}for(r=v.length;0===v[--r];)v.pop();if(u&&(t.e>d||t.e<-d))throw Error(s+O(t));return t}function P(t,e){var n,r,o,i,a,c,l,s,f,p,h=t.constructor,d=h.precision;if(!t.s||!e.s)return e.s?e.s=-e.s:e=new h(t),u?A(e,d):e;if(l=t.d,p=e.d,r=e.e,s=t.e,l=l.slice(),a=s-r){for((f=a<0)?(n=l,a=-a,c=p.length):(n=p,r=s,c=l.length),o=Math.max(Math.ceil(d/7),c)+2,a>o&&(a=o,n.length=1),n.reverse(),o=a;o--;)n.push(0);n.reverse()}else{for((f=(o=l.length)<(c=p.length))&&(c=o),o=0;o0;--o)l[c++]=0;for(o=p.length;o>a;){if(l[--o]0?i=i.charAt(0)+"."+i.slice(1)+j(r):a>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(o<0?"e":"e+")+o):o<0?(i="0."+j(-o-1)+i,n&&(r=n-a)>0&&(i+=j(r))):o>=a?(i+=j(o+1-a),n&&(r=n-o-1)>0&&(i=i+"."+j(r))):((r=o+1)0&&(o+1===a&&(i+="."),i+=j(r))),t.s<0?"-"+i:i}function M(t,e){if(t.length>e)return t.length=e,!0}function _(t){if(!t||"object"!=typeof t)throw Error(c+"Object expected");var e,n,r,o=["precision",1,1e9,"rounding",0,8,"toExpNeg",-1/0,0,"toExpPos",0,1/0];for(e=0;e=o[e+1]&&r<=o[e+2])this[n]=r;else throw Error(l+n+": "+r)}if(void 0!==(r=t[n="LN10"])){if(r==Math.LN10)this[n]=new this(r);else throw Error(l+n+": "+r)}return this}(a=function t(e){var n,r,o;function i(t){var e=this;if(!(e instanceof i))return new i(t);if(e.constructor=i,t instanceof i){e.s=t.s,e.e=t.e,e.d=(t=t.d)?t.slice():t;return}if("number"==typeof t){if(0*t!=0)throw Error(l+t);if(t>0)e.s=1;else if(t<0)t=-t,e.s=-1;else{e.s=0,e.e=0,e.d=[0];return}if(t===~~t&&t<1e7){e.e=0,e.d=[t];return}return E(e,t.toString())}if("string"!=typeof t)throw Error(l+t);if(45===t.charCodeAt(0)?(t=t.slice(1),e.s=-1):e.s=1,h.test(t))E(e,t);else throw Error(l+t)}if(i.prototype=y,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=t,i.config=i.set=_,void 0===e&&(e={}),e)for(n=0,o=["precision","rounding","toExpNeg","toExpPos","LN10"];n-1}},1196:function(t){t.exports=function(t,e,n){for(var r=-1,o=null==t?0:t.length;++r0&&i(s)?n>1?t(s,n-1,i,a,u):r(u,s):a||(u[u.length]=s)}return u}},28483:function(t,e,n){var r=n(25063)();t.exports=r},47816:function(t,e,n){var r=n(28483),o=n(3674);t.exports=function(t,e){return t&&r(t,e,o)}},97786:function(t,e,n){var r=n(71811),o=n(40327);t.exports=function(t,e){e=r(e,t);for(var n=0,i=e.length;null!=t&&ne}},13:function(t){t.exports=function(t,e){return null!=t&&e in Object(t)}},42118:function(t,e,n){var r=n(41848),o=n(62722),i=n(42351);t.exports=function(t,e,n){return e==e?i(t,e,n):r(t,o,n)}},9454:function(t,e,n){var r=n(44239),o=n(37005);t.exports=function(t){return o(t)&&"[object Arguments]"==r(t)}},90939:function(t,e,n){var r=n(2492),o=n(37005);t.exports=function t(e,n,i,a,u){return e===n||(null!=e&&null!=n&&(o(e)||o(n))?r(e,n,i,a,t,u):e!=e&&n!=n)}},2492:function(t,e,n){var r=n(46384),o=n(67114),i=n(18351),a=n(16096),u=n(64160),c=n(1469),l=n(44144),s=n(36719),f="[object Arguments]",p="[object Array]",h="[object Object]",d=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,y,v,m){var g=c(t),b=c(e),x=g?p:u(t),O=b?p:u(e);x=x==f?h:x,O=O==f?h:O;var w=x==h,j=O==h,S=x==O;if(S&&l(t)){if(!l(e))return!1;g=!0,w=!1}if(S&&!w)return m||(m=new r),g||s(t)?o(t,e,n,y,v,m):i(t,e,x,n,y,v,m);if(!(1&n)){var E=w&&d.call(t,"__wrapped__"),A=j&&d.call(e,"__wrapped__");if(E||A){var P=E?t.value():t,k=A?e.value():e;return m||(m=new r),v(P,k,n,y,m)}}return!!S&&(m||(m=new r),a(t,e,n,y,v,m))}},2958:function(t,e,n){var r=n(46384),o=n(90939);t.exports=function(t,e,n,i){var a=n.length,u=a,c=!i;if(null==t)return!u;for(t=Object(t);a--;){var l=n[a];if(c&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++ao?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var i=Array(o);++r=200){var y=e?null:u(t);if(y)return c(y);p=!1,s=a,d=new r}else d=e?[]:h;t:for(;++l=o?t:r(t,e,n)}},26393:function(t,e,n){var r=n(33448);t.exports=function(t,e){if(t!==e){var n=void 0!==t,o=null===t,i=t==t,a=r(t),u=void 0!==e,c=null===e,l=e==e,s=r(e);if(!c&&!s&&!a&&t>e||a&&u&&l&&!c&&!s||o&&u&&l||!n&&l||!i)return 1;if(!o&&!a&&!s&&t=c)return l;return l*("desc"==n[o]?-1:1)}}return t.index-e.index}},14429:function(t,e,n){var r=n(55639)["__core-js_shared__"];t.exports=r},99291:function(t,e,n){var r=n(98612);t.exports=function(t,e){return function(n,o){if(null==n)return n;if(!r(n))return t(n,o);for(var i=n.length,a=e?i:-1,u=Object(n);(e?a--:++a-1?u[c?e[l]:l]:void 0}}},47445:function(t,e,n){var r=n(40098),o=n(16612),i=n(18601);t.exports=function(t){return function(e,n,a){return a&&"number"!=typeof a&&o(e,n,a)&&(n=a=void 0),e=i(e),void 0===n?(n=e,e=0):n=i(n),a=void 0===a?es))return!1;var p=c.get(t),h=c.get(e);if(p&&h)return p==e&&h==t;var d=-1,y=!0,v=2&n?new r:void 0;for(c.set(t,e),c.set(e,t);++d-1&&t%1==0&&t-1}},54705:function(t,e,n){var r=n(18470);t.exports=function(t,e){var n=this.__data__,o=r(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}},24785:function(t,e,n){var r=n(1989),o=n(38407),i=n(57071);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(i||o),string:new r}}},11285:function(t,e,n){var r=n(45050);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},96e3:function(t,e,n){var r=n(45050);t.exports=function(t){return r(this,t).get(t)}},49916:function(t,e,n){var r=n(45050);t.exports=function(t){return r(this,t).has(t)}},95265:function(t,e,n){var r=n(45050);t.exports=function(t,e){var n=r(this,t),o=n.size;return n.set(t,e),this.size+=n.size==o?0:1,this}},68776:function(t){t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}},42634:function(t){t.exports=function(t,e){return function(n){return null!=n&&n[t]===e&&(void 0!==e||t in Object(n))}}},24523:function(t,e,n){var r=n(88306);t.exports=function(t){var e=r(t,function(t){return 500===n.size&&n.clear(),t}),n=e.cache;return e}},94536:function(t,e,n){var r=n(10852)(Object,"create");t.exports=r},86916:function(t,e,n){var r=n(5569)(Object.keys,Object);t.exports=r},31167:function(t,e,n){t=n.nmd(t);var r=n(31957),o=e&&!e.nodeType&&e,i=o&&t&&!t.nodeType&&t,a=i&&i.exports===o&&r.process,u=function(){try{var t=i&&i.require&&i.require("util").types;if(t)return t;return a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=u},2333:function(t){var e=Object.prototype.toString;t.exports=function(t){return e.call(t)}},5569:function(t){t.exports=function(t,e){return function(n){return t(e(n))}}},45357:function(t,e,n){var r=n(96874),o=Math.max;t.exports=function(t,e,n){return e=o(void 0===e?t.length-1:e,0),function(){for(var i=arguments,a=-1,u=o(i.length-e,0),c=Array(u);++a0){if(++n>=800)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}},37465:function(t,e,n){var r=n(38407);t.exports=function(){this.__data__=new r,this.size=0}},63779:function(t){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},67599:function(t){t.exports=function(t){return this.__data__.get(t)}},44758:function(t){t.exports=function(t){return this.__data__.has(t)}},34309:function(t,e,n){var r=n(38407),o=n(57071),i=n(83369);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!o||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new i(a)}return n.set(t,e),this.size=n.size,this}},42351:function(t){t.exports=function(t,e,n){for(var r=n-1,o=t.length;++r=e||n<0||v&&r>=s}function x(){var t,n,r,i=o();if(b(i))return O(i);p=setTimeout(x,(t=i-h,n=i-d,r=e-t,v?u(r,s-n):r))}function O(t){return(p=void 0,m&&c)?g(t):(c=l=void 0,f)}function w(){var t,n=o(),r=b(n);if(c=arguments,l=this,h=n,r){if(void 0===p)return d=t=h,p=setTimeout(x,e),y?g(t):f;if(v)return clearTimeout(p),p=setTimeout(x,e),g(h)}return void 0===p&&(p=setTimeout(x,e)),f}return e=i(e)||0,r(n)&&(y=!!n.leading,s=(v="maxWait"in n)?a(i(n.maxWait)||0,e):s,m="trailing"in n?!!n.trailing:m),w.cancel=function(){void 0!==p&&clearTimeout(p),d=0,c=h=l=p=void 0},w.flush=function(){return void 0===p?f:O(o())},w}},77813:function(t){t.exports=function(t,e){return t===e||t!=t&&e!=e}},711:function(t,e,n){var r=n(66193),o=n(93239),i=n(67206),a=n(1469),u=n(16612);t.exports=function(t,e,n){var c=a(t)?r:o;return n&&u(t,e,n)&&(e=void 0),c(t,i(e,3))}},13311:function(t,e,n){var r=n(67740)(n(30998));t.exports=r},30998:function(t,e,n){var r=n(41848),o=n(67206),i=n(40554),a=Math.max;t.exports=function(t,e,n){var u=null==t?0:t.length;if(!u)return -1;var c=null==n?0:i(n);return c<0&&(c=a(u+c,0)),r(t,o(e,3),c)}},94654:function(t,e,n){var r=n(21078),o=n(35161);t.exports=function(t,e){return r(o(t,e),1)}},27361:function(t,e,n){var r=n(97786);t.exports=function(t,e,n){var o=null==t?void 0:r(t,e);return void 0===o?n:o}},79095:function(t,e,n){var r=n(13),o=n(222);t.exports=function(t,e){return null!=t&&o(t,e,r)}},6557:function(t){t.exports=function(t){return t}},35694:function(t,e,n){var r=n(9454),o=n(37005),i=Object.prototype,a=i.hasOwnProperty,u=i.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(t){return o(t)&&a.call(t,"callee")&&!u.call(t,"callee")};t.exports=c},1469:function(t){var e=Array.isArray;t.exports=e},98612:function(t,e,n){var r=n(23560),o=n(41780);t.exports=function(t){return null!=t&&o(t.length)&&!r(t)}},51584:function(t,e,n){var r=n(44239),o=n(37005);t.exports=function(t){return!0===t||!1===t||o(t)&&"[object Boolean]"==r(t)}},44144:function(t,e,n){t=n.nmd(t);var r=n(55639),o=n(95062),i=e&&!e.nodeType&&e,a=i&&t&&!t.nodeType&&t,u=a&&a.exports===i?r.Buffer:void 0,c=u?u.isBuffer:void 0;t.exports=c||o},18446:function(t,e,n){var r=n(90939);t.exports=function(t,e){return r(t,e)}},23560:function(t,e,n){var r=n(44239),o=n(13218);t.exports=function(t){if(!o(t))return!1;var e=r(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},41780:function(t){t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},7654:function(t,e,n){var r=n(81763);t.exports=function(t){return r(t)&&t!=+t}},14293:function(t){t.exports=function(t){return null==t}},81763:function(t,e,n){var r=n(44239),o=n(37005);t.exports=function(t){return"number"==typeof t||o(t)&&"[object Number]"==r(t)}},13218:function(t){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},37005:function(t){t.exports=function(t){return null!=t&&"object"==typeof t}},68630:function(t,e,n){var r=n(44239),o=n(85924),i=n(37005),a=Object.prototype,u=Function.prototype.toString,c=a.hasOwnProperty,l=u.call(Object);t.exports=function(t){if(!i(t)||"[object Object]"!=r(t))return!1;var e=o(t);if(null===e)return!0;var n=c.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&u.call(n)==l}},47037:function(t,e,n){var r=n(44239),o=n(1469),i=n(37005);t.exports=function(t){return"string"==typeof t||!o(t)&&i(t)&&"[object String]"==r(t)}},33448:function(t,e,n){var r=n(44239),o=n(37005);t.exports=function(t){return"symbol"==typeof t||o(t)&&"[object Symbol]"==r(t)}},36719:function(t,e,n){var r=n(38749),o=n(7518),i=n(31167),a=i&&i.isTypedArray,u=a?o(a):r;t.exports=u},3674:function(t,e,n){var r=n(14636),o=n(280),i=n(98612);t.exports=function(t){return i(t)?r(t):o(t)}},10928:function(t){t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},35161:function(t,e,n){var r=n(29932),o=n(67206),i=n(69199),a=n(1469);t.exports=function(t,e){return(a(t)?r:i)(t,o(e,3))}},66604:function(t,e,n){var r=n(89465),o=n(47816),i=n(67206);t.exports=function(t,e){var n={};return e=i(e,3),o(t,function(t,o,i){r(n,o,e(t,o,i))}),n}},6162:function(t,e,n){var r=n(56029),o=n(53325),i=n(6557);t.exports=function(t){return t&&t.length?r(t,i,o):void 0}},84753:function(t,e,n){var r=n(56029),o=n(53325),i=n(67206);t.exports=function(t,e){return t&&t.length?r(t,i(e,2),o):void 0}},88306:function(t,e,n){var r=n(83369);function o(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw TypeError("Expected a function");var n=function(){var r=arguments,o=e?e.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=t.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(o.Cache||r),n}o.Cache=r,t.exports=o},53632:function(t,e,n){var r=n(56029),o=n(70433),i=n(6557);t.exports=function(t){return t&&t.length?r(t,i,o):void 0}},22762:function(t,e,n){var r=n(56029),o=n(67206),i=n(70433);t.exports=function(t,e){return t&&t.length?r(t,o(e,2),i):void 0}},50308:function(t){t.exports=function(){}},7771:function(t,e,n){var r=n(55639);t.exports=function(){return r.Date.now()}},39601:function(t,e,n){var r=n(40371),o=n(79152),i=n(15403),a=n(40327);t.exports=function(t){return i(t)?r(a(t)):o(t)}},96026:function(t,e,n){var r=n(47445)();t.exports=r},59704:function(t,e,n){var r=n(82908),o=n(67206),i=n(5076),a=n(1469),u=n(16612);t.exports=function(t,e,n){var c=a(t)?r:i;return n&&u(t,e,n)&&(e=void 0),c(t,o(e,3))}},86173:function(t,e,n){var r=n(21078),o=n(82689),i=n(5976),a=n(16612),u=i(function(t,e){if(null==t)return[];var n=e.length;return n>1&&a(t,e[0],e[1])?e=[]:n>2&&a(e[0],e[1],e[2])&&(e=[e[0]]),o(t,r(e,1),[])});t.exports=u},70479:function(t){t.exports=function(){return[]}},95062:function(t){t.exports=function(){return!1}},23493:function(t,e,n){var r=n(23279),o=n(13218);t.exports=function(t,e,n){var i=!0,a=!0;if("function"!=typeof t)throw TypeError("Expected a function");return o(n)&&(i="leading"in n?!!n.leading:i,a="trailing"in n?!!n.trailing:a),r(t,e,{leading:i,maxWait:e,trailing:a})}},18601:function(t,e,n){var r=n(14841),o=1/0;t.exports=function(t){return t?(t=r(t))===o||t===-o?(t<0?-1:1)*17976931348623157e292:t==t?t:0:0===t?t:0}},40554:function(t,e,n){var r=n(18601);t.exports=function(t){var e=r(t),n=e%1;return e==e?n?e-n:e:0}},14841:function(t,e,n){var r=n(27561),o=n(13218),i=n(33448),a=0/0,u=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,l=/^0o[0-7]+$/i,s=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(i(t))return a;if(o(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=o(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=r(t);var n=c.test(t);return n||l.test(t)?s(t.slice(2),n?2:8):u.test(t)?a:+t}},79833:function(t,e,n){var r=n(80531);t.exports=function(t){return null==t?"":r(t)}},45578:function(t,e,n){var r=n(67206),o=n(45652);t.exports=function(t,e){return t&&t.length?o(t,r(e,2)):[]}},11700:function(t,e,n){var r=n(98805)("toUpperCase");t.exports=r},46871:function(t,e,n){"use strict";function r(){var t=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=t&&this.setState(t)}function o(t){this.setState((function(e){var n=this.constructor.getDerivedStateFromProps(t,e);return null!=n?n:null}).bind(this))}function i(t,e){try{var n=this.props,r=this.state;this.props=t,this.state=e,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}function a(t){var e=t.prototype;if(!e||!e.isReactComponent)throw Error("Can only polyfill class components");if("function"!=typeof t.getDerivedStateFromProps&&"function"!=typeof e.getSnapshotBeforeUpdate)return t;var n=null,a=null,u=null;if("function"==typeof e.componentWillMount?n="componentWillMount":"function"==typeof e.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof e.componentWillReceiveProps?a="componentWillReceiveProps":"function"==typeof e.UNSAFE_componentWillReceiveProps&&(a="UNSAFE_componentWillReceiveProps"),"function"==typeof e.componentWillUpdate?u="componentWillUpdate":"function"==typeof e.UNSAFE_componentWillUpdate&&(u="UNSAFE_componentWillUpdate"),null!==n||null!==a||null!==u)throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+(t.displayName||t.name)+" uses "+("function"==typeof t.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()")+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==a?"\n "+a:"")+(null!==u?"\n "+u:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks");if("function"==typeof t.getDerivedStateFromProps&&(e.componentWillMount=r,e.componentWillReceiveProps=o),"function"==typeof e.getSnapshotBeforeUpdate){if("function"!=typeof e.componentDidUpdate)throw Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");e.componentWillUpdate=i;var c=e.componentDidUpdate;e.componentDidUpdate=function(t,e,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;c.call(this,t,e,r)}}return t}n.r(e),n.d(e,{polyfill:function(){return a}}),r.__suppressDeprecationWarning=!0,o.__suppressDeprecationWarning=!0,i.__suppressDeprecationWarning=!0},93801:function(t,e,n){"use strict";n.d(e,{ZP:function(){return tz},bO:function(){return G}});var r=n(67294),o=n(45697),i=n.n(o),a=Object.getOwnPropertyNames,u=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty;function l(t,e){return function(n,r,o){return t(n,r,o)&&e(n,r,o)}}function s(t){return function(e,n,r){if(!e||!n||"object"!=typeof e||"object"!=typeof n)return t(e,n,r);var o=r.cache,i=o.get(e),a=o.get(n);if(i&&a)return i===n&&a===e;o.set(e,n),o.set(n,e);var u=t(e,n,r);return o.delete(e),o.delete(n),u}}function f(t){return a(t).concat(u(t))}var p=Object.hasOwn||function(t,e){return c.call(t,e)};function h(t,e){return t||e?t===e:t===e||t!=t&&e!=e}var d="_owner",y=Object.getOwnPropertyDescriptor,v=Object.keys;function m(t,e,n){var r=t.length;if(e.length!==r)return!1;for(;r-- >0;)if(!n.equals(t[r],e[r],r,r,t,e,n))return!1;return!0}function g(t,e){return h(t.getTime(),e.getTime())}function b(t,e,n){if(t.size!==e.size)return!1;for(var r,o,i={},a=t.entries(),u=0;(r=a.next())&&!r.done;){for(var c=e.entries(),l=!1,s=0;(o=c.next())&&!o.done;){var f=r.value,p=f[0],h=f[1],d=o.value,y=d[0],v=d[1];!l&&!i[s]&&(l=n.equals(p,y,u,s,t,e,n)&&n.equals(h,v,p,y,t,e,n))&&(i[s]=!0),s++}if(!l)return!1;u++}return!0}function x(t,e,n){var r,o=v(t),i=o.length;if(v(e).length!==i)return!1;for(;i-- >0;)if((r=o[i])===d&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!p(e,r)||!n.equals(t[r],e[r],r,r,t,e,n))return!1;return!0}function O(t,e,n){var r,o,i,a=f(t),u=a.length;if(f(e).length!==u)return!1;for(;u-- >0;)if((r=a[u])===d&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!p(e,r)||!n.equals(t[r],e[r],r,r,t,e,n)||(o=y(t,r),i=y(e,r),(o||i)&&(!o||!i||o.configurable!==i.configurable||o.enumerable!==i.enumerable||o.writable!==i.writable)))return!1;return!0}function w(t,e){return h(t.valueOf(),e.valueOf())}function j(t,e){return t.source===e.source&&t.flags===e.flags}function S(t,e,n){if(t.size!==e.size)return!1;for(var r,o,i={},a=t.values();(r=a.next())&&!r.done;){for(var u=e.values(),c=!1,l=0;(o=u.next())&&!o.done;)!c&&!i[l]&&(c=n.equals(r.value,o.value,r.value,o.value,t,e,n))&&(i[l]=!0),l++;if(!c)return!1}return!0}function E(t,e){var n=t.length;if(e.length!==n)return!1;for(;n-- >0;)if(t[n]!==e[n])return!1;return!0}var A=Array.isArray,P="function"==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView:null,k=Object.assign,M=Object.prototype.toString.call.bind(Object.prototype.toString),_=T();function T(t){void 0===t&&(t={});var e,n,r,o,i,a,u,c,f,p=t.circular,h=t.createInternalComparator,d=t.createState,y=t.strict,v=(n=(e=function(t){var e=t.circular,n=t.createCustomConfig,r=t.strict,o={areArraysEqual:r?O:m,areDatesEqual:g,areMapsEqual:r?l(b,O):b,areObjectsEqual:r?O:x,arePrimitiveWrappersEqual:w,areRegExpsEqual:j,areSetsEqual:r?l(S,O):S,areTypedArraysEqual:r?O:E};if(n&&(o=k({},o,n(o))),e){var i=s(o.areArraysEqual),a=s(o.areMapsEqual),u=s(o.areObjectsEqual),c=s(o.areSetsEqual);o=k({},o,{areArraysEqual:i,areMapsEqual:a,areObjectsEqual:u,areSetsEqual:c})}return o}(t)).areArraysEqual,r=e.areDatesEqual,o=e.areMapsEqual,i=e.areObjectsEqual,a=e.arePrimitiveWrappersEqual,u=e.areRegExpsEqual,c=e.areSetsEqual,f=e.areTypedArraysEqual,function(t,e,l){if(t===e)return!0;if(null==t||null==e||"object"!=typeof t||"object"!=typeof e)return t!=t&&e!=e;var s=t.constructor;if(s!==e.constructor)return!1;if(s===Object)return i(t,e,l);if(A(t))return n(t,e,l);if(null!=P&&P(t))return f(t,e,l);if(s===Date)return r(t,e,l);if(s===RegExp)return u(t,e,l);if(s===Map)return o(t,e,l);if(s===Set)return c(t,e,l);var p=M(t);return"[object Date]"===p?r(t,e,l):"[object RegExp]"===p?u(t,e,l):"[object Map]"===p?o(t,e,l):"[object Set]"===p?c(t,e,l):"[object Object]"===p?"function"!=typeof t.then&&"function"!=typeof e.then&&i(t,e,l):"[object Arguments]"===p?i(t,e,l):("[object Boolean]"===p||"[object Number]"===p||"[object String]"===p)&&a(t,e,l)}),_=h?h(v):function(t,e,n,r,o,i,a){return v(t,e,a)};return function(t){var e=t.circular,n=t.comparator,r=t.createState,o=t.equals,i=t.strict;if(r)return function(t,a){var u=r(),c=u.cache;return n(t,a,{cache:void 0===c?e?new WeakMap:void 0:c,equals:o,meta:u.meta,strict:i})};if(e)return function(t,e){return n(t,e,{cache:new WeakMap,equals:o,meta:void 0,strict:i})};var a={cache:void 0,equals:o,meta:void 0,strict:i};return function(t,e){return n(t,e,a)}}({circular:void 0!==p&&p,comparator:v,createState:d,equals:_,strict:void 0!==y&&y})}function C(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=-1;requestAnimationFrame(function r(o){if(n<0&&(n=o),o-n>e)t(o),n=-1;else{var i;i=r,"undefined"!=typeof requestAnimationFrame&&requestAnimationFrame(i)}})}function N(t){return(N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function I(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);nt.length)&&(e=t.length);for(var n=0,r=Array(e);n=0&&t<=1}),"[configBezier]: arguments should be x1, y1, x2, y2 of [0, 1] instead received %s",r);var p=J(i,u),h=J(a,c),d=(t=i,e=u,function(n){var r;return K([].concat(function(t){if(Array.isArray(t))return Z(t)}(r=V(t,e).map(function(t,e){return t*e}).slice(1))||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(r)||H(r)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[0]),n)}),y=function(t){for(var e=t>1?1:t,n=e,r=0;r<8;++r){var o,i=p(n)-e,a=d(n);if(1e-4>Math.abs(i-e)||a<1e-4)break;n=(o=n-i/a)>1?1:o<0?0:o}return h(n)};return y.isStepper=!1,y},tt=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.stiff,n=void 0===e?100:e,r=t.damping,o=void 0===r?8:r,i=t.dt,a=void 0===i?17:i,u=function(t,e,r){var i=r+(-(t-e)*n-r*o)*a/1e3,u=r*a/1e3+t;return 1e-4>Math.abs(u-e)&&1e-4>Math.abs(i)?[e,0]:[u,i]};return u.isStepper=!0,u.dt=a,u},te=function(){for(var t=arguments.length,e=Array(t),n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);nt.length)&&(e=t.length);for(var n=0,r=Array(e);n0?n[o-1]:r,p=l||Object.keys(c);if("function"==typeof u||"spring"===u)return[].concat(ty(t),[e.runJSAnimation.bind(e,{from:f.style,to:c,duration:i,easing:u}),i]);var h=X(p,i,u),d=tg(tg(tg({},f.style),c),{},{transition:h});return[].concat(ty(t),[d,i,s]).filter(z)},[a,Math.max(void 0===u?0:u,r)])),[t.onAnimationEnd]))}},{key:"runAnimation",value:function(t){if(!this.manager){var e,n,r;this.manager=(e=function(){return null},n=!1,r=function t(r){if(!n){if(Array.isArray(r)){if(!r.length)return;var o=function(t){if(Array.isArray(t))return t}(r)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(r)||function(t,e){if(t){if("string"==typeof t)return I(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return I(t,e)}}(r)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),i=o[0],a=o.slice(1);if("number"==typeof i){C(t.bind(null,a),i);return}t(i),C(t.bind(null,a));return}"object"===N(r)&&e(r),"function"==typeof r&&r()}},{stop:function(){n=!0},start:function(t){n=!1,r(t)},subscribe:function(t){return e=t,function(){e=function(){return null}}}})}var o=t.begin,i=t.duration,a=t.attributeName,u=t.to,c=t.easing,l=t.onAnimationStart,s=t.onAnimationEnd,f=t.steps,p=t.children,h=this.manager;if(this.unSubscribe=h.subscribe(this.handleStyleChange),"function"==typeof c||"function"==typeof p||"spring"===c){this.runJSAnimation(t);return}if(f.length>1){this.runStepAnimation(t);return}var d=a?tb({},a,u):u,y=X(Object.keys(d),i,c);h.start([l,o,tg(tg({},d),{},{transition:y}),i,s])}},{key:"render",value:function(){var t=this.props,e=t.children,n=(t.begin,t.duration),o=(t.attributeName,t.easing,t.isActive),i=(t.steps,t.from,t.to,t.canBegin,t.onAnimationEnd,t.shouldReAnimate,t.onAnimationReStart,function(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(t,td)),a=r.Children.count(e),u=G(this.state.style);if("function"==typeof e)return e(u);if(!o||0===a||n<=0)return e;var c=function(t){var e=t.props,n=e.style,o=e.className;return(0,r.cloneElement)(t,tg(tg({},i),{},{style:tg(tg({},void 0===n?{}:n),u),className:o}))};return 1===a?c(r.Children.only(e)):r.createElement("div",null,r.Children.map(e,function(t){return c(t)}))}}],tx(a.prototype,n),o&&tx(a,o),Object.defineProperty(a,"prototype",{writable:!1}),a}(r.PureComponent);tA.displayName="Animate",tA.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}},tA.propTypes={from:i().oneOfType([i().object,i().string]),to:i().oneOfType([i().object,i().string]),attributeName:i().string,duration:i().number,begin:i().number,easing:i().oneOfType([i().string,i().func]),steps:i().arrayOf(i().shape({duration:i().number.isRequired,style:i().object.isRequired,easing:i().oneOfType([i().oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),i().func]),properties:i().arrayOf("string"),onAnimationEnd:i().func})),children:i().oneOfType([i().node,i().func]),isActive:i().bool,canBegin:i().bool,onAnimationEnd:i().func,shouldReAnimate:i().bool,onAnimationStart:i().func,onAnimationReStart:i().func};var tP=n(29469),tk=["children","appearOptions","enterOptions","leaveOptions"];function tM(t){return(tM="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function t_(){return(t_=Object.assign?Object.assign.bind():function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},e=t.steps,n=t.duration;return e&&e.length?e.reduce(function(t,e){return t+(Number.isFinite(e.duration)&&e.duration>0?e.duration:0)},0):Number.isFinite(n)?n:0},tF=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&tI(t,e)}(a,t);var e,n,o,i=(e=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}(),function(){var t,n=tL(a);if(e){var r=tL(this).constructor;t=Reflect.construct(n,arguments,r)}else t=n.apply(this,arguments);return function(t,e){if(e&&("object"===tM(e)||"function"==typeof e))return e;if(void 0!==e)throw TypeError("Derived constructors may only return object or undefined");return tD(t)}(this,t)});function a(){var t;return!function(t,e){if(!(t instanceof e))throw TypeError("Cannot call a class as a function")}(this,a),tR(tD(t=i.call(this)),"handleEnter",function(e,n){var r=t.props,o=r.appearOptions,i=r.enterOptions;t.handleStyleActive(n?o:i)}),tR(tD(t),"handleExit",function(){var e=t.props.leaveOptions;t.handleStyleActive(e)}),t.state={isActive:!1},t}return n=[{key:"handleStyleActive",value:function(t){if(t){var e=t.onAnimationEnd?function(){t.onAnimationEnd()}:null;this.setState(tC(tC({},t),{},{onAnimationEnd:e,isActive:!0}))}}},{key:"parseTimeout",value:function(){var t=this.props,e=t.appearOptions,n=t.enterOptions,r=t.leaveOptions;return tU(e)+tU(n)+tU(r)}},{key:"render",value:function(){var t=this,e=this.props,n=e.children,o=(e.appearOptions,e.enterOptions,e.leaveOptions,function(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(e,tk));return r.createElement(tP.Transition,t_({},o,{onEnter:this.handleEnter,onExit:this.handleExit,timeout:this.parseTimeout()}),function(){return r.createElement(tA,t.state,r.Children.only(n))})}}],tN(a.prototype,n),o&&tN(a,o),Object.defineProperty(a,"prototype",{writable:!1}),a}(r.Component);function t$(t){var e=t.component,n=t.children,o=t.appear,i=t.enter,a=t.leave;return r.createElement(tP.TransitionGroup,{component:e},r.Children.map(n,function(t,e){return r.createElement(tF,{appearOptions:o,enterOptions:i,leaveOptions:a,key:"child-".concat(e)},t)}))}tF.propTypes={appearOptions:i().object,enterOptions:i().object,leaveOptions:i().object,children:i().element},t$.propTypes={appear:i().object,enter:i().object,leave:i().object,children:i().oneOfType([i().array,i().element]),component:i().any},t$.defaultProps={component:"span"};var tz=tA},88292:function(t,e,n){"use strict";var r=n(64836);e.__esModule=!0,e.default=function(t,e){t.classList?t.classList.add(e):(0,o.default)(t,e)||("string"==typeof t.className?t.className=t.className+" "+e:t.setAttribute("class",(t.className&&t.className.baseVal||"")+" "+e))};var o=r(n(85312));t.exports=e.default},85312:function(t,e){"use strict";e.__esModule=!0,e.default=function(t,e){return t.classList?!!e&&t.classList.contains(e):-1!==(" "+(t.className.baseVal||t.className)+" ").indexOf(" "+e+" ")},t.exports=e.default},80294:function(t){"use strict";function e(t,e){return t.replace(RegExp("(^|\\s)"+e+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}t.exports=function(t,n){t.classList?t.classList.remove(n):"string"==typeof t.className?t.className=e(t.className,n):t.setAttribute("class",e(t.className&&t.className.baseVal||"",n))}},92810:function(t,e,n){"use strict";e.__esModule=!0,e.default=void 0,function(t){if(!t||!t.__esModule){var e={};if(null!=t){for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(t,n):{};r.get||r.set?Object.defineProperty(e,n,r):e[n]=t[n]}}e.default=t}}(n(45697));var r=u(n(88292)),o=u(n(80294)),i=u(n(67294)),a=u(n(32096));function u(t){return t&&t.__esModule?t:{default:t}}function c(){return(c=Object.assign||function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,["children","in"]),a=r.default.Children.toArray(e),u=a[0],c=a[1];return delete o.onEnter,delete o.onEntering,delete o.onEntered,delete o.onExit,delete o.onExiting,delete o.onExited,r.default.createElement(i.default,o,n?r.default.cloneElement(u,{key:"first",onEnter:this.handleEnter,onEntering:this.handleEntering,onEntered:this.handleEntered}):r.default.cloneElement(c,{key:"second",onEnter:this.handleExit,onEntering:this.handleExiting,onEntered:this.handleExited}))},e}(r.default.Component);u.propTypes={},e.default=u,t.exports=e.default},32096:function(t,e,n){"use strict";e.__esModule=!0,e.default=e.EXITING=e.ENTERED=e.ENTERING=e.EXITED=e.UNMOUNTED=void 0;var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t){for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(t,n):{};r.get||r.set?Object.defineProperty(e,n,r):e[n]=t[n]}}return e.default=t,e}(n(45697)),o=u(n(67294)),i=u(n(73935)),a=n(46871);function u(t){return t&&t.__esModule?t:{default:t}}n(29806);var c="unmounted";e.UNMOUNTED=c;var l="exited";e.EXITED=l;var s="entering";e.ENTERING=s;var f="entered";e.ENTERED=f;var p="exiting";e.EXITING=p;var h=function(t){function e(e,n){r=t.call(this,e,n)||this;var r,o,i=n.transitionGroup,a=i&&!i.isMounting?e.enter:e.appear;return r.appearStatus=null,e.in?a?(o=l,r.appearStatus=s):o=f:o=e.unmountOnExit||e.mountOnEnter?c:l,r.state={status:o},r.nextCallback=null,r}(n=e).prototype=Object.create(t.prototype),n.prototype.constructor=n,n.__proto__=t;var n,r=e.prototype;return r.getChildContext=function(){return{transitionGroup:null}},e.getDerivedStateFromProps=function(t,e){return t.in&&e.status===c?{status:l}:null},r.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},r.componentDidUpdate=function(t){var e=null;if(t!==this.props){var n=this.state.status;this.props.in?n!==s&&n!==f&&(e=s):(n===s||n===f)&&(e=p)}this.updateStatus(!1,e)},r.componentWillUnmount=function(){this.cancelNextCallback()},r.getTimeouts=function(){var t,e,n,r=this.props.timeout;return t=e=n=r,null!=r&&"number"!=typeof r&&(t=r.exit,e=r.enter,n=void 0!==r.appear?r.appear:e),{exit:t,enter:e,appear:n}},r.updateStatus=function(t,e){if(void 0===t&&(t=!1),null!==e){this.cancelNextCallback();var n=i.default.findDOMNode(this);e===s?this.performEnter(n,t):this.performExit(n)}else this.props.unmountOnExit&&this.state.status===l&&this.setState({status:c})},r.performEnter=function(t,e){var n=this,r=this.props.enter,o=this.context.transitionGroup?this.context.transitionGroup.isMounting:e,i=this.getTimeouts(),a=o?i.appear:i.enter;if(!e&&!r){this.safeSetState({status:f},function(){n.props.onEntered(t)});return}this.props.onEnter(t,o),this.safeSetState({status:s},function(){n.props.onEntering(t,o),n.onTransitionEnd(t,a,function(){n.safeSetState({status:f},function(){n.props.onEntered(t,o)})})})},r.performExit=function(t){var e=this,n=this.props.exit,r=this.getTimeouts();if(!n){this.safeSetState({status:l},function(){e.props.onExited(t)});return}this.props.onExit(t),this.safeSetState({status:p},function(){e.props.onExiting(t),e.onTransitionEnd(t,r.exit,function(){e.safeSetState({status:l},function(){e.props.onExited(t)})})})},r.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},r.safeSetState=function(t,e){e=this.setNextCallback(e),this.setState(t,e)},r.setNextCallback=function(t){var e=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,e.nextCallback=null,t(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},r.onTransitionEnd=function(t,e,n){this.setNextCallback(n);var r=null==e&&!this.props.addEndListener;if(!t||r){setTimeout(this.nextCallback,0);return}this.props.addEndListener&&this.props.addEndListener(t,this.nextCallback),null!=e&&setTimeout(this.nextCallback,e)},r.render=function(){var t=this.state.status;if(t===c)return null;var e=this.props,n=e.children,r=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(e,["children"]);if(delete r.in,delete r.mountOnEnter,delete r.unmountOnExit,delete r.appear,delete r.enter,delete r.exit,delete r.timeout,delete r.addEndListener,delete r.onEnter,delete r.onEntering,delete r.onEntered,delete r.onExit,delete r.onExiting,delete r.onExited,"function"==typeof n)return n(t,r);var i=o.default.Children.only(n);return o.default.cloneElement(i,r)},e}(o.default.Component);function d(){}h.contextTypes={transitionGroup:r.object},h.childContextTypes={transitionGroup:function(){}},h.propTypes={},h.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:d,onEntering:d,onEntered:d,onExit:d,onExiting:d,onExited:d},h.UNMOUNTED=0,h.EXITED=1,h.ENTERING=2,h.ENTERED=3,h.EXITING=4;var y=(0,a.polyfill)(h);e.default=y},57114:function(t,e,n){"use strict";e.__esModule=!0,e.default=void 0;var r=u(n(45697)),o=u(n(67294)),i=n(46871),a=n(4474);function u(t){return t&&t.__esModule?t:{default:t}}function c(){return(c=Object.assign||function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,["component","childFactory"]),i=s(this.state.children).map(n);return(delete r.appear,delete r.enter,delete r.exit,null===e)?i:o.default.createElement(e,r,i)},e}(o.default.Component);f.childContextTypes={transitionGroup:r.default.object.isRequired},f.propTypes={},f.defaultProps={component:"div",childFactory:function(t){return t}};var p=(0,i.polyfill)(f);e.default=p,t.exports=e.default},29469:function(t,e,n){"use strict";var r=u(n(92810)),o=u(n(17557)),i=u(n(57114)),a=u(n(32096));function u(t){return t&&t.__esModule?t:{default:t}}t.exports={Transition:a.default,TransitionGroup:i.default,ReplaceTransition:o.default,CSSTransition:r.default}},4474:function(t,e,n){"use strict";e.__esModule=!0,e.getChildMapping=o,e.mergeChildMappings=i,e.getInitialChildMapping=function(t,e){return o(t.children,function(n){return(0,r.cloneElement)(n,{onExited:e.bind(null,n),in:!0,appear:a(n,"appear",t),enter:a(n,"enter",t),exit:a(n,"exit",t)})})},e.getNextChildMapping=function(t,e,n){var u=o(t.children),c=i(e,u);return Object.keys(c).forEach(function(o){var i=c[o];if((0,r.isValidElement)(i)){var l=o in e,s=o in u,f=e[o],p=(0,r.isValidElement)(f)&&!f.props.in;s&&(!l||p)?c[o]=(0,r.cloneElement)(i,{onExited:n.bind(null,i),in:!0,exit:a(i,"exit",t),enter:a(i,"enter",t)}):s||!l||p?s&&l&&(0,r.isValidElement)(f)&&(c[o]=(0,r.cloneElement)(i,{onExited:n.bind(null,i),in:f.props.in,exit:a(i,"exit",t),enter:a(i,"enter",t)})):c[o]=(0,r.cloneElement)(i,{in:!1})}}),c};var r=n(67294);function o(t,e){var n=Object.create(null);return t&&r.Children.map(t,function(t){return t}).forEach(function(t){n[t.key]=e&&(0,r.isValidElement)(t)?e(t):t}),n}function i(t,e){function n(n){return n in e?e[n]:t[n]}t=t||{},e=e||{};var r,o=Object.create(null),i=[];for(var a in t)a in e?i.length&&(o[a]=i,i=[]):i.push(a);var u={};for(var c in e){if(o[c])for(r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=e.bandAware,r=e.position;if(void 0!==t){if(r)switch(r){case"start":default:return this.scale(t);case"middle":var o=this.bandwidth?this.bandwidth()/2:0;return this.scale(t)+o;case"end":var i=this.bandwidth?this.bandwidth():0;return this.scale(t)+i}if(n){var a=this.bandwidth?this.bandwidth()/2:0;return this.scale(t)+a}return this.scale(t)}}},{key:"isInRange",value:function(t){var e=this.range(),n=e[0],r=e[e.length-1];return n<=r?t>=n&&t<=r:t>=r&&t<=n}}],e=[{key:"create",value:function(t){return new n(t)}}],t&&H(n.prototype,t),e&&H(n,e),Object.defineProperty(n,"prototype",{writable:!1}),n}();K(tt,"EPS",1e-4);var te=function(t){var e=Object.keys(t).reduce(function(e,n){return V(V({},e),{},K({},n,tt.create(t[n])))},{});return V(V({},e),{},{apply:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.bandAware,o=n.position;return X()(t,function(t,n){return e[n].apply(t,{bandAware:r,position:o})})},isInRange:function(t){return g()(t,function(t,n){return e[n].isInRange(t)})}})},tn=function(t){var e=t.width,n=t.height,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=(r%180+180)%180*Math.PI/180,i=Math.atan(n/e);return Math.abs(o>i&&o=0&&t*(e+t*n/2-o)<=0}function ti(t){return(ti="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ta(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function tu(t){for(var e=1;e=2?(0,z.uY)(l[1].coordinate-l[0].coordinate):1,O=(r="width"===m,o=s.x,i=s.y,a=s.width,u=s.height,1===x?{start:r?o:i,end:r?o+a:i+u}:{start:r?o+a:i+u,end:r?o:i});return"equidistantPreserveStart"===h?function(t,e,n,r,o){for(var i=(r||[]).slice(),a=e.start,u=e.end,c=0,l=1,s=a;l<=i.length;){var f=null==r?void 0:r[c];if(void 0===f)return tr(r,l);var p=n(f,c),h=f.coordinate,d=0===c||to(t,h,p,s,u);d||(c=0,s=a,l+=1),d&&(s=h+t*(p/2+o),c+=l)}return[]}(x,O,b,l,f):("preserveStart"===h||"preserveStartEnd"===h?function(t,e,n,r,o,i){var a=(r||[]).slice(),u=a.length,c=e.start,l=e.end;if(i){var s=r[u-1],f=n(s,u-1),p=t*(s.coordinate+t*f/2-l);a[u-1]=s=tu(tu({},s),{},{tickCoord:p>0?s.coordinate-p*t:s.coordinate}),to(t,s.tickCoord,f,c,l)&&(l=s.tickCoord-t*(f/2+o),a[u-1]=tu(tu({},s),{},{isShow:!0}))}for(var h=i?u-1:u,d=0;d=0;l--){var s=i[l],f=n(s,l);if(l===a-1){var p=t*(s.coordinate+t*f/2-c);i[l]=s=tu(tu({},s),{},{tickCoord:p>0?s.coordinate-p*t:s.coordinate})}else i[l]=s=tu(tu({},s),{},{tickCoord:s.coordinate});to(t,s.tickCoord,f,u,c)&&(c=s.tickCoord-t*(f/2+o),i[l]=tu(tu({},s),{},{isShow:!0}))}return i}(x,O,b,l,f)).filter(function(t){return t.isShow})}var tl=n(20514),ts=n(48710),tf=n(45578),tp=n.n(tf),th=n(93801);function td(t){return(td="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ty(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);nf[n]+o?Math.max(p,f[n]):Math.max(h,f[n])}),t}return n=[{key:"componentDidMount",value:function(){this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){this.updateBBox()}},{key:"updateBBox",value:function(){var t=this.state,e=t.boxWidth,n=t.boxHeight;if(t.dismissed?(document.removeEventListener("keydown",this.handleKeyDown),(this.props.coordinate.x!==this.state.dismissedAtCoordinate.x||this.props.coordinate.y!==this.state.dismissedAtCoordinate.y)&&this.setState({dismissed:!1})):document.addEventListener("keydown",this.handleKeyDown),this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var r=this.wrapperNode.getBoundingClientRect();(Math.abs(r.width-e)>1||Math.abs(r.height-n)>1)&&this.setState({boxWidth:r.width,boxHeight:r.height})}else(-1!==e||-1!==n)&&this.setState({boxWidth:-1,boxHeight:-1})}},{key:"render",value:function(){var t,e,n,r,o,i,a=this,u=this.props,c=u.payload,l=u.isAnimationActive,s=u.animationDuration,f=u.animationEasing,p=u.filterNull,h=(t=u.payloadUniqBy,e=p&&c&&c.length?c.filter(function(t){return!_()(t.value)}):c,!0===t?tp()(e,t_):w()(t)?tp()(e,t):e),d=h&&h.length,y=this.props,v=y.content,m=y.viewBox,g=y.coordinate,b=y.position,x=y.active,O=y.wrapperStyle,j=tw({pointerEvents:"none",visibility:!this.state.dismissed&&x&&d?"visible":"hidden",position:"absolute",top:0,left:0},O);if(b&&(0,z.hj)(b.x)&&(0,z.hj)(b.y))r=b.x,o=b.y;else{var S=this.state,E=S.boxWidth,A=S.boxHeight;E>0&&A>0&&g?(r=this.getTranslate({key:"x",tooltipDimension:E,viewBoxDimension:m.width}),o=this.getTranslate({key:"y",tooltipDimension:A,viewBoxDimension:m.height})):j.visibility="hidden"}j=tw(tw({},(0,th.bO)({transform:this.props.useTranslate3d?"translate3d(".concat(r,"px, ").concat(o,"px, 0)"):"translate(".concat(r,"px, ").concat(o,"px)")})),j),l&&x&&(j=tw(tw({},(0,th.bO)({transition:"transform ".concat(s,"ms ").concat(f)})),j));var P=U()(tM,(tP(i={},"".concat(tM,"-right"),(0,z.hj)(r)&&g&&(0,z.hj)(g.x)&&r>=g.x),tP(i,"".concat(tM,"-left"),(0,z.hj)(r)&&g&&(0,z.hj)(g.x)&&r=g.y),tP(i,"".concat(tM,"-top"),(0,z.hj)(o)&&g&&(0,z.hj)(g.y)&&o=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(t,tL));return(0,z.hj)(n)&&(0,z.hj)(o)&&(0,z.hj)(s)&&(0,z.hj)(p)&&(0,z.hj)(a)&&(0,z.hj)(c)?R.createElement("path",tR({},(0,tI.L6)(d,!0),{className:U()("recharts-cross",h),d:"M".concat(n,",").concat(a,"v").concat(p,"M").concat(c,",").concat(o,"h").concat(s)})):null},tF=n(45108),t$=n(79896);function tz(){return(tz=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function t2(t,e){for(var n=0;n0?this.props:l)),r<=0||o<=0||!s||!s.length)?null:R.createElement(ts.m,{className:U()("recharts-cartesian-axis",a),ref:function(e){t.layerReference=e}},n&&this.renderAxisLine(),this.renderTicks(s,this.state.fontSize,this.state.letterSpacing),tY._.renderCallByParent(this.props))}}],r=[{key:"renderTickItem",value:function(t,e,n){return R.isValidElement(t)?R.cloneElement(t,e):w()(t)?t(e):R.createElement(tX.x,tJ({},e,{className:"recharts-cartesian-axis-tick-value"}),n)}}],n&&t2(i.prototype,n),r&&t2(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(R.Component);t3(t7,"displayName","CartesianAxis"),t3(t7,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var t8=n(175),t9=n(35552);function et(t){return(et="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ee(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function en(t){for(var e=1;e0&&e.handleDrag(t.changedTouches[0])}),ed(ep(e),"handleDragEnd",function(){e.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var t=e.props,n=t.endIndex,r=t.onDragEnd,o=t.startIndex;null==r||r({endIndex:n,startIndex:o})}),e.detachDragEndListener()}),ed(ep(e),"handleLeaveWrapper",function(){(e.state.isTravellerMoving||e.state.isSlideMoving)&&(e.leaveTimer=window.setTimeout(e.handleDragEnd,e.props.leaveTimeOut))}),ed(ep(e),"handleEnterSlideOrTraveller",function(){e.setState({isTextActive:!0})}),ed(ep(e),"handleLeaveSlideOrTraveller",function(){e.setState({isTextActive:!1})}),ed(ep(e),"handleSlideDragStart",function(t){var n=em(t)?t.changedTouches[0]:t;e.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:n.pageX}),e.attachDragEndListener()}),e.travellerDragStartHandlers={startX:e.handleTravellerDragStart.bind(ep(e),"startX"),endX:e.handleTravellerDragStart.bind(ep(e),"endX")},e.state={},e}return n=[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(t){var e=t.startX,n=t.endX,r=this.state.scaleValues,o=this.props,a=o.gap,u=o.data.length-1,c=i.getIndexInRange(r,Math.min(e,n)),l=i.getIndexInRange(r,Math.max(e,n));return{startIndex:c-c%a,endIndex:l===u?u:l-l%a}}},{key:"getTextOfTick",value:function(t){var e=this.props,n=e.data,r=e.tickFormatter,o=e.dataKey,i=(0,t9.F$)(n[t],o,t);return w()(r)?r(i,t):i}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(t){var e=this.state,n=e.slideMoveStartX,r=e.startX,o=e.endX,i=this.props,a=i.x,u=i.width,c=i.travellerWidth,l=i.startIndex,s=i.endIndex,f=i.onChange,p=t.pageX-n;p>0?p=Math.min(p,a+u-c-o,a+u-c-r):p<0&&(p=Math.max(p,a-r,a-o));var h=this.getIndex({startX:r+p,endX:o+p});(h.startIndex!==l||h.endIndex!==s)&&f&&f(h),this.setState({startX:r+p,endX:o+p,slideMoveStartX:t.pageX})}},{key:"handleTravellerDragStart",value:function(t,e){var n=em(e)?e.changedTouches[0]:e;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:t,brushMoveStartX:n.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(t){var e,n=this.state,r=n.brushMoveStartX,o=n.movingTravellerId,i=n.endX,a=n.startX,u=this.state[o],c=this.props,l=c.x,s=c.width,f=c.travellerWidth,p=c.onChange,h=c.gap,d=c.data,y={startX:this.state.startX,endX:this.state.endX},v=t.pageX-r;v>0?v=Math.min(v,l+s-f-u):v<0&&(v=Math.max(v,l-u)),y[o]=u+v;var m=this.getIndex(y),g=m.startIndex,b=m.endIndex,x=function(){var t=d.length-1;return"startX"===o&&(i>a?g%h==0:b%h==0)||ia?b%h==0:g%h==0)||i>a&&b===t};this.setState((ed(e={},o,u+v),ed(e,"brushMoveStartX",t.pageX),e),function(){p&&x()&&p(m)})}},{key:"handleTravellerMoveKeyboard",value:function(t,e){var n=this,r=this.state,o=r.scaleValues,i=r.startX,a=r.endX,u=this.state[e],c=o.indexOf(u);if(-1!==c){var l=c+t;if(-1!==l&&!(l>=o.length)){var s=o[l];"startX"===e&&s>=a||"endX"===e&&s<=i||this.setState(ed({},e,s),function(){n.props.onChange(n.getIndex({startX:n.state.startX,endX:n.state.endX}))})}}}},{key:"renderBackground",value:function(){var t=this.props,e=t.x,n=t.y,r=t.width,o=t.height,i=t.fill,a=t.stroke;return R.createElement("rect",{stroke:a,fill:i,x:e,y:n,width:r,height:o})}},{key:"renderPanorama",value:function(){var t=this.props,e=t.x,n=t.y,r=t.width,o=t.height,i=t.data,a=t.children,u=t.padding,c=R.Children.only(a);return c?R.cloneElement(c,{x:e,y:n,width:r,height:o,margin:u,compact:!0,data:i}):null}},{key:"renderTravellerLayer",value:function(t,e){var n=this,r=this.props,o=r.y,a=r.travellerWidth,u=r.height,c=r.traveller,l=Math.max(t,this.props.x),s=el(el({},(0,tI.L6)(this.props)),{},{x:l,y:o,width:a,height:u});return R.createElement(ts.m,{tabIndex:0,role:"slider",className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[e],onTouchStart:this.travellerDragStartHandlers[e],onKeyDown:function(t){["ArrowLeft","ArrowRight"].includes(t.key)&&(t.preventDefault(),t.stopPropagation(),n.handleTravellerMoveKeyboard("ArrowRight"===t.key?1:-1,e))},onFocus:function(){n.setState({isTravellerFocused:!0})},onBlur:function(){n.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},i.renderTraveller(c,s))}},{key:"renderSlide",value:function(t,e){var n=this.props,r=n.y,o=n.height,i=n.stroke,a=n.travellerWidth;return R.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:i,fillOpacity:.2,x:Math.min(t,e)+a,y:r,width:Math.max(Math.abs(e-t)-a,0),height:o})}},{key:"renderText",value:function(){var t=this.props,e=t.startIndex,n=t.endIndex,r=t.y,o=t.height,i=t.travellerWidth,a=t.stroke,u=this.state,c=u.startX,l=u.endX,s={pointerEvents:"none",fill:a};return R.createElement(ts.m,{className:"recharts-brush-texts"},R.createElement(tX.x,eu({textAnchor:"end",verticalAnchor:"middle",x:Math.min(c,l)-5,y:r+o/2},s),this.getTextOfTick(e)),R.createElement(tX.x,eu({textAnchor:"start",verticalAnchor:"middle",x:Math.max(c,l)+i+5,y:r+o/2},s),this.getTextOfTick(n)))}},{key:"render",value:function(){var t=this.props,e=t.data,n=t.className,r=t.children,o=t.x,i=t.y,a=t.width,u=t.height,c=t.alwaysShowText,l=this.state,s=l.startX,f=l.endX,p=l.isTextActive,h=l.isSlideMoving,d=l.isTravellerMoving,y=l.isTravellerFocused;if(!e||!e.length||!(0,z.hj)(o)||!(0,z.hj)(i)||!(0,z.hj)(a)||!(0,z.hj)(u)||a<=0||u<=0)return null;var v=U()("recharts-brush",n),m=1===R.Children.count(r),g=ei("userSelect","none");return R.createElement(ts.m,{className:v,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:g},this.renderBackground(),m&&this.renderPanorama(),this.renderSlide(s,f),this.renderTravellerLayer(s,"startX"),this.renderTravellerLayer(f,"endX"),(p||h||d||y||c)&&this.renderText())}}],r=[{key:"renderDefaultTraveller",value:function(t){var e=t.x,n=t.y,r=t.width,o=t.height,i=t.stroke,a=Math.floor(n+o/2)-1;return R.createElement(R.Fragment,null,R.createElement("rect",{x:e,y:n,width:r,height:o,fill:i,stroke:"none"}),R.createElement("line",{x1:e+1,y1:a,x2:e+r-1,y2:a,fill:"none",stroke:"#fff"}),R.createElement("line",{x1:e+1,y1:a+2,x2:e+r-1,y2:a+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(t,e){return R.isValidElement(t)?R.cloneElement(t,e):w()(t)?t(e):i.renderDefaultTraveller(e)}},{key:"getDerivedStateFromProps",value:function(t,e){var n=t.data,r=t.width,o=t.x,i=t.travellerWidth,a=t.updateId,u=t.startIndex,c=t.endIndex;if(n!==e.prevData||a!==e.prevUpdateId)return el({prevData:n,prevTravellerWidth:i,prevUpdateId:a,prevX:o,prevWidth:r},n&&n.length?ev({data:n,width:r,x:o,travellerWidth:i,startIndex:u,endIndex:c}):{scale:null,scaleValues:null});if(e.scale&&(r!==e.prevWidth||o!==e.prevX||i!==e.prevTravellerWidth)){e.scale.range([o,o+r-i]);var l=e.scale.domain().map(function(t){return e.scale(t)});return{prevData:n,prevTravellerWidth:i,prevUpdateId:a,prevX:o,prevWidth:r,startX:e.scale(t.startIndex),endX:e.scale(t.endIndex),scaleValues:l}}return null}},{key:"getIndexInRange",value:function(t,e){for(var n=t.length,r=0,o=n-1;o-r>1;){var i=Math.floor((r+o)/2);t[i]>e?o=i:r=i}return e>=t[o]?o:r}}],n&&es(i.prototype,n),r&&es(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(R.PureComponent);ed(eg,"displayName","Brush"),ed(eg,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var eb=n(20430),ex=function(t,e){var n=t.alwaysShow,r=t.ifOverflow;return n&&(r="extendDomain"),r===e},eO=n(6213);function ew(t){return(ew="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ej(){return(ej=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);nt.length)&&(e=t.length);for(var n=0,r=Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function e7(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n0?a:n&&n.props&&n.props.data&&n.props.data.length>0?n.props.data:t&&t.length&&(0,z.hj)(o)&&(0,z.hj)(i)?t.slice(o,i+1):[]};function nh(t){return"number"===t?[0,"auto"]:void 0}var nd=function(t,e,n,r){var o=t.graphicalItems,i=t.tooltipAxis,a=np(e,t);return n<0||!o||!o.length||n>=a.length?null:o.reduce(function(t,o){if(o.props.hide)return t;var u,c=o.props.data,l=void 0===c?e:c;return(u=i.dataKey&&!i.allowDuplicatedCategory?(0,z.Ap)(void 0===l?a:l,i.dataKey,r):l&&l[n]||a[n])?[].concat(ne(t),[(0,t9.Qo)(o,u)]):t},[])},ny=function(t,e,n,r){var o=r||{x:t.chartX,y:t.chartY},i="horizontal"===n?o.x:"vertical"===n?o.y:"centric"===n?o.angle:o.radius,a=t.orderedTooltipTicks,u=t.tooltipAxis,c=t.tooltipTicks,l=(0,t9.VO)(i,a,c,u);if(l>=0&&c){var s=c[l]&&c[l].value,f=nd(t,e,l,s),p=nf(n,a,l,o);return{activeTooltipIndex:l,activeLabel:s,activePayload:f,activeCoordinate:p}}return null},nv=function(t,e){var n=e.axes,r=e.graphicalItems,o=e.axisType,i=e.axisIdKey,a=e.stackGroups,u=e.dataStartIndex,c=e.dataEndIndex,l=t.layout,s=t.children,f=t.stackOffset,p=(0,t9.NA)(l,o);return n.reduce(function(e,n){var h=n.props,d=h.type,y=h.dataKey,v=h.allowDataOverflow,m=h.allowDuplicatedCategory,g=h.scale,b=h.ticks,x=h.includeHidden,O=n.props[i];if(e[O])return e;var w=np(t.data,{graphicalItems:r.filter(function(t){return t.props[i]===O}),dataStartIndex:u,dataEndIndex:c}),j=w.length;(function(t,e,n){if("number"===n&&!0===e&&Array.isArray(t)){var r=null==t?void 0:t[0],o=null==t?void 0:t[1];if(r&&o&&(0,z.hj)(r)&&(0,z.hj)(o))return!0}return!1})(n.props.domain,v,d)&&(A=(0,t9.LG)(n.props.domain,null,v),p&&("number"===d||"auto"!==g)&&(k=(0,t9.gF)(w,y,"category")));var S=nh(d);if(!A||0===A.length){var E,A,P,k,M,T=null!==(M=n.props.domain)&&void 0!==M?M:S;if(y){if(A=(0,t9.gF)(w,y,d),"category"===d&&p){var N=(0,z.bv)(A);m&&N?(P=A,A=C()(0,j)):m||(A=(0,t9.ko)(T,A,n).reduce(function(t,e){return t.indexOf(e)>=0?t:[].concat(ne(t),[e])},[]))}else if("category"===d)A=m?A.filter(function(t){return""!==t&&!_()(t)}):(0,t9.ko)(T,A,n).reduce(function(t,e){return t.indexOf(e)>=0||""===e||_()(e)?t:[].concat(ne(t),[e])},[]);else if("number"===d){var I=(0,t9.ZI)(w,r.filter(function(t){return t.props[i]===O&&(x||!t.props.hide)}),y,o,l);I&&(A=I)}p&&("number"===d||"auto"!==g)&&(k=(0,t9.gF)(w,y,"category"))}else A=p?C()(0,j):a&&a[O]&&a[O].hasStack&&"number"===d?"expand"===f?[0,1]:(0,t9.EB)(a[O].stackGroups,u,c):(0,t9.s6)(w,r.filter(function(t){return t.props[i]===O&&(x||!t.props.hide)}),d,l,!0);"number"===d?(A=eG(s,A,O,o,b),T&&(A=(0,t9.LG)(T,A,v))):"category"===d&&T&&A.every(function(t){return T.indexOf(t)>=0})&&(A=T)}return ni(ni({},e),{},na({},O,ni(ni({},n.props),{},{axisType:o,domain:A,categoricalDomain:k,duplicateDomain:P,originalDomain:null!==(E=n.props.domain)&&void 0!==E?E:S,isCategorical:p,layout:l})))},{})},nm=function(t,e){var n=e.graphicalItems,r=e.Axis,o=e.axisType,i=e.axisIdKey,a=e.stackGroups,u=e.dataStartIndex,c=e.dataEndIndex,l=t.layout,s=t.children,f=np(t.data,{graphicalItems:n,dataStartIndex:u,dataEndIndex:c}),p=f.length,h=(0,t9.NA)(l,o),d=-1;return n.reduce(function(t,e){var y,v=e.props[i],m=nh("number");return t[v]?t:(d++,y=h?C()(0,p):a&&a[v]&&a[v].hasStack?eG(s,y=(0,t9.EB)(a[v].stackGroups,u,c),v,o):eG(s,y=(0,t9.LG)(m,(0,t9.s6)(f,n.filter(function(t){return t.props[i]===v&&!t.props.hide}),"number",l),r.defaultProps.allowDataOverflow),v,o),ni(ni({},t),{},na({},v,ni(ni({axisType:o},r.defaultProps),{},{hide:!0,orientation:k()(nc,"".concat(o,".").concat(d%2),null),domain:y,originalDomain:m,isCategorical:h,layout:l}))))},{})},ng=function(t,e){var n=e.axisType,r=void 0===n?"xAxis":n,o=e.AxisComp,i=e.graphicalItems,a=e.stackGroups,u=e.dataStartIndex,c=e.dataEndIndex,l=t.children,s="".concat(r,"Id"),f=(0,tI.NN)(l,o),p={};return f&&f.length?p=nv(t,{axes:f,graphicalItems:i,axisType:r,axisIdKey:s,stackGroups:a,dataStartIndex:u,dataEndIndex:c}):i&&i.length&&(p=nm(t,{Axis:o,graphicalItems:i,axisType:r,axisIdKey:s,stackGroups:a,dataStartIndex:u,dataEndIndex:c})),p},nb=function(t){var e=(0,z.Kt)(t),n=(0,t9.uY)(e,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:A()(n,function(t){return t.coordinate}),tooltipAxis:e,tooltipAxisBandSize:(0,t9.zT)(e,n)}},nx=function(t){var e,n,r=t.children,o=t.defaultShowTooltip,i=(0,tI.sP)(r,eg);return{chartX:0,chartY:0,dataStartIndex:i&&i.props&&i.props.startIndex||0,dataEndIndex:(null==i||null===(e=i.props)||void 0===e?void 0:e.endIndex)!==void 0?null==i||null===(n=i.props)||void 0===n?void 0:n.endIndex:t.data&&t.data.length-1||0,activeTooltipIndex:-1,isTooltipActive:!_()(o)&&o}},nO=function(t){return"horizontal"===t?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:"vertical"===t?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:"centric"===t?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},nw=function(t,e){var n=t.props,r=t.graphicalItems,o=t.xAxisMap,i=void 0===o?{}:o,a=t.yAxisMap,u=void 0===a?{}:a,c=n.width,l=n.height,s=n.children,f=n.margin||{},p=(0,tI.sP)(s,eg),h=(0,tI.sP)(s,tC.D),d=Object.keys(u).reduce(function(t,e){var n=u[e],r=n.orientation;return n.mirror||n.hide?t:ni(ni({},t),{},na({},r,t[r]+n.width))},{left:f.left||0,right:f.right||0}),y=Object.keys(i).reduce(function(t,e){var n=i[e],r=n.orientation;return n.mirror||n.hide?t:ni(ni({},t),{},na({},r,k()(t,"".concat(r))+n.height))},{top:f.top||0,bottom:f.bottom||0}),v=ni(ni({},y),d),m=v.bottom;return p&&(v.bottom+=p.props.height||eg.defaultProps.height),h&&e&&(v=(0,t9.By)(v,r,n,e)),ni(ni({brushBottom:m},v),{},{width:c-v.left-v.right,height:l-v.top-v.bottom})},nj=["points","className","baseLinePoints","connectNulls"];function nS(){return(nS=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n0&&void 0!==arguments[0]?arguments[0]:[],e=[[]];return t.forEach(function(t){nP(t)?e[e.length-1].push(t):e[e.length-1].length>0&&e.push([])}),nP(t[0])&&e[e.length-1].push(t[0]),e[e.length-1].length<=0&&(e=e.slice(0,-1)),e},nM=function(t,e){var n=nk(t);e&&(n=[n.reduce(function(t,e){return[].concat(nE(t),nE(e))},[])]);var r=n.map(function(t){return t.reduce(function(t,e,n){return"".concat(t).concat(0===n?"M":"L").concat(e.x,",").concat(e.y)},"")}).join("");return 1===n.length?"".concat(r,"Z"):r},n_=function(t,e,n){var r=nM(t,n);return"".concat("Z"===r.slice(-1)?r.slice(0,-1):r,"L").concat(nM(e.reverse(),n).slice(1))},nT=function(t){var e=t.points,n=t.className,r=t.baseLinePoints,o=t.connectNulls,i=function(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(t,nj);if(!e||!e.length)return null;var a=U()("recharts-polygon",n);if(r&&r.length){var u=i.stroke&&"none"!==i.stroke,c=n_(e,r,o);return R.createElement("g",{className:a},R.createElement("path",nS({},(0,tI.L6)(i,!0),{fill:"Z"===c.slice(-1)?i.fill:"none",stroke:"none",d:c})),u?R.createElement("path",nS({},(0,tI.L6)(i,!0),{fill:"none",d:nM(e,o)})):null,u?R.createElement("path",nS({},(0,tI.L6)(i,!0),{fill:"none",d:nM(r,o)})):null)}var l=nM(e,o);return R.createElement("path",nS({},(0,tI.L6)(i,!0),{fill:"Z"===l.slice(-1)?i.fill:"none",className:a,d:l}))};function nC(t){return(nC="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nN(){return(nN=Object.assign?Object.assign.bind():function(t){for(var e=1;e1e-5?"outer"===e?"start":"end":n<-.00001?"outer"===e?"end":"start":"middle"}},{key:"renderAxisLine",value:function(){var t=this.props,e=t.cx,n=t.cy,r=t.radius,o=t.axisLine,i=t.axisLineType,a=nD(nD({},(0,tI.L6)(this.props)),{},{fill:"none"},(0,tI.L6)(o));if("circle"===i)return R.createElement(tW,nN({className:"recharts-polar-angle-axis-line"},a,{cx:e,cy:n,r:r}));var u=this.props.ticks.map(function(t){return(0,F.op)(e,n,r,t.coordinate)});return R.createElement(nT,nN({className:"recharts-polar-angle-axis-line"},a,{points:u}))}},{key:"renderTicks",value:function(){var t=this,e=this.props,n=e.ticks,r=e.tick,o=e.tickLine,a=e.tickFormatter,u=e.stroke,c=(0,tI.L6)(this.props),l=(0,tI.L6)(r),s=nD(nD({},c),{},{fill:"none"},(0,tI.L6)(o)),f=n.map(function(e,n){var f=t.getTickLineCoord(e),p=nD(nD(nD({textAnchor:t.getTickTextAnchor(e)},c),{},{stroke:"none",fill:u},l),{},{index:n,payload:e,x:f.x2,y:f.y2});return R.createElement(ts.m,nN({className:"recharts-polar-angle-axis-tick",key:"tick-".concat(n)},(0,t$.bw)(t.props,e,n)),o&&R.createElement("line",nN({className:"recharts-polar-angle-axis-tick-line"},s,f)),r&&i.renderTickItem(r,p,a?a(e.value,n):e.value))});return R.createElement(ts.m,{className:"recharts-polar-angle-axis-ticks"},f)}},{key:"render",value:function(){var t=this.props,e=t.ticks,n=t.radius,r=t.axisLine;return!(n<=0)&&e&&e.length?R.createElement(ts.m,{className:"recharts-polar-angle-axis"},r&&this.renderAxisLine(),this.renderTicks()):null}}],r=[{key:"renderTickItem",value:function(t,e,n){return R.isValidElement(t)?R.cloneElement(t,e):w()(t)?t(e):R.createElement(tX.x,nN({},e,{className:"recharts-polar-angle-axis-tick-value"}),n)}}],n&&nL(i.prototype,n),r&&nL(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(R.PureComponent);nU(nz,"displayName","PolarAngleAxis"),nU(nz,"axisType","angleAxis"),nU(nz,"defaultProps",{type:"category",angleAxisId:0,scale:"auto",cx:0,cy:0,orientation:"outer",axisLine:!0,tickLine:!0,tickSize:8,tick:!0,hide:!1,allowDuplicatedCategory:!0});var nW=n(22762),nq=n.n(nW),nG=n(84753),nX=n.n(nG),nY=["cx","cy","angle","ticks","axisLine"],nH=["ticks","tick","angle","tickFormatter","stroke"];function nZ(t){return(nZ="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nV(){return(nV=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function n0(t,e){for(var n=0;n=0})&&(0,t9.pt)({barSize:c,stackGroups:r}),g=[];return n.forEach(function(n,c){var d,b=np(t.data,{dataStartIndex:a,dataEndIndex:u},n),x=n.props,O=x.dataKey,w=x.maxBarSize,j=n.props["".concat(y,"Id")],S=n.props["".concat(v,"Id")],E=f.reduce(function(t,r){var o,i=e["".concat(r.axisType,"Map")],a=n.props["".concat(r.axisType,"Id")];i&&i[a]||"zAxis"===r.axisType||function(t,e){if(!t)throw Error("Invariant failed")}(!1);var u=i[a];return ni(ni({},t),{},(na(o={},r.axisType,u),na(o,"".concat(r.axisType,"Ticks"),(0,t9.uY)(u)),o))},{}),A=E[v],P=E["".concat(v,"Ticks")],k=r&&r[j]&&r[j].hasStack&&(0,t9.O3)(n,r[j].stackGroups),M=(0,tI.Gf)(n.type).indexOf("Bar")>=0,T=(0,t9.zT)(A,P),C=[];if(M){var N,I,D=_()(w)?h:w,L=null!==(N=null!==(I=(0,t9.zT)(A,P,!0))&&void 0!==I?I:D)&&void 0!==N?N:0;C=(0,t9.qz)({barGap:s,barCategoryGap:p,bandSize:L!==T?L:T,sizeList:m[S],maxBarSize:D}),L!==T&&(C=C.map(function(t){return ni(ni({},t),{},{position:ni(ni({},t.position),{},{offset:t.position.offset-L/2})})}))}var R=n&&n.type&&n.type.getComposedData;R&&g.push({props:ni(ni({},R(ni(ni({},E),{},{displayedData:b,props:t,dataKey:O,item:n,bandSize:T,barPosition:C,offset:o,stackedData:k,layout:l,dataStartIndex:a,dataEndIndex:u}))),{},(na(d={key:n.key||"item-".concat(c)},y,E[y]),na(d,v,E[v]),na(d,"animationId",i),d)),childIndex:(0,tI.$R)(n,t.children),item:n})}),g},v=function(t,e){var n=t.props,r=t.dataStartIndex,o=t.dataEndIndex,u=t.updateId;if(!(0,tI.TT)({props:n}))return null;var c=n.children,l=n.layout,s=n.stackOffset,p=n.data,d=n.reverseStackOrder,v=nO(l),m=v.numericAxisName,g=v.cateAxisName,b=(0,tI.NN)(c,a),x=(0,t9.wh)(p,b,"".concat(m,"Id"),"".concat(g,"Id"),s,d),O=f.reduce(function(t,e){var i="".concat(e.axisType,"Map");return ni(ni({},t),{},na({},i,ng(n,ni(ni({},e),{},{graphicalItems:b,stackGroups:e.axisType===m&&x,dataStartIndex:r,dataEndIndex:o}))))},{}),w=nw(ni(ni({},O),{},{props:n,graphicalItems:b}),null==e?void 0:e.legendBBox);Object.keys(O).forEach(function(t){O[t]=h(n,O[t],w,t.replace("Map",""),i)});var j=nb(O["".concat(g,"Map")]),S=y(n,ni(ni({},O),{},{dataStartIndex:r,dataEndIndex:o,updateId:u,graphicalItems:b,stackGroups:x,offset:w}));return ni(ni({formattedGraphicalItems:S,graphicalItems:b,offset:w,stackGroups:x},j),O)},o=function(t){(function(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&e8(t,e)})(a,t);var e,n,r,o=(e=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}(),function(){var t,n=nt(a);if(e){var r=nt(this).constructor;t=Reflect.construct(n,arguments,r)}else t=n.apply(this,arguments);return function(t,e){if(e&&("object"===e6(e)||"function"==typeof e))return e;if(void 0!==e)throw TypeError("Derived constructors may only return object or undefined");return e9(t)}(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw TypeError("Cannot call a class as a function")}(this,a),na(e9(e=o.call(this,t)),"accessibilityManager",new eQ),na(e9(e),"clearDefer",function(){e.cancelDefer&&(e.cancelDefer(),e.cancelDefer=null)}),na(e9(e),"handleLegendBBoxUpdate",function(t){if(t){var n=e.state,r=n.dataStartIndex,o=n.dataEndIndex,i=n.updateId;e.setState(ni({legendBBox:t},v({props:e.props,dataStartIndex:r,dataEndIndex:o,updateId:i},ni(ni({},e.state),{},{legendBBox:t}))))}}),na(e9(e),"handleReceiveSyncEvent",function(t,n,r){e.props.syncId===t&&n!==e.uniqueChartId&&(e.clearDefer(),e.cancelDefer=function(t){if("function"==typeof requestAnimationFrame){var e=requestAnimationFrame(t);return function(){return cancelAnimationFrame(e)}}if("function"==typeof setImmediate){var n=setImmediate(t);return function(){return clearImmediate(n)}}var r=setTimeout(t);return function(){return clearTimeout(r)}}(e.applySyncEvent.bind(e9(e),r)))}),na(e9(e),"handleBrushChange",function(t){var n=t.startIndex,r=t.endIndex;if(n!==e.state.dataStartIndex||r!==e.state.dataEndIndex){var o=e.state.updateId;e.setState(function(){return ni({dataStartIndex:n,dataEndIndex:r},v({props:e.props,dataStartIndex:n,dataEndIndex:r,updateId:o},e.state))}),e.triggerSyncEvent({dataStartIndex:n,dataEndIndex:r})}}),na(e9(e),"handleMouseEnter",function(t){var n=e.props.onMouseEnter,r=e.getMouseInfo(t);if(r){var o=ni(ni({},r),{},{isTooltipActive:!0});e.setState(o),e.triggerSyncEvent(o),w()(n)&&n(o,t)}}),na(e9(e),"triggeredAfterMouseMove",function(t){var n=e.props.onMouseMove,r=e.getMouseInfo(t),o=r?ni(ni({},r),{},{isTooltipActive:!0}):{isTooltipActive:!1};e.setState(o),e.triggerSyncEvent(o),w()(n)&&n(o,t)}),na(e9(e),"handleItemMouseEnter",function(t){e.setState(function(){return{isTooltipActive:!0,activeItem:t,activePayload:t.tooltipPayload,activeCoordinate:t.tooltipPosition||{x:t.cx,y:t.cy}}})}),na(e9(e),"handleItemMouseLeave",function(){e.setState(function(){return{isTooltipActive:!1}})}),na(e9(e),"handleMouseMove",function(t){t&&w()(t.persist)&&t.persist(),e.triggeredAfterMouseMove(t)}),na(e9(e),"handleMouseLeave",function(t){var n=e.props.onMouseLeave,r={isTooltipActive:!1};e.setState(r),e.triggerSyncEvent(r),w()(n)&&n(r,t),e.cancelThrottledTriggerAfterMouseMove()}),na(e9(e),"handleOuterEvent",function(t){var n=(0,tI.Bh)(t),r=k()(e.props,"".concat(n));n&&w()(r)&&r(/.*touch.*/i.test(n)?e.getMouseInfo(t.changedTouches[0]):e.getMouseInfo(t),t)}),na(e9(e),"handleClick",function(t){var n=e.props.onClick,r=e.getMouseInfo(t);if(r){var o=ni(ni({},r),{},{isTooltipActive:!0});e.setState(o),e.triggerSyncEvent(o),w()(n)&&n(o,t)}}),na(e9(e),"handleMouseDown",function(t){var n=e.props.onMouseDown;w()(n)&&n(e.getMouseInfo(t),t)}),na(e9(e),"handleMouseUp",function(t){var n=e.props.onMouseUp;w()(n)&&n(e.getMouseInfo(t),t)}),na(e9(e),"handleTouchMove",function(t){null!=t.changedTouches&&t.changedTouches.length>0&&e.handleMouseMove(t.changedTouches[0])}),na(e9(e),"handleTouchStart",function(t){null!=t.changedTouches&&t.changedTouches.length>0&&e.handleMouseDown(t.changedTouches[0])}),na(e9(e),"handleTouchEnd",function(t){null!=t.changedTouches&&t.changedTouches.length>0&&e.handleMouseUp(t.changedTouches[0])}),na(e9(e),"verticalCoordinatesGenerator",function(t,e){var n=t.xAxis,r=t.width,o=t.height,i=t.offset;return(0,t9.Rf)(tc(ni(ni(ni({},t7.defaultProps),n),{},{ticks:(0,t9.uY)(n,!0),viewBox:{x:0,y:0,width:r,height:o}})),i.left,i.left+i.width,e)}),na(e9(e),"horizontalCoordinatesGenerator",function(t,e){var n=t.yAxis,r=t.width,o=t.height,i=t.offset;return(0,t9.Rf)(tc(ni(ni(ni({},t7.defaultProps),n),{},{ticks:(0,t9.uY)(n,!0),viewBox:{x:0,y:0,width:r,height:o}})),i.top,i.top+i.height,e)}),na(e9(e),"axesTicksGenerator",function(t){return(0,t9.uY)(t,!0)}),na(e9(e),"renderCursor",function(t){var n,r,o=e.state,a=o.isTooltipActive,u=o.activeCoordinate,c=o.activePayload,l=o.offset,s=o.activeTooltipIndex,f=o.tooltipAxisBandSize,p=e.getTooltipEventType();if(!t||!t.props.cursor||!a||!u||"ScatterChart"!==i&&"axis"!==p)return null;var h=e.props.layout,d=tN.H;if("ScatterChart"===i)r=u,d=tU;else if("BarChart"===i)n=f/2,r={stroke:"none",fill:"#ccc",x:"horizontal"===h?u.x-n:l.left+.5,y:"horizontal"===h?l.top+.5:u.y-n,width:"horizontal"===h?f:l.width-1,height:"horizontal"===h?l.height-1:f},d=tq.A;else if("radial"===h){var y=$(u),v=y.cx,m=y.cy,g=y.radius;r={cx:v,cy:m,startAngle:y.startAngle,endAngle:y.endAngle,innerRadius:g,outerRadius:g},d=tF.L}else r={points:function(t,e,n){var r,o,i,a;if("horizontal"===t)i=r=e.x,o=n.top,a=n.top+n.height;else if("vertical"===t)a=o=e.y,r=n.left,i=n.left+n.width;else if(null!=e.cx&&null!=e.cy){if("centric"!==t)return $(e);var u=e.cx,c=e.cy,l=e.innerRadius,s=e.outerRadius,f=e.angle,p=(0,F.op)(u,c,l,f),h=(0,F.op)(u,c,s,f);r=p.x,o=p.y,i=h.x,a=h.y}return[{x:r,y:o},{x:i,y:a}]}(h,u,l)},d=tN.H;var b=t.key||"_recharts-cursor",x=ni(ni(ni(ni({stroke:"#ccc",pointerEvents:"none"},l),r),(0,tI.L6)(t.props.cursor)),{},{payload:c,payloadIndex:s,key:b,className:"recharts-tooltip-cursor"});return(0,R.isValidElement)(t.props.cursor)?(0,R.cloneElement)(t.props.cursor,x):(0,R.createElement)(d,x)}),na(e9(e),"renderPolarAxis",function(t,n,r){var o=k()(t,"type.axisType"),i=k()(e.state,"".concat(o,"Map")),a=i&&i[t.props["".concat(o,"Id")]];return(0,R.cloneElement)(t,ni(ni({},a),{},{className:o,key:t.key||"".concat(n,"-").concat(r),ticks:(0,t9.uY)(a,!0)}))}),na(e9(e),"renderXAxis",function(t,n,r){var o=e.state.xAxisMap[t.props.xAxisId];return e.renderAxis(o,t,n,r)}),na(e9(e),"renderYAxis",function(t,n,r){var o=e.state.yAxisMap[t.props.yAxisId];return e.renderAxis(o,t,n,r)}),na(e9(e),"renderGrid",function(t){var n=e.state,r=n.xAxisMap,o=n.yAxisMap,i=n.offset,a=e.props,u=a.width,c=a.height,l=(0,z.Kt)(r),s=x()(o,function(t){return g()(t.domain,ns)})||(0,z.Kt)(o),f=t.props||{};return(0,R.cloneElement)(t,{key:t.key||"grid",x:(0,z.hj)(f.x)?f.x:i.left,y:(0,z.hj)(f.y)?f.y:i.top,width:(0,z.hj)(f.width)?f.width:i.width,height:(0,z.hj)(f.height)?f.height:i.height,xAxis:l,yAxis:s,offset:i,chartWidth:u,chartHeight:c,verticalCoordinatesGenerator:f.verticalCoordinatesGenerator||e.verticalCoordinatesGenerator,horizontalCoordinatesGenerator:f.horizontalCoordinatesGenerator||e.horizontalCoordinatesGenerator})}),na(e9(e),"renderPolarGrid",function(t){var n=t.props,r=n.radialLines,o=n.polarAngles,i=n.polarRadius,a=e.state,u=a.radiusAxisMap,c=a.angleAxisMap,l=(0,z.Kt)(u),s=(0,z.Kt)(c),f=s.cx,p=s.cy,h=s.innerRadius,d=s.outerRadius;return(0,R.cloneElement)(t,{polarAngles:L()(o)?o:(0,t9.uY)(s,!0).map(function(t){return t.coordinate}),polarRadius:L()(i)?i:(0,t9.uY)(l,!0).map(function(t){return t.coordinate}),cx:f,cy:p,innerRadius:h,outerRadius:d,key:t.key||"polar-grid",radialLines:r})}),na(e9(e),"renderLegend",function(){var t=e.state.formattedGraphicalItems,n=e.props,r=n.children,o=n.width,i=n.height,a=e.props.margin||{},u=o-(a.left||0)-(a.right||0),c=(0,eb.z)({children:r,formattedGraphicalItems:t,legendWidth:u,legendContent:p});if(!c)return null;var l=c.item,s=e5(c,e1);return(0,R.cloneElement)(l,ni(ni({},s),{},{chartWidth:o,chartHeight:i,margin:a,onBBoxUpdate:e.handleLegendBBoxUpdate}))}),na(e9(e),"renderTooltip",function(){var t=e.props.children,n=(0,tI.sP)(t,tT);if(!n)return null;var r=e.state,o=r.isTooltipActive,i=r.activeCoordinate,a=r.activePayload,u=r.activeLabel,c=r.offset;return(0,R.cloneElement)(n,{viewBox:ni(ni({},c),{},{x:c.left,y:c.top}),active:o,label:u,payload:o?a:[],coordinate:i})}),na(e9(e),"renderBrush",function(t){var n=e.props,r=n.margin,o=n.data,i=e.state,a=i.offset,u=i.dataStartIndex,c=i.dataEndIndex,l=i.updateId;return(0,R.cloneElement)(t,{key:t.key||"_recharts-brush",onChange:(0,t9.DO)(e.handleBrushChange,null,t.props.onChange),data:o,x:(0,z.hj)(t.props.x)?t.props.x:a.left,y:(0,z.hj)(t.props.y)?t.props.y:a.top+a.height+a.brushBottom-(r.bottom||0),width:(0,z.hj)(t.props.width)?t.props.width:a.width,startIndex:u,endIndex:c,updateId:"brush-".concat(l)})}),na(e9(e),"renderReferenceElement",function(t,n,r){if(!t)return null;var o=e9(e).clipPathId,i=e.state,a=i.xAxisMap,u=i.yAxisMap,c=i.offset,l=t.props,s=l.xAxisId,f=l.yAxisId;return(0,R.cloneElement)(t,{key:t.key||"".concat(n,"-").concat(r),xAxis:a[s],yAxis:u[f],viewBox:{x:c.left,y:c.top,width:c.width,height:c.height},clipPathId:o})}),na(e9(e),"renderActivePoints",function(t){var e=t.item,n=t.activePoint,r=t.basePoint,o=t.childIndex,i=t.isRange,u=[],c=e.props.key,l=e.item.props,s=l.activeDot,f=ni(ni({index:o,dataKey:l.dataKey,cx:n.x,cy:n.y,r:4,fill:(0,t9.fk)(e.item),strokeWidth:2,stroke:"#fff",payload:n.payload,value:n.value,key:"".concat(c,"-activePoint-").concat(o)},(0,tI.L6)(s)),(0,t$.Ym)(s));return u.push(a.renderActiveDot(s,f)),r?u.push(a.renderActiveDot(s,ni(ni({},f),{},{cx:r.x,cy:r.y,key:"".concat(c,"-basePoint-").concat(o)}))):i&&u.push(null),u}),na(e9(e),"renderGraphicChild",function(t,n,r){var o=e.filterFormatItem(t,n,r);if(!o)return null;var i=e.getTooltipEventType(),a=e.state,u=a.isTooltipActive,c=a.tooltipAxis,l=a.activeTooltipIndex,s=a.activeLabel,f=e.props.children,p=(0,tI.sP)(f,tT),h=o.props,d=h.points,y=h.isRange,v=h.baseLine,m=o.item.props,g=m.activeDot,b=m.hide,x=m.activeBar,O=m.activeShape,w={};"axis"!==i&&p&&"click"===p.props.trigger?w={onClick:(0,t9.DO)(e.handleItemMouseEnter,null,t.props.onCLick)}:"axis"!==i&&(w={onMouseLeave:(0,t9.DO)(e.handleItemMouseLeave,null,t.props.onMouseLeave),onMouseEnter:(0,t9.DO)(e.handleItemMouseEnter,null,t.props.onMouseEnter)});var j=(0,R.cloneElement)(t,ni(ni({},o.props),w));if(!b&&u&&p&&(g||x||O)){if(l>=0){if(c.dataKey&&!c.allowDuplicatedCategory){var S="function"==typeof c.dataKey?function(t){return"function"==typeof c.dataKey?c.dataKey(t.payload):null}:"payload.".concat(c.dataKey.toString());A=(0,z.Ap)(d,S,s),P=y&&v&&(0,z.Ap)(v,S,s)}else A=null==d?void 0:d[l],P=y&&v&&v[l];if(O||x){var E=void 0!==t.props.activeIndex?t.props.activeIndex:l;return[(0,R.cloneElement)(t,ni(ni(ni({},o.props),w),{},{activeIndex:E})),null,null]}if(!_()(A))return[j].concat(ne(e.renderActivePoints({item:o,activePoint:A,basePoint:P,childIndex:l,isRange:y})))}else{var A,P,k,M=(null!==(k=e.getItemByXY(e.state.activeCoordinate))&&void 0!==k?k:{graphicalItem:j}).graphicalItem,T=M.item,C=M.childIndex,N=ni(ni(ni({},o.props),w),{},{activeIndex:C});return[(0,R.cloneElement)(void 0===T?t:T,N),null,null]}}return y?[j,null,null]:[j,null]}),na(e9(e),"renderCustomized",function(t,n,r){return(0,R.cloneElement)(t,ni(ni({key:"recharts-customized-".concat(r)},e.props),e.state))}),e.uniqueChartId=_()(t.id)?(0,z.EL)("recharts"):t.id,e.clipPathId="".concat(e.uniqueChartId,"-clip"),t.throttleDelay&&(e.triggeredAfterMouseMove=S()(e.triggeredAfterMouseMove,t.throttleDelay)),e.state={},e}return n=[{key:"componentDidMount",value:function(){var t,e;_()(this.props.syncId)||this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:null!==(t=this.props.margin.left)&&void 0!==t?t:0,top:null!==(e=this.props.margin.top)&&void 0!==e?e:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.handleMouseMove,layout:this.props.layout})}},{key:"getSnapshotBeforeUpdate",value:function(t,e){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==e.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==t.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==t.margin){var n,r;this.accessibilityManager.setDetails({offset:{left:null!==(n=this.props.margin.left)&&void 0!==n?n:0,top:null!==(r=this.props.margin.top)&&void 0!==r?r:0}})}return null}},{key:"componentDidUpdate",value:function(t){_()(t.syncId)&&!_()(this.props.syncId)&&this.addListener(),!_()(t.syncId)&&_()(this.props.syncId)&&this.removeListener()}},{key:"componentWillUnmount",value:function(){this.clearDefer(),_()(this.props.syncId)||this.removeListener(),this.cancelThrottledTriggerAfterMouseMove()}},{key:"cancelThrottledTriggerAfterMouseMove",value:function(){"function"==typeof this.triggeredAfterMouseMove.cancel&&this.triggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var t=(0,tI.sP)(this.props.children,tT);if(t&&I()(t.props.shared)){var e=t.props.shared?"axis":"item";return s.indexOf(e)>=0?e:c}return c}},{key:"getMouseInfo",value:function(t){if(!this.container)return null;var e,n=(0,W.os)(this.container),r=(0,W.IR)(t,n),o=this.container,i=null==o||null===(e=o.getBoundingClientRect())||void 0===e?void 0:e.width,a=o.offsetWidth,u=this.inRange(r.chartX,r.chartY,i/a||1);if(!u)return null;var c=this.state,l=c.xAxisMap,s=c.yAxisMap;if("axis"!==this.getTooltipEventType()&&l&&s){var f=(0,z.Kt)(l).scale,p=(0,z.Kt)(s).scale,h=f&&f.invert?f.invert(r.chartX):null,d=p&&p.invert?p.invert(r.chartY):null;return ni(ni({},r),{},{xValue:h,yValue:d})}var y=ny(this.state,this.props.data,this.props.layout,u);return y?ni(ni({},r),y):null}},{key:"inRange",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=this.props.layout,o=t/n,i=e/n;if("horizontal"===r||"vertical"===r){var a=this.state.offset;return o>=a.left&&o<=a.left+a.width&&i>=a.top&&i<=a.top+a.height?{x:o,y:i}:null}var u=this.state,c=u.angleAxisMap,l=u.radiusAxisMap;if(c&&l){var s=(0,z.Kt)(c);return(0,F.z3)({x:o,y:i},s)}return null}},{key:"parseEventsOfWrapper",value:function(){var t=this.props.children,e=this.getTooltipEventType(),n=(0,tI.sP)(t,tT),r={};return n&&"axis"===e&&(r="click"===n.props.trigger?{onClick:this.handleClick}:{onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd}),ni(ni({},(0,t$.Ym)(this.props,this.handleOuterEvent)),r)}},{key:"addListener",value:function(){eY.on(eH,this.handleReceiveSyncEvent),eY.setMaxListeners&&eY._maxListeners&&eY.setMaxListeners(eY._maxListeners+1)}},{key:"removeListener",value:function(){eY.removeListener(eH,this.handleReceiveSyncEvent),eY.setMaxListeners&&eY._maxListeners&&eY.setMaxListeners(eY._maxListeners-1)}},{key:"triggerSyncEvent",value:function(t){var e=this.props.syncId;_()(e)||eY.emit(eH,e,this.uniqueChartId,t)}},{key:"applySyncEvent",value:function(t){var e=this.props,n=e.layout,r=e.syncMethod,o=this.state.updateId,i=t.dataStartIndex,a=t.dataEndIndex;if(_()(t.dataStartIndex)&&_()(t.dataEndIndex)){if(_()(t.activeTooltipIndex))this.setState(t);else{var u=t.chartX,c=t.chartY,l=t.activeTooltipIndex,s=this.state,f=s.offset,p=s.tooltipTicks;if(!f)return;if("function"==typeof r)l=r(p,t);else if("value"===r){l=-1;for(var h=0;ht.length)&&(e=t.length);for(var n=0,r=Array(e);n=0?1:-1;"insideStart"===i?(r=g+S*u,o=x):"insideEnd"===i?(r=b-S*u,o=!x):"end"===i&&(r=b+S*u,o=x),o=j<=0?o:!o;var E=(0,y.op)(p,h,w,r),A=(0,y.op)(p,h,w,r+(o?1:-1)*359),P="M".concat(E.x,",").concat(E.y,"\n A").concat(w,",").concat(w,",0,1,").concat(o?0:1,",\n ").concat(A.x,",").concat(A.y),k=c()(t.id)?(0,d.EL)("recharts-radial-line-"):t.id;return l.createElement("text",O({},n,{dominantBaseline:"central",className:f()("recharts-radial-bar-label",s)}),l.createElement("defs",null,l.createElement("path",{id:k,d:P})),l.createElement("textPath",{xlinkHref:"#".concat(k)},e))},S=function(t){var e=t.viewBox,n=t.offset,r=t.position,o=e.cx,i=e.cy,a=e.innerRadius,u=e.outerRadius,c=(e.startAngle+e.endAngle)/2;if("outside"===r){var l=(0,y.op)(o,i,u+n,c),s=l.x;return{x:s,y:l.y,textAnchor:s>=o?"start":"end",verticalAnchor:"middle"}}if("center"===r)return{x:o,y:i,textAnchor:"middle",verticalAnchor:"middle"};if("centerTop"===r)return{x:o,y:i,textAnchor:"middle",verticalAnchor:"start"};if("centerBottom"===r)return{x:o,y:i,textAnchor:"middle",verticalAnchor:"end"};var f=(0,y.op)(o,i,(a+u)/2,c);return{x:f.x,y:f.y,textAnchor:"middle",verticalAnchor:"middle"}},E=function(t){var e=t.viewBox,n=t.parentViewBox,r=t.offset,i=t.position,a=e.x,u=e.y,c=e.width,l=e.height,s=l>=0?1:-1,f=s*r,p=s>0?"end":"start",h=s>0?"start":"end",y=c>=0?1:-1,v=y*r,m=y>0?"end":"start",g=y>0?"start":"end";if("top"===i)return x(x({},{x:a+c/2,y:u-s*r,textAnchor:"middle",verticalAnchor:p}),n?{height:Math.max(u-n.y,0),width:c}:{});if("bottom"===i)return x(x({},{x:a+c/2,y:u+l+f,textAnchor:"middle",verticalAnchor:h}),n?{height:Math.max(n.y+n.height-(u+l),0),width:c}:{});if("left"===i){var b={x:a-v,y:u+l/2,textAnchor:m,verticalAnchor:"middle"};return x(x({},b),n?{width:Math.max(b.x-n.x,0),height:l}:{})}if("right"===i){var O={x:a+c+v,y:u+l/2,textAnchor:g,verticalAnchor:"middle"};return x(x({},O),n?{width:Math.max(n.x+n.width-O.x,0),height:l}:{})}var w=n?{width:c,height:l}:{};return"insideLeft"===i?x({x:a+v,y:u+l/2,textAnchor:g,verticalAnchor:"middle"},w):"insideRight"===i?x({x:a+c-v,y:u+l/2,textAnchor:m,verticalAnchor:"middle"},w):"insideTop"===i?x({x:a+c/2,y:u+f,textAnchor:"middle",verticalAnchor:h},w):"insideBottom"===i?x({x:a+c/2,y:u+l-f,textAnchor:"middle",verticalAnchor:p},w):"insideTopLeft"===i?x({x:a+v,y:u+f,textAnchor:g,verticalAnchor:h},w):"insideTopRight"===i?x({x:a+c-v,y:u+f,textAnchor:m,verticalAnchor:h},w):"insideBottomLeft"===i?x({x:a+v,y:u+l-f,textAnchor:g,verticalAnchor:p},w):"insideBottomRight"===i?x({x:a+c-v,y:u+l-f,textAnchor:m,verticalAnchor:p},w):o()(i)&&((0,d.hj)(i.x)||(0,d.hU)(i.x))&&((0,d.hj)(i.y)||(0,d.hU)(i.y))?x({x:a+(0,d.h1)(i.x,c),y:u+(0,d.h1)(i.y,l),textAnchor:"end",verticalAnchor:"end"},w):x({x:a+c/2,y:u+l/2,textAnchor:"middle",verticalAnchor:"middle"},w)};function A(t){var e,n=t.offset,r=x({offset:void 0===n?5:n},function(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(t,m)),o=r.viewBox,i=r.position,u=r.value,s=r.children,y=r.content,v=r.className,g=r.textBreakAll;if(!o||c()(u)&&c()(s)&&!(0,l.isValidElement)(y)&&!a()(y))return null;if((0,l.isValidElement)(y))return(0,l.cloneElement)(y,r);if(a()(y)){if(e=(0,l.createElement)(y,r),(0,l.isValidElement)(e))return e}else e=w(r);var b="cx"in o&&(0,d.hj)(o.cx),A=(0,h.L6)(r,!0);if(b&&("insideStart"===i||"insideEnd"===i||"end"===i))return j(r,e,A);var P=b?S(r):E(r);return l.createElement(p.x,O({className:f()("recharts-label",void 0===v?"":v)},A,P,{breakAll:g}),e)}A.displayName="Label";var P=function(t){var e=t.cx,n=t.cy,r=t.angle,o=t.startAngle,i=t.endAngle,a=t.r,u=t.radius,c=t.innerRadius,l=t.outerRadius,s=t.x,f=t.y,p=t.top,h=t.left,y=t.width,v=t.height,m=t.clockWise,g=t.labelViewBox;if(g)return g;if((0,d.hj)(y)&&(0,d.hj)(v)){if((0,d.hj)(s)&&(0,d.hj)(f))return{x:s,y:f,width:y,height:v};if((0,d.hj)(p)&&(0,d.hj)(h))return{x:p,y:h,width:y,height:v}}return(0,d.hj)(s)&&(0,d.hj)(f)?{x:s,y:f,width:0,height:0}:(0,d.hj)(e)&&(0,d.hj)(n)?{cx:e,cy:n,startAngle:o||r||0,endAngle:i||r||0,innerRadius:c||0,outerRadius:l||u||a||0,clockWise:m}:t.viewBox?t.viewBox:{}};A.parseViewBox=P,A.renderCallByParent=function(t,e){var n,r,i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(!t||!t.children&&i&&!t.label)return null;var u=t.children,c=P(t),s=(0,h.NN)(u,A).map(function(t,n){return(0,l.cloneElement)(t,{viewBox:e||c,key:"label-".concat(n)})});return i?[(n=t.label,r=e||c,n?!0===n?l.createElement(A,{key:"label-implicit",viewBox:r}):(0,d.P2)(n)?l.createElement(A,{key:"label-implicit",viewBox:r,value:n}):(0,l.isValidElement)(n)?n.type===A?(0,l.cloneElement)(n,{key:"label-implicit",viewBox:r}):l.createElement(A,{key:"label-implicit",content:n,viewBox:r}):a()(n)?l.createElement(A,{key:"label-implicit",content:n,viewBox:r}):o()(n)?l.createElement(A,O({viewBox:r},n,{key:"label-implicit"})):null:null)].concat(function(t){if(Array.isArray(t))return g(t)}(s)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(s)||function(t,e){if(t){if("string"==typeof t)return g(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return g(t,e)}}(s)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()):s}},33558:function(t,e,n){"use strict";n.d(e,{D:function(){return D}});var r=n(23560),o=n.n(r),i=n(45578),a=n.n(i),u=n(67294),c=n(94184),l=n.n(c),s=n(6213),f=n(20514),p=n(21138),h=n(79896);function d(t){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function y(){return(y=Object.assign?Object.assign.bind():function(t){for(var e=1;e');var O=e.inactive?c:e.color;return u.createElement("li",y({className:g,style:d,key:"legend-item-".concat(n)},(0,h.bw)(t.props,e,n)),u.createElement(f.T,{width:r,height:r,viewBox:p,style:v},t.renderIcon(e)),u.createElement("span",{className:"recharts-legend-item-text",style:{color:O}},m?m(b,e,n):b))})}},{key:"render",value:function(){var t=this.props,e=t.payload,n=t.layout,r=t.align;return e&&e.length?u.createElement("ul",{className:"recharts-default-legend",style:{padding:0,margin:0,textAlign:"horizontal"===n?r:"left"}},this.renderItems()):null}}],m(a.prototype,n),r&&m(a,r),Object.defineProperty(a,"prototype",{writable:!1}),a}(u.PureComponent);x(w,"displayName","Legend"),x(w,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var j=n(69055);function S(t){return(S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var E=["ref"];function A(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function P(t){for(var e=1;e=0&&n>=0?{width:e,height:n}:null}},{key:"getDefaultPosition",value:function(t){var e,n,r=this.props,o=r.layout,i=r.align,a=r.verticalAlign,u=r.margin,c=r.chartWidth,l=r.chartHeight;return t&&(void 0!==t.left&&null!==t.left||void 0!==t.right&&null!==t.right)||(e="center"===i&&"vertical"===o?{left:((c||0)-(this.getBBoxSnapshot()||{width:0}).width)/2}:"right"===i?{right:u&&u.right||0}:{left:u&&u.left||0}),t&&(void 0!==t.top&&null!==t.top||void 0!==t.bottom&&null!==t.bottom)||(n="middle"===a?{top:((l||0)-(this.getBBoxSnapshot()||{height:0}).height)/2}:"bottom"===a?{bottom:u&&u.bottom||0}:{top:u&&u.top||0}),P(P({},e),n)}},{key:"updateBBox",value:function(){var t=this.state,e=t.boxWidth,n=t.boxHeight,r=this.props.onBBoxUpdate;if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var o=this.wrapperNode.getBoundingClientRect();(Math.abs(o.width-e)>1||Math.abs(o.height-n)>1)&&this.setState({boxWidth:o.width,boxHeight:o.height},function(){r&&r(o)})}else(-1!==e||-1!==n)&&this.setState({boxWidth:-1,boxHeight:-1},function(){r&&r(null)})}},{key:"render",value:function(){var t=this,e=this.props,n=e.content,r=e.width,i=e.height,c=e.wrapperStyle,l=e.payloadUniqBy,s=e.payload,f=P(P({position:"absolute",width:r||"auto",height:i||"auto"},this.getDefaultPosition(c)),c);return u.createElement("div",{className:"recharts-legend-wrapper",style:f,ref:function(e){t.wrapperNode=e}},function(t,e){if(u.isValidElement(t))return u.cloneElement(t,e);if(o()(t))return u.createElement(t,e);e.ref;var n=function(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(e,E);return u.createElement(w,n)}(n,P(P({},this.props),{},{payload:!0===l?a()(s,I):o()(l)?a()(s,l):s})))}}],r=[{key:"getWithHeight",value:function(t,e){var n=t.props.layout;return"vertical"===n&&(0,j.hj)(t.props.height)?{height:t.props.height}:"horizontal"===n?{width:t.props.width||e}:null}}],n&&k(c.prototype,n),r&&k(c,r),Object.defineProperty(c,"prototype",{writable:!1}),c}(u.PureComponent);C(D,"displayName","Legend"),C(D,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"})},84642:function(t,e,n){"use strict";n.d(e,{x:function(){return B}});var r=n(14293),o=n.n(r),i=n(67294),a=n(94184),u=n.n(a),c=n(69055),l=n(47523),s=n(52017),f=n(41209);function p(t){return(p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function h(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,u=[],c=!0,l=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(u.push(r.value),u.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(t,e)||function(t,e){if(t){if("string"==typeof t)return d(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(t,e)}}(t,e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function _(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,u=[],c=!0,l=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(u.push(r.value),u.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(t,e)||function(t,e){if(t){if("string"==typeof t)return T(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return T(t,e)}}(t,e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n0&&void 0!==arguments[0]?arguments[0]:[];return t.reduce(function(t,e){var i=e.word,a=e.width,u=t[t.length-1];return u&&(null==r||o||u.width+a+na||e.reduce(function(t,e){return t.width>e.width?t:e}).width>Number(r),e]},y=0,v=u.length-1,m=0;y<=v&&m<=u.length-1;){var g=Math.floor((y+v)/2),b=_(d(g-1),2),x=b[0],O=b[1],w=_(d(g),1)[0];if(x||w||(y=g+1),x&&w&&(v=g-1),!x&&w){i=O;break}m++}return i||h},D=function(t){return[{words:o()(t)?[]:t.toString().split(C)}]},L=function(t){var e=t.width,n=t.scaleToFit,r=t.children,o=t.style,i=t.breakAll,a=t.maxLines;if((e||n)&&!l.x.isSsr){var u=N({breakAll:i,children:r,style:o});if(!u)return D(r);var c=u.wordsWithComputedWidth,s=u.spaceWidth;return I({breakAll:i,children:r,maxLines:a,style:o},c,s,e,n)}return D(r)},R="#808080",B=function(t){var e,n=t.x,r=void 0===n?0:n,o=t.y,a=void 0===o?0:o,l=t.lineHeight,f=void 0===l?"1em":l,p=t.capHeight,h=void 0===p?"0.71em":p,d=t.scaleToFit,y=void 0!==d&&d,v=t.textAnchor,m=t.verticalAnchor,g=t.fill,b=void 0===g?R:g,x=M(t,A),O=(0,i.useMemo)(function(){return L({breakAll:x.breakAll,children:x.children,maxLines:x.maxLines,scaleToFit:y,style:x.style,width:x.width})},[x.breakAll,x.children,x.maxLines,y,x.style,x.width]),w=x.dx,j=x.dy,S=x.angle,_=x.className,T=x.breakAll,C=M(x,P);if(!(0,c.P2)(r)||!(0,c.P2)(a))return null;var N=r+((0,c.hj)(w)?w:0),I=a+((0,c.hj)(j)?j:0);switch(void 0===m?"end":m){case"start":e=E("calc(".concat(h,")"));break;case"middle":e=E("calc(".concat((O.length-1)/2," * -").concat(f," + (").concat(h," / 2))"));break;default:e=E("calc(".concat(O.length-1," * -").concat(f,")"))}var D=[];if(y){var B=O[0].width,U=x.width;D.push("scale(".concat(((0,c.hj)(U)?U/B:1)/B,")"))}return S&&D.push("rotate(".concat(S,", ").concat(N,", ").concat(I,")")),D.length&&(C.transform=D.join(" ")),i.createElement("text",k({},(0,s.L6)(C,!0),{x:N,y:I,className:u()("recharts-text",_),textAnchor:void 0===v?"start":v,fill:b.includes("url")?R:b}),O.map(function(t,n){return i.createElement("tspan",{x:N,dy:0===n?e:f,key:n},t.words.join(T?"":" "))}))}},48710:function(t,e,n){"use strict";n.d(e,{m:function(){return l}});var r=n(67294),o=n(94184),i=n.n(o),a=n(52017),u=["children","className"];function c(){return(c=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(t,u),s=i()("recharts-layer",o);return r.createElement("g",c({className:s},(0,a.L6)(l,!0),{ref:e}),n)})},20514:function(t,e,n){"use strict";n.d(e,{T:function(){return l}});var r=n(67294),o=n(94184),i=n.n(o),a=n(52017),u=["children","width","height","viewBox","className","style"];function c(){return(c=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(t,u),h=l||{width:n,height:o,x:0,y:0},d=i()("recharts-surface",s);return r.createElement("svg",c({},(0,a.L6)(p,!0,"svg"),{className:d,width:n,height:o,style:f,viewBox:"".concat(h.x," ").concat(h.y," ").concat(h.width," ").concat(h.height)}),r.createElement("title",null,t.title),r.createElement("desc",null,t.desc),e)}},34816:function(t,e,n){"use strict";n.d(e,{b:function(){return tt}});var r=n(18446),o=n.n(r),i=n(27361),a=n.n(i),u=n(23560),c=n.n(u),l=n(14293),s=n.n(l),f=n(67294),p=n(93801),h=n(94184),d=n.n(h),y=n(48710),v=n(66338),m=n(84642),g=n(25048),b=n(13218),x=n.n(b),O=n(10928),w=n.n(O),j=n(1469),S=n.n(j),E=n(52017),A=n(35552);function P(t){return(P="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var k=["valueAccessor"],M=["data","dataKey","clockWise","id","textBreakAll"];function _(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var D=function(t){return S()(t.value)?w()(t.value):t.value};function L(t){var e=t.valueAccessor,n=void 0===e?D:e,r=I(t,k),o=r.data,i=r.dataKey,a=r.clockWise,u=r.id,c=r.textBreakAll,l=I(r,M);return o&&o.length?f.createElement(y.m,{className:"recharts-label-list"},o.map(function(t,e){var r=s()(i)?n(t,e):(0,A.F$)(t&&t.payload,i),o=s()(u)?{}:{id:"".concat(u,"-").concat(e)};return f.createElement(g._,T({},(0,E.L6)(t,!0),l,o,{parentViewBox:t.parentViewBox,index:e,value:r,textBreakAll:c,viewBox:g._.parseViewBox(s()(a)?t:N(N({},t),{},{clockWise:a})),key:"label-".concat(e)}))})):null}L.displayName="LabelList",L.renderCallByParent=function(t,e){var n,r=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(!t||!t.children&&r&&!t.label)return null;var o=t.children,i=(0,E.NN)(o,L).map(function(t,n){return(0,f.cloneElement)(t,{data:e,key:"labelList-".concat(n)})});return r?[(n=t.label)?!0===n?f.createElement(L,{key:"labelList-implicit",data:e}):f.isValidElement(n)||c()(n)?f.createElement(L,{key:"labelList-implicit",data:e,content:n}):x()(n)?f.createElement(L,T({data:e},n,{key:"labelList-implicit"})):null:null].concat(function(t){if(Array.isArray(t))return _(t)}(i)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(i)||function(t,e){if(t){if("string"==typeof t)return _(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _(t,e)}}(i)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()):i};var R=n(43815),B=n(47523),U=n(40048),F=n(69055),$=n(6213),z=n(79896),W=n(49465);function q(t){return(q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function G(){return(G=Object.assign?Object.assign.bind():function(t){for(var e=1;e0?a()(t,"paddingAngle",0):0;if(n){var c=(0,F.k4)(n.endAngle-n.startAngle,t.endAngle-t.startAngle),l=Y(Y({},t),{},{startAngle:i+u,endAngle:i+c(r)+u});o.push(l),i=l.endAngle}else{var f=t.endAngle,p=t.startAngle,h=(0,F.k4)(0,f-p)(r),d=Y(Y({},t),{},{startAngle:i+u,endAngle:i+h+u});o.push(d),i=d.endAngle}}),f.createElement(y.m,null,t.renderSectorsStatically(o))})}},{key:"attachKeyboardHandlers",value:function(t){var e=this;t.onkeydown=function(t){if(!t.altKey)switch(t.key){case"ArrowLeft":var n=++e.state.sectorToFocus%e.sectorRefs.length;e.sectorRefs[n].focus(),e.setState({sectorToFocus:n});break;case"ArrowRight":var r=--e.state.sectorToFocus<0?e.sectorRefs.length-1:e.state.sectorToFocus%e.sectorRefs.length;e.sectorRefs[r].focus(),e.setState({sectorToFocus:r});break;case"Escape":e.sectorRefs[e.state.sectorToFocus].blur(),e.setState({sectorToFocus:0})}}}},{key:"renderSectors",value:function(){var t=this.props,e=t.sectors,n=t.isAnimationActive,r=this.state.prevSectors;return n&&e&&e.length&&(!r||!o()(r,e))?this.renderSectorsWithAnimation():this.renderSectorsStatically(e)}},{key:"componentDidMount",value:function(){this.pieRef&&this.attachKeyboardHandlers(this.pieRef)}},{key:"render",value:function(){var t=this,e=this.props,n=e.hide,r=e.sectors,o=e.className,i=e.label,a=e.cx,u=e.cy,c=e.innerRadius,l=e.outerRadius,s=e.isAnimationActive,p=this.state.isAnimationFinished;if(n||!r||!r.length||!(0,F.hj)(a)||!(0,F.hj)(u)||!(0,F.hj)(c)||!(0,F.hj)(l))return null;var h=d()("recharts-pie",o);return f.createElement(y.m,{tabIndex:this.props.rootTabIndex,className:h,ref:function(e){t.pieRef=e}},this.renderSectors(),i&&this.renderLabels(r),g._.renderCallByParent(this.props,null,!1),(!s||p)&&L.renderCallByParent(this.props,r,!1))}}],r=[{key:"getDerivedStateFromProps",value:function(t,e){return e.prevIsAnimationActive!==t.isAnimationActive?{prevIsAnimationActive:t.isAnimationActive,prevAnimationId:t.animationId,curSectors:t.sectors,prevSectors:[],isAnimationFinished:!0}:t.isAnimationActive&&t.animationId!==e.prevAnimationId?{prevAnimationId:t.animationId,curSectors:t.sectors,prevSectors:e.curSectors,isAnimationFinished:!0}:t.sectors!==e.curSectors?{curSectors:t.sectors,isAnimationFinished:!0}:null}},{key:"getTextAnchor",value:function(t,e){return t>e?"start":t=360?O:O-1)*f,j=i.reduce(function(t,e){var n=(0,A.F$)(e,x,0);return t+((0,F.hj)(n)?n:0)},0);return j>0&&(e=i.map(function(t,e){var r,o=(0,A.F$)(t,x,0),i=(0,A.F$)(t,h,e),a=((0,F.hj)(o)?o:0)/j,l=(r=e?n.endAngle+(0,F.uY)(g)*f*(0!==o?1:0):c)+(0,F.uY)(g)*((0!==o?v:0)+a*w),s=(r+l)/2,p=(m.innerRadius+m.outerRadius)/2,d=[{name:i,value:o,payload:t,dataKey:x,type:y}],b=(0,U.op)(m.cx,m.cy,p,s);return n=Y(Y(Y({percent:a,cornerRadius:u,name:i,tooltipPayload:d,midAngle:s,middleRadius:p,tooltipPosition:b},t),m),{},{value:(0,A.F$)(t,x),startAngle:r,endAngle:l,payload:t,paddingAngle:(0,F.uY)(g)*f})})),Y(Y({},m),{},{sectors:e,data:i})})},66338:function(t,e,n){"use strict";n.d(e,{H:function(){return V}});var r=n(1469),o=n.n(r),i=n(11700),a=n.n(i),u=n(23560),c=n.n(u),l=n(67294);function s(){}function f(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function p(t){this._context=t}function h(t){this._context=t}function d(t){this._context=t}p.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:f(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:f(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},h.prototype={areaStart:s,areaEnd:s,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:f(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},d.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:f(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};class y{constructor(t,e){this._context=t,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,e,t,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,t,this._y0,t,e)}this._x0=t,this._y0=e}}function v(t){this._context=t}function m(t){this._context=t}function g(t){return new m(t)}function b(t,e,n){var r=t._x1-t._x0,o=e-t._x1,i=(t._y1-t._y0)/(r||o<0&&-0),a=(n-t._y1)/(o||r<0&&-0);return((i<0?-1:1)+(a<0?-1:1))*Math.min(Math.abs(i),Math.abs(a),.5*Math.abs((i*o+a*r)/(r+o)))||0}function x(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function O(t,e,n){var r=t._x0,o=t._y0,i=t._x1,a=t._y1,u=(i-r)/3;t._context.bezierCurveTo(r+u,o+u*e,i-u,a-u*n,i,a)}function w(t){this._context=t}function j(t){this._context=new S(t)}function S(t){this._context=t}function E(t){this._context=t}function A(t){var e,n,r=t.length-1,o=Array(r),i=Array(r),a=Array(r);for(o[0]=0,i[0]=2,a[0]=t[0]+2*t[1],e=1;e=0;--e)o[e]=(a[e]-o[e+1])/i[e];for(e=0,i[r-1]=(t[r]+o[r-1])/2;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}};var k=n(94788),M=n(20309),_=n(5472);function T(t){return t[0]}function C(t){return t[1]}function N(t,e){var n=(0,M.Z)(!0),r=null,o=g,i=null,a=(0,_.d)(u);function u(u){var c,l,s,f=(u=(0,k.Z)(u)).length,p=!1;for(null==r&&(i=o(s=a())),c=0;c<=f;++c)!(c=f;--p)u.point(m[p],g[p]);u.lineEnd(),u.areaEnd()}}v&&(m[s]=+t(h,s,l),g[s]=+e(h,s,l),u.point(r?+r(h,s,l):m[s],n?+n(h,s,l):g[s]))}if(d)return u=null,d+""||null}function s(){return N().defined(o).curve(a).context(i)}return t="function"==typeof t?t:void 0===t?T:(0,M.Z)(+t),e="function"==typeof e?e:void 0===e?(0,M.Z)(0):(0,M.Z)(+e),n="function"==typeof n?n:void 0===n?C:(0,M.Z)(+n),l.x=function(e){return arguments.length?(t="function"==typeof e?e:(0,M.Z)(+e),r=null,l):t},l.x0=function(e){return arguments.length?(t="function"==typeof e?e:(0,M.Z)(+e),l):t},l.x1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:(0,M.Z)(+t),l):r},l.y=function(t){return arguments.length?(e="function"==typeof t?t:(0,M.Z)(+t),n=null,l):e},l.y0=function(t){return arguments.length?(e="function"==typeof t?t:(0,M.Z)(+t),l):e},l.y1=function(t){return arguments.length?(n=null==t?null:"function"==typeof t?t:(0,M.Z)(+t),l):n},l.lineX0=l.lineY0=function(){return s().x(t).y(e)},l.lineY1=function(){return s().x(t).y(n)},l.lineX1=function(){return s().x(r).y(e)},l.defined=function(t){return arguments.length?(o="function"==typeof t?t:(0,M.Z)(!!t),l):o},l.curve=function(t){return arguments.length?(a=t,null!=i&&(u=a(i)),l):a},l.context=function(t){return arguments.length?(null==t?i=u=null:u=a(i=t),l):i},l}var D=n(94184),L=n.n(D),R=n(79896),B=n(52017),U=n(69055);function F(t){return(F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function $(){return($=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n=0?1:-1,c=n>=0?1:-1,l=r>=0&&n>=0||r<0&&n<0?1:0;if(a>0&&o instanceof Array){for(var s=[0,0,0,0],f=0;f<4;f++)s[f]=o[f]>a?a:o[f];i="M".concat(t,",").concat(e+u*s[0]),s[0]>0&&(i+="A ".concat(s[0],",").concat(s[0],",0,0,").concat(l,",").concat(t+c*s[0],",").concat(e)),i+="L ".concat(t+n-c*s[1],",").concat(e),s[1]>0&&(i+="A ".concat(s[1],",").concat(s[1],",0,0,").concat(l,",\n ").concat(t+n,",").concat(e+u*s[1])),i+="L ".concat(t+n,",").concat(e+r-u*s[2]),s[2]>0&&(i+="A ".concat(s[2],",").concat(s[2],",0,0,").concat(l,",\n ").concat(t+n-c*s[2],",").concat(e+r)),i+="L ".concat(t+c*s[3],",").concat(e+r),s[3]>0&&(i+="A ".concat(s[3],",").concat(s[3],",0,0,").concat(l,",\n ").concat(t,",").concat(e+r-u*s[3])),i+="Z"}else if(a>0&&o===+o&&o>0){var p=Math.min(a,o);i="M ".concat(t,",").concat(e+u*p,"\n A ").concat(p,",").concat(p,",0,0,").concat(l,",").concat(t+c*p,",").concat(e,"\n L ").concat(t+n-c*p,",").concat(e,"\n A ").concat(p,",").concat(p,",0,0,").concat(l,",").concat(t+n,",").concat(e+u*p,"\n L ").concat(t+n,",").concat(e+r-u*p,"\n A ").concat(p,",").concat(p,",0,0,").concat(l,",").concat(t+n-c*p,",").concat(e+r,"\n L ").concat(t+c*p,",").concat(e+r,"\n A ").concat(p,",").concat(p,",0,0,").concat(l,",").concat(t,",").concat(e+r-u*p," Z")}else i="M ".concat(t,",").concat(e," h ").concat(n," v ").concat(r," h ").concat(-n," Z");return i},d=function(t,e){if(!t||!e)return!1;var n=t.x,r=t.y,o=e.x,i=e.y,a=e.width,u=e.height;return!!(Math.abs(a)>0&&Math.abs(u)>0)&&n>=Math.min(o,o+a)&&n<=Math.max(o,o+a)&&r>=Math.min(i,i+u)&&r<=Math.max(i,i+u)},y={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},v=function(t){var e,n=p(p({},y),t),o=(0,r.useRef)(),c=function(t){if(Array.isArray(t))return t}(e=(0,r.useState)(-1))||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,u=[],c=!0,l=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(u.push(r.value),u.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(e,2)||function(t,e){if(t){if("string"==typeof t)return s(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(t,e)}}(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),f=c[0],d=c[1];(0,r.useEffect)(function(){if(o.current&&o.current.getTotalLength)try{var t=o.current.getTotalLength();t&&d(t)}catch(t){}},[]);var v=n.x,m=n.y,g=n.width,b=n.height,x=n.radius,O=n.className,w=n.animationEasing,j=n.animationDuration,S=n.animationBegin,E=n.isAnimationActive,A=n.isUpdateAnimationActive;if(v!==+v||m!==+m||g!==+g||b!==+b||0===g||0===b)return null;var P=i()("recharts-rectangle",O);return A?r.createElement(a.ZP,{canBegin:f>0,from:{width:g,height:b,x:v,y:m},to:{width:g,height:b,x:v,y:m},duration:j,animationEasing:w,isActive:A},function(t){var e=t.width,i=t.height,c=t.x,s=t.y;return r.createElement(a.ZP,{canBegin:f>0,from:"0px ".concat(-1===f?1:f,"px"),to:"".concat(f,"px 0px"),attributeName:"strokeDasharray",begin:S,duration:j,isActive:E,easing:w},r.createElement("path",l({},(0,u.L6)(n,!0),{className:P,d:h(c,s,e,i,x),ref:o})))}):r.createElement("path",l({},(0,u.L6)(n,!0),{className:P,d:h(v,m,g,b,x)}))}},45108:function(t,e,n){"use strict";n.d(e,{L:function(){return m}});var r=n(67294),o=n(94184),i=n.n(o),a=n(52017),u=n(40048),c=n(69055);function l(t){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function s(){return(s=Object.assign?Object.assign.bind():function(t){for(var e=1;e180),",").concat(+(a>s),",\n ").concat(p.x,",").concat(p.y,"\n ");if(o>0){var d=(0,u.op)(n,r,o,a),y=(0,u.op)(n,r,o,s);h+="L ".concat(y.x,",").concat(y.y,"\n A ").concat(o,",").concat(o,",0,\n ").concat(+(Math.abs(l)>180),",").concat(+(a<=s),",\n ").concat(d.x,",").concat(d.y," Z")}else h+="L ".concat(n,",").concat(r," Z");return h},y=function(t){var e=t.cx,n=t.cy,r=t.innerRadius,o=t.outerRadius,i=t.cornerRadius,a=t.forceCornerRadius,u=t.cornerIsExternal,l=t.startAngle,s=t.endAngle,f=(0,c.uY)(s-l),p=h({cx:e,cy:n,radius:o,angle:l,sign:f,cornerRadius:i,cornerIsExternal:u}),y=p.circleTangency,v=p.lineTangency,m=p.theta,g=h({cx:e,cy:n,radius:o,angle:s,sign:-f,cornerRadius:i,cornerIsExternal:u}),b=g.circleTangency,x=g.lineTangency,O=g.theta,w=u?Math.abs(l-s):Math.abs(l-s)-m-O;if(w<0)return a?"M ".concat(v.x,",").concat(v.y,"\n a").concat(i,",").concat(i,",0,0,1,").concat(2*i,",0\n a").concat(i,",").concat(i,",0,0,1,").concat(-(2*i),",0\n "):d({cx:e,cy:n,innerRadius:r,outerRadius:o,startAngle:l,endAngle:s});var j="M ".concat(v.x,",").concat(v.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(y.x,",").concat(y.y,"\n A").concat(o,",").concat(o,",0,").concat(+(w>180),",").concat(+(f<0),",").concat(b.x,",").concat(b.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(x.x,",").concat(x.y,"\n ");if(r>0){var S=h({cx:e,cy:n,radius:r,angle:l,sign:f,isExternal:!0,cornerRadius:i,cornerIsExternal:u}),E=S.circleTangency,A=S.lineTangency,P=S.theta,k=h({cx:e,cy:n,radius:r,angle:s,sign:-f,isExternal:!0,cornerRadius:i,cornerIsExternal:u}),M=k.circleTangency,_=k.lineTangency,T=k.theta,C=u?Math.abs(l-s):Math.abs(l-s)-P-T;if(C<0&&0===i)return"".concat(j,"L").concat(e,",").concat(n,"Z");j+="L".concat(_.x,",").concat(_.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(M.x,",").concat(M.y,"\n A").concat(r,",").concat(r,",0,").concat(+(C>180),",").concat(+(f>0),",").concat(E.x,",").concat(E.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(A.x,",").concat(A.y,"Z")}else j+="L".concat(e,",").concat(n,"Z");return j},v={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},m=function(t){var e,n=p(p({},v),t),o=n.cx,u=n.cy,l=n.innerRadius,f=n.outerRadius,h=n.cornerRadius,m=n.forceCornerRadius,g=n.cornerIsExternal,b=n.startAngle,x=n.endAngle,O=n.className;if(f0&&360>Math.abs(b-x)?y({cx:o,cy:u,innerRadius:l,outerRadius:f,cornerRadius:Math.min(S,j/2),forceCornerRadius:m,cornerIsExternal:g,startAngle:b,endAngle:x}):d({cx:o,cy:u,innerRadius:l,outerRadius:f,startAngle:b,endAngle:x}),r.createElement("path",s({},(0,a.L6)(n,!0),{className:w,d:e,role:"img"}))}},21138:function(t,e,n){"use strict";n.d(e,{v:function(){return I}});var r=n(11700),o=n.n(r),i=n(67294);let a=Math.cos,u=Math.sin,c=Math.sqrt,l=Math.PI,s=2*l;var f={draw(t,e){let n=c(e/l);t.moveTo(n,0),t.arc(0,0,n,0,s)}};let p=c(1/3),h=2*p,d=u(l/10)/u(7*l/10),y=u(s/10)*d,v=-a(s/10)*d,m=c(3),g=c(3)/2,b=1/c(12),x=(b/2+1)*3;var O=n(20309),w=n(5472);c(3),c(3);var j=n(94184),S=n.n(j),E=n(52017);function A(t){return(A="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var P=["type","size","sizeType"];function k(){return(k=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(t,P)),{},{type:r,size:u,sizeType:l}),p=s.className,h=s.cx,d=s.cy,y=(0,E.L6)(s,!0);return h===+h&&d===+d&&u===+u?i.createElement("path",k({},y,{className:S()("recharts-symbols",p),transform:"translate(".concat(h,", ").concat(d,")"),d:(e=T["symbol".concat(o()(r))]||f,(function(t,e){let n=null,r=(0,w.d)(o);function o(){let o;if(n||(n=o=r()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),o)return n=null,o+""||null}return t="function"==typeof t?t:(0,O.Z)(t||f),e="function"==typeof e?e:(0,O.Z)(void 0===e?64:+e),o.type=function(e){return arguments.length?(t="function"==typeof e?e:(0,O.Z)(e),o):t},o.size=function(t){return arguments.length?(e="function"==typeof t?t:(0,O.Z)(+t),o):e},o.context=function(t){return arguments.length?(n=null==t?null:t,o):n},o})().type(e).size(N(u,l,r))())})):null};I.registerSymbol=function(t,e){T["symbol".concat(o()(t))]=e}},49465:function(t,e,n){"use strict";n.d(e,{bn:function(){return I},a3:function(){return $},lT:function(){return D},V$:function(){return L},w7:function(){return R}});var r=n(18446),o=n.n(r),i=n(51584),a=n.n(i),u=n(68630),c=n.n(u),l=n(23560),s=n.n(l),f=n(67294),p=n(13481),h=n(94184),d=n.n(h),y=n(93801),v=n(52017);function m(t){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function g(){return(g=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n0,from:{upperWidth:0,lowerWidth:0,height:p,x:u,y:c},to:{upperWidth:l,lowerWidth:s,height:p,x:u,y:c},duration:x,animationEasing:m,isActive:E},function(t){var e=t.upperWidth,o=t.lowerWidth,a=t.height,u=t.x,c=t.y;return f.createElement(y.ZP,{canBegin:i>0,from:"0px ".concat(-1===i?1:i,"px"),to:"".concat(i,"px 0px"),attributeName:"strokeDasharray",begin:S,duration:x,easing:m},f.createElement("path",g({},(0,v.L6)(n,!0),{className:A,d:w(u,c,e,o,a),ref:r})))}):f.createElement("g",null,f.createElement("path",g({},(0,v.L6)(n,!0),{className:A,d:w(u,c,l,s,p)})))},E=n(45108),A=n(48710),P=n(21138),k=["option","shapeType","propTransformer","activeClassName","isActive"];function M(t){return(M="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function T(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(t,k);if((0,f.isValidElement)(n))e=(0,f.cloneElement)(n,l);else if(s()(n))e=n(l);else if(c()(n)&&!a()(n)){var p=(void 0===o?C:o)(n,l);e=f.createElement(N,{shapeType:r,elementProps:p})}else e=f.createElement(N,{shapeType:r,elementProps:l});return u?f.createElement(A.m,{className:void 0===i?"recharts-active-shape":i},e):e}function D(t,e){return"trapezoids"in t.props}function L(t,e){return"sectors"in t.props}function R(t,e){return"points"in t.props}function B(t,e){var n,r,o=t.x===(null==e||null===(n=e.labelViewBox)||void 0===n?void 0:n.x)||t.x===e.x,i=t.y===(null==e||null===(r=e.labelViewBox)||void 0===r?void 0:r.y)||t.y===e.y;return o&&i}function U(t,e){var n=t.endAngle===e.endAngle,r=t.startAngle===e.startAngle;return n&&r}function F(t,e){var n=t.x===e.x,r=t.y===e.y,o=t.z===e.z;return n&&r&&o}function $(t){var e,n,r,i=t.activeTooltipItem,a=t.graphicalItem,u=t.itemData,c=(D(a,i)?e="trapezoids":L(a,i)?e="sectors":R(a,i)&&(e="points"),e),l=D(a,i)?null===(n=i.tooltipPayload)||void 0===n||null===(n=n[0])||void 0===n||null===(n=n.payload)||void 0===n?void 0:n.payload:L(a,i)?null===(r=i.tooltipPayload)||void 0===r||null===(r=r[0])||void 0===r||null===(r=r.payload)||void 0===r?void 0:r.payload:R(a,i)?i.payload:{},s=u.filter(function(t,e){var n=o()(l,t),r=a.props[c].filter(function(t){var e;return(D(a,i)?e=B:L(a,i)?e=U:R(a,i)&&(e=F),e)(t,i)}),u=a.props[c].indexOf(r[r.length-1]);return n&&e===u});return u.indexOf(s[s.length-1])}},35552:function(t,e,n){"use strict";n.d(e,{By:function(){return os},VO:function(){return oa},zF:function(){return ob},DO:function(){return om},zT:function(){return oM},qz:function(){return ol},pt:function(){return oc},Rf:function(){return oy},gF:function(){return oi},s6:function(){return oh},EB:function(){return oE},fk:function(){return ou},wh:function(){return ow},O3:function(){return oS},uY:function(){return ov},g$:function(){return oj},Qo:function(){return oT},F$:function(){return oo},NA:function(){return od},ko:function(){return o_},ZI:function(){return op},Hq:function(){return og},LG:function(){return ok}});var r,o,i,a,u,c,l,s={};n.r(s),n.d(s,{scaleBand:function(){return D.Z},scaleDiverging:function(){return function t(){var e=et(rO()(tG));return e.copy=function(){return rg(e,t())},tJ.O.apply(e,arguments)}},scaleDivergingLog:function(){return function t(){var e=el(rO()).domain([.1,1,10]);return e.copy=function(){return rg(e,t()).base(e.base())},tJ.O.apply(e,arguments)}},scaleDivergingPow:function(){return rw},scaleDivergingSqrt:function(){return rj},scaleDivergingSymlog:function(){return function t(){var e=ep(rO());return e.copy=function(){return rg(e,t()).constant(e.constant())},tJ.O.apply(e,arguments)}},scaleIdentity:function(){return function t(e){var n;function r(t){return null==t||isNaN(t=+t)?n:t}return r.invert=r,r.domain=r.range=function(t){return arguments.length?(e=Array.from(t,tW),r):e.slice()},r.unknown=function(t){return arguments.length?(n=t,r):n},r.copy=function(){return t(e).unknown(n)},e=arguments.length?Array.from(e,tW):[0,1],et(r)}},scaleImplicit:function(){return eh.O},scaleLinear:function(){return ee},scaleLog:function(){return function t(){let e=el(tV()).domain([1,10]);return e.copy=()=>tZ(e,t()).base(e.base()),tJ.o.apply(e,arguments),e}},scaleOrdinal:function(){return eh.Z},scalePoint:function(){return D.x},scalePow:function(){return eg},scaleQuantile:function(){return function t(){var e,n=[],r=[],o=[];function i(){var t=0,e=Math.max(1,r.length);for(o=Array(e-1);++t=1)return+n(t[r-1],r-1,t);var r,o=(r-1)*e,i=Math.floor(o),a=+n(t[i],i,t);return a+(+n(t[i+1],i+1,t)-a)*(o-i)}}(n,t/e);return a}function a(t){return null==t||isNaN(t=+t)?e:r[Z(o,t)]}return a.invertExtent=function(t){var e=r.indexOf(t);return e<0?[NaN,NaN]:[e>0?o[e-1]:n[0],e=o?[i[o-1],r]:[i[e-1],i[e]]},u.unknown=function(t){return arguments.length&&(e=t),u},u.thresholds=function(){return i.slice()},u.copy=function(){return t().domain([n,r]).range(a).unknown(e)},tJ.o.apply(et(u),arguments)}},scaleRadial:function(){return function t(){var e,n=tK(),r=[0,1],o=!1;function i(t){var r,i=Math.sign(r=n(t))*Math.sqrt(Math.abs(r));return isNaN(i)?e:o?Math.round(i):i}return i.invert=function(t){return n.invert(ex(t))},i.domain=function(t){return arguments.length?(n.domain(t),i):n.domain()},i.range=function(t){return arguments.length?(n.range((r=Array.from(t,tW)).map(ex)),i):r.slice()},i.rangeRound=function(t){return i.range(t).round(!0)},i.round=function(t){return arguments.length?(o=!!t,i):o},i.clamp=function(t){return arguments.length?(n.clamp(t),i):n.clamp()},i.unknown=function(t){return arguments.length?(e=t,i):e},i.copy=function(){return t(n.domain(),r).round(o).clamp(n.clamp()).unknown(e)},tJ.o.apply(i,arguments),et(i)}},scaleSequential:function(){return function t(){var e=et(rm()(tG));return e.copy=function(){return rg(e,t())},tJ.O.apply(e,arguments)}},scaleSequentialLog:function(){return function t(){var e=el(rm()).domain([1,10]);return e.copy=function(){return rg(e,t()).base(e.base())},tJ.O.apply(e,arguments)}},scaleSequentialPow:function(){return rb},scaleSequentialQuantile:function(){return function t(){var e=[],n=tG;function r(t){if(null!=t&&!isNaN(t=+t))return n((Z(e,t,1)-1)/(e.length-1))}return r.domain=function(t){if(!arguments.length)return e.slice();for(let n of(e=[],t))null==n||isNaN(n=+n)||e.push(n);return e.sort(W),r},r.interpolator=function(t){return arguments.length?(n=t,r):n},r.range=function(){return e.map((t,r)=>n(r/(e.length-1)))},r.quantiles=function(t){return Array.from({length:t+1},(n,r)=>(function(t,e,n){if(!(!(r=(t=Float64Array.from(function*(t,e){if(void 0===e)for(let e of t)null!=e&&(e=+e)>=e&&(yield e);else{let n=-1;for(let r of t)null!=(r=e(r,++n,t))&&(r=+r)>=r&&(yield r)}}(t,void 0))).length)||isNaN(e=+e))){if(e<=0||r<2)return ew(t);if(e>=1)return eO(t);var r,o=(r-1)*e,i=Math.floor(o),a=eO((function t(e,n,r=0,o=1/0,i){if(n=Math.floor(n),r=Math.floor(Math.max(0,r)),o=Math.floor(Math.min(e.length-1,o)),!(r<=n&&n<=o))return e;for(i=void 0===i?ej:function(t=W){if(t===W)return ej;if("function"!=typeof t)throw TypeError("compare is not a function");return(e,n)=>{let r=t(e,n);return r||0===r?r:(0===t(n,n))-(0===t(e,e))}}(i);o>r;){if(o-r>600){let a=o-r+1,u=n-r+1,c=Math.log(a),l=.5*Math.exp(2*c/3),s=.5*Math.sqrt(c*l*(a-l)/a)*(u-a/2<0?-1:1),f=Math.max(r,Math.floor(n-u*l/a+s)),p=Math.min(o,Math.floor(n+(a-u)*l/a+s));t(e,n,f,p,i)}let a=e[n],u=r,c=o;for(eS(e,r,n),i(e[o],a)>0&&eS(e,r,o);ui(e[u],a);)++u;for(;i(e[c],a)>0;)--c}0===i(e[r],a)?eS(e,r,c):eS(e,++c,o),c<=n&&(r=c+1),n<=c&&(o=c-1)}return e})(t,i).subarray(0,i+1));return a+(ew(t.subarray(i+1))-a)*(o-i)}})(e,r/t))},r.copy=function(){return t(n).domain(e)},tJ.O.apply(r,arguments)}},scaleSequentialSqrt:function(){return rx},scaleSequentialSymlog:function(){return function t(){var e=ep(rm());return e.copy=function(){return rg(e,t()).constant(e.constant())},tJ.O.apply(e,arguments)}},scaleSqrt:function(){return eb},scaleSymlog:function(){return function t(){var e=ep(tV());return e.copy=function(){return tZ(e,t()).constant(e.constant())},tJ.o.apply(e,arguments)}},scaleThreshold:function(){return function t(){var e,n=[.5],r=[0,1],o=1;function i(t){return null!=t&&t<=t?r[Z(n,t,0,o)]:e}return i.domain=function(t){return arguments.length?(o=Math.min((n=Array.from(t)).length,r.length-1),i):n.slice()},i.range=function(t){return arguments.length?(r=Array.from(t),o=Math.min(n.length,r.length-1),i):r.slice()},i.invertExtent=function(t){var e=r.indexOf(t);return[n[e-1],n[e]]},i.unknown=function(t){return arguments.length?(e=t,i):e},i.copy=function(){return t().domain(n).range(r).unknown(e)},tJ.o.apply(i,arguments)}},scaleTime:function(){return ry},scaleUtc:function(){return rv},tickFormat:function(){return t9}});var f=n(18446),p=n.n(f),h=n(86173),d=n.n(h),y=n(11700),v=n.n(y),m=n(47037),g=n.n(m),b=n(7654),x=n.n(b),O=n(1469),w=n.n(O),j=n(6162),S=n.n(j),E=n(53632),A=n.n(E),P=n(94654),k=n.n(P),M=n(23560),_=n.n(M),T=n(27361),C=n.n(T),N=n(14293),I=n.n(N),D=n(175);let L=Math.sqrt(50),R=Math.sqrt(10),B=Math.sqrt(2);function U(t,e,n){let r,o,i;let a=(e-t)/Math.max(0,n),u=Math.floor(Math.log10(a)),c=a/Math.pow(10,u),l=c>=L?10:c>=R?5:c>=B?2:1;return(u<0?(r=Math.round(t*(i=Math.pow(10,-u)/l)),o=Math.round(e*i),r/ie&&--o,i=-i):(r=Math.round(t/(i=Math.pow(10,u)*l)),o=Math.round(e/i),r*ie&&--o),o0))return[];if(t===e)return[t];let r=e=o))return[];let u=i-o+1,c=Array(u);if(r){if(a<0)for(let t=0;te?1:t>=e?0:NaN}function q(t,e){return null==t||null==e?NaN:et?1:e>=t?0:NaN}function G(t){let e,n,r;function o(t,r,o=0,i=t.length){if(o>>1;0>n(t[e],r)?o=e+1:i=e}while(oW(t(e),n),r=(e,n)=>t(e)-n):(e=t===W||t===q?t:X,n=t,r=t),{left:o,center:function(t,e,n=0,i=t.length){let a=o(t,e,n,i-1);return a>n&&r(t[a-1],e)>-r(t[a],e)?a-1:a},right:function(t,r,o=0,i=t.length){if(o>>1;0>=n(t[e],r)?o=e+1:i=e}while(o>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?td(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?td(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=tr.exec(t))?new tv(e[1],e[2],e[3],1):(e=to.exec(t))?new tv(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=ti.exec(t))?td(e[1],e[2],e[3],e[4]):(e=ta.exec(t))?td(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=tu.exec(t))?tw(e[1],e[2]/100,e[3]/100,1):(e=tc.exec(t))?tw(e[1],e[2]/100,e[3]/100,e[4]):tl.hasOwnProperty(t)?th(tl[t]):"transparent"===t?new tv(NaN,NaN,NaN,0):null}function th(t){return new tv(t>>16&255,t>>8&255,255&t,1)}function td(t,e,n,r){return r<=0&&(t=e=n=NaN),new tv(t,e,n,r)}function ty(t,e,n,r){var o;return 1==arguments.length?((o=t)instanceof J||(o=tp(o)),o)?(o=o.rgb(),new tv(o.r,o.g,o.b,o.opacity)):new tv:new tv(t,e,n,null==r?1:r)}function tv(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function tm(){return`#${tO(this.r)}${tO(this.g)}${tO(this.b)}`}function tg(){let t=tb(this.opacity);return`${1===t?"rgb(":"rgba("}${tx(this.r)}, ${tx(this.g)}, ${tx(this.b)}${1===t?")":`, ${t})`}`}function tb(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function tx(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function tO(t){return((t=tx(t))<16?"0":"")+t.toString(16)}function tw(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new tS(t,e,n,r)}function tj(t){if(t instanceof tS)return new tS(t.h,t.s,t.l,t.opacity);if(t instanceof J||(t=tp(t)),!t)return new tS;if(t instanceof tS)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,o=Math.min(e,n,r),i=Math.max(e,n,r),a=NaN,u=i-o,c=(i+o)/2;return u?(a=e===i?(n-r)/u+(n0&&c<1?0:a,new tS(a,u,c,t.opacity)}function tS(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function tE(t){return(t=(t||0)%360)<0?t+360:t}function tA(t){return Math.max(0,Math.min(1,t||0))}function tP(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}function tk(t,e,n,r,o){var i=t*t,a=i*t;return((1-3*t+3*i-a)*e+(4-6*i+3*a)*n+(1+3*t+3*i-3*a)*r+a*o)/6}V(J,tp,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:ts,formatHex:ts,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return tj(this).formatHsl()},formatRgb:tf,toString:tf}),V(tv,ty,K(J,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new tv(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new tv(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new tv(tx(this.r),tx(this.g),tx(this.b),tb(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:tm,formatHex:tm,formatHex8:function(){return`#${tO(this.r)}${tO(this.g)}${tO(this.b)}${tO((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:tg,toString:tg})),V(tS,function(t,e,n,r){return 1==arguments.length?tj(t):new tS(t,e,n,null==r?1:r)},K(J,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new tS(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new tS(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,o=2*n-r;return new tv(tP(t>=240?t-240:t+120,o,r),tP(t,o,r),tP(t<120?t+240:t-120,o,r),this.opacity)},clamp(){return new tS(tE(this.h),tA(this.s),tA(this.l),tb(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=tb(this.opacity);return`${1===t?"hsl(":"hsla("}${tE(this.h)}, ${100*tA(this.s)}%, ${100*tA(this.l)}%${1===t?")":`, ${t})`}`}}));var tM=t=>()=>t;function t_(t,e){var n=e-t;return n?function(e){return t+e*n}:tM(isNaN(t)?e:t)}var tT=function t(e){var n,r=1==(n=+(n=e))?t_:function(t,e){var r,o,i;return e-t?(r=t,o=e,r=Math.pow(r,i=n),o=Math.pow(o,i)-r,i=1/i,function(t){return Math.pow(r+t*o,i)}):tM(isNaN(t)?e:t)};function o(t,e){var n=r((t=ty(t)).r,(e=ty(e)).r),o=r(t.g,e.g),i=r(t.b,e.b),a=t_(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=o(e),t.b=i(e),t.opacity=a(e),t+""}}return o.gamma=t,o}(1);function tC(t){return function(e){var n,r,o=e.length,i=Array(o),a=Array(o),u=Array(o);for(n=0;n=1?(n=1,e-1):Math.floor(n*e),o=t[r],i=t[r+1],a=r>0?t[r-1]:2*o-i,u=ru&&(a=e.slice(u,a),l[c]?l[c]+=a:l[++c]=a),(o=o[0])===(i=i[0])?l[c]?l[c]+=i:l[++c]=i:(l[++c]=null,s.push({i:c,x:tD(o,i)})),u=tB.lastIndex;return u(e=a[c-1])&&(n=t,t=e,e=n),l=function(n){return Math.max(t,Math.min(e,n))}),r=c>2?tH:tY,o=i=null,f}function f(e){return null==e||isNaN(e=+e)?n:(o||(o=r(a.map(t),u,c)))(t(l(e)))}return f.invert=function(n){return l(e((i||(i=r(u,a.map(t),tD)))(n)))},f.domain=function(t){return arguments.length?(a=Array.from(t,tW),s()):a.slice()},f.range=function(t){return arguments.length?(u=Array.from(t),s()):u.slice()},f.rangeRound=function(t){return u=Array.from(t),c=tz,s()},f.clamp=function(t){return arguments.length?(l=!!t||tG,s()):l!==tG},f.interpolate=function(t){return arguments.length?(c=t,s()):c},f.unknown=function(t){return arguments.length?(n=t,f):n},function(n,r){return t=n,e=r,s()}}function tK(){return tV()(tG,tG)}var tJ=n(94182),tQ=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function t0(t){var e;if(!(e=tQ.exec(t)))throw Error("invalid format: "+t);return new t1({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function t1(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function t2(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function t6(t){return(t=t2(Math.abs(t)))?t[1]:NaN}function t4(t,e){var n=t2(t,e);if(!n)return t+"";var r=n[0],o=n[1];return o<0?"0."+Array(-o).join("0")+r:r.length>o+1?r.slice(0,o+1)+"."+r.slice(o+1):r+Array(o-r.length+2).join("0")}t0.prototype=t1.prototype,t1.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var t3={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>t4(100*t,e),r:t4,s:function(t,e){var n=t2(t,e);if(!n)return t+"";var o=n[0],i=n[1],a=i-(r=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,u=o.length;return a===u?o:a>u?o+Array(a-u+1).join("0"):a>0?o.slice(0,a)+"."+o.slice(a):"0."+Array(1-a).join("0")+t2(t,Math.max(0,e+a-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function t5(t){return t}var t7=Array.prototype.map,t8=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function t9(t,e,n,r){var o,u,c=z(t,e,n);switch((r=t0(null==r?",f":r)).type){case"s":var l=Math.max(Math.abs(t),Math.abs(e));return null!=r.precision||isNaN(u=Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(t6(l)/3)))-t6(Math.abs(c))))||(r.precision=u),a(r,l);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN((o=c,u=Math.max(0,t6(Math.abs(Math.max(Math.abs(t),Math.abs(e)))-(o=Math.abs(o)))-t6(o))+1))||(r.precision=u-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(u=Math.max(0,-t6(Math.abs(c))))||(r.precision=u-("%"===r.type)*2)}return i(r)}function et(t){var e=t.domain;return t.ticks=function(t){var n=e();return F(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){var r=e();return t9(r[0],r[r.length-1],null==t?10:t,n)},t.nice=function(n){null==n&&(n=10);var r,o,i=e(),a=0,u=i.length-1,c=i[a],l=i[u],s=10;for(l0;){if((o=$(c,l,n))===r)return i[a]=c,i[u]=l,e(i);if(o>0)c=Math.floor(c/o)*o,l=Math.ceil(l/o)*o;else if(o<0)c=Math.ceil(c*o)/o,l=Math.floor(l*o)/o;else break;r=o}return t},t}function ee(){var t=tK();return t.copy=function(){return tZ(t,ee())},tJ.o.apply(t,arguments),et(t)}function en(t,e){t=t.slice();var n,r=0,o=t.length-1,i=t[r],a=t[o];return a-t(-e,n)}function el(t){let e,n;let r=t(er,eo),o=r.domain,a=10;function u(){var i,u;return e=(i=a)===Math.E?Math.log:10===i&&Math.log10||2===i&&Math.log2||(i=Math.log(i),t=>Math.log(t)/i),n=10===(u=a)?eu:u===Math.E?Math.exp:t=>Math.pow(u,t),o()[0]<0?(e=ec(e),n=ec(n),t(ei,ea)):t(er,eo),r}return r.base=function(t){return arguments.length?(a=+t,u()):a},r.domain=function(t){return arguments.length?(o(t),u()):o()},r.ticks=t=>{let r,i;let u=o(),c=u[0],l=u[u.length-1],s=l0){for(;f<=p;++f)for(r=1;rl)break;d.push(i)}}else for(;f<=p;++f)for(r=a-1;r>=1;--r)if(!((i=f>0?r/n(-f):r*n(f))l)break;d.push(i)}2*d.length{if(null==t&&(t=10),null==o&&(o=10===a?"s":","),"function"!=typeof o&&(a%1||null!=(o=t0(o)).precision||(o.trim=!0),o=i(o)),t===1/0)return o;let u=Math.max(1,a*t/r.ticks().length);return t=>{let r=t/n(Math.round(e(t)));return r*ao(en(o(),{floor:t=>n(Math.floor(e(t))),ceil:t=>n(Math.ceil(e(t)))})),r}function es(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function ef(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function ep(t){var e=1,n=t(es(1),ef(e));return n.constant=function(n){return arguments.length?t(es(e=+n),ef(e)):e},et(n)}i=(o=function(t){var e,n,o,i=void 0===t.grouping||void 0===t.thousands?t5:(e=t7.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var o=t.length,i=[],a=0,u=e[0],c=0;o>0&&u>0&&(c+u+1>r&&(u=Math.max(1,r-c)),i.push(t.substring(o-=u,o+u)),!((c+=u+1)>r));)u=e[a=(a+1)%e.length];return i.reverse().join(n)}),a=void 0===t.currency?"":t.currency[0]+"",u=void 0===t.currency?"":t.currency[1]+"",c=void 0===t.decimal?".":t.decimal+"",l=void 0===t.numerals?t5:(o=t7.call(t.numerals,String),function(t){return t.replace(/[0-9]/g,function(t){return o[+t]})}),s=void 0===t.percent?"%":t.percent+"",f=void 0===t.minus?"−":t.minus+"",p=void 0===t.nan?"NaN":t.nan+"";function h(t){var e=(t=t0(t)).fill,n=t.align,o=t.sign,h=t.symbol,d=t.zero,y=t.width,v=t.comma,m=t.precision,g=t.trim,b=t.type;"n"===b?(v=!0,b="g"):t3[b]||(void 0===m&&(m=12),g=!0,b="g"),(d||"0"===e&&"="===n)&&(d=!0,e="0",n="=");var x="$"===h?a:"#"===h&&/[boxX]/.test(b)?"0"+b.toLowerCase():"",O="$"===h?u:/[%p]/.test(b)?s:"",w=t3[b],j=/[defgprs%]/.test(b);function S(t){var a,u,s,h=x,S=O;if("c"===b)S=w(t)+S,t="";else{var E=(t=+t)<0||1/t<0;if(t=isNaN(t)?p:w(Math.abs(t),m),g&&(t=function(t){e:for(var e,n=t.length,r=1,o=-1;r0&&(o=0)}return o>0?t.slice(0,o)+t.slice(e+1):t}(t)),E&&0==+t&&"+"!==o&&(E=!1),h=(E?"("===o?o:f:"-"===o||"("===o?"":o)+h,S=("s"===b?t8[8+r/3]:"")+S+(E&&"("===o?")":""),j){for(a=-1,u=t.length;++a(s=t.charCodeAt(a))||s>57){S=(46===s?c+t.slice(a+1):t.slice(a))+S,t=t.slice(0,a);break}}}v&&!d&&(t=i(t,1/0));var A=h.length+t.length+S.length,P=A>1)+h+t+S+P.slice(A);break;default:t=P+h+t+S}return l(t)}return m=void 0===m?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m)),S.toString=function(){return t+""},S}return{format:h,formatPrefix:function(t,e){var n=h(((t=t0(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(t6(e)/3))),o=Math.pow(10,-r),i=t8[8+r/3];return function(t){return n(o*t)+i}}}}({thousands:",",grouping:[3],currency:["$",""]})).format,a=o.formatPrefix;var eh=n(46244);function ed(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function ey(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function ev(t){return t<0?-t*t:t*t}function em(t){var e=t(tG,tG),n=1;return e.exponent=function(e){return arguments.length?1==(n=+e)?t(tG,tG):.5===n?t(ey,ev):t(ed(n),ed(1/n)):n},et(e)}function eg(){var t=em(tV());return t.copy=function(){return tZ(t,eg()).exponent(t.exponent())},tJ.o.apply(t,arguments),t}function eb(){return eg.apply(null,arguments).exponent(.5)}function ex(t){return Math.sign(t)*t*t}function eO(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n=e)&&(n=e);else{let r=-1;for(let o of t)null!=(o=e(o,++r,t))&&(n=o)&&(n=o)}return n}function ew(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let r=-1;for(let o of t)null!=(o=e(o,++r,t))&&(n>o||void 0===n&&o>=o)&&(n=o)}return n}function ej(t,e){return(null==t||!(t>=t))-(null==e||!(e>=e))||(te?1:0)}function eS(t,e,n){let r=t[e];t[e]=t[n],t[n]=r}let eE=864e5,eA=7*eE,eP=30*eE,ek=365*eE,eM=new Date,e_=new Date;function eT(t,e,n,r){function o(e){return t(e=0==arguments.length?new Date:new Date(+e)),e}return o.floor=e=>(t(e=new Date(+e)),e),o.ceil=n=>(t(n=new Date(n-1)),e(n,1),t(n),n),o.round=t=>{let e=o(t),n=o.ceil(t);return t-e(e(t=new Date(+t),null==n?1:Math.floor(n)),t),o.range=(n,r,i)=>{let a;let u=[];if(n=o.ceil(n),i=null==i?1:Math.floor(i),!(n0))return u;do u.push(a=new Date(+n)),e(n,i),t(n);while(aeT(e=>{if(e>=e)for(;t(e),!n(e);)e.setTime(e-1)},(t,r)=>{if(t>=t){if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););}}),n&&(o.count=(e,r)=>(eM.setTime(+e),e_.setTime(+r),t(eM),t(e_),Math.floor(n(eM,e_))),o.every=t=>isFinite(t=Math.floor(t))&&t>0?t>1?o.filter(r?e=>r(e)%t==0:e=>o.count(0,e)%t==0):o:null),o}let eC=eT(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);eC.every=t=>isFinite(t=Math.floor(t))&&t>0?t>1?eT(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):eC:null,eC.range;let eN=eT(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+1e3*e)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds());eN.range;let eI=eT(t=>{t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())},(t,e)=>{t.setTime(+t+6e4*e)},(t,e)=>(e-t)/6e4,t=>t.getMinutes());eI.range;let eD=eT(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+6e4*e)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes());eD.range;let eL=eT(t=>{t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())},(t,e)=>{t.setTime(+t+36e5*e)},(t,e)=>(e-t)/36e5,t=>t.getHours());eL.range;let eR=eT(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+36e5*e)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours());eR.range;let eB=eT(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/eE,t=>t.getDate()-1);eB.range;let eU=eT(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/eE,t=>t.getUTCDate()-1);eU.range;let eF=eT(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/eE,t=>Math.floor(t/eE));function e$(t){return eT(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(t,e)=>{t.setDate(t.getDate()+7*e)},(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/eA)}eF.range;let ez=e$(0),eW=e$(1),eq=e$(2),eG=e$(3),eX=e$(4),eY=e$(5),eH=e$(6);function eZ(t){return eT(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+7*e)},(t,e)=>(e-t)/eA)}ez.range,eW.range,eq.range,eG.range,eX.range,eY.range,eH.range;let eV=eZ(0),eK=eZ(1),eJ=eZ(2),eQ=eZ(3),e0=eZ(4),e1=eZ(5),e2=eZ(6);eV.range,eK.range,eJ.range,eQ.range,e0.range,e1.range,e2.range;let e6=eT(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());e6.range;let e4=eT(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());e4.range;let e3=eT(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());e3.every=t=>isFinite(t=Math.floor(t))&&t>0?eT(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)}):null,e3.range;let e5=eT(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());function e7(t,e,n,r,o,i){let a=[[eN,1,1e3],[eN,5,5e3],[eN,15,15e3],[eN,30,3e4],[i,1,6e4],[i,5,3e5],[i,15,9e5],[i,30,18e5],[o,1,36e5],[o,3,108e5],[o,6,216e5],[o,12,432e5],[r,1,eE],[r,2,2*eE],[n,1,eA],[e,1,eP],[e,3,3*eP],[t,1,ek]];function u(e,n,r){let o=Math.abs(n-e)/r,i=G(([,,t])=>t).right(a,o);if(i===a.length)return t.every(z(e/ek,n/ek,r));if(0===i)return eC.every(Math.max(z(e,n,r),1));let[u,c]=a[o/a[i-1][2]isFinite(t=Math.floor(t))&&t>0?eT(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)}):null,e5.range;let[e8,e9]=e7(e5,e4,eV,eF,eR,eD),[nt,ne]=e7(e3,e6,ez,eB,eL,eI);function nn(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function nr(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function no(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}var ni={"-":"",_:" ",0:"0"},na=/^\s*\d+/,nu=/^%/,nc=/[\\^$*+?|[\]().{}]/g;function nl(t,e,n){var r=t<0?"-":"",o=(r?-t:t)+"",i=o.length;return r+(i[t.toLowerCase(),e]))}function nh(t,e,n){var r=na.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function nd(t,e,n){var r=na.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function ny(t,e,n){var r=na.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function nv(t,e,n){var r=na.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function nm(t,e,n){var r=na.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function ng(t,e,n){var r=na.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function nb(t,e,n){var r=na.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function nx(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function nO(t,e,n){var r=na.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function nw(t,e,n){var r=na.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function nj(t,e,n){var r=na.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function nS(t,e,n){var r=na.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function nE(t,e,n){var r=na.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function nA(t,e,n){var r=na.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function nP(t,e,n){var r=na.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function nk(t,e,n){var r=na.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function nM(t,e,n){var r=na.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function n_(t,e,n){var r=nu.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function nT(t,e,n){var r=na.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function nC(t,e,n){var r=na.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function nN(t,e){return nl(t.getDate(),e,2)}function nI(t,e){return nl(t.getHours(),e,2)}function nD(t,e){return nl(t.getHours()%12||12,e,2)}function nL(t,e){return nl(1+eB.count(e3(t),t),e,3)}function nR(t,e){return nl(t.getMilliseconds(),e,3)}function nB(t,e){return nR(t,e)+"000"}function nU(t,e){return nl(t.getMonth()+1,e,2)}function nF(t,e){return nl(t.getMinutes(),e,2)}function n$(t,e){return nl(t.getSeconds(),e,2)}function nz(t){var e=t.getDay();return 0===e?7:e}function nW(t,e){return nl(ez.count(e3(t)-1,t),e,2)}function nq(t){var e=t.getDay();return e>=4||0===e?eX(t):eX.ceil(t)}function nG(t,e){return t=nq(t),nl(eX.count(e3(t),t)+(4===e3(t).getDay()),e,2)}function nX(t){return t.getDay()}function nY(t,e){return nl(eW.count(e3(t)-1,t),e,2)}function nH(t,e){return nl(t.getFullYear()%100,e,2)}function nZ(t,e){return nl((t=nq(t)).getFullYear()%100,e,2)}function nV(t,e){return nl(t.getFullYear()%1e4,e,4)}function nK(t,e){var n=t.getDay();return nl((t=n>=4||0===n?eX(t):eX.ceil(t)).getFullYear()%1e4,e,4)}function nJ(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+nl(e/60|0,"0",2)+nl(e%60,"0",2)}function nQ(t,e){return nl(t.getUTCDate(),e,2)}function n0(t,e){return nl(t.getUTCHours(),e,2)}function n1(t,e){return nl(t.getUTCHours()%12||12,e,2)}function n2(t,e){return nl(1+eU.count(e5(t),t),e,3)}function n6(t,e){return nl(t.getUTCMilliseconds(),e,3)}function n4(t,e){return n6(t,e)+"000"}function n3(t,e){return nl(t.getUTCMonth()+1,e,2)}function n5(t,e){return nl(t.getUTCMinutes(),e,2)}function n7(t,e){return nl(t.getUTCSeconds(),e,2)}function n8(t){var e=t.getUTCDay();return 0===e?7:e}function n9(t,e){return nl(eV.count(e5(t)-1,t),e,2)}function rt(t){var e=t.getUTCDay();return e>=4||0===e?e0(t):e0.ceil(t)}function re(t,e){return t=rt(t),nl(e0.count(e5(t),t)+(4===e5(t).getUTCDay()),e,2)}function rn(t){return t.getUTCDay()}function rr(t,e){return nl(eK.count(e5(t)-1,t),e,2)}function ro(t,e){return nl(t.getUTCFullYear()%100,e,2)}function ri(t,e){return nl((t=rt(t)).getUTCFullYear()%100,e,2)}function ra(t,e){return nl(t.getUTCFullYear()%1e4,e,4)}function ru(t,e){var n=t.getUTCDay();return nl((t=n>=4||0===n?e0(t):e0.ceil(t)).getUTCFullYear()%1e4,e,4)}function rc(){return"+0000"}function rl(){return"%"}function rs(t){return+t}function rf(t){return Math.floor(+t/1e3)}function rp(t){return new Date(t)}function rh(t){return t instanceof Date?+t:+new Date(+t)}function rd(t,e,n,r,o,i,a,u,c,l){var s=tK(),f=s.invert,p=s.domain,h=l(".%L"),d=l(":%S"),y=l("%I:%M"),v=l("%I %p"),m=l("%a %d"),g=l("%b %d"),b=l("%B"),x=l("%Y");function O(t){return(c(t)1)for(var n,r,o,i=1,a=t[e[0]],u=a.length;i=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:rs,s:rf,S:n$,u:nz,U:nW,V:nG,w:nX,W:nY,x:null,X:null,y:nH,Y:nV,Z:nJ,"%":rl},x={a:function(t){return a[t.getUTCDay()]},A:function(t){return i[t.getUTCDay()]},b:function(t){return c[t.getUTCMonth()]},B:function(t){return u[t.getUTCMonth()]},c:null,d:nQ,e:nQ,f:n4,g:ri,G:ru,H:n0,I:n1,j:n2,L:n6,m:n3,M:n5,p:function(t){return o[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:rs,s:rf,S:n7,u:n8,U:n9,V:re,w:rn,W:rr,x:null,X:null,y:ro,Y:ra,Z:rc,"%":rl},O={a:function(t,e,n){var r=h.exec(e.slice(n));return r?(t.w=d.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(t,e,n){var r=f.exec(e.slice(n));return r?(t.w=p.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(t,e,n){var r=m.exec(e.slice(n));return r?(t.m=g.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(t,e,n){var r=y.exec(e.slice(n));return r?(t.m=v.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(t,n,r){return S(t,e,n,r)},d:nj,e:nj,f:nM,g:nb,G:ng,H:nE,I:nE,j:nS,L:nk,m:nw,M:nA,p:function(t,e,n){var r=l.exec(e.slice(n));return r?(t.p=s.get(r[0].toLowerCase()),n+r[0].length):-1},q:nO,Q:nT,s:nC,S:nP,u:nd,U:ny,V:nv,w:nh,W:nm,x:function(t,e,r){return S(t,n,e,r)},X:function(t,e,n){return S(t,r,e,n)},y:nb,Y:ng,Z:nx,"%":n_};function w(t,e){return function(n){var r,o,i,a=[],u=-1,c=0,l=t.length;for(n instanceof Date||(n=new Date(+n));++u53)return null;"w"in i||(i.w=1),"Z"in i?(r=(o=(r=nr(no(i.y,0,1))).getUTCDay())>4||0===o?eK.ceil(r):eK(r),r=eU.offset(r,(i.V-1)*7),i.y=r.getUTCFullYear(),i.m=r.getUTCMonth(),i.d=r.getUTCDate()+(i.w+6)%7):(r=(o=(r=nn(no(i.y,0,1))).getDay())>4||0===o?eW.ceil(r):eW(r),r=eB.offset(r,(i.V-1)*7),i.y=r.getFullYear(),i.m=r.getMonth(),i.d=r.getDate()+(i.w+6)%7)}else("W"in i||"U"in i)&&("w"in i||(i.w="u"in i?i.u%7:"W"in i?1:0),o="Z"in i?nr(no(i.y,0,1)).getUTCDay():nn(no(i.y,0,1)).getDay(),i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(o+5)%7:i.w+7*i.U-(o+6)%7);return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,nr(i)):nn(i)}}function S(t,e,n,r){for(var o,i,a=0,u=e.length,c=n.length;a=c)return -1;if(37===(o=e.charCodeAt(a++))){if(!(i=O[(o=e.charAt(a++))in ni?e.charAt(a++):o])||(r=i(t,n,r))<0)return -1}else if(o!=n.charCodeAt(r++))return -1}return r}return b.x=w(n,b),b.X=w(r,b),b.c=w(e,b),x.x=w(n,x),x.X=w(r,x),x.c=w(e,x),{format:function(t){var e=w(t+="",b);return e.toString=function(){return t},e},parse:function(t){var e=j(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=w(t+="",x);return e.toString=function(){return t},e},utcParse:function(t){var e=j(t+="",!0);return e.toString=function(){return t},e}}}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]})).format,u.parse,l=u.utcFormat,u.utcParse;var rE=n(94788),rA=n(20309);function rP(t){for(var e=t.length,n=Array(e);--e>=0;)n[e]=e;return n}function rk(t,e){return t[e]}function rM(t){let e=[];return e.key=t,e}var r_=n(29887),rT=n.n(r_);function rC(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=e?n.apply(void 0,o):t(e-a,rL(function(){for(var t=arguments.length,e=Array(t),r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);nr&&(o=r,i=n),[o,i]}function rZ(t,e,n){if(t.lte(0))return new(rT())(0);var r=rW.getDigitCount(t.toNumber()),o=new(rT())(10).pow(r),i=t.div(o),a=1!==r?.05:.1,u=new(rT())(Math.ceil(i.div(a).toNumber())).add(n).mul(a).mul(o);return e?u:new(rT())(Math.ceil(u))}function rV(t,e,n){var r=1,o=new(rT())(t);if(!o.isint()&&n){var i=Math.abs(t);i<1?(r=new(rT())(10).pow(rW.getDigitCount(t)-1),o=new(rT())(Math.floor(o.div(r).toNumber())).mul(r)):i>1&&(o=new(rT())(Math.floor(t)))}else 0===t?o=new(rT())(Math.floor((e-1)/2)):n||(o=new(rT())(Math.floor(t)));var a=Math.floor((e-1)/2);return rF(rU(function(t){return o.add(new(rT())(t-a).mul(r)).toNumber()}),rB)(0,e)}var rK=rz(function(t){var e=rG(t,2),n=e[0],r=e[1],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6,i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],a=rG(rH([n,r]),2),u=a[0],c=a[1];if(u===-1/0||c===1/0){var l=c===1/0?[u].concat(rq(rB(0,o-1).map(function(){return 1/0}))):[].concat(rq(rB(0,o-1).map(function(){return-1/0})),[c]);return n>r?r$(l):l}if(u===c)return rV(u,o,i);var s=function t(e,n,r,o){var i,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(!Number.isFinite((n-e)/(r-1)))return{step:new(rT())(0),tickMin:new(rT())(0),tickMax:new(rT())(0)};var u=rZ(new(rT())(n).sub(e).div(r-1),o,a),c=Math.ceil((i=e<=0&&n>=0?new(rT())(0):(i=new(rT())(e).add(n).div(2)).sub(new(rT())(i).mod(u))).sub(e).div(u).toNumber()),l=Math.ceil(new(rT())(n).sub(i).div(u).toNumber()),s=c+l+1;return s>r?t(e,n,r,o,a+1):(s0?l+(r-s):l,c=n>0?c:c+(r-s)),{step:u,tickMin:i.sub(new(rT())(c).mul(u)),tickMax:i.add(new(rT())(l).mul(u))})}(u,c,Math.max(o,2),i),f=s.step,p=s.tickMin,h=s.tickMax,d=rW.rangeStep(p,h.add(new(rT())(.1).mul(f)),f);return n>r?r$(d):d});rz(function(t){var e=rG(t,2),n=e[0],r=e[1],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6,i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],a=Math.max(o,2),u=rG(rH([n,r]),2),c=u[0],l=u[1];if(c===-1/0||l===1/0)return[n,r];if(c===l)return rV(c,o,i);var s=rZ(new(rT())(l).sub(c).div(a-1),i,0),f=rF(rU(function(t){return new(rT())(c).add(new(rT())(t).mul(s)).toNumber()}),rB)(0,a).filter(function(t){return t>=c&&t<=l});return n>r?r$(f):f});var rJ=rz(function(t,e){var n=rG(t,2),r=n[0],o=n[1],i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],a=rG(rH([r,o]),2),u=a[0],c=a[1];if(u===-1/0||c===1/0)return[r,o];if(u===c)return[u];var l=rZ(new(rT())(c).sub(u).div(Math.max(e,2)-1),i,0),s=[].concat(rq(rW.rangeStep(new(rT())(u),new(rT())(c).sub(new(rT())(.99).mul(l)),l)),[c]);return r>o?r$(s):s}),rQ=n(67294),r0=n(48710),r1=n(52017),r2=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function r6(){return(r6=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(t,r2),s=(0,r1.L6)(l),f=i.map(function(t,i){var l,f,p=a(t,o),h=p.x,d=p.y,y=p.value,v=p.errorVal;if(!v)return null;var m=[];if(Array.isArray(v)){var g=function(t){if(Array.isArray(t))return t}(v)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,u=[],c=!0,l=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(u.push(r.value),u.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(v,2)||function(t,e){if(t){if("string"==typeof t)return r4(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r4(t,e)}}(v,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();l=g[0],f=g[1]}else l=f=v;if("vertical"===n){var b=u.scale,x=d+e,O=x+r,w=x-r,j=b(y-l),S=b(y+f);m.push({x1:S,y1:O,x2:S,y2:w}),m.push({x1:j,y1:x,x2:S,y2:x}),m.push({x1:j,y1:O,x2:j,y2:w})}else if("horizontal"===n){var E=c.scale,A=h+e,P=A-r,k=A+r,M=E(y-l),_=E(y+f);m.push({x1:P,y1:_,x2:k,y2:_}),m.push({x1:A,y1:M,x2:A,y2:_}),m.push({x1:P,y1:M,x2:k,y2:M})}return rQ.createElement(r0.m,r6({className:"recharts-errorBar",key:"bar-".concat(i)},s),m.map(function(t,e){return rQ.createElement("line",r6({},t,{key:"line-".concat(e)}))}))});return rQ.createElement(r0.m,{className:"recharts-errorBars"},f)}r3.defaultProps={stroke:"black",strokeWidth:1.5,width:5,offset:0,layout:"horizontal"},r3.displayName="ErrorBar";var r5=n(69055),r7=n(20430);function r8(t){return(r8="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r9(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function ot(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=-1,a=null!==(e=null==n?void 0:n.length)&&void 0!==e?e:0;if(a<=1)return 0;if(o&&"angleAxis"===o.axisType&&1e-6>=Math.abs(Math.abs(o.range[1]-o.range[0])-360))for(var u=o.range,c=0;c0?r[c-1].coordinate:r[a-1].coordinate,s=r[c].coordinate,f=c>=a-1?r[0].coordinate:r[c+1].coordinate,p=void 0;if((0,r5.uY)(s-l)!==(0,r5.uY)(f-s)){var h=[];if((0,r5.uY)(f-s)===(0,r5.uY)(u[1]-u[0])){p=f;var d=s+u[1]-u[0];h[0]=Math.min(d,(d+l)/2),h[1]=Math.max(d,(d+l)/2)}else{p=l;var y=f+u[1]-u[0];h[0]=Math.min(s,(y+s)/2),h[1]=Math.max(s,(y+s)/2)}var v=[Math.min(s,(p+s)/2),Math.max(s,(p+s)/2)];if(t>v[0]&&t<=v[1]||t>=h[0]&&t<=h[1]){i=r[c].index;break}}else{var m=Math.min(l,f),g=Math.max(l,f);if(t>(m+s)/2&&t<=(g+s)/2){i=r[c].index;break}}}else for(var b=0;b0&&b(n[b].coordinate+n[b-1].coordinate)/2&&t<=(n[b].coordinate+n[b+1].coordinate)/2||b===a-1&&t>(n[b].coordinate+n[b-1].coordinate)/2){i=n[b].index;break}return i},ou=function(t){var e,n=t.type.displayName,r=t.props,o=r.stroke,i=r.fill;switch(n){case"Line":e=o;break;case"Area":case"Radar":e=o&&"none"!==o?o:i;break;default:e=i}return e},oc=function(t){var e=t.barSize,n=t.stackGroups,r=void 0===n?{}:n;if(!r)return{};for(var o={},i=Object.keys(r),a=0,u=i.length;a=0});if(y&&y.length){var v=y[0].props.barSize,m=y[0].props[d];o[m]||(o[m]=[]),o[m].push({item:y[0],stackList:y.slice(1),barSize:I()(v)?e:v})}}return o},ol=function(t){var e,n=t.barGap,r=t.barCategoryGap,o=t.bandSize,i=t.sizeList,a=void 0===i?[]:i,u=t.maxBarSize,c=a.length;if(c<1)return null;var l=(0,r5.h1)(n,o,0,!0),s=[];if(a[0].barSize===+a[0].barSize){var f=!1,p=o/c,h=a.reduce(function(t,e){return t+e.barSize||0},0);(h+=(c-1)*l)>=o&&(h-=(c-1)*l,l=0),h>=o&&p>0&&(f=!0,p*=.9,h=c*p);var d={offset:((o-h)/2>>0)-l,size:0};e=a.reduce(function(t,e){var n={item:e.item,position:{offset:d.offset+d.size+l,size:f?p:e.barSize}},r=[].concat(on(t),[n]);return d=r[r.length-1].position,e.stackList&&e.stackList.length&&e.stackList.forEach(function(t){r.push({item:t,position:d})}),r},s)}else{var y=(0,r5.h1)(r,o,0,!0);o-2*y-(c-1)*l<=0&&(l=0);var v=(o-2*y-(c-1)*l)/c;v>1&&(v>>=0);var m=u===+u?Math.min(v,u):v;e=a.reduce(function(t,e,n){var r=[].concat(on(t),[{item:e.item,position:{offset:y+(v+l)*n+(v-m)/2,size:m}}]);return e.stackList&&e.stackList.length&&e.stackList.forEach(function(t){r.push({item:t,position:r[r.length-1].position})}),r},s)}return e},os=function(t,e,n,r){var o=n.children,i=n.width,a=n.margin,u=i-(a.left||0)-(a.right||0),c=(0,r7.z)({children:o,legendWidth:u});if(c){var l=r||{},s=l.width,f=l.height,p=c.align,h=c.verticalAlign,d=c.layout;if(("vertical"===d||"horizontal"===d&&"middle"===h)&&"center"!==p&&(0,r5.hj)(t[p]))return ot(ot({},t),{},oe({},p,t[p]+(s||0)));if(("horizontal"===d||"vertical"===d&&"center"===p)&&"middle"!==h&&(0,r5.hj)(t[h]))return ot(ot({},t),{},oe({},h,t[h]+(f||0)))}return t},of=function(t,e,n,r,o){var i=e.props.children,a=(0,r1.NN)(i,r3).filter(function(t){var e;return e=t.props.direction,!!I()(o)||("horizontal"===r?"yAxis"===o:"vertical"===r||"x"===e?"xAxis"===o:"y"!==e||"yAxis"===o)});if(a&&a.length){var u=a.map(function(t){return t.props.dataKey});return t.reduce(function(t,e){var r=oo(e,n,0),o=w()(r)?[A()(r),S()(r)]:[r,r],i=u.reduce(function(t,n){var r=oo(e,n,0),i=o[0]-Math.abs(w()(r)?r[0]:r),a=o[1]+Math.abs(w()(r)?r[1]:r);return[Math.min(i,t[0]),Math.max(a,t[1])]},[1/0,-1/0]);return[Math.min(i[0],t[0]),Math.max(i[1],t[1])]},[1/0,-1/0])}return null},op=function(t,e,n,r,o){var i=e.map(function(e){return of(t,e,n,o,r)}).filter(function(t){return!I()(t)});return i&&i.length?i.reduce(function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]},[1/0,-1/0]):null},oh=function(t,e,n,r,o){var i=e.map(function(e){var i=e.props.dataKey;return"number"===n&&i&&of(t,e,i,r)||oi(t,i,n,o)});if("number"===n)return i.reduce(function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]},[1/0,-1/0]);var a={};return i.reduce(function(t,e){for(var n=0,r=e.length;n=2?2*(0,r5.uY)(a[0]-a[1])*c:c,e&&(t.ticks||t.niceTicks))?(t.ticks||t.niceTicks).map(function(t){return{coordinate:r(o?o.indexOf(t):t)+c,value:t,offset:c}}).filter(function(t){return!x()(t.coordinate)}):t.isCategorical&&t.categoricalDomain?t.categoricalDomain.map(function(t,e){return{coordinate:r(t)+c,value:t,index:e,offset:c}}):r.ticks&&!n?r.ticks(t.tickCount).map(function(t){return{coordinate:r(t)+c,value:t,offset:c}}):r.domain().map(function(t,e){return{coordinate:r(t)+c,value:o?o[t]:t,index:e,offset:c}})},om=function(t,e,n){var r;return(_()(n)?r=n:_()(e)&&(r=e),_()(t)||r)?function(e,n,o,i){_()(t)&&t(e,n,o,i),_()(r)&&r(e,n,o,i)}:null},og=function(t,e,n){var r=t.scale,o=t.type,i=t.layout,a=t.axisType;if("auto"===r)return"radial"===i&&"radiusAxis"===a?{scale:D.Z(),realScaleType:"band"}:"radial"===i&&"angleAxis"===a?{scale:ee(),realScaleType:"linear"}:"category"===o&&e&&(e.indexOf("LineChart")>=0||e.indexOf("AreaChart")>=0||e.indexOf("ComposedChart")>=0&&!n)?{scale:D.x(),realScaleType:"point"}:"category"===o?{scale:D.Z(),realScaleType:"band"}:{scale:ee(),realScaleType:"linear"};if(g()(r)){var u="scale".concat(v()(r));return{scale:(s[u]||D.x)(),realScaleType:s[u]?u:"point"}}return _()(r)?{scale:r}:{scale:D.x(),realScaleType:"point"}},ob=function(t){var e=t.domain();if(e&&!(e.length<=2)){var n=e.length,r=t.range(),o=Math.min(r[0],r[1])-1e-4,i=Math.max(r[0],r[1])+1e-4,a=t(e[0]),u=t(e[n-1]);(ai||ui)&&t.domain([e[0],e[n-1]])}},ox={sign:function(t){var e=t.length;if(!(e<=0))for(var n=0,r=t[0].length;n=0?(t[a][n][0]=o,t[a][n][1]=o+u,o=t[a][n][1]):(t[a][n][0]=i,t[a][n][1]=i+u,i=t[a][n][1])}},expand:function(t,e){if((r=t.length)>0){for(var n,r,o,i=0,a=t[0].length;i0){for(var n,r=0,o=t[e[0]],i=o.length;r0&&(r=(n=t[e[0]]).length)>0){for(var n,r,o,i=0,a=1;a=0?(t[i][n][0]=o,t[i][n][1]=o+a,o=t[i][n][1]):(t[i][n][0]=0,t[i][n][1]=0)}}},oO=function(t,e,n){var r=e.map(function(t){return t.props.dataKey}),o=ox[n];return(function(){var t=(0,rA.Z)([]),e=rP,n=rS,r=rk;function o(o){var i,a,u=Array.from(t.apply(this,arguments),rM),c=u.length,l=-1;for(let t of o)for(i=0,++l;i=0?r.stackedData[o]:null}}return null},oE=function(t,e,n){return Object.keys(t).reduce(function(r,o){var i=t[o].stackedData.reduce(function(t,r){var o=r.slice(e,n+1).reduce(function(t,e){return[A()(e.concat([t[0]]).filter(r5.hj)),S()(e.concat([t[1]]).filter(r5.hj))]},[1/0,-1/0]);return[Math.min(t[0],o[0]),Math.max(t[1],o[1])]},[1/0,-1/0]);return[Math.min(i[0],r[0]),Math.max(i[1],r[1])]},[1/0,-1/0]).map(function(t){return t===1/0||t===-1/0?0:t})},oA=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,oP=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,ok=function(t,e,n){if(_()(t))return t(e,n);if(!w()(t))return e;var r=[];if((0,r5.hj)(t[0]))r[0]=n?t[0]:Math.min(t[0],e[0]);else if(oA.test(t[0])){var o=+oA.exec(t[0])[1];r[0]=e[0]-o}else _()(t[0])?r[0]=t[0](e[0]):r[0]=e[0];if((0,r5.hj)(t[1]))r[1]=n?t[1]:Math.max(t[1],e[1]);else if(oP.test(t[1])){var i=+oP.exec(t[1])[1];r[1]=e[1]+i}else _()(t[1])?r[1]=t[1](e[1]):r[1]=e[1];return r},oM=function(t,e,n){if(t&&t.scale&&t.scale.bandwidth){var r=t.scale.bandwidth();if(!n||r>0)return r}if(t&&e&&e.length>=2){for(var o=d()(e,function(t){return t.coordinate}),i=1/0,a=1,u=o.length;at.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&void 0!==arguments[1]?arguments[1]:{};if(null==t||r.x.isSsr)return{width:0,height:0};var n="".concat(t),o=Object.keys(e).reduce(function(t,n){var r;return"".concat(t).concat(n.split("").reduce(function(t,e){return e===e.toUpperCase()?[].concat(u(t),["-",e.toLowerCase()]):[].concat(u(t),[e])},[]).join(""),":").concat((r=e[n],f.indexOf(n)>=0&&r===+r?"".concat(r,"px"):r),";")},""),i="".concat(n,"-").concat(o);if(l.widthCache[i])return l.widthCache[i];try{var c=document.getElementById(p);c||((c=document.createElement("span")).setAttribute("id",p),c.setAttribute("aria-hidden","true"),document.body.appendChild(c));var h=a(a({},s),e);Object.keys(h).map(function(t){return c.style[t]=h[t],t}),c.textContent=n;var d=c.getBoundingClientRect(),y={width:d.width,height:d.height};return l.widthCache[i]=y,++l.cacheCount>2e3&&(l.cacheCount=0,l.widthCache={}),y}catch(t){return{width:0,height:0}}},d=function(t){var e=t.ownerDocument.documentElement,n={top:0,left:0};return void 0!==t.getBoundingClientRect&&(n=t.getBoundingClientRect()),{top:n.top+window.pageYOffset-e.clientTop,left:n.left+window.pageXOffset-e.clientLeft}},y=function(t,e){return{chartX:Math.round(t.pageX-e.left),chartY:Math.round(t.pageY-e.top)}}},69055:function(t,e,n){"use strict";n.d(e,{Ap:function(){return j},EL:function(){return g},Kt:function(){return x},P2:function(){return v},bv:function(){return O},h1:function(){return b},hU:function(){return d},hj:function(){return y},k4:function(){return w},uY:function(){return h}});var r=n(27361),o=n.n(r),i=n(1469),a=n.n(i),u=n(7654),c=n.n(u),l=n(81763),s=n.n(l),f=n(47037),p=n.n(f),h=function(t){return 0===t?0:t>0?1:-1},d=function(t){return p()(t)&&t.indexOf("%")===t.length-1},y=function(t){return s()(t)&&!c()(t)},v=function(t){return y(t)||p()(t)},m=0,g=function(t){var e=++m;return"".concat(t||"").concat(e)},b=function(t,e){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!y(t)&&!p()(t))return r;if(d(t)){var i=t.indexOf("%");n=e*parseFloat(t.slice(0,i))/100}else n=+t;return c()(n)&&(n=r),o&&n>e&&(n=e),n},x=function(t){if(!t)return null;var e=Object.keys(t);return e&&e.length?t[e[0]]:null},O=function(t){if(!a()(t))return!1;for(var e=t.length,n={},r=0;r2?n-2:0),o=2;ot.length)&&(e=t.length);for(var n=0,r=Array(e);n2&&void 0!==arguments[2]?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(e-(n.top||0)-(n.bottom||0)))/2},y=function(t,e,n,r,u){var c=t.width,p=t.height,h=t.startAngle,y=t.endAngle,v=(0,i.h1)(t.cx,c,c/2),m=(0,i.h1)(t.cy,p,p/2),g=d(c,p,n),b=(0,i.h1)(t.innerRadius,g,0),x=(0,i.h1)(t.outerRadius,g,.8*g);return Object.keys(e).reduce(function(t,n){var i,c=e[n],p=c.domain,d=c.reversed;if(o()(c.range))"angleAxis"===r?i=[h,y]:"radiusAxis"===r&&(i=[b,x]),d&&(i=[i[1],i[0]]);else{var g,O=function(t){if(Array.isArray(t))return t}(g=i=c.range)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,u=[],c=!0,l=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(u.push(r.value),u.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(g,2)||function(t,e){if(t){if("string"==typeof t)return f(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return f(t,e)}}(g,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();h=O[0],y=O[1]}var w=(0,a.Hq)(c,u),j=w.realScaleType,S=w.scale;S.domain(p).range(i),(0,a.zF)(S);var E=(0,a.g$)(S,l(l({},c),{},{realScaleType:j})),A=l(l(l({},c),E),{},{range:i,radius:x,realScaleType:j,scale:S,cx:v,cy:m,innerRadius:b,outerRadius:x,startAngle:h,endAngle:y});return l(l({},t),{},s({},n,A))},{})},v=function(t,e){var n=t.x,r=t.y;return Math.sqrt(Math.pow(n-e.x,2)+Math.pow(r-e.y,2))},m=function(t,e){var n=t.x,r=t.y,o=e.cx,i=e.cy,a=v({x:n,y:r},{x:o,y:i});if(a<=0)return{radius:a};var u=Math.acos((n-o)/a);return r>i&&(u=2*Math.PI-u),{radius:a,angle:180*u/Math.PI,angleInRadian:u}},g=function(t){var e=t.startAngle,n=t.endAngle,r=Math.min(Math.floor(e/360),Math.floor(n/360));return{startAngle:e-360*r,endAngle:n-360*r}},b=function(t,e){var n,r=m({x:t.x,y:t.y},e),o=r.radius,i=r.angle,a=e.innerRadius,u=e.outerRadius;if(ou)return!1;if(0===o)return!0;var c=g(e),s=c.startAngle,f=c.endAngle,p=i;if(s<=f){for(;p>f;)p-=360;for(;p=s&&p<=f}else{for(;p>s;)p-=360;for(;p=f&&p<=s}return n?l(l({},e),{},{radius:o,angle:p+360*Math.min(Math.floor(e.startAngle/360),Math.floor(e.endAngle/360))}):null}},52017:function(t,e,n){"use strict";n.d(e,{$R:function(){return B},Bh:function(){return R},Gf:function(){return S},L6:function(){return N},NN:function(){return k},TT:function(){return _},eu:function(){return L},rL:function(){return I},sP:function(){return M}});var r=n(13218),o=n.n(r),i=n(23560),a=n.n(i),u=n(47037),c=n.n(u),l=n(27361),s=n.n(l),f=n(14293),p=n.n(f),h=n(1469),d=n.n(h),y=n(67294),v=n(98508),m=n(69055),g=n(30791),b=n(79896),x=["children"],O=["children"];function w(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var j={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart"},S=function(t){return"string"==typeof t?t:t?t.displayName||t.name||"Component":""},E=null,A=null,P=function t(e){if(e===E&&d()(A))return A;var n=[];return y.Children.forEach(e,function(e){p()(e)||((0,v.isFragment)(e)?n=n.concat(t(e.props.children)):n.push(e))}),A=n,E=e,n};function k(t,e){var n=[],r=[];return r=d()(e)?e.map(function(t){return S(t)}):[S(e)],P(t).forEach(function(t){var e=s()(t,"type.displayName")||s()(t,"type.name");-1!==r.indexOf(e)&&n.push(t)}),n}function M(t,e){var n=k(t,e);return n&&n[0]}var _=function(t){if(!t||!t.props)return!1;var e=t.props,n=e.width,r=e.height;return!!(0,m.hj)(n)&&!(n<=0)&&!!(0,m.hj)(r)&&!(r<=0)},T=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],C=function(t,e,n,r){var o,i=null!==(o=null===b.ry||void 0===b.ry?void 0:b.ry[r])&&void 0!==o?o:[];return!a()(t)&&(r&&i.includes(e)||b.Yh.includes(e))||n&&b.nv.includes(e)},N=function(t,e,n){if(!t||"function"==typeof t||"boolean"==typeof t)return null;var r=t;if((0,y.isValidElement)(t)&&(r=t.props),!o()(r))return null;var i={};return Object.keys(r).forEach(function(t){var o;C(null===(o=r)||void 0===o?void 0:o[t],t,e,n)&&(i[t]=r[t])}),i},I=function t(e,n){if(e===n)return!0;var r=y.Children.count(e);if(r!==y.Children.count(n))return!1;if(0===r)return!0;if(1===r)return D(d()(e)?e[0]:e,d()(n)?n[0]:n);for(var o=0;o=0)n.push(t);else if(t){var i=S(t.type),a=e[i]||{},u=a.handler,l=a.once;if(u&&(!l||!r[i])){var s=u(t,i,o);n.push(s),r[i]=!0}}}),n},R=function(t){var e=t&&t.type;return e&&j[e]?j[e]:null},B=function(t,e){return P(e).indexOf(t)}},30791:function(t,e,n){"use strict";function r(t,e){for(var n in t)if(({}).hasOwnProperty.call(t,n)&&(!({}).hasOwnProperty.call(e,n)||t[n]!==e[n]))return!1;for(var r in e)if(({}).hasOwnProperty.call(e,r)&&!({}).hasOwnProperty.call(t,r))return!1;return!0}n.d(e,{w:function(){return r}})},20430:function(t,e,n){"use strict";n.d(e,{z:function(){return l}});var r=n(33558),o=n(35552),i=n(52017);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function u(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function c(t){for(var e=1;e=0))throw Error(`invalid digits: ${t}`);if(e>15)return a;let n=10**e;return function(t){this._+=t[0];for(let e=1,r=t.length;e1e-6){if(Math.abs(f*c-l*s)>1e-6&&i){let h=n-a,d=o-u,y=c*c+l*l,v=Math.sqrt(y),m=Math.sqrt(p),g=i*Math.tan((r-Math.acos((y+p-(h*h+d*d))/(2*v*m)))/2),b=g/m,x=g/v;Math.abs(b-1)>1e-6&&this._append`L${t+b*s},${e+b*f}`,this._append`A${i},${i},0,0,${+(f*h>s*d)},${this._x1=t+x*c},${this._y1=e+x*l}`}else this._append`L${this._x1=t},${this._y1=e}`}}arc(t,e,n,a,u,c){if(t=+t,e=+e,c=!!c,(n=+n)<0)throw Error(`negative radius: ${n}`);let l=n*Math.cos(a),s=n*Math.sin(a),f=t+l,p=e+s,h=1^c,d=c?a-u:u-a;null===this._x1?this._append`M${f},${p}`:(Math.abs(this._x1-f)>1e-6||Math.abs(this._y1-p)>1e-6)&&this._append`L${f},${p}`,n&&(d<0&&(d=d%o+o),d>i?this._append`A${n},${n},0,1,${h},${t-l},${e-s}A${n},${n},0,1,${h},${this._x1=f},${this._y1=p}`:d>1e-6&&this._append`A${n},${n},0,${+(d>=r)},${h},${this._x1=t+n*Math.cos(u)},${this._y1=e+n*Math.sin(u)}`)}rect(t,e,n,r){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}}function c(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(null==n)e=null;else{let t=Math.floor(n);if(!(t>=0))throw RangeError(`invalid digits: ${n}`);e=t}return t},()=>new u(e)}u.prototype}}]); \ No newline at end of file diff --git a/_next/static/chunks/983-3ac0cd224a93f0b1.js b/_next/static/chunks/983-3ac0cd224a93f0b1.js deleted file mode 100644 index a39bd07..0000000 --- a/_next/static/chunks/983-3ac0cd224a93f0b1.js +++ /dev/null @@ -1,12 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[983],{94184:function(t,e){var n;/*! - Copyright (c) 2018 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var t=[],e=0;e(c=(a=Math.ceil(p/7))>c?a+1:c+1)&&(i=c,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for((c=l.length)-(i=s.length)<0&&(i=c,r=s,s=l,l=r),n=0;i;)n=(l[--i]=l[i]+s[i]+n)/1e7|0,l[i]%=1e7;for(n&&(l.unshift(n),++o),c=l.length;0==l[--c];)l.pop();return e.d=l,e.e=o,u?A(e,p):e}function m(t,e,n){if(t!==~~t||tn)throw Error(l+t)}function g(t){var e,n,r,o=t.length-1,i="",a=t[0];if(o>0){for(i+=a,e=1;et.e^this.s<0?1:-1;for(e=0,n=(r=this.d.length)<(o=t.d.length)?r:o;et.d[e]^this.s<0?1:-1;return r===o?0:r>o^this.s<0?1:-1},y.decimalPlaces=y.dp=function(){var t=this.d.length-1,e=(t-this.e)*7;if(t=this.d[t])for(;t%10==0;t/=10)e--;return e<0?0:e},y.dividedBy=y.div=function(t){return b(this,new this.constructor(t))},y.dividedToIntegerBy=y.idiv=function(t){var e=this.constructor;return A(b(this,new e(t),0,1),e.precision)},y.equals=y.eq=function(t){return!this.cmp(t)},y.exponent=function(){return O(this)},y.greaterThan=y.gt=function(t){return this.cmp(t)>0},y.greaterThanOrEqualTo=y.gte=function(t){return this.cmp(t)>=0},y.isInteger=y.isint=function(){return this.e>this.d.length-2},y.isNegative=y.isneg=function(){return this.s<0},y.isPositive=y.ispos=function(){return this.s>0},y.isZero=function(){return 0===this.s},y.lessThan=y.lt=function(t){return 0>this.cmp(t)},y.lessThanOrEqualTo=y.lte=function(t){return 1>this.cmp(t)},y.logarithm=y.log=function(t){var e,n=this.constructor,r=n.precision,o=r+5;if(void 0===t)t=new n(10);else if((t=new n(t)).s<1||t.eq(i))throw Error(c+"NaN");if(this.s<1)throw Error(c+(this.s?"NaN":"-Infinity"));return this.eq(i)?new n(0):(u=!1,e=b(S(this,o),S(t,o),o),u=!0,A(e,r))},y.minus=y.sub=function(t){return t=new this.constructor(t),this.s==t.s?P(this,t):v(this,(t.s=-t.s,t))},y.modulo=y.mod=function(t){var e,n=this.constructor,r=n.precision;if(!(t=new n(t)).s)throw Error(c+"NaN");return this.s?(u=!1,e=b(this,t,0,1).times(t),u=!0,this.minus(e)):A(new n(this),r)},y.naturalExponential=y.exp=function(){return x(this)},y.naturalLogarithm=y.ln=function(){return S(this)},y.negated=y.neg=function(){var t=new this.constructor(this);return t.s=-t.s||0,t},y.plus=y.add=function(t){return t=new this.constructor(t),this.s==t.s?v(this,t):P(this,(t.s=-t.s,t))},y.precision=y.sd=function(t){var e,n,r;if(void 0!==t&&!!t!==t&&1!==t&&0!==t)throw Error(l+t);if(e=O(this)+1,n=7*(r=this.d.length-1)+1,r=this.d[r]){for(;r%10==0;r/=10)n--;for(r=this.d[0];r>=10;r/=10)n++}return t&&e>n?e:n},y.squareRoot=y.sqrt=function(){var t,e,n,r,o,i,a,l=this.constructor;if(this.s<1){if(!this.s)return new l(0);throw Error(c+"NaN")}for(t=O(this),u=!1,0==(o=Math.sqrt(+this))||o==1/0?(((e=g(this.d)).length+t)%2==0&&(e+="0"),o=Math.sqrt(e),t=f((t+1)/2)-(t<0||t%2),e=o==1/0?"5e"+t:(e=o.toExponential()).slice(0,e.indexOf("e")+1)+t,r=new l(e)):r=new l(o.toString()),o=a=(n=l.precision)+3;;)if(r=(i=r).plus(b(this,i,a+2)).times(.5),g(i.d).slice(0,a)===(e=g(r.d)).slice(0,a)){if(e=e.slice(a-3,a+1),o==a&&"4999"==e){if(A(i,n+1,0),i.times(i).eq(this)){r=i;break}}else if("9999"!=e)break;a+=4}return u=!0,A(r,n)},y.times=y.mul=function(t){var e,n,r,o,i,a,c,l,s,f=this.constructor,p=this.d,h=(t=new f(t)).d;if(!this.s||!t.s)return new f(0);for(t.s*=this.s,n=this.e+t.e,(l=p.length)<(s=h.length)&&(i=p,p=h,h=i,a=l,l=s,s=a),i=[],r=a=l+s;r--;)i.push(0);for(r=s;--r>=0;){for(e=0,o=l+r;o>r;)c=i[o]+h[r]*p[o-r-1]+e,i[o--]=c%1e7|0,e=c/1e7|0;i[o]=(i[o]+e)%1e7|0}for(;!i[--a];)i.pop();return e?++n:i.shift(),t.d=i,t.e=n,u?A(t,f.precision):t},y.toDecimalPlaces=y.todp=function(t,e){var n=this,r=n.constructor;return(n=new r(n),void 0===t)?n:(m(t,0,1e9),void 0===e?e=r.rounding:m(e,0,8),A(n,t+O(n)+1,e))},y.toExponential=function(t,e){var n,r=this,o=r.constructor;return void 0===t?n=k(r,!0):(m(t,0,1e9),void 0===e?e=o.rounding:m(e,0,8),n=k(r=A(new o(r),t+1,e),!0,t+1)),n},y.toFixed=function(t,e){var n,r,o=this.constructor;return void 0===t?k(this):(m(t,0,1e9),void 0===e?e=o.rounding:m(e,0,8),n=k((r=A(new o(this),t+O(this)+1,e)).abs(),!1,t+O(r)+1),this.isneg()&&!this.isZero()?"-"+n:n)},y.toInteger=y.toint=function(){var t=this.constructor;return A(new t(this),O(this)+1,t.rounding)},y.toNumber=function(){return+this},y.toPower=y.pow=function(t){var e,n,r,o,a,l,s=this,p=s.constructor,h=+(t=new p(t));if(!t.s)return new p(i);if(!(s=new p(s)).s){if(t.s<1)throw Error(c+"Infinity");return s}if(s.eq(i))return s;if(r=p.precision,t.eq(i))return A(s,r);if(l=(e=t.e)>=(n=t.d.length-1),a=s.s,l){if((n=h<0?-h:h)<=9007199254740991){for(o=new p(i),e=Math.ceil(r/7+4),u=!1;n%2&&M((o=o.times(s)).d,e),0!==(n=f(n/2));)M((s=s.times(s)).d,e);return u=!0,t.s<0?new p(i).div(o):A(o,r)}}else if(a<0)throw Error(c+"NaN");return a=a<0&&1&t.d[Math.max(e,n)]?-1:1,s.s=1,u=!1,o=t.times(S(s,r+12)),u=!0,(o=x(o)).s=a,o},y.toPrecision=function(t,e){var n,r,o=this,i=o.constructor;return void 0===t?(n=O(o),r=k(o,n<=i.toExpNeg||n>=i.toExpPos)):(m(t,1,1e9),void 0===e?e=i.rounding:m(e,0,8),n=O(o=A(new i(o),t,e)),r=k(o,t<=n||n<=i.toExpNeg,t)),r},y.toSignificantDigits=y.tosd=function(t,e){var n=this.constructor;return void 0===t?(t=n.precision,e=n.rounding):(m(t,1,1e9),void 0===e?e=n.rounding:m(e,0,8)),A(new n(this),t,e)},y.toString=y.valueOf=y.val=y.toJSON=function(){var t=O(this),e=this.constructor;return k(this,t<=e.toExpNeg||t>=e.toExpPos)};var b=function(){function t(t,e){var n,r=0,o=t.length;for(t=t.slice();o--;)n=t[o]*e+r,t[o]=n%1e7|0,r=n/1e7|0;return r&&t.unshift(r),t}function e(t,e,n,r){var o,i;if(n!=r)i=n>r?1:-1;else for(o=i=0;oe[o]?1:-1;break}return i}function n(t,e,n){for(var r=0;n--;)t[n]-=r,r=t[n]1;)t.shift()}return function(r,o,i,a){var u,l,s,f,p,h,d,y,v,m,g,b,x,w,j,S,E,P,k=r.constructor,M=r.s==o.s?1:-1,T=r.d,_=o.d;if(!r.s)return new k(r);if(!o.s)throw Error(c+"Division by zero");for(s=0,l=r.e-o.e,E=_.length,j=T.length,y=(d=new k(M)).d=[];_[s]==(T[s]||0);)++s;if(_[s]>(T[s]||0)&&--l,(b=null==i?i=k.precision:a?i+(O(r)-O(o))+1:i)<0)return new k(0);if(b=b/7+2|0,s=0,1==E)for(f=0,_=_[0],b++;(s1&&(_=t(_,f),T=t(T,f),E=_.length,j=T.length),w=E,m=(v=T.slice(0,E)).length;m=1e7/2&&++S;do f=0,(u=e(_,v,E,m))<0?(g=v[0],E!=m&&(g=1e7*g+(v[1]||0)),(f=g/S|0)>1?(f>=1e7&&(f=1e7-1),h=(p=t(_,f)).length,m=v.length,1==(u=e(p,v,h,m))&&(f--,n(p,E16)throw Error(s+O(t));if(!t.s)return new h(i);for(null==e?(u=!1,c=d):c=e,a=new h(.03125);t.abs().gte(.1);)t=t.times(a),f+=5;for(c+=Math.log(p(2,f))/Math.LN10*2+5|0,n=r=o=new h(i),h.precision=c;;){if(r=A(r.times(t),c),n=n.times(++l),g((a=o.plus(b(r,n,c))).d).slice(0,c)===g(o.d).slice(0,c)){for(;f--;)o=A(o.times(o),c);return h.precision=d,null==e?(u=!0,A(o,d)):o}o=a}}function O(t){for(var e=7*t.e,n=t.d[0];n>=10;n/=10)e++;return e}function w(t,e,n){if(e>t.LN10.sd())throw u=!0,n&&(t.precision=n),Error(c+"LN10 precision limit exceeded");return A(new t(t.LN10),e)}function j(t){for(var e="";t--;)e+="0";return e}function S(t,e){var n,r,o,a,l,s,f,p,h,d=1,y=t,v=y.d,m=y.constructor,x=m.precision;if(y.s<1)throw Error(c+(y.s?"NaN":"-Infinity"));if(y.eq(i))return new m(0);if(null==e?(u=!1,p=x):p=e,y.eq(10))return null==e&&(u=!0),w(m,p);if(p+=10,m.precision=p,r=(n=g(v)).charAt(0),!(15e14>Math.abs(a=O(y))))return f=w(m,p+2,x).times(a+""),y=S(new m(r+"."+n.slice(1)),p-10).plus(f),m.precision=x,null==e?(u=!0,A(y,x)):y;for(;r<7&&1!=r||1==r&&n.charAt(1)>3;)r=(n=g((y=y.times(t)).d)).charAt(0),d++;for(a=O(y),r>1?(y=new m("0."+n),a++):y=new m(r+"."+n.slice(1)),s=l=y=b(y.minus(i),y.plus(i),p),h=A(y.times(y),p),o=3;;){if(l=A(l.times(h),p),g((f=s.plus(b(l,new m(o),p))).d).slice(0,p)===g(s.d).slice(0,p))return s=s.times(2),0!==a&&(s=s.plus(w(m,p+2,x).times(a+""))),s=b(s,new m(d),p),m.precision=x,null==e?(u=!0,A(s,x)):s;s=f,o+=2}}function E(t,e){var n,r,o;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;48===e.charCodeAt(r);)++r;for(o=e.length;48===e.charCodeAt(o-1);)--o;if(e=e.slice(r,o)){if(o-=r,n=n-r-1,t.e=f(n/7),t.d=[],r=(n+1)%7,n<0&&(r+=7),rd||t.e<-d))throw Error(s+n)}else t.s=0,t.e=0,t.d=[0];return t}function A(t,e,n){var r,o,i,a,c,l,h,y,v=t.d;for(a=1,i=v[0];i>=10;i/=10)a++;if((r=e-a)<0)r+=7,o=e,h=v[y=0];else{if(y=Math.ceil((r+1)/7),i=v.length,y>=i)return t;for(a=1,h=i=v[y];i>=10;i/=10)a++;r%=7,o=r-7+a}if(void 0!==n&&(c=h/(i=p(10,a-o-1))%10|0,l=e<0||void 0!==v[y+1]||h%i,l=n<4?(c||l)&&(0==n||n==(t.s<0?3:2)):c>5||5==c&&(4==n||l||6==n&&(r>0?o>0?h/p(10,a-o):0:v[y-1])%10&1||n==(t.s<0?8:7))),e<1||!v[0])return l?(i=O(t),v.length=1,e=e-i-1,v[0]=p(10,(7-e%7)%7),t.e=f(-e/7)||0):(v.length=1,v[0]=t.e=t.s=0),t;if(0==r?(v.length=y,i=1,y--):(v.length=y+1,i=p(10,7-r),v[y]=o>0?(h/p(10,a-o)%p(10,o)|0)*i:0),l)for(;;){if(0==y){1e7==(v[0]+=i)&&(v[0]=1,++t.e);break}if(v[y]+=i,1e7!=v[y])break;v[y--]=0,i=1}for(r=v.length;0===v[--r];)v.pop();if(u&&(t.e>d||t.e<-d))throw Error(s+O(t));return t}function P(t,e){var n,r,o,i,a,c,l,s,f,p,h=t.constructor,d=h.precision;if(!t.s||!e.s)return e.s?e.s=-e.s:e=new h(t),u?A(e,d):e;if(l=t.d,p=e.d,r=e.e,s=t.e,l=l.slice(),a=s-r){for((f=a<0)?(n=l,a=-a,c=p.length):(n=p,r=s,c=l.length),o=Math.max(Math.ceil(d/7),c)+2,a>o&&(a=o,n.length=1),n.reverse(),o=a;o--;)n.push(0);n.reverse()}else{for((f=(o=l.length)<(c=p.length))&&(c=o),o=0;o0;--o)l[c++]=0;for(o=p.length;o>a;){if(l[--o]0?i=i.charAt(0)+"."+i.slice(1)+j(r):a>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(o<0?"e":"e+")+o):o<0?(i="0."+j(-o-1)+i,n&&(r=n-a)>0&&(i+=j(r))):o>=a?(i+=j(o+1-a),n&&(r=n-o-1)>0&&(i=i+"."+j(r))):((r=o+1)0&&(o+1===a&&(i+="."),i+=j(r))),t.s<0?"-"+i:i}function M(t,e){if(t.length>e)return t.length=e,!0}function T(t){if(!t||"object"!=typeof t)throw Error(c+"Object expected");var e,n,r,o=["precision",1,1e9,"rounding",0,8,"toExpNeg",-1/0,0,"toExpPos",0,1/0];for(e=0;e=o[e+1]&&r<=o[e+2])this[n]=r;else throw Error(l+n+": "+r)}if(void 0!==(r=t[n="LN10"])){if(r==Math.LN10)this[n]=new this(r);else throw Error(l+n+": "+r)}return this}(a=function t(e){var n,r,o;function i(t){var e=this;if(!(e instanceof i))return new i(t);if(e.constructor=i,t instanceof i){e.s=t.s,e.e=t.e,e.d=(t=t.d)?t.slice():t;return}if("number"==typeof t){if(0*t!=0)throw Error(l+t);if(t>0)e.s=1;else if(t<0)t=-t,e.s=-1;else{e.s=0,e.e=0,e.d=[0];return}if(t===~~t&&t<1e7){e.e=0,e.d=[t];return}return E(e,t.toString())}if("string"!=typeof t)throw Error(l+t);if(45===t.charCodeAt(0)?(t=t.slice(1),e.s=-1):e.s=1,h.test(t))E(e,t);else throw Error(l+t)}if(i.prototype=y,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=t,i.config=i.set=T,void 0===e&&(e={}),e)for(n=0,o=["precision","rounding","toExpNeg","toExpPos","LN10"];n-1}},1196:function(t){t.exports=function(t,e,n){for(var r=-1,o=null==t?0:t.length;++r0&&i(s)?n>1?t(s,n-1,i,a,u):r(u,s):a||(u[u.length]=s)}return u}},28483:function(t,e,n){var r=n(25063)();t.exports=r},47816:function(t,e,n){var r=n(28483),o=n(3674);t.exports=function(t,e){return t&&r(t,e,o)}},97786:function(t,e,n){var r=n(71811),o=n(40327);t.exports=function(t,e){e=r(e,t);for(var n=0,i=e.length;null!=t&&ne}},13:function(t){t.exports=function(t,e){return null!=t&&e in Object(t)}},42118:function(t,e,n){var r=n(41848),o=n(62722),i=n(42351);t.exports=function(t,e,n){return e==e?i(t,e,n):r(t,o,n)}},9454:function(t,e,n){var r=n(44239),o=n(37005);t.exports=function(t){return o(t)&&"[object Arguments]"==r(t)}},90939:function(t,e,n){var r=n(2492),o=n(37005);t.exports=function t(e,n,i,a,u){return e===n||(null!=e&&null!=n&&(o(e)||o(n))?r(e,n,i,a,t,u):e!=e&&n!=n)}},2492:function(t,e,n){var r=n(46384),o=n(67114),i=n(18351),a=n(16096),u=n(64160),c=n(1469),l=n(44144),s=n(36719),f="[object Arguments]",p="[object Array]",h="[object Object]",d=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,y,v,m){var g=c(t),b=c(e),x=g?p:u(t),O=b?p:u(e);x=x==f?h:x,O=O==f?h:O;var w=x==h,j=O==h,S=x==O;if(S&&l(t)){if(!l(e))return!1;g=!0,w=!1}if(S&&!w)return m||(m=new r),g||s(t)?o(t,e,n,y,v,m):i(t,e,x,n,y,v,m);if(!(1&n)){var E=w&&d.call(t,"__wrapped__"),A=j&&d.call(e,"__wrapped__");if(E||A){var P=E?t.value():t,k=A?e.value():e;return m||(m=new r),v(P,k,n,y,m)}}return!!S&&(m||(m=new r),a(t,e,n,y,v,m))}},2958:function(t,e,n){var r=n(46384),o=n(90939);t.exports=function(t,e,n,i){var a=n.length,u=a,c=!i;if(null==t)return!u;for(t=Object(t);a--;){var l=n[a];if(c&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++ao?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var i=Array(o);++r=200){var y=e?null:u(t);if(y)return c(y);p=!1,s=a,d=new r}else d=e?[]:h;t:for(;++l=o?t:r(t,e,n)}},26393:function(t,e,n){var r=n(33448);t.exports=function(t,e){if(t!==e){var n=void 0!==t,o=null===t,i=t==t,a=r(t),u=void 0!==e,c=null===e,l=e==e,s=r(e);if(!c&&!s&&!a&&t>e||a&&u&&l&&!c&&!s||o&&u&&l||!n&&l||!i)return 1;if(!o&&!a&&!s&&t=c)return l;return l*("desc"==n[o]?-1:1)}}return t.index-e.index}},14429:function(t,e,n){var r=n(55639)["__core-js_shared__"];t.exports=r},99291:function(t,e,n){var r=n(98612);t.exports=function(t,e){return function(n,o){if(null==n)return n;if(!r(n))return t(n,o);for(var i=n.length,a=e?i:-1,u=Object(n);(e?a--:++a-1?u[c?e[l]:l]:void 0}}},47445:function(t,e,n){var r=n(40098),o=n(16612),i=n(18601);t.exports=function(t){return function(e,n,a){return a&&"number"!=typeof a&&o(e,n,a)&&(n=a=void 0),e=i(e),void 0===n?(n=e,e=0):n=i(n),a=void 0===a?es))return!1;var p=c.get(t),h=c.get(e);if(p&&h)return p==e&&h==t;var d=-1,y=!0,v=2&n?new r:void 0;for(c.set(t,e),c.set(e,t);++d-1&&t%1==0&&t-1}},54705:function(t,e,n){var r=n(18470);t.exports=function(t,e){var n=this.__data__,o=r(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}},24785:function(t,e,n){var r=n(1989),o=n(38407),i=n(57071);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(i||o),string:new r}}},11285:function(t,e,n){var r=n(45050);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e}},96e3:function(t,e,n){var r=n(45050);t.exports=function(t){return r(this,t).get(t)}},49916:function(t,e,n){var r=n(45050);t.exports=function(t){return r(this,t).has(t)}},95265:function(t,e,n){var r=n(45050);t.exports=function(t,e){var n=r(this,t),o=n.size;return n.set(t,e),this.size+=n.size==o?0:1,this}},68776:function(t){t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}},42634:function(t){t.exports=function(t,e){return function(n){return null!=n&&n[t]===e&&(void 0!==e||t in Object(n))}}},24523:function(t,e,n){var r=n(88306);t.exports=function(t){var e=r(t,function(t){return 500===n.size&&n.clear(),t}),n=e.cache;return e}},94536:function(t,e,n){var r=n(10852)(Object,"create");t.exports=r},86916:function(t,e,n){var r=n(5569)(Object.keys,Object);t.exports=r},31167:function(t,e,n){t=n.nmd(t);var r=n(31957),o=e&&!e.nodeType&&e,i=o&&t&&!t.nodeType&&t,a=i&&i.exports===o&&r.process,u=function(){try{var t=i&&i.require&&i.require("util").types;if(t)return t;return a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=u},2333:function(t){var e=Object.prototype.toString;t.exports=function(t){return e.call(t)}},5569:function(t){t.exports=function(t,e){return function(n){return t(e(n))}}},45357:function(t,e,n){var r=n(96874),o=Math.max;t.exports=function(t,e,n){return e=o(void 0===e?t.length-1:e,0),function(){for(var i=arguments,a=-1,u=o(i.length-e,0),c=Array(u);++a0){if(++n>=800)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}},37465:function(t,e,n){var r=n(38407);t.exports=function(){this.__data__=new r,this.size=0}},63779:function(t){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},67599:function(t){t.exports=function(t){return this.__data__.get(t)}},44758:function(t){t.exports=function(t){return this.__data__.has(t)}},34309:function(t,e,n){var r=n(38407),o=n(57071),i=n(83369);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!o||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new i(a)}return n.set(t,e),this.size=n.size,this}},42351:function(t){t.exports=function(t,e,n){for(var r=n-1,o=t.length;++r=e||n<0||v&&r>=s}function x(){var t,n,r,i=o();if(b(i))return O(i);p=setTimeout(x,(t=i-h,n=i-d,r=e-t,v?u(r,s-n):r))}function O(t){return(p=void 0,m&&c)?g(t):(c=l=void 0,f)}function w(){var t,n=o(),r=b(n);if(c=arguments,l=this,h=n,r){if(void 0===p)return d=t=h,p=setTimeout(x,e),y?g(t):f;if(v)return clearTimeout(p),p=setTimeout(x,e),g(h)}return void 0===p&&(p=setTimeout(x,e)),f}return e=i(e)||0,r(n)&&(y=!!n.leading,s=(v="maxWait"in n)?a(i(n.maxWait)||0,e):s,m="trailing"in n?!!n.trailing:m),w.cancel=function(){void 0!==p&&clearTimeout(p),d=0,c=h=l=p=void 0},w.flush=function(){return void 0===p?f:O(o())},w}},77813:function(t){t.exports=function(t,e){return t===e||t!=t&&e!=e}},711:function(t,e,n){var r=n(66193),o=n(93239),i=n(67206),a=n(1469),u=n(16612);t.exports=function(t,e,n){var c=a(t)?r:o;return n&&u(t,e,n)&&(e=void 0),c(t,i(e,3))}},13311:function(t,e,n){var r=n(67740)(n(30998));t.exports=r},30998:function(t,e,n){var r=n(41848),o=n(67206),i=n(40554),a=Math.max;t.exports=function(t,e,n){var u=null==t?0:t.length;if(!u)return -1;var c=null==n?0:i(n);return c<0&&(c=a(u+c,0)),r(t,o(e,3),c)}},94654:function(t,e,n){var r=n(21078),o=n(35161);t.exports=function(t,e){return r(o(t,e),1)}},27361:function(t,e,n){var r=n(97786);t.exports=function(t,e,n){var o=null==t?void 0:r(t,e);return void 0===o?n:o}},79095:function(t,e,n){var r=n(13),o=n(222);t.exports=function(t,e){return null!=t&&o(t,e,r)}},6557:function(t){t.exports=function(t){return t}},35694:function(t,e,n){var r=n(9454),o=n(37005),i=Object.prototype,a=i.hasOwnProperty,u=i.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(t){return o(t)&&a.call(t,"callee")&&!u.call(t,"callee")};t.exports=c},1469:function(t){var e=Array.isArray;t.exports=e},98612:function(t,e,n){var r=n(23560),o=n(41780);t.exports=function(t){return null!=t&&o(t.length)&&!r(t)}},51584:function(t,e,n){var r=n(44239),o=n(37005);t.exports=function(t){return!0===t||!1===t||o(t)&&"[object Boolean]"==r(t)}},44144:function(t,e,n){t=n.nmd(t);var r=n(55639),o=n(95062),i=e&&!e.nodeType&&e,a=i&&t&&!t.nodeType&&t,u=a&&a.exports===i?r.Buffer:void 0,c=u?u.isBuffer:void 0;t.exports=c||o},18446:function(t,e,n){var r=n(90939);t.exports=function(t,e){return r(t,e)}},23560:function(t,e,n){var r=n(44239),o=n(13218);t.exports=function(t){if(!o(t))return!1;var e=r(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},41780:function(t){t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},7654:function(t,e,n){var r=n(81763);t.exports=function(t){return r(t)&&t!=+t}},14293:function(t){t.exports=function(t){return null==t}},81763:function(t,e,n){var r=n(44239),o=n(37005);t.exports=function(t){return"number"==typeof t||o(t)&&"[object Number]"==r(t)}},13218:function(t){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},37005:function(t){t.exports=function(t){return null!=t&&"object"==typeof t}},68630:function(t,e,n){var r=n(44239),o=n(85924),i=n(37005),a=Object.prototype,u=Function.prototype.toString,c=a.hasOwnProperty,l=u.call(Object);t.exports=function(t){if(!i(t)||"[object Object]"!=r(t))return!1;var e=o(t);if(null===e)return!0;var n=c.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&u.call(n)==l}},47037:function(t,e,n){var r=n(44239),o=n(1469),i=n(37005);t.exports=function(t){return"string"==typeof t||!o(t)&&i(t)&&"[object String]"==r(t)}},33448:function(t,e,n){var r=n(44239),o=n(37005);t.exports=function(t){return"symbol"==typeof t||o(t)&&"[object Symbol]"==r(t)}},36719:function(t,e,n){var r=n(38749),o=n(7518),i=n(31167),a=i&&i.isTypedArray,u=a?o(a):r;t.exports=u},3674:function(t,e,n){var r=n(14636),o=n(280),i=n(98612);t.exports=function(t){return i(t)?r(t):o(t)}},10928:function(t){t.exports=function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}},35161:function(t,e,n){var r=n(29932),o=n(67206),i=n(69199),a=n(1469);t.exports=function(t,e){return(a(t)?r:i)(t,o(e,3))}},66604:function(t,e,n){var r=n(89465),o=n(47816),i=n(67206);t.exports=function(t,e){var n={};return e=i(e,3),o(t,function(t,o,i){r(n,o,e(t,o,i))}),n}},6162:function(t,e,n){var r=n(56029),o=n(53325),i=n(6557);t.exports=function(t){return t&&t.length?r(t,i,o):void 0}},84753:function(t,e,n){var r=n(56029),o=n(53325),i=n(67206);t.exports=function(t,e){return t&&t.length?r(t,i(e,2),o):void 0}},88306:function(t,e,n){var r=n(83369);function o(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw TypeError("Expected a function");var n=function(){var r=arguments,o=e?e.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=t.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(o.Cache||r),n}o.Cache=r,t.exports=o},53632:function(t,e,n){var r=n(56029),o=n(70433),i=n(6557);t.exports=function(t){return t&&t.length?r(t,i,o):void 0}},22762:function(t,e,n){var r=n(56029),o=n(67206),i=n(70433);t.exports=function(t,e){return t&&t.length?r(t,o(e,2),i):void 0}},50308:function(t){t.exports=function(){}},7771:function(t,e,n){var r=n(55639);t.exports=function(){return r.Date.now()}},39601:function(t,e,n){var r=n(40371),o=n(79152),i=n(15403),a=n(40327);t.exports=function(t){return i(t)?r(a(t)):o(t)}},96026:function(t,e,n){var r=n(47445)();t.exports=r},59704:function(t,e,n){var r=n(82908),o=n(67206),i=n(5076),a=n(1469),u=n(16612);t.exports=function(t,e,n){var c=a(t)?r:i;return n&&u(t,e,n)&&(e=void 0),c(t,o(e,3))}},86173:function(t,e,n){var r=n(21078),o=n(82689),i=n(5976),a=n(16612),u=i(function(t,e){if(null==t)return[];var n=e.length;return n>1&&a(t,e[0],e[1])?e=[]:n>2&&a(e[0],e[1],e[2])&&(e=[e[0]]),o(t,r(e,1),[])});t.exports=u},70479:function(t){t.exports=function(){return[]}},95062:function(t){t.exports=function(){return!1}},23493:function(t,e,n){var r=n(23279),o=n(13218);t.exports=function(t,e,n){var i=!0,a=!0;if("function"!=typeof t)throw TypeError("Expected a function");return o(n)&&(i="leading"in n?!!n.leading:i,a="trailing"in n?!!n.trailing:a),r(t,e,{leading:i,maxWait:e,trailing:a})}},18601:function(t,e,n){var r=n(14841),o=1/0;t.exports=function(t){return t?(t=r(t))===o||t===-o?(t<0?-1:1)*17976931348623157e292:t==t?t:0:0===t?t:0}},40554:function(t,e,n){var r=n(18601);t.exports=function(t){var e=r(t),n=e%1;return e==e?n?e-n:e:0}},14841:function(t,e,n){var r=n(27561),o=n(13218),i=n(33448),a=0/0,u=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,l=/^0o[0-7]+$/i,s=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(i(t))return a;if(o(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=o(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=r(t);var n=c.test(t);return n||l.test(t)?s(t.slice(2),n?2:8):u.test(t)?a:+t}},79833:function(t,e,n){var r=n(80531);t.exports=function(t){return null==t?"":r(t)}},45578:function(t,e,n){var r=n(67206),o=n(45652);t.exports=function(t,e){return t&&t.length?o(t,r(e,2)):[]}},11700:function(t,e,n){var r=n(98805)("toUpperCase");t.exports=r},46871:function(t,e,n){"use strict";function r(){var t=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=t&&this.setState(t)}function o(t){this.setState((function(e){var n=this.constructor.getDerivedStateFromProps(t,e);return null!=n?n:null}).bind(this))}function i(t,e){try{var n=this.props,r=this.state;this.props=t,this.state=e,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}function a(t){var e=t.prototype;if(!e||!e.isReactComponent)throw Error("Can only polyfill class components");if("function"!=typeof t.getDerivedStateFromProps&&"function"!=typeof e.getSnapshotBeforeUpdate)return t;var n=null,a=null,u=null;if("function"==typeof e.componentWillMount?n="componentWillMount":"function"==typeof e.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof e.componentWillReceiveProps?a="componentWillReceiveProps":"function"==typeof e.UNSAFE_componentWillReceiveProps&&(a="UNSAFE_componentWillReceiveProps"),"function"==typeof e.componentWillUpdate?u="componentWillUpdate":"function"==typeof e.UNSAFE_componentWillUpdate&&(u="UNSAFE_componentWillUpdate"),null!==n||null!==a||null!==u)throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+(t.displayName||t.name)+" uses "+("function"==typeof t.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()")+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==a?"\n "+a:"")+(null!==u?"\n "+u:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks");if("function"==typeof t.getDerivedStateFromProps&&(e.componentWillMount=r,e.componentWillReceiveProps=o),"function"==typeof e.getSnapshotBeforeUpdate){if("function"!=typeof e.componentDidUpdate)throw Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");e.componentWillUpdate=i;var c=e.componentDidUpdate;e.componentDidUpdate=function(t,e,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;c.call(this,t,e,r)}}return t}n.r(e),n.d(e,{polyfill:function(){return a}}),r.__suppressDeprecationWarning=!0,o.__suppressDeprecationWarning=!0,i.__suppressDeprecationWarning=!0},93801:function(t,e,n){"use strict";n.d(e,{ZP:function(){return tz},bO:function(){return G}});var r=n(67294),o=n(45697),i=n.n(o),a=Object.getOwnPropertyNames,u=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty;function l(t,e){return function(n,r,o){return t(n,r,o)&&e(n,r,o)}}function s(t){return function(e,n,r){if(!e||!n||"object"!=typeof e||"object"!=typeof n)return t(e,n,r);var o=r.cache,i=o.get(e),a=o.get(n);if(i&&a)return i===n&&a===e;o.set(e,n),o.set(n,e);var u=t(e,n,r);return o.delete(e),o.delete(n),u}}function f(t){return a(t).concat(u(t))}var p=Object.hasOwn||function(t,e){return c.call(t,e)};function h(t,e){return t||e?t===e:t===e||t!=t&&e!=e}var d="_owner",y=Object.getOwnPropertyDescriptor,v=Object.keys;function m(t,e,n){var r=t.length;if(e.length!==r)return!1;for(;r-- >0;)if(!n.equals(t[r],e[r],r,r,t,e,n))return!1;return!0}function g(t,e){return h(t.getTime(),e.getTime())}function b(t,e,n){if(t.size!==e.size)return!1;for(var r,o,i={},a=t.entries(),u=0;(r=a.next())&&!r.done;){for(var c=e.entries(),l=!1,s=0;(o=c.next())&&!o.done;){var f=r.value,p=f[0],h=f[1],d=o.value,y=d[0],v=d[1];!l&&!i[s]&&(l=n.equals(p,y,u,s,t,e,n)&&n.equals(h,v,p,y,t,e,n))&&(i[s]=!0),s++}if(!l)return!1;u++}return!0}function x(t,e,n){var r,o=v(t),i=o.length;if(v(e).length!==i)return!1;for(;i-- >0;)if((r=o[i])===d&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!p(e,r)||!n.equals(t[r],e[r],r,r,t,e,n))return!1;return!0}function O(t,e,n){var r,o,i,a=f(t),u=a.length;if(f(e).length!==u)return!1;for(;u-- >0;)if((r=a[u])===d&&(t.$$typeof||e.$$typeof)&&t.$$typeof!==e.$$typeof||!p(e,r)||!n.equals(t[r],e[r],r,r,t,e,n)||(o=y(t,r),i=y(e,r),(o||i)&&(!o||!i||o.configurable!==i.configurable||o.enumerable!==i.enumerable||o.writable!==i.writable)))return!1;return!0}function w(t,e){return h(t.valueOf(),e.valueOf())}function j(t,e){return t.source===e.source&&t.flags===e.flags}function S(t,e,n){if(t.size!==e.size)return!1;for(var r,o,i={},a=t.values();(r=a.next())&&!r.done;){for(var u=e.values(),c=!1,l=0;(o=u.next())&&!o.done;)!c&&!i[l]&&(c=n.equals(r.value,o.value,r.value,o.value,t,e,n))&&(i[l]=!0),l++;if(!c)return!1}return!0}function E(t,e){var n=t.length;if(e.length!==n)return!1;for(;n-- >0;)if(t[n]!==e[n])return!1;return!0}var A=Array.isArray,P="function"==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView:null,k=Object.assign,M=Object.prototype.toString.call.bind(Object.prototype.toString),T=_();function _(t){void 0===t&&(t={});var e,n,r,o,i,a,u,c,f,p=t.circular,h=t.createInternalComparator,d=t.createState,y=t.strict,v=(n=(e=function(t){var e=t.circular,n=t.createCustomConfig,r=t.strict,o={areArraysEqual:r?O:m,areDatesEqual:g,areMapsEqual:r?l(b,O):b,areObjectsEqual:r?O:x,arePrimitiveWrappersEqual:w,areRegExpsEqual:j,areSetsEqual:r?l(S,O):S,areTypedArraysEqual:r?O:E};if(n&&(o=k({},o,n(o))),e){var i=s(o.areArraysEqual),a=s(o.areMapsEqual),u=s(o.areObjectsEqual),c=s(o.areSetsEqual);o=k({},o,{areArraysEqual:i,areMapsEqual:a,areObjectsEqual:u,areSetsEqual:c})}return o}(t)).areArraysEqual,r=e.areDatesEqual,o=e.areMapsEqual,i=e.areObjectsEqual,a=e.arePrimitiveWrappersEqual,u=e.areRegExpsEqual,c=e.areSetsEqual,f=e.areTypedArraysEqual,function(t,e,l){if(t===e)return!0;if(null==t||null==e||"object"!=typeof t||"object"!=typeof e)return t!=t&&e!=e;var s=t.constructor;if(s!==e.constructor)return!1;if(s===Object)return i(t,e,l);if(A(t))return n(t,e,l);if(null!=P&&P(t))return f(t,e,l);if(s===Date)return r(t,e,l);if(s===RegExp)return u(t,e,l);if(s===Map)return o(t,e,l);if(s===Set)return c(t,e,l);var p=M(t);return"[object Date]"===p?r(t,e,l):"[object RegExp]"===p?u(t,e,l):"[object Map]"===p?o(t,e,l):"[object Set]"===p?c(t,e,l):"[object Object]"===p?"function"!=typeof t.then&&"function"!=typeof e.then&&i(t,e,l):"[object Arguments]"===p?i(t,e,l):("[object Boolean]"===p||"[object Number]"===p||"[object String]"===p)&&a(t,e,l)}),T=h?h(v):function(t,e,n,r,o,i,a){return v(t,e,a)};return function(t){var e=t.circular,n=t.comparator,r=t.createState,o=t.equals,i=t.strict;if(r)return function(t,a){var u=r(),c=u.cache;return n(t,a,{cache:void 0===c?e?new WeakMap:void 0:c,equals:o,meta:u.meta,strict:i})};if(e)return function(t,e){return n(t,e,{cache:new WeakMap,equals:o,meta:void 0,strict:i})};var a={cache:void 0,equals:o,meta:void 0,strict:i};return function(t,e){return n(t,e,a)}}({circular:void 0!==p&&p,comparator:v,createState:d,equals:T,strict:void 0!==y&&y})}function C(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=-1;requestAnimationFrame(function r(o){if(n<0&&(n=o),o-n>e)t(o),n=-1;else{var i;i=r,"undefined"!=typeof requestAnimationFrame&&requestAnimationFrame(i)}})}function N(t){return(N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function I(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);nt.length)&&(e=t.length);for(var n=0,r=Array(e);n=0&&t<=1}),"[configBezier]: arguments should be x1, y1, x2, y2 of [0, 1] instead received %s",r);var p=J(i,u),h=J(a,c),d=(t=i,e=u,function(n){var r;return K([].concat(function(t){if(Array.isArray(t))return Z(t)}(r=V(t,e).map(function(t,e){return t*e}).slice(1))||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(r)||H(r)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[0]),n)}),y=function(t){for(var e=t>1?1:t,n=e,r=0;r<8;++r){var o,i=p(n)-e,a=d(n);if(1e-4>Math.abs(i-e)||a<1e-4)break;n=(o=n-i/a)>1?1:o<0?0:o}return h(n)};return y.isStepper=!1,y},tt=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=t.stiff,n=void 0===e?100:e,r=t.damping,o=void 0===r?8:r,i=t.dt,a=void 0===i?17:i,u=function(t,e,r){var i=r+(-(t-e)*n-r*o)*a/1e3,u=r*a/1e3+t;return 1e-4>Math.abs(u-e)&&1e-4>Math.abs(i)?[e,0]:[u,i]};return u.isStepper=!0,u.dt=a,u},te=function(){for(var t=arguments.length,e=Array(t),n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);nt.length)&&(e=t.length);for(var n=0,r=Array(e);n0?n[o-1]:r,p=l||Object.keys(c);if("function"==typeof u||"spring"===u)return[].concat(ty(t),[e.runJSAnimation.bind(e,{from:f.style,to:c,duration:i,easing:u}),i]);var h=X(p,i,u),d=tg(tg(tg({},f.style),c),{},{transition:h});return[].concat(ty(t),[d,i,s]).filter(z)},[a,Math.max(void 0===u?0:u,r)])),[t.onAnimationEnd]))}},{key:"runAnimation",value:function(t){if(!this.manager){var e,n,r;this.manager=(e=function(){return null},n=!1,r=function t(r){if(!n){if(Array.isArray(r)){if(!r.length)return;var o=function(t){if(Array.isArray(t))return t}(r)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(r)||function(t,e){if(t){if("string"==typeof t)return I(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return I(t,e)}}(r)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),i=o[0],a=o.slice(1);if("number"==typeof i){C(t.bind(null,a),i);return}t(i),C(t.bind(null,a));return}"object"===N(r)&&e(r),"function"==typeof r&&r()}},{stop:function(){n=!0},start:function(t){n=!1,r(t)},subscribe:function(t){return e=t,function(){e=function(){return null}}}})}var o=t.begin,i=t.duration,a=t.attributeName,u=t.to,c=t.easing,l=t.onAnimationStart,s=t.onAnimationEnd,f=t.steps,p=t.children,h=this.manager;if(this.unSubscribe=h.subscribe(this.handleStyleChange),"function"==typeof c||"function"==typeof p||"spring"===c){this.runJSAnimation(t);return}if(f.length>1){this.runStepAnimation(t);return}var d=a?tb({},a,u):u,y=X(Object.keys(d),i,c);h.start([l,o,tg(tg({},d),{},{transition:y}),i,s])}},{key:"render",value:function(){var t=this.props,e=t.children,n=(t.begin,t.duration),o=(t.attributeName,t.easing,t.isActive),i=(t.steps,t.from,t.to,t.canBegin,t.onAnimationEnd,t.shouldReAnimate,t.onAnimationReStart,function(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(t,td)),a=r.Children.count(e),u=G(this.state.style);if("function"==typeof e)return e(u);if(!o||0===a||n<=0)return e;var c=function(t){var e=t.props,n=e.style,o=e.className;return(0,r.cloneElement)(t,tg(tg({},i),{},{style:tg(tg({},void 0===n?{}:n),u),className:o}))};return 1===a?c(r.Children.only(e)):r.createElement("div",null,r.Children.map(e,function(t){return c(t)}))}}],tx(a.prototype,n),o&&tx(a,o),Object.defineProperty(a,"prototype",{writable:!1}),a}(r.PureComponent);tA.displayName="Animate",tA.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}},tA.propTypes={from:i().oneOfType([i().object,i().string]),to:i().oneOfType([i().object,i().string]),attributeName:i().string,duration:i().number,begin:i().number,easing:i().oneOfType([i().string,i().func]),steps:i().arrayOf(i().shape({duration:i().number.isRequired,style:i().object.isRequired,easing:i().oneOfType([i().oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),i().func]),properties:i().arrayOf("string"),onAnimationEnd:i().func})),children:i().oneOfType([i().node,i().func]),isActive:i().bool,canBegin:i().bool,onAnimationEnd:i().func,shouldReAnimate:i().bool,onAnimationStart:i().func,onAnimationReStart:i().func};var tP=n(29469),tk=["children","appearOptions","enterOptions","leaveOptions"];function tM(t){return(tM="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function tT(){return(tT=Object.assign?Object.assign.bind():function(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{},e=t.steps,n=t.duration;return e&&e.length?e.reduce(function(t,e){return t+(Number.isFinite(e.duration)&&e.duration>0?e.duration:0)},0):Number.isFinite(n)?n:0},tF=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&tI(t,e)}(a,t);var e,n,o,i=(e=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}(),function(){var t,n=tL(a);if(e){var r=tL(this).constructor;t=Reflect.construct(n,arguments,r)}else t=n.apply(this,arguments);return function(t,e){if(e&&("object"===tM(e)||"function"==typeof e))return e;if(void 0!==e)throw TypeError("Derived constructors may only return object or undefined");return tD(t)}(this,t)});function a(){var t;return!function(t,e){if(!(t instanceof e))throw TypeError("Cannot call a class as a function")}(this,a),tR(tD(t=i.call(this)),"handleEnter",function(e,n){var r=t.props,o=r.appearOptions,i=r.enterOptions;t.handleStyleActive(n?o:i)}),tR(tD(t),"handleExit",function(){var e=t.props.leaveOptions;t.handleStyleActive(e)}),t.state={isActive:!1},t}return n=[{key:"handleStyleActive",value:function(t){if(t){var e=t.onAnimationEnd?function(){t.onAnimationEnd()}:null;this.setState(tC(tC({},t),{},{onAnimationEnd:e,isActive:!0}))}}},{key:"parseTimeout",value:function(){var t=this.props,e=t.appearOptions,n=t.enterOptions,r=t.leaveOptions;return tU(e)+tU(n)+tU(r)}},{key:"render",value:function(){var t=this,e=this.props,n=e.children,o=(e.appearOptions,e.enterOptions,e.leaveOptions,function(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(e,tk));return r.createElement(tP.Transition,tT({},o,{onEnter:this.handleEnter,onExit:this.handleExit,timeout:this.parseTimeout()}),function(){return r.createElement(tA,t.state,r.Children.only(n))})}}],tN(a.prototype,n),o&&tN(a,o),Object.defineProperty(a,"prototype",{writable:!1}),a}(r.Component);function t$(t){var e=t.component,n=t.children,o=t.appear,i=t.enter,a=t.leave;return r.createElement(tP.TransitionGroup,{component:e},r.Children.map(n,function(t,e){return r.createElement(tF,{appearOptions:o,enterOptions:i,leaveOptions:a,key:"child-".concat(e)},t)}))}tF.propTypes={appearOptions:i().object,enterOptions:i().object,leaveOptions:i().object,children:i().element},t$.propTypes={appear:i().object,enter:i().object,leave:i().object,children:i().oneOfType([i().array,i().element]),component:i().any},t$.defaultProps={component:"span"};var tz=tA},88292:function(t,e,n){"use strict";var r=n(64836);e.__esModule=!0,e.default=function(t,e){t.classList?t.classList.add(e):(0,o.default)(t,e)||("string"==typeof t.className?t.className=t.className+" "+e:t.setAttribute("class",(t.className&&t.className.baseVal||"")+" "+e))};var o=r(n(85312));t.exports=e.default},85312:function(t,e){"use strict";e.__esModule=!0,e.default=function(t,e){return t.classList?!!e&&t.classList.contains(e):-1!==(" "+(t.className.baseVal||t.className)+" ").indexOf(" "+e+" ")},t.exports=e.default},80294:function(t){"use strict";function e(t,e){return t.replace(RegExp("(^|\\s)"+e+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}t.exports=function(t,n){t.classList?t.classList.remove(n):"string"==typeof t.className?t.className=e(t.className,n):t.setAttribute("class",e(t.className&&t.className.baseVal||"",n))}},92810:function(t,e,n){"use strict";e.__esModule=!0,e.default=void 0,function(t){if(!t||!t.__esModule){var e={};if(null!=t){for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(t,n):{};r.get||r.set?Object.defineProperty(e,n,r):e[n]=t[n]}}e.default=t}}(n(45697));var r=u(n(88292)),o=u(n(80294)),i=u(n(67294)),a=u(n(32096));function u(t){return t&&t.__esModule?t:{default:t}}function c(){return(c=Object.assign||function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,["children","in"]),a=r.default.Children.toArray(e),u=a[0],c=a[1];return delete o.onEnter,delete o.onEntering,delete o.onEntered,delete o.onExit,delete o.onExiting,delete o.onExited,r.default.createElement(i.default,o,n?r.default.cloneElement(u,{key:"first",onEnter:this.handleEnter,onEntering:this.handleEntering,onEntered:this.handleEntered}):r.default.cloneElement(c,{key:"second",onEnter:this.handleExit,onEntering:this.handleExiting,onEntered:this.handleExited}))},e}(r.default.Component);u.propTypes={},e.default=u,t.exports=e.default},32096:function(t,e,n){"use strict";e.__esModule=!0,e.default=e.EXITING=e.ENTERED=e.ENTERING=e.EXITED=e.UNMOUNTED=void 0;var r=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t){for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(t,n):{};r.get||r.set?Object.defineProperty(e,n,r):e[n]=t[n]}}return e.default=t,e}(n(45697)),o=u(n(67294)),i=u(n(73935)),a=n(46871);function u(t){return t&&t.__esModule?t:{default:t}}n(29806);var c="unmounted";e.UNMOUNTED=c;var l="exited";e.EXITED=l;var s="entering";e.ENTERING=s;var f="entered";e.ENTERED=f;var p="exiting";e.EXITING=p;var h=function(t){function e(e,n){r=t.call(this,e,n)||this;var r,o,i=n.transitionGroup,a=i&&!i.isMounting?e.enter:e.appear;return r.appearStatus=null,e.in?a?(o=l,r.appearStatus=s):o=f:o=e.unmountOnExit||e.mountOnEnter?c:l,r.state={status:o},r.nextCallback=null,r}(n=e).prototype=Object.create(t.prototype),n.prototype.constructor=n,n.__proto__=t;var n,r=e.prototype;return r.getChildContext=function(){return{transitionGroup:null}},e.getDerivedStateFromProps=function(t,e){return t.in&&e.status===c?{status:l}:null},r.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},r.componentDidUpdate=function(t){var e=null;if(t!==this.props){var n=this.state.status;this.props.in?n!==s&&n!==f&&(e=s):(n===s||n===f)&&(e=p)}this.updateStatus(!1,e)},r.componentWillUnmount=function(){this.cancelNextCallback()},r.getTimeouts=function(){var t,e,n,r=this.props.timeout;return t=e=n=r,null!=r&&"number"!=typeof r&&(t=r.exit,e=r.enter,n=void 0!==r.appear?r.appear:e),{exit:t,enter:e,appear:n}},r.updateStatus=function(t,e){if(void 0===t&&(t=!1),null!==e){this.cancelNextCallback();var n=i.default.findDOMNode(this);e===s?this.performEnter(n,t):this.performExit(n)}else this.props.unmountOnExit&&this.state.status===l&&this.setState({status:c})},r.performEnter=function(t,e){var n=this,r=this.props.enter,o=this.context.transitionGroup?this.context.transitionGroup.isMounting:e,i=this.getTimeouts(),a=o?i.appear:i.enter;if(!e&&!r){this.safeSetState({status:f},function(){n.props.onEntered(t)});return}this.props.onEnter(t,o),this.safeSetState({status:s},function(){n.props.onEntering(t,o),n.onTransitionEnd(t,a,function(){n.safeSetState({status:f},function(){n.props.onEntered(t,o)})})})},r.performExit=function(t){var e=this,n=this.props.exit,r=this.getTimeouts();if(!n){this.safeSetState({status:l},function(){e.props.onExited(t)});return}this.props.onExit(t),this.safeSetState({status:p},function(){e.props.onExiting(t),e.onTransitionEnd(t,r.exit,function(){e.safeSetState({status:l},function(){e.props.onExited(t)})})})},r.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},r.safeSetState=function(t,e){e=this.setNextCallback(e),this.setState(t,e)},r.setNextCallback=function(t){var e=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,e.nextCallback=null,t(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},r.onTransitionEnd=function(t,e,n){this.setNextCallback(n);var r=null==e&&!this.props.addEndListener;if(!t||r){setTimeout(this.nextCallback,0);return}this.props.addEndListener&&this.props.addEndListener(t,this.nextCallback),null!=e&&setTimeout(this.nextCallback,e)},r.render=function(){var t=this.state.status;if(t===c)return null;var e=this.props,n=e.children,r=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(e,["children"]);if(delete r.in,delete r.mountOnEnter,delete r.unmountOnExit,delete r.appear,delete r.enter,delete r.exit,delete r.timeout,delete r.addEndListener,delete r.onEnter,delete r.onEntering,delete r.onEntered,delete r.onExit,delete r.onExiting,delete r.onExited,"function"==typeof n)return n(t,r);var i=o.default.Children.only(n);return o.default.cloneElement(i,r)},e}(o.default.Component);function d(){}h.contextTypes={transitionGroup:r.object},h.childContextTypes={transitionGroup:function(){}},h.propTypes={},h.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:d,onEntering:d,onEntered:d,onExit:d,onExiting:d,onExited:d},h.UNMOUNTED=0,h.EXITED=1,h.ENTERING=2,h.ENTERED=3,h.EXITING=4;var y=(0,a.polyfill)(h);e.default=y},57114:function(t,e,n){"use strict";e.__esModule=!0,e.default=void 0;var r=u(n(45697)),o=u(n(67294)),i=n(46871),a=n(4474);function u(t){return t&&t.__esModule?t:{default:t}}function c(){return(c=Object.assign||function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,["component","childFactory"]),i=s(this.state.children).map(n);return(delete r.appear,delete r.enter,delete r.exit,null===e)?i:o.default.createElement(e,r,i)},e}(o.default.Component);f.childContextTypes={transitionGroup:r.default.object.isRequired},f.propTypes={},f.defaultProps={component:"div",childFactory:function(t){return t}};var p=(0,i.polyfill)(f);e.default=p,t.exports=e.default},29469:function(t,e,n){"use strict";var r=u(n(92810)),o=u(n(17557)),i=u(n(57114)),a=u(n(32096));function u(t){return t&&t.__esModule?t:{default:t}}t.exports={Transition:a.default,TransitionGroup:i.default,ReplaceTransition:o.default,CSSTransition:r.default}},4474:function(t,e,n){"use strict";e.__esModule=!0,e.getChildMapping=o,e.mergeChildMappings=i,e.getInitialChildMapping=function(t,e){return o(t.children,function(n){return(0,r.cloneElement)(n,{onExited:e.bind(null,n),in:!0,appear:a(n,"appear",t),enter:a(n,"enter",t),exit:a(n,"exit",t)})})},e.getNextChildMapping=function(t,e,n){var u=o(t.children),c=i(e,u);return Object.keys(c).forEach(function(o){var i=c[o];if((0,r.isValidElement)(i)){var l=o in e,s=o in u,f=e[o],p=(0,r.isValidElement)(f)&&!f.props.in;s&&(!l||p)?c[o]=(0,r.cloneElement)(i,{onExited:n.bind(null,i),in:!0,exit:a(i,"exit",t),enter:a(i,"enter",t)}):s||!l||p?s&&l&&(0,r.isValidElement)(f)&&(c[o]=(0,r.cloneElement)(i,{onExited:n.bind(null,i),in:f.props.in,exit:a(i,"exit",t),enter:a(i,"enter",t)})):c[o]=(0,r.cloneElement)(i,{in:!1})}}),c};var r=n(67294);function o(t,e){var n=Object.create(null);return t&&r.Children.map(t,function(t){return t}).forEach(function(t){n[t.key]=e&&(0,r.isValidElement)(t)?e(t):t}),n}function i(t,e){function n(n){return n in e?e[n]:t[n]}t=t||{},e=e||{};var r,o=Object.create(null),i=[];for(var a in t)a in e?i.length&&(o[a]=i,i=[]):i.push(a);var u={};for(var c in e){if(o[c])for(r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=e.bandAware,r=e.position;if(void 0!==t){if(r)switch(r){case"start":default:return this.scale(t);case"middle":var o=this.bandwidth?this.bandwidth()/2:0;return this.scale(t)+o;case"end":var i=this.bandwidth?this.bandwidth():0;return this.scale(t)+i}if(n){var a=this.bandwidth?this.bandwidth()/2:0;return this.scale(t)+a}return this.scale(t)}}},{key:"isInRange",value:function(t){var e=this.range(),n=e[0],r=e[e.length-1];return n<=r?t>=n&&t<=r:t>=r&&t<=n}}],e=[{key:"create",value:function(t){return new n(t)}}],t&&H(n.prototype,t),e&&H(n,e),Object.defineProperty(n,"prototype",{writable:!1}),n}();K(tt,"EPS",1e-4);var te=function(t){var e=Object.keys(t).reduce(function(e,n){return V(V({},e),{},K({},n,tt.create(t[n])))},{});return V(V({},e),{},{apply:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.bandAware,o=n.position;return X()(t,function(t,n){return e[n].apply(t,{bandAware:r,position:o})})},isInRange:function(t){return g()(t,function(t,n){return e[n].isInRange(t)})}})},tn=function(t){var e=t.width,n=t.height,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=(r%180+180)%180*Math.PI/180,i=Math.atan(n/e);return Math.abs(o>i&&o=0&&t*(e+t*n/2-o)<=0}function ti(t){return(ti="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ta(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function tu(t){for(var e=1;e=2?(0,z.uY)(l[1].coordinate-l[0].coordinate):1,O=(r="width"===m,o=s.x,i=s.y,a=s.width,u=s.height,1===x?{start:r?o:i,end:r?o+a:i+u}:{start:r?o+a:i+u,end:r?o:i});return"equidistantPreserveStart"===h?function(t,e,n,r,o){for(var i=(r||[]).slice(),a=e.start,u=e.end,c=0,l=1,s=a;l<=i.length;){var f=null==r?void 0:r[c];if(void 0===f)return tr(r,l);var p=n(f,c),h=f.coordinate,d=0===c||to(t,h,p,s,u);d||(c=0,s=a,l+=1),d&&(s=h+t*(p/2+o),c+=l)}return[]}(x,O,b,l,f):("preserveStart"===h||"preserveStartEnd"===h?function(t,e,n,r,o,i){var a=(r||[]).slice(),u=a.length,c=e.start,l=e.end;if(i){var s=r[u-1],f=n(s,u-1),p=t*(s.coordinate+t*f/2-l);a[u-1]=s=tu(tu({},s),{},{tickCoord:p>0?s.coordinate-p*t:s.coordinate}),to(t,s.tickCoord,f,c,l)&&(l=s.tickCoord-t*(f/2+o),a[u-1]=tu(tu({},s),{},{isShow:!0}))}for(var h=i?u-1:u,d=0;d=0;l--){var s=i[l],f=n(s,l);if(l===a-1){var p=t*(s.coordinate+t*f/2-c);i[l]=s=tu(tu({},s),{},{tickCoord:p>0?s.coordinate-p*t:s.coordinate})}else i[l]=s=tu(tu({},s),{},{tickCoord:s.coordinate});to(t,s.tickCoord,f,u,c)&&(c=s.tickCoord-t*(f/2+o),i[l]=tu(tu({},s),{},{isShow:!0}))}return i}(x,O,b,l,f)).filter(function(t){return t.isShow})}var tl=n(20514),ts=n(48710),tf=n(45578),tp=n.n(tf),th=n(93801);function td(t){return(td="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ty(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);nf[n]+o?Math.max(p,f[n]):Math.max(h,f[n])}),t}return n=[{key:"componentDidMount",value:function(){this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){this.updateBBox()}},{key:"updateBBox",value:function(){var t=this.state,e=t.boxWidth,n=t.boxHeight;if(t.dismissed?(document.removeEventListener("keydown",this.handleKeyDown),(this.props.coordinate.x!==this.state.dismissedAtCoordinate.x||this.props.coordinate.y!==this.state.dismissedAtCoordinate.y)&&this.setState({dismissed:!1})):document.addEventListener("keydown",this.handleKeyDown),this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var r=this.wrapperNode.getBoundingClientRect();(Math.abs(r.width-e)>1||Math.abs(r.height-n)>1)&&this.setState({boxWidth:r.width,boxHeight:r.height})}else(-1!==e||-1!==n)&&this.setState({boxWidth:-1,boxHeight:-1})}},{key:"render",value:function(){var t,e,n,r,o,i,a=this,u=this.props,c=u.payload,l=u.isAnimationActive,s=u.animationDuration,f=u.animationEasing,p=u.filterNull,h=(t=u.payloadUniqBy,e=p&&c&&c.length?c.filter(function(t){return!T()(t.value)}):c,!0===t?tp()(e,tT):w()(t)?tp()(e,t):e),d=h&&h.length,y=this.props,v=y.content,m=y.viewBox,g=y.coordinate,b=y.position,x=y.active,O=y.wrapperStyle,j=tw({pointerEvents:"none",visibility:!this.state.dismissed&&x&&d?"visible":"hidden",position:"absolute",top:0,left:0},O);if(b&&(0,z.hj)(b.x)&&(0,z.hj)(b.y))r=b.x,o=b.y;else{var S=this.state,E=S.boxWidth,A=S.boxHeight;E>0&&A>0&&g?(r=this.getTranslate({key:"x",tooltipDimension:E,viewBoxDimension:m.width}),o=this.getTranslate({key:"y",tooltipDimension:A,viewBoxDimension:m.height})):j.visibility="hidden"}j=tw(tw({},(0,th.bO)({transform:this.props.useTranslate3d?"translate3d(".concat(r,"px, ").concat(o,"px, 0)"):"translate(".concat(r,"px, ").concat(o,"px)")})),j),l&&x&&(j=tw(tw({},(0,th.bO)({transition:"transform ".concat(s,"ms ").concat(f)})),j));var P=U()(tM,(tP(i={},"".concat(tM,"-right"),(0,z.hj)(r)&&g&&(0,z.hj)(g.x)&&r>=g.x),tP(i,"".concat(tM,"-left"),(0,z.hj)(r)&&g&&(0,z.hj)(g.x)&&r=g.y),tP(i,"".concat(tM,"-top"),(0,z.hj)(o)&&g&&(0,z.hj)(g.y)&&o=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(t,tL));return(0,z.hj)(n)&&(0,z.hj)(o)&&(0,z.hj)(s)&&(0,z.hj)(p)&&(0,z.hj)(a)&&(0,z.hj)(c)?R.createElement("path",tR({},(0,tI.L6)(d,!0),{className:U()("recharts-cross",h),d:"M".concat(n,",").concat(a,"v").concat(p,"M").concat(c,",").concat(o,"h").concat(s)})):null},tF=n(45108),t$=n(79896);function tz(){return(tz=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function t2(t,e){for(var n=0;n0?this.props:l)),r<=0||o<=0||!s||!s.length)?null:R.createElement(ts.m,{className:U()("recharts-cartesian-axis",a),ref:function(e){t.layerReference=e}},n&&this.renderAxisLine(),this.renderTicks(s,this.state.fontSize,this.state.letterSpacing),tY._.renderCallByParent(this.props))}}],r=[{key:"renderTickItem",value:function(t,e,n){return R.isValidElement(t)?R.cloneElement(t,e):w()(t)?t(e):R.createElement(tX.x,tJ({},e,{className:"recharts-cartesian-axis-tick-value"}),n)}}],n&&t2(i.prototype,n),r&&t2(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(R.Component);t3(t7,"displayName","CartesianAxis"),t3(t7,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var t8=n(175),t9=n(35552);function et(t){return(et="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ee(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function en(t){for(var e=1;e0&&e.handleDrag(t.changedTouches[0])}),ed(ep(e),"handleDragEnd",function(){e.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var t=e.props,n=t.endIndex,r=t.onDragEnd,o=t.startIndex;null==r||r({endIndex:n,startIndex:o})}),e.detachDragEndListener()}),ed(ep(e),"handleLeaveWrapper",function(){(e.state.isTravellerMoving||e.state.isSlideMoving)&&(e.leaveTimer=window.setTimeout(e.handleDragEnd,e.props.leaveTimeOut))}),ed(ep(e),"handleEnterSlideOrTraveller",function(){e.setState({isTextActive:!0})}),ed(ep(e),"handleLeaveSlideOrTraveller",function(){e.setState({isTextActive:!1})}),ed(ep(e),"handleSlideDragStart",function(t){var n=em(t)?t.changedTouches[0]:t;e.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:n.pageX}),e.attachDragEndListener()}),e.travellerDragStartHandlers={startX:e.handleTravellerDragStart.bind(ep(e),"startX"),endX:e.handleTravellerDragStart.bind(ep(e),"endX")},e.state={},e}return n=[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(t){var e=t.startX,n=t.endX,r=this.state.scaleValues,o=this.props,a=o.gap,u=o.data.length-1,c=i.getIndexInRange(r,Math.min(e,n)),l=i.getIndexInRange(r,Math.max(e,n));return{startIndex:c-c%a,endIndex:l===u?u:l-l%a}}},{key:"getTextOfTick",value:function(t){var e=this.props,n=e.data,r=e.tickFormatter,o=e.dataKey,i=(0,t9.F$)(n[t],o,t);return w()(r)?r(i,t):i}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(t){var e=this.state,n=e.slideMoveStartX,r=e.startX,o=e.endX,i=this.props,a=i.x,u=i.width,c=i.travellerWidth,l=i.startIndex,s=i.endIndex,f=i.onChange,p=t.pageX-n;p>0?p=Math.min(p,a+u-c-o,a+u-c-r):p<0&&(p=Math.max(p,a-r,a-o));var h=this.getIndex({startX:r+p,endX:o+p});(h.startIndex!==l||h.endIndex!==s)&&f&&f(h),this.setState({startX:r+p,endX:o+p,slideMoveStartX:t.pageX})}},{key:"handleTravellerDragStart",value:function(t,e){var n=em(e)?e.changedTouches[0]:e;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:t,brushMoveStartX:n.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(t){var e,n=this.state,r=n.brushMoveStartX,o=n.movingTravellerId,i=n.endX,a=n.startX,u=this.state[o],c=this.props,l=c.x,s=c.width,f=c.travellerWidth,p=c.onChange,h=c.gap,d=c.data,y={startX:this.state.startX,endX:this.state.endX},v=t.pageX-r;v>0?v=Math.min(v,l+s-f-u):v<0&&(v=Math.max(v,l-u)),y[o]=u+v;var m=this.getIndex(y),g=m.startIndex,b=m.endIndex,x=function(){var t=d.length-1;return"startX"===o&&(i>a?g%h==0:b%h==0)||ia?b%h==0:g%h==0)||i>a&&b===t};this.setState((ed(e={},o,u+v),ed(e,"brushMoveStartX",t.pageX),e),function(){p&&x()&&p(m)})}},{key:"handleTravellerMoveKeyboard",value:function(t,e){var n=this,r=this.state,o=r.scaleValues,i=r.startX,a=r.endX,u=this.state[e],c=o.indexOf(u);if(-1!==c){var l=c+t;if(-1!==l&&!(l>=o.length)){var s=o[l];"startX"===e&&s>=a||"endX"===e&&s<=i||this.setState(ed({},e,s),function(){n.props.onChange(n.getIndex({startX:n.state.startX,endX:n.state.endX}))})}}}},{key:"renderBackground",value:function(){var t=this.props,e=t.x,n=t.y,r=t.width,o=t.height,i=t.fill,a=t.stroke;return R.createElement("rect",{stroke:a,fill:i,x:e,y:n,width:r,height:o})}},{key:"renderPanorama",value:function(){var t=this.props,e=t.x,n=t.y,r=t.width,o=t.height,i=t.data,a=t.children,u=t.padding,c=R.Children.only(a);return c?R.cloneElement(c,{x:e,y:n,width:r,height:o,margin:u,compact:!0,data:i}):null}},{key:"renderTravellerLayer",value:function(t,e){var n=this,r=this.props,o=r.y,a=r.travellerWidth,u=r.height,c=r.traveller,l=Math.max(t,this.props.x),s=el(el({},(0,tI.L6)(this.props)),{},{x:l,y:o,width:a,height:u});return R.createElement(ts.m,{tabIndex:0,role:"slider",className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[e],onTouchStart:this.travellerDragStartHandlers[e],onKeyDown:function(t){["ArrowLeft","ArrowRight"].includes(t.key)&&(t.preventDefault(),t.stopPropagation(),n.handleTravellerMoveKeyboard("ArrowRight"===t.key?1:-1,e))},onFocus:function(){n.setState({isTravellerFocused:!0})},onBlur:function(){n.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},i.renderTraveller(c,s))}},{key:"renderSlide",value:function(t,e){var n=this.props,r=n.y,o=n.height,i=n.stroke,a=n.travellerWidth;return R.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:i,fillOpacity:.2,x:Math.min(t,e)+a,y:r,width:Math.max(Math.abs(e-t)-a,0),height:o})}},{key:"renderText",value:function(){var t=this.props,e=t.startIndex,n=t.endIndex,r=t.y,o=t.height,i=t.travellerWidth,a=t.stroke,u=this.state,c=u.startX,l=u.endX,s={pointerEvents:"none",fill:a};return R.createElement(ts.m,{className:"recharts-brush-texts"},R.createElement(tX.x,eu({textAnchor:"end",verticalAnchor:"middle",x:Math.min(c,l)-5,y:r+o/2},s),this.getTextOfTick(e)),R.createElement(tX.x,eu({textAnchor:"start",verticalAnchor:"middle",x:Math.max(c,l)+i+5,y:r+o/2},s),this.getTextOfTick(n)))}},{key:"render",value:function(){var t=this.props,e=t.data,n=t.className,r=t.children,o=t.x,i=t.y,a=t.width,u=t.height,c=t.alwaysShowText,l=this.state,s=l.startX,f=l.endX,p=l.isTextActive,h=l.isSlideMoving,d=l.isTravellerMoving,y=l.isTravellerFocused;if(!e||!e.length||!(0,z.hj)(o)||!(0,z.hj)(i)||!(0,z.hj)(a)||!(0,z.hj)(u)||a<=0||u<=0)return null;var v=U()("recharts-brush",n),m=1===R.Children.count(r),g=ei("userSelect","none");return R.createElement(ts.m,{className:v,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:g},this.renderBackground(),m&&this.renderPanorama(),this.renderSlide(s,f),this.renderTravellerLayer(s,"startX"),this.renderTravellerLayer(f,"endX"),(p||h||d||y||c)&&this.renderText())}}],r=[{key:"renderDefaultTraveller",value:function(t){var e=t.x,n=t.y,r=t.width,o=t.height,i=t.stroke,a=Math.floor(n+o/2)-1;return R.createElement(R.Fragment,null,R.createElement("rect",{x:e,y:n,width:r,height:o,fill:i,stroke:"none"}),R.createElement("line",{x1:e+1,y1:a,x2:e+r-1,y2:a,fill:"none",stroke:"#fff"}),R.createElement("line",{x1:e+1,y1:a+2,x2:e+r-1,y2:a+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(t,e){return R.isValidElement(t)?R.cloneElement(t,e):w()(t)?t(e):i.renderDefaultTraveller(e)}},{key:"getDerivedStateFromProps",value:function(t,e){var n=t.data,r=t.width,o=t.x,i=t.travellerWidth,a=t.updateId,u=t.startIndex,c=t.endIndex;if(n!==e.prevData||a!==e.prevUpdateId)return el({prevData:n,prevTravellerWidth:i,prevUpdateId:a,prevX:o,prevWidth:r},n&&n.length?ev({data:n,width:r,x:o,travellerWidth:i,startIndex:u,endIndex:c}):{scale:null,scaleValues:null});if(e.scale&&(r!==e.prevWidth||o!==e.prevX||i!==e.prevTravellerWidth)){e.scale.range([o,o+r-i]);var l=e.scale.domain().map(function(t){return e.scale(t)});return{prevData:n,prevTravellerWidth:i,prevUpdateId:a,prevX:o,prevWidth:r,startX:e.scale(t.startIndex),endX:e.scale(t.endIndex),scaleValues:l}}return null}},{key:"getIndexInRange",value:function(t,e){for(var n=t.length,r=0,o=n-1;o-r>1;){var i=Math.floor((r+o)/2);t[i]>e?o=i:r=i}return e>=t[o]?o:r}}],n&&es(i.prototype,n),r&&es(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(R.PureComponent);ed(eg,"displayName","Brush"),ed(eg,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var eb=n(20430),ex=function(t,e){var n=t.alwaysShow,r=t.ifOverflow;return n&&(r="extendDomain"),r===e},eO=n(6213);function ew(t){return(ew="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ej(){return(ej=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);nt.length)&&(e=t.length);for(var n=0,r=Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function e7(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n0?a:n&&n.props&&n.props.data&&n.props.data.length>0?n.props.data:t&&t.length&&(0,z.hj)(o)&&(0,z.hj)(i)?t.slice(o,i+1):[]};function nh(t){return"number"===t?[0,"auto"]:void 0}var nd=function(t,e,n,r){var o=t.graphicalItems,i=t.tooltipAxis,a=np(e,t);return n<0||!o||!o.length||n>=a.length?null:o.reduce(function(t,o){if(o.props.hide)return t;var u,c=o.props.data,l=void 0===c?e:c;return(u=i.dataKey&&!i.allowDuplicatedCategory?(0,z.Ap)(void 0===l?a:l,i.dataKey,r):l&&l[n]||a[n])?[].concat(ne(t),[(0,t9.Qo)(o,u)]):t},[])},ny=function(t,e,n,r){var o=r||{x:t.chartX,y:t.chartY},i="horizontal"===n?o.x:"vertical"===n?o.y:"centric"===n?o.angle:o.radius,a=t.orderedTooltipTicks,u=t.tooltipAxis,c=t.tooltipTicks,l=(0,t9.VO)(i,a,c,u);if(l>=0&&c){var s=c[l]&&c[l].value,f=nd(t,e,l,s),p=nf(n,a,l,o);return{activeTooltipIndex:l,activeLabel:s,activePayload:f,activeCoordinate:p}}return null},nv=function(t,e){var n=e.axes,r=e.graphicalItems,o=e.axisType,i=e.axisIdKey,a=e.stackGroups,u=e.dataStartIndex,c=e.dataEndIndex,l=t.layout,s=t.children,f=t.stackOffset,p=(0,t9.NA)(l,o);return n.reduce(function(e,n){var h=n.props,d=h.type,y=h.dataKey,v=h.allowDataOverflow,m=h.allowDuplicatedCategory,g=h.scale,b=h.ticks,x=h.includeHidden,O=n.props[i];if(e[O])return e;var w=np(t.data,{graphicalItems:r.filter(function(t){return t.props[i]===O}),dataStartIndex:u,dataEndIndex:c}),j=w.length;(function(t,e,n){if("number"===n&&!0===e&&Array.isArray(t)){var r=null==t?void 0:t[0],o=null==t?void 0:t[1];if(r&&o&&(0,z.hj)(r)&&(0,z.hj)(o))return!0}return!1})(n.props.domain,v,d)&&(A=(0,t9.LG)(n.props.domain,null,v),p&&("number"===d||"auto"!==g)&&(k=(0,t9.gF)(w,y,"category")));var S=nh(d);if(!A||0===A.length){var E,A,P,k,M,_=null!==(M=n.props.domain)&&void 0!==M?M:S;if(y){if(A=(0,t9.gF)(w,y,d),"category"===d&&p){var N=(0,z.bv)(A);m&&N?(P=A,A=C()(0,j)):m||(A=(0,t9.ko)(_,A,n).reduce(function(t,e){return t.indexOf(e)>=0?t:[].concat(ne(t),[e])},[]))}else if("category"===d)A=m?A.filter(function(t){return""!==t&&!T()(t)}):(0,t9.ko)(_,A,n).reduce(function(t,e){return t.indexOf(e)>=0||""===e||T()(e)?t:[].concat(ne(t),[e])},[]);else if("number"===d){var I=(0,t9.ZI)(w,r.filter(function(t){return t.props[i]===O&&(x||!t.props.hide)}),y,o,l);I&&(A=I)}p&&("number"===d||"auto"!==g)&&(k=(0,t9.gF)(w,y,"category"))}else A=p?C()(0,j):a&&a[O]&&a[O].hasStack&&"number"===d?"expand"===f?[0,1]:(0,t9.EB)(a[O].stackGroups,u,c):(0,t9.s6)(w,r.filter(function(t){return t.props[i]===O&&(x||!t.props.hide)}),d,l,!0);"number"===d?(A=eG(s,A,O,o,b),_&&(A=(0,t9.LG)(_,A,v))):"category"===d&&_&&A.every(function(t){return _.indexOf(t)>=0})&&(A=_)}return ni(ni({},e),{},na({},O,ni(ni({},n.props),{},{axisType:o,domain:A,categoricalDomain:k,duplicateDomain:P,originalDomain:null!==(E=n.props.domain)&&void 0!==E?E:S,isCategorical:p,layout:l})))},{})},nm=function(t,e){var n=e.graphicalItems,r=e.Axis,o=e.axisType,i=e.axisIdKey,a=e.stackGroups,u=e.dataStartIndex,c=e.dataEndIndex,l=t.layout,s=t.children,f=np(t.data,{graphicalItems:n,dataStartIndex:u,dataEndIndex:c}),p=f.length,h=(0,t9.NA)(l,o),d=-1;return n.reduce(function(t,e){var y,v=e.props[i],m=nh("number");return t[v]?t:(d++,y=h?C()(0,p):a&&a[v]&&a[v].hasStack?eG(s,y=(0,t9.EB)(a[v].stackGroups,u,c),v,o):eG(s,y=(0,t9.LG)(m,(0,t9.s6)(f,n.filter(function(t){return t.props[i]===v&&!t.props.hide}),"number",l),r.defaultProps.allowDataOverflow),v,o),ni(ni({},t),{},na({},v,ni(ni({axisType:o},r.defaultProps),{},{hide:!0,orientation:k()(nc,"".concat(o,".").concat(d%2),null),domain:y,originalDomain:m,isCategorical:h,layout:l}))))},{})},ng=function(t,e){var n=e.axisType,r=void 0===n?"xAxis":n,o=e.AxisComp,i=e.graphicalItems,a=e.stackGroups,u=e.dataStartIndex,c=e.dataEndIndex,l=t.children,s="".concat(r,"Id"),f=(0,tI.NN)(l,o),p={};return f&&f.length?p=nv(t,{axes:f,graphicalItems:i,axisType:r,axisIdKey:s,stackGroups:a,dataStartIndex:u,dataEndIndex:c}):i&&i.length&&(p=nm(t,{Axis:o,graphicalItems:i,axisType:r,axisIdKey:s,stackGroups:a,dataStartIndex:u,dataEndIndex:c})),p},nb=function(t){var e=(0,z.Kt)(t),n=(0,t9.uY)(e,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:A()(n,function(t){return t.coordinate}),tooltipAxis:e,tooltipAxisBandSize:(0,t9.zT)(e,n)}},nx=function(t){var e,n,r=t.children,o=t.defaultShowTooltip,i=(0,tI.sP)(r,eg);return{chartX:0,chartY:0,dataStartIndex:i&&i.props&&i.props.startIndex||0,dataEndIndex:(null==i||null===(e=i.props)||void 0===e?void 0:e.endIndex)!==void 0?null==i||null===(n=i.props)||void 0===n?void 0:n.endIndex:t.data&&t.data.length-1||0,activeTooltipIndex:-1,isTooltipActive:!T()(o)&&o}},nO=function(t){return"horizontal"===t?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:"vertical"===t?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:"centric"===t?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},nw=function(t,e){var n=t.props,r=t.graphicalItems,o=t.xAxisMap,i=void 0===o?{}:o,a=t.yAxisMap,u=void 0===a?{}:a,c=n.width,l=n.height,s=n.children,f=n.margin||{},p=(0,tI.sP)(s,eg),h=(0,tI.sP)(s,tC.D),d=Object.keys(u).reduce(function(t,e){var n=u[e],r=n.orientation;return n.mirror||n.hide?t:ni(ni({},t),{},na({},r,t[r]+n.width))},{left:f.left||0,right:f.right||0}),y=Object.keys(i).reduce(function(t,e){var n=i[e],r=n.orientation;return n.mirror||n.hide?t:ni(ni({},t),{},na({},r,k()(t,"".concat(r))+n.height))},{top:f.top||0,bottom:f.bottom||0}),v=ni(ni({},y),d),m=v.bottom;return p&&(v.bottom+=p.props.height||eg.defaultProps.height),h&&e&&(v=(0,t9.By)(v,r,n,e)),ni(ni({brushBottom:m},v),{},{width:c-v.left-v.right,height:l-v.top-v.bottom})},nj=["points","className","baseLinePoints","connectNulls"];function nS(){return(nS=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n0&&void 0!==arguments[0]?arguments[0]:[],e=[[]];return t.forEach(function(t){nP(t)?e[e.length-1].push(t):e[e.length-1].length>0&&e.push([])}),nP(t[0])&&e[e.length-1].push(t[0]),e[e.length-1].length<=0&&(e=e.slice(0,-1)),e},nM=function(t,e){var n=nk(t);e&&(n=[n.reduce(function(t,e){return[].concat(nE(t),nE(e))},[])]);var r=n.map(function(t){return t.reduce(function(t,e,n){return"".concat(t).concat(0===n?"M":"L").concat(e.x,",").concat(e.y)},"")}).join("");return 1===n.length?"".concat(r,"Z"):r},nT=function(t,e,n){var r=nM(t,n);return"".concat("Z"===r.slice(-1)?r.slice(0,-1):r,"L").concat(nM(e.reverse(),n).slice(1))},n_=function(t){var e=t.points,n=t.className,r=t.baseLinePoints,o=t.connectNulls,i=function(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(t,nj);if(!e||!e.length)return null;var a=U()("recharts-polygon",n);if(r&&r.length){var u=i.stroke&&"none"!==i.stroke,c=nT(e,r,o);return R.createElement("g",{className:a},R.createElement("path",nS({},(0,tI.L6)(i,!0),{fill:"Z"===c.slice(-1)?i.fill:"none",stroke:"none",d:c})),u?R.createElement("path",nS({},(0,tI.L6)(i,!0),{fill:"none",d:nM(e,o)})):null,u?R.createElement("path",nS({},(0,tI.L6)(i,!0),{fill:"none",d:nM(r,o)})):null)}var l=nM(e,o);return R.createElement("path",nS({},(0,tI.L6)(i,!0),{fill:"Z"===l.slice(-1)?i.fill:"none",className:a,d:l}))};function nC(t){return(nC="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nN(){return(nN=Object.assign?Object.assign.bind():function(t){for(var e=1;e1e-5?"outer"===e?"start":"end":n<-.00001?"outer"===e?"end":"start":"middle"}},{key:"renderAxisLine",value:function(){var t=this.props,e=t.cx,n=t.cy,r=t.radius,o=t.axisLine,i=t.axisLineType,a=nD(nD({},(0,tI.L6)(this.props)),{},{fill:"none"},(0,tI.L6)(o));if("circle"===i)return R.createElement(tW,nN({className:"recharts-polar-angle-axis-line"},a,{cx:e,cy:n,r:r}));var u=this.props.ticks.map(function(t){return(0,F.op)(e,n,r,t.coordinate)});return R.createElement(n_,nN({className:"recharts-polar-angle-axis-line"},a,{points:u}))}},{key:"renderTicks",value:function(){var t=this,e=this.props,n=e.ticks,r=e.tick,o=e.tickLine,a=e.tickFormatter,u=e.stroke,c=(0,tI.L6)(this.props),l=(0,tI.L6)(r),s=nD(nD({},c),{},{fill:"none"},(0,tI.L6)(o)),f=n.map(function(e,n){var f=t.getTickLineCoord(e),p=nD(nD(nD({textAnchor:t.getTickTextAnchor(e)},c),{},{stroke:"none",fill:u},l),{},{index:n,payload:e,x:f.x2,y:f.y2});return R.createElement(ts.m,nN({className:"recharts-polar-angle-axis-tick",key:"tick-".concat(n)},(0,t$.bw)(t.props,e,n)),o&&R.createElement("line",nN({className:"recharts-polar-angle-axis-tick-line"},s,f)),r&&i.renderTickItem(r,p,a?a(e.value,n):e.value))});return R.createElement(ts.m,{className:"recharts-polar-angle-axis-ticks"},f)}},{key:"render",value:function(){var t=this.props,e=t.ticks,n=t.radius,r=t.axisLine;return!(n<=0)&&e&&e.length?R.createElement(ts.m,{className:"recharts-polar-angle-axis"},r&&this.renderAxisLine(),this.renderTicks()):null}}],r=[{key:"renderTickItem",value:function(t,e,n){return R.isValidElement(t)?R.cloneElement(t,e):w()(t)?t(e):R.createElement(tX.x,nN({},e,{className:"recharts-polar-angle-axis-tick-value"}),n)}}],n&&nL(i.prototype,n),r&&nL(i,r),Object.defineProperty(i,"prototype",{writable:!1}),i}(R.PureComponent);nU(nz,"displayName","PolarAngleAxis"),nU(nz,"axisType","angleAxis"),nU(nz,"defaultProps",{type:"category",angleAxisId:0,scale:"auto",cx:0,cy:0,orientation:"outer",axisLine:!0,tickLine:!0,tickSize:8,tick:!0,hide:!1,allowDuplicatedCategory:!0});var nW=n(22762),nq=n.n(nW),nG=n(84753),nX=n.n(nG),nY=["cx","cy","angle","ticks","axisLine"],nH=["ticks","tick","angle","tickFormatter","stroke"];function nZ(t){return(nZ="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nV(){return(nV=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function n0(t,e){for(var n=0;n=0})&&(0,t9.pt)({barSize:c,stackGroups:r}),g=[];return n.forEach(function(n,c){var d,b=np(t.data,{dataStartIndex:a,dataEndIndex:u},n),x=n.props,O=x.dataKey,w=x.maxBarSize,j=n.props["".concat(y,"Id")],S=n.props["".concat(v,"Id")],E=f.reduce(function(t,r){var o,i=e["".concat(r.axisType,"Map")],a=n.props["".concat(r.axisType,"Id")];i&&i[a]||"zAxis"===r.axisType||function(t,e){if(!t)throw Error("Invariant failed")}(!1);var u=i[a];return ni(ni({},t),{},(na(o={},r.axisType,u),na(o,"".concat(r.axisType,"Ticks"),(0,t9.uY)(u)),o))},{}),A=E[v],P=E["".concat(v,"Ticks")],k=r&&r[j]&&r[j].hasStack&&(0,t9.O3)(n,r[j].stackGroups),M=(0,tI.Gf)(n.type).indexOf("Bar")>=0,_=(0,t9.zT)(A,P),C=[];if(M){var N,I,D=T()(w)?h:w,L=null!==(N=null!==(I=(0,t9.zT)(A,P,!0))&&void 0!==I?I:D)&&void 0!==N?N:0;C=(0,t9.qz)({barGap:s,barCategoryGap:p,bandSize:L!==_?L:_,sizeList:m[S],maxBarSize:D}),L!==_&&(C=C.map(function(t){return ni(ni({},t),{},{position:ni(ni({},t.position),{},{offset:t.position.offset-L/2})})}))}var R=n&&n.type&&n.type.getComposedData;R&&g.push({props:ni(ni({},R(ni(ni({},E),{},{displayedData:b,props:t,dataKey:O,item:n,bandSize:_,barPosition:C,offset:o,stackedData:k,layout:l,dataStartIndex:a,dataEndIndex:u}))),{},(na(d={key:n.key||"item-".concat(c)},y,E[y]),na(d,v,E[v]),na(d,"animationId",i),d)),childIndex:(0,tI.$R)(n,t.children),item:n})}),g},v=function(t,e){var n=t.props,r=t.dataStartIndex,o=t.dataEndIndex,u=t.updateId;if(!(0,tI.TT)({props:n}))return null;var c=n.children,l=n.layout,s=n.stackOffset,p=n.data,d=n.reverseStackOrder,v=nO(l),m=v.numericAxisName,g=v.cateAxisName,b=(0,tI.NN)(c,a),x=(0,t9.wh)(p,b,"".concat(m,"Id"),"".concat(g,"Id"),s,d),O=f.reduce(function(t,e){var i="".concat(e.axisType,"Map");return ni(ni({},t),{},na({},i,ng(n,ni(ni({},e),{},{graphicalItems:b,stackGroups:e.axisType===m&&x,dataStartIndex:r,dataEndIndex:o}))))},{}),w=nw(ni(ni({},O),{},{props:n,graphicalItems:b}),null==e?void 0:e.legendBBox);Object.keys(O).forEach(function(t){O[t]=h(n,O[t],w,t.replace("Map",""),i)});var j=nb(O["".concat(g,"Map")]),S=y(n,ni(ni({},O),{},{dataStartIndex:r,dataEndIndex:o,updateId:u,graphicalItems:b,stackGroups:x,offset:w}));return ni(ni({formattedGraphicalItems:S,graphicalItems:b,offset:w,stackGroups:x},j),O)},o=function(t){(function(t,e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&e8(t,e)})(a,t);var e,n,r,o=(e=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}(),function(){var t,n=nt(a);if(e){var r=nt(this).constructor;t=Reflect.construct(n,arguments,r)}else t=n.apply(this,arguments);return function(t,e){if(e&&("object"===e6(e)||"function"==typeof e))return e;if(void 0!==e)throw TypeError("Derived constructors may only return object or undefined");return e9(t)}(this,t)});function a(t){var e;return function(t,e){if(!(t instanceof e))throw TypeError("Cannot call a class as a function")}(this,a),na(e9(e=o.call(this,t)),"accessibilityManager",new eQ),na(e9(e),"clearDefer",function(){e.cancelDefer&&(e.cancelDefer(),e.cancelDefer=null)}),na(e9(e),"handleLegendBBoxUpdate",function(t){if(t){var n=e.state,r=n.dataStartIndex,o=n.dataEndIndex,i=n.updateId;e.setState(ni({legendBBox:t},v({props:e.props,dataStartIndex:r,dataEndIndex:o,updateId:i},ni(ni({},e.state),{},{legendBBox:t}))))}}),na(e9(e),"handleReceiveSyncEvent",function(t,n,r){e.props.syncId===t&&n!==e.uniqueChartId&&(e.clearDefer(),e.cancelDefer=function(t){if("function"==typeof requestAnimationFrame){var e=requestAnimationFrame(t);return function(){return cancelAnimationFrame(e)}}if("function"==typeof setImmediate){var n=setImmediate(t);return function(){return clearImmediate(n)}}var r=setTimeout(t);return function(){return clearTimeout(r)}}(e.applySyncEvent.bind(e9(e),r)))}),na(e9(e),"handleBrushChange",function(t){var n=t.startIndex,r=t.endIndex;if(n!==e.state.dataStartIndex||r!==e.state.dataEndIndex){var o=e.state.updateId;e.setState(function(){return ni({dataStartIndex:n,dataEndIndex:r},v({props:e.props,dataStartIndex:n,dataEndIndex:r,updateId:o},e.state))}),e.triggerSyncEvent({dataStartIndex:n,dataEndIndex:r})}}),na(e9(e),"handleMouseEnter",function(t){var n=e.props.onMouseEnter,r=e.getMouseInfo(t);if(r){var o=ni(ni({},r),{},{isTooltipActive:!0});e.setState(o),e.triggerSyncEvent(o),w()(n)&&n(o,t)}}),na(e9(e),"triggeredAfterMouseMove",function(t){var n=e.props.onMouseMove,r=e.getMouseInfo(t),o=r?ni(ni({},r),{},{isTooltipActive:!0}):{isTooltipActive:!1};e.setState(o),e.triggerSyncEvent(o),w()(n)&&n(o,t)}),na(e9(e),"handleItemMouseEnter",function(t){e.setState(function(){return{isTooltipActive:!0,activeItem:t,activePayload:t.tooltipPayload,activeCoordinate:t.tooltipPosition||{x:t.cx,y:t.cy}}})}),na(e9(e),"handleItemMouseLeave",function(){e.setState(function(){return{isTooltipActive:!1}})}),na(e9(e),"handleMouseMove",function(t){t&&w()(t.persist)&&t.persist(),e.triggeredAfterMouseMove(t)}),na(e9(e),"handleMouseLeave",function(t){var n=e.props.onMouseLeave,r={isTooltipActive:!1};e.setState(r),e.triggerSyncEvent(r),w()(n)&&n(r,t),e.cancelThrottledTriggerAfterMouseMove()}),na(e9(e),"handleOuterEvent",function(t){var n=(0,tI.Bh)(t),r=k()(e.props,"".concat(n));n&&w()(r)&&r(/.*touch.*/i.test(n)?e.getMouseInfo(t.changedTouches[0]):e.getMouseInfo(t),t)}),na(e9(e),"handleClick",function(t){var n=e.props.onClick,r=e.getMouseInfo(t);if(r){var o=ni(ni({},r),{},{isTooltipActive:!0});e.setState(o),e.triggerSyncEvent(o),w()(n)&&n(o,t)}}),na(e9(e),"handleMouseDown",function(t){var n=e.props.onMouseDown;w()(n)&&n(e.getMouseInfo(t),t)}),na(e9(e),"handleMouseUp",function(t){var n=e.props.onMouseUp;w()(n)&&n(e.getMouseInfo(t),t)}),na(e9(e),"handleTouchMove",function(t){null!=t.changedTouches&&t.changedTouches.length>0&&e.handleMouseMove(t.changedTouches[0])}),na(e9(e),"handleTouchStart",function(t){null!=t.changedTouches&&t.changedTouches.length>0&&e.handleMouseDown(t.changedTouches[0])}),na(e9(e),"handleTouchEnd",function(t){null!=t.changedTouches&&t.changedTouches.length>0&&e.handleMouseUp(t.changedTouches[0])}),na(e9(e),"verticalCoordinatesGenerator",function(t,e){var n=t.xAxis,r=t.width,o=t.height,i=t.offset;return(0,t9.Rf)(tc(ni(ni(ni({},t7.defaultProps),n),{},{ticks:(0,t9.uY)(n,!0),viewBox:{x:0,y:0,width:r,height:o}})),i.left,i.left+i.width,e)}),na(e9(e),"horizontalCoordinatesGenerator",function(t,e){var n=t.yAxis,r=t.width,o=t.height,i=t.offset;return(0,t9.Rf)(tc(ni(ni(ni({},t7.defaultProps),n),{},{ticks:(0,t9.uY)(n,!0),viewBox:{x:0,y:0,width:r,height:o}})),i.top,i.top+i.height,e)}),na(e9(e),"axesTicksGenerator",function(t){return(0,t9.uY)(t,!0)}),na(e9(e),"renderCursor",function(t){var n,r,o=e.state,a=o.isTooltipActive,u=o.activeCoordinate,c=o.activePayload,l=o.offset,s=o.activeTooltipIndex,f=o.tooltipAxisBandSize,p=e.getTooltipEventType();if(!t||!t.props.cursor||!a||!u||"ScatterChart"!==i&&"axis"!==p)return null;var h=e.props.layout,d=tN.H;if("ScatterChart"===i)r=u,d=tU;else if("BarChart"===i)n=f/2,r={stroke:"none",fill:"#ccc",x:"horizontal"===h?u.x-n:l.left+.5,y:"horizontal"===h?l.top+.5:u.y-n,width:"horizontal"===h?f:l.width-1,height:"horizontal"===h?l.height-1:f},d=tq.A;else if("radial"===h){var y=$(u),v=y.cx,m=y.cy,g=y.radius;r={cx:v,cy:m,startAngle:y.startAngle,endAngle:y.endAngle,innerRadius:g,outerRadius:g},d=tF.L}else r={points:function(t,e,n){var r,o,i,a;if("horizontal"===t)i=r=e.x,o=n.top,a=n.top+n.height;else if("vertical"===t)a=o=e.y,r=n.left,i=n.left+n.width;else if(null!=e.cx&&null!=e.cy){if("centric"!==t)return $(e);var u=e.cx,c=e.cy,l=e.innerRadius,s=e.outerRadius,f=e.angle,p=(0,F.op)(u,c,l,f),h=(0,F.op)(u,c,s,f);r=p.x,o=p.y,i=h.x,a=h.y}return[{x:r,y:o},{x:i,y:a}]}(h,u,l)},d=tN.H;var b=t.key||"_recharts-cursor",x=ni(ni(ni(ni({stroke:"#ccc",pointerEvents:"none"},l),r),(0,tI.L6)(t.props.cursor)),{},{payload:c,payloadIndex:s,key:b,className:"recharts-tooltip-cursor"});return(0,R.isValidElement)(t.props.cursor)?(0,R.cloneElement)(t.props.cursor,x):(0,R.createElement)(d,x)}),na(e9(e),"renderPolarAxis",function(t,n,r){var o=k()(t,"type.axisType"),i=k()(e.state,"".concat(o,"Map")),a=i&&i[t.props["".concat(o,"Id")]];return(0,R.cloneElement)(t,ni(ni({},a),{},{className:o,key:t.key||"".concat(n,"-").concat(r),ticks:(0,t9.uY)(a,!0)}))}),na(e9(e),"renderXAxis",function(t,n,r){var o=e.state.xAxisMap[t.props.xAxisId];return e.renderAxis(o,t,n,r)}),na(e9(e),"renderYAxis",function(t,n,r){var o=e.state.yAxisMap[t.props.yAxisId];return e.renderAxis(o,t,n,r)}),na(e9(e),"renderGrid",function(t){var n=e.state,r=n.xAxisMap,o=n.yAxisMap,i=n.offset,a=e.props,u=a.width,c=a.height,l=(0,z.Kt)(r),s=x()(o,function(t){return g()(t.domain,ns)})||(0,z.Kt)(o),f=t.props||{};return(0,R.cloneElement)(t,{key:t.key||"grid",x:(0,z.hj)(f.x)?f.x:i.left,y:(0,z.hj)(f.y)?f.y:i.top,width:(0,z.hj)(f.width)?f.width:i.width,height:(0,z.hj)(f.height)?f.height:i.height,xAxis:l,yAxis:s,offset:i,chartWidth:u,chartHeight:c,verticalCoordinatesGenerator:f.verticalCoordinatesGenerator||e.verticalCoordinatesGenerator,horizontalCoordinatesGenerator:f.horizontalCoordinatesGenerator||e.horizontalCoordinatesGenerator})}),na(e9(e),"renderPolarGrid",function(t){var n=t.props,r=n.radialLines,o=n.polarAngles,i=n.polarRadius,a=e.state,u=a.radiusAxisMap,c=a.angleAxisMap,l=(0,z.Kt)(u),s=(0,z.Kt)(c),f=s.cx,p=s.cy,h=s.innerRadius,d=s.outerRadius;return(0,R.cloneElement)(t,{polarAngles:L()(o)?o:(0,t9.uY)(s,!0).map(function(t){return t.coordinate}),polarRadius:L()(i)?i:(0,t9.uY)(l,!0).map(function(t){return t.coordinate}),cx:f,cy:p,innerRadius:h,outerRadius:d,key:t.key||"polar-grid",radialLines:r})}),na(e9(e),"renderLegend",function(){var t=e.state.formattedGraphicalItems,n=e.props,r=n.children,o=n.width,i=n.height,a=e.props.margin||{},u=o-(a.left||0)-(a.right||0),c=(0,eb.z)({children:r,formattedGraphicalItems:t,legendWidth:u,legendContent:p});if(!c)return null;var l=c.item,s=e5(c,e1);return(0,R.cloneElement)(l,ni(ni({},s),{},{chartWidth:o,chartHeight:i,margin:a,onBBoxUpdate:e.handleLegendBBoxUpdate}))}),na(e9(e),"renderTooltip",function(){var t=e.props.children,n=(0,tI.sP)(t,t_);if(!n)return null;var r=e.state,o=r.isTooltipActive,i=r.activeCoordinate,a=r.activePayload,u=r.activeLabel,c=r.offset;return(0,R.cloneElement)(n,{viewBox:ni(ni({},c),{},{x:c.left,y:c.top}),active:o,label:u,payload:o?a:[],coordinate:i})}),na(e9(e),"renderBrush",function(t){var n=e.props,r=n.margin,o=n.data,i=e.state,a=i.offset,u=i.dataStartIndex,c=i.dataEndIndex,l=i.updateId;return(0,R.cloneElement)(t,{key:t.key||"_recharts-brush",onChange:(0,t9.DO)(e.handleBrushChange,null,t.props.onChange),data:o,x:(0,z.hj)(t.props.x)?t.props.x:a.left,y:(0,z.hj)(t.props.y)?t.props.y:a.top+a.height+a.brushBottom-(r.bottom||0),width:(0,z.hj)(t.props.width)?t.props.width:a.width,startIndex:u,endIndex:c,updateId:"brush-".concat(l)})}),na(e9(e),"renderReferenceElement",function(t,n,r){if(!t)return null;var o=e9(e).clipPathId,i=e.state,a=i.xAxisMap,u=i.yAxisMap,c=i.offset,l=t.props,s=l.xAxisId,f=l.yAxisId;return(0,R.cloneElement)(t,{key:t.key||"".concat(n,"-").concat(r),xAxis:a[s],yAxis:u[f],viewBox:{x:c.left,y:c.top,width:c.width,height:c.height},clipPathId:o})}),na(e9(e),"renderActivePoints",function(t){var e=t.item,n=t.activePoint,r=t.basePoint,o=t.childIndex,i=t.isRange,u=[],c=e.props.key,l=e.item.props,s=l.activeDot,f=ni(ni({index:o,dataKey:l.dataKey,cx:n.x,cy:n.y,r:4,fill:(0,t9.fk)(e.item),strokeWidth:2,stroke:"#fff",payload:n.payload,value:n.value,key:"".concat(c,"-activePoint-").concat(o)},(0,tI.L6)(s)),(0,t$.Ym)(s));return u.push(a.renderActiveDot(s,f)),r?u.push(a.renderActiveDot(s,ni(ni({},f),{},{cx:r.x,cy:r.y,key:"".concat(c,"-basePoint-").concat(o)}))):i&&u.push(null),u}),na(e9(e),"renderGraphicChild",function(t,n,r){var o=e.filterFormatItem(t,n,r);if(!o)return null;var i=e.getTooltipEventType(),a=e.state,u=a.isTooltipActive,c=a.tooltipAxis,l=a.activeTooltipIndex,s=a.activeLabel,f=e.props.children,p=(0,tI.sP)(f,t_),h=o.props,d=h.points,y=h.isRange,v=h.baseLine,m=o.item.props,g=m.activeDot,b=m.hide,x=m.activeBar,O=m.activeShape,w={};"axis"!==i&&p&&"click"===p.props.trigger?w={onClick:(0,t9.DO)(e.handleItemMouseEnter,null,t.props.onCLick)}:"axis"!==i&&(w={onMouseLeave:(0,t9.DO)(e.handleItemMouseLeave,null,t.props.onMouseLeave),onMouseEnter:(0,t9.DO)(e.handleItemMouseEnter,null,t.props.onMouseEnter)});var j=(0,R.cloneElement)(t,ni(ni({},o.props),w));if(!b&&u&&p&&(g||x||O)){if(l>=0){if(c.dataKey&&!c.allowDuplicatedCategory){var S="function"==typeof c.dataKey?function(t){return"function"==typeof c.dataKey?c.dataKey(t.payload):null}:"payload.".concat(c.dataKey.toString());A=(0,z.Ap)(d,S,s),P=y&&v&&(0,z.Ap)(v,S,s)}else A=null==d?void 0:d[l],P=y&&v&&v[l];if(O||x){var E=void 0!==t.props.activeIndex?t.props.activeIndex:l;return[(0,R.cloneElement)(t,ni(ni(ni({},o.props),w),{},{activeIndex:E})),null,null]}if(!T()(A))return[j].concat(ne(e.renderActivePoints({item:o,activePoint:A,basePoint:P,childIndex:l,isRange:y})))}else{var A,P,k,M=(null!==(k=e.getItemByXY(e.state.activeCoordinate))&&void 0!==k?k:{graphicalItem:j}).graphicalItem,_=M.item,C=M.childIndex,N=ni(ni(ni({},o.props),w),{},{activeIndex:C});return[(0,R.cloneElement)(void 0===_?t:_,N),null,null]}}return y?[j,null,null]:[j,null]}),na(e9(e),"renderCustomized",function(t,n,r){return(0,R.cloneElement)(t,ni(ni({key:"recharts-customized-".concat(r)},e.props),e.state))}),e.uniqueChartId=T()(t.id)?(0,z.EL)("recharts"):t.id,e.clipPathId="".concat(e.uniqueChartId,"-clip"),t.throttleDelay&&(e.triggeredAfterMouseMove=S()(e.triggeredAfterMouseMove,t.throttleDelay)),e.state={},e}return n=[{key:"componentDidMount",value:function(){var t,e;T()(this.props.syncId)||this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:null!==(t=this.props.margin.left)&&void 0!==t?t:0,top:null!==(e=this.props.margin.top)&&void 0!==e?e:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.handleMouseMove,layout:this.props.layout})}},{key:"getSnapshotBeforeUpdate",value:function(t,e){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==e.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==t.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==t.margin){var n,r;this.accessibilityManager.setDetails({offset:{left:null!==(n=this.props.margin.left)&&void 0!==n?n:0,top:null!==(r=this.props.margin.top)&&void 0!==r?r:0}})}return null}},{key:"componentDidUpdate",value:function(t){T()(t.syncId)&&!T()(this.props.syncId)&&this.addListener(),!T()(t.syncId)&&T()(this.props.syncId)&&this.removeListener()}},{key:"componentWillUnmount",value:function(){this.clearDefer(),T()(this.props.syncId)||this.removeListener(),this.cancelThrottledTriggerAfterMouseMove()}},{key:"cancelThrottledTriggerAfterMouseMove",value:function(){"function"==typeof this.triggeredAfterMouseMove.cancel&&this.triggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var t=(0,tI.sP)(this.props.children,t_);if(t&&I()(t.props.shared)){var e=t.props.shared?"axis":"item";return s.indexOf(e)>=0?e:c}return c}},{key:"getMouseInfo",value:function(t){if(!this.container)return null;var e,n=(0,W.os)(this.container),r=(0,W.IR)(t,n),o=this.container,i=null==o||null===(e=o.getBoundingClientRect())||void 0===e?void 0:e.width,a=o.offsetWidth,u=this.inRange(r.chartX,r.chartY,i/a||1);if(!u)return null;var c=this.state,l=c.xAxisMap,s=c.yAxisMap;if("axis"!==this.getTooltipEventType()&&l&&s){var f=(0,z.Kt)(l).scale,p=(0,z.Kt)(s).scale,h=f&&f.invert?f.invert(r.chartX):null,d=p&&p.invert?p.invert(r.chartY):null;return ni(ni({},r),{},{xValue:h,yValue:d})}var y=ny(this.state,this.props.data,this.props.layout,u);return y?ni(ni({},r),y):null}},{key:"inRange",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=this.props.layout,o=t/n,i=e/n;if("horizontal"===r||"vertical"===r){var a=this.state.offset;return o>=a.left&&o<=a.left+a.width&&i>=a.top&&i<=a.top+a.height?{x:o,y:i}:null}var u=this.state,c=u.angleAxisMap,l=u.radiusAxisMap;if(c&&l){var s=(0,z.Kt)(c);return(0,F.z3)({x:o,y:i},s)}return null}},{key:"parseEventsOfWrapper",value:function(){var t=this.props.children,e=this.getTooltipEventType(),n=(0,tI.sP)(t,t_),r={};return n&&"axis"===e&&(r="click"===n.props.trigger?{onClick:this.handleClick}:{onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd}),ni(ni({},(0,t$.Ym)(this.props,this.handleOuterEvent)),r)}},{key:"addListener",value:function(){eY.on(eH,this.handleReceiveSyncEvent),eY.setMaxListeners&&eY._maxListeners&&eY.setMaxListeners(eY._maxListeners+1)}},{key:"removeListener",value:function(){eY.removeListener(eH,this.handleReceiveSyncEvent),eY.setMaxListeners&&eY._maxListeners&&eY.setMaxListeners(eY._maxListeners-1)}},{key:"triggerSyncEvent",value:function(t){var e=this.props.syncId;T()(e)||eY.emit(eH,e,this.uniqueChartId,t)}},{key:"applySyncEvent",value:function(t){var e=this.props,n=e.layout,r=e.syncMethod,o=this.state.updateId,i=t.dataStartIndex,a=t.dataEndIndex;if(T()(t.dataStartIndex)&&T()(t.dataEndIndex)){if(T()(t.activeTooltipIndex))this.setState(t);else{var u=t.chartX,c=t.chartY,l=t.activeTooltipIndex,s=this.state,f=s.offset,p=s.tooltipTicks;if(!f)return;if("function"==typeof r)l=r(p,t);else if("value"===r){l=-1;for(var h=0;ht.length)&&(e=t.length);for(var n=0,r=Array(e);n=0?1:-1;"insideStart"===i?(r=g+S*u,o=x):"insideEnd"===i?(r=b-S*u,o=!x):"end"===i&&(r=b+S*u,o=x),o=j<=0?o:!o;var E=(0,y.op)(p,h,w,r),A=(0,y.op)(p,h,w,r+(o?1:-1)*359),P="M".concat(E.x,",").concat(E.y,"\n A").concat(w,",").concat(w,",0,1,").concat(o?0:1,",\n ").concat(A.x,",").concat(A.y),k=c()(t.id)?(0,d.EL)("recharts-radial-line-"):t.id;return l.createElement("text",O({},n,{dominantBaseline:"central",className:f()("recharts-radial-bar-label",s)}),l.createElement("defs",null,l.createElement("path",{id:k,d:P})),l.createElement("textPath",{xlinkHref:"#".concat(k)},e))},S=function(t){var e=t.viewBox,n=t.offset,r=t.position,o=e.cx,i=e.cy,a=e.innerRadius,u=e.outerRadius,c=(e.startAngle+e.endAngle)/2;if("outside"===r){var l=(0,y.op)(o,i,u+n,c),s=l.x;return{x:s,y:l.y,textAnchor:s>=o?"start":"end",verticalAnchor:"middle"}}if("center"===r)return{x:o,y:i,textAnchor:"middle",verticalAnchor:"middle"};if("centerTop"===r)return{x:o,y:i,textAnchor:"middle",verticalAnchor:"start"};if("centerBottom"===r)return{x:o,y:i,textAnchor:"middle",verticalAnchor:"end"};var f=(0,y.op)(o,i,(a+u)/2,c);return{x:f.x,y:f.y,textAnchor:"middle",verticalAnchor:"middle"}},E=function(t){var e=t.viewBox,n=t.parentViewBox,r=t.offset,i=t.position,a=e.x,u=e.y,c=e.width,l=e.height,s=l>=0?1:-1,f=s*r,p=s>0?"end":"start",h=s>0?"start":"end",y=c>=0?1:-1,v=y*r,m=y>0?"end":"start",g=y>0?"start":"end";if("top"===i)return x(x({},{x:a+c/2,y:u-s*r,textAnchor:"middle",verticalAnchor:p}),n?{height:Math.max(u-n.y,0),width:c}:{});if("bottom"===i)return x(x({},{x:a+c/2,y:u+l+f,textAnchor:"middle",verticalAnchor:h}),n?{height:Math.max(n.y+n.height-(u+l),0),width:c}:{});if("left"===i){var b={x:a-v,y:u+l/2,textAnchor:m,verticalAnchor:"middle"};return x(x({},b),n?{width:Math.max(b.x-n.x,0),height:l}:{})}if("right"===i){var O={x:a+c+v,y:u+l/2,textAnchor:g,verticalAnchor:"middle"};return x(x({},O),n?{width:Math.max(n.x+n.width-O.x,0),height:l}:{})}var w=n?{width:c,height:l}:{};return"insideLeft"===i?x({x:a+v,y:u+l/2,textAnchor:g,verticalAnchor:"middle"},w):"insideRight"===i?x({x:a+c-v,y:u+l/2,textAnchor:m,verticalAnchor:"middle"},w):"insideTop"===i?x({x:a+c/2,y:u+f,textAnchor:"middle",verticalAnchor:h},w):"insideBottom"===i?x({x:a+c/2,y:u+l-f,textAnchor:"middle",verticalAnchor:p},w):"insideTopLeft"===i?x({x:a+v,y:u+f,textAnchor:g,verticalAnchor:h},w):"insideTopRight"===i?x({x:a+c-v,y:u+f,textAnchor:m,verticalAnchor:h},w):"insideBottomLeft"===i?x({x:a+v,y:u+l-f,textAnchor:g,verticalAnchor:p},w):"insideBottomRight"===i?x({x:a+c-v,y:u+l-f,textAnchor:m,verticalAnchor:p},w):o()(i)&&((0,d.hj)(i.x)||(0,d.hU)(i.x))&&((0,d.hj)(i.y)||(0,d.hU)(i.y))?x({x:a+(0,d.h1)(i.x,c),y:u+(0,d.h1)(i.y,l),textAnchor:"end",verticalAnchor:"end"},w):x({x:a+c/2,y:u+l/2,textAnchor:"middle",verticalAnchor:"middle"},w)};function A(t){var e,n=t.offset,r=x({offset:void 0===n?5:n},function(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(t,m)),o=r.viewBox,i=r.position,u=r.value,s=r.children,y=r.content,v=r.className,g=r.textBreakAll;if(!o||c()(u)&&c()(s)&&!(0,l.isValidElement)(y)&&!a()(y))return null;if((0,l.isValidElement)(y))return(0,l.cloneElement)(y,r);if(a()(y)){if(e=(0,l.createElement)(y,r),(0,l.isValidElement)(e))return e}else e=w(r);var b="cx"in o&&(0,d.hj)(o.cx),A=(0,h.L6)(r,!0);if(b&&("insideStart"===i||"insideEnd"===i||"end"===i))return j(r,e,A);var P=b?S(r):E(r);return l.createElement(p.x,O({className:f()("recharts-label",void 0===v?"":v)},A,P,{breakAll:g}),e)}A.displayName="Label";var P=function(t){var e=t.cx,n=t.cy,r=t.angle,o=t.startAngle,i=t.endAngle,a=t.r,u=t.radius,c=t.innerRadius,l=t.outerRadius,s=t.x,f=t.y,p=t.top,h=t.left,y=t.width,v=t.height,m=t.clockWise,g=t.labelViewBox;if(g)return g;if((0,d.hj)(y)&&(0,d.hj)(v)){if((0,d.hj)(s)&&(0,d.hj)(f))return{x:s,y:f,width:y,height:v};if((0,d.hj)(p)&&(0,d.hj)(h))return{x:p,y:h,width:y,height:v}}return(0,d.hj)(s)&&(0,d.hj)(f)?{x:s,y:f,width:0,height:0}:(0,d.hj)(e)&&(0,d.hj)(n)?{cx:e,cy:n,startAngle:o||r||0,endAngle:i||r||0,innerRadius:c||0,outerRadius:l||u||a||0,clockWise:m}:t.viewBox?t.viewBox:{}};A.parseViewBox=P,A.renderCallByParent=function(t,e){var n,r,i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(!t||!t.children&&i&&!t.label)return null;var u=t.children,c=P(t),s=(0,h.NN)(u,A).map(function(t,n){return(0,l.cloneElement)(t,{viewBox:e||c,key:"label-".concat(n)})});return i?[(n=t.label,r=e||c,n?!0===n?l.createElement(A,{key:"label-implicit",viewBox:r}):(0,d.P2)(n)?l.createElement(A,{key:"label-implicit",viewBox:r,value:n}):(0,l.isValidElement)(n)?n.type===A?(0,l.cloneElement)(n,{key:"label-implicit",viewBox:r}):l.createElement(A,{key:"label-implicit",content:n,viewBox:r}):a()(n)?l.createElement(A,{key:"label-implicit",content:n,viewBox:r}):o()(n)?l.createElement(A,O({viewBox:r},n,{key:"label-implicit"})):null:null)].concat(function(t){if(Array.isArray(t))return g(t)}(s)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(s)||function(t,e){if(t){if("string"==typeof t)return g(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return g(t,e)}}(s)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()):s}},33558:function(t,e,n){"use strict";n.d(e,{D:function(){return D}});var r=n(23560),o=n.n(r),i=n(45578),a=n.n(i),u=n(67294),c=n(94184),l=n.n(c),s=n(6213),f=n(20514),p=n(21138),h=n(79896);function d(t){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function y(){return(y=Object.assign?Object.assign.bind():function(t){for(var e=1;e');var O=e.inactive?c:e.color;return u.createElement("li",y({className:g,style:d,key:"legend-item-".concat(n)},(0,h.bw)(t.props,e,n)),u.createElement(f.T,{width:r,height:r,viewBox:p,style:v},t.renderIcon(e)),u.createElement("span",{className:"recharts-legend-item-text",style:{color:O}},m?m(b,e,n):b))})}},{key:"render",value:function(){var t=this.props,e=t.payload,n=t.layout,r=t.align;return e&&e.length?u.createElement("ul",{className:"recharts-default-legend",style:{padding:0,margin:0,textAlign:"horizontal"===n?r:"left"}},this.renderItems()):null}}],m(a.prototype,n),r&&m(a,r),Object.defineProperty(a,"prototype",{writable:!1}),a}(u.PureComponent);x(w,"displayName","Legend"),x(w,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var j=n(69055);function S(t){return(S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var E=["ref"];function A(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function P(t){for(var e=1;e=0&&n>=0?{width:e,height:n}:null}},{key:"getDefaultPosition",value:function(t){var e,n,r=this.props,o=r.layout,i=r.align,a=r.verticalAlign,u=r.margin,c=r.chartWidth,l=r.chartHeight;return t&&(void 0!==t.left&&null!==t.left||void 0!==t.right&&null!==t.right)||(e="center"===i&&"vertical"===o?{left:((c||0)-(this.getBBoxSnapshot()||{width:0}).width)/2}:"right"===i?{right:u&&u.right||0}:{left:u&&u.left||0}),t&&(void 0!==t.top&&null!==t.top||void 0!==t.bottom&&null!==t.bottom)||(n="middle"===a?{top:((l||0)-(this.getBBoxSnapshot()||{height:0}).height)/2}:"bottom"===a?{bottom:u&&u.bottom||0}:{top:u&&u.top||0}),P(P({},e),n)}},{key:"updateBBox",value:function(){var t=this.state,e=t.boxWidth,n=t.boxHeight,r=this.props.onBBoxUpdate;if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var o=this.wrapperNode.getBoundingClientRect();(Math.abs(o.width-e)>1||Math.abs(o.height-n)>1)&&this.setState({boxWidth:o.width,boxHeight:o.height},function(){r&&r(o)})}else(-1!==e||-1!==n)&&this.setState({boxWidth:-1,boxHeight:-1},function(){r&&r(null)})}},{key:"render",value:function(){var t=this,e=this.props,n=e.content,r=e.width,i=e.height,c=e.wrapperStyle,l=e.payloadUniqBy,s=e.payload,f=P(P({position:"absolute",width:r||"auto",height:i||"auto"},this.getDefaultPosition(c)),c);return u.createElement("div",{className:"recharts-legend-wrapper",style:f,ref:function(e){t.wrapperNode=e}},function(t,e){if(u.isValidElement(t))return u.cloneElement(t,e);if(o()(t))return u.createElement(t,e);e.ref;var n=function(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(e,E);return u.createElement(w,n)}(n,P(P({},this.props),{},{payload:!0===l?a()(s,I):o()(l)?a()(s,l):s})))}}],r=[{key:"getWithHeight",value:function(t,e){var n=t.props.layout;return"vertical"===n&&(0,j.hj)(t.props.height)?{height:t.props.height}:"horizontal"===n?{width:t.props.width||e}:null}}],n&&k(c.prototype,n),r&&k(c,r),Object.defineProperty(c,"prototype",{writable:!1}),c}(u.PureComponent);C(D,"displayName","Legend"),C(D,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"})},84642:function(t,e,n){"use strict";n.d(e,{x:function(){return B}});var r=n(14293),o=n.n(r),i=n(67294),a=n(94184),u=n.n(a),c=n(69055),l=n(47523),s=n(52017),f=n(41209);function p(t){return(p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function h(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,u=[],c=!0,l=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(u.push(r.value),u.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(t,e)||function(t,e){if(t){if("string"==typeof t)return d(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(t,e)}}(t,e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function T(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,u=[],c=!0,l=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(u.push(r.value),u.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(t,e)||function(t,e){if(t){if("string"==typeof t)return _(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _(t,e)}}(t,e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n0&&void 0!==arguments[0]?arguments[0]:[];return t.reduce(function(t,e){var i=e.word,a=e.width,u=t[t.length-1];return u&&(null==r||o||u.width+a+na||e.reduce(function(t,e){return t.width>e.width?t:e}).width>Number(r),e]},y=0,v=u.length-1,m=0;y<=v&&m<=u.length-1;){var g=Math.floor((y+v)/2),b=T(d(g-1),2),x=b[0],O=b[1],w=T(d(g),1)[0];if(x||w||(y=g+1),x&&w&&(v=g-1),!x&&w){i=O;break}m++}return i||h},D=function(t){return[{words:o()(t)?[]:t.toString().split(C)}]},L=function(t){var e=t.width,n=t.scaleToFit,r=t.children,o=t.style,i=t.breakAll,a=t.maxLines;if((e||n)&&!l.x.isSsr){var u=N({breakAll:i,children:r,style:o});if(!u)return D(r);var c=u.wordsWithComputedWidth,s=u.spaceWidth;return I({breakAll:i,children:r,maxLines:a,style:o},c,s,e,n)}return D(r)},R="#808080",B=function(t){var e,n=t.x,r=void 0===n?0:n,o=t.y,a=void 0===o?0:o,l=t.lineHeight,f=void 0===l?"1em":l,p=t.capHeight,h=void 0===p?"0.71em":p,d=t.scaleToFit,y=void 0!==d&&d,v=t.textAnchor,m=t.verticalAnchor,g=t.fill,b=void 0===g?R:g,x=M(t,A),O=(0,i.useMemo)(function(){return L({breakAll:x.breakAll,children:x.children,maxLines:x.maxLines,scaleToFit:y,style:x.style,width:x.width})},[x.breakAll,x.children,x.maxLines,y,x.style,x.width]),w=x.dx,j=x.dy,S=x.angle,T=x.className,_=x.breakAll,C=M(x,P);if(!(0,c.P2)(r)||!(0,c.P2)(a))return null;var N=r+((0,c.hj)(w)?w:0),I=a+((0,c.hj)(j)?j:0);switch(void 0===m?"end":m){case"start":e=E("calc(".concat(h,")"));break;case"middle":e=E("calc(".concat((O.length-1)/2," * -").concat(f," + (").concat(h," / 2))"));break;default:e=E("calc(".concat(O.length-1," * -").concat(f,")"))}var D=[];if(y){var B=O[0].width,U=x.width;D.push("scale(".concat(((0,c.hj)(U)?U/B:1)/B,")"))}return S&&D.push("rotate(".concat(S,", ").concat(N,", ").concat(I,")")),D.length&&(C.transform=D.join(" ")),i.createElement("text",k({},(0,s.L6)(C,!0),{x:N,y:I,className:u()("recharts-text",T),textAnchor:void 0===v?"start":v,fill:b.includes("url")?R:b}),O.map(function(t,n){return i.createElement("tspan",{x:N,dy:0===n?e:f,key:n},t.words.join(_?"":" "))}))}},48710:function(t,e,n){"use strict";n.d(e,{m:function(){return l}});var r=n(67294),o=n(94184),i=n.n(o),a=n(52017),u=["children","className"];function c(){return(c=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(t,u),s=i()("recharts-layer",o);return r.createElement("g",c({className:s},(0,a.L6)(l,!0),{ref:e}),n)})},20514:function(t,e,n){"use strict";n.d(e,{T:function(){return l}});var r=n(67294),o=n(94184),i=n.n(o),a=n(52017),u=["children","width","height","viewBox","className","style"];function c(){return(c=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(t,u),h=l||{width:n,height:o,x:0,y:0},d=i()("recharts-surface",s);return r.createElement("svg",c({},(0,a.L6)(p,!0,"svg"),{className:d,width:n,height:o,style:f,viewBox:"".concat(h.x," ").concat(h.y," ").concat(h.width," ").concat(h.height)}),r.createElement("title",null,t.title),r.createElement("desc",null,t.desc),e)}},34816:function(t,e,n){"use strict";n.d(e,{b:function(){return tt}});var r=n(18446),o=n.n(r),i=n(27361),a=n.n(i),u=n(23560),c=n.n(u),l=n(14293),s=n.n(l),f=n(67294),p=n(93801),h=n(94184),d=n.n(h),y=n(48710),v=n(66338),m=n(84642),g=n(25048),b=n(13218),x=n.n(b),O=n(10928),w=n.n(O),j=n(1469),S=n.n(j),E=n(52017),A=n(35552);function P(t){return(P="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var k=["valueAccessor"],M=["data","dataKey","clockWise","id","textBreakAll"];function T(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var D=function(t){return S()(t.value)?w()(t.value):t.value};function L(t){var e=t.valueAccessor,n=void 0===e?D:e,r=I(t,k),o=r.data,i=r.dataKey,a=r.clockWise,u=r.id,c=r.textBreakAll,l=I(r,M);return o&&o.length?f.createElement(y.m,{className:"recharts-label-list"},o.map(function(t,e){var r=s()(i)?n(t,e):(0,A.F$)(t&&t.payload,i),o=s()(u)?{}:{id:"".concat(u,"-").concat(e)};return f.createElement(g._,_({},(0,E.L6)(t,!0),l,o,{parentViewBox:t.parentViewBox,index:e,value:r,textBreakAll:c,viewBox:g._.parseViewBox(s()(a)?t:N(N({},t),{},{clockWise:a})),key:"label-".concat(e)}))})):null}L.displayName="LabelList",L.renderCallByParent=function(t,e){var n,r=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(!t||!t.children&&r&&!t.label)return null;var o=t.children,i=(0,E.NN)(o,L).map(function(t,n){return(0,f.cloneElement)(t,{data:e,key:"labelList-".concat(n)})});return r?[(n=t.label)?!0===n?f.createElement(L,{key:"labelList-implicit",data:e}):f.isValidElement(n)||c()(n)?f.createElement(L,{key:"labelList-implicit",data:e,content:n}):x()(n)?f.createElement(L,_({data:e},n,{key:"labelList-implicit"})):null:null].concat(function(t){if(Array.isArray(t))return T(t)}(i)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(i)||function(t,e){if(t){if("string"==typeof t)return T(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return T(t,e)}}(i)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()):i};var R=n(43815),B=n(47523),U=n(40048),F=n(69055),$=n(6213),z=n(79896),W=n(49465);function q(t){return(q="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function G(){return(G=Object.assign?Object.assign.bind():function(t){for(var e=1;e0?a()(t,"paddingAngle",0):0;if(n){var c=(0,F.k4)(n.endAngle-n.startAngle,t.endAngle-t.startAngle),l=Y(Y({},t),{},{startAngle:i+u,endAngle:i+c(r)+u});o.push(l),i=l.endAngle}else{var f=t.endAngle,p=t.startAngle,h=(0,F.k4)(0,f-p)(r),d=Y(Y({},t),{},{startAngle:i+u,endAngle:i+h+u});o.push(d),i=d.endAngle}}),f.createElement(y.m,null,t.renderSectorsStatically(o))})}},{key:"attachKeyboardHandlers",value:function(t){var e=this;t.onkeydown=function(t){if(!t.altKey)switch(t.key){case"ArrowLeft":var n=++e.state.sectorToFocus%e.sectorRefs.length;e.sectorRefs[n].focus(),e.setState({sectorToFocus:n});break;case"ArrowRight":var r=--e.state.sectorToFocus<0?e.sectorRefs.length-1:e.state.sectorToFocus%e.sectorRefs.length;e.sectorRefs[r].focus(),e.setState({sectorToFocus:r});break;case"Escape":e.sectorRefs[e.state.sectorToFocus].blur(),e.setState({sectorToFocus:0})}}}},{key:"renderSectors",value:function(){var t=this.props,e=t.sectors,n=t.isAnimationActive,r=this.state.prevSectors;return n&&e&&e.length&&(!r||!o()(r,e))?this.renderSectorsWithAnimation():this.renderSectorsStatically(e)}},{key:"componentDidMount",value:function(){this.pieRef&&this.attachKeyboardHandlers(this.pieRef)}},{key:"render",value:function(){var t=this,e=this.props,n=e.hide,r=e.sectors,o=e.className,i=e.label,a=e.cx,u=e.cy,c=e.innerRadius,l=e.outerRadius,s=e.isAnimationActive,p=this.state.isAnimationFinished;if(n||!r||!r.length||!(0,F.hj)(a)||!(0,F.hj)(u)||!(0,F.hj)(c)||!(0,F.hj)(l))return null;var h=d()("recharts-pie",o);return f.createElement(y.m,{tabIndex:this.props.rootTabIndex,className:h,ref:function(e){t.pieRef=e}},this.renderSectors(),i&&this.renderLabels(r),g._.renderCallByParent(this.props,null,!1),(!s||p)&&L.renderCallByParent(this.props,r,!1))}}],r=[{key:"getDerivedStateFromProps",value:function(t,e){return e.prevIsAnimationActive!==t.isAnimationActive?{prevIsAnimationActive:t.isAnimationActive,prevAnimationId:t.animationId,curSectors:t.sectors,prevSectors:[],isAnimationFinished:!0}:t.isAnimationActive&&t.animationId!==e.prevAnimationId?{prevAnimationId:t.animationId,curSectors:t.sectors,prevSectors:e.curSectors,isAnimationFinished:!0}:t.sectors!==e.curSectors?{curSectors:t.sectors,isAnimationFinished:!0}:null}},{key:"getTextAnchor",value:function(t,e){return t>e?"start":t=360?O:O-1)*f,j=i.reduce(function(t,e){var n=(0,A.F$)(e,x,0);return t+((0,F.hj)(n)?n:0)},0);return j>0&&(e=i.map(function(t,e){var r,o=(0,A.F$)(t,x,0),i=(0,A.F$)(t,h,e),a=((0,F.hj)(o)?o:0)/j,l=(r=e?n.endAngle+(0,F.uY)(g)*f*(0!==o?1:0):c)+(0,F.uY)(g)*((0!==o?v:0)+a*w),s=(r+l)/2,p=(m.innerRadius+m.outerRadius)/2,d=[{name:i,value:o,payload:t,dataKey:x,type:y}],b=(0,U.op)(m.cx,m.cy,p,s);return n=Y(Y(Y({percent:a,cornerRadius:u,name:i,tooltipPayload:d,midAngle:s,middleRadius:p,tooltipPosition:b},t),m),{},{value:(0,A.F$)(t,x),startAngle:r,endAngle:l,payload:t,paddingAngle:(0,F.uY)(g)*f})})),Y(Y({},m),{},{sectors:e,data:i})})},66338:function(t,e,n){"use strict";n.d(e,{H:function(){return V}});var r=n(1469),o=n.n(r),i=n(11700),a=n.n(i),u=n(23560),c=n.n(u),l=n(67294);function s(){}function f(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function p(t){this._context=t}function h(t){this._context=t}function d(t){this._context=t}p.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:f(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:f(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},h.prototype={areaStart:s,areaEnd:s,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:f(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},d.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:f(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};class y{constructor(t,e){this._context=t,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,e,t,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,t,this._y0,t,e)}this._x0=t,this._y0=e}}function v(t){this._context=t}function m(t){this._context=t}function g(t){return new m(t)}function b(t,e,n){var r=t._x1-t._x0,o=e-t._x1,i=(t._y1-t._y0)/(r||o<0&&-0),a=(n-t._y1)/(o||r<0&&-0);return((i<0?-1:1)+(a<0?-1:1))*Math.min(Math.abs(i),Math.abs(a),.5*Math.abs((i*o+a*r)/(r+o)))||0}function x(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function O(t,e,n){var r=t._x0,o=t._y0,i=t._x1,a=t._y1,u=(i-r)/3;t._context.bezierCurveTo(r+u,o+u*e,i-u,a-u*n,i,a)}function w(t){this._context=t}function j(t){this._context=new S(t)}function S(t){this._context=t}function E(t){this._context=t}function A(t){var e,n,r=t.length-1,o=Array(r),i=Array(r),a=Array(r);for(o[0]=0,i[0]=2,a[0]=t[0]+2*t[1],e=1;e=0;--e)o[e]=(a[e]-o[e+1])/i[e];for(e=0,i[r-1]=(t[r]+o[r-1])/2;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}}this._x=t,this._y=e}};var k=n(94788),M=n(20309),T=n(5472);function _(t){return t[0]}function C(t){return t[1]}function N(t,e){var n=(0,M.Z)(!0),r=null,o=g,i=null,a=(0,T.d)(u);function u(u){var c,l,s,f=(u=(0,k.Z)(u)).length,p=!1;for(null==r&&(i=o(s=a())),c=0;c<=f;++c)!(c=f;--p)u.point(m[p],g[p]);u.lineEnd(),u.areaEnd()}}v&&(m[s]=+t(h,s,l),g[s]=+e(h,s,l),u.point(r?+r(h,s,l):m[s],n?+n(h,s,l):g[s]))}if(d)return u=null,d+""||null}function s(){return N().defined(o).curve(a).context(i)}return t="function"==typeof t?t:void 0===t?_:(0,M.Z)(+t),e="function"==typeof e?e:void 0===e?(0,M.Z)(0):(0,M.Z)(+e),n="function"==typeof n?n:void 0===n?C:(0,M.Z)(+n),l.x=function(e){return arguments.length?(t="function"==typeof e?e:(0,M.Z)(+e),r=null,l):t},l.x0=function(e){return arguments.length?(t="function"==typeof e?e:(0,M.Z)(+e),l):t},l.x1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:(0,M.Z)(+t),l):r},l.y=function(t){return arguments.length?(e="function"==typeof t?t:(0,M.Z)(+t),n=null,l):e},l.y0=function(t){return arguments.length?(e="function"==typeof t?t:(0,M.Z)(+t),l):e},l.y1=function(t){return arguments.length?(n=null==t?null:"function"==typeof t?t:(0,M.Z)(+t),l):n},l.lineX0=l.lineY0=function(){return s().x(t).y(e)},l.lineY1=function(){return s().x(t).y(n)},l.lineX1=function(){return s().x(r).y(e)},l.defined=function(t){return arguments.length?(o="function"==typeof t?t:(0,M.Z)(!!t),l):o},l.curve=function(t){return arguments.length?(a=t,null!=i&&(u=a(i)),l):a},l.context=function(t){return arguments.length?(null==t?i=u=null:u=a(i=t),l):i},l}var D=n(94184),L=n.n(D),R=n(79896),B=n(52017),U=n(69055);function F(t){return(F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function $(){return($=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n=0?1:-1,c=n>=0?1:-1,l=r>=0&&n>=0||r<0&&n<0?1:0;if(a>0&&o instanceof Array){for(var s=[0,0,0,0],f=0;f<4;f++)s[f]=o[f]>a?a:o[f];i="M".concat(t,",").concat(e+u*s[0]),s[0]>0&&(i+="A ".concat(s[0],",").concat(s[0],",0,0,").concat(l,",").concat(t+c*s[0],",").concat(e)),i+="L ".concat(t+n-c*s[1],",").concat(e),s[1]>0&&(i+="A ".concat(s[1],",").concat(s[1],",0,0,").concat(l,",\n ").concat(t+n,",").concat(e+u*s[1])),i+="L ".concat(t+n,",").concat(e+r-u*s[2]),s[2]>0&&(i+="A ".concat(s[2],",").concat(s[2],",0,0,").concat(l,",\n ").concat(t+n-c*s[2],",").concat(e+r)),i+="L ".concat(t+c*s[3],",").concat(e+r),s[3]>0&&(i+="A ".concat(s[3],",").concat(s[3],",0,0,").concat(l,",\n ").concat(t,",").concat(e+r-u*s[3])),i+="Z"}else if(a>0&&o===+o&&o>0){var p=Math.min(a,o);i="M ".concat(t,",").concat(e+u*p,"\n A ").concat(p,",").concat(p,",0,0,").concat(l,",").concat(t+c*p,",").concat(e,"\n L ").concat(t+n-c*p,",").concat(e,"\n A ").concat(p,",").concat(p,",0,0,").concat(l,",").concat(t+n,",").concat(e+u*p,"\n L ").concat(t+n,",").concat(e+r-u*p,"\n A ").concat(p,",").concat(p,",0,0,").concat(l,",").concat(t+n-c*p,",").concat(e+r,"\n L ").concat(t+c*p,",").concat(e+r,"\n A ").concat(p,",").concat(p,",0,0,").concat(l,",").concat(t,",").concat(e+r-u*p," Z")}else i="M ".concat(t,",").concat(e," h ").concat(n," v ").concat(r," h ").concat(-n," Z");return i},d=function(t,e){if(!t||!e)return!1;var n=t.x,r=t.y,o=e.x,i=e.y,a=e.width,u=e.height;return!!(Math.abs(a)>0&&Math.abs(u)>0)&&n>=Math.min(o,o+a)&&n<=Math.max(o,o+a)&&r>=Math.min(i,i+u)&&r<=Math.max(i,i+u)},y={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},v=function(t){var e,n=p(p({},y),t),o=(0,r.useRef)(),c=function(t){if(Array.isArray(t))return t}(e=(0,r.useState)(-1))||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,u=[],c=!0,l=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(u.push(r.value),u.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(e,2)||function(t,e){if(t){if("string"==typeof t)return s(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(t,e)}}(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),f=c[0],d=c[1];(0,r.useEffect)(function(){if(o.current&&o.current.getTotalLength)try{var t=o.current.getTotalLength();t&&d(t)}catch(t){}},[]);var v=n.x,m=n.y,g=n.width,b=n.height,x=n.radius,O=n.className,w=n.animationEasing,j=n.animationDuration,S=n.animationBegin,E=n.isAnimationActive,A=n.isUpdateAnimationActive;if(v!==+v||m!==+m||g!==+g||b!==+b||0===g||0===b)return null;var P=i()("recharts-rectangle",O);return A?r.createElement(a.ZP,{canBegin:f>0,from:{width:g,height:b,x:v,y:m},to:{width:g,height:b,x:v,y:m},duration:j,animationEasing:w,isActive:A},function(t){var e=t.width,i=t.height,c=t.x,s=t.y;return r.createElement(a.ZP,{canBegin:f>0,from:"0px ".concat(-1===f?1:f,"px"),to:"".concat(f,"px 0px"),attributeName:"strokeDasharray",begin:S,duration:j,isActive:E,easing:w},r.createElement("path",l({},(0,u.L6)(n,!0),{className:P,d:h(c,s,e,i,x),ref:o})))}):r.createElement("path",l({},(0,u.L6)(n,!0),{className:P,d:h(v,m,g,b,x)}))}},45108:function(t,e,n){"use strict";n.d(e,{L:function(){return m}});var r=n(67294),o=n(94184),i=n.n(o),a=n(52017),u=n(40048),c=n(69055);function l(t){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function s(){return(s=Object.assign?Object.assign.bind():function(t){for(var e=1;e180),",").concat(+(a>s),",\n ").concat(p.x,",").concat(p.y,"\n ");if(o>0){var d=(0,u.op)(n,r,o,a),y=(0,u.op)(n,r,o,s);h+="L ".concat(y.x,",").concat(y.y,"\n A ").concat(o,",").concat(o,",0,\n ").concat(+(Math.abs(l)>180),",").concat(+(a<=s),",\n ").concat(d.x,",").concat(d.y," Z")}else h+="L ".concat(n,",").concat(r," Z");return h},y=function(t){var e=t.cx,n=t.cy,r=t.innerRadius,o=t.outerRadius,i=t.cornerRadius,a=t.forceCornerRadius,u=t.cornerIsExternal,l=t.startAngle,s=t.endAngle,f=(0,c.uY)(s-l),p=h({cx:e,cy:n,radius:o,angle:l,sign:f,cornerRadius:i,cornerIsExternal:u}),y=p.circleTangency,v=p.lineTangency,m=p.theta,g=h({cx:e,cy:n,radius:o,angle:s,sign:-f,cornerRadius:i,cornerIsExternal:u}),b=g.circleTangency,x=g.lineTangency,O=g.theta,w=u?Math.abs(l-s):Math.abs(l-s)-m-O;if(w<0)return a?"M ".concat(v.x,",").concat(v.y,"\n a").concat(i,",").concat(i,",0,0,1,").concat(2*i,",0\n a").concat(i,",").concat(i,",0,0,1,").concat(-(2*i),",0\n "):d({cx:e,cy:n,innerRadius:r,outerRadius:o,startAngle:l,endAngle:s});var j="M ".concat(v.x,",").concat(v.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(y.x,",").concat(y.y,"\n A").concat(o,",").concat(o,",0,").concat(+(w>180),",").concat(+(f<0),",").concat(b.x,",").concat(b.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(x.x,",").concat(x.y,"\n ");if(r>0){var S=h({cx:e,cy:n,radius:r,angle:l,sign:f,isExternal:!0,cornerRadius:i,cornerIsExternal:u}),E=S.circleTangency,A=S.lineTangency,P=S.theta,k=h({cx:e,cy:n,radius:r,angle:s,sign:-f,isExternal:!0,cornerRadius:i,cornerIsExternal:u}),M=k.circleTangency,T=k.lineTangency,_=k.theta,C=u?Math.abs(l-s):Math.abs(l-s)-P-_;if(C<0&&0===i)return"".concat(j,"L").concat(e,",").concat(n,"Z");j+="L".concat(T.x,",").concat(T.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(M.x,",").concat(M.y,"\n A").concat(r,",").concat(r,",0,").concat(+(C>180),",").concat(+(f>0),",").concat(E.x,",").concat(E.y,"\n A").concat(i,",").concat(i,",0,0,").concat(+(f<0),",").concat(A.x,",").concat(A.y,"Z")}else j+="L".concat(e,",").concat(n,"Z");return j},v={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},m=function(t){var e,n=p(p({},v),t),o=n.cx,u=n.cy,l=n.innerRadius,f=n.outerRadius,h=n.cornerRadius,m=n.forceCornerRadius,g=n.cornerIsExternal,b=n.startAngle,x=n.endAngle,O=n.className;if(f0&&360>Math.abs(b-x)?y({cx:o,cy:u,innerRadius:l,outerRadius:f,cornerRadius:Math.min(S,j/2),forceCornerRadius:m,cornerIsExternal:g,startAngle:b,endAngle:x}):d({cx:o,cy:u,innerRadius:l,outerRadius:f,startAngle:b,endAngle:x}),r.createElement("path",s({},(0,a.L6)(n,!0),{className:w,d:e,role:"img"}))}},21138:function(t,e,n){"use strict";n.d(e,{v:function(){return I}});var r=n(11700),o=n.n(r),i=n(67294);let a=Math.cos,u=Math.sin,c=Math.sqrt,l=Math.PI,s=2*l;var f={draw(t,e){let n=c(e/l);t.moveTo(n,0),t.arc(0,0,n,0,s)}};let p=c(1/3),h=2*p,d=u(l/10)/u(7*l/10),y=u(s/10)*d,v=-a(s/10)*d,m=c(3),g=c(3)/2,b=1/c(12),x=(b/2+1)*3;var O=n(20309),w=n(5472);c(3),c(3);var j=n(94184),S=n.n(j),E=n(52017);function A(t){return(A="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var P=["type","size","sizeType"];function k(){return(k=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(t,P)),{},{type:r,size:u,sizeType:l}),p=s.className,h=s.cx,d=s.cy,y=(0,E.L6)(s,!0);return h===+h&&d===+d&&u===+u?i.createElement("path",k({},y,{className:S()("recharts-symbols",p),transform:"translate(".concat(h,", ").concat(d,")"),d:(e=_["symbol".concat(o()(r))]||f,(function(t,e){let n=null,r=(0,w.d)(o);function o(){let o;if(n||(n=o=r()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),o)return n=null,o+""||null}return t="function"==typeof t?t:(0,O.Z)(t||f),e="function"==typeof e?e:(0,O.Z)(void 0===e?64:+e),o.type=function(e){return arguments.length?(t="function"==typeof e?e:(0,O.Z)(e),o):t},o.size=function(t){return arguments.length?(e="function"==typeof t?t:(0,O.Z)(+t),o):e},o.context=function(t){return arguments.length?(n=null==t?null:t,o):n},o})().type(e).size(N(u,l,r))())})):null};I.registerSymbol=function(t,e){_["symbol".concat(o()(t))]=e}},49465:function(t,e,n){"use strict";n.d(e,{bn:function(){return I},a3:function(){return $},lT:function(){return D},V$:function(){return L},w7:function(){return R}});var r=n(18446),o=n.n(r),i=n(51584),a=n.n(i),u=n(68630),c=n.n(u),l=n(23560),s=n.n(l),f=n(67294),p=n(13481),h=n(94184),d=n.n(h),y=n(93801),v=n(52017);function m(t){return(m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function g(){return(g=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n0,from:{upperWidth:0,lowerWidth:0,height:p,x:u,y:c},to:{upperWidth:l,lowerWidth:s,height:p,x:u,y:c},duration:x,animationEasing:m,isActive:E},function(t){var e=t.upperWidth,o=t.lowerWidth,a=t.height,u=t.x,c=t.y;return f.createElement(y.ZP,{canBegin:i>0,from:"0px ".concat(-1===i?1:i,"px"),to:"".concat(i,"px 0px"),attributeName:"strokeDasharray",begin:S,duration:x,easing:m},f.createElement("path",g({},(0,v.L6)(n,!0),{className:A,d:w(u,c,e,o,a),ref:r})))}):f.createElement("g",null,f.createElement("path",g({},(0,v.L6)(n,!0),{className:A,d:w(u,c,l,s,p)})))},E=n(45108),A=n(48710),P=n(21138),k=["option","shapeType","propTransformer","activeClassName","isActive"];function M(t){return(M="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function T(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function _(t){for(var e=1;e=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(t,k);if((0,f.isValidElement)(n))e=(0,f.cloneElement)(n,l);else if(s()(n))e=n(l);else if(c()(n)&&!a()(n)){var p=(void 0===o?C:o)(n,l);e=f.createElement(N,{shapeType:r,elementProps:p})}else e=f.createElement(N,{shapeType:r,elementProps:l});return u?f.createElement(A.m,{className:void 0===i?"recharts-active-shape":i},e):e}function D(t,e){return"trapezoids"in t.props}function L(t,e){return"sectors"in t.props}function R(t,e){return"points"in t.props}function B(t,e){var n,r,o=t.x===(null==e||null===(n=e.labelViewBox)||void 0===n?void 0:n.x)||t.x===e.x,i=t.y===(null==e||null===(r=e.labelViewBox)||void 0===r?void 0:r.y)||t.y===e.y;return o&&i}function U(t,e){var n=t.endAngle===e.endAngle,r=t.startAngle===e.startAngle;return n&&r}function F(t,e){var n=t.x===e.x,r=t.y===e.y,o=t.z===e.z;return n&&r&&o}function $(t){var e,n,r,i=t.activeTooltipItem,a=t.graphicalItem,u=t.itemData,c=(D(a,i)?e="trapezoids":L(a,i)?e="sectors":R(a,i)&&(e="points"),e),l=D(a,i)?null===(n=i.tooltipPayload)||void 0===n||null===(n=n[0])||void 0===n||null===(n=n.payload)||void 0===n?void 0:n.payload:L(a,i)?null===(r=i.tooltipPayload)||void 0===r||null===(r=r[0])||void 0===r||null===(r=r.payload)||void 0===r?void 0:r.payload:R(a,i)?i.payload:{},s=u.filter(function(t,e){var n=o()(l,t),r=a.props[c].filter(function(t){var e;return(D(a,i)?e=B:L(a,i)?e=U:R(a,i)&&(e=F),e)(t,i)}),u=a.props[c].indexOf(r[r.length-1]);return n&&e===u});return u.indexOf(s[s.length-1])}},35552:function(t,e,n){"use strict";n.d(e,{By:function(){return os},VO:function(){return oa},zF:function(){return ob},DO:function(){return om},zT:function(){return oM},qz:function(){return ol},pt:function(){return oc},Rf:function(){return oy},gF:function(){return oi},s6:function(){return oh},EB:function(){return oE},fk:function(){return ou},wh:function(){return ow},O3:function(){return oS},uY:function(){return ov},g$:function(){return oj},Qo:function(){return o_},F$:function(){return oo},NA:function(){return od},ko:function(){return oT},ZI:function(){return op},Hq:function(){return og},LG:function(){return ok}});var r,o,i,a,u,c,l,s={};n.r(s),n.d(s,{scaleBand:function(){return D.Z},scaleDiverging:function(){return function t(){var e=et(rO()(tG));return e.copy=function(){return rg(e,t())},tJ.O.apply(e,arguments)}},scaleDivergingLog:function(){return function t(){var e=el(rO()).domain([.1,1,10]);return e.copy=function(){return rg(e,t()).base(e.base())},tJ.O.apply(e,arguments)}},scaleDivergingPow:function(){return rw},scaleDivergingSqrt:function(){return rj},scaleDivergingSymlog:function(){return function t(){var e=ep(rO());return e.copy=function(){return rg(e,t()).constant(e.constant())},tJ.O.apply(e,arguments)}},scaleIdentity:function(){return function t(e){var n;function r(t){return null==t||isNaN(t=+t)?n:t}return r.invert=r,r.domain=r.range=function(t){return arguments.length?(e=Array.from(t,tW),r):e.slice()},r.unknown=function(t){return arguments.length?(n=t,r):n},r.copy=function(){return t(e).unknown(n)},e=arguments.length?Array.from(e,tW):[0,1],et(r)}},scaleImplicit:function(){return eh.O},scaleLinear:function(){return ee},scaleLog:function(){return function t(){let e=el(tV()).domain([1,10]);return e.copy=()=>tZ(e,t()).base(e.base()),tJ.o.apply(e,arguments),e}},scaleOrdinal:function(){return eh.Z},scalePoint:function(){return D.x},scalePow:function(){return eg},scaleQuantile:function(){return function t(){var e,n=[],r=[],o=[];function i(){var t=0,e=Math.max(1,r.length);for(o=Array(e-1);++t=1)return+n(t[r-1],r-1,t);var r,o=(r-1)*e,i=Math.floor(o),a=+n(t[i],i,t);return a+(+n(t[i+1],i+1,t)-a)*(o-i)}}(n,t/e);return a}function a(t){return null==t||isNaN(t=+t)?e:r[Z(o,t)]}return a.invertExtent=function(t){var e=r.indexOf(t);return e<0?[NaN,NaN]:[e>0?o[e-1]:n[0],e=o?[i[o-1],r]:[i[e-1],i[e]]},u.unknown=function(t){return arguments.length&&(e=t),u},u.thresholds=function(){return i.slice()},u.copy=function(){return t().domain([n,r]).range(a).unknown(e)},tJ.o.apply(et(u),arguments)}},scaleRadial:function(){return function t(){var e,n=tK(),r=[0,1],o=!1;function i(t){var r,i=Math.sign(r=n(t))*Math.sqrt(Math.abs(r));return isNaN(i)?e:o?Math.round(i):i}return i.invert=function(t){return n.invert(ex(t))},i.domain=function(t){return arguments.length?(n.domain(t),i):n.domain()},i.range=function(t){return arguments.length?(n.range((r=Array.from(t,tW)).map(ex)),i):r.slice()},i.rangeRound=function(t){return i.range(t).round(!0)},i.round=function(t){return arguments.length?(o=!!t,i):o},i.clamp=function(t){return arguments.length?(n.clamp(t),i):n.clamp()},i.unknown=function(t){return arguments.length?(e=t,i):e},i.copy=function(){return t(n.domain(),r).round(o).clamp(n.clamp()).unknown(e)},tJ.o.apply(i,arguments),et(i)}},scaleSequential:function(){return function t(){var e=et(rm()(tG));return e.copy=function(){return rg(e,t())},tJ.O.apply(e,arguments)}},scaleSequentialLog:function(){return function t(){var e=el(rm()).domain([1,10]);return e.copy=function(){return rg(e,t()).base(e.base())},tJ.O.apply(e,arguments)}},scaleSequentialPow:function(){return rb},scaleSequentialQuantile:function(){return function t(){var e=[],n=tG;function r(t){if(null!=t&&!isNaN(t=+t))return n((Z(e,t,1)-1)/(e.length-1))}return r.domain=function(t){if(!arguments.length)return e.slice();for(let n of(e=[],t))null==n||isNaN(n=+n)||e.push(n);return e.sort(W),r},r.interpolator=function(t){return arguments.length?(n=t,r):n},r.range=function(){return e.map((t,r)=>n(r/(e.length-1)))},r.quantiles=function(t){return Array.from({length:t+1},(n,r)=>(function(t,e,n){if(!(!(r=(t=Float64Array.from(function*(t,e){if(void 0===e)for(let e of t)null!=e&&(e=+e)>=e&&(yield e);else{let n=-1;for(let r of t)null!=(r=e(r,++n,t))&&(r=+r)>=r&&(yield r)}}(t,void 0))).length)||isNaN(e=+e))){if(e<=0||r<2)return ew(t);if(e>=1)return eO(t);var r,o=(r-1)*e,i=Math.floor(o),a=eO((function t(e,n,r=0,o=1/0,i){if(n=Math.floor(n),r=Math.floor(Math.max(0,r)),o=Math.floor(Math.min(e.length-1,o)),!(r<=n&&n<=o))return e;for(i=void 0===i?ej:function(t=W){if(t===W)return ej;if("function"!=typeof t)throw TypeError("compare is not a function");return(e,n)=>{let r=t(e,n);return r||0===r?r:(0===t(n,n))-(0===t(e,e))}}(i);o>r;){if(o-r>600){let a=o-r+1,u=n-r+1,c=Math.log(a),l=.5*Math.exp(2*c/3),s=.5*Math.sqrt(c*l*(a-l)/a)*(u-a/2<0?-1:1),f=Math.max(r,Math.floor(n-u*l/a+s)),p=Math.min(o,Math.floor(n+(a-u)*l/a+s));t(e,n,f,p,i)}let a=e[n],u=r,c=o;for(eS(e,r,n),i(e[o],a)>0&&eS(e,r,o);ui(e[u],a);)++u;for(;i(e[c],a)>0;)--c}0===i(e[r],a)?eS(e,r,c):eS(e,++c,o),c<=n&&(r=c+1),n<=c&&(o=c-1)}return e})(t,i).subarray(0,i+1));return a+(ew(t.subarray(i+1))-a)*(o-i)}})(e,r/t))},r.copy=function(){return t(n).domain(e)},tJ.O.apply(r,arguments)}},scaleSequentialSqrt:function(){return rx},scaleSequentialSymlog:function(){return function t(){var e=ep(rm());return e.copy=function(){return rg(e,t()).constant(e.constant())},tJ.O.apply(e,arguments)}},scaleSqrt:function(){return eb},scaleSymlog:function(){return function t(){var e=ep(tV());return e.copy=function(){return tZ(e,t()).constant(e.constant())},tJ.o.apply(e,arguments)}},scaleThreshold:function(){return function t(){var e,n=[.5],r=[0,1],o=1;function i(t){return null!=t&&t<=t?r[Z(n,t,0,o)]:e}return i.domain=function(t){return arguments.length?(o=Math.min((n=Array.from(t)).length,r.length-1),i):n.slice()},i.range=function(t){return arguments.length?(r=Array.from(t),o=Math.min(n.length,r.length-1),i):r.slice()},i.invertExtent=function(t){var e=r.indexOf(t);return[n[e-1],n[e]]},i.unknown=function(t){return arguments.length?(e=t,i):e},i.copy=function(){return t().domain(n).range(r).unknown(e)},tJ.o.apply(i,arguments)}},scaleTime:function(){return ry},scaleUtc:function(){return rv},tickFormat:function(){return t9}});var f=n(18446),p=n.n(f),h=n(86173),d=n.n(h),y=n(11700),v=n.n(y),m=n(47037),g=n.n(m),b=n(7654),x=n.n(b),O=n(1469),w=n.n(O),j=n(6162),S=n.n(j),E=n(53632),A=n.n(E),P=n(94654),k=n.n(P),M=n(23560),T=n.n(M),_=n(27361),C=n.n(_),N=n(14293),I=n.n(N),D=n(175);let L=Math.sqrt(50),R=Math.sqrt(10),B=Math.sqrt(2);function U(t,e,n){let r,o,i;let a=(e-t)/Math.max(0,n),u=Math.floor(Math.log10(a)),c=a/Math.pow(10,u),l=c>=L?10:c>=R?5:c>=B?2:1;return(u<0?(r=Math.round(t*(i=Math.pow(10,-u)/l)),o=Math.round(e*i),r/ie&&--o,i=-i):(r=Math.round(t/(i=Math.pow(10,u)*l)),o=Math.round(e/i),r*ie&&--o),o0))return[];if(t===e)return[t];let r=e=o))return[];let u=i-o+1,c=Array(u);if(r){if(a<0)for(let t=0;te?1:t>=e?0:NaN}function q(t,e){return null==t||null==e?NaN:et?1:e>=t?0:NaN}function G(t){let e,n,r;function o(t,r,o=0,i=t.length){if(o>>1;0>n(t[e],r)?o=e+1:i=e}while(oW(t(e),n),r=(e,n)=>t(e)-n):(e=t===W||t===q?t:X,n=t,r=t),{left:o,center:function(t,e,n=0,i=t.length){let a=o(t,e,n,i-1);return a>n&&r(t[a-1],e)>-r(t[a],e)?a-1:a},right:function(t,r,o=0,i=t.length){if(o>>1;0>=n(t[e],r)?o=e+1:i=e}while(o>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?td(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?td(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=tr.exec(t))?new tv(e[1],e[2],e[3],1):(e=to.exec(t))?new tv(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=ti.exec(t))?td(e[1],e[2],e[3],e[4]):(e=ta.exec(t))?td(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=tu.exec(t))?tw(e[1],e[2]/100,e[3]/100,1):(e=tc.exec(t))?tw(e[1],e[2]/100,e[3]/100,e[4]):tl.hasOwnProperty(t)?th(tl[t]):"transparent"===t?new tv(NaN,NaN,NaN,0):null}function th(t){return new tv(t>>16&255,t>>8&255,255&t,1)}function td(t,e,n,r){return r<=0&&(t=e=n=NaN),new tv(t,e,n,r)}function ty(t,e,n,r){var o;return 1==arguments.length?((o=t)instanceof J||(o=tp(o)),o)?(o=o.rgb(),new tv(o.r,o.g,o.b,o.opacity)):new tv:new tv(t,e,n,null==r?1:r)}function tv(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function tm(){return`#${tO(this.r)}${tO(this.g)}${tO(this.b)}`}function tg(){let t=tb(this.opacity);return`${1===t?"rgb(":"rgba("}${tx(this.r)}, ${tx(this.g)}, ${tx(this.b)}${1===t?")":`, ${t})`}`}function tb(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function tx(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function tO(t){return((t=tx(t))<16?"0":"")+t.toString(16)}function tw(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new tS(t,e,n,r)}function tj(t){if(t instanceof tS)return new tS(t.h,t.s,t.l,t.opacity);if(t instanceof J||(t=tp(t)),!t)return new tS;if(t instanceof tS)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,o=Math.min(e,n,r),i=Math.max(e,n,r),a=NaN,u=i-o,c=(i+o)/2;return u?(a=e===i?(n-r)/u+(n0&&c<1?0:a,new tS(a,u,c,t.opacity)}function tS(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function tE(t){return(t=(t||0)%360)<0?t+360:t}function tA(t){return Math.max(0,Math.min(1,t||0))}function tP(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}function tk(t,e,n,r,o){var i=t*t,a=i*t;return((1-3*t+3*i-a)*e+(4-6*i+3*a)*n+(1+3*t+3*i-3*a)*r+a*o)/6}V(J,tp,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:ts,formatHex:ts,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return tj(this).formatHsl()},formatRgb:tf,toString:tf}),V(tv,ty,K(J,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new tv(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new tv(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new tv(tx(this.r),tx(this.g),tx(this.b),tb(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:tm,formatHex:tm,formatHex8:function(){return`#${tO(this.r)}${tO(this.g)}${tO(this.b)}${tO((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:tg,toString:tg})),V(tS,function(t,e,n,r){return 1==arguments.length?tj(t):new tS(t,e,n,null==r?1:r)},K(J,{brighter(t){return t=null==t?1.4285714285714286:Math.pow(1.4285714285714286,t),new tS(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?.7:Math.pow(.7,t),new tS(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,o=2*n-r;return new tv(tP(t>=240?t-240:t+120,o,r),tP(t,o,r),tP(t<120?t+240:t-120,o,r),this.opacity)},clamp(){return new tS(tE(this.h),tA(this.s),tA(this.l),tb(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=tb(this.opacity);return`${1===t?"hsl(":"hsla("}${tE(this.h)}, ${100*tA(this.s)}%, ${100*tA(this.l)}%${1===t?")":`, ${t})`}`}}));var tM=t=>()=>t;function tT(t,e){var n=e-t;return n?function(e){return t+e*n}:tM(isNaN(t)?e:t)}var t_=function t(e){var n,r=1==(n=+(n=e))?tT:function(t,e){var r,o,i;return e-t?(r=t,o=e,r=Math.pow(r,i=n),o=Math.pow(o,i)-r,i=1/i,function(t){return Math.pow(r+t*o,i)}):tM(isNaN(t)?e:t)};function o(t,e){var n=r((t=ty(t)).r,(e=ty(e)).r),o=r(t.g,e.g),i=r(t.b,e.b),a=tT(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=o(e),t.b=i(e),t.opacity=a(e),t+""}}return o.gamma=t,o}(1);function tC(t){return function(e){var n,r,o=e.length,i=Array(o),a=Array(o),u=Array(o);for(n=0;n=1?(n=1,e-1):Math.floor(n*e),o=t[r],i=t[r+1],a=r>0?t[r-1]:2*o-i,u=ru&&(a=e.slice(u,a),l[c]?l[c]+=a:l[++c]=a),(o=o[0])===(i=i[0])?l[c]?l[c]+=i:l[++c]=i:(l[++c]=null,s.push({i:c,x:tD(o,i)})),u=tB.lastIndex;return u(e=a[c-1])&&(n=t,t=e,e=n),l=function(n){return Math.max(t,Math.min(e,n))}),r=c>2?tH:tY,o=i=null,f}function f(e){return null==e||isNaN(e=+e)?n:(o||(o=r(a.map(t),u,c)))(t(l(e)))}return f.invert=function(n){return l(e((i||(i=r(u,a.map(t),tD)))(n)))},f.domain=function(t){return arguments.length?(a=Array.from(t,tW),s()):a.slice()},f.range=function(t){return arguments.length?(u=Array.from(t),s()):u.slice()},f.rangeRound=function(t){return u=Array.from(t),c=tz,s()},f.clamp=function(t){return arguments.length?(l=!!t||tG,s()):l!==tG},f.interpolate=function(t){return arguments.length?(c=t,s()):c},f.unknown=function(t){return arguments.length?(n=t,f):n},function(n,r){return t=n,e=r,s()}}function tK(){return tV()(tG,tG)}var tJ=n(94182),tQ=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function t0(t){var e;if(!(e=tQ.exec(t)))throw Error("invalid format: "+t);return new t1({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function t1(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function t2(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function t6(t){return(t=t2(Math.abs(t)))?t[1]:NaN}function t4(t,e){var n=t2(t,e);if(!n)return t+"";var r=n[0],o=n[1];return o<0?"0."+Array(-o).join("0")+r:r.length>o+1?r.slice(0,o+1)+"."+r.slice(o+1):r+Array(o-r.length+2).join("0")}t0.prototype=t1.prototype,t1.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var t3={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>t4(100*t,e),r:t4,s:function(t,e){var n=t2(t,e);if(!n)return t+"";var o=n[0],i=n[1],a=i-(r=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,u=o.length;return a===u?o:a>u?o+Array(a-u+1).join("0"):a>0?o.slice(0,a)+"."+o.slice(a):"0."+Array(1-a).join("0")+t2(t,Math.max(0,e+a-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function t5(t){return t}var t7=Array.prototype.map,t8=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function t9(t,e,n,r){var o,u,c=z(t,e,n);switch((r=t0(null==r?",f":r)).type){case"s":var l=Math.max(Math.abs(t),Math.abs(e));return null!=r.precision||isNaN(u=Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(t6(l)/3)))-t6(Math.abs(c))))||(r.precision=u),a(r,l);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN((o=c,u=Math.max(0,t6(Math.abs(Math.max(Math.abs(t),Math.abs(e)))-(o=Math.abs(o)))-t6(o))+1))||(r.precision=u-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(u=Math.max(0,-t6(Math.abs(c))))||(r.precision=u-("%"===r.type)*2)}return i(r)}function et(t){var e=t.domain;return t.ticks=function(t){var n=e();return F(n[0],n[n.length-1],null==t?10:t)},t.tickFormat=function(t,n){var r=e();return t9(r[0],r[r.length-1],null==t?10:t,n)},t.nice=function(n){null==n&&(n=10);var r,o,i=e(),a=0,u=i.length-1,c=i[a],l=i[u],s=10;for(l0;){if((o=$(c,l,n))===r)return i[a]=c,i[u]=l,e(i);if(o>0)c=Math.floor(c/o)*o,l=Math.ceil(l/o)*o;else if(o<0)c=Math.ceil(c*o)/o,l=Math.floor(l*o)/o;else break;r=o}return t},t}function ee(){var t=tK();return t.copy=function(){return tZ(t,ee())},tJ.o.apply(t,arguments),et(t)}function en(t,e){t=t.slice();var n,r=0,o=t.length-1,i=t[r],a=t[o];return a-t(-e,n)}function el(t){let e,n;let r=t(er,eo),o=r.domain,a=10;function u(){var i,u;return e=(i=a)===Math.E?Math.log:10===i&&Math.log10||2===i&&Math.log2||(i=Math.log(i),t=>Math.log(t)/i),n=10===(u=a)?eu:u===Math.E?Math.exp:t=>Math.pow(u,t),o()[0]<0?(e=ec(e),n=ec(n),t(ei,ea)):t(er,eo),r}return r.base=function(t){return arguments.length?(a=+t,u()):a},r.domain=function(t){return arguments.length?(o(t),u()):o()},r.ticks=t=>{let r,i;let u=o(),c=u[0],l=u[u.length-1],s=l0){for(;f<=p;++f)for(r=1;rl)break;d.push(i)}}else for(;f<=p;++f)for(r=a-1;r>=1;--r)if(!((i=f>0?r/n(-f):r*n(f))l)break;d.push(i)}2*d.length{if(null==t&&(t=10),null==o&&(o=10===a?"s":","),"function"!=typeof o&&(a%1||null!=(o=t0(o)).precision||(o.trim=!0),o=i(o)),t===1/0)return o;let u=Math.max(1,a*t/r.ticks().length);return t=>{let r=t/n(Math.round(e(t)));return r*ao(en(o(),{floor:t=>n(Math.floor(e(t))),ceil:t=>n(Math.ceil(e(t)))})),r}function es(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function ef(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function ep(t){var e=1,n=t(es(1),ef(e));return n.constant=function(n){return arguments.length?t(es(e=+n),ef(e)):e},et(n)}i=(o=function(t){var e,n,o,i=void 0===t.grouping||void 0===t.thousands?t5:(e=t7.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var o=t.length,i=[],a=0,u=e[0],c=0;o>0&&u>0&&(c+u+1>r&&(u=Math.max(1,r-c)),i.push(t.substring(o-=u,o+u)),!((c+=u+1)>r));)u=e[a=(a+1)%e.length];return i.reverse().join(n)}),a=void 0===t.currency?"":t.currency[0]+"",u=void 0===t.currency?"":t.currency[1]+"",c=void 0===t.decimal?".":t.decimal+"",l=void 0===t.numerals?t5:(o=t7.call(t.numerals,String),function(t){return t.replace(/[0-9]/g,function(t){return o[+t]})}),s=void 0===t.percent?"%":t.percent+"",f=void 0===t.minus?"−":t.minus+"",p=void 0===t.nan?"NaN":t.nan+"";function h(t){var e=(t=t0(t)).fill,n=t.align,o=t.sign,h=t.symbol,d=t.zero,y=t.width,v=t.comma,m=t.precision,g=t.trim,b=t.type;"n"===b?(v=!0,b="g"):t3[b]||(void 0===m&&(m=12),g=!0,b="g"),(d||"0"===e&&"="===n)&&(d=!0,e="0",n="=");var x="$"===h?a:"#"===h&&/[boxX]/.test(b)?"0"+b.toLowerCase():"",O="$"===h?u:/[%p]/.test(b)?s:"",w=t3[b],j=/[defgprs%]/.test(b);function S(t){var a,u,s,h=x,S=O;if("c"===b)S=w(t)+S,t="";else{var E=(t=+t)<0||1/t<0;if(t=isNaN(t)?p:w(Math.abs(t),m),g&&(t=function(t){e:for(var e,n=t.length,r=1,o=-1;r0&&(o=0)}return o>0?t.slice(0,o)+t.slice(e+1):t}(t)),E&&0==+t&&"+"!==o&&(E=!1),h=(E?"("===o?o:f:"-"===o||"("===o?"":o)+h,S=("s"===b?t8[8+r/3]:"")+S+(E&&"("===o?")":""),j){for(a=-1,u=t.length;++a(s=t.charCodeAt(a))||s>57){S=(46===s?c+t.slice(a+1):t.slice(a))+S,t=t.slice(0,a);break}}}v&&!d&&(t=i(t,1/0));var A=h.length+t.length+S.length,P=A>1)+h+t+S+P.slice(A);break;default:t=P+h+t+S}return l(t)}return m=void 0===m?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m)),S.toString=function(){return t+""},S}return{format:h,formatPrefix:function(t,e){var n=h(((t=t0(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(t6(e)/3))),o=Math.pow(10,-r),i=t8[8+r/3];return function(t){return n(o*t)+i}}}}({thousands:",",grouping:[3],currency:["$",""]})).format,a=o.formatPrefix;var eh=n(46244);function ed(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function ey(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function ev(t){return t<0?-t*t:t*t}function em(t){var e=t(tG,tG),n=1;return e.exponent=function(e){return arguments.length?1==(n=+e)?t(tG,tG):.5===n?t(ey,ev):t(ed(n),ed(1/n)):n},et(e)}function eg(){var t=em(tV());return t.copy=function(){return tZ(t,eg()).exponent(t.exponent())},tJ.o.apply(t,arguments),t}function eb(){return eg.apply(null,arguments).exponent(.5)}function ex(t){return Math.sign(t)*t*t}function eO(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n=e)&&(n=e);else{let r=-1;for(let o of t)null!=(o=e(o,++r,t))&&(n=o)&&(n=o)}return n}function ew(t,e){let n;if(void 0===e)for(let e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let r=-1;for(let o of t)null!=(o=e(o,++r,t))&&(n>o||void 0===n&&o>=o)&&(n=o)}return n}function ej(t,e){return(null==t||!(t>=t))-(null==e||!(e>=e))||(te?1:0)}function eS(t,e,n){let r=t[e];t[e]=t[n],t[n]=r}let eE=864e5,eA=7*eE,eP=30*eE,ek=365*eE,eM=new Date,eT=new Date;function e_(t,e,n,r){function o(e){return t(e=0==arguments.length?new Date:new Date(+e)),e}return o.floor=e=>(t(e=new Date(+e)),e),o.ceil=n=>(t(n=new Date(n-1)),e(n,1),t(n),n),o.round=t=>{let e=o(t),n=o.ceil(t);return t-e(e(t=new Date(+t),null==n?1:Math.floor(n)),t),o.range=(n,r,i)=>{let a;let u=[];if(n=o.ceil(n),i=null==i?1:Math.floor(i),!(n0))return u;do u.push(a=new Date(+n)),e(n,i),t(n);while(ae_(e=>{if(e>=e)for(;t(e),!n(e);)e.setTime(e-1)},(t,r)=>{if(t>=t){if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););}}),n&&(o.count=(e,r)=>(eM.setTime(+e),eT.setTime(+r),t(eM),t(eT),Math.floor(n(eM,eT))),o.every=t=>isFinite(t=Math.floor(t))&&t>0?t>1?o.filter(r?e=>r(e)%t==0:e=>o.count(0,e)%t==0):o:null),o}let eC=e_(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);eC.every=t=>isFinite(t=Math.floor(t))&&t>0?t>1?e_(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):eC:null,eC.range;let eN=e_(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+1e3*e)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds());eN.range;let eI=e_(t=>{t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())},(t,e)=>{t.setTime(+t+6e4*e)},(t,e)=>(e-t)/6e4,t=>t.getMinutes());eI.range;let eD=e_(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+6e4*e)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes());eD.range;let eL=e_(t=>{t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())},(t,e)=>{t.setTime(+t+36e5*e)},(t,e)=>(e-t)/36e5,t=>t.getHours());eL.range;let eR=e_(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+36e5*e)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours());eR.range;let eB=e_(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/eE,t=>t.getDate()-1);eB.range;let eU=e_(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/eE,t=>t.getUTCDate()-1);eU.range;let eF=e_(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/eE,t=>Math.floor(t/eE));function e$(t){return e_(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(t,e)=>{t.setDate(t.getDate()+7*e)},(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/eA)}eF.range;let ez=e$(0),eW=e$(1),eq=e$(2),eG=e$(3),eX=e$(4),eY=e$(5),eH=e$(6);function eZ(t){return e_(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+7*e)},(t,e)=>(e-t)/eA)}ez.range,eW.range,eq.range,eG.range,eX.range,eY.range,eH.range;let eV=eZ(0),eK=eZ(1),eJ=eZ(2),eQ=eZ(3),e0=eZ(4),e1=eZ(5),e2=eZ(6);eV.range,eK.range,eJ.range,eQ.range,e0.range,e1.range,e2.range;let e6=e_(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());e6.range;let e4=e_(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());e4.range;let e3=e_(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());e3.every=t=>isFinite(t=Math.floor(t))&&t>0?e_(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)}):null,e3.range;let e5=e_(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());function e7(t,e,n,r,o,i){let a=[[eN,1,1e3],[eN,5,5e3],[eN,15,15e3],[eN,30,3e4],[i,1,6e4],[i,5,3e5],[i,15,9e5],[i,30,18e5],[o,1,36e5],[o,3,108e5],[o,6,216e5],[o,12,432e5],[r,1,eE],[r,2,2*eE],[n,1,eA],[e,1,eP],[e,3,3*eP],[t,1,ek]];function u(e,n,r){let o=Math.abs(n-e)/r,i=G(([,,t])=>t).right(a,o);if(i===a.length)return t.every(z(e/ek,n/ek,r));if(0===i)return eC.every(Math.max(z(e,n,r),1));let[u,c]=a[o/a[i-1][2]isFinite(t=Math.floor(t))&&t>0?e_(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)}):null,e5.range;let[e8,e9]=e7(e5,e4,eV,eF,eR,eD),[nt,ne]=e7(e3,e6,ez,eB,eL,eI);function nn(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function nr(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function no(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}var ni={"-":"",_:" ",0:"0"},na=/^\s*\d+/,nu=/^%/,nc=/[\\^$*+?|[\]().{}]/g;function nl(t,e,n){var r=t<0?"-":"",o=(r?-t:t)+"",i=o.length;return r+(i[t.toLowerCase(),e]))}function nh(t,e,n){var r=na.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function nd(t,e,n){var r=na.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function ny(t,e,n){var r=na.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function nv(t,e,n){var r=na.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function nm(t,e,n){var r=na.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function ng(t,e,n){var r=na.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function nb(t,e,n){var r=na.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function nx(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function nO(t,e,n){var r=na.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function nw(t,e,n){var r=na.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function nj(t,e,n){var r=na.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function nS(t,e,n){var r=na.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function nE(t,e,n){var r=na.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function nA(t,e,n){var r=na.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function nP(t,e,n){var r=na.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function nk(t,e,n){var r=na.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function nM(t,e,n){var r=na.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function nT(t,e,n){var r=nu.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function n_(t,e,n){var r=na.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function nC(t,e,n){var r=na.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function nN(t,e){return nl(t.getDate(),e,2)}function nI(t,e){return nl(t.getHours(),e,2)}function nD(t,e){return nl(t.getHours()%12||12,e,2)}function nL(t,e){return nl(1+eB.count(e3(t),t),e,3)}function nR(t,e){return nl(t.getMilliseconds(),e,3)}function nB(t,e){return nR(t,e)+"000"}function nU(t,e){return nl(t.getMonth()+1,e,2)}function nF(t,e){return nl(t.getMinutes(),e,2)}function n$(t,e){return nl(t.getSeconds(),e,2)}function nz(t){var e=t.getDay();return 0===e?7:e}function nW(t,e){return nl(ez.count(e3(t)-1,t),e,2)}function nq(t){var e=t.getDay();return e>=4||0===e?eX(t):eX.ceil(t)}function nG(t,e){return t=nq(t),nl(eX.count(e3(t),t)+(4===e3(t).getDay()),e,2)}function nX(t){return t.getDay()}function nY(t,e){return nl(eW.count(e3(t)-1,t),e,2)}function nH(t,e){return nl(t.getFullYear()%100,e,2)}function nZ(t,e){return nl((t=nq(t)).getFullYear()%100,e,2)}function nV(t,e){return nl(t.getFullYear()%1e4,e,4)}function nK(t,e){var n=t.getDay();return nl((t=n>=4||0===n?eX(t):eX.ceil(t)).getFullYear()%1e4,e,4)}function nJ(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+nl(e/60|0,"0",2)+nl(e%60,"0",2)}function nQ(t,e){return nl(t.getUTCDate(),e,2)}function n0(t,e){return nl(t.getUTCHours(),e,2)}function n1(t,e){return nl(t.getUTCHours()%12||12,e,2)}function n2(t,e){return nl(1+eU.count(e5(t),t),e,3)}function n6(t,e){return nl(t.getUTCMilliseconds(),e,3)}function n4(t,e){return n6(t,e)+"000"}function n3(t,e){return nl(t.getUTCMonth()+1,e,2)}function n5(t,e){return nl(t.getUTCMinutes(),e,2)}function n7(t,e){return nl(t.getUTCSeconds(),e,2)}function n8(t){var e=t.getUTCDay();return 0===e?7:e}function n9(t,e){return nl(eV.count(e5(t)-1,t),e,2)}function rt(t){var e=t.getUTCDay();return e>=4||0===e?e0(t):e0.ceil(t)}function re(t,e){return t=rt(t),nl(e0.count(e5(t),t)+(4===e5(t).getUTCDay()),e,2)}function rn(t){return t.getUTCDay()}function rr(t,e){return nl(eK.count(e5(t)-1,t),e,2)}function ro(t,e){return nl(t.getUTCFullYear()%100,e,2)}function ri(t,e){return nl((t=rt(t)).getUTCFullYear()%100,e,2)}function ra(t,e){return nl(t.getUTCFullYear()%1e4,e,4)}function ru(t,e){var n=t.getUTCDay();return nl((t=n>=4||0===n?e0(t):e0.ceil(t)).getUTCFullYear()%1e4,e,4)}function rc(){return"+0000"}function rl(){return"%"}function rs(t){return+t}function rf(t){return Math.floor(+t/1e3)}function rp(t){return new Date(t)}function rh(t){return t instanceof Date?+t:+new Date(+t)}function rd(t,e,n,r,o,i,a,u,c,l){var s=tK(),f=s.invert,p=s.domain,h=l(".%L"),d=l(":%S"),y=l("%I:%M"),v=l("%I %p"),m=l("%a %d"),g=l("%b %d"),b=l("%B"),x=l("%Y");function O(t){return(c(t)1)for(var n,r,o,i=1,a=t[e[0]],u=a.length;i=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:rs,s:rf,S:n$,u:nz,U:nW,V:nG,w:nX,W:nY,x:null,X:null,y:nH,Y:nV,Z:nJ,"%":rl},x={a:function(t){return a[t.getUTCDay()]},A:function(t){return i[t.getUTCDay()]},b:function(t){return c[t.getUTCMonth()]},B:function(t){return u[t.getUTCMonth()]},c:null,d:nQ,e:nQ,f:n4,g:ri,G:ru,H:n0,I:n1,j:n2,L:n6,m:n3,M:n5,p:function(t){return o[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:rs,s:rf,S:n7,u:n8,U:n9,V:re,w:rn,W:rr,x:null,X:null,y:ro,Y:ra,Z:rc,"%":rl},O={a:function(t,e,n){var r=h.exec(e.slice(n));return r?(t.w=d.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(t,e,n){var r=f.exec(e.slice(n));return r?(t.w=p.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(t,e,n){var r=m.exec(e.slice(n));return r?(t.m=g.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(t,e,n){var r=y.exec(e.slice(n));return r?(t.m=v.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(t,n,r){return S(t,e,n,r)},d:nj,e:nj,f:nM,g:nb,G:ng,H:nE,I:nE,j:nS,L:nk,m:nw,M:nA,p:function(t,e,n){var r=l.exec(e.slice(n));return r?(t.p=s.get(r[0].toLowerCase()),n+r[0].length):-1},q:nO,Q:n_,s:nC,S:nP,u:nd,U:ny,V:nv,w:nh,W:nm,x:function(t,e,r){return S(t,n,e,r)},X:function(t,e,n){return S(t,r,e,n)},y:nb,Y:ng,Z:nx,"%":nT};function w(t,e){return function(n){var r,o,i,a=[],u=-1,c=0,l=t.length;for(n instanceof Date||(n=new Date(+n));++u53)return null;"w"in i||(i.w=1),"Z"in i?(r=(o=(r=nr(no(i.y,0,1))).getUTCDay())>4||0===o?eK.ceil(r):eK(r),r=eU.offset(r,(i.V-1)*7),i.y=r.getUTCFullYear(),i.m=r.getUTCMonth(),i.d=r.getUTCDate()+(i.w+6)%7):(r=(o=(r=nn(no(i.y,0,1))).getDay())>4||0===o?eW.ceil(r):eW(r),r=eB.offset(r,(i.V-1)*7),i.y=r.getFullYear(),i.m=r.getMonth(),i.d=r.getDate()+(i.w+6)%7)}else("W"in i||"U"in i)&&("w"in i||(i.w="u"in i?i.u%7:"W"in i?1:0),o="Z"in i?nr(no(i.y,0,1)).getUTCDay():nn(no(i.y,0,1)).getDay(),i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(o+5)%7:i.w+7*i.U-(o+6)%7);return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,nr(i)):nn(i)}}function S(t,e,n,r){for(var o,i,a=0,u=e.length,c=n.length;a=c)return -1;if(37===(o=e.charCodeAt(a++))){if(!(i=O[(o=e.charAt(a++))in ni?e.charAt(a++):o])||(r=i(t,n,r))<0)return -1}else if(o!=n.charCodeAt(r++))return -1}return r}return b.x=w(n,b),b.X=w(r,b),b.c=w(e,b),x.x=w(n,x),x.X=w(r,x),x.c=w(e,x),{format:function(t){var e=w(t+="",b);return e.toString=function(){return t},e},parse:function(t){var e=j(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=w(t+="",x);return e.toString=function(){return t},e},utcParse:function(t){var e=j(t+="",!0);return e.toString=function(){return t},e}}}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]})).format,u.parse,l=u.utcFormat,u.utcParse;var rE=n(94788),rA=n(20309);function rP(t){for(var e=t.length,n=Array(e);--e>=0;)n[e]=e;return n}function rk(t,e){return t[e]}function rM(t){let e=[];return e.key=t,e}var rT=n(29887),r_=n.n(rT);function rC(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=e?n.apply(void 0,o):t(e-a,rL(function(){for(var t=arguments.length,e=Array(t),r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);nr&&(o=r,i=n),[o,i]}function rZ(t,e,n){if(t.lte(0))return new(r_())(0);var r=rW.getDigitCount(t.toNumber()),o=new(r_())(10).pow(r),i=t.div(o),a=1!==r?.05:.1,u=new(r_())(Math.ceil(i.div(a).toNumber())).add(n).mul(a).mul(o);return e?u:new(r_())(Math.ceil(u))}function rV(t,e,n){var r=1,o=new(r_())(t);if(!o.isint()&&n){var i=Math.abs(t);i<1?(r=new(r_())(10).pow(rW.getDigitCount(t)-1),o=new(r_())(Math.floor(o.div(r).toNumber())).mul(r)):i>1&&(o=new(r_())(Math.floor(t)))}else 0===t?o=new(r_())(Math.floor((e-1)/2)):n||(o=new(r_())(Math.floor(t)));var a=Math.floor((e-1)/2);return rF(rU(function(t){return o.add(new(r_())(t-a).mul(r)).toNumber()}),rB)(0,e)}var rK=rz(function(t){var e=rG(t,2),n=e[0],r=e[1],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6,i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],a=rG(rH([n,r]),2),u=a[0],c=a[1];if(u===-1/0||c===1/0){var l=c===1/0?[u].concat(rq(rB(0,o-1).map(function(){return 1/0}))):[].concat(rq(rB(0,o-1).map(function(){return-1/0})),[c]);return n>r?r$(l):l}if(u===c)return rV(u,o,i);var s=function t(e,n,r,o){var i,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(!Number.isFinite((n-e)/(r-1)))return{step:new(r_())(0),tickMin:new(r_())(0),tickMax:new(r_())(0)};var u=rZ(new(r_())(n).sub(e).div(r-1),o,a),c=Math.ceil((i=e<=0&&n>=0?new(r_())(0):(i=new(r_())(e).add(n).div(2)).sub(new(r_())(i).mod(u))).sub(e).div(u).toNumber()),l=Math.ceil(new(r_())(n).sub(i).div(u).toNumber()),s=c+l+1;return s>r?t(e,n,r,o,a+1):(s0?l+(r-s):l,c=n>0?c:c+(r-s)),{step:u,tickMin:i.sub(new(r_())(c).mul(u)),tickMax:i.add(new(r_())(l).mul(u))})}(u,c,Math.max(o,2),i),f=s.step,p=s.tickMin,h=s.tickMax,d=rW.rangeStep(p,h.add(new(r_())(.1).mul(f)),f);return n>r?r$(d):d});rz(function(t){var e=rG(t,2),n=e[0],r=e[1],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6,i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],a=Math.max(o,2),u=rG(rH([n,r]),2),c=u[0],l=u[1];if(c===-1/0||l===1/0)return[n,r];if(c===l)return rV(c,o,i);var s=rZ(new(r_())(l).sub(c).div(a-1),i,0),f=rF(rU(function(t){return new(r_())(c).add(new(r_())(t).mul(s)).toNumber()}),rB)(0,a).filter(function(t){return t>=c&&t<=l});return n>r?r$(f):f});var rJ=rz(function(t,e){var n=rG(t,2),r=n[0],o=n[1],i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],a=rG(rH([r,o]),2),u=a[0],c=a[1];if(u===-1/0||c===1/0)return[r,o];if(u===c)return[u];var l=rZ(new(r_())(c).sub(u).div(Math.max(e,2)-1),i,0),s=[].concat(rq(rW.rangeStep(new(r_())(u),new(r_())(c).sub(new(r_())(.99).mul(l)),l)),[c]);return r>o?r$(s):s}),rQ=n(67294),r0=n(48710),r1=n(52017),r2=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function r6(){return(r6=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(t,r2),s=(0,r1.L6)(l),f=i.map(function(t,i){var l,f,p=a(t,o),h=p.x,d=p.y,y=p.value,v=p.errorVal;if(!v)return null;var m=[];if(Array.isArray(v)){var g=function(t){if(Array.isArray(t))return t}(v)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,u=[],c=!0,l=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(u.push(r.value),u.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(v,2)||function(t,e){if(t){if("string"==typeof t)return r4(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r4(t,e)}}(v,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();l=g[0],f=g[1]}else l=f=v;if("vertical"===n){var b=u.scale,x=d+e,O=x+r,w=x-r,j=b(y-l),S=b(y+f);m.push({x1:S,y1:O,x2:S,y2:w}),m.push({x1:j,y1:x,x2:S,y2:x}),m.push({x1:j,y1:O,x2:j,y2:w})}else if("horizontal"===n){var E=c.scale,A=h+e,P=A-r,k=A+r,M=E(y-l),T=E(y+f);m.push({x1:P,y1:T,x2:k,y2:T}),m.push({x1:A,y1:M,x2:A,y2:T}),m.push({x1:P,y1:M,x2:k,y2:M})}return rQ.createElement(r0.m,r6({className:"recharts-errorBar",key:"bar-".concat(i)},s),m.map(function(t,e){return rQ.createElement("line",r6({},t,{key:"line-".concat(e)}))}))});return rQ.createElement(r0.m,{className:"recharts-errorBars"},f)}r3.defaultProps={stroke:"black",strokeWidth:1.5,width:5,offset:0,layout:"horizontal"},r3.displayName="ErrorBar";var r5=n(69055),r7=n(20430);function r8(t){return(r8="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r9(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function ot(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=-1,a=null!==(e=null==n?void 0:n.length)&&void 0!==e?e:0;if(a<=1)return 0;if(o&&"angleAxis"===o.axisType&&1e-6>=Math.abs(Math.abs(o.range[1]-o.range[0])-360))for(var u=o.range,c=0;c0?r[c-1].coordinate:r[a-1].coordinate,s=r[c].coordinate,f=c>=a-1?r[0].coordinate:r[c+1].coordinate,p=void 0;if((0,r5.uY)(s-l)!==(0,r5.uY)(f-s)){var h=[];if((0,r5.uY)(f-s)===(0,r5.uY)(u[1]-u[0])){p=f;var d=s+u[1]-u[0];h[0]=Math.min(d,(d+l)/2),h[1]=Math.max(d,(d+l)/2)}else{p=l;var y=f+u[1]-u[0];h[0]=Math.min(s,(y+s)/2),h[1]=Math.max(s,(y+s)/2)}var v=[Math.min(s,(p+s)/2),Math.max(s,(p+s)/2)];if(t>v[0]&&t<=v[1]||t>=h[0]&&t<=h[1]){i=r[c].index;break}}else{var m=Math.min(l,f),g=Math.max(l,f);if(t>(m+s)/2&&t<=(g+s)/2){i=r[c].index;break}}}else for(var b=0;b0&&b(n[b].coordinate+n[b-1].coordinate)/2&&t<=(n[b].coordinate+n[b+1].coordinate)/2||b===a-1&&t>(n[b].coordinate+n[b-1].coordinate)/2){i=n[b].index;break}return i},ou=function(t){var e,n=t.type.displayName,r=t.props,o=r.stroke,i=r.fill;switch(n){case"Line":e=o;break;case"Area":case"Radar":e=o&&"none"!==o?o:i;break;default:e=i}return e},oc=function(t){var e=t.barSize,n=t.stackGroups,r=void 0===n?{}:n;if(!r)return{};for(var o={},i=Object.keys(r),a=0,u=i.length;a=0});if(y&&y.length){var v=y[0].props.barSize,m=y[0].props[d];o[m]||(o[m]=[]),o[m].push({item:y[0],stackList:y.slice(1),barSize:I()(v)?e:v})}}return o},ol=function(t){var e,n=t.barGap,r=t.barCategoryGap,o=t.bandSize,i=t.sizeList,a=void 0===i?[]:i,u=t.maxBarSize,c=a.length;if(c<1)return null;var l=(0,r5.h1)(n,o,0,!0),s=[];if(a[0].barSize===+a[0].barSize){var f=!1,p=o/c,h=a.reduce(function(t,e){return t+e.barSize||0},0);(h+=(c-1)*l)>=o&&(h-=(c-1)*l,l=0),h>=o&&p>0&&(f=!0,p*=.9,h=c*p);var d={offset:((o-h)/2>>0)-l,size:0};e=a.reduce(function(t,e){var n={item:e.item,position:{offset:d.offset+d.size+l,size:f?p:e.barSize}},r=[].concat(on(t),[n]);return d=r[r.length-1].position,e.stackList&&e.stackList.length&&e.stackList.forEach(function(t){r.push({item:t,position:d})}),r},s)}else{var y=(0,r5.h1)(r,o,0,!0);o-2*y-(c-1)*l<=0&&(l=0);var v=(o-2*y-(c-1)*l)/c;v>1&&(v>>=0);var m=u===+u?Math.min(v,u):v;e=a.reduce(function(t,e,n){var r=[].concat(on(t),[{item:e.item,position:{offset:y+(v+l)*n+(v-m)/2,size:m}}]);return e.stackList&&e.stackList.length&&e.stackList.forEach(function(t){r.push({item:t,position:r[r.length-1].position})}),r},s)}return e},os=function(t,e,n,r){var o=n.children,i=n.width,a=n.margin,u=i-(a.left||0)-(a.right||0),c=(0,r7.z)({children:o,legendWidth:u});if(c){var l=r||{},s=l.width,f=l.height,p=c.align,h=c.verticalAlign,d=c.layout;if(("vertical"===d||"horizontal"===d&&"middle"===h)&&"center"!==p&&(0,r5.hj)(t[p]))return ot(ot({},t),{},oe({},p,t[p]+(s||0)));if(("horizontal"===d||"vertical"===d&&"center"===p)&&"middle"!==h&&(0,r5.hj)(t[h]))return ot(ot({},t),{},oe({},h,t[h]+(f||0)))}return t},of=function(t,e,n,r,o){var i=e.props.children,a=(0,r1.NN)(i,r3).filter(function(t){var e;return e=t.props.direction,!!I()(o)||("horizontal"===r?"yAxis"===o:"vertical"===r||"x"===e?"xAxis"===o:"y"!==e||"yAxis"===o)});if(a&&a.length){var u=a.map(function(t){return t.props.dataKey});return t.reduce(function(t,e){var r=oo(e,n,0),o=w()(r)?[A()(r),S()(r)]:[r,r],i=u.reduce(function(t,n){var r=oo(e,n,0),i=o[0]-Math.abs(w()(r)?r[0]:r),a=o[1]+Math.abs(w()(r)?r[1]:r);return[Math.min(i,t[0]),Math.max(a,t[1])]},[1/0,-1/0]);return[Math.min(i[0],t[0]),Math.max(i[1],t[1])]},[1/0,-1/0])}return null},op=function(t,e,n,r,o){var i=e.map(function(e){return of(t,e,n,o,r)}).filter(function(t){return!I()(t)});return i&&i.length?i.reduce(function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]},[1/0,-1/0]):null},oh=function(t,e,n,r,o){var i=e.map(function(e){var i=e.props.dataKey;return"number"===n&&i&&of(t,e,i,r)||oi(t,i,n,o)});if("number"===n)return i.reduce(function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]},[1/0,-1/0]);var a={};return i.reduce(function(t,e){for(var n=0,r=e.length;n=2?2*(0,r5.uY)(a[0]-a[1])*c:c,e&&(t.ticks||t.niceTicks))?(t.ticks||t.niceTicks).map(function(t){return{coordinate:r(o?o.indexOf(t):t)+c,value:t,offset:c}}).filter(function(t){return!x()(t.coordinate)}):t.isCategorical&&t.categoricalDomain?t.categoricalDomain.map(function(t,e){return{coordinate:r(t)+c,value:t,index:e,offset:c}}):r.ticks&&!n?r.ticks(t.tickCount).map(function(t){return{coordinate:r(t)+c,value:t,offset:c}}):r.domain().map(function(t,e){return{coordinate:r(t)+c,value:o?o[t]:t,index:e,offset:c}})},om=function(t,e,n){var r;return(T()(n)?r=n:T()(e)&&(r=e),T()(t)||r)?function(e,n,o,i){T()(t)&&t(e,n,o,i),T()(r)&&r(e,n,o,i)}:null},og=function(t,e,n){var r=t.scale,o=t.type,i=t.layout,a=t.axisType;if("auto"===r)return"radial"===i&&"radiusAxis"===a?{scale:D.Z(),realScaleType:"band"}:"radial"===i&&"angleAxis"===a?{scale:ee(),realScaleType:"linear"}:"category"===o&&e&&(e.indexOf("LineChart")>=0||e.indexOf("AreaChart")>=0||e.indexOf("ComposedChart")>=0&&!n)?{scale:D.x(),realScaleType:"point"}:"category"===o?{scale:D.Z(),realScaleType:"band"}:{scale:ee(),realScaleType:"linear"};if(g()(r)){var u="scale".concat(v()(r));return{scale:(s[u]||D.x)(),realScaleType:s[u]?u:"point"}}return T()(r)?{scale:r}:{scale:D.x(),realScaleType:"point"}},ob=function(t){var e=t.domain();if(e&&!(e.length<=2)){var n=e.length,r=t.range(),o=Math.min(r[0],r[1])-1e-4,i=Math.max(r[0],r[1])+1e-4,a=t(e[0]),u=t(e[n-1]);(ai||ui)&&t.domain([e[0],e[n-1]])}},ox={sign:function(t){var e=t.length;if(!(e<=0))for(var n=0,r=t[0].length;n=0?(t[a][n][0]=o,t[a][n][1]=o+u,o=t[a][n][1]):(t[a][n][0]=i,t[a][n][1]=i+u,i=t[a][n][1])}},expand:function(t,e){if((r=t.length)>0){for(var n,r,o,i=0,a=t[0].length;i0){for(var n,r=0,o=t[e[0]],i=o.length;r0&&(r=(n=t[e[0]]).length)>0){for(var n,r,o,i=0,a=1;a=0?(t[i][n][0]=o,t[i][n][1]=o+a,o=t[i][n][1]):(t[i][n][0]=0,t[i][n][1]=0)}}},oO=function(t,e,n){var r=e.map(function(t){return t.props.dataKey}),o=ox[n];return(function(){var t=(0,rA.Z)([]),e=rP,n=rS,r=rk;function o(o){var i,a,u=Array.from(t.apply(this,arguments),rM),c=u.length,l=-1;for(let t of o)for(i=0,++l;i=0?r.stackedData[o]:null}}return null},oE=function(t,e,n){return Object.keys(t).reduce(function(r,o){var i=t[o].stackedData.reduce(function(t,r){var o=r.slice(e,n+1).reduce(function(t,e){return[A()(e.concat([t[0]]).filter(r5.hj)),S()(e.concat([t[1]]).filter(r5.hj))]},[1/0,-1/0]);return[Math.min(t[0],o[0]),Math.max(t[1],o[1])]},[1/0,-1/0]);return[Math.min(i[0],r[0]),Math.max(i[1],r[1])]},[1/0,-1/0]).map(function(t){return t===1/0||t===-1/0?0:t})},oA=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,oP=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,ok=function(t,e,n){if(T()(t))return t(e,n);if(!w()(t))return e;var r=[];if((0,r5.hj)(t[0]))r[0]=n?t[0]:Math.min(t[0],e[0]);else if(oA.test(t[0])){var o=+oA.exec(t[0])[1];r[0]=e[0]-o}else T()(t[0])?r[0]=t[0](e[0]):r[0]=e[0];if((0,r5.hj)(t[1]))r[1]=n?t[1]:Math.max(t[1],e[1]);else if(oP.test(t[1])){var i=+oP.exec(t[1])[1];r[1]=e[1]+i}else T()(t[1])?r[1]=t[1](e[1]):r[1]=e[1];return r},oM=function(t,e,n){if(t&&t.scale&&t.scale.bandwidth){var r=t.scale.bandwidth();if(!n||r>0)return r}if(t&&e&&e.length>=2){for(var o=d()(e,function(t){return t.coordinate}),i=1/0,a=1,u=o.length;at.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&void 0!==arguments[1]?arguments[1]:{};if(null==t||r.x.isSsr)return{width:0,height:0};var n="".concat(t),o=Object.keys(e).reduce(function(t,n){var r;return"".concat(t).concat(n.split("").reduce(function(t,e){return e===e.toUpperCase()?[].concat(u(t),["-",e.toLowerCase()]):[].concat(u(t),[e])},[]).join(""),":").concat((r=e[n],f.indexOf(n)>=0&&r===+r?"".concat(r,"px"):r),";")},""),i="".concat(n,"-").concat(o);if(l.widthCache[i])return l.widthCache[i];try{var c=document.getElementById(p);c||((c=document.createElement("span")).setAttribute("id",p),c.setAttribute("aria-hidden","true"),document.body.appendChild(c));var h=a(a({},s),e);Object.keys(h).map(function(t){return c.style[t]=h[t],t}),c.textContent=n;var d=c.getBoundingClientRect(),y={width:d.width,height:d.height};return l.widthCache[i]=y,++l.cacheCount>2e3&&(l.cacheCount=0,l.widthCache={}),y}catch(t){return{width:0,height:0}}},d=function(t){var e=t.ownerDocument.documentElement,n={top:0,left:0};return void 0!==t.getBoundingClientRect&&(n=t.getBoundingClientRect()),{top:n.top+window.pageYOffset-e.clientTop,left:n.left+window.pageXOffset-e.clientLeft}},y=function(t,e){return{chartX:Math.round(t.pageX-e.left),chartY:Math.round(t.pageY-e.top)}}},69055:function(t,e,n){"use strict";n.d(e,{Ap:function(){return j},EL:function(){return g},Kt:function(){return x},P2:function(){return v},bv:function(){return O},h1:function(){return b},hU:function(){return d},hj:function(){return y},k4:function(){return w},uY:function(){return h}});var r=n(27361),o=n.n(r),i=n(1469),a=n.n(i),u=n(7654),c=n.n(u),l=n(81763),s=n.n(l),f=n(47037),p=n.n(f),h=function(t){return 0===t?0:t>0?1:-1},d=function(t){return p()(t)&&t.indexOf("%")===t.length-1},y=function(t){return s()(t)&&!c()(t)},v=function(t){return y(t)||p()(t)},m=0,g=function(t){var e=++m;return"".concat(t||"").concat(e)},b=function(t,e){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!y(t)&&!p()(t))return r;if(d(t)){var i=t.indexOf("%");n=e*parseFloat(t.slice(0,i))/100}else n=+t;return c()(n)&&(n=r),o&&n>e&&(n=e),n},x=function(t){if(!t)return null;var e=Object.keys(t);return e&&e.length?t[e[0]]:null},O=function(t){if(!a()(t))return!1;for(var e=t.length,n={},r=0;r2?n-2:0),o=2;ot.length)&&(e=t.length);for(var n=0,r=Array(e);n2&&void 0!==arguments[2]?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(e-(n.top||0)-(n.bottom||0)))/2},y=function(t,e,n,r,u){var c=t.width,p=t.height,h=t.startAngle,y=t.endAngle,v=(0,i.h1)(t.cx,c,c/2),m=(0,i.h1)(t.cy,p,p/2),g=d(c,p,n),b=(0,i.h1)(t.innerRadius,g,0),x=(0,i.h1)(t.outerRadius,g,.8*g);return Object.keys(e).reduce(function(t,n){var i,c=e[n],p=c.domain,d=c.reversed;if(o()(c.range))"angleAxis"===r?i=[h,y]:"radiusAxis"===r&&(i=[b,x]),d&&(i=[i[1],i[0]]);else{var g,O=function(t){if(Array.isArray(t))return t}(g=i=c.range)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i,a,u=[],c=!0,l=!1;try{if(i=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(u.push(r.value),u.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(g,2)||function(t,e){if(t){if("string"==typeof t)return f(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if("Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return f(t,e)}}(g,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();h=O[0],y=O[1]}var w=(0,a.Hq)(c,u),j=w.realScaleType,S=w.scale;S.domain(p).range(i),(0,a.zF)(S);var E=(0,a.g$)(S,l(l({},c),{},{realScaleType:j})),A=l(l(l({},c),E),{},{range:i,radius:x,realScaleType:j,scale:S,cx:v,cy:m,innerRadius:b,outerRadius:x,startAngle:h,endAngle:y});return l(l({},t),{},s({},n,A))},{})},v=function(t,e){var n=t.x,r=t.y;return Math.sqrt(Math.pow(n-e.x,2)+Math.pow(r-e.y,2))},m=function(t,e){var n=t.x,r=t.y,o=e.cx,i=e.cy,a=v({x:n,y:r},{x:o,y:i});if(a<=0)return{radius:a};var u=Math.acos((n-o)/a);return r>i&&(u=2*Math.PI-u),{radius:a,angle:180*u/Math.PI,angleInRadian:u}},g=function(t){var e=t.startAngle,n=t.endAngle,r=Math.min(Math.floor(e/360),Math.floor(n/360));return{startAngle:e-360*r,endAngle:n-360*r}},b=function(t,e){var n,r=m({x:t.x,y:t.y},e),o=r.radius,i=r.angle,a=e.innerRadius,u=e.outerRadius;if(ou)return!1;if(0===o)return!0;var c=g(e),s=c.startAngle,f=c.endAngle,p=i;if(s<=f){for(;p>f;)p-=360;for(;p=s&&p<=f}else{for(;p>s;)p-=360;for(;p=f&&p<=s}return n?l(l({},e),{},{radius:o,angle:p+360*Math.min(Math.floor(e.startAngle/360),Math.floor(e.endAngle/360))}):null}},52017:function(t,e,n){"use strict";n.d(e,{$R:function(){return B},Bh:function(){return R},Gf:function(){return S},L6:function(){return N},NN:function(){return k},TT:function(){return T},eu:function(){return L},rL:function(){return I},sP:function(){return M}});var r=n(13218),o=n.n(r),i=n(23560),a=n.n(i),u=n(47037),c=n.n(u),l=n(27361),s=n.n(l),f=n(14293),p=n.n(f),h=n(1469),d=n.n(h),y=n(67294),v=n(98508),m=n(69055),g=n(30791),b=n(79896),x=["children"],O=["children"];function w(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},i=Object.keys(t);for(r=0;r=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var j={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart"},S=function(t){return"string"==typeof t?t:t?t.displayName||t.name||"Component":""},E=null,A=null,P=function t(e){if(e===E&&d()(A))return A;var n=[];return y.Children.forEach(e,function(e){p()(e)||((0,v.isFragment)(e)?n=n.concat(t(e.props.children)):n.push(e))}),A=n,E=e,n};function k(t,e){var n=[],r=[];return r=d()(e)?e.map(function(t){return S(t)}):[S(e)],P(t).forEach(function(t){var e=s()(t,"type.displayName")||s()(t,"type.name");-1!==r.indexOf(e)&&n.push(t)}),n}function M(t,e){var n=k(t,e);return n&&n[0]}var T=function(t){if(!t||!t.props)return!1;var e=t.props,n=e.width,r=e.height;return!!(0,m.hj)(n)&&!(n<=0)&&!!(0,m.hj)(r)&&!(r<=0)},_=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],C=function(t,e,n,r){var o,i=null!==(o=null===b.ry||void 0===b.ry?void 0:b.ry[r])&&void 0!==o?o:[];return!a()(t)&&(r&&i.includes(e)||b.Yh.includes(e))||n&&b.nv.includes(e)},N=function(t,e,n){if(!t||"function"==typeof t||"boolean"==typeof t)return null;var r=t;if((0,y.isValidElement)(t)&&(r=t.props),!o()(r))return null;var i={};return Object.keys(r).forEach(function(t){var o;C(null===(o=r)||void 0===o?void 0:o[t],t,e,n)&&(i[t]=r[t])}),i},I=function t(e,n){if(e===n)return!0;var r=y.Children.count(e);if(r!==y.Children.count(n))return!1;if(0===r)return!0;if(1===r)return D(d()(e)?e[0]:e,d()(n)?n[0]:n);for(var o=0;o=0)n.push(t);else if(t){var i=S(t.type),a=e[i]||{},u=a.handler,l=a.once;if(u&&(!l||!r[i])){var s=u(t,i,o);n.push(s),r[i]=!0}}}),n},R=function(t){var e=t&&t.type;return e&&j[e]?j[e]:null},B=function(t,e){return P(e).indexOf(t)}},30791:function(t,e,n){"use strict";function r(t,e){for(var n in t)if(({}).hasOwnProperty.call(t,n)&&(!({}).hasOwnProperty.call(e,n)||t[n]!==e[n]))return!1;for(var r in e)if(({}).hasOwnProperty.call(e,r)&&!({}).hasOwnProperty.call(t,r))return!1;return!0}n.d(e,{w:function(){return r}})},20430:function(t,e,n){"use strict";n.d(e,{z:function(){return l}});var r=n(33558),o=n(35552),i=n(52017);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function u(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function c(t){for(var e=1;e=0))throw Error(`invalid digits: ${t}`);if(e>15)return a;let n=10**e;return function(t){this._+=t[0];for(let e=1,r=t.length;e1e-6){if(Math.abs(f*c-l*s)>1e-6&&i){let h=n-a,d=o-u,y=c*c+l*l,v=Math.sqrt(y),m=Math.sqrt(p),g=i*Math.tan((r-Math.acos((y+p-(h*h+d*d))/(2*v*m)))/2),b=g/m,x=g/v;Math.abs(b-1)>1e-6&&this._append`L${t+b*s},${e+b*f}`,this._append`A${i},${i},0,0,${+(f*h>s*d)},${this._x1=t+x*c},${this._y1=e+x*l}`}else this._append`L${this._x1=t},${this._y1=e}`}}arc(t,e,n,a,u,c){if(t=+t,e=+e,c=!!c,(n=+n)<0)throw Error(`negative radius: ${n}`);let l=n*Math.cos(a),s=n*Math.sin(a),f=t+l,p=e+s,h=1^c,d=c?a-u:u-a;null===this._x1?this._append`M${f},${p}`:(Math.abs(this._x1-f)>1e-6||Math.abs(this._y1-p)>1e-6)&&this._append`L${f},${p}`,n&&(d<0&&(d=d%o+o),d>i?this._append`A${n},${n},0,1,${h},${t-l},${e-s}A${n},${n},0,1,${h},${this._x1=f},${this._y1=p}`:d>1e-6&&this._append`A${n},${n},0,${+(d>=r)},${h},${this._x1=t+n*Math.cos(u)},${this._y1=e+n*Math.sin(u)}`)}rect(t,e,n,r){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}}function c(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(null==n)e=null;else{let t=Math.floor(n);if(!(t>=0))throw RangeError(`invalid digits: ${n}`);e=t}return t},()=>new u(e)}u.prototype}}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/_app-02647deaa4af9a49.js b/_next/static/chunks/pages/_app-04e9a819170ea82f.js similarity index 62% rename from _next/static/chunks/pages/_app-02647deaa4af9a49.js rename to _next/static/chunks/pages/_app-04e9a819170ea82f.js index bbcf863..7bb1ebe 100644 --- a/_next/static/chunks/pages/_app-02647deaa4af9a49.js +++ b/_next/static/chunks/pages/_app-04e9a819170ea82f.js @@ -1,5 +1,5 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[888],{88630:function(eb){"use strict";function em(eb){if(eb.length>=255)throw TypeError("Alphabet too long");for(var em=new Uint8Array(256),eH=0;eH>>0,eS=new Uint8Array(eM);eb[eH];){var eE=em[eb.charCodeAt(eH)];if(255===eE)return;for(var eA=0,eN=eM-1;(0!==eE||eA>>0,eS[eN]=eE%256>>>0,eE=eE/256>>>0;if(0!==eE)throw Error("Non-zero carry");ew=eA,eH++}for(var eI=eM-ew;eI!==eM&&0===eS[eI];)eI++;for(var eD=new Uint8Array(eV+(eM-eI)),eP=eV;eI!==eM;)eD[eP++]=eS[eI++];return eD}function eA(eb){var em=eE(eb);if(em)return em;throw Error("Non-base"+eC+" character")}return{encode:function(em){if(em instanceof Uint8Array||(ArrayBuffer.isView(em)?em=new Uint8Array(em.buffer,em.byteOffset,em.byteLength):Array.isArray(em)&&(em=Uint8Array.from(em))),!(em instanceof Uint8Array))throw TypeError("Expected Uint8Array");if(0===em.length)return"";for(var eH=0,eV=0,ew=0,eM=em.length;ew!==eM&&0===em[ew];)ew++,eH++;for(var e_=(eM-ew)*eS+1>>>0,eE=new Uint8Array(e_);ew!==eM;){for(var eA=em[ew],eN=0,eI=e_-1;(0!==eA||eN>>0,eE[eI]=eA%eC>>>0,eA=eA/eC>>>0;if(0!==eA)throw Error("Non-zero carry");eV=eN,ew++}for(var eD=e_-eV;eD!==e_&&0===eE[eD];)eD++;for(var eP=eT.repeat(eH);eDeR?new eS.MobileRelayUI(eb):new eA.WalletLinkRelayUI(eb)),eF={linkAPIUrl:eT,version:eI.LIB_VERSION,darkMode:!!eb.darkMode,uiConstructor:eB,storage:this._storage,relayEventManager:this._relayEventManager,diagnosticLogger:this._diagnosticLogger,reloadOnDisconnect:this._reloadOnDisconnect,enableMobileWalletLink:eb.enableMobileWalletLink};if(this._relay=eR?new e_.MobileRelay(eF):new eN.WalletLinkRelay(eF),this.setAppInfo(eb.appName,eb.appLogoUrl),eb.headlessMode)return;this._relay.attachUI()}makeWeb3Provider(eb="",em=1){let eH=this.walletExtension;if(eH)return this.isCipherProvider(eH)||eH.setProviderInfo(eb,em),!1===this._reloadOnDisconnect&&"function"==typeof eH.disableReloadOnDisconnect&&eH.disableReloadOnDisconnect(),eH;let eV=this.coinbaseBrowser;if(eV)return eV;let ew=this._relay;if(!ew||!this._relayEventManager||!this._storage)throw Error("Relay not initialized, should never happen");return eb||ew.setConnectDisabled(!0),new eT.CoinbaseWalletProvider({relayProvider:()=>Promise.resolve(ew),relayEventManager:this._relayEventManager,storage:this._storage,jsonRpcUrl:eb,chainId:em,qrUrl:this.getQrUrl(),diagnosticLogger:this._diagnosticLogger,overrideIsMetaMask:this._overrideIsMetaMask,overrideIsCoinbaseWallet:this._overrideIsCoinbaseWallet,overrideIsCoinbaseBrowser:this._overrideIsCoinbaseBrowser})}setAppInfo(eb,em){var eH;this._appName=eb||"DApp",this._appLogoUrl=em||(0,eM.getFavicon)();let eV=this.walletExtension;eV?this.isCipherProvider(eV)||eV.setAppInfo(this._appName,this._appLogoUrl):null===(eH=this._relay)||void 0===eH||eH.setAppInfo(this._appName,this._appLogoUrl)}disconnect(){var eb;let em=this===null||void 0===this?void 0:this.walletExtension;em?em.close():null===(eb=this._relay)||void 0===eb||eb.resetAndReload()}getQrUrl(){var eb,em;return null!==(em=null===(eb=this._relay)||void 0===eb?void 0:eb.getQRCodeUrl())&&void 0!==em?em:null}getCoinbaseWalletLogo(eb,em=240){return(0,eV.walletLogo)(eb,em)}get walletExtension(){var eb;return null!==(eb=window.coinbaseWalletExtension)&&void 0!==eb?eb:window.walletLinkExtension}get coinbaseBrowser(){var eb,em;try{let eH=null!==(eb=window.ethereum)&&void 0!==eb?eb:null===(em=window.top)||void 0===em?void 0:em.ethereum;if(!eH)return;if("isCoinbaseBrowser"in eH&&eH.isCoinbaseBrowser)return eH;return}catch(eb){return}}isCipherProvider(eb){return"boolean"==typeof eb.isCipher&&eb.isCipher}}em.CoinbaseWalletSDK=eD,eD.VERSION=eI.LIB_VERSION},52719:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.walletLogo=void 0;let eH=(eb,em)=>{let eH;switch(eb){case"standard":default:return`data:image/svg+xml,%3Csvg width='${em}' height='${eH=em}' 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`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='${em}' height='${eH=em}' 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`data:image/svg+xml,%3Csvg width='${em}' height='${eH=(.1*em).toFixed(2)}' 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`data:image/svg+xml,%3Csvg width='${em}' height='${eH=(.25*em).toFixed(2)}' 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`data:image/svg+xml,%3Csvg width='${em}' height='${eH=(.1*em).toFixed(2)}' 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`data:image/svg+xml,%3Csvg width='${em}' height='${eH=(.25*em).toFixed(2)}' 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`}};em.walletLogo=eH},96415:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.LINK_API_URL=void 0,em.LINK_API_URL="https://www.walletlink.org"},76079:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.errorValues=em.standardErrorCodes=void 0,em.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}},em.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."}}},99322:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.standardErrors=void 0;let eV=eH(76079),ew=eH(10761);function eM(eb,em){let[eH,eV]=eT(em);return new e_(eb,eH||(0,ew.getMessageFromCode)(eb),eV)}function eC(eb,em){let[eH,eV]=eT(em);return new eS(eb,eH||(0,ew.getMessageFromCode)(eb),eV)}function eT(eb){if(eb){if("string"==typeof eb)return[eb];if("object"==typeof eb&&!Array.isArray(eb)){let{message:em,data:eH}=eb;if(em&&"string"!=typeof em)throw Error("Must specify string message.");return[em||void 0,eH]}}return[]}em.standardErrors={rpc:{parse:eb=>eM(eV.standardErrorCodes.rpc.parse,eb),invalidRequest:eb=>eM(eV.standardErrorCodes.rpc.invalidRequest,eb),invalidParams:eb=>eM(eV.standardErrorCodes.rpc.invalidParams,eb),methodNotFound:eb=>eM(eV.standardErrorCodes.rpc.methodNotFound,eb),internal:eb=>eM(eV.standardErrorCodes.rpc.internal,eb),server:eb=>{if(!eb||"object"!=typeof eb||Array.isArray(eb))throw Error("Ethereum RPC Server errors must provide single object argument.");let{code:em}=eb;if(!Number.isInteger(em)||em>-32005||em<-32099)throw Error('"code" must be an integer such that: -32099 <= code <= -32005');return eM(em,eb)},invalidInput:eb=>eM(eV.standardErrorCodes.rpc.invalidInput,eb),resourceNotFound:eb=>eM(eV.standardErrorCodes.rpc.resourceNotFound,eb),resourceUnavailable:eb=>eM(eV.standardErrorCodes.rpc.resourceUnavailable,eb),transactionRejected:eb=>eM(eV.standardErrorCodes.rpc.transactionRejected,eb),methodNotSupported:eb=>eM(eV.standardErrorCodes.rpc.methodNotSupported,eb),limitExceeded:eb=>eM(eV.standardErrorCodes.rpc.limitExceeded,eb)},provider:{userRejectedRequest:eb=>eC(eV.standardErrorCodes.provider.userRejectedRequest,eb),unauthorized:eb=>eC(eV.standardErrorCodes.provider.unauthorized,eb),unsupportedMethod:eb=>eC(eV.standardErrorCodes.provider.unsupportedMethod,eb),disconnected:eb=>eC(eV.standardErrorCodes.provider.disconnected,eb),chainDisconnected:eb=>eC(eV.standardErrorCodes.provider.chainDisconnected,eb),unsupportedChain:eb=>eC(eV.standardErrorCodes.provider.unsupportedChain,eb),custom:eb=>{if(!eb||"object"!=typeof eb||Array.isArray(eb))throw Error("Ethereum Provider custom errors must provide single object argument.");let{code:em,message:eH,data:eV}=eb;if(!eH||"string"!=typeof eH)throw Error('"message" must be a nonempty string');return new eS(em,eH,eV)}}};class e_ extends Error{constructor(eb,em,eH){if(!Number.isInteger(eb))throw Error('"code" must be an integer.');if(!em||"string"!=typeof em)throw Error('"message" must be a nonempty string.');super(em),this.code=eb,void 0!==eH&&(this.data=eH)}}class eS extends e_{constructor(eb,em,eH){if(!eE(eb))throw Error('"code" must be an integer such that: 1000 <= code <= 4999');super(eb,em,eH)}}function eE(eb){return Number.isInteger(eb)&&eb>=1e3&&eb<=4999}},37185:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.standardErrors=em.standardErrorCodes=em.serializeError=em.getMessageFromCode=em.getErrorCode=void 0;let eV=eH(76079);Object.defineProperty(em,"standardErrorCodes",{enumerable:!0,get:function(){return eV.standardErrorCodes}});let ew=eH(99322);Object.defineProperty(em,"standardErrors",{enumerable:!0,get:function(){return ew.standardErrors}});let eM=eH(70011);Object.defineProperty(em,"serializeError",{enumerable:!0,get:function(){return eM.serializeError}});let eC=eH(10761);Object.defineProperty(em,"getErrorCode",{enumerable:!0,get:function(){return eC.getErrorCode}}),Object.defineProperty(em,"getMessageFromCode",{enumerable:!0,get:function(){return eC.getMessageFromCode}})},70011:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.serializeError=void 0;let eV=eH(7588),ew=eH(43604),eM=eH(76079),eC=eH(10761);function eT(eb,em){let eH=(0,eC.serialize)(e_(eb),{shouldIncludeStack:!0}),eV=new URL("https://docs.cloud.coinbase.com/wallet-sdk/docs/errors");eV.searchParams.set("version",ew.LIB_VERSION),eV.searchParams.set("code",eH.code.toString());let eM=eS(eH.data,em);return eM&&eV.searchParams.set("method",eM),eV.searchParams.set("message",eH.message),Object.assign(Object.assign({},eH),{docUrl:eV.href})}function e_(eb){return"string"==typeof eb?{message:eb,code:eM.standardErrorCodes.rpc.internal}:(0,eV.isErrorResponse)(eb)?Object.assign(Object.assign({},eb),{message:eb.errorMessage,code:eb.errorCode,data:{method:eb.method}}):eb}function eS(eb,em){let eH=null==eb?void 0:eb.method;if(eH)return eH;if(void 0===em);else if("string"==typeof em)return em;else if(!Array.isArray(em))return em.method;else if(em.length>0)return em[0].method}em.serializeError=eT},10761:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.serialize=em.getErrorCode=em.isValidCode=em.getMessageFromCode=em.JSON_RPC_SERVER_ERROR_MESSAGE=void 0;let eV=eH(76079),ew="Unspecified error message.";function eM(eb,eH=ew){if(eb&&Number.isInteger(eb)){let eH=eb.toString();if(eN(eV.errorValues,eH))return eV.errorValues[eH].message;if(eE(eb))return em.JSON_RPC_SERVER_ERROR_MESSAGE}return eH}function eC(eb){if(!Number.isInteger(eb))return!1;let em=eb.toString();return!!(eV.errorValues[em]||eE(eb))}function eT(eb){var em;return"number"==typeof eb?eb:e_(eb)?null!==(em=eb.code)&&void 0!==em?em:eb.errorCode:void 0}function e_(eb){return"object"==typeof eb&&null!==eb&&("number"==typeof eb.code||"number"==typeof eb.errorCode)}function eS(eb,{shouldIncludeStack:em=!1}={}){let eH={};if(eb&&"object"==typeof eb&&!Array.isArray(eb)&&eN(eb,"code")&&eC(eb.code)){let em=eb;eH.code=em.code,em.message&&"string"==typeof em.message?(eH.message=em.message,eN(em,"data")&&(eH.data=em.data)):(eH.message=eM(eH.code),eH.data={originalError:eA(eb)})}else eH.code=eV.standardErrorCodes.rpc.internal,eH.message=eI(eb,"message")?eb.message:ew,eH.data={originalError:eA(eb)};return em&&(eH.stack=eI(eb,"stack")?eb.stack:void 0),eH}function eE(eb){return eb>=-32099&&eb<=-32e3}function eA(eb){return eb&&"object"==typeof eb&&!Array.isArray(eb)?Object.assign({},eb):eb}function eN(eb,em){return Object.prototype.hasOwnProperty.call(eb,em)}function eI(eb,em){return"object"==typeof eb&&null!==eb&&em in eb&&"string"==typeof eb[em]}em.JSON_RPC_SERVER_ERROR_MESSAGE="Unspecified server error.",em.getMessageFromCode=eM,em.isValidCode=eC,em.getErrorCode=eT,em.serialize=eS},34083:function(eb,em){"use strict";var eH;function eV(){return eb=>eb}function ew(eb){return Math.floor(eb)}Object.defineProperty(em,"__esModule",{value:!0}),em.ProviderType=em.RegExpString=em.IntNumber=em.BigIntString=em.AddressString=em.HexString=em.OpaqueType=void 0,em.OpaqueType=eV,em.HexString=eV(),em.AddressString=eV(),em.BigIntString=eV(),em.IntNumber=ew,em.RegExpString=eV(),function(eb){eb.CoinbaseWallet="CoinbaseWallet",eb.MetaMask="MetaMask",eb.Unselected=""}(eH||(em.ProviderType=eH={}))},32072:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer,ew=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.isMobileWeb=em.getLocation=em.isInIFrame=em.createQrUrl=em.getFavicon=em.range=em.isBigNumber=em.ensureParsedJSONObject=em.ensureBN=em.ensureRegExpString=em.ensureIntNumber=em.ensureBuffer=em.ensureAddressString=em.ensureEvenLengthHexString=em.ensureHexString=em.isHexString=em.prepend0x=em.strip0x=em.has0xPrefix=em.hexStringFromIntNumber=em.intNumberFromHexString=em.bigIntStringFromBN=em.hexStringFromBuffer=em.hexStringToUint8Array=em.uint8ArrayToHex=em.randomBytesHex=void 0;let eM=ew(eH(13550)),eC=eH(37185),eT=eH(34083),e_=/^[0-9]*$/,eS=/^[a-f0-9]*$/;function eE(eb){return eA(crypto.getRandomValues(new Uint8Array(eb)))}function eA(eb){return[...eb].map(eb=>eb.toString(16).padStart(2,"0")).join("")}function eN(eb){return new Uint8Array(eb.match(/.{1,2}/g).map(eb=>parseInt(eb,16)))}function eI(eb,em=!1){let eH=eb.toString("hex");return(0,eT.HexString)(em?`0x${eH}`:eH)}function eD(eb){return(0,eT.BigIntString)(eb.toString(10))}function eP(eb){return(0,eT.IntNumber)(new eM.default(e$(eb,!1),16).toNumber())}function eO(eb){return(0,eT.HexString)(`0x${new eM.default(eb).toString(16)}`)}function eR(eb){return eb.startsWith("0x")||eb.startsWith("0X")}function eB(eb){return eR(eb)?eb.slice(2):eb}function eF(eb){return eR(eb)?`0x${eb.slice(2)}`:`0x${eb}`}function ej(eb){if("string"!=typeof eb)return!1;let em=eB(eb).toLowerCase();return eS.test(em)}function eU(eb,em=!1){if("string"==typeof eb){let eH=eB(eb).toLowerCase();if(eS.test(eH))return(0,eT.HexString)(em?`0x${eH}`:eH)}throw eC.standardErrors.rpc.invalidParams(`"${String(eb)}" is not a hexadecimal string`)}function e$(eb,em=!1){let eH=eU(eb,!1);return eH.length%2==1&&(eH=(0,eT.HexString)(`0${eH}`)),em?(0,eT.HexString)(`0x${eH}`):eH}function eW(eb){if("string"==typeof eb){let em=eB(eb).toLowerCase();if(ej(em)&&40===em.length)return(0,eT.AddressString)(eF(em))}throw eC.standardErrors.rpc.invalidParams(`Invalid Ethereum address: ${String(eb)}`)}function eZ(eb){if(eV.isBuffer(eb))return eb;if("string"==typeof eb){if(ej(eb)){let em=e$(eb,!1);return eV.from(em,"hex")}return eV.from(eb,"utf8")}throw eC.standardErrors.rpc.invalidParams(`Not binary data: ${String(eb)}`)}function eG(eb){if("number"==typeof eb&&Number.isInteger(eb))return(0,eT.IntNumber)(eb);if("string"==typeof eb){if(e_.test(eb))return(0,eT.IntNumber)(Number(eb));if(ej(eb))return(0,eT.IntNumber)(new eM.default(e$(eb,!1),16).toNumber())}throw eC.standardErrors.rpc.invalidParams(`Not an integer: ${String(eb)}`)}function eK(eb){if(eb instanceof RegExp)return(0,eT.RegExpString)(eb.toString());throw eC.standardErrors.rpc.invalidParams(`Not a RegExp: ${String(eb)}`)}function eY(eb){if(null!==eb&&(eM.default.isBN(eb)||eJ(eb)))return new eM.default(eb.toString(10),10);if("number"==typeof eb)return new eM.default(eG(eb));if("string"==typeof eb){if(e_.test(eb))return new eM.default(eb,10);if(ej(eb))return new eM.default(e$(eb,!1),16)}throw eC.standardErrors.rpc.invalidParams(`Not an integer: ${String(eb)}`)}function eX(eb){if("string"==typeof eb)return JSON.parse(eb);if("object"==typeof eb)return eb;throw eC.standardErrors.rpc.invalidParams(`Not a JSON string or an object: ${String(eb)}`)}function eJ(eb){if(null==eb||"function"!=typeof eb.constructor)return!1;let{constructor:em}=eb;return"function"==typeof em.config&&"number"==typeof em.EUCLID}function eQ(eb,em){return Array.from({length:em-eb},(em,eH)=>eb+eH)}function e0(){let eb=document.querySelector('link[sizes="192x192"]')||document.querySelector('link[sizes="180x180"]')||document.querySelector('link[rel="icon"]')||document.querySelector('link[rel="shortcut icon"]'),{protocol:em,host:eH}=document.location,eV=eb?eb.getAttribute("href"):null;return!eV||eV.startsWith("javascript:")||eV.startsWith("vbscript:")?null:eV.startsWith("http://")||eV.startsWith("https://")||eV.startsWith("data:")?eV:eV.startsWith("//")?em+eV:`${em}//${eH}${eV}`}function e6(eb,em,eH,eV,ew,eM){let eC=eV?"parent-id":"id",eT=new URLSearchParams({[eC]:eb,secret:em,server:eH,v:ew,chainId:eM.toString()}).toString(),e_=`${eH}/#/link?${eT}`;return e_}function e4(){try{return null!==window.frameElement}catch(eb){return!1}}function e3(){try{if(e4()&&window.top)return window.top.location;return window.location}catch(eb){return window.location}}function e5(){var eb;return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(null===(eb=null==window?void 0:window.navigator)||void 0===eb?void 0:eb.userAgent)}em.randomBytesHex=eE,em.uint8ArrayToHex=eA,em.hexStringToUint8Array=eN,em.hexStringFromBuffer=eI,em.bigIntStringFromBN=eD,em.intNumberFromHexString=eP,em.hexStringFromIntNumber=eO,em.has0xPrefix=eR,em.strip0x=eB,em.prepend0x=eF,em.isHexString=ej,em.ensureHexString=eU,em.ensureEvenLengthHexString=e$,em.ensureAddressString=eW,em.ensureBuffer=eZ,em.ensureIntNumber=eG,em.ensureRegExpString=eK,em.ensureBN=eY,em.ensureParsedJSONObject=eX,em.isBigNumber=eJ,em.range=eQ,em.getFavicon=e0,em.createQrUrl=e6,em.isInIFrame=e4,em.getLocation=e3,em.isMobileWeb=e5},45811:function(eb,em,eH){"use strict";eM={value:!0},eM=em.jp=void 0;let eV=eH(39016),ew=eH(83143);var eM,eC=eH(39016);Object.defineProperty(em,"jp",{enumerable:!0,get:function(){return eC.CoinbaseWalletSDK}});var eT=eH(83143);eM={enumerable:!0,get:function(){return eT.CoinbaseWalletProvider}},eM=eV.CoinbaseWalletSDK,"undefined"!=typeof window&&(window.CoinbaseWalletSDK=eV.CoinbaseWalletSDK,window.CoinbaseWalletProvider=ew.CoinbaseWalletProvider,window.WalletLink=eV.CoinbaseWalletSDK,window.WalletLinkProvider=ew.CoinbaseWalletProvider)},50769:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.Cipher=void 0;let eV=eH(32072);class ew{constructor(eb){this.secret=eb}async encrypt(eb){let em=this.secret;if(64!==em.length)throw Error("secret must be 256 bits");let eH=crypto.getRandomValues(new Uint8Array(12)),ew=await crypto.subtle.importKey("raw",(0,eV.hexStringToUint8Array)(em),{name:"aes-gcm"},!1,["encrypt","decrypt"]),eM=new TextEncoder,eC=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:eH},ew,eM.encode(eb)),eT=16,e_=eC.slice(eC.byteLength-eT),eS=eC.slice(0,eC.byteLength-eT),eE=new Uint8Array(e_),eA=new Uint8Array(eS),eN=new Uint8Array([...eH,...eE,...eA]);return(0,eV.uint8ArrayToHex)(eN)}async decrypt(eb){let em=this.secret;if(64!==em.length)throw Error("secret must be 256 bits");return new Promise((eH,ew)=>{!async function(){let eM=await crypto.subtle.importKey("raw",(0,eV.hexStringToUint8Array)(em),{name:"aes-gcm"},!1,["encrypt","decrypt"]),eC=(0,eV.hexStringToUint8Array)(eb),eT=eC.slice(0,12),e_=eC.slice(12,28),eS=eC.slice(28),eE=new Uint8Array([...eS,...e_]),eA={name:"AES-GCM",iv:new Uint8Array(eT)};try{let eb=await window.crypto.subtle.decrypt(eA,eM,eE),em=new TextDecoder;eH(em.decode(eb))}catch(eb){ew(eb)}}()})}}em.Cipher=ew},49682:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.ScopedLocalStorage=void 0;class eH{constructor(eb){this.scope=eb}setItem(eb,em){localStorage.setItem(this.scopedKey(eb),em)}getItem(eb){return localStorage.getItem(this.scopedKey(eb))}removeItem(eb){localStorage.removeItem(this.scopedKey(eb))}clear(){let eb=this.scopedKey(""),em=[];for(let eH=0;eHlocalStorage.removeItem(eb))}scopedKey(eb){return`${this.scope}:${eb}`}}em.ScopedLocalStorage=eH},1119:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.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}'},27162:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.injectCssReset=void 0;let ew=eV(eH(1119));function eM(){let eb=document.createElement("style");eb.type="text/css",eb.appendChild(document.createTextNode(ew.default)),document.documentElement.appendChild(eb)}em.injectCssReset=eM},83143:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer,ew=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.CoinbaseWalletProvider=void 0;let eM=ew(eH(13550)),eC=eH(72997),eT=eH(37185),e_=eH(32072),eS=eH(26840),eE=eH(92036),eA=eH(73526),eN=eH(7588),eI=ew(eH(14497)),eD=eH(38431),eP=eH(33648),eO=eH(5313),eR="DefaultChainId",eB="DefaultJsonRpcUrl";class eF extends eC.EventEmitter{constructor(eb){var em,eH;super(),this._filterPolyfill=new eP.FilterPolyfill(this),this._subscriptionManager=new eO.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=eb.chainId,this._jsonRpcUrlFromOpts=eb.jsonRpcUrl,this._overrideIsMetaMask=eb.overrideIsMetaMask,this._relayProvider=eb.relayProvider,this._storage=eb.storage,this._relayEventManager=eb.relayEventManager,this.diagnostic=eb.diagnosticLogger,this.reloadOnDisconnect=!0,this.isCoinbaseWallet=null===(em=eb.overrideIsCoinbaseWallet)||void 0===em||em,this.isCoinbaseBrowser=null!==(eH=eb.overrideIsCoinbaseBrowser)&&void 0!==eH&&eH,this.qrUrl=eb.qrUrl;let eV=this.getChainId(),ew=(0,e_.prepend0x)(eV.toString(16));this.emit("connect",{chainIdStr:ew});let eM=this._storage.getItem(eE.LOCAL_STORAGE_ADDRESSES_KEY);if(eM){let eb=eM.split(" ");""!==eb[0]&&(this._addresses=eb.map(eb=>(0,e_.ensureAddressString)(eb)),this.emit("accountsChanged",eb))}this._subscriptionManager.events.on("notification",eb=>{this.emit("message",{type:eb.method,data:eb.params})}),this._isAuthorized()&&this.initializeRelay(),window.addEventListener("message",eb=>{var em;if(eb.origin===location.origin&&eb.source===window&&"walletLinkMessage"===eb.data.type&&"dappChainSwitched"===eb.data.data.action){let eH=eb.data.data.chainId,eV=null!==(em=eb.data.data.jsonRpcUrl)&&void 0!==em?em:this.jsonRpcUrl;this.updateProviderInfo(eV,Number(eH))}})}get selectedAddress(){return this._addresses[0]||void 0}get networkVersion(){return this.getChainId().toString(10)}get chainId(){return(0,e_.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 eb;return null!==(eb=this._storage.getItem(eB))&&void 0!==eb?eb:this._jsonRpcUrlFromOpts}set jsonRpcUrl(eb){this._storage.setItem(eB,eb)}disableReloadOnDisconnect(){this.reloadOnDisconnect=!1}setProviderInfo(eb,em){this.isCoinbaseBrowser||(this._chainIdFromOpts=em,this._jsonRpcUrlFromOpts=eb),this.updateProviderInfo(this.jsonRpcUrl,this.getChainId())}updateProviderInfo(eb,em){this.jsonRpcUrl=eb;let eH=this.getChainId();this._storage.setItem(eR,em.toString(10));let eV=(0,e_.ensureIntNumber)(em)!==eH;(eV||!this.hasMadeFirstChainChangedEmission)&&(this.emit("chainChanged",this.getChainId()),this.hasMadeFirstChainChangedEmission=!0)}async watchAsset(eb,em,eH,eV,ew,eM){let eC=await this.initializeRelay(),eT=await eC.watchAsset(eb,em,eH,eV,ew,null==eM?void 0:eM.toString()).promise;return!(0,eN.isErrorResponse)(eT)&&!!eT.result}async addEthereumChain(eb,em,eH,eV,ew,eM){var eC,eT;if((0,e_.ensureIntNumber)(eb)===this.getChainId())return!1;let eS=await this.initializeRelay(),eE=eS.inlineAddEthereumChain(eb.toString());this._isAuthorized()||eE||await eS.requestEthereumAccounts().promise;let eA=await eS.addEthereumChain(eb.toString(),em,ew,eH,eV,eM).promise;return!(0,eN.isErrorResponse)(eA)&&((null===(eC=eA.result)||void 0===eC?void 0:eC.isApproved)===!0&&this.updateProviderInfo(em[0],eb),(null===(eT=eA.result)||void 0===eT?void 0:eT.isApproved)===!0)}async switchEthereumChain(eb){let em=await this.initializeRelay(),eH=await em.switchEthereumChain(eb.toString(10),this.selectedAddress||void 0).promise;if((0,eN.isErrorResponse)(eH)){if(!eH.errorCode)return;if(eH.errorCode===eT.standardErrorCodes.provider.unsupportedChain)throw eT.standardErrors.provider.unsupportedChain();throw eT.standardErrors.provider.custom({message:eH.errorMessage,code:eH.errorCode})}let eV=eH.result;eV.isApproved&&eV.rpcUrl.length>0&&this.updateProviderInfo(eV.rpcUrl,eb)}setAppInfo(eb,em){this.initializeRelay().then(eH=>eH.setAppInfo(eb,em))}async enable(){var eb;return(null===(eb=this.diagnostic)||void 0===eb||eb.log(eD.EVENTS.ETH_ACCOUNTS_STATE,{method:"provider::enable",addresses_length:this._addresses.length,sessionIdHash:this._relay?eA.Session.hash(this._relay.session.id):void 0}),this._isAuthorized())?[...this._addresses]:await this.send("eth_requestAccounts")}async close(){let eb=await this.initializeRelay();eb.resetAndReload()}send(eb,em){try{let eH=this._send(eb,em);if(eH instanceof Promise)return eH.catch(em=>{throw(0,eT.serializeError)(em,eb)})}catch(em){throw(0,eT.serializeError)(em,eb)}}_send(eb,em){if("string"==typeof eb){let eH=eb,eV=Array.isArray(em)?em:void 0!==em?[em]:[],ew={jsonrpc:"2.0",id:0,method:eH,params:eV};return this._sendRequestAsync(ew).then(eb=>eb.result)}if("function"==typeof em){let eH=eb,eV=em;return this._sendAsync(eH,eV)}if(Array.isArray(eb)){let em=eb;return em.map(eb=>this._sendRequest(eb))}let eH=eb;return this._sendRequest(eH)}async sendAsync(eb,em){try{return this._sendAsync(eb,em).catch(em=>{throw(0,eT.serializeError)(em,eb)})}catch(em){return Promise.reject((0,eT.serializeError)(em,eb))}}async _sendAsync(eb,em){if("function"!=typeof em)throw Error("callback is required");if(Array.isArray(eb)){let eH=em;this._sendMultipleRequestsAsync(eb).then(eb=>eH(null,eb)).catch(eb=>eH(eb,null));return}let eH=em;return this._sendRequestAsync(eb).then(eb=>eH(null,eb)).catch(eb=>eH(eb,null))}async request(eb){try{return this._request(eb).catch(em=>{throw(0,eT.serializeError)(em,eb.method)})}catch(em){return Promise.reject((0,eT.serializeError)(em,eb.method))}}async _request(eb){if(!eb||"object"!=typeof eb||Array.isArray(eb))throw eT.standardErrors.rpc.invalidRequest({message:"Expected a single, non-array, object argument.",data:eb});let{method:em,params:eH}=eb;if("string"!=typeof em||0===em.length)throw eT.standardErrors.rpc.invalidRequest({message:"'args.method' must be a non-empty string.",data:eb});if(void 0!==eH&&!Array.isArray(eH)&&("object"!=typeof eH||null===eH))throw eT.standardErrors.rpc.invalidRequest({message:"'args.params' must be an object or array if provided.",data:eb});let eV=void 0===eH?[]:eH,ew=this._relayEventManager.makeRequestId(),eM=await this._sendRequestAsync({method:em,params:eV,jsonrpc:"2.0",id:ew});return eM.result}async scanQRCode(eb){let em=await this.initializeRelay(),eH=await em.scanQRCode((0,e_.ensureRegExpString)(eb)).promise;if((0,eN.isErrorResponse)(eH))throw(0,eT.serializeError)(eH.errorMessage,"scanQRCode");if("string"!=typeof eH.result)throw(0,eT.serializeError)("result was not a string","scanQRCode");return eH.result}async genericRequest(eb,em){let eH=await this.initializeRelay(),eV=await eH.genericRequest(eb,em).promise;if((0,eN.isErrorResponse)(eV))throw(0,eT.serializeError)(eV.errorMessage,"generic");if("string"!=typeof eV.result)throw(0,eT.serializeError)("result was not a string","generic");return eV.result}async connectAndSignIn(eb){var em;let eH;null===(em=this.diagnostic)||void 0===em||em.log(eD.EVENTS.ETH_ACCOUNTS_STATE,{method:"provider::connectAndSignIn",sessionIdHash:this._relay?eA.Session.hash(this._relay.session.id):void 0});try{let em=await this.initializeRelay();if(!(em instanceof eS.MobileRelay))throw Error("connectAndSignIn is only supported on mobile");if(eH=await em.connectAndSignIn(eb).promise,(0,eN.isErrorResponse)(eH))throw Error(eH.errorMessage)}catch(eb){if("string"==typeof eb.message&&eb.message.match(/(denied|rejected)/i))throw eT.standardErrors.provider.userRejectedRequest("User denied account authorization");throw eb}if(!eH.result)throw Error("accounts received is empty");let{accounts:eV}=eH.result;return this._setAddresses(eV),this.isCoinbaseBrowser||await this.switchEthereumChain(this.getChainId()),eH.result}async selectProvider(eb){let em=await this.initializeRelay(),eH=await em.selectProvider(eb).promise;if((0,eN.isErrorResponse)(eH))throw(0,eT.serializeError)(eH.errorMessage,"selectProvider");if("string"!=typeof eH.result)throw(0,eT.serializeError)("result was not a string","selectProvider");return eH.result}supportsSubscriptions(){return!1}subscribe(){throw Error("Subscriptions are not supported")}unsubscribe(){throw Error("Subscriptions are not supported")}disconnect(){return!0}_sendRequest(eb){let em={jsonrpc:"2.0",id:eb.id},{method:eH}=eb;if(em.result=this._handleSynchronousMethods(eb),void 0===em.result)throw Error(`Coinbase Wallet does not support calling ${eH} synchronously without a callback. Please provide a callback parameter to call ${eH} asynchronously.`);return em}_setAddresses(eb,em){if(!Array.isArray(eb))throw Error("addresses is not an array");let eH=eb.map(eb=>(0,e_.ensureAddressString)(eb));JSON.stringify(eH)!==JSON.stringify(this._addresses)&&(this._addresses=eH,this.emit("accountsChanged",this._addresses),this._storage.setItem(eE.LOCAL_STORAGE_ADDRESSES_KEY,eH.join(" ")))}_sendRequestAsync(eb){return new Promise((em,eH)=>{try{let eV=this._handleSynchronousMethods(eb);if(void 0!==eV)return em({jsonrpc:"2.0",id:eb.id,result:eV});let ew=this._handleAsynchronousFilterMethods(eb);if(void 0!==ew){ew.then(eH=>em(Object.assign(Object.assign({},eH),{id:eb.id}))).catch(eb=>eH(eb));return}let eM=this._handleSubscriptionMethods(eb);if(void 0!==eM){eM.then(eH=>em({jsonrpc:"2.0",id:eb.id,result:eH.result})).catch(eb=>eH(eb));return}}catch(eb){return eH(eb)}this._handleAsynchronousMethods(eb).then(eH=>eH&&em(Object.assign(Object.assign({},eH),{id:eb.id}))).catch(eb=>eH(eb))})}_sendMultipleRequestsAsync(eb){return Promise.all(eb.map(eb=>this._sendRequestAsync(eb)))}_handleSynchronousMethods(eb){let{method:em}=eb,eH=eb.params||[];switch(em){case"eth_accounts":return this._eth_accounts();case"eth_coinbase":return this._eth_coinbase();case"eth_uninstallFilter":return this._eth_uninstallFilter(eH);case"net_version":return this._net_version();case"eth_chainId":return this._eth_chainId();default:return}}async _handleAsynchronousMethods(eb){let{method:em}=eb,eH=eb.params||[];switch(em){case"eth_requestAccounts":return this._eth_requestAccounts();case"eth_sign":return this._eth_sign(eH);case"eth_ecRecover":return this._eth_ecRecover(eH);case"personal_sign":return this._personal_sign(eH);case"personal_ecRecover":return this._personal_ecRecover(eH);case"eth_signTransaction":return this._eth_signTransaction(eH);case"eth_sendRawTransaction":return this._eth_sendRawTransaction(eH);case"eth_sendTransaction":return this._eth_sendTransaction(eH);case"eth_signTypedData_v1":return this._eth_signTypedData_v1(eH);case"eth_signTypedData_v2":return this._throwUnsupportedMethodError();case"eth_signTypedData_v3":return this._eth_signTypedData_v3(eH);case"eth_signTypedData_v4":case"eth_signTypedData":return this._eth_signTypedData_v4(eH);case"cbWallet_arbitrary":return this._cbwallet_arbitrary(eH);case"wallet_addEthereumChain":return this._wallet_addEthereumChain(eH);case"wallet_switchEthereumChain":return this._wallet_switchEthereumChain(eH);case"wallet_watchAsset":return this._wallet_watchAsset(eH)}let eV=await this.initializeRelay();return eV.makeEthereumJSONRPCRequest(eb,this.jsonRpcUrl).catch(em=>{var eH;throw(em.code===eT.standardErrorCodes.rpc.methodNotFound||em.code===eT.standardErrorCodes.rpc.methodNotSupported)&&(null===(eH=this.diagnostic)||void 0===eH||eH.log(eD.EVENTS.METHOD_NOT_IMPLEMENTED,{method:eb.method,sessionIdHash:this._relay?eA.Session.hash(this._relay.session.id):void 0})),em})}_handleAsynchronousFilterMethods(eb){let{method:em}=eb,eH=eb.params||[];switch(em){case"eth_newFilter":return this._eth_newFilter(eH);case"eth_newBlockFilter":return this._eth_newBlockFilter();case"eth_newPendingTransactionFilter":return this._eth_newPendingTransactionFilter();case"eth_getFilterChanges":return this._eth_getFilterChanges(eH);case"eth_getFilterLogs":return this._eth_getFilterLogs(eH)}}_handleSubscriptionMethods(eb){switch(eb.method){case"eth_subscribe":case"eth_unsubscribe":return this._subscriptionManager.handleRequest(eb)}}_isKnownAddress(eb){try{let em=(0,e_.ensureAddressString)(eb),eH=this._addresses.map(eb=>(0,e_.ensureAddressString)(eb));return eH.includes(em)}catch(eb){}return!1}_ensureKnownAddress(eb){var em;if(!this._isKnownAddress(eb))throw null===(em=this.diagnostic)||void 0===em||em.log(eD.EVENTS.UNKNOWN_ADDRESS_ENCOUNTERED),Error("Unknown Ethereum address")}_prepareTransactionParams(eb){let em=eb.from?(0,e_.ensureAddressString)(eb.from):this.selectedAddress;if(!em)throw Error("Ethereum address is unavailable");this._ensureKnownAddress(em);let eH=eb.to?(0,e_.ensureAddressString)(eb.to):null,ew=null!=eb.value?(0,e_.ensureBN)(eb.value):new eM.default(0),eC=eb.data?(0,e_.ensureBuffer)(eb.data):eV.alloc(0),eT=null!=eb.nonce?(0,e_.ensureIntNumber)(eb.nonce):null,eS=null!=eb.gasPrice?(0,e_.ensureBN)(eb.gasPrice):null,eE=null!=eb.maxFeePerGas?(0,e_.ensureBN)(eb.maxFeePerGas):null,eA=null!=eb.maxPriorityFeePerGas?(0,e_.ensureBN)(eb.maxPriorityFeePerGas):null,eN=null!=eb.gas?(0,e_.ensureBN)(eb.gas):null,eI=eb.chainId?(0,e_.ensureIntNumber)(eb.chainId):this.getChainId();return{fromAddress:em,toAddress:eH,weiValue:ew,data:eC,nonce:eT,gasPriceInWei:eS,maxFeePerGas:eE,maxPriorityFeePerGas:eA,gasLimit:eN,chainId:eI}}_isAuthorized(){return this._addresses.length>0}_requireAuthorization(){if(!this._isAuthorized())throw eT.standardErrors.provider.unauthorized({})}_throwUnsupportedMethodError(){throw eT.standardErrors.provider.unsupportedMethod({})}async _signEthereumMessage(eb,em,eH,eV){this._ensureKnownAddress(em);try{let ew=await this.initializeRelay(),eM=await ew.signEthereumMessage(eb,em,eH,eV).promise;if((0,eN.isErrorResponse)(eM))throw Error(eM.errorMessage);return{jsonrpc:"2.0",id:0,result:eM.result}}catch(eb){if("string"==typeof eb.message&&eb.message.match(/(denied|rejected)/i))throw eT.standardErrors.provider.userRejectedRequest("User denied message signature");throw eb}}async _ethereumAddressFromSignedMessage(eb,em,eH){let eV=await this.initializeRelay(),ew=await eV.ethereumAddressFromSignedMessage(eb,em,eH).promise;if((0,eN.isErrorResponse)(ew))throw Error(ew.errorMessage);return{jsonrpc:"2.0",id:0,result:ew.result}}_eth_accounts(){return[...this._addresses]}_eth_coinbase(){return this.selectedAddress||null}_net_version(){return this.getChainId().toString(10)}_eth_chainId(){return(0,e_.hexStringFromIntNumber)(this.getChainId())}getChainId(){let eb=this._storage.getItem(eR);if(!eb)return(0,e_.ensureIntNumber)(this._chainIdFromOpts);let em=parseInt(eb,10);return(0,e_.ensureIntNumber)(em)}async _eth_requestAccounts(){var eb;let em;if(null===(eb=this.diagnostic)||void 0===eb||eb.log(eD.EVENTS.ETH_ACCOUNTS_STATE,{method:"provider::_eth_requestAccounts",addresses_length:this._addresses.length,sessionIdHash:this._relay?eA.Session.hash(this._relay.session.id):void 0}),this._isAuthorized())return Promise.resolve({jsonrpc:"2.0",id:0,result:this._addresses});try{let eb=await this.initializeRelay();if(em=await eb.requestEthereumAccounts().promise,(0,eN.isErrorResponse)(em))throw Error(em.errorMessage)}catch(eb){if("string"==typeof eb.message&&eb.message.match(/(denied|rejected)/i))throw eT.standardErrors.provider.userRejectedRequest("User denied account authorization");throw eb}if(!em.result)throw Error("accounts received is empty");return this._setAddresses(em.result),this.isCoinbaseBrowser||await this.switchEthereumChain(this.getChainId()),{jsonrpc:"2.0",id:0,result:this._addresses}}_eth_sign(eb){this._requireAuthorization();let em=(0,e_.ensureAddressString)(eb[0]),eH=(0,e_.ensureBuffer)(eb[1]);return this._signEthereumMessage(eH,em,!1)}_eth_ecRecover(eb){let em=(0,e_.ensureBuffer)(eb[0]),eH=(0,e_.ensureBuffer)(eb[1]);return this._ethereumAddressFromSignedMessage(em,eH,!1)}_personal_sign(eb){this._requireAuthorization();let em=(0,e_.ensureBuffer)(eb[0]),eH=(0,e_.ensureAddressString)(eb[1]);return this._signEthereumMessage(em,eH,!0)}_personal_ecRecover(eb){let em=(0,e_.ensureBuffer)(eb[0]),eH=(0,e_.ensureBuffer)(eb[1]);return this._ethereumAddressFromSignedMessage(em,eH,!0)}async _eth_signTransaction(eb){this._requireAuthorization();let em=this._prepareTransactionParams(eb[0]||{});try{let eb=await this.initializeRelay(),eH=await eb.signEthereumTransaction(em).promise;if((0,eN.isErrorResponse)(eH))throw Error(eH.errorMessage);return{jsonrpc:"2.0",id:0,result:eH.result}}catch(eb){if("string"==typeof eb.message&&eb.message.match(/(denied|rejected)/i))throw eT.standardErrors.provider.userRejectedRequest("User denied transaction signature");throw eb}}async _eth_sendRawTransaction(eb){let em=(0,e_.ensureBuffer)(eb[0]),eH=await this.initializeRelay(),eV=await eH.submitEthereumTransaction(em,this.getChainId()).promise;if((0,eN.isErrorResponse)(eV))throw Error(eV.errorMessage);return{jsonrpc:"2.0",id:0,result:eV.result}}async _eth_sendTransaction(eb){this._requireAuthorization();let em=this._prepareTransactionParams(eb[0]||{});try{let eb=await this.initializeRelay(),eH=await eb.signAndSubmitEthereumTransaction(em).promise;if((0,eN.isErrorResponse)(eH))throw Error(eH.errorMessage);return{jsonrpc:"2.0",id:0,result:eH.result}}catch(eb){if("string"==typeof eb.message&&eb.message.match(/(denied|rejected)/i))throw eT.standardErrors.provider.userRejectedRequest("User denied transaction signature");throw eb}}async _eth_signTypedData_v1(eb){this._requireAuthorization();let em=(0,e_.ensureParsedJSONObject)(eb[0]),eH=(0,e_.ensureAddressString)(eb[1]);this._ensureKnownAddress(eH);let eV=eI.default.hashForSignTypedDataLegacy({data:em}),ew=JSON.stringify(em,null,2);return this._signEthereumMessage(eV,eH,!1,ew)}async _eth_signTypedData_v3(eb){this._requireAuthorization();let em=(0,e_.ensureAddressString)(eb[0]),eH=(0,e_.ensureParsedJSONObject)(eb[1]);this._ensureKnownAddress(em);let eV=eI.default.hashForSignTypedData_v3({data:eH}),ew=JSON.stringify(eH,null,2);return this._signEthereumMessage(eV,em,!1,ew)}async _eth_signTypedData_v4(eb){this._requireAuthorization();let em=(0,e_.ensureAddressString)(eb[0]),eH=(0,e_.ensureParsedJSONObject)(eb[1]);this._ensureKnownAddress(em);let eV=eI.default.hashForSignTypedData_v4({data:eH}),ew=JSON.stringify(eH,null,2);return this._signEthereumMessage(eV,em,!1,ew)}async _cbwallet_arbitrary(eb){let em=eb[0],eH=eb[1];if("string"!=typeof eH)throw Error("parameter must be a string");if("object"!=typeof em||null===em)throw Error("parameter must be an object");let eV=await this.genericRequest(em,eH);return{jsonrpc:"2.0",id:0,result:eV}}async _wallet_addEthereumChain(eb){var em,eH,eV,ew;let eM=eb[0];if((null===(em=eM.rpcUrls)||void 0===em?void 0:em.length)===0)return{jsonrpc:"2.0",id:0,error:{code:2,message:"please pass in at least 1 rpcUrl"}};if(!eM.chainName||""===eM.chainName.trim())throw eT.standardErrors.rpc.invalidParams("chainName is a required field");if(!eM.nativeCurrency)throw eT.standardErrors.rpc.invalidParams("nativeCurrency is a required field");let eC=parseInt(eM.chainId,16),e_=await this.addEthereumChain(eC,null!==(eH=eM.rpcUrls)&&void 0!==eH?eH:[],null!==(eV=eM.blockExplorerUrls)&&void 0!==eV?eV:[],eM.chainName,null!==(ew=eM.iconUrls)&&void 0!==ew?ew:[],eM.nativeCurrency);return e_?{jsonrpc:"2.0",id:0,result:null}:{jsonrpc:"2.0",id:0,error:{code:2,message:"unable to add ethereum chain"}}}async _wallet_switchEthereumChain(eb){let em=eb[0];return await this.switchEthereumChain(parseInt(em.chainId,16)),{jsonrpc:"2.0",id:0,result:null}}async _wallet_watchAsset(eb){let em=Array.isArray(eb)?eb[0]:eb;if(!em.type)throw eT.standardErrors.rpc.invalidParams("Type is required");if((null==em?void 0:em.type)!=="ERC20")throw eT.standardErrors.rpc.invalidParams(`Asset of type '${em.type}' is not supported`);if(!(null==em?void 0:em.options))throw eT.standardErrors.rpc.invalidParams("Options are required");if(!(null==em?void 0:em.options.address))throw eT.standardErrors.rpc.invalidParams("Address is required");let eH=this.getChainId(),{address:eV,symbol:ew,image:eM,decimals:eC}=em.options,e_=await this.watchAsset(em.type,eV,ew,eC,eM,eH);return{jsonrpc:"2.0",id:0,result:e_}}_eth_uninstallFilter(eb){let em=(0,e_.ensureHexString)(eb[0]);return this._filterPolyfill.uninstallFilter(em)}async _eth_newFilter(eb){let em=eb[0],eH=await this._filterPolyfill.newFilter(em);return{jsonrpc:"2.0",id:0,result:eH}}async _eth_newBlockFilter(){let eb=await this._filterPolyfill.newBlockFilter();return{jsonrpc:"2.0",id:0,result:eb}}async _eth_newPendingTransactionFilter(){let eb=await this._filterPolyfill.newPendingTransactionFilter();return{jsonrpc:"2.0",id:0,result:eb}}_eth_getFilterChanges(eb){let em=(0,e_.ensureHexString)(eb[0]);return this._filterPolyfill.getFilterChanges(em)}_eth_getFilterLogs(eb){let em=(0,e_.ensureHexString)(eb[0]);return this._filterPolyfill.getFilterLogs(em)}initializeRelay(){return this._relay?Promise.resolve(this._relay):this._relayProvider().then(eb=>(eb.setAccountsCallback((eb,em)=>this._setAddresses(eb,em)),eb.setChainCallback((eb,em)=>{this.updateProviderInfo(em,parseInt(eb,10))}),eb.setDappDefaultChainCallback(this._chainIdFromOpts),this._relay=eb,eb))}}em.CoinbaseWalletProvider=eF},38431:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.EVENTS=void 0,em.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"}},33648:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.filterFromParam=em.FilterPolyfill=void 0;let eV=eH(34083),ew=eH(32072),eM=3e5,eC={jsonrpc:"2.0",id:0};class eT{constructor(eb){this.logFilters=new Map,this.blockFilters=new Set,this.pendingTransactionFilters=new Set,this.cursors=new Map,this.timeouts=new Map,this.nextFilterId=(0,eV.IntNumber)(1),this.REQUEST_THROTTLE_INTERVAL=1e3,this.lastFetchTimestamp=new Date(0),this.resolvers=[],this.provider=eb}async newFilter(eb){let em=e_(eb),eH=this.makeFilterId(),eV=await this.setInitialCursorPosition(eH,em.fromBlock);return console.info(`Installing new log filter(${eH}):`,em,"initial cursor position:",eV),this.logFilters.set(eH,em),this.setFilterTimeout(eH),(0,ew.hexStringFromIntNumber)(eH)}async newBlockFilter(){let eb=this.makeFilterId(),em=await this.setInitialCursorPosition(eb,"latest");return console.info(`Installing new block filter (${eb}) with initial cursor position:`,em),this.blockFilters.add(eb),this.setFilterTimeout(eb),(0,ew.hexStringFromIntNumber)(eb)}async newPendingTransactionFilter(){let eb=this.makeFilterId(),em=await this.setInitialCursorPosition(eb,"latest");return console.info(`Installing new block filter (${eb}) with initial cursor position:`,em),this.pendingTransactionFilters.add(eb),this.setFilterTimeout(eb),(0,ew.hexStringFromIntNumber)(eb)}uninstallFilter(eb){let em=(0,ew.intNumberFromHexString)(eb);return console.info(`Uninstalling filter (${em})`),this.deleteFilter(em),!0}getFilterChanges(eb){let em=(0,ew.intNumberFromHexString)(eb);return(this.timeouts.has(em)&&this.setFilterTimeout(em),this.logFilters.has(em))?this.getLogFilterChanges(em):this.blockFilters.has(em)?this.getBlockFilterChanges(em):this.pendingTransactionFilters.has(em)?this.getPendingTransactionFilterChanges(em):Promise.resolve(eN())}async getFilterLogs(eb){let em=(0,ew.intNumberFromHexString)(eb),eH=this.logFilters.get(em);return eH?this.sendAsyncPromise(Object.assign(Object.assign({},eC),{method:"eth_getLogs",params:[eS(eH)]})):eN()}makeFilterId(){return(0,eV.IntNumber)(++this.nextFilterId)}sendAsyncPromise(eb){return new Promise((em,eH)=>{this.provider.sendAsync(eb,(eb,eV)=>eb?eH(eb):Array.isArray(eV)||null==eV?eH(Error(`unexpected response received: ${JSON.stringify(eV)}`)):void em(eV))})}deleteFilter(eb){console.info(`Deleting filter (${eb})`),this.logFilters.delete(eb),this.blockFilters.delete(eb),this.pendingTransactionFilters.delete(eb),this.cursors.delete(eb),this.timeouts.delete(eb)}async getLogFilterChanges(eb){let em=this.logFilters.get(eb),eH=this.cursors.get(eb);if(!eH||!em)return eN();let eM=await this.getCurrentBlockHeight(),eT="latest"===em.toBlock?eM:em.toBlock;if(eH>eM||eH>Number(em.toBlock))return eI();console.info(`Fetching logs from ${eH} to ${eT} for filter ${eb}`);let e_=await this.sendAsyncPromise(Object.assign(Object.assign({},eC),{method:"eth_getLogs",params:[eS(Object.assign(Object.assign({},em),{fromBlock:eH,toBlock:eT}))]}));if(Array.isArray(e_.result)){let em=e_.result.map(eb=>(0,ew.intNumberFromHexString)(eb.blockNumber||"0x0")),eM=Math.max(...em);if(eM&&eM>eH){let em=(0,eV.IntNumber)(eM+1);console.info(`Moving cursor position for filter (${eb}) from ${eH} to ${em}`),this.cursors.set(eb,em)}}return e_}async getBlockFilterChanges(eb){let em=this.cursors.get(eb);if(!em)return eN();let eH=await this.getCurrentBlockHeight();if(em>eH)return eI();console.info(`Fetching blocks from ${em} to ${eH} for filter (${eb})`);let eM=(await Promise.all((0,ew.range)(em,eH+1).map(eb=>this.getBlockHashByNumber((0,eV.IntNumber)(eb))))).filter(eb=>!!eb),eT=(0,eV.IntNumber)(em+eM.length);return console.info(`Moving cursor position for filter (${eb}) from ${em} to ${eT}`),this.cursors.set(eb,eT),Object.assign(Object.assign({},eC),{result:eM})}async getPendingTransactionFilterChanges(eb){return Promise.resolve(eI())}async setInitialCursorPosition(eb,em){let eH=await this.getCurrentBlockHeight(),eV="number"==typeof em&&em>eH?em:eH;return this.cursors.set(eb,eV),eV}setFilterTimeout(eb){let em=this.timeouts.get(eb);em&&window.clearTimeout(em);let eH=window.setTimeout(()=>{console.info(`Filter (${eb}) timed out`),this.deleteFilter(eb)},eM);this.timeouts.set(eb,eH)}async getCurrentBlockHeight(){let eb=new Date;if(eb.getTime()-this.lastFetchTimestamp.getTime()>this.REQUEST_THROTTLE_INTERVAL){this.lastFetchTimestamp=eb;let em=await this._getCurrentBlockHeight();this.currentBlockHeight=em,this.resolvers.forEach(eb=>eb(em)),this.resolvers=[]}return this.currentBlockHeight?this.currentBlockHeight:new Promise(eb=>this.resolvers.push(eb))}async _getCurrentBlockHeight(){let{result:eb}=await this.sendAsyncPromise(Object.assign(Object.assign({},eC),{method:"eth_blockNumber",params:[]}));return(0,ew.intNumberFromHexString)((0,ew.ensureHexString)(eb))}async getBlockHashByNumber(eb){let em=await this.sendAsyncPromise(Object.assign(Object.assign({},eC),{method:"eth_getBlockByNumber",params:[(0,ew.hexStringFromIntNumber)(eb),!1]}));return em.result&&"string"==typeof em.result.hash?(0,ew.ensureHexString)(em.result.hash):null}}function e_(eb){return{fromBlock:eE(eb.fromBlock),toBlock:eE(eb.toBlock),addresses:void 0===eb.address?null:Array.isArray(eb.address)?eb.address:[eb.address],topics:eb.topics||[]}}function eS(eb){let em={fromBlock:eA(eb.fromBlock),toBlock:eA(eb.toBlock),topics:eb.topics};return null!==eb.addresses&&(em.address=eb.addresses),em}function eE(eb){if(void 0===eb||"latest"===eb||"pending"===eb)return"latest";if("earliest"===eb)return(0,eV.IntNumber)(0);if((0,ew.isHexString)(eb))return(0,ew.intNumberFromHexString)(eb);throw Error(`Invalid block option: ${String(eb)}`)}function eA(eb){return"latest"===eb?eb:(0,ew.hexStringFromIntNumber)(eb)}function eN(){return Object.assign(Object.assign({},eC),{error:{code:-32e3,message:"filter not found"}})}function eI(){return Object.assign(Object.assign({},eC),{result:[]})}em.FilterPolyfill=eT,em.filterFromParam=e_},5313:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.SubscriptionManager=void 0;let eV=eH(6842),ew=eH(68961),eM=()=>{};class eC{constructor(eb){let em=new eV.PollingBlockTracker({provider:eb,pollingInterval:15e3,setSkipCacheFlag:!0}),{events:eH,middleware:eM}=ew({blockTracker:em,provider:eb});this.events=eH,this.subscriptionMiddleware=eM}async handleRequest(eb){let em={};return await this.subscriptionMiddleware(eb,em,eM,eM),em}destroy(){this.subscriptionMiddleware.destroy()}}em.SubscriptionManager=eC},92036:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.RelayAbstract=em.APP_VERSION_KEY=em.LOCAL_STORAGE_ADDRESSES_KEY=em.WALLET_USER_NAME_KEY=void 0;let eV=eH(37185);em.WALLET_USER_NAME_KEY="walletUsername",em.LOCAL_STORAGE_ADDRESSES_KEY="Addresses",em.APP_VERSION_KEY="AppVersion";class ew{async makeEthereumJSONRPCRequest(eb,em){if(!em)throw Error("Error: No jsonRpcUrl provided");return window.fetch(em,{method:"POST",body:JSON.stringify(eb),mode:"cors",headers:{"Content-Type":"application/json"}}).then(eb=>eb.json()).then(em=>{if(!em)throw eV.standardErrors.rpc.parse({});let eH=em,{error:ew}=eH;if(ew)throw(0,eV.serializeError)(ew,eb.method);return eH})}}em.RelayAbstract=ew},81107:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.RelayEventManager=void 0;let eV=eH(32072);class ew{constructor(){this._nextRequestId=0,this.callbacks=new Map}makeRequestId(){this._nextRequestId=(this._nextRequestId+1)%2147483647;let eb=this._nextRequestId,em=(0,eV.prepend0x)(eb.toString(16)),eH=this.callbacks.get(em);return eH&&this.callbacks.delete(em),eb}}em.RelayEventManager=ew},73526:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.Session=void 0;let eV=eH(89072),ew=eH(32072),eM="session:id",eC="session:secret",eT="session:linked";class e_{constructor(eb,em,eH,eM){this._storage=eb,this._id=em||(0,ew.randomBytesHex)(16),this._secret=eH||(0,ew.randomBytesHex)(32),this._key=new eV.sha256().update(`${this._id}, ${this._secret} WalletLink`).digest("hex"),this._linked=!!eM}static load(eb){let em=eb.getItem(eM),eH=eb.getItem(eT),eV=eb.getItem(eC);return em&&eV?new e_(eb,em,eV,"1"===eH):null}static hash(eb){return new eV.sha256().update(eb).digest("hex")}get id(){return this._id}get secret(){return this._secret}get key(){return this._key}get linked(){return this._linked}set linked(eb){this._linked=eb,this.persistLinked()}save(){return this._storage.setItem(eM,this._id),this._storage.setItem(eC,this._secret),this.persistLinked(),this}persistLinked(){this._storage.setItem(eT,this._linked?"1":"0")}}em.Session=e_},26840:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.MobileRelay=void 0;let eV=eH(32072),ew=eH(23129),eM=eH(18411);class eC extends ew.WalletLinkRelay{constructor(eb){var em;super(eb),this._enableMobileWalletLink=null!==(em=eb.enableMobileWalletLink)&&void 0!==em&&em}requestEthereumAccounts(){return this._enableMobileWalletLink?super.requestEthereumAccounts():{promise:new Promise(()=>{let eb=(0,eV.getLocation)();eb.href=`https://go.cb-w.com/dapp?cb_url=${encodeURIComponent(eb.href)}`}),cancel:()=>{}}}publishWeb3RequestEvent(eb,em){if(super.publishWeb3RequestEvent(eb,em),!(this._enableMobileWalletLink&&this.ui instanceof eM.MobileRelayUI))return;let eH=!1;switch(em.method){case"requestEthereumAccounts":case"connectAndSignIn":eH=!0,this.ui.openCoinbaseWalletDeeplink(this.getQRCodeUrl());break;case"switchEthereumChain":return;default:eH=!0,this.ui.openCoinbaseWalletDeeplink()}eH&&window.addEventListener("blur",()=>{window.addEventListener("focus",()=>{this.connection.checkUnseenEvents()},{once:!0})},{once:!0})}handleWeb3ResponseMessage(eb){super.handleWeb3ResponseMessage(eb),this._enableMobileWalletLink&&this.ui instanceof eM.MobileRelayUI&&this.ui.closeOpenedWindow()}connectAndSignIn(eb){if(!this._enableMobileWalletLink)throw 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:eb.nonce,iat:new Date().toISOString(),chainId:`eip155:${this.dappDefaultChain}`,statement:eb.statement,resources:eb.resources}})}}em.MobileRelay=eC},18411:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.MobileRelayUI=void 0;let eV=eH(8592);class ew{constructor(eb){this.attached=!1,this.darkMode=!1,this.openedWindow=null,this.redirectDialog=new eV.RedirectDialog,this.darkMode=eb.darkMode}attach(){if(this.attached)throw Error("Coinbase Wallet SDK UI is already attached");this.redirectDialog.attach(),this.attached=!0}setConnected(eb){}closeOpenedWindow(){var eb;null===(eb=this.openedWindow)||void 0===eb||eb.close(),this.openedWindow=null}redirectToCoinbaseWallet(eb){let em=new URL("https://go.cb-w.com/walletlink");em.searchParams.append("redirect_url",window.location.href),eb&&em.searchParams.append("wl_url",eb),this.openedWindow=window.open(em.href,"cbw-opener"),this.openedWindow&&setTimeout(()=>this.closeOpenedWindow(),5e3)}openCoinbaseWalletDeeplink(eb){this.redirectDialog.present({title:"Redirecting to Coinbase Wallet...",buttonText:"Open",darkMode:this.darkMode,onButtonClick:()=>{this.redirectToCoinbaseWallet(eb)}}),setTimeout(()=>{this.redirectToCoinbaseWallet(eb)},99)}showConnecting(eb){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}}em.MobileRelayUI=ew},23129:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.WalletLinkRelay=void 0;let eV=eH(37185),ew=eH(34083),eM=eH(32072),eC=eH(38431),eT=eH(92036),e_=eH(73526),eS=eH(33689),eE=eH(7588),eA=eH(20462);class eN extends eT.RelayAbstract{constructor(eb){var em;super(),this.accountsCallback=null,this.chainCallbackParams={chainId:"",jsonRpcUrl:""},this.chainCallback=null,this.dappDefaultChain=1,this.appName="",this.appLogoUrl=null,this.linkedUpdated=eb=>{var em;this.isLinked=eb;let eH=this.storage.getItem(eT.LOCAL_STORAGE_ADDRESSES_KEY);if(eb&&(this.session.linked=eb),this.isUnlinkedErrorState=!1,eH){let eV=eH.split(" "),ew="true"===this.storage.getItem("IsStandaloneSigning");if(""!==eV[0]&&!eb&&this.session.linked&&!ew){this.isUnlinkedErrorState=!0;let eb=this.getSessionIdHash();null===(em=this.diagnostic)||void 0===em||em.log(eC.EVENTS.UNLINKED_ERROR_STATE,{sessionIdHash:eb})}}},this.metadataUpdated=(eb,em)=>{this.storage.setItem(eb,em)},this.chainUpdated=(eb,em)=>{(this.chainCallbackParams.chainId!==eb||this.chainCallbackParams.jsonRpcUrl!==em)&&(this.chainCallbackParams={chainId:eb,jsonRpcUrl:em},this.chainCallback&&this.chainCallback(eb,em))},this.accountUpdated=eb=>{this.accountsCallback&&this.accountsCallback([eb]),eN.accountRequestCallbackIds.size>0&&(Array.from(eN.accountRequestCallbackIds.values()).forEach(em=>{let eH={type:"WEB3_RESPONSE",id:em,response:{method:"requestEthereumAccounts",result:[eb]}};this.invokeCallback(Object.assign(Object.assign({},eH),{id:em}))}),eN.accountRequestCallbackIds.clear())},this.connectedUpdated=eb=>{this.ui.setConnected(eb)},this.resetAndReload=this.resetAndReload.bind(this),this.linkAPIUrl=eb.linkAPIUrl,this.storage=eb.storage,this.options=eb;let{session:eH,ui:eV,connection:ew}=this.subscribe();this._session=eH,this.connection=ew,this.relayEventManager=eb.relayEventManager,this.diagnostic=eb.diagnosticLogger,this._reloadOnDisconnect=null===(em=eb.reloadOnDisconnect)||void 0===em||em,this.ui=eV}subscribe(){let eb=e_.Session.load(this.storage)||new e_.Session(this.storage).save(),{linkAPIUrl:em,diagnostic:eH}=this,eV=new eS.WalletLinkConnection({session:eb,linkAPIUrl:em,diagnostic:eH,listener:this}),{version:ew,darkMode:eM}=this.options,eC=this.options.uiConstructor({linkAPIUrl:em,version:ew,darkMode:eM,session:eb});return eV.connect(),{session:eb,ui:eC,connection:eV}}attachUI(){this.ui.attach()}resetAndReload(){Promise.race([this.connection.setSessionMetadata("__destroyed","1"),new Promise(eb=>setTimeout(()=>eb(null),1e3))]).then(()=>{var eb,em;let eH=this.ui.isStandalone();null===(eb=this.diagnostic)||void 0===eb||eb.log(eC.EVENTS.SESSION_STATE_CHANGE,{method:"relay::resetAndReload",sessionMetadataChange:"__destroyed, 1",sessionIdHash:this.getSessionIdHash()}),this.connection.destroy();let eV=e_.Session.load(this.storage);if((null==eV?void 0:eV.id)===this._session.id?this.storage.clear():eV&&(null===(em=this.diagnostic)||void 0===em||em.log(eC.EVENTS.SKIPPED_CLEARING_SESSION,{sessionIdHash:this.getSessionIdHash(),storedSessionIdHash:e_.Session.hash(eV.id)})),this._reloadOnDisconnect){this.ui.reloadUI();return}this.accountsCallback&&this.accountsCallback([],!0);let{session:ew,ui:eM,connection:eT}=this.subscribe();this._session=ew,this.connection=eT,this.ui=eM,eH&&this.ui.setStandalone&&this.ui.setStandalone(!0),this.attachUI()}).catch(eb=>{var em;null===(em=this.diagnostic)||void 0===em||em.log(eC.EVENTS.FAILURE,{method:"relay::resetAndReload",message:`failed to reset and reload with ${eb}`,sessionIdHash:this.getSessionIdHash()})})}setAppInfo(eb,em){this.appName=eb,this.appLogoUrl=em}getStorageItem(eb){return this.storage.getItem(eb)}get session(){return this._session}setStorageItem(eb,em){this.storage.setItem(eb,em)}signEthereumMessage(eb,em,eH,eV){return this.sendRequest({method:"signEthereumMessage",params:{message:(0,eM.hexStringFromBuffer)(eb,!0),address:em,addPrefix:eH,typedDataJson:eV||null}})}ethereumAddressFromSignedMessage(eb,em,eH){return this.sendRequest({method:"ethereumAddressFromSignedMessage",params:{message:(0,eM.hexStringFromBuffer)(eb,!0),signature:(0,eM.hexStringFromBuffer)(em,!0),addPrefix:eH}})}signEthereumTransaction(eb){return this.sendRequest({method:"signEthereumTransaction",params:{fromAddress:eb.fromAddress,toAddress:eb.toAddress,weiValue:(0,eM.bigIntStringFromBN)(eb.weiValue),data:(0,eM.hexStringFromBuffer)(eb.data,!0),nonce:eb.nonce,gasPriceInWei:eb.gasPriceInWei?(0,eM.bigIntStringFromBN)(eb.gasPriceInWei):null,maxFeePerGas:eb.gasPriceInWei?(0,eM.bigIntStringFromBN)(eb.gasPriceInWei):null,maxPriorityFeePerGas:eb.gasPriceInWei?(0,eM.bigIntStringFromBN)(eb.gasPriceInWei):null,gasLimit:eb.gasLimit?(0,eM.bigIntStringFromBN)(eb.gasLimit):null,chainId:eb.chainId,shouldSubmit:!1}})}signAndSubmitEthereumTransaction(eb){return this.sendRequest({method:"signEthereumTransaction",params:{fromAddress:eb.fromAddress,toAddress:eb.toAddress,weiValue:(0,eM.bigIntStringFromBN)(eb.weiValue),data:(0,eM.hexStringFromBuffer)(eb.data,!0),nonce:eb.nonce,gasPriceInWei:eb.gasPriceInWei?(0,eM.bigIntStringFromBN)(eb.gasPriceInWei):null,maxFeePerGas:eb.maxFeePerGas?(0,eM.bigIntStringFromBN)(eb.maxFeePerGas):null,maxPriorityFeePerGas:eb.maxPriorityFeePerGas?(0,eM.bigIntStringFromBN)(eb.maxPriorityFeePerGas):null,gasLimit:eb.gasLimit?(0,eM.bigIntStringFromBN)(eb.gasLimit):null,chainId:eb.chainId,shouldSubmit:!0}})}submitEthereumTransaction(eb,em){return this.sendRequest({method:"submitEthereumTransaction",params:{signedTransaction:(0,eM.hexStringFromBuffer)(eb,!0),chainId:em}})}scanQRCode(eb){return this.sendRequest({method:"scanQRCode",params:{regExp:eb}})}getQRCodeUrl(){return(0,eM.createQrUrl)(this._session.id,this._session.secret,this.linkAPIUrl,!1,this.options.version,this.dappDefaultChain)}genericRequest(eb,em){return this.sendRequest({method:"generic",params:{action:em,data:eb}})}sendGenericMessage(eb){return this.sendRequest(eb)}sendRequest(eb){let em=null,eH=(0,eM.randomBytesHex)(8),eV=eV=>{this.publishWeb3RequestCanceledEvent(eH),this.handleErrorResponse(eH,eb.method,eV),null==em||em()},ew=new Promise((ew,eM)=>{this.ui.isStandalone()||(em=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:eV,onResetConnection:this.resetAndReload})),this.relayEventManager.callbacks.set(eH,eb=>{if(null==em||em(),(0,eE.isErrorResponse)(eb))return eM(Error(eb.errorMessage));ew(eb)}),this.ui.isStandalone()?this.sendRequestStandalone(eH,eb):this.publishWeb3RequestEvent(eH,eb)});return{promise:ew,cancel:eV}}setConnectDisabled(eb){this.ui.setConnectDisabled(eb)}setAccountsCallback(eb){this.accountsCallback=eb}setChainCallback(eb){this.chainCallback=eb}setDappDefaultChainCallback(eb){this.dappDefaultChain=eb,this.ui instanceof eA.WalletLinkRelayUI&&this.ui.setChainId(eb)}publishWeb3RequestEvent(eb,em){var eH;let eV={type:"WEB3_REQUEST",id:eb,request:em},ew=e_.Session.load(this.storage);null===(eH=this.diagnostic)||void 0===eH||eH.log(eC.EVENTS.WEB3_REQUEST,{eventId:eV.id,method:`relay::${em.method}`,sessionIdHash:this.getSessionIdHash(),storedSessionIdHash:ew?e_.Session.hash(ew.id):"",isSessionMismatched:((null==ew?void 0:ew.id)!==this._session.id).toString()}),this.publishEvent("Web3Request",eV,!0).then(eb=>{var eH;null===(eH=this.diagnostic)||void 0===eH||eH.log(eC.EVENTS.WEB3_REQUEST_PUBLISHED,{eventId:eV.id,method:`relay::${em.method}`,sessionIdHash:this.getSessionIdHash(),storedSessionIdHash:ew?e_.Session.hash(ew.id):"",isSessionMismatched:((null==ew?void 0:ew.id)!==this._session.id).toString()})}).catch(eb=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:eV.id,response:{method:em.method,errorMessage:eb.message}})})}publishWeb3RequestCanceledEvent(eb){let em={type:"WEB3_REQUEST_CANCELED",id:eb};this.publishEvent("Web3RequestCanceled",em,!1).then()}publishEvent(eb,em,eH){return this.connection.publishEvent(eb,em,eH)}handleWeb3ResponseMessage(eb){var em;let{response:eH}=eb;if(null===(em=this.diagnostic)||void 0===em||em.log(eC.EVENTS.WEB3_RESPONSE,{eventId:eb.id,method:`relay::${eH.method}`,sessionIdHash:this.getSessionIdHash()}),"requestEthereumAccounts"===eH.method){eN.accountRequestCallbackIds.forEach(em=>this.invokeCallback(Object.assign(Object.assign({},eb),{id:em}))),eN.accountRequestCallbackIds.clear();return}this.invokeCallback(eb)}handleErrorResponse(eb,em,eH,ew){var eM;let eC=null!==(eM=null==eH?void 0:eH.message)&&void 0!==eM?eM:(0,eV.getMessageFromCode)(ew);this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:eb,response:{method:em,errorMessage:eC,errorCode:ew}})}invokeCallback(eb){let em=this.relayEventManager.callbacks.get(eb.id);em&&(em(eb.response),this.relayEventManager.callbacks.delete(eb.id))}requestEthereumAccounts(){let eb={method:"requestEthereumAccounts",params:{appName:this.appName,appLogoUrl:this.appLogoUrl||null}},em=null,eH=(0,eM.randomBytesHex)(8),ew=eV=>{this.publishWeb3RequestCanceledEvent(eH),this.handleErrorResponse(eH,eb.method,eV),null==em||em()},eC=new Promise((eM,eC)=>{if(this.relayEventManager.callbacks.set(eH,eb=>{if(this.ui.hideRequestEthereumAccounts(),null==em||em(),(0,eE.isErrorResponse)(eb))return eC(Error(eb.errorMessage));eM(eb)}),this.ui.inlineAccountsResponse()){let eb=eb=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:eH,response:{method:"requestEthereumAccounts",result:eb}})};this.ui.requestEthereumAccounts({onCancel:ew,onAccounts:eb})}else{let eb=eV.standardErrors.provider.userRejectedRequest("User denied account authorization");this.ui.requestEthereumAccounts({onCancel:()=>ew(eb)})}eN.accountRequestCallbackIds.add(eH),this.ui.inlineAccountsResponse()||this.ui.isStandalone()||this.publishWeb3RequestEvent(eH,eb)});return{promise:eC,cancel:ew}}selectProvider(eb){let em={method:"selectProvider",params:{providerOptions:eb}},eH=(0,eM.randomBytesHex)(8),eV=eb=>{this.publishWeb3RequestCanceledEvent(eH),this.handleErrorResponse(eH,em.method,eb)},eC=new Promise((em,eV)=>{this.relayEventManager.callbacks.set(eH,eb=>{if((0,eE.isErrorResponse)(eb))return eV(Error(eb.errorMessage));em(eb)});let eM=eb=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:eH,response:{method:"selectProvider",result:ew.ProviderType.Unselected}})},eC=eb=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:eH,response:{method:"selectProvider",result:eb}})};this.ui.selectProvider&&this.ui.selectProvider({onApprove:eC,onCancel:eM,providerOptions:eb})});return{cancel:eV,promise:eC}}watchAsset(eb,em,eH,eV,ew,eC){let eT={method:"watchAsset",params:{type:eb,options:{address:em,symbol:eH,decimals:eV,image:ew},chainId:eC}},e_=null,eS=(0,eM.randomBytesHex)(8),eA=eb=>{this.publishWeb3RequestCanceledEvent(eS),this.handleErrorResponse(eS,eT.method,eb),null==e_||e_()};this.ui.inlineWatchAsset()||(e_=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:eA,onResetConnection:this.resetAndReload}));let eN=new Promise((eM,eA)=>{this.relayEventManager.callbacks.set(eS,eb=>{if(null==e_||e_(),(0,eE.isErrorResponse)(eb))return eA(Error(eb.errorMessage));eM(eb)});let eN=eb=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:eS,response:{method:"watchAsset",result:!1}})},eI=()=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:eS,response:{method:"watchAsset",result:!0}})};this.ui.inlineWatchAsset()&&this.ui.watchAsset({onApprove:eI,onCancel:eN,type:eb,address:em,symbol:eH,decimals:eV,image:ew,chainId:eC}),this.ui.inlineWatchAsset()||this.ui.isStandalone()||this.publishWeb3RequestEvent(eS,eT)});return{cancel:eA,promise:eN}}addEthereumChain(eb,em,eH,eV,ew,eC){let eT={method:"addEthereumChain",params:{chainId:eb,rpcUrls:em,blockExplorerUrls:eV,chainName:ew,iconUrls:eH,nativeCurrency:eC}},e_=null,eS=(0,eM.randomBytesHex)(8),eA=eb=>{this.publishWeb3RequestCanceledEvent(eS),this.handleErrorResponse(eS,eT.method,eb),null==e_||e_()};this.ui.inlineAddEthereumChain(eb)||(e_=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:eA,onResetConnection:this.resetAndReload}));let eN=new Promise((em,eH)=>{this.relayEventManager.callbacks.set(eS,eb=>{if(null==e_||e_(),(0,eE.isErrorResponse)(eb))return eH(Error(eb.errorMessage));em(eb)});let eV=eb=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:eS,response:{method:"addEthereumChain",result:{isApproved:!1,rpcUrl:""}}})},ew=eb=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:eS,response:{method:"addEthereumChain",result:{isApproved:!0,rpcUrl:eb}}})};this.ui.inlineAddEthereumChain(eb)&&this.ui.addEthereumChain({onCancel:eV,onApprove:ew,chainId:eT.params.chainId,rpcUrls:eT.params.rpcUrls,blockExplorerUrls:eT.params.blockExplorerUrls,chainName:eT.params.chainName,iconUrls:eT.params.iconUrls,nativeCurrency:eT.params.nativeCurrency}),this.ui.inlineAddEthereumChain(eb)||this.ui.isStandalone()||this.publishWeb3RequestEvent(eS,eT)});return{promise:eN,cancel:eA}}switchEthereumChain(eb,em){let eH={method:"switchEthereumChain",params:Object.assign({chainId:eb},{address:em})},ew=(0,eM.randomBytesHex)(8),eC=eb=>{this.publishWeb3RequestCanceledEvent(ew),this.handleErrorResponse(ew,eH.method,eb)},eT=new Promise((em,eM)=>{this.relayEventManager.callbacks.set(ew,eb=>(0,eE.isErrorResponse)(eb)&&eb.errorCode?eM(eV.standardErrors.provider.custom({code:eb.errorCode,message:"Unrecognized chain ID. Try adding the chain using addEthereumChain first."})):(0,eE.isErrorResponse)(eb)?eM(Error(eb.errorMessage)):void em(eb));let eC=em=>{var eH;if(em){let eM=null!==(eH=(0,eV.getErrorCode)(em))&&void 0!==eH?eH:eV.standardErrorCodes.provider.unsupportedChain;this.handleErrorResponse(ew,"switchEthereumChain",em instanceof Error?em:eV.standardErrors.provider.unsupportedChain(eb),eM)}else this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:ew,response:{method:"switchEthereumChain",result:{isApproved:!1,rpcUrl:""}}})},eT=eb=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:ew,response:{method:"switchEthereumChain",result:{isApproved:!0,rpcUrl:eb}}})};this.ui.switchEthereumChain({onCancel:eC,onApprove:eT,chainId:eH.params.chainId,address:eH.params.address}),this.ui.inlineSwitchEthereumChain()||this.ui.isStandalone()||this.publishWeb3RequestEvent(ew,eH)});return{promise:eT,cancel:eC}}inlineAddEthereumChain(eb){return this.ui.inlineAddEthereumChain(eb)}getSessionIdHash(){return e_.Session.hash(this._session.id)}sendRequestStandalone(eb,em){let eH=eH=>{this.handleErrorResponse(eb,em.method,eH)},eV=em=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:eb,response:em})};switch(em.method){case"signEthereumMessage":this.ui.signEthereumMessage({request:em,onSuccess:eV,onCancel:eH});break;case"signEthereumTransaction":this.ui.signEthereumTransaction({request:em,onSuccess:eV,onCancel:eH});break;case"submitEthereumTransaction":this.ui.submitEthereumTransaction({request:em,onSuccess:eV,onCancel:eH});break;case"ethereumAddressFromSignedMessage":this.ui.ethereumAddressFromSignedMessage({request:em,onSuccess:eV});break;default:eH()}}}em.WalletLinkRelay=eN,eN.accountRequestCallbackIds=new Set},33689:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.WalletLinkConnection=void 0;let eV=eH(34083),ew=eH(50769),eM=eH(38431),eC=eH(92036),eT=eH(73526),e_=eH(12389),eS=eH(57326),eE=1e4,eA=6e4;class eN{constructor({session:eb,linkAPIUrl:em,listener:eH,diagnostic:eA,WebSocketClass:eN=WebSocket}){this.destroyed=!1,this.lastHeartbeatResponse=0,this.nextReqId=(0,eV.IntNumber)(1),this._connected=!1,this._linked=!1,this.shouldFetchUnseenEventsOnConnect=!1,this.requestResolutions=new Map,this.handleSessionMetadataUpdated=eb=>{if(!eb)return;let em=new Map([["__destroyed",this.handleDestroyed],["EthereumAddress",this.handleAccountUpdated],["WalletUsername",this.handleWalletUsernameUpdated],["AppVersion",this.handleAppVersionUpdated],["ChainId",em=>eb.JsonRpcUrl&&this.handleChainUpdated(em,eb.JsonRpcUrl)]]);em.forEach((em,eH)=>{let eV=eb[eH];void 0!==eV&&em(eV)})},this.handleDestroyed=eb=>{var em,eH;"1"===eb&&(null===(em=this.listener)||void 0===em||em.resetAndReload(),null===(eH=this.diagnostic)||void 0===eH||eH.log(eM.EVENTS.METADATA_DESTROYED,{alreadyDestroyed:this.isDestroyed,sessionIdHash:eT.Session.hash(this.session.id)}))},this.handleAccountUpdated=async eb=>{var em,eH;try{let eH=await this.cipher.decrypt(eb);null===(em=this.listener)||void 0===em||em.accountUpdated(eH)}catch(eb){null===(eH=this.diagnostic)||void 0===eH||eH.log(eM.EVENTS.GENERAL_ERROR,{message:"Had error decrypting",value:"selectedAddress"})}},this.handleMetadataUpdated=async(eb,em)=>{var eH,eV;try{let eV=await this.cipher.decrypt(em);null===(eH=this.listener)||void 0===eH||eH.metadataUpdated(eb,eV)}catch(em){null===(eV=this.diagnostic)||void 0===eV||eV.log(eM.EVENTS.GENERAL_ERROR,{message:"Had error decrypting",value:eb})}},this.handleWalletUsernameUpdated=async eb=>{this.handleMetadataUpdated(eC.WALLET_USER_NAME_KEY,eb)},this.handleAppVersionUpdated=async eb=>{this.handleMetadataUpdated(eC.APP_VERSION_KEY,eb)},this.handleChainUpdated=async(eb,em)=>{var eH,eV;try{let eV=await this.cipher.decrypt(eb),ew=await this.cipher.decrypt(em);null===(eH=this.listener)||void 0===eH||eH.chainUpdated(eV,ew)}catch(eb){null===(eV=this.diagnostic)||void 0===eV||eV.log(eM.EVENTS.GENERAL_ERROR,{message:"Had error decrypting",value:"chainId|jsonRpcUrl"})}},this.session=eb,this.cipher=new ew.Cipher(eb.secret),this.diagnostic=eA,this.listener=eH;let eI=new eS.WalletLinkWebSocket(`${em}/rpc`,eN);eI.setConnectionStateListener(async em=>{var eH;null===(eH=this.diagnostic)||void 0===eH||eH.log(eM.EVENTS.CONNECTED_STATE_CHANGE,{state:em,sessionIdHash:eT.Session.hash(eb.id)});let eV=!1;switch(em){case eS.ConnectionState.DISCONNECTED:if(!this.destroyed){let eb=async()=>{await new Promise(eb=>setTimeout(eb,5e3)),this.destroyed||eI.connect().catch(()=>{eb()})};eb()}break;case eS.ConnectionState.CONNECTED:try{await this.authenticate(),this.sendIsLinked(),this.sendGetSessionConfig(),eV=!0}catch(eb){}this.updateLastHeartbeat(),setInterval(()=>{this.heartbeat()},eE),this.shouldFetchUnseenEventsOnConnect&&this.fetchUnseenEventsAPI();case eS.ConnectionState.CONNECTING:}this.connected!==eV&&(this.connected=eV)}),eI.setIncomingDataListener(em=>{var eH,eV,ew;switch(em.type){case"Heartbeat":this.updateLastHeartbeat();return;case"IsLinkedOK":case"Linked":{let eV="IsLinkedOK"===em.type?em.linked:void 0;null===(eH=this.diagnostic)||void 0===eH||eH.log(eM.EVENTS.LINKED,{sessionIdHash:eT.Session.hash(eb.id),linked:eV,type:em.type,onlineGuests:em.onlineGuests}),this.linked=eV||em.onlineGuests>0;break}case"GetSessionConfigOK":case"SessionConfigUpdated":null===(eV=this.diagnostic)||void 0===eV||eV.log(eM.EVENTS.SESSION_CONFIG_RECEIVED,{sessionIdHash:eT.Session.hash(eb.id),metadata_keys:em&&em.metadata?Object.keys(em.metadata):void 0}),this.handleSessionMetadataUpdated(em.metadata);break;case"Event":this.handleIncomingEvent(em)}void 0!==em.id&&(null===(ew=this.requestResolutions.get(em.id))||void 0===ew||ew(em))}),this.ws=eI,this.http=new e_.WalletLinkHTTP(em,eb.id,eb.key)}connect(){var eb;if(this.destroyed)throw Error("instance is destroyed");null===(eb=this.diagnostic)||void 0===eb||eb.log(eM.EVENTS.STARTED_CONNECTING,{sessionIdHash:eT.Session.hash(this.session.id)}),this.ws.connect()}destroy(){var eb;this.destroyed=!0,this.ws.disconnect(),null===(eb=this.diagnostic)||void 0===eb||eb.log(eM.EVENTS.DISCONNECTED,{sessionIdHash:eT.Session.hash(this.session.id)}),this.listener=void 0}get isDestroyed(){return this.destroyed}get connected(){return this._connected}set connected(eb){var em,eH;this._connected=eb,eb&&(null===(em=this.onceConnected)||void 0===em||em.call(this)),null===(eH=this.listener)||void 0===eH||eH.connectedUpdated(eb)}setOnceConnected(eb){return new Promise(em=>{this.connected?eb().then(em):this.onceConnected=()=>{eb().then(em),this.onceConnected=void 0}})}get linked(){return this._linked}set linked(eb){var em,eH;this._linked=eb,eb&&(null===(em=this.onceLinked)||void 0===em||em.call(this)),null===(eH=this.listener)||void 0===eH||eH.linkedUpdated(eb)}setOnceLinked(eb){return new Promise(em=>{this.linked?eb().then(em):this.onceLinked=()=>{eb().then(em),this.onceLinked=void 0}})}async handleIncomingEvent(eb){var em,eH;if("Event"===eb.type&&"Web3Response"===eb.event)try{let eH=await this.cipher.decrypt(eb.data),eV=JSON.parse(eH);if("WEB3_RESPONSE"!==eV.type)return;null===(em=this.listener)||void 0===em||em.handleWeb3ResponseMessage(eV)}catch(eb){null===(eH=this.diagnostic)||void 0===eH||eH.log(eM.EVENTS.GENERAL_ERROR,{message:"Had error decrypting",value:"incomingEvent"})}}async checkUnseenEvents(){if(!this.connected){this.shouldFetchUnseenEventsOnConnect=!0;return}await new Promise(eb=>setTimeout(eb,250));try{await this.fetchUnseenEventsAPI()}catch(eb){console.error("Unable to check for unseen events",eb)}}async fetchUnseenEventsAPI(){this.shouldFetchUnseenEventsOnConnect=!1;let eb=await this.http.fetchUnseenEvents();eb.forEach(eb=>this.handleIncomingEvent(eb))}async setSessionMetadata(eb,em){let eH={type:"SetSessionConfig",id:(0,eV.IntNumber)(this.nextReqId++),sessionId:this.session.id,metadata:{[eb]:em}};return this.setOnceConnected(async()=>{let eb=await this.makeRequest(eH);if("Fail"===eb.type)throw Error(eb.error||"failed to set session metadata")})}async publishEvent(eb,em,eH=!1){let ew=await this.cipher.encrypt(JSON.stringify(Object.assign(Object.assign({},em),{origin:location.origin,relaySource:window.coinbaseWalletExtension?"injected_sdk":"sdk"}))),eM={type:"PublishEvent",id:(0,eV.IntNumber)(this.nextReqId++),sessionId:this.session.id,event:eb,data:ew,callWebhook:eH};return this.setOnceLinked(async()=>{let eb=await this.makeRequest(eM);if("Fail"===eb.type)throw Error(eb.error||"failed to publish event");return eb.eventId})}sendData(eb){this.ws.sendData(JSON.stringify(eb))}updateLastHeartbeat(){this.lastHeartbeatResponse=Date.now()}heartbeat(){if(Date.now()-this.lastHeartbeatResponse>2*eE){this.ws.disconnect();return}try{this.ws.sendData("h")}catch(eb){}}async makeRequest(eb,em=eA){let eH;let eV=eb.id;return this.sendData(eb),Promise.race([new Promise((eb,ew)=>{eH=window.setTimeout(()=>{ew(Error(`request ${eV} timed out`))},em)}),new Promise(eb=>{this.requestResolutions.set(eV,em=>{clearTimeout(eH),eb(em),this.requestResolutions.delete(eV)})})])}async authenticate(){let eb={type:"HostSession",id:(0,eV.IntNumber)(this.nextReqId++),sessionId:this.session.id,sessionKey:this.session.key},em=await this.makeRequest(eb);if("Fail"===em.type)throw Error(em.error||"failed to authentcate")}sendIsLinked(){let eb={type:"IsLinked",id:(0,eV.IntNumber)(this.nextReqId++),sessionId:this.session.id};this.sendData(eb)}sendGetSessionConfig(){let eb={type:"GetSessionConfig",id:(0,eV.IntNumber)(this.nextReqId++),sessionId:this.session.id};this.sendData(eb)}}em.WalletLinkConnection=eN},12389:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.WalletLinkHTTP=void 0;class eH{constructor(eb,em,eH){this.linkAPIUrl=eb,this.sessionId=em;let eV=`${em}:${eH}`;this.auth=`Basic ${btoa(eV)}`}async markUnseenEventsAsSeen(eb){return Promise.all(eb.map(eb=>fetch(`${this.linkAPIUrl}/events/${eb.eventId}/seen`,{method:"POST",headers:{Authorization:this.auth}}))).catch(eb=>console.error("Unabled to mark event as failed:",eb))}async fetchUnseenEvents(){var eb;let em=await fetch(`${this.linkAPIUrl}/events?unseen=true`,{headers:{Authorization:this.auth}});if(em.ok){let{events:eH,error:eV}=await em.json();if(eV)throw Error(`Check unseen events failed: ${eV}`);let ew=null!==(eb=null==eH?void 0:eH.filter(eb=>"Web3Response"===eb.event).map(eb=>({type:"Event",sessionId:this.sessionId,eventId:eb.id,event:eb.event,data:eb.data})))&&void 0!==eb?eb:[];return this.markUnseenEventsAsSeen(ew),ew}throw Error(`Check unseen events failed: ${em.status}`)}}em.WalletLinkHTTP=eH},57326:function(eb,em){"use strict";var eH;Object.defineProperty(em,"__esModule",{value:!0}),em.WalletLinkWebSocket=em.ConnectionState=void 0,function(eb){eb[eb.DISCONNECTED=0]="DISCONNECTED",eb[eb.CONNECTING=1]="CONNECTING",eb[eb.CONNECTED=2]="CONNECTED"}(eH||(em.ConnectionState=eH={}));class eV{setConnectionStateListener(eb){this.connectionStateListener=eb}setIncomingDataListener(eb){this.incomingDataListener=eb}constructor(eb,em=WebSocket){this.WebSocketClass=em,this.webSocket=null,this.pendingData=[],this.url=eb.replace(/^http/,"ws")}async connect(){if(this.webSocket)throw Error("webSocket object is not null");return new Promise((eb,em)=>{var eV;let ew;try{this.webSocket=ew=new this.WebSocketClass(this.url)}catch(eb){em(eb);return}null===(eV=this.connectionStateListener)||void 0===eV||eV.call(this,eH.CONNECTING),ew.onclose=eb=>{var eV;this.clearWebSocket(),em(Error(`websocket error ${eb.code}: ${eb.reason}`)),null===(eV=this.connectionStateListener)||void 0===eV||eV.call(this,eH.DISCONNECTED)},ew.onopen=em=>{var eV;if(eb(),null===(eV=this.connectionStateListener)||void 0===eV||eV.call(this,eH.CONNECTED),this.pendingData.length>0){let eb=[...this.pendingData];eb.forEach(eb=>this.sendData(eb)),this.pendingData=[]}},ew.onmessage=eb=>{var em,eH;if("h"===eb.data)null===(em=this.incomingDataListener)||void 0===em||em.call(this,{type:"Heartbeat"});else try{let em=JSON.parse(eb.data);null===(eH=this.incomingDataListener)||void 0===eH||eH.call(this,em)}catch(eb){}}})}disconnect(){var eb;let{webSocket:em}=this;if(em){this.clearWebSocket(),null===(eb=this.connectionStateListener)||void 0===eb||eb.call(this,eH.DISCONNECTED),this.connectionStateListener=void 0,this.incomingDataListener=void 0;try{em.close()}catch(eb){}}}sendData(eb){let{webSocket:em}=this;if(!em){this.pendingData.push(eb),this.connect();return}em.send(eb)}clearWebSocket(){let{webSocket:eb}=this;eb&&(this.webSocket=null,eb.onclose=null,eb.onerror=null,eb.onmessage=null,eb.onopen=null)}}em.WalletLinkWebSocket=eV},7588:function(eb,em){"use strict";function eH(eb){return void 0!==eb.errorMessage}Object.defineProperty(em,"__esModule",{value:!0}),em.isErrorResponse=void 0,em.isErrorResponse=eH},20462:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.WalletLinkRelayUI=void 0;let eV=eH(27162),ew=eH(27834),eM=eH(52049);class eC{constructor(eb){this.standalone=null,this.attached=!1,this.snackbar=new eM.Snackbar({darkMode:eb.darkMode}),this.linkFlow=new ew.LinkFlow({darkMode:eb.darkMode,version:eb.version,sessionId:eb.session.id,sessionSecret:eb.session.secret,linkAPIUrl:eb.linkAPIUrl,isParentConnection:!1})}attach(){if(this.attached)throw Error("Coinbase Wallet SDK UI is already attached");let eb=document.documentElement,em=document.createElement("div");em.className="-cbwsdk-css-reset",eb.appendChild(em),this.linkFlow.attach(em),this.snackbar.attach(em),this.attached=!0,(0,eV.injectCssReset)()}setConnected(eb){this.linkFlow.setConnected(eb)}setChainId(eb){this.linkFlow.setChainId(eb)}setConnectDisabled(eb){this.linkFlow.setConnectDisabled(eb)}addEthereumChain(){}watchAsset(){}switchEthereumChain(){}requestEthereumAccounts(eb){this.linkFlow.open({onCancel:eb.onCancel})}hideRequestEthereumAccounts(){this.linkFlow.close()}signEthereumMessage(){}signEthereumTransaction(){}submitEthereumTransaction(){}ethereumAddressFromSignedMessage(){}showConnecting(eb){let em;return em=eb.isUnlinkedErrorState?{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:eb.onResetConnection}]}:{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:eb.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:eb.onResetConnection}]},this.snackbar.presentItem(em)}reloadUI(){document.location.reload()}inlineAccountsResponse(){return!1}inlineAddEthereumChain(){return!1}inlineWatchAsset(){return!1}inlineSwitchEthereumChain(){return!1}setStandalone(eb){this.standalone=eb}isStandalone(){var eb;return null!==(eb=this.standalone)&&void 0!==eb&&eb}}em.WalletLinkRelayUI=eC},55490:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.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}"},15898:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.CoinbaseWalletSteps=em.ConnectContent=void 0;let ew=eV(eH(86010)),eM=eH(6400),eC=eH(32072),eT=eH(43604),e_=eH(50408),eS=eH(70578),eE=eH(59309),eA=eH(81508),eN=eH(2620),eI=eV(eH(55490)),eD={title:"Coinbase Wallet app",description:"Connect with your self-custody wallet",steps:eB},eP=eb=>"light"===eb?"#FFFFFF":"#0A0B0D";function eO(eb){let{theme:em}=eb,eH=(0,eC.createQrUrl)(eb.sessionId,eb.sessionSecret,eb.linkAPIUrl,eb.isParentConnection,eb.version,eb.chainId),eV=eD.steps;return(0,eM.h)("div",{"data-testid":"connect-content",className:(0,ew.default)("-cbwsdk-connect-content",em)},(0,eM.h)("style",null,eI.default),(0,eM.h)("div",{className:"-cbwsdk-connect-content-header"},(0,eM.h)("h2",{className:(0,ew.default)("-cbwsdk-connect-content-heading",em)},"Scan to connect with our mobile app"),eb.onCancel&&(0,eM.h)("button",{type:"button",className:"-cbwsdk-cancel-button",onClick:eb.onCancel},(0,eM.h)(e_.CloseIcon,{fill:"light"===em?"#0A0B0D":"#FFFFFF"}))),(0,eM.h)("div",{className:"-cbwsdk-connect-content-layout"},(0,eM.h)("div",{className:"-cbwsdk-connect-content-column-left"},(0,eM.h)(eR,{title:eD.title,description:eD.description,theme:em})),(0,eM.h)("div",{className:"-cbwsdk-connect-content-column-right"},(0,eM.h)("div",{className:"-cbwsdk-connect-content-qr-wrapper"},(0,eM.h)(eA.QRCode,{content:eH,width:200,height:200,fgColor:"#000",bgColor:"transparent"}),(0,eM.h)("input",{type:"hidden",name:"cbw-cbwsdk-version",value:eT.LIB_VERSION}),(0,eM.h)("input",{type:"hidden",value:eH})),(0,eM.h)(eV,{theme:em}),!eb.isConnected&&(0,eM.h)("div",{"data-testid":"connecting-spinner",className:(0,ew.default)("-cbwsdk-connect-content-qr-connecting",em)},(0,eM.h)(eN.Spinner,{size:36,color:"dark"===em?"#FFF":"#000"}),(0,eM.h)("p",null,"Connecting...")))))}function eR({title:eb,description:em,theme:eH}){return(0,eM.h)("div",{className:(0,ew.default)("-cbwsdk-connect-item",eH)},(0,eM.h)("div",null,(0,eM.h)(eS.CoinbaseWalletRound,null)),(0,eM.h)("div",{className:"-cbwsdk-connect-item-copy-wrapper"},(0,eM.h)("h3",{className:"-cbwsdk-connect-item-title"},eb),(0,eM.h)("p",{className:"-cbwsdk-connect-item-description"},em)))}function eB({theme:eb}){return(0,eM.h)("ol",{className:"-cbwsdk-wallet-steps"},(0,eM.h)("li",{className:(0,ew.default)("-cbwsdk-wallet-steps-item",eb)},(0,eM.h)("div",{className:"-cbwsdk-wallet-steps-item-wrapper"},"Open Coinbase Wallet app")),(0,eM.h)("li",{className:(0,ew.default)("-cbwsdk-wallet-steps-item",eb)},(0,eM.h)("div",{className:"-cbwsdk-wallet-steps-item-wrapper"},(0,eM.h)("span",null,"Tap ",(0,eM.h)("strong",null,"Scan")," "),(0,eM.h)("span",{className:(0,ew.default)("-cbwsdk-wallet-steps-pad-left","-cbwsdk-wallet-steps-icon",eb)},(0,eM.h)(eE.QRCodeIcon,{fill:eP(eb)})))))}em.ConnectContent=eO,em.CoinbaseWalletSteps=eB},28171:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.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}"},5670:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.ConnectDialog=void 0;let ew=eV(eH(86010)),eM=eH(6400),eC=eH(30396),eT=eH(15898),e_=eH(19719),eS=eV(eH(28171)),eE=eb=>{let{isOpen:em,darkMode:eH}=eb,[eV,eE]=(0,eC.useState)(!em),[eA,eN]=(0,eC.useState)(!em);(0,eC.useEffect)(()=>{let eb=[window.setTimeout(()=>{eN(!em)},10)];return em?eE(!1):eb.push(window.setTimeout(()=>{eE(!0)},360)),()=>{eb.forEach(window.clearTimeout)}},[em]);let eI=eH?"dark":"light";return(0,eM.h)("div",{class:(0,ew.default)("-cbwsdk-connect-dialog-container",eV&&"-cbwsdk-connect-dialog-container-hidden")},(0,eM.h)("style",null,eS.default),(0,eM.h)("div",{class:(0,ew.default)("-cbwsdk-connect-dialog-backdrop",eI,eA&&"-cbwsdk-connect-dialog-backdrop-hidden")}),(0,eM.h)("div",{class:"-cbwsdk-connect-dialog"},(0,eM.h)("div",{class:(0,ew.default)("-cbwsdk-connect-dialog-box",eA&&"-cbwsdk-connect-dialog-box-hidden")},eb.connectDisabled?null:(0,eM.h)(eT.ConnectContent,{theme:eI,version:eb.version,sessionId:eb.sessionId,sessionSecret:eb.sessionSecret,linkAPIUrl:eb.linkAPIUrl,isConnected:eb.isConnected,isParentConnection:eb.isParentConnection,chainId:eb.chainId,onCancel:eb.onCancel}),(0,eM.h)(e_.TryExtensionContent,{theme:eI}))))};em.ConnectDialog=eE},27834:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.LinkFlow=void 0;let eV=eH(6400),ew=eH(5670);class eM{constructor(eb){this.connected=!1,this.chainId=1,this.isOpen=!1,this.onCancel=null,this.root=null,this.connectDisabled=!1,this.darkMode=eb.darkMode,this.version=eb.version,this.sessionId=eb.sessionId,this.sessionSecret=eb.sessionSecret,this.linkAPIUrl=eb.linkAPIUrl,this.isParentConnection=eb.isParentConnection}attach(eb){this.root=document.createElement("div"),this.root.className="-cbwsdk-link-flow-root",eb.appendChild(this.root),this.render()}setConnected(eb){this.connected!==eb&&(this.connected=eb,this.render())}setChainId(eb){this.chainId!==eb&&(this.chainId=eb,this.render())}detach(){var eb;this.root&&((0,eV.render)(null,this.root),null===(eb=this.root.parentElement)||void 0===eb||eb.removeChild(this.root))}setConnectDisabled(eb){this.connectDisabled=eb}open(eb){this.isOpen=!0,this.onCancel=eb.onCancel,this.render()}close(){this.isOpen=!1,this.onCancel=null,this.render()}render(){this.root&&(0,eV.render)((0,eV.h)(ew.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)}}em.LinkFlow=eM},81508:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer,ew=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.QRCode=void 0;let eM=eH(6400),eC=eH(30396),eT=ew(eH(7713)),e_=eb=>{let[em,eH]=(0,eC.useState)("");return(0,eC.useEffect)(()=>{var em,ew;let eM=new eT.default({content:eb.content,background:eb.bgColor||"#ffffff",color:eb.fgColor||"#000000",container:"svg",ecl:"M",width:null!==(em=eb.width)&&void 0!==em?em:256,height:null!==(ew=eb.height)&&void 0!==ew?ew:256,padding:0,image:eb.image}),eC=eV.from(eM.svg(),"utf8").toString("base64");eH(`data:image/svg+xml;base64,${eC}`)},[eb.bgColor,eb.content,eb.fgColor,eb.height,eb.image,eb.width]),em?(0,eM.h)("img",{src:em,alt:"QR Code"}):null};em.QRCode=e_},73714:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.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}"},8592:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.RedirectDialog=void 0;let ew=eV(eH(86010)),eM=eH(6400),eC=eH(27162),eT=eH(25767),e_=eV(eH(73714));class eS{constructor(){this.root=null}attach(){let eb=document.documentElement;this.root=document.createElement("div"),this.root.className="-cbwsdk-css-reset",eb.appendChild(this.root),(0,eC.injectCssReset)()}present(eb){this.render(eb)}clear(){this.render(null)}render(eb){this.root&&((0,eM.render)(null,this.root),eb&&(0,eM.render)((0,eM.h)(eE,Object.assign({},eb,{onDismiss:()=>{this.clear()}})),this.root))}}em.RedirectDialog=eS;let eE=({title:eb,buttonText:em,darkMode:eH,onButtonClick:eV,onDismiss:eC})=>{let eS=eH?"dark":"light";return(0,eM.h)(eT.SnackbarContainer,{darkMode:eH},(0,eM.h)("div",{class:"-cbwsdk-redirect-dialog"},(0,eM.h)("style",null,e_.default),(0,eM.h)("div",{class:"-cbwsdk-redirect-dialog-backdrop",onClick:eC}),(0,eM.h)("div",{class:(0,ew.default)("-cbwsdk-redirect-dialog-box",eS)},(0,eM.h)("p",null,eb),(0,eM.h)("button",{onClick:eV},em))))}},43879:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.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}"},52049:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.SnackbarInstance=em.SnackbarContainer=em.Snackbar=void 0;let ew=eV(eH(86010)),eM=eH(6400),eC=eH(30396),eT=eV(eH(43879)),e_="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEuNDkyIDEwLjQxOWE4LjkzIDguOTMgMCAwMTguOTMtOC45M2gxMS4xNjNhOC45MyA4LjkzIDAgMDE4LjkzIDguOTN2MTEuMTYzYTguOTMgOC45MyAwIDAxLTguOTMgOC45M0gxMC40MjJhOC45MyA4LjkzIDAgMDEtOC45My04LjkzVjEwLjQxOXoiIGZpbGw9IiMxNjUyRjAiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEwLjQxOSAwSDIxLjU4QzI3LjMzNSAwIDMyIDQuNjY1IDMyIDEwLjQxOVYyMS41OEMzMiAyNy4zMzUgMjcuMzM1IDMyIDIxLjU4MSAzMkgxMC40MkM0LjY2NSAzMiAwIDI3LjMzNSAwIDIxLjU4MVYxMC40MkMwIDQuNjY1IDQuNjY1IDAgMTAuNDE5IDB6bTAgMS40ODhhOC45MyA4LjkzIDAgMDAtOC45MyA4LjkzdjExLjE2M2E4LjkzIDguOTMgMCAwMDguOTMgOC45M0gyMS41OGE4LjkzIDguOTMgMCAwMDguOTMtOC45M1YxMC40MmE4LjkzIDguOTMgMCAwMC04LjkzLTguOTNIMTAuNDJ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45OTggMjYuMDQ5Yy01LjU0OSAwLTEwLjA0Ny00LjQ5OC0xMC4wNDctMTAuMDQ3IDAtNS41NDggNC40OTgtMTAuMDQ2IDEwLjA0Ny0xMC4wNDYgNS41NDggMCAxMC4wNDYgNC40OTggMTAuMDQ2IDEwLjA0NiAwIDUuNTQ5LTQuNDk4IDEwLjA0Ny0xMC4wNDYgMTAuMDQ3eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xMi43NjIgMTQuMjU0YzAtLjgyMi42NjctMS40ODkgMS40ODktMS40ODloMy40OTdjLjgyMiAwIDEuNDg4LjY2NiAxLjQ4OCAxLjQ4OXYzLjQ5N2MwIC44MjItLjY2NiAxLjQ4OC0xLjQ4OCAxLjQ4OGgtMy40OTdhMS40ODggMS40ODggMCAwMS0xLjQ4OS0xLjQ4OHYtMy40OTh6IiBmaWxsPSIjMTY1MkYwIi8+PC9zdmc+",eS="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDYuNzV2LTEuNWwtMS43Mi0uNTdjLS4wOC0uMjctLjE5LS41Mi0uMzItLjc3bC44MS0xLjYyLTEuMDYtMS4wNi0xLjYyLjgxYy0uMjQtLjEzLS41LS4yNC0uNzctLjMyTDYuNzUgMGgtMS41bC0uNTcgMS43MmMtLjI3LjA4LS41My4xOS0uNzcuMzJsLTEuNjItLjgxLTEuMDYgMS4wNi44MSAxLjYyYy0uMTMuMjQtLjI0LjUtLjMyLjc3TDAgNS4yNXYxLjVsMS43Mi41N2MuMDguMjcuMTkuNTMuMzIuNzdsLS44MSAxLjYyIDEuMDYgMS4wNiAxLjYyLS44MWMuMjQuMTMuNS4yMy43Ny4zMkw1LjI1IDEyaDEuNWwuNTctMS43MmMuMjctLjA4LjUyLS4xOS43Ny0uMzJsMS42Mi44MSAxLjA2LTEuMDYtLjgxLTEuNjJjLjEzLS4yNC4yMy0uNS4zMi0uNzdMMTIgNi43NXpNNiA4LjVhMi41IDIuNSAwIDAxMC01IDIuNSAyLjUgMCAwMTAgNXoiIGZpbGw9IiMwNTBGMTkiLz48L3N2Zz4=";class eE{constructor(eb){this.items=new Map,this.nextItemKey=0,this.root=null,this.darkMode=eb.darkMode}attach(eb){this.root=document.createElement("div"),this.root.className="-cbwsdk-snackbar-root",eb.appendChild(this.root),this.render()}presentItem(eb){let em=this.nextItemKey++;return this.items.set(em,eb),this.render(),()=>{this.items.delete(em),this.render()}}clear(){this.items.clear(),this.render()}render(){this.root&&(0,eM.render)((0,eM.h)("div",null,(0,eM.h)(em.SnackbarContainer,{darkMode:this.darkMode},Array.from(this.items.entries()).map(([eb,eH])=>(0,eM.h)(em.SnackbarInstance,Object.assign({},eH,{key:eb}))))),this.root)}}em.Snackbar=eE;let eA=eb=>(0,eM.h)("div",{class:(0,ew.default)("-cbwsdk-snackbar-container")},(0,eM.h)("style",null,eT.default),(0,eM.h)("div",{class:"-cbwsdk-snackbar"},eb.children));em.SnackbarContainer=eA;let eN=({autoExpand:eb,message:em,menuItems:eH})=>{let[eV,eT]=(0,eC.useState)(!0),[eE,eA]=(0,eC.useState)(null!=eb&&eb);(0,eC.useEffect)(()=>{let eb=[window.setTimeout(()=>{eT(!1)},1),window.setTimeout(()=>{eA(!0)},1e4)];return()=>{eb.forEach(window.clearTimeout)}});let eN=()=>{eA(!eE)};return(0,eM.h)("div",{class:(0,ew.default)("-cbwsdk-snackbar-instance",eV&&"-cbwsdk-snackbar-instance-hidden",eE&&"-cbwsdk-snackbar-instance-expanded")},(0,eM.h)("div",{class:"-cbwsdk-snackbar-instance-header",onClick:eN},(0,eM.h)("img",{src:e_,class:"-cbwsdk-snackbar-instance-header-cblogo"})," ",(0,eM.h)("div",{class:"-cbwsdk-snackbar-instance-header-message"},em),(0,eM.h)("div",{class:"-gear-container"},!eE&&(0,eM.h)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,eM.h)("circle",{cx:"12",cy:"12",r:"12",fill:"#F5F7F8"})),(0,eM.h)("img",{src:eS,class:"-gear-icon",title:"Expand"}))),eH&&eH.length>0&&(0,eM.h)("div",{class:"-cbwsdk-snackbar-instance-menu"},eH.map((eb,em)=>(0,eM.h)("div",{class:(0,ew.default)("-cbwsdk-snackbar-instance-menu-item",eb.isRed&&"-cbwsdk-snackbar-instance-menu-item-is-red"),onClick:eb.onClick,key:em},(0,eM.h)("svg",{width:eb.svgWidth,height:eb.svgHeight,viewBox:"0 0 10 11",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,eM.h)("path",{"fill-rule":eb.defaultFillRule,"clip-rule":eb.defaultClipRule,d:eb.path,fill:"#AAAAAA"})),(0,eM.h)("span",{class:(0,ew.default)("-cbwsdk-snackbar-instance-menu-item-info",eb.isRed&&"-cbwsdk-snackbar-instance-menu-item-info-is-red")},eb.info)))))};em.SnackbarInstance=eN},25767:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),ew(eH(52049),em)},53156:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.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)}}"},2620:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Spinner=void 0;let ew=eH(6400),eM=eV(eH(53156)),eC=eb=>{var em;let eH=null!==(em=eb.size)&&void 0!==em?em:64,eV=eb.color||"#000";return(0,ew.h)("div",{class:"-cbwsdk-spinner"},(0,ew.h)("style",null,eM.default),(0,ew.h)("svg",{viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg",style:{width:eH,height:eH}},(0,ew.h)("circle",{style:{cx:50,cy:50,r:45,stroke:eV}})))};em.Spinner=eC},20096:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.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}"},19719:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.TryExtensionContent=void 0;let ew=eV(eH(86010)),eM=eH(6400),eC=eH(30396),eT=eH(70865),e_=eH(539),eS=eH(4841),eE=eV(eH(20096));function eA({theme:eb}){let[em,eH]=(0,eC.useState)(!1),eV=(0,eC.useCallback)(()=>{window.open("https://api.wallet.coinbase.com/rpc/v2/desktop/chrome","_blank")},[]),eA=(0,eC.useCallback)(()=>{em?window.location.reload():(eV(),eH(!0))},[eV,em]);return(0,eM.h)("div",{class:(0,ew.default)("-cbwsdk-try-extension",eb)},(0,eM.h)("style",null,eE.default),(0,eM.h)("div",{class:"-cbwsdk-try-extension-column-half"},(0,eM.h)("h3",{class:(0,ew.default)("-cbwsdk-try-extension-heading",eb)},"Or try the Coinbase Wallet browser extension"),(0,eM.h)("div",{class:"-cbwsdk-try-extension-cta-wrapper"},(0,eM.h)("button",{class:(0,ew.default)("-cbwsdk-try-extension-cta",eb),onClick:eA},em?"Refresh":"Install"),(0,eM.h)("div",null,!em&&(0,eM.h)(eT.ArrowLeftIcon,{class:"-cbwsdk-try-extension-cta-icon",fill:"light"===eb?"#0052FF":"#588AF5"})))),(0,eM.h)("div",{class:"-cbwsdk-try-extension-column-half"},(0,eM.h)("ul",{class:"-cbwsdk-try-extension-list"},(0,eM.h)("li",{class:"-cbwsdk-try-extension-list-item"},(0,eM.h)("div",{class:"-cbwsdk-try-extension-list-item-icon-wrapper"},(0,eM.h)("span",{class:(0,ew.default)("-cbwsdk-try-extension-list-item-icon",eb)},(0,eM.h)(e_.LaptopIcon,{fill:"light"===eb?"#0A0B0D":"#FFFFFF"}))),(0,eM.h)("div",{class:(0,ew.default)("-cbwsdk-try-extension-list-item-copy",eb)},"Connect with dapps with just one click on your desktop browser")),(0,eM.h)("li",{class:"-cbwsdk-try-extension-list-item"},(0,eM.h)("div",{class:"-cbwsdk-try-extension-list-item-icon-wrapper"},(0,eM.h)("span",{class:(0,ew.default)("-cbwsdk-try-extension-list-item-icon",eb)},(0,eM.h)(eS.SafeIcon,{fill:"light"===eb?"#0A0B0D":"#FFFFFF"}))),(0,eM.h)("div",{class:(0,ew.default)("-cbwsdk-try-extension-list-item-copy",eb)},"Add an additional layer of security by using a supported Ledger hardware wallet")))))}em.TryExtensionContent=eA},70865:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.ArrowLeftIcon=void 0;let eV=eH(6400);function ew(eb){return(0,eV.h)("svg",Object.assign({width:"16",height:"16",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},eb),(0,eV.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"}))}em.ArrowLeftIcon=ew},50408:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.CloseIcon=void 0;let eV=eH(6400);function ew(eb){return(0,eV.h)("svg",Object.assign({width:"40",height:"40",viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},eb),(0,eV.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"}))}em.CloseIcon=ew},70578:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.CoinbaseWalletRound=void 0;let eV=eH(6400);function ew(eb){return(0,eV.h)("svg",Object.assign({width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},eb),(0,eV.h)("circle",{cx:"14",cy:"14",r:"14",fill:"#0052FF"}),(0,eV.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,eV.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"}))}em.CoinbaseWalletRound=ew},539:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.LaptopIcon=void 0;let eV=eH(6400);function ew(eb){return(0,eV.h)("svg",Object.assign({width:"14",height:"14",viewBox:"0 0 14 14",xmlns:"http://www.w3.org/2000/svg"},eb),(0,eV.h)("path",{d:"M1.8001 2.2002H12.2001V9.40019H1.8001V2.2002ZM3.4001 3.8002V7.80019H10.6001V3.8002H3.4001Z"}),(0,eV.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"}))}em.LaptopIcon=ew},59309:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.QRCodeIcon=void 0;let eV=eH(6400);function ew(eb){return(0,eV.h)("svg",Object.assign({width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},eb),(0,eV.h)("path",{d:"M3 3V8.99939L5 8.99996V5H9V3H3Z"}),(0,eV.h)("path",{d:"M15 21L21 21V15.0006L19 15V19L15 19V21Z"}),(0,eV.h)("path",{d:"M21 9H19V5H15.0006L15 3H21V9Z"}),(0,eV.h)("path",{d:"M3 15V21H8.99939L8.99996 19H5L5 15H3Z"}))}em.QRCodeIcon=ew},4841:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.SafeIcon=void 0;let eV=eH(6400);function ew(eb){return(0,eV.h)("svg",Object.assign({width:"14",height:"14",viewBox:"0 0 14 14",xmlns:"http://www.w3.org/2000/svg"},eb),(0,eV.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"}))}em.SafeIcon=ew},36089:function(eb,em,eH){var eV=eH(48764).Buffer;let ew=eH(32518),eM=eH(13550);function eC(eb){if(eb.startsWith("int["))return"int256"+eb.slice(3);if("int"===eb)return"int256";if(eb.startsWith("uint["))return"uint256"+eb.slice(4);if("uint"===eb)return"uint256";if(eb.startsWith("fixed["))return"fixed128x128"+eb.slice(5);if("fixed"===eb)return"fixed128x128";if(eb.startsWith("ufixed["))return"ufixed128x128"+eb.slice(6);else if("ufixed"===eb)return"ufixed128x128";return eb}function eT(eb){return parseInt(/^\D+(\d+)$/.exec(eb)[1],10)}function e_(eb){var em=/^\D+(\d+)x(\d+)$/.exec(eb);return[parseInt(em[1],10),parseInt(em[2],10)]}function eS(eb){var em=eb.match(/(.*)\[(.*?)\]$/);return em?""===em[2]?"dynamic":parseInt(em[2],10):null}function eE(eb){var em=typeof eb;if("string"===em)return ew.isHexString(eb)?new eM(ew.stripHexPrefix(eb),16):new eM(eb,10);if("number"===em)return new eM(eb);if(eb.toArray)return eb;throw Error("Argument is not a number")}function eA(eb,em){var eH,eC,eN,eD;if("address"===eb)return eA("uint160",eE(em));if("bool"===eb)return eA("uint8",em?1:0);if("string"===eb)return eA("bytes",new eV(em,"utf8"));if(eI(eb)){if(void 0===em.length)throw Error("Not an array?");if("dynamic"!==(eH=eS(eb))&&0!==eH&&em.length>eH)throw Error("Elements exceed array size: "+eH);for(eD in eN=[],eb=eb.slice(0,eb.lastIndexOf("[")),"string"==typeof em&&(em=JSON.parse(em)),em)eN.push(eA(eb,em[eD]));if("dynamic"===eH){var eP=eA("uint256",em.length);eN.unshift(eP)}return eV.concat(eN)}if("bytes"===eb)return em=new eV(em),eN=eV.concat([eA("uint256",em.length),em]),em.length%32!=0&&(eN=eV.concat([eN,ew.zeros(32-em.length%32)])),eN;if(eb.startsWith("bytes")){if((eH=eT(eb))<1||eH>32)throw Error("Invalid bytes width: "+eH);return ew.setLengthRight(em,32)}if(eb.startsWith("uint")){if((eH=eT(eb))%8||eH<8||eH>256)throw Error("Invalid uint width: "+eH);if((eC=eE(em)).bitLength()>eH)throw Error("Supplied uint exceeds width: "+eH+" vs "+eC.bitLength());if(eC<0)throw Error("Supplied uint is negative");return eC.toArrayLike(eV,"be",32)}else if(eb.startsWith("int")){if((eH=eT(eb))%8||eH<8||eH>256)throw Error("Invalid int width: "+eH);if((eC=eE(em)).bitLength()>eH)throw Error("Supplied int exceeds width: "+eH+" vs "+eC.bitLength());return eC.toTwos(256).toArrayLike(eV,"be",32)}else if(eb.startsWith("ufixed")){if(eH=e_(eb),(eC=eE(em))<0)throw Error("Supplied ufixed is negative");return eA("uint256",eC.mul(new eM(2).pow(new eM(eH[1]))))}else if(eb.startsWith("fixed"))return eH=e_(eb),eA("int256",eE(em).mul(new eM(2).pow(new eM(eH[1]))));throw Error("Unsupported or invalid type: "+eb)}function eN(eb){return"string"===eb||"bytes"===eb||"dynamic"===eS(eb)}function eI(eb){return eb.lastIndexOf("]")===eb.length-1}function eD(eb,em){var eH=[],ew=[],eM=32*eb.length;for(var eT in eb){var e_=eC(eb[eT]),eS=eA(e_,em[eT]);eN(e_)?(eH.push(eA("uint256",eM)),ew.push(eS),eM+=eS.length):eH.push(eS)}return eV.concat(eH.concat(ew))}function eP(eb,em){if(eb.length!==em.length)throw Error("Number of types are not matching the values");for(var eH,eM,e_=[],eS=0;eS32)throw Error("Invalid bytes width: "+eH);e_.push(ew.setLengthRight(eN,eH))}else if(eA.startsWith("uint")){if((eH=eT(eA))%8||eH<8||eH>256)throw Error("Invalid uint width: "+eH);if((eM=eE(eN)).bitLength()>eH)throw Error("Supplied uint exceeds width: "+eH+" vs "+eM.bitLength());e_.push(eM.toArrayLike(eV,"be",eH/8))}else if(eA.startsWith("int")){if((eH=eT(eA))%8||eH<8||eH>256)throw Error("Invalid int width: "+eH);if((eM=eE(eN)).bitLength()>eH)throw Error("Supplied int exceeds width: "+eH+" vs "+eM.bitLength());e_.push(eM.toTwos(eH).toArrayLike(eV,"be",eH/8))}else throw Error("Unsupported or invalid type: "+eA)}return eV.concat(e_)}function eO(eb,em){return ew.keccak(eP(eb,em))}eb.exports={rawEncode:eD,solidityPack:eP,soliditySHA3:eO}},14497:function(eb,em,eH){var eV=eH(48764).Buffer;let ew=eH(32518),eM=eH(36089),eC={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"]},eT={encodeData(eb,em,eH,eC=!0){let eT=["bytes32"],e_=[this.hashType(eb,eH)];if(eC){let eS=(eb,em,eT)=>{if(void 0!==eH[em])return["bytes32",null==eT?"0x0000000000000000000000000000000000000000000000000000000000000000":ew.keccak(this.encodeData(em,eT,eH,eC))];if(void 0===eT)throw Error(`missing value for field ${eb} of type ${em}`);if("bytes"===em)return["bytes32",ew.keccak(eT)];if("string"===em)return"string"==typeof eT&&(eT=eV.from(eT,"utf8")),["bytes32",ew.keccak(eT)];if(em.lastIndexOf("]")===em.length-1){let eH=em.slice(0,em.lastIndexOf("[")),eV=eT.map(em=>eS(eb,eH,em));return["bytes32",ew.keccak(eM.rawEncode(eV.map(([eb])=>eb),eV.map(([,eb])=>eb)))]}return[em,eT]};for(let eV of eH[eb]){let[eb,eH]=eS(eV.name,eV.type,em[eV.name]);eT.push(eb),e_.push(eH)}}else for(let eM of eH[eb]){let eb=em[eM.name];if(void 0!==eb){if("bytes"===eM.type)eT.push("bytes32"),eb=ew.keccak(eb),e_.push(eb);else if("string"===eM.type)eT.push("bytes32"),"string"==typeof eb&&(eb=eV.from(eb,"utf8")),eb=ew.keccak(eb),e_.push(eb);else if(void 0!==eH[eM.type])eT.push("bytes32"),eb=ew.keccak(this.encodeData(eM.type,eb,eH,eC)),e_.push(eb);else if(eM.type.lastIndexOf("]")===eM.type.length-1)throw Error("Arrays currently unimplemented in encodeData");else eT.push(eM.type),e_.push(eb)}}return eM.rawEncode(eT,e_)},encodeType(eb,em){let eH="",eV=this.findTypeDependencies(eb,em).filter(em=>em!==eb);for(let ew of eV=[eb].concat(eV.sort())){let eb=em[ew];if(!eb)throw Error("No type definition specified: "+ew);eH+=ew+"("+em[ew].map(({name:eb,type:em})=>em+" "+eb).join(",")+")"}return eH},findTypeDependencies(eb,em,eH=[]){if(eb=eb.match(/^\w*/)[0],eH.includes(eb)||void 0===em[eb])return eH;for(let eV of(eH.push(eb),em[eb]))for(let eb of this.findTypeDependencies(eV.type,em,eH))eH.includes(eb)||eH.push(eb);return eH},hashStruct(eb,em,eH,eV=!0){return ew.keccak(this.encodeData(eb,em,eH,eV))},hashType(eb,em){return ew.keccak(this.encodeType(eb,em))},sanitizeData(eb){let em={};for(let eH in eC.properties)eb[eH]&&(em[eH]=eb[eH]);return em.types&&(em.types=Object.assign({EIP712Domain:[]},em.types)),em},hash(eb,em=!0){let eH=this.sanitizeData(eb),eM=[eV.from("1901","hex")];return eM.push(this.hashStruct("EIP712Domain",eH.domain,eH.types,em)),"EIP712Domain"!==eH.primaryType&&eM.push(this.hashStruct(eH.primaryType,eH.message,eH.types,em)),ew.keccak(eV.concat(eM))}};function e_(eb){let em=Error("Expect argument to be non-empty array");if("object"!=typeof eb||!eb.length)throw em;let eH=eb.map(function(eb){return"bytes"===eb.type?ew.toBuffer(eb.value):eb.value}),eV=eb.map(function(eb){return eb.type}),eC=eb.map(function(eb){if(!eb.name)throw em;return eb.type+" "+eb.name});return eM.soliditySHA3(["bytes32","bytes32"],[eM.soliditySHA3(Array(eb.length).fill("string"),eC),eM.soliditySHA3(eV,eH)])}eb.exports={TYPED_MESSAGE_SCHEMA:eC,TypedDataUtils:eT,hashForSignTypedDataLegacy:function(eb){return e_(eb.data)},hashForSignTypedData_v3:function(eb){return eT.hash(eb.data,!1)},hashForSignTypedData_v4:function(eb){return eT.hash(eb.data)}}},32518:function(eb,em,eH){var eV=eH(48764).Buffer;let ew=eH(95811),eM=eH(13550);function eC(eb){return eV.allocUnsafe(eb).fill(0)}function eT(eb,em,eH){let eV=eC(em);return(eb=eS(eb),eH)?eb.length65536?(ew[0]=240|(1835008&eM)>>>18,ew[1]=128|(258048&eM)>>>12,ew[2]=128|(4032&eM)>>>6,ew[3]=128|63&eM):eM>2048?(ew[0]=224|(61440&eM)>>>12,ew[1]=128|(4032&eM)>>>6,ew[2]=128|63&eM):eM>128?(ew[0]=192|(1984&eM)>>>6,ew[1]=128|63&eM):ew[0]=eM,this.parsedData.push(ew)}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))}function eH(eb,em){this.typeNumber=eb,this.errorCorrectLevel=em,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}em.prototype={getLength:function(eb){return this.parsedData.length},write:function(eb){for(var em=0,eH=this.parsedData.length;em=7&&this.setupTypeNumber(eb),null==this.dataCache&&(this.dataCache=eH.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,em)},setupPositionProbePattern:function(eb,em){for(var eH=-1;eH<=7;eH++)if(!(eb+eH<=-1)&&!(this.moduleCount<=eb+eH))for(var eV=-1;eV<=7;eV++)em+eV<=-1||this.moduleCount<=em+eV||(0<=eH&&eH<=6&&(0==eV||6==eV)||0<=eV&&eV<=6&&(0==eH||6==eH)||2<=eH&&eH<=4&&2<=eV&&eV<=4?this.modules[eb+eH][em+eV]=!0:this.modules[eb+eH][em+eV]=!1)},getBestMaskPattern:function(){for(var eb=0,em=0,eH=0;eH<8;eH++){this.makeImpl(!0,eH);var eV=eC.getLostPoint(this);(0==eH||eb>eV)&&(eb=eV,em=eH)}return em},createMovieClip:function(eb,em,eH){var eV=eb.createEmptyMovieClip(em,eH),ew=1;this.make();for(var eM=0;eM>eH&1)==1;this.modules[Math.floor(eH/3)][eH%3+this.moduleCount-8-3]=eV}for(var eH=0;eH<18;eH++){var eV=!eb&&(em>>eH&1)==1;this.modules[eH%3+this.moduleCount-8-3][Math.floor(eH/3)]=eV}},setupTypeInfo:function(eb,em){for(var eH=this.errorCorrectLevel<<3|em,eV=eC.getBCHTypeInfo(eH),ew=0;ew<15;ew++){var eM=!eb&&(eV>>ew&1)==1;ew<6?this.modules[ew][8]=eM:ew<8?this.modules[ew+1][8]=eM:this.modules[this.moduleCount-15+ew][8]=eM}for(var ew=0;ew<15;ew++){var eM=!eb&&(eV>>ew&1)==1;ew<8?this.modules[8][this.moduleCount-ew-1]=eM:ew<9?this.modules[8][15-ew-1+1]=eM:this.modules[8][15-ew-1]=eM}this.modules[this.moduleCount-8][8]=!eb},mapData:function(eb,em){for(var eH=-1,eV=this.moduleCount-1,ew=7,eM=0,eT=this.moduleCount-1;eT>0;eT-=2)for(6==eT&&eT--;;){for(var e_=0;e_<2;e_++)if(null==this.modules[eV][eT-e_]){var eS=!1;eM>>ew&1)==1),eC.getMask(em,eV,eT-e_)&&(eS=!eS),this.modules[eV][eT-e_]=eS,-1==--ew&&(eM++,ew=7)}if((eV+=eH)<0||this.moduleCount<=eV){eV-=eH,eH=-eH;break}}}},eH.PAD0=236,eH.PAD1=17,eH.createData=function(eb,em,eV){for(var ew=eE.getRSBlocks(eb,em),eM=new eA,eT=0;eT8*eS)throw Error("code length overflow. ("+eM.getLengthInBits()+">"+8*eS+")");for(eM.getLengthInBits()+4<=8*eS&&eM.put(0,4);eM.getLengthInBits()%8!=0;)eM.putBit(!1);for(;!(eM.getLengthInBits()>=8*eS)&&(eM.put(eH.PAD0,8),!(eM.getLengthInBits()>=8*eS));)eM.put(eH.PAD1,8);return eH.createBytes(eM,ew)},eH.createBytes=function(eb,em){for(var eH=0,eV=0,ew=0,eM=Array(em.length),eT=Array(em.length),e_=0;e_=0?eD.get(eP):0}}for(var eO=0,eN=0;eN=0;)em^=eC.G15<=0;)em^=eC.G18<>>=1;return em},getPatternPosition:function(eb){return eC.PATTERN_POSITION_TABLE[eb-1]},getMask:function(eb,em,eH){switch(eb){case eM.PATTERN000:return(em+eH)%2==0;case eM.PATTERN001:return em%2==0;case eM.PATTERN010:return eH%3==0;case eM.PATTERN011:return(em+eH)%3==0;case eM.PATTERN100:return(Math.floor(em/2)+Math.floor(eH/3))%2==0;case eM.PATTERN101:return em*eH%2+em*eH%3==0;case eM.PATTERN110:return(em*eH%2+em*eH%3)%2==0;case eM.PATTERN111:return(em*eH%3+(em+eH)%2)%2==0;default:throw Error("bad maskPattern:"+eb)}},getErrorCorrectPolynomial:function(eb){for(var em=new eS([1],0),eH=0;eH5&&(eH+=3+eM-5)}for(var eV=0;eV=256;)eb-=255;return eT.EXP_TABLE[eb]},EXP_TABLE:Array(256),LOG_TABLE:Array(256)},e_=0;e_<8;e_++)eT.EXP_TABLE[e_]=1<>>7-eb%8&1)==1},put:function(eb,em){for(var eH=0;eH>>em-eH-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(eb){var em=Math.floor(this.length/8);this.buffer.length<=em&&this.buffer.push(0),eb&&(this.buffer[em]|=128>>>this.length%8),this.length++}};var eN=[[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 eI(eb){if(this.options={padding:4,width:256,height:256,typeNumber:4,color:"#000000",background:"#ffffff",ecl:"M",image:{svg:"",width:0,height:0}},"string"==typeof eb&&(eb={content:eb}),eb)for(var em in eb)this.options[em]=eb[em];if("string"!=typeof this.options.content)throw Error("Expected 'content' as string!");if(0===this.options.content.length)throw Error("Expected 'content' to be non-empty!");if(!(this.options.padding>=0))throw Error("Expected 'padding' value to be non-negative!");if(!(this.options.width>0)||!(this.options.height>0))throw Error("Expected 'width' or 'height' value to be higher than zero!");function eV(eb){switch(eb){case"L":return ew.L;case"M":return ew.M;case"Q":return ew.Q;case"H":return ew.H;default:throw Error("Unknwon error correction level: "+eb)}}function eM(eb,em){for(var eH=eC(eb),eV=1,ew=0,eM=0,eT=eN.length;eM<=eT;eM++){var e_=eN[eM];if(!e_)throw Error("Content too long: expected "+ew+" but got "+eH);switch(em){case"L":ew=e_[0];break;case"M":ew=e_[1];break;case"Q":ew=e_[2];break;case"H":ew=e_[3];break;default:throw Error("Unknwon error correction level: "+em)}if(eH<=ew)break;eV++}if(eV>eN.length)throw Error("Content too long");return eV}function eC(eb){var em=encodeURI(eb).toString().replace(/\%[0-9a-fA-F]{2}/g,"a");return em.length+(em.length!=eb?3:0)}var eT=this.options.content,e_=eM(eT,this.options.ecl),eS=eV(this.options.ecl);this.qrcode=new eH(e_,eS),this.qrcode.addData(eT),this.qrcode.make()}eI.prototype.svg=function(eb){var em=this.options||{},eH=this.qrcode.modules;void 0===eb&&(eb={container:em.container||"svg"});for(var eV=void 0===em.pretty||!!em.pretty,ew=eV?" ":"",eM=eV?"\r\n":"",eC=em.width,eT=em.height,e_=eH.length,eS=eC/(e_+2*em.padding),eE=eT/(e_+2*em.padding),eA=void 0!==em.join&&!!em.join,eN=void 0!==em.swap&&!!em.swap,eI=void 0===em.xmlDeclaration||!!em.xmlDeclaration,eD=void 0!==em.predefined&&!!em.predefined,eP=eD?ew+''+eM:"",eO=ew+''+eM,eR="",eB="",eF=0;eF'+eM:eR+=ew+''+eM}eA&&(eR=ew+'');let eK="";if(void 0!==this.options.image&&this.options.image.svg){let eb=eC*this.options.image.width/100,em=eT*this.options.image.height/100,eH=eC/2-eb/2,eV=eT/2-em/2;eK+=``+(this.options.image.svg+eM)+""}var eY="";switch(eb.container){case"svg":eI&&(eY+=''+eM),eY+=''+eM+(eP+eO+eR)+eK+"";break;case"svg-viewbox":eI&&(eY+=''+eM),eY+=''+eM+(eP+eO+eR)+eK+"";break;case"g":eY+=''+eM+(eP+eO+eR)+eK+"";break;default:eY+=(eP+eO+eR+eK).replace(/^\s+/,"")}return eY},eb.exports=eI},43604:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.LIB_VERSION=void 0,em.LIB_VERSION="3.9.1"},72997:function(eb){"use strict";var em=Object.prototype.hasOwnProperty,eH="~";function eV(){}function ew(eb,em,eH){this.fn=eb,this.context=em,this.once=eH||!1}function eM(eb,em,eV,eM,eC){if("function"!=typeof eV)throw TypeError("The listener must be a function");var eT=new ew(eV,eM||eb,eC),e_=eH?eH+em:em;return eb._events[e_]?eb._events[e_].fn?eb._events[e_]=[eb._events[e_],eT]:eb._events[e_].push(eT):(eb._events[e_]=eT,eb._eventsCount++),eb}function eC(eb,em){0==--eb._eventsCount?eb._events=new eV:delete eb._events[em]}function eT(){this._events=new eV,this._eventsCount=0}Object.create&&(eV.prototype=Object.create(null),new eV().__proto__||(eH=!1)),eT.prototype.eventNames=function(){var eb,eV,ew=[];if(0===this._eventsCount)return ew;for(eV in eb=this._events)em.call(eb,eV)&&ew.push(eH?eV.slice(1):eV);return Object.getOwnPropertySymbols?ew.concat(Object.getOwnPropertySymbols(eb)):ew},eT.prototype.listeners=function(eb){var em=eH?eH+eb:eb,eV=this._events[em];if(!eV)return[];if(eV.fn)return[eV.fn];for(var ew=0,eM=eV.length,eC=Array(eM);eweb.length)throw Error("invalid RLP (safeSlice): end slice of Uint8Array out-of-bounds");return eb.slice(em,eH)}function ew(eb){if(0===eb[0])throw Error("invalid RLP: extra zeros");return eE(eS(eb))}function eM(eb,em){if(eb<56)return Uint8Array.from([eb+em]);let eH=eD(eb),eV=eH.length/2,ew=eD(em+55+eV);return Uint8Array.from(eA(ew+eH))}function eC(eb,em=!1){if(null==eb||0===eb.length)return Uint8Array.from([]);let eH=eB(eb),eV=eT(eH);if(em)return eV;if(0!==eV.remainder.length)throw Error("invalid RLP: remainder must be zero");return eV.data}function eT(eb){let em,eH,eM,eC,e_;let eS=[],eE=eb[0];if(eE<=127)return{data:eb.slice(0,1),remainder:eb.slice(1)};if(eE<=183){if(em=eE-127,eM=128===eE?Uint8Array.from([]):eV(eb,1,em),2===em&&eM[0]<128)throw Error("invalid RLP encoding: invalid prefix, single byte < 0x80 are not prefixed");return{data:eM,remainder:eb.slice(em)}}if(eE<=191){if(eH=eE-182,eb.length-1eb.length)throw Error("invalid RLP: total length is larger than the data");for(eC=eV(eb,eH,eM);eC.length;)e_=eT(eC),eS.push(e_.data),eC=e_.remainder;return{data:eS,remainder:eb.slice(eM)}}}Object.defineProperty(em,"__esModule",{value:!0}),em.RLP=em.utils=em.decode=em.encode=void 0,em.encode=eH,em.decode=eC;let e_=Array.from({length:256},(eb,em)=>em.toString(16).padStart(2,"0"));function eS(eb){let em="";for(let eH=0;eHeb+em.length,0),eH=new Uint8Array(em);for(let em=0,eV=0;em=2&&"0"===eb[0]&&"x"===eb[1]}function eR(eb){return"string"!=typeof eb?eb:eO(eb)?eb.slice(2):eb}function eB(eb){if(eb instanceof Uint8Array)return eb;if("string"==typeof eb)return eO(eb)?eA(eP(eR(eb))):eI(eb);if("number"==typeof eb||"bigint"==typeof eb)return eb?eA(eD(eb)):Uint8Array.from([]);if(null==eb)return Uint8Array.from([]);throw Error("toBytes: received unsupported type "+typeof eb)}em.utils={bytesToHex:eS,concatBytes:eN,hexToBytes:eA,utf8ToBytes:eI},em.RLP={encode:eH,decode:eC}},78e3:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.accountBodyToRLP=em.accountBodyToSlim=em.accountBodyFromSlim=em.isZeroAddress=em.zeroAddress=em.importPublic=em.privateToAddress=em.privateToPublic=em.publicToAddress=em.pubToAddress=em.isValidPublic=em.isValidPrivate=em.generateAddress2=em.generateAddress=em.isValidChecksumAddress=em.toChecksumAddress=em.isValidAddress=em.Account=void 0;let ew=eH(5507),eM=eH(82192),eC=eH(95053),eT=eH(58040),e_=eH(38289),eS=eH(66219),eE=eH(38480),eA=eH(24712),eN=BigInt(0);class eI{constructor(eb=eN,em=eN,eH=eS.KECCAK256_RLP,eV=eS.KECCAK256_NULL){this.nonce=eb,this.balance=em,this.storageRoot=eH,this.codeHash=eV,this._validate()}static fromAccountData(eb){let{nonce:em,balance:eH,storageRoot:eV,codeHash:ew}=eb;return new eI(void 0!==em?(0,e_.bufferToBigInt)((0,e_.toBuffer)(em)):void 0,void 0!==eH?(0,e_.bufferToBigInt)((0,e_.toBuffer)(eH)):void 0,void 0!==eV?(0,e_.toBuffer)(eV):void 0,void 0!==ew?(0,e_.toBuffer)(ew):void 0)}static fromRlpSerializedAccount(eb){let em=(0,e_.arrToBufArr)(ew.RLP.decode(Uint8Array.from(eb)));if(!Array.isArray(em))throw Error("Invalid serialized account input. Must be array");return this.fromValuesArray(em)}static fromValuesArray(eb){let[em,eH,eV,ew]=eb;return new eI((0,e_.bufferToBigInt)(em),(0,e_.bufferToBigInt)(eH),eV,ew)}_validate(){if(this.nonce=8?eN+=eH[eb].toUpperCase():eN+=eH[eb];return eN};em.toChecksumAddress=eP;let eO=function(eb,eH){return(0,em.isValidAddress)(eb)&&(0,em.toChecksumAddress)(eb,eH)===eb};em.isValidChecksumAddress=eO;let eR=function(eb,em){return((0,eE.assertIsBuffer)(eb),(0,eE.assertIsBuffer)(em),(0,e_.bufferToBigInt)(em)===BigInt(0))?eV.from((0,eM.keccak256)(ew.RLP.encode((0,e_.bufArrToArr)([eb,null])))).slice(-20):eV.from((0,eM.keccak256)(ew.RLP.encode((0,e_.bufArrToArr)([eb,em])))).slice(-20)};em.generateAddress=eR;let eB=function(eb,em,eH){if((0,eE.assertIsBuffer)(eb),(0,eE.assertIsBuffer)(em),(0,eE.assertIsBuffer)(eH),20!==eb.length)throw Error("Expected from to be of length 20");if(32!==em.length)throw Error("Expected salt to be of length 32");let ew=(0,eM.keccak256)(eV.concat([eV.from("ff","hex"),eb,em,(0,eM.keccak256)(eH)]));return(0,e_.toBuffer)(ew).slice(-20)};em.generateAddress2=eB;let eF=function(eb){return eC.secp256k1.utils.isValidPrivateKey(eb)};em.isValidPrivate=eF;let ej=function(eb,em=!1){if((0,eE.assertIsBuffer)(eb),64===eb.length)try{return eC.secp256k1.ProjectivePoint.fromHex(eV.concat([eV.from([4]),eb])),!0}catch(eb){return!1}if(!em)return!1;try{return eC.secp256k1.ProjectivePoint.fromHex(eb),!0}catch(eb){return!1}};em.isValidPublic=ej;let eU=function(eb,em=!1){if((0,eE.assertIsBuffer)(eb),em&&64!==eb.length&&(eb=eV.from(eC.secp256k1.ProjectivePoint.fromHex(eb).toRawBytes(!1).slice(1))),64!==eb.length)throw Error("Expected pubKey to be of length 64");return eV.from((0,eM.keccak256)(eb)).slice(-20)};em.pubToAddress=eU,em.publicToAddress=em.pubToAddress;let e$=function(eb){return(0,eE.assertIsBuffer)(eb),eV.from(eC.secp256k1.ProjectivePoint.fromPrivateKey(eb).toRawBytes(!1).slice(1))};em.privateToPublic=e$;let eW=function(eb){return(0,em.publicToAddress)((0,em.privateToPublic)(eb))};em.privateToAddress=eW;let eZ=function(eb){return(0,eE.assertIsBuffer)(eb),64!==eb.length&&(eb=eV.from(eC.secp256k1.ProjectivePoint.fromHex(eb).toRawBytes(!1).slice(1))),eb};em.importPublic=eZ;let eG=function(){let eb=20,em=(0,e_.zeros)(eb);return(0,e_.bufferToHex)(em)};em.zeroAddress=eG;let eK=function(eb){try{(0,eE.assertIsString)(eb)}catch(eb){return!1}let eH=(0,em.zeroAddress)();return eH===eb};function eY(eb){let[em,eH,eV,ew]=eb;return[em,eH,0===(0,e_.arrToBufArr)(eV).length?eS.KECCAK256_RLP:eV,0===(0,e_.arrToBufArr)(ew).length?eS.KECCAK256_NULL:ew]}em.isZeroAddress=eK,em.accountBodyFromSlim=eY;let eX=new Uint8Array(0);function eJ(eb){let[em,eH,eV,ew]=eb;return[em,eH,(0,e_.arrToBufArr)(eV).equals(eS.KECCAK256_RLP)?eX:eV,(0,e_.arrToBufArr)(ew).equals(eS.KECCAK256_NULL)?eX:ew]}function eQ(eb,em=!0){let eH=em?eY(eb):eb;return(0,e_.arrToBufArr)(ew.RLP.encode(eH))}em.accountBodyToSlim=eJ,em.accountBodyToRLP=eQ},13415:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.Address=void 0;let ew=eH(78e3),eM=eH(38289);class eC{constructor(eb){if(20!==eb.length)throw Error("Invalid address length");this.buf=eb}static zero(){return new eC((0,eM.zeros)(20))}static fromString(eb){if(!(0,ew.isValidAddress)(eb))throw Error("Invalid address");return new eC((0,eM.toBuffer)(eb))}static fromPublicKey(eb){if(!eV.isBuffer(eb))throw Error("Public key should be Buffer");let em=(0,ew.pubToAddress)(eb);return new eC(em)}static fromPrivateKey(eb){if(!eV.isBuffer(eb))throw Error("Private key should be Buffer");let em=(0,ew.privateToAddress)(eb);return new eC(em)}static generate(eb,em){if("bigint"!=typeof em)throw Error("Expected nonce to be a bigint");return new eC((0,ew.generateAddress)(eb.buf,(0,eM.bigIntToBuffer)(em)))}static generate2(eb,em,eH){if(!eV.isBuffer(em))throw Error("Expected salt to be a Buffer");if(!eV.isBuffer(eH))throw Error("Expected initCode to be a Buffer");return new eC((0,ew.generateAddress2)(eb.buf,em,eH))}equals(eb){return this.buf.equals(eb.buf)}isZero(){return this.equals(eC.zero())}isPrecompileOrSystemAddress(){let eb=(0,eM.bufferToBigInt)(this.buf),em=BigInt(0),eH=BigInt("0xffff");return eb>=em&&eb<=eH}toString(){return"0x"+this.buf.toString("hex")}toBuffer(){return eV.from(this.buf)}}em.Address=eC},67285:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.AsyncEventEmitter=void 0;let eV=eH(17187);async function ew(eb,em,eH){let eV;for await(let ew of em)try{ew.length<2?ew.call(eb,eH):await new Promise((em,eV)=>{ew.call(eb,eH,eb=>{eb?eV(eb):em()})})}catch(eb){eV=eb}if(eV)throw eV}class eM extends eV.EventEmitter{emit(eb,...em){let[eH,eV]=em,eM=this,eC=eM._events[eb]??[];return void 0===eV&&"function"==typeof eH&&(eV=eH,eH=void 0),("newListener"===eb||"removeListener"===eb)&&(eH={event:eH,fn:eV},eV=void 0),ew(eM,(eC=Array.isArray(eC)?eC:[eC]).slice(),eH).then(eV).catch(eV),eM.listenerCount(eb)>0}once(eb,em){let eH;let eV=this;if("function"!=typeof em)throw TypeError("listener must be a function");return eH=em.length>=2?function(ew,eM){eV.removeListener(eb,eH),em(ew,eM)}:function(ew){eV.removeListener(eb,eH),em(ew,eH)},eV.on(eb,eH),eV}first(eb,em){let eH=this._events[eb]??[];if("function"!=typeof em)throw TypeError("listener must be a function");return Array.isArray(eH)||(this._events[eb]=eH=[eH]),eH.unshift(em),this}before(eb,em,eH){return this.beforeOrAfter(eb,em,eH)}after(eb,em,eH){return this.beforeOrAfter(eb,em,eH,"after")}beforeOrAfter(eb,em,eH,eV){let ew,eM,eC=this._events[eb]??[],eT="after"===eV?1:0;if("function"!=typeof eH)throw TypeError("listener must be a function");if("function"!=typeof em)throw TypeError("target must be a function");for(Array.isArray(eC)||(this._events[eb]=eC=[eC]),eM=eC.length,ew=eC.length;ew--;)if(eC[ew]===em){eM=ew+eT;break}return eC.splice(eM,0,eH),this}on(eb,em){return super.on(eb,em)}addListener(eb,em){return super.addListener(eb,em)}prependListener(eb,em){return super.prependListener(eb,em)}prependOnceListener(eb,em){return super.prependOnceListener(eb,em)}removeAllListeners(eb){return super.removeAllListeners(eb)}removeListener(eb,em){return super.removeListener(eb,em)}eventNames(){return super.eventNames()}listeners(eb){return super.listeners(eb)}listenerCount(eb){return super.listenerCount(eb)}getMaxListeners(){return super.getMaxListeners()}setMaxListeners(eb){return super.setMaxListeners(eb)}}em.AsyncEventEmitter=eM},38289:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.intToUnpaddedBuffer=em.bigIntToUnpaddedBuffer=em.bigIntToHex=em.bufArrToArr=em.arrToBufArr=em.validateNoLeadingZeroes=em.baToJSON=em.toUtf8=em.short=em.addHexPrefix=em.toUnsigned=em.fromSigned=em.bufferToInt=em.bigIntToBuffer=em.bufferToBigInt=em.bufferToHex=em.toBuffer=em.unpadHexString=em.unpadArray=em.unpadBuffer=em.setLengthRight=em.setLengthLeft=em.zeros=em.intToBuffer=em.intToHex=void 0;let ew=eH(38480),eM=eH(24712),eC=function(eb){if(!Number.isSafeInteger(eb)||eb<0)throw Error(`Received an invalid integer type: ${eb}`);return`0x${eb.toString(16)}`};em.intToHex=eC;let eT=function(eb){let eH=(0,em.intToHex)(eb);return eV.from((0,eM.padToEven)(eH.slice(2)),"hex")};em.intToBuffer=eT;let e_=function(eb){return eV.allocUnsafe(eb).fill(0)};em.zeros=e_;let eS=function(eb,eH,eV){let ew=(0,em.zeros)(eH);return eV?eb.length0&&"0"===em.toString();)em=(eb=eb.slice(1))[0];return eb},eI=function(eb){return(0,ew.assertIsBuffer)(eb),eN(eb)};em.unpadBuffer=eI;let eD=function(eb){return(0,ew.assertIsArray)(eb),eN(eb)};em.unpadArray=eD;let eP=function(eb){return(0,ew.assertIsHexString)(eb),"0x"+eN(eb=(0,eM.stripHexPrefix)(eb))};em.unpadHexString=eP;let eO=function(eb){if(null==eb)return eV.allocUnsafe(0);if(eV.isBuffer(eb)||Array.isArray(eb)||eb instanceof Uint8Array)return eV.from(eb);if("string"==typeof eb){if(!(0,eM.isHexString)(eb))throw Error(`Cannot convert string to buffer. toBuffer only supports 0x-prefixed hex strings and this string was given: ${eb}`);return eV.from((0,eM.padToEven)((0,eM.stripHexPrefix)(eb)),"hex")}if("number"==typeof eb)return(0,em.intToBuffer)(eb);if("bigint"==typeof eb){if(eb0&&0===eH[0])throw Error(`${em} cannot have leading zeroes, received: ${eH.toString("hex")}`)};function eX(eb){return Array.isArray(eb)?eb.map(eb=>eX(eb)):eV.from(eb)}function eJ(eb){return Array.isArray(eb)?eb.map(eb=>eJ(eb)):Uint8Array.from(eb??[])}em.validateNoLeadingZeroes=eY,em.arrToBufArr=eX,em.bufArrToArr=eJ;let eQ=eb=>"0x"+eb.toString(16);function e0(eb){return(0,em.unpadBuffer)(eF(eb))}function e6(eb){return(0,em.unpadBuffer)((0,em.intToBuffer)(eb))}em.bigIntToHex=eQ,em.bigIntToUnpaddedBuffer=e0,em.intToUnpaddedBuffer=e6},66219:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.MAX_WITHDRAWALS_PER_PAYLOAD=em.RLP_EMPTY_STRING=em.KECCAK256_RLP=em.KECCAK256_RLP_S=em.KECCAK256_RLP_ARRAY=em.KECCAK256_RLP_ARRAY_S=em.KECCAK256_NULL=em.KECCAK256_NULL_S=em.TWO_POW256=em.SECP256K1_ORDER_DIV_2=em.SECP256K1_ORDER=em.MAX_INTEGER_BIGINT=em.MAX_INTEGER=em.MAX_UINT64=void 0;let eV=eH(48764),ew=eH(95053);em.MAX_UINT64=BigInt("0xffffffffffffffff"),em.MAX_INTEGER=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),em.MAX_INTEGER_BIGINT=BigInt("115792089237316195423570985008687907853269984665640564039457584007913129639935"),em.SECP256K1_ORDER=ew.secp256k1.CURVE.n,em.SECP256K1_ORDER_DIV_2=ew.secp256k1.CURVE.n/BigInt(2),em.TWO_POW256=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),em.KECCAK256_NULL_S="c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",em.KECCAK256_NULL=eV.Buffer.from(em.KECCAK256_NULL_S,"hex"),em.KECCAK256_RLP_ARRAY_S="1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",em.KECCAK256_RLP_ARRAY=eV.Buffer.from(em.KECCAK256_RLP_ARRAY_S,"hex"),em.KECCAK256_RLP_S="56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",em.KECCAK256_RLP=eV.Buffer.from(em.KECCAK256_RLP_S,"hex"),em.RLP_EMPTY_STRING=eV.Buffer.from([128]),em.MAX_WITHDRAWALS_PER_PAYLOAD=16},33791:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.compactBytesToNibbles=em.bytesToNibbles=em.nibblesToCompactBytes=em.nibblesToBytes=em.hasTerminator=void 0;let eH=eb=>eb.length>0&&16===eb[eb.length-1];em.hasTerminator=eH;let eV=(eb,em)=>{for(let eH=0,eV=0;eV{let eH=0;(0,em.hasTerminator)(eb)&&(eH=1,eb=eb.subarray(0,eb.length-1));let eV=new Uint8Array(eb.length/2+1);return eV[0]=eH<<5,(1&eb.length)==1&&(eV[0]|=16,eV[0]|=eb[0],eb=eb.subarray(1)),(0,em.nibblesToBytes)(eb,eV.subarray(1)),eV};em.nibblesToCompactBytes=ew;let eM=eb=>{let em=2*eb.length+1,eH=new Uint8Array(em);for(let em=0;em{if(0===eb.length)return eb;let eH=(0,em.bytesToNibbles)(eb);eH[0]<2&&(eH=eH.subarray(0,eH.length-1));let eV=2-(1&eH[0]);return eH.subarray(eV)};em.compactBytesToNibbles=eC},38480:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.assertIsString=em.assertIsArray=em.assertIsBuffer=em.assertIsHexString=void 0;let ew=eH(24712),eM=function(eb){if(!(0,ew.isHexString)(eb)){let em=`This method only supports 0x-prefixed hex strings but input was: ${eb}`;throw Error(em)}};em.assertIsHexString=eM;let eC=function(eb){if(!eV.isBuffer(eb)){let em=`This method only supports Buffer but input was: ${eb}`;throw Error(em)}};em.assertIsBuffer=eC;let eT=function(eb){if(!Array.isArray(eb)){let em=`This method only supports number arrays but input was: ${eb}`;throw Error(em)}};em.assertIsArray=eT;let e_=function(eb){if("string"!=typeof eb){let em=`This method only supports strings but input was: ${eb}`;throw Error(em)}};em.assertIsString=e_},92730:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),em.toAscii=em.stripHexPrefix=em.padToEven=em.isHexString=em.isHexPrefixed=em.getKeys=em.getBinarySize=em.fromUtf8=em.fromAscii=em.arrayContainsArray=void 0,ew(eH(66219),em),ew(eH(4554),em),ew(eH(78e3),em),ew(eH(13415),em),ew(eH(44683),em),ew(eH(85026),em),ew(eH(38289),em),ew(eH(21200),em),ew(eH(33791),em),ew(eH(67285),em);var eM=eH(24712);Object.defineProperty(em,"arrayContainsArray",{enumerable:!0,get:function(){return eM.arrayContainsArray}}),Object.defineProperty(em,"fromAscii",{enumerable:!0,get:function(){return eM.fromAscii}}),Object.defineProperty(em,"fromUtf8",{enumerable:!0,get:function(){return eM.fromUtf8}}),Object.defineProperty(em,"getBinarySize",{enumerable:!0,get:function(){return eM.getBinarySize}}),Object.defineProperty(em,"getKeys",{enumerable:!0,get:function(){return eM.getKeys}}),Object.defineProperty(em,"isHexPrefixed",{enumerable:!0,get:function(){return eM.isHexPrefixed}}),Object.defineProperty(em,"isHexString",{enumerable:!0,get:function(){return eM.isHexString}}),Object.defineProperty(em,"padToEven",{enumerable:!0,get:function(){return eM.padToEven}}),Object.defineProperty(em,"stripHexPrefix",{enumerable:!0,get:function(){return eM.stripHexPrefix}}),Object.defineProperty(em,"toAscii",{enumerable:!0,get:function(){return eM.toAscii}}),ew(eH(43543),em),ew(eH(10438),em)},24712:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer;function ew(eb){if("string"!=typeof eb)throw Error(`[isHexPrefixed] input must be type 'string', received type ${typeof eb}`);return"0"===eb[0]&&"x"===eb[1]}Object.defineProperty(em,"__esModule",{value:!0}),em.isHexString=em.getKeys=em.fromAscii=em.fromUtf8=em.toAscii=em.arrayContainsArray=em.getBinarySize=em.padToEven=em.stripHexPrefix=em.isHexPrefixed=void 0,em.isHexPrefixed=ew;let eM=eb=>{if("string"!=typeof eb)throw Error(`[stripHexPrefix] input must be type 'string', received ${typeof eb}`);return ew(eb)?eb.slice(2):eb};function eC(eb){let em=eb;if("string"!=typeof em)throw Error(`[padToEven] value must be type 'string', received ${typeof em}`);return em.length%2&&(em=`0${em}`),em}function eT(eb){if("string"!=typeof eb)throw Error(`[getBinarySize] method requires input type 'string', received ${typeof eb}`);return eV.byteLength(eb,"utf8")}function e_(eb,em,eH){if(!0!==Array.isArray(eb))throw Error(`[arrayContainsArray] method requires input 'superset' to be an array, got type '${typeof eb}'`);if(!0!==Array.isArray(em))throw Error(`[arrayContainsArray] method requires input 'subset' to be an array, got type '${typeof em}'`);return em[!0===eH?"some":"every"](em=>eb.indexOf(em)>=0)}function eS(eb){let em="",eH=0,eV=eb.length;for("0x"===eb.substring(0,2)&&(eH=2);eH0)||eb.length===2+2*em)}em.stripHexPrefix=eM,em.padToEven=eC,em.getBinarySize=eT,em.arrayContainsArray=e_,em.toAscii=eS,em.fromUtf8=eE,em.fromAscii=eA,em.getKeys=eN,em.isHexString=eI},43543:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.Lock=void 0;class eH{constructor(){this.permits=1,this.promiseResolverQueue=[]}async acquire(){return this.permits>0?(this.permits-=1,Promise.resolve(!0)):new Promise(eb=>this.promiseResolverQueue.push(eb))}release(){if(this.permits+=1,this.permits>1&&this.promiseResolverQueue.length>0)console.warn("Lock.permits should never be > 0 when there is someone waiting.");else if(1===this.permits&&this.promiseResolverQueue.length>0){this.permits-=1;let eb=this.promiseResolverQueue.shift();eb&&eb(!0)}}}em.Lock=eH},10438:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.getProvider=em.fetchFromProvider=void 0;let eV=eH(64898),ew=async(eb,em)=>{let eH=await (0,eV.default)(eb,{headers:{"content-type":"application/json"},type:"json",data:{method:em.method,params:em.params,jsonrpc:"2.0",id:1}});return eH.result};em.fetchFromProvider=ew;let eM=eb=>{if("string"==typeof eb)return eb;if(eb?.connection?.url!==void 0)return eb.connection.url;throw Error("Must provide valid provider URL or Web3Provider")};em.getProvider=eM},85026:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.hashPersonalMessage=em.isValidSignature=em.fromRpcSig=em.toCompactSig=em.toRpcSig=em.ecrecover=em.ecsign=void 0;let ew=eH(82192),eM=eH(95053),eC=eH(38289),eT=eH(66219),e_=eH(38480);function eS(eb,em,eH){let ew=eM.secp256k1.sign(eb,em),eC=ew.toCompactRawBytes(),eT=eV.from(eC.slice(0,32)),e_=eV.from(eC.slice(32,64)),eS=void 0===eH?BigInt(ew.recovery+27):BigInt(ew.recovery+35)+BigInt(eH)*BigInt(2);return{r:eT,s:e_,v:eS}}function eE(eb,em){return eb===BigInt(0)||eb===BigInt(1)?eb:void 0===em?eb-BigInt(27):eb-(em*BigInt(2)+BigInt(35))}function eA(eb){return eb===BigInt(0)||eb===BigInt(1)}em.ecsign=eS;let eN=function(eb,em,eH,ew,eT){let e_=eV.concat([(0,eC.setLengthLeft)(eH,32),(0,eC.setLengthLeft)(ew,32)],64),eS=eE(em,eT);if(!eA(eS))throw Error("Invalid signature v value");let eN=eM.secp256k1.Signature.fromCompact(e_).addRecoveryBit(Number(eS)),eI=eN.recoverPublicKey(eb);return eV.from(eI.toRawBytes(!1).slice(1))};em.ecrecover=eN;let eI=function(eb,em,eH,ew){let eM=eE(eb,ew);if(!eA(eM))throw Error("Invalid signature v value");return(0,eC.bufferToHex)(eV.concat([(0,eC.setLengthLeft)(em,32),(0,eC.setLengthLeft)(eH,32),(0,eC.toBuffer)(eb)]))};em.toRpcSig=eI;let eD=function(eb,em,eH,ew){let eM=eE(eb,ew);if(!eA(eM))throw Error("Invalid signature v value");let eT=eH;return(eb>BigInt(28)&&eb%BigInt(2)===BigInt(1)||eb===BigInt(1)||eb===BigInt(28))&&(eT=eV.from(eH),eT[0]|=128),(0,eC.bufferToHex)(eV.concat([(0,eC.setLengthLeft)(em,32),(0,eC.setLengthLeft)(eT,32)]))};em.toCompactSig=eD;let eP=function(eb){let em,eH,eV;let ew=(0,eC.toBuffer)(eb);if(ew.length>=65)em=ew.slice(0,32),eH=ew.slice(32,64),eV=(0,eC.bufferToBigInt)(ew.slice(64));else if(64===ew.length)em=ew.slice(0,32),eH=ew.slice(32,64),eV=BigInt((0,eC.bufferToInt)(ew.slice(32,33))>>7),eH[0]&=127;else throw Error("Invalid signature length");return eV<27&&(eV+=BigInt(27)),{v:eV,r:em,s:eH}};em.fromRpcSig=eP;let eO=function(eb,em,eH,eV=!0,ew){if(32!==em.length||32!==eH.length||!eA(eE(eb,ew)))return!1;let eM=(0,eC.bufferToBigInt)(em),e_=(0,eC.bufferToBigInt)(eH);return eM!==BigInt(0)&&!(eM>=eT.SECP256K1_ORDER)&&e_!==BigInt(0)&&!(e_>=eT.SECP256K1_ORDER)&&(!eV||!(e_>=eT.SECP256K1_ORDER_DIV_2))};em.isValidSignature=eO;let eR=function(eb){(0,e_.assertIsBuffer)(eb);let em=eV.from(`\u0019Ethereum Signed Message: -${eb.length}`,"utf-8");return eV.from((0,ew.keccak256)(eV.concat([em,eb])))};em.hashPersonalMessage=eR},21200:function(eb,em,eH){"use strict";var eV;Object.defineProperty(em,"__esModule",{value:!0}),em.toType=em.TypeOutput=void 0;let ew=eH(38289),eM=eH(24712);function eC(eb,em){if(null===eb)return null;if(void 0===eb)return;if("string"!=typeof eb||(0,eM.isHexString)(eb)){if("number"==typeof eb&&!Number.isSafeInteger(eb))throw Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)")}else throw Error(`A string must be provided with a 0x-prefix, given: ${eb}`);let eH=(0,ew.toBuffer)(eb);switch(em){case eV.Buffer:return eH;case eV.BigInt:return(0,ew.bufferToBigInt)(eH);case eV.Number:{let eb=(0,ew.bufferToBigInt)(eH);if(eb>BigInt(Number.MAX_SAFE_INTEGER))throw Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative output type)");return Number(eb)}case eV.PrefixedHexString:return(0,ew.bufferToHex)(eH);default:throw Error("unknown outputType")}}!function(eb){eb[eb.Number=0]="Number",eb[eb.BigInt=1]="BigInt",eb[eb.Buffer=2]="Buffer",eb[eb.PrefixedHexString=3]="PrefixedHexString"}(eV=em.TypeOutput||(em.TypeOutput={})),em.toType=eC},4554:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.GWEI_TO_WEI=void 0,em.GWEI_TO_WEI=BigInt(1e9)},44683:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.Withdrawal=void 0;let ew=eH(13415),eM=eH(38289),eC=eH(21200);class eT{constructor(eb,em,eH,eV){this.index=eb,this.validatorIndex=em,this.address=eH,this.amount=eV}static fromWithdrawalData(eb){let{index:em,validatorIndex:eH,address:eV,amount:eM}=eb,e_=(0,eC.toType)(em,eC.TypeOutput.BigInt),eS=(0,eC.toType)(eH,eC.TypeOutput.BigInt),eE=new ew.Address((0,eC.toType)(eV,eC.TypeOutput.Buffer)),eA=(0,eC.toType)(eM,eC.TypeOutput.BigInt);return new eT(e_,eS,eE,eA)}static fromValuesArray(eb){if(4!==eb.length)throw Error(`Invalid withdrawalArray length expected=4 actual=${eb.length}`);let[em,eH,eV,ew]=eb;return eT.fromWithdrawalData({index:em,validatorIndex:eH,address:eV,amount:ew})}static toBufferArray(eb){let em;let{index:eH,validatorIndex:eM,address:eT,amount:e_}=eb,eS=(0,eC.toType)(eH,eC.TypeOutput.BigInt)===BigInt(0)?eV.alloc(0):(0,eC.toType)(eH,eC.TypeOutput.Buffer),eE=(0,eC.toType)(eM,eC.TypeOutput.BigInt)===BigInt(0)?eV.alloc(0):(0,eC.toType)(eM,eC.TypeOutput.Buffer);em=eT instanceof ew.Address?eT.buf:(0,eC.toType)(eT,eC.TypeOutput.Buffer);let eA=(0,eC.toType)(e_,eC.TypeOutput.BigInt)===BigInt(0)?eV.alloc(0):(0,eC.toType)(e_,eC.TypeOutput.Buffer);return[eS,eE,em,eA]}raw(){return eT.toBufferArray(this)}toValue(){return{index:this.index,validatorIndex:this.validatorIndex,address:this.address.buf,amount:this.amount}}toJSON(){return{index:(0,eM.bigIntToHex)(this.index),validatorIndex:(0,eM.bigIntToHex)(this.validatorIndex),address:"0x"+this.address.buf.toString("hex"),amount:(0,eM.bigIntToHex)(this.amount)}}}em.Withdrawal=eT},95851:function(eb,em,eH){"use strict";eH.d(em,{i:function(){return eV}});let eV="abi/5.7.0"},84243:function(eb,em,eH){"use strict";eH.d(em,{R:function(){return eQ},$:function(){return e0}});var eV=eH(16441),ew=eH(6881),eM=eH(1581),eC=eH(95851),eT=eH(61184),e_=eH(19485);class eS extends eT.XI{constructor(eb){super("address","address",eb,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(eb,em){try{em=(0,e_.Kn)(em)}catch(eb){this._throwError(eb.message,em)}return eb.writeValue(em)}decode(eb){return(0,e_.Kn)((0,eV.$m)(eb.readValue().toHexString(),20))}}class eE extends eT.XI{constructor(eb){super(eb.name,eb.type,void 0,eb.dynamic),this.coder=eb}defaultValue(){return this.coder.defaultValue()}encode(eb,em){return this.coder.encode(eb,em)}decode(eb){return this.coder.decode(eb)}}let eA=new eM.Yd(eC.i);function eN(eb,em,eH){let eV=null;if(Array.isArray(eH))eV=eH;else if(eH&&"object"==typeof eH){let eb={};eV=em.map(em=>{let eV=em.localName;return eV||eA.throwError("cannot encode object for signature with missing names",eM.Yd.errors.INVALID_ARGUMENT,{argument:"values",coder:em,value:eH}),eb[eV]&&eA.throwError("cannot encode object for signature with duplicate names",eM.Yd.errors.INVALID_ARGUMENT,{argument:"values",coder:em,value:eH}),eb[eV]=!0,eH[eV]})}else eA.throwArgumentError("invalid tuple value","tuple",eH);em.length!==eV.length&&eA.throwArgumentError("types/value length mismatch","tuple",eH);let ew=new eT.QV(eb.wordSize),eC=new eT.QV(eb.wordSize),e_=[];return em.forEach((eb,em)=>{let eH=eV[em];if(eb.dynamic){let em=eC.length;eb.encode(eC,eH);let eV=ew.writeUpdatableValue();e_.push(eb=>{eV(eb+em)})}else eb.encode(ew,eH)}),e_.forEach(eb=>{eb(ew.length)}),eb.appendWriter(ew)+eb.appendWriter(eC)}function eI(eb,em){let eH=[],eV=eb.subReader(0);em.forEach(em=>{let ew=null;if(em.dynamic){let eH=eb.readValue(),eC=eV.subReader(eH.toNumber());try{ew=em.decode(eC)}catch(eb){if(eb.code===eM.Yd.errors.BUFFER_OVERRUN)throw eb;(ew=eb).baseType=em.name,ew.name=em.localName,ew.type=em.type}}else try{ew=em.decode(eb)}catch(eb){if(eb.code===eM.Yd.errors.BUFFER_OVERRUN)throw eb;(ew=eb).baseType=em.name,ew.name=em.localName,ew.type=em.type}void 0!=ew&&eH.push(ew)});let ew=em.reduce((eb,em)=>{let eH=em.localName;return eH&&(eb[eH]||(eb[eH]=0),eb[eH]++),eb},{});em.forEach((eb,em)=>{let eV=eb.localName;if(!eV||1!==ew[eV]||("length"===eV&&(eV="_length"),null!=eH[eV]))return;let eM=eH[em];eM instanceof Error?Object.defineProperty(eH,eV,{enumerable:!0,get:()=>{throw eM}}):eH[eV]=eM});for(let eb=0;eb{throw em}})}return Object.freeze(eH)}class eD extends eT.XI{constructor(eb,em,eH){let eV=eb.type+"["+(em>=0?em:"")+"]",ew=-1===em||eb.dynamic;super("array",eV,eH,ew),this.coder=eb,this.length=em}defaultValue(){let eb=this.coder.defaultValue(),em=[];for(let eH=0;eHeb._data.length&&eA.throwError("insufficient data length",eM.Yd.errors.BUFFER_OVERRUN,{length:eb._data.length,count:em});let eH=[];for(let eb=0;eb{eb.dynamic&&(eH=!0),eV.push(eb.type)});let ew="tuple("+eV.join(",")+")";super("tuple",ew,em,eH),this.coders=eb}defaultValue(){let eb=[];this.coders.forEach(em=>{eb.push(em.defaultValue())});let em=this.coders.reduce((eb,em)=>{let eH=em.localName;return eH&&(eb[eH]||(eb[eH]=0),eb[eH]++),eb},{});return this.coders.forEach((eH,eV)=>{let ew=eH.localName;ew&&1===em[ew]&&("length"===ew&&(ew="_length"),null==eb[ew]&&(eb[ew]=eb[eV]))}),Object.freeze(eb)}encode(eb,em){return eN(eb,this.coders,em)}decode(eb){return eb.coerce(this.name,eI(eb,this.coders))}}var eK=eH(11388);let eY=new eM.Yd(eC.i),eX=new RegExp(/^bytes([0-9]*)$/),eJ=new RegExp(/^(u?int)([0-9]*)$/);class eQ{constructor(eb){(0,ew.zG)(this,"coerceFunc",eb||null)}_getCoder(eb){switch(eb.baseType){case"address":return new eS(eb.name);case"bool":return new eP(eb.name);case"string":return new eZ(eb.name);case"bytes":return new eR(eb.name);case"array":return new eD(this._getCoder(eb.arrayChildren),eb.arrayLength,eb.name);case"tuple":return new eG((eb.components||[]).map(eb=>this._getCoder(eb)),eb.name);case"":return new eF(eb.name)}let em=eb.type.match(eJ);if(em){let eH=parseInt(em[2]||"256");return(0===eH||eH>256||eH%8!=0)&&eY.throwArgumentError("invalid "+em[1]+" bit length","param",eb),new e$(eH/8,"int"===em[1],eb.name)}if(em=eb.type.match(eX)){let eH=parseInt(em[1]);return(0===eH||eH>32)&&eY.throwArgumentError("invalid bytes length","param",eb),new eB(eH,eb.name)}return eY.throwArgumentError("invalid type","type",eb.type)}_getWordSize(){return 32}_getReader(eb,em){return new eT.Ej(eb,this._getWordSize(),this.coerceFunc,em)}_getWriter(){return new eT.QV(this._getWordSize())}getDefaultValue(eb){let em=eb.map(eb=>this._getCoder(eK._R.from(eb))),eH=new eG(em,"_");return eH.defaultValue()}encode(eb,em){eb.length!==em.length&&eY.throwError("types/values length mismatch",eM.Yd.errors.INVALID_ARGUMENT,{count:{types:eb.length,values:em.length},value:{types:eb,values:em}});let eH=eb.map(eb=>this._getCoder(eK._R.from(eb))),eV=new eG(eH,"_"),ew=this._getWriter();return eV.encode(ew,em),ew.data}decode(eb,em,eH){let ew=eb.map(eb=>this._getCoder(eK._R.from(eb))),eM=new eG(ew,"_");return eM.decode(this._getReader((0,eV.lE)(em),eH))}}let e0=new eQ},61184:function(eb,em,eH){"use strict";eH.d(em,{BR:function(){return eS},Ej:function(){return eN},QV:function(){return eA},XI:function(){return eE}});var eV=eH(16441),ew=eH(2593),eM=eH(6881),eC=eH(1581),eT=eH(95851);let e_=new eC.Yd(eT.i);function eS(eb){let em=[],eH=function(eb,eV){if(Array.isArray(eV))for(let ew in eV){let eM=eb.slice();eM.push(ew);try{eH(eM,eV[ew])}catch(eb){em.push({path:eM,error:eb})}}};return eH([],eb),em}class eE{constructor(eb,em,eH,eV){this.name=eb,this.type=em,this.localName=eH,this.dynamic=eV}_throwError(eb,em){e_.throwArgumentError(eb,this.localName,em)}}class eA{constructor(eb){(0,eM.zG)(this,"wordSize",eb||32),this._data=[],this._dataLength=0,this._padding=new Uint8Array(eb)}get data(){return(0,eV.xs)(this._data)}get length(){return this._dataLength}_writeData(eb){return this._data.push(eb),this._dataLength+=eb.length,eb.length}appendWriter(eb){return this._writeData((0,eV.zo)(eb._data))}writeBytes(eb){let em=(0,eV.lE)(eb),eH=em.length%this.wordSize;return eH&&(em=(0,eV.zo)([em,this._padding.slice(eH)])),this._writeData(em)}_getValue(eb){let em=(0,eV.lE)(ew.O$.from(eb));return em.length>this.wordSize&&e_.throwError("value out-of-bounds",eC.Yd.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:em.length}),em.length%this.wordSize&&(em=(0,eV.zo)([this._padding.slice(em.length%this.wordSize),em])),em}writeValue(eb){return this._writeData(this._getValue(eb))}writeUpdatableValue(){let eb=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,em=>{this._data[eb]=this._getValue(em)}}}class eN{constructor(eb,em,eH,ew){(0,eM.zG)(this,"_data",(0,eV.lE)(eb)),(0,eM.zG)(this,"wordSize",em||32),(0,eM.zG)(this,"_coerceFunc",eH),(0,eM.zG)(this,"allowLoose",ew),this._offset=0}get data(){return(0,eV.Dv)(this._data)}get consumed(){return this._offset}static coerce(eb,em){let eH=eb.match("^u?int([0-9]+)$");return eH&&48>=parseInt(eH[1])&&(em=em.toNumber()),em}coerce(eb,em){return this._coerceFunc?this._coerceFunc(eb,em):eN.coerce(eb,em)}_peekBytes(eb,em,eH){let eV=Math.ceil(em/this.wordSize)*this.wordSize;return this._offset+eV>this._data.length&&(this.allowLoose&&eH&&this._offset+em<=this._data.length?eV=em:e_.throwError("data out-of-bounds",eC.Yd.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+eV})),this._data.slice(this._offset,this._offset+eV)}subReader(eb){return new eN(this._data.slice(this._offset+eb),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(eb,em){let eH=this._peekBytes(0,eb,!!em);return this._offset+=eH.length,eH.slice(0,eb)}readValue(){return ew.O$.from(this.readBytes(this.wordSize))}}},11388:function(eb,em,eH){"use strict";eH.d(em,{HY:function(){return eB},IC:function(){return eK},QV:function(){return eF},Xg:function(){return eW},YW:function(){return eZ},_R:function(){return eO},pc:function(){return eD}});var eV=eH(2593),ew=eH(6881),eM=eH(1581),eC=eH(95851);let eT=new eM.Yd(eC.i),e_={},eS={calldata:!0,memory:!0,storage:!0},eE={calldata:!0,memory:!0};function eA(eb,em){if("bytes"===eb||"string"===eb){if(eS[em])return!0}else if("address"===eb){if("payable"===em)return!0}else if((eb.indexOf("[")>=0||"tuple"===eb)&&eE[em])return!0;return(eS[em]||"payable"===em)&&eT.throwArgumentError("invalid modifier","name",em),!1}function eN(eb,em){let eH=eb;function eV(em){eT.throwArgumentError(`unexpected character at position ${em}`,"param",eb)}function ew(eb){let eH={type:"",name:"",parent:eb,state:{allowType:!0}};return em&&(eH.indexed=!1),eH}eb=eb.replace(/\s/g," ");let eM={type:"",name:"",state:{allowType:!0}},eC=eM;for(let eH=0;eHJSON.parse(em.format(eb)))),JSON.stringify(em)}let em="";return"array"===this.baseType?em+=this.arrayChildren.format(eb)+"["+(this.arrayLength<0?"":String(this.arrayLength))+"]":"tuple"===this.baseType?(eb!==eD.sighash&&(em+=this.type),em+="("+this.components.map(em=>em.format(eb)).join(eb===eD.full?", ":",")+")"):em+=this.type,eb!==eD.sighash&&(!0===this.indexed&&(em+=" indexed"),eb===eD.full&&this.name&&(em+=" "+this.name)),em}static from(eb,em){return"string"==typeof eb?eO.fromString(eb,em):eO.fromObject(eb)}static fromObject(eb){return eO.isParamType(eb)?eb:new eO(e_,{name:eb.name||null,type:eY(eb.type),indexed:null==eb.indexed?null:!!eb.indexed,components:eb.components?eb.components.map(eO.fromObject):null})}static fromString(eb,em){return function(eb){return eO.fromObject({name:eb.name,type:eb.type,indexed:eb.indexed,components:eb.components})}(eN(eb,!!em))}static isParamType(eb){return!!(null!=eb&&eb._isParamType)}}function eR(eb,em){return e0(eb).map(eb=>eO.fromString(eb,em))}class eB{constructor(eb,em){eb!==e_&&eT.throwError("use a static from method",eM.Yd.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),eI(this,em),this._isFragment=!0,Object.freeze(this)}static from(eb){return eB.isFragment(eb)?eb:"string"==typeof eb?eB.fromString(eb):eB.fromObject(eb)}static fromObject(eb){if(eB.isFragment(eb))return eb;switch(eb.type){case"function":return eZ.fromObject(eb);case"event":return eF.fromObject(eb);case"constructor":return eW.fromObject(eb);case"error":return eK.fromObject(eb);case"fallback":case"receive":return null}return eT.throwArgumentError("invalid fragment object","value",eb)}static fromString(eb){return"event"===(eb=(eb=(eb=eb.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).split(" ")[0]?eF.fromString(eb.substring(5).trim()):"function"===eb.split(" ")[0]?eZ.fromString(eb.substring(8).trim()):"constructor"===eb.split("(")[0].trim()?eW.fromString(eb.trim()):"error"===eb.split(" ")[0]?eK.fromString(eb.substring(5).trim()):eT.throwArgumentError("unsupported fragment","value",eb)}static isFragment(eb){return!!(eb&&eb._isFragment)}}class eF extends eB{format(eb){if(eb||(eb=eD.sighash),eD[eb]||eT.throwArgumentError("invalid format type","format",eb),eb===eD.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(em=>JSON.parse(em.format(eb)))});let em="";return eb!==eD.sighash&&(em+="event "),em+=this.name+"("+this.inputs.map(em=>em.format(eb)).join(eb===eD.full?", ":",")+") ",eb!==eD.sighash&&this.anonymous&&(em+="anonymous "),em.trim()}static from(eb){return"string"==typeof eb?eF.fromString(eb):eF.fromObject(eb)}static fromObject(eb){if(eF.isEventFragment(eb))return eb;"event"!==eb.type&&eT.throwArgumentError("invalid event object","value",eb);let em={name:eJ(eb.name),anonymous:eb.anonymous,inputs:eb.inputs?eb.inputs.map(eO.fromObject):[],type:"event"};return new eF(e_,em)}static fromString(eb){let em=eb.match(eQ);em||eT.throwArgumentError("invalid event string","value",eb);let eH=!1;return em[3].split(" ").forEach(eb=>{switch(eb.trim()){case"anonymous":eH=!0;break;case"":break;default:eT.warn("unknown modifier: "+eb)}}),eF.fromObject({name:em[1].trim(),anonymous:eH,inputs:eR(em[2],!0),type:"event"})}static isEventFragment(eb){return eb&&eb._isFragment&&"event"===eb.type}}function ej(eb,em){em.gas=null;let eH=eb.split("@");return 1!==eH.length?(eH.length>2&&eT.throwArgumentError("invalid human-readable ABI signature","value",eb),eH[1].match(/^[0-9]+$/)||eT.throwArgumentError("invalid human-readable ABI signature gas","value",eb),em.gas=eV.O$.from(eH[1]),eH[0]):eb}function eU(eb,em){em.constant=!1,em.payable=!1,em.stateMutability="nonpayable",eb.split(" ").forEach(eb=>{switch(eb.trim()){case"constant":em.constant=!0;break;case"payable":em.payable=!0,em.stateMutability="payable";break;case"nonpayable":em.payable=!1,em.stateMutability="nonpayable";break;case"pure":em.constant=!0,em.stateMutability="pure";break;case"view":em.constant=!0,em.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+eb)}})}function e$(eb){let em={constant:!1,payable:!0,stateMutability:"payable"};return null!=eb.stateMutability?(em.stateMutability=eb.stateMutability,em.constant="view"===em.stateMutability||"pure"===em.stateMutability,null!=eb.constant&&!!eb.constant!==em.constant&&eT.throwArgumentError("cannot have constant function with mutability "+em.stateMutability,"value",eb),em.payable="payable"===em.stateMutability,null!=eb.payable&&!!eb.payable!==em.payable&&eT.throwArgumentError("cannot have payable function with mutability "+em.stateMutability,"value",eb)):null!=eb.payable?(em.payable=!!eb.payable,null!=eb.constant||em.payable||"constructor"===eb.type||eT.throwArgumentError("unable to determine stateMutability","value",eb),em.constant=!!eb.constant,em.constant?em.stateMutability="view":em.stateMutability=em.payable?"payable":"nonpayable",em.payable&&em.constant&&eT.throwArgumentError("cannot have constant payable function","value",eb)):null!=eb.constant?(em.constant=!!eb.constant,em.payable=!em.constant,em.stateMutability=em.constant?"view":"payable"):"constructor"!==eb.type&&eT.throwArgumentError("unable to determine stateMutability","value",eb),em}class eW extends eB{format(eb){if(eb||(eb=eD.sighash),eD[eb]||eT.throwArgumentError("invalid format type","format",eb),eb===eD.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(em=>JSON.parse(em.format(eb)))});eb===eD.sighash&&eT.throwError("cannot format a constructor for sighash",eM.Yd.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let em="constructor("+this.inputs.map(em=>em.format(eb)).join(eb===eD.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(em+=this.stateMutability+" "),em.trim()}static from(eb){return"string"==typeof eb?eW.fromString(eb):eW.fromObject(eb)}static fromObject(eb){if(eW.isConstructorFragment(eb))return eb;"constructor"!==eb.type&&eT.throwArgumentError("invalid constructor object","value",eb);let em=e$(eb);em.constant&&eT.throwArgumentError("constructor cannot be constant","value",eb);let eH={name:null,type:eb.type,inputs:eb.inputs?eb.inputs.map(eO.fromObject):[],payable:em.payable,stateMutability:em.stateMutability,gas:eb.gas?eV.O$.from(eb.gas):null};return new eW(e_,eH)}static fromString(eb){let em={type:"constructor"},eH=(eb=ej(eb,em)).match(eQ);return eH&&"constructor"===eH[1].trim()||eT.throwArgumentError("invalid constructor string","value",eb),em.inputs=eR(eH[2].trim(),!1),eU(eH[3].trim(),em),eW.fromObject(em)}static isConstructorFragment(eb){return eb&&eb._isFragment&&"constructor"===eb.type}}class eZ extends eW{format(eb){if(eb||(eb=eD.sighash),eD[eb]||eT.throwArgumentError("invalid format type","format",eb),eb===eD.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(em=>JSON.parse(em.format(eb))),outputs:this.outputs.map(em=>JSON.parse(em.format(eb)))});let em="";return eb!==eD.sighash&&(em+="function "),em+=this.name+"("+this.inputs.map(em=>em.format(eb)).join(eb===eD.full?", ":",")+") ",eb!==eD.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(em+=this.stateMutability+" "):this.constant&&(em+="view "),this.outputs&&this.outputs.length&&(em+="returns ("+this.outputs.map(em=>em.format(eb)).join(", ")+") "),null!=this.gas&&(em+="@"+this.gas.toString()+" ")),em.trim()}static from(eb){return"string"==typeof eb?eZ.fromString(eb):eZ.fromObject(eb)}static fromObject(eb){if(eZ.isFunctionFragment(eb))return eb;"function"!==eb.type&&eT.throwArgumentError("invalid function object","value",eb);let em=e$(eb),eH={type:eb.type,name:eJ(eb.name),constant:em.constant,inputs:eb.inputs?eb.inputs.map(eO.fromObject):[],outputs:eb.outputs?eb.outputs.map(eO.fromObject):[],payable:em.payable,stateMutability:em.stateMutability,gas:eb.gas?eV.O$.from(eb.gas):null};return new eZ(e_,eH)}static fromString(eb){let em={type:"function"},eH=(eb=ej(eb,em)).split(" returns ");eH.length>2&&eT.throwArgumentError("invalid function string","value",eb);let eV=eH[0].match(eQ);if(eV||eT.throwArgumentError("invalid function signature","value",eb),em.name=eV[1].trim(),em.name&&eJ(em.name),em.inputs=eR(eV[2],!1),eU(eV[3].trim(),em),eH.length>1){let eV=eH[1].match(eQ);(""!=eV[1].trim()||""!=eV[3].trim())&&eT.throwArgumentError("unexpected tokens","value",eb),em.outputs=eR(eV[2],!1)}else em.outputs=[];return eZ.fromObject(em)}static isFunctionFragment(eb){return eb&&eb._isFragment&&"function"===eb.type}}function eG(eb){let em=eb.format();return("Error(string)"===em||"Panic(uint256)"===em)&&eT.throwArgumentError(`cannot specify user defined ${em} error`,"fragment",eb),eb}class eK extends eB{format(eb){if(eb||(eb=eD.sighash),eD[eb]||eT.throwArgumentError("invalid format type","format",eb),eb===eD.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(em=>JSON.parse(em.format(eb)))});let em="";return eb!==eD.sighash&&(em+="error "),(em+=this.name+"("+this.inputs.map(em=>em.format(eb)).join(eb===eD.full?", ":",")+") ").trim()}static from(eb){return"string"==typeof eb?eK.fromString(eb):eK.fromObject(eb)}static fromObject(eb){if(eK.isErrorFragment(eb))return eb;"error"!==eb.type&&eT.throwArgumentError("invalid error object","value",eb);let em={type:eb.type,name:eJ(eb.name),inputs:eb.inputs?eb.inputs.map(eO.fromObject):[]};return eG(new eK(e_,em))}static fromString(eb){let em={type:"error"},eH=eb.match(eQ);return eH||eT.throwArgumentError("invalid error signature","value",eb),em.name=eH[1].trim(),em.name&&eJ(em.name),em.inputs=eR(eH[2],!1),eG(eK.fromObject(em))}static isErrorFragment(eb){return eb&&eb._isFragment&&"error"===eb.type}}function eY(eb){return eb.match(/^uint($|[^1-9])/)?eb="uint256"+eb.substring(4):eb.match(/^int($|[^1-9])/)&&(eb="int256"+eb.substring(3)),eb}let eX=RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function eJ(eb){return eb&&eb.match(eX)||eT.throwArgumentError(`invalid identifier "${eb}"`,"value",eb),eb}let eQ=RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");function e0(eb){eb=eb.trim();let em=[],eH="",eV=0;for(let ew=0;eweE.HY.from(eb)).filter(eb=>null!=eb)),(0,e_.zG)(this,"_abiCoder",(0,e_.tu)(new.target,"getAbiCoder")()),(0,e_.zG)(this,"functions",{}),(0,e_.zG)(this,"errors",{}),(0,e_.zG)(this,"events",{}),(0,e_.zG)(this,"structs",{}),this.fragments.forEach(eb=>{let em=null;switch(eb.type){case"constructor":if(this.deploy){eI.warn("duplicate definition - constructor");return}(0,e_.zG)(this,"deploy",eb);return;case"function":em=this.functions;break;case"event":em=this.events;break;case"error":em=this.errors;break;default:return}let eH=eb.format();if(em[eH]){eI.warn("duplicate definition - "+eH);return}em[eH]=eb}),this.deploy||(0,e_.zG)(this,"deploy",eE.Xg.from({payable:!1,type:"constructor"})),(0,e_.zG)(this,"_isInterface",!0)}format(eb){eb||(eb=eE.pc.full),eb===eE.pc.sighash&&eI.throwArgumentError("interface does not support formatting sighash","format",eb);let em=this.fragments.map(em=>em.format(eb));return eb===eE.pc.json?JSON.stringify(em.map(eb=>JSON.parse(eb))):em}static getAbiCoder(){return eS.$}static getAddress(eb){return(0,eV.Kn)(eb)}static getSighash(eb){return(0,eM.p3)((0,eC.id)(eb.format()),0,4)}static getEventTopic(eb){return(0,eC.id)(eb.format())}getFunction(eb){if((0,eM.A7)(eb)){for(let em in this.functions)if(eb===this.getSighash(em))return this.functions[em];eI.throwArgumentError("no matching function","sighash",eb)}if(-1===eb.indexOf("(")){let em=eb.trim(),eH=Object.keys(this.functions).filter(eb=>eb.split("(")[0]===em);return 0===eH.length?eI.throwArgumentError("no matching function","name",em):eH.length>1&&eI.throwArgumentError("multiple matching functions","name",em),this.functions[eH[0]]}let em=this.functions[eE.YW.fromString(eb).format()];return em||eI.throwArgumentError("no matching function","signature",eb),em}getEvent(eb){if((0,eM.A7)(eb)){let em=eb.toLowerCase();for(let eb in this.events)if(em===this.getEventTopic(eb))return this.events[eb];eI.throwArgumentError("no matching event","topichash",em)}if(-1===eb.indexOf("(")){let em=eb.trim(),eH=Object.keys(this.events).filter(eb=>eb.split("(")[0]===em);return 0===eH.length?eI.throwArgumentError("no matching event","name",em):eH.length>1&&eI.throwArgumentError("multiple matching events","name",em),this.events[eH[0]]}let em=this.events[eE.QV.fromString(eb).format()];return em||eI.throwArgumentError("no matching event","signature",eb),em}getError(eb){if((0,eM.A7)(eb)){let em=(0,e_.tu)(this.constructor,"getSighash");for(let eH in this.errors){let eV=this.errors[eH];if(eb===em(eV))return this.errors[eH]}eI.throwArgumentError("no matching error","sighash",eb)}if(-1===eb.indexOf("(")){let em=eb.trim(),eH=Object.keys(this.errors).filter(eb=>eb.split("(")[0]===em);return 0===eH.length?eI.throwArgumentError("no matching error","name",em):eH.length>1&&eI.throwArgumentError("multiple matching errors","name",em),this.errors[eH[0]]}let em=this.errors[eE.YW.fromString(eb).format()];return em||eI.throwArgumentError("no matching error","signature",eb),em}getSighash(eb){if("string"==typeof eb)try{eb=this.getFunction(eb)}catch(em){try{eb=this.getError(eb)}catch(eb){throw em}}return(0,e_.tu)(this.constructor,"getSighash")(eb)}getEventTopic(eb){return"string"==typeof eb&&(eb=this.getEvent(eb)),(0,e_.tu)(this.constructor,"getEventTopic")(eb)}_decodeParams(eb,em){return this._abiCoder.decode(eb,em)}_encodeParams(eb,em){return this._abiCoder.encode(eb,em)}encodeDeploy(eb){return this._encodeParams(this.deploy.inputs,eb||[])}decodeErrorResult(eb,em){"string"==typeof eb&&(eb=this.getError(eb));let eH=(0,eM.lE)(em);return(0,eM.Dv)(eH.slice(0,4))!==this.getSighash(eb)&&eI.throwArgumentError(`data signature does not match error ${eb.name}.`,"data",(0,eM.Dv)(eH)),this._decodeParams(eb.inputs,eH.slice(4))}encodeErrorResult(eb,em){return"string"==typeof eb&&(eb=this.getError(eb)),(0,eM.Dv)((0,eM.zo)([this.getSighash(eb),this._encodeParams(eb.inputs,em||[])]))}decodeFunctionData(eb,em){"string"==typeof eb&&(eb=this.getFunction(eb));let eH=(0,eM.lE)(em);return(0,eM.Dv)(eH.slice(0,4))!==this.getSighash(eb)&&eI.throwArgumentError(`data signature does not match function ${eb.name}.`,"data",(0,eM.Dv)(eH)),this._decodeParams(eb.inputs,eH.slice(4))}encodeFunctionData(eb,em){return"string"==typeof eb&&(eb=this.getFunction(eb)),(0,eM.Dv)((0,eM.zo)([this.getSighash(eb),this._encodeParams(eb.inputs,em||[])]))}decodeFunctionResult(eb,em){"string"==typeof eb&&(eb=this.getFunction(eb));let eH=(0,eM.lE)(em),eV=null,ew="",eC=null,eT=null,e_=null;switch(eH.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(eb.outputs,eH)}catch(eb){}break;case 4:{let eb=(0,eM.Dv)(eH.slice(0,4)),em=eB[eb];if(em)eC=this._abiCoder.decode(em.inputs,eH.slice(4)),eT=em.name,e_=em.signature,em.reason&&(eV=eC[0]),"Error"===eT?ew=`; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(eC[0])}`:"Panic"===eT&&(ew=`; VM Exception while processing transaction: reverted with panic code ${eC[0]}`);else try{let em=this.getError(eb);eC=this._abiCoder.decode(em.inputs,eH.slice(4)),eT=em.name,e_=em.format()}catch(eb){}}}return eI.throwError("call revert exception"+ew,eA.Yd.errors.CALL_EXCEPTION,{method:eb.format(),data:(0,eM.Dv)(em),errorArgs:eC,errorName:eT,errorSignature:e_,reason:eV})}encodeFunctionResult(eb,em){return"string"==typeof eb&&(eb=this.getFunction(eb)),(0,eM.Dv)(this._abiCoder.encode(eb.outputs,em||[]))}encodeFilterTopics(eb,em){"string"==typeof eb&&(eb=this.getEvent(eb)),em.length>eb.inputs.length&&eI.throwError("too many arguments for "+eb.format(),eA.Yd.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:em});let eH=[];eb.anonymous||eH.push(this.getEventTopic(eb));let eV=(eb,em)=>"string"===eb.type?(0,eC.id)(em):"bytes"===eb.type?(0,eT.w)((0,eM.Dv)(em)):("bool"===eb.type&&"boolean"==typeof em&&(em=em?"0x01":"0x00"),eb.type.match(/^u?int/)&&(em=ew.O$.from(em).toHexString()),"address"===eb.type&&this._abiCoder.encode(["address"],[em]),(0,eM.$m)((0,eM.Dv)(em),32));for(em.forEach((em,ew)=>{let eM=eb.inputs[ew];if(!eM.indexed){null!=em&&eI.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+eM.name,em);return}null==em?eH.push(null):"array"===eM.baseType||"tuple"===eM.baseType?eI.throwArgumentError("filtering with tuples or arrays not supported","contract."+eM.name,em):Array.isArray(em)?eH.push(em.map(eb=>eV(eM,eb))):eH.push(eV(eM,em))});eH.length&&null===eH[eH.length-1];)eH.pop();return eH}encodeEventLog(eb,em){"string"==typeof eb&&(eb=this.getEvent(eb));let eH=[],eV=[],ew=[];return eb.anonymous||eH.push(this.getEventTopic(eb)),em.length!==eb.inputs.length&&eI.throwArgumentError("event arguments/values mismatch","values",em),eb.inputs.forEach((eb,eM)=>{let e_=em[eM];if(eb.indexed){if("string"===eb.type)eH.push((0,eC.id)(e_));else if("bytes"===eb.type)eH.push((0,eT.w)(e_));else if("tuple"===eb.baseType||"array"===eb.baseType)throw Error("not implemented");else eH.push(this._abiCoder.encode([eb.type],[e_]))}else eV.push(eb),ew.push(e_)}),{data:this._abiCoder.encode(eV,ew),topics:eH}}decodeEventLog(eb,em,eH){if("string"==typeof eb&&(eb=this.getEvent(eb)),null!=eH&&!eb.anonymous){let em=this.getEventTopic(eb);(0,eM.A7)(eH[0],32)&&eH[0].toLowerCase()===em||eI.throwError("fragment/topic mismatch",eA.Yd.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:em,value:eH[0]}),eH=eH.slice(1)}let eV=[],ew=[],eC=[];eb.inputs.forEach((eb,em)=>{eb.indexed?"string"===eb.type||"bytes"===eb.type||"tuple"===eb.baseType||"array"===eb.baseType?(eV.push(eE._R.fromObject({type:"bytes32",name:eb.name})),eC.push(!0)):(eV.push(eb),eC.push(!1)):(ew.push(eb),eC.push(!1))});let eT=null!=eH?this._abiCoder.decode(eV,(0,eM.zo)(eH)):null,e_=this._abiCoder.decode(ew,em,!0),eS=[],eN=0,eD=0;eb.inputs.forEach((eb,em)=>{if(eb.indexed){if(null==eT)eS[em]=new eR({_isIndexed:!0,hash:null});else if(eC[em])eS[em]=new eR({_isIndexed:!0,hash:eT[eD++]});else try{eS[em]=eT[eD++]}catch(eb){eS[em]=eb}}else try{eS[em]=e_[eN++]}catch(eb){eS[em]=eb}if(eb.name&&null==eS[eb.name]){let eH=eS[em];eH instanceof Error?Object.defineProperty(eS,eb.name,{enumerable:!0,get:()=>{throw eF(`property ${JSON.stringify(eb.name)}`,eH)}}):eS[eb.name]=eH}});for(let eb=0;eb{throw eF(`index ${eb}`,em)}})}return Object.freeze(eS)}parseTransaction(eb){let em=this.getFunction(eb.data.substring(0,10).toLowerCase());return em?new eP({args:this._abiCoder.decode(em.inputs,"0x"+eb.data.substring(10)),functionFragment:em,name:em.name,signature:em.format(),sighash:this.getSighash(em),value:ew.O$.from(eb.value||"0")}):null}parseLog(eb){let em=this.getEvent(eb.topics[0]);return!em||em.anonymous?null:new eD({eventFragment:em,name:em.name,signature:em.format(),topic:this.getEventTopic(em),args:this.decodeEventLog(em,eb.data,eb.topics)})}parseError(eb){let em=(0,eM.Dv)(eb),eH=this.getError(em.substring(0,10).toLowerCase());return eH?new eO({args:this._abiCoder.decode(eH.inputs,"0x"+em.substring(10)),errorFragment:eH,name:eH.name,signature:eH.format(),sighash:this.getSighash(eH)}):null}static isInterface(eb){return!!(eb&&eb._isInterface)}}},81556:function(eb,em,eH){"use strict";eH.d(em,{Sg:function(){return eS},zt:function(){return eE}});var eV=eH(2593),ew=eH(6881),eM=eH(1581);let eC="abstract-provider/5.7.0";var eT=function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};let e_=new eM.Yd(eC);class eS extends ew.dk{static isForkEvent(eb){return!!(eb&&eb._isForkEvent)}}class eE{constructor(){e_.checkAbstract(new.target,eE),(0,ew.zG)(this,"_isProvider",!0)}getFeeData(){return eT(this,void 0,void 0,function*(){let{block:eb,gasPrice:em}=yield(0,ew.mE)({block:this.getBlock("latest"),gasPrice:this.getGasPrice().catch(eb=>null)}),eH=null,eM=null,eC=null;return eb&&eb.baseFeePerGas&&(eH=eb.baseFeePerGas,eC=eV.O$.from("1500000000"),eM=eb.baseFeePerGas.mul(2).add(eC)),{lastBaseFeePerGas:eH,maxFeePerGas:eM,maxPriorityFeePerGas:eC,gasPrice:em}})}addListener(eb,em){return this.on(eb,em)}removeListener(eb,em){return this.off(eb,em)}static isProvider(eb){return!!(eb&&eb._isProvider)}}},48088:function(eb,em,eH){"use strict";eH.d(em,{E:function(){return eE},b:function(){return eA}});var eV=eH(6881),ew=eH(1581);let eM="abstract-signer/5.7.0";var eC=function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};let eT=new ew.Yd(eM),e_=["accessList","ccipReadEnabled","chainId","customData","data","from","gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","nonce","to","type","value"],eS=[ew.Yd.errors.INSUFFICIENT_FUNDS,ew.Yd.errors.NONCE_EXPIRED,ew.Yd.errors.REPLACEMENT_UNDERPRICED];class eE{constructor(){eT.checkAbstract(new.target,eE),(0,eV.zG)(this,"_isSigner",!0)}getBalance(eb){return eC(this,void 0,void 0,function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),eb)})}getTransactionCount(eb){return eC(this,void 0,void 0,function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),eb)})}estimateGas(eb){return eC(this,void 0,void 0,function*(){this._checkProvider("estimateGas");let em=yield(0,eV.mE)(this.checkTransaction(eb));return yield this.provider.estimateGas(em)})}call(eb,em){return eC(this,void 0,void 0,function*(){this._checkProvider("call");let eH=yield(0,eV.mE)(this.checkTransaction(eb));return yield this.provider.call(eH,em)})}sendTransaction(eb){return eC(this,void 0,void 0,function*(){this._checkProvider("sendTransaction");let em=yield this.populateTransaction(eb),eH=yield this.signTransaction(em);return yield this.provider.sendTransaction(eH)})}getChainId(){return eC(this,void 0,void 0,function*(){this._checkProvider("getChainId");let eb=yield this.provider.getNetwork();return eb.chainId})}getGasPrice(){return eC(this,void 0,void 0,function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()})}getFeeData(){return eC(this,void 0,void 0,function*(){return this._checkProvider("getFeeData"),yield this.provider.getFeeData()})}resolveName(eb){return eC(this,void 0,void 0,function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(eb)})}checkTransaction(eb){for(let em in eb)-1===e_.indexOf(em)&&eT.throwArgumentError("invalid transaction key: "+em,"transaction",eb);let em=(0,eV.DC)(eb);return null==em.from?em.from=this.getAddress():em.from=Promise.all([Promise.resolve(em.from),this.getAddress()]).then(em=>(em[0].toLowerCase()!==em[1].toLowerCase()&&eT.throwArgumentError("from address mismatch","transaction",eb),em[0])),em}populateTransaction(eb){return eC(this,void 0,void 0,function*(){let em=yield(0,eV.mE)(this.checkTransaction(eb));null!=em.to&&(em.to=Promise.resolve(em.to).then(eb=>eC(this,void 0,void 0,function*(){if(null==eb)return null;let em=yield this.resolveName(eb);return null==em&&eT.throwArgumentError("provided ENS name resolves to null","tx.to",eb),em})),em.to.catch(eb=>{}));let eH=null!=em.maxFeePerGas||null!=em.maxPriorityFeePerGas;if(null!=em.gasPrice&&(2===em.type||eH)?eT.throwArgumentError("eip-1559 transaction do not support gasPrice","transaction",eb):(0===em.type||1===em.type)&&eH&&eT.throwArgumentError("pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","transaction",eb),(2===em.type||null==em.type)&&null!=em.maxFeePerGas&&null!=em.maxPriorityFeePerGas)em.type=2;else if(0===em.type||1===em.type)null==em.gasPrice&&(em.gasPrice=this.getGasPrice());else{let eb=yield this.getFeeData();if(null==em.type){if(null!=eb.maxFeePerGas&&null!=eb.maxPriorityFeePerGas){if(em.type=2,null!=em.gasPrice){let eb=em.gasPrice;delete em.gasPrice,em.maxFeePerGas=eb,em.maxPriorityFeePerGas=eb}else null==em.maxFeePerGas&&(em.maxFeePerGas=eb.maxFeePerGas),null==em.maxPriorityFeePerGas&&(em.maxPriorityFeePerGas=eb.maxPriorityFeePerGas)}else null!=eb.gasPrice?(eH&&eT.throwError("network does not support EIP-1559",ew.Yd.errors.UNSUPPORTED_OPERATION,{operation:"populateTransaction"}),null==em.gasPrice&&(em.gasPrice=eb.gasPrice),em.type=0):eT.throwError("failed to get consistent fee data",ew.Yd.errors.UNSUPPORTED_OPERATION,{operation:"signer.getFeeData"})}else 2===em.type&&(null==em.maxFeePerGas&&(em.maxFeePerGas=eb.maxFeePerGas),null==em.maxPriorityFeePerGas&&(em.maxPriorityFeePerGas=eb.maxPriorityFeePerGas))}return null==em.nonce&&(em.nonce=this.getTransactionCount("pending")),null==em.gasLimit&&(em.gasLimit=this.estimateGas(em).catch(eb=>{if(eS.indexOf(eb.code)>=0)throw eb;return eT.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",ew.Yd.errors.UNPREDICTABLE_GAS_LIMIT,{error:eb,tx:em})})),null==em.chainId?em.chainId=this.getChainId():em.chainId=Promise.all([Promise.resolve(em.chainId),this.getChainId()]).then(em=>(0!==em[1]&&em[0]!==em[1]&&eT.throwArgumentError("chainId address mismatch","transaction",eb),em[0])),yield(0,eV.mE)(em)})}_checkProvider(eb){this.provider||eT.throwError("missing provider",ew.Yd.errors.UNSUPPORTED_OPERATION,{operation:eb||"_checkProvider"})}static isSigner(eb){return!!(eb&&eb._isSigner)}}class eA extends eE{constructor(eb,em){super(),(0,eV.zG)(this,"address",eb),(0,eV.zG)(this,"provider",em||null)}getAddress(){return Promise.resolve(this.address)}_fail(eb,em){return Promise.resolve().then(()=>{eT.throwError(eb,ew.Yd.errors.UNSUPPORTED_OPERATION,{operation:em})})}signMessage(eb){return this._fail("VoidSigner cannot sign messages","signMessage")}signTransaction(eb){return this._fail("VoidSigner cannot sign transactions","signTransaction")}_signTypedData(eb,em,eH){return this._fail("VoidSigner cannot sign typed data","signTypedData")}connect(eb){return new eA(this.address,eb)}}},19485:function(eb,em,eH){"use strict";eH.d(em,{Kn:function(){return eO},CR:function(){return eF},hB:function(){return ej},vU:function(){return eB},UJ:function(){return eR}});var eV=eH(16441),ew=eH(2593),eM=eH(38197),eC=eH(59052),eT=eH(1581);let e_="address/5.7.0",eS=new eT.Yd(e_);function eE(eb){(0,eV.A7)(eb,20)||eS.throwArgumentError("invalid address","address",eb),eb=eb.toLowerCase();let em=eb.substring(2).split(""),eH=new Uint8Array(40);for(let eb=0;eb<40;eb++)eH[eb]=em[eb].charCodeAt(0);let ew=(0,eV.lE)((0,eM.w)(eH));for(let eb=0;eb<40;eb+=2)ew[eb>>1]>>4>=8&&(em[eb]=em[eb].toUpperCase()),(15&ew[eb>>1])>=8&&(em[eb+1]=em[eb+1].toUpperCase());return"0x"+em.join("")}let eA=9007199254740991;function eN(eb){return Math.log10?Math.log10(eb):Math.log(eb)/Math.LN10}let eI={};for(let eb=0;eb<10;eb++)eI[String(eb)]=String(eb);for(let eb=0;eb<26;eb++)eI[String.fromCharCode(65+eb)]=String(10+eb);let eD=Math.floor(eN(eA));function eP(eb){let em=(eb=(eb=eb.toUpperCase()).substring(4)+eb.substring(0,2)+"00").split("").map(eb=>eI[eb]).join("");for(;em.length>=eD;){let eb=em.substring(0,eD);em=parseInt(eb,10)%97+em.substring(eb.length)}let eH=String(98-parseInt(em,10)%97);for(;eH.length<2;)eH="0"+eH;return eH}function eO(eb){let em=null;if("string"!=typeof eb&&eS.throwArgumentError("invalid address","address",eb),eb.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==eb.substring(0,2)&&(eb="0x"+eb),em=eE(eb),eb.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&em!==eb&&eS.throwArgumentError("bad address checksum","address",eb);else if(eb.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(eb.substring(2,4)!==eP(eb)&&eS.throwArgumentError("bad icap checksum","address",eb),em=(0,ew.g$)(eb.substring(4));em.length<40;)em="0"+em;em=eE("0x"+em)}else eS.throwArgumentError("invalid address","address",eb);return em}function eR(eb){try{return eO(eb),!0}catch(eb){}return!1}function eB(eb){let em=(0,ew.t2)(eO(eb).substring(2)).toUpperCase();for(;em.length<30;)em="0"+em;return"XE"+eP("XE00"+em)+em}function eF(eb){let em=null;try{em=eO(eb.from)}catch(em){eS.throwArgumentError("missing from address","transaction",eb)}let eH=(0,eV.G1)((0,eV.lE)(ew.O$.from(eb.nonce).toHexString()));return eO((0,eV.p3)((0,eM.w)((0,eC.encode)([em,eH])),12))}function ej(eb,em,eH){return 32!==(0,eV.E1)(em)&&eS.throwArgumentError("salt must be 32 bytes","salt",em),32!==(0,eV.E1)(eH)&&eS.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",eH),eO((0,eV.p3)((0,eM.w)((0,eV.zo)(["0xff",eO(eb),em,eH])),12))}},59567:function(eb,em,eH){"use strict";eH.d(em,{J:function(){return ew},c:function(){return eM}});var eV=eH(16441);function ew(eb){eb=atob(eb);let em=[];for(let eH=0;eH0;)eH.push(eV%this.base),eV=eV/this.base|0}let ew="";for(let eb=0;0===em[eb]&&eb=0;--eb)ew+=this.alphabet[eH[eb]];return ew}decode(eb){if("string"!=typeof eb)throw TypeError("Expected String");let em=[];if(0===eb.length)return new Uint8Array(em);em.push(0);for(let eH=0;eH>=8;for(;ew>0;)em.push(255&ew),ew>>=8}for(let eH=0;eb[eH]===this._leader&&eH0&&(10===arguments[0]?eI||(eI=!0,eS.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?eS.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",eC.Yd.errors.UNEXPECTED_ARGUMENT,{}):eS.throwError("BigNumber.toString does not accept parameters",eC.Yd.errors.UNEXPECTED_ARGUMENT,{})),eR(this).toString(10)}toHexString(){return this._hex}toJSON(eb){return{type:"BigNumber",hex:this.toHexString()}}static from(eb){if(eb instanceof eD)return eb;if("string"==typeof eb)return eb.match(/^-?0x[0-9a-f]+$/i)?new eD(eE,eP(eb)):eb.match(/^-?[0-9]+$/)?new eD(eE,eP(new e_(eb))):eS.throwArgumentError("invalid BigNumber string","value",eb);if("number"==typeof eb)return eb%1&&eB("underflow","BigNumber.from",eb),(eb>=eA||eb<=-eA)&&eB("overflow","BigNumber.from",eb),eD.from(String(eb));let em=eb;if("bigint"==typeof em)return eD.from(em.toString());if((0,eM._t)(em))return eD.from((0,eM.Dv)(em));if(em){if(em.toHexString){let eb=em.toHexString();if("string"==typeof eb)return eD.from(eb)}else{let eb=em._hex;if(null==eb&&"BigNumber"===em.type&&(eb=em.hex),"string"==typeof eb&&((0,eM.A7)(eb)||"-"===eb[0]&&(0,eM.A7)(eb.substring(1))))return eD.from(eb)}}return eS.throwArgumentError("invalid BigNumber value","value",eb)}static isBigNumber(eb){return!!(eb&&eb._isBigNumber)}}function eP(eb){if("string"!=typeof eb)return eP(eb.toString(16));if("-"===eb[0])return("-"===(eb=eb.substring(1))[0]&&eS.throwArgumentError("invalid hex","value",eb),"0x00"===(eb=eP(eb)))?eb:"-"+eb;if("0x"!==eb.substring(0,2)&&(eb="0x"+eb),"0x"===eb)return"0x00";for(eb.length%2&&(eb="0x0"+eb.substring(2));eb.length>4&&"0x00"===eb.substring(0,4);)eb="0x"+eb.substring(4);return eb}function eO(eb){return eD.from(eP(eb))}function eR(eb){let em=eD.from(eb).toHexString();return"-"===em[0]?new e_("-"+em.substring(3),16):new e_(em.substring(2),16)}function eB(eb,em,eH){let eV={fault:eb,operation:em};return null!=eH&&(eV.value=eH),eS.throwError(eb,eC.Yd.errors.NUMERIC_FAULT,eV)}function eF(eb){return new e_(eb,36).toString(16)}function ej(eb){return new e_(eb,16).toString(36)}},20335:function(eb,em,eH){"use strict";eH.d(em,{Ox:function(){return eP},S5:function(){return eD},xs:function(){return eR}});var eV=eH(16441),ew=eH(1581),eM=eH(48794),eC=eH(2593);let eT=new ew.Yd(eM.i),e_={},eS=eC.O$.from(0),eE=eC.O$.from(-1);function eA(eb,em,eH,eV){let eM={fault:em,operation:eH};return void 0!==eV&&(eM.value=eV),eT.throwError(eb,ew.Yd.errors.NUMERIC_FAULT,eM)}let eN="0";for(;eN.length<256;)eN+=eN;function eI(eb){if("number"!=typeof eb)try{eb=eC.O$.from(eb).toNumber()}catch(eb){}return"number"==typeof eb&&eb>=0&&eb<=256&&!(eb%1)?"1"+eN.substring(0,eb):eT.throwArgumentError("invalid decimal size","decimals",eb)}function eD(eb,em){null==em&&(em=0);let eH=eI(em);eb=eC.O$.from(eb);let eV=eb.lt(eS);eV&&(eb=eb.mul(eE));let ew=eb.mod(eH).toString();for(;ew.length2&&eT.throwArgumentError("too many decimal points","value",eb);let eM=ew[0],e_=ew[1];for(eM||(eM="0"),e_||(e_="0");"0"===e_[e_.length-1];)e_=e_.substring(0,e_.length-1);for(e_.length>eH.length-1&&eA("fractional component exceeds decimals","underflow","parseFixed"),""===e_&&(e_="0");e_.lengthnull==eb[em]?eV:(typeof eb[em]!==eH&&eT.throwArgumentError("invalid fixed format ("+em+" not "+eH+")","format."+em,eb[em]),eb[em]);em=ew("signed","boolean",em),eH=ew("width","number",eH),eV=ew("decimals","number",eV)}return eH%8&&eT.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",eH),eV>80&&eT.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",eV),new eO(e_,em,eH,eV)}}class eR{constructor(eb,em,eH,eV){eb!==e_&&eT.throwError("cannot use FixedNumber constructor; use FixedNumber.from",ew.Yd.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=eV,this._hex=em,this._value=eH,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(eb){this.format.name!==eb.format.name&&eT.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",eb)}addUnsafe(eb){this._checkFormat(eb);let em=eP(this._value,this.format.decimals),eH=eP(eb._value,eb.format.decimals);return eR.fromValue(em.add(eH),this.format.decimals,this.format)}subUnsafe(eb){this._checkFormat(eb);let em=eP(this._value,this.format.decimals),eH=eP(eb._value,eb.format.decimals);return eR.fromValue(em.sub(eH),this.format.decimals,this.format)}mulUnsafe(eb){this._checkFormat(eb);let em=eP(this._value,this.format.decimals),eH=eP(eb._value,eb.format.decimals);return eR.fromValue(em.mul(eH).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(eb){this._checkFormat(eb);let em=eP(this._value,this.format.decimals),eH=eP(eb._value,eb.format.decimals);return eR.fromValue(em.mul(this.format._multiplier).div(eH),this.format.decimals,this.format)}floor(){let eb=this.toString().split(".");1===eb.length&&eb.push("0");let em=eR.from(eb[0],this.format),eH=!eb[1].match(/^(0*)$/);return this.isNegative()&&eH&&(em=em.subUnsafe(eB.toFormat(em.format))),em}ceiling(){let eb=this.toString().split(".");1===eb.length&&eb.push("0");let em=eR.from(eb[0],this.format),eH=!eb[1].match(/^(0*)$/);return!this.isNegative()&&eH&&(em=em.addUnsafe(eB.toFormat(em.format))),em}round(eb){null==eb&&(eb=0);let em=this.toString().split(".");if(1===em.length&&em.push("0"),(eb<0||eb>80||eb%1)&&eT.throwArgumentError("invalid decimal count","decimals",eb),em[1].length<=eb)return this;let eH=eR.from("1"+eN.substring(0,eb),this.format),eV=eF.toFormat(this.format);return this.mulUnsafe(eH).addUnsafe(eV).floor().divUnsafe(eH)}isZero(){return"0.0"===this._value||"0"===this._value}isNegative(){return"-"===this._value[0]}toString(){return this._value}toHexString(eb){if(null==eb)return this._hex;eb%8&&eT.throwArgumentError("invalid byte width","width",eb);let em=eC.O$.from(this._hex).fromTwos(this.format.width).toTwos(eb).toHexString();return(0,eV.$m)(em,eb/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(eb){return eR.fromString(this._value,eb)}static fromValue(eb,em,eH){return null!=eH||null==em||(0,eC.Zm)(em)||(eH=em,em=null),null==em&&(em=0),null==eH&&(eH="fixed"),eR.fromString(eD(eb,em),eO.from(eH))}static fromString(eb,em){null==em&&(em="fixed");let eH=eO.from(em),ew=eP(eb,eH.decimals);!eH.signed&&ew.lt(eS)&&eA("unsigned value cannot be negative","overflow","value",eb);let eM=null;eH.signed?eM=ew.toTwos(eH.width).toHexString():(eM=ew.toHexString(),eM=(0,eV.$m)(eM,eH.width/8));let eC=eD(ew,eH.decimals);return new eR(e_,eM,eC,eH)}static fromBytes(eb,em){null==em&&(em="fixed");let eH=eO.from(em);if((0,eV.lE)(eb).length>eH.width/8)throw Error("overflow");let ew=eC.O$.from(eb);eH.signed&&(ew=ew.fromTwos(eH.width));let eM=ew.toTwos((eH.signed?0:1)+eH.width).toHexString(),eT=eD(ew,eH.decimals);return new eR(e_,eM,eT,eH)}static from(eb,em){if("string"==typeof eb)return eR.fromString(eb,em);if((0,eV._t)(eb))return eR.fromBytes(eb,em);try{return eR.fromValue(eb,0,em)}catch(eb){if(eb.code!==ew.Yd.errors.INVALID_ARGUMENT)throw eb}return eT.throwArgumentError("invalid FixedNumber value","value",eb)}static isFixedNumber(eb){return!!(eb&&eb._isFixedNumber)}}let eB=eR.from(1),eF=eR.from("0.5")},16441:function(eb,em,eH){"use strict";eH.d(em,{lE:function(){return eA},zo:function(){return eN},xs:function(){return ej},E1:function(){return eB},p3:function(){return eF},Ou:function(){return e$},$P:function(){return eU},$m:function(){return eW},Dv:function(){return eR},_t:function(){return eE},Zq:function(){return e_},A7:function(){return eP},gV:function(){return eG},N:function(){return eZ},G1:function(){return eI},Bu:function(){return eD}});var eV=eH(1581);let ew="bytes/5.7.0",eM=new eV.Yd(ew);function eC(eb){return!!eb.toHexString}function eT(eb){return eb.slice||(eb.slice=function(){let em=Array.prototype.slice.call(arguments);return eT(new Uint8Array(Array.prototype.slice.apply(eb,em)))}),eb}function e_(eb){return eP(eb)&&!(eb.length%2)||eE(eb)}function eS(eb){return"number"==typeof eb&&eb==eb&&eb%1==0}function eE(eb){if(null==eb)return!1;if(eb.constructor===Uint8Array)return!0;if("string"==typeof eb||!eS(eb.length)||eb.length<0)return!1;for(let em=0;em=256)return!1}return!0}function eA(eb,em){if(em||(em={}),"number"==typeof eb){eM.checkSafeUint53(eb,"invalid arrayify value");let em=[];for(;eb;)em.unshift(255&eb),eb=parseInt(String(eb/256));return 0===em.length&&em.push(0),eT(new Uint8Array(em))}if(em.allowMissingPrefix&&"string"==typeof eb&&"0x"!==eb.substring(0,2)&&(eb="0x"+eb),eC(eb)&&(eb=eb.toHexString()),eP(eb)){let eH=eb.substring(2);eH.length%2&&("left"===em.hexPad?eH="0"+eH:"right"===em.hexPad?eH+="0":eM.throwArgumentError("hex data is odd-length","value",eb));let eV=[];for(let eb=0;ebeA(eb)),eH=em.reduce((eb,em)=>eb+em.length,0),eV=new Uint8Array(eH);return em.reduce((eb,em)=>(eV.set(em,eb),eb+em.length),0),eT(eV)}function eI(eb){let em=eA(eb);if(0===em.length)return em;let eH=0;for(;eHem&&eM.throwArgumentError("value out of range","value",arguments[0]);let eH=new Uint8Array(em);return eH.set(eb,em-eb.length),eT(eH)}function eP(eb,em){return"string"==typeof eb&&!!eb.match(/^0x[0-9A-Fa-f]*$/)&&(!em||eb.length===2+2*em)}let eO="0123456789abcdef";function eR(eb,em){if(em||(em={}),"number"==typeof eb){eM.checkSafeUint53(eb,"invalid hexlify value");let em="";for(;eb;)em=eO[15&eb]+em,eb=Math.floor(eb/16);return em.length?(em.length%2&&(em="0"+em),"0x"+em):"0x00"}if("bigint"==typeof eb)return(eb=eb.toString(16)).length%2?"0x0"+eb:"0x"+eb;if(em.allowMissingPrefix&&"string"==typeof eb&&"0x"!==eb.substring(0,2)&&(eb="0x"+eb),eC(eb))return eb.toHexString();if(eP(eb))return eb.length%2&&("left"===em.hexPad?eb="0x0"+eb.substring(2):"right"===em.hexPad?eb+="0":eM.throwArgumentError("hex data is odd-length","value",eb)),eb.toLowerCase();if(eE(eb)){let em="0x";for(let eH=0;eH>4]+eO[15&eV]}return em}return eM.throwArgumentError("invalid hexlify value","value",eb)}function eB(eb){if("string"!=typeof eb)eb=eR(eb);else if(!eP(eb)||eb.length%2)return null;return(eb.length-2)/2}function eF(eb,em,eH){return("string"!=typeof eb?eb=eR(eb):(!eP(eb)||eb.length%2)&&eM.throwArgumentError("invalid hexData","value",eb),em=2+2*em,null!=eH)?"0x"+eb.substring(em,2+2*eH):"0x"+eb.substring(em)}function ej(eb){let em="0x";return eb.forEach(eb=>{em+=eR(eb).substring(2)}),em}function eU(eb){let em=e$(eR(eb,{hexPad:"left"}));return"0x"===em?"0x0":em}function e$(eb){"string"!=typeof eb&&(eb=eR(eb)),eP(eb)||eM.throwArgumentError("invalid hex string","value",eb),eb=eb.substring(2);let em=0;for(;em2*em+2&&eM.throwArgumentError("value out of range","value",arguments[1]);eb.length<2*em+2;)eb="0x0"+eb.substring(2);return eb}function eZ(eb){let em={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(e_(eb)){let eH=eA(eb);64===eH.length?(em.v=27+(eH[32]>>7),eH[32]&=127,em.r=eR(eH.slice(0,32)),em.s=eR(eH.slice(32,64))):65===eH.length?(em.r=eR(eH.slice(0,32)),em.s=eR(eH.slice(32,64)),em.v=eH[64]):eM.throwArgumentError("invalid signature string","signature",eb),em.v<27&&(0===em.v||1===em.v?em.v+=27:eM.throwArgumentError("signature invalid v byte","signature",eb)),em.recoveryParam=1-em.v%2,em.recoveryParam&&(eH[32]|=128),em._vs=eR(eH.slice(32,64))}else{if(em.r=eb.r,em.s=eb.s,em.v=eb.v,em.recoveryParam=eb.recoveryParam,em._vs=eb._vs,null!=em._vs){let eH=eD(eA(em._vs),32);em._vs=eR(eH);let eV=eH[0]>=128?1:0;null==em.recoveryParam?em.recoveryParam=eV:em.recoveryParam!==eV&&eM.throwArgumentError("signature recoveryParam mismatch _vs","signature",eb),eH[0]&=127;let ew=eR(eH);null==em.s?em.s=ew:em.s!==ew&&eM.throwArgumentError("signature v mismatch _vs","signature",eb)}if(null==em.recoveryParam)null==em.v?eM.throwArgumentError("signature missing v and recoveryParam","signature",eb):0===em.v||1===em.v?em.recoveryParam=em.v:em.recoveryParam=1-em.v%2;else if(null==em.v)em.v=27+em.recoveryParam;else{let eH=0===em.v||1===em.v?em.v:1-em.v%2;em.recoveryParam!==eH&&eM.throwArgumentError("signature recoveryParam mismatch v","signature",eb)}null!=em.r&&eP(em.r)?em.r=eW(em.r,32):eM.throwArgumentError("signature missing or invalid r","signature",eb),null!=em.s&&eP(em.s)?em.s=eW(em.s,32):eM.throwArgumentError("signature missing or invalid s","signature",eb);let eH=eA(em.s);eH[0]>=128&&eM.throwArgumentError("signature s out of range","signature",eb),em.recoveryParam&&(eH[0]|=128);let eV=eR(eH);em._vs&&(eP(em._vs)||eM.throwArgumentError("signature invalid _vs","signature",eb),em._vs=eW(em._vs,32)),null==em._vs?em._vs=eV:em._vs!==eV&&eM.throwArgumentError("signature _vs mismatch v and s","signature",eb)}return em.yParityAndS=em._vs,em.compact=em.r+em.yParityAndS.substring(2),em}function eG(eb){return eR(eN([(eb=eZ(eb)).r,eb.s,eb.recoveryParam?"0x1c":"0x1b"]))}},9279:function(eb,em,eH){"use strict";eH.d(em,{d:function(){return eV}});let eV="0x0000000000000000000000000000000000000000"},21046:function(eb,em,eH){"use strict";eH.d(em,{$B:function(){return eE},Bz:function(){return eS},Ce:function(){return e_},PS:function(){return eA},Py:function(){return eT},_Y:function(){return eM},fh:function(){return eC},tL:function(){return ew}});var eV=eH(2593);let ew=eV.O$.from(-1),eM=eV.O$.from(0),eC=eV.O$.from(1),eT=eV.O$.from(2),e_=eV.O$.from("1000000000000000000"),eS=eV.O$.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),eE=eV.O$.from("-0x8000000000000000000000000000000000000000000000000000000000000000"),eA=eV.O$.from("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")},57218:function(eb,em,eH){"use strict";eH.d(em,{R:function(){return eV}});let eV="0x0000000000000000000000000000000000000000000000000000000000000000"},64146:function(eb,em,eH){"use strict";eH.d(em,{VZ:function(){return e0},CH:function(){return e6},lV:function(){return e4}});var eV=eH(61184),ew=eH(8198),eM=eH(81556),eC=eH(48088),eT=eH(19485),e_=eH(2593),eS=eH(16441),eE=eH(6881),eA=eH(83875),eN=eH(1581);let eI="contracts/5.7.0";var eD=function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};let eP=new eN.Yd(eI),eO={chainId:!0,data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0,customData:!0,ccipReadEnabled:!0};function eR(eb,em){return eD(this,void 0,void 0,function*(){let eH=yield em;"string"!=typeof eH&&eP.throwArgumentError("invalid address or ENS name","name",eH);try{return(0,eT.Kn)(eH)}catch(eb){}eb||eP.throwError("a provider or signer is needed to resolve ENS names",eN.Yd.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"});let eV=yield eb.resolveName(eH);return null==eV&&eP.throwArgumentError("resolver or addr is not configured for ENS name","name",eH),eV})}function eB(eb,em,eH){return eD(this,void 0,void 0,function*(){return Array.isArray(eH)?yield Promise.all(eH.map((eH,eV)=>eB(eb,Array.isArray(em)?em[eV]:em[eH.name],eH))):"address"===eH.type?yield eR(eb,em):"tuple"===eH.type?yield eB(eb,em,eH.components):"array"===eH.baseType?Array.isArray(em)?yield Promise.all(em.map(em=>eB(eb,em,eH.arrayChildren))):Promise.reject(eP.makeError("invalid value for array",eN.Yd.errors.INVALID_ARGUMENT,{argument:"value",value:em})):em})}function eF(eb,em,eH){return eD(this,void 0,void 0,function*(){let eV={};eH.length===em.inputs.length+1&&"object"==typeof eH[eH.length-1]&&(eV=(0,eE.DC)(eH.pop())),eP.checkArgumentCount(eH.length,em.inputs.length,"passed to contract"),eb.signer?eV.from?eV.from=(0,eE.mE)({override:eR(eb.signer,eV.from),signer:eb.signer.getAddress()}).then(eb=>eD(this,void 0,void 0,function*(){return(0,eT.Kn)(eb.signer)!==eb.override&&eP.throwError("Contract with a Signer cannot override from",eN.Yd.errors.UNSUPPORTED_OPERATION,{operation:"overrides.from"}),eb.override})):eV.from=eb.signer.getAddress():eV.from&&(eV.from=eR(eb.provider,eV.from));let ew=yield(0,eE.mE)({args:eB(eb.signer||eb.provider,eH,em.inputs),address:eb.resolvedAddress,overrides:(0,eE.mE)(eV)||{}}),eM=eb.interface.encodeFunctionData(em,ew.args),eC={data:eM,to:ew.address},eI=ew.overrides;if(null!=eI.nonce&&(eC.nonce=e_.O$.from(eI.nonce).toNumber()),null!=eI.gasLimit&&(eC.gasLimit=e_.O$.from(eI.gasLimit)),null!=eI.gasPrice&&(eC.gasPrice=e_.O$.from(eI.gasPrice)),null!=eI.maxFeePerGas&&(eC.maxFeePerGas=e_.O$.from(eI.maxFeePerGas)),null!=eI.maxPriorityFeePerGas&&(eC.maxPriorityFeePerGas=e_.O$.from(eI.maxPriorityFeePerGas)),null!=eI.from&&(eC.from=eI.from),null!=eI.type&&(eC.type=eI.type),null!=eI.accessList&&(eC.accessList=(0,eA.z7)(eI.accessList)),null==eC.gasLimit&&null!=em.gas){let eb=21e3,eH=(0,eS.lE)(eM);for(let em=0;emnull!=eV[eb]);return eO.length&&eP.throwError(`cannot override ${eO.map(eb=>JSON.stringify(eb)).join(",")}`,eN.Yd.errors.UNSUPPORTED_OPERATION,{operation:"overrides",overrides:eO}),eC})}function ej(eb,em){return function(...eH){return eF(eb,em,eH)}}function eU(eb,em){let eH=eb.signer||eb.provider;return function(...eV){return eD(this,void 0,void 0,function*(){eH||eP.throwError("estimate require a provider or signer",eN.Yd.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"});let ew=yield eF(eb,em,eV);return yield eH.estimateGas(ew)})}}function e$(eb,em){let eH=em.wait.bind(em);em.wait=em=>eH(em).then(em=>(em.events=em.logs.map(eH=>{let eV=(0,eE.p$)(eH),ew=null;try{ew=eb.interface.parseLog(eH)}catch(eb){}return ew&&(eV.args=ew.args,eV.decode=(em,eH)=>eb.interface.decodeEventLog(ew.eventFragment,em,eH),eV.event=ew.name,eV.eventSignature=ew.signature),eV.removeListener=()=>eb.provider,eV.getBlock=()=>eb.provider.getBlock(em.blockHash),eV.getTransaction=()=>eb.provider.getTransaction(em.transactionHash),eV.getTransactionReceipt=()=>Promise.resolve(em),eV}),em))}function eW(eb,em,eH){let eV=eb.signer||eb.provider;return function(...ew){return eD(this,void 0,void 0,function*(){let eM;if(ew.length===em.inputs.length+1&&"object"==typeof ew[ew.length-1]){let eb=(0,eE.DC)(ew.pop());null!=eb.blockTag&&(eM=yield eb.blockTag),delete eb.blockTag,ew.push(eb)}null!=eb.deployTransaction&&(yield eb._deployed(eM));let eC=yield eF(eb,em,ew),eT=yield eV.call(eC,eM);try{let eV=eb.interface.decodeFunctionResult(em,eT);return eH&&1===em.outputs.length&&(eV=eV[0]),eV}catch(em){throw em.code===eN.Yd.errors.CALL_EXCEPTION&&(em.address=eb.address,em.args=ew,em.transaction=eC),em}})}}function eZ(eb,em){return function(...eH){return eD(this,void 0,void 0,function*(){eb.signer||eP.throwError("sending a transaction requires a signer",eN.Yd.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),null!=eb.deployTransaction&&(yield eb._deployed());let eV=yield eF(eb,em,eH),ew=yield eb.signer.sendTransaction(eV);return e$(eb,ew),ew})}}function eG(eb,em,eH){return em.constant?eW(eb,em,eH):eZ(eb,em)}function eK(eb){return eb.address&&(null==eb.topics||0===eb.topics.length)?"*":(eb.address||"*")+"@"+(eb.topics?eb.topics.map(eb=>Array.isArray(eb)?eb.join("|"):eb).join(":"):"")}class eY{constructor(eb,em){(0,eE.zG)(this,"tag",eb),(0,eE.zG)(this,"filter",em),this._listeners=[]}addListener(eb,em){this._listeners.push({listener:eb,once:em})}removeListener(eb){let em=!1;this._listeners=this._listeners.filter(eH=>!!em||eH.listener!==eb||(em=!0,!1))}removeAllListeners(){this._listeners=[]}listeners(){return this._listeners.map(eb=>eb.listener)}listenerCount(){return this._listeners.length}run(eb){let em=this.listenerCount();return this._listeners=this._listeners.filter(em=>{let eH=eb.slice();return setTimeout(()=>{em.listener.apply(this,eH)},0),!em.once}),em}prepareEvent(eb){}getEmit(eb){return[eb]}}class eX extends eY{constructor(){super("error",null)}}class eJ extends eY{constructor(eb,em,eH,eV){let ew={address:eb},eM=em.getEventTopic(eH);eV?(eM!==eV[0]&&eP.throwArgumentError("topic mismatch","topics",eV),ew.topics=eV.slice()):ew.topics=[eM],super(eK(ew),ew),(0,eE.zG)(this,"address",eb),(0,eE.zG)(this,"interface",em),(0,eE.zG)(this,"fragment",eH)}prepareEvent(eb){super.prepareEvent(eb),eb.event=this.fragment.name,eb.eventSignature=this.fragment.format(),eb.decode=(eb,em)=>this.interface.decodeEventLog(this.fragment,eb,em);try{eb.args=this.interface.decodeEventLog(this.fragment,eb.data,eb.topics)}catch(em){eb.args=null,eb.decodeError=em}}getEmit(eb){let em=(0,eV.BR)(eb.args);if(em.length)throw em[0].error;let eH=(eb.args||[]).slice();return eH.push(eb),eH}}class eQ extends eY{constructor(eb,em){super("*",{address:eb}),(0,eE.zG)(this,"address",eb),(0,eE.zG)(this,"interface",em)}prepareEvent(eb){super.prepareEvent(eb);try{let em=this.interface.parseLog(eb);eb.event=em.name,eb.eventSignature=em.signature,eb.decode=(eb,eH)=>this.interface.decodeEventLog(em.eventFragment,eb,eH),eb.args=em.args}catch(eb){}}}class e0{constructor(eb,em,eH){(0,eE.zG)(this,"interface",(0,eE.tu)(new.target,"getInterface")(em)),null==eH?((0,eE.zG)(this,"provider",null),(0,eE.zG)(this,"signer",null)):eC.E.isSigner(eH)?((0,eE.zG)(this,"provider",eH.provider||null),(0,eE.zG)(this,"signer",eH)):eM.zt.isProvider(eH)?((0,eE.zG)(this,"provider",eH),(0,eE.zG)(this,"signer",null)):eP.throwArgumentError("invalid signer or provider","signerOrProvider",eH),(0,eE.zG)(this,"callStatic",{}),(0,eE.zG)(this,"estimateGas",{}),(0,eE.zG)(this,"functions",{}),(0,eE.zG)(this,"populateTransaction",{}),(0,eE.zG)(this,"filters",{});{let eb={};Object.keys(this.interface.events).forEach(em=>{let eH=this.interface.events[em];(0,eE.zG)(this.filters,em,(...eb)=>({address:this.address,topics:this.interface.encodeFilterTopics(eH,eb)})),eb[eH.name]||(eb[eH.name]=[]),eb[eH.name].push(em)}),Object.keys(eb).forEach(em=>{let eH=eb[em];1===eH.length?(0,eE.zG)(this.filters,em,this.filters[eH[0]]):eP.warn(`Duplicate definition of ${em} (${eH.join(", ")})`)})}if((0,eE.zG)(this,"_runningEvents",{}),(0,eE.zG)(this,"_wrappedEmits",{}),null==eb&&eP.throwArgumentError("invalid contract address or ENS name","addressOrName",eb),(0,eE.zG)(this,"address",eb),this.provider)(0,eE.zG)(this,"resolvedAddress",eR(this.provider,eb));else try{(0,eE.zG)(this,"resolvedAddress",Promise.resolve((0,eT.Kn)(eb)))}catch(eb){eP.throwError("provider is required to use ENS name as contract address",eN.Yd.errors.UNSUPPORTED_OPERATION,{operation:"new Contract"})}this.resolvedAddress.catch(eb=>{});let eV={},ew={};Object.keys(this.interface.functions).forEach(eb=>{let em=this.interface.functions[eb];if(ew[eb]){eP.warn(`Duplicate ABI entry for ${JSON.stringify(eb)}`);return}ew[eb]=!0;{let eH=em.name;eV[`%${eH}`]||(eV[`%${eH}`]=[]),eV[`%${eH}`].push(eb)}null==this[eb]&&(0,eE.zG)(this,eb,eG(this,em,!0)),null==this.functions[eb]&&(0,eE.zG)(this.functions,eb,eG(this,em,!1)),null==this.callStatic[eb]&&(0,eE.zG)(this.callStatic,eb,eW(this,em,!0)),null==this.populateTransaction[eb]&&(0,eE.zG)(this.populateTransaction,eb,ej(this,em)),null==this.estimateGas[eb]&&(0,eE.zG)(this.estimateGas,eb,eU(this,em))}),Object.keys(eV).forEach(eb=>{let em=eV[eb];if(em.length>1)return;eb=eb.substring(1);let eH=em[0];try{null==this[eb]&&(0,eE.zG)(this,eb,this[eH])}catch(eb){}null==this.functions[eb]&&(0,eE.zG)(this.functions,eb,this.functions[eH]),null==this.callStatic[eb]&&(0,eE.zG)(this.callStatic,eb,this.callStatic[eH]),null==this.populateTransaction[eb]&&(0,eE.zG)(this.populateTransaction,eb,this.populateTransaction[eH]),null==this.estimateGas[eb]&&(0,eE.zG)(this.estimateGas,eb,this.estimateGas[eH])})}static getContractAddress(eb){return(0,eT.CR)(eb)}static getInterface(eb){return ew.vU.isInterface(eb)?eb:new ew.vU(eb)}deployed(){return this._deployed()}_deployed(eb){return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then(()=>this):this._deployedPromise=this.provider.getCode(this.address,eb).then(eb=>("0x"===eb&&eP.throwError("contract not deployed",eN.Yd.errors.UNSUPPORTED_OPERATION,{contractAddress:this.address,operation:"getDeployed"}),this))),this._deployedPromise}fallback(eb){this.signer||eP.throwError("sending a transactions require a signer",eN.Yd.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});let em=(0,eE.DC)(eb||{});return["from","to"].forEach(function(eb){null!=em[eb]&&eP.throwError("cannot override "+eb,eN.Yd.errors.UNSUPPORTED_OPERATION,{operation:eb})}),em.to=this.resolvedAddress,this.deployed().then(()=>this.signer.sendTransaction(em))}connect(eb){"string"==typeof eb&&(eb=new eC.b(eb,this.provider));let em=new this.constructor(this.address,this.interface,eb);return this.deployTransaction&&(0,eE.zG)(em,"deployTransaction",this.deployTransaction),em}attach(eb){return new this.constructor(eb,this.interface,this.signer||this.provider)}static isIndexed(eb){return ew.Hk.isIndexed(eb)}_normalizeRunningEvent(eb){return this._runningEvents[eb.tag]?this._runningEvents[eb.tag]:eb}_getRunningEvent(eb){if("string"==typeof eb){if("error"===eb)return this._normalizeRunningEvent(new eX);if("event"===eb)return this._normalizeRunningEvent(new eY("event",null));if("*"===eb)return this._normalizeRunningEvent(new eQ(this.address,this.interface));let em=this.interface.getEvent(eb);return this._normalizeRunningEvent(new eJ(this.address,this.interface,em))}if(eb.topics&&eb.topics.length>0){try{let em=eb.topics[0];if("string"!=typeof em)throw Error("invalid topic");let eH=this.interface.getEvent(em);return this._normalizeRunningEvent(new eJ(this.address,this.interface,eH,eb.topics))}catch(eb){}let em={address:this.address,topics:eb.topics};return this._normalizeRunningEvent(new eY(eK(em),em))}return this._normalizeRunningEvent(new eQ(this.address,this.interface))}_checkRunningEvents(eb){if(0===eb.listenerCount()){delete this._runningEvents[eb.tag];let em=this._wrappedEmits[eb.tag];em&&eb.filter&&(this.provider.off(eb.filter,em),delete this._wrappedEmits[eb.tag])}}_wrapEvent(eb,em,eH){let eV=(0,eE.p$)(em);return eV.removeListener=()=>{eH&&(eb.removeListener(eH),this._checkRunningEvents(eb))},eV.getBlock=()=>this.provider.getBlock(em.blockHash),eV.getTransaction=()=>this.provider.getTransaction(em.transactionHash),eV.getTransactionReceipt=()=>this.provider.getTransactionReceipt(em.transactionHash),eb.prepareEvent(eV),eV}_addEventListener(eb,em,eH){if(this.provider||eP.throwError("events require a provider or a signer with a provider",eN.Yd.errors.UNSUPPORTED_OPERATION,{operation:"once"}),eb.addListener(em,eH),this._runningEvents[eb.tag]=eb,!this._wrappedEmits[eb.tag]){let eH=eH=>{let eV=this._wrapEvent(eb,eH,em);if(null==eV.decodeError)try{let em=eb.getEmit(eV);this.emit(eb.filter,...em)}catch(eb){eV.decodeError=eb.error}null!=eb.filter&&this.emit("event",eV),null!=eV.decodeError&&this.emit("error",eV.decodeError,eV)};this._wrappedEmits[eb.tag]=eH,null!=eb.filter&&this.provider.on(eb.filter,eH)}}queryFilter(eb,em,eH){let eV=this._getRunningEvent(eb),ew=(0,eE.DC)(eV.filter);return"string"==typeof em&&(0,eS.A7)(em,32)?(null!=eH&&eP.throwArgumentError("cannot specify toBlock with blockhash","toBlock",eH),ew.blockHash=em):(ew.fromBlock=null!=em?em:0,ew.toBlock=null!=eH?eH:"latest"),this.provider.getLogs(ew).then(eb=>eb.map(eb=>this._wrapEvent(eV,eb,null)))}on(eb,em){return this._addEventListener(this._getRunningEvent(eb),em,!1),this}once(eb,em){return this._addEventListener(this._getRunningEvent(eb),em,!0),this}emit(eb,...em){if(!this.provider)return!1;let eH=this._getRunningEvent(eb),eV=eH.run(em)>0;return this._checkRunningEvents(eH),eV}listenerCount(eb){return this.provider?null==eb?Object.keys(this._runningEvents).reduce((eb,em)=>eb+this._runningEvents[em].listenerCount(),0):this._getRunningEvent(eb).listenerCount():0}listeners(eb){if(!this.provider)return[];if(null==eb){let eb=[];for(let em in this._runningEvents)this._runningEvents[em].listeners().forEach(em=>{eb.push(em)});return eb}return this._getRunningEvent(eb).listeners()}removeAllListeners(eb){if(!this.provider)return this;if(null==eb){for(let eb in this._runningEvents){let em=this._runningEvents[eb];em.removeAllListeners(),this._checkRunningEvents(em)}return this}let em=this._getRunningEvent(eb);return em.removeAllListeners(),this._checkRunningEvents(em),this}off(eb,em){if(!this.provider)return this;let eH=this._getRunningEvent(eb);return eH.removeListener(em),this._checkRunningEvents(eH),this}removeListener(eb,em){return this.off(eb,em)}}class e6 extends e0{}class e4{constructor(eb,em,eH){let eV=null;"0x"!==(eV="string"==typeof em?em:(0,eS._t)(em)?(0,eS.Dv)(em):em&&"string"==typeof em.object?em.object:"!").substring(0,2)&&(eV="0x"+eV),(!(0,eS.A7)(eV)||eV.length%2)&&eP.throwArgumentError("invalid bytecode","bytecode",em),eH&&!eC.E.isSigner(eH)&&eP.throwArgumentError("invalid signer","signer",eH),(0,eE.zG)(this,"bytecode",eV),(0,eE.zG)(this,"interface",(0,eE.tu)(new.target,"getInterface")(eb)),(0,eE.zG)(this,"signer",eH||null)}getDeployTransaction(...eb){let em={};if(eb.length===this.interface.deploy.inputs.length+1&&"object"==typeof eb[eb.length-1]){for(let eH in em=(0,eE.DC)(eb.pop()))if(!eO[eH])throw Error("unknown transaction override "+eH)}if(["data","from","to"].forEach(eb=>{null!=em[eb]&&eP.throwError("cannot override "+eb,eN.Yd.errors.UNSUPPORTED_OPERATION,{operation:eb})}),em.value){let eb=e_.O$.from(em.value);eb.isZero()||this.interface.deploy.payable||eP.throwError("non-payable constructor cannot override value",eN.Yd.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:em.value})}return eP.checkArgumentCount(eb.length,this.interface.deploy.inputs.length," in Contract constructor"),em.data=(0,eS.Dv)((0,eS.zo)([this.bytecode,this.interface.encodeDeploy(eb)])),em}deploy(...eb){return eD(this,void 0,void 0,function*(){let em={};eb.length===this.interface.deploy.inputs.length+1&&(em=eb.pop()),eP.checkArgumentCount(eb.length,this.interface.deploy.inputs.length," in Contract constructor");let eH=yield eB(this.signer,eb,this.interface.deploy.inputs);eH.push(em);let eV=this.getDeployTransaction(...eH),ew=yield this.signer.sendTransaction(eV),eM=(0,eE.tu)(this.constructor,"getContractAddress")(ew),eC=(0,eE.tu)(this.constructor,"getContract")(eM,this.interface,this.signer);return e$(eC,ew),(0,eE.zG)(eC,"deployTransaction",ew),eC})}attach(eb){return this.constructor.getContract(eb,this.interface,this.signer)}connect(eb){return new this.constructor(this.interface,this.bytecode,eb)}static fromSolidity(eb,em){null==eb&&eP.throwError("missing compiler output",eN.Yd.errors.MISSING_ARGUMENT,{argument:"compilerOutput"}),"string"==typeof eb&&(eb=JSON.parse(eb));let eH=eb.abi,eV=null;return eb.bytecode?eV=eb.bytecode:eb.evm&&eb.evm.bytecode&&(eV=eb.evm.bytecode),new this(eH,eV,em)}static getInterface(eb){return e6.getInterface(eb)}static getContractAddress(eb){return(0,eT.CR)(eb)}static getContract(eb,em,eH){return new e6(eb,em,eH)}}},35644:function(eb,em,eH){"use strict";eH.d(em,{i:function(){return eV}});let eV="hash/5.7.0"},32046:function(eb,em,eH){"use strict";eH.d(em,{id:function(){return eM}});var eV=eH(38197),ew=eH(29251);function eM(eb){return(0,eV.w)((0,ew.Y0)(eb))}},93684:function(eb,em,eH){"use strict";eH.d(em,{r:function(){return eT}});var eV=eH(16441),ew=eH(38197),eM=eH(29251);let eC="\x19Ethereum Signed Message:\n";function eT(eb){return"string"==typeof eb&&(eb=(0,eM.Y0)(eb)),(0,ew.w)((0,eV.zo)([(0,eM.Y0)(eC),(0,eM.Y0)(String(eb.length)),eb]))}},27586:function(eb,em,eH){"use strict";eH.d(em,{Kn:function(){return tE},r1:function(){return t_},VM:function(){return tS}});var eV=eH(16441),ew=eH(29251),eM=eH(38197),eC=eH(1581),eT=eH(35644),e_=eH(59567);function eS(eb,em){null==em&&(em=1);let eH=[],eV=eH.forEach,ew=function(eb,em){eV.call(eb,function(eb){em>0&&Array.isArray(eb)?ew(eb,em-1):eH.push(eb)})};return ew(eb,em),eH}function eE(eb){let em={};for(let eH=0;eH>--e_&1}let eA=31,eN=Math.pow(2,eA),eI=eN>>>1,eD=eI>>1,eP=eN-1,eO=0;for(let eb=0;eb1;){let eV=em+eH>>>1;eb>>1|eE(),eC=eC<<1^eI,eT=(eT^eI)<<1|eI|1;eB=eC,eF=1+eT-eC}let ej=eV-4;return eR.map(em=>{switch(em-ej){case 3:return ej+65792+(eb[eT++]<<16|eb[eT++]<<8|eb[eT++]);case 2:return ej+256+(eb[eT++]<<8|eb[eT++]);case 1:return ej+eb[eT++];default:return em-1}})}function eN(eb){let em=0;return()=>eb[em++]}function eI(eb){return eN(eA(eb))}function eD(eb){return 1&eb?~eb>>1:eb>>1}function eP(eb,em){let eH=Array(eb);for(let eV=0;eVem[eb]):eH}function eF(eb){let em=[];for(;;){let eH=eb();if(0==eH)break;em.push(e$(eH,eb))}for(;;){let eH=eb()-1;if(eH<0)break;em.push(eW(eH,eb))}return eE(eS(em))}function ej(eb){let em=[];for(;;){let eH=eb();if(0==eH)break;em.push(eH)}return em}function eU(eb,em,eH){let eV=Array(eb).fill(void 0).map(()=>[]);for(let ew=0;eweV[em].push(eb));return eV}function e$(eb,em){let eH=1+em(),eV=em(),ew=ej(em);return eS(eU(ew.length,1+eb,em).map((eb,em)=>{let eM=eb[0],eC=eb.slice(1);return Array(ew[em]).fill(void 0).map((eb,em)=>{let ew=em*eV;return[eM+em*eH,eC.map(eb=>eb+ew)]})}))}function eW(eb,em){return eU(1+em(),1+eb,em).map(eb=>[eb[0],eb.slice(1)])}function eZ(eb){let em=eB(eb).sort((eb,em)=>eb-em);return eH();function eH(){let eV=[];for(;;){let ew=eB(eb,em);if(0==ew.length)break;eV.push({set:new Set(ew),node:eH()})}eV.sort((eb,em)=>em.set.size-eb.set.size);let ew=eb();return{branches:eV,valid:ew%3,fe0f:!!(1&(ew=ew/3|0)),save:1==(ew>>=1),check:2==ew}}}function eG(){return eI((0,e_.J)("AEQF2AO2DEsA2wIrAGsBRABxAN8AZwCcAEwAqgA0AGwAUgByADcATAAVAFYAIQAyACEAKAAYAFgAGwAjABQAMAAmADIAFAAfABQAKwATACoADgAbAA8AHQAYABoAGQAxADgALAAoADwAEwA9ABMAGgARAA4ADwAWABMAFgAIAA8AHgQXBYMA5BHJAS8JtAYoAe4AExozi0UAH21tAaMnBT8CrnIyhrMDhRgDygIBUAEHcoFHUPe8AXBjAewCjgDQR8IICIcEcQLwATXCDgzvHwBmBoHNAqsBdBcUAykgDhAMShskMgo8AY8jqAQfAUAfHw8BDw87MioGlCIPBwZCa4ELatMAAMspJVgsDl8AIhckSg8XAHdvTwBcIQEiDT4OPhUqbyECAEoAS34Aej8Ybx83JgT/Xw8gHxZ/7w8RICxPHA9vBw+Pfw8PHwAPFv+fAsAvCc8vEr8ivwD/EQ8Bol8OEBa/A78hrwAPCU8vESNvvwWfHwNfAVoDHr+ZAAED34YaAdJPAK7PLwSEgDLHAGo1Pz8Pvx9fUwMrpb8O/58VTzAPIBoXIyQJNF8hpwIVAT8YGAUADDNBaX3RAMomJCg9EhUeA29MABsZBTMNJipjOhc19gcIDR8bBwQHEggCWi6DIgLuAQYA+BAFCha3A5XiAEsqM7UFFgFLhAMjFTMYE1Klnw74nRVBG/ASCm0BYRN/BrsU3VoWy+S0vV8LQx+vN8gF2AC2AK5EAWwApgYDKmAAroQ0NDQ0AT+OCg7wAAIHRAbpNgVcBV0APTA5BfbPFgMLzcYL/QqqA82eBALKCjQCjqYCht0/k2+OAsXQAoP3ASTKDgDw6ACKAUYCMpIKJpRaAE4A5womABzZvs0REEKiACIQAd5QdAECAj4Ywg/wGqY2AVgAYADYvAoCGAEubA0gvAY2ALAAbpbvqpyEAGAEpgQAJgAG7gAgAEACmghUFwCqAMpAINQIwC4DthRAAPcycKgApoIdABwBfCisABoATwBqASIAvhnSBP8aH/ECeAKXAq40NjgDBTwFYQU6AXs3oABgAD4XNgmcCY1eCl5tIFZeUqGgyoNHABgAEQAaABNwWQAmABMATPMa3T34ADldyprmM1M2XociUQgLzvwAXT3xABgAEQAaABNwIGFAnADD8AAgAD4BBJWzaCcIAIEBFMAWwKoAAdq9BWAF5wLQpALEtQAKUSGkahR4GnJM+gsAwCgeFAiUAECQ0BQuL8AAIAAAADKeIheclvFqQAAETr4iAMxIARMgAMIoHhQIAn0E0pDQFC4HhznoAAAAIAI2C0/4lvFqQAAETgBJJwYCAy4ABgYAFAA8MBKYEH4eRhTkAjYeFcgACAYAeABsOqyQ5gRwDayqugEgaIIAtgoACgDmEABmBAWGme5OBJJA2m4cDeoAmITWAXwrMgOgAGwBCh6CBXYF1Tzg1wKAAFdiuABRAFwAXQBsAG8AdgBrAHYAbwCEAHEwfxQBVE5TEQADVFhTBwBDANILAqcCzgLTApQCrQL6vAAMAL8APLhNBKkE6glGKTAU4Dr4N2EYEwBCkABKk8rHAbYBmwIoAiU4Ajf/Aq4CowCAANIChzgaNBsCsTgeODcFXrgClQKdAqQBiQGYAqsCsjTsNHsfNPA0ixsAWTWiOAMFPDQSNCk2BDZHNow2TTZUNhk28Jk9VzI3QkEoAoICoQKwAqcAQAAxBV4FXbS9BW47YkIXP1ciUqs05DS/FwABUwJW11e6nHuYZmSh/RAYA8oMKvZ8KASoUAJYWAJ6ILAsAZSoqjpgA0ocBIhmDgDWAAawRDQoAAcuAj5iAHABZiR2AIgiHgCaAU68ACxuHAG0ygM8MiZIAlgBdF4GagJqAPZOHAMuBgoATkYAsABiAHgAMLoGDPj0HpKEBAAOJgAuALggTAHWAeAMEDbd20Uege0ADwAWADkAQgA9OHd+2MUQZBBhBgNNDkxxPxUQArEPqwvqERoM1irQ090ANK4H8ANYB/ADWANYB/AH8ANYB/ADWANYA1gDWBwP8B/YxRBkD00EcgWTBZAE2wiIJk4RhgctCNdUEnQjHEwDSgEBIypJITuYMxAlR0wRTQgIATZHbKx9PQNMMbBU+pCnA9AyVDlxBgMedhKlAC8PeCE1uk6DekxxpQpQT7NX9wBFBgASqwAS5gBJDSgAUCwGPQBI4zTYABNGAE2bAE3KAExdGABKaAbgAFBXAFCOAFBJABI2SWdObALDOq0//QomCZhvwHdTBkIQHCemEPgMNAG2ATwN7kvZBPIGPATKH34ZGg/OlZ0Ipi3eDO4m5C6igFsj9iqEBe5L9TzeC05RaQ9aC2YJ5DpkgU8DIgEOIowK3g06CG4Q9ArKbA3mEUYHOgPWSZsApgcCCxIdNhW2JhFirQsKOXgG/Br3C5AmsBMqev0F1BoiBk4BKhsAANAu6IWxWjJcHU9gBgQLJiPIFKlQIQ0mQLh4SRocBxYlqgKSQ3FKiFE3HpQh9zw+DWcuFFF9B/Y8BhlQC4I8n0asRQ8R0z6OPUkiSkwtBDaALDAnjAnQD4YMunxzAVoJIgmyDHITMhEYN8YIOgcaLpclJxYIIkaWYJsE+KAD9BPSAwwFQAlCBxQDthwuEy8VKgUOgSXYAvQ21i60ApBWgQEYBcwPJh/gEFFH4Q7qCJwCZgOEJewALhUiABginAhEZABgj9lTBi7MCMhqbSN1A2gU6GIRdAeSDlgHqBw0FcAc4nDJXgyGCSiksAlcAXYJmgFgBOQICjVcjKEgQmdUi1kYnCBiQUBd/QIyDGYVoES+h3kCjA9sEhwBNgF0BzoNAgJ4Ee4RbBCWCOyGBTW2M/k6JgRQIYQgEgooA1BszwsoJvoM+WoBpBJjAw00PnfvZ6xgtyUX/gcaMsZBYSHyC5NPzgydGsIYQ1QvGeUHwAP0GvQn60FYBgADpAQUOk4z7wS+C2oIjAlAAEoOpBgH2BhrCnKM0QEyjAG4mgNYkoQCcJAGOAcMAGgMiAV65gAeAqgIpAAGANADWAA6Aq4HngAaAIZCAT4DKDABIuYCkAOUCDLMAZYwAfQqBBzEDBYA+DhuSwLDsgKAa2ajBd5ZAo8CSjYBTiYEBk9IUgOwcuIA3ABMBhTgSAEWrEvMG+REAeBwLADIAPwABjYHBkIBzgH0bgC4AWALMgmjtLYBTuoqAIQAFmwB2AKKAN4ANgCA8gFUAE4FWvoF1AJQSgESMhksWGIBvAMgATQBDgB6BsyOpsoIIARuB9QCEBwV4gLvLwe2AgMi4BPOQsYCvd9WADIXUu5eZwqoCqdeaAC0YTQHMnM9UQAPH6k+yAdy/BZIiQImSwBQ5gBQQzSaNTFWSTYBpwGqKQK38AFtqwBI/wK37gK3rQK3sAK6280C0gK33AK3zxAAUEIAUD9SklKDArekArw5AEQAzAHCO147WTteO1k7XjtZO147WTteO1kDmChYI03AVU0oJqkKbV9GYewMpw3VRMk6ShPcYFJgMxPJLbgUwhXPJVcZPhq9JwYl5VUKDwUt1GYxCC00dhe9AEApaYNCY4ceMQpMHOhTklT5LRwAskujM7ANrRsWREEFSHXuYisWDwojAmSCAmJDXE6wXDchAqH4AmiZAmYKAp+FOBwMAmY8AmYnBG8EgAN/FAN+kzkHOXgYOYM6JCQCbB4CMjc4CwJtyAJtr/CLADRoRiwBaADfAOIASwYHmQyOAP8MwwAOtgJ3MAJ2o0ACeUxEAni7Hl3cRa9G9AJ8QAJ6yQJ9CgJ88UgBSH5kJQAsFklZSlwWGErNAtECAtDNSygDiFADh+dExpEzAvKiXQQDA69Lz0wuJgTQTU1NsAKLQAKK2cIcCB5EaAa4Ao44Ao5dQZiCAo7aAo5deVG1UzYLUtVUhgKT/AKTDQDqAB1VH1WwVdEHLBwplocy4nhnRTw6ApegAu+zWCKpAFomApaQApZ9nQCqWa1aCoJOADwClrYClk9cRVzSApnMApllXMtdCBoCnJw5wzqeApwXAp+cAp65iwAeEDIrEAKd8gKekwC2PmE1YfACntQCoG8BqgKeoCACnk+mY8lkKCYsAiewAiZ/AqD8AqBN2AKmMAKlzwKoAAB+AqfzaH1osgAESmodatICrOQCrK8CrWgCrQMCVx4CVd0CseLYAx9PbJgCsr4OArLpGGzhbWRtSWADJc4Ctl08QG6RAylGArhfArlIFgK5K3hwN3DiAr0aAy2zAzISAr6JcgMDM3ICvhtzI3NQAsPMAsMFc4N0TDZGdOEDPKgDPJsDPcACxX0CxkgCxhGKAshqUgLIRQLJUALJLwJkngLd03h6YniveSZL0QMYpGcDAmH1GfSVJXsMXpNevBICz2wCz20wTFTT9BSgAMeuAs90ASrrA04TfkwGAtwoAtuLAtJQA1JdA1NgAQIDVY2AikABzBfuYUZ2AILPg44C2sgC2d+EEYRKpz0DhqYAMANkD4ZyWvoAVgLfZgLeuXR4AuIw7RUB8zEoAfScAfLTiALr9ALpcXoAAur6AurlAPpIAboC7ooC652Wq5cEAu5AA4XhmHpw4XGiAvMEAGoDjheZlAL3FAORbwOSiAL3mQL52gL4Z5odmqy8OJsfA52EAv77ARwAOp8dn7QDBY4DpmsDptoA0sYDBmuhiaIGCgMMSgFgASACtgNGAJwEgLpoBgC8BGzAEowcggCEDC6kdjoAJAM0C5IKRoABZCgiAIzw3AYBLACkfng9ogigkgNmWAN6AEQCvrkEVqTGAwCsBRbAA+4iQkMCHR072jI2PTbUNsk2RjY5NvA23TZKNiU3EDcZN5I+RTxDRTBCJkK5VBYKFhZfwQCWygU3AJBRHpu+OytgNxa61A40GMsYjsn7BVwFXQVcBV0FaAVdBVwFXQVcBV0FXAVdBVwFXUsaCNyKAK4AAQUHBwKU7oICoW1e7jAEzgPxA+YDwgCkBFDAwADABKzAAOxFLhitA1UFTDeyPkM+bj51QkRCuwTQWWQ8X+0AWBYzsACNA8xwzAGm7EZ/QisoCTAbLDs6fnLfb8H2GccsbgFw13M1HAVkBW/Jxsm9CNRO8E8FDD0FBQw9FkcClOYCoMFegpDfADgcMiA2AJQACB8AsigKAIzIEAJKeBIApY5yPZQIAKQiHb4fvj5BKSRPQrZCOz0oXyxgOywfKAnGbgMClQaCAkILXgdeCD9IIGUgQj5fPoY+dT52Ao5CM0dAX9BTVG9SDzFwWTQAbxBzJF/lOEIQQglCCkKJIAls5AcClQICoKPMODEFxhi6KSAbiyfIRrMjtCgdWCAkPlFBIitCsEJRzAbMAV/OEyQzDg0OAQQEJ36i328/Mk9AybDJsQlq3tDRApUKAkFzXf1d/j9uALYP6hCoFgCTGD8kPsFKQiobrm0+zj0KSD8kPnVCRBwMDyJRTHFgMTJa5rwXQiQ2YfI/JD7BMEJEHGINTw4TOFlIRzwJO0icMQpyPyQ+wzJCRBv6DVgnKB01NgUKj2bwYzMqCoBkznBgEF+zYDIocwRIX+NgHj4HICNfh2C4CwdwFWpTG/lgUhYGAwRfv2Ts8mAaXzVgml/XYIJfuWC4HI1gUF9pYJZgMR6ilQHMAOwLAlDRefC0in4AXAEJA6PjCwc0IamOANMMCAECRQDFNRTZBgd+CwQlRA+r6+gLBDEFBnwUBXgKATIArwAGRAAHA3cDdAN2A3kDdwN9A3oDdQN7A30DfAN4A3oDfQAYEAAlAtYASwMAUAFsAHcKAHcAmgB3AHUAdQB2AHVu8UgAygDAAHcAdQB1AHYAdQALCgB3AAsAmgB3AAsCOwB3AAtu8UgAygDAAHgKAJoAdwB3AHUAdQB2AHUAeAB1AHUAdgB1bvFIAMoAwAALCgCaAHcACwB3AAsCOwB3AAtu8UgAygDAAH4ACwGgALcBpwC6AahdAu0COwLtbvFIAMoAwAALCgCaAu0ACwLtAAsCOwLtAAtu8UgAygDAA24ACwNvAAu0VsQAAzsAABCkjUIpAAsAUIusOggWcgMeBxVsGwL67U/2HlzmWOEeOgALASvuAAseAfpKUpnpGgYJDCIZM6YyARUE9ThqAD5iXQgnAJYJPnOzw0ZAEZxEKsIAkA4DhAHnTAIDxxUDK0lxCQlPYgIvIQVYJQBVqE1GakUAKGYiDToSBA1EtAYAXQJYAIF8GgMHRyAAIAjOe9YncekRAA0KACUrjwE7Ayc6AAYWAqaiKG4McEcqANoN3+Mg9TwCBhIkuCny+JwUQ29L008JluRxu3K+oAdqiHOqFH0AG5SUIfUJ5SxCGfxdipRzqTmT4V5Zb+r1Uo4Vm+NqSSEl2mNvR2JhIa8SpYO6ntdwFXHCWTCK8f2+Hxo7uiG3drDycAuKIMP5bhi06ACnqArH1rz4Rqg//lm6SgJGEVbF9xJHISaR6HxqxSnkw6shDnelHKNEfGUXSJRJ1GcsmtJw25xrZMDK9gXSm1/YMkdX4/6NKYOdtk/NQ3/NnDASjTc3fPjIjW/5sVfVObX2oTDWkr1dF9f3kxBsD3/3aQO8hPfRz+e0uEiJqt1161griu7gz8hDDwtpy+F+BWtefnKHZPAxcZoWbnznhJpy0e842j36bcNzGnIEusgGX0a8ZxsnjcSsPDZ09yZ36fCQbriHeQ72JRMILNl6ePPf2HWoVwgWAm1fb3V2sAY0+B6rAXqSwPBgseVmoqsBTSrm91+XasMYYySI8eeRxH3ZvHkMz3BQ5aJ3iUVbYPNM3/7emRtjlsMgv/9VyTsyt/mK+8fgWeT6SoFaclXqn42dAIsvAarF5vNNWHzKSkKQ/8Hfk5ZWK7r9yliOsooyBjRhfkHP4Q2DkWXQi6FG/9r/IwbmkV5T7JSopHKn1pJwm9tb5Ot0oyN1Z2mPpKXHTxx2nlK08fKk1hEYA8WgVVWL5lgx0iTv+KdojJeU23ZDjmiubXOxVXJKKi2Wjuh2HLZOFLiSC7Tls5SMh4f+Pj6xUSrNjFqLGehRNB8lC0QSLNmkJJx/wSG3MnjE9T1CkPwJI0wH2lfzwETIiVqUxg0dfu5q39Gt+hwdcxkhhNvQ4TyrBceof3Mhs/IxFci1HmHr4FMZgXEEczPiGCx0HRwzAqDq2j9AVm1kwN0mRVLWLylgtoPNapF5cY4Y1wJh/e0BBwZj44YgZrDNqvD/9Hv7GFYdUQeDJuQ3EWI4HaKqavU1XjC/n41kT4L79kqGq0kLhdTZvgP3TA3fS0ozVz+5piZsoOtIvBUFoMKbNcmBL6YxxaUAusHB38XrS8dQMnQwJfUUkpRoGr5AUeWicvBTzyK9g77+yCkf5PAysL7r/JjcZgrbvRpMW9iyaxZvKO6ceZN2EwIxKwVFPuvFuiEPGCoagbMo+SpydLrXqBzNCDGFCrO/rkcwa2xhokQZ5CdZ0AsU3JfSqJ6n5I14YA+P/uAgfhPU84Tlw7cEFfp7AEE8ey4sP12PTt4Cods1GRgDOB5xvyiR5m+Bx8O5nBCNctU8BevfV5A08x6RHd5jcwPTMDSZJOedIZ1cGQ704lxbAzqZOP05ZxaOghzSdvFBHYqomATARyAADK4elP8Ly3IrUZKfWh23Xy20uBUmLS4Pfagu9+oyVa2iPgqRP3F2CTUsvJ7+RYnN8fFZbU/HVvxvcFFDKkiTqV5UBZ3Gz54JAKByi9hkKMZJvuGgcSYXFmw08UyoQyVdfTD1/dMkCHXcTGAKeROgArsvmRrQTLUOXioOHGK2QkjHuoYFgXciZoTJd6Fs5q1QX1G+p/e26hYsEf7QZD1nnIyl/SFkNtYYmmBhpBrxl9WbY0YpHWRuw2Ll/tj9mD8P4snVzJl4F9J+1arVeTb9E5r2ILH04qStjxQNwn3m4YNqxmaNbLAqW2TN6LidwuJRqS+NXbtqxoeDXpxeGWmxzSkWxjkyCkX4NQRme6q5SAcC+M7+9ETfA/EwrzQajKakCwYyeunP6ZFlxU2oMEn1Pz31zeStW74G406ZJFCl1wAXIoUKkWotYEpOuXB1uVNxJ63dpJEqfxBeptwIHNrPz8BllZoIcBoXwgfJ+8VAUnVPvRvexnw0Ma/WiGYuJO5y8QTvEYBigFmhUxY5RqzE8OcywN/8m4UYrlaniJO75XQ6KSo9+tWHlu+hMi0UVdiKQp7NelnoZUzNaIyBPVeOwK6GNp+FfHuPOoyhaWuNvTYFkvxscMQWDh+zeFCFkgwbXftiV23ywJ4+uwRqmg9k3KzwIQpzppt8DBBOMbrqwQM5Gb05sEwdKzMiAqOloaA/lr0KA+1pr0/+HiWoiIjHA/wir2nIuS3PeU/ji3O6ZwoxcR1SZ9FhtLC5S0FIzFhbBWcGVP/KpxOPSiUoAdWUpqKH++6Scz507iCcxYI6rdMBICPJZea7OcmeFw5mObJSiqpjg2UoWNIs+cFhyDSt6geV5qgi3FunmwwDoGSMgerFOZGX1m0dMCYo5XOruxO063dwENK9DbnVM9wYFREzh4vyU1WYYJ/LRRp6oxgjqP/X5a8/4Af6p6NWkQferzBmXme0zY/4nwMJm/wd1tIqSwGz+E3xPEAOoZlJit3XddD7/BT1pllzOx+8bmQtANQ/S6fZexc6qi3W+Q2xcmXTUhuS5mpHQRvcxZUN0S5+PL9lXWUAaRZhEH8hTdAcuNMMCuVNKTEGtSUKNi3O6KhSaTzck8csZ2vWRZ+d7mW8c4IKwXIYd25S/zIftPkwPzufjEvOHWVD1m+FjpDVUTV0DGDuHj6QnaEwLu/dEgdLQOg9E1Sro9XHJ8ykLAwtPu+pxqKDuFexqON1sKQm7rwbE1E68UCfA/erovrTCG+DBSNg0l4goDQvZN6uNlbyLpcZAwj2UclycvLpIZMgv4yRlpb3YuMftozorbcGVHt/VeDV3+Fdf1TP0iuaCsPi2G4XeGhsyF1ubVDxkoJhmniQ0/jSg/eYML9KLfnCFgISWkp91eauR3IQvED0nAPXK+6hPCYs+n3+hCZbiskmVMG2da+0EsZPonUeIY8EbfusQXjsK/eFDaosbPjEfQS0RKG7yj5GG69M7MeO1HmiUYocgygJHL6M1qzUDDwUSmr99V7Sdr2F3JjQAJY+F0yH33Iv3+C9M38eML7gTgmNu/r2bUMiPvpYbZ6v1/IaESirBHNa7mPKn4dEmYg7v/+HQgPN1G79jBQ1+soydfDC2r+h2Bl/KIc5KjMK7OH6nb1jLsNf0EHVe2KBiE51ox636uyG6Lho0t3J34L5QY/ilE3mikaF4HKXG1mG1rCevT1Vv6GavltxoQe/bMrpZvRggnBxSEPEeEzkEdOxTnPXHVjUYdw8JYvjB/o7Eegc3Ma+NUxLLnsK0kJlinPmUHzHGtrk5+CAbVzFOBqpyy3QVUnzTDfC/0XD94/okH+OB+i7g9lolhWIjSnfIb+Eq43ZXOWmwvjyV/qqD+t0e+7mTEM74qP/Ozt8nmC7mRpyu63OB4KnUzFc074SqoyPUAgM+/TJGFo6T44EHnQU4X4z6qannVqgw/U7zCpwcmXV1AubIrvOmkKHazJAR55ePjp5tLBsN8vAqs3NAHdcEHOR2xQ0lsNAFzSUuxFQCFYvXLZJdOj9p4fNq6p0HBGUik2YzaI4xySy91KzhQ0+q1hjxvImRwPRf76tChlRkhRCi74NXZ9qUNeIwP+s5p+3m5nwPdNOHgSLD79n7O9m1n1uDHiMntq4nkYwV5OZ1ENbXxFd4PgrlvavZsyUO4MqYlqqn1O8W/I1dEZq5dXhrbETLaZIbC2Kj/Aa/QM+fqUOHdf0tXAQ1huZ3cmWECWSXy/43j35+Mvq9xws7JKseriZ1pEWKc8qlzNrGPUGcVgOa9cPJYIJsGnJTAUsEcDOEVULO5x0rXBijc1lgXEzQQKhROf8zIV82w8eswc78YX11KYLWQRcgHNJElBxfXr72lS2RBSl07qTKorO2uUDZr3sFhYsvnhLZn0A94KRzJ/7DEGIAhW5ZWFpL8gEwu1aLA9MuWZzNwl8Oze9Y+bX+v9gywRVnoB5I/8kXTXU3141yRLYrIOOz6SOnyHNy4SieqzkBXharjfjqq1q6tklaEbA8Qfm2DaIPs7OTq/nvJBjKfO2H9bH2cCMh1+5gspfycu8f/cuuRmtDjyqZ7uCIMyjdV3a+p3fqmXsRx4C8lujezIFHnQiVTXLXuI1XrwN3+siYYj2HHTvESUx8DlOTXpak9qFRK+L3mgJ1WsD7F4cu1aJoFoYQnu+wGDMOjJM3kiBQWHCcvhJ/HRdxodOQp45YZaOTA22Nb4XKCVxqkbwMYFhzYQYIAnCW8FW14uf98jhUG2zrKhQQ0q0CEq0t5nXyvUyvR8DvD69LU+g3i+HFWQMQ8PqZuHD+sNKAV0+M6EJC0szq7rEr7B5bQ8BcNHzvDMc9eqB5ZCQdTf80Obn4uzjwpYU7SISdtV0QGa9D3Wrh2BDQtpBKxaNFV+/Cy2P/Sv+8s7Ud0Fd74X4+o/TNztWgETUapy+majNQ68Lq3ee0ZO48VEbTZYiH1Co4OlfWef82RWeyUXo7woM03PyapGfikTnQinoNq5z5veLpeMV3HCAMTaZmA1oGLAn7XS3XYsz+XK7VMQsc4XKrmDXOLU/pSXVNUq8dIqTba///3x6LiLS6xs1xuCAYSfcQ3+rQgmu7uvf3THKt5Ooo97TqcbRqxx7EASizaQCBQllG/rYxVapMLgtLbZS64w1MDBMXX+PQpBKNwqUKOf2DDRDUXQf9EhOS0Qj4nTmlA8dzSLz/G1d+Ud8MTy/6ghhdiLpeerGY/UlDOfiuqFsMUU5/UYlP+BAmgRLuNpvrUaLlVkrqDievNVEAwF+4CoM1MZTmjxjJMsKJq+u8Zd7tNCUFy6LiyYXRJQ4VyvEQFFaCGKsxIwQkk7EzZ6LTJq2hUuPhvAW+gQnSG6J+MszC+7QCRHcnqDdyNRJ6T9xyS87A6MDutbzKGvGktpbXqtzWtXb9HsfK2cBMomjN9a4y+TaJLnXxAeX/HWzmf4cR4vALt/P4w4qgKY04ml4ZdLOinFYS6cup3G/1ie4+t1eOnpBNlqGqs75ilzkT4+DsZQxNvaSKJ//6zIbbk/M7LOhFmRc/1R+kBtz7JFGdZm/COotIdvQoXpTqP/1uqEUmCb/QWoGLMwO5ANcHzxdY48IGP5+J+zKOTBFZ4Pid+GTM+Wq12MV/H86xEJptBa6T+p3kgpwLedManBHC2GgNrFpoN2xnrMz9WFWX/8/ygSBkavq2Uv7FdCsLEYLu9LLIvAU0bNRDtzYl+/vXmjpIvuJFYjmI0im6QEYqnIeMsNjXG4vIutIGHijeAG/9EDBozKV5cldkHbLxHh25vT+ZEzbhXlqvpzKJwcEgfNwLAKFeo0/pvEE10XDB+EXRTXtSzJozQKFFAJhMxYkVaCW+E9AL7tMeU8acxidHqzb6lX4691UsDpy/LLRmT+epgW56+5Cw8tB4kMUv6s9lh3eRKbyGs+H/4mQMaYzPTf2OOdokEn+zzgvoD3FqNKk8QqGAXVsqcGdXrT62fSPkR2vROFi68A6se86UxRUk4cajfPyCC4G5wDhD+zNq4jodQ4u4n/m37Lr36n4LIAAsVr02dFi9AiwA81MYs2rm4eDlDNmdMRvEKRHfBwW5DdMNp0jPFZMeARqF/wL4XBfd+EMLBfMzpH5GH6NaW+1vrvMdg+VxDzatk3MXgO3ro3P/DpcC6+Mo4MySJhKJhSR01SGGGp5hPWmrrUgrv3lDnP+HhcI3nt3YqBoVAVTBAQT5iuhTg8nvPtd8ZeYj6w1x6RqGUBrSku7+N1+BaasZvjTk64RoIDlL8brpEcJx3OmY7jLoZsswdtmhfC/G21llXhITOwmvRDDeTTPbyASOa16cF5/A1fZAidJpqju3wYAy9avPR1ya6eNp9K8XYrrtuxlqi+bDKwlfrYdR0RRiKRVTLOH85+ZY7XSmzRpfZBJjaTa81VDcJHpZnZnSQLASGYW9l51ZV/h7eVzTi3Hv6hUsgc/51AqJRTkpbFVLXXszoBL8nBX0u/0jBLT8nH+fJePbrwURT58OY+UieRjd1vs04w0VG5VN2U6MoGZkQzKN/ptz0Q366dxoTGmj7i1NQGHi9GgnquXFYdrCfZBmeb7s0T6yrdlZH5cZuwHFyIJ/kAtGsTg0xH5taAAq44BAk1CPk9KVVbqQzrCUiFdF/6gtlPQ8bHHc1G1W92MXGZ5HEHftyLYs8mbD/9xYRUWkHmlM0zC2ilJlnNgV4bfALpQghxOUoZL7VTqtCHIaQSXm+YUMnpkXybnV+A6xlm2CVy8fn0Xlm2XRa0+zzOa21JWWmixfiPMSCZ7qA4rS93VN3pkpF1s5TonQjisHf7iU9ZGvUPOAKZcR1pbeVf/Ul7OhepGCaId9wOtqo7pJ7yLcBZ0pFkOF28y4zEI/kcUNmutBHaQpBdNM8vjCS6HZRokkeo88TBAjGyG7SR+6vUgTcyK9Imalj0kuxz0wmK+byQU11AiJFk/ya5dNduRClcnU64yGu/ieWSeOos1t3ep+RPIWQ2pyTYVbZltTbsb7NiwSi3AV+8KLWk7LxCnfZUetEM8ThnsSoGH38/nyAwFguJp8FjvlHtcWZuU4hPva0rHfr0UhOOJ/F6vS62FW7KzkmRll2HEc7oUq4fyi5T70Vl7YVIfsPHUCdHesf9Lk7WNVWO75JDkYbMI8TOW8JKVtLY9d6UJRITO8oKo0xS+o99Yy04iniGHAaGj88kEWgwv0OrHdY/nr76DOGNS59hXCGXzTKUvDl9iKpLSWYN1lxIeyywdNpTkhay74w2jFT6NS8qkjo5CxA1yfSYwp6AJIZNKIeEK5PJAW7ORgWgwp0VgzYpqovMrWxbu+DGZ6Lhie1RAqpzm8VUzKJOH3mCzWuTOLsN3VT/dv2eeYe9UjbR8YTBsLz7q60VN1sU51k+um1f8JxD5pPhbhSC8rRaB454tmh6YUWrJI3+GWY0qeWioj/tbkYITOkJaeuGt4JrJvHA+l0Gu7kY7XOaa05alMnRWVCXqFgLIwSY4uF59Ue5SU4QKuc/HamDxbr0x6csCetXGoP7Qn1Bk/J9DsynO/UD6iZ1Hyrz+jit0hDCwi/E9OjgKTbB3ZQKQ/0ZOvevfNHG0NK4Aj3Cp7NpRk07RT1i/S0EL93Ag8GRgKI9CfpajKyK6+Jj/PI1KO5/85VAwz2AwzP8FTBb075IxCXv6T9RVvWT2tUaqxDS92zrGUbWzUYk9mSs82pECH+fkqsDt93VW++4YsR/dHCYcQSYTO/KaBMDj9LSD/J/+z20Kq8XvZUAIHtm9hRPP3ItbuAu2Hm5lkPs92pd7kCxgRs0xOVBnZ13ccdA0aunrwv9SdqElJRC3g+oCu+nXyCgmXUs9yMjTMAIHfxZV+aPKcZeUBWt057Xo85Ks1Ir5gzEHCWqZEhrLZMuF11ziGtFQUds/EESajhagzcKsxamcSZxGth4UII+adPhQkUnx2WyN+4YWR+r3f8MnkyGFuR4zjzxJS8WsQYR5PTyRaD9ixa6Mh741nBHbzfjXHskGDq179xaRNrCIB1z1xRfWfjqw2pHc1zk9xlPpL8sQWAIuETZZhbnmL54rceXVNRvUiKrrqIkeogsl0XXb17ylNb0f4GA9Wd44vffEG8FSZGHEL2fbaTGRcSiCeA8PmA/f6Hz8HCS76fXUHwgwkzSwlI71ekZ7Fapmlk/KC+Hs8hUcw3N2LN5LhkVYyizYFl/uPeVP5lsoJHhhfWvvSWruCUW1ZcJOeuTbrDgywJ/qG07gZJplnTvLcYdNaH0KMYOYMGX+rB4NGPFmQsNaIwlWrfCezxre8zXBrsMT+edVLbLqN1BqB76JH4BvZTqUIMfGwPGEn+EnmTV86fPBaYbFL3DFEhjB45CewkXEAtJxk4/Ms2pPXnaRqdky0HOYdcUcE2zcXq4vaIvW2/v0nHFJH2XXe22ueDmq/18XGtELSq85j9X8q0tcNSSKJIX8FTuJF/Pf8j5PhqG2u+osvsLxYrvvfeVJL+4tkcXcr9JV7v0ERmj/X6fM3NC4j6dS1+9Umr2oPavqiAydTZPLMNRGY23LO9zAVDly7jD+70G5TPPLdhRIl4WxcYjLnM+SNcJ26FOrkrISUtPObIz5Zb3AG612krnpy15RMW+1cQjlnWFI6538qky9axd2oJmHIHP08KyP0ubGO+TQNOYuv2uh17yCIvR8VcStw7o1g0NM60sk+8Tq7YfIBJrtp53GkvzXH7OA0p8/n/u1satf/VJhtR1l8Wa6Gmaug7haSpaCaYQax6ta0mkutlb+eAOSG1aobM81D9A4iS1RRlzBBoVX6tU1S6WE2N9ORY6DfeLRC4l9Rvr5h95XDWB2mR1d4WFudpsgVYwiTwT31ljskD8ZyDOlm5DkGh9N/UB/0AI5Xvb8ZBmai2hQ4BWMqFwYnzxwB26YHSOv9WgY3JXnvoN+2R4rqGVh/LLDMtpFP+SpMGJNWvbIl5SOodbCczW2RKleksPoUeGEzrjtKHVdtZA+kfqO+rVx/iclCqwoopepvJpSTDjT+b9GWylGRF8EDbGlw6eUzmJM95Ovoz+kwLX3c2fTjFeYEsE7vUZm3mqdGJuKh2w9/QGSaqRHs99aScGOdDqkFcACoqdbBoQqqjamhH6Q9ng39JCg3lrGJwd50Qk9ovnqBTr8MME7Ps2wiVfygUmPoUBJJfJWX5Nda0nuncbFkA=="))}let eK=eG(),eY=new Set(eB(eK)),eX=new Set(eB(eK)),eJ=eF(eK),eQ=eZ(eK),e0=45,e6=95;function e4(eb){return(0,ew.XL)(eb)}function e3(eb){return eb.filter(eb=>65039!=eb)}function e5(eb){for(let em of eb.split(".")){let eb=e4(em);try{for(let em=eb.lastIndexOf(e6)-1;em>=0;em--)if(eb[em]!==e6)throw Error("underscore only allowed at start");if(eb.length>=4&&eb.every(eb=>eb<128)&&eb[2]===e0&&eb[3]===e0)throw Error("invalid label extension")}catch(eb){throw Error(`Invalid label "${em}": ${eb.message}`)}}return eb}function e8(eb){return e5(e9(eb,e3))}function e9(eb,em){let eH=e4(eb).reverse(),eV=[];for(;eH.length;){let eb=tH(eH);if(eb){eV.push(...em(eb));continue}let ew=eH.pop();if(eY.has(ew)){eV.push(ew);continue}if(eX.has(ew))continue;let eM=eJ[ew];if(eM){eV.push(...eM);continue}throw Error(`Disallowed codepoint: 0x${ew.toString(16).toUpperCase()}`)}return e5(e7(String.fromCodePoint(...eV)))}function e7(eb){return eb.normalize("NFC")}function tH(eb,em){var eH;let eV,ew;let eM=eQ,eC=[],eT=eb.length;for(em&&(em.length=0);eT;){let e_=eb[--eT];if(!(eM=null===(eH=eM.branches.find(eb=>eb.set.has(e_)))||void 0===eH?void 0:eH.node))break;if(eM.save)ew=e_;else if(eM.check&&e_===ew)break;eC.push(e_),eM.fe0f&&(eC.push(65039),eT>0&&65039==eb[eT-1]&&eT--),eM.valid&&(eV=eC.slice(),2==eM.valid&&eV.splice(1,1),em&&em.push(...eb.slice(eT).reverse()),eb.length=eT)}return eV}let tV=new eC.Yd(eT.i),tw=new Uint8Array(32);function tC(eb){if(0===eb.length)throw Error("invalid ENS name; empty component");return eb}function tT(eb){let em=(0,ew.Y0)(e8(eb)),eH=[];if(0===eb.length)return eH;let eV=0;for(let eb=0;eb=em.length)throw Error("invalid ENS name; empty component");return eH.push(tC(em.slice(eV))),eH}function t_(eb){try{return 0!==tT(eb).length}catch(eb){}return!1}function tS(eb){"string"!=typeof eb&&tV.throwArgumentError("invalid ENS name; not a string","name",eb);let em=tw,eH=tT(eb);for(;eH.length;)em=(0,eM.w)((0,eV.zo)([em,(0,eM.w)(eH.pop())]));return(0,eV.Dv)(em)}function tE(eb){return(0,eV.Dv)((0,eV.zo)(tT(eb).map(eb=>{if(eb.length>63)throw Error("invalid DNS encoded entry; length exceeds 63 bytes");let em=new Uint8Array(eb.length+1);return em.set(eb,1),em[0]=em.length-1,em})))+"00"}tw.fill(0)},67827:function(eb,em,eH){"use strict";eH.d(em,{E:function(){return eY}});var eV=eH(19485),ew=eH(2593),eM=eH(16441),eC=eH(38197),eT=eH(6881),e_=eH(1581),eS=eH(35644),eE=eH(32046),eA=function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};let eN=new e_.Yd(eS.i),eI=new Uint8Array(32);eI.fill(0);let eD=ew.O$.from(-1),eP=ew.O$.from(0),eO=ew.O$.from(1),eR=ew.O$.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function eB(eb){let em=(0,eM.lE)(eb),eH=em.length%32;return eH?(0,eM.xs)([em,eI.slice(eH)]):(0,eM.Dv)(em)}let eF=(0,eM.$m)(eO.toHexString(),32),ej=(0,eM.$m)(eP.toHexString(),32),eU={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},e$=["name","version","chainId","verifyingContract","salt"];function eW(eb){return function(em){return"string"!=typeof em&&eN.throwArgumentError(`invalid domain value for ${JSON.stringify(eb)}`,`domain.${eb}`,em),em}}let eZ={name:eW("name"),version:eW("version"),chainId:function(eb){try{return ew.O$.from(eb).toString()}catch(eb){}return eN.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",eb)},verifyingContract:function(eb){try{return(0,eV.Kn)(eb).toLowerCase()}catch(eb){}return eN.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",eb)},salt:function(eb){try{let em=(0,eM.lE)(eb);if(32!==em.length)throw Error("bad length");return(0,eM.Dv)(em)}catch(eb){}return eN.throwArgumentError('invalid domain value "salt"',"domain.salt",eb)}};function eG(eb){{let em=eb.match(/^(u?)int(\d*)$/);if(em){let eH=""===em[1],eV=parseInt(em[2]||"256");(eV%8!=0||eV>256||em[2]&&em[2]!==String(eV))&&eN.throwArgumentError("invalid numeric width","type",eb);let eC=eR.mask(eH?eV-1:eV),eT=eH?eC.add(eO).mul(eD):eP;return function(em){let eH=ew.O$.from(em);return(eH.lt(eT)||eH.gt(eC))&&eN.throwArgumentError(`value out-of-bounds for ${eb}`,"value",em),(0,eM.$m)(eH.toTwos(256).toHexString(),32)}}}{let em=eb.match(/^bytes(\d+)$/);if(em){let eH=parseInt(em[1]);return(0===eH||eH>32||em[1]!==String(eH))&&eN.throwArgumentError("invalid bytes width","type",eb),function(em){let eV=(0,eM.lE)(em);return eV.length!==eH&&eN.throwArgumentError(`invalid length for ${eb}`,"value",em),eB(em)}}}switch(eb){case"address":return function(eb){return(0,eM.$m)((0,eV.Kn)(eb),32)};case"bool":return function(eb){return eb?eF:ej};case"bytes":return function(eb){return(0,eC.w)(eb)};case"string":return function(eb){return(0,eE.id)(eb)}}return null}function eK(eb,em){return`${eb}(${em.map(({name:eb,type:em})=>em+" "+eb).join(",")})`}class eY{constructor(eb){(0,eT.zG)(this,"types",Object.freeze((0,eT.p$)(eb))),(0,eT.zG)(this,"_encoderCache",{}),(0,eT.zG)(this,"_types",{});let em={},eH={},eV={};for(let ew in Object.keys(eb).forEach(eb=>{em[eb]={},eH[eb]=[],eV[eb]={}}),eb){let eV={};eb[ew].forEach(eM=>{eV[eM.name]&&eN.throwArgumentError(`duplicate variable name ${JSON.stringify(eM.name)} in ${JSON.stringify(ew)}`,"types",eb),eV[eM.name]=!0;let eC=eM.type.match(/^([^\x5b]*)(\x5b|$)/)[1];eC===ew&&eN.throwArgumentError(`circular type reference to ${JSON.stringify(eC)}`,"types",eb);let eT=eG(eC);eT||(eH[eC]||eN.throwArgumentError(`unknown type ${JSON.stringify(eC)}`,"types",eb),eH[eC].push(ew),em[ew][eC]=!0)})}let ew=Object.keys(eH).filter(eb=>0===eH[eb].length);function eM(ew,eC){eC[ew]&&eN.throwArgumentError(`circular type reference to ${JSON.stringify(ew)}`,"types",eb),eC[ew]=!0,Object.keys(em[ew]).forEach(eb=>{eH[eb]&&(eM(eb,eC),Object.keys(eC).forEach(em=>{eV[em][eb]=!0}))}),delete eC[ew]}for(let em in 0===ew.length?eN.throwArgumentError("missing primary type","types",eb):ew.length>1&&eN.throwArgumentError(`ambiguous primary types or unused types: ${ew.map(eb=>JSON.stringify(eb)).join(", ")}`,"types",eb),(0,eT.zG)(this,"primaryType",ew[0]),eM(this.primaryType,{}),eV){let eH=Object.keys(eV[em]);eH.sort(),this._types[em]=eK(em,eb[em])+eH.map(em=>eK(em,eb[em])).join("")}}getEncoder(eb){let em=this._encoderCache[eb];return em||(em=this._encoderCache[eb]=this._getEncoder(eb)),em}_getEncoder(eb){{let em=eG(eb);if(em)return em}let em=eb.match(/^(.*)(\x5b(\d*)\x5d)$/);if(em){let eb=em[1],eH=this.getEncoder(eb),eV=parseInt(em[3]);return em=>{eV>=0&&em.length!==eV&&eN.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",em);let ew=em.map(eH);return this._types[eb]&&(ew=ew.map(eC.w)),(0,eC.w)((0,eM.xs)(ew))}}let eH=this.types[eb];if(eH){let em=(0,eE.id)(this._types[eb]);return eb=>{let eV=eH.map(({name:em,type:eH})=>{let eV=this.getEncoder(eH)(eb[em]);return this._types[eH]?(0,eC.w)(eV):eV});return eV.unshift(em),(0,eM.xs)(eV)}}return eN.throwArgumentError(`unknown type: ${eb}`,"type",eb)}encodeType(eb){let em=this._types[eb];return em||eN.throwArgumentError(`unknown type: ${JSON.stringify(eb)}`,"name",eb),em}encodeData(eb,em){return this.getEncoder(eb)(em)}hashStruct(eb,em){return(0,eC.w)(this.encodeData(eb,em))}encode(eb){return this.encodeData(this.primaryType,eb)}hash(eb){return this.hashStruct(this.primaryType,eb)}_visit(eb,em,eH){{let eV=eG(eb);if(eV)return eH(eb,em)}let eV=eb.match(/^(.*)(\x5b(\d*)\x5d)$/);if(eV){let eb=eV[1],ew=parseInt(eV[3]);return ew>=0&&em.length!==ew&&eN.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",em),em.map(em=>this._visit(eb,em,eH))}let ew=this.types[eb];return ew?ew.reduce((eb,{name:eV,type:ew})=>(eb[eV]=this._visit(ew,em[eV],eH),eb),{}):eN.throwArgumentError(`unknown type: ${eb}`,"type",eb)}visit(eb,em){return this._visit(this.primaryType,eb,em)}static from(eb){return new eY(eb)}static getPrimaryType(eb){return eY.from(eb).primaryType}static hashStruct(eb,em,eH){return eY.from(em).hashStruct(eb,eH)}static hashDomain(eb){let em=[];for(let eH in eb){let eV=eU[eH];eV||eN.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(eH)}`,"domain",eb),em.push({name:eH,type:eV})}return em.sort((eb,em)=>e$.indexOf(eb.name)-e$.indexOf(em.name)),eY.hashStruct("EIP712Domain",{EIP712Domain:em},eb)}static encode(eb,em,eH){return(0,eM.xs)(["0x1901",eY.hashDomain(eb),eY.from(em).hash(eH)])}static hash(eb,em,eH){return(0,eC.w)(eY.encode(eb,em,eH))}static resolveNames(eb,em,eH,eV){return eA(this,void 0,void 0,function*(){eb=(0,eT.DC)(eb);let ew={};eb.verifyingContract&&!(0,eM.A7)(eb.verifyingContract,20)&&(ew[eb.verifyingContract]="0x");let eC=eY.from(em);for(let eb in eC.visit(eH,(eb,em)=>("address"!==eb||(0,eM.A7)(em,20)||(ew[em]="0x"),em)),ew)ew[eb]=yield eV(eb);return eb.verifyingContract&&ew[eb.verifyingContract]&&(eb.verifyingContract=ew[eb.verifyingContract]),{domain:eb,value:eH=eC.visit(eH,(eb,em)=>"address"===eb&&ew[em]?ew[em]:em)}})}static getPayload(eb,em,eH){eY.hashDomain(eb);let eV={},eC=[];e$.forEach(em=>{let eH=eb[em];null!=eH&&(eV[em]=eZ[em](eH),eC.push({name:em,type:eU[em]}))});let e_=eY.from(em),eS=(0,eT.DC)(em);return eS.EIP712Domain?eN.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",em):eS.EIP712Domain=eC,e_.encode(eH),{types:eS,domain:eV,primaryType:e_.primaryType,message:e_.visit(eH,(eb,em)=>{if(eb.match(/^bytes(\d*)/))return(0,eM.Dv)((0,eM.lE)(em));if(eb.match(/^u?int/))return ew.O$.from(em).toString();switch(eb){case"address":return em.toLowerCase();case"bool":return!!em;case"string":return"string"!=typeof em&&eN.throwArgumentError("invalid string","value",em),em}return eN.throwArgumentError("unsupported type","type",eb)})}}}},84178:function(eb,em,eH){"use strict";eH.d(em,{m$:function(){return eY},cD:function(){return eK},JJ:function(){return eQ},ny:function(){return e6},xh:function(){return e0},oy:function(){return eJ},OI:function(){return eX}});var eV=eH(57727),ew=eH(16441),eM=eH(2593),eC=eH(29251),eT=eH(85306),e_=eH(6881),eS=eH(67669),eE=eH(2006),eA=eH(21261),eN=eH(83875),eI=eH(10234),eD=eH(1581);let eP="hdnode/5.7.0",eO=new eD.Yd(eP),eR=eM.O$.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),eB=(0,eC.Y0)("Bitcoin seed"),eF=2147483648;function ej(eb){return(1<=256)throw Error("Depth too large!");return eW((0,ew.zo)([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",(0,ew.Dv)(this.depth),this.parentFingerprint,(0,ew.$m)((0,ew.Dv)(this.index),4),this.chainCode,null!=this.privateKey?(0,ew.zo)(["0x00",this.privateKey]):this.publicKey]))}neuter(){return new eY(eG,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)}_derive(eb){if(eb>4294967295)throw Error("invalid index - "+String(eb));let em=this.path;em&&(em+="/"+(eb&~eF));let eH=new Uint8Array(37);if(eb&eF){if(!this.privateKey)throw Error("cannot derive child of neutered node");eH.set((0,ew.lE)(this.privateKey),1),em&&(em+="'")}else eH.set((0,ew.lE)(this.publicKey));for(let em=24;em>=0;em-=8)eH[33+(em>>3)]=eb>>24-em&255;let eV=(0,ew.lE)((0,eE.Gy)(eA.p.sha512,this.chainCode,eH)),eC=eV.slice(0,32),eT=eV.slice(32),e_=null,eN=null;if(this.privateKey)e_=e$(eM.O$.from(eC).add(this.privateKey).mod(eR));else{let eb=new eS.Et((0,ew.Dv)(eC));eN=eb._addPoint(this.publicKey)}let eI=em,eD=this.mnemonic;return eD&&(eI=Object.freeze({phrase:eD.phrase,path:em,locale:eD.locale||"en"})),new eY(eG,e_,eN,this.fingerprint,e$(eT),eb,this.depth+1,eI)}derivePath(eb){let em=eb.split("/");if(0===em.length||"m"===em[0]&&0!==this.depth)throw Error("invalid path - "+eb);"m"===em[0]&&em.shift();let eH=this;for(let eb=0;eb=eF)throw Error("invalid path index - "+eV);eH=eH._derive(eF+eb)}else if(eV.match(/^[0-9]+$/)){let eb=parseInt(eV);if(eb>=eF)throw Error("invalid path index - "+eV);eH=eH._derive(eb)}else throw Error("invalid path component - "+eV)}return eH}static _fromSeed(eb,em){let eH=(0,ew.lE)(eb);if(eH.length<16||eH.length>64)throw Error("invalid seed");let eV=(0,ew.lE)((0,eE.Gy)(eA.p.sha512,eB,eH));return new eY(eG,e$(eV.slice(0,32)),null,"0x00000000",e$(eV.slice(32)),0,0,em)}static fromMnemonic(eb,em,eH){return eb=eQ(eJ(eb,eH=eZ(eH)),eH),eY._fromSeed(eX(eb,em),{phrase:eb,path:"m",locale:eH.locale})}static fromSeed(eb){return eY._fromSeed(eb,null)}static fromExtendedKey(eb){let em=eV.eU.decode(eb);(82!==em.length||eW(em.slice(0,78))!==eb)&&eO.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");let eH=em[4],eM=(0,ew.Dv)(em.slice(5,9)),eC=parseInt((0,ew.Dv)(em.slice(9,13)).substring(2),16),eT=(0,ew.Dv)(em.slice(13,45)),e_=em.slice(45,78);switch((0,ew.Dv)(em.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new eY(eG,null,(0,ew.Dv)(e_),eM,eT,eC,eH,null);case"0x0488ade4":case"0x04358394 ":if(0!==e_[0])break;return new eY(eG,(0,ew.Dv)(e_.slice(1)),null,eM,eT,eC,eH,null)}return eO.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")}}function eX(eb,em){em||(em="");let eH=(0,eC.Y0)("mnemonic"+em,eC.Uj.NFKD);return(0,eT.n)((0,eC.Y0)(eb,eC.Uj.NFKD),eH,2048,64,"sha512")}function eJ(eb,em){em=eZ(em),eO.checkNormalize();let eH=em.split(eb);if(eH.length%3!=0)throw Error("invalid mnemonic");let eV=(0,ew.lE)(new Uint8Array(Math.ceil(11*eH.length/8))),eM=0;for(let eb=0;eb>3]|=1<<7-eM%8),eM++}let eC=32*eH.length/3,eT=eH.length/3,e_=ej(eT),eS=(0,ew.lE)((0,eE.JQ)(eV.slice(0,eC/8)))[0]&e_;if(eS!==(eV[eV.length-1]&e_))throw Error("invalid checksum");return(0,ew.Dv)(eV.slice(0,eC/8))}function eQ(eb,em){if(em=eZ(em),(eb=(0,ew.lE)(eb)).length%4!=0||eb.length<16||eb.length>32)throw Error("invalid entropy");let eH=[0],eV=11;for(let em=0;em8?(eH[eH.length-1]<<=8,eH[eH.length-1]|=eb[em],eV-=8):(eH[eH.length-1]<<=eV,eH[eH.length-1]|=eb[em]>>8-eV,eH.push(eb[em]&eU(8-eV)),eV+=3);let eM=eb.length/4,eC=(0,ew.lE)((0,eE.JQ)(eb))[0]&ej(eM);return eH[eH.length-1]<<=eM,eH[eH.length-1]|=eC>>8-eM,em.join(eH.map(eb=>em.getWord(eb)))}function e0(eb,em){try{return eJ(eb,em),!0}catch(eb){}return!1}function e6(eb){return("number"!=typeof eb||eb<0||eb>=eF||eb%1)&&eO.throwArgumentError("invalid account index","index",eb),`m/44'/60'/${eb}'/0/0`}},67949:function(eb,em,eH){"use strict";eH.d(em,{LW:function(){return ew},Rb:function(){return eC},aO:function(){return eM}});var eV=eH(19485);function ew(eb){let em=null;try{em=JSON.parse(eb)}catch(eb){return!1}return em.encseed&&em.ethaddr}function eM(eb){let em=null;try{em=JSON.parse(eb)}catch(eb){return!1}return!!em.version&&parseInt(em.version)===em.version&&3===parseInt(em.version)}function eC(eb){if(ew(eb))try{return(0,eV.Kn)(JSON.parse(eb).ethaddr)}catch(eb){return null}if(eM(eb))try{return(0,eV.Kn)(JSON.parse(eb).address)}catch(eb){}return null}},38197:function(eb,em,eH){"use strict";eH.d(em,{w:function(){return eC}});var eV=eH(91094),ew=eH.n(eV),eM=eH(16441);function eC(eb){return"0x"+ew().keccak_256((0,eM.lE)(eb))}},1581:function(eb,em,eH){"use strict";var eV,ew;eH.d(em,{jK:function(){return ew},Yd:function(){return eD}});let eM="logger/5.7.0",eC=!1,eT=!1,e_={debug:1,default:2,info:2,warning:3,error:4,off:5},eS=e_.default,eE=null;function eA(){try{let eb=[];if(["NFD","NFC","NFKD","NFKC"].forEach(em=>{try{if("test"!=="test".normalize(em))throw Error("bad normalize")}catch(eH){eb.push(em)}}),eb.length)throw Error("missing "+eb.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw Error("broken implementation")}catch(eb){return eb.message}return null}let eN=eA();!function(eb){eb.DEBUG="DEBUG",eb.INFO="INFO",eb.WARNING="WARNING",eb.ERROR="ERROR",eb.OFF="OFF"}(eV||(eV={})),function(eb){eb.UNKNOWN_ERROR="UNKNOWN_ERROR",eb.NOT_IMPLEMENTED="NOT_IMPLEMENTED",eb.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",eb.NETWORK_ERROR="NETWORK_ERROR",eb.SERVER_ERROR="SERVER_ERROR",eb.TIMEOUT="TIMEOUT",eb.BUFFER_OVERRUN="BUFFER_OVERRUN",eb.NUMERIC_FAULT="NUMERIC_FAULT",eb.MISSING_NEW="MISSING_NEW",eb.INVALID_ARGUMENT="INVALID_ARGUMENT",eb.MISSING_ARGUMENT="MISSING_ARGUMENT",eb.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",eb.CALL_EXCEPTION="CALL_EXCEPTION",eb.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",eb.NONCE_EXPIRED="NONCE_EXPIRED",eb.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",eb.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",eb.TRANSACTION_REPLACED="TRANSACTION_REPLACED",eb.ACTION_REJECTED="ACTION_REJECTED"}(ew||(ew={}));let eI="0123456789abcdef";class eD{constructor(eb){Object.defineProperty(this,"version",{enumerable:!0,value:eb,writable:!1})}_log(eb,em){let eH=eb.toLowerCase();null==e_[eH]&&this.throwArgumentError("invalid log level name","logLevel",eb),eS>e_[eH]||console.log.apply(console,em)}debug(...eb){this._log(eD.levels.DEBUG,eb)}info(...eb){this._log(eD.levels.INFO,eb)}warn(...eb){this._log(eD.levels.WARNING,eb)}makeError(eb,em,eH){if(eT)return this.makeError("censored error",em,{});em||(em=eD.errors.UNKNOWN_ERROR),eH||(eH={});let eV=[];Object.keys(eH).forEach(eb=>{let em=eH[eb];try{if(em instanceof Uint8Array){let eH="";for(let eb=0;eb>4]+eI[15&em[eb]];eV.push(eb+"=Uint8Array(0x"+eH+")")}else eV.push(eb+"="+JSON.stringify(em))}catch(em){eV.push(eb+"="+JSON.stringify(eH[eb].toString()))}}),eV.push(`code=${em}`),eV.push(`version=${this.version}`);let eM=eb,eC="";switch(em){case ew.NUMERIC_FAULT:{eC="NUMERIC_FAULT";let em=eb;switch(em){case"overflow":case"underflow":case"division-by-zero":eC+="-"+em;break;case"negative-power":case"negative-width":eC+="-unsupported";break;case"unbound-bitwise-result":eC+="-unbound-result"}break}case ew.CALL_EXCEPTION:case ew.INSUFFICIENT_FUNDS:case ew.MISSING_NEW:case ew.NONCE_EXPIRED:case ew.REPLACEMENT_UNDERPRICED:case ew.TRANSACTION_REPLACED:case ew.UNPREDICTABLE_GAS_LIMIT:eC=em}eC&&(eb+=" [ See: https://links.ethers.org/v5-errors-"+eC+" ]"),eV.length&&(eb+=" ("+eV.join(", ")+")");let e_=Error(eb);return e_.reason=eM,e_.code=em,Object.keys(eH).forEach(function(eb){e_[eb]=eH[eb]}),e_}throwError(eb,em,eH){throw this.makeError(eb,em,eH)}throwArgumentError(eb,em,eH){return this.throwError(eb,eD.errors.INVALID_ARGUMENT,{argument:em,value:eH})}assert(eb,em,eH,eV){eb||this.throwError(em,eH,eV)}assertArgument(eb,em,eH,eV){eb||this.throwArgumentError(em,eH,eV)}checkNormalize(eb){null==eb&&(eb="platform missing String.prototype.normalize"),eN&&this.throwError("platform missing String.prototype.normalize",eD.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:eN})}checkSafeUint53(eb,em){"number"==typeof eb&&(null==em&&(em="value not safe"),(eb<0||eb>=9007199254740991)&&this.throwError(em,eD.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:eb}),eb%1&&this.throwError(em,eD.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:eb}))}checkArgumentCount(eb,em,eH){eH=eH?": "+eH:"",ebem&&this.throwError("too many arguments"+eH,eD.errors.UNEXPECTED_ARGUMENT,{count:eb,expectedCount:em})}checkNew(eb,em){(eb===Object||null==eb)&&this.throwError("missing new",eD.errors.MISSING_NEW,{name:em.name})}checkAbstract(eb,em){eb===em?this.throwError("cannot instantiate abstract class "+JSON.stringify(em.name)+" directly; use a sub-class",eD.errors.UNSUPPORTED_OPERATION,{name:eb.name,operation:"new"}):(eb===Object||null==eb)&&this.throwError("missing new",eD.errors.MISSING_NEW,{name:em.name})}static globalLogger(){return eE||(eE=new eD(eM)),eE}static setCensorship(eb,em){if(!eb&&em&&this.globalLogger().throwError("cannot permanently disable censorship",eD.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),eC){if(!eb)return;this.globalLogger().throwError("error censorship permanent",eD.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}eT=!!eb,eC=!!em}static setLogLevel(eb){let em=e_[eb.toLowerCase()];if(null==em){eD.globalLogger().warn("invalid log level - "+eb);return}eS=em}static from(eb){return new eD(eb)}}eD.errors=ew,eD.levels=eV},45710:function(eb,em,eH){"use strict";eH.d(em,{H:function(){return eI}});var eV=eH(1581);let ew="networks/5.7.1",eM=new eV.Yd(ew);function eC(eb){return eb&&"function"==typeof eb.renetwork}function eT(eb){let em=function(em,eH){null==eH&&(eH={});let eV=[];if(em.InfuraProvider&&"-"!==eH.infura)try{eV.push(new em.InfuraProvider(eb,eH.infura))}catch(eb){}if(em.EtherscanProvider&&"-"!==eH.etherscan)try{eV.push(new em.EtherscanProvider(eb,eH.etherscan))}catch(eb){}if(em.AlchemyProvider&&"-"!==eH.alchemy)try{eV.push(new em.AlchemyProvider(eb,eH.alchemy))}catch(eb){}if(em.PocketProvider&&"-"!==eH.pocket){let ew=["goerli","ropsten","rinkeby","sepolia"];try{let eM=new em.PocketProvider(eb,eH.pocket);eM.network&&-1===ew.indexOf(eM.network.name)&&eV.push(eM)}catch(eb){}}if(em.CloudflareProvider&&"-"!==eH.cloudflare)try{eV.push(new em.CloudflareProvider(eb))}catch(eb){}if(em.AnkrProvider&&"-"!==eH.ankr)try{let ew=["ropsten"],eM=new em.AnkrProvider(eb,eH.ankr);eM.network&&-1===ew.indexOf(eM.network.name)&&eV.push(eM)}catch(eb){}if(0===eV.length)return null;if(em.FallbackProvider){let ew=1;return null!=eH.quorum?ew=eH.quorum:"homestead"===eb&&(ew=2),new em.FallbackProvider(eV,ew)}return eV[0]};return em.renetwork=function(eb){return eT(eb)},em}function e_(eb,em){let eH=function(eH,eV){return eH.JsonRpcProvider?new eH.JsonRpcProvider(eb,em):null};return eH.renetwork=function(em){return e_(eb,em)},eH}let eS={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:eT("homestead")},eE={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:eT("ropsten")},eA={chainId:63,name:"classicMordor",_defaultProvider:e_("https://www.ethercluster.com/mordor","classicMordor")},eN={unspecified:{chainId:0,name:"unspecified"},homestead:eS,mainnet:eS,morden:{chainId:2,name:"morden"},ropsten:eE,testnet:eE,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:eT("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:eT("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:eT("goerli")},kintsugi:{chainId:1337702,name:"kintsugi"},sepolia:{chainId:11155111,name:"sepolia",_defaultProvider:eT("sepolia")},classic:{chainId:61,name:"classic",_defaultProvider:e_("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor:eA,classicTestnet:eA,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:e_("https://www.ethercluster.com/kotti","classicKotti")},xdai:{chainId:100,name:"xdai"},matic:{chainId:137,name:"matic",_defaultProvider:eT("matic")},maticmum:{chainId:80001,name:"maticmum"},optimism:{chainId:10,name:"optimism",_defaultProvider:eT("optimism")},"optimism-kovan":{chainId:69,name:"optimism-kovan"},"optimism-goerli":{chainId:420,name:"optimism-goerli"},arbitrum:{chainId:42161,name:"arbitrum"},"arbitrum-rinkeby":{chainId:421611,name:"arbitrum-rinkeby"},"arbitrum-goerli":{chainId:421613,name:"arbitrum-goerli"},bnb:{chainId:56,name:"bnb"},bnbt:{chainId:97,name:"bnbt"}};function eI(eb){if(null==eb)return null;if("number"==typeof eb){for(let em in eN){let eH=eN[em];if(eH.chainId===eb)return{name:eH.name,chainId:eH.chainId,ensAddress:eH.ensAddress||null,_defaultProvider:eH._defaultProvider||null}}return{chainId:eb,name:"unknown"}}if("string"==typeof eb){let em=eN[eb];return null==em?null:{name:em.name,chainId:em.chainId,ensAddress:em.ensAddress,_defaultProvider:em._defaultProvider||null}}let em=eN[eb.name];if(!em)return"number"!=typeof eb.chainId&&eM.throwArgumentError("invalid network chainId","network",eb),eb;0!==eb.chainId&&eb.chainId!==em.chainId&&eM.throwArgumentError("network chainId mismatch","network",eb);let eH=eb._defaultProvider||null;return null==eH&&em._defaultProvider&&(eH=eC(em._defaultProvider)?em._defaultProvider.renetwork(eb):em._defaultProvider),{name:eb.name,chainId:em.chainId,ensAddress:eb.ensAddress||em.ensAddress||null,_defaultProvider:eH}}},85306:function(eb,em,eH){"use strict";eH.d(em,{n:function(){return eM}});var eV=eH(16441),ew=eH(2006);function eM(eb,em,eH,eM,eC){let eT,e_,eS;eb=(0,eV.lE)(eb),em=(0,eV.lE)(em);let eE=1,eA=new Uint8Array(eM),eN=new Uint8Array(em.length+4);eN.set(em);for(let eI=1;eI<=eE;eI++){eN[em.length]=eI>>24&255,eN[em.length+1]=eI>>16&255,eN[em.length+2]=eI>>8&255,eN[em.length+3]=255&eI;let eD=(0,eV.lE)((0,ew.Gy)(eC,eb,eN));eT||(eT=eD.length,eS=new Uint8Array(eT),eE=Math.ceil(eM/eT),e_=eM-(eE-1)*eT),eS.set(eD);for(let em=1;em{let eH=eb[em];return Promise.resolve(eH).then(eb=>({key:em,value:eb}))}),eH=yield Promise.all(em);return eH.reduce((eb,em)=>(eb[em.key]=em.value,eb),{})})}function eE(eb,em){eb&&"object"==typeof eb||eC.throwArgumentError("invalid object","object",eb),Object.keys(eb).forEach(eH=>{em[eH]||eC.throwArgumentError("invalid object key - "+eH,"transaction:"+eH,eb)})}function eA(eb){let em={};for(let eH in eb)em[eH]=eb[eH];return em}let eN={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function eI(eb){if(null==eb||eN[typeof eb])return!0;if(Array.isArray(eb)||"object"==typeof eb){if(!Object.isFrozen(eb))return!1;let em=Object.keys(eb);for(let eH=0;eHeP(eb)));if("object"==typeof eb){let em={};for(let eH in eb){let eV=eb[eH];void 0!==eV&&eT(em,eH,eP(eV))}return em}return eC.throwArgumentError(`Cannot deepCopy ${typeof eb}`,"object",eb)}function eP(eb){return eD(eb)}class eO{constructor(eb){for(let em in eb)this[em]=eP(eb[em])}}},34216:function(eb,em,eH){"use strict";eH.d(em,{i:function(){return eV}});let eV="providers/5.7.2"},97013:function(eb,em,eH){"use strict";eH.d(em,{H2:function(){return tC},Zk:function(){return tS}});var eV=eH(81556),ew=eH(59567),eM=eH(57727),eC=eH(2593),eT=eH(16441),e_=eH(57218),eS=eH(27586),eE=eH(45710),eA=eH(6881),eN=eH(2006),eI=eH(29251),eD=eH(37707),eP=eH(92882),eO=eH.n(eP),eR=eH(1581),eB=eH(34216),eF=eH(30032),ej=function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};let eU=new eR.Yd(eB.i),e$=10;function eW(eb){return null==eb?"null":(32!==(0,eT.E1)(eb)&&eU.throwArgumentError("invalid topic","topic",eb),eb.toLowerCase())}function eZ(eb){for(eb=eb.slice();eb.length>0&&null==eb[eb.length-1];)eb.pop();return eb.map(eb=>{if(!Array.isArray(eb))return eW(eb);{let em={};eb.forEach(eb=>{em[eW(eb)]=!0});let eH=Object.keys(em);return eH.sort(),eH.join("|")}}).join("&")}function eG(eb){return""===eb?[]:eb.split(/&/g).map(eb=>{if(""===eb)return[];let em=eb.split("|").map(eb=>"null"===eb?null:eb);return 1===em.length?em[0]:em})}function eK(eb){if("string"==typeof eb){if(eb=eb.toLowerCase(),32===(0,eT.E1)(eb))return"tx:"+eb;if(-1===eb.indexOf(":"))return eb}else if(Array.isArray(eb))return"filter:*:"+eZ(eb);else if(eV.Sg.isForkEvent(eb))throw eU.warn("not implemented"),Error("not implemented");else if(eb&&"object"==typeof eb)return"filter:"+(eb.address||"*")+":"+eZ(eb.topics||[]);throw Error("invalid event - "+eb)}function eY(){return new Date().getTime()}function eX(eb){return new Promise(em=>{setTimeout(em,eb)})}let eJ=["block","network","pending","poll"];class eQ{constructor(eb,em,eH){(0,eA.zG)(this,"tag",eb),(0,eA.zG)(this,"listener",em),(0,eA.zG)(this,"once",eH),this._lastBlockNumber=-2,this._inflight=!1}get event(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag}get type(){return this.tag.split(":")[0]}get hash(){let eb=this.tag.split(":");return"tx"!==eb[0]?null:eb[1]}get filter(){let eb=this.tag.split(":");if("filter"!==eb[0])return null;let em=eb[1],eH=eG(eb[2]),eV={};return eH.length>0&&(eV.topics=eH),em&&"*"!==em&&(eV.address=em),eV}pollable(){return this.tag.indexOf(":")>=0||eJ.indexOf(this.tag)>=0}}let e0={0:{symbol:"btc",p2pkh:0,p2sh:5,prefix:"bc"},2:{symbol:"ltc",p2pkh:48,p2sh:50,prefix:"ltc"},3:{symbol:"doge",p2pkh:30,p2sh:22},60:{symbol:"eth",ilk:"eth"},61:{symbol:"etc",ilk:"eth"},700:{symbol:"xdai",ilk:"eth"}};function e6(eb){return(0,eT.$m)(eC.O$.from(eb).toHexString(),32)}function e4(eb){return eM.eU.encode((0,eT.zo)([eb,(0,eT.p3)((0,eN.JQ)((0,eN.JQ)(eb)),0,4)]))}let e3=RegExp("^(ipfs)://(.*)$","i"),e5=[RegExp("^(https)://(.*)$","i"),RegExp("^(data):(.*)$","i"),e3,RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];function e8(eb,em){try{return(0,eI.ZN)(e9(eb,em))}catch(eb){}return null}function e9(eb,em){if("0x"===eb)return null;let eH=eC.O$.from((0,eT.p3)(eb,em,em+32)).toNumber(),eV=eC.O$.from((0,eT.p3)(eb,eH,eH+32)).toNumber();return(0,eT.p3)(eb,eH+32,eH+32+eV)}function e7(eb){return eb.match(/^ipfs:\/\/ipfs\//i)?eb=eb.substring(12):eb.match(/^ipfs:\/\//i)?eb=eb.substring(7):eU.throwArgumentError("unsupported IPFS format","link",eb),`https://gateway.ipfs.io/ipfs/${eb}`}function tH(eb){let em=(0,eT.lE)(eb);if(em.length>32)throw Error("internal; should not happen");let eH=new Uint8Array(32);return eH.set(em,32-em.length),eH}function tV(eb){if(eb.length%32==0)return eb;let em=new Uint8Array(32*Math.ceil(eb.length/32));return em.set(eb),em}function tw(eb){let em=[],eH=0;for(let eV=0;eVeC.O$.from(eb).eq(1)).catch(eb=>{if(eb.code===eR.Yd.errors.CALL_EXCEPTION)return!1;throw this._supportsEip2544=null,eb})),this._supportsEip2544}_fetch(eb,em){return ej(this,void 0,void 0,function*(){let eH={to:this.address,ccipReadEnabled:!0,data:(0,eT.xs)([eb,(0,eS.VM)(this.name),em||"0x"])},eV=!1;(yield this.supportsWildcard())&&(eV=!0,eH.data=(0,eT.xs)(["0x9061b923",tw([(0,eS.Kn)(this.name),eH.data])]));try{let eb=yield this.provider.call(eH);return(0,eT.lE)(eb).length%32==4&&eU.throwError("resolver threw error",eR.Yd.errors.CALL_EXCEPTION,{transaction:eH,data:eb}),eV&&(eb=e9(eb,0)),eb}catch(eb){if(eb.code===eR.Yd.errors.CALL_EXCEPTION)return null;throw eb}})}_fetchBytes(eb,em){return ej(this,void 0,void 0,function*(){let eH=yield this._fetch(eb,em);return null!=eH?e9(eH,0):null})}_getAddress(eb,em){let eH=e0[String(eb)];if(null==eH&&eU.throwError(`unsupported coin type: ${eb}`,eR.Yd.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${eb})`}),"eth"===eH.ilk)return this.provider.formatter.address(em);let eV=(0,eT.lE)(em);if(null!=eH.p2pkh){let eb=em.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);if(eb){let em=parseInt(eb[1],16);if(eb[2].length===2*em&&em>=1&&em<=75)return e4((0,eT.zo)([[eH.p2pkh],"0x"+eb[2]]))}}if(null!=eH.p2sh){let eb=em.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);if(eb){let em=parseInt(eb[1],16);if(eb[2].length===2*em&&em>=1&&em<=75)return e4((0,eT.zo)([[eH.p2sh],"0x"+eb[2]]))}}if(null!=eH.prefix){let eb=eV[1],em=eV[0];if(0===em?20!==eb&&32!==eb&&(em=-1):em=-1,em>=0&&eV.length===2+eb&&eb>=1&&eb<=75){let eb=eO().toWords(eV.slice(2));return eb.unshift(em),eO().encode(eH.prefix,eb)}}return null}getAddress(eb){return ej(this,void 0,void 0,function*(){if(null==eb&&(eb=60),60===eb)try{let eb=yield this._fetch("0x3b3b57de");if("0x"===eb||eb===e_.R)return null;return this.provider.formatter.callAddress(eb)}catch(eb){if(eb.code===eR.Yd.errors.CALL_EXCEPTION)return null;throw eb}let em=yield this._fetchBytes("0xf1cb7e06",e6(eb));if(null==em||"0x"===em)return null;let eH=this._getAddress(eb,em);return null==eH&&eU.throwError("invalid or unsupported coin data",eR.Yd.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${eb})`,coinType:eb,data:em}),eH})}getAvatar(){return ej(this,void 0,void 0,function*(){let eb=[{type:"name",content:this.name}];try{let em=yield this.getText("avatar");if(null==em)return null;for(let eH=0;eHeb[em]);return"sia://"+em}return eU.throwError("invalid or unsupported content hash data",eR.Yd.errors.UNSUPPORTED_OPERATION,{operation:"getContentHash()",data:eb})})}getText(eb){return ej(this,void 0,void 0,function*(){let em=(0,eI.Y0)(eb);(em=(0,eT.zo)([e6(64),e6(em.length),em])).length%32!=0&&(em=(0,eT.zo)([em,(0,eT.$m)("0x",32-eb.length%32)]));let eH=yield this._fetchBytes("0x59d1d43c",(0,eT.Dv)(em));return null==eH||"0x"===eH?null:(0,eI.ZN)(eH)})}}let tT=null,t_=1;class tS extends eV.zt{constructor(eb){if(super(),this._events=[],this._emitted={block:-2},this.disableCcipRead=!1,this.formatter=new.target.getFormatter(),(0,eA.zG)(this,"anyNetwork","any"===eb),this.anyNetwork&&(eb=this.detectNetwork()),eb instanceof Promise)this._networkPromise=eb,eb.catch(eb=>{}),this._ready().catch(eb=>{});else{let em=(0,eA.tu)(new.target,"getNetwork")(eb);em?((0,eA.zG)(this,"_network",em),this.emit("network",em,null)):eU.throwArgumentError("invalid network","network",eb)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._maxFilterBlockRange=10,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return ej(this,void 0,void 0,function*(){if(null==this._network){let eb=null;if(this._networkPromise)try{eb=yield this._networkPromise}catch(eb){}null==eb&&(eb=yield this.detectNetwork()),eb||eU.throwError("no network detected",eR.Yd.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=eb:(0,eA.zG)(this,"_network",eb),this.emit("network",eb,null))}return this._network})}get ready(){return(0,eD.$l)(()=>this._ready().then(eb=>eb,eb=>{if(eb.code!==eR.Yd.errors.NETWORK_ERROR||"noNetwork"!==eb.event)throw eb}))}static getFormatter(){return null==tT&&(tT=new eF.Mb),tT}static getNetwork(eb){return(0,eE.H)(null==eb?"homestead":eb)}ccipReadFetch(eb,em,eH){return ej(this,void 0,void 0,function*(){if(this.disableCcipRead||0===eH.length)return null;let eV=eb.to.toLowerCase(),ew=em.toLowerCase(),eM=[];for(let eb=0;eb=0?null:JSON.stringify({data:ew,sender:eV}),e_=yield(0,eD.rd)({url:eC,errorPassThrough:!0},eT,(eb,em)=>(eb.status=em.statusCode,eb));if(e_.data)return e_.data;let eS=e_.message||"unknown error";if(e_.status>=400&&e_.status<500)return eU.throwError(`response not found during CCIP fetch: ${eS}`,eR.Yd.errors.SERVER_ERROR,{url:em,errorMessage:eS});eM.push(eS)}return eU.throwError(`error encountered during CCIP fetch: ${eM.map(eb=>JSON.stringify(eb)).join(", ")}`,eR.Yd.errors.SERVER_ERROR,{urls:eH,errorMessages:eM})})}_getInternalBlockNumber(eb){return ej(this,void 0,void 0,function*(){if(yield this._ready(),eb>0)for(;this._internalBlockNumber;){let em=this._internalBlockNumber;try{let eH=yield em;if(eY()-eH.respTime<=eb)return eH.blockNumber;break}catch(eb){if(this._internalBlockNumber===em)break}}let em=eY(),eH=(0,eA.mE)({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then(eb=>null,eb=>eb)}).then(({blockNumber:eb,networkError:eV})=>{if(eV)throw this._internalBlockNumber===eH&&(this._internalBlockNumber=null),eV;let ew=eY();return(eb=eC.O$.from(eb).toNumber()){this._internalBlockNumber===eH&&(this._internalBlockNumber=null)}),(yield eH).blockNumber})}poll(){return ej(this,void 0,void 0,function*(){let eb=t_++,em=[],eH=null;try{eH=yield this._getInternalBlockNumber(100+this.pollingInterval/2)}catch(eb){this.emit("error",eb);return}if(this._setFastBlockNumber(eH),this.emit("poll",eb,eH),eH===this._lastBlockNumber){this.emit("didPoll",eb);return}if(-2===this._emitted.block&&(this._emitted.block=eH-1),Math.abs(this._emitted.block-eH)>1e3)eU.warn(`network block skew detected; skipping block events (emitted=${this._emitted.block} blockNumber${eH})`),this.emit("error",eU.makeError("network block skew detected",eR.Yd.errors.NETWORK_ERROR,{blockNumber:eH,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",eH);else for(let eb=this._emitted.block+1;eb<=eH;eb++)this.emit("block",eb);this._emitted.block!==eH&&(this._emitted.block=eH,Object.keys(this._emitted).forEach(eb=>{if("block"===eb)return;let em=this._emitted[eb];"pending"!==em&&eH-em>12&&delete this._emitted[eb]})),-2===this._lastBlockNumber&&(this._lastBlockNumber=eH-1),this._events.forEach(eb=>{switch(eb.type){case"tx":{let eH=eb.hash,eV=this.getTransactionReceipt(eH).then(eb=>(eb&&null!=eb.blockNumber&&(this._emitted["t:"+eH]=eb.blockNumber,this.emit(eH,eb)),null)).catch(eb=>{this.emit("error",eb)});em.push(eV);break}case"filter":if(!eb._inflight){eb._inflight=!0,-2===eb._lastBlockNumber&&(eb._lastBlockNumber=eH-1);let eV=eb.filter;eV.fromBlock=eb._lastBlockNumber+1,eV.toBlock=eH;let ew=eV.toBlock-this._maxFilterBlockRange;ew>eV.fromBlock&&(eV.fromBlock=ew),eV.fromBlock<0&&(eV.fromBlock=0);let eM=this.getLogs(eV).then(em=>{eb._inflight=!1,0!==em.length&&em.forEach(em=>{em.blockNumber>eb._lastBlockNumber&&(eb._lastBlockNumber=em.blockNumber),this._emitted["b:"+em.blockHash]=em.blockNumber,this._emitted["t:"+em.transactionHash]=em.blockNumber,this.emit(eV,em)})}).catch(em=>{this.emit("error",em),eb._inflight=!1});em.push(eM)}}}),this._lastBlockNumber=eH,Promise.all(em).then(()=>{this.emit("didPoll",eb)}).catch(eb=>{this.emit("error",eb)})})}resetEventsBlock(eb){this._lastBlockNumber=eb-1,this.polling&&this.poll()}get network(){return this._network}detectNetwork(){return ej(this,void 0,void 0,function*(){return eU.throwError("provider does not support network detection",eR.Yd.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})})}getNetwork(){return ej(this,void 0,void 0,function*(){let eb=yield this._ready(),em=yield this.detectNetwork();if(eb.chainId!==em.chainId){if(this.anyNetwork)return this._network=em,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",em,eb),yield eX(0),this._network;let eH=eU.makeError("underlying network changed",eR.Yd.errors.NETWORK_ERROR,{event:"changed",network:eb,detectedNetwork:em});throw this.emit("error",eH),eH}return eb})}get blockNumber(){return this._getInternalBlockNumber(100+this.pollingInterval/2).then(eb=>{this._setFastBlockNumber(eb)},eb=>{}),null!=this._fastBlockNumber?this._fastBlockNumber:-1}get polling(){return null!=this._poller}set polling(eb){eb&&!this._poller?(this._poller=setInterval(()=>{this.poll()},this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout(()=>{this.poll(),this._bootstrapPoll=setTimeout(()=>{this._poller||this.poll(),this._bootstrapPoll=null},this.pollingInterval)},0))):!eb&&this._poller&&(clearInterval(this._poller),this._poller=null)}get pollingInterval(){return this._pollingInterval}set pollingInterval(eb){if("number"!=typeof eb||eb<=0||parseInt(String(eb))!=eb)throw Error("invalid polling interval");this._pollingInterval=eb,this._poller&&(clearInterval(this._poller),this._poller=setInterval(()=>{this.poll()},this._pollingInterval))}_getFastBlockNumber(){let eb=eY();return eb-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=eb,this._fastBlockNumberPromise=this.getBlockNumber().then(eb=>((null==this._fastBlockNumber||eb>this._fastBlockNumber)&&(this._fastBlockNumber=eb),this._fastBlockNumber))),this._fastBlockNumberPromise}_setFastBlockNumber(eb){(null==this._fastBlockNumber||!(ebthis._fastBlockNumber)&&(this._fastBlockNumber=eb,this._fastBlockNumberPromise=Promise.resolve(eb)))}waitForTransaction(eb,em,eH){return ej(this,void 0,void 0,function*(){return this._waitForTransaction(eb,null==em?1:em,eH||0,null)})}_waitForTransaction(eb,em,eH,eV){return ej(this,void 0,void 0,function*(){let ew=yield this.getTransactionReceipt(eb);return(ew?ew.confirmations:0)>=em?ew:new Promise((ew,eM)=>{let eC=[],eT=!1,e_=function(){return!!eT||(eT=!0,eC.forEach(eb=>{eb()}),!1)},eS=eb=>{eb.confirmations{this.removeListener(eb,eS)}),eV){let eH=eV.startBlock,ew=null,eS=eC=>ej(this,void 0,void 0,function*(){eT||(yield eX(1e3),this.getTransactionCount(eV.from).then(eE=>ej(this,void 0,void 0,function*(){if(!eT){if(eE<=eV.nonce)eH=eC;else{{let em=yield this.getTransaction(eb);if(em&&null!=em.blockNumber)return}for(null==ew&&(ew=eH-3){eT||this.once("block",eS)}))});if(eT)return;this.once("block",eS),eC.push(()=>{this.removeListener("block",eS)})}if("number"==typeof eH&&eH>0){let eb=setTimeout(()=>{e_()||eM(eU.makeError("timeout exceeded",eR.Yd.errors.TIMEOUT,{timeout:eH}))},eH);eb.unref&&eb.unref(),eC.push(()=>{clearTimeout(eb)})}})})}getBlockNumber(){return ej(this,void 0,void 0,function*(){return this._getInternalBlockNumber(0)})}getGasPrice(){return ej(this,void 0,void 0,function*(){yield this.getNetwork();let eb=yield this.perform("getGasPrice",{});try{return eC.O$.from(eb)}catch(em){return eU.throwError("bad result from backend",eR.Yd.errors.SERVER_ERROR,{method:"getGasPrice",result:eb,error:em})}})}getBalance(eb,em){return ej(this,void 0,void 0,function*(){yield this.getNetwork();let eH=yield(0,eA.mE)({address:this._getAddress(eb),blockTag:this._getBlockTag(em)}),eV=yield this.perform("getBalance",eH);try{return eC.O$.from(eV)}catch(eb){return eU.throwError("bad result from backend",eR.Yd.errors.SERVER_ERROR,{method:"getBalance",params:eH,result:eV,error:eb})}})}getTransactionCount(eb,em){return ej(this,void 0,void 0,function*(){yield this.getNetwork();let eH=yield(0,eA.mE)({address:this._getAddress(eb),blockTag:this._getBlockTag(em)}),eV=yield this.perform("getTransactionCount",eH);try{return eC.O$.from(eV).toNumber()}catch(eb){return eU.throwError("bad result from backend",eR.Yd.errors.SERVER_ERROR,{method:"getTransactionCount",params:eH,result:eV,error:eb})}})}getCode(eb,em){return ej(this,void 0,void 0,function*(){yield this.getNetwork();let eH=yield(0,eA.mE)({address:this._getAddress(eb),blockTag:this._getBlockTag(em)}),eV=yield this.perform("getCode",eH);try{return(0,eT.Dv)(eV)}catch(eb){return eU.throwError("bad result from backend",eR.Yd.errors.SERVER_ERROR,{method:"getCode",params:eH,result:eV,error:eb})}})}getStorageAt(eb,em,eH){return ej(this,void 0,void 0,function*(){yield this.getNetwork();let eV=yield(0,eA.mE)({address:this._getAddress(eb),blockTag:this._getBlockTag(eH),position:Promise.resolve(em).then(eb=>(0,eT.$P)(eb))}),ew=yield this.perform("getStorageAt",eV);try{return(0,eT.Dv)(ew)}catch(eb){return eU.throwError("bad result from backend",eR.Yd.errors.SERVER_ERROR,{method:"getStorageAt",params:eV,result:ew,error:eb})}})}_wrapTransaction(eb,em,eH){if(null!=em&&32!==(0,eT.E1)(em))throw Error("invalid response - sendTransaction");let eV=eb;return null!=em&&eb.hash!==em&&eU.throwError("Transaction hash mismatch from Provider.sendTransaction.",eR.Yd.errors.UNKNOWN_ERROR,{expectedHash:eb.hash,returnedHash:em}),eV.wait=(em,eV)=>ej(this,void 0,void 0,function*(){let ew;null==em&&(em=1),null==eV&&(eV=0),0!==em&&null!=eH&&(ew={data:eb.data,from:eb.from,nonce:eb.nonce,to:eb.to,value:eb.value,startBlock:eH});let eM=yield this._waitForTransaction(eb.hash,em,eV,ew);return null==eM&&0===em?null:(this._emitted["t:"+eb.hash]=eM.blockNumber,0===eM.status&&eU.throwError("transaction failed",eR.Yd.errors.CALL_EXCEPTION,{transactionHash:eb.hash,transaction:eb,receipt:eM}),eM)}),eV}sendTransaction(eb){return ej(this,void 0,void 0,function*(){yield this.getNetwork();let em=yield Promise.resolve(eb).then(eb=>(0,eT.Dv)(eb)),eH=this.formatter.transaction(eb);null==eH.confirmations&&(eH.confirmations=0);let eV=yield this._getInternalBlockNumber(100+2*this.pollingInterval);try{let eb=yield this.perform("sendTransaction",{signedTransaction:em});return this._wrapTransaction(eH,eb,eV)}catch(eb){throw eb.transaction=eH,eb.transactionHash=eH.hash,eb}})}_getTransactionRequest(eb){return ej(this,void 0,void 0,function*(){let em=yield eb,eH={};return["from","to"].forEach(eb=>{null!=em[eb]&&(eH[eb]=Promise.resolve(em[eb]).then(eb=>eb?this._getAddress(eb):null))}),["gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","value"].forEach(eb=>{null!=em[eb]&&(eH[eb]=Promise.resolve(em[eb]).then(eb=>eb?eC.O$.from(eb):null))}),["type"].forEach(eb=>{null!=em[eb]&&(eH[eb]=Promise.resolve(em[eb]).then(eb=>null!=eb?eb:null))}),em.accessList&&(eH.accessList=this.formatter.accessList(em.accessList)),["data"].forEach(eb=>{null!=em[eb]&&(eH[eb]=Promise.resolve(em[eb]).then(eb=>eb?(0,eT.Dv)(eb):null))}),this.formatter.transactionRequest((yield(0,eA.mE)(eH)))})}_getFilter(eb){return ej(this,void 0,void 0,function*(){eb=yield eb;let em={};return null!=eb.address&&(em.address=this._getAddress(eb.address)),["blockHash","topics"].forEach(eH=>{null!=eb[eH]&&(em[eH]=eb[eH])}),["fromBlock","toBlock"].forEach(eH=>{null!=eb[eH]&&(em[eH]=this._getBlockTag(eb[eH]))}),this.formatter.filter((yield(0,eA.mE)(em)))})}_call(eb,em,eH){return ej(this,void 0,void 0,function*(){eH>=e$&&eU.throwError("CCIP read exceeded maximum redirections",eR.Yd.errors.SERVER_ERROR,{redirects:eH,transaction:eb});let eV=eb.to,ew=yield this.perform("call",{transaction:eb,blockTag:em});if(eH>=0&&"latest"===em&&null!=eV&&"0x556f1830"===ew.substring(0,10)&&(0,eT.E1)(ew)%32==4)try{let eM=(0,eT.p3)(ew,4),e_=(0,eT.p3)(eM,0,32);eC.O$.from(e_).eq(eV)||eU.throwError("CCIP Read sender did not match",eR.Yd.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:eb,data:ew});let eS=[],eE=eC.O$.from((0,eT.p3)(eM,32,64)).toNumber(),eA=eC.O$.from((0,eT.p3)(eM,eE,eE+32)).toNumber(),eN=(0,eT.p3)(eM,eE+32);for(let em=0;emej(this,void 0,void 0,function*(){let eb=yield this.perform("getBlock",eV);if(null==eb)return null!=eV.blockHash&&null==this._emitted["b:"+eV.blockHash]||null!=eV.blockTag&&eH>this._emitted.block?null:void 0;if(em){let em=null;for(let eH=0;eHthis._wrapTransaction(eb)),eH}return this.formatter.block(eb)}),{oncePoll:this})})}getBlock(eb){return this._getBlock(eb,!1)}getBlockWithTransactions(eb){return this._getBlock(eb,!0)}getTransaction(eb){return ej(this,void 0,void 0,function*(){yield this.getNetwork(),eb=yield eb;let em={transactionHash:this.formatter.hash(eb,!0)};return(0,eD.$l)(()=>ej(this,void 0,void 0,function*(){let eH=yield this.perform("getTransaction",em);if(null==eH)return null==this._emitted["t:"+eb]?null:void 0;let eV=this.formatter.transactionResponse(eH);if(null==eV.blockNumber)eV.confirmations=0;else if(null==eV.confirmations){let eb=yield this._getInternalBlockNumber(100+2*this.pollingInterval),em=eb-eV.blockNumber+1;em<=0&&(em=1),eV.confirmations=em}return this._wrapTransaction(eV)}),{oncePoll:this})})}getTransactionReceipt(eb){return ej(this,void 0,void 0,function*(){yield this.getNetwork(),eb=yield eb;let em={transactionHash:this.formatter.hash(eb,!0)};return(0,eD.$l)(()=>ej(this,void 0,void 0,function*(){let eH=yield this.perform("getTransactionReceipt",em);if(null==eH)return null==this._emitted["t:"+eb]?null:void 0;if(null==eH.blockHash)return;let eV=this.formatter.receipt(eH);if(null==eV.blockNumber)eV.confirmations=0;else if(null==eV.confirmations){let eb=yield this._getInternalBlockNumber(100+2*this.pollingInterval),em=eb-eV.blockNumber+1;em<=0&&(em=1),eV.confirmations=em}return eV}),{oncePoll:this})})}getLogs(eb){return ej(this,void 0,void 0,function*(){yield this.getNetwork();let em=yield(0,eA.mE)({filter:this._getFilter(eb)}),eH=yield this.perform("getLogs",em);return eH.forEach(eb=>{null==eb.removed&&(eb.removed=!1)}),eF.Mb.arrayOf(this.formatter.filterLog.bind(this.formatter))(eH)})}getEtherPrice(){return ej(this,void 0,void 0,function*(){return yield this.getNetwork(),this.perform("getEtherPrice",{})})}_getBlockTag(eb){return ej(this,void 0,void 0,function*(){if("number"==typeof(eb=yield eb)&&eb<0){eb%1&&eU.throwArgumentError("invalid BlockTag","blockTag",eb);let em=yield this._getInternalBlockNumber(100+2*this.pollingInterval);return(em+=eb)<0&&(em=0),this.formatter.blockTag(em)}return this.formatter.blockTag(eb)})}getResolver(eb){return ej(this,void 0,void 0,function*(){let em=eb;for(;;){if(""===em||"."===em||"eth"!==eb&&"eth"===em)return null;let eH=yield this._getResolver(em,"getResolver");if(null!=eH){let eV=new tC(this,eH,eb);if(em!==eb&&!(yield eV.supportsWildcard()))return null;return eV}em=em.split(".").slice(1).join(".")}})}_getResolver(eb,em){return ej(this,void 0,void 0,function*(){null==em&&(em="ENS");let eH=yield this.getNetwork();eH.ensAddress||eU.throwError("network does not support ENS",eR.Yd.errors.UNSUPPORTED_OPERATION,{operation:em,network:eH.name});try{let em=yield this.call({to:eH.ensAddress,data:"0x0178b8bf"+(0,eS.VM)(eb).substring(2)});return this.formatter.callAddress(em)}catch(eb){}return null})}resolveName(eb){return ej(this,void 0,void 0,function*(){eb=yield eb;try{return Promise.resolve(this.formatter.address(eb))}catch(em){if((0,eT.A7)(eb))throw em}"string"!=typeof eb&&eU.throwArgumentError("invalid ENS name","name",eb);let em=yield this.getResolver(eb);return em?yield em.getAddress():null})}lookupAddress(eb){return ej(this,void 0,void 0,function*(){eb=yield eb,eb=this.formatter.address(eb);let em=eb.substring(2).toLowerCase()+".addr.reverse",eH=yield this._getResolver(em,"lookupAddress");if(null==eH)return null;let eV=e8((yield this.call({to:eH,data:"0x691f3431"+(0,eS.VM)(em).substring(2)})),0),ew=yield this.resolveName(eV);return ew!=eb?null:eV})}getAvatar(eb){return ej(this,void 0,void 0,function*(){let em=null;if((0,eT.A7)(eb)){let eH=this.formatter.address(eb),eV=eH.substring(2).toLowerCase()+".addr.reverse",ew=yield this._getResolver(eV,"getAvatar");if(!ew)return null;em=new tC(this,ew,eV);try{let eb=yield em.getAvatar();if(eb)return eb.url}catch(eb){if(eb.code!==eR.Yd.errors.CALL_EXCEPTION)throw eb}try{let eb=e8((yield this.call({to:ew,data:"0x691f3431"+(0,eS.VM)(eV).substring(2)})),0);em=yield this.getResolver(eb)}catch(eb){if(eb.code!==eR.Yd.errors.CALL_EXCEPTION)throw eb;return null}}else if(!(em=yield this.getResolver(eb)))return null;let eH=yield em.getAvatar();return null==eH?null:eH.url})}perform(eb,em){return eU.throwError(eb+" not implemented",eR.Yd.errors.NOT_IMPLEMENTED,{operation:eb})}_startEvent(eb){this.polling=this._events.filter(eb=>eb.pollable()).length>0}_stopEvent(eb){this.polling=this._events.filter(eb=>eb.pollable()).length>0}_addEventListener(eb,em,eH){let eV=new eQ(eK(eb),em,eH);return this._events.push(eV),this._startEvent(eV),this}on(eb,em){return this._addEventListener(eb,em,!1)}once(eb,em){return this._addEventListener(eb,em,!0)}emit(eb,...em){let eH=!1,eV=[],ew=eK(eb);return this._events=this._events.filter(eb=>eb.tag!==ew||(setTimeout(()=>{eb.listener.apply(this,em)},0),eH=!0,!eb.once||(eV.push(eb),!1))),eV.forEach(eb=>{this._stopEvent(eb)}),eH}listenerCount(eb){if(!eb)return this._events.length;let em=eK(eb);return this._events.filter(eb=>eb.tag===em).length}listeners(eb){if(null==eb)return this._events.map(eb=>eb.listener);let em=eK(eb);return this._events.filter(eb=>eb.tag===em).map(eb=>eb.listener)}off(eb,em){if(null==em)return this.removeAllListeners(eb);let eH=[],eV=!1,ew=eK(eb);return this._events=this._events.filter(eb=>eb.tag!==ew||eb.listener!=em||!!eV||(eV=!0,eH.push(eb),!1)),eH.forEach(eb=>{this._stopEvent(eb)}),this}removeAllListeners(eb){let em=[];if(null==eb)em=this._events,this._events=[];else{let eH=eK(eb);this._events=this._events.filter(eb=>eb.tag!==eH||(em.push(eb),!1))}return em.forEach(eb=>{this._stopEvent(eb)}),this}}},30032:function(eb,em,eH){"use strict";eH.d(em,{Ed:function(){return eI},Gp:function(){return eD},Mb:function(){return eN},vh:function(){return eO}});var eV=eH(19485),ew=eH(2593),eM=eH(16441),eC=eH(9279),eT=eH(6881),e_=eH(83875),eS=eH(1581),eE=eH(34216);let eA=new eS.Yd(eE.i);class eN{constructor(){this.formats=this.getDefaultFormats()}getDefaultFormats(){let eb={},em=this.address.bind(this),eH=this.bigNumber.bind(this),eV=this.blockTag.bind(this),ew=this.data.bind(this),eM=this.hash.bind(this),eC=this.hex.bind(this),e_=this.number.bind(this),eS=this.type.bind(this),eE=eb=>this.data(eb,!0);return eb.transaction={hash:eM,type:eS,accessList:eN.allowNull(this.accessList.bind(this),null),blockHash:eN.allowNull(eM,null),blockNumber:eN.allowNull(e_,null),transactionIndex:eN.allowNull(e_,null),confirmations:eN.allowNull(e_,null),from:em,gasPrice:eN.allowNull(eH),maxPriorityFeePerGas:eN.allowNull(eH),maxFeePerGas:eN.allowNull(eH),gasLimit:eH,to:eN.allowNull(em,null),value:eH,nonce:e_,data:ew,r:eN.allowNull(this.uint256),s:eN.allowNull(this.uint256),v:eN.allowNull(e_),creates:eN.allowNull(em,null),raw:eN.allowNull(ew)},eb.transactionRequest={from:eN.allowNull(em),nonce:eN.allowNull(e_),gasLimit:eN.allowNull(eH),gasPrice:eN.allowNull(eH),maxPriorityFeePerGas:eN.allowNull(eH),maxFeePerGas:eN.allowNull(eH),to:eN.allowNull(em),value:eN.allowNull(eH),data:eN.allowNull(eE),type:eN.allowNull(e_),accessList:eN.allowNull(this.accessList.bind(this),null)},eb.receiptLog={transactionIndex:e_,blockNumber:e_,transactionHash:eM,address:em,topics:eN.arrayOf(eM),data:ew,logIndex:e_,blockHash:eM},eb.receipt={to:eN.allowNull(this.address,null),from:eN.allowNull(this.address,null),contractAddress:eN.allowNull(em,null),transactionIndex:e_,root:eN.allowNull(eC),gasUsed:eH,logsBloom:eN.allowNull(ew),blockHash:eM,transactionHash:eM,logs:eN.arrayOf(this.receiptLog.bind(this)),blockNumber:e_,confirmations:eN.allowNull(e_,null),cumulativeGasUsed:eH,effectiveGasPrice:eN.allowNull(eH),status:eN.allowNull(e_),type:eS},eb.block={hash:eN.allowNull(eM),parentHash:eM,number:e_,timestamp:e_,nonce:eN.allowNull(eC),difficulty:this.difficulty.bind(this),gasLimit:eH,gasUsed:eH,miner:eN.allowNull(em),extraData:ew,transactions:eN.allowNull(eN.arrayOf(eM)),baseFeePerGas:eN.allowNull(eH)},eb.blockWithTransactions=(0,eT.DC)(eb.block),eb.blockWithTransactions.transactions=eN.allowNull(eN.arrayOf(this.transactionResponse.bind(this))),eb.filter={fromBlock:eN.allowNull(eV,void 0),toBlock:eN.allowNull(eV,void 0),blockHash:eN.allowNull(eM,void 0),address:eN.allowNull(em,void 0),topics:eN.allowNull(this.topics.bind(this),void 0)},eb.filterLog={blockNumber:eN.allowNull(e_),blockHash:eN.allowNull(eM),transactionIndex:e_,removed:eN.allowNull(this.boolean.bind(this)),address:em,data:eN.allowFalsish(ew,"0x"),topics:eN.arrayOf(eM),transactionHash:eM,logIndex:e_},eb}accessList(eb){return(0,e_.z7)(eb||[])}number(eb){return"0x"===eb?0:ew.O$.from(eb).toNumber()}type(eb){return"0x"===eb||null==eb?0:ew.O$.from(eb).toNumber()}bigNumber(eb){return ew.O$.from(eb)}boolean(eb){if("boolean"==typeof eb)return eb;if("string"==typeof eb){if("true"===(eb=eb.toLowerCase()))return!0;if("false"===eb)return!1}throw Error("invalid boolean - "+eb)}hex(eb,em){return"string"==typeof eb&&(em||"0x"===eb.substring(0,2)||(eb="0x"+eb),(0,eM.A7)(eb))?eb.toLowerCase():eA.throwArgumentError("invalid hash","value",eb)}data(eb,em){let eH=this.hex(eb,em);if(eH.length%2!=0)throw Error("invalid data; odd-length - "+eb);return eH}address(eb){return(0,eV.Kn)(eb)}callAddress(eb){if(!(0,eM.A7)(eb,32))return null;let em=(0,eV.Kn)((0,eM.p3)(eb,12));return em===eC.d?null:em}contractAddress(eb){return(0,eV.CR)(eb)}blockTag(eb){if(null==eb)return"latest";if("earliest"===eb)return"0x0";switch(eb){case"earliest":return"0x0";case"latest":case"pending":case"safe":case"finalized":return eb}if("number"==typeof eb||(0,eM.A7)(eb))return(0,eM.$P)(eb);throw Error("invalid blockTag")}hash(eb,em){let eH=this.hex(eb,em);return 32!==(0,eM.E1)(eH)?eA.throwArgumentError("invalid hash","value",eb):eH}difficulty(eb){if(null==eb)return null;let em=ew.O$.from(eb);try{return em.toNumber()}catch(eb){}return null}uint256(eb){if(!(0,eM.A7)(eb))throw Error("invalid uint256");return(0,eM.$m)(eb,32)}_block(eb,em){null!=eb.author&&null==eb.miner&&(eb.miner=eb.author);let eH=null!=eb._difficulty?eb._difficulty:eb.difficulty,eV=eN.check(em,eb);return eV._difficulty=null==eH?null:ew.O$.from(eH),eV}block(eb){return this._block(eb,this.formats.block)}blockWithTransactions(eb){return this._block(eb,this.formats.blockWithTransactions)}transactionRequest(eb){return eN.check(this.formats.transactionRequest,eb)}transactionResponse(eb){null!=eb.gas&&null==eb.gasLimit&&(eb.gasLimit=eb.gas),eb.to&&ew.O$.from(eb.to).isZero()&&(eb.to="0x0000000000000000000000000000000000000000"),null!=eb.input&&null==eb.data&&(eb.data=eb.input),null==eb.to&&null==eb.creates&&(eb.creates=this.contractAddress(eb)),(1===eb.type||2===eb.type)&&null==eb.accessList&&(eb.accessList=[]);let em=eN.check(this.formats.transaction,eb);if(null!=eb.chainId){let eH=eb.chainId;(0,eM.A7)(eH)&&(eH=ew.O$.from(eH).toNumber()),em.chainId=eH}else{let eH=eb.networkId;null==eH&&null==em.v&&(eH=eb.chainId),(0,eM.A7)(eH)&&(eH=ew.O$.from(eH).toNumber()),"number"!=typeof eH&&null!=em.v&&((eH=(em.v-35)/2)<0&&(eH=0),eH=parseInt(eH)),"number"!=typeof eH&&(eH=0),em.chainId=eH}return em.blockHash&&"x"===em.blockHash.replace(/0/g,"")&&(em.blockHash=null),em}transaction(eb){return(0,e_.Qc)(eb)}receiptLog(eb){return eN.check(this.formats.receiptLog,eb)}receipt(eb){let em=eN.check(this.formats.receipt,eb);if(null!=em.root){if(em.root.length<=4){let eb=ew.O$.from(em.root).toNumber();0===eb||1===eb?(null!=em.status&&em.status!==eb&&eA.throwArgumentError("alt-root-status/status mismatch","value",{root:em.root,status:em.status}),em.status=eb,delete em.root):eA.throwArgumentError("invalid alt-root-status","value.root",em.root)}else 66!==em.root.length&&eA.throwArgumentError("invalid root hash","value.root",em.root)}return null!=em.status&&(em.byzantium=!0),em}topics(eb){return Array.isArray(eb)?eb.map(eb=>this.topics(eb)):null!=eb?this.hash(eb,!0):null}filter(eb){return eN.check(this.formats.filter,eb)}filterLog(eb){return eN.check(this.formats.filterLog,eb)}static check(eb,em){let eH={};for(let eV in eb)try{let ew=eb[eV](em[eV]);void 0!==ew&&(eH[eV]=ew)}catch(eb){throw eb.checkKey=eV,eb.checkValue=em[eV],eb}return eH}static allowNull(eb,em){return function(eH){return null==eH?em:eb(eH)}}static allowFalsish(eb,em){return function(eH){return eH?eb(eH):em}}static arrayOf(eb){return function(em){if(!Array.isArray(em))throw Error("not an array");let eH=[];return em.forEach(function(em){eH.push(eb(em))}),eH}}}function eI(eb){return eb&&"function"==typeof eb.isCommunityResource}function eD(eb){return eI(eb)&&eb.isCommunityResource()}let eP=!1;function eO(){eP||(eP=!0,console.log("========= NOTICE ========="),console.log("Request-Rate Exceeded (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.io/api-keys/"),console.log("=========================="))}},96263:function(eb,em,eH){"use strict";eH.d(em,{J:function(){return eN},m:function(){return eA}});var eV=eH(6881),ew=eH(88089),eM=eH(30032),eC=eH(1581),eT=eH(34216),e_=eH(93901);let eS=new eC.Yd(eT.i),eE="84842078b09946638c03157f83405213";class eA extends ew.q{constructor(eb,em){let eH=new eN(eb,em),ew=eH.connection;ew.password&&eS.throwError("INFURA WebSocket project secrets unsupported",eC.Yd.errors.UNSUPPORTED_OPERATION,{operation:"InfuraProvider.getWebSocketProvider()"});let eM=ew.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/");super(eM,eb),(0,eV.zG)(this,"apiKey",eH.projectId),(0,eV.zG)(this,"projectId",eH.projectId),(0,eV.zG)(this,"projectSecret",eH.projectSecret)}isCommunityResource(){return this.projectId===eE}}class eN extends e_.l{static getWebSocketProvider(eb,em){return new eA(eb,em)}static getApiKey(eb){let em={apiKey:eE,projectId:eE,projectSecret:null};return null==eb||("string"==typeof eb?em.projectId=eb:null!=eb.projectSecret?(eS.assertArgument("string"==typeof eb.projectId,"projectSecret requires a projectId","projectId",eb.projectId),eS.assertArgument("string"==typeof eb.projectSecret,"invalid projectSecret","projectSecret","[REDACTED]"),em.projectId=eb.projectId,em.projectSecret=eb.projectSecret):eb.projectId&&(em.projectId=eb.projectId),em.apiKey=em.projectId),em}static getUrl(eb,em){let eH=null;switch(eb?eb.name:"unknown"){case"homestead":eH="mainnet.infura.io";break;case"goerli":eH="goerli.infura.io";break;case"sepolia":eH="sepolia.infura.io";break;case"matic":eH="polygon-mainnet.infura.io";break;case"maticmum":eH="polygon-mumbai.infura.io";break;case"optimism":eH="optimism-mainnet.infura.io";break;case"optimism-goerli":eH="optimism-goerli.infura.io";break;case"arbitrum":eH="arbitrum-mainnet.infura.io";break;case"arbitrum-goerli":eH="arbitrum-goerli.infura.io";break;default:eS.throwError("unsupported network",eC.Yd.errors.INVALID_ARGUMENT,{argument:"network",value:eb})}let eV={allowGzip:!0,url:"https://"+eH+"/v3/"+em.projectId,throttleCallback:(eb,eH)=>(em.projectId===eE&&(0,eM.vh)(),Promise.resolve(!0))};return null!=em.projectSecret&&(eV.user="",eV.password=em.projectSecret),eV}isCommunityResource(){return this.projectId===eE}}},82169:function(eb,em,eH){"use strict";eH.d(em,{C:function(){return eW},r:function(){return eK}});var eV=eH(48088),ew=eH(2593),eM=eH(16441),eC=eH(67827),eT=eH(6881),e_=eH(29251),eS=eH(83875),eE=eH(37707),eA=eH(1581),eN=eH(34216),eI=eH(97013),eD=function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};let eP=new eA.Yd(eN.i),eO=["call","estimateGas"];function eR(eb,em){if(null==eb)return null;if("string"==typeof eb.message&&eb.message.match("reverted")){let eH=(0,eM.A7)(eb.data)?eb.data:null;if(!em||eH)return{message:eb.message,data:eH}}if("object"==typeof eb){for(let eH in eb){let eV=eR(eb[eH],em);if(eV)return eV}return null}if("string"==typeof eb)try{return eR(JSON.parse(eb),em)}catch(eb){}return null}function eB(eb,em,eH){let eV=eH.transaction||eH.signedTransaction;if("call"===eb){let eb=eR(em,!0);if(eb)return eb.data;eP.throwError("missing revert data in call exception; Transaction reverted without a reason string",eA.Yd.errors.CALL_EXCEPTION,{data:"0x",transaction:eV,error:em})}if("estimateGas"===eb){let eH=eR(em.body,!1);null==eH&&(eH=eR(em,!1)),eH&&eP.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",eA.Yd.errors.UNPREDICTABLE_GAS_LIMIT,{reason:eH.message,method:eb,transaction:eV,error:em})}let ew=em.message;throw em.code===eA.Yd.errors.SERVER_ERROR&&em.error&&"string"==typeof em.error.message?ew=em.error.message:"string"==typeof em.body?ew=em.body:"string"==typeof em.responseText&&(ew=em.responseText),(ew=(ew||"").toLowerCase()).match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)&&eP.throwError("insufficient funds for intrinsic transaction cost",eA.Yd.errors.INSUFFICIENT_FUNDS,{error:em,method:eb,transaction:eV}),ew.match(/nonce (is )?too low/i)&&eP.throwError("nonce has already been used",eA.Yd.errors.NONCE_EXPIRED,{error:em,method:eb,transaction:eV}),ew.match(/replacement transaction underpriced|transaction gas price.*too low/i)&&eP.throwError("replacement fee too low",eA.Yd.errors.REPLACEMENT_UNDERPRICED,{error:em,method:eb,transaction:eV}),ew.match(/only replay-protected/i)&&eP.throwError("legacy pre-eip-155 transactions not supported",eA.Yd.errors.UNSUPPORTED_OPERATION,{error:em,method:eb,transaction:eV}),eO.indexOf(eb)>=0&&ew.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)&&eP.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",eA.Yd.errors.UNPREDICTABLE_GAS_LIMIT,{error:em,method:eb,transaction:eV}),em}function eF(eb){return new Promise(function(em){setTimeout(em,eb)})}function ej(eb){if(eb.error){let em=Error(eb.error.message);throw em.code=eb.error.code,em.data=eb.error.data,em}return eb.result}function eU(eb){return eb?eb.toLowerCase():eb}let e$={};class eW extends eV.E{constructor(eb,em,eH){if(super(),eb!==e$)throw Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");(0,eT.zG)(this,"provider",em),null==eH&&(eH=0),"string"==typeof eH?((0,eT.zG)(this,"_address",this.provider.formatter.address(eH)),(0,eT.zG)(this,"_index",null)):"number"==typeof eH?((0,eT.zG)(this,"_index",eH),(0,eT.zG)(this,"_address",null)):eP.throwArgumentError("invalid address or index","addressOrIndex",eH)}connect(eb){return eP.throwError("cannot alter JSON-RPC Signer connection",eA.Yd.errors.UNSUPPORTED_OPERATION,{operation:"connect"})}connectUnchecked(){return new eZ(e$,this.provider,this._address||this._index)}getAddress(){return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then(eb=>(eb.length<=this._index&&eP.throwError("unknown account #"+this._index,eA.Yd.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"}),this.provider.formatter.address(eb[this._index])))}sendUncheckedTransaction(eb){eb=(0,eT.DC)(eb);let em=this.getAddress().then(eb=>(eb&&(eb=eb.toLowerCase()),eb));if(null==eb.gasLimit){let eH=(0,eT.DC)(eb);eH.from=em,eb.gasLimit=this.provider.estimateGas(eH)}return null!=eb.to&&(eb.to=Promise.resolve(eb.to).then(eb=>eD(this,void 0,void 0,function*(){if(null==eb)return null;let em=yield this.provider.resolveName(eb);return null==em&&eP.throwArgumentError("provided ENS name resolves to null","tx.to",eb),em}))),(0,eT.mE)({tx:(0,eT.mE)(eb),sender:em}).then(({tx:em,sender:eH})=>{null!=em.from?em.from.toLowerCase()!==eH&&eP.throwArgumentError("from address mismatch","transaction",eb):em.from=eH;let eV=this.provider.constructor.hexlifyTransaction(em,{from:!0});return this.provider.send("eth_sendTransaction",[eV]).then(eb=>eb,eb=>("string"==typeof eb.message&&eb.message.match(/user denied/i)&&eP.throwError("user rejected transaction",eA.Yd.errors.ACTION_REJECTED,{action:"sendTransaction",transaction:em}),eB("sendTransaction",eb,eV)))})}signTransaction(eb){return eP.throwError("signing transactions is unsupported",eA.Yd.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})}sendTransaction(eb){return eD(this,void 0,void 0,function*(){let em=yield this.provider._getInternalBlockNumber(100+2*this.provider.pollingInterval),eH=yield this.sendUncheckedTransaction(eb);try{return yield(0,eE.$l)(()=>eD(this,void 0,void 0,function*(){let eb=yield this.provider.getTransaction(eH);if(null!==eb)return this.provider._wrapTransaction(eb,eH,em)}),{oncePoll:this.provider})}catch(eb){throw eb.transactionHash=eH,eb}})}signMessage(eb){return eD(this,void 0,void 0,function*(){let em="string"==typeof eb?(0,e_.Y0)(eb):eb,eH=yield this.getAddress();try{return yield this.provider.send("personal_sign",[(0,eM.Dv)(em),eH.toLowerCase()])}catch(em){throw"string"==typeof em.message&&em.message.match(/user denied/i)&&eP.throwError("user rejected signing",eA.Yd.errors.ACTION_REJECTED,{action:"signMessage",from:eH,messageData:eb}),em}})}_legacySignMessage(eb){return eD(this,void 0,void 0,function*(){let em="string"==typeof eb?(0,e_.Y0)(eb):eb,eH=yield this.getAddress();try{return yield this.provider.send("eth_sign",[eH.toLowerCase(),(0,eM.Dv)(em)])}catch(em){throw"string"==typeof em.message&&em.message.match(/user denied/i)&&eP.throwError("user rejected signing",eA.Yd.errors.ACTION_REJECTED,{action:"_legacySignMessage",from:eH,messageData:eb}),em}})}_signTypedData(eb,em,eH){return eD(this,void 0,void 0,function*(){let eV=yield eC.E.resolveNames(eb,em,eH,eb=>this.provider.resolveName(eb)),ew=yield this.getAddress();try{return yield this.provider.send("eth_signTypedData_v4",[ew.toLowerCase(),JSON.stringify(eC.E.getPayload(eV.domain,em,eV.value))])}catch(eb){throw"string"==typeof eb.message&&eb.message.match(/user denied/i)&&eP.throwError("user rejected signing",eA.Yd.errors.ACTION_REJECTED,{action:"_signTypedData",from:ew,messageData:{domain:eV.domain,types:em,value:eV.value}}),eb}})}unlock(eb){return eD(this,void 0,void 0,function*(){let em=this.provider,eH=yield this.getAddress();return em.send("personal_unlockAccount",[eH.toLowerCase(),eb,null])})}}class eZ extends eW{sendTransaction(eb){return this.sendUncheckedTransaction(eb).then(eb=>({hash:eb,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:em=>this.provider.waitForTransaction(eb,em)}))}}let eG={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0};class eK extends eI.Zk{constructor(eb,em){let eH=em;null==eH&&(eH=new Promise((eb,em)=>{setTimeout(()=>{this.detectNetwork().then(em=>{eb(em)},eb=>{em(eb)})},0)})),super(eH),eb||(eb=(0,eT.tu)(this.constructor,"defaultUrl")()),"string"==typeof eb?(0,eT.zG)(this,"connection",Object.freeze({url:eb})):(0,eT.zG)(this,"connection",Object.freeze((0,eT.DC)(eb))),this._nextId=42}get _cache(){return null==this._eventLoopCache&&(this._eventLoopCache={}),this._eventLoopCache}static defaultUrl(){return"http://localhost:8545"}detectNetwork(){return this._cache.detectNetwork||(this._cache.detectNetwork=this._uncachedDetectNetwork(),setTimeout(()=>{this._cache.detectNetwork=null},0)),this._cache.detectNetwork}_uncachedDetectNetwork(){return eD(this,void 0,void 0,function*(){yield eF(0);let eb=null;try{eb=yield this.send("eth_chainId",[])}catch(em){try{eb=yield this.send("net_version",[])}catch(eb){}}if(null!=eb){let em=(0,eT.tu)(this.constructor,"getNetwork");try{return em(ew.O$.from(eb).toNumber())}catch(em){return eP.throwError("could not detect network",eA.Yd.errors.NETWORK_ERROR,{chainId:eb,event:"invalidNetwork",serverError:em})}}return eP.throwError("could not detect network",eA.Yd.errors.NETWORK_ERROR,{event:"noNetwork"})})}getSigner(eb){return new eW(e$,this,eb)}getUncheckedSigner(eb){return this.getSigner(eb).connectUnchecked()}listAccounts(){return this.send("eth_accounts",[]).then(eb=>eb.map(eb=>this.formatter.address(eb)))}send(eb,em){let eH={method:eb,params:em,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"request",request:(0,eT.p$)(eH),provider:this});let eV=["eth_chainId","eth_blockNumber"].indexOf(eb)>=0;if(eV&&this._cache[eb])return this._cache[eb];let ew=(0,eE.rd)(this.connection,JSON.stringify(eH),ej).then(eb=>(this.emit("debug",{action:"response",request:eH,response:eb,provider:this}),eb),eb=>{throw this.emit("debug",{action:"response",error:eb,request:eH,provider:this}),eb});return eV&&(this._cache[eb]=ew,setTimeout(()=>{this._cache[eb]=null},0)),ew}prepareRequest(eb,em){switch(eb){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[eU(em.address),em.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[eU(em.address),em.blockTag]];case"getCode":return["eth_getCode",[eU(em.address),em.blockTag]];case"getStorageAt":return["eth_getStorageAt",[eU(em.address),(0,eM.$m)(em.position,32),em.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[em.signedTransaction]];case"getBlock":if(em.blockTag)return["eth_getBlockByNumber",[em.blockTag,!!em.includeTransactions]];if(em.blockHash)return["eth_getBlockByHash",[em.blockHash,!!em.includeTransactions]];break;case"getTransaction":return["eth_getTransactionByHash",[em.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[em.transactionHash]];case"call":{let eb=(0,eT.tu)(this.constructor,"hexlifyTransaction");return["eth_call",[eb(em.transaction,{from:!0}),em.blockTag]]}case"estimateGas":{let eb=(0,eT.tu)(this.constructor,"hexlifyTransaction");return["eth_estimateGas",[eb(em.transaction,{from:!0})]]}case"getLogs":return em.filter&&null!=em.filter.address&&(em.filter.address=eU(em.filter.address)),["eth_getLogs",[em.filter]]}return null}perform(eb,em){return eD(this,void 0,void 0,function*(){if("call"===eb||"estimateGas"===eb){let eb=em.transaction;if(eb&&null!=eb.type&&ew.O$.from(eb.type).isZero()&&null==eb.maxFeePerGas&&null==eb.maxPriorityFeePerGas){let eH=yield this.getFeeData();null==eH.maxFeePerGas&&null==eH.maxPriorityFeePerGas&&((em=(0,eT.DC)(em)).transaction=(0,eT.DC)(eb),delete em.transaction.type)}}let eH=this.prepareRequest(eb,em);null==eH&&eP.throwError(eb+" not implemented",eA.Yd.errors.NOT_IMPLEMENTED,{operation:eb});try{return yield this.send(eH[0],eH[1])}catch(eH){return eB(eb,eH,em)}})}_startEvent(eb){"pending"===eb.tag&&this._startPending(),super._startEvent(eb)}_startPending(){if(null!=this._pendingFilter)return;let eb=this,em=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=em,em.then(function(eH){function eV(){eb.send("eth_getFilterChanges",[eH]).then(function(eH){if(eb._pendingFilter!=em)return null;let eV=Promise.resolve();return eH.forEach(function(em){eb._emitted["t:"+em.toLowerCase()]="pending",eV=eV.then(function(){return eb.getTransaction(em).then(function(em){return eb.emit("pending",em),null})})}),eV.then(function(){return eF(1e3)})}).then(function(){if(eb._pendingFilter!=em){eb.send("eth_uninstallFilter",[eH]);return}return setTimeout(function(){eV()},0),null}).catch(eb=>{})}return eV(),eH}).catch(eb=>{})}_stopEvent(eb){"pending"===eb.tag&&0===this.listenerCount("pending")&&(this._pendingFilter=null),super._stopEvent(eb)}static hexlifyTransaction(eb,em){let eH=(0,eT.DC)(eG);if(em)for(let eb in em)em[eb]&&(eH[eb]=!0);(0,eT.uj)(eb,eH);let eV={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(function(em){if(null==eb[em])return;let eH=(0,eM.$P)(ew.O$.from(eb[em]));"gasLimit"===em&&(em="gas"),eV[em]=eH}),["from","to","data"].forEach(function(em){null!=eb[em]&&(eV[em]=(0,eM.Dv)(eb[em]))}),eb.accessList&&(eV.accessList=(0,eS.z7)(eb.accessList)),eV}}},93901:function(eb,em,eH){"use strict";eH.d(em,{c:function(){return eS},l:function(){return eE}});var eV=eH(6881),ew=eH(1581),eM=eH(34216),eC=eH(82169),eT=function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};let e_=new ew.Yd(eM.i);class eS extends eC.r{detectNetwork(){let eb=Object.create(null,{detectNetwork:{get:()=>super.detectNetwork}});return eT(this,void 0,void 0,function*(){let em=this.network;return null==em&&((em=yield eb.detectNetwork.call(this))||e_.throwError("no network detected",ew.Yd.errors.UNKNOWN_ERROR,{}),null==this._network&&((0,eV.zG)(this,"_network",em),this.emit("network",em,null))),em})}}class eE extends eS{constructor(eb,em){e_.checkAbstract(new.target,eE),eb=(0,eV.tu)(new.target,"getNetwork")(eb),em=(0,eV.tu)(new.target,"getApiKey")(em);let eH=(0,eV.tu)(new.target,"getUrl")(eb,em);super(eH,eb),"string"==typeof em?(0,eV.zG)(this,"apiKey",em):null!=em&&Object.keys(em).forEach(eb=>{(0,eV.zG)(this,eb,em[eb])})}_startPending(){e_.warn("WARNING: API provider does not support pending filters")}isCommunityResource(){return!1}getSigner(eb){return e_.throwError("API provider does not support signing",ew.Yd.errors.UNSUPPORTED_OPERATION,{operation:"getSigner"})}listAccounts(){return Promise.resolve([])}static getApiKey(eb){return eb}static getUrl(eb,em){return e_.throwError("not implemented; sub-classes must override getUrl",ew.Yd.errors.NOT_IMPLEMENTED,{operation:"getUrl"})}}},241:function(eb,em,eH){"use strict";eH.d(em,{Q:function(){return eA}});var eV=eH(6881),ew=eH(1581),eM=eH(34216),eC=eH(82169);let eT=new ew.Yd(eM.i),e_=1;function eS(eb,em){let eH="Web3LegacyFetcher";return function(eb,ew){let eM={method:eb,params:ew,id:e_++,jsonrpc:"2.0"};return new Promise((eb,ew)=>{this.emit("debug",{action:"request",fetcher:eH,request:(0,eV.p$)(eM),provider:this}),em(eM,(em,eV)=>{if(em)return this.emit("debug",{action:"response",fetcher:eH,error:em,request:eM,provider:this}),ew(em);if(this.emit("debug",{action:"response",fetcher:eH,request:eM,response:eV,provider:this}),eV.error){let eb=Error(eV.error.message);return eb.code=eV.error.code,eb.data=eV.error.data,ew(eb)}eb(eV.result)})})}}function eE(eb){return function(em,eH){null==eH&&(eH=[]);let ew={method:em,params:eH};return this.emit("debug",{action:"request",fetcher:"Eip1193Fetcher",request:(0,eV.p$)(ew),provider:this}),eb.request(ew).then(eb=>(this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:ew,response:eb,provider:this}),eb),eb=>{throw this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:ew,error:eb,provider:this}),eb})}}class eA extends eC.r{constructor(eb,em){null==eb&&eT.throwArgumentError("missing provider","provider",eb);let eH=null,ew=null,eM=null;"function"==typeof eb?(eH="unknown:",ew=eb):((eH=eb.host||eb.path||"")||!eb.isMetaMask||(eH="metamask"),eM=eb,eb.request?(""===eH&&(eH="eip-1193:"),ew=eE(eb)):eb.sendAsync?ew=eS(eb,eb.sendAsync.bind(eb)):eb.send?ew=eS(eb,eb.send.bind(eb)):eT.throwArgumentError("unsupported provider","provider",eb),eH||(eH="unknown:")),super(eH,em),(0,eV.zG)(this,"jsonRpcFetchFunc",ew),(0,eV.zG)(this,"provider",eM)}send(eb,em){return this.jsonRpcFetchFunc(eb,em)}}},88089:function(eb,em,eH){"use strict";eH.d(em,{q:function(){return eN}});var eV=eH(2593),ew=eH(6881),eM=eH(82169),eC=eH(1581),eT=eH(34216);let e_=null;try{if(e_=WebSocket,null==e_)throw Error("inject please")}catch(em){let eb=new eC.Yd(eT.i);e_=function(){eb.throwError("WebSockets not supported in this environment",eC.Yd.errors.UNSUPPORTED_OPERATION,{operation:"new WebSocket()"})}}var eS=function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};let eE=new eC.Yd(eT.i),eA=1;class eN extends eM.r{constructor(eb,em){"any"===em&&eE.throwError("WebSocketProvider does not support 'any' network yet",eC.Yd.errors.UNSUPPORTED_OPERATION,{operation:"network:any"}),"string"==typeof eb?super(eb,em):super("_websocket",em),this._pollingInterval=-1,this._wsReady=!1,"string"==typeof eb?(0,ew.zG)(this,"_websocket",new e_(this.connection.url)):(0,ew.zG)(this,"_websocket",eb),(0,ew.zG)(this,"_requests",{}),(0,ew.zG)(this,"_subs",{}),(0,ew.zG)(this,"_subIds",{}),(0,ew.zG)(this,"_detectNetwork",super.detectNetwork()),this.websocket.onopen=()=>{this._wsReady=!0,Object.keys(this._requests).forEach(eb=>{this.websocket.send(this._requests[eb].payload)})},this.websocket.onmessage=eb=>{let em=eb.data,eH=JSON.parse(em);if(null!=eH.id){let eb=String(eH.id),eV=this._requests[eb];if(delete this._requests[eb],void 0!==eH.result)eV.callback(null,eH.result),this.emit("debug",{action:"response",request:JSON.parse(eV.payload),response:eH.result,provider:this});else{let eb=null;eH.error?(eb=Error(eH.error.message||"unknown error"),(0,ew.zG)(eb,"code",eH.error.code||null),(0,ew.zG)(eb,"response",em)):eb=Error("unknown error"),eV.callback(eb,void 0),this.emit("debug",{action:"response",error:eb,request:JSON.parse(eV.payload),provider:this})}}else if("eth_subscription"===eH.method){let eb=this._subs[eH.params.subscription];eb&&eb.processFunc(eH.params.result)}else console.warn("this should not happen")};let eH=setInterval(()=>{this.emit("poll")},1e3);eH.unref&&eH.unref()}get websocket(){return this._websocket}detectNetwork(){return this._detectNetwork}get pollingInterval(){return 0}resetEventsBlock(eb){eE.throwError("cannot reset events block on WebSocketProvider",eC.Yd.errors.UNSUPPORTED_OPERATION,{operation:"resetEventBlock"})}set pollingInterval(eb){eE.throwError("cannot set polling interval on WebSocketProvider",eC.Yd.errors.UNSUPPORTED_OPERATION,{operation:"setPollingInterval"})}poll(){return eS(this,void 0,void 0,function*(){return null})}set polling(eb){eb&&eE.throwError("cannot set polling on WebSocketProvider",eC.Yd.errors.UNSUPPORTED_OPERATION,{operation:"setPolling"})}send(eb,em){let eH=eA++;return new Promise((eV,ew)=>{function eM(eb,em){return eb?ew(eb):eV(em)}let eC=JSON.stringify({method:eb,params:em,id:eH,jsonrpc:"2.0"});this.emit("debug",{action:"request",request:JSON.parse(eC),provider:this}),this._requests[String(eH)]={callback:eM,payload:eC},this._wsReady&&this.websocket.send(eC)})}static defaultUrl(){return"ws://localhost:8546"}_subscribe(eb,em,eH){return eS(this,void 0,void 0,function*(){let eV=this._subIds[eb];null==eV&&(eV=Promise.all(em).then(eb=>this.send("eth_subscribe",eb)),this._subIds[eb]=eV);let ew=yield eV;this._subs[ew]={tag:eb,processFunc:eH}})}_startEvent(eb){switch(eb.type){case"block":this._subscribe("block",["newHeads"],eb=>{let em=eV.O$.from(eb.number).toNumber();this._emitted.block=em,this.emit("block",em)});break;case"pending":this._subscribe("pending",["newPendingTransactions"],eb=>{this.emit("pending",eb)});break;case"filter":this._subscribe(eb.tag,["logs",this._getFilter(eb.filter)],em=>{null==em.removed&&(em.removed=!1),this.emit(eb.filter,this.formatter.filterLog(em))});break;case"tx":{let em=eb=>{let em=eb.hash;this.getTransactionReceipt(em).then(eb=>{eb&&this.emit(em,eb)})};em(eb),this._subscribe("tx",["newHeads"],eb=>{this._events.filter(eb=>"tx"===eb.type).forEach(em)});break}case"debug":case"poll":case"willPoll":case"didPoll":case"error":break;default:console.log("unhandled:",eb)}}_stopEvent(eb){let em=eb.tag;if("tx"===eb.type){if(this._events.filter(eb=>"tx"===eb.type).length)return;em="tx"}else if(this.listenerCount(eb.event))return;let eH=this._subIds[em];eH&&(delete this._subIds[em],eH.then(eb=>{this._subs[eb]&&(delete this._subs[eb],this.send("eth_unsubscribe",[eb]))}))}destroy(){return eS(this,void 0,void 0,function*(){this.websocket.readyState===e_.CONNECTING&&(yield new Promise(eb=>{this.websocket.onopen=function(){eb(!0)},this.websocket.onerror=function(){eb(!1)}})),this.websocket.close(1e3)})}}},5634:function(eb,em,eH){"use strict";eH.d(em,{O:function(){return eE}});var eV=eH(16441),ew=eH(1581);let eM="random/5.7.0",eC=new ew.Yd(eM);function eT(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==eH.g)return eH.g;throw Error("unable to locate global object")}let e_=eT(),eS=e_.crypto||e_.msCrypto;function eE(eb){(eb<=0||eb>1024||eb%1||eb!=eb)&&eC.throwArgumentError("invalid length","length",eb);let em=new Uint8Array(eb);return eS.getRandomValues(em),(0,eV.lE)(em)}eS&&eS.getRandomValues||(eC.warn("WARNING: Missing strong random number source"),eS={getRandomValues:function(eb){return eC.throwError("no secure random source avaialble",ew.Yd.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}})},59052:function(eb,em,eH){"use strict";eH.r(em),eH.d(em,{decode:function(){return eI},encode:function(){return eE}});var eV=eH(16441),ew=eH(1581);let eM="rlp/5.7.0",eC=new ew.Yd(eM);function eT(eb){let em=[];for(;eb;)em.unshift(255&eb),eb>>=8;return em}function e_(eb,em,eH){let eV=0;for(let ew=0;ewem+1+eV&&eC.throwError("child data too short",ew.Yd.errors.BUFFER_OVERRUN,{})}return{consumed:1+eV,result:eM}}function eN(eb,em){if(0===eb.length&&eC.throwError("data too short",ew.Yd.errors.BUFFER_OVERRUN,{}),eb[em]>=248){let eH=eb[em]-247;em+1+eH>eb.length&&eC.throwError("data short segment too short",ew.Yd.errors.BUFFER_OVERRUN,{});let eV=e_(eb,em+1,eH);return em+1+eH+eV>eb.length&&eC.throwError("data long segment too short",ew.Yd.errors.BUFFER_OVERRUN,{}),eA(eb,em,em+1+eH,eH+eV)}if(eb[em]>=192){let eH=eb[em]-192;return em+1+eH>eb.length&&eC.throwError("data array too short",ew.Yd.errors.BUFFER_OVERRUN,{}),eA(eb,em,em+1,eH)}if(eb[em]>=184){let eH=eb[em]-183;em+1+eH>eb.length&&eC.throwError("data array too short",ew.Yd.errors.BUFFER_OVERRUN,{});let eM=e_(eb,em+1,eH);em+1+eH+eM>eb.length&&eC.throwError("data array too short",ew.Yd.errors.BUFFER_OVERRUN,{});let eT=(0,eV.Dv)(eb.slice(em+1+eH,em+1+eH+eM));return{consumed:1+eH+eM,result:eT}}if(eb[em]>=128){let eH=eb[em]-128;em+1+eH>eb.length&&eC.throwError("data too short",ew.Yd.errors.BUFFER_OVERRUN,{});let eM=(0,eV.Dv)(eb.slice(em+1,em+1+eH));return{consumed:1+eH,result:eM}}return{consumed:1,result:(0,eV.Dv)(eb[em])}}function eI(eb){let em=(0,eV.lE)(eb),eH=eN(em,0);return eH.consumed!==em.length&&eC.throwArgumentError("invalid rlp data","data",eb),eH.result}},2006:function(eb,em,eH){"use strict";eH.d(em,{Gy:function(){return eI},bP:function(){return eE},JQ:function(){return eA},o:function(){return eN}});var eV=eH(33715),ew=eH.n(eV),eM=eH(16441),eC=eH(21261),eT=eH(1581);let e_="sha2/5.7.0",eS=new eT.Yd(e_);function eE(eb){return"0x"+ew().ripemd160().update((0,eM.lE)(eb)).digest("hex")}function eA(eb){return"0x"+ew().sha256().update((0,eM.lE)(eb)).digest("hex")}function eN(eb){return"0x"+ew().sha512().update((0,eM.lE)(eb)).digest("hex")}function eI(eb,em,eH){return eC.p[eb]||eS.throwError("unsupported algorithm "+eb,eT.Yd.errors.UNSUPPORTED_OPERATION,{operation:"hmac",algorithm:eb}),"0x"+ew().hmac(ew()[eb],(0,eM.lE)(em)).update((0,eM.lE)(eH)).digest("hex")}},21261:function(eb,em,eH){"use strict";var eV;eH.d(em,{p:function(){return eV}}),function(eb){eb.sha256="sha256",eb.sha512="sha512"}(eV||(eV={}))},67669:function(eb,em,eH){"use strict";eH.d(em,{Et:function(){return tP},VW:function(){return tR},LO:function(){return tO}});var eV=eH(13550),ew=eH.n(eV),eM=eH(33715),eC=eH.n(eM);function eT(eb,em,eH){return eb(eH={path:em,exports:{},require:function(eb,em){return e_(eb,null==em?eH.path:em)}},eH.exports),eH.exports}function e_(){throw Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==eH.g?eH.g:"undefined"!=typeof self&&self;var eS=eE;function eE(eb,em){if(!eb)throw Error(em||"Assertion failed")}eE.equal=function(eb,em,eH){if(eb!=em)throw Error(eH||"Assertion failed: "+eb+" != "+em)};var eA=eT(function(eb,em){var eH=em;function eV(eb,em){if(Array.isArray(eb))return eb.slice();if(!eb)return[];var eH=[];if("string"!=typeof eb){for(var eV=0;eV>8,eC=255&ew;eM?eH.push(eM,eC):eH.push(eC)}return eH}function ew(eb){return 1===eb.length?"0"+eb:eb}function eM(eb){for(var em="",eH=0;eH(ew>>1)-1?(ew>>1)-e_:e_,eM.isubn(eT)):eT=0,eV[eC]=eT,eM.iushrn(1)}return eV}function eM(eb,em){var eH=[[],[]];eb=eb.clone(),em=em.clone();for(var eV=0,ew=0;eb.cmpn(-eV)>0||em.cmpn(-ew)>0;){var eM,eC,eT,e_=eb.andln(3)+eV&3,eS=em.andln(3)+ew&3;3===e_&&(e_=-1),3===eS&&(eS=-1),eC=(1&e_)==0?0:(3==(eM=eb.andln(7)+eV&7)||5===eM)&&2===eS?-e_:e_,eH[0].push(eC),eT=(1&eS)==0?0:(3==(eM=em.andln(7)+ew&7)||5===eM)&&2===e_?-eS:eS,eH[1].push(eT),2*eV===eC+1&&(eV=1-eV),2*ew===eT+1&&(ew=1-ew),eb.iushrn(1),em.iushrn(1)}return eH}function eC(eb,em,eH){var eV="_"+em;eb.prototype[em]=function(){return void 0!==this[eV]?this[eV]:this[eV]=eH.call(this)}}function eT(eb){return"string"==typeof eb?eH.toArray(eb,"hex"):eb}function e_(eb){return new(ew())(eb,"hex","le")}eH.assert=eS,eH.toArray=eA.toArray,eH.zero2=eA.zero2,eH.toHex=eA.toHex,eH.encode=eA.encode,eH.getNAF=eV,eH.getJSF=eM,eH.cachedProperty=eC,eH.parseBytes=eT,eH.intFromLE=e_}),eI=eN.getNAF,eD=eN.getJSF,eP=eN.assert;function eO(eb,em){this.type=eb,this.p=new(ew())(em.p,16),this.red=em.prime?ew().red(em.prime):ew().mont(this.p),this.zero=new(ew())(0).toRed(this.red),this.one=new(ew())(1).toRed(this.red),this.two=new(ew())(2).toRed(this.red),this.n=em.n&&new(ew())(em.n,16),this.g=em.g&&this.pointFromJSON(em.g,em.gRed),this._wnafT1=[,,,,],this._wnafT2=[,,,,],this._wnafT3=[,,,,],this._wnafT4=[,,,,],this._bitLength=this.n?this.n.bitLength():0;var eH=this.n&&this.p.div(this.n);!eH||eH.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var eR=eO;function eB(eb,em){this.curve=eb,this.type=em,this.precomputed=null}eO.prototype.point=function(){throw Error("Not implemented")},eO.prototype.validate=function(){throw Error("Not implemented")},eO.prototype._fixedNafMul=function(eb,em){eP(eb.precomputed);var eH,eV,ew=eb._getDoubles(),eM=eI(em,1,this._bitLength),eC=(1<=eH;e_--)eV=(eV<<1)+eM[e_];eT.push(eV)}for(var eS=this.jpoint(null,null,null),eE=this.jpoint(null,null,null),eA=eC;eA>0;eA--){for(eH=0;eH=0;eT--){for(var e_=0;eT>=0&&0===eM[eT];eT--)e_++;if(eT>=0&&e_++,eC=eC.dblp(e_),eT<0)break;var eS=eM[eT];eP(0!==eS),eC="affine"===eb.type?eS>0?eC.mixedAdd(ew[eS-1>>1]):eC.mixedAdd(ew[-eS-1>>1].neg()):eS>0?eC.add(ew[eS-1>>1]):eC.add(ew[-eS-1>>1].neg())}return"affine"===eb.type?eC.toP():eC},eO.prototype._wnafMulAdd=function(eb,em,eH,eV,ew){var eM,eC,eT,e_=this._wnafT1,eS=this._wnafT2,eE=this._wnafT3,eA=0;for(eM=0;eM=1;eM-=2){var eP=eM-1,eO=eM;if(1!==e_[eP]||1!==e_[eO]){eE[eP]=eI(eH[eP],e_[eP],this._bitLength),eE[eO]=eI(eH[eO],e_[eO],this._bitLength),eA=Math.max(eE[eP].length,eA),eA=Math.max(eE[eO].length,eA);continue}var eR=[em[eP],null,null,em[eO]];0===em[eP].y.cmp(em[eO].y)?(eR[1]=em[eP].add(em[eO]),eR[2]=em[eP].toJ().mixedAdd(em[eO].neg())):0===em[eP].y.cmp(em[eO].y.redNeg())?(eR[1]=em[eP].toJ().mixedAdd(em[eO]),eR[2]=em[eP].add(em[eO].neg())):(eR[1]=em[eP].toJ().mixedAdd(em[eO]),eR[2]=em[eP].toJ().mixedAdd(em[eO].neg()));var eB=[-3,-1,-5,-7,0,7,5,1,3],eF=eD(eH[eP],eH[eO]);for(eC=0,eA=Math.max(eF[0].length,eA),eE[eP]=Array(eA),eE[eO]=Array(eA);eC=0;eM--){for(var eZ=0;eM>=0;){var eG=!0;for(eC=0;eC=0&&eZ++,e$=e$.dblp(eZ),eM<0)break;for(eC=0;eC0?eT=eS[eC][eK-1>>1]:eK<0&&(eT=eS[eC][-eK-1>>1].neg()),e$="affine"===eT.type?e$.mixedAdd(eT):e$.add(eT))}}for(eM=0;eM=Math.ceil((eb.bitLength()+1)/em.step)},eB.prototype._getDoubles=function(eb,em){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var eH=[this],eV=this,ew=0;eweM[0].cmp(eM[1])?eM[0]:eM[1]).toRed(this.red)}if(eb.lambda)eH=new(ew())(eb.lambda,16);else{var eC=this._getEndoRoots(this.n);0===this.g.mul(eC[0]).x.cmp(this.g.x.redMul(em))?eH=eC[0]:(eH=eC[1],ej(0===this.g.mul(eH).x.cmp(this.g.x.redMul(em))))}return eV=eb.basis?eb.basis.map(function(eb){return{a:new(ew())(eb.a,16),b:new(ew())(eb.b,16)}}):this._getEndoBasis(eH),{beta:em,lambda:eH,basis:eV}}},eU.prototype._getEndoRoots=function(eb){var em=eb===this.p?this.red:ew().mont(eb),eH=new(ew())(2).toRed(em).redInvm(),eV=eH.redNeg(),eM=new(ew())(3).toRed(em).redNeg().redSqrt().redMul(eH);return[eV.redAdd(eM).fromRed(),eV.redSub(eM).fromRed()]},eU.prototype._getEndoBasis=function(eb){for(var em,eH,eV,eM,eC,eT,e_,eS,eE,eA=this.n.ushrn(Math.floor(this.n.bitLength()/2)),eN=eb,eI=this.n.clone(),eD=new(ew())(1),eP=new(ew())(0),eO=new(ew())(0),eR=new(ew())(1),eB=0;0!==eN.cmpn(0);){var eF=eI.div(eN);eS=eI.sub(eF.mul(eN)),eE=eO.sub(eF.mul(eD));var ej=eR.sub(eF.mul(eP));if(!eV&&0>eS.cmp(eA))em=e_.neg(),eH=eD,eV=eS.neg(),eM=eE;else if(eV&&2==++eB)break;e_=eS,eI=eN,eN=eS,eO=eD,eD=eE,eR=eP,eP=ej}eC=eS.neg(),eT=eE;var eU=eV.sqr().add(eM.sqr());return eC.sqr().add(eT.sqr()).cmp(eU)>=0&&(eC=em,eT=eH),eV.negative&&(eV=eV.neg(),eM=eM.neg()),eC.negative&&(eC=eC.neg(),eT=eT.neg()),[{a:eV,b:eM},{a:eC,b:eT}]},eU.prototype._endoSplit=function(eb){var em=this.endo.basis,eH=em[0],eV=em[1],ew=eV.b.mul(eb).divRound(this.n),eM=eH.b.neg().mul(eb).divRound(this.n),eC=ew.mul(eH.a),eT=eM.mul(eV.a),e_=ew.mul(eH.b),eS=eM.mul(eV.b);return{k1:eb.sub(eC).sub(eT),k2:e_.add(eS).neg()}},eU.prototype.pointFromX=function(eb,em){(eb=new(ew())(eb,16)).red||(eb=eb.toRed(this.red));var eH=eb.redSqr().redMul(eb).redIAdd(eb.redMul(this.a)).redIAdd(this.b),eV=eH.redSqrt();if(0!==eV.redSqr().redSub(eH).cmp(this.zero))throw Error("invalid point");var eM=eV.fromRed().isOdd();return(em&&!eM||!em&&eM)&&(eV=eV.redNeg()),this.point(eb,eV)},eU.prototype.validate=function(eb){if(eb.inf)return!0;var em=eb.x,eH=eb.y,eV=this.a.redMul(em),ew=em.redSqr().redMul(em).redIAdd(eV).redIAdd(this.b);return 0===eH.redSqr().redISub(ew).cmpn(0)},eU.prototype._endoWnafMulAdd=function(eb,em,eH){for(var eV=this._endoWnafT1,ew=this._endoWnafT2,eM=0;eM":""},eW.prototype.isInfinity=function(){return this.inf},eW.prototype.add=function(eb){if(this.inf)return eb;if(eb.inf)return this;if(this.eq(eb))return this.dbl();if(this.neg().eq(eb)||0===this.x.cmp(eb.x))return this.curve.point(null,null);var em=this.y.redSub(eb.y);0!==em.cmpn(0)&&(em=em.redMul(this.x.redSub(eb.x).redInvm()));var eH=em.redSqr().redISub(this.x).redISub(eb.x),eV=em.redMul(this.x.redSub(eH)).redISub(this.y);return this.curve.point(eH,eV)},eW.prototype.dbl=function(){if(this.inf)return this;var eb=this.y.redAdd(this.y);if(0===eb.cmpn(0))return this.curve.point(null,null);var em=this.curve.a,eH=this.x.redSqr(),eV=eb.redInvm(),ew=eH.redAdd(eH).redIAdd(eH).redIAdd(em).redMul(eV),eM=ew.redSqr().redISub(this.x.redAdd(this.x)),eC=ew.redMul(this.x.redSub(eM)).redISub(this.y);return this.curve.point(eM,eC)},eW.prototype.getX=function(){return this.x.fromRed()},eW.prototype.getY=function(){return this.y.fromRed()},eW.prototype.mul=function(eb){return(eb=new(ew())(eb,16),this.isInfinity())?this:this._hasDoubles(eb)?this.curve._fixedNafMul(this,eb):this.curve.endo?this.curve._endoWnafMulAdd([this],[eb]):this.curve._wnafMul(this,eb)},eW.prototype.mulAdd=function(eb,em,eH){var eV=[this,em],ew=[eb,eH];return this.curve.endo?this.curve._endoWnafMulAdd(eV,ew):this.curve._wnafMulAdd(1,eV,ew,2)},eW.prototype.jmulAdd=function(eb,em,eH){var eV=[this,em],ew=[eb,eH];return this.curve.endo?this.curve._endoWnafMulAdd(eV,ew,!0):this.curve._wnafMulAdd(1,eV,ew,2,!0)},eW.prototype.eq=function(eb){return this===eb||this.inf===eb.inf&&(this.inf||0===this.x.cmp(eb.x)&&0===this.y.cmp(eb.y))},eW.prototype.neg=function(eb){if(this.inf)return this;var em=this.curve.point(this.x,this.y.redNeg());if(eb&&this.precomputed){var eH=this.precomputed,eV=function(eb){return eb.neg()};em.precomputed={naf:eH.naf&&{wnd:eH.naf.wnd,points:eH.naf.points.map(eV)},doubles:eH.doubles&&{step:eH.doubles.step,points:eH.doubles.points.map(eV)}}}return em},eW.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},eF(eZ,eR.BasePoint),eU.prototype.jpoint=function(eb,em,eH){return new eZ(this,eb,em,eH)},eZ.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var eb=this.z.redInvm(),em=eb.redSqr(),eH=this.x.redMul(em),eV=this.y.redMul(em).redMul(eb);return this.curve.point(eH,eV)},eZ.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},eZ.prototype.add=function(eb){if(this.isInfinity())return eb;if(eb.isInfinity())return this;var em=eb.z.redSqr(),eH=this.z.redSqr(),eV=this.x.redMul(em),ew=eb.x.redMul(eH),eM=this.y.redMul(em.redMul(eb.z)),eC=eb.y.redMul(eH.redMul(this.z)),eT=eV.redSub(ew),e_=eM.redSub(eC);if(0===eT.cmpn(0))return 0!==e_.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var eS=eT.redSqr(),eE=eS.redMul(eT),eA=eV.redMul(eS),eN=e_.redSqr().redIAdd(eE).redISub(eA).redISub(eA),eI=e_.redMul(eA.redISub(eN)).redISub(eM.redMul(eE)),eD=this.z.redMul(eb.z).redMul(eT);return this.curve.jpoint(eN,eI,eD)},eZ.prototype.mixedAdd=function(eb){if(this.isInfinity())return eb.toJ();if(eb.isInfinity())return this;var em=this.z.redSqr(),eH=this.x,eV=eb.x.redMul(em),ew=this.y,eM=eb.y.redMul(em).redMul(this.z),eC=eH.redSub(eV),eT=ew.redSub(eM);if(0===eC.cmpn(0))return 0!==eT.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var e_=eC.redSqr(),eS=e_.redMul(eC),eE=eH.redMul(e_),eA=eT.redSqr().redIAdd(eS).redISub(eE).redISub(eE),eN=eT.redMul(eE.redISub(eA)).redISub(ew.redMul(eS)),eI=this.z.redMul(eC);return this.curve.jpoint(eA,eN,eI)},eZ.prototype.dblp=function(eb){if(0===eb||this.isInfinity())return this;if(!eb)return this.dbl();if(this.curve.zeroA||this.curve.threeA){var em,eH=this;for(em=0;em=0)return!1;if(eH.redIAdd(ew),0===this.x.cmp(eH))return!0}},eZ.prototype.inspect=function(){return this.isInfinity()?"":""},eZ.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var eG=eT(function(eb,em){var eH=em;eH.base=eR,eH.short=e$,eH.mont=null,eH.edwards=null}),eK=eT(function(eb,em){var eH,eV=em,ew=eN.assert;function eM(eb){"short"===eb.type?this.curve=new eG.short(eb):"edwards"===eb.type?this.curve=new eG.edwards(eb):this.curve=new eG.mont(eb),this.g=this.curve.g,this.n=this.curve.n,this.hash=eb.hash,ew(this.g.validate(),"Invalid curve"),ew(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function eT(eb,em){Object.defineProperty(eV,eb,{configurable:!0,enumerable:!0,get:function(){var eH=new eM(em);return Object.defineProperty(eV,eb,{configurable:!0,enumerable:!0,value:eH}),eH}})}eV.PresetCurve=eM,eT("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:eC().sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),eT("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:eC().sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),eT("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:eC().sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),eT("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:eC().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"]}),eT("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:eC().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"]}),eT("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:eC().sha256,gRed:!1,g:["9"]}),eT("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:eC().sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{eH=null.crash()}catch(eb){eH=void 0}eT("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:eC().sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",eH]})});function eY(eb){if(!(this instanceof eY))return new eY(eb);this.hash=eb.hash,this.predResist=!!eb.predResist,this.outLen=this.hash.outSize,this.minEntropy=eb.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var em=eA.toArray(eb.entropy,eb.entropyEnc||"hex"),eH=eA.toArray(eb.nonce,eb.nonceEnc||"hex"),eV=eA.toArray(eb.pers,eb.persEnc||"hex");eS(em.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(em,eH,eV)}var eX=eY;eY.prototype._init=function(eb,em,eH){var eV=eb.concat(em).concat(eH);this.K=Array(this.outLen/8),this.V=Array(this.outLen/8);for(var ew=0;ew=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(eb.concat(eH||[])),this._reseed=1},eY.prototype.generate=function(eb,em,eH,eV){if(this._reseed>this.reseedInterval)throw Error("Reseed is required");"string"!=typeof em&&(eV=eH,eH=em,em=null),eH&&(eH=eA.toArray(eH,eV||"hex"),this._update(eH));for(var ew=[];ew.length"};var e6=eN.assert;function e4(eb,em){if(eb instanceof e4)return eb;this._importDER(eb,em)||(e6(eb.r&&eb.s,"Signature without r or s"),this.r=new(ew())(eb.r,16),this.s=new(ew())(eb.s,16),void 0===eb.recoveryParam?this.recoveryParam=null:this.recoveryParam=eb.recoveryParam)}var e3=e4;function e5(){this.place=0}function e8(eb,em){var eH=eb[em.place++];if(!(128&eH))return eH;var eV=15&eH;if(0===eV||eV>4)return!1;for(var ew=0,eM=0,eC=em.place;eM>>=0;return!(ew<=127)&&(em.place=eC,ew)}function e9(eb){for(var em=0,eH=eb.length-1;!eb[em]&&!(128&eb[em+1])&&em>>3);for(eb.push(128|eH);--eH;)eb.push(em>>>(eH<<3)&255);eb.push(em)}e4.prototype._importDER=function(eb,em){eb=eN.toArray(eb,em);var eH=new e5;if(48!==eb[eH.place++])return!1;var eV=e8(eb,eH);if(!1===eV||eV+eH.place!==eb.length||2!==eb[eH.place++])return!1;var eM=e8(eb,eH);if(!1===eM)return!1;var eC=eb.slice(eH.place,eM+eH.place);if(eH.place+=eM,2!==eb[eH.place++])return!1;var eT=e8(eb,eH);if(!1===eT||eb.length!==eT+eH.place)return!1;var e_=eb.slice(eH.place,eT+eH.place);if(0===eC[0]){if(!(128&eC[1]))return!1;eC=eC.slice(1)}if(0===e_[0]){if(!(128&e_[1]))return!1;e_=e_.slice(1)}return this.r=new(ew())(eC),this.s=new(ew())(e_),this.recoveryParam=null,!0},e4.prototype.toDER=function(eb){var em=this.r.toArray(),eH=this.s.toArray();for(128&em[0]&&(em=[0].concat(em)),128&eH[0]&&(eH=[0].concat(eH)),em=e9(em),eH=e9(eH);!eH[0]&&!(128&eH[1]);)eH=eH.slice(1);var eV=[2];e7(eV,em.length),(eV=eV.concat(em)).push(2),e7(eV,eH.length);var ew=eV.concat(eH),eM=[48];return e7(eM,ew.length),eM=eM.concat(ew),eN.encode(eM,eb)};var tH=function(){throw Error("unsupported")},tV=eN.assert;function tw(eb){if(!(this instanceof tw))return new tw(eb);"string"==typeof eb&&(tV(Object.prototype.hasOwnProperty.call(eK,eb),"Unknown curve "+eb),eb=eK[eb]),eb instanceof eK.PresetCurve&&(eb={curve:eb}),this.curve=eb.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=eb.curve.g,this.g.precompute(eb.curve.n.bitLength()+1),this.hash=eb.hash||eb.curve.hash}var tC=tw;tw.prototype.keyPair=function(eb){return new e0(this,eb)},tw.prototype.keyFromPrivate=function(eb,em){return e0.fromPrivate(this,eb,em)},tw.prototype.keyFromPublic=function(eb,em){return e0.fromPublic(this,eb,em)},tw.prototype.genKeyPair=function(eb){eb||(eb={});for(var em=new eX({hash:this.hash,pers:eb.pers,persEnc:eb.persEnc||"utf8",entropy:eb.entropy||tH(this.hash.hmacStrength),entropyEnc:eb.entropy&&eb.entropyEnc||"utf8",nonce:this.n.toArray()}),eH=this.n.byteLength(),eV=this.n.sub(new(ew())(2));;){var eM=new(ew())(em.generate(eH));if(!(eM.cmp(eV)>0))return eM.iaddn(1),this.keyFromPrivate(eM)}},tw.prototype._truncateToN=function(eb,em){var eH=8*eb.byteLength()-this.n.bitLength();return(eH>0&&(eb=eb.ushrn(eH)),!em&&eb.cmp(this.n)>=0)?eb.sub(this.n):eb},tw.prototype.sign=function(eb,em,eH,eV){"object"==typeof eH&&(eV=eH,eH=null),eV||(eV={}),em=this.keyFromPrivate(em,eH),eb=this._truncateToN(new(ew())(eb,16));for(var eM=this.n.byteLength(),eC=em.getPrivate().toArray("be",eM),eT=eb.toArray("be",eM),e_=new eX({hash:this.hash,entropy:eC,nonce:eT,pers:eV.pers,persEnc:eV.persEnc||"utf8"}),eS=this.n.sub(new(ew())(1)),eE=0;;eE++){var eA=eV.k?eV.k(eE):new(ew())(e_.generate(this.n.byteLength()));if(!(0>=(eA=this._truncateToN(eA,!0)).cmpn(1)||eA.cmp(eS)>=0)){var eN=this.g.mul(eA);if(!eN.isInfinity()){var eI=eN.getX(),eD=eI.umod(this.n);if(0!==eD.cmpn(0)){var eP=eA.invm(this.n).mul(eD.mul(em.getPrivate()).iadd(eb));if(0!==(eP=eP.umod(this.n)).cmpn(0)){var eO=(eN.getY().isOdd()?1:0)|(0!==eI.cmp(eD)?2:0);return eV.canonical&&eP.cmp(this.nh)>0&&(eP=this.n.sub(eP),eO^=1),new e3({r:eD,s:eP,recoveryParam:eO})}}}}}},tw.prototype.verify=function(eb,em,eH,eV){eb=this._truncateToN(new(ew())(eb,16)),eH=this.keyFromPublic(eH,eV);var eM,eC=(em=new e3(em,"hex")).r,eT=em.s;if(0>eC.cmpn(1)||eC.cmp(this.n)>=0||0>eT.cmpn(1)||eT.cmp(this.n)>=0)return!1;var e_=eT.invm(this.n),eS=e_.mul(eb).umod(this.n),eE=e_.mul(eC).umod(this.n);return this.curve._maxwellTrick?!(eM=this.g.jmulAdd(eS,eH.getPublic(),eE)).isInfinity()&&eM.eqXToP(eC):!(eM=this.g.mulAdd(eS,eH.getPublic(),eE)).isInfinity()&&0===eM.getX().umod(this.n).cmp(eC)},tw.prototype.recoverPubKey=function(eb,em,eH,eV){tV((3&eH)===eH,"The recovery param is more than two bits"),em=new e3(em,eV);var eM=this.n,eC=new(ew())(eb),eT=em.r,e_=em.s,eS=1&eH,eE=eH>>1;if(eT.cmp(this.curve.p.umod(this.curve.n))>=0&&eE)throw Error("Unable to find sencond key candinate");eT=eE?this.curve.pointFromX(eT.add(this.curve.n),eS):this.curve.pointFromX(eT,eS);var eA=em.r.invm(eM),eN=eM.sub(eC).mul(eA).umod(eM),eI=e_.mul(eA).umod(eM);return this.g.mulAdd(eN,eT,eI)},tw.prototype.getKeyRecoveryParam=function(eb,em,eH,eV){if(null!==(em=new e3(em,eV)).recoveryParam)return em.recoveryParam;for(var ew,eM=0;eM<4;eM++){try{ew=this.recoverPubKey(eb,em,eM)}catch(eb){continue}if(ew.eq(eH))return eM}throw Error("Unable to find valid recovery factor")};var tT=eT(function(eb,em){var eH=em;eH.version="6.5.4",eH.utils=eN,eH.rand=function(){throw Error("unsupported")},eH.curve=eG,eH.curves=eK,eH.ec=tC,eH.eddsa=null}).ec,t_=eH(16441),tS=eH(6881),tE=eH(1581);let tA="signing-key/5.7.0",tN=new tE.Yd(tA),tI=null;function tD(){return tI||(tI=new tT("secp256k1")),tI}class tP{constructor(eb){(0,tS.zG)(this,"curve","secp256k1"),(0,tS.zG)(this,"privateKey",(0,t_.Dv)(eb)),32!==(0,t_.E1)(this.privateKey)&&tN.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");let em=tD().keyFromPrivate((0,t_.lE)(this.privateKey));(0,tS.zG)(this,"publicKey","0x"+em.getPublic(!1,"hex")),(0,tS.zG)(this,"compressedPublicKey","0x"+em.getPublic(!0,"hex")),(0,tS.zG)(this,"_isSigningKey",!0)}_addPoint(eb){let em=tD().keyFromPublic((0,t_.lE)(this.publicKey)),eH=tD().keyFromPublic((0,t_.lE)(eb));return"0x"+em.pub.add(eH.pub).encodeCompressed("hex")}signDigest(eb){let em=tD().keyFromPrivate((0,t_.lE)(this.privateKey)),eH=(0,t_.lE)(eb);32!==eH.length&&tN.throwArgumentError("bad digest length","digest",eb);let eV=em.sign(eH,{canonical:!0});return(0,t_.N)({recoveryParam:eV.recoveryParam,r:(0,t_.$m)("0x"+eV.r.toString(16),32),s:(0,t_.$m)("0x"+eV.s.toString(16),32)})}computeSharedSecret(eb){let em=tD().keyFromPrivate((0,t_.lE)(this.privateKey)),eH=tD().keyFromPublic((0,t_.lE)(tR(eb)));return(0,t_.$m)("0x"+em.derive(eH.getPublic()).toString(16),32)}static isSigningKey(eb){return!!(eb&&eb._isSigningKey)}}function tO(eb,em){let eH=(0,t_.N)(em),eV={r:(0,t_.lE)(eH.r),s:(0,t_.lE)(eH.s)};return"0x"+tD().recoverPubKey((0,t_.lE)(eb),eV,eH.recoveryParam).encode("hex",!1)}function tR(eb,em){let eH=(0,t_.lE)(eb);if(32===eH.length){let eb=new tP(eH);return em?"0x"+tD().keyFromPrivate(eH).getPublic(!0,"hex"):eb.publicKey}return 33===eH.length?em?(0,t_.Dv)(eH):"0x"+tD().keyFromPublic(eH).getPublic(!1,"hex"):65===eH.length?em?"0x"+tD().keyFromPublic(eH).getPublic(!0,"hex"):(0,t_.Dv)(eH):tN.throwArgumentError("invalid public or private key","key","[REDACTED]")}},29251:function(eb,em,eH){"use strict";eH.d(em,{Uj:function(){return eV},te:function(){return eN},Uw:function(){return ew},U$:function(){return eO},uu:function(){return eR},Y0:function(){return eD},XL:function(){return eF},ZN:function(){return eB}});var eV,ew,eM=eH(16441),eC=eH(1581);let eT="strings/5.7.0",e_=new eC.Yd(eT);function eS(eb,em,eH,eV,ew){return e_.throwArgumentError(`invalid codepoint at offset ${em}; ${eb}`,"bytes",eH)}function eE(eb,em,eH,eV,eM){if(eb===ew.BAD_PREFIX||eb===ew.UNEXPECTED_CONTINUE){let eb=0;for(let eV=em+1;eV>6==2;eV++)eb++;return eb}return eb===ew.OVERRUN?eH.length-em-1:0}function eA(eb,em,eH,eV,eM){return eb===ew.OVERLONG?(eV.push(eM),0):(eV.push(65533),eE(eb,em,eH,eV,eM))}!function(eb){eb.current="",eb.NFC="NFC",eb.NFD="NFD",eb.NFKC="NFKC",eb.NFKD="NFKD"}(eV||(eV={})),function(eb){eb.UNEXPECTED_CONTINUE="unexpected continuation byte",eb.BAD_PREFIX="bad codepoint prefix",eb.OVERRUN="string overrun",eb.MISSING_CONTINUE="missing continuation byte",eb.OUT_OF_RANGE="out of UTF-8 range",eb.UTF16_SURROGATE="UTF-16 surrogate",eb.OVERLONG="overlong representation"}(ew||(ew={}));let eN=Object.freeze({error:eS,ignore:eE,replace:eA});function eI(eb,em){null==em&&(em=eN.error),eb=(0,eM.lE)(eb);let eH=[],eV=0;for(;eV>7==0){eH.push(eM);continue}let eC=null,eT=null;if((224&eM)==192)eC=1,eT=127;else if((240&eM)==224)eC=2,eT=2047;else if((248&eM)==240)eC=3,eT=65535;else{(192&eM)==128?eV+=em(ew.UNEXPECTED_CONTINUE,eV-1,eb,eH):eV+=em(ew.BAD_PREFIX,eV-1,eb,eH);continue}if(eV-1+eC>=eb.length){eV+=em(ew.OVERRUN,eV-1,eb,eH);continue}let e_=eM&(1<<8-eC-1)-1;for(let eM=0;eM1114111){eV+=em(ew.OUT_OF_RANGE,eV-1-eC,eb,eH,e_);continue}if(e_>=55296&&e_<=57343){eV+=em(ew.UTF16_SURROGATE,eV-1-eC,eb,eH,e_);continue}if(e_<=eT){eV+=em(ew.OVERLONG,eV-1-eC,eb,eH,e_);continue}eH.push(e_)}}return eH}function eD(eb,em=eV.current){em!=eV.current&&(e_.checkNormalize(),eb=eb.normalize(em));let eH=[];for(let em=0;em>6|192),eH.push(63&eV|128);else if((64512&eV)==55296){em++;let ew=eb.charCodeAt(em);if(em>=eb.length||(64512&ew)!=56320)throw Error("invalid utf-8 string");let eM=65536+((1023&eV)<<10)+(1023&ew);eH.push(eM>>18|240),eH.push(eM>>12&63|128),eH.push(eM>>6&63|128),eH.push(63&eM|128)}else eH.push(eV>>12|224),eH.push(eV>>6&63|128),eH.push(63&eV|128)}return(0,eM.lE)(eH)}function eP(eb){let em="0000"+eb.toString(16);return"\\u"+em.substring(em.length-4)}function eO(eb,em){return'"'+eI(eb,em).map(eb=>{if(eb<256){switch(eb){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(eb>=32&&eb<127)return String.fromCharCode(eb)}return eb<=65535?eP(eb):eP(((eb-=65536)>>10&1023)+55296)+eP((1023&eb)+56320)}).join("")+'"'}function eR(eb){return eb.map(eb=>eb<=65535?String.fromCharCode(eb):String.fromCharCode(((eb-=65536)>>10&1023)+55296,(1023&eb)+56320)).join("")}function eB(eb,em){return eR(eI(eb,em))}function eF(eb,em=eV.current){return eI(eD(eb,em))}},83875:function(eb,em,eH){"use strict";eH.d(em,{em:function(){return eV},z7:function(){return eW},db:function(){return eF},Qc:function(){return e4},RJ:function(){return ej},qC:function(){return eX}});var eV,ew=eH(19485),eM=eH(2593),eC=eH(16441),eT=eH(21046),e_=eH(38197),eS=eH(6881),eE=eH(59052),eA=eH(67669),eN=eH(1581);let eI="transactions/5.7.0",eD=new eN.Yd(eI);function eP(eb){return"0x"===eb?null:(0,ew.Kn)(eb)}function eO(eb){return"0x"===eb?eT._Y:eM.O$.from(eb)}!function(eb){eb[eb.legacy=0]="legacy",eb[eb.eip2930=1]="eip2930",eb[eb.eip1559=2]="eip1559"}(eV||(eV={}));let eR=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],eB={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,type:!0,value:!0};function eF(eb){let em=(0,eA.VW)(eb);return(0,ew.Kn)((0,eC.p3)((0,e_.w)((0,eC.p3)(em,1)),12))}function ej(eb,em){return eF((0,eA.LO)((0,eC.lE)(eb),em))}function eU(eb,em){let eH=(0,eC.G1)(eM.O$.from(eb).toHexString());return eH.length>32&&eD.throwArgumentError("invalid length for "+em,"transaction:"+em,eb),eH}function e$(eb,em){return{address:(0,ew.Kn)(eb),storageKeys:(em||[]).map((em,eH)=>(32!==(0,eC.E1)(em)&&eD.throwArgumentError("invalid access list storageKey",`accessList[${eb}:${eH}]`,em),em.toLowerCase()))}}function eW(eb){if(Array.isArray(eb))return eb.map((eb,em)=>Array.isArray(eb)?(eb.length>2&&eD.throwArgumentError("access list expected to be [ address, storageKeys[] ]",`value[${em}]`,eb),e$(eb[0],eb[1])):e$(eb.address,eb.storageKeys));let em=Object.keys(eb).map(em=>{let eH=eb[em].reduce((eb,em)=>(eb[em]=!0,eb),{});return e$(em,Object.keys(eH).sort())});return em.sort((eb,em)=>eb.address.localeCompare(em.address)),em}function eZ(eb){return eW(eb).map(eb=>[eb.address,eb.storageKeys])}function eG(eb,em){if(null!=eb.gasPrice){let em=eM.O$.from(eb.gasPrice),eH=eM.O$.from(eb.maxFeePerGas||0);em.eq(eH)||eD.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:em,maxFeePerGas:eH})}let eH=[eU(eb.chainId||0,"chainId"),eU(eb.nonce||0,"nonce"),eU(eb.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),eU(eb.maxFeePerGas||0,"maxFeePerGas"),eU(eb.gasLimit||0,"gasLimit"),null!=eb.to?(0,ew.Kn)(eb.to):"0x",eU(eb.value||0,"value"),eb.data||"0x",eZ(eb.accessList||[])];if(em){let eb=(0,eC.N)(em);eH.push(eU(eb.recoveryParam,"recoveryParam")),eH.push((0,eC.G1)(eb.r)),eH.push((0,eC.G1)(eb.s))}return(0,eC.xs)(["0x02",eE.encode(eH)])}function eK(eb,em){let eH=[eU(eb.chainId||0,"chainId"),eU(eb.nonce||0,"nonce"),eU(eb.gasPrice||0,"gasPrice"),eU(eb.gasLimit||0,"gasLimit"),null!=eb.to?(0,ew.Kn)(eb.to):"0x",eU(eb.value||0,"value"),eb.data||"0x",eZ(eb.accessList||[])];if(em){let eb=(0,eC.N)(em);eH.push(eU(eb.recoveryParam,"recoveryParam")),eH.push((0,eC.G1)(eb.r)),eH.push((0,eC.G1)(eb.s))}return(0,eC.xs)(["0x01",eE.encode(eH)])}function eY(eb,em){(0,eS.uj)(eb,eB);let eH=[];eR.forEach(function(em){let eV=eb[em.name]||[],ew={};em.numeric&&(ew.hexPad="left"),eV=(0,eC.lE)((0,eC.Dv)(eV,ew)),em.length&&eV.length!==em.length&&eV.length>0&&eD.throwArgumentError("invalid length for "+em.name,"transaction:"+em.name,eV),em.maxLength&&(eV=(0,eC.G1)(eV)).length>em.maxLength&&eD.throwArgumentError("invalid length for "+em.name,"transaction:"+em.name,eV),eH.push((0,eC.Dv)(eV))});let eV=0;if(null!=eb.chainId?"number"!=typeof(eV=eb.chainId)&&eD.throwArgumentError("invalid transaction.chainId","transaction",eb):em&&!(0,eC.Zq)(em)&&em.v>28&&(eV=Math.floor((em.v-35)/2)),0!==eV&&(eH.push((0,eC.Dv)(eV)),eH.push("0x"),eH.push("0x")),!em)return eE.encode(eH);let ew=(0,eC.N)(em),eM=27+ew.recoveryParam;return 0!==eV?(eH.pop(),eH.pop(),eH.pop(),eM+=2*eV+8,ew.v>28&&ew.v!==eM&&eD.throwArgumentError("transaction.chainId/signature.v mismatch","signature",em)):ew.v!==eM&&eD.throwArgumentError("transaction.chainId/signature.v mismatch","signature",em),eH.push((0,eC.Dv)(eM)),eH.push((0,eC.G1)((0,eC.lE)(ew.r))),eH.push((0,eC.G1)((0,eC.lE)(ew.s))),eE.encode(eH)}function eX(eb,em){if(null==eb.type||0===eb.type)return null!=eb.accessList&&eD.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",eb),eY(eb,em);switch(eb.type){case 1:return eK(eb,em);case 2:return eG(eb,em)}return eD.throwError(`unsupported transaction type: ${eb.type}`,eN.Yd.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:eb.type})}function eJ(eb,em,eH){try{let eH=eO(em[0]).toNumber();if(0!==eH&&1!==eH)throw Error("bad recid");eb.v=eH}catch(eb){eD.throwArgumentError("invalid v for transaction type: 1","v",em[0])}eb.r=(0,eC.$m)(em[1],32),eb.s=(0,eC.$m)(em[2],32);try{let em=(0,e_.w)(eH(eb));eb.from=ej(em,{r:eb.r,s:eb.s,recoveryParam:eb.v})}catch(eb){}}function eQ(eb){let em=eE.decode(eb.slice(1));9!==em.length&&12!==em.length&&eD.throwArgumentError("invalid component count for transaction type: 2","payload",(0,eC.Dv)(eb));let eH=eO(em[2]),eV=eO(em[3]),ew={type:2,chainId:eO(em[0]).toNumber(),nonce:eO(em[1]).toNumber(),maxPriorityFeePerGas:eH,maxFeePerGas:eV,gasPrice:null,gasLimit:eO(em[4]),to:eP(em[5]),value:eO(em[6]),data:em[7],accessList:eW(em[8])};return 9===em.length||(ew.hash=(0,e_.w)(eb),eJ(ew,em.slice(9),eG)),ew}function e0(eb){let em=eE.decode(eb.slice(1));8!==em.length&&11!==em.length&&eD.throwArgumentError("invalid component count for transaction type: 1","payload",(0,eC.Dv)(eb));let eH={type:1,chainId:eO(em[0]).toNumber(),nonce:eO(em[1]).toNumber(),gasPrice:eO(em[2]),gasLimit:eO(em[3]),to:eP(em[4]),value:eO(em[5]),data:em[6],accessList:eW(em[7])};return 8===em.length||(eH.hash=(0,e_.w)(eb),eJ(eH,em.slice(8),eK)),eH}function e6(eb){let em=eE.decode(eb);9!==em.length&&6!==em.length&&eD.throwArgumentError("invalid raw transaction","rawTransaction",eb);let eH={nonce:eO(em[0]).toNumber(),gasPrice:eO(em[1]),gasLimit:eO(em[2]),to:eP(em[3]),value:eO(em[4]),data:em[5],chainId:0};if(6===em.length)return eH;try{eH.v=eM.O$.from(em[6]).toNumber()}catch(eb){return eH}if(eH.r=(0,eC.$m)(em[7],32),eH.s=(0,eC.$m)(em[8],32),eM.O$.from(eH.r).isZero()&&eM.O$.from(eH.s).isZero())eH.chainId=eH.v,eH.v=0;else{eH.chainId=Math.floor((eH.v-35)/2),eH.chainId<0&&(eH.chainId=0);let eV=eH.v-27,ew=em.slice(0,6);0!==eH.chainId&&(ew.push((0,eC.Dv)(eH.chainId)),ew.push("0x"),ew.push("0x"),eV-=2*eH.chainId+8);let eM=(0,e_.w)(eE.encode(ew));try{eH.from=ej(eM,{r:(0,eC.Dv)(eH.r),s:(0,eC.Dv)(eH.s),recoveryParam:eV})}catch(eb){}eH.hash=(0,e_.w)(eb)}return eH.type=null,eH}function e4(eb){let em=(0,eC.lE)(eb);if(em[0]>127)return e6(em);switch(em[0]){case 1:return e0(em);case 2:return eQ(em)}return eD.throwError(`unsupported transaction type: ${em[0]}`,eN.Yd.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:em[0]})}},61744:function(eb,em,eH){"use strict";eH.d(em,{Fn:function(){return e_},dF:function(){return eA},bM:function(){return eS},fi:function(){return eN},vz:function(){return eE}});var eV=eH(20335),ew=eH(1581);let eM="units/5.7.0",eC=new ew.Yd(eM),eT=["wei","kwei","mwei","gwei","szabo","finney","ether"];function e_(eb){let em=String(eb).split(".");(em.length>2||!em[0].match(/^-?[0-9]*$/)||em[1]&&!em[1].match(/^[0-9]*$/)||"."===eb||"-."===eb)&&eC.throwArgumentError("invalid value","value",eb);let eH=em[0],eV="";for("-"===eH.substring(0,1)&&(eV="-",eH=eH.substring(1));"0"===eH.substring(0,1);)eH=eH.substring(1);""===eH&&(eH="0");let ew="";for(2===em.length&&(ew="."+(em[1]||"0"));ew.length>2&&"0"===ew[ew.length-1];)ew=ew.substring(0,ew.length-1);let eM=[];for(;eH.length;){if(eH.length<=3){eM.unshift(eH);break}{let eb=eH.length-3;eM.unshift(eH.substring(eb)),eH=eH.substring(0,eb)}}return eV+eM.join(",")+ew}function eS(eb,em){if("string"==typeof em){let eb=eT.indexOf(em);-1!==eb&&(em=3*eb)}return(0,eV.S5)(eb,null!=em?em:18)}function eE(eb,em){if("string"!=typeof eb&&eC.throwArgumentError("value must be a string","value",eb),"string"==typeof em){let eb=eT.indexOf(em);-1!==eb&&(em=3*eb)}return(0,eV.Ox)(eb,null!=em?em:18)}function eA(eb){return eS(eb,18)}function eN(eb){return eE(eb,18)}},89706:function(eb,em,eH){"use strict";eH.d(em,{w5:function(){return tP},n5:function(){return tO},BS:function(){return tR}});var eV=eH(19485),ew=eH(81556),eM=eH(48088),eC=eH(16441),eT=eH(93684),e_=eH(67827),eS=eH(84178),eE=eH(38197),eA=eH(6881),eN=eH(5634),eI=eH(67669),eD=eH(78826),eP=eH.n(eD),eO=eH(17635),eR=eH.n(eO),eB=eH(85306),eF=eH(83875),ej=eH(29251);function eU(eb){return"string"==typeof eb&&"0x"!==eb.substring(0,2)&&(eb="0x"+eb),(0,eC.lE)(eb)}function e$(eb,em){for(eb=String(eb);eb.length{em=(0,eC.lE)(em);let eH=em.slice(0,16),eV=em.slice(16,32),ew=em.slice(32,64),eT=new(eP()).Counter(eB),eS=new(eP()).ModeOfOperation.ctr(eH,eT),eR=(0,eC.lE)(eS.encrypt(eM)),eF=(0,eE.w)((0,eC.zo)([eV,eR])),eW={address:eb.address.substring(2).toLowerCase(),id:eG(ej),version:3,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:(0,eC.Dv)(eB).substring(2)},ciphertext:(0,eC.Dv)(eR).substring(2),kdf:"scrypt",kdfparams:{salt:(0,eC.Dv)(eO).substring(2),n:eU,dklen:32,p:eK,r:eZ},mac:eF.substring(2)}};if(e_){let eb=(0,eN.O)(16),em=new(eP()).Counter(eb),eH=new(eP()).ModeOfOperation.ctr(ew,em),eV=(0,eC.lE)(eH.encrypt(e_)),eM=new Date,eT=eM.getUTCFullYear()+"-"+e$(eM.getUTCMonth()+1,2)+"-"+e$(eM.getUTCDate(),2)+"T"+e$(eM.getUTCHours(),2)+"-"+e$(eM.getUTCMinutes(),2)+"-"+e$(eM.getUTCSeconds(),2)+".0Z";eW["x-ethers"]={client:eD,gethFilename:"UTC--"+eT+"--"+eW.address,mnemonicCounter:(0,eC.Dv)(eb).substring(2),mnemonicCiphertext:(0,eC.Dv)(eV).substring(2),path:eA,locale:eI,version:"0.1"}}return JSON.stringify(eW)})}let tV=new eK.Yd(eY);class tw extends eA.dk{isCrowdsaleAccount(eb){return!!(eb&&eb._isCrowdsaleAccount)}}function tC(eb,em){let eH=JSON.parse(eb);em=eW(em);let ew=(0,eV.Kn)(eZ(eH,"ethaddr")),eM=eU(eZ(eH,"encseed"));eM&&eM.length%16==0||tV.throwArgumentError("invalid encseed","json",eb);let eT=(0,eC.lE)((0,eB.n)(em,em,2e3,32,"sha256")).slice(0,16),e_=eM.slice(0,16),eS=eM.slice(16),eA=new(eP()).ModeOfOperation.cbc(eT,e_),eN=eP().padding.pkcs7.strip((0,eC.lE)(eA.decrypt(eS))),eI="";for(let eb=0;ebem),(0,eA.zG)(this,"address",(0,eF.db)(this.publicKey)),this.address!==(0,eV.Kn)(eb.address)&&tN.throwArgumentError("privateKey/address mismatch","privateKey","[REDACTED]"),tD(eb)){let em=eb.mnemonic;(0,eA.zG)(this,"_mnemonic",()=>({phrase:em.phrase,path:em.path||eS.cD,locale:em.locale||"en"}));let eH=this.mnemonic,eV=eS.m$.fromMnemonic(eH.phrase,null,eH.locale).derivePath(eH.path);(0,eF.db)(eV.privateKey)!==this.address&&tN.throwArgumentError("mnemonic/address mismatch","privateKey","[REDACTED]")}else(0,eA.zG)(this,"_mnemonic",()=>null)}else{if(eI.Et.isSigningKey(eb))"secp256k1"!==eb.curve&&tN.throwArgumentError("unsupported curve; must be secp256k1","privateKey","[REDACTED]"),(0,eA.zG)(this,"_signingKey",()=>eb);else{"string"==typeof eb&&eb.match(/^[0-9a-f]*$/i)&&64===eb.length&&(eb="0x"+eb);let em=new eI.Et(eb);(0,eA.zG)(this,"_signingKey",()=>em)}(0,eA.zG)(this,"_mnemonic",()=>null),(0,eA.zG)(this,"address",(0,eF.db)(this.publicKey))}em&&!ew.zt.isProvider(em)&&tN.throwArgumentError("invalid provider","provider",em),(0,eA.zG)(this,"provider",em||null)}get mnemonic(){return this._mnemonic()}get privateKey(){return this._signingKey().privateKey}get publicKey(){return this._signingKey().publicKey}getAddress(){return Promise.resolve(this.address)}connect(eb){return new tP(this,eb)}signTransaction(eb){return(0,eA.mE)(eb).then(em=>{null!=em.from&&((0,eV.Kn)(em.from)!==this.address&&tN.throwArgumentError("transaction from address mismatch","transaction.from",eb.from),delete em.from);let eH=this._signingKey().signDigest((0,eE.w)((0,eF.qC)(em)));return(0,eF.qC)(em,eH)})}signMessage(eb){return tA(this,void 0,void 0,function*(){return(0,eC.gV)(this._signingKey().signDigest((0,eT.r)(eb)))})}_signTypedData(eb,em,eH){return tA(this,void 0,void 0,function*(){let eV=yield e_.E.resolveNames(eb,em,eH,eb=>(null==this.provider&&tN.throwError("cannot resolve ENS names without a provider",eK.Yd.errors.UNSUPPORTED_OPERATION,{operation:"resolveName",value:eb}),this.provider.resolveName(eb)));return(0,eC.gV)(this._signingKey().signDigest(e_.E.hash(eV.domain,em,eV.value)))})}encrypt(eb,em,eH){if("function"!=typeof em||eH||(eH=em,em={}),eH&&"function"!=typeof eH)throw Error("invalid callback");return em||(em={}),tH(this,eb,em,eH)}static createRandom(eb){let em=(0,eN.O)(16);eb||(eb={}),eb.extraEntropy&&(em=(0,eC.lE)((0,eC.p3)((0,eE.w)((0,eC.zo)([em,eb.extraEntropy])),0,16)));let eH=(0,eS.JJ)(em,eb.locale);return tP.fromMnemonic(eH,eb.path,eb.locale)}static fromEncryptedJson(eb,em,eH){return t_(eb,em,eH).then(eb=>new tP(eb))}static fromEncryptedJsonSync(eb,em){return new tP(tS(eb,em))}static fromMnemonic(eb,em,eH){return em||(em=eS.cD),new tP(eS.m$.fromMnemonic(eb,null,eH).derivePath(em))}}function tO(eb,em){return(0,eF.RJ)((0,eT.r)(eb),em)}function tR(eb,em,eH,eV){return(0,eF.RJ)(e_.E.hash(eb,em,eH),eV)}},37707:function(eb,em,eH){"use strict";eH.d(em,{MY:function(){return eO},rd:function(){return eR},$l:function(){return eB}});var eV=eH(59567),ew=eH(16441),eM=eH(6881),eC=eH(29251),eT=eH(1581);let e_="web/5.7.1";var eS=function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};function eE(eb,em){return eS(this,void 0,void 0,function*(){null==em&&(em={});let eH={method:em.method||"GET",headers:em.headers||{},body:em.body||void 0};if(!0!==em.skipFetchSetup&&(eH.mode="cors",eH.cache="no-cache",eH.credentials="same-origin",eH.redirect="follow",eH.referrer="client"),null!=em.fetchOptions){let eb=em.fetchOptions;eb.mode&&(eH.mode=eb.mode),eb.cache&&(eH.cache=eb.cache),eb.credentials&&(eH.credentials=eb.credentials),eb.redirect&&(eH.redirect=eb.redirect),eb.referrer&&(eH.referrer=eb.referrer)}let eV=yield fetch(eb,eH),eM=yield eV.arrayBuffer(),eC={};return eV.headers.forEach?eV.headers.forEach((eb,em)=>{eC[em.toLowerCase()]=eb}):eV.headers.keys().forEach(eb=>{eC[eb.toLowerCase()]=eV.headers.get(eb)}),{headers:eC,statusCode:eV.status,statusMessage:eV.statusText,body:(0,ew.lE)(new Uint8Array(eM))}})}var eA=function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};let eN=new eT.Yd(e_);function eI(eb){return new Promise(em=>{setTimeout(em,eb)})}function eD(eb,em){if(null==eb)return null;if("string"==typeof eb)return eb;if((0,ew.Zq)(eb)){if(em&&("text"===em.split("/")[0]||"application/json"===em.split(";")[0].trim()))try{return(0,eC.ZN)(eb)}catch(eb){}return(0,ew.Dv)(eb)}return eb}function eP(eb){return(0,eC.Y0)(eb.replace(/%([0-9a-f][0-9a-f])/gi,(eb,em)=>String.fromCharCode(parseInt(em,16))))}function eO(eb,em,eH){let ew="object"==typeof eb&&null!=eb.throttleLimit?eb.throttleLimit:12;eN.assertArgument(ew>0&&ew%1==0,"invalid connection throttle limit","connection.throttleLimit",ew);let e_="object"==typeof eb?eb.throttleCallback:null,eS="object"==typeof eb&&"number"==typeof eb.throttleSlotInterval?eb.throttleSlotInterval:100;eN.assertArgument(eS>0&&eS%1==0,"invalid connection throttle slot interval","connection.throttleSlotInterval",eS);let eO="object"==typeof eb&&!!eb.errorPassThrough,eR={},eB=null,eF={method:"GET"},ej=!1,eU=12e4;if("string"==typeof eb)eB=eb;else if("object"==typeof eb){if((null==eb||null==eb.url)&&eN.throwArgumentError("missing URL","connection.url",eb),eB=eb.url,"number"==typeof eb.timeout&&eb.timeout>0&&(eU=eb.timeout),eb.headers)for(let em in eb.headers)eR[em.toLowerCase()]={key:em,value:String(eb.headers[em])},["if-none-match","if-modified-since"].indexOf(em.toLowerCase())>=0&&(ej=!0);if(eF.allowGzip=!!eb.allowGzip,null!=eb.user&&null!=eb.password){"https:"!==eB.substring(0,6)&&!0!==eb.allowInsecureAuthentication&&eN.throwError("basic authentication requires a secure https url",eT.Yd.errors.INVALID_ARGUMENT,{argument:"url",url:eB,user:eb.user,password:"[REDACTED]"});let em=eb.user+":"+eb.password;eR.authorization={key:"Authorization",value:"Basic "+(0,eV.c)((0,eC.Y0)(em))}}null!=eb.skipFetchSetup&&(eF.skipFetchSetup=!!eb.skipFetchSetup),null!=eb.fetchOptions&&(eF.fetchOptions=(0,eM.DC)(eb.fetchOptions))}let e$=RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),eW=eB?eB.match(e$):null;if(eW)try{let eb={statusCode:200,statusMessage:"OK",headers:{"content-type":eW[1]||"text/plain"},body:eW[2]?(0,eV.J)(eW[3]):eP(eW[3])},em=eb.body;return eH&&(em=eH(eb.body,eb)),Promise.resolve(em)}catch(eb){eN.throwError("processing response error",eT.Yd.errors.SERVER_ERROR,{body:eD(eW[1],eW[2]),error:eb,requestBody:null,requestMethod:"GET",url:eB})}em&&(eF.method="POST",eF.body=em,null==eR["content-type"]&&(eR["content-type"]={key:"Content-Type",value:"application/octet-stream"}),null==eR["content-length"]&&(eR["content-length"]={key:"Content-Length",value:String(em.length)}));let eZ={};Object.keys(eR).forEach(eb=>{let em=eR[eb];eZ[em.key]=em.value}),eF.headers=eZ;let eG=function(){let eb=null,em=new Promise(function(em,eH){eU&&(eb=setTimeout(()=>{null!=eb&&(eb=null,eH(eN.makeError("timeout",eT.Yd.errors.TIMEOUT,{requestBody:eD(eF.body,eZ["content-type"]),requestMethod:eF.method,timeout:eU,url:eB})))},eU))}),eH=function(){null!=eb&&(clearTimeout(eb),eb=null)};return{promise:em,cancel:eH}}(),eK=function(){return eA(this,void 0,void 0,function*(){for(let eb=0;eb=300)&&(eG.cancel(),eN.throwError("bad response",eT.Yd.errors.SERVER_ERROR,{status:em.statusCode,headers:em.headers,body:eD(eV,em.headers?em.headers["content-type"]:null),requestBody:eD(eF.body,eZ["content-type"]),requestMethod:eF.method,url:eB})),eH)try{let eb=yield eH(eV,em);return eG.cancel(),eb}catch(eH){if(eH.throttleRetry&&eb{let eV=null;if(null!=eb)try{eV=JSON.parse((0,eC.ZN)(eb))}catch(em){eN.throwError("invalid JSON",eT.Yd.errors.SERVER_ERROR,{body:eb,error:em})}return eH&&(eV=eH(eV,em)),eV},ew=null;if(null!=em){ew=(0,eC.Y0)(em);let eH="string"==typeof eb?{url:eb}:(0,eM.DC)(eb);if(eH.headers){let eb=0!==Object.keys(eH.headers).filter(eb=>"content-type"===eb.toLowerCase()).length;eb||(eH.headers=(0,eM.DC)(eH.headers),eH.headers["content-type"]="application/json")}else eH.headers={"content-type":"application/json"};eb=eH}return eO(eb,ew,eV)}function eB(eb,em){return em||(em={}),null==(em=(0,eM.DC)(em)).floor&&(em.floor=0),null==em.ceiling&&(em.ceiling=1e4),null==em.interval&&(em.interval=250),new Promise(function(eH,eV){let ew=null,eM=!1,eC=()=>!eM&&(eM=!0,ew&&clearTimeout(ew),!0);em.timeout&&(ew=setTimeout(()=>{eC()&&eV(Error("timeout"))},em.timeout));let eT=em.retryLimit,e_=0;function eS(){return eb().then(function(eb){if(void 0!==eb)eC()&&eH(eb);else if(em.oncePoll)em.oncePoll.once("poll",eS);else if(em.onceBlock)em.onceBlock.once("block",eS);else if(!eM){if(++e_>eT){eC()&&eV(Error("retry limit reached"));return}let eb=em.interval*parseInt(String(Math.random()*Math.pow(2,e_)));ebem.ceiling&&(eb=em.ceiling),setTimeout(eS,eb)}return null},function(eb){eC()&&eV(eb)})}eS()})}},48812:function(eb,em,eH){"use strict";eH.d(em,{D:function(){return eS}});var eV=eH(32046),ew=eH(6881),eM=eH(1581);let eC="wordlists/5.7.0",eT=!1,e_=new eM.Yd(eC);class eS{constructor(eb){e_.checkAbstract(new.target,eS),(0,ew.zG)(this,"locale",eb)}split(eb){return eb.toLowerCase().split(/ +/g)}join(eb){return eb.join(" ")}static check(eb){let em=[];for(let eH=0;eH<2048;eH++){let eV=eb.getWord(eH);if(eH!==eb.getWordIndex(eV))return"0x";em.push(eV)}return(0,eV.id)(em.join("\n")+"\n")}static register(eb,em){if(em||(em=eb.locale),eT)try{let eH=window;eH._ethers&&eH._ethers.wordlists&&!eH._ethers.wordlists[em]&&(0,ew.zG)(eH._ethers.wordlists,em,eb)}catch(eb){}}}},10234:function(eb,em,eH){"use strict";eH.d(em,{E:function(){return eS}});var eV=eH(48812);let ew="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo",eM=null;function eC(eb){if(null==eM&&(eM=ew.replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==eV.D.check(eb)))throw eM=null,Error("BIP39 Wordlist for en (English) FAILED")}class eT extends eV.D{constructor(){super("en")}getWord(eb){return eC(this),eM[eb]}getWordIndex(eb){return eC(this),eM.indexOf(eb)}}let e_=new eT;eV.D.register(e_);let eS={en:e_}},30280:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.decodeSingle=em.decode=em.encodePacked=em.encodeSingle=em.encode=void 0;let eV=eH(42451),ew=eH(52858),eM=eH(33763),eC=(eb,em,eH,eV)=>{try{return(0,eM.pack)({types:eb,values:em,packed:eH,tight:eV})}catch(eb){if(eb instanceof ew.ParserError)throw new ew.ParserError(`Unable to encode value: ${eb.message}`,eb);throw new ew.ParserError(`An unexpected error occurred: ${(0,ew.getErrorMessage)(eb)}`,eb)}};em.encode=eC;let eT=(eb,eH)=>(0,em.encode)([eb],[eH]);em.encodeSingle=eT;let e_=(eb,eH,eV)=>(0,em.encode)(eb,eH,!0,eV);em.encodePacked=e_;let eS=(eb,em)=>{let eH=(0,eV.createBytes)(em);try{return(0,eM.unpack)(eb,eH)}catch(eb){if(eb instanceof ew.ParserError)throw new ew.ParserError(`Unable to decode value: ${eb.message}`,eb);throw new ew.ParserError(`An unexpected error occurred: ${(0,ew.getErrorMessage)(eb)}`,eb)}};em.decode=eS;let eE=(eb,eH)=>{let eM=(0,em.decode)([eb],eH);return(0,eV.assert)(1===eM.length,new ew.ParserError("Decoded value array has unexpected length.")),eM[0]};em.decodeSingle=eE},52858:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.ParserError=em.getErrorStack=em.getErrorMessage=void 0;let eV=eH(42451),ew=eb=>"string"==typeof eb?eb:eb instanceof Error||(0,eV.isObject)(eb)&&(0,eV.hasProperty)(eb,"message")&&"string"==typeof eb.message?eb.message:"Unknown error.";em.getErrorMessage=ew;let eM=eb=>{if(eb instanceof Error)return eb.stack};em.getErrorStack=eM;class eC extends Error{constructor(eb,eH){super(eb),this.name="ParserError";let eV=(0,em.getErrorStack)(eH);eV&&(this.stack=eV)}}em.ParserError=eC},88009:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),ew(eH(30280),em),ew(eH(52858),em),ew(eH(83307),em)},88119:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.iterate=void 0;let eV=eH(42451),ew=function*(eb,em=32){for(let eH=0;eH{(0,eV.assert)(eb>=0,"Cannot skip a negative number of bytes."),(0,eV.assert)(eb%em==0,"Length must be a multiple of the size."),eH+=eb},eM=eb.subarray(eH);yield{skip:ew,value:eM}}return{skip:()=>void 0,value:new Uint8Array}};em.iterate=ew},33763:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.unpack=em.pack=em.isDynamicParser=em.getParser=void 0;let eV=eH(42451),ew=eH(52858),eM=eH(88119),eC=eH(87884),eT=eH(23742),e_=eb=>{let em={address:eC.address,array:eC.array,bool:eC.bool,bytes:eC.bytes,fixedBytes:eC.fixedBytes,function:eC.fn,number:eC.number,string:eC.string,tuple:eC.tuple},eH=em[eb];if(eH)return eH;let eV=Object.values(em).find(em=>em.isType(eb));if(eV)return eV;throw new ew.ParserError(`The type "${eb}" is not supported.`)};em.getParser=e_;let eS=(eb,em)=>{let{isDynamic:eH}=eb;return"function"==typeof eH?eH(em):eH};em.isDynamicParser=eS;let eE=({types:eb,values:eH,packed:eM=!1,tight:eC=!1,arrayPacked:e_=!1,byteArray:eS=new Uint8Array})=>{(0,eV.assert)(eb.length===eH.length,new ew.ParserError(`The number of types (${eb.length}) does not match the number of values (${eH.length}).`));let{staticBuffer:eE,dynamicBuffer:eA,pointers:eN}=eb.reduce(({staticBuffer:eb,dynamicBuffer:ew,pointers:eT},eS,eE)=>{let eA=(0,em.getParser)(eS),eN=eH[eE];if(eM||e_||!(0,em.isDynamicParser)(eA,eS))return{staticBuffer:eA.encode({buffer:eb,value:eN,type:eS,packed:eM,tight:eC}),dynamicBuffer:ew,pointers:eT};let eI=(0,eV.concatBytes)([eb,new Uint8Array(32)]),eD=eA.encode({buffer:ew,value:eN,type:eS,packed:eM,tight:eC});return{staticBuffer:eI,dynamicBuffer:eD,pointers:[...eT,{position:eb.length,pointer:ew.length}]}},{staticBuffer:new Uint8Array,dynamicBuffer:new Uint8Array,pointers:[]});(0,eV.assert)(!eM&&!e_||0===eA.length,new ew.ParserError("Invalid pack state."));let eI=eE.length,eD=eN.reduce((eb,{pointer:em,position:eH})=>{let ew=(0,eT.padStart)((0,eV.numberToBytes)(eI+em));return(0,eT.set)(eb,ew,eH)},eE);return(0,eV.concatBytes)([eS,eD,eA])};em.pack=eE;let eA=(eb,eH)=>{let eC=(0,eM.iterate)(eH);return eb.map(eb=>{let{value:{value:eM,skip:eT},done:e_}=eC.next();(0,eV.assert)(!e_,new ew.ParserError(`The encoded value is invalid for the provided types. Reached end of buffer while attempting to parse "${eb}".`));let eS=(0,em.getParser)(eb),eE=(0,em.isDynamicParser)(eS,eb);if(eE){let em=(0,eV.bytesToNumber)(eM.subarray(0,32)),ew=eH.subarray(em);return eS.decode({type:eb,value:ew,skip:eT})}return eS.decode({type:eb,value:eM,skip:eT})})};em.unpack=eA},94192:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.address=em.getAddress=void 0;let eV=eH(42451),ew=eH(52858),eM=eH(23742),eC=eb=>{let em=(0,eV.createBytes)(eb);return(0,eV.assert)(em.length<=20,new ew.ParserError(`Invalid address value. Expected address to be 20 bytes long, but received ${em.length} bytes.`)),(0,eM.padStart)(em,20)};em.getAddress=eC,em.address={isDynamic:!1,isType:eb=>"address"===eb,getByteLength:()=>32,encode({buffer:eb,value:eH,packed:ew}){let eC=(0,em.getAddress)(eH);if(ew)return(0,eV.concatBytes)([eb,eC]);let eT=(0,eM.padStart)(eC);return(0,eV.concatBytes)([eb,eT])},decode:({value:eb})=>(0,eV.add0x)((0,eV.bytesToHex)(eb.slice(12,32)))}},8763:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.array=em.getTupleType=em.getArrayType=em.isArrayType=void 0;let eV=eH(42451),ew=eH(52858),eM=eH(33763),eC=eH(23742),eT=eH(54400),e_=eH(98772),eS=/^(?.*)\[(?\d*?)\]$/u,eE=eb=>eS.test(eb);em.isArrayType=eE;let eA=eb=>{let em=eb.match(eS);return(0,eV.assert)(em?.groups?.type,new ew.ParserError(`Invalid array type. Expected an array type, but received "${eb}".`)),[em.groups.type,em.groups.length?parseInt(em.groups.length,10):void 0]};em.getArrayType=eA;let eN=(eb,em)=>`(${Array(em).fill(eb).join(",")})`;em.getTupleType=eN,em.array={isDynamic(eb){let[eH,eV]=(0,em.getArrayType)(eb);return void 0===eV||(0,eM.isDynamicParser)((0,eM.getParser)(eH),eH)},isType:eb=>(0,em.isArrayType)(eb),getByteLength(eb){(0,eV.assert)((0,em.isArrayType)(eb),new ew.ParserError(`Expected an array type, but received "${eb}".`));let[eH,eC]=(0,em.getArrayType)(eb);return(0,eM.isDynamicParser)(this,eb)||void 0===eC?32:e_.tuple.getByteLength((0,em.getTupleType)(eH,eC))},encode({type:eb,buffer:eH,value:eS,packed:eE,tight:eA}){let[eN,eI]=(0,em.getArrayType)(eb);if((0,eV.assert)(!eE||!(0,em.isArrayType)(eN),new ew.ParserError("Cannot pack nested arrays.")),eE&&(0,eM.isDynamicParser)((0,eM.getParser)(eN),eN))return(0,eM.pack)({types:Array(eS.length).fill(eN),values:eS,byteArray:eH,packed:eE,arrayPacked:!0,tight:eA});if(eI)return(0,eV.assert)(eI===eS.length,new ew.ParserError(`Array length does not match type length. Expected a length of ${eI}, but received ${eS.length}.`)),e_.tuple.encode({type:(0,em.getTupleType)(eN,eI),buffer:eH,value:eS,packed:eT.fixedBytes.isType(eN)&&eA,tight:eA});if(eE)return(0,eM.pack)({types:Array(eS.length).fill(eN),values:eS,byteArray:eH,packed:eT.fixedBytes.isType(eN)&&eA,arrayPacked:!0,tight:eA});let eD=(0,eC.padStart)((0,eV.numberToBytes)(eS.length));return(0,eM.pack)({types:Array(eS.length).fill(eN),values:eS,byteArray:(0,eV.concatBytes)([eH,eD]),packed:eE,tight:eA})},decode({type:eb,value:eH,...eC}){let[eT,eS]=(0,em.getArrayType)(eb);if(eS){let eb=e_.tuple.decode({type:(0,em.getTupleType)(eT,eS),value:eH,...eC});return(0,eV.assert)(eb.length===eS,new ew.ParserError(`Array length does not match type length. Expected a length of ${eS}, but received ${eb.length}.`)),eb}let eE=(0,eV.bytesToNumber)(eH.subarray(0,32));return(0,eM.unpack)(Array(eE).fill(eT),eH.subarray(32))}}},51299:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.bool=em.getBooleanValue=void 0;let eV=eH(42451),ew=eH(97884),eM=eH(52858),eC=eH(28325),eT=(0,ew.coerce)((0,ew.boolean)(),(0,ew.union)([(0,ew.literal)("true"),(0,ew.literal)("false")]),eb=>"true"===eb),e_=eb=>{try{let em=(0,ew.create)(eb,eT);if(em)return BigInt(1);return BigInt(0)}catch{throw new eM.ParserError(`Invalid boolean value. Expected a boolean literal, or the string "true" or "false", but received "${eb}".`)}};em.getBooleanValue=e_,em.bool={isDynamic:!1,isType:eb=>"bool"===eb,getByteLength:()=>32,encode({buffer:eb,value:eH,packed:ew,tight:eM}){let eT=(0,em.getBooleanValue)(eH);return ew?(0,eV.concatBytes)([eb,(0,eV.bigIntToBytes)(eT)]):eC.number.encode({type:"uint256",buffer:eb,value:eT,packed:ew,tight:eM})},decode:eb=>eC.number.decode({...eb,type:"uint256"})===BigInt(1)}},47378:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.bytes=void 0;let eV=eH(42451),ew=eH(23742);em.bytes={isDynamic:!0,isType:eb=>"bytes"===eb,getByteLength:()=>32,encode({buffer:eb,value:em,packed:eH}){let eM=(0,eV.createBytes)(em);if(eH)return(0,eV.concatBytes)([eb,eM]);let eC=32*Math.ceil(eM.byteLength/32);return(0,eV.concatBytes)([eb,(0,ew.padStart)((0,eV.numberToBytes)(eM.byteLength)),(0,ew.padEnd)(eM,eC)])},decode({value:eb}){let em=eb.subarray(0,32),eH=(0,eV.bytesToNumber)(em);return eb.slice(32,32+eH)}}},54400:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.fixedBytes=em.getByteLength=void 0;let eV=eH(42451),ew=eH(52858),eM=eH(23742),eC=/^bytes([0-9]{1,2})$/u,eT=eb=>{let em=eb.match(eC)?.[1];(0,eV.assert)(em,`Invalid byte length. Expected a number between 1 and 32, but received "${eb}".`);let eH=Number(em);return(0,eV.assert)(eH>0&&eH<=32,new ew.ParserError(`Invalid byte length. Expected a number between 1 and 32, but received "${eb}".`)),eH};em.getByteLength=eT,em.fixedBytes={isDynamic:!1,isType:eb=>eC.test(eb),getByteLength:()=>32,encode({type:eb,buffer:eH,value:eC,packed:eT}){let e_=(0,em.getByteLength)(eb),eS=(0,eV.createBytes)(eC);return((0,eV.assert)(eS.length<=e_,new ew.ParserError(`Expected a value of length ${e_}, but received a value of length ${eS.length}.`)),eT)?(0,eV.concatBytes)([eH,(0,eM.padEnd)(eS,e_)]):(0,eV.concatBytes)([eH,(0,eM.padEnd)(eS)])},decode({type:eb,value:eH}){let eV=(0,em.getByteLength)(eb);return eH.slice(0,eV)}}},9129:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.fn=em.getFunction=void 0;let eV=eH(42451),ew=eH(97884),eM=eH(52858),eC=eH(54400),eT=(0,ew.coerce)((0,ew.object)({address:eV.StrictHexStruct,selector:eV.StrictHexStruct}),(0,ew.union)([eV.StrictHexStruct,(0,ew.instance)(Uint8Array)]),eb=>{let em=(0,eV.createBytes)(eb);return(0,eV.assert)(24===em.length,new eM.ParserError(`Invalid Solidity function. Expected function to be 24 bytes long, but received ${em.length} bytes.`)),{address:(0,eV.bytesToHex)(em.subarray(0,20)),selector:(0,eV.bytesToHex)(em.subarray(20,24))}}),e_=eb=>{let em=(0,ew.create)(eb,eT);return(0,eV.concatBytes)([(0,eV.hexToBytes)(em.address),(0,eV.hexToBytes)(em.selector)])};em.getFunction=e_,em.fn={isDynamic:!1,isType:eb=>"function"===eb,getByteLength:()=>32,encode({buffer:eb,value:eH,packed:eV,tight:ew}){let eM=(0,em.getFunction)(eH);return eC.fixedBytes.encode({type:"bytes24",buffer:eb,value:eM,packed:eV,tight:ew})},decode:({value:eb})=>({address:(0,eV.bytesToHex)(eb.slice(0,20)),selector:(0,eV.bytesToHex)(eb.slice(20,24))})}},87884:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),ew(eH(94192),em),ew(eH(8763),em),ew(eH(51299),em),ew(eH(47378),em),ew(eH(54400),em),ew(eH(9129),em),ew(eH(28325),em),ew(eH(58012),em),ew(eH(21869),em),ew(eH(98772),em)},28325:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.number=em.getBigInt=em.assertNumberLength=em.getLength=em.isSigned=void 0;let eV=eH(42451),ew=eH(52858),eM=eH(23742),eC=/^u?int(?[0-9]*)?$/u,eT=eb=>!eb.startsWith("u");em.isSigned=eT;let e_=eb=>{if("int"===eb||"uint"===eb)return 256;let em=eb.match(eC);(0,eV.assert)(em?.groups?.length,new ew.ParserError(`Invalid number type. Expected a number type, but received "${eb}".`));let eH=parseInt(em.groups.length,10);return(0,eV.assert)(eH>=8&&eH<=256,new ew.ParserError(`Invalid number length. Expected a number between 8 and 256, but received "${eb}".`)),(0,eV.assert)(eH%8==0,new ew.ParserError(`Invalid number length. Expected a multiple of 8, but received "${eb}".`)),eH};em.getLength=e_;let eS=(eb,eH)=>{let eM=(0,em.getLength)(eH),eC=BigInt(2)**BigInt(eM-((0,em.isSigned)(eH)?1:0))-BigInt(1);if((0,em.isSigned)(eH)){(0,eV.assert)(eb>=-(eC+BigInt(1))&&eb<=eC,new ew.ParserError(`Number "${eb}" is out of range for type "${eH}".`));return}(0,eV.assert)(eb<=eC,new ew.ParserError(`Number "${eb}" is out of range for type "${eH}".`))};em.assertNumberLength=eS;let eE=eb=>{try{return(0,eV.createBigInt)(eb)}catch{throw new ew.ParserError(`Invalid number. Expected a valid number value, but received "${eb}".`)}};em.getBigInt=eE,em.number={isDynamic:!1,isType:eb=>eC.test(eb),getByteLength:()=>32,encode({type:eb,buffer:eH,value:ew,packed:eC}){let eT=(0,em.getBigInt)(ew);if((0,em.assertNumberLength)(eT,eb),(0,em.isSigned)(eb)){if(eC){let ew=(0,em.getLength)(eb)/8;return(0,eV.concatBytes)([eH,(0,eV.signedBigIntToBytes)(eT,ew)])}return(0,eV.concatBytes)([eH,(0,eM.padStart)((0,eV.signedBigIntToBytes)(eT,32))])}if(eC){let ew=(0,em.getLength)(eb)/8;return(0,eV.concatBytes)([eH,(0,eM.padStart)((0,eV.bigIntToBytes)(eT),ew)])}return(0,eV.concatBytes)([eH,(0,eM.padStart)((0,eV.bigIntToBytes)(eT))])},decode({type:eb,value:eH}){let ew=eH.subarray(0,32);if((0,em.isSigned)(eb)){let eH=(0,eV.bytesToSignedBigInt)(ew);return(0,em.assertNumberLength)(eH,eb),eH}let eM=(0,eV.bytesToBigInt)(ew);return(0,em.assertNumberLength)(eM,eb),eM}}},58012:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},21869:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.string=void 0;let eV=eH(42451),ew=eH(47378);em.string={isDynamic:!0,isType:eb=>"string"===eb,getByteLength:()=>32,encode:({buffer:eb,value:em,packed:eH,tight:eM})=>ew.bytes.encode({type:"bytes",buffer:eb,value:(0,eV.stringToBytes)(em),packed:eH,tight:eM}),decode:eb=>(0,eV.bytesToString)(ew.bytes.decode(eb))}},98772:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.tuple=em.getTupleElements=void 0;let eV=eH(42451),ew=eH(52858),eM=eH(33763),eC=/^\((.+)\)$/u,eT=eb=>eC.test(eb),e_=eb=>{(0,eV.assert)(eb.startsWith("(")&&eb.endsWith(")"),new ew.ParserError(`Invalid tuple type. Expected tuple type, but received "${eb}".`));let em=[],eH="",eM=0;for(let eV=1;eV{let em=(0,eM.getParser)(eb);return(0,eM.isDynamicParser)(em,eb)})},isType:eb=>eT(eb),getByteLength(eb){if((0,eM.isDynamicParser)(this,eb))return 32;let eH=(0,em.getTupleElements)(eb);return eH.reduce((eb,em)=>eb+(0,eM.getParser)(em).getByteLength(em),0)},encode({type:eb,buffer:eH,value:eV,packed:ew,tight:eC}){let eT=(0,em.getTupleElements)(eb);return(0,eM.pack)({types:eT,values:eV,byteArray:eH,packed:ew,tight:eC})},decode({type:eb,value:eH,skip:eV}){let ew=(0,em.getTupleElements)(eb),eC=this.getByteLength(eb)-32;return eV(eC),(0,eM.unpack)(ew,eH)}}},1451:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},83307:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),ew(eH(1451),em)},94979:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.padEnd=em.padStart=em.set=void 0;let eV=eH(42451),ew=32,eM=(eb,em,eH)=>(0,eV.concatBytes)([eb.subarray(0,eH),em,eb.subarray(eH+em.length)]);em.set=eM;let eC=(eb,em=ew)=>{let eH=new Uint8Array(Math.max(em-eb.length,0)).fill(0);return(0,eV.concatBytes)([eH,eb])};em.padStart=eC;let eT=(eb,em=ew)=>{let eH=new Uint8Array(Math.max(em-eb.length,0)).fill(0);return(0,eV.concatBytes)([eb,eH])};em.padEnd=eT},23742:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),ew(eH(94979),em)},87539:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer,ew=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),eM=this&&this.__setModuleDefault||(Object.create?function(eb,em){Object.defineProperty(eb,"default",{enumerable:!0,value:em})}:function(eb,em){eb.default=em}),eC=this&&this.__importStar||function(eb){if(eb&&eb.__esModule)return eb;var em={};if(null!=eb)for(var eH in eb)"default"!==eH&&Object.prototype.hasOwnProperty.call(eb,eH)&&ew(em,eb,eH);return eM(em,eb),em};Object.defineProperty(em,"__esModule",{value:!0}),em.getEncryptionPublicKey=em.decryptSafely=em.decrypt=em.encryptSafely=em.encrypt=void 0;let eT=eH(39187),e_=eC(eH(50780)),eS=eH(73275);function eE({publicKey:eb,data:em,version:eH}){if((0,eS.isNullish)(eb))throw Error("Missing publicKey parameter");if((0,eS.isNullish)(em))throw Error("Missing data parameter");if((0,eS.isNullish)(eH))throw Error("Missing version parameter");if("x25519-xsalsa20-poly1305"===eH){let eH;if("string"!=typeof em)throw Error("Message data must be given as a string");let eV=e_.box.keyPair();try{eH=eT.base64.decode(eb)}catch(eb){throw Error("Bad public key")}let ew=eT.utf8.decode(em),eM=e_.randomBytes(e_.box.nonceLength),eC=e_.box(ew,eM,eH,eV.secretKey),eS={version:"x25519-xsalsa20-poly1305",nonce:eT.base64.encode(eM),ephemPublicKey:eT.base64.encode(eV.publicKey),ciphertext:eT.base64.encode(eC)};return eS}throw Error("Encryption type/version not supported")}function eA({publicKey:eb,data:em,version:eH}){if((0,eS.isNullish)(eb))throw Error("Missing publicKey parameter");if((0,eS.isNullish)(em))throw Error("Missing data parameter");if((0,eS.isNullish)(eH))throw Error("Missing version parameter");let ew=2048,eM=16;if("object"==typeof em&&em&&"toJSON"in em)throw Error("Cannot encrypt with toJSON property. Please remove toJSON property");let eC={data:em,padding:""},eT=eV.byteLength(JSON.stringify(eC),"utf-8"),e_=eT%ew,eA=0;e_>0&&(eA=ew-e_-eM),eC.padding="0".repeat(eA);let eN=JSON.stringify(eC);return eE({publicKey:eb,data:eN,version:eH})}function eN({encryptedData:eb,privateKey:em}){if((0,eS.isNullish)(eb))throw Error("Missing encryptedData parameter");if((0,eS.isNullish)(em))throw Error("Missing privateKey parameter");if("x25519-xsalsa20-poly1305"===eb.version){let eH=eV.from(em,"hex"),ew=e_.box.keyPair.fromSecretKey(eH).secretKey,eM=eT.base64.decode(eb.nonce),eC=eT.base64.decode(eb.ciphertext),eS=eT.base64.decode(eb.ephemPublicKey),eE=e_.box.open(eC,eM,eS,ew);try{if(!eE)throw Error();let eb=eT.utf8.encode(eE);if(!eb)throw Error();return eb}catch(eb){if(eb&&"string"==typeof eb.message&&eb.message.length)throw Error(`Decryption failed: ${eb.message}`);throw Error("Decryption failed.")}}throw Error("Encryption type/version not supported.")}function eI({encryptedData:eb,privateKey:em}){if((0,eS.isNullish)(eb))throw Error("Missing encryptedData parameter");if((0,eS.isNullish)(em))throw Error("Missing privateKey parameter");let eH=JSON.parse(eN({encryptedData:eb,privateKey:em}));return eH.data}function eD(eb){let em=eV.from(eb,"hex"),eH=e_.box.keyPair.fromSecretKey(em).publicKey;return eT.base64.encode(eH)}em.encrypt=eE,em.encryptSafely=eA,em.decrypt=eN,em.decryptSafely=eI,em.getEncryptionPublicKey=eD},51091:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),em.normalize=em.concatSig=void 0,ew(eH(73066),em),ew(eH(12853),em),ew(eH(87539),em);var eM=eH(73275);Object.defineProperty(em,"concatSig",{enumerable:!0,get:function(){return eM.concatSig}}),Object.defineProperty(em,"normalize",{enumerable:!0,get:function(){return eM.normalize}})},73066:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.extractPublicKey=em.recoverPersonalSignature=em.personalSign=void 0;let eV=eH(92730),ew=eH(73275);function eM({privateKey:eb,data:em}){if((0,ew.isNullish)(em))throw Error("Missing data parameter");if((0,ew.isNullish)(eb))throw Error("Missing privateKey parameter");let eH=(0,ew.legacyToBuffer)(em),eM=(0,eV.hashPersonalMessage)(eH),eC=(0,eV.ecsign)(eM,eb),eT=(0,ew.concatSig)((0,eV.toBuffer)(eC.v),eC.r,eC.s);return eT}function eC({data:eb,signature:em}){if((0,ew.isNullish)(eb))throw Error("Missing data parameter");if((0,ew.isNullish)(em))throw Error("Missing signature parameter");let eH=e_(eb,em),eM=(0,eV.publicToAddress)(eH),eC=(0,eV.bufferToHex)(eM);return eC}function eT({data:eb,signature:em}){if((0,ew.isNullish)(eb))throw Error("Missing data parameter");if((0,ew.isNullish)(em))throw Error("Missing signature parameter");let eH=e_(eb,em);return`0x${eH.toString("hex")}`}function e_(eb,em){let eH=(0,eV.hashPersonalMessage)((0,ew.legacyToBuffer)(eb));return(0,ew.recoverPublicKey)(eH,em)}em.personalSign=eM,em.recoverPersonalSignature=eC,em.extractPublicKey=eT},12853:function(eb,em,eH){"use strict";var eV;Object.defineProperty(em,"__esModule",{value:!0}),em.recoverTypedSignature=em.signTypedData=em.typedSignatureHash=em.TypedDataUtils=em.TYPED_MESSAGE_SCHEMA=em.SignTypedDataVersion=void 0;let ew=eH(92730),eM=eH(88009),eC=eH(87884),eT=eH(23742),e_=eH(42451),eS=eH(82192),eE=eH(73275);function eA(eb,em){if(Object.keys(eV).includes(eb)){if(em&&!em.includes(eb))throw Error(`SignTypedDataVersion not allowed: '${eb}'. Allowed versions are: ${em.join(", ")}`)}else throw Error(`Invalid version: '${eb}'`)}function eN(eb,em){(0,e_.assert)(null!==em,`Unable to encode value: Invalid number. Expected a valid number value, but received "${em}".`);let eH=BigInt(em),eV=(0,eC.getLength)(eb),ew=BigInt(2)**BigInt(eV)-BigInt(1);return(0,e_.assert)(eH>=-ew&&eH<=ew,`Unable to encode value: Number "${em}" is out of range for type "${eb}".`),eH}function eI(eb){let em=BigInt(0);for(let eH=0;eH=49?em+=eV-BigInt(49)+BigInt(10):eV>=17?em+=eV-BigInt(17)+BigInt(10):em+=eV}return(0,eT.padStart)((0,e_.bigIntToBytes)(em),20)}function eD(eb,em,eH,eC,eE){if(eA(eE,[eV.V3,eV.V4]),void 0!==eb[eH])return["bytes32",eE===eV.V4&&null==eC?"0x0000000000000000000000000000000000000000000000000000000000000000":(0,ew.arrToBufArr)((0,eS.keccak256)(eP(eH,eC,eb,eE)))];if("function"===eH)throw Error('Unsupported or invalid type: "function"');if(void 0===eC)throw Error(`missing value for field ${em} of type ${eH}`);if("address"===eH){if("number"==typeof eC)return["address",(0,eT.padStart)((0,e_.numberToBytes)(eC),20)];if((0,e_.isStrictHexString)(eC))return["address",(0,e_.add0x)(eC)];if("string"==typeof eC)return["address",eI(eC).subarray(0,20)]}if("bool"===eH)return["bool",!!eC];if("bytes"===eH)return"number"==typeof eC?eC=(0,e_.numberToBytes)(eC):(0,e_.isStrictHexString)(eC)||"0x"===eC?eC=(0,e_.hexToBytes)(eC):"string"==typeof eC&&(eC=(0,e_.stringToBytes)(eC)),["bytes32",(0,ew.arrToBufArr)((0,eS.keccak256)(eC))];if(eH.startsWith("bytes")&&"bytes"!==eH&&!eH.includes("["))return"number"==typeof eC?eC<0?["bytes32",new Uint8Array(32)]:["bytes32",(0,e_.bigIntToBytes)(BigInt(eC))]:(0,e_.isStrictHexString)(eC)?["bytes32",(0,e_.hexToBytes)(eC)]:["bytes32",eC];if(eH.startsWith("int")&&!eH.includes("[")){let eb=eN(eH,eC);return eb>=BigInt(0)?["uint256",eb]:["int256",eb]}if("string"===eH)return eC="number"==typeof eC?(0,e_.numberToBytes)(eC):(0,e_.stringToBytes)(null!=eC?eC:""),["bytes32",(0,ew.arrToBufArr)((0,eS.keccak256)(eC))];if(eH.endsWith("]")){if(eE===eV.V3)throw Error("Arrays are unimplemented in encodeData; use V4 extension");let eT=eH.slice(0,eH.lastIndexOf("[")),e_=eC.map(eH=>eD(eb,em,eT,eH,eE));return["bytes32",(0,ew.arrToBufArr)((0,eS.keccak256)((0,eM.encode)(e_.map(([eb])=>eb),e_.map(([,eb])=>eb))))]}return[eH,eC]}function eP(eb,em,eH,eC){eA(eC,[eV.V3,eV.V4]);let eT=["bytes32"],e_=[eF(eb,eH)];for(let ew of eH[eb]){if(eC===eV.V3&&void 0===em[ew.name])continue;let[eb,eM]=eD(eH,ew.name,ew.type,em[ew.name],eC);eT.push(eb),e_.push(eM)}return(0,ew.arrToBufArr)((0,eM.encode)(eT,e_))}function eO(eb,em){let eH="",eV=eR(eb,em);eV.delete(eb);let ew=[eb,...Array.from(eV).sort()];for(let eb of ew){let eV=em[eb];if(!eV)throw Error(`No type definition specified: ${eb}`);eH+=`${eb}(${em[eb].map(({name:eb,type:em})=>`${em} ${eb}`).join(",")})`}return eH}function eR(eb,em,eH=new Set){if("string"!=typeof eb)throw Error(`Invalid findTypeDependencies input ${JSON.stringify(eb)}`);let eV=eb.match(/^\w*/u);if([eb]=eV,eH.has(eb)||void 0===em[eb])return eH;for(let eV of(eH.add(eb),em[eb]))eR(eV.type,em,eH);return eH}function eB(eb,em,eH,eM){eA(eM,[eV.V3,eV.V4]);let eC=eP(eb,em,eH,eM),eT=(0,eS.keccak256)(eC),e_=(0,ew.arrToBufArr)(eT);return e_}function eF(eb,em){let eH=(0,e_.stringToBytes)(eO(eb,em));return(0,ew.arrToBufArr)((0,eS.keccak256)(eH))}function ej(eb){let eH={};for(let eV in em.TYPED_MESSAGE_SCHEMA.properties)eb[eV]&&(eH[eV]=eb[eV]);return"types"in eH&&(eH.types=Object.assign({EIP712Domain:[]},eH.types)),eH}function eU(eb,em){eA(em,[eV.V3,eV.V4]);let eH=ej(eb),{domain:ew}=eH,eM={EIP712Domain:eH.types.EIP712Domain};return eB("EIP712Domain",ew,eM,em)}function e$(eb,em){eA(em,[eV.V3,eV.V4]);let eH=ej(eb),eM=[(0,e_.hexToBytes)("1901")];return eM.push(eU(eb,em)),"EIP712Domain"!==eH.primaryType&&eM.push(eB(eH.primaryType,eH.message,eH.types,em)),(0,ew.arrToBufArr)((0,eS.keccak256)((0,e_.concatBytes)(eM)))}function eW(eb){let em=eY(eb);return(0,e_.bytesToHex)(em)}function eZ(eb,em){if((0,eC.isArrayType)(eb)&&Array.isArray(em)){let[eH]=(0,eC.getArrayType)(eb);return em.map(eb=>eZ(eH,eb))}if("address"===eb){if("number"==typeof em)return(0,eT.padStart)((0,e_.numberToBytes)(em),20);if((0,e_.isStrictHexString)(em))return(0,eT.padStart)((0,e_.hexToBytes)(em).subarray(0,20),20);if(em instanceof Uint8Array)return(0,eT.padStart)(em.subarray(0,20),20)}if("bool"===eb)return!!em;if(eb.startsWith("bytes")&&"bytes"!==eb){let eH=(0,eC.getByteLength)(eb);if("number"==typeof em)return em<0?new Uint8Array:(0,e_.numberToBytes)(em).subarray(0,eH);if((0,e_.isStrictHexString)(em))return(0,e_.hexToBytes)(em).subarray(0,eH);if(em instanceof Uint8Array)return em.subarray(0,eH)}if(eb.startsWith("uint")&&"number"==typeof em)return Math.abs(em);if(eb.startsWith("int")&&"number"==typeof em){let eH=(0,eC.getLength)(eb);return BigInt.asIntN(eH,BigInt(em))}return em}function eG(eb){return eb.map(eb=>"number"==typeof eb?(0,eT.padStart)((0,e_.numberToBytes)(eb),32):(0,e_.isStrictHexString)(eb)?(0,eT.padStart)((0,e_.hexToBytes)(eb).subarray(0,32),32):eb instanceof Uint8Array?(0,eT.padStart)(eb.subarray(0,32),32):eb)}function eK(eb,em){return em.map(em=>{if("string"==typeof em||"number"==typeof em||"bigint"==typeof em){let eH=eN(eb,em);if(eH>=BigInt(0))return(0,eT.padStart)((0,e_.bigIntToBytes)(eH),32);let eV=(0,eC.getLength)(eb),ew=BigInt.asIntN(eV,eH);return(0,e_.signedBigIntToBytes)(ew,32)}return em})}function eY(eb){let em=Error("Expect argument to be non-empty array");if("object"!=typeof eb||!("length"in eb)||!eb.length)throw em;let eH=eb.map(({name:eb,type:em,value:eH})=>{if("address[]"===em)return{name:eb,type:"bytes32[]",value:eG(eH)};if(em.startsWith("int")&&(0,eC.isArrayType)(em)){let[eV,ew]=(0,eC.getArrayType)(em);return{name:eb,type:`bytes32[${null!=ew?ew:""}]`,value:eK(eV,eH)}}return{name:eb,type:em,value:eZ(em,eH)}}),eV=eH.map(eb=>"bytes"!==eb.type?eb.value:(0,eE.legacyToBuffer)(eb.value)),eT=eH.map(eb=>{if("function"===eb.type)throw Error('Unsupported or invalid type: "function"');return eb.type}),e_=eb.map(eb=>{if(!eb.name)throw em;return`${eb.type} ${eb.name}`});return(0,ew.arrToBufArr)((0,eS.keccak256)((0,eM.encodePacked)(["bytes32","bytes32"],[(0,eS.keccak256)((0,eM.encodePacked)(["string[]"],[e_],!0)),(0,eS.keccak256)((0,eM.encodePacked)(eT,eV,!0))])))}function eX({privateKey:eb,data:eH,version:eM}){if(eA(eM),(0,eE.isNullish)(eH))throw Error("Missing data parameter");if((0,eE.isNullish)(eb))throw Error("Missing private key parameter");let eC=eM===eV.V1?eY(eH):em.TypedDataUtils.eip712Hash(eH,eM),eT=(0,ew.ecsign)(eC,eb);return(0,eE.concatSig)((0,ew.arrToBufArr)((0,e_.bigIntToBytes)(eT.v)),eT.r,eT.s)}function eJ({data:eb,signature:eH,version:eM}){if(eA(eM),(0,eE.isNullish)(eb))throw Error("Missing data parameter");if((0,eE.isNullish)(eH))throw Error("Missing signature parameter");let eC=eM===eV.V1?eY(eb):em.TypedDataUtils.eip712Hash(eb,eM),eT=(0,eE.recoverPublicKey)(eC,eH),eS=(0,ew.publicToAddress)(eT);return(0,e_.bytesToHex)(eS)}!function(eb){eb.V1="V1",eb.V3="V3",eb.V4="V4"}(eV=em.SignTypedDataVersion||(em.SignTypedDataVersion={})),em.TYPED_MESSAGE_SCHEMA={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"]},em.TypedDataUtils={encodeData:eP,encodeType:eO,findTypeDependencies:eR,hashStruct:eB,hashType:eF,sanitizeData:ej,eip712Hash:e$,eip712DomainHash:eU},em.typedSignatureHash=eW,em.signTypedData=eX,em.recoverTypedSignature=eJ},73275:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.normalize=em.recoverPublicKey=em.concatSig=em.legacyToBuffer=em.isNullish=em.padWithZeroes=void 0;let ew=eH(92730),eM=eH(42451);function eC(eb,em){if(""!==eb&&!/^[a-f0-9]+$/iu.test(eb))throw Error(`Expected an unprefixed hex string. Received: ${eb}`);if(em<0)throw Error(`Expected a non-negative integer target length. Received: ${em}`);return String.prototype.padStart.call(eb,em,"0")}function eT(eb){return null==eb}function e_(eb){return"string"!=typeof eb||(0,ew.isHexString)(eb)?(0,ew.toBuffer)(eb):eV.from(eb)}function eS(eb,em,eH){let eV=(0,ew.fromSigned)(em),eT=(0,ew.fromSigned)(eH),e_=(0,ew.bufferToInt)(eb),eS=eC((0,ew.toUnsigned)(eV).toString("hex"),64),eE=eC((0,ew.toUnsigned)(eT).toString("hex"),64),eA=(0,eM.remove0x)((0,eM.numberToHex)(e_));return(0,eM.add0x)(eS.concat(eE,eA))}function eE(eb,em){let eH=(0,ew.fromRpcSig)(em);return(0,ew.ecrecover)(eb,eH.v,eH.r,eH.s)}function eA(eb){if(!eT(eb)){if("number"==typeof eb){if(eb<0)return"0x";let em=(0,eM.numberToBytes)(eb);eb=(0,eM.bytesToHex)(em)}if("string"!=typeof eb){let em="eth-sig-util.normalize() requires hex string or integer input.";throw Error(em+=` received ${typeof eb}: ${eb}`)}return(0,eM.add0x)(eb.toLowerCase())}}em.padWithZeroes=eC,em.isNullish=eT,em.legacyToBuffer=e_,em.concatSig=eS,em.recoverPublicKey=eE,em.normalize=eA},60779:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0});let eV=eH(17187);function ew(eb,em,eH){try{Reflect.apply(eb,em,eH)}catch(eb){setTimeout(()=>{throw eb})}}function eM(eb){let em=eb.length,eH=Array(em);for(let eV=0;eV0&&([eb]=em),eb instanceof Error)throw eb;let eH=Error(`Unhandled error.${eb?` (${eb.message})`:""}`);throw eH.context=eb,eH}let eC=eV[eb];if(void 0===eC)return!1;if("function"==typeof eC)ew(eC,this,em);else{let eb=eC.length,eH=eM(eC);for(let eV=0;eV{if(!em.has(eb))throw TypeError("Cannot "+eH)},eV=(eb,em,eV)=>(eH(eb,em,"read from private field"),eV?eV.call(eb):em.get(eb)),ew=(eb,em,eH)=>{if(em.has(eb))throw TypeError("Cannot add the same private member more than once");em instanceof WeakSet?em.add(eb):em.set(eb,eH)},eM=(eb,em,eV,ew)=>(eH(eb,em,"write to private field"),ew?ew.call(eb,eV):em.set(eb,eV),eV);em.__privateGet=eV,em.__privateAdd=ew,em.__privateSet=eM},83889:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0});var eV=eH(593),ew=eH(81249),eM=eH(97884),eC=eM.refine.call(void 0,eM.string.call(void 0),"Version",eb=>null!==ew.valid.call(void 0,eb)||`Expected SemVer version, got "${eb}"`),eT=eM.refine.call(void 0,eM.string.call(void 0),"Version range",eb=>null!==ew.validRange.call(void 0,eb)||`Expected SemVer range, got "${eb}"`);function e_(eb){return eM.is.call(void 0,eb,eC)}function eS(eb){return eM.is.call(void 0,eb,eT)}function eE(eb){eV.assertStruct.call(void 0,eb,eC)}function eA(eb){eV.assertStruct.call(void 0,eb,eT)}function eN(eb,em){return ew.gt.call(void 0,eb,em)}function eI(eb,em){return ew.gtr.call(void 0,eb,em)}function eD(eb,em){return ew.satisfies.call(void 0,eb,em,{includePrerelease:!0})}em.VersionStruct=eC,em.VersionRangeStruct=eT,em.isValidSemVerVersion=e_,em.isValidSemVerRange=eS,em.assertIsSemVerVersion=eE,em.assertIsSemVerRange=eA,em.gtVersion=eN,em.gtRange=eI,em.satisfiesVersionRange=eD},75671:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0});var eH,eV=((eH=eV||{})[eH.Millisecond=1]="Millisecond",eH[eH.Second=1e3]="Second",eH[eH.Minute=6e4]="Minute",eH[eH.Hour=36e5]="Hour",eH[eH.Day=864e5]="Day",eH[eH.Week=6048e5]="Week",eH[eH.Year=31536e6]="Year",eH),ew=eb=>Number.isInteger(eb)&&eb>=0,eM=(eb,em)=>{if(!ew(eb))throw Error(`"${em}" must be a non-negative integer. Received: "${eb}".`)};function eC(eb,em){return eM(eb,"count"),eb*em}function eT(eb){return eM(eb,"timestamp"),Date.now()-eb}em.Duration=eV,em.inMilliseconds=eC,em.timeSince=eT},17479:function(){},35217:function(eb,em,eH){"use strict";function eV(eb,em){return null!=eb?eb:em()}Object.defineProperty(em,"__esModule",{value:!0});var ew=eH(593),eM=eH(97884),eC=(eb,em={})=>{let eH,eC;let eT=eV(em.paddingRequired,()=>!1),e_=eV(em.characterSet,()=>"base64");return"base64"===e_?eH=String.raw`[A-Za-z0-9+\/]`:(ew.assert.call(void 0,"base64url"===e_),eH=String.raw`[-_A-Za-z0-9]`),eC=eT?RegExp(`^(?:${eH}{4})*(?:${eH}{3}=|${eH}{2}==)?$`,"u"):RegExp(`^(?:${eH}{4})*(?:${eH}{2,3}|${eH}{3}=|${eH}{2}==)?$`,"u"),eM.pattern.call(void 0,eb,eC)};em.base64=eC},593:function(eb,em,eH){"use strict";function eV(eb){let em;let eH=eb[0],eV=1;for(;eVeH.call(em,...eb)),em=void 0)}return eH}Object.defineProperty(em,"__esModule",{value:!0});var ew=eH(22173),eM=eH(97884);function eC(eb){return"string"==typeof eV([eb,"optionalAccess",eb=>eb.prototype,"optionalAccess",eb=>eb.constructor,"optionalAccess",eb=>eb.name])}function eT(eb){return ew.getErrorMessage.call(void 0,eb).replace(/\.$/u,"")}function e_(eb,em){return eC(eb)?new eb({message:em}):eb({message:em})}var eS=class extends Error{constructor(eb){super(eb.message),this.code="ERR_ASSERTION"}};function eE(eb,em="Assertion failed.",eH=eS){if(!eb){if(em instanceof Error)throw em;throw e_(eH,em)}}function eA(eb,em,eH="Assertion failed",eV=eS){try{eM.assert.call(void 0,eb,em)}catch(eb){throw e_(eV,`${eH}: ${eT(eb)}.`)}}function eN(eb){throw Error("Invalid branch reached. Should be detected during compilation.")}em.AssertionError=eS,em.assert=eE,em.assertStruct=eA,em.assertExhaustive=eN},3902:function(eb,em){"use strict";function eH({suppressUnhandledRejection:eb=!1}={}){let em,eH;let eV=new Promise((eb,eV)=>{em=eb,eH=eV});return eb&&eV.catch(eb=>{}),{promise:eV,resolve:em,reject:eH}}Object.defineProperty(em,"__esModule",{value:!0}),em.createDeferredPromise=eH},89162:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0});var eV=eH(12591),ew=eH(593),eM=eH(97884),eC=eM.union.call(void 0,[eM.number.call(void 0),eM.bigint.call(void 0),eM.string.call(void 0),eV.StrictHexStruct]),eT=eM.coerce.call(void 0,eM.number.call(void 0),eC,Number),e_=eM.coerce.call(void 0,eM.bigint.call(void 0),eC,BigInt);eM.union.call(void 0,[eV.StrictHexStruct,eM.instance.call(void 0,Uint8Array)]);var eS=eM.coerce.call(void 0,eM.instance.call(void 0,Uint8Array),eM.union.call(void 0,[eV.StrictHexStruct]),eV.hexToBytes),eE=eM.coerce.call(void 0,eV.StrictHexStruct,eM.instance.call(void 0,Uint8Array),eV.bytesToHex);function eA(eb){try{let em=eM.create.call(void 0,eb,eT);return ew.assert.call(void 0,Number.isFinite(em),`Expected a number-like value, got "${eb}".`),em}catch(em){if(em instanceof eM.StructError)throw Error(`Expected a number-like value, got "${eb}".`);throw em}}function eN(eb){try{return eM.create.call(void 0,eb,e_)}catch(eb){if(eb instanceof eM.StructError)throw Error(`Expected a number-like value, got "${String(eb.value)}".`);throw eb}}function eI(eb){if("string"==typeof eb&&"0x"===eb.toLowerCase())return new Uint8Array;try{return eM.create.call(void 0,eb,eS)}catch(eb){if(eb instanceof eM.StructError)throw Error(`Expected a bytes-like value, got "${String(eb.value)}".`);throw eb}}function eD(eb){if(eb instanceof Uint8Array&&0===eb.length||"string"==typeof eb&&"0x"===eb.toLowerCase())return"0x";try{return eM.create.call(void 0,eb,eE)}catch(eb){if(eb instanceof eM.StructError)throw Error(`Expected a bytes-like value, got "${String(eb.value)}".`);throw eb}}em.createNumber=eA,em.createBigInt=eN,em.createBytes=eI,em.createHex=eD},96815:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0});var eV=eH(35217),ew=eH(97884),eM=ew.size.call(void 0,eV.base64.call(void 0,ew.string.call(void 0),{paddingRequired:!0}),44,44);em.ChecksumStruct=eM},35174:function(){},22173:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0});var eV=eH(2706),ew=eH(10905);function eM(eb){return eb instanceof Error||eV.isObject.call(void 0,eb)&&"Error"===eb.constructor.name}function eC(eb){return"object"==typeof eb&&null!==eb&&"code"in eb}function eT(eb){return"object"==typeof eb&&null!==eb&&"message"in eb}function e_(eb){return"object"==typeof eb&&null!==eb&&"stack"in eb}function eS(eb){return eT(eb)&&"string"==typeof eb.message?eb.message:eV.isNullOrUndefined.call(void 0,eb)?"":String(eb)}function eE(eb,em){if(eM(eb)){let eH;return eH=2===Error.length?Error(em,{cause:eb}):new ew.ErrorWithCause(em,{cause:eb}),eC(eb)&&(eH.code=eb.code),eH}return em.length>0?Error(`${String(eb)}: ${em}`):Error(String(eb))}em.isErrorWithCode=eC,em.isErrorWithMessage=eT,em.isErrorWithStack=e_,em.getErrorMessage=eS,em.wrapError=eE},3356:function(){},48657:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0});var eV=eH(593),ew=eH(2706),eM=eH(97884),eC=eb=>eM.object.call(void 0,eb);function eT({path:eb,branch:em}){let eH=eb[eb.length-1];return ew.hasProperty.call(void 0,em[em.length-2],eH)}function e_(eb){return new eM.Struct({...eb,type:`optional ${eb.type}`,validator:(em,eH)=>!eT(eH)||eb.validator(em,eH),refiner:(em,eH)=>!eT(eH)||eb.refiner(em,eH)})}var eS=()=>eM.define.call(void 0,"finite number",eb=>eM.is.call(void 0,eb,eM.number.call(void 0))&&Number.isFinite(eb)),eE=eM.union.call(void 0,[eM.literal.call(void 0,null),eM.boolean.call(void 0),eS(),eM.string.call(void 0),eM.array.call(void 0,eM.lazy.call(void 0,()=>eE)),eM.record.call(void 0,eM.string.call(void 0),eM.lazy.call(void 0,()=>eE))]),eA=eM.coerce.call(void 0,eE,eM.any.call(void 0),eb=>(eV.assertStruct.call(void 0,eb,eE),JSON.parse(JSON.stringify(eb,(eb,em)=>{if("__proto__"!==eb&&"constructor"!==eb)return em}))));function eN(eb){try{return eI(eb),!0}catch(eb){return!1}}function eI(eb){return eM.create.call(void 0,eb,eA)}function eD(eb){eV.assertStruct.call(void 0,eb,eA,"Invalid JSON value");let em=JSON.stringify(eb);return new TextEncoder().encode(em).byteLength}var eP="2.0",eO=eM.literal.call(void 0,eP),eR=eM.nullable.call(void 0,eM.union.call(void 0,[eM.number.call(void 0),eM.string.call(void 0)])),eB=eC({code:eM.integer.call(void 0),message:eM.string.call(void 0),data:e_(eA),stack:e_(eM.string.call(void 0))}),eF=eM.union.call(void 0,[eM.record.call(void 0,eM.string.call(void 0),eA),eM.array.call(void 0,eA)]),ej=eC({id:eR,jsonrpc:eO,method:eM.string.call(void 0),params:e_(eF)}),eU=eC({jsonrpc:eO,method:eM.string.call(void 0),params:e_(eF)});function e$(eb){return eM.is.call(void 0,eb,eU)}function eW(eb,em){eV.assertStruct.call(void 0,eb,eU,"Invalid JSON-RPC notification",em)}function eZ(eb){return eM.is.call(void 0,eb,ej)}function eG(eb,em){eV.assertStruct.call(void 0,eb,ej,"Invalid JSON-RPC request",em)}var eK=eM.object.call(void 0,{id:eR,jsonrpc:eO,result:eM.optional.call(void 0,eM.unknown.call(void 0)),error:eM.optional.call(void 0,eB)}),eY=eC({id:eR,jsonrpc:eO,result:eA}),eX=eC({id:eR,jsonrpc:eO,error:eB}),eJ=eM.union.call(void 0,[eY,eX]);function eQ(eb){return eM.is.call(void 0,eb,eK)}function e0(eb,em){eV.assertStruct.call(void 0,eb,eK,"Invalid pending JSON-RPC response",em)}function e6(eb){return eM.is.call(void 0,eb,eJ)}function e4(eb,em){eV.assertStruct.call(void 0,eb,eJ,"Invalid JSON-RPC response",em)}function e3(eb){return eM.is.call(void 0,eb,eY)}function e5(eb,em){eV.assertStruct.call(void 0,eb,eY,"Invalid JSON-RPC success response",em)}function e8(eb){return eM.is.call(void 0,eb,eX)}function e9(eb,em){eV.assertStruct.call(void 0,eb,eX,"Invalid JSON-RPC failure response",em)}function e7(eb){return eM.is.call(void 0,eb,eB)}function tH(eb,em){eV.assertStruct.call(void 0,eb,eB,"Invalid JSON-RPC error",em)}function tV(eb){let{permitEmptyString:em,permitFractions:eH,permitNull:eV}={permitEmptyString:!0,permitFractions:!1,permitNull:!0,...eb},ew=eb=>!!("number"==typeof eb&&(eH||Number.isInteger(eb))||"string"==typeof eb&&(em||eb.length>0)||eV&&null===eb);return ew}em.object=eC,em.exactOptional=e_,em.UnsafeJsonStruct=eE,em.JsonStruct=eA,em.isValidJson=eN,em.getSafeJson=eI,em.getJsonSize=eD,em.jsonrpc2=eP,em.JsonRpcVersionStruct=eO,em.JsonRpcIdStruct=eR,em.JsonRpcErrorStruct=eB,em.JsonRpcParamsStruct=eF,em.JsonRpcRequestStruct=ej,em.JsonRpcNotificationStruct=eU,em.isJsonRpcNotification=e$,em.assertIsJsonRpcNotification=eW,em.isJsonRpcRequest=eZ,em.assertIsJsonRpcRequest=eG,em.PendingJsonRpcResponseStruct=eK,em.JsonRpcSuccessStruct=eY,em.JsonRpcFailureStruct=eX,em.JsonRpcResponseStruct=eJ,em.isPendingJsonRpcResponse=eQ,em.assertIsPendingJsonRpcResponse=e0,em.isJsonRpcResponse=e6,em.assertIsJsonRpcResponse=e4,em.isJsonRpcSuccess=e3,em.assertIsJsonRpcSuccess=e5,em.isJsonRpcFailure=e8,em.assertIsJsonRpcFailure=e9,em.isJsonRpcError=e7,em.assertIsJsonRpcError=tH,em.getJsonRpcIdValidator=tV},12591:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer;function ew(eb){let em;let eH=eb[0],eV=1;for(;eVeH.call(em,...eb)),em=void 0)}return eH}Object.defineProperty(em,"__esModule",{value:!0});var eM=eH(593),eC=eH(85426),eT=eH(97884),e_=eH(39187),eS=48,eE=58,eA=87,eN=function(){let eb=[];return()=>{if(0===eb.length)for(let em=0;em<256;em++)eb.push(em.toString(16).padStart(2,"0"));return eb}}();function eI(eb){return eb instanceof Uint8Array}function eD(eb){eM.assert.call(void 0,eI(eb),"Value must be a Uint8Array.")}function eP(eb){if(eD(eb),0===eb.length)return"0x";let em=eN(),eH=Array(eb.length);for(let eV=0;eVeb.toLowerCase,"optionalCall",eb=>eb()]))return new Uint8Array;e9(eb);let em=tT(eb).toLowerCase(),eH=em.length%2==0?em:`0${em}`,eV=new Uint8Array(eH.length/2);for(let eb=0;eb=BigInt(0),"Value must be a non-negative bigint.");let em=eb.toString(16);return eU(em)}function eW(eb,em){eM.assert.call(void 0,em>0);let eH=eb>>BigInt(31);return!((~eb&eH)+(eb&~eH)>>BigInt(8*em+-1))}function eZ(eb,em){eM.assert.call(void 0,"bigint"==typeof eb,"Value must be a bigint."),eM.assert.call(void 0,"number"==typeof em,"Byte length must be a number."),eM.assert.call(void 0,em>0,"Byte length must be greater than 0."),eM.assert.call(void 0,eW(eb,em),"Byte length is too small to represent the given value.");let eH=eb,eV=new Uint8Array(em);for(let eb=0;eb>=BigInt(8);return eV.reverse()}function eG(eb){eM.assert.call(void 0,"number"==typeof eb,"Value must be a number."),eM.assert.call(void 0,eb>=0,"Value must be a non-negative number."),eM.assert.call(void 0,Number.isSafeInteger(eb),"Value is not a safe integer. Use `bigIntToBytes` instead.");let em=eb.toString(16);return eU(em)}function eK(eb){return eM.assert.call(void 0,"string"==typeof eb,"Value must be a string."),new TextEncoder().encode(eb)}function eY(eb){return eM.assert.call(void 0,"string"==typeof eb,"Value must be a string."),e_.base64.decode(eb)}function eX(eb){if("bigint"==typeof eb)return e$(eb);if("number"==typeof eb)return eG(eb);if("string"==typeof eb)return eb.startsWith("0x")?eU(eb):eK(eb);if(eI(eb))return eb;throw TypeError(`Unsupported value type: "${typeof eb}".`)}function eJ(eb){let em=Array(eb.length),eH=0;for(let eV=0;eV{let eV=eH[em];return eM.assert.call(void 0,eT.is.call(void 0,eV,eT.string.call(void 0)),"Hash shorter than address."),parseInt(eV,16)>7?eb.toUpperCase():eb}).join("")}`}function tw(eb){return!!eT.is.call(void 0,eb,e3)&&tV(eb)===eb}function tC(eb){return eb.startsWith("0x")?eb:eb.startsWith("0X")?`0x${eb.substring(2)}`:`0x${eb}`}function tT(eb){return eb.startsWith("0x")||eb.startsWith("0X")?eb.substring(2):eb}em.HexStruct=e0,em.StrictHexStruct=e6,em.HexAddressStruct=e4,em.HexChecksumAddressStruct=e3,em.isHexString=e5,em.isStrictHexString=e8,em.assertIsHexString=e9,em.assertIsStrictHexString=e7,em.isValidHexAddress=tH,em.getChecksumAddress=tV,em.isValidChecksumAddress=tw,em.add0x=tC,em.remove0x=tT,em.isBytes=eI,em.assertIsBytes=eD,em.bytesToHex=eP,em.bytesToBigInt=eO,em.bytesToSignedBigInt=eR,em.bytesToNumber=eB,em.bytesToString=eF,em.bytesToBase64=ej,em.hexToBytes=eU,em.bigIntToBytes=e$,em.signedBigIntToBytes=eZ,em.numberToBytes=eG,em.stringToBytes=eK,em.base64ToBytes=eY,em.valueToBytes=eX,em.concatBytes=eJ,em.createDataView=eQ},2706:function(eb,em){"use strict";function eH(eb,em){return null!=eb?eb:em()}function eV(eb){return Array.isArray(eb)&&eb.length>0}function ew(eb){return null==eb}function eM(eb){return!!eb&&"object"==typeof eb&&!Array.isArray(eb)}Object.defineProperty(em,"__esModule",{value:!0});var eC,eT=(eb,em)=>Object.hasOwnProperty.call(eb,em);function e_(eb){return Object.getOwnPropertyNames(eb)}var eS=((eC=eS||{})[eC.Null=4]="Null",eC[eC.Comma=1]="Comma",eC[eC.Wrapper=1]="Wrapper",eC[eC.True=4]="True",eC[eC.False=5]="False",eC[eC.Quote=1]="Quote",eC[eC.Colon=1]="Colon",eC[eC.Date=24]="Date",eC),eE=/"|\\|\n|\r|\t/gu;function eA(eb){if("object"!=typeof eb||null===eb)return!1;try{let em=eb;for(;null!==Object.getPrototypeOf(em);)em=Object.getPrototypeOf(em);return Object.getPrototypeOf(eb)===em}catch(eb){return!1}}function eN(eb){return 127>=eb.charCodeAt(0)}function eI(eb){let em=eb.split("").reduce((eb,em)=>eN(em)?eb+1:eb+2,0);return em+eH(eb.match(eE),()=>[]).length}function eD(eb){return eb.toString().length}em.isNonEmptyArray=eV,em.isNullOrUndefined=ew,em.isObject=eM,em.hasProperty=eT,em.getKnownPropertyNames=e_,em.JsonSize=eS,em.ESCAPE_CHARACTERS_REGEXP=eE,em.isPlainObject=eA,em.isASCII=eN,em.calculateStringSize=eI,em.calculateNumberSize=eD},83006:function(){},19123:function(){},61866:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0});var eV=eH(12591),ew=eH(593),eM=eb=>(ew.assert.call(void 0,"number"==typeof eb,"Value must be a number."),ew.assert.call(void 0,eb>=0,"Value must be a non-negative number."),ew.assert.call(void 0,Number.isSafeInteger(eb),"Value is not a safe integer. Use `bigIntToHex` instead."),eV.add0x.call(void 0,eb.toString(16))),eC=eb=>(ew.assert.call(void 0,"bigint"==typeof eb,"Value must be a bigint."),ew.assert.call(void 0,eb>=0,"Value must be a non-negative bigint."),eV.add0x.call(void 0,eb.toString(16))),eT=eb=>{eV.assertIsHexString.call(void 0,eb);let em=parseInt(eb,16);return ew.assert.call(void 0,Number.isSafeInteger(em),"Value is not a safe integer. Use `hexToBigInt` instead."),em},e_=eb=>(eV.assertIsHexString.call(void 0,eb),BigInt(eV.add0x.call(void 0,eb)));em.numberToHex=eM,em.bigIntToHex=eC,em.hexToNumber=eT,em.hexToBigInt=e_},1213:function(eb,em,eH){"use strict";function eV(eb){let em;let eH=eb[0],eV=1;for(;eVeH.call(em,...eb)),em=void 0)}return eH}Object.defineProperty(em,"__esModule",{value:!0});var ew,eM=eH(97884),eC=/^(?[-a-z0-9]{3,8}):(?[-_a-zA-Z0-9]{1,32})$/u,eT=/^[-a-z0-9]{3,8}$/u,e_=/^[-_a-zA-Z0-9]{1,32}$/u,eS=/^(?(?[-a-z0-9]{3,8}):(?[-_a-zA-Z0-9]{1,32})):(?[-.%a-zA-Z0-9]{1,128})$/u,eE=/^[-.%a-zA-Z0-9]{1,128}$/u,eA=eM.pattern.call(void 0,eM.string.call(void 0),eC),eN=eM.pattern.call(void 0,eM.string.call(void 0),eT),eI=eM.pattern.call(void 0,eM.string.call(void 0),e_),eD=eM.pattern.call(void 0,eM.string.call(void 0),eS),eP=eM.pattern.call(void 0,eM.string.call(void 0),eE),eO=((ew=eO||{}).Eip155="eip155",ew);function eR(eb){return eM.is.call(void 0,eb,eA)}function eB(eb){return eM.is.call(void 0,eb,eN)}function eF(eb){return eM.is.call(void 0,eb,eI)}function ej(eb){return eM.is.call(void 0,eb,eD)}function eU(eb){return eM.is.call(void 0,eb,eP)}function e$(eb){let em=eC.exec(eb);if(!eV([em,"optionalAccess",eb=>eb.groups]))throw Error("Invalid CAIP chain ID.");return{namespace:em.groups.namespace,reference:em.groups.reference}}function eW(eb){let em=eS.exec(eb);if(!eV([em,"optionalAccess",eb=>eb.groups]))throw Error("Invalid CAIP account ID.");return{address:em.groups.accountAddress,chainId:em.groups.chainId,chain:{namespace:em.groups.namespace,reference:em.groups.reference}}}function eZ(eb,em){if(!eB(eb))throw Error(`Invalid "namespace", must match: ${eT.toString()}`);if(!eF(em))throw Error(`Invalid "reference", must match: ${e_.toString()}`);return`${eb}:${em}`}em.CAIP_CHAIN_ID_REGEX=eC,em.CAIP_NAMESPACE_REGEX=eT,em.CAIP_REFERENCE_REGEX=e_,em.CAIP_ACCOUNT_ID_REGEX=eS,em.CAIP_ACCOUNT_ADDRESS_REGEX=eE,em.CaipChainIdStruct=eA,em.CaipNamespaceStruct=eN,em.CaipReferenceStruct=eI,em.CaipAccountIdStruct=eD,em.CaipAccountAddressStruct=eP,em.KnownCaipNamespace=eO,em.isCaipChainId=eR,em.isCaipNamespace=eB,em.isCaipReference=eF,em.isCaipAccountId=ej,em.isCaipAccountAddress=eU,em.parseCaipChainId=e$,em.parseCaipAccountId=eW,em.toCaipChainId=eZ},41322:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0});var eV,ew,eM=eH(84466),eC=class{constructor(eb){eM.__privateAdd.call(void 0,this,eV,void 0),eM.__privateSet.call(void 0,this,eV,new Map(eb)),Object.freeze(this)}get size(){return eM.__privateGet.call(void 0,this,eV).size}[Symbol.iterator](){return eM.__privateGet.call(void 0,this,eV)[Symbol.iterator]()}entries(){return eM.__privateGet.call(void 0,this,eV).entries()}forEach(eb,em){return eM.__privateGet.call(void 0,this,eV).forEach((eH,eV,ew)=>eb.call(em,eH,eV,this))}get(eb){return eM.__privateGet.call(void 0,this,eV).get(eb)}has(eb){return eM.__privateGet.call(void 0,this,eV).has(eb)}keys(){return eM.__privateGet.call(void 0,this,eV).keys()}values(){return eM.__privateGet.call(void 0,this,eV).values()}toString(){return`FrozenMap(${this.size}) {${this.size>0?` ${[...this.entries()].map(([eb,em])=>`${String(eb)} => ${String(em)}`).join(", ")} `:""}}`}};eV=new WeakMap;var eT=class{constructor(eb){eM.__privateAdd.call(void 0,this,ew,void 0),eM.__privateSet.call(void 0,this,ew,new Set(eb)),Object.freeze(this)}get size(){return eM.__privateGet.call(void 0,this,ew).size}[Symbol.iterator](){return eM.__privateGet.call(void 0,this,ew)[Symbol.iterator]()}entries(){return eM.__privateGet.call(void 0,this,ew).entries()}forEach(eb,em){return eM.__privateGet.call(void 0,this,ew).forEach((eH,eV,ew)=>eb.call(em,eH,eV,this))}has(eb){return eM.__privateGet.call(void 0,this,ew).has(eb)}keys(){return eM.__privateGet.call(void 0,this,ew).keys()}values(){return eM.__privateGet.call(void 0,this,ew).values()}toString(){return`FrozenSet(${this.size}) {${this.size>0?` ${[...this.values()].map(eb=>String(eb)).join(", ")} `:""}}`}};ew=new WeakMap,Object.freeze(eC),Object.freeze(eC.prototype),Object.freeze(eT),Object.freeze(eT.prototype),em.FrozenMap=eC,em.FrozenSet=eT},42451:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),eH(17479);var eV=eH(61866);eH(3356);var ew=eH(3902),eM=eH(75671);eH(19123);var eC=eH(83889),eT=eH(48657);eH(83006);var e_=eH(708),eS=eH(1213),eE=eH(96815),eA=eH(35217),eN=eH(89162),eI=eH(12591),eD=eH(593),eP=eH(22173),eO=eH(2706),eR=eH(41322);eH(84466),eH(35174),em.AssertionError=eD.AssertionError,em.CAIP_ACCOUNT_ADDRESS_REGEX=eS.CAIP_ACCOUNT_ADDRESS_REGEX,em.CAIP_ACCOUNT_ID_REGEX=eS.CAIP_ACCOUNT_ID_REGEX,em.CAIP_CHAIN_ID_REGEX=eS.CAIP_CHAIN_ID_REGEX,em.CAIP_NAMESPACE_REGEX=eS.CAIP_NAMESPACE_REGEX,em.CAIP_REFERENCE_REGEX=eS.CAIP_REFERENCE_REGEX,em.CaipAccountAddressStruct=eS.CaipAccountAddressStruct,em.CaipAccountIdStruct=eS.CaipAccountIdStruct,em.CaipChainIdStruct=eS.CaipChainIdStruct,em.CaipNamespaceStruct=eS.CaipNamespaceStruct,em.CaipReferenceStruct=eS.CaipReferenceStruct,em.ChecksumStruct=eE.ChecksumStruct,em.Duration=eM.Duration,em.ESCAPE_CHARACTERS_REGEXP=eO.ESCAPE_CHARACTERS_REGEXP,em.FrozenMap=eR.FrozenMap,em.FrozenSet=eR.FrozenSet,em.HexAddressStruct=eI.HexAddressStruct,em.HexChecksumAddressStruct=eI.HexChecksumAddressStruct,em.HexStruct=eI.HexStruct,em.JsonRpcErrorStruct=eT.JsonRpcErrorStruct,em.JsonRpcFailureStruct=eT.JsonRpcFailureStruct,em.JsonRpcIdStruct=eT.JsonRpcIdStruct,em.JsonRpcNotificationStruct=eT.JsonRpcNotificationStruct,em.JsonRpcParamsStruct=eT.JsonRpcParamsStruct,em.JsonRpcRequestStruct=eT.JsonRpcRequestStruct,em.JsonRpcResponseStruct=eT.JsonRpcResponseStruct,em.JsonRpcSuccessStruct=eT.JsonRpcSuccessStruct,em.JsonRpcVersionStruct=eT.JsonRpcVersionStruct,em.JsonSize=eO.JsonSize,em.JsonStruct=eT.JsonStruct,em.KnownCaipNamespace=eS.KnownCaipNamespace,em.PendingJsonRpcResponseStruct=eT.PendingJsonRpcResponseStruct,em.StrictHexStruct=eI.StrictHexStruct,em.UnsafeJsonStruct=eT.UnsafeJsonStruct,em.VersionRangeStruct=eC.VersionRangeStruct,em.VersionStruct=eC.VersionStruct,em.add0x=eI.add0x,em.assert=eD.assert,em.assertExhaustive=eD.assertExhaustive,em.assertIsBytes=eI.assertIsBytes,em.assertIsHexString=eI.assertIsHexString,em.assertIsJsonRpcError=eT.assertIsJsonRpcError,em.assertIsJsonRpcFailure=eT.assertIsJsonRpcFailure,em.assertIsJsonRpcNotification=eT.assertIsJsonRpcNotification,em.assertIsJsonRpcRequest=eT.assertIsJsonRpcRequest,em.assertIsJsonRpcResponse=eT.assertIsJsonRpcResponse,em.assertIsJsonRpcSuccess=eT.assertIsJsonRpcSuccess,em.assertIsPendingJsonRpcResponse=eT.assertIsPendingJsonRpcResponse,em.assertIsSemVerRange=eC.assertIsSemVerRange,em.assertIsSemVerVersion=eC.assertIsSemVerVersion,em.assertIsStrictHexString=eI.assertIsStrictHexString,em.assertStruct=eD.assertStruct,em.base64=eA.base64,em.base64ToBytes=eI.base64ToBytes,em.bigIntToBytes=eI.bigIntToBytes,em.bigIntToHex=eV.bigIntToHex,em.bytesToBase64=eI.bytesToBase64,em.bytesToBigInt=eI.bytesToBigInt,em.bytesToHex=eI.bytesToHex,em.bytesToNumber=eI.bytesToNumber,em.bytesToSignedBigInt=eI.bytesToSignedBigInt,em.bytesToString=eI.bytesToString,em.calculateNumberSize=eO.calculateNumberSize,em.calculateStringSize=eO.calculateStringSize,em.concatBytes=eI.concatBytes,em.createBigInt=eN.createBigInt,em.createBytes=eN.createBytes,em.createDataView=eI.createDataView,em.createDeferredPromise=ew.createDeferredPromise,em.createHex=eN.createHex,em.createModuleLogger=e_.createModuleLogger,em.createNumber=eN.createNumber,em.createProjectLogger=e_.createProjectLogger,em.exactOptional=eT.exactOptional,em.getChecksumAddress=eI.getChecksumAddress,em.getErrorMessage=eP.getErrorMessage,em.getJsonRpcIdValidator=eT.getJsonRpcIdValidator,em.getJsonSize=eT.getJsonSize,em.getKnownPropertyNames=eO.getKnownPropertyNames,em.getSafeJson=eT.getSafeJson,em.gtRange=eC.gtRange,em.gtVersion=eC.gtVersion,em.hasProperty=eO.hasProperty,em.hexToBigInt=eV.hexToBigInt,em.hexToBytes=eI.hexToBytes,em.hexToNumber=eV.hexToNumber,em.inMilliseconds=eM.inMilliseconds,em.isASCII=eO.isASCII,em.isBytes=eI.isBytes,em.isCaipAccountAddress=eS.isCaipAccountAddress,em.isCaipAccountId=eS.isCaipAccountId,em.isCaipChainId=eS.isCaipChainId,em.isCaipNamespace=eS.isCaipNamespace,em.isCaipReference=eS.isCaipReference,em.isErrorWithCode=eP.isErrorWithCode,em.isErrorWithMessage=eP.isErrorWithMessage,em.isErrorWithStack=eP.isErrorWithStack,em.isHexString=eI.isHexString,em.isJsonRpcError=eT.isJsonRpcError,em.isJsonRpcFailure=eT.isJsonRpcFailure,em.isJsonRpcNotification=eT.isJsonRpcNotification,em.isJsonRpcRequest=eT.isJsonRpcRequest,em.isJsonRpcResponse=eT.isJsonRpcResponse,em.isJsonRpcSuccess=eT.isJsonRpcSuccess,em.isNonEmptyArray=eO.isNonEmptyArray,em.isNullOrUndefined=eO.isNullOrUndefined,em.isObject=eO.isObject,em.isPendingJsonRpcResponse=eT.isPendingJsonRpcResponse,em.isPlainObject=eO.isPlainObject,em.isStrictHexString=eI.isStrictHexString,em.isValidChecksumAddress=eI.isValidChecksumAddress,em.isValidHexAddress=eI.isValidHexAddress,em.isValidJson=eT.isValidJson,em.isValidSemVerRange=eC.isValidSemVerRange,em.isValidSemVerVersion=eC.isValidSemVerVersion,em.jsonrpc2=eT.jsonrpc2,em.numberToBytes=eI.numberToBytes,em.numberToHex=eV.numberToHex,em.object=eT.object,em.parseCaipAccountId=eS.parseCaipAccountId,em.parseCaipChainId=eS.parseCaipChainId,em.remove0x=eI.remove0x,em.satisfiesVersionRange=eC.satisfiesVersionRange,em.signedBigIntToBytes=eI.signedBigIntToBytes,em.stringToBytes=eI.stringToBytes,em.timeSince=eM.timeSince,em.toCaipChainId=eS.toCaipChainId,em.valueToBytes=eI.valueToBytes,em.wrapError=eP.wrapError},79082:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.createCurve=em.getHash=void 0;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let eV=eH(79569),ew=eH(98089),eM=eH(96551);function eC(eb){return{hash:eb,hmac:(em,...eH)=>(0,eV.hmac)(eb,em,(0,ew.concatBytes)(...eH)),randomBytes:ew.randomBytes}}function eT(eb,em){let eH=em=>(0,eM.weierstrass)({...eb,...eC(em)});return Object.freeze({...eH(em),create:eH})}em.getHash=eC,em.createCurve=eT},81525:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.validateBasic=em.wNAF=void 0;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let eV=eH(94632),ew=eH(40219),eM=BigInt(0),eC=BigInt(1);function eT(eb,em){let eH=(eb,em)=>{let eH=em.negate();return eb?eH:em},eV=eb=>{let eH=Math.ceil(em/eb)+1,eV=2**(eb-1);return{windows:eH,windowSize:eV}};return{constTimeNegate:eH,unsafeLadder(em,eH){let eV=eb.ZERO,ew=em;for(;eH>eM;)eH&eC&&(eV=eV.add(ew)),ew=ew.double(),eH>>=eC;return eV},precomputeWindow(eb,em){let{windows:eH,windowSize:ew}=eV(em),eM=[],eC=eb,eT=eC;for(let eb=0;eb>=eI,eV>e_&&(eV-=eN,eM+=eC);let eT=em,eD=em+Math.abs(eV)-1,eP=eb%2!=0,eO=eV<0;0===eV?eE=eE.add(eH(eP,ew[eT])):eS=eS.add(eH(eO,ew[eD]))}return{p:eS,f:eE}},wNAFCached(eb,em,eH,eV){let ew=eb._WINDOW_SIZE||1,eM=em.get(eb);return eM||(eM=this.precomputeWindow(eb,ew),1!==ew&&em.set(eb,eV(eM))),this.wNAF(ew,eM,eH)}}}function e_(eb){return(0,eV.validateField)(eb.Fp),(0,ew.validateObject)(eb,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...(0,eV.nLength)(eb.n,eb.nBitLength),...eb,p:eb.Fp.ORDER})}em.wNAF=eT,em.validateBasic=e_},15134:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.createHasher=em.isogenyMap=em.hash_to_field=em.expand_message_xof=em.expand_message_xmd=void 0;let eV=eH(94632),ew=eH(40219);function eM(eb){if((0,ew.isBytes)(eb))return eb;if("string"==typeof eb)return(0,ew.utf8ToBytes)(eb);throw Error("DST must be Uint8Array or string")}let eC=ew.bytesToNumberBE;function eT(eb,em){if(eb<0||eb>=1<<8*em)throw Error(`bad I2OSP call: value=${eb} length=${em}`);let eH=Array.from({length:em}).fill(0);for(let eV=em-1;eV>=0;eV--)eH[eV]=255&eb,eb>>>=8;return new Uint8Array(eH)}function e_(eb,em){let eH=new Uint8Array(eb.length);for(let eV=0;eV255&&(em=eV((0,ew.concatBytes)((0,ew.utf8ToBytes)("H2C-OVERSIZE-DST-"),em)));let{outputLen:eM,blockLen:eC}=eV,eA=Math.ceil(eH/eM);if(eA>255)throw Error("Invalid xmd length");let eN=(0,ew.concatBytes)(em,eT(em.length,1)),eI=eT(0,eC),eD=eT(eH,2),eP=Array(eA),eO=eV((0,ew.concatBytes)(eI,eb,eD,eT(0,1),eN));eP[0]=eV((0,ew.concatBytes)(eO,eT(1,1),eN));for(let eb=1;eb<=eA;eb++){let em=[e_(eO,eP[eb-1]),eT(eb+1,1),eN];eP[eb]=eV((0,ew.concatBytes)(...em))}let eR=(0,ew.concatBytes)(...eP);return eR.slice(0,eH)}function eN(eb,em,eH,eV,eM){if(eS(eb),eS(em),eE(eH),em.length>255){let eb=Math.ceil(2*eV/8);em=eM.create({dkLen:eb}).update((0,ew.utf8ToBytes)("H2C-OVERSIZE-DST-")).update(em).digest()}if(eH>65535||em.length>255)throw Error("expand_message_xof: invalid lenInBytes");return eM.create({dkLen:eH}).update(eb).update(eT(eH,2)).update(em).update(eT(em.length,1)).digest()}function eI(eb,em,eH){let eT;(0,ew.validateObject)(eH,{DST:"stringOrUint8Array",p:"bigint",m:"isSafeInteger",k:"isSafeInteger",hash:"hash"});let{p:e_,k:eI,m:eD,hash:eP,expand:eO,DST:eR}=eH;eS(eb),eE(em);let eB=eM(eR),eF=e_.toString(2).length,ej=Math.ceil((eF+eI)/8),eU=em*eD*ej;if("xmd"===eO)eT=eA(eb,eB,eU,eP);else if("xof"===eO)eT=eN(eb,eB,eU,eI,eP);else if("_internal_pass"===eO)eT=eb;else throw Error('expand must be "xmd" or "xof"');let e$=Array(em);for(let eb=0;ebArray.from(eb).reverse());return(em,eV)=>{let[ew,eM,eC,eT]=eH.map(eH=>eH.reduce((eH,eV)=>eb.add(eb.mul(eH,em),eV)));return{x:em=eb.div(ew,eM),y:eV=eb.mul(eV,eb.div(eC,eT))}}}function eP(eb,em,eH){if("function"!=typeof em)throw Error("mapToCurve() must be defined");return{hashToCurve(eV,ew){let eM=eI(eV,2,{...eH,DST:eH.DST,...ew}),eC=eb.fromAffine(em(eM[0])),eT=eb.fromAffine(em(eM[1])),e_=eC.add(eT).clearCofactor();return e_.assertValidity(),e_},encodeToCurve(eV,ew){let eM=eI(eV,1,{...eH,DST:eH.encodeDST,...ew}),eC=eb.fromAffine(em(eM[0])).clearCofactor();return eC.assertValidity(),eC}}}em.expand_message_xmd=eA,em.expand_message_xof=eN,em.hash_to_field=eI,em.isogenyMap=eD,em.createHasher=eP},94632:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.mapHashToField=em.getMinHashLength=em.getFieldBytesLength=em.hashToPrivateScalar=em.FpSqrtEven=em.FpSqrtOdd=em.Field=em.nLength=em.FpIsSquare=em.FpDiv=em.FpInvertBatch=em.FpPow=em.validateField=em.isNegativeLE=em.FpSqrt=em.tonelliShanks=em.invert=em.pow2=em.pow=em.mod=void 0;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let eV=eH(40219),ew=BigInt(0),eM=BigInt(1),eC=BigInt(2),eT=BigInt(3),e_=BigInt(4),eS=BigInt(5),eE=BigInt(8);function eA(eb,em){let eH=eb%em;return eH>=ew?eH:em+eH}function eN(eb,em,eH){if(eH<=ew||em 0");if(eH===eM)return ew;let eV=eM;for(;em>ew;)em&eM&&(eV=eV*eb%eH),eb=eb*eb%eH,em>>=eM;return eV}function eI(eb,em,eH){let eV=eb;for(;em-- >ew;)eV*=eV,eV%=eH;return eV}function eD(eb,em){if(eb===ew||em<=ew)throw Error(`invert: expected positive integers, got n=${eb} mod=${em}`);let eH=eA(eb,em),eV=em,eC=ew,eT=eM,e_=eM,eS=ew;for(;eH!==ew;){let eb=eV/eH,em=eV%eH,ew=eC-e_*eb,eM=eT-eS*eb;eV=eH,eH=em,eC=e_,eT=eS,e_=ew,eS=eM}let eE=eV;if(eE!==eM)throw Error("invert: does not exist");return eA(eC,em)}function eP(eb){let em,eH,eV;let eT=(eb-eM)/eC;for(em=eb-eM,eH=0;em%eC===ew;em/=eC,eH++);for(eV=eC;eV(eA(eb,em)&eM)===eM;em.isNegativeLE=eR;let eB=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function eF(eb){let em={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},eH=eB.reduce((eb,em)=>(eb[em]="function",eb),em);return(0,eV.validateObject)(eb,eH)}function ej(eb,em,eH){if(eH 0");if(eH===ew)return eb.ONE;if(eH===eM)return em;let eV=eb.ONE,eC=em;for(;eH>ew;)eH&eM&&(eV=eb.mul(eV,eC)),eC=eb.sqr(eC),eH>>=eM;return eV}function eU(eb,em){let eH=Array(em.length),eV=em.reduce((em,eV,ew)=>eb.is0(eV)?em:(eH[ew]=em,eb.mul(em,eV)),eb.ONE),ew=eb.inv(eV);return em.reduceRight((em,eV,ew)=>eb.is0(eV)?em:(eH[ew]=eb.mul(em,eH[ew]),eb.mul(em,eV)),ew),eH}function e$(eb,em,eH){return eb.mul(em,"bigint"==typeof eH?eD(eH,eb.ORDER):eb.inv(eH))}function eW(eb){let em=(eb.ORDER-eM)/eC;return eH=>{let eV=eb.pow(eH,em);return eb.eql(eV,eb.ZERO)||eb.eql(eV,eb.ONE)}}function eZ(eb,em){let eH=void 0!==em?em:eb.toString(2).length,eV=Math.ceil(eH/8);return{nBitLength:eH,nByteLength:eV}}function eG(eb,em,eH=!1,eC={}){if(eb<=ew)throw Error(`Expected Field ORDER > 0, got ${eb}`);let{nBitLength:eT,nByteLength:e_}=eZ(eb,em);if(e_>2048)throw Error("Field lengths over 2048 bytes are not supported");let eS=eO(eb),eE=Object.freeze({ORDER:eb,BITS:eT,BYTES:e_,MASK:(0,eV.bitMask)(eT),ZERO:ew,ONE:eM,create:em=>eA(em,eb),isValid:em=>{if("bigint"!=typeof em)throw Error(`Invalid field element: expected bigint, got ${typeof em}`);return ew<=em&&emeb===ew,isOdd:eb=>(eb&eM)===eM,neg:em=>eA(-em,eb),eql:(eb,em)=>eb===em,sqr:em=>eA(em*em,eb),add:(em,eH)=>eA(em+eH,eb),sub:(em,eH)=>eA(em-eH,eb),mul:(em,eH)=>eA(em*eH,eb),pow:(eb,em)=>ej(eE,eb,em),div:(em,eH)=>eA(em*eD(eH,eb),eb),sqrN:eb=>eb*eb,addN:(eb,em)=>eb+em,subN:(eb,em)=>eb-em,mulN:(eb,em)=>eb*em,inv:em=>eD(em,eb),sqrt:eC.sqrt||(eb=>eS(eE,eb)),invertBatch:eb=>eU(eE,eb),cmov:(eb,em,eH)=>eH?em:eb,toBytes:eb=>eH?(0,eV.numberToBytesLE)(eb,e_):(0,eV.numberToBytesBE)(eb,e_),fromBytes:eb=>{if(eb.length!==e_)throw Error(`Fp.fromBytes: expected ${e_}, got ${eb.length}`);return eH?(0,eV.bytesToNumberLE)(eb):(0,eV.bytesToNumberBE)(eb)}});return Object.freeze(eE)}function eK(eb,em){if(!eb.isOdd)throw Error("Field doesn't have isOdd");let eH=eb.sqrt(em);return eb.isOdd(eH)?eH:eb.neg(eH)}function eY(eb,em){if(!eb.isOdd)throw Error("Field doesn't have isOdd");let eH=eb.sqrt(em);return eb.isOdd(eH)?eb.neg(eH):eH}function eX(eb,em,eH=!1){eb=(0,eV.ensureBytes)("privateHash",eb);let ew=eb.length,eC=eZ(em).nByteLength+8;if(eC<24||ew1024)throw Error(`hashToPrivateScalar: expected ${eC}-1024 bytes of input, got ${ew}`);let eT=eH?(0,eV.bytesToNumberLE)(eb):(0,eV.bytesToNumberBE)(eb);return eA(eT,em-eM)+eM}function eJ(eb){if("bigint"!=typeof eb)throw Error("field order must be bigint");let em=eb.toString(2).length;return Math.ceil(em/8)}function eQ(eb){let em=eJ(eb);return em+Math.ceil(em/2)}function e0(eb,em,eH=!1){let ew=eb.length,eC=eJ(em),eT=eQ(em);if(ew<16||ew1024)throw Error(`expected ${eT}-1024 bytes of input, got ${ew}`);let e_=eH?(0,eV.bytesToNumberBE)(eb):(0,eV.bytesToNumberLE)(eb),eS=eA(e_,em-eM)+eM;return eH?(0,eV.numberToBytesLE)(eS,eC):(0,eV.numberToBytesBE)(eS,eC)}em.validateField=eF,em.FpPow=ej,em.FpInvertBatch=eU,em.FpDiv=e$,em.FpIsSquare=eW,em.nLength=eZ,em.Field=eG,em.FpSqrtOdd=eK,em.FpSqrtEven=eY,em.hashToPrivateScalar=eX,em.getFieldBytesLength=eJ,em.getMinHashLength=eQ,em.mapHashToField=e0},40219:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.validateObject=em.createHmacDrbg=em.bitMask=em.bitSet=em.bitGet=em.bitLen=em.utf8ToBytes=em.equalBytes=em.concatBytes=em.ensureBytes=em.numberToVarBytesBE=em.numberToBytesLE=em.numberToBytesBE=em.bytesToNumberLE=em.bytesToNumberBE=em.hexToBytes=em.hexToNumber=em.numberToHexUnpadded=em.bytesToHex=em.isBytes=void 0;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let eH=BigInt(0),eV=BigInt(1),ew=BigInt(2);function eM(eb){return eb instanceof Uint8Array||null!=eb&&"object"==typeof eb&&"Uint8Array"===eb.constructor.name}em.isBytes=eM;let eC=Array.from({length:256},(eb,em)=>em.toString(16).padStart(2,"0"));function eT(eb){if(!eM(eb))throw Error("Uint8Array expected");let em="";for(let eH=0;eH=eE._0&&eb<=eE._9?eb-eE._0:eb>=eE._A&&eb<=eE._F?eb-(eE._A-10):eb>=eE._a&&eb<=eE._f?eb-(eE._a-10):void 0}function eN(eb){if("string"!=typeof eb)throw Error("hex string expected, got "+typeof eb);let em=eb.length,eH=em/2;if(em%2)throw Error("padded hex string expected, got unpadded hex of length "+em);let eV=new Uint8Array(eH);for(let em=0,ew=0;emeH;eb>>=eV,em+=1);return em}function eW(eb,em){return eb>>BigInt(em)&eV}em.hexToBytes=eN,em.bytesToNumberBE=eI,em.bytesToNumberLE=eD,em.numberToBytesBE=eP,em.numberToBytesLE=eO,em.numberToVarBytesBE=eR,em.ensureBytes=eB,em.concatBytes=eF,em.equalBytes=ej,em.utf8ToBytes=eU,em.bitLen=e$,em.bitGet=eW;let eZ=(eb,em,ew)=>eb|(ew?eV:eH)<(ew<new Uint8Array(eb),eY=eb=>Uint8Array.from(eb);function eX(eb,em,eH){if("number"!=typeof eb||eb<2)throw Error("hashLen must be a number");if("number"!=typeof em||em<2)throw Error("qByteLen must be a number");if("function"!=typeof eH)throw Error("hmacFn must be a function");let eV=eK(eb),ew=eK(eb),eM=0,eC=()=>{eV.fill(1),ew.fill(0),eM=0},eT=(...eb)=>eH(ew,eV,...eb),e_=(eb=eK())=>{ew=eT(eY([0]),eb),eV=eT(),0!==eb.length&&(ew=eT(eY([1]),eb),eV=eT())},eS=()=>{if(eM++>=1e3)throw Error("drbg: tried 1000 values");let eb=0,eH=[];for(;eb{let eH;for(eC(),e_(eb);!(eH=em(eS()));)e_();return eC(),eH};return eE}em.createHmacDrbg=eX;let eJ={bigint:eb=>"bigint"==typeof eb,function:eb=>"function"==typeof eb,boolean:eb=>"boolean"==typeof eb,string:eb=>"string"==typeof eb,stringOrUint8Array:eb=>"string"==typeof eb||eM(eb),isSafeInteger:eb=>Number.isSafeInteger(eb),array:eb=>Array.isArray(eb),field:(eb,em)=>em.Fp.isValid(eb),hash:eb=>"function"==typeof eb&&Number.isSafeInteger(eb.outputLen)};function eQ(eb,em,eH={}){let eV=(em,eH,eV)=>{let ew=eJ[eH];if("function"!=typeof ew)throw Error(`Invalid validator "${eH}", expected function`);let eM=eb[em];if((!eV||void 0!==eM)&&!ew(eM,eb))throw Error(`Invalid param ${String(em)}=${eM} (${typeof eM}), expected ${eH}`)};for(let[eb,eH]of Object.entries(em))eV(eb,eH,!1);for(let[eb,em]of Object.entries(eH))eV(eb,em,!0);return eb}em.validateObject=eQ},96551:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.mapToCurveSimpleSWU=em.SWUFpSqrtRatio=em.weierstrass=em.weierstrassPoints=em.DER=void 0;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let eV=eH(94632),ew=eH(40219),eM=eH(40219),eC=eH(81525);function eT(eb){let em=(0,eC.validateBasic)(eb);ew.validateObject(em,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:eH,Fp:eV,a:eM}=em;if(eH){if(!eV.eql(eM,eV.ZERO))throw Error("Endomorphism can only be defined for Koblitz curves that have a=0");if("object"!=typeof eH||"bigint"!=typeof eH.beta||"function"!=typeof eH.splitScalar)throw Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...em})}let{bytesToNumberBE:e_,hexToBytes:eS}=ew;em.DER={Err:class extends Error{constructor(eb=""){super(eb)}},_parseInt(eb){let{Err:eH}=em.DER;if(eb.length<2||2!==eb[0])throw new eH("Invalid signature integer tag");let eV=eb[1],ew=eb.subarray(2,eV+2);if(!eV||ew.length!==eV)throw new eH("Invalid signature integer: wrong length");if(128&ew[0])throw new eH("Invalid signature integer: negative");if(0===ew[0]&&!(128&ew[1]))throw new eH("Invalid signature integer: unnecessary leading zero");return{d:e_(ew),l:eb.subarray(eV+2)}},toSig(eb){let{Err:eH}=em.DER,eV="string"==typeof eb?eS(eb):eb;if(!ew.isBytes(eV))throw Error("ui8a expected");let eM=eV.length;if(eM<2||48!=eV[0])throw new eH("Invalid signature tag");if(eV[1]!==eM-2)throw new eH("Invalid signature: incorrect length");let{d:eC,l:eT}=em.DER._parseInt(eV.subarray(2)),{d:e_,l:eE}=em.DER._parseInt(eT);if(eE.length)throw new eH("Invalid signature: left bytes after parsing");return{r:eC,s:e_}},hexFromSig(eb){let em=eb=>8&Number.parseInt(eb[0],16)?"00"+eb:eb,eH=eb=>{let em=eb.toString(16);return 1&em.length?`0${em}`:em},eV=em(eH(eb.s)),ew=em(eH(eb.r)),eM=eV.length/2,eC=ew.length/2,eT=eH(eM),e_=eH(eC);return`30${eH(eC+eM+4)}02${e_}${ew}02${eT}${eV}`}};let eE=BigInt(0),eA=BigInt(1),eN=BigInt(2),eI=BigInt(3),eD=BigInt(4);function eP(eb){let em=eT(eb),{Fp:eH}=em,e_=em.toBytes||((eb,em,eV)=>{let eM=em.toAffine();return ew.concatBytes(Uint8Array.from([4]),eH.toBytes(eM.x),eH.toBytes(eM.y))}),eS=em.fromBytes||(eb=>{let em=eb.subarray(1),eV=eH.fromBytes(em.subarray(0,eH.BYTES)),ew=eH.fromBytes(em.subarray(eH.BYTES,2*eH.BYTES));return{x:eV,y:ew}});function eN(eb){let{a:eV,b:ew}=em,eM=eH.sqr(eb),eC=eH.mul(eM,eb);return eH.add(eH.add(eC,eH.mul(eb,eV)),ew)}if(!eH.eql(eH.sqr(em.Gy),eN(em.Gx)))throw Error("bad generator point: equation left != right");function eD(eb){return"bigint"==typeof eb&&eEeH.eql(eb,eH.ZERO);return ew(em)&&ew(eV)?eF.ZERO:new eF(em,eV,eH.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(eb){let em=eH.invertBatch(eb.map(eb=>eb.pz));return eb.map((eb,eH)=>eb.toAffine(em[eH])).map(eF.fromAffine)}static fromHex(eb){let em=eF.fromAffine(eS((0,eM.ensureBytes)("pointHex",eb)));return em.assertValidity(),em}static fromPrivateKey(eb){return eF.BASE.multiply(eO(eb))}_setWindowSize(eb){this._WINDOW_SIZE=eb,eR.delete(this)}assertValidity(){if(this.is0()){if(em.allowInfinityPoint&&!eH.is0(this.py))return;throw Error("bad point: ZERO")}let{x:eb,y:eV}=this.toAffine();if(!eH.isValid(eb)||!eH.isValid(eV))throw Error("bad point: x or y not FE");let ew=eH.sqr(eV),eM=eN(eb);if(!eH.eql(ew,eM))throw Error("bad point: equation left != right");if(!this.isTorsionFree())throw Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:eb}=this.toAffine();if(eH.isOdd)return!eH.isOdd(eb);throw Error("Field doesn't support isOdd")}equals(eb){eB(eb);let{px:em,py:eV,pz:ew}=this,{px:eM,py:eC,pz:eT}=eb,e_=eH.eql(eH.mul(em,eT),eH.mul(eM,ew)),eS=eH.eql(eH.mul(eV,eT),eH.mul(eC,ew));return e_&&eS}negate(){return new eF(this.px,eH.neg(this.py),this.pz)}double(){let{a:eb,b:eV}=em,ew=eH.mul(eV,eI),{px:eM,py:eC,pz:eT}=this,e_=eH.ZERO,eS=eH.ZERO,eE=eH.ZERO,eA=eH.mul(eM,eM),eN=eH.mul(eC,eC),eD=eH.mul(eT,eT),eP=eH.mul(eM,eC);return eP=eH.add(eP,eP),eE=eH.mul(eM,eT),eE=eH.add(eE,eE),e_=eH.mul(eb,eE),eS=eH.mul(ew,eD),eS=eH.add(e_,eS),e_=eH.sub(eN,eS),eS=eH.add(eN,eS),eS=eH.mul(e_,eS),e_=eH.mul(eP,e_),eE=eH.mul(ew,eE),eD=eH.mul(eb,eD),eP=eH.sub(eA,eD),eP=eH.mul(eb,eP),eP=eH.add(eP,eE),eE=eH.add(eA,eA),eA=eH.add(eE,eA),eA=eH.add(eA,eD),eA=eH.mul(eA,eP),eS=eH.add(eS,eA),eD=eH.mul(eC,eT),eD=eH.add(eD,eD),eA=eH.mul(eD,eP),e_=eH.sub(e_,eA),eE=eH.mul(eD,eN),eE=eH.add(eE,eE),eE=eH.add(eE,eE),new eF(e_,eS,eE)}add(eb){eB(eb);let{px:eV,py:ew,pz:eM}=this,{px:eC,py:eT,pz:e_}=eb,eS=eH.ZERO,eE=eH.ZERO,eA=eH.ZERO,eN=em.a,eD=eH.mul(em.b,eI),eP=eH.mul(eV,eC),eO=eH.mul(ew,eT),eR=eH.mul(eM,e_),ej=eH.add(eV,ew),eU=eH.add(eC,eT);ej=eH.mul(ej,eU),eU=eH.add(eP,eO),ej=eH.sub(ej,eU),eU=eH.add(eV,eM);let e$=eH.add(eC,e_);return eU=eH.mul(eU,e$),e$=eH.add(eP,eR),eU=eH.sub(eU,e$),e$=eH.add(ew,eM),eS=eH.add(eT,e_),e$=eH.mul(e$,eS),eS=eH.add(eO,eR),e$=eH.sub(e$,eS),eA=eH.mul(eN,eU),eS=eH.mul(eD,eR),eA=eH.add(eS,eA),eS=eH.sub(eO,eA),eA=eH.add(eO,eA),eE=eH.mul(eS,eA),eO=eH.add(eP,eP),eO=eH.add(eO,eP),eR=eH.mul(eN,eR),eU=eH.mul(eD,eU),eO=eH.add(eO,eR),eR=eH.sub(eP,eR),eR=eH.mul(eN,eR),eU=eH.add(eU,eR),eP=eH.mul(eO,eU),eE=eH.add(eE,eP),eP=eH.mul(e$,eU),eS=eH.mul(ej,eS),eS=eH.sub(eS,eP),eP=eH.mul(ej,eO),eA=eH.mul(e$,eA),eA=eH.add(eA,eP),new eF(eS,eE,eA)}subtract(eb){return this.add(eb.negate())}is0(){return this.equals(eF.ZERO)}wNAF(eb){return eU.wNAFCached(this,eR,eb,eb=>{let em=eH.invertBatch(eb.map(eb=>eb.pz));return eb.map((eb,eH)=>eb.toAffine(em[eH])).map(eF.fromAffine)})}multiplyUnsafe(eb){let eV=eF.ZERO;if(eb===eE)return eV;if(eP(eb),eb===eA)return this;let{endo:ew}=em;if(!ew)return eU.unsafeLadder(this,eb);let{k1neg:eM,k1:eC,k2neg:eT,k2:e_}=ew.splitScalar(eb),eS=eV,eN=eV,eI=this;for(;eC>eE||e_>eE;)eC&eA&&(eS=eS.add(eI)),e_&eA&&(eN=eN.add(eI)),eI=eI.double(),eC>>=eA,e_>>=eA;return eM&&(eS=eS.negate()),eT&&(eN=eN.negate()),eN=new eF(eH.mul(eN.px,ew.beta),eN.py,eN.pz),eS.add(eN)}multiply(eb){let eV,ew;eP(eb);let eM=eb,{endo:eC}=em;if(eC){let{k1neg:eb,k1:em,k2neg:eT,k2:e_}=eC.splitScalar(eM),{p:eS,f:eE}=this.wNAF(em),{p:eA,f:eN}=this.wNAF(e_);eS=eU.constTimeNegate(eb,eS),eA=eU.constTimeNegate(eT,eA),eA=new eF(eH.mul(eA.px,eC.beta),eA.py,eA.pz),eV=eS.add(eA),ew=eE.add(eN)}else{let{p:eb,f:em}=this.wNAF(eM);eV=eb,ew=em}return eF.normalizeZ([eV,ew])[0]}multiplyAndAddUnsafe(eb,em,eH){let eV=eF.BASE,ew=(eb,em)=>em!==eE&&em!==eA&&eb.equals(eV)?eb.multiply(em):eb.multiplyUnsafe(em),eM=ew(this,em).add(ew(eb,eH));return eM.is0()?void 0:eM}toAffine(eb){let{px:em,py:eV,pz:ew}=this,eM=this.is0();null==eb&&(eb=eM?eH.ONE:eH.inv(ew));let eC=eH.mul(em,eb),eT=eH.mul(eV,eb),e_=eH.mul(ew,eb);if(eM)return{x:eH.ZERO,y:eH.ZERO};if(!eH.eql(e_,eH.ONE))throw Error("invZ was invalid");return{x:eC,y:eT}}isTorsionFree(){let{h:eb,isTorsionFree:eH}=em;if(eb===eA)return!0;if(eH)return eH(eF,this);throw Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:eb,clearCofactor:eH}=em;return eb===eA?this:eH?eH(eF,this):this.multiplyUnsafe(em.h)}toRawBytes(eb=!0){return this.assertValidity(),e_(eF,this,eb)}toHex(eb=!0){return ew.bytesToHex(this.toRawBytes(eb))}}eF.BASE=new eF(em.Gx,em.Gy,eH.ONE),eF.ZERO=new eF(eH.ZERO,eH.ONE,eH.ZERO);let ej=em.nBitLength,eU=(0,eC.wNAF)(eF,em.endo?Math.ceil(ej/2):ej);return{CURVE:em,ProjectivePoint:eF,normPrivateKeyToScalar:eO,weierstrassEquation:eN,isWithinCurveOrder:eD}}function eO(eb){let em=(0,eC.validateBasic)(eb);return ew.validateObject(em,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...em})}function eR(eb){let eH=eO(eb),{Fp:eC,n:eT}=eH,e_=eC.BYTES+1,eS=2*eC.BYTES+1;function eN(eb){return eEew.bytesToHex(ew.numberToBytesBE(eb,eH.nByteLength));function e$(eb){let em=eT>>eA;return eb>em}function eW(eb){return e$(eb)?eI(-eb):eb}let eZ=(eb,em,eH)=>ew.bytesToNumberBE(eb.slice(em,eH));class eG{constructor(eb,em,eH){this.r=eb,this.s=em,this.recovery=eH,this.assertValidity()}static fromCompact(eb){let em=eH.nByteLength;return eb=(0,eM.ensureBytes)("compactSignature",eb,2*em),new eG(eZ(eb,0,em),eZ(eb,em,2*em))}static fromDER(eb){let{r:eH,s:eV}=em.DER.toSig((0,eM.ensureBytes)("DER",eb));return new eG(eH,eV)}assertValidity(){if(!ej(this.r))throw Error("r must be 0 < r < CURVE.n");if(!ej(this.s))throw Error("s must be 0 < s < CURVE.n")}addRecoveryBit(eb){return new eG(this.r,this.s,eb)}recoverPublicKey(eb){let{r:em,s:eV,recovery:ew}=this,eT=e0((0,eM.ensureBytes)("msgHash",eb));if(null==ew||![0,1,2,3].includes(ew))throw Error("recovery id invalid");let e_=2===ew||3===ew?em+eH.n:em;if(e_>=eC.ORDER)throw Error("recovery id 2 or 3 invalid");let eS=(1&ew)==0?"02":"03",eE=eR.fromHex(eS+eU(e_)),eA=eD(e_),eN=eI(-eT*eA),eP=eI(eV*eA),eO=eR.BASE.multiplyAndAddUnsafe(eE,eN,eP);if(!eO)throw Error("point at infinify");return eO.assertValidity(),eO}hasHighS(){return e$(this.s)}normalizeS(){return this.hasHighS()?new eG(this.r,eI(-this.s),this.recovery):this}toDERRawBytes(){return ew.hexToBytes(this.toDERHex())}toDERHex(){return em.DER.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return ew.hexToBytes(this.toCompactHex())}toCompactHex(){return eU(this.r)+eU(this.s)}}let eK={isValidPrivateKey(eb){try{return eB(eb),!0}catch(eb){return!1}},normPrivateKeyToScalar:eB,randomPrivateKey:()=>{let eb=eV.getMinHashLength(eH.n);return eV.mapHashToField(eH.randomBytes(eb),eH.n)},precompute:(eb=8,em=eR.BASE)=>(em._setWindowSize(eb),em.multiply(BigInt(3)),em)};function eY(eb,em=!0){return eR.fromPrivateKey(eb).toRawBytes(em)}function eX(eb){let em=ew.isBytes(eb),eH="string"==typeof eb,eV=(em||eH)&&eb.length;return em?eV===e_||eV===eS:eH?eV===2*e_||eV===2*eS:eb instanceof eR}function eJ(eb,em,eH=!0){if(eX(eb))throw Error("first arg must be private key");if(!eX(em))throw Error("second arg must be public key");let eV=eR.fromHex(em);return eV.multiply(eB(eb)).toRawBytes(eH)}let eQ=eH.bits2int||function(eb){let em=ew.bytesToNumberBE(eb),eV=8*eb.length-eH.nBitLength;return eV>0?em>>BigInt(eV):em},e0=eH.bits2int_modN||function(eb){return eI(eQ(eb))},e6=ew.bitMask(eH.nBitLength);function e4(eb){if("bigint"!=typeof eb)throw Error("bigint expected");if(!(eE<=eb&&ebeb in eV))throw Error("sign() legacy options not supported");let{hash:eT,randomBytes:e_}=eH,{lowS:eS,prehash:eN,extraEntropy:eP}=eV;null==eS&&(eS=!0),eb=(0,eM.ensureBytes)("msgHash",eb),eN&&(eb=(0,eM.ensureBytes)("prehashed msgHash",eT(eb)));let eO=e0(eb),eF=eB(em),eU=[e4(eF),e4(eO)];if(null!=eP){let eb=!0===eP?e_(eC.BYTES):eP;eU.push((0,eM.ensureBytes)("extraEntropy",eb))}let eZ=ew.concatBytes(...eU),eK=eO;return{seed:eZ,k2sig:function(eb){let em=eQ(eb);if(!ej(em))return;let eH=eD(em),eV=eR.BASE.multiply(em).toAffine(),ew=eI(eV.x);if(ew===eE)return;let eM=eI(eH*eI(eK+ew*eF));if(eM===eE)return;let eC=(eV.x===ew?0:2)|Number(eV.y&eA),eT=eM;return eS&&e$(eM)&&(eT=eW(eM),eC^=1),new eG(ew,eT,eC)}}}let e5={lowS:eH.lowS,prehash:!1},e8={lowS:eH.lowS,prehash:!1};function e9(eb,em,eV=e5){let{seed:eM,k2sig:eC}=e3(eb,em,eV),eT=eH,e_=ew.createHmacDrbg(eT.hash.outputLen,eT.nByteLength,eT.hmac);return e_(eM,eC)}return eR.BASE._setWindowSize(8),{CURVE:eH,getPublicKey:eY,getSharedSecret:eJ,sign:e9,verify:function(eb,eV,eC,eT=e8){let e_,eS;let eE=eb;if(eV=(0,eM.ensureBytes)("msgHash",eV),eC=(0,eM.ensureBytes)("publicKey",eC),"strict"in eT)throw Error("options.strict was renamed to lowS");let{lowS:eA,prehash:eN}=eT;try{if("string"==typeof eE||ew.isBytes(eE))try{eS=eG.fromDER(eE)}catch(eb){if(!(eb instanceof em.DER.Err))throw eb;eS=eG.fromCompact(eE)}else if("object"==typeof eE&&"bigint"==typeof eE.r&&"bigint"==typeof eE.s){let{r:eb,s:em}=eE;eS=new eG(eb,em)}else throw Error("PARSE");e_=eR.fromHex(eC)}catch(eb){if("PARSE"===eb.message)throw Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(eA&&eS.hasHighS())return!1;eN&&(eV=eH.hash(eV));let{r:eP,s:eO}=eS,eB=e0(eV),eF=eD(eO),ej=eI(eB*eF),eU=eI(eP*eF),e$=eR.BASE.multiplyAndAddUnsafe(e_,ej,eU)?.toAffine();if(!e$)return!1;let eW=eI(e$.x);return eW===eP},ProjectivePoint:eR,Signature:eG,utils:eK}}function eB(eb,em){let eH=eb.ORDER,eV=eE;for(let eb=eH-eA;eb%eN===eE;eb/=eN)eV+=eA;let ew=eV,eM=eN<{let eV=eO,eM=eb.pow(eH,eS),eC=eb.sqr(eM);eC=eb.mul(eC,eH);let eT=eb.mul(em,eC);eT=eb.pow(eT,e_),eT=eb.mul(eT,eM),eM=eb.mul(eT,eH),eC=eb.mul(eT,em);let eE=eb.mul(eC,eM);eT=eb.pow(eE,eP);let eI=eb.eql(eT,eb.ONE);eM=eb.mul(eC,eR),eT=eb.mul(eE,eV),eC=eb.cmov(eM,eC,eI),eE=eb.cmov(eT,eE,eI);for(let em=ew;em>eA;em--){let eH=em-eN;eH=eN<{let eM=eb.sqr(ew),eC=eb.mul(em,ew);eM=eb.mul(eM,eC);let eT=eb.pow(eM,eH);eT=eb.mul(eT,eC);let e_=eb.mul(eT,eV),eS=eb.mul(eb.sqr(eT),ew),eE=eb.eql(eS,em),eA=eb.cmov(e_,eT,eE);return{isValid:eE,value:eA}}}return eB}function eF(eb,em){if(eV.validateField(eb),!eb.isValid(em.A)||!eb.isValid(em.B)||!eb.isValid(em.Z))throw Error("mapToCurveSimpleSWU: invalid opts");let eH=eB(eb,em.Z);if(!eb.isOdd)throw Error("Fp.isOdd is not implemented!");return eV=>{let ew,eM,eC,eT,e_,eS,eE,eA;ew=eb.sqr(eV),ew=eb.mul(ew,em.Z),eM=eb.sqr(ew),eM=eb.add(eM,ew),eC=eb.add(eM,eb.ONE),eC=eb.mul(eC,em.B),eT=eb.cmov(em.Z,eb.neg(eM),!eb.eql(eM,eb.ZERO)),eT=eb.mul(eT,em.A),eM=eb.sqr(eC),eS=eb.sqr(eT),e_=eb.mul(eS,em.A),eM=eb.add(eM,e_),eM=eb.mul(eM,eC),eS=eb.mul(eS,eT),e_=eb.mul(eS,em.B),eM=eb.add(eM,e_),eE=eb.mul(ew,eC);let{isValid:eN,value:eI}=eH(eM,eS);eA=eb.mul(ew,eV),eA=eb.mul(eA,eI),eE=eb.cmov(eE,eC,eN),eA=eb.cmov(eA,eI,eN);let eD=eb.isOdd(eV)===eb.isOdd(eA);return eA=eb.cmov(eb.neg(eA),eA,eD),{x:eE=eb.div(eE,eT),y:eA}}}em.weierstrassPoints=eP,em.weierstrass=eR,em.SWUFpSqrtRatio=eB,em.mapToCurveSimpleSWU=eF},33497:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.encodeToCurve=em.hashToCurve=em.schnorr=em.secp256k1=void 0;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let eV=eH(23061),ew=eH(98089),eM=eH(94632),eC=eH(96551),eT=eH(40219),e_=eH(15134),eS=eH(79082),eE=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),eA=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),eN=BigInt(1),eI=BigInt(2),eD=(eb,em)=>(eb+em/eI)/em;function eP(eb){let em=eE,eH=BigInt(3),eV=BigInt(6),ew=BigInt(11),eC=BigInt(22),eT=BigInt(23),e_=BigInt(44),eS=BigInt(88),eA=eb*eb*eb%em,eN=eA*eA*eb%em,eD=(0,eM.pow2)(eN,eH,em)*eN%em,eP=(0,eM.pow2)(eD,eH,em)*eN%em,eR=(0,eM.pow2)(eP,eI,em)*eA%em,eB=(0,eM.pow2)(eR,ew,em)*eR%em,eF=(0,eM.pow2)(eB,eC,em)*eB%em,ej=(0,eM.pow2)(eF,e_,em)*eF%em,eU=(0,eM.pow2)(ej,eS,em)*ej%em,e$=(0,eM.pow2)(eU,e_,em)*eF%em,eW=(0,eM.pow2)(e$,eH,em)*eN%em,eZ=(0,eM.pow2)(eW,eT,em)*eB%em,eG=(0,eM.pow2)(eZ,eV,em)*eA%em,eK=(0,eM.pow2)(eG,eI,em);if(!eO.eql(eO.sqr(eK),eb))throw Error("Cannot find square root");return eK}let eO=(0,eM.Field)(eE,void 0,void 0,{sqrt:eP});em.secp256k1=(0,eS.createCurve)({a:BigInt(0),b:BigInt(7),Fp:eO,n:eA,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:eb=>{let em=eA,eH=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),eV=-eN*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),ew=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),eC=eH,eT=BigInt("0x100000000000000000000000000000000"),e_=eD(eC*eb,em),eS=eD(-eV*eb,em),eE=(0,eM.mod)(eb-e_*eH-eS*ew,em),eI=(0,eM.mod)(-e_*eV-eS*eC,em),eP=eE>eT,eO=eI>eT;if(eP&&(eE=em-eE),eO&&(eI=em-eI),eE>eT||eI>eT)throw Error("splitScalar: Endomorphism failed, k="+eb);return{k1neg:eP,k1:eE,k2neg:eO,k2:eI}}}},eV.sha256);let eR=BigInt(0),eB=eb=>"bigint"==typeof eb&&eR"bigint"==typeof eb&&eReb.charCodeAt(0)));eH=(0,eT.concatBytes)(em,em),ej[eb]=eH}return(0,eV.sha256)((0,eT.concatBytes)(eH,...em))}let e$=eb=>eb.toRawBytes(!0).slice(1),eW=eb=>(0,eT.numberToBytesBE)(eb,32),eZ=eb=>(0,eM.mod)(eb,eE),eG=eb=>(0,eM.mod)(eb,eA),eK=em.secp256k1.ProjectivePoint,eY=(eb,em,eH)=>eK.BASE.multiplyAndAddUnsafe(eb,em,eH);function eX(eb){let eH=em.secp256k1.utils.normPrivateKeyToScalar(eb),eV=eK.fromPrivateKey(eH),ew=eV.hasEvenY()?eH:eG(-eH);return{scalar:ew,bytes:e$(eV)}}function eJ(eb){if(!eB(eb))throw Error("bad x: need 0 < x < p");let em=eZ(eb*eb),eH=eZ(em*eb+BigInt(7)),eV=eP(eH);eV%eI!==eR&&(eV=eZ(-eV));let ew=new eK(eb,eV,eN);return ew.assertValidity(),ew}function eQ(...eb){return eG((0,eT.bytesToNumberBE)(eU("BIP0340/challenge",...eb)))}function e0(eb){return eX(eb).bytes}function e6(eb,em,eH=(0,ew.randomBytes)(32)){let eV=(0,eT.ensureBytes)("message",eb),{bytes:eM,scalar:eC}=eX(em),e_=(0,eT.ensureBytes)("auxRand",eH,32),eS=eW(eC^(0,eT.bytesToNumberBE)(eU("BIP0340/aux",e_))),eE=eU("BIP0340/nonce",eS,eM,eV),eA=eG((0,eT.bytesToNumberBE)(eE));if(eA===eR)throw Error("sign failed: k is zero");let{bytes:eN,scalar:eI}=eX(eA),eD=eQ(eN,eM,eV),eP=new Uint8Array(64);if(eP.set(eN,0),eP.set(eW(eG(eI+eD*eC)),32),!e4(eP,eV,eM))throw Error("sign: Invalid signature produced");return eP}function e4(eb,em,eH){let eV=(0,eT.ensureBytes)("signature",eb,64),ew=(0,eT.ensureBytes)("message",em),eM=(0,eT.ensureBytes)("publicKey",eH,32);try{let eb=eJ((0,eT.bytesToNumberBE)(eM)),em=(0,eT.bytesToNumberBE)(eV.subarray(0,32));if(!eB(em))return!1;let eH=(0,eT.bytesToNumberBE)(eV.subarray(32,64));if(!eF(eH))return!1;let eC=eQ(eW(em),e$(eb),ew),e_=eY(eb,eH,eG(-eC));if(!e_||!e_.hasEvenY()||e_.toAffine().x!==em)return!1;return!0}catch(eb){return!1}}em.schnorr={getPublicKey:e0,sign:e6,verify:e4,utils:{randomPrivateKey:em.secp256k1.utils.randomPrivateKey,lift_x:eJ,pointToBytes:e$,numberToBytesBE:eT.numberToBytesBE,bytesToNumberBE:eT.bytesToNumberBE,taggedHash:eU,mod:eM.mod}};let e3=(0,e_.isogenyMap)(eO,[["0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7","0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581","0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262","0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c"],["0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b","0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14","0x0000000000000000000000000000000000000000000000000000000000000001"],["0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c","0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3","0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931","0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84"],["0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b","0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573","0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f","0x0000000000000000000000000000000000000000000000000000000000000001"]].map(eb=>eb.map(eb=>BigInt(eb)))),e5=(0,eC.mapToCurveSimpleSWU)(eO,{A:BigInt("0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533"),B:BigInt("1771"),Z:eO.create(BigInt("-11"))}),e8=(0,e_.createHasher)(em.secp256k1.ProjectivePoint,eb=>{let{x:em,y:eH}=e5(eO.create(eb[0]));return e3(em,eH)},{DST:"secp256k1_XMD:SHA-256_SSWU_RO_",encodeDST:"secp256k1_XMD:SHA-256_SSWU_NU_",p:eO.ORDER,m:1,k:128,expand:"xmd",hash:eV.sha256});em.hashToCurve=e8.hashToCurve,em.encodeToCurve=e8.encodeToCurve},27320:function(eb,em){"use strict";function eH(eb){if(!Number.isSafeInteger(eb)||eb<0)throw Error(`Wrong positive integer: ${eb}`)}function eV(eb){if("boolean"!=typeof eb)throw Error(`Expected boolean, not ${eb}`)}function ew(eb){return eb instanceof Uint8Array||null!=eb&&"object"==typeof eb&&"Uint8Array"===eb.constructor.name}function eM(eb,...em){if(!ew(eb))throw Error("Expected Uint8Array");if(em.length>0&&!em.includes(eb.length))throw Error(`Expected Uint8Array of length ${em}, not of length=${eb.length}`)}function eC(eb){if("function"!=typeof eb||"function"!=typeof eb.create)throw Error("Hash should be wrapped by utils.wrapConstructor");eH(eb.outputLen),eH(eb.blockLen)}function eT(eb,em=!0){if(eb.destroyed)throw Error("Hash instance has been destroyed");if(em&&eb.finished)throw Error("Hash#digest() has already been called")}function e_(eb,em){eM(eb);let eH=em.outputLen;if(eb.length>ew&eM),eT=Number(eH&eM),e_=eV?4:0,eS=eV?0:4;eb.setUint32(em+e_,eC,eV),eb.setUint32(em+eS,eT,eV)}class eC extends ew.Hash{constructor(eb,em,eH,eV){super(),this.blockLen=eb,this.outputLen=em,this.padOffset=eH,this.isLE=eV,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(eb),this.view=(0,ew.createView)(this.buffer)}update(eb){(0,eV.exists)(this);let{view:em,buffer:eH,blockLen:eM}=this;eb=(0,ew.toBytes)(eb);let eC=eb.length;for(let eV=0;eVeC-e_&&(this.process(eH,0),e_=0);for(let eb=e_;ebeN.length)throw Error("_sha2: outputLen bigger than state");for(let eb=0;eb>eV&eH)}:{h:0|Number(eb>>eV&eH),l:0|Number(eb&eH)}}function eM(eb,em=!1){let eH=new Uint32Array(eb.length),eV=new Uint32Array(eb.length);for(let eM=0;eMBigInt(eb>>>0)<>>0);em.toBig=eC;let eT=(eb,em,eH)=>eb>>>eH;em.shrSH=eT;let e_=(eb,em,eH)=>eb<<32-eH|em>>>eH;em.shrSL=e_;let eS=(eb,em,eH)=>eb>>>eH|em<<32-eH;em.rotrSH=eS;let eE=(eb,em,eH)=>eb<<32-eH|em>>>eH;em.rotrSL=eE;let eA=(eb,em,eH)=>eb<<64-eH|em>>>eH-32;em.rotrBH=eA;let eN=(eb,em,eH)=>eb>>>eH-32|em<<64-eH;em.rotrBL=eN;let eI=(eb,em)=>em;em.rotr32H=eI;let eD=(eb,em)=>eb;em.rotr32L=eD;let eP=(eb,em,eH)=>eb<>>32-eH;em.rotlSH=eP;let eO=(eb,em,eH)=>em<>>32-eH;em.rotlSL=eO;let eR=(eb,em,eH)=>em<>>64-eH;em.rotlBH=eR;let eB=(eb,em,eH)=>eb<>>64-eH;function eF(eb,em,eH,eV){let ew=(em>>>0)+(eV>>>0);return{h:eb+eH+(ew/4294967296|0)|0,l:0|ew}}em.rotlBL=eB,em.add=eF;let ej=(eb,em,eH)=>(eb>>>0)+(em>>>0)+(eH>>>0);em.add3L=ej;let eU=(eb,em,eH,eV)=>em+eH+eV+(eb/4294967296|0)|0;em.add3H=eU;let e$=(eb,em,eH,eV)=>(eb>>>0)+(em>>>0)+(eH>>>0)+(eV>>>0);em.add4L=e$;let eW=(eb,em,eH,eV,ew)=>em+eH+eV+ew+(eb/4294967296|0)|0;em.add4H=eW;let eZ=(eb,em,eH,eV,ew)=>(eb>>>0)+(em>>>0)+(eH>>>0)+(eV>>>0)+(ew>>>0);em.add5L=eZ;let eG=(eb,em,eH,eV,ew,eM)=>em+eH+eV+ew+eM+(eb/4294967296|0)|0;em.add5H=eG;let eK={fromBig:ew,split:eM,toBig:eC,shrSH:eT,shrSL:e_,rotrSH:eS,rotrSL:eE,rotrBH:eA,rotrBL:eN,rotr32H:eI,rotr32L:eD,rotlSH:eP,rotlSL:eO,rotlBH:eR,rotlBL:eB,add:eF,add3L:ej,add3H:eU,add4L:e$,add4H:eW,add5H:eG,add5L:eZ};em.default=eK},31945:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.crypto=void 0,em.crypto="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0},79569:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.hmac=em.HMAC=void 0;let eV=eH(27320),ew=eH(98089);class eM extends ew.Hash{constructor(eb,em){super(),this.finished=!1,this.destroyed=!1,(0,eV.hash)(eb);let eH=(0,ew.toBytes)(em);if(this.iHash=eb.create(),"function"!=typeof this.iHash.update)throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let eM=this.blockLen,eC=new Uint8Array(eM);eC.set(eH.length>eM?eb.create().update(eH).digest():eH);for(let eb=0;ebnew eM(eb,em).update(eH).digest();em.hmac=eC,em.hmac.create=(eb,em)=>new eM(eb,em)},29023:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.pbkdf2Async=em.pbkdf2=void 0;let eV=eH(27320),ew=eH(79569),eM=eH(98089);function eC(eb,em,eH,eC){(0,eV.hash)(eb);let eT=(0,eM.checkOpts)({dkLen:32,asyncTick:10},eC),{c:e_,dkLen:eS,asyncTick:eE}=eT;if((0,eV.number)(e_),(0,eV.number)(eS),(0,eV.number)(eE),e_<1)throw Error("PBKDF2: iterations (c) should be >= 1");let eA=(0,eM.toBytes)(em),eN=(0,eM.toBytes)(eH),eI=new Uint8Array(eS),eD=ew.hmac.create(eb,eA),eP=eD._cloneInto().update(eN);return{c:e_,dkLen:eS,asyncTick:eE,DK:eI,PRF:eD,PRFSalt:eP}}function eT(eb,em,eH,eV,ew){return eb.destroy(),em.destroy(),eV&&eV.destroy(),ew.fill(0),eH}function e_(eb,em,eH,eV){let ew;let{c:e_,dkLen:eS,DK:eE,PRF:eA,PRFSalt:eN}=eC(eb,em,eH,eV),eI=new Uint8Array(4),eD=(0,eM.createView)(eI),eP=new Uint8Array(eA.outputLen);for(let eb=1,em=0;em{eN._cloneInto(ew).update(eO).digestInto(eO);for(let eb=0;ebeb&em^~eb&eH,eC=(eb,em,eH)=>eb&em^eb&eH^em&eH,eT=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]),e_=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),eS=new Uint32Array(64);class eE extends eV.SHA2{constructor(){super(64,32,8,!1),this.A=0|e_[0],this.B=0|e_[1],this.C=0|e_[2],this.D=0|e_[3],this.E=0|e_[4],this.F=0|e_[5],this.G=0|e_[6],this.H=0|e_[7]}get(){let{A:eb,B:em,C:eH,D:eV,E:ew,F:eM,G:eC,H:eT}=this;return[eb,em,eH,eV,ew,eM,eC,eT]}set(eb,em,eH,eV,ew,eM,eC,eT){this.A=0|eb,this.B=0|em,this.C=0|eH,this.D=0|eV,this.E=0|ew,this.F=0|eM,this.G=0|eC,this.H=0|eT}process(eb,em){for(let eH=0;eH<16;eH++,em+=4)eS[eH]=eb.getUint32(em,!1);for(let eb=16;eb<64;eb++){let em=eS[eb-15],eH=eS[eb-2],eV=(0,ew.rotr)(em,7)^(0,ew.rotr)(em,18)^em>>>3,eM=(0,ew.rotr)(eH,17)^(0,ew.rotr)(eH,19)^eH>>>10;eS[eb]=eM+eS[eb-7]+eV+eS[eb-16]|0}let{A:eH,B:eV,C:e_,D:eE,E:eA,F:eN,G:eI,H:eD}=this;for(let eb=0;eb<64;eb++){let em=(0,ew.rotr)(eA,6)^(0,ew.rotr)(eA,11)^(0,ew.rotr)(eA,25),eP=eD+em+eM(eA,eN,eI)+eT[eb]+eS[eb]|0,eO=(0,ew.rotr)(eH,2)^(0,ew.rotr)(eH,13)^(0,ew.rotr)(eH,22),eR=eO+eC(eH,eV,e_)|0;eD=eI,eI=eN,eN=eA,eA=eE+eP|0,eE=e_,e_=eV,eV=eH,eH=eP+eR|0}eH=eH+this.A|0,eV=eV+this.B|0,e_=e_+this.C|0,eE=eE+this.D|0,eA=eA+this.E|0,eN=eN+this.F|0,eI=eI+this.G|0,eD=eD+this.H|0,this.set(eH,eV,e_,eE,eA,eN,eI,eD)}roundClean(){eS.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class eA extends eE{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}em.sha256=(0,ew.wrapConstructor)(()=>new eE),em.sha224=(0,ew.wrapConstructor)(()=>new eA)},85426:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.shake256=em.shake128=em.keccak_512=em.keccak_384=em.keccak_256=em.keccak_224=em.sha3_512=em.sha3_384=em.sha3_256=em.sha3_224=em.Keccak=em.keccakP=void 0;let eV=eH(27320),ew=eH(6873),eM=eH(98089),[eC,eT,e_]=[[],[],[]],eS=BigInt(0),eE=BigInt(1),eA=BigInt(2),eN=BigInt(7),eI=BigInt(256),eD=BigInt(113);for(let eb=0,em=eE,eH=1,eV=0;eb<24;eb++){[eH,eV]=[eV,(2*eH+3*eV)%5],eC.push(2*(5*eV+eH)),eT.push((eb+1)*(eb+2)/2%64);let ew=eS;for(let eb=0;eb<7;eb++)(em=(em<>eN)*eD)%eI)&eA&&(ew^=eE<<(eE<eH>32?(0,ew.rotlBH)(eb,em,eH):(0,ew.rotlSH)(eb,em,eH),eB=(eb,em,eH)=>eH>32?(0,ew.rotlBL)(eb,em,eH):(0,ew.rotlSL)(eb,em,eH);function eF(eb,em=24){let eH=new Uint32Array(10);for(let eV=24-em;eV<24;eV++){for(let em=0;em<10;em++)eH[em]=eb[em]^eb[em+10]^eb[em+20]^eb[em+30]^eb[em+40];for(let em=0;em<10;em+=2){let eV=(em+8)%10,ew=(em+2)%10,eM=eH[ew],eC=eH[ew+1],eT=eR(eM,eC,1)^eH[eV],e_=eB(eM,eC,1)^eH[eV+1];for(let eH=0;eH<50;eH+=10)eb[em+eH]^=eT,eb[em+eH+1]^=e_}let em=eb[2],ew=eb[3];for(let eH=0;eH<24;eH++){let eV=eT[eH],eM=eR(em,ew,eV),e_=eB(em,ew,eV),eS=eC[eH];em=eb[eS],ew=eb[eS+1],eb[eS]=eM,eb[eS+1]=e_}for(let em=0;em<50;em+=10){for(let eV=0;eV<10;eV++)eH[eV]=eb[em+eV];for(let eV=0;eV<10;eV++)eb[em+eV]^=~eH[(eV+2)%10]&eH[(eV+4)%10]}eb[0]^=eP[eV],eb[1]^=eO[eV]}eH.fill(0)}em.keccakP=eF;class ej extends eM.Hash{constructor(eb,em,eH,ew=!1,eC=24){if(super(),this.blockLen=eb,this.suffix=em,this.outputLen=eH,this.enableXOF=ew,this.rounds=eC,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,(0,eV.number)(eH),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=(0,eM.u32)(this.state)}keccak(){eF(this.state32,this.rounds),this.posOut=0,this.pos=0}update(eb){(0,eV.exists)(this);let{blockLen:em,state:eH}=this;eb=(0,eM.toBytes)(eb);let ew=eb.length;for(let eV=0;eV=eH&&this.keccak();let eM=Math.min(eH-this.posOut,ew-eV);eb.set(em.subarray(this.posOut,this.posOut+eM),eV),this.posOut+=eM,eV+=eM}return eb}xofInto(eb){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(eb)}xof(eb){return(0,eV.number)(eb),this.xofInto(new Uint8Array(eb))}digestInto(eb){if((0,eV.output)(eb,this),this.finished)throw Error("digest() was already called");return this.writeInto(eb),this.destroy(),eb}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(eb){let{blockLen:em,suffix:eH,outputLen:eV,rounds:ew,enableXOF:eM}=this;return eb||(eb=new ej(em,eH,eV,eM,ew)),eb.state32.set(this.state32),eb.pos=this.pos,eb.posOut=this.posOut,eb.finished=this.finished,eb.rounds=ew,eb.suffix=eH,eb.outputLen=eV,eb.enableXOF=eM,eb.destroyed=this.destroyed,eb}}em.Keccak=ej;let eU=(eb,em,eH)=>(0,eM.wrapConstructor)(()=>new ej(em,eb,eH));em.sha3_224=eU(6,144,28),em.sha3_256=eU(6,136,32),em.sha3_384=eU(6,104,48),em.sha3_512=eU(6,72,64),em.keccak_224=eU(1,144,28),em.keccak_256=eU(1,136,32),em.keccak_384=eU(1,104,48),em.keccak_512=eU(1,72,64);let e$=(eb,em,eH)=>(0,eM.wrapXOFConstructorWithOpts)((eV={})=>new ej(em,eb,void 0===eV.dkLen?eH:eV.dkLen,!0));em.shake128=e$(31,168,16),em.shake256=e$(31,136,32)},86262:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.sha384=em.sha512_256=em.sha512_224=em.sha512=em.SHA512=void 0;let eV=eH(27505),ew=eH(6873),eM=eH(98089),[eC,eT]=ew.default.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(eb=>BigInt(eb))),e_=new Uint32Array(80),eS=new Uint32Array(80);class eE extends eV.SHA2{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(){let{Ah:eb,Al:em,Bh:eH,Bl:eV,Ch:ew,Cl:eM,Dh:eC,Dl:eT,Eh:e_,El:eS,Fh:eE,Fl:eA,Gh:eN,Gl:eI,Hh:eD,Hl:eP}=this;return[eb,em,eH,eV,ew,eM,eC,eT,e_,eS,eE,eA,eN,eI,eD,eP]}set(eb,em,eH,eV,ew,eM,eC,eT,e_,eS,eE,eA,eN,eI,eD,eP){this.Ah=0|eb,this.Al=0|em,this.Bh=0|eH,this.Bl=0|eV,this.Ch=0|ew,this.Cl=0|eM,this.Dh=0|eC,this.Dl=0|eT,this.Eh=0|e_,this.El=0|eS,this.Fh=0|eE,this.Fl=0|eA,this.Gh=0|eN,this.Gl=0|eI,this.Hh=0|eD,this.Hl=0|eP}process(eb,em){for(let eH=0;eH<16;eH++,em+=4)e_[eH]=eb.getUint32(em),eS[eH]=eb.getUint32(em+=4);for(let eb=16;eb<80;eb++){let em=0|e_[eb-15],eH=0|eS[eb-15],eV=ew.default.rotrSH(em,eH,1)^ew.default.rotrSH(em,eH,8)^ew.default.shrSH(em,eH,7),eM=ew.default.rotrSL(em,eH,1)^ew.default.rotrSL(em,eH,8)^ew.default.shrSL(em,eH,7),eC=0|e_[eb-2],eT=0|eS[eb-2],eE=ew.default.rotrSH(eC,eT,19)^ew.default.rotrBH(eC,eT,61)^ew.default.shrSH(eC,eT,6),eA=ew.default.rotrSL(eC,eT,19)^ew.default.rotrBL(eC,eT,61)^ew.default.shrSL(eC,eT,6),eN=ew.default.add4L(eM,eA,eS[eb-7],eS[eb-16]),eI=ew.default.add4H(eN,eV,eE,e_[eb-7],e_[eb-16]);e_[eb]=0|eI,eS[eb]=0|eN}let{Ah:eH,Al:eV,Bh:eM,Bl:eE,Ch:eA,Cl:eN,Dh:eI,Dl:eD,Eh:eP,El:eO,Fh:eR,Fl:eB,Gh:eF,Gl:ej,Hh:eU,Hl:e$}=this;for(let eb=0;eb<80;eb++){let em=ew.default.rotrSH(eP,eO,14)^ew.default.rotrSH(eP,eO,18)^ew.default.rotrBH(eP,eO,41),eW=ew.default.rotrSL(eP,eO,14)^ew.default.rotrSL(eP,eO,18)^ew.default.rotrBL(eP,eO,41),eZ=eP&eR^~eP&eF,eG=eO&eB^~eO&ej,eK=ew.default.add5L(e$,eW,eG,eT[eb],eS[eb]),eY=ew.default.add5H(eK,eU,em,eZ,eC[eb],e_[eb]),eX=0|eK,eJ=ew.default.rotrSH(eH,eV,28)^ew.default.rotrBH(eH,eV,34)^ew.default.rotrBH(eH,eV,39),eQ=ew.default.rotrSL(eH,eV,28)^ew.default.rotrBL(eH,eV,34)^ew.default.rotrBL(eH,eV,39),e0=eH&eM^eH&eA^eM&eA,e6=eV&eE^eV&eN^eE&eN;eU=0|eF,e$=0|ej,eF=0|eR,ej=0|eB,eR=0|eP,eB=0|eO,({h:eP,l:eO}=ew.default.add(0|eI,0|eD,0|eY,0|eX)),eI=0|eA,eD=0|eN,eA=0|eM,eN=0|eE,eM=0|eH,eE=0|eV;let e4=ew.default.add3L(eX,eQ,e6);eH=ew.default.add3H(e4,eY,eJ,e0),eV=0|e4}({h:eH,l:eV}=ew.default.add(0|this.Ah,0|this.Al,0|eH,0|eV)),({h:eM,l:eE}=ew.default.add(0|this.Bh,0|this.Bl,0|eM,0|eE)),({h:eA,l:eN}=ew.default.add(0|this.Ch,0|this.Cl,0|eA,0|eN)),({h:eI,l:eD}=ew.default.add(0|this.Dh,0|this.Dl,0|eI,0|eD)),({h:eP,l:eO}=ew.default.add(0|this.Eh,0|this.El,0|eP,0|eO)),({h:eR,l:eB}=ew.default.add(0|this.Fh,0|this.Fl,0|eR,0|eB)),({h:eF,l:ej}=ew.default.add(0|this.Gh,0|this.Gl,0|eF,0|ej)),({h:eU,l:e$}=ew.default.add(0|this.Hh,0|this.Hl,0|eU,0|e$)),this.set(eH,eV,eM,eE,eA,eN,eI,eD,eP,eO,eR,eB,eF,ej,eU,e$)}roundClean(){e_.fill(0),eS.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)}}em.SHA512=eE;class eA extends eE{constructor(){super(),this.Ah=-1942145080,this.Al=424955298,this.Bh=1944164710,this.Bl=-1982016298,this.Ch=502970286,this.Cl=855612546,this.Dh=1738396948,this.Dl=1479516111,this.Eh=258812777,this.El=2077511080,this.Fh=2011393907,this.Fl=79989058,this.Gh=1067287976,this.Gl=1780299464,this.Hh=286451373,this.Hl=-1848208735,this.outputLen=28}}class eN extends eE{constructor(){super(),this.Ah=573645204,this.Al=-64227540,this.Bh=-1621794909,this.Bl=-934517566,this.Ch=596883563,this.Cl=1867755857,this.Dh=-1774684391,this.Dl=1497426621,this.Eh=-1775747358,this.El=-1467023389,this.Fh=-1101128155,this.Fl=1401305490,this.Gh=721525244,this.Gl=746961066,this.Hh=246885852,this.Hl=-2117784414,this.outputLen=32}}class eI extends eE{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48}}em.sha512=(0,eM.wrapConstructor)(()=>new eE),em.sha512_224=(0,eM.wrapConstructor)(()=>new eA),em.sha512_256=(0,eM.wrapConstructor)(()=>new eN),em.sha384=(0,eM.wrapConstructor)(()=>new eI)},98089:function(eb,em,eH){"use strict";/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */Object.defineProperty(em,"__esModule",{value:!0}),em.randomBytes=em.wrapXOFConstructorWithOpts=em.wrapConstructorWithOpts=em.wrapConstructor=em.checkOpts=em.Hash=em.concatBytes=em.toBytes=em.utf8ToBytes=em.asyncLoop=em.nextTick=em.hexToBytes=em.bytesToHex=em.isLE=em.rotr=em.createView=em.u32=em.u8=void 0;let eV=eH(31945),ew=eb=>new Uint8Array(eb.buffer,eb.byteOffset,eb.byteLength);em.u8=ew;let eM=eb=>new Uint32Array(eb.buffer,eb.byteOffset,Math.floor(eb.byteLength/4));function eC(eb){return eb instanceof Uint8Array||null!=eb&&"object"==typeof eb&&"Uint8Array"===eb.constructor.name}em.u32=eM;let eT=eb=>new DataView(eb.buffer,eb.byteOffset,eb.byteLength);em.createView=eT;let e_=(eb,em)=>eb<<32-em|eb>>>em;if(em.rotr=e_,em.isLE=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0],!em.isLE)throw Error("Non little-endian hardware is not supported");let eS=Array.from({length:256},(eb,em)=>em.toString(16).padStart(2,"0"));function eE(eb){if(!eC(eb))throw Error("Uint8Array expected");let em="";for(let eH=0;eH=eA._0&&eb<=eA._9?eb-eA._0:eb>=eA._A&&eb<=eA._F?eb-(eA._A-10):eb>=eA._a&&eb<=eA._f?eb-(eA._a-10):void 0}function eI(eb){if("string"!=typeof eb)throw Error("hex string expected, got "+typeof eb);let em=eb.length,eH=em/2;if(em%2)throw Error("padded hex string expected, got unpadded hex of length "+em);let eV=new Uint8Array(eH);for(let em=0,ew=0;em{};async function eP(eb,eH,eV){let ew=Date.now();for(let eM=0;eM=0&&ebeb().update(eR(em)).digest(),eH=eb();return em.outputLen=eH.outputLen,em.blockLen=eH.blockLen,em.create=()=>eb(),em}function eW(eb){let em=(em,eH)=>eb(eH).update(eR(em)).digest(),eH=eb({});return em.outputLen=eH.outputLen,em.blockLen=eH.blockLen,em.create=em=>eb(em),em}function eZ(eb){let em=(em,eH)=>eb(eH).update(eR(em)).digest(),eH=eb({});return em.outputLen=eH.outputLen,em.blockLen=eH.blockLen,em.create=em=>eb(em),em}function eG(eb=32){if(eV.crypto&&"function"==typeof eV.crypto.getRandomValues)return eV.crypto.getRandomValues(new Uint8Array(eb));throw Error("crypto.getRandomValues must be defined")}em.checkOpts=eU,em.wrapConstructor=e$,em.wrapConstructorWithOpts=eW,em.wrapXOFConstructorWithOpts=eZ,em.randomBytes=eG},39187:function(eb,em){"use strict";function eH(eb){if(!Number.isSafeInteger(eb))throw Error(`Wrong integer: ${eb}`)}function eV(eb){return eb instanceof Uint8Array||null!=eb&&"object"==typeof eb&&"Uint8Array"===eb.constructor.name}function ew(...eb){let em=eb=>eb,eH=(eb,em)=>eH=>eb(em(eH)),eV=eb.map(eb=>eb.encode).reduceRight(eH,em),eM=eb.map(eb=>eb.decode).reduce(eH,em);return{encode:eV,decode:eM}}function eM(eb){return{encode:em=>{if(!Array.isArray(em)||em.length&&"number"!=typeof em[0])throw Error("alphabet.encode input should be an array of numbers");return em.map(em=>{if(eH(em),em<0||em>=eb.length)throw Error(`Digit index outside alphabet: ${em} (alphabet: ${eb.length})`);return eb[em]})},decode:em=>{if(!Array.isArray(em)||em.length&&"string"!=typeof em[0])throw Error("alphabet.decode input should be array of strings");return em.map(em=>{if("string"!=typeof em)throw Error(`alphabet.decode: not string element=${em}`);let eH=eb.indexOf(em);if(-1===eH)throw Error(`Unknown letter: "${em}". Allowed: ${eb}`);return eH})}}}function eC(eb=""){if("string"!=typeof eb)throw Error("join separator should be string");return{encode:em=>{if(!Array.isArray(em)||em.length&&"string"!=typeof em[0])throw Error("join.encode input should be array of strings");for(let eb of em)if("string"!=typeof eb)throw Error(`join.encode: non-string input=${eb}`);return em.join(eb)},decode:em=>{if("string"!=typeof em)throw Error("join.decode input should be string");return em.split(eb)}}}function eT(eb,em="="){if(eH(eb),"string"!=typeof em)throw Error("padding chr should be string");return{encode(eH){if(!Array.isArray(eH)||eH.length&&"string"!=typeof eH[0])throw Error("padding.encode input should be array of strings");for(let eb of eH)if("string"!=typeof eb)throw Error(`padding.encode: non-string input=${eb}`);for(;eH.length*eb%8;)eH.push(em);return eH},decode(eH){if(!Array.isArray(eH)||eH.length&&"string"!=typeof eH[0])throw Error("padding.encode input should be array of strings");for(let eb of eH)if("string"!=typeof eb)throw Error(`padding.decode: non-string input=${eb}`);let eV=eH.length;if(eV*eb%8)throw Error("Invalid padding: string should have whole number of bytes");for(;eV>0&&eH[eV-1]===em;eV--)if(!((eV-1)*eb%8))throw Error("Invalid padding: string has too much padding");return eH.slice(0,eV)}}}function e_(eb){if("function"!=typeof eb)throw Error("normalize fn should be function");return{encode:eb=>eb,decode:em=>eb(em)}}function eS(eb,em,eV){if(em<2)throw Error(`convertRadix: wrong from=${em}, base cannot be less than 2`);if(eV<2)throw Error(`convertRadix: wrong to=${eV}, base cannot be less than 2`);if(!Array.isArray(eb))throw Error("convertRadix: data should be array");if(!eb.length)return[];let ew=0,eM=[],eC=Array.from(eb);for(eC.forEach(eb=>{if(eH(eb),eb<0||eb>=em)throw Error(`Wrong integer: ${eb}`)});;){let eb=0,eH=!0;for(let eM=ew;eMem?eE(em,eb%em):eb,eA=(eb,em)=>eb+(em-eE(eb,em));function eN(eb,em,eV,ew){if(!Array.isArray(eb))throw Error("convertRadix2: data should be array");if(em<=0||em>32)throw Error(`convertRadix2: wrong from=${em}`);if(eV<=0||eV>32)throw Error(`convertRadix2: wrong to=${eV}`);if(eA(em,eV)>32)throw Error(`convertRadix2: carry overflow from=${em} to=${eV} carryBits=${eA(em,eV)}`);let eM=0,eC=0,eT=2**eV-1,e_=[];for(let ew of eb){if(eH(ew),ew>=2**em)throw Error(`convertRadix2: invalid data word=${ew} from=${em}`);if(eM=eM<32)throw Error(`convertRadix2: carry overflow pos=${eC} from=${em}`);for(eC+=em;eC>=eV;eC-=eV)e_.push((eM>>eC-eV&eT)>>>0);eM&=2**eC-1}if(eM=eM<=em)throw Error("Excess padding");if(!ew&&eM)throw Error(`Non-zero padding: ${eM}`);return ew&&eC>0&&e_.push(eM>>>0),e_}function eI(eb){return eH(eb),{encode:em=>{if(!eV(em))throw Error("radix.encode input should be Uint8Array");return eS(Array.from(em),256,eb)},decode:em=>{if(!Array.isArray(em)||em.length&&"number"!=typeof em[0])throw Error("radix.decode input should be array of numbers");return Uint8Array.from(eS(em,eb,256))}}}function eD(eb,em=!1){if(eH(eb),eb<=0||eb>32)throw Error("radix2: bits should be in (0..32]");if(eA(8,eb)>32||eA(eb,8)>32)throw Error("radix2: carry overflow");return{encode:eH=>{if(!eV(eH))throw Error("radix2.encode input should be Uint8Array");return eN(Array.from(eH),8,eb,!em)},decode:eH=>{if(!Array.isArray(eH)||eH.length&&"number"!=typeof eH[0])throw Error("radix2.decode input should be array of numbers");return Uint8Array.from(eN(eH,eb,8,em))}}}function eP(eb){if("function"!=typeof eb)throw Error("unsafeWrapper fn should be function");return function(...em){try{return eb.apply(null,em)}catch(eb){}}}function eO(eb,em){if(eH(eb),"function"!=typeof em)throw Error("checksum fn should be function");return{encode(eH){if(!eV(eH))throw Error("checksum.encode: input should be Uint8Array");let ew=em(eH).slice(0,eb),eM=new Uint8Array(eH.length+eb);return eM.set(eH),eM.set(ew,eH.length),eM},decode(eH){if(!eV(eH))throw Error("checksum.decode: input should be Uint8Array");let ew=eH.slice(0,-eb),eM=em(ew).slice(0,eb),eC=eH.slice(-eb);for(let em=0;emeb.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1"))),em.base64=ew(eD(6),eM("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),eT(6),eC("")),em.base64nopad=ew(eD(6),eM("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),eC("")),em.base64url=ew(eD(6),eM("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),eT(6),eC("")),em.base64urlnopad=ew(eD(6),eM("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),eC(""));let eR=eb=>ew(eI(58),eM(eb),eC(""));em.base58=eR("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),em.base58flickr=eR("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),em.base58xrp=eR("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");let eB=[0,2,3,5,6,7,9,10,11];em.base58xmr={encode(eb){let eH="";for(let eV=0;eVew(eO(4,em=>eb(eb(em))),em.base58);em.createBase58check=eF,em.base58check=em.createBase58check;let ej=ew(eM("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),eC("")),eU=[996825010,642813549,513874426,1027748829,705979059];function e$(eb){let em=eb>>25,eH=(33554431&eb)<<5;for(let eb=0;eb>eb&1)==1&&(eH^=eU[eb]);return eH}function eW(eb,em,eH=1){let eV=eb.length,ew=1;for(let em=0;em126)throw Error(`Invalid prefix (${eb})`);ew=e$(ew)^eH>>5}ew=e$(ew);for(let em=0;emeV)throw TypeError(`Length ${ew} exceeds limit ${eV}`);let eM=eb.toLowerCase(),eC=eW(eM,eH,em);return`${eM}1${ej.encode(eH)}${eC}`}function eT(eb,eH=90){if("string"!=typeof eb)throw Error(`bech32.decode input should be string, not ${typeof eb}`);if(eb.length<8||!1!==eH&&eb.length>eH)throw TypeError(`Wrong string length: ${eb.length} (${eb}). Expected (8..${eH})`);let eV=eb.toLowerCase();if(eb!==eV&&eb!==eb.toUpperCase())throw Error("String must be lowercase or uppercase");let ew=eV.lastIndexOf("1");if(0===ew||-1===ew)throw Error('Letter "1" must be present between prefix and data only');let eM=eV.slice(0,ew),eC=eV.slice(ew+1);if(eC.length<6)throw Error("Data must be at least 6 characters long");let eT=ej.decode(eC).slice(0,-6),e_=eW(eM,eT,em);if(!eC.endsWith(e_))throw Error(`Invalid checksum in ${eb}: expected "${e_}"`);return{prefix:eM,words:eT}}let e_=eP(eT);return{encode:eC,decode:eT,decodeToBytes:function(eb){let{prefix:em,words:eH}=eT(eb,!1);return{prefix:em,words:eH,bytes:eV(eH)}},decodeUnsafe:e_,fromWords:eV,fromWordsUnsafe:eM,toWords:ew}}em.bech32=eZ("bech32"),em.bech32m=eZ("bech32m"),em.utf8={encode:eb=>new TextDecoder().decode(eb),decode:eb=>new TextEncoder().encode(eb)},em.hex=ew(eD(4),eM("0123456789abcdef"),eC(""),e_(eb=>{if("string"!=typeof eb||eb.length%2)throw TypeError(`hex.decode: expected string, got ${typeof eb} with length ${eb.length}`);return eb.toLowerCase()}));let eG={utf8:em.utf8,hex:em.hex,base16:em.base16,base32:em.base32,base64:em.base64,base64url:em.base64url,base58:em.base58,base58xmr:em.base58xmr},eK="Invalid encoding type. Available types: utf8, hex, base16, base32, base64, base64url, base58, base58xmr",eY=(eb,em)=>{if("string"!=typeof eb||!eG.hasOwnProperty(eb))throw TypeError(eK);if(!eV(em))throw TypeError("bytesToString() expects Uint8Array");return eG[eb].encode(em)};em.bytesToString=eY,em.str=em.bytesToString;let eX=(eb,em)=>{if(!eG.hasOwnProperty(eb))throw TypeError(eK);if("string"!=typeof em)throw TypeError("stringToBytes() expects string");return eG[eb].decode(em)};em.stringToBytes=eX,em.bytes=em.stringToBytes},39386:function(eb,em,eH){"use strict";var eV;/** +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[888],{39016:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.CoinbaseWalletSDK=void 0;let eM=ew(52719),eC=ew(96415),eT=ew(32072),e_=ew(49682),eE=ew(83143),eS=ew(26840),eA=ew(18411),eN=ew(81107),eI=ew(20462),eD=ew(23129),eO=ew(43604);class eP{constructor(eb){var em,ew,eM;this._appName="",this._appLogoUrl=null,this._relay=null,this._relayEventManager=null;let eE=eb.linkAPIUrl||eC.LINK_API_URL;void 0===eb.overrideIsMetaMask?this._overrideIsMetaMask=!1:this._overrideIsMetaMask=eb.overrideIsMetaMask,this._overrideIsCoinbaseWallet=null===(em=eb.overrideIsCoinbaseWallet)||void 0===em||em,this._overrideIsCoinbaseBrowser=null!==(ew=eb.overrideIsCoinbaseBrowser)&&void 0!==ew&&ew,this._diagnosticLogger=eb.diagnosticLogger,this._reloadOnDisconnect=null===(eM=eb.reloadOnDisconnect)||void 0===eM||eM;let eR=new URL(eE),eB=`${eR.protocol}//${eR.host}`;if(this._storage=new e_.ScopedLocalStorage(`-walletlink:${eB}`),this._storage.setItem("version",eP.VERSION),this.walletExtension||this.coinbaseBrowser)return;this._relayEventManager=new eN.RelayEventManager;let eF=(0,eT.isMobileWeb)(),ej=eb.uiConstructor||(eb=>eF?new eA.MobileRelayUI(eb):new eI.WalletLinkRelayUI(eb)),eU={linkAPIUrl:eE,version:eO.LIB_VERSION,darkMode:!!eb.darkMode,uiConstructor:ej,storage:this._storage,relayEventManager:this._relayEventManager,diagnosticLogger:this._diagnosticLogger,reloadOnDisconnect:this._reloadOnDisconnect,enableMobileWalletLink:eb.enableMobileWalletLink};if(this._relay=eF?new eS.MobileRelay(eU):new eD.WalletLinkRelay(eU),this.setAppInfo(eb.appName,eb.appLogoUrl),eb.headlessMode)return;this._relay.attachUI()}makeWeb3Provider(eb="",em=1){let ew=this.walletExtension;if(ew)return this.isCipherProvider(ew)||ew.setProviderInfo(eb,em),!1===this._reloadOnDisconnect&&"function"==typeof ew.disableReloadOnDisconnect&&ew.disableReloadOnDisconnect(),ew;let eM=this.coinbaseBrowser;if(eM)return eM;let eC=this._relay;if(!eC||!this._relayEventManager||!this._storage)throw Error("Relay not initialized, should never happen");return eb||eC.setConnectDisabled(!0),new eE.CoinbaseWalletProvider({relayProvider:()=>Promise.resolve(eC),relayEventManager:this._relayEventManager,storage:this._storage,jsonRpcUrl:eb,chainId:em,qrUrl:this.getQrUrl(),diagnosticLogger:this._diagnosticLogger,overrideIsMetaMask:this._overrideIsMetaMask,overrideIsCoinbaseWallet:this._overrideIsCoinbaseWallet,overrideIsCoinbaseBrowser:this._overrideIsCoinbaseBrowser})}setAppInfo(eb,em){var ew;this._appName=eb||"DApp",this._appLogoUrl=em||(0,eT.getFavicon)();let eM=this.walletExtension;eM?this.isCipherProvider(eM)||eM.setAppInfo(this._appName,this._appLogoUrl):null===(ew=this._relay)||void 0===ew||ew.setAppInfo(this._appName,this._appLogoUrl)}disconnect(){var eb;let em=this===null||void 0===this?void 0:this.walletExtension;em?em.close():null===(eb=this._relay)||void 0===eb||eb.resetAndReload()}getQrUrl(){var eb,em;return null!==(em=null===(eb=this._relay)||void 0===eb?void 0:eb.getQRCodeUrl())&&void 0!==em?em:null}getCoinbaseWalletLogo(eb,em=240){return(0,eM.walletLogo)(eb,em)}get walletExtension(){var eb;return null!==(eb=window.coinbaseWalletExtension)&&void 0!==eb?eb:window.walletLinkExtension}get coinbaseBrowser(){var eb,em;try{let ew=null!==(eb=window.ethereum)&&void 0!==eb?eb:null===(em=window.top)||void 0===em?void 0:em.ethereum;if(!ew)return;if("isCoinbaseBrowser"in ew&&ew.isCoinbaseBrowser)return ew;return}catch(eb){return}}isCipherProvider(eb){return"boolean"==typeof eb.isCipher&&eb.isCipher}}em.CoinbaseWalletSDK=eP,eP.VERSION=eO.LIB_VERSION},52719:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.walletLogo=void 0;let ew=(eb,em)=>{let ew;switch(eb){case"standard":default:return`data:image/svg+xml,%3Csvg width='${em}' height='${ew=em}' 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`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='${em}' height='${ew=em}' 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`data:image/svg+xml,%3Csvg width='${em}' height='${ew=(.1*em).toFixed(2)}' 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`data:image/svg+xml,%3Csvg width='${em}' height='${ew=(.25*em).toFixed(2)}' 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`data:image/svg+xml,%3Csvg width='${em}' height='${ew=(.1*em).toFixed(2)}' 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`data:image/svg+xml,%3Csvg width='${em}' height='${ew=(.25*em).toFixed(2)}' 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`}};em.walletLogo=ew},96415:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.LINK_API_URL=void 0,em.LINK_API_URL="https://www.walletlink.org"},76079:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.errorValues=em.standardErrorCodes=void 0,em.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}},em.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."}}},99322:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.standardErrors=void 0;let eM=ew(76079),eC=ew(10761);function eT(eb,em){let[ew,eM]=eE(em);return new eS(eb,ew||(0,eC.getMessageFromCode)(eb),eM)}function e_(eb,em){let[ew,eM]=eE(em);return new eA(eb,ew||(0,eC.getMessageFromCode)(eb),eM)}function eE(eb){if(eb){if("string"==typeof eb)return[eb];if("object"==typeof eb&&!Array.isArray(eb)){let{message:em,data:ew}=eb;if(em&&"string"!=typeof em)throw Error("Must specify string message.");return[em||void 0,ew]}}return[]}em.standardErrors={rpc:{parse:eb=>eT(eM.standardErrorCodes.rpc.parse,eb),invalidRequest:eb=>eT(eM.standardErrorCodes.rpc.invalidRequest,eb),invalidParams:eb=>eT(eM.standardErrorCodes.rpc.invalidParams,eb),methodNotFound:eb=>eT(eM.standardErrorCodes.rpc.methodNotFound,eb),internal:eb=>eT(eM.standardErrorCodes.rpc.internal,eb),server:eb=>{if(!eb||"object"!=typeof eb||Array.isArray(eb))throw Error("Ethereum RPC Server errors must provide single object argument.");let{code:em}=eb;if(!Number.isInteger(em)||em>-32005||em<-32099)throw Error('"code" must be an integer such that: -32099 <= code <= -32005');return eT(em,eb)},invalidInput:eb=>eT(eM.standardErrorCodes.rpc.invalidInput,eb),resourceNotFound:eb=>eT(eM.standardErrorCodes.rpc.resourceNotFound,eb),resourceUnavailable:eb=>eT(eM.standardErrorCodes.rpc.resourceUnavailable,eb),transactionRejected:eb=>eT(eM.standardErrorCodes.rpc.transactionRejected,eb),methodNotSupported:eb=>eT(eM.standardErrorCodes.rpc.methodNotSupported,eb),limitExceeded:eb=>eT(eM.standardErrorCodes.rpc.limitExceeded,eb)},provider:{userRejectedRequest:eb=>e_(eM.standardErrorCodes.provider.userRejectedRequest,eb),unauthorized:eb=>e_(eM.standardErrorCodes.provider.unauthorized,eb),unsupportedMethod:eb=>e_(eM.standardErrorCodes.provider.unsupportedMethod,eb),disconnected:eb=>e_(eM.standardErrorCodes.provider.disconnected,eb),chainDisconnected:eb=>e_(eM.standardErrorCodes.provider.chainDisconnected,eb),unsupportedChain:eb=>e_(eM.standardErrorCodes.provider.unsupportedChain,eb),custom:eb=>{if(!eb||"object"!=typeof eb||Array.isArray(eb))throw Error("Ethereum Provider custom errors must provide single object argument.");let{code:em,message:ew,data:eM}=eb;if(!ew||"string"!=typeof ew)throw Error('"message" must be a nonempty string');return new eA(em,ew,eM)}}};class eS extends Error{constructor(eb,em,ew){if(!Number.isInteger(eb))throw Error('"code" must be an integer.');if(!em||"string"!=typeof em)throw Error('"message" must be a nonempty string.');super(em),this.code=eb,void 0!==ew&&(this.data=ew)}}class eA extends eS{constructor(eb,em,ew){if(!eN(eb))throw Error('"code" must be an integer such that: 1000 <= code <= 4999');super(eb,em,ew)}}function eN(eb){return Number.isInteger(eb)&&eb>=1e3&&eb<=4999}},37185:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.standardErrors=em.standardErrorCodes=em.serializeError=em.getMessageFromCode=em.getErrorCode=void 0;let eM=ew(76079);Object.defineProperty(em,"standardErrorCodes",{enumerable:!0,get:function(){return eM.standardErrorCodes}});let eC=ew(99322);Object.defineProperty(em,"standardErrors",{enumerable:!0,get:function(){return eC.standardErrors}});let eT=ew(70011);Object.defineProperty(em,"serializeError",{enumerable:!0,get:function(){return eT.serializeError}});let e_=ew(10761);Object.defineProperty(em,"getErrorCode",{enumerable:!0,get:function(){return e_.getErrorCode}}),Object.defineProperty(em,"getMessageFromCode",{enumerable:!0,get:function(){return e_.getMessageFromCode}})},70011:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.serializeError=void 0;let eM=ew(7588),eC=ew(43604),eT=ew(76079),e_=ew(10761);function eE(eb,em){let ew=(0,e_.serialize)(eS(eb),{shouldIncludeStack:!0}),eM=new URL("https://docs.cloud.coinbase.com/wallet-sdk/docs/errors");eM.searchParams.set("version",eC.LIB_VERSION),eM.searchParams.set("code",ew.code.toString());let eT=eA(ew.data,em);return eT&&eM.searchParams.set("method",eT),eM.searchParams.set("message",ew.message),Object.assign(Object.assign({},ew),{docUrl:eM.href})}function eS(eb){return"string"==typeof eb?{message:eb,code:eT.standardErrorCodes.rpc.internal}:(0,eM.isErrorResponse)(eb)?Object.assign(Object.assign({},eb),{message:eb.errorMessage,code:eb.errorCode,data:{method:eb.method}}):eb}function eA(eb,em){let ew=null==eb?void 0:eb.method;if(ew)return ew;if(void 0===em);else if("string"==typeof em)return em;else if(!Array.isArray(em))return em.method;else if(em.length>0)return em[0].method}em.serializeError=eE},10761:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.serialize=em.getErrorCode=em.isValidCode=em.getMessageFromCode=em.JSON_RPC_SERVER_ERROR_MESSAGE=void 0;let eM=ew(76079),eC="Unspecified error message.";function eT(eb,ew=eC){if(eb&&Number.isInteger(eb)){let ew=eb.toString();if(eD(eM.errorValues,ew))return eM.errorValues[ew].message;if(eN(eb))return em.JSON_RPC_SERVER_ERROR_MESSAGE}return ew}function e_(eb){if(!Number.isInteger(eb))return!1;let em=eb.toString();return!!(eM.errorValues[em]||eN(eb))}function eE(eb){var em;return"number"==typeof eb?eb:eS(eb)?null!==(em=eb.code)&&void 0!==em?em:eb.errorCode:void 0}function eS(eb){return"object"==typeof eb&&null!==eb&&("number"==typeof eb.code||"number"==typeof eb.errorCode)}function eA(eb,{shouldIncludeStack:em=!1}={}){let ew={};if(eb&&"object"==typeof eb&&!Array.isArray(eb)&&eD(eb,"code")&&e_(eb.code)){let em=eb;ew.code=em.code,em.message&&"string"==typeof em.message?(ew.message=em.message,eD(em,"data")&&(ew.data=em.data)):(ew.message=eT(ew.code),ew.data={originalError:eI(eb)})}else ew.code=eM.standardErrorCodes.rpc.internal,ew.message=eO(eb,"message")?eb.message:eC,ew.data={originalError:eI(eb)};return em&&(ew.stack=eO(eb,"stack")?eb.stack:void 0),ew}function eN(eb){return eb>=-32099&&eb<=-32e3}function eI(eb){return eb&&"object"==typeof eb&&!Array.isArray(eb)?Object.assign({},eb):eb}function eD(eb,em){return Object.prototype.hasOwnProperty.call(eb,em)}function eO(eb,em){return"object"==typeof eb&&null!==eb&&em in eb&&"string"==typeof eb[em]}em.JSON_RPC_SERVER_ERROR_MESSAGE="Unspecified server error.",em.getMessageFromCode=eT,em.isValidCode=e_,em.getErrorCode=eE,em.serialize=eA},34083:function(eb,em){"use strict";var ew;function eM(){return eb=>eb}function eC(eb){return Math.floor(eb)}Object.defineProperty(em,"__esModule",{value:!0}),em.ProviderType=em.RegExpString=em.IntNumber=em.BigIntString=em.AddressString=em.HexString=em.OpaqueType=void 0,em.OpaqueType=eM,em.HexString=eM(),em.AddressString=eM(),em.BigIntString=eM(),em.IntNumber=eC,em.RegExpString=eM(),function(eb){eb.CoinbaseWallet="CoinbaseWallet",eb.MetaMask="MetaMask",eb.Unselected=""}(ew||(em.ProviderType=ew={}))},32072:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer,eC=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.isMobileWeb=em.getLocation=em.isInIFrame=em.createQrUrl=em.getFavicon=em.range=em.isBigNumber=em.ensureParsedJSONObject=em.ensureBN=em.ensureRegExpString=em.ensureIntNumber=em.ensureBuffer=em.ensureAddressString=em.ensureEvenLengthHexString=em.ensureHexString=em.isHexString=em.prepend0x=em.strip0x=em.has0xPrefix=em.hexStringFromIntNumber=em.intNumberFromHexString=em.bigIntStringFromBN=em.hexStringFromBuffer=em.hexStringToUint8Array=em.uint8ArrayToHex=em.randomBytesHex=void 0;let eT=eC(ew(13550)),e_=ew(37185),eE=ew(34083),eS=/^[0-9]*$/,eA=/^[a-f0-9]*$/;function eN(eb){return eI(crypto.getRandomValues(new Uint8Array(eb)))}function eI(eb){return[...eb].map(eb=>eb.toString(16).padStart(2,"0")).join("")}function eD(eb){return new Uint8Array(eb.match(/.{1,2}/g).map(eb=>parseInt(eb,16)))}function eO(eb,em=!1){let ew=eb.toString("hex");return(0,eE.HexString)(em?`0x${ew}`:ew)}function eP(eb){return(0,eE.BigIntString)(eb.toString(10))}function eR(eb){return(0,eE.IntNumber)(new eT.default(e$(eb,!1),16).toNumber())}function eB(eb){return(0,eE.HexString)(`0x${new eT.default(eb).toString(16)}`)}function eF(eb){return eb.startsWith("0x")||eb.startsWith("0X")}function ej(eb){return eF(eb)?eb.slice(2):eb}function eU(eb){return eF(eb)?`0x${eb.slice(2)}`:`0x${eb}`}function eV(eb){if("string"!=typeof eb)return!1;let em=ej(eb).toLowerCase();return eA.test(em)}function eH(eb,em=!1){if("string"==typeof eb){let ew=ej(eb).toLowerCase();if(eA.test(ew))return(0,eE.HexString)(em?`0x${ew}`:ew)}throw e_.standardErrors.rpc.invalidParams(`"${String(eb)}" is not a hexadecimal string`)}function e$(eb,em=!1){let ew=eH(eb,!1);return ew.length%2==1&&(ew=(0,eE.HexString)(`0${ew}`)),em?(0,eE.HexString)(`0x${ew}`):ew}function eW(eb){if("string"==typeof eb){let em=ej(eb).toLowerCase();if(eV(em)&&40===em.length)return(0,eE.AddressString)(eU(em))}throw e_.standardErrors.rpc.invalidParams(`Invalid Ethereum address: ${String(eb)}`)}function eZ(eb){if(eM.isBuffer(eb))return eb;if("string"==typeof eb){if(eV(eb)){let em=e$(eb,!1);return eM.from(em,"hex")}return eM.from(eb,"utf8")}throw e_.standardErrors.rpc.invalidParams(`Not binary data: ${String(eb)}`)}function eK(eb){if("number"==typeof eb&&Number.isInteger(eb))return(0,eE.IntNumber)(eb);if("string"==typeof eb){if(eS.test(eb))return(0,eE.IntNumber)(Number(eb));if(eV(eb))return(0,eE.IntNumber)(new eT.default(e$(eb,!1),16).toNumber())}throw e_.standardErrors.rpc.invalidParams(`Not an integer: ${String(eb)}`)}function eG(eb){if(eb instanceof RegExp)return(0,eE.RegExpString)(eb.toString());throw e_.standardErrors.rpc.invalidParams(`Not a RegExp: ${String(eb)}`)}function eY(eb){if(null!==eb&&(eT.default.isBN(eb)||eX(eb)))return new eT.default(eb.toString(10),10);if("number"==typeof eb)return new eT.default(eK(eb));if("string"==typeof eb){if(eS.test(eb))return new eT.default(eb,10);if(eV(eb))return new eT.default(e$(eb,!1),16)}throw e_.standardErrors.rpc.invalidParams(`Not an integer: ${String(eb)}`)}function eJ(eb){if("string"==typeof eb)return JSON.parse(eb);if("object"==typeof eb)return eb;throw e_.standardErrors.rpc.invalidParams(`Not a JSON string or an object: ${String(eb)}`)}function eX(eb){if(null==eb||"function"!=typeof eb.constructor)return!1;let{constructor:em}=eb;return"function"==typeof em.config&&"number"==typeof em.EUCLID}function eQ(eb,em){return Array.from({length:em-eb},(em,ew)=>eb+ew)}function e0(){let eb=document.querySelector('link[sizes="192x192"]')||document.querySelector('link[sizes="180x180"]')||document.querySelector('link[rel="icon"]')||document.querySelector('link[rel="shortcut icon"]'),{protocol:em,host:ew}=document.location,eM=eb?eb.getAttribute("href"):null;return!eM||eM.startsWith("javascript:")||eM.startsWith("vbscript:")?null:eM.startsWith("http://")||eM.startsWith("https://")||eM.startsWith("data:")?eM:eM.startsWith("//")?em+eM:`${em}//${ew}${eM}`}function e6(eb,em,ew,eM,eC,eT){let e_=eM?"parent-id":"id",eE=new URLSearchParams({[e_]:eb,secret:em,server:ew,v:eC,chainId:eT.toString()}).toString(),eS=`${ew}/#/link?${eE}`;return eS}function e4(){try{return null!==window.frameElement}catch(eb){return!1}}function e3(){try{if(e4()&&window.top)return window.top.location;return window.location}catch(eb){return window.location}}function e5(){var eb;return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(null===(eb=null==window?void 0:window.navigator)||void 0===eb?void 0:eb.userAgent)}em.randomBytesHex=eN,em.uint8ArrayToHex=eI,em.hexStringToUint8Array=eD,em.hexStringFromBuffer=eO,em.bigIntStringFromBN=eP,em.intNumberFromHexString=eR,em.hexStringFromIntNumber=eB,em.has0xPrefix=eF,em.strip0x=ej,em.prepend0x=eU,em.isHexString=eV,em.ensureHexString=eH,em.ensureEvenLengthHexString=e$,em.ensureAddressString=eW,em.ensureBuffer=eZ,em.ensureIntNumber=eK,em.ensureRegExpString=eG,em.ensureBN=eY,em.ensureParsedJSONObject=eJ,em.isBigNumber=eX,em.range=eQ,em.getFavicon=e0,em.createQrUrl=e6,em.isInIFrame=e4,em.getLocation=e3,em.isMobileWeb=e5},45811:function(eb,em,ew){"use strict";eT={value:!0},eT=em.jp=void 0;let eM=ew(39016),eC=ew(83143);var eT,e_=ew(39016);Object.defineProperty(em,"jp",{enumerable:!0,get:function(){return e_.CoinbaseWalletSDK}});var eE=ew(83143);eT={enumerable:!0,get:function(){return eE.CoinbaseWalletProvider}},eT=eM.CoinbaseWalletSDK,"undefined"!=typeof window&&(window.CoinbaseWalletSDK=eM.CoinbaseWalletSDK,window.CoinbaseWalletProvider=eC.CoinbaseWalletProvider,window.WalletLink=eM.CoinbaseWalletSDK,window.WalletLinkProvider=eC.CoinbaseWalletProvider)},50769:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.Cipher=void 0;let eM=ew(32072);class eC{constructor(eb){this.secret=eb}async encrypt(eb){let em=this.secret;if(64!==em.length)throw Error("secret must be 256 bits");let ew=crypto.getRandomValues(new Uint8Array(12)),eC=await crypto.subtle.importKey("raw",(0,eM.hexStringToUint8Array)(em),{name:"aes-gcm"},!1,["encrypt","decrypt"]),eT=new TextEncoder,e_=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:ew},eC,eT.encode(eb)),eE=16,eS=e_.slice(e_.byteLength-eE),eA=e_.slice(0,e_.byteLength-eE),eN=new Uint8Array(eS),eI=new Uint8Array(eA),eD=new Uint8Array([...ew,...eN,...eI]);return(0,eM.uint8ArrayToHex)(eD)}async decrypt(eb){let em=this.secret;if(64!==em.length)throw Error("secret must be 256 bits");return new Promise((ew,eC)=>{!async function(){let eT=await crypto.subtle.importKey("raw",(0,eM.hexStringToUint8Array)(em),{name:"aes-gcm"},!1,["encrypt","decrypt"]),e_=(0,eM.hexStringToUint8Array)(eb),eE=e_.slice(0,12),eS=e_.slice(12,28),eA=e_.slice(28),eN=new Uint8Array([...eA,...eS]),eI={name:"AES-GCM",iv:new Uint8Array(eE)};try{let eb=await window.crypto.subtle.decrypt(eI,eT,eN),em=new TextDecoder;ew(em.decode(eb))}catch(eb){eC(eb)}}()})}}em.Cipher=eC},49682:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.ScopedLocalStorage=void 0;class ew{constructor(eb){this.scope=eb}setItem(eb,em){localStorage.setItem(this.scopedKey(eb),em)}getItem(eb){return localStorage.getItem(this.scopedKey(eb))}removeItem(eb){localStorage.removeItem(this.scopedKey(eb))}clear(){let eb=this.scopedKey(""),em=[];for(let ew=0;ewlocalStorage.removeItem(eb))}scopedKey(eb){return`${this.scope}:${eb}`}}em.ScopedLocalStorage=ew},1119:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.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}'},27162:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.injectCssReset=void 0;let eC=eM(ew(1119));function eT(){let eb=document.createElement("style");eb.type="text/css",eb.appendChild(document.createTextNode(eC.default)),document.documentElement.appendChild(eb)}em.injectCssReset=eT},83143:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer,eC=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.CoinbaseWalletProvider=void 0;let eT=eC(ew(13550)),e_=ew(72997),eE=ew(37185),eS=ew(32072),eA=ew(26840),eN=ew(92036),eI=ew(73526),eD=ew(7588),eO=eC(ew(14497)),eP=ew(38431),eR=ew(33648),eB=ew(5313),eF="DefaultChainId",ej="DefaultJsonRpcUrl";class eU extends e_.EventEmitter{constructor(eb){var em,ew;super(),this._filterPolyfill=new eR.FilterPolyfill(this),this._subscriptionManager=new eB.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=eb.chainId,this._jsonRpcUrlFromOpts=eb.jsonRpcUrl,this._overrideIsMetaMask=eb.overrideIsMetaMask,this._relayProvider=eb.relayProvider,this._storage=eb.storage,this._relayEventManager=eb.relayEventManager,this.diagnostic=eb.diagnosticLogger,this.reloadOnDisconnect=!0,this.isCoinbaseWallet=null===(em=eb.overrideIsCoinbaseWallet)||void 0===em||em,this.isCoinbaseBrowser=null!==(ew=eb.overrideIsCoinbaseBrowser)&&void 0!==ew&&ew,this.qrUrl=eb.qrUrl;let eM=this.getChainId(),eC=(0,eS.prepend0x)(eM.toString(16));this.emit("connect",{chainIdStr:eC});let eT=this._storage.getItem(eN.LOCAL_STORAGE_ADDRESSES_KEY);if(eT){let eb=eT.split(" ");""!==eb[0]&&(this._addresses=eb.map(eb=>(0,eS.ensureAddressString)(eb)),this.emit("accountsChanged",eb))}this._subscriptionManager.events.on("notification",eb=>{this.emit("message",{type:eb.method,data:eb.params})}),this._isAuthorized()&&this.initializeRelay(),window.addEventListener("message",eb=>{var em;if(eb.origin===location.origin&&eb.source===window&&"walletLinkMessage"===eb.data.type&&"dappChainSwitched"===eb.data.data.action){let ew=eb.data.data.chainId,eM=null!==(em=eb.data.data.jsonRpcUrl)&&void 0!==em?em:this.jsonRpcUrl;this.updateProviderInfo(eM,Number(ew))}})}get selectedAddress(){return this._addresses[0]||void 0}get networkVersion(){return this.getChainId().toString(10)}get chainId(){return(0,eS.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 eb;return null!==(eb=this._storage.getItem(ej))&&void 0!==eb?eb:this._jsonRpcUrlFromOpts}set jsonRpcUrl(eb){this._storage.setItem(ej,eb)}disableReloadOnDisconnect(){this.reloadOnDisconnect=!1}setProviderInfo(eb,em){this.isCoinbaseBrowser||(this._chainIdFromOpts=em,this._jsonRpcUrlFromOpts=eb),this.updateProviderInfo(this.jsonRpcUrl,this.getChainId())}updateProviderInfo(eb,em){this.jsonRpcUrl=eb;let ew=this.getChainId();this._storage.setItem(eF,em.toString(10));let eM=(0,eS.ensureIntNumber)(em)!==ew;(eM||!this.hasMadeFirstChainChangedEmission)&&(this.emit("chainChanged",this.getChainId()),this.hasMadeFirstChainChangedEmission=!0)}async watchAsset(eb,em,ew,eM,eC,eT){let e_=await this.initializeRelay(),eE=await e_.watchAsset(eb,em,ew,eM,eC,null==eT?void 0:eT.toString()).promise;return!(0,eD.isErrorResponse)(eE)&&!!eE.result}async addEthereumChain(eb,em,ew,eM,eC,eT){var e_,eE;if((0,eS.ensureIntNumber)(eb)===this.getChainId())return!1;let eA=await this.initializeRelay(),eN=eA.inlineAddEthereumChain(eb.toString());this._isAuthorized()||eN||await eA.requestEthereumAccounts().promise;let eI=await eA.addEthereumChain(eb.toString(),em,eC,ew,eM,eT).promise;return!(0,eD.isErrorResponse)(eI)&&((null===(e_=eI.result)||void 0===e_?void 0:e_.isApproved)===!0&&this.updateProviderInfo(em[0],eb),(null===(eE=eI.result)||void 0===eE?void 0:eE.isApproved)===!0)}async switchEthereumChain(eb){let em=await this.initializeRelay(),ew=await em.switchEthereumChain(eb.toString(10),this.selectedAddress||void 0).promise;if((0,eD.isErrorResponse)(ew)){if(!ew.errorCode)return;if(ew.errorCode===eE.standardErrorCodes.provider.unsupportedChain)throw eE.standardErrors.provider.unsupportedChain();throw eE.standardErrors.provider.custom({message:ew.errorMessage,code:ew.errorCode})}let eM=ew.result;eM.isApproved&&eM.rpcUrl.length>0&&this.updateProviderInfo(eM.rpcUrl,eb)}setAppInfo(eb,em){this.initializeRelay().then(ew=>ew.setAppInfo(eb,em))}async enable(){var eb;return(null===(eb=this.diagnostic)||void 0===eb||eb.log(eP.EVENTS.ETH_ACCOUNTS_STATE,{method:"provider::enable",addresses_length:this._addresses.length,sessionIdHash:this._relay?eI.Session.hash(this._relay.session.id):void 0}),this._isAuthorized())?[...this._addresses]:await this.send("eth_requestAccounts")}async close(){let eb=await this.initializeRelay();eb.resetAndReload()}send(eb,em){try{let ew=this._send(eb,em);if(ew instanceof Promise)return ew.catch(em=>{throw(0,eE.serializeError)(em,eb)})}catch(em){throw(0,eE.serializeError)(em,eb)}}_send(eb,em){if("string"==typeof eb){let ew=eb,eM=Array.isArray(em)?em:void 0!==em?[em]:[],eC={jsonrpc:"2.0",id:0,method:ew,params:eM};return this._sendRequestAsync(eC).then(eb=>eb.result)}if("function"==typeof em){let ew=eb,eM=em;return this._sendAsync(ew,eM)}if(Array.isArray(eb)){let em=eb;return em.map(eb=>this._sendRequest(eb))}let ew=eb;return this._sendRequest(ew)}async sendAsync(eb,em){try{return this._sendAsync(eb,em).catch(em=>{throw(0,eE.serializeError)(em,eb)})}catch(em){return Promise.reject((0,eE.serializeError)(em,eb))}}async _sendAsync(eb,em){if("function"!=typeof em)throw Error("callback is required");if(Array.isArray(eb)){let ew=em;this._sendMultipleRequestsAsync(eb).then(eb=>ew(null,eb)).catch(eb=>ew(eb,null));return}let ew=em;return this._sendRequestAsync(eb).then(eb=>ew(null,eb)).catch(eb=>ew(eb,null))}async request(eb){try{return this._request(eb).catch(em=>{throw(0,eE.serializeError)(em,eb.method)})}catch(em){return Promise.reject((0,eE.serializeError)(em,eb.method))}}async _request(eb){if(!eb||"object"!=typeof eb||Array.isArray(eb))throw eE.standardErrors.rpc.invalidRequest({message:"Expected a single, non-array, object argument.",data:eb});let{method:em,params:ew}=eb;if("string"!=typeof em||0===em.length)throw eE.standardErrors.rpc.invalidRequest({message:"'args.method' must be a non-empty string.",data:eb});if(void 0!==ew&&!Array.isArray(ew)&&("object"!=typeof ew||null===ew))throw eE.standardErrors.rpc.invalidRequest({message:"'args.params' must be an object or array if provided.",data:eb});let eM=void 0===ew?[]:ew,eC=this._relayEventManager.makeRequestId(),eT=await this._sendRequestAsync({method:em,params:eM,jsonrpc:"2.0",id:eC});return eT.result}async scanQRCode(eb){let em=await this.initializeRelay(),ew=await em.scanQRCode((0,eS.ensureRegExpString)(eb)).promise;if((0,eD.isErrorResponse)(ew))throw(0,eE.serializeError)(ew.errorMessage,"scanQRCode");if("string"!=typeof ew.result)throw(0,eE.serializeError)("result was not a string","scanQRCode");return ew.result}async genericRequest(eb,em){let ew=await this.initializeRelay(),eM=await ew.genericRequest(eb,em).promise;if((0,eD.isErrorResponse)(eM))throw(0,eE.serializeError)(eM.errorMessage,"generic");if("string"!=typeof eM.result)throw(0,eE.serializeError)("result was not a string","generic");return eM.result}async connectAndSignIn(eb){var em;let ew;null===(em=this.diagnostic)||void 0===em||em.log(eP.EVENTS.ETH_ACCOUNTS_STATE,{method:"provider::connectAndSignIn",sessionIdHash:this._relay?eI.Session.hash(this._relay.session.id):void 0});try{let em=await this.initializeRelay();if(!(em instanceof eA.MobileRelay))throw Error("connectAndSignIn is only supported on mobile");if(ew=await em.connectAndSignIn(eb).promise,(0,eD.isErrorResponse)(ew))throw Error(ew.errorMessage)}catch(eb){if("string"==typeof eb.message&&eb.message.match(/(denied|rejected)/i))throw eE.standardErrors.provider.userRejectedRequest("User denied account authorization");throw eb}if(!ew.result)throw Error("accounts received is empty");let{accounts:eM}=ew.result;return this._setAddresses(eM),this.isCoinbaseBrowser||await this.switchEthereumChain(this.getChainId()),ew.result}async selectProvider(eb){let em=await this.initializeRelay(),ew=await em.selectProvider(eb).promise;if((0,eD.isErrorResponse)(ew))throw(0,eE.serializeError)(ew.errorMessage,"selectProvider");if("string"!=typeof ew.result)throw(0,eE.serializeError)("result was not a string","selectProvider");return ew.result}supportsSubscriptions(){return!1}subscribe(){throw Error("Subscriptions are not supported")}unsubscribe(){throw Error("Subscriptions are not supported")}disconnect(){return!0}_sendRequest(eb){let em={jsonrpc:"2.0",id:eb.id},{method:ew}=eb;if(em.result=this._handleSynchronousMethods(eb),void 0===em.result)throw Error(`Coinbase Wallet does not support calling ${ew} synchronously without a callback. Please provide a callback parameter to call ${ew} asynchronously.`);return em}_setAddresses(eb,em){if(!Array.isArray(eb))throw Error("addresses is not an array");let ew=eb.map(eb=>(0,eS.ensureAddressString)(eb));JSON.stringify(ew)!==JSON.stringify(this._addresses)&&(this._addresses=ew,this.emit("accountsChanged",this._addresses),this._storage.setItem(eN.LOCAL_STORAGE_ADDRESSES_KEY,ew.join(" ")))}_sendRequestAsync(eb){return new Promise((em,ew)=>{try{let eM=this._handleSynchronousMethods(eb);if(void 0!==eM)return em({jsonrpc:"2.0",id:eb.id,result:eM});let eC=this._handleAsynchronousFilterMethods(eb);if(void 0!==eC){eC.then(ew=>em(Object.assign(Object.assign({},ew),{id:eb.id}))).catch(eb=>ew(eb));return}let eT=this._handleSubscriptionMethods(eb);if(void 0!==eT){eT.then(ew=>em({jsonrpc:"2.0",id:eb.id,result:ew.result})).catch(eb=>ew(eb));return}}catch(eb){return ew(eb)}this._handleAsynchronousMethods(eb).then(ew=>ew&&em(Object.assign(Object.assign({},ew),{id:eb.id}))).catch(eb=>ew(eb))})}_sendMultipleRequestsAsync(eb){return Promise.all(eb.map(eb=>this._sendRequestAsync(eb)))}_handleSynchronousMethods(eb){let{method:em}=eb,ew=eb.params||[];switch(em){case"eth_accounts":return this._eth_accounts();case"eth_coinbase":return this._eth_coinbase();case"eth_uninstallFilter":return this._eth_uninstallFilter(ew);case"net_version":return this._net_version();case"eth_chainId":return this._eth_chainId();default:return}}async _handleAsynchronousMethods(eb){let{method:em}=eb,ew=eb.params||[];switch(em){case"eth_requestAccounts":return this._eth_requestAccounts();case"eth_sign":return this._eth_sign(ew);case"eth_ecRecover":return this._eth_ecRecover(ew);case"personal_sign":return this._personal_sign(ew);case"personal_ecRecover":return this._personal_ecRecover(ew);case"eth_signTransaction":return this._eth_signTransaction(ew);case"eth_sendRawTransaction":return this._eth_sendRawTransaction(ew);case"eth_sendTransaction":return this._eth_sendTransaction(ew);case"eth_signTypedData_v1":return this._eth_signTypedData_v1(ew);case"eth_signTypedData_v2":return this._throwUnsupportedMethodError();case"eth_signTypedData_v3":return this._eth_signTypedData_v3(ew);case"eth_signTypedData_v4":case"eth_signTypedData":return this._eth_signTypedData_v4(ew);case"cbWallet_arbitrary":return this._cbwallet_arbitrary(ew);case"wallet_addEthereumChain":return this._wallet_addEthereumChain(ew);case"wallet_switchEthereumChain":return this._wallet_switchEthereumChain(ew);case"wallet_watchAsset":return this._wallet_watchAsset(ew)}let eM=await this.initializeRelay();return eM.makeEthereumJSONRPCRequest(eb,this.jsonRpcUrl).catch(em=>{var ew;throw(em.code===eE.standardErrorCodes.rpc.methodNotFound||em.code===eE.standardErrorCodes.rpc.methodNotSupported)&&(null===(ew=this.diagnostic)||void 0===ew||ew.log(eP.EVENTS.METHOD_NOT_IMPLEMENTED,{method:eb.method,sessionIdHash:this._relay?eI.Session.hash(this._relay.session.id):void 0})),em})}_handleAsynchronousFilterMethods(eb){let{method:em}=eb,ew=eb.params||[];switch(em){case"eth_newFilter":return this._eth_newFilter(ew);case"eth_newBlockFilter":return this._eth_newBlockFilter();case"eth_newPendingTransactionFilter":return this._eth_newPendingTransactionFilter();case"eth_getFilterChanges":return this._eth_getFilterChanges(ew);case"eth_getFilterLogs":return this._eth_getFilterLogs(ew)}}_handleSubscriptionMethods(eb){switch(eb.method){case"eth_subscribe":case"eth_unsubscribe":return this._subscriptionManager.handleRequest(eb)}}_isKnownAddress(eb){try{let em=(0,eS.ensureAddressString)(eb),ew=this._addresses.map(eb=>(0,eS.ensureAddressString)(eb));return ew.includes(em)}catch(eb){}return!1}_ensureKnownAddress(eb){var em;if(!this._isKnownAddress(eb))throw null===(em=this.diagnostic)||void 0===em||em.log(eP.EVENTS.UNKNOWN_ADDRESS_ENCOUNTERED),Error("Unknown Ethereum address")}_prepareTransactionParams(eb){let em=eb.from?(0,eS.ensureAddressString)(eb.from):this.selectedAddress;if(!em)throw Error("Ethereum address is unavailable");this._ensureKnownAddress(em);let ew=eb.to?(0,eS.ensureAddressString)(eb.to):null,eC=null!=eb.value?(0,eS.ensureBN)(eb.value):new eT.default(0),e_=eb.data?(0,eS.ensureBuffer)(eb.data):eM.alloc(0),eE=null!=eb.nonce?(0,eS.ensureIntNumber)(eb.nonce):null,eA=null!=eb.gasPrice?(0,eS.ensureBN)(eb.gasPrice):null,eN=null!=eb.maxFeePerGas?(0,eS.ensureBN)(eb.maxFeePerGas):null,eI=null!=eb.maxPriorityFeePerGas?(0,eS.ensureBN)(eb.maxPriorityFeePerGas):null,eD=null!=eb.gas?(0,eS.ensureBN)(eb.gas):null,eO=eb.chainId?(0,eS.ensureIntNumber)(eb.chainId):this.getChainId();return{fromAddress:em,toAddress:ew,weiValue:eC,data:e_,nonce:eE,gasPriceInWei:eA,maxFeePerGas:eN,maxPriorityFeePerGas:eI,gasLimit:eD,chainId:eO}}_isAuthorized(){return this._addresses.length>0}_requireAuthorization(){if(!this._isAuthorized())throw eE.standardErrors.provider.unauthorized({})}_throwUnsupportedMethodError(){throw eE.standardErrors.provider.unsupportedMethod({})}async _signEthereumMessage(eb,em,ew,eM){this._ensureKnownAddress(em);try{let eC=await this.initializeRelay(),eT=await eC.signEthereumMessage(eb,em,ew,eM).promise;if((0,eD.isErrorResponse)(eT))throw Error(eT.errorMessage);return{jsonrpc:"2.0",id:0,result:eT.result}}catch(eb){if("string"==typeof eb.message&&eb.message.match(/(denied|rejected)/i))throw eE.standardErrors.provider.userRejectedRequest("User denied message signature");throw eb}}async _ethereumAddressFromSignedMessage(eb,em,ew){let eM=await this.initializeRelay(),eC=await eM.ethereumAddressFromSignedMessage(eb,em,ew).promise;if((0,eD.isErrorResponse)(eC))throw Error(eC.errorMessage);return{jsonrpc:"2.0",id:0,result:eC.result}}_eth_accounts(){return[...this._addresses]}_eth_coinbase(){return this.selectedAddress||null}_net_version(){return this.getChainId().toString(10)}_eth_chainId(){return(0,eS.hexStringFromIntNumber)(this.getChainId())}getChainId(){let eb=this._storage.getItem(eF);if(!eb)return(0,eS.ensureIntNumber)(this._chainIdFromOpts);let em=parseInt(eb,10);return(0,eS.ensureIntNumber)(em)}async _eth_requestAccounts(){var eb;let em;if(null===(eb=this.diagnostic)||void 0===eb||eb.log(eP.EVENTS.ETH_ACCOUNTS_STATE,{method:"provider::_eth_requestAccounts",addresses_length:this._addresses.length,sessionIdHash:this._relay?eI.Session.hash(this._relay.session.id):void 0}),this._isAuthorized())return Promise.resolve({jsonrpc:"2.0",id:0,result:this._addresses});try{let eb=await this.initializeRelay();if(em=await eb.requestEthereumAccounts().promise,(0,eD.isErrorResponse)(em))throw Error(em.errorMessage)}catch(eb){if("string"==typeof eb.message&&eb.message.match(/(denied|rejected)/i))throw eE.standardErrors.provider.userRejectedRequest("User denied account authorization");throw eb}if(!em.result)throw Error("accounts received is empty");return this._setAddresses(em.result),this.isCoinbaseBrowser||await this.switchEthereumChain(this.getChainId()),{jsonrpc:"2.0",id:0,result:this._addresses}}_eth_sign(eb){this._requireAuthorization();let em=(0,eS.ensureAddressString)(eb[0]),ew=(0,eS.ensureBuffer)(eb[1]);return this._signEthereumMessage(ew,em,!1)}_eth_ecRecover(eb){let em=(0,eS.ensureBuffer)(eb[0]),ew=(0,eS.ensureBuffer)(eb[1]);return this._ethereumAddressFromSignedMessage(em,ew,!1)}_personal_sign(eb){this._requireAuthorization();let em=(0,eS.ensureBuffer)(eb[0]),ew=(0,eS.ensureAddressString)(eb[1]);return this._signEthereumMessage(em,ew,!0)}_personal_ecRecover(eb){let em=(0,eS.ensureBuffer)(eb[0]),ew=(0,eS.ensureBuffer)(eb[1]);return this._ethereumAddressFromSignedMessage(em,ew,!0)}async _eth_signTransaction(eb){this._requireAuthorization();let em=this._prepareTransactionParams(eb[0]||{});try{let eb=await this.initializeRelay(),ew=await eb.signEthereumTransaction(em).promise;if((0,eD.isErrorResponse)(ew))throw Error(ew.errorMessage);return{jsonrpc:"2.0",id:0,result:ew.result}}catch(eb){if("string"==typeof eb.message&&eb.message.match(/(denied|rejected)/i))throw eE.standardErrors.provider.userRejectedRequest("User denied transaction signature");throw eb}}async _eth_sendRawTransaction(eb){let em=(0,eS.ensureBuffer)(eb[0]),ew=await this.initializeRelay(),eM=await ew.submitEthereumTransaction(em,this.getChainId()).promise;if((0,eD.isErrorResponse)(eM))throw Error(eM.errorMessage);return{jsonrpc:"2.0",id:0,result:eM.result}}async _eth_sendTransaction(eb){this._requireAuthorization();let em=this._prepareTransactionParams(eb[0]||{});try{let eb=await this.initializeRelay(),ew=await eb.signAndSubmitEthereumTransaction(em).promise;if((0,eD.isErrorResponse)(ew))throw Error(ew.errorMessage);return{jsonrpc:"2.0",id:0,result:ew.result}}catch(eb){if("string"==typeof eb.message&&eb.message.match(/(denied|rejected)/i))throw eE.standardErrors.provider.userRejectedRequest("User denied transaction signature");throw eb}}async _eth_signTypedData_v1(eb){this._requireAuthorization();let em=(0,eS.ensureParsedJSONObject)(eb[0]),ew=(0,eS.ensureAddressString)(eb[1]);this._ensureKnownAddress(ew);let eM=eO.default.hashForSignTypedDataLegacy({data:em}),eC=JSON.stringify(em,null,2);return this._signEthereumMessage(eM,ew,!1,eC)}async _eth_signTypedData_v3(eb){this._requireAuthorization();let em=(0,eS.ensureAddressString)(eb[0]),ew=(0,eS.ensureParsedJSONObject)(eb[1]);this._ensureKnownAddress(em);let eM=eO.default.hashForSignTypedData_v3({data:ew}),eC=JSON.stringify(ew,null,2);return this._signEthereumMessage(eM,em,!1,eC)}async _eth_signTypedData_v4(eb){this._requireAuthorization();let em=(0,eS.ensureAddressString)(eb[0]),ew=(0,eS.ensureParsedJSONObject)(eb[1]);this._ensureKnownAddress(em);let eM=eO.default.hashForSignTypedData_v4({data:ew}),eC=JSON.stringify(ew,null,2);return this._signEthereumMessage(eM,em,!1,eC)}async _cbwallet_arbitrary(eb){let em=eb[0],ew=eb[1];if("string"!=typeof ew)throw Error("parameter must be a string");if("object"!=typeof em||null===em)throw Error("parameter must be an object");let eM=await this.genericRequest(em,ew);return{jsonrpc:"2.0",id:0,result:eM}}async _wallet_addEthereumChain(eb){var em,ew,eM,eC;let eT=eb[0];if((null===(em=eT.rpcUrls)||void 0===em?void 0:em.length)===0)return{jsonrpc:"2.0",id:0,error:{code:2,message:"please pass in at least 1 rpcUrl"}};if(!eT.chainName||""===eT.chainName.trim())throw eE.standardErrors.rpc.invalidParams("chainName is a required field");if(!eT.nativeCurrency)throw eE.standardErrors.rpc.invalidParams("nativeCurrency is a required field");let e_=parseInt(eT.chainId,16),eS=await this.addEthereumChain(e_,null!==(ew=eT.rpcUrls)&&void 0!==ew?ew:[],null!==(eM=eT.blockExplorerUrls)&&void 0!==eM?eM:[],eT.chainName,null!==(eC=eT.iconUrls)&&void 0!==eC?eC:[],eT.nativeCurrency);return eS?{jsonrpc:"2.0",id:0,result:null}:{jsonrpc:"2.0",id:0,error:{code:2,message:"unable to add ethereum chain"}}}async _wallet_switchEthereumChain(eb){let em=eb[0];return await this.switchEthereumChain(parseInt(em.chainId,16)),{jsonrpc:"2.0",id:0,result:null}}async _wallet_watchAsset(eb){let em=Array.isArray(eb)?eb[0]:eb;if(!em.type)throw eE.standardErrors.rpc.invalidParams("Type is required");if((null==em?void 0:em.type)!=="ERC20")throw eE.standardErrors.rpc.invalidParams(`Asset of type '${em.type}' is not supported`);if(!(null==em?void 0:em.options))throw eE.standardErrors.rpc.invalidParams("Options are required");if(!(null==em?void 0:em.options.address))throw eE.standardErrors.rpc.invalidParams("Address is required");let ew=this.getChainId(),{address:eM,symbol:eC,image:eT,decimals:e_}=em.options,eS=await this.watchAsset(em.type,eM,eC,e_,eT,ew);return{jsonrpc:"2.0",id:0,result:eS}}_eth_uninstallFilter(eb){let em=(0,eS.ensureHexString)(eb[0]);return this._filterPolyfill.uninstallFilter(em)}async _eth_newFilter(eb){let em=eb[0],ew=await this._filterPolyfill.newFilter(em);return{jsonrpc:"2.0",id:0,result:ew}}async _eth_newBlockFilter(){let eb=await this._filterPolyfill.newBlockFilter();return{jsonrpc:"2.0",id:0,result:eb}}async _eth_newPendingTransactionFilter(){let eb=await this._filterPolyfill.newPendingTransactionFilter();return{jsonrpc:"2.0",id:0,result:eb}}_eth_getFilterChanges(eb){let em=(0,eS.ensureHexString)(eb[0]);return this._filterPolyfill.getFilterChanges(em)}_eth_getFilterLogs(eb){let em=(0,eS.ensureHexString)(eb[0]);return this._filterPolyfill.getFilterLogs(em)}initializeRelay(){return this._relay?Promise.resolve(this._relay):this._relayProvider().then(eb=>(eb.setAccountsCallback((eb,em)=>this._setAddresses(eb,em)),eb.setChainCallback((eb,em)=>{this.updateProviderInfo(em,parseInt(eb,10))}),eb.setDappDefaultChainCallback(this._chainIdFromOpts),this._relay=eb,eb))}}em.CoinbaseWalletProvider=eU},38431:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.EVENTS=void 0,em.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"}},33648:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.filterFromParam=em.FilterPolyfill=void 0;let eM=ew(34083),eC=ew(32072),eT=3e5,e_={jsonrpc:"2.0",id:0};class eE{constructor(eb){this.logFilters=new Map,this.blockFilters=new Set,this.pendingTransactionFilters=new Set,this.cursors=new Map,this.timeouts=new Map,this.nextFilterId=(0,eM.IntNumber)(1),this.REQUEST_THROTTLE_INTERVAL=1e3,this.lastFetchTimestamp=new Date(0),this.resolvers=[],this.provider=eb}async newFilter(eb){let em=eS(eb),ew=this.makeFilterId(),eM=await this.setInitialCursorPosition(ew,em.fromBlock);return console.info(`Installing new log filter(${ew}):`,em,"initial cursor position:",eM),this.logFilters.set(ew,em),this.setFilterTimeout(ew),(0,eC.hexStringFromIntNumber)(ew)}async newBlockFilter(){let eb=this.makeFilterId(),em=await this.setInitialCursorPosition(eb,"latest");return console.info(`Installing new block filter (${eb}) with initial cursor position:`,em),this.blockFilters.add(eb),this.setFilterTimeout(eb),(0,eC.hexStringFromIntNumber)(eb)}async newPendingTransactionFilter(){let eb=this.makeFilterId(),em=await this.setInitialCursorPosition(eb,"latest");return console.info(`Installing new block filter (${eb}) with initial cursor position:`,em),this.pendingTransactionFilters.add(eb),this.setFilterTimeout(eb),(0,eC.hexStringFromIntNumber)(eb)}uninstallFilter(eb){let em=(0,eC.intNumberFromHexString)(eb);return console.info(`Uninstalling filter (${em})`),this.deleteFilter(em),!0}getFilterChanges(eb){let em=(0,eC.intNumberFromHexString)(eb);return(this.timeouts.has(em)&&this.setFilterTimeout(em),this.logFilters.has(em))?this.getLogFilterChanges(em):this.blockFilters.has(em)?this.getBlockFilterChanges(em):this.pendingTransactionFilters.has(em)?this.getPendingTransactionFilterChanges(em):Promise.resolve(eD())}async getFilterLogs(eb){let em=(0,eC.intNumberFromHexString)(eb),ew=this.logFilters.get(em);return ew?this.sendAsyncPromise(Object.assign(Object.assign({},e_),{method:"eth_getLogs",params:[eA(ew)]})):eD()}makeFilterId(){return(0,eM.IntNumber)(++this.nextFilterId)}sendAsyncPromise(eb){return new Promise((em,ew)=>{this.provider.sendAsync(eb,(eb,eM)=>eb?ew(eb):Array.isArray(eM)||null==eM?ew(Error(`unexpected response received: ${JSON.stringify(eM)}`)):void em(eM))})}deleteFilter(eb){console.info(`Deleting filter (${eb})`),this.logFilters.delete(eb),this.blockFilters.delete(eb),this.pendingTransactionFilters.delete(eb),this.cursors.delete(eb),this.timeouts.delete(eb)}async getLogFilterChanges(eb){let em=this.logFilters.get(eb),ew=this.cursors.get(eb);if(!ew||!em)return eD();let eT=await this.getCurrentBlockHeight(),eE="latest"===em.toBlock?eT:em.toBlock;if(ew>eT||ew>Number(em.toBlock))return eO();console.info(`Fetching logs from ${ew} to ${eE} for filter ${eb}`);let eS=await this.sendAsyncPromise(Object.assign(Object.assign({},e_),{method:"eth_getLogs",params:[eA(Object.assign(Object.assign({},em),{fromBlock:ew,toBlock:eE}))]}));if(Array.isArray(eS.result)){let em=eS.result.map(eb=>(0,eC.intNumberFromHexString)(eb.blockNumber||"0x0")),eT=Math.max(...em);if(eT&&eT>ew){let em=(0,eM.IntNumber)(eT+1);console.info(`Moving cursor position for filter (${eb}) from ${ew} to ${em}`),this.cursors.set(eb,em)}}return eS}async getBlockFilterChanges(eb){let em=this.cursors.get(eb);if(!em)return eD();let ew=await this.getCurrentBlockHeight();if(em>ew)return eO();console.info(`Fetching blocks from ${em} to ${ew} for filter (${eb})`);let eT=(await Promise.all((0,eC.range)(em,ew+1).map(eb=>this.getBlockHashByNumber((0,eM.IntNumber)(eb))))).filter(eb=>!!eb),eE=(0,eM.IntNumber)(em+eT.length);return console.info(`Moving cursor position for filter (${eb}) from ${em} to ${eE}`),this.cursors.set(eb,eE),Object.assign(Object.assign({},e_),{result:eT})}async getPendingTransactionFilterChanges(eb){return Promise.resolve(eO())}async setInitialCursorPosition(eb,em){let ew=await this.getCurrentBlockHeight(),eM="number"==typeof em&&em>ew?em:ew;return this.cursors.set(eb,eM),eM}setFilterTimeout(eb){let em=this.timeouts.get(eb);em&&window.clearTimeout(em);let ew=window.setTimeout(()=>{console.info(`Filter (${eb}) timed out`),this.deleteFilter(eb)},eT);this.timeouts.set(eb,ew)}async getCurrentBlockHeight(){let eb=new Date;if(eb.getTime()-this.lastFetchTimestamp.getTime()>this.REQUEST_THROTTLE_INTERVAL){this.lastFetchTimestamp=eb;let em=await this._getCurrentBlockHeight();this.currentBlockHeight=em,this.resolvers.forEach(eb=>eb(em)),this.resolvers=[]}return this.currentBlockHeight?this.currentBlockHeight:new Promise(eb=>this.resolvers.push(eb))}async _getCurrentBlockHeight(){let{result:eb}=await this.sendAsyncPromise(Object.assign(Object.assign({},e_),{method:"eth_blockNumber",params:[]}));return(0,eC.intNumberFromHexString)((0,eC.ensureHexString)(eb))}async getBlockHashByNumber(eb){let em=await this.sendAsyncPromise(Object.assign(Object.assign({},e_),{method:"eth_getBlockByNumber",params:[(0,eC.hexStringFromIntNumber)(eb),!1]}));return em.result&&"string"==typeof em.result.hash?(0,eC.ensureHexString)(em.result.hash):null}}function eS(eb){return{fromBlock:eN(eb.fromBlock),toBlock:eN(eb.toBlock),addresses:void 0===eb.address?null:Array.isArray(eb.address)?eb.address:[eb.address],topics:eb.topics||[]}}function eA(eb){let em={fromBlock:eI(eb.fromBlock),toBlock:eI(eb.toBlock),topics:eb.topics};return null!==eb.addresses&&(em.address=eb.addresses),em}function eN(eb){if(void 0===eb||"latest"===eb||"pending"===eb)return"latest";if("earliest"===eb)return(0,eM.IntNumber)(0);if((0,eC.isHexString)(eb))return(0,eC.intNumberFromHexString)(eb);throw Error(`Invalid block option: ${String(eb)}`)}function eI(eb){return"latest"===eb?eb:(0,eC.hexStringFromIntNumber)(eb)}function eD(){return Object.assign(Object.assign({},e_),{error:{code:-32e3,message:"filter not found"}})}function eO(){return Object.assign(Object.assign({},e_),{result:[]})}em.FilterPolyfill=eE,em.filterFromParam=eS},5313:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.SubscriptionManager=void 0;let eM=ew(6842),eC=ew(68961),eT=()=>{};class e_{constructor(eb){let em=new eM.PollingBlockTracker({provider:eb,pollingInterval:15e3,setSkipCacheFlag:!0}),{events:ew,middleware:eT}=eC({blockTracker:em,provider:eb});this.events=ew,this.subscriptionMiddleware=eT}async handleRequest(eb){let em={};return await this.subscriptionMiddleware(eb,em,eT,eT),em}destroy(){this.subscriptionMiddleware.destroy()}}em.SubscriptionManager=e_},92036:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.RelayAbstract=em.APP_VERSION_KEY=em.LOCAL_STORAGE_ADDRESSES_KEY=em.WALLET_USER_NAME_KEY=void 0;let eM=ew(37185);em.WALLET_USER_NAME_KEY="walletUsername",em.LOCAL_STORAGE_ADDRESSES_KEY="Addresses",em.APP_VERSION_KEY="AppVersion";class eC{async makeEthereumJSONRPCRequest(eb,em){if(!em)throw Error("Error: No jsonRpcUrl provided");return window.fetch(em,{method:"POST",body:JSON.stringify(eb),mode:"cors",headers:{"Content-Type":"application/json"}}).then(eb=>eb.json()).then(em=>{if(!em)throw eM.standardErrors.rpc.parse({});let ew=em,{error:eC}=ew;if(eC)throw(0,eM.serializeError)(eC,eb.method);return ew})}}em.RelayAbstract=eC},81107:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.RelayEventManager=void 0;let eM=ew(32072);class eC{constructor(){this._nextRequestId=0,this.callbacks=new Map}makeRequestId(){this._nextRequestId=(this._nextRequestId+1)%2147483647;let eb=this._nextRequestId,em=(0,eM.prepend0x)(eb.toString(16)),ew=this.callbacks.get(em);return ew&&this.callbacks.delete(em),eb}}em.RelayEventManager=eC},73526:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.Session=void 0;let eM=ew(89072),eC=ew(32072),eT="session:id",e_="session:secret",eE="session:linked";class eS{constructor(eb,em,ew,eT){this._storage=eb,this._id=em||(0,eC.randomBytesHex)(16),this._secret=ew||(0,eC.randomBytesHex)(32),this._key=new eM.sha256().update(`${this._id}, ${this._secret} WalletLink`).digest("hex"),this._linked=!!eT}static load(eb){let em=eb.getItem(eT),ew=eb.getItem(eE),eM=eb.getItem(e_);return em&&eM?new eS(eb,em,eM,"1"===ew):null}static hash(eb){return new eM.sha256().update(eb).digest("hex")}get id(){return this._id}get secret(){return this._secret}get key(){return this._key}get linked(){return this._linked}set linked(eb){this._linked=eb,this.persistLinked()}save(){return this._storage.setItem(eT,this._id),this._storage.setItem(e_,this._secret),this.persistLinked(),this}persistLinked(){this._storage.setItem(eE,this._linked?"1":"0")}}em.Session=eS},26840:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.MobileRelay=void 0;let eM=ew(32072),eC=ew(23129),eT=ew(18411);class e_ extends eC.WalletLinkRelay{constructor(eb){var em;super(eb),this._enableMobileWalletLink=null!==(em=eb.enableMobileWalletLink)&&void 0!==em&&em}requestEthereumAccounts(){return this._enableMobileWalletLink?super.requestEthereumAccounts():{promise:new Promise(()=>{let eb=(0,eM.getLocation)();eb.href=`https://go.cb-w.com/dapp?cb_url=${encodeURIComponent(eb.href)}`}),cancel:()=>{}}}publishWeb3RequestEvent(eb,em){if(super.publishWeb3RequestEvent(eb,em),!(this._enableMobileWalletLink&&this.ui instanceof eT.MobileRelayUI))return;let ew=!1;switch(em.method){case"requestEthereumAccounts":case"connectAndSignIn":ew=!0,this.ui.openCoinbaseWalletDeeplink(this.getQRCodeUrl());break;case"switchEthereumChain":return;default:ew=!0,this.ui.openCoinbaseWalletDeeplink()}ew&&window.addEventListener("blur",()=>{window.addEventListener("focus",()=>{this.connection.checkUnseenEvents()},{once:!0})},{once:!0})}handleWeb3ResponseMessage(eb){super.handleWeb3ResponseMessage(eb),this._enableMobileWalletLink&&this.ui instanceof eT.MobileRelayUI&&this.ui.closeOpenedWindow()}connectAndSignIn(eb){if(!this._enableMobileWalletLink)throw 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:eb.nonce,iat:new Date().toISOString(),chainId:`eip155:${this.dappDefaultChain}`,statement:eb.statement,resources:eb.resources}})}}em.MobileRelay=e_},18411:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.MobileRelayUI=void 0;let eM=ew(8592);class eC{constructor(eb){this.attached=!1,this.darkMode=!1,this.openedWindow=null,this.redirectDialog=new eM.RedirectDialog,this.darkMode=eb.darkMode}attach(){if(this.attached)throw Error("Coinbase Wallet SDK UI is already attached");this.redirectDialog.attach(),this.attached=!0}setConnected(eb){}closeOpenedWindow(){var eb;null===(eb=this.openedWindow)||void 0===eb||eb.close(),this.openedWindow=null}redirectToCoinbaseWallet(eb){let em=new URL("https://go.cb-w.com/walletlink");em.searchParams.append("redirect_url",window.location.href),eb&&em.searchParams.append("wl_url",eb),this.openedWindow=window.open(em.href,"cbw-opener"),this.openedWindow&&setTimeout(()=>this.closeOpenedWindow(),5e3)}openCoinbaseWalletDeeplink(eb){this.redirectDialog.present({title:"Redirecting to Coinbase Wallet...",buttonText:"Open",darkMode:this.darkMode,onButtonClick:()=>{this.redirectToCoinbaseWallet(eb)}}),setTimeout(()=>{this.redirectToCoinbaseWallet(eb)},99)}showConnecting(eb){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}}em.MobileRelayUI=eC},23129:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.WalletLinkRelay=void 0;let eM=ew(37185),eC=ew(34083),eT=ew(32072),e_=ew(38431),eE=ew(92036),eS=ew(73526),eA=ew(33689),eN=ew(7588),eI=ew(20462);class eD extends eE.RelayAbstract{constructor(eb){var em;super(),this.accountsCallback=null,this.chainCallbackParams={chainId:"",jsonRpcUrl:""},this.chainCallback=null,this.dappDefaultChain=1,this.appName="",this.appLogoUrl=null,this.linkedUpdated=eb=>{var em;this.isLinked=eb;let ew=this.storage.getItem(eE.LOCAL_STORAGE_ADDRESSES_KEY);if(eb&&(this.session.linked=eb),this.isUnlinkedErrorState=!1,ew){let eM=ew.split(" "),eC="true"===this.storage.getItem("IsStandaloneSigning");if(""!==eM[0]&&!eb&&this.session.linked&&!eC){this.isUnlinkedErrorState=!0;let eb=this.getSessionIdHash();null===(em=this.diagnostic)||void 0===em||em.log(e_.EVENTS.UNLINKED_ERROR_STATE,{sessionIdHash:eb})}}},this.metadataUpdated=(eb,em)=>{this.storage.setItem(eb,em)},this.chainUpdated=(eb,em)=>{(this.chainCallbackParams.chainId!==eb||this.chainCallbackParams.jsonRpcUrl!==em)&&(this.chainCallbackParams={chainId:eb,jsonRpcUrl:em},this.chainCallback&&this.chainCallback(eb,em))},this.accountUpdated=eb=>{this.accountsCallback&&this.accountsCallback([eb]),eD.accountRequestCallbackIds.size>0&&(Array.from(eD.accountRequestCallbackIds.values()).forEach(em=>{let ew={type:"WEB3_RESPONSE",id:em,response:{method:"requestEthereumAccounts",result:[eb]}};this.invokeCallback(Object.assign(Object.assign({},ew),{id:em}))}),eD.accountRequestCallbackIds.clear())},this.connectedUpdated=eb=>{this.ui.setConnected(eb)},this.resetAndReload=this.resetAndReload.bind(this),this.linkAPIUrl=eb.linkAPIUrl,this.storage=eb.storage,this.options=eb;let{session:ew,ui:eM,connection:eC}=this.subscribe();this._session=ew,this.connection=eC,this.relayEventManager=eb.relayEventManager,this.diagnostic=eb.diagnosticLogger,this._reloadOnDisconnect=null===(em=eb.reloadOnDisconnect)||void 0===em||em,this.ui=eM}subscribe(){let eb=eS.Session.load(this.storage)||new eS.Session(this.storage).save(),{linkAPIUrl:em,diagnostic:ew}=this,eM=new eA.WalletLinkConnection({session:eb,linkAPIUrl:em,diagnostic:ew,listener:this}),{version:eC,darkMode:eT}=this.options,e_=this.options.uiConstructor({linkAPIUrl:em,version:eC,darkMode:eT,session:eb});return eM.connect(),{session:eb,ui:e_,connection:eM}}attachUI(){this.ui.attach()}resetAndReload(){Promise.race([this.connection.setSessionMetadata("__destroyed","1"),new Promise(eb=>setTimeout(()=>eb(null),1e3))]).then(()=>{var eb,em;let ew=this.ui.isStandalone();null===(eb=this.diagnostic)||void 0===eb||eb.log(e_.EVENTS.SESSION_STATE_CHANGE,{method:"relay::resetAndReload",sessionMetadataChange:"__destroyed, 1",sessionIdHash:this.getSessionIdHash()}),this.connection.destroy();let eM=eS.Session.load(this.storage);if((null==eM?void 0:eM.id)===this._session.id?this.storage.clear():eM&&(null===(em=this.diagnostic)||void 0===em||em.log(e_.EVENTS.SKIPPED_CLEARING_SESSION,{sessionIdHash:this.getSessionIdHash(),storedSessionIdHash:eS.Session.hash(eM.id)})),this._reloadOnDisconnect){this.ui.reloadUI();return}this.accountsCallback&&this.accountsCallback([],!0);let{session:eC,ui:eT,connection:eE}=this.subscribe();this._session=eC,this.connection=eE,this.ui=eT,ew&&this.ui.setStandalone&&this.ui.setStandalone(!0),this.attachUI()}).catch(eb=>{var em;null===(em=this.diagnostic)||void 0===em||em.log(e_.EVENTS.FAILURE,{method:"relay::resetAndReload",message:`failed to reset and reload with ${eb}`,sessionIdHash:this.getSessionIdHash()})})}setAppInfo(eb,em){this.appName=eb,this.appLogoUrl=em}getStorageItem(eb){return this.storage.getItem(eb)}get session(){return this._session}setStorageItem(eb,em){this.storage.setItem(eb,em)}signEthereumMessage(eb,em,ew,eM){return this.sendRequest({method:"signEthereumMessage",params:{message:(0,eT.hexStringFromBuffer)(eb,!0),address:em,addPrefix:ew,typedDataJson:eM||null}})}ethereumAddressFromSignedMessage(eb,em,ew){return this.sendRequest({method:"ethereumAddressFromSignedMessage",params:{message:(0,eT.hexStringFromBuffer)(eb,!0),signature:(0,eT.hexStringFromBuffer)(em,!0),addPrefix:ew}})}signEthereumTransaction(eb){return this.sendRequest({method:"signEthereumTransaction",params:{fromAddress:eb.fromAddress,toAddress:eb.toAddress,weiValue:(0,eT.bigIntStringFromBN)(eb.weiValue),data:(0,eT.hexStringFromBuffer)(eb.data,!0),nonce:eb.nonce,gasPriceInWei:eb.gasPriceInWei?(0,eT.bigIntStringFromBN)(eb.gasPriceInWei):null,maxFeePerGas:eb.gasPriceInWei?(0,eT.bigIntStringFromBN)(eb.gasPriceInWei):null,maxPriorityFeePerGas:eb.gasPriceInWei?(0,eT.bigIntStringFromBN)(eb.gasPriceInWei):null,gasLimit:eb.gasLimit?(0,eT.bigIntStringFromBN)(eb.gasLimit):null,chainId:eb.chainId,shouldSubmit:!1}})}signAndSubmitEthereumTransaction(eb){return this.sendRequest({method:"signEthereumTransaction",params:{fromAddress:eb.fromAddress,toAddress:eb.toAddress,weiValue:(0,eT.bigIntStringFromBN)(eb.weiValue),data:(0,eT.hexStringFromBuffer)(eb.data,!0),nonce:eb.nonce,gasPriceInWei:eb.gasPriceInWei?(0,eT.bigIntStringFromBN)(eb.gasPriceInWei):null,maxFeePerGas:eb.maxFeePerGas?(0,eT.bigIntStringFromBN)(eb.maxFeePerGas):null,maxPriorityFeePerGas:eb.maxPriorityFeePerGas?(0,eT.bigIntStringFromBN)(eb.maxPriorityFeePerGas):null,gasLimit:eb.gasLimit?(0,eT.bigIntStringFromBN)(eb.gasLimit):null,chainId:eb.chainId,shouldSubmit:!0}})}submitEthereumTransaction(eb,em){return this.sendRequest({method:"submitEthereumTransaction",params:{signedTransaction:(0,eT.hexStringFromBuffer)(eb,!0),chainId:em}})}scanQRCode(eb){return this.sendRequest({method:"scanQRCode",params:{regExp:eb}})}getQRCodeUrl(){return(0,eT.createQrUrl)(this._session.id,this._session.secret,this.linkAPIUrl,!1,this.options.version,this.dappDefaultChain)}genericRequest(eb,em){return this.sendRequest({method:"generic",params:{action:em,data:eb}})}sendGenericMessage(eb){return this.sendRequest(eb)}sendRequest(eb){let em=null,ew=(0,eT.randomBytesHex)(8),eM=eM=>{this.publishWeb3RequestCanceledEvent(ew),this.handleErrorResponse(ew,eb.method,eM),null==em||em()},eC=new Promise((eC,eT)=>{this.ui.isStandalone()||(em=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:eM,onResetConnection:this.resetAndReload})),this.relayEventManager.callbacks.set(ew,eb=>{if(null==em||em(),(0,eN.isErrorResponse)(eb))return eT(Error(eb.errorMessage));eC(eb)}),this.ui.isStandalone()?this.sendRequestStandalone(ew,eb):this.publishWeb3RequestEvent(ew,eb)});return{promise:eC,cancel:eM}}setConnectDisabled(eb){this.ui.setConnectDisabled(eb)}setAccountsCallback(eb){this.accountsCallback=eb}setChainCallback(eb){this.chainCallback=eb}setDappDefaultChainCallback(eb){this.dappDefaultChain=eb,this.ui instanceof eI.WalletLinkRelayUI&&this.ui.setChainId(eb)}publishWeb3RequestEvent(eb,em){var ew;let eM={type:"WEB3_REQUEST",id:eb,request:em},eC=eS.Session.load(this.storage);null===(ew=this.diagnostic)||void 0===ew||ew.log(e_.EVENTS.WEB3_REQUEST,{eventId:eM.id,method:`relay::${em.method}`,sessionIdHash:this.getSessionIdHash(),storedSessionIdHash:eC?eS.Session.hash(eC.id):"",isSessionMismatched:((null==eC?void 0:eC.id)!==this._session.id).toString()}),this.publishEvent("Web3Request",eM,!0).then(eb=>{var ew;null===(ew=this.diagnostic)||void 0===ew||ew.log(e_.EVENTS.WEB3_REQUEST_PUBLISHED,{eventId:eM.id,method:`relay::${em.method}`,sessionIdHash:this.getSessionIdHash(),storedSessionIdHash:eC?eS.Session.hash(eC.id):"",isSessionMismatched:((null==eC?void 0:eC.id)!==this._session.id).toString()})}).catch(eb=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:eM.id,response:{method:em.method,errorMessage:eb.message}})})}publishWeb3RequestCanceledEvent(eb){let em={type:"WEB3_REQUEST_CANCELED",id:eb};this.publishEvent("Web3RequestCanceled",em,!1).then()}publishEvent(eb,em,ew){return this.connection.publishEvent(eb,em,ew)}handleWeb3ResponseMessage(eb){var em;let{response:ew}=eb;if(null===(em=this.diagnostic)||void 0===em||em.log(e_.EVENTS.WEB3_RESPONSE,{eventId:eb.id,method:`relay::${ew.method}`,sessionIdHash:this.getSessionIdHash()}),"requestEthereumAccounts"===ew.method){eD.accountRequestCallbackIds.forEach(em=>this.invokeCallback(Object.assign(Object.assign({},eb),{id:em}))),eD.accountRequestCallbackIds.clear();return}this.invokeCallback(eb)}handleErrorResponse(eb,em,ew,eC){var eT;let e_=null!==(eT=null==ew?void 0:ew.message)&&void 0!==eT?eT:(0,eM.getMessageFromCode)(eC);this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:eb,response:{method:em,errorMessage:e_,errorCode:eC}})}invokeCallback(eb){let em=this.relayEventManager.callbacks.get(eb.id);em&&(em(eb.response),this.relayEventManager.callbacks.delete(eb.id))}requestEthereumAccounts(){let eb={method:"requestEthereumAccounts",params:{appName:this.appName,appLogoUrl:this.appLogoUrl||null}},em=null,ew=(0,eT.randomBytesHex)(8),eC=eM=>{this.publishWeb3RequestCanceledEvent(ew),this.handleErrorResponse(ew,eb.method,eM),null==em||em()},e_=new Promise((eT,e_)=>{if(this.relayEventManager.callbacks.set(ew,eb=>{if(this.ui.hideRequestEthereumAccounts(),null==em||em(),(0,eN.isErrorResponse)(eb))return e_(Error(eb.errorMessage));eT(eb)}),this.ui.inlineAccountsResponse()){let eb=eb=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:ew,response:{method:"requestEthereumAccounts",result:eb}})};this.ui.requestEthereumAccounts({onCancel:eC,onAccounts:eb})}else{let eb=eM.standardErrors.provider.userRejectedRequest("User denied account authorization");this.ui.requestEthereumAccounts({onCancel:()=>eC(eb)})}eD.accountRequestCallbackIds.add(ew),this.ui.inlineAccountsResponse()||this.ui.isStandalone()||this.publishWeb3RequestEvent(ew,eb)});return{promise:e_,cancel:eC}}selectProvider(eb){let em={method:"selectProvider",params:{providerOptions:eb}},ew=(0,eT.randomBytesHex)(8),eM=eb=>{this.publishWeb3RequestCanceledEvent(ew),this.handleErrorResponse(ew,em.method,eb)},e_=new Promise((em,eM)=>{this.relayEventManager.callbacks.set(ew,eb=>{if((0,eN.isErrorResponse)(eb))return eM(Error(eb.errorMessage));em(eb)});let eT=eb=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:ew,response:{method:"selectProvider",result:eC.ProviderType.Unselected}})},e_=eb=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:ew,response:{method:"selectProvider",result:eb}})};this.ui.selectProvider&&this.ui.selectProvider({onApprove:e_,onCancel:eT,providerOptions:eb})});return{cancel:eM,promise:e_}}watchAsset(eb,em,ew,eM,eC,e_){let eE={method:"watchAsset",params:{type:eb,options:{address:em,symbol:ew,decimals:eM,image:eC},chainId:e_}},eS=null,eA=(0,eT.randomBytesHex)(8),eI=eb=>{this.publishWeb3RequestCanceledEvent(eA),this.handleErrorResponse(eA,eE.method,eb),null==eS||eS()};this.ui.inlineWatchAsset()||(eS=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:eI,onResetConnection:this.resetAndReload}));let eD=new Promise((eT,eI)=>{this.relayEventManager.callbacks.set(eA,eb=>{if(null==eS||eS(),(0,eN.isErrorResponse)(eb))return eI(Error(eb.errorMessage));eT(eb)});let eD=eb=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:eA,response:{method:"watchAsset",result:!1}})},eO=()=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:eA,response:{method:"watchAsset",result:!0}})};this.ui.inlineWatchAsset()&&this.ui.watchAsset({onApprove:eO,onCancel:eD,type:eb,address:em,symbol:ew,decimals:eM,image:eC,chainId:e_}),this.ui.inlineWatchAsset()||this.ui.isStandalone()||this.publishWeb3RequestEvent(eA,eE)});return{cancel:eI,promise:eD}}addEthereumChain(eb,em,ew,eM,eC,e_){let eE={method:"addEthereumChain",params:{chainId:eb,rpcUrls:em,blockExplorerUrls:eM,chainName:eC,iconUrls:ew,nativeCurrency:e_}},eS=null,eA=(0,eT.randomBytesHex)(8),eI=eb=>{this.publishWeb3RequestCanceledEvent(eA),this.handleErrorResponse(eA,eE.method,eb),null==eS||eS()};this.ui.inlineAddEthereumChain(eb)||(eS=this.ui.showConnecting({isUnlinkedErrorState:this.isUnlinkedErrorState,onCancel:eI,onResetConnection:this.resetAndReload}));let eD=new Promise((em,ew)=>{this.relayEventManager.callbacks.set(eA,eb=>{if(null==eS||eS(),(0,eN.isErrorResponse)(eb))return ew(Error(eb.errorMessage));em(eb)});let eM=eb=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:eA,response:{method:"addEthereumChain",result:{isApproved:!1,rpcUrl:""}}})},eC=eb=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:eA,response:{method:"addEthereumChain",result:{isApproved:!0,rpcUrl:eb}}})};this.ui.inlineAddEthereumChain(eb)&&this.ui.addEthereumChain({onCancel:eM,onApprove:eC,chainId:eE.params.chainId,rpcUrls:eE.params.rpcUrls,blockExplorerUrls:eE.params.blockExplorerUrls,chainName:eE.params.chainName,iconUrls:eE.params.iconUrls,nativeCurrency:eE.params.nativeCurrency}),this.ui.inlineAddEthereumChain(eb)||this.ui.isStandalone()||this.publishWeb3RequestEvent(eA,eE)});return{promise:eD,cancel:eI}}switchEthereumChain(eb,em){let ew={method:"switchEthereumChain",params:Object.assign({chainId:eb},{address:em})},eC=(0,eT.randomBytesHex)(8),e_=eb=>{this.publishWeb3RequestCanceledEvent(eC),this.handleErrorResponse(eC,ew.method,eb)},eE=new Promise((em,eT)=>{this.relayEventManager.callbacks.set(eC,eb=>(0,eN.isErrorResponse)(eb)&&eb.errorCode?eT(eM.standardErrors.provider.custom({code:eb.errorCode,message:"Unrecognized chain ID. Try adding the chain using addEthereumChain first."})):(0,eN.isErrorResponse)(eb)?eT(Error(eb.errorMessage)):void em(eb));let e_=em=>{var ew;if(em){let eT=null!==(ew=(0,eM.getErrorCode)(em))&&void 0!==ew?ew:eM.standardErrorCodes.provider.unsupportedChain;this.handleErrorResponse(eC,"switchEthereumChain",em instanceof Error?em:eM.standardErrors.provider.unsupportedChain(eb),eT)}else this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:eC,response:{method:"switchEthereumChain",result:{isApproved:!1,rpcUrl:""}}})},eE=eb=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:eC,response:{method:"switchEthereumChain",result:{isApproved:!0,rpcUrl:eb}}})};this.ui.switchEthereumChain({onCancel:e_,onApprove:eE,chainId:ew.params.chainId,address:ew.params.address}),this.ui.inlineSwitchEthereumChain()||this.ui.isStandalone()||this.publishWeb3RequestEvent(eC,ew)});return{promise:eE,cancel:e_}}inlineAddEthereumChain(eb){return this.ui.inlineAddEthereumChain(eb)}getSessionIdHash(){return eS.Session.hash(this._session.id)}sendRequestStandalone(eb,em){let ew=ew=>{this.handleErrorResponse(eb,em.method,ew)},eM=em=>{this.handleWeb3ResponseMessage({type:"WEB3_RESPONSE",id:eb,response:em})};switch(em.method){case"signEthereumMessage":this.ui.signEthereumMessage({request:em,onSuccess:eM,onCancel:ew});break;case"signEthereumTransaction":this.ui.signEthereumTransaction({request:em,onSuccess:eM,onCancel:ew});break;case"submitEthereumTransaction":this.ui.submitEthereumTransaction({request:em,onSuccess:eM,onCancel:ew});break;case"ethereumAddressFromSignedMessage":this.ui.ethereumAddressFromSignedMessage({request:em,onSuccess:eM});break;default:ew()}}}em.WalletLinkRelay=eD,eD.accountRequestCallbackIds=new Set},33689:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.WalletLinkConnection=void 0;let eM=ew(34083),eC=ew(50769),eT=ew(38431),e_=ew(92036),eE=ew(73526),eS=ew(12389),eA=ew(57326),eN=1e4,eI=6e4;class eD{constructor({session:eb,linkAPIUrl:em,listener:ew,diagnostic:eI,WebSocketClass:eD=WebSocket}){this.destroyed=!1,this.lastHeartbeatResponse=0,this.nextReqId=(0,eM.IntNumber)(1),this._connected=!1,this._linked=!1,this.shouldFetchUnseenEventsOnConnect=!1,this.requestResolutions=new Map,this.handleSessionMetadataUpdated=eb=>{if(!eb)return;let em=new Map([["__destroyed",this.handleDestroyed],["EthereumAddress",this.handleAccountUpdated],["WalletUsername",this.handleWalletUsernameUpdated],["AppVersion",this.handleAppVersionUpdated],["ChainId",em=>eb.JsonRpcUrl&&this.handleChainUpdated(em,eb.JsonRpcUrl)]]);em.forEach((em,ew)=>{let eM=eb[ew];void 0!==eM&&em(eM)})},this.handleDestroyed=eb=>{var em,ew;"1"===eb&&(null===(em=this.listener)||void 0===em||em.resetAndReload(),null===(ew=this.diagnostic)||void 0===ew||ew.log(eT.EVENTS.METADATA_DESTROYED,{alreadyDestroyed:this.isDestroyed,sessionIdHash:eE.Session.hash(this.session.id)}))},this.handleAccountUpdated=async eb=>{var em,ew;try{let ew=await this.cipher.decrypt(eb);null===(em=this.listener)||void 0===em||em.accountUpdated(ew)}catch(eb){null===(ew=this.diagnostic)||void 0===ew||ew.log(eT.EVENTS.GENERAL_ERROR,{message:"Had error decrypting",value:"selectedAddress"})}},this.handleMetadataUpdated=async(eb,em)=>{var ew,eM;try{let eM=await this.cipher.decrypt(em);null===(ew=this.listener)||void 0===ew||ew.metadataUpdated(eb,eM)}catch(em){null===(eM=this.diagnostic)||void 0===eM||eM.log(eT.EVENTS.GENERAL_ERROR,{message:"Had error decrypting",value:eb})}},this.handleWalletUsernameUpdated=async eb=>{this.handleMetadataUpdated(e_.WALLET_USER_NAME_KEY,eb)},this.handleAppVersionUpdated=async eb=>{this.handleMetadataUpdated(e_.APP_VERSION_KEY,eb)},this.handleChainUpdated=async(eb,em)=>{var ew,eM;try{let eM=await this.cipher.decrypt(eb),eC=await this.cipher.decrypt(em);null===(ew=this.listener)||void 0===ew||ew.chainUpdated(eM,eC)}catch(eb){null===(eM=this.diagnostic)||void 0===eM||eM.log(eT.EVENTS.GENERAL_ERROR,{message:"Had error decrypting",value:"chainId|jsonRpcUrl"})}},this.session=eb,this.cipher=new eC.Cipher(eb.secret),this.diagnostic=eI,this.listener=ew;let eO=new eA.WalletLinkWebSocket(`${em}/rpc`,eD);eO.setConnectionStateListener(async em=>{var ew;null===(ew=this.diagnostic)||void 0===ew||ew.log(eT.EVENTS.CONNECTED_STATE_CHANGE,{state:em,sessionIdHash:eE.Session.hash(eb.id)});let eM=!1;switch(em){case eA.ConnectionState.DISCONNECTED:if(!this.destroyed){let eb=async()=>{await new Promise(eb=>setTimeout(eb,5e3)),this.destroyed||eO.connect().catch(()=>{eb()})};eb()}break;case eA.ConnectionState.CONNECTED:try{await this.authenticate(),this.sendIsLinked(),this.sendGetSessionConfig(),eM=!0}catch(eb){}this.updateLastHeartbeat(),setInterval(()=>{this.heartbeat()},eN),this.shouldFetchUnseenEventsOnConnect&&this.fetchUnseenEventsAPI();case eA.ConnectionState.CONNECTING:}this.connected!==eM&&(this.connected=eM)}),eO.setIncomingDataListener(em=>{var ew,eM,eC;switch(em.type){case"Heartbeat":this.updateLastHeartbeat();return;case"IsLinkedOK":case"Linked":{let eM="IsLinkedOK"===em.type?em.linked:void 0;null===(ew=this.diagnostic)||void 0===ew||ew.log(eT.EVENTS.LINKED,{sessionIdHash:eE.Session.hash(eb.id),linked:eM,type:em.type,onlineGuests:em.onlineGuests}),this.linked=eM||em.onlineGuests>0;break}case"GetSessionConfigOK":case"SessionConfigUpdated":null===(eM=this.diagnostic)||void 0===eM||eM.log(eT.EVENTS.SESSION_CONFIG_RECEIVED,{sessionIdHash:eE.Session.hash(eb.id),metadata_keys:em&&em.metadata?Object.keys(em.metadata):void 0}),this.handleSessionMetadataUpdated(em.metadata);break;case"Event":this.handleIncomingEvent(em)}void 0!==em.id&&(null===(eC=this.requestResolutions.get(em.id))||void 0===eC||eC(em))}),this.ws=eO,this.http=new eS.WalletLinkHTTP(em,eb.id,eb.key)}connect(){var eb;if(this.destroyed)throw Error("instance is destroyed");null===(eb=this.diagnostic)||void 0===eb||eb.log(eT.EVENTS.STARTED_CONNECTING,{sessionIdHash:eE.Session.hash(this.session.id)}),this.ws.connect()}destroy(){var eb;this.destroyed=!0,this.ws.disconnect(),null===(eb=this.diagnostic)||void 0===eb||eb.log(eT.EVENTS.DISCONNECTED,{sessionIdHash:eE.Session.hash(this.session.id)}),this.listener=void 0}get isDestroyed(){return this.destroyed}get connected(){return this._connected}set connected(eb){var em,ew;this._connected=eb,eb&&(null===(em=this.onceConnected)||void 0===em||em.call(this)),null===(ew=this.listener)||void 0===ew||ew.connectedUpdated(eb)}setOnceConnected(eb){return new Promise(em=>{this.connected?eb().then(em):this.onceConnected=()=>{eb().then(em),this.onceConnected=void 0}})}get linked(){return this._linked}set linked(eb){var em,ew;this._linked=eb,eb&&(null===(em=this.onceLinked)||void 0===em||em.call(this)),null===(ew=this.listener)||void 0===ew||ew.linkedUpdated(eb)}setOnceLinked(eb){return new Promise(em=>{this.linked?eb().then(em):this.onceLinked=()=>{eb().then(em),this.onceLinked=void 0}})}async handleIncomingEvent(eb){var em,ew;if("Event"===eb.type&&"Web3Response"===eb.event)try{let ew=await this.cipher.decrypt(eb.data),eM=JSON.parse(ew);if("WEB3_RESPONSE"!==eM.type)return;null===(em=this.listener)||void 0===em||em.handleWeb3ResponseMessage(eM)}catch(eb){null===(ew=this.diagnostic)||void 0===ew||ew.log(eT.EVENTS.GENERAL_ERROR,{message:"Had error decrypting",value:"incomingEvent"})}}async checkUnseenEvents(){if(!this.connected){this.shouldFetchUnseenEventsOnConnect=!0;return}await new Promise(eb=>setTimeout(eb,250));try{await this.fetchUnseenEventsAPI()}catch(eb){console.error("Unable to check for unseen events",eb)}}async fetchUnseenEventsAPI(){this.shouldFetchUnseenEventsOnConnect=!1;let eb=await this.http.fetchUnseenEvents();eb.forEach(eb=>this.handleIncomingEvent(eb))}async setSessionMetadata(eb,em){let ew={type:"SetSessionConfig",id:(0,eM.IntNumber)(this.nextReqId++),sessionId:this.session.id,metadata:{[eb]:em}};return this.setOnceConnected(async()=>{let eb=await this.makeRequest(ew);if("Fail"===eb.type)throw Error(eb.error||"failed to set session metadata")})}async publishEvent(eb,em,ew=!1){let eC=await this.cipher.encrypt(JSON.stringify(Object.assign(Object.assign({},em),{origin:location.origin,relaySource:window.coinbaseWalletExtension?"injected_sdk":"sdk"}))),eT={type:"PublishEvent",id:(0,eM.IntNumber)(this.nextReqId++),sessionId:this.session.id,event:eb,data:eC,callWebhook:ew};return this.setOnceLinked(async()=>{let eb=await this.makeRequest(eT);if("Fail"===eb.type)throw Error(eb.error||"failed to publish event");return eb.eventId})}sendData(eb){this.ws.sendData(JSON.stringify(eb))}updateLastHeartbeat(){this.lastHeartbeatResponse=Date.now()}heartbeat(){if(Date.now()-this.lastHeartbeatResponse>2*eN){this.ws.disconnect();return}try{this.ws.sendData("h")}catch(eb){}}async makeRequest(eb,em=eI){let ew;let eM=eb.id;return this.sendData(eb),Promise.race([new Promise((eb,eC)=>{ew=window.setTimeout(()=>{eC(Error(`request ${eM} timed out`))},em)}),new Promise(eb=>{this.requestResolutions.set(eM,em=>{clearTimeout(ew),eb(em),this.requestResolutions.delete(eM)})})])}async authenticate(){let eb={type:"HostSession",id:(0,eM.IntNumber)(this.nextReqId++),sessionId:this.session.id,sessionKey:this.session.key},em=await this.makeRequest(eb);if("Fail"===em.type)throw Error(em.error||"failed to authentcate")}sendIsLinked(){let eb={type:"IsLinked",id:(0,eM.IntNumber)(this.nextReqId++),sessionId:this.session.id};this.sendData(eb)}sendGetSessionConfig(){let eb={type:"GetSessionConfig",id:(0,eM.IntNumber)(this.nextReqId++),sessionId:this.session.id};this.sendData(eb)}}em.WalletLinkConnection=eD},12389:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.WalletLinkHTTP=void 0;class ew{constructor(eb,em,ew){this.linkAPIUrl=eb,this.sessionId=em;let eM=`${em}:${ew}`;this.auth=`Basic ${btoa(eM)}`}async markUnseenEventsAsSeen(eb){return Promise.all(eb.map(eb=>fetch(`${this.linkAPIUrl}/events/${eb.eventId}/seen`,{method:"POST",headers:{Authorization:this.auth}}))).catch(eb=>console.error("Unabled to mark event as failed:",eb))}async fetchUnseenEvents(){var eb;let em=await fetch(`${this.linkAPIUrl}/events?unseen=true`,{headers:{Authorization:this.auth}});if(em.ok){let{events:ew,error:eM}=await em.json();if(eM)throw Error(`Check unseen events failed: ${eM}`);let eC=null!==(eb=null==ew?void 0:ew.filter(eb=>"Web3Response"===eb.event).map(eb=>({type:"Event",sessionId:this.sessionId,eventId:eb.id,event:eb.event,data:eb.data})))&&void 0!==eb?eb:[];return this.markUnseenEventsAsSeen(eC),eC}throw Error(`Check unseen events failed: ${em.status}`)}}em.WalletLinkHTTP=ew},57326:function(eb,em){"use strict";var ew;Object.defineProperty(em,"__esModule",{value:!0}),em.WalletLinkWebSocket=em.ConnectionState=void 0,function(eb){eb[eb.DISCONNECTED=0]="DISCONNECTED",eb[eb.CONNECTING=1]="CONNECTING",eb[eb.CONNECTED=2]="CONNECTED"}(ew||(em.ConnectionState=ew={}));class eM{setConnectionStateListener(eb){this.connectionStateListener=eb}setIncomingDataListener(eb){this.incomingDataListener=eb}constructor(eb,em=WebSocket){this.WebSocketClass=em,this.webSocket=null,this.pendingData=[],this.url=eb.replace(/^http/,"ws")}async connect(){if(this.webSocket)throw Error("webSocket object is not null");return new Promise((eb,em)=>{var eM;let eC;try{this.webSocket=eC=new this.WebSocketClass(this.url)}catch(eb){em(eb);return}null===(eM=this.connectionStateListener)||void 0===eM||eM.call(this,ew.CONNECTING),eC.onclose=eb=>{var eM;this.clearWebSocket(),em(Error(`websocket error ${eb.code}: ${eb.reason}`)),null===(eM=this.connectionStateListener)||void 0===eM||eM.call(this,ew.DISCONNECTED)},eC.onopen=em=>{var eM;if(eb(),null===(eM=this.connectionStateListener)||void 0===eM||eM.call(this,ew.CONNECTED),this.pendingData.length>0){let eb=[...this.pendingData];eb.forEach(eb=>this.sendData(eb)),this.pendingData=[]}},eC.onmessage=eb=>{var em,ew;if("h"===eb.data)null===(em=this.incomingDataListener)||void 0===em||em.call(this,{type:"Heartbeat"});else try{let em=JSON.parse(eb.data);null===(ew=this.incomingDataListener)||void 0===ew||ew.call(this,em)}catch(eb){}}})}disconnect(){var eb;let{webSocket:em}=this;if(em){this.clearWebSocket(),null===(eb=this.connectionStateListener)||void 0===eb||eb.call(this,ew.DISCONNECTED),this.connectionStateListener=void 0,this.incomingDataListener=void 0;try{em.close()}catch(eb){}}}sendData(eb){let{webSocket:em}=this;if(!em){this.pendingData.push(eb),this.connect();return}em.send(eb)}clearWebSocket(){let{webSocket:eb}=this;eb&&(this.webSocket=null,eb.onclose=null,eb.onerror=null,eb.onmessage=null,eb.onopen=null)}}em.WalletLinkWebSocket=eM},7588:function(eb,em){"use strict";function ew(eb){return void 0!==eb.errorMessage}Object.defineProperty(em,"__esModule",{value:!0}),em.isErrorResponse=void 0,em.isErrorResponse=ew},20462:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.WalletLinkRelayUI=void 0;let eM=ew(27162),eC=ew(27834),eT=ew(52049);class e_{constructor(eb){this.standalone=null,this.attached=!1,this.snackbar=new eT.Snackbar({darkMode:eb.darkMode}),this.linkFlow=new eC.LinkFlow({darkMode:eb.darkMode,version:eb.version,sessionId:eb.session.id,sessionSecret:eb.session.secret,linkAPIUrl:eb.linkAPIUrl,isParentConnection:!1})}attach(){if(this.attached)throw Error("Coinbase Wallet SDK UI is already attached");let eb=document.documentElement,em=document.createElement("div");em.className="-cbwsdk-css-reset",eb.appendChild(em),this.linkFlow.attach(em),this.snackbar.attach(em),this.attached=!0,(0,eM.injectCssReset)()}setConnected(eb){this.linkFlow.setConnected(eb)}setChainId(eb){this.linkFlow.setChainId(eb)}setConnectDisabled(eb){this.linkFlow.setConnectDisabled(eb)}addEthereumChain(){}watchAsset(){}switchEthereumChain(){}requestEthereumAccounts(eb){this.linkFlow.open({onCancel:eb.onCancel})}hideRequestEthereumAccounts(){this.linkFlow.close()}signEthereumMessage(){}signEthereumTransaction(){}submitEthereumTransaction(){}ethereumAddressFromSignedMessage(){}showConnecting(eb){let em;return em=eb.isUnlinkedErrorState?{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:eb.onResetConnection}]}:{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:eb.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:eb.onResetConnection}]},this.snackbar.presentItem(em)}reloadUI(){document.location.reload()}inlineAccountsResponse(){return!1}inlineAddEthereumChain(){return!1}inlineWatchAsset(){return!1}inlineSwitchEthereumChain(){return!1}setStandalone(eb){this.standalone=eb}isStandalone(){var eb;return null!==(eb=this.standalone)&&void 0!==eb&&eb}}em.WalletLinkRelayUI=e_},55490:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.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}"},15898:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.CoinbaseWalletSteps=em.ConnectContent=void 0;let eC=eM(ew(86010)),eT=ew(6400),e_=ew(32072),eE=ew(43604),eS=ew(50408),eA=ew(70578),eN=ew(59309),eI=ew(81508),eD=ew(2620),eO=eM(ew(55490)),eP={title:"Coinbase Wallet app",description:"Connect with your self-custody wallet",steps:ej},eR=eb=>"light"===eb?"#FFFFFF":"#0A0B0D";function eB(eb){let{theme:em}=eb,ew=(0,e_.createQrUrl)(eb.sessionId,eb.sessionSecret,eb.linkAPIUrl,eb.isParentConnection,eb.version,eb.chainId),eM=eP.steps;return(0,eT.h)("div",{"data-testid":"connect-content",className:(0,eC.default)("-cbwsdk-connect-content",em)},(0,eT.h)("style",null,eO.default),(0,eT.h)("div",{className:"-cbwsdk-connect-content-header"},(0,eT.h)("h2",{className:(0,eC.default)("-cbwsdk-connect-content-heading",em)},"Scan to connect with our mobile app"),eb.onCancel&&(0,eT.h)("button",{type:"button",className:"-cbwsdk-cancel-button",onClick:eb.onCancel},(0,eT.h)(eS.CloseIcon,{fill:"light"===em?"#0A0B0D":"#FFFFFF"}))),(0,eT.h)("div",{className:"-cbwsdk-connect-content-layout"},(0,eT.h)("div",{className:"-cbwsdk-connect-content-column-left"},(0,eT.h)(eF,{title:eP.title,description:eP.description,theme:em})),(0,eT.h)("div",{className:"-cbwsdk-connect-content-column-right"},(0,eT.h)("div",{className:"-cbwsdk-connect-content-qr-wrapper"},(0,eT.h)(eI.QRCode,{content:ew,width:200,height:200,fgColor:"#000",bgColor:"transparent"}),(0,eT.h)("input",{type:"hidden",name:"cbw-cbwsdk-version",value:eE.LIB_VERSION}),(0,eT.h)("input",{type:"hidden",value:ew})),(0,eT.h)(eM,{theme:em}),!eb.isConnected&&(0,eT.h)("div",{"data-testid":"connecting-spinner",className:(0,eC.default)("-cbwsdk-connect-content-qr-connecting",em)},(0,eT.h)(eD.Spinner,{size:36,color:"dark"===em?"#FFF":"#000"}),(0,eT.h)("p",null,"Connecting...")))))}function eF({title:eb,description:em,theme:ew}){return(0,eT.h)("div",{className:(0,eC.default)("-cbwsdk-connect-item",ew)},(0,eT.h)("div",null,(0,eT.h)(eA.CoinbaseWalletRound,null)),(0,eT.h)("div",{className:"-cbwsdk-connect-item-copy-wrapper"},(0,eT.h)("h3",{className:"-cbwsdk-connect-item-title"},eb),(0,eT.h)("p",{className:"-cbwsdk-connect-item-description"},em)))}function ej({theme:eb}){return(0,eT.h)("ol",{className:"-cbwsdk-wallet-steps"},(0,eT.h)("li",{className:(0,eC.default)("-cbwsdk-wallet-steps-item",eb)},(0,eT.h)("div",{className:"-cbwsdk-wallet-steps-item-wrapper"},"Open Coinbase Wallet app")),(0,eT.h)("li",{className:(0,eC.default)("-cbwsdk-wallet-steps-item",eb)},(0,eT.h)("div",{className:"-cbwsdk-wallet-steps-item-wrapper"},(0,eT.h)("span",null,"Tap ",(0,eT.h)("strong",null,"Scan")," "),(0,eT.h)("span",{className:(0,eC.default)("-cbwsdk-wallet-steps-pad-left","-cbwsdk-wallet-steps-icon",eb)},(0,eT.h)(eN.QRCodeIcon,{fill:eR(eb)})))))}em.ConnectContent=eB,em.CoinbaseWalletSteps=ej},28171:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.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}"},5670:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.ConnectDialog=void 0;let eC=eM(ew(86010)),eT=ew(6400),e_=ew(30396),eE=ew(15898),eS=ew(19719),eA=eM(ew(28171)),eN=eb=>{let{isOpen:em,darkMode:ew}=eb,[eM,eN]=(0,e_.useState)(!em),[eI,eD]=(0,e_.useState)(!em);(0,e_.useEffect)(()=>{let eb=[window.setTimeout(()=>{eD(!em)},10)];return em?eN(!1):eb.push(window.setTimeout(()=>{eN(!0)},360)),()=>{eb.forEach(window.clearTimeout)}},[em]);let eO=ew?"dark":"light";return(0,eT.h)("div",{class:(0,eC.default)("-cbwsdk-connect-dialog-container",eM&&"-cbwsdk-connect-dialog-container-hidden")},(0,eT.h)("style",null,eA.default),(0,eT.h)("div",{class:(0,eC.default)("-cbwsdk-connect-dialog-backdrop",eO,eI&&"-cbwsdk-connect-dialog-backdrop-hidden")}),(0,eT.h)("div",{class:"-cbwsdk-connect-dialog"},(0,eT.h)("div",{class:(0,eC.default)("-cbwsdk-connect-dialog-box",eI&&"-cbwsdk-connect-dialog-box-hidden")},eb.connectDisabled?null:(0,eT.h)(eE.ConnectContent,{theme:eO,version:eb.version,sessionId:eb.sessionId,sessionSecret:eb.sessionSecret,linkAPIUrl:eb.linkAPIUrl,isConnected:eb.isConnected,isParentConnection:eb.isParentConnection,chainId:eb.chainId,onCancel:eb.onCancel}),(0,eT.h)(eS.TryExtensionContent,{theme:eO}))))};em.ConnectDialog=eN},27834:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.LinkFlow=void 0;let eM=ew(6400),eC=ew(5670);class eT{constructor(eb){this.connected=!1,this.chainId=1,this.isOpen=!1,this.onCancel=null,this.root=null,this.connectDisabled=!1,this.darkMode=eb.darkMode,this.version=eb.version,this.sessionId=eb.sessionId,this.sessionSecret=eb.sessionSecret,this.linkAPIUrl=eb.linkAPIUrl,this.isParentConnection=eb.isParentConnection}attach(eb){this.root=document.createElement("div"),this.root.className="-cbwsdk-link-flow-root",eb.appendChild(this.root),this.render()}setConnected(eb){this.connected!==eb&&(this.connected=eb,this.render())}setChainId(eb){this.chainId!==eb&&(this.chainId=eb,this.render())}detach(){var eb;this.root&&((0,eM.render)(null,this.root),null===(eb=this.root.parentElement)||void 0===eb||eb.removeChild(this.root))}setConnectDisabled(eb){this.connectDisabled=eb}open(eb){this.isOpen=!0,this.onCancel=eb.onCancel,this.render()}close(){this.isOpen=!1,this.onCancel=null,this.render()}render(){this.root&&(0,eM.render)((0,eM.h)(eC.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)}}em.LinkFlow=eT},81508:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer,eC=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.QRCode=void 0;let eT=ew(6400),e_=ew(30396),eE=eC(ew(7713)),eS=eb=>{let[em,ew]=(0,e_.useState)("");return(0,e_.useEffect)(()=>{var em,eC;let eT=new eE.default({content:eb.content,background:eb.bgColor||"#ffffff",color:eb.fgColor||"#000000",container:"svg",ecl:"M",width:null!==(em=eb.width)&&void 0!==em?em:256,height:null!==(eC=eb.height)&&void 0!==eC?eC:256,padding:0,image:eb.image}),e_=eM.from(eT.svg(),"utf8").toString("base64");ew(`data:image/svg+xml;base64,${e_}`)},[eb.bgColor,eb.content,eb.fgColor,eb.height,eb.image,eb.width]),em?(0,eT.h)("img",{src:em,alt:"QR Code"}):null};em.QRCode=eS},73714:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.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}"},8592:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.RedirectDialog=void 0;let eC=eM(ew(86010)),eT=ew(6400),e_=ew(27162),eE=ew(25767),eS=eM(ew(73714));class eA{constructor(){this.root=null}attach(){let eb=document.documentElement;this.root=document.createElement("div"),this.root.className="-cbwsdk-css-reset",eb.appendChild(this.root),(0,e_.injectCssReset)()}present(eb){this.render(eb)}clear(){this.render(null)}render(eb){this.root&&((0,eT.render)(null,this.root),eb&&(0,eT.render)((0,eT.h)(eN,Object.assign({},eb,{onDismiss:()=>{this.clear()}})),this.root))}}em.RedirectDialog=eA;let eN=({title:eb,buttonText:em,darkMode:ew,onButtonClick:eM,onDismiss:e_})=>{let eA=ew?"dark":"light";return(0,eT.h)(eE.SnackbarContainer,{darkMode:ew},(0,eT.h)("div",{class:"-cbwsdk-redirect-dialog"},(0,eT.h)("style",null,eS.default),(0,eT.h)("div",{class:"-cbwsdk-redirect-dialog-backdrop",onClick:e_}),(0,eT.h)("div",{class:(0,eC.default)("-cbwsdk-redirect-dialog-box",eA)},(0,eT.h)("p",null,eb),(0,eT.h)("button",{onClick:eM},em))))}},43879:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.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}"},52049:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.SnackbarInstance=em.SnackbarContainer=em.Snackbar=void 0;let eC=eM(ew(86010)),eT=ew(6400),e_=ew(30396),eE=eM(ew(43879)),eS="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEuNDkyIDEwLjQxOWE4LjkzIDguOTMgMCAwMTguOTMtOC45M2gxMS4xNjNhOC45MyA4LjkzIDAgMDE4LjkzIDguOTN2MTEuMTYzYTguOTMgOC45MyAwIDAxLTguOTMgOC45M0gxMC40MjJhOC45MyA4LjkzIDAgMDEtOC45My04LjkzVjEwLjQxOXoiIGZpbGw9IiMxNjUyRjAiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEwLjQxOSAwSDIxLjU4QzI3LjMzNSAwIDMyIDQuNjY1IDMyIDEwLjQxOVYyMS41OEMzMiAyNy4zMzUgMjcuMzM1IDMyIDIxLjU4MSAzMkgxMC40MkM0LjY2NSAzMiAwIDI3LjMzNSAwIDIxLjU4MVYxMC40MkMwIDQuNjY1IDQuNjY1IDAgMTAuNDE5IDB6bTAgMS40ODhhOC45MyA4LjkzIDAgMDAtOC45MyA4LjkzdjExLjE2M2E4LjkzIDguOTMgMCAwMDguOTMgOC45M0gyMS41OGE4LjkzIDguOTMgMCAwMDguOTMtOC45M1YxMC40MmE4LjkzIDguOTMgMCAwMC04LjkzLTguOTNIMTAuNDJ6IiBmaWxsPSIjZmZmIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS45OTggMjYuMDQ5Yy01LjU0OSAwLTEwLjA0Ny00LjQ5OC0xMC4wNDctMTAuMDQ3IDAtNS41NDggNC40OTgtMTAuMDQ2IDEwLjA0Ny0xMC4wNDYgNS41NDggMCAxMC4wNDYgNC40OTggMTAuMDQ2IDEwLjA0NiAwIDUuNTQ5LTQuNDk4IDEwLjA0Ny0xMC4wNDYgMTAuMDQ3eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xMi43NjIgMTQuMjU0YzAtLjgyMi42NjctMS40ODkgMS40ODktMS40ODloMy40OTdjLjgyMiAwIDEuNDg4LjY2NiAxLjQ4OCAxLjQ4OXYzLjQ5N2MwIC44MjItLjY2NiAxLjQ4OC0xLjQ4OCAxLjQ4OGgtMy40OTdhMS40ODggMS40ODggMCAwMS0xLjQ4OS0xLjQ4OHYtMy40OTh6IiBmaWxsPSIjMTY1MkYwIi8+PC9zdmc+",eA="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDYuNzV2LTEuNWwtMS43Mi0uNTdjLS4wOC0uMjctLjE5LS41Mi0uMzItLjc3bC44MS0xLjYyLTEuMDYtMS4wNi0xLjYyLjgxYy0uMjQtLjEzLS41LS4yNC0uNzctLjMyTDYuNzUgMGgtMS41bC0uNTcgMS43MmMtLjI3LjA4LS41My4xOS0uNzcuMzJsLTEuNjItLjgxLTEuMDYgMS4wNi44MSAxLjYyYy0uMTMuMjQtLjI0LjUtLjMyLjc3TDAgNS4yNXYxLjVsMS43Mi41N2MuMDguMjcuMTkuNTMuMzIuNzdsLS44MSAxLjYyIDEuMDYgMS4wNiAxLjYyLS44MWMuMjQuMTMuNS4yMy43Ny4zMkw1LjI1IDEyaDEuNWwuNTctMS43MmMuMjctLjA4LjUyLS4xOS43Ny0uMzJsMS42Mi44MSAxLjA2LTEuMDYtLjgxLTEuNjJjLjEzLS4yNC4yMy0uNS4zMi0uNzdMMTIgNi43NXpNNiA4LjVhMi41IDIuNSAwIDAxMC01IDIuNSAyLjUgMCAwMTAgNXoiIGZpbGw9IiMwNTBGMTkiLz48L3N2Zz4=";class eN{constructor(eb){this.items=new Map,this.nextItemKey=0,this.root=null,this.darkMode=eb.darkMode}attach(eb){this.root=document.createElement("div"),this.root.className="-cbwsdk-snackbar-root",eb.appendChild(this.root),this.render()}presentItem(eb){let em=this.nextItemKey++;return this.items.set(em,eb),this.render(),()=>{this.items.delete(em),this.render()}}clear(){this.items.clear(),this.render()}render(){this.root&&(0,eT.render)((0,eT.h)("div",null,(0,eT.h)(em.SnackbarContainer,{darkMode:this.darkMode},Array.from(this.items.entries()).map(([eb,ew])=>(0,eT.h)(em.SnackbarInstance,Object.assign({},ew,{key:eb}))))),this.root)}}em.Snackbar=eN;let eI=eb=>(0,eT.h)("div",{class:(0,eC.default)("-cbwsdk-snackbar-container")},(0,eT.h)("style",null,eE.default),(0,eT.h)("div",{class:"-cbwsdk-snackbar"},eb.children));em.SnackbarContainer=eI;let eD=({autoExpand:eb,message:em,menuItems:ew})=>{let[eM,eE]=(0,e_.useState)(!0),[eN,eI]=(0,e_.useState)(null!=eb&&eb);(0,e_.useEffect)(()=>{let eb=[window.setTimeout(()=>{eE(!1)},1),window.setTimeout(()=>{eI(!0)},1e4)];return()=>{eb.forEach(window.clearTimeout)}});let eD=()=>{eI(!eN)};return(0,eT.h)("div",{class:(0,eC.default)("-cbwsdk-snackbar-instance",eM&&"-cbwsdk-snackbar-instance-hidden",eN&&"-cbwsdk-snackbar-instance-expanded")},(0,eT.h)("div",{class:"-cbwsdk-snackbar-instance-header",onClick:eD},(0,eT.h)("img",{src:eS,class:"-cbwsdk-snackbar-instance-header-cblogo"})," ",(0,eT.h)("div",{class:"-cbwsdk-snackbar-instance-header-message"},em),(0,eT.h)("div",{class:"-gear-container"},!eN&&(0,eT.h)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,eT.h)("circle",{cx:"12",cy:"12",r:"12",fill:"#F5F7F8"})),(0,eT.h)("img",{src:eA,class:"-gear-icon",title:"Expand"}))),ew&&ew.length>0&&(0,eT.h)("div",{class:"-cbwsdk-snackbar-instance-menu"},ew.map((eb,em)=>(0,eT.h)("div",{class:(0,eC.default)("-cbwsdk-snackbar-instance-menu-item",eb.isRed&&"-cbwsdk-snackbar-instance-menu-item-is-red"),onClick:eb.onClick,key:em},(0,eT.h)("svg",{width:eb.svgWidth,height:eb.svgHeight,viewBox:"0 0 10 11",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,eT.h)("path",{"fill-rule":eb.defaultFillRule,"clip-rule":eb.defaultClipRule,d:eb.path,fill:"#AAAAAA"})),(0,eT.h)("span",{class:(0,eC.default)("-cbwsdk-snackbar-instance-menu-item-info",eb.isRed&&"-cbwsdk-snackbar-instance-menu-item-info-is-red")},eb.info)))))};em.SnackbarInstance=eD},25767:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),eC(ew(52049),em)},53156:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.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)}}"},2620:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Spinner=void 0;let eC=ew(6400),eT=eM(ew(53156)),e_=eb=>{var em;let ew=null!==(em=eb.size)&&void 0!==em?em:64,eM=eb.color||"#000";return(0,eC.h)("div",{class:"-cbwsdk-spinner"},(0,eC.h)("style",null,eT.default),(0,eC.h)("svg",{viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg",style:{width:ew,height:ew}},(0,eC.h)("circle",{style:{cx:50,cy:50,r:45,stroke:eM}})))};em.Spinner=e_},20096:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.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}"},19719:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.TryExtensionContent=void 0;let eC=eM(ew(86010)),eT=ew(6400),e_=ew(30396),eE=ew(70865),eS=ew(539),eA=ew(4841),eN=eM(ew(20096));function eI({theme:eb}){let[em,ew]=(0,e_.useState)(!1),eM=(0,e_.useCallback)(()=>{window.open("https://api.wallet.coinbase.com/rpc/v2/desktop/chrome","_blank")},[]),eI=(0,e_.useCallback)(()=>{em?window.location.reload():(eM(),ew(!0))},[eM,em]);return(0,eT.h)("div",{class:(0,eC.default)("-cbwsdk-try-extension",eb)},(0,eT.h)("style",null,eN.default),(0,eT.h)("div",{class:"-cbwsdk-try-extension-column-half"},(0,eT.h)("h3",{class:(0,eC.default)("-cbwsdk-try-extension-heading",eb)},"Or try the Coinbase Wallet browser extension"),(0,eT.h)("div",{class:"-cbwsdk-try-extension-cta-wrapper"},(0,eT.h)("button",{class:(0,eC.default)("-cbwsdk-try-extension-cta",eb),onClick:eI},em?"Refresh":"Install"),(0,eT.h)("div",null,!em&&(0,eT.h)(eE.ArrowLeftIcon,{class:"-cbwsdk-try-extension-cta-icon",fill:"light"===eb?"#0052FF":"#588AF5"})))),(0,eT.h)("div",{class:"-cbwsdk-try-extension-column-half"},(0,eT.h)("ul",{class:"-cbwsdk-try-extension-list"},(0,eT.h)("li",{class:"-cbwsdk-try-extension-list-item"},(0,eT.h)("div",{class:"-cbwsdk-try-extension-list-item-icon-wrapper"},(0,eT.h)("span",{class:(0,eC.default)("-cbwsdk-try-extension-list-item-icon",eb)},(0,eT.h)(eS.LaptopIcon,{fill:"light"===eb?"#0A0B0D":"#FFFFFF"}))),(0,eT.h)("div",{class:(0,eC.default)("-cbwsdk-try-extension-list-item-copy",eb)},"Connect with dapps with just one click on your desktop browser")),(0,eT.h)("li",{class:"-cbwsdk-try-extension-list-item"},(0,eT.h)("div",{class:"-cbwsdk-try-extension-list-item-icon-wrapper"},(0,eT.h)("span",{class:(0,eC.default)("-cbwsdk-try-extension-list-item-icon",eb)},(0,eT.h)(eA.SafeIcon,{fill:"light"===eb?"#0A0B0D":"#FFFFFF"}))),(0,eT.h)("div",{class:(0,eC.default)("-cbwsdk-try-extension-list-item-copy",eb)},"Add an additional layer of security by using a supported Ledger hardware wallet")))))}em.TryExtensionContent=eI},70865:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.ArrowLeftIcon=void 0;let eM=ew(6400);function eC(eb){return(0,eM.h)("svg",Object.assign({width:"16",height:"16",viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg"},eb),(0,eM.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"}))}em.ArrowLeftIcon=eC},50408:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.CloseIcon=void 0;let eM=ew(6400);function eC(eb){return(0,eM.h)("svg",Object.assign({width:"40",height:"40",viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg"},eb),(0,eM.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"}))}em.CloseIcon=eC},70578:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.CoinbaseWalletRound=void 0;let eM=ew(6400);function eC(eb){return(0,eM.h)("svg",Object.assign({width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg"},eb),(0,eM.h)("circle",{cx:"14",cy:"14",r:"14",fill:"#0052FF"}),(0,eM.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,eM.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"}))}em.CoinbaseWalletRound=eC},539:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.LaptopIcon=void 0;let eM=ew(6400);function eC(eb){return(0,eM.h)("svg",Object.assign({width:"14",height:"14",viewBox:"0 0 14 14",xmlns:"http://www.w3.org/2000/svg"},eb),(0,eM.h)("path",{d:"M1.8001 2.2002H12.2001V9.40019H1.8001V2.2002ZM3.4001 3.8002V7.80019H10.6001V3.8002H3.4001Z"}),(0,eM.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"}))}em.LaptopIcon=eC},59309:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.QRCodeIcon=void 0;let eM=ew(6400);function eC(eb){return(0,eM.h)("svg",Object.assign({width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},eb),(0,eM.h)("path",{d:"M3 3V8.99939L5 8.99996V5H9V3H3Z"}),(0,eM.h)("path",{d:"M15 21L21 21V15.0006L19 15V19L15 19V21Z"}),(0,eM.h)("path",{d:"M21 9H19V5H15.0006L15 3H21V9Z"}),(0,eM.h)("path",{d:"M3 15V21H8.99939L8.99996 19H5L5 15H3Z"}))}em.QRCodeIcon=eC},4841:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.SafeIcon=void 0;let eM=ew(6400);function eC(eb){return(0,eM.h)("svg",Object.assign({width:"14",height:"14",viewBox:"0 0 14 14",xmlns:"http://www.w3.org/2000/svg"},eb),(0,eM.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"}))}em.SafeIcon=eC},36089:function(eb,em,ew){var eM=ew(48764).Buffer;let eC=ew(32518),eT=ew(13550);function e_(eb){if(eb.startsWith("int["))return"int256"+eb.slice(3);if("int"===eb)return"int256";if(eb.startsWith("uint["))return"uint256"+eb.slice(4);if("uint"===eb)return"uint256";if(eb.startsWith("fixed["))return"fixed128x128"+eb.slice(5);if("fixed"===eb)return"fixed128x128";if(eb.startsWith("ufixed["))return"ufixed128x128"+eb.slice(6);else if("ufixed"===eb)return"ufixed128x128";return eb}function eE(eb){return parseInt(/^\D+(\d+)$/.exec(eb)[1],10)}function eS(eb){var em=/^\D+(\d+)x(\d+)$/.exec(eb);return[parseInt(em[1],10),parseInt(em[2],10)]}function eA(eb){var em=eb.match(/(.*)\[(.*?)\]$/);return em?""===em[2]?"dynamic":parseInt(em[2],10):null}function eN(eb){var em=typeof eb;if("string"===em)return eC.isHexString(eb)?new eT(eC.stripHexPrefix(eb),16):new eT(eb,10);if("number"===em)return new eT(eb);if(eb.toArray)return eb;throw Error("Argument is not a number")}function eI(eb,em){var ew,e_,eD,eP;if("address"===eb)return eI("uint160",eN(em));if("bool"===eb)return eI("uint8",em?1:0);if("string"===eb)return eI("bytes",new eM(em,"utf8"));if(eO(eb)){if(void 0===em.length)throw Error("Not an array?");if("dynamic"!==(ew=eA(eb))&&0!==ew&&em.length>ew)throw Error("Elements exceed array size: "+ew);for(eP in eD=[],eb=eb.slice(0,eb.lastIndexOf("[")),"string"==typeof em&&(em=JSON.parse(em)),em)eD.push(eI(eb,em[eP]));if("dynamic"===ew){var eR=eI("uint256",em.length);eD.unshift(eR)}return eM.concat(eD)}if("bytes"===eb)return em=new eM(em),eD=eM.concat([eI("uint256",em.length),em]),em.length%32!=0&&(eD=eM.concat([eD,eC.zeros(32-em.length%32)])),eD;if(eb.startsWith("bytes")){if((ew=eE(eb))<1||ew>32)throw Error("Invalid bytes width: "+ew);return eC.setLengthRight(em,32)}if(eb.startsWith("uint")){if((ew=eE(eb))%8||ew<8||ew>256)throw Error("Invalid uint width: "+ew);if((e_=eN(em)).bitLength()>ew)throw Error("Supplied uint exceeds width: "+ew+" vs "+e_.bitLength());if(e_<0)throw Error("Supplied uint is negative");return e_.toArrayLike(eM,"be",32)}else if(eb.startsWith("int")){if((ew=eE(eb))%8||ew<8||ew>256)throw Error("Invalid int width: "+ew);if((e_=eN(em)).bitLength()>ew)throw Error("Supplied int exceeds width: "+ew+" vs "+e_.bitLength());return e_.toTwos(256).toArrayLike(eM,"be",32)}else if(eb.startsWith("ufixed")){if(ew=eS(eb),(e_=eN(em))<0)throw Error("Supplied ufixed is negative");return eI("uint256",e_.mul(new eT(2).pow(new eT(ew[1]))))}else if(eb.startsWith("fixed"))return ew=eS(eb),eI("int256",eN(em).mul(new eT(2).pow(new eT(ew[1]))));throw Error("Unsupported or invalid type: "+eb)}function eD(eb){return"string"===eb||"bytes"===eb||"dynamic"===eA(eb)}function eO(eb){return eb.lastIndexOf("]")===eb.length-1}function eP(eb,em){var ew=[],eC=[],eT=32*eb.length;for(var eE in eb){var eS=e_(eb[eE]),eA=eI(eS,em[eE]);eD(eS)?(ew.push(eI("uint256",eT)),eC.push(eA),eT+=eA.length):ew.push(eA)}return eM.concat(ew.concat(eC))}function eR(eb,em){if(eb.length!==em.length)throw Error("Number of types are not matching the values");for(var ew,eT,eS=[],eA=0;eA32)throw Error("Invalid bytes width: "+ew);eS.push(eC.setLengthRight(eD,ew))}else if(eI.startsWith("uint")){if((ew=eE(eI))%8||ew<8||ew>256)throw Error("Invalid uint width: "+ew);if((eT=eN(eD)).bitLength()>ew)throw Error("Supplied uint exceeds width: "+ew+" vs "+eT.bitLength());eS.push(eT.toArrayLike(eM,"be",ew/8))}else if(eI.startsWith("int")){if((ew=eE(eI))%8||ew<8||ew>256)throw Error("Invalid int width: "+ew);if((eT=eN(eD)).bitLength()>ew)throw Error("Supplied int exceeds width: "+ew+" vs "+eT.bitLength());eS.push(eT.toTwos(ew).toArrayLike(eM,"be",ew/8))}else throw Error("Unsupported or invalid type: "+eI)}return eM.concat(eS)}function eB(eb,em){return eC.keccak(eR(eb,em))}eb.exports={rawEncode:eP,solidityPack:eR,soliditySHA3:eB}},14497:function(eb,em,ew){var eM=ew(48764).Buffer;let eC=ew(32518),eT=ew(36089),e_={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"]},eE={encodeData(eb,em,ew,e_=!0){let eE=["bytes32"],eS=[this.hashType(eb,ew)];if(e_){let eA=(eb,em,eE)=>{if(void 0!==ew[em])return["bytes32",null==eE?"0x0000000000000000000000000000000000000000000000000000000000000000":eC.keccak(this.encodeData(em,eE,ew,e_))];if(void 0===eE)throw Error(`missing value for field ${eb} of type ${em}`);if("bytes"===em)return["bytes32",eC.keccak(eE)];if("string"===em)return"string"==typeof eE&&(eE=eM.from(eE,"utf8")),["bytes32",eC.keccak(eE)];if(em.lastIndexOf("]")===em.length-1){let ew=em.slice(0,em.lastIndexOf("[")),eM=eE.map(em=>eA(eb,ew,em));return["bytes32",eC.keccak(eT.rawEncode(eM.map(([eb])=>eb),eM.map(([,eb])=>eb)))]}return[em,eE]};for(let eM of ew[eb]){let[eb,ew]=eA(eM.name,eM.type,em[eM.name]);eE.push(eb),eS.push(ew)}}else for(let eT of ew[eb]){let eb=em[eT.name];if(void 0!==eb){if("bytes"===eT.type)eE.push("bytes32"),eb=eC.keccak(eb),eS.push(eb);else if("string"===eT.type)eE.push("bytes32"),"string"==typeof eb&&(eb=eM.from(eb,"utf8")),eb=eC.keccak(eb),eS.push(eb);else if(void 0!==ew[eT.type])eE.push("bytes32"),eb=eC.keccak(this.encodeData(eT.type,eb,ew,e_)),eS.push(eb);else if(eT.type.lastIndexOf("]")===eT.type.length-1)throw Error("Arrays currently unimplemented in encodeData");else eE.push(eT.type),eS.push(eb)}}return eT.rawEncode(eE,eS)},encodeType(eb,em){let ew="",eM=this.findTypeDependencies(eb,em).filter(em=>em!==eb);for(let eC of eM=[eb].concat(eM.sort())){let eb=em[eC];if(!eb)throw Error("No type definition specified: "+eC);ew+=eC+"("+em[eC].map(({name:eb,type:em})=>em+" "+eb).join(",")+")"}return ew},findTypeDependencies(eb,em,ew=[]){if(eb=eb.match(/^\w*/)[0],ew.includes(eb)||void 0===em[eb])return ew;for(let eM of(ew.push(eb),em[eb]))for(let eb of this.findTypeDependencies(eM.type,em,ew))ew.includes(eb)||ew.push(eb);return ew},hashStruct(eb,em,ew,eM=!0){return eC.keccak(this.encodeData(eb,em,ew,eM))},hashType(eb,em){return eC.keccak(this.encodeType(eb,em))},sanitizeData(eb){let em={};for(let ew in e_.properties)eb[ew]&&(em[ew]=eb[ew]);return em.types&&(em.types=Object.assign({EIP712Domain:[]},em.types)),em},hash(eb,em=!0){let ew=this.sanitizeData(eb),eT=[eM.from("1901","hex")];return eT.push(this.hashStruct("EIP712Domain",ew.domain,ew.types,em)),"EIP712Domain"!==ew.primaryType&&eT.push(this.hashStruct(ew.primaryType,ew.message,ew.types,em)),eC.keccak(eM.concat(eT))}};function eS(eb){let em=Error("Expect argument to be non-empty array");if("object"!=typeof eb||!eb.length)throw em;let ew=eb.map(function(eb){return"bytes"===eb.type?eC.toBuffer(eb.value):eb.value}),eM=eb.map(function(eb){return eb.type}),e_=eb.map(function(eb){if(!eb.name)throw em;return eb.type+" "+eb.name});return eT.soliditySHA3(["bytes32","bytes32"],[eT.soliditySHA3(Array(eb.length).fill("string"),e_),eT.soliditySHA3(eM,ew)])}eb.exports={TYPED_MESSAGE_SCHEMA:e_,TypedDataUtils:eE,hashForSignTypedDataLegacy:function(eb){return eS(eb.data)},hashForSignTypedData_v3:function(eb){return eE.hash(eb.data,!1)},hashForSignTypedData_v4:function(eb){return eE.hash(eb.data)}}},32518:function(eb,em,ew){var eM=ew(48764).Buffer;let eC=ew(95811),eT=ew(13550);function e_(eb){return eM.allocUnsafe(eb).fill(0)}function eE(eb,em,ew){let eM=e_(em);return(eb=eA(eb),ew)?eb.length65536?(eC[0]=240|(1835008&eT)>>>18,eC[1]=128|(258048&eT)>>>12,eC[2]=128|(4032&eT)>>>6,eC[3]=128|63&eT):eT>2048?(eC[0]=224|(61440&eT)>>>12,eC[1]=128|(4032&eT)>>>6,eC[2]=128|63&eT):eT>128?(eC[0]=192|(1984&eT)>>>6,eC[1]=128|63&eT):eC[0]=eT,this.parsedData.push(eC)}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))}function ew(eb,em){this.typeNumber=eb,this.errorCorrectLevel=em,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}em.prototype={getLength:function(eb){return this.parsedData.length},write:function(eb){for(var em=0,ew=this.parsedData.length;em=7&&this.setupTypeNumber(eb),null==this.dataCache&&(this.dataCache=ew.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,em)},setupPositionProbePattern:function(eb,em){for(var ew=-1;ew<=7;ew++)if(!(eb+ew<=-1)&&!(this.moduleCount<=eb+ew))for(var eM=-1;eM<=7;eM++)em+eM<=-1||this.moduleCount<=em+eM||(0<=ew&&ew<=6&&(0==eM||6==eM)||0<=eM&&eM<=6&&(0==ew||6==ew)||2<=ew&&ew<=4&&2<=eM&&eM<=4?this.modules[eb+ew][em+eM]=!0:this.modules[eb+ew][em+eM]=!1)},getBestMaskPattern:function(){for(var eb=0,em=0,ew=0;ew<8;ew++){this.makeImpl(!0,ew);var eM=e_.getLostPoint(this);(0==ew||eb>eM)&&(eb=eM,em=ew)}return em},createMovieClip:function(eb,em,ew){var eM=eb.createEmptyMovieClip(em,ew),eC=1;this.make();for(var eT=0;eT>ew&1)==1;this.modules[Math.floor(ew/3)][ew%3+this.moduleCount-8-3]=eM}for(var ew=0;ew<18;ew++){var eM=!eb&&(em>>ew&1)==1;this.modules[ew%3+this.moduleCount-8-3][Math.floor(ew/3)]=eM}},setupTypeInfo:function(eb,em){for(var ew=this.errorCorrectLevel<<3|em,eM=e_.getBCHTypeInfo(ew),eC=0;eC<15;eC++){var eT=!eb&&(eM>>eC&1)==1;eC<6?this.modules[eC][8]=eT:eC<8?this.modules[eC+1][8]=eT:this.modules[this.moduleCount-15+eC][8]=eT}for(var eC=0;eC<15;eC++){var eT=!eb&&(eM>>eC&1)==1;eC<8?this.modules[8][this.moduleCount-eC-1]=eT:eC<9?this.modules[8][15-eC-1+1]=eT:this.modules[8][15-eC-1]=eT}this.modules[this.moduleCount-8][8]=!eb},mapData:function(eb,em){for(var ew=-1,eM=this.moduleCount-1,eC=7,eT=0,eE=this.moduleCount-1;eE>0;eE-=2)for(6==eE&&eE--;;){for(var eS=0;eS<2;eS++)if(null==this.modules[eM][eE-eS]){var eA=!1;eT>>eC&1)==1),e_.getMask(em,eM,eE-eS)&&(eA=!eA),this.modules[eM][eE-eS]=eA,-1==--eC&&(eT++,eC=7)}if((eM+=ew)<0||this.moduleCount<=eM){eM-=ew,ew=-ew;break}}}},ew.PAD0=236,ew.PAD1=17,ew.createData=function(eb,em,eM){for(var eC=eN.getRSBlocks(eb,em),eT=new eI,eE=0;eE8*eA)throw Error("code length overflow. ("+eT.getLengthInBits()+">"+8*eA+")");for(eT.getLengthInBits()+4<=8*eA&&eT.put(0,4);eT.getLengthInBits()%8!=0;)eT.putBit(!1);for(;!(eT.getLengthInBits()>=8*eA)&&(eT.put(ew.PAD0,8),!(eT.getLengthInBits()>=8*eA));)eT.put(ew.PAD1,8);return ew.createBytes(eT,eC)},ew.createBytes=function(eb,em){for(var ew=0,eM=0,eC=0,eT=Array(em.length),eE=Array(em.length),eS=0;eS=0?eP.get(eR):0}}for(var eB=0,eD=0;eD=0;)em^=e_.G15<=0;)em^=e_.G18<>>=1;return em},getPatternPosition:function(eb){return e_.PATTERN_POSITION_TABLE[eb-1]},getMask:function(eb,em,ew){switch(eb){case eT.PATTERN000:return(em+ew)%2==0;case eT.PATTERN001:return em%2==0;case eT.PATTERN010:return ew%3==0;case eT.PATTERN011:return(em+ew)%3==0;case eT.PATTERN100:return(Math.floor(em/2)+Math.floor(ew/3))%2==0;case eT.PATTERN101:return em*ew%2+em*ew%3==0;case eT.PATTERN110:return(em*ew%2+em*ew%3)%2==0;case eT.PATTERN111:return(em*ew%3+(em+ew)%2)%2==0;default:throw Error("bad maskPattern:"+eb)}},getErrorCorrectPolynomial:function(eb){for(var em=new eA([1],0),ew=0;ew5&&(ew+=3+eT-5)}for(var eM=0;eM=256;)eb-=255;return eE.EXP_TABLE[eb]},EXP_TABLE:Array(256),LOG_TABLE:Array(256)},eS=0;eS<8;eS++)eE.EXP_TABLE[eS]=1<>>7-eb%8&1)==1},put:function(eb,em){for(var ew=0;ew>>em-ew-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(eb){var em=Math.floor(this.length/8);this.buffer.length<=em&&this.buffer.push(0),eb&&(this.buffer[em]|=128>>>this.length%8),this.length++}};var eD=[[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 eO(eb){if(this.options={padding:4,width:256,height:256,typeNumber:4,color:"#000000",background:"#ffffff",ecl:"M",image:{svg:"",width:0,height:0}},"string"==typeof eb&&(eb={content:eb}),eb)for(var em in eb)this.options[em]=eb[em];if("string"!=typeof this.options.content)throw Error("Expected 'content' as string!");if(0===this.options.content.length)throw Error("Expected 'content' to be non-empty!");if(!(this.options.padding>=0))throw Error("Expected 'padding' value to be non-negative!");if(!(this.options.width>0)||!(this.options.height>0))throw Error("Expected 'width' or 'height' value to be higher than zero!");function eM(eb){switch(eb){case"L":return eC.L;case"M":return eC.M;case"Q":return eC.Q;case"H":return eC.H;default:throw Error("Unknwon error correction level: "+eb)}}function eT(eb,em){for(var ew=e_(eb),eM=1,eC=0,eT=0,eE=eD.length;eT<=eE;eT++){var eS=eD[eT];if(!eS)throw Error("Content too long: expected "+eC+" but got "+ew);switch(em){case"L":eC=eS[0];break;case"M":eC=eS[1];break;case"Q":eC=eS[2];break;case"H":eC=eS[3];break;default:throw Error("Unknwon error correction level: "+em)}if(ew<=eC)break;eM++}if(eM>eD.length)throw Error("Content too long");return eM}function e_(eb){var em=encodeURI(eb).toString().replace(/\%[0-9a-fA-F]{2}/g,"a");return em.length+(em.length!=eb?3:0)}var eE=this.options.content,eS=eT(eE,this.options.ecl),eA=eM(this.options.ecl);this.qrcode=new ew(eS,eA),this.qrcode.addData(eE),this.qrcode.make()}eO.prototype.svg=function(eb){var em=this.options||{},ew=this.qrcode.modules;void 0===eb&&(eb={container:em.container||"svg"});for(var eM=void 0===em.pretty||!!em.pretty,eC=eM?" ":"",eT=eM?"\r\n":"",e_=em.width,eE=em.height,eS=ew.length,eA=e_/(eS+2*em.padding),eN=eE/(eS+2*em.padding),eI=void 0!==em.join&&!!em.join,eD=void 0!==em.swap&&!!em.swap,eO=void 0===em.xmlDeclaration||!!em.xmlDeclaration,eP=void 0!==em.predefined&&!!em.predefined,eR=eP?eC+''+eT:"",eB=eC+''+eT,eF="",ej="",eU=0;eU'+eT:eF+=eC+''+eT}eI&&(eF=eC+'');let eG="";if(void 0!==this.options.image&&this.options.image.svg){let eb=e_*this.options.image.width/100,em=eE*this.options.image.height/100,ew=e_/2-eb/2,eM=eE/2-em/2;eG+=``+(this.options.image.svg+eT)+""}var eY="";switch(eb.container){case"svg":eO&&(eY+=''+eT),eY+=''+eT+(eR+eB+eF)+eG+"";break;case"svg-viewbox":eO&&(eY+=''+eT),eY+=''+eT+(eR+eB+eF)+eG+"";break;case"g":eY+=''+eT+(eR+eB+eF)+eG+"";break;default:eY+=(eR+eB+eF+eG).replace(/^\s+/,"")}return eY},eb.exports=eO},43604:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.LIB_VERSION=void 0,em.LIB_VERSION="3.9.1"},72997:function(eb){"use strict";var em=Object.prototype.hasOwnProperty,ew="~";function eM(){}function eC(eb,em,ew){this.fn=eb,this.context=em,this.once=ew||!1}function eT(eb,em,eM,eT,e_){if("function"!=typeof eM)throw TypeError("The listener must be a function");var eE=new eC(eM,eT||eb,e_),eS=ew?ew+em:em;return eb._events[eS]?eb._events[eS].fn?eb._events[eS]=[eb._events[eS],eE]:eb._events[eS].push(eE):(eb._events[eS]=eE,eb._eventsCount++),eb}function e_(eb,em){0==--eb._eventsCount?eb._events=new eM:delete eb._events[em]}function eE(){this._events=new eM,this._eventsCount=0}Object.create&&(eM.prototype=Object.create(null),new eM().__proto__||(ew=!1)),eE.prototype.eventNames=function(){var eb,eM,eC=[];if(0===this._eventsCount)return eC;for(eM in eb=this._events)em.call(eb,eM)&&eC.push(ew?eM.slice(1):eM);return Object.getOwnPropertySymbols?eC.concat(Object.getOwnPropertySymbols(eb)):eC},eE.prototype.listeners=function(eb){var em=ew?ew+eb:eb,eM=this._events[em];if(!eM)return[];if(eM.fn)return[eM.fn];for(var eC=0,eT=eM.length,e_=Array(eT);eCeb.length)throw Error("invalid RLP (safeSlice): end slice of Uint8Array out-of-bounds");return eb.slice(em,ew)}function eC(eb){if(0===eb[0])throw Error("invalid RLP: extra zeros");return eN(eA(eb))}function eT(eb,em){if(eb<56)return Uint8Array.from([eb+em]);let ew=eP(eb),eM=ew.length/2,eC=eP(em+55+eM);return Uint8Array.from(eI(eC+ew))}function e_(eb,em=!1){if(null==eb||0===eb.length)return Uint8Array.from([]);let ew=ej(eb),eM=eE(ew);if(em)return eM;if(0!==eM.remainder.length)throw Error("invalid RLP: remainder must be zero");return eM.data}function eE(eb){let em,ew,eT,e_,eS;let eA=[],eN=eb[0];if(eN<=127)return{data:eb.slice(0,1),remainder:eb.slice(1)};if(eN<=183){if(em=eN-127,eT=128===eN?Uint8Array.from([]):eM(eb,1,em),2===em&&eT[0]<128)throw Error("invalid RLP encoding: invalid prefix, single byte < 0x80 are not prefixed");return{data:eT,remainder:eb.slice(em)}}if(eN<=191){if(ew=eN-182,eb.length-1eb.length)throw Error("invalid RLP: total length is larger than the data");for(e_=eM(eb,ew,eT);e_.length;)eS=eE(e_),eA.push(eS.data),e_=eS.remainder;return{data:eA,remainder:eb.slice(eT)}}}Object.defineProperty(em,"__esModule",{value:!0}),em.RLP=em.utils=em.decode=em.encode=void 0,em.encode=ew,em.decode=e_;let eS=Array.from({length:256},(eb,em)=>em.toString(16).padStart(2,"0"));function eA(eb){let em="";for(let ew=0;eweb+em.length,0),ew=new Uint8Array(em);for(let em=0,eM=0;em=2&&"0"===eb[0]&&"x"===eb[1]}function eF(eb){return"string"!=typeof eb?eb:eB(eb)?eb.slice(2):eb}function ej(eb){if(eb instanceof Uint8Array)return eb;if("string"==typeof eb)return eB(eb)?eI(eR(eF(eb))):eO(eb);if("number"==typeof eb||"bigint"==typeof eb)return eb?eI(eP(eb)):Uint8Array.from([]);if(null==eb)return Uint8Array.from([]);throw Error("toBytes: received unsupported type "+typeof eb)}em.utils={bytesToHex:eA,concatBytes:eD,hexToBytes:eI,utf8ToBytes:eO},em.RLP={encode:ew,decode:e_}},78e3:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.accountBodyToRLP=em.accountBodyToSlim=em.accountBodyFromSlim=em.isZeroAddress=em.zeroAddress=em.importPublic=em.privateToAddress=em.privateToPublic=em.publicToAddress=em.pubToAddress=em.isValidPublic=em.isValidPrivate=em.generateAddress2=em.generateAddress=em.isValidChecksumAddress=em.toChecksumAddress=em.isValidAddress=em.Account=void 0;let eC=ew(5507),eT=ew(82192),e_=ew(95053),eE=ew(58040),eS=ew(38289),eA=ew(66219),eN=ew(38480),eI=ew(24712),eD=BigInt(0);class eO{constructor(eb=eD,em=eD,ew=eA.KECCAK256_RLP,eM=eA.KECCAK256_NULL){this.nonce=eb,this.balance=em,this.storageRoot=ew,this.codeHash=eM,this._validate()}static fromAccountData(eb){let{nonce:em,balance:ew,storageRoot:eM,codeHash:eC}=eb;return new eO(void 0!==em?(0,eS.bufferToBigInt)((0,eS.toBuffer)(em)):void 0,void 0!==ew?(0,eS.bufferToBigInt)((0,eS.toBuffer)(ew)):void 0,void 0!==eM?(0,eS.toBuffer)(eM):void 0,void 0!==eC?(0,eS.toBuffer)(eC):void 0)}static fromRlpSerializedAccount(eb){let em=(0,eS.arrToBufArr)(eC.RLP.decode(Uint8Array.from(eb)));if(!Array.isArray(em))throw Error("Invalid serialized account input. Must be array");return this.fromValuesArray(em)}static fromValuesArray(eb){let[em,ew,eM,eC]=eb;return new eO((0,eS.bufferToBigInt)(em),(0,eS.bufferToBigInt)(ew),eM,eC)}_validate(){if(this.nonce=8?eD+=ew[eb].toUpperCase():eD+=ew[eb];return eD};em.toChecksumAddress=eR;let eB=function(eb,ew){return(0,em.isValidAddress)(eb)&&(0,em.toChecksumAddress)(eb,ew)===eb};em.isValidChecksumAddress=eB;let eF=function(eb,em){return((0,eN.assertIsBuffer)(eb),(0,eN.assertIsBuffer)(em),(0,eS.bufferToBigInt)(em)===BigInt(0))?eM.from((0,eT.keccak256)(eC.RLP.encode((0,eS.bufArrToArr)([eb,null])))).slice(-20):eM.from((0,eT.keccak256)(eC.RLP.encode((0,eS.bufArrToArr)([eb,em])))).slice(-20)};em.generateAddress=eF;let ej=function(eb,em,ew){if((0,eN.assertIsBuffer)(eb),(0,eN.assertIsBuffer)(em),(0,eN.assertIsBuffer)(ew),20!==eb.length)throw Error("Expected from to be of length 20");if(32!==em.length)throw Error("Expected salt to be of length 32");let eC=(0,eT.keccak256)(eM.concat([eM.from("ff","hex"),eb,em,(0,eT.keccak256)(ew)]));return(0,eS.toBuffer)(eC).slice(-20)};em.generateAddress2=ej;let eU=function(eb){return e_.secp256k1.utils.isValidPrivateKey(eb)};em.isValidPrivate=eU;let eV=function(eb,em=!1){if((0,eN.assertIsBuffer)(eb),64===eb.length)try{return e_.secp256k1.ProjectivePoint.fromHex(eM.concat([eM.from([4]),eb])),!0}catch(eb){return!1}if(!em)return!1;try{return e_.secp256k1.ProjectivePoint.fromHex(eb),!0}catch(eb){return!1}};em.isValidPublic=eV;let eH=function(eb,em=!1){if((0,eN.assertIsBuffer)(eb),em&&64!==eb.length&&(eb=eM.from(e_.secp256k1.ProjectivePoint.fromHex(eb).toRawBytes(!1).slice(1))),64!==eb.length)throw Error("Expected pubKey to be of length 64");return eM.from((0,eT.keccak256)(eb)).slice(-20)};em.pubToAddress=eH,em.publicToAddress=em.pubToAddress;let e$=function(eb){return(0,eN.assertIsBuffer)(eb),eM.from(e_.secp256k1.ProjectivePoint.fromPrivateKey(eb).toRawBytes(!1).slice(1))};em.privateToPublic=e$;let eW=function(eb){return(0,em.publicToAddress)((0,em.privateToPublic)(eb))};em.privateToAddress=eW;let eZ=function(eb){return(0,eN.assertIsBuffer)(eb),64!==eb.length&&(eb=eM.from(e_.secp256k1.ProjectivePoint.fromHex(eb).toRawBytes(!1).slice(1))),eb};em.importPublic=eZ;let eK=function(){let eb=20,em=(0,eS.zeros)(eb);return(0,eS.bufferToHex)(em)};em.zeroAddress=eK;let eG=function(eb){try{(0,eN.assertIsString)(eb)}catch(eb){return!1}let ew=(0,em.zeroAddress)();return ew===eb};function eY(eb){let[em,ew,eM,eC]=eb;return[em,ew,0===(0,eS.arrToBufArr)(eM).length?eA.KECCAK256_RLP:eM,0===(0,eS.arrToBufArr)(eC).length?eA.KECCAK256_NULL:eC]}em.isZeroAddress=eG,em.accountBodyFromSlim=eY;let eJ=new Uint8Array(0);function eX(eb){let[em,ew,eM,eC]=eb;return[em,ew,(0,eS.arrToBufArr)(eM).equals(eA.KECCAK256_RLP)?eJ:eM,(0,eS.arrToBufArr)(eC).equals(eA.KECCAK256_NULL)?eJ:eC]}function eQ(eb,em=!0){let ew=em?eY(eb):eb;return(0,eS.arrToBufArr)(eC.RLP.encode(ew))}em.accountBodyToSlim=eX,em.accountBodyToRLP=eQ},13415:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.Address=void 0;let eC=ew(78e3),eT=ew(38289);class e_{constructor(eb){if(20!==eb.length)throw Error("Invalid address length");this.buf=eb}static zero(){return new e_((0,eT.zeros)(20))}static fromString(eb){if(!(0,eC.isValidAddress)(eb))throw Error("Invalid address");return new e_((0,eT.toBuffer)(eb))}static fromPublicKey(eb){if(!eM.isBuffer(eb))throw Error("Public key should be Buffer");let em=(0,eC.pubToAddress)(eb);return new e_(em)}static fromPrivateKey(eb){if(!eM.isBuffer(eb))throw Error("Private key should be Buffer");let em=(0,eC.privateToAddress)(eb);return new e_(em)}static generate(eb,em){if("bigint"!=typeof em)throw Error("Expected nonce to be a bigint");return new e_((0,eC.generateAddress)(eb.buf,(0,eT.bigIntToBuffer)(em)))}static generate2(eb,em,ew){if(!eM.isBuffer(em))throw Error("Expected salt to be a Buffer");if(!eM.isBuffer(ew))throw Error("Expected initCode to be a Buffer");return new e_((0,eC.generateAddress2)(eb.buf,em,ew))}equals(eb){return this.buf.equals(eb.buf)}isZero(){return this.equals(e_.zero())}isPrecompileOrSystemAddress(){let eb=(0,eT.bufferToBigInt)(this.buf),em=BigInt(0),ew=BigInt("0xffff");return eb>=em&&eb<=ew}toString(){return"0x"+this.buf.toString("hex")}toBuffer(){return eM.from(this.buf)}}em.Address=e_},67285:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.AsyncEventEmitter=void 0;let eM=ew(17187);async function eC(eb,em,ew){let eM;for await(let eC of em)try{eC.length<2?eC.call(eb,ew):await new Promise((em,eM)=>{eC.call(eb,ew,eb=>{eb?eM(eb):em()})})}catch(eb){eM=eb}if(eM)throw eM}class eT extends eM.EventEmitter{emit(eb,...em){let[ew,eM]=em,eT=this,e_=eT._events[eb]??[];return void 0===eM&&"function"==typeof ew&&(eM=ew,ew=void 0),("newListener"===eb||"removeListener"===eb)&&(ew={event:ew,fn:eM},eM=void 0),eC(eT,(e_=Array.isArray(e_)?e_:[e_]).slice(),ew).then(eM).catch(eM),eT.listenerCount(eb)>0}once(eb,em){let ew;let eM=this;if("function"!=typeof em)throw TypeError("listener must be a function");return ew=em.length>=2?function(eC,eT){eM.removeListener(eb,ew),em(eC,eT)}:function(eC){eM.removeListener(eb,ew),em(eC,ew)},eM.on(eb,ew),eM}first(eb,em){let ew=this._events[eb]??[];if("function"!=typeof em)throw TypeError("listener must be a function");return Array.isArray(ew)||(this._events[eb]=ew=[ew]),ew.unshift(em),this}before(eb,em,ew){return this.beforeOrAfter(eb,em,ew)}after(eb,em,ew){return this.beforeOrAfter(eb,em,ew,"after")}beforeOrAfter(eb,em,ew,eM){let eC,eT,e_=this._events[eb]??[],eE="after"===eM?1:0;if("function"!=typeof ew)throw TypeError("listener must be a function");if("function"!=typeof em)throw TypeError("target must be a function");for(Array.isArray(e_)||(this._events[eb]=e_=[e_]),eT=e_.length,eC=e_.length;eC--;)if(e_[eC]===em){eT=eC+eE;break}return e_.splice(eT,0,ew),this}on(eb,em){return super.on(eb,em)}addListener(eb,em){return super.addListener(eb,em)}prependListener(eb,em){return super.prependListener(eb,em)}prependOnceListener(eb,em){return super.prependOnceListener(eb,em)}removeAllListeners(eb){return super.removeAllListeners(eb)}removeListener(eb,em){return super.removeListener(eb,em)}eventNames(){return super.eventNames()}listeners(eb){return super.listeners(eb)}listenerCount(eb){return super.listenerCount(eb)}getMaxListeners(){return super.getMaxListeners()}setMaxListeners(eb){return super.setMaxListeners(eb)}}em.AsyncEventEmitter=eT},38289:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.intToUnpaddedBuffer=em.bigIntToUnpaddedBuffer=em.bigIntToHex=em.bufArrToArr=em.arrToBufArr=em.validateNoLeadingZeroes=em.baToJSON=em.toUtf8=em.short=em.addHexPrefix=em.toUnsigned=em.fromSigned=em.bufferToInt=em.bigIntToBuffer=em.bufferToBigInt=em.bufferToHex=em.toBuffer=em.unpadHexString=em.unpadArray=em.unpadBuffer=em.setLengthRight=em.setLengthLeft=em.zeros=em.intToBuffer=em.intToHex=void 0;let eC=ew(38480),eT=ew(24712),e_=function(eb){if(!Number.isSafeInteger(eb)||eb<0)throw Error(`Received an invalid integer type: ${eb}`);return`0x${eb.toString(16)}`};em.intToHex=e_;let eE=function(eb){let ew=(0,em.intToHex)(eb);return eM.from((0,eT.padToEven)(ew.slice(2)),"hex")};em.intToBuffer=eE;let eS=function(eb){return eM.allocUnsafe(eb).fill(0)};em.zeros=eS;let eA=function(eb,ew,eM){let eC=(0,em.zeros)(ew);return eM?eb.length0&&"0"===em.toString();)em=(eb=eb.slice(1))[0];return eb},eO=function(eb){return(0,eC.assertIsBuffer)(eb),eD(eb)};em.unpadBuffer=eO;let eP=function(eb){return(0,eC.assertIsArray)(eb),eD(eb)};em.unpadArray=eP;let eR=function(eb){return(0,eC.assertIsHexString)(eb),"0x"+eD(eb=(0,eT.stripHexPrefix)(eb))};em.unpadHexString=eR;let eB=function(eb){if(null==eb)return eM.allocUnsafe(0);if(eM.isBuffer(eb)||Array.isArray(eb)||eb instanceof Uint8Array)return eM.from(eb);if("string"==typeof eb){if(!(0,eT.isHexString)(eb))throw Error(`Cannot convert string to buffer. toBuffer only supports 0x-prefixed hex strings and this string was given: ${eb}`);return eM.from((0,eT.padToEven)((0,eT.stripHexPrefix)(eb)),"hex")}if("number"==typeof eb)return(0,em.intToBuffer)(eb);if("bigint"==typeof eb){if(eb0&&0===ew[0])throw Error(`${em} cannot have leading zeroes, received: ${ew.toString("hex")}`)};function eJ(eb){return Array.isArray(eb)?eb.map(eb=>eJ(eb)):eM.from(eb)}function eX(eb){return Array.isArray(eb)?eb.map(eb=>eX(eb)):Uint8Array.from(eb??[])}em.validateNoLeadingZeroes=eY,em.arrToBufArr=eJ,em.bufArrToArr=eX;let eQ=eb=>"0x"+eb.toString(16);function e0(eb){return(0,em.unpadBuffer)(eU(eb))}function e6(eb){return(0,em.unpadBuffer)((0,em.intToBuffer)(eb))}em.bigIntToHex=eQ,em.bigIntToUnpaddedBuffer=e0,em.intToUnpaddedBuffer=e6},66219:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.MAX_WITHDRAWALS_PER_PAYLOAD=em.RLP_EMPTY_STRING=em.KECCAK256_RLP=em.KECCAK256_RLP_S=em.KECCAK256_RLP_ARRAY=em.KECCAK256_RLP_ARRAY_S=em.KECCAK256_NULL=em.KECCAK256_NULL_S=em.TWO_POW256=em.SECP256K1_ORDER_DIV_2=em.SECP256K1_ORDER=em.MAX_INTEGER_BIGINT=em.MAX_INTEGER=em.MAX_UINT64=void 0;let eM=ew(48764),eC=ew(95053);em.MAX_UINT64=BigInt("0xffffffffffffffff"),em.MAX_INTEGER=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),em.MAX_INTEGER_BIGINT=BigInt("115792089237316195423570985008687907853269984665640564039457584007913129639935"),em.SECP256K1_ORDER=eC.secp256k1.CURVE.n,em.SECP256K1_ORDER_DIV_2=eC.secp256k1.CURVE.n/BigInt(2),em.TWO_POW256=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),em.KECCAK256_NULL_S="c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",em.KECCAK256_NULL=eM.Buffer.from(em.KECCAK256_NULL_S,"hex"),em.KECCAK256_RLP_ARRAY_S="1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",em.KECCAK256_RLP_ARRAY=eM.Buffer.from(em.KECCAK256_RLP_ARRAY_S,"hex"),em.KECCAK256_RLP_S="56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",em.KECCAK256_RLP=eM.Buffer.from(em.KECCAK256_RLP_S,"hex"),em.RLP_EMPTY_STRING=eM.Buffer.from([128]),em.MAX_WITHDRAWALS_PER_PAYLOAD=16},33791:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.compactBytesToNibbles=em.bytesToNibbles=em.nibblesToCompactBytes=em.nibblesToBytes=em.hasTerminator=void 0;let ew=eb=>eb.length>0&&16===eb[eb.length-1];em.hasTerminator=ew;let eM=(eb,em)=>{for(let ew=0,eM=0;eM{let ew=0;(0,em.hasTerminator)(eb)&&(ew=1,eb=eb.subarray(0,eb.length-1));let eM=new Uint8Array(eb.length/2+1);return eM[0]=ew<<5,(1&eb.length)==1&&(eM[0]|=16,eM[0]|=eb[0],eb=eb.subarray(1)),(0,em.nibblesToBytes)(eb,eM.subarray(1)),eM};em.nibblesToCompactBytes=eC;let eT=eb=>{let em=2*eb.length+1,ew=new Uint8Array(em);for(let em=0;em{if(0===eb.length)return eb;let ew=(0,em.bytesToNibbles)(eb);ew[0]<2&&(ew=ew.subarray(0,ew.length-1));let eM=2-(1&ew[0]);return ew.subarray(eM)};em.compactBytesToNibbles=e_},38480:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.assertIsString=em.assertIsArray=em.assertIsBuffer=em.assertIsHexString=void 0;let eC=ew(24712),eT=function(eb){if(!(0,eC.isHexString)(eb)){let em=`This method only supports 0x-prefixed hex strings but input was: ${eb}`;throw Error(em)}};em.assertIsHexString=eT;let e_=function(eb){if(!eM.isBuffer(eb)){let em=`This method only supports Buffer but input was: ${eb}`;throw Error(em)}};em.assertIsBuffer=e_;let eE=function(eb){if(!Array.isArray(eb)){let em=`This method only supports number arrays but input was: ${eb}`;throw Error(em)}};em.assertIsArray=eE;let eS=function(eb){if("string"!=typeof eb){let em=`This method only supports strings but input was: ${eb}`;throw Error(em)}};em.assertIsString=eS},92730:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),em.toAscii=em.stripHexPrefix=em.padToEven=em.isHexString=em.isHexPrefixed=em.getKeys=em.getBinarySize=em.fromUtf8=em.fromAscii=em.arrayContainsArray=void 0,eC(ew(66219),em),eC(ew(4554),em),eC(ew(78e3),em),eC(ew(13415),em),eC(ew(44683),em),eC(ew(85026),em),eC(ew(38289),em),eC(ew(21200),em),eC(ew(33791),em),eC(ew(67285),em);var eT=ew(24712);Object.defineProperty(em,"arrayContainsArray",{enumerable:!0,get:function(){return eT.arrayContainsArray}}),Object.defineProperty(em,"fromAscii",{enumerable:!0,get:function(){return eT.fromAscii}}),Object.defineProperty(em,"fromUtf8",{enumerable:!0,get:function(){return eT.fromUtf8}}),Object.defineProperty(em,"getBinarySize",{enumerable:!0,get:function(){return eT.getBinarySize}}),Object.defineProperty(em,"getKeys",{enumerable:!0,get:function(){return eT.getKeys}}),Object.defineProperty(em,"isHexPrefixed",{enumerable:!0,get:function(){return eT.isHexPrefixed}}),Object.defineProperty(em,"isHexString",{enumerable:!0,get:function(){return eT.isHexString}}),Object.defineProperty(em,"padToEven",{enumerable:!0,get:function(){return eT.padToEven}}),Object.defineProperty(em,"stripHexPrefix",{enumerable:!0,get:function(){return eT.stripHexPrefix}}),Object.defineProperty(em,"toAscii",{enumerable:!0,get:function(){return eT.toAscii}}),eC(ew(43543),em),eC(ew(10438),em)},24712:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer;function eC(eb){if("string"!=typeof eb)throw Error(`[isHexPrefixed] input must be type 'string', received type ${typeof eb}`);return"0"===eb[0]&&"x"===eb[1]}Object.defineProperty(em,"__esModule",{value:!0}),em.isHexString=em.getKeys=em.fromAscii=em.fromUtf8=em.toAscii=em.arrayContainsArray=em.getBinarySize=em.padToEven=em.stripHexPrefix=em.isHexPrefixed=void 0,em.isHexPrefixed=eC;let eT=eb=>{if("string"!=typeof eb)throw Error(`[stripHexPrefix] input must be type 'string', received ${typeof eb}`);return eC(eb)?eb.slice(2):eb};function e_(eb){let em=eb;if("string"!=typeof em)throw Error(`[padToEven] value must be type 'string', received ${typeof em}`);return em.length%2&&(em=`0${em}`),em}function eE(eb){if("string"!=typeof eb)throw Error(`[getBinarySize] method requires input type 'string', received ${typeof eb}`);return eM.byteLength(eb,"utf8")}function eS(eb,em,ew){if(!0!==Array.isArray(eb))throw Error(`[arrayContainsArray] method requires input 'superset' to be an array, got type '${typeof eb}'`);if(!0!==Array.isArray(em))throw Error(`[arrayContainsArray] method requires input 'subset' to be an array, got type '${typeof em}'`);return em[!0===ew?"some":"every"](em=>eb.indexOf(em)>=0)}function eA(eb){let em="",ew=0,eM=eb.length;for("0x"===eb.substring(0,2)&&(ew=2);ew0)||eb.length===2+2*em)}em.stripHexPrefix=eT,em.padToEven=e_,em.getBinarySize=eE,em.arrayContainsArray=eS,em.toAscii=eA,em.fromUtf8=eN,em.fromAscii=eI,em.getKeys=eD,em.isHexString=eO},43543:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.Lock=void 0;class ew{constructor(){this.permits=1,this.promiseResolverQueue=[]}async acquire(){return this.permits>0?(this.permits-=1,Promise.resolve(!0)):new Promise(eb=>this.promiseResolverQueue.push(eb))}release(){if(this.permits+=1,this.permits>1&&this.promiseResolverQueue.length>0)console.warn("Lock.permits should never be > 0 when there is someone waiting.");else if(1===this.permits&&this.promiseResolverQueue.length>0){this.permits-=1;let eb=this.promiseResolverQueue.shift();eb&&eb(!0)}}}em.Lock=ew},10438:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.getProvider=em.fetchFromProvider=void 0;let eM=ew(64898),eC=async(eb,em)=>{let ew=await (0,eM.default)(eb,{headers:{"content-type":"application/json"},type:"json",data:{method:em.method,params:em.params,jsonrpc:"2.0",id:1}});return ew.result};em.fetchFromProvider=eC;let eT=eb=>{if("string"==typeof eb)return eb;if(eb?.connection?.url!==void 0)return eb.connection.url;throw Error("Must provide valid provider URL or Web3Provider")};em.getProvider=eT},85026:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.hashPersonalMessage=em.isValidSignature=em.fromRpcSig=em.toCompactSig=em.toRpcSig=em.ecrecover=em.ecsign=void 0;let eC=ew(82192),eT=ew(95053),e_=ew(38289),eE=ew(66219),eS=ew(38480);function eA(eb,em,ew){let eC=eT.secp256k1.sign(eb,em),e_=eC.toCompactRawBytes(),eE=eM.from(e_.slice(0,32)),eS=eM.from(e_.slice(32,64)),eA=void 0===ew?BigInt(eC.recovery+27):BigInt(eC.recovery+35)+BigInt(ew)*BigInt(2);return{r:eE,s:eS,v:eA}}function eN(eb,em){return eb===BigInt(0)||eb===BigInt(1)?eb:void 0===em?eb-BigInt(27):eb-(em*BigInt(2)+BigInt(35))}function eI(eb){return eb===BigInt(0)||eb===BigInt(1)}em.ecsign=eA;let eD=function(eb,em,ew,eC,eE){let eS=eM.concat([(0,e_.setLengthLeft)(ew,32),(0,e_.setLengthLeft)(eC,32)],64),eA=eN(em,eE);if(!eI(eA))throw Error("Invalid signature v value");let eD=eT.secp256k1.Signature.fromCompact(eS).addRecoveryBit(Number(eA)),eO=eD.recoverPublicKey(eb);return eM.from(eO.toRawBytes(!1).slice(1))};em.ecrecover=eD;let eO=function(eb,em,ew,eC){let eT=eN(eb,eC);if(!eI(eT))throw Error("Invalid signature v value");return(0,e_.bufferToHex)(eM.concat([(0,e_.setLengthLeft)(em,32),(0,e_.setLengthLeft)(ew,32),(0,e_.toBuffer)(eb)]))};em.toRpcSig=eO;let eP=function(eb,em,ew,eC){let eT=eN(eb,eC);if(!eI(eT))throw Error("Invalid signature v value");let eE=ew;return(eb>BigInt(28)&&eb%BigInt(2)===BigInt(1)||eb===BigInt(1)||eb===BigInt(28))&&(eE=eM.from(ew),eE[0]|=128),(0,e_.bufferToHex)(eM.concat([(0,e_.setLengthLeft)(em,32),(0,e_.setLengthLeft)(eE,32)]))};em.toCompactSig=eP;let eR=function(eb){let em,ew,eM;let eC=(0,e_.toBuffer)(eb);if(eC.length>=65)em=eC.slice(0,32),ew=eC.slice(32,64),eM=(0,e_.bufferToBigInt)(eC.slice(64));else if(64===eC.length)em=eC.slice(0,32),ew=eC.slice(32,64),eM=BigInt((0,e_.bufferToInt)(eC.slice(32,33))>>7),ew[0]&=127;else throw Error("Invalid signature length");return eM<27&&(eM+=BigInt(27)),{v:eM,r:em,s:ew}};em.fromRpcSig=eR;let eB=function(eb,em,ew,eM=!0,eC){if(32!==em.length||32!==ew.length||!eI(eN(eb,eC)))return!1;let eT=(0,e_.bufferToBigInt)(em),eS=(0,e_.bufferToBigInt)(ew);return eT!==BigInt(0)&&!(eT>=eE.SECP256K1_ORDER)&&eS!==BigInt(0)&&!(eS>=eE.SECP256K1_ORDER)&&(!eM||!(eS>=eE.SECP256K1_ORDER_DIV_2))};em.isValidSignature=eB;let eF=function(eb){(0,eS.assertIsBuffer)(eb);let em=eM.from(`\u0019Ethereum Signed Message: +${eb.length}`,"utf-8");return eM.from((0,eC.keccak256)(eM.concat([em,eb])))};em.hashPersonalMessage=eF},21200:function(eb,em,ew){"use strict";var eM;Object.defineProperty(em,"__esModule",{value:!0}),em.toType=em.TypeOutput=void 0;let eC=ew(38289),eT=ew(24712);function e_(eb,em){if(null===eb)return null;if(void 0===eb)return;if("string"!=typeof eb||(0,eT.isHexString)(eb)){if("number"==typeof eb&&!Number.isSafeInteger(eb))throw Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)")}else throw Error(`A string must be provided with a 0x-prefix, given: ${eb}`);let ew=(0,eC.toBuffer)(eb);switch(em){case eM.Buffer:return ew;case eM.BigInt:return(0,eC.bufferToBigInt)(ew);case eM.Number:{let eb=(0,eC.bufferToBigInt)(ew);if(eb>BigInt(Number.MAX_SAFE_INTEGER))throw Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative output type)");return Number(eb)}case eM.PrefixedHexString:return(0,eC.bufferToHex)(ew);default:throw Error("unknown outputType")}}!function(eb){eb[eb.Number=0]="Number",eb[eb.BigInt=1]="BigInt",eb[eb.Buffer=2]="Buffer",eb[eb.PrefixedHexString=3]="PrefixedHexString"}(eM=em.TypeOutput||(em.TypeOutput={})),em.toType=e_},4554:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.GWEI_TO_WEI=void 0,em.GWEI_TO_WEI=BigInt(1e9)},44683:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.Withdrawal=void 0;let eC=ew(13415),eT=ew(38289),e_=ew(21200);class eE{constructor(eb,em,ew,eM){this.index=eb,this.validatorIndex=em,this.address=ew,this.amount=eM}static fromWithdrawalData(eb){let{index:em,validatorIndex:ew,address:eM,amount:eT}=eb,eS=(0,e_.toType)(em,e_.TypeOutput.BigInt),eA=(0,e_.toType)(ew,e_.TypeOutput.BigInt),eN=new eC.Address((0,e_.toType)(eM,e_.TypeOutput.Buffer)),eI=(0,e_.toType)(eT,e_.TypeOutput.BigInt);return new eE(eS,eA,eN,eI)}static fromValuesArray(eb){if(4!==eb.length)throw Error(`Invalid withdrawalArray length expected=4 actual=${eb.length}`);let[em,ew,eM,eC]=eb;return eE.fromWithdrawalData({index:em,validatorIndex:ew,address:eM,amount:eC})}static toBufferArray(eb){let em;let{index:ew,validatorIndex:eT,address:eE,amount:eS}=eb,eA=(0,e_.toType)(ew,e_.TypeOutput.BigInt)===BigInt(0)?eM.alloc(0):(0,e_.toType)(ew,e_.TypeOutput.Buffer),eN=(0,e_.toType)(eT,e_.TypeOutput.BigInt)===BigInt(0)?eM.alloc(0):(0,e_.toType)(eT,e_.TypeOutput.Buffer);em=eE instanceof eC.Address?eE.buf:(0,e_.toType)(eE,e_.TypeOutput.Buffer);let eI=(0,e_.toType)(eS,e_.TypeOutput.BigInt)===BigInt(0)?eM.alloc(0):(0,e_.toType)(eS,e_.TypeOutput.Buffer);return[eA,eN,em,eI]}raw(){return eE.toBufferArray(this)}toValue(){return{index:this.index,validatorIndex:this.validatorIndex,address:this.address.buf,amount:this.amount}}toJSON(){return{index:(0,eT.bigIntToHex)(this.index),validatorIndex:(0,eT.bigIntToHex)(this.validatorIndex),address:"0x"+this.address.buf.toString("hex"),amount:(0,eT.bigIntToHex)(this.amount)}}}em.Withdrawal=eE},95851:function(eb,em,ew){"use strict";ew.d(em,{i:function(){return eM}});let eM="abi/5.7.0"},84243:function(eb,em,ew){"use strict";ew.d(em,{R:function(){return eQ},$:function(){return e0}});var eM=ew(16441),eC=ew(6881),eT=ew(1581),e_=ew(95851),eE=ew(61184),eS=ew(19485);class eA extends eE.XI{constructor(eb){super("address","address",eb,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(eb,em){try{em=(0,eS.Kn)(em)}catch(eb){this._throwError(eb.message,em)}return eb.writeValue(em)}decode(eb){return(0,eS.Kn)((0,eM.$m)(eb.readValue().toHexString(),20))}}class eN extends eE.XI{constructor(eb){super(eb.name,eb.type,void 0,eb.dynamic),this.coder=eb}defaultValue(){return this.coder.defaultValue()}encode(eb,em){return this.coder.encode(eb,em)}decode(eb){return this.coder.decode(eb)}}let eI=new eT.Yd(e_.i);function eD(eb,em,ew){let eM=null;if(Array.isArray(ew))eM=ew;else if(ew&&"object"==typeof ew){let eb={};eM=em.map(em=>{let eM=em.localName;return eM||eI.throwError("cannot encode object for signature with missing names",eT.Yd.errors.INVALID_ARGUMENT,{argument:"values",coder:em,value:ew}),eb[eM]&&eI.throwError("cannot encode object for signature with duplicate names",eT.Yd.errors.INVALID_ARGUMENT,{argument:"values",coder:em,value:ew}),eb[eM]=!0,ew[eM]})}else eI.throwArgumentError("invalid tuple value","tuple",ew);em.length!==eM.length&&eI.throwArgumentError("types/value length mismatch","tuple",ew);let eC=new eE.QV(eb.wordSize),e_=new eE.QV(eb.wordSize),eS=[];return em.forEach((eb,em)=>{let ew=eM[em];if(eb.dynamic){let em=e_.length;eb.encode(e_,ew);let eM=eC.writeUpdatableValue();eS.push(eb=>{eM(eb+em)})}else eb.encode(eC,ew)}),eS.forEach(eb=>{eb(eC.length)}),eb.appendWriter(eC)+eb.appendWriter(e_)}function eO(eb,em){let ew=[],eM=eb.subReader(0);em.forEach(em=>{let eC=null;if(em.dynamic){let ew=eb.readValue(),e_=eM.subReader(ew.toNumber());try{eC=em.decode(e_)}catch(eb){if(eb.code===eT.Yd.errors.BUFFER_OVERRUN)throw eb;(eC=eb).baseType=em.name,eC.name=em.localName,eC.type=em.type}}else try{eC=em.decode(eb)}catch(eb){if(eb.code===eT.Yd.errors.BUFFER_OVERRUN)throw eb;(eC=eb).baseType=em.name,eC.name=em.localName,eC.type=em.type}void 0!=eC&&ew.push(eC)});let eC=em.reduce((eb,em)=>{let ew=em.localName;return ew&&(eb[ew]||(eb[ew]=0),eb[ew]++),eb},{});em.forEach((eb,em)=>{let eM=eb.localName;if(!eM||1!==eC[eM]||("length"===eM&&(eM="_length"),null!=ew[eM]))return;let eT=ew[em];eT instanceof Error?Object.defineProperty(ew,eM,{enumerable:!0,get:()=>{throw eT}}):ew[eM]=eT});for(let eb=0;eb{throw em}})}return Object.freeze(ew)}class eP extends eE.XI{constructor(eb,em,ew){let eM=eb.type+"["+(em>=0?em:"")+"]",eC=-1===em||eb.dynamic;super("array",eM,ew,eC),this.coder=eb,this.length=em}defaultValue(){let eb=this.coder.defaultValue(),em=[];for(let ew=0;eweb._data.length&&eI.throwError("insufficient data length",eT.Yd.errors.BUFFER_OVERRUN,{length:eb._data.length,count:em});let ew=[];for(let eb=0;eb{eb.dynamic&&(ew=!0),eM.push(eb.type)});let eC="tuple("+eM.join(",")+")";super("tuple",eC,em,ew),this.coders=eb}defaultValue(){let eb=[];this.coders.forEach(em=>{eb.push(em.defaultValue())});let em=this.coders.reduce((eb,em)=>{let ew=em.localName;return ew&&(eb[ew]||(eb[ew]=0),eb[ew]++),eb},{});return this.coders.forEach((ew,eM)=>{let eC=ew.localName;eC&&1===em[eC]&&("length"===eC&&(eC="_length"),null==eb[eC]&&(eb[eC]=eb[eM]))}),Object.freeze(eb)}encode(eb,em){return eD(eb,this.coders,em)}decode(eb){return eb.coerce(this.name,eO(eb,this.coders))}}var eG=ew(11388);let eY=new eT.Yd(e_.i),eJ=new RegExp(/^bytes([0-9]*)$/),eX=new RegExp(/^(u?int)([0-9]*)$/);class eQ{constructor(eb){(0,eC.zG)(this,"coerceFunc",eb||null)}_getCoder(eb){switch(eb.baseType){case"address":return new eA(eb.name);case"bool":return new eR(eb.name);case"string":return new eZ(eb.name);case"bytes":return new eF(eb.name);case"array":return new eP(this._getCoder(eb.arrayChildren),eb.arrayLength,eb.name);case"tuple":return new eK((eb.components||[]).map(eb=>this._getCoder(eb)),eb.name);case"":return new eU(eb.name)}let em=eb.type.match(eX);if(em){let ew=parseInt(em[2]||"256");return(0===ew||ew>256||ew%8!=0)&&eY.throwArgumentError("invalid "+em[1]+" bit length","param",eb),new e$(ew/8,"int"===em[1],eb.name)}if(em=eb.type.match(eJ)){let ew=parseInt(em[1]);return(0===ew||ew>32)&&eY.throwArgumentError("invalid bytes length","param",eb),new ej(ew,eb.name)}return eY.throwArgumentError("invalid type","type",eb.type)}_getWordSize(){return 32}_getReader(eb,em){return new eE.Ej(eb,this._getWordSize(),this.coerceFunc,em)}_getWriter(){return new eE.QV(this._getWordSize())}getDefaultValue(eb){let em=eb.map(eb=>this._getCoder(eG._R.from(eb))),ew=new eK(em,"_");return ew.defaultValue()}encode(eb,em){eb.length!==em.length&&eY.throwError("types/values length mismatch",eT.Yd.errors.INVALID_ARGUMENT,{count:{types:eb.length,values:em.length},value:{types:eb,values:em}});let ew=eb.map(eb=>this._getCoder(eG._R.from(eb))),eM=new eK(ew,"_"),eC=this._getWriter();return eM.encode(eC,em),eC.data}decode(eb,em,ew){let eC=eb.map(eb=>this._getCoder(eG._R.from(eb))),eT=new eK(eC,"_");return eT.decode(this._getReader((0,eM.lE)(em),ew))}}let e0=new eQ},61184:function(eb,em,ew){"use strict";ew.d(em,{BR:function(){return eA},Ej:function(){return eD},QV:function(){return eI},XI:function(){return eN}});var eM=ew(16441),eC=ew(2593),eT=ew(6881),e_=ew(1581),eE=ew(95851);let eS=new e_.Yd(eE.i);function eA(eb){let em=[],ew=function(eb,eM){if(Array.isArray(eM))for(let eC in eM){let eT=eb.slice();eT.push(eC);try{ew(eT,eM[eC])}catch(eb){em.push({path:eT,error:eb})}}};return ew([],eb),em}class eN{constructor(eb,em,ew,eM){this.name=eb,this.type=em,this.localName=ew,this.dynamic=eM}_throwError(eb,em){eS.throwArgumentError(eb,this.localName,em)}}class eI{constructor(eb){(0,eT.zG)(this,"wordSize",eb||32),this._data=[],this._dataLength=0,this._padding=new Uint8Array(eb)}get data(){return(0,eM.xs)(this._data)}get length(){return this._dataLength}_writeData(eb){return this._data.push(eb),this._dataLength+=eb.length,eb.length}appendWriter(eb){return this._writeData((0,eM.zo)(eb._data))}writeBytes(eb){let em=(0,eM.lE)(eb),ew=em.length%this.wordSize;return ew&&(em=(0,eM.zo)([em,this._padding.slice(ew)])),this._writeData(em)}_getValue(eb){let em=(0,eM.lE)(eC.O$.from(eb));return em.length>this.wordSize&&eS.throwError("value out-of-bounds",e_.Yd.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:em.length}),em.length%this.wordSize&&(em=(0,eM.zo)([this._padding.slice(em.length%this.wordSize),em])),em}writeValue(eb){return this._writeData(this._getValue(eb))}writeUpdatableValue(){let eb=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,em=>{this._data[eb]=this._getValue(em)}}}class eD{constructor(eb,em,ew,eC){(0,eT.zG)(this,"_data",(0,eM.lE)(eb)),(0,eT.zG)(this,"wordSize",em||32),(0,eT.zG)(this,"_coerceFunc",ew),(0,eT.zG)(this,"allowLoose",eC),this._offset=0}get data(){return(0,eM.Dv)(this._data)}get consumed(){return this._offset}static coerce(eb,em){let ew=eb.match("^u?int([0-9]+)$");return ew&&48>=parseInt(ew[1])&&(em=em.toNumber()),em}coerce(eb,em){return this._coerceFunc?this._coerceFunc(eb,em):eD.coerce(eb,em)}_peekBytes(eb,em,ew){let eM=Math.ceil(em/this.wordSize)*this.wordSize;return this._offset+eM>this._data.length&&(this.allowLoose&&ew&&this._offset+em<=this._data.length?eM=em:eS.throwError("data out-of-bounds",e_.Yd.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+eM})),this._data.slice(this._offset,this._offset+eM)}subReader(eb){return new eD(this._data.slice(this._offset+eb),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(eb,em){let ew=this._peekBytes(0,eb,!!em);return this._offset+=ew.length,ew.slice(0,eb)}readValue(){return eC.O$.from(this.readBytes(this.wordSize))}}},11388:function(eb,em,ew){"use strict";ew.d(em,{HY:function(){return ej},IC:function(){return eG},QV:function(){return eU},Xg:function(){return eW},YW:function(){return eZ},_R:function(){return eB},pc:function(){return eP}});var eM=ew(2593),eC=ew(6881),eT=ew(1581),e_=ew(95851);let eE=new eT.Yd(e_.i),eS={},eA={calldata:!0,memory:!0,storage:!0},eN={calldata:!0,memory:!0};function eI(eb,em){if("bytes"===eb||"string"===eb){if(eA[em])return!0}else if("address"===eb){if("payable"===em)return!0}else if((eb.indexOf("[")>=0||"tuple"===eb)&&eN[em])return!0;return(eA[em]||"payable"===em)&&eE.throwArgumentError("invalid modifier","name",em),!1}function eD(eb,em){let ew=eb;function eM(em){eE.throwArgumentError(`unexpected character at position ${em}`,"param",eb)}function eC(eb){let ew={type:"",name:"",parent:eb,state:{allowType:!0}};return em&&(ew.indexed=!1),ew}eb=eb.replace(/\s/g," ");let eT={type:"",name:"",state:{allowType:!0}},e_=eT;for(let ew=0;ewJSON.parse(em.format(eb)))),JSON.stringify(em)}let em="";return"array"===this.baseType?em+=this.arrayChildren.format(eb)+"["+(this.arrayLength<0?"":String(this.arrayLength))+"]":"tuple"===this.baseType?(eb!==eP.sighash&&(em+=this.type),em+="("+this.components.map(em=>em.format(eb)).join(eb===eP.full?", ":",")+")"):em+=this.type,eb!==eP.sighash&&(!0===this.indexed&&(em+=" indexed"),eb===eP.full&&this.name&&(em+=" "+this.name)),em}static from(eb,em){return"string"==typeof eb?eB.fromString(eb,em):eB.fromObject(eb)}static fromObject(eb){return eB.isParamType(eb)?eb:new eB(eS,{name:eb.name||null,type:eY(eb.type),indexed:null==eb.indexed?null:!!eb.indexed,components:eb.components?eb.components.map(eB.fromObject):null})}static fromString(eb,em){return function(eb){return eB.fromObject({name:eb.name,type:eb.type,indexed:eb.indexed,components:eb.components})}(eD(eb,!!em))}static isParamType(eb){return!!(null!=eb&&eb._isParamType)}}function eF(eb,em){return e0(eb).map(eb=>eB.fromString(eb,em))}class ej{constructor(eb,em){eb!==eS&&eE.throwError("use a static from method",eT.Yd.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),eO(this,em),this._isFragment=!0,Object.freeze(this)}static from(eb){return ej.isFragment(eb)?eb:"string"==typeof eb?ej.fromString(eb):ej.fromObject(eb)}static fromObject(eb){if(ej.isFragment(eb))return eb;switch(eb.type){case"function":return eZ.fromObject(eb);case"event":return eU.fromObject(eb);case"constructor":return eW.fromObject(eb);case"error":return eG.fromObject(eb);case"fallback":case"receive":return null}return eE.throwArgumentError("invalid fragment object","value",eb)}static fromString(eb){return"event"===(eb=(eb=(eb=eb.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).split(" ")[0]?eU.fromString(eb.substring(5).trim()):"function"===eb.split(" ")[0]?eZ.fromString(eb.substring(8).trim()):"constructor"===eb.split("(")[0].trim()?eW.fromString(eb.trim()):"error"===eb.split(" ")[0]?eG.fromString(eb.substring(5).trim()):eE.throwArgumentError("unsupported fragment","value",eb)}static isFragment(eb){return!!(eb&&eb._isFragment)}}class eU extends ej{format(eb){if(eb||(eb=eP.sighash),eP[eb]||eE.throwArgumentError("invalid format type","format",eb),eb===eP.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(em=>JSON.parse(em.format(eb)))});let em="";return eb!==eP.sighash&&(em+="event "),em+=this.name+"("+this.inputs.map(em=>em.format(eb)).join(eb===eP.full?", ":",")+") ",eb!==eP.sighash&&this.anonymous&&(em+="anonymous "),em.trim()}static from(eb){return"string"==typeof eb?eU.fromString(eb):eU.fromObject(eb)}static fromObject(eb){if(eU.isEventFragment(eb))return eb;"event"!==eb.type&&eE.throwArgumentError("invalid event object","value",eb);let em={name:eX(eb.name),anonymous:eb.anonymous,inputs:eb.inputs?eb.inputs.map(eB.fromObject):[],type:"event"};return new eU(eS,em)}static fromString(eb){let em=eb.match(eQ);em||eE.throwArgumentError("invalid event string","value",eb);let ew=!1;return em[3].split(" ").forEach(eb=>{switch(eb.trim()){case"anonymous":ew=!0;break;case"":break;default:eE.warn("unknown modifier: "+eb)}}),eU.fromObject({name:em[1].trim(),anonymous:ew,inputs:eF(em[2],!0),type:"event"})}static isEventFragment(eb){return eb&&eb._isFragment&&"event"===eb.type}}function eV(eb,em){em.gas=null;let ew=eb.split("@");return 1!==ew.length?(ew.length>2&&eE.throwArgumentError("invalid human-readable ABI signature","value",eb),ew[1].match(/^[0-9]+$/)||eE.throwArgumentError("invalid human-readable ABI signature gas","value",eb),em.gas=eM.O$.from(ew[1]),ew[0]):eb}function eH(eb,em){em.constant=!1,em.payable=!1,em.stateMutability="nonpayable",eb.split(" ").forEach(eb=>{switch(eb.trim()){case"constant":em.constant=!0;break;case"payable":em.payable=!0,em.stateMutability="payable";break;case"nonpayable":em.payable=!1,em.stateMutability="nonpayable";break;case"pure":em.constant=!0,em.stateMutability="pure";break;case"view":em.constant=!0,em.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+eb)}})}function e$(eb){let em={constant:!1,payable:!0,stateMutability:"payable"};return null!=eb.stateMutability?(em.stateMutability=eb.stateMutability,em.constant="view"===em.stateMutability||"pure"===em.stateMutability,null!=eb.constant&&!!eb.constant!==em.constant&&eE.throwArgumentError("cannot have constant function with mutability "+em.stateMutability,"value",eb),em.payable="payable"===em.stateMutability,null!=eb.payable&&!!eb.payable!==em.payable&&eE.throwArgumentError("cannot have payable function with mutability "+em.stateMutability,"value",eb)):null!=eb.payable?(em.payable=!!eb.payable,null!=eb.constant||em.payable||"constructor"===eb.type||eE.throwArgumentError("unable to determine stateMutability","value",eb),em.constant=!!eb.constant,em.constant?em.stateMutability="view":em.stateMutability=em.payable?"payable":"nonpayable",em.payable&&em.constant&&eE.throwArgumentError("cannot have constant payable function","value",eb)):null!=eb.constant?(em.constant=!!eb.constant,em.payable=!em.constant,em.stateMutability=em.constant?"view":"payable"):"constructor"!==eb.type&&eE.throwArgumentError("unable to determine stateMutability","value",eb),em}class eW extends ej{format(eb){if(eb||(eb=eP.sighash),eP[eb]||eE.throwArgumentError("invalid format type","format",eb),eb===eP.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(em=>JSON.parse(em.format(eb)))});eb===eP.sighash&&eE.throwError("cannot format a constructor for sighash",eT.Yd.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let em="constructor("+this.inputs.map(em=>em.format(eb)).join(eb===eP.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(em+=this.stateMutability+" "),em.trim()}static from(eb){return"string"==typeof eb?eW.fromString(eb):eW.fromObject(eb)}static fromObject(eb){if(eW.isConstructorFragment(eb))return eb;"constructor"!==eb.type&&eE.throwArgumentError("invalid constructor object","value",eb);let em=e$(eb);em.constant&&eE.throwArgumentError("constructor cannot be constant","value",eb);let ew={name:null,type:eb.type,inputs:eb.inputs?eb.inputs.map(eB.fromObject):[],payable:em.payable,stateMutability:em.stateMutability,gas:eb.gas?eM.O$.from(eb.gas):null};return new eW(eS,ew)}static fromString(eb){let em={type:"constructor"},ew=(eb=eV(eb,em)).match(eQ);return ew&&"constructor"===ew[1].trim()||eE.throwArgumentError("invalid constructor string","value",eb),em.inputs=eF(ew[2].trim(),!1),eH(ew[3].trim(),em),eW.fromObject(em)}static isConstructorFragment(eb){return eb&&eb._isFragment&&"constructor"===eb.type}}class eZ extends eW{format(eb){if(eb||(eb=eP.sighash),eP[eb]||eE.throwArgumentError("invalid format type","format",eb),eb===eP.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(em=>JSON.parse(em.format(eb))),outputs:this.outputs.map(em=>JSON.parse(em.format(eb)))});let em="";return eb!==eP.sighash&&(em+="function "),em+=this.name+"("+this.inputs.map(em=>em.format(eb)).join(eb===eP.full?", ":",")+") ",eb!==eP.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(em+=this.stateMutability+" "):this.constant&&(em+="view "),this.outputs&&this.outputs.length&&(em+="returns ("+this.outputs.map(em=>em.format(eb)).join(", ")+") "),null!=this.gas&&(em+="@"+this.gas.toString()+" ")),em.trim()}static from(eb){return"string"==typeof eb?eZ.fromString(eb):eZ.fromObject(eb)}static fromObject(eb){if(eZ.isFunctionFragment(eb))return eb;"function"!==eb.type&&eE.throwArgumentError("invalid function object","value",eb);let em=e$(eb),ew={type:eb.type,name:eX(eb.name),constant:em.constant,inputs:eb.inputs?eb.inputs.map(eB.fromObject):[],outputs:eb.outputs?eb.outputs.map(eB.fromObject):[],payable:em.payable,stateMutability:em.stateMutability,gas:eb.gas?eM.O$.from(eb.gas):null};return new eZ(eS,ew)}static fromString(eb){let em={type:"function"},ew=(eb=eV(eb,em)).split(" returns ");ew.length>2&&eE.throwArgumentError("invalid function string","value",eb);let eM=ew[0].match(eQ);if(eM||eE.throwArgumentError("invalid function signature","value",eb),em.name=eM[1].trim(),em.name&&eX(em.name),em.inputs=eF(eM[2],!1),eH(eM[3].trim(),em),ew.length>1){let eM=ew[1].match(eQ);(""!=eM[1].trim()||""!=eM[3].trim())&&eE.throwArgumentError("unexpected tokens","value",eb),em.outputs=eF(eM[2],!1)}else em.outputs=[];return eZ.fromObject(em)}static isFunctionFragment(eb){return eb&&eb._isFragment&&"function"===eb.type}}function eK(eb){let em=eb.format();return("Error(string)"===em||"Panic(uint256)"===em)&&eE.throwArgumentError(`cannot specify user defined ${em} error`,"fragment",eb),eb}class eG extends ej{format(eb){if(eb||(eb=eP.sighash),eP[eb]||eE.throwArgumentError("invalid format type","format",eb),eb===eP.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(em=>JSON.parse(em.format(eb)))});let em="";return eb!==eP.sighash&&(em+="error "),(em+=this.name+"("+this.inputs.map(em=>em.format(eb)).join(eb===eP.full?", ":",")+") ").trim()}static from(eb){return"string"==typeof eb?eG.fromString(eb):eG.fromObject(eb)}static fromObject(eb){if(eG.isErrorFragment(eb))return eb;"error"!==eb.type&&eE.throwArgumentError("invalid error object","value",eb);let em={type:eb.type,name:eX(eb.name),inputs:eb.inputs?eb.inputs.map(eB.fromObject):[]};return eK(new eG(eS,em))}static fromString(eb){let em={type:"error"},ew=eb.match(eQ);return ew||eE.throwArgumentError("invalid error signature","value",eb),em.name=ew[1].trim(),em.name&&eX(em.name),em.inputs=eF(ew[2],!1),eK(eG.fromObject(em))}static isErrorFragment(eb){return eb&&eb._isFragment&&"error"===eb.type}}function eY(eb){return eb.match(/^uint($|[^1-9])/)?eb="uint256"+eb.substring(4):eb.match(/^int($|[^1-9])/)&&(eb="int256"+eb.substring(3)),eb}let eJ=RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function eX(eb){return eb&&eb.match(eJ)||eE.throwArgumentError(`invalid identifier "${eb}"`,"value",eb),eb}let eQ=RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");function e0(eb){eb=eb.trim();let em=[],ew="",eM=0;for(let eC=0;eCeN.HY.from(eb)).filter(eb=>null!=eb)),(0,eS.zG)(this,"_abiCoder",(0,eS.tu)(new.target,"getAbiCoder")()),(0,eS.zG)(this,"functions",{}),(0,eS.zG)(this,"errors",{}),(0,eS.zG)(this,"events",{}),(0,eS.zG)(this,"structs",{}),this.fragments.forEach(eb=>{let em=null;switch(eb.type){case"constructor":if(this.deploy){eO.warn("duplicate definition - constructor");return}(0,eS.zG)(this,"deploy",eb);return;case"function":em=this.functions;break;case"event":em=this.events;break;case"error":em=this.errors;break;default:return}let ew=eb.format();if(em[ew]){eO.warn("duplicate definition - "+ew);return}em[ew]=eb}),this.deploy||(0,eS.zG)(this,"deploy",eN.Xg.from({payable:!1,type:"constructor"})),(0,eS.zG)(this,"_isInterface",!0)}format(eb){eb||(eb=eN.pc.full),eb===eN.pc.sighash&&eO.throwArgumentError("interface does not support formatting sighash","format",eb);let em=this.fragments.map(em=>em.format(eb));return eb===eN.pc.json?JSON.stringify(em.map(eb=>JSON.parse(eb))):em}static getAbiCoder(){return eA.$}static getAddress(eb){return(0,eM.Kn)(eb)}static getSighash(eb){return(0,eT.p3)((0,e_.id)(eb.format()),0,4)}static getEventTopic(eb){return(0,e_.id)(eb.format())}getFunction(eb){if((0,eT.A7)(eb)){for(let em in this.functions)if(eb===this.getSighash(em))return this.functions[em];eO.throwArgumentError("no matching function","sighash",eb)}if(-1===eb.indexOf("(")){let em=eb.trim(),ew=Object.keys(this.functions).filter(eb=>eb.split("(")[0]===em);return 0===ew.length?eO.throwArgumentError("no matching function","name",em):ew.length>1&&eO.throwArgumentError("multiple matching functions","name",em),this.functions[ew[0]]}let em=this.functions[eN.YW.fromString(eb).format()];return em||eO.throwArgumentError("no matching function","signature",eb),em}getEvent(eb){if((0,eT.A7)(eb)){let em=eb.toLowerCase();for(let eb in this.events)if(em===this.getEventTopic(eb))return this.events[eb];eO.throwArgumentError("no matching event","topichash",em)}if(-1===eb.indexOf("(")){let em=eb.trim(),ew=Object.keys(this.events).filter(eb=>eb.split("(")[0]===em);return 0===ew.length?eO.throwArgumentError("no matching event","name",em):ew.length>1&&eO.throwArgumentError("multiple matching events","name",em),this.events[ew[0]]}let em=this.events[eN.QV.fromString(eb).format()];return em||eO.throwArgumentError("no matching event","signature",eb),em}getError(eb){if((0,eT.A7)(eb)){let em=(0,eS.tu)(this.constructor,"getSighash");for(let ew in this.errors){let eM=this.errors[ew];if(eb===em(eM))return this.errors[ew]}eO.throwArgumentError("no matching error","sighash",eb)}if(-1===eb.indexOf("(")){let em=eb.trim(),ew=Object.keys(this.errors).filter(eb=>eb.split("(")[0]===em);return 0===ew.length?eO.throwArgumentError("no matching error","name",em):ew.length>1&&eO.throwArgumentError("multiple matching errors","name",em),this.errors[ew[0]]}let em=this.errors[eN.YW.fromString(eb).format()];return em||eO.throwArgumentError("no matching error","signature",eb),em}getSighash(eb){if("string"==typeof eb)try{eb=this.getFunction(eb)}catch(em){try{eb=this.getError(eb)}catch(eb){throw em}}return(0,eS.tu)(this.constructor,"getSighash")(eb)}getEventTopic(eb){return"string"==typeof eb&&(eb=this.getEvent(eb)),(0,eS.tu)(this.constructor,"getEventTopic")(eb)}_decodeParams(eb,em){return this._abiCoder.decode(eb,em)}_encodeParams(eb,em){return this._abiCoder.encode(eb,em)}encodeDeploy(eb){return this._encodeParams(this.deploy.inputs,eb||[])}decodeErrorResult(eb,em){"string"==typeof eb&&(eb=this.getError(eb));let ew=(0,eT.lE)(em);return(0,eT.Dv)(ew.slice(0,4))!==this.getSighash(eb)&&eO.throwArgumentError(`data signature does not match error ${eb.name}.`,"data",(0,eT.Dv)(ew)),this._decodeParams(eb.inputs,ew.slice(4))}encodeErrorResult(eb,em){return"string"==typeof eb&&(eb=this.getError(eb)),(0,eT.Dv)((0,eT.zo)([this.getSighash(eb),this._encodeParams(eb.inputs,em||[])]))}decodeFunctionData(eb,em){"string"==typeof eb&&(eb=this.getFunction(eb));let ew=(0,eT.lE)(em);return(0,eT.Dv)(ew.slice(0,4))!==this.getSighash(eb)&&eO.throwArgumentError(`data signature does not match function ${eb.name}.`,"data",(0,eT.Dv)(ew)),this._decodeParams(eb.inputs,ew.slice(4))}encodeFunctionData(eb,em){return"string"==typeof eb&&(eb=this.getFunction(eb)),(0,eT.Dv)((0,eT.zo)([this.getSighash(eb),this._encodeParams(eb.inputs,em||[])]))}decodeFunctionResult(eb,em){"string"==typeof eb&&(eb=this.getFunction(eb));let ew=(0,eT.lE)(em),eM=null,eC="",e_=null,eE=null,eS=null;switch(ew.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(eb.outputs,ew)}catch(eb){}break;case 4:{let eb=(0,eT.Dv)(ew.slice(0,4)),em=ej[eb];if(em)e_=this._abiCoder.decode(em.inputs,ew.slice(4)),eE=em.name,eS=em.signature,em.reason&&(eM=e_[0]),"Error"===eE?eC=`; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(e_[0])}`:"Panic"===eE&&(eC=`; VM Exception while processing transaction: reverted with panic code ${e_[0]}`);else try{let em=this.getError(eb);e_=this._abiCoder.decode(em.inputs,ew.slice(4)),eE=em.name,eS=em.format()}catch(eb){}}}return eO.throwError("call revert exception"+eC,eI.Yd.errors.CALL_EXCEPTION,{method:eb.format(),data:(0,eT.Dv)(em),errorArgs:e_,errorName:eE,errorSignature:eS,reason:eM})}encodeFunctionResult(eb,em){return"string"==typeof eb&&(eb=this.getFunction(eb)),(0,eT.Dv)(this._abiCoder.encode(eb.outputs,em||[]))}encodeFilterTopics(eb,em){"string"==typeof eb&&(eb=this.getEvent(eb)),em.length>eb.inputs.length&&eO.throwError("too many arguments for "+eb.format(),eI.Yd.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:em});let ew=[];eb.anonymous||ew.push(this.getEventTopic(eb));let eM=(eb,em)=>"string"===eb.type?(0,e_.id)(em):"bytes"===eb.type?(0,eE.w)((0,eT.Dv)(em)):("bool"===eb.type&&"boolean"==typeof em&&(em=em?"0x01":"0x00"),eb.type.match(/^u?int/)&&(em=eC.O$.from(em).toHexString()),"address"===eb.type&&this._abiCoder.encode(["address"],[em]),(0,eT.$m)((0,eT.Dv)(em),32));for(em.forEach((em,eC)=>{let eT=eb.inputs[eC];if(!eT.indexed){null!=em&&eO.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+eT.name,em);return}null==em?ew.push(null):"array"===eT.baseType||"tuple"===eT.baseType?eO.throwArgumentError("filtering with tuples or arrays not supported","contract."+eT.name,em):Array.isArray(em)?ew.push(em.map(eb=>eM(eT,eb))):ew.push(eM(eT,em))});ew.length&&null===ew[ew.length-1];)ew.pop();return ew}encodeEventLog(eb,em){"string"==typeof eb&&(eb=this.getEvent(eb));let ew=[],eM=[],eC=[];return eb.anonymous||ew.push(this.getEventTopic(eb)),em.length!==eb.inputs.length&&eO.throwArgumentError("event arguments/values mismatch","values",em),eb.inputs.forEach((eb,eT)=>{let eS=em[eT];if(eb.indexed){if("string"===eb.type)ew.push((0,e_.id)(eS));else if("bytes"===eb.type)ew.push((0,eE.w)(eS));else if("tuple"===eb.baseType||"array"===eb.baseType)throw Error("not implemented");else ew.push(this._abiCoder.encode([eb.type],[eS]))}else eM.push(eb),eC.push(eS)}),{data:this._abiCoder.encode(eM,eC),topics:ew}}decodeEventLog(eb,em,ew){if("string"==typeof eb&&(eb=this.getEvent(eb)),null!=ew&&!eb.anonymous){let em=this.getEventTopic(eb);(0,eT.A7)(ew[0],32)&&ew[0].toLowerCase()===em||eO.throwError("fragment/topic mismatch",eI.Yd.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:em,value:ew[0]}),ew=ew.slice(1)}let eM=[],eC=[],e_=[];eb.inputs.forEach((eb,em)=>{eb.indexed?"string"===eb.type||"bytes"===eb.type||"tuple"===eb.baseType||"array"===eb.baseType?(eM.push(eN._R.fromObject({type:"bytes32",name:eb.name})),e_.push(!0)):(eM.push(eb),e_.push(!1)):(eC.push(eb),e_.push(!1))});let eE=null!=ew?this._abiCoder.decode(eM,(0,eT.zo)(ew)):null,eS=this._abiCoder.decode(eC,em,!0),eA=[],eD=0,eP=0;eb.inputs.forEach((eb,em)=>{if(eb.indexed){if(null==eE)eA[em]=new eF({_isIndexed:!0,hash:null});else if(e_[em])eA[em]=new eF({_isIndexed:!0,hash:eE[eP++]});else try{eA[em]=eE[eP++]}catch(eb){eA[em]=eb}}else try{eA[em]=eS[eD++]}catch(eb){eA[em]=eb}if(eb.name&&null==eA[eb.name]){let ew=eA[em];ew instanceof Error?Object.defineProperty(eA,eb.name,{enumerable:!0,get:()=>{throw eU(`property ${JSON.stringify(eb.name)}`,ew)}}):eA[eb.name]=ew}});for(let eb=0;eb{throw eU(`index ${eb}`,em)}})}return Object.freeze(eA)}parseTransaction(eb){let em=this.getFunction(eb.data.substring(0,10).toLowerCase());return em?new eR({args:this._abiCoder.decode(em.inputs,"0x"+eb.data.substring(10)),functionFragment:em,name:em.name,signature:em.format(),sighash:this.getSighash(em),value:eC.O$.from(eb.value||"0")}):null}parseLog(eb){let em=this.getEvent(eb.topics[0]);return!em||em.anonymous?null:new eP({eventFragment:em,name:em.name,signature:em.format(),topic:this.getEventTopic(em),args:this.decodeEventLog(em,eb.data,eb.topics)})}parseError(eb){let em=(0,eT.Dv)(eb),ew=this.getError(em.substring(0,10).toLowerCase());return ew?new eB({args:this._abiCoder.decode(ew.inputs,"0x"+em.substring(10)),errorFragment:ew,name:ew.name,signature:ew.format(),sighash:this.getSighash(ew)}):null}static isInterface(eb){return!!(eb&&eb._isInterface)}}},81556:function(eb,em,ew){"use strict";ew.d(em,{Sg:function(){return eA},zt:function(){return eN}});var eM=ew(2593),eC=ew(6881),eT=ew(1581);let e_="abstract-provider/5.7.0";var eE=function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};let eS=new eT.Yd(e_);class eA extends eC.dk{static isForkEvent(eb){return!!(eb&&eb._isForkEvent)}}class eN{constructor(){eS.checkAbstract(new.target,eN),(0,eC.zG)(this,"_isProvider",!0)}getFeeData(){return eE(this,void 0,void 0,function*(){let{block:eb,gasPrice:em}=yield(0,eC.mE)({block:this.getBlock("latest"),gasPrice:this.getGasPrice().catch(eb=>null)}),ew=null,eT=null,e_=null;return eb&&eb.baseFeePerGas&&(ew=eb.baseFeePerGas,e_=eM.O$.from("1500000000"),eT=eb.baseFeePerGas.mul(2).add(e_)),{lastBaseFeePerGas:ew,maxFeePerGas:eT,maxPriorityFeePerGas:e_,gasPrice:em}})}addListener(eb,em){return this.on(eb,em)}removeListener(eb,em){return this.off(eb,em)}static isProvider(eb){return!!(eb&&eb._isProvider)}}},48088:function(eb,em,ew){"use strict";ew.d(em,{E:function(){return eN},b:function(){return eI}});var eM=ew(6881),eC=ew(1581);let eT="abstract-signer/5.7.0";var e_=function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};let eE=new eC.Yd(eT),eS=["accessList","ccipReadEnabled","chainId","customData","data","from","gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","nonce","to","type","value"],eA=[eC.Yd.errors.INSUFFICIENT_FUNDS,eC.Yd.errors.NONCE_EXPIRED,eC.Yd.errors.REPLACEMENT_UNDERPRICED];class eN{constructor(){eE.checkAbstract(new.target,eN),(0,eM.zG)(this,"_isSigner",!0)}getBalance(eb){return e_(this,void 0,void 0,function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),eb)})}getTransactionCount(eb){return e_(this,void 0,void 0,function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),eb)})}estimateGas(eb){return e_(this,void 0,void 0,function*(){this._checkProvider("estimateGas");let em=yield(0,eM.mE)(this.checkTransaction(eb));return yield this.provider.estimateGas(em)})}call(eb,em){return e_(this,void 0,void 0,function*(){this._checkProvider("call");let ew=yield(0,eM.mE)(this.checkTransaction(eb));return yield this.provider.call(ew,em)})}sendTransaction(eb){return e_(this,void 0,void 0,function*(){this._checkProvider("sendTransaction");let em=yield this.populateTransaction(eb),ew=yield this.signTransaction(em);return yield this.provider.sendTransaction(ew)})}getChainId(){return e_(this,void 0,void 0,function*(){this._checkProvider("getChainId");let eb=yield this.provider.getNetwork();return eb.chainId})}getGasPrice(){return e_(this,void 0,void 0,function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()})}getFeeData(){return e_(this,void 0,void 0,function*(){return this._checkProvider("getFeeData"),yield this.provider.getFeeData()})}resolveName(eb){return e_(this,void 0,void 0,function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(eb)})}checkTransaction(eb){for(let em in eb)-1===eS.indexOf(em)&&eE.throwArgumentError("invalid transaction key: "+em,"transaction",eb);let em=(0,eM.DC)(eb);return null==em.from?em.from=this.getAddress():em.from=Promise.all([Promise.resolve(em.from),this.getAddress()]).then(em=>(em[0].toLowerCase()!==em[1].toLowerCase()&&eE.throwArgumentError("from address mismatch","transaction",eb),em[0])),em}populateTransaction(eb){return e_(this,void 0,void 0,function*(){let em=yield(0,eM.mE)(this.checkTransaction(eb));null!=em.to&&(em.to=Promise.resolve(em.to).then(eb=>e_(this,void 0,void 0,function*(){if(null==eb)return null;let em=yield this.resolveName(eb);return null==em&&eE.throwArgumentError("provided ENS name resolves to null","tx.to",eb),em})),em.to.catch(eb=>{}));let ew=null!=em.maxFeePerGas||null!=em.maxPriorityFeePerGas;if(null!=em.gasPrice&&(2===em.type||ew)?eE.throwArgumentError("eip-1559 transaction do not support gasPrice","transaction",eb):(0===em.type||1===em.type)&&ew&&eE.throwArgumentError("pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","transaction",eb),(2===em.type||null==em.type)&&null!=em.maxFeePerGas&&null!=em.maxPriorityFeePerGas)em.type=2;else if(0===em.type||1===em.type)null==em.gasPrice&&(em.gasPrice=this.getGasPrice());else{let eb=yield this.getFeeData();if(null==em.type){if(null!=eb.maxFeePerGas&&null!=eb.maxPriorityFeePerGas){if(em.type=2,null!=em.gasPrice){let eb=em.gasPrice;delete em.gasPrice,em.maxFeePerGas=eb,em.maxPriorityFeePerGas=eb}else null==em.maxFeePerGas&&(em.maxFeePerGas=eb.maxFeePerGas),null==em.maxPriorityFeePerGas&&(em.maxPriorityFeePerGas=eb.maxPriorityFeePerGas)}else null!=eb.gasPrice?(ew&&eE.throwError("network does not support EIP-1559",eC.Yd.errors.UNSUPPORTED_OPERATION,{operation:"populateTransaction"}),null==em.gasPrice&&(em.gasPrice=eb.gasPrice),em.type=0):eE.throwError("failed to get consistent fee data",eC.Yd.errors.UNSUPPORTED_OPERATION,{operation:"signer.getFeeData"})}else 2===em.type&&(null==em.maxFeePerGas&&(em.maxFeePerGas=eb.maxFeePerGas),null==em.maxPriorityFeePerGas&&(em.maxPriorityFeePerGas=eb.maxPriorityFeePerGas))}return null==em.nonce&&(em.nonce=this.getTransactionCount("pending")),null==em.gasLimit&&(em.gasLimit=this.estimateGas(em).catch(eb=>{if(eA.indexOf(eb.code)>=0)throw eb;return eE.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",eC.Yd.errors.UNPREDICTABLE_GAS_LIMIT,{error:eb,tx:em})})),null==em.chainId?em.chainId=this.getChainId():em.chainId=Promise.all([Promise.resolve(em.chainId),this.getChainId()]).then(em=>(0!==em[1]&&em[0]!==em[1]&&eE.throwArgumentError("chainId address mismatch","transaction",eb),em[0])),yield(0,eM.mE)(em)})}_checkProvider(eb){this.provider||eE.throwError("missing provider",eC.Yd.errors.UNSUPPORTED_OPERATION,{operation:eb||"_checkProvider"})}static isSigner(eb){return!!(eb&&eb._isSigner)}}class eI extends eN{constructor(eb,em){super(),(0,eM.zG)(this,"address",eb),(0,eM.zG)(this,"provider",em||null)}getAddress(){return Promise.resolve(this.address)}_fail(eb,em){return Promise.resolve().then(()=>{eE.throwError(eb,eC.Yd.errors.UNSUPPORTED_OPERATION,{operation:em})})}signMessage(eb){return this._fail("VoidSigner cannot sign messages","signMessage")}signTransaction(eb){return this._fail("VoidSigner cannot sign transactions","signTransaction")}_signTypedData(eb,em,ew){return this._fail("VoidSigner cannot sign typed data","signTypedData")}connect(eb){return new eI(this.address,eb)}}},19485:function(eb,em,ew){"use strict";ew.d(em,{Kn:function(){return eB},CR:function(){return eU},hB:function(){return eV},vU:function(){return ej},UJ:function(){return eF}});var eM=ew(16441),eC=ew(2593),eT=ew(38197),e_=ew(59052),eE=ew(1581);let eS="address/5.7.0",eA=new eE.Yd(eS);function eN(eb){(0,eM.A7)(eb,20)||eA.throwArgumentError("invalid address","address",eb),eb=eb.toLowerCase();let em=eb.substring(2).split(""),ew=new Uint8Array(40);for(let eb=0;eb<40;eb++)ew[eb]=em[eb].charCodeAt(0);let eC=(0,eM.lE)((0,eT.w)(ew));for(let eb=0;eb<40;eb+=2)eC[eb>>1]>>4>=8&&(em[eb]=em[eb].toUpperCase()),(15&eC[eb>>1])>=8&&(em[eb+1]=em[eb+1].toUpperCase());return"0x"+em.join("")}let eI=9007199254740991;function eD(eb){return Math.log10?Math.log10(eb):Math.log(eb)/Math.LN10}let eO={};for(let eb=0;eb<10;eb++)eO[String(eb)]=String(eb);for(let eb=0;eb<26;eb++)eO[String.fromCharCode(65+eb)]=String(10+eb);let eP=Math.floor(eD(eI));function eR(eb){let em=(eb=(eb=eb.toUpperCase()).substring(4)+eb.substring(0,2)+"00").split("").map(eb=>eO[eb]).join("");for(;em.length>=eP;){let eb=em.substring(0,eP);em=parseInt(eb,10)%97+em.substring(eb.length)}let ew=String(98-parseInt(em,10)%97);for(;ew.length<2;)ew="0"+ew;return ew}function eB(eb){let em=null;if("string"!=typeof eb&&eA.throwArgumentError("invalid address","address",eb),eb.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==eb.substring(0,2)&&(eb="0x"+eb),em=eN(eb),eb.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&em!==eb&&eA.throwArgumentError("bad address checksum","address",eb);else if(eb.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(eb.substring(2,4)!==eR(eb)&&eA.throwArgumentError("bad icap checksum","address",eb),em=(0,eC.g$)(eb.substring(4));em.length<40;)em="0"+em;em=eN("0x"+em)}else eA.throwArgumentError("invalid address","address",eb);return em}function eF(eb){try{return eB(eb),!0}catch(eb){}return!1}function ej(eb){let em=(0,eC.t2)(eB(eb).substring(2)).toUpperCase();for(;em.length<30;)em="0"+em;return"XE"+eR("XE00"+em)+em}function eU(eb){let em=null;try{em=eB(eb.from)}catch(em){eA.throwArgumentError("missing from address","transaction",eb)}let ew=(0,eM.G1)((0,eM.lE)(eC.O$.from(eb.nonce).toHexString()));return eB((0,eM.p3)((0,eT.w)((0,e_.encode)([em,ew])),12))}function eV(eb,em,ew){return 32!==(0,eM.E1)(em)&&eA.throwArgumentError("salt must be 32 bytes","salt",em),32!==(0,eM.E1)(ew)&&eA.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",ew),eB((0,eM.p3)((0,eT.w)((0,eM.zo)(["0xff",eB(eb),em,ew])),12))}},59567:function(eb,em,ew){"use strict";ew.d(em,{J:function(){return eC},c:function(){return eT}});var eM=ew(16441);function eC(eb){eb=atob(eb);let em=[];for(let ew=0;ew0;)ew.push(eM%this.base),eM=eM/this.base|0}let eC="";for(let eb=0;0===em[eb]&&eb=0;--eb)eC+=this.alphabet[ew[eb]];return eC}decode(eb){if("string"!=typeof eb)throw TypeError("Expected String");let em=[];if(0===eb.length)return new Uint8Array(em);em.push(0);for(let ew=0;ew>=8;for(;eC>0;)em.push(255&eC),eC>>=8}for(let ew=0;eb[ew]===this._leader&&ew0&&(10===arguments[0]?eO||(eO=!0,eA.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?eA.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",e_.Yd.errors.UNEXPECTED_ARGUMENT,{}):eA.throwError("BigNumber.toString does not accept parameters",e_.Yd.errors.UNEXPECTED_ARGUMENT,{})),eF(this).toString(10)}toHexString(){return this._hex}toJSON(eb){return{type:"BigNumber",hex:this.toHexString()}}static from(eb){if(eb instanceof eP)return eb;if("string"==typeof eb)return eb.match(/^-?0x[0-9a-f]+$/i)?new eP(eN,eR(eb)):eb.match(/^-?[0-9]+$/)?new eP(eN,eR(new eS(eb))):eA.throwArgumentError("invalid BigNumber string","value",eb);if("number"==typeof eb)return eb%1&&ej("underflow","BigNumber.from",eb),(eb>=eI||eb<=-eI)&&ej("overflow","BigNumber.from",eb),eP.from(String(eb));let em=eb;if("bigint"==typeof em)return eP.from(em.toString());if((0,eT._t)(em))return eP.from((0,eT.Dv)(em));if(em){if(em.toHexString){let eb=em.toHexString();if("string"==typeof eb)return eP.from(eb)}else{let eb=em._hex;if(null==eb&&"BigNumber"===em.type&&(eb=em.hex),"string"==typeof eb&&((0,eT.A7)(eb)||"-"===eb[0]&&(0,eT.A7)(eb.substring(1))))return eP.from(eb)}}return eA.throwArgumentError("invalid BigNumber value","value",eb)}static isBigNumber(eb){return!!(eb&&eb._isBigNumber)}}function eR(eb){if("string"!=typeof eb)return eR(eb.toString(16));if("-"===eb[0])return("-"===(eb=eb.substring(1))[0]&&eA.throwArgumentError("invalid hex","value",eb),"0x00"===(eb=eR(eb)))?eb:"-"+eb;if("0x"!==eb.substring(0,2)&&(eb="0x"+eb),"0x"===eb)return"0x00";for(eb.length%2&&(eb="0x0"+eb.substring(2));eb.length>4&&"0x00"===eb.substring(0,4);)eb="0x"+eb.substring(4);return eb}function eB(eb){return eP.from(eR(eb))}function eF(eb){let em=eP.from(eb).toHexString();return"-"===em[0]?new eS("-"+em.substring(3),16):new eS(em.substring(2),16)}function ej(eb,em,ew){let eM={fault:eb,operation:em};return null!=ew&&(eM.value=ew),eA.throwError(eb,e_.Yd.errors.NUMERIC_FAULT,eM)}function eU(eb){return new eS(eb,36).toString(16)}function eV(eb){return new eS(eb,16).toString(36)}},20335:function(eb,em,ew){"use strict";ew.d(em,{Ox:function(){return eR},S5:function(){return eP},xs:function(){return eF}});var eM=ew(16441),eC=ew(1581),eT=ew(48794),e_=ew(2593);let eE=new eC.Yd(eT.i),eS={},eA=e_.O$.from(0),eN=e_.O$.from(-1);function eI(eb,em,ew,eM){let eT={fault:em,operation:ew};return void 0!==eM&&(eT.value=eM),eE.throwError(eb,eC.Yd.errors.NUMERIC_FAULT,eT)}let eD="0";for(;eD.length<256;)eD+=eD;function eO(eb){if("number"!=typeof eb)try{eb=e_.O$.from(eb).toNumber()}catch(eb){}return"number"==typeof eb&&eb>=0&&eb<=256&&!(eb%1)?"1"+eD.substring(0,eb):eE.throwArgumentError("invalid decimal size","decimals",eb)}function eP(eb,em){null==em&&(em=0);let ew=eO(em);eb=e_.O$.from(eb);let eM=eb.lt(eA);eM&&(eb=eb.mul(eN));let eC=eb.mod(ew).toString();for(;eC.length2&&eE.throwArgumentError("too many decimal points","value",eb);let eT=eC[0],eS=eC[1];for(eT||(eT="0"),eS||(eS="0");"0"===eS[eS.length-1];)eS=eS.substring(0,eS.length-1);for(eS.length>ew.length-1&&eI("fractional component exceeds decimals","underflow","parseFixed"),""===eS&&(eS="0");eS.lengthnull==eb[em]?eM:(typeof eb[em]!==ew&&eE.throwArgumentError("invalid fixed format ("+em+" not "+ew+")","format."+em,eb[em]),eb[em]);em=eC("signed","boolean",em),ew=eC("width","number",ew),eM=eC("decimals","number",eM)}return ew%8&&eE.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",ew),eM>80&&eE.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",eM),new eB(eS,em,ew,eM)}}class eF{constructor(eb,em,ew,eM){eb!==eS&&eE.throwError("cannot use FixedNumber constructor; use FixedNumber.from",eC.Yd.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=eM,this._hex=em,this._value=ew,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(eb){this.format.name!==eb.format.name&&eE.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",eb)}addUnsafe(eb){this._checkFormat(eb);let em=eR(this._value,this.format.decimals),ew=eR(eb._value,eb.format.decimals);return eF.fromValue(em.add(ew),this.format.decimals,this.format)}subUnsafe(eb){this._checkFormat(eb);let em=eR(this._value,this.format.decimals),ew=eR(eb._value,eb.format.decimals);return eF.fromValue(em.sub(ew),this.format.decimals,this.format)}mulUnsafe(eb){this._checkFormat(eb);let em=eR(this._value,this.format.decimals),ew=eR(eb._value,eb.format.decimals);return eF.fromValue(em.mul(ew).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(eb){this._checkFormat(eb);let em=eR(this._value,this.format.decimals),ew=eR(eb._value,eb.format.decimals);return eF.fromValue(em.mul(this.format._multiplier).div(ew),this.format.decimals,this.format)}floor(){let eb=this.toString().split(".");1===eb.length&&eb.push("0");let em=eF.from(eb[0],this.format),ew=!eb[1].match(/^(0*)$/);return this.isNegative()&&ew&&(em=em.subUnsafe(ej.toFormat(em.format))),em}ceiling(){let eb=this.toString().split(".");1===eb.length&&eb.push("0");let em=eF.from(eb[0],this.format),ew=!eb[1].match(/^(0*)$/);return!this.isNegative()&&ew&&(em=em.addUnsafe(ej.toFormat(em.format))),em}round(eb){null==eb&&(eb=0);let em=this.toString().split(".");if(1===em.length&&em.push("0"),(eb<0||eb>80||eb%1)&&eE.throwArgumentError("invalid decimal count","decimals",eb),em[1].length<=eb)return this;let ew=eF.from("1"+eD.substring(0,eb),this.format),eM=eU.toFormat(this.format);return this.mulUnsafe(ew).addUnsafe(eM).floor().divUnsafe(ew)}isZero(){return"0.0"===this._value||"0"===this._value}isNegative(){return"-"===this._value[0]}toString(){return this._value}toHexString(eb){if(null==eb)return this._hex;eb%8&&eE.throwArgumentError("invalid byte width","width",eb);let em=e_.O$.from(this._hex).fromTwos(this.format.width).toTwos(eb).toHexString();return(0,eM.$m)(em,eb/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(eb){return eF.fromString(this._value,eb)}static fromValue(eb,em,ew){return null!=ew||null==em||(0,e_.Zm)(em)||(ew=em,em=null),null==em&&(em=0),null==ew&&(ew="fixed"),eF.fromString(eP(eb,em),eB.from(ew))}static fromString(eb,em){null==em&&(em="fixed");let ew=eB.from(em),eC=eR(eb,ew.decimals);!ew.signed&&eC.lt(eA)&&eI("unsigned value cannot be negative","overflow","value",eb);let eT=null;ew.signed?eT=eC.toTwos(ew.width).toHexString():(eT=eC.toHexString(),eT=(0,eM.$m)(eT,ew.width/8));let e_=eP(eC,ew.decimals);return new eF(eS,eT,e_,ew)}static fromBytes(eb,em){null==em&&(em="fixed");let ew=eB.from(em);if((0,eM.lE)(eb).length>ew.width/8)throw Error("overflow");let eC=e_.O$.from(eb);ew.signed&&(eC=eC.fromTwos(ew.width));let eT=eC.toTwos((ew.signed?0:1)+ew.width).toHexString(),eE=eP(eC,ew.decimals);return new eF(eS,eT,eE,ew)}static from(eb,em){if("string"==typeof eb)return eF.fromString(eb,em);if((0,eM._t)(eb))return eF.fromBytes(eb,em);try{return eF.fromValue(eb,0,em)}catch(eb){if(eb.code!==eC.Yd.errors.INVALID_ARGUMENT)throw eb}return eE.throwArgumentError("invalid FixedNumber value","value",eb)}static isFixedNumber(eb){return!!(eb&&eb._isFixedNumber)}}let ej=eF.from(1),eU=eF.from("0.5")},16441:function(eb,em,ew){"use strict";ew.d(em,{lE:function(){return eI},zo:function(){return eD},xs:function(){return eV},E1:function(){return ej},p3:function(){return eU},Ou:function(){return e$},$P:function(){return eH},$m:function(){return eW},Dv:function(){return eF},_t:function(){return eN},Zq:function(){return eS},A7:function(){return eR},gV:function(){return eK},N:function(){return eZ},G1:function(){return eO},Bu:function(){return eP}});var eM=ew(1581);let eC="bytes/5.7.0",eT=new eM.Yd(eC);function e_(eb){return!!eb.toHexString}function eE(eb){return eb.slice||(eb.slice=function(){let em=Array.prototype.slice.call(arguments);return eE(new Uint8Array(Array.prototype.slice.apply(eb,em)))}),eb}function eS(eb){return eR(eb)&&!(eb.length%2)||eN(eb)}function eA(eb){return"number"==typeof eb&&eb==eb&&eb%1==0}function eN(eb){if(null==eb)return!1;if(eb.constructor===Uint8Array)return!0;if("string"==typeof eb||!eA(eb.length)||eb.length<0)return!1;for(let em=0;em=256)return!1}return!0}function eI(eb,em){if(em||(em={}),"number"==typeof eb){eT.checkSafeUint53(eb,"invalid arrayify value");let em=[];for(;eb;)em.unshift(255&eb),eb=parseInt(String(eb/256));return 0===em.length&&em.push(0),eE(new Uint8Array(em))}if(em.allowMissingPrefix&&"string"==typeof eb&&"0x"!==eb.substring(0,2)&&(eb="0x"+eb),e_(eb)&&(eb=eb.toHexString()),eR(eb)){let ew=eb.substring(2);ew.length%2&&("left"===em.hexPad?ew="0"+ew:"right"===em.hexPad?ew+="0":eT.throwArgumentError("hex data is odd-length","value",eb));let eM=[];for(let eb=0;ebeI(eb)),ew=em.reduce((eb,em)=>eb+em.length,0),eM=new Uint8Array(ew);return em.reduce((eb,em)=>(eM.set(em,eb),eb+em.length),0),eE(eM)}function eO(eb){let em=eI(eb);if(0===em.length)return em;let ew=0;for(;ewem&&eT.throwArgumentError("value out of range","value",arguments[0]);let ew=new Uint8Array(em);return ew.set(eb,em-eb.length),eE(ew)}function eR(eb,em){return"string"==typeof eb&&!!eb.match(/^0x[0-9A-Fa-f]*$/)&&(!em||eb.length===2+2*em)}let eB="0123456789abcdef";function eF(eb,em){if(em||(em={}),"number"==typeof eb){eT.checkSafeUint53(eb,"invalid hexlify value");let em="";for(;eb;)em=eB[15&eb]+em,eb=Math.floor(eb/16);return em.length?(em.length%2&&(em="0"+em),"0x"+em):"0x00"}if("bigint"==typeof eb)return(eb=eb.toString(16)).length%2?"0x0"+eb:"0x"+eb;if(em.allowMissingPrefix&&"string"==typeof eb&&"0x"!==eb.substring(0,2)&&(eb="0x"+eb),e_(eb))return eb.toHexString();if(eR(eb))return eb.length%2&&("left"===em.hexPad?eb="0x0"+eb.substring(2):"right"===em.hexPad?eb+="0":eT.throwArgumentError("hex data is odd-length","value",eb)),eb.toLowerCase();if(eN(eb)){let em="0x";for(let ew=0;ew>4]+eB[15&eM]}return em}return eT.throwArgumentError("invalid hexlify value","value",eb)}function ej(eb){if("string"!=typeof eb)eb=eF(eb);else if(!eR(eb)||eb.length%2)return null;return(eb.length-2)/2}function eU(eb,em,ew){return("string"!=typeof eb?eb=eF(eb):(!eR(eb)||eb.length%2)&&eT.throwArgumentError("invalid hexData","value",eb),em=2+2*em,null!=ew)?"0x"+eb.substring(em,2+2*ew):"0x"+eb.substring(em)}function eV(eb){let em="0x";return eb.forEach(eb=>{em+=eF(eb).substring(2)}),em}function eH(eb){let em=e$(eF(eb,{hexPad:"left"}));return"0x"===em?"0x0":em}function e$(eb){"string"!=typeof eb&&(eb=eF(eb)),eR(eb)||eT.throwArgumentError("invalid hex string","value",eb),eb=eb.substring(2);let em=0;for(;em2*em+2&&eT.throwArgumentError("value out of range","value",arguments[1]);eb.length<2*em+2;)eb="0x0"+eb.substring(2);return eb}function eZ(eb){let em={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(eS(eb)){let ew=eI(eb);64===ew.length?(em.v=27+(ew[32]>>7),ew[32]&=127,em.r=eF(ew.slice(0,32)),em.s=eF(ew.slice(32,64))):65===ew.length?(em.r=eF(ew.slice(0,32)),em.s=eF(ew.slice(32,64)),em.v=ew[64]):eT.throwArgumentError("invalid signature string","signature",eb),em.v<27&&(0===em.v||1===em.v?em.v+=27:eT.throwArgumentError("signature invalid v byte","signature",eb)),em.recoveryParam=1-em.v%2,em.recoveryParam&&(ew[32]|=128),em._vs=eF(ew.slice(32,64))}else{if(em.r=eb.r,em.s=eb.s,em.v=eb.v,em.recoveryParam=eb.recoveryParam,em._vs=eb._vs,null!=em._vs){let ew=eP(eI(em._vs),32);em._vs=eF(ew);let eM=ew[0]>=128?1:0;null==em.recoveryParam?em.recoveryParam=eM:em.recoveryParam!==eM&&eT.throwArgumentError("signature recoveryParam mismatch _vs","signature",eb),ew[0]&=127;let eC=eF(ew);null==em.s?em.s=eC:em.s!==eC&&eT.throwArgumentError("signature v mismatch _vs","signature",eb)}if(null==em.recoveryParam)null==em.v?eT.throwArgumentError("signature missing v and recoveryParam","signature",eb):0===em.v||1===em.v?em.recoveryParam=em.v:em.recoveryParam=1-em.v%2;else if(null==em.v)em.v=27+em.recoveryParam;else{let ew=0===em.v||1===em.v?em.v:1-em.v%2;em.recoveryParam!==ew&&eT.throwArgumentError("signature recoveryParam mismatch v","signature",eb)}null!=em.r&&eR(em.r)?em.r=eW(em.r,32):eT.throwArgumentError("signature missing or invalid r","signature",eb),null!=em.s&&eR(em.s)?em.s=eW(em.s,32):eT.throwArgumentError("signature missing or invalid s","signature",eb);let ew=eI(em.s);ew[0]>=128&&eT.throwArgumentError("signature s out of range","signature",eb),em.recoveryParam&&(ew[0]|=128);let eM=eF(ew);em._vs&&(eR(em._vs)||eT.throwArgumentError("signature invalid _vs","signature",eb),em._vs=eW(em._vs,32)),null==em._vs?em._vs=eM:em._vs!==eM&&eT.throwArgumentError("signature _vs mismatch v and s","signature",eb)}return em.yParityAndS=em._vs,em.compact=em.r+em.yParityAndS.substring(2),em}function eK(eb){return eF(eD([(eb=eZ(eb)).r,eb.s,eb.recoveryParam?"0x1c":"0x1b"]))}},9279:function(eb,em,ew){"use strict";ew.d(em,{d:function(){return eM}});let eM="0x0000000000000000000000000000000000000000"},21046:function(eb,em,ew){"use strict";ew.d(em,{$B:function(){return eN},Bz:function(){return eA},Ce:function(){return eS},PS:function(){return eI},Py:function(){return eE},_Y:function(){return eT},fh:function(){return e_},tL:function(){return eC}});var eM=ew(2593);let eC=eM.O$.from(-1),eT=eM.O$.from(0),e_=eM.O$.from(1),eE=eM.O$.from(2),eS=eM.O$.from("1000000000000000000"),eA=eM.O$.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),eN=eM.O$.from("-0x8000000000000000000000000000000000000000000000000000000000000000"),eI=eM.O$.from("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")},57218:function(eb,em,ew){"use strict";ew.d(em,{R:function(){return eM}});let eM="0x0000000000000000000000000000000000000000000000000000000000000000"},64146:function(eb,em,ew){"use strict";ew.d(em,{VZ:function(){return e0},CH:function(){return e6},lV:function(){return e4}});var eM=ew(61184),eC=ew(8198),eT=ew(81556),e_=ew(48088),eE=ew(19485),eS=ew(2593),eA=ew(16441),eN=ew(6881),eI=ew(83875),eD=ew(1581);let eO="contracts/5.7.0";var eP=function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};let eR=new eD.Yd(eO),eB={chainId:!0,data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0,customData:!0,ccipReadEnabled:!0};function eF(eb,em){return eP(this,void 0,void 0,function*(){let ew=yield em;"string"!=typeof ew&&eR.throwArgumentError("invalid address or ENS name","name",ew);try{return(0,eE.Kn)(ew)}catch(eb){}eb||eR.throwError("a provider or signer is needed to resolve ENS names",eD.Yd.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"});let eM=yield eb.resolveName(ew);return null==eM&&eR.throwArgumentError("resolver or addr is not configured for ENS name","name",ew),eM})}function ej(eb,em,ew){return eP(this,void 0,void 0,function*(){return Array.isArray(ew)?yield Promise.all(ew.map((ew,eM)=>ej(eb,Array.isArray(em)?em[eM]:em[ew.name],ew))):"address"===ew.type?yield eF(eb,em):"tuple"===ew.type?yield ej(eb,em,ew.components):"array"===ew.baseType?Array.isArray(em)?yield Promise.all(em.map(em=>ej(eb,em,ew.arrayChildren))):Promise.reject(eR.makeError("invalid value for array",eD.Yd.errors.INVALID_ARGUMENT,{argument:"value",value:em})):em})}function eU(eb,em,ew){return eP(this,void 0,void 0,function*(){let eM={};ew.length===em.inputs.length+1&&"object"==typeof ew[ew.length-1]&&(eM=(0,eN.DC)(ew.pop())),eR.checkArgumentCount(ew.length,em.inputs.length,"passed to contract"),eb.signer?eM.from?eM.from=(0,eN.mE)({override:eF(eb.signer,eM.from),signer:eb.signer.getAddress()}).then(eb=>eP(this,void 0,void 0,function*(){return(0,eE.Kn)(eb.signer)!==eb.override&&eR.throwError("Contract with a Signer cannot override from",eD.Yd.errors.UNSUPPORTED_OPERATION,{operation:"overrides.from"}),eb.override})):eM.from=eb.signer.getAddress():eM.from&&(eM.from=eF(eb.provider,eM.from));let eC=yield(0,eN.mE)({args:ej(eb.signer||eb.provider,ew,em.inputs),address:eb.resolvedAddress,overrides:(0,eN.mE)(eM)||{}}),eT=eb.interface.encodeFunctionData(em,eC.args),e_={data:eT,to:eC.address},eO=eC.overrides;if(null!=eO.nonce&&(e_.nonce=eS.O$.from(eO.nonce).toNumber()),null!=eO.gasLimit&&(e_.gasLimit=eS.O$.from(eO.gasLimit)),null!=eO.gasPrice&&(e_.gasPrice=eS.O$.from(eO.gasPrice)),null!=eO.maxFeePerGas&&(e_.maxFeePerGas=eS.O$.from(eO.maxFeePerGas)),null!=eO.maxPriorityFeePerGas&&(e_.maxPriorityFeePerGas=eS.O$.from(eO.maxPriorityFeePerGas)),null!=eO.from&&(e_.from=eO.from),null!=eO.type&&(e_.type=eO.type),null!=eO.accessList&&(e_.accessList=(0,eI.z7)(eO.accessList)),null==e_.gasLimit&&null!=em.gas){let eb=21e3,ew=(0,eA.lE)(eT);for(let em=0;emnull!=eM[eb]);return eB.length&&eR.throwError(`cannot override ${eB.map(eb=>JSON.stringify(eb)).join(",")}`,eD.Yd.errors.UNSUPPORTED_OPERATION,{operation:"overrides",overrides:eB}),e_})}function eV(eb,em){return function(...ew){return eU(eb,em,ew)}}function eH(eb,em){let ew=eb.signer||eb.provider;return function(...eM){return eP(this,void 0,void 0,function*(){ew||eR.throwError("estimate require a provider or signer",eD.Yd.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"});let eC=yield eU(eb,em,eM);return yield ew.estimateGas(eC)})}}function e$(eb,em){let ew=em.wait.bind(em);em.wait=em=>ew(em).then(em=>(em.events=em.logs.map(ew=>{let eM=(0,eN.p$)(ew),eC=null;try{eC=eb.interface.parseLog(ew)}catch(eb){}return eC&&(eM.args=eC.args,eM.decode=(em,ew)=>eb.interface.decodeEventLog(eC.eventFragment,em,ew),eM.event=eC.name,eM.eventSignature=eC.signature),eM.removeListener=()=>eb.provider,eM.getBlock=()=>eb.provider.getBlock(em.blockHash),eM.getTransaction=()=>eb.provider.getTransaction(em.transactionHash),eM.getTransactionReceipt=()=>Promise.resolve(em),eM}),em))}function eW(eb,em,ew){let eM=eb.signer||eb.provider;return function(...eC){return eP(this,void 0,void 0,function*(){let eT;if(eC.length===em.inputs.length+1&&"object"==typeof eC[eC.length-1]){let eb=(0,eN.DC)(eC.pop());null!=eb.blockTag&&(eT=yield eb.blockTag),delete eb.blockTag,eC.push(eb)}null!=eb.deployTransaction&&(yield eb._deployed(eT));let e_=yield eU(eb,em,eC),eE=yield eM.call(e_,eT);try{let eM=eb.interface.decodeFunctionResult(em,eE);return ew&&1===em.outputs.length&&(eM=eM[0]),eM}catch(em){throw em.code===eD.Yd.errors.CALL_EXCEPTION&&(em.address=eb.address,em.args=eC,em.transaction=e_),em}})}}function eZ(eb,em){return function(...ew){return eP(this,void 0,void 0,function*(){eb.signer||eR.throwError("sending a transaction requires a signer",eD.Yd.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),null!=eb.deployTransaction&&(yield eb._deployed());let eM=yield eU(eb,em,ew),eC=yield eb.signer.sendTransaction(eM);return e$(eb,eC),eC})}}function eK(eb,em,ew){return em.constant?eW(eb,em,ew):eZ(eb,em)}function eG(eb){return eb.address&&(null==eb.topics||0===eb.topics.length)?"*":(eb.address||"*")+"@"+(eb.topics?eb.topics.map(eb=>Array.isArray(eb)?eb.join("|"):eb).join(":"):"")}class eY{constructor(eb,em){(0,eN.zG)(this,"tag",eb),(0,eN.zG)(this,"filter",em),this._listeners=[]}addListener(eb,em){this._listeners.push({listener:eb,once:em})}removeListener(eb){let em=!1;this._listeners=this._listeners.filter(ew=>!!em||ew.listener!==eb||(em=!0,!1))}removeAllListeners(){this._listeners=[]}listeners(){return this._listeners.map(eb=>eb.listener)}listenerCount(){return this._listeners.length}run(eb){let em=this.listenerCount();return this._listeners=this._listeners.filter(em=>{let ew=eb.slice();return setTimeout(()=>{em.listener.apply(this,ew)},0),!em.once}),em}prepareEvent(eb){}getEmit(eb){return[eb]}}class eJ extends eY{constructor(){super("error",null)}}class eX extends eY{constructor(eb,em,ew,eM){let eC={address:eb},eT=em.getEventTopic(ew);eM?(eT!==eM[0]&&eR.throwArgumentError("topic mismatch","topics",eM),eC.topics=eM.slice()):eC.topics=[eT],super(eG(eC),eC),(0,eN.zG)(this,"address",eb),(0,eN.zG)(this,"interface",em),(0,eN.zG)(this,"fragment",ew)}prepareEvent(eb){super.prepareEvent(eb),eb.event=this.fragment.name,eb.eventSignature=this.fragment.format(),eb.decode=(eb,em)=>this.interface.decodeEventLog(this.fragment,eb,em);try{eb.args=this.interface.decodeEventLog(this.fragment,eb.data,eb.topics)}catch(em){eb.args=null,eb.decodeError=em}}getEmit(eb){let em=(0,eM.BR)(eb.args);if(em.length)throw em[0].error;let ew=(eb.args||[]).slice();return ew.push(eb),ew}}class eQ extends eY{constructor(eb,em){super("*",{address:eb}),(0,eN.zG)(this,"address",eb),(0,eN.zG)(this,"interface",em)}prepareEvent(eb){super.prepareEvent(eb);try{let em=this.interface.parseLog(eb);eb.event=em.name,eb.eventSignature=em.signature,eb.decode=(eb,ew)=>this.interface.decodeEventLog(em.eventFragment,eb,ew),eb.args=em.args}catch(eb){}}}class e0{constructor(eb,em,ew){(0,eN.zG)(this,"interface",(0,eN.tu)(new.target,"getInterface")(em)),null==ew?((0,eN.zG)(this,"provider",null),(0,eN.zG)(this,"signer",null)):e_.E.isSigner(ew)?((0,eN.zG)(this,"provider",ew.provider||null),(0,eN.zG)(this,"signer",ew)):eT.zt.isProvider(ew)?((0,eN.zG)(this,"provider",ew),(0,eN.zG)(this,"signer",null)):eR.throwArgumentError("invalid signer or provider","signerOrProvider",ew),(0,eN.zG)(this,"callStatic",{}),(0,eN.zG)(this,"estimateGas",{}),(0,eN.zG)(this,"functions",{}),(0,eN.zG)(this,"populateTransaction",{}),(0,eN.zG)(this,"filters",{});{let eb={};Object.keys(this.interface.events).forEach(em=>{let ew=this.interface.events[em];(0,eN.zG)(this.filters,em,(...eb)=>({address:this.address,topics:this.interface.encodeFilterTopics(ew,eb)})),eb[ew.name]||(eb[ew.name]=[]),eb[ew.name].push(em)}),Object.keys(eb).forEach(em=>{let ew=eb[em];1===ew.length?(0,eN.zG)(this.filters,em,this.filters[ew[0]]):eR.warn(`Duplicate definition of ${em} (${ew.join(", ")})`)})}if((0,eN.zG)(this,"_runningEvents",{}),(0,eN.zG)(this,"_wrappedEmits",{}),null==eb&&eR.throwArgumentError("invalid contract address or ENS name","addressOrName",eb),(0,eN.zG)(this,"address",eb),this.provider)(0,eN.zG)(this,"resolvedAddress",eF(this.provider,eb));else try{(0,eN.zG)(this,"resolvedAddress",Promise.resolve((0,eE.Kn)(eb)))}catch(eb){eR.throwError("provider is required to use ENS name as contract address",eD.Yd.errors.UNSUPPORTED_OPERATION,{operation:"new Contract"})}this.resolvedAddress.catch(eb=>{});let eM={},eC={};Object.keys(this.interface.functions).forEach(eb=>{let em=this.interface.functions[eb];if(eC[eb]){eR.warn(`Duplicate ABI entry for ${JSON.stringify(eb)}`);return}eC[eb]=!0;{let ew=em.name;eM[`%${ew}`]||(eM[`%${ew}`]=[]),eM[`%${ew}`].push(eb)}null==this[eb]&&(0,eN.zG)(this,eb,eK(this,em,!0)),null==this.functions[eb]&&(0,eN.zG)(this.functions,eb,eK(this,em,!1)),null==this.callStatic[eb]&&(0,eN.zG)(this.callStatic,eb,eW(this,em,!0)),null==this.populateTransaction[eb]&&(0,eN.zG)(this.populateTransaction,eb,eV(this,em)),null==this.estimateGas[eb]&&(0,eN.zG)(this.estimateGas,eb,eH(this,em))}),Object.keys(eM).forEach(eb=>{let em=eM[eb];if(em.length>1)return;eb=eb.substring(1);let ew=em[0];try{null==this[eb]&&(0,eN.zG)(this,eb,this[ew])}catch(eb){}null==this.functions[eb]&&(0,eN.zG)(this.functions,eb,this.functions[ew]),null==this.callStatic[eb]&&(0,eN.zG)(this.callStatic,eb,this.callStatic[ew]),null==this.populateTransaction[eb]&&(0,eN.zG)(this.populateTransaction,eb,this.populateTransaction[ew]),null==this.estimateGas[eb]&&(0,eN.zG)(this.estimateGas,eb,this.estimateGas[ew])})}static getContractAddress(eb){return(0,eE.CR)(eb)}static getInterface(eb){return eC.vU.isInterface(eb)?eb:new eC.vU(eb)}deployed(){return this._deployed()}_deployed(eb){return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then(()=>this):this._deployedPromise=this.provider.getCode(this.address,eb).then(eb=>("0x"===eb&&eR.throwError("contract not deployed",eD.Yd.errors.UNSUPPORTED_OPERATION,{contractAddress:this.address,operation:"getDeployed"}),this))),this._deployedPromise}fallback(eb){this.signer||eR.throwError("sending a transactions require a signer",eD.Yd.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});let em=(0,eN.DC)(eb||{});return["from","to"].forEach(function(eb){null!=em[eb]&&eR.throwError("cannot override "+eb,eD.Yd.errors.UNSUPPORTED_OPERATION,{operation:eb})}),em.to=this.resolvedAddress,this.deployed().then(()=>this.signer.sendTransaction(em))}connect(eb){"string"==typeof eb&&(eb=new e_.b(eb,this.provider));let em=new this.constructor(this.address,this.interface,eb);return this.deployTransaction&&(0,eN.zG)(em,"deployTransaction",this.deployTransaction),em}attach(eb){return new this.constructor(eb,this.interface,this.signer||this.provider)}static isIndexed(eb){return eC.Hk.isIndexed(eb)}_normalizeRunningEvent(eb){return this._runningEvents[eb.tag]?this._runningEvents[eb.tag]:eb}_getRunningEvent(eb){if("string"==typeof eb){if("error"===eb)return this._normalizeRunningEvent(new eJ);if("event"===eb)return this._normalizeRunningEvent(new eY("event",null));if("*"===eb)return this._normalizeRunningEvent(new eQ(this.address,this.interface));let em=this.interface.getEvent(eb);return this._normalizeRunningEvent(new eX(this.address,this.interface,em))}if(eb.topics&&eb.topics.length>0){try{let em=eb.topics[0];if("string"!=typeof em)throw Error("invalid topic");let ew=this.interface.getEvent(em);return this._normalizeRunningEvent(new eX(this.address,this.interface,ew,eb.topics))}catch(eb){}let em={address:this.address,topics:eb.topics};return this._normalizeRunningEvent(new eY(eG(em),em))}return this._normalizeRunningEvent(new eQ(this.address,this.interface))}_checkRunningEvents(eb){if(0===eb.listenerCount()){delete this._runningEvents[eb.tag];let em=this._wrappedEmits[eb.tag];em&&eb.filter&&(this.provider.off(eb.filter,em),delete this._wrappedEmits[eb.tag])}}_wrapEvent(eb,em,ew){let eM=(0,eN.p$)(em);return eM.removeListener=()=>{ew&&(eb.removeListener(ew),this._checkRunningEvents(eb))},eM.getBlock=()=>this.provider.getBlock(em.blockHash),eM.getTransaction=()=>this.provider.getTransaction(em.transactionHash),eM.getTransactionReceipt=()=>this.provider.getTransactionReceipt(em.transactionHash),eb.prepareEvent(eM),eM}_addEventListener(eb,em,ew){if(this.provider||eR.throwError("events require a provider or a signer with a provider",eD.Yd.errors.UNSUPPORTED_OPERATION,{operation:"once"}),eb.addListener(em,ew),this._runningEvents[eb.tag]=eb,!this._wrappedEmits[eb.tag]){let ew=ew=>{let eM=this._wrapEvent(eb,ew,em);if(null==eM.decodeError)try{let em=eb.getEmit(eM);this.emit(eb.filter,...em)}catch(eb){eM.decodeError=eb.error}null!=eb.filter&&this.emit("event",eM),null!=eM.decodeError&&this.emit("error",eM.decodeError,eM)};this._wrappedEmits[eb.tag]=ew,null!=eb.filter&&this.provider.on(eb.filter,ew)}}queryFilter(eb,em,ew){let eM=this._getRunningEvent(eb),eC=(0,eN.DC)(eM.filter);return"string"==typeof em&&(0,eA.A7)(em,32)?(null!=ew&&eR.throwArgumentError("cannot specify toBlock with blockhash","toBlock",ew),eC.blockHash=em):(eC.fromBlock=null!=em?em:0,eC.toBlock=null!=ew?ew:"latest"),this.provider.getLogs(eC).then(eb=>eb.map(eb=>this._wrapEvent(eM,eb,null)))}on(eb,em){return this._addEventListener(this._getRunningEvent(eb),em,!1),this}once(eb,em){return this._addEventListener(this._getRunningEvent(eb),em,!0),this}emit(eb,...em){if(!this.provider)return!1;let ew=this._getRunningEvent(eb),eM=ew.run(em)>0;return this._checkRunningEvents(ew),eM}listenerCount(eb){return this.provider?null==eb?Object.keys(this._runningEvents).reduce((eb,em)=>eb+this._runningEvents[em].listenerCount(),0):this._getRunningEvent(eb).listenerCount():0}listeners(eb){if(!this.provider)return[];if(null==eb){let eb=[];for(let em in this._runningEvents)this._runningEvents[em].listeners().forEach(em=>{eb.push(em)});return eb}return this._getRunningEvent(eb).listeners()}removeAllListeners(eb){if(!this.provider)return this;if(null==eb){for(let eb in this._runningEvents){let em=this._runningEvents[eb];em.removeAllListeners(),this._checkRunningEvents(em)}return this}let em=this._getRunningEvent(eb);return em.removeAllListeners(),this._checkRunningEvents(em),this}off(eb,em){if(!this.provider)return this;let ew=this._getRunningEvent(eb);return ew.removeListener(em),this._checkRunningEvents(ew),this}removeListener(eb,em){return this.off(eb,em)}}class e6 extends e0{}class e4{constructor(eb,em,ew){let eM=null;"0x"!==(eM="string"==typeof em?em:(0,eA._t)(em)?(0,eA.Dv)(em):em&&"string"==typeof em.object?em.object:"!").substring(0,2)&&(eM="0x"+eM),(!(0,eA.A7)(eM)||eM.length%2)&&eR.throwArgumentError("invalid bytecode","bytecode",em),ew&&!e_.E.isSigner(ew)&&eR.throwArgumentError("invalid signer","signer",ew),(0,eN.zG)(this,"bytecode",eM),(0,eN.zG)(this,"interface",(0,eN.tu)(new.target,"getInterface")(eb)),(0,eN.zG)(this,"signer",ew||null)}getDeployTransaction(...eb){let em={};if(eb.length===this.interface.deploy.inputs.length+1&&"object"==typeof eb[eb.length-1]){for(let ew in em=(0,eN.DC)(eb.pop()))if(!eB[ew])throw Error("unknown transaction override "+ew)}if(["data","from","to"].forEach(eb=>{null!=em[eb]&&eR.throwError("cannot override "+eb,eD.Yd.errors.UNSUPPORTED_OPERATION,{operation:eb})}),em.value){let eb=eS.O$.from(em.value);eb.isZero()||this.interface.deploy.payable||eR.throwError("non-payable constructor cannot override value",eD.Yd.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:em.value})}return eR.checkArgumentCount(eb.length,this.interface.deploy.inputs.length," in Contract constructor"),em.data=(0,eA.Dv)((0,eA.zo)([this.bytecode,this.interface.encodeDeploy(eb)])),em}deploy(...eb){return eP(this,void 0,void 0,function*(){let em={};eb.length===this.interface.deploy.inputs.length+1&&(em=eb.pop()),eR.checkArgumentCount(eb.length,this.interface.deploy.inputs.length," in Contract constructor");let ew=yield ej(this.signer,eb,this.interface.deploy.inputs);ew.push(em);let eM=this.getDeployTransaction(...ew),eC=yield this.signer.sendTransaction(eM),eT=(0,eN.tu)(this.constructor,"getContractAddress")(eC),e_=(0,eN.tu)(this.constructor,"getContract")(eT,this.interface,this.signer);return e$(e_,eC),(0,eN.zG)(e_,"deployTransaction",eC),e_})}attach(eb){return this.constructor.getContract(eb,this.interface,this.signer)}connect(eb){return new this.constructor(this.interface,this.bytecode,eb)}static fromSolidity(eb,em){null==eb&&eR.throwError("missing compiler output",eD.Yd.errors.MISSING_ARGUMENT,{argument:"compilerOutput"}),"string"==typeof eb&&(eb=JSON.parse(eb));let ew=eb.abi,eM=null;return eb.bytecode?eM=eb.bytecode:eb.evm&&eb.evm.bytecode&&(eM=eb.evm.bytecode),new this(ew,eM,em)}static getInterface(eb){return e6.getInterface(eb)}static getContractAddress(eb){return(0,eE.CR)(eb)}static getContract(eb,em,ew){return new e6(eb,em,ew)}}},35644:function(eb,em,ew){"use strict";ew.d(em,{i:function(){return eM}});let eM="hash/5.7.0"},32046:function(eb,em,ew){"use strict";ew.d(em,{id:function(){return eT}});var eM=ew(38197),eC=ew(29251);function eT(eb){return(0,eM.w)((0,eC.Y0)(eb))}},93684:function(eb,em,ew){"use strict";ew.d(em,{r:function(){return eE}});var eM=ew(16441),eC=ew(38197),eT=ew(29251);let e_="\x19Ethereum Signed Message:\n";function eE(eb){return"string"==typeof eb&&(eb=(0,eT.Y0)(eb)),(0,eC.w)((0,eM.zo)([(0,eT.Y0)(e_),(0,eT.Y0)(String(eb.length)),eb]))}},27586:function(eb,em,ew){"use strict";ew.d(em,{Kn:function(){return tN},r1:function(){return tS},VM:function(){return tA}});var eM=ew(16441),eC=ew(29251),eT=ew(38197),e_=ew(1581),eE=ew(35644),eS=ew(59567);function eA(eb,em){null==em&&(em=1);let ew=[],eM=ew.forEach,eC=function(eb,em){eM.call(eb,function(eb){em>0&&Array.isArray(eb)?eC(eb,em-1):ew.push(eb)})};return eC(eb,em),ew}function eN(eb){let em={};for(let ew=0;ew>--eS&1}let eI=31,eD=Math.pow(2,eI),eO=eD>>>1,eP=eO>>1,eR=eD-1,eB=0;for(let eb=0;eb1;){let eM=em+ew>>>1;eb>>1|eN(),e_=e_<<1^eO,eE=(eE^eO)<<1|eO|1;ej=e_,eU=1+eE-e_}let eV=eM-4;return eF.map(em=>{switch(em-eV){case 3:return eV+65792+(eb[eE++]<<16|eb[eE++]<<8|eb[eE++]);case 2:return eV+256+(eb[eE++]<<8|eb[eE++]);case 1:return eV+eb[eE++];default:return em-1}})}function eD(eb){let em=0;return()=>eb[em++]}function eO(eb){return eD(eI(eb))}function eP(eb){return 1&eb?~eb>>1:eb>>1}function eR(eb,em){let ew=Array(eb);for(let eM=0;eMem[eb]):ew}function eU(eb){let em=[];for(;;){let ew=eb();if(0==ew)break;em.push(e$(ew,eb))}for(;;){let ew=eb()-1;if(ew<0)break;em.push(eW(ew,eb))}return eN(eA(em))}function eV(eb){let em=[];for(;;){let ew=eb();if(0==ew)break;em.push(ew)}return em}function eH(eb,em,ew){let eM=Array(eb).fill(void 0).map(()=>[]);for(let eC=0;eCeM[em].push(eb));return eM}function e$(eb,em){let ew=1+em(),eM=em(),eC=eV(em);return eA(eH(eC.length,1+eb,em).map((eb,em)=>{let eT=eb[0],e_=eb.slice(1);return Array(eC[em]).fill(void 0).map((eb,em)=>{let eC=em*eM;return[eT+em*ew,e_.map(eb=>eb+eC)]})}))}function eW(eb,em){return eH(1+em(),1+eb,em).map(eb=>[eb[0],eb.slice(1)])}function eZ(eb){let em=ej(eb).sort((eb,em)=>eb-em);return ew();function ew(){let eM=[];for(;;){let eC=ej(eb,em);if(0==eC.length)break;eM.push({set:new Set(eC),node:ew()})}eM.sort((eb,em)=>em.set.size-eb.set.size);let eC=eb();return{branches:eM,valid:eC%3,fe0f:!!(1&(eC=eC/3|0)),save:1==(eC>>=1),check:2==eC}}}function eK(){return eO((0,eS.J)("AEQF2AO2DEsA2wIrAGsBRABxAN8AZwCcAEwAqgA0AGwAUgByADcATAAVAFYAIQAyACEAKAAYAFgAGwAjABQAMAAmADIAFAAfABQAKwATACoADgAbAA8AHQAYABoAGQAxADgALAAoADwAEwA9ABMAGgARAA4ADwAWABMAFgAIAA8AHgQXBYMA5BHJAS8JtAYoAe4AExozi0UAH21tAaMnBT8CrnIyhrMDhRgDygIBUAEHcoFHUPe8AXBjAewCjgDQR8IICIcEcQLwATXCDgzvHwBmBoHNAqsBdBcUAykgDhAMShskMgo8AY8jqAQfAUAfHw8BDw87MioGlCIPBwZCa4ELatMAAMspJVgsDl8AIhckSg8XAHdvTwBcIQEiDT4OPhUqbyECAEoAS34Aej8Ybx83JgT/Xw8gHxZ/7w8RICxPHA9vBw+Pfw8PHwAPFv+fAsAvCc8vEr8ivwD/EQ8Bol8OEBa/A78hrwAPCU8vESNvvwWfHwNfAVoDHr+ZAAED34YaAdJPAK7PLwSEgDLHAGo1Pz8Pvx9fUwMrpb8O/58VTzAPIBoXIyQJNF8hpwIVAT8YGAUADDNBaX3RAMomJCg9EhUeA29MABsZBTMNJipjOhc19gcIDR8bBwQHEggCWi6DIgLuAQYA+BAFCha3A5XiAEsqM7UFFgFLhAMjFTMYE1Klnw74nRVBG/ASCm0BYRN/BrsU3VoWy+S0vV8LQx+vN8gF2AC2AK5EAWwApgYDKmAAroQ0NDQ0AT+OCg7wAAIHRAbpNgVcBV0APTA5BfbPFgMLzcYL/QqqA82eBALKCjQCjqYCht0/k2+OAsXQAoP3ASTKDgDw6ACKAUYCMpIKJpRaAE4A5womABzZvs0REEKiACIQAd5QdAECAj4Ywg/wGqY2AVgAYADYvAoCGAEubA0gvAY2ALAAbpbvqpyEAGAEpgQAJgAG7gAgAEACmghUFwCqAMpAINQIwC4DthRAAPcycKgApoIdABwBfCisABoATwBqASIAvhnSBP8aH/ECeAKXAq40NjgDBTwFYQU6AXs3oABgAD4XNgmcCY1eCl5tIFZeUqGgyoNHABgAEQAaABNwWQAmABMATPMa3T34ADldyprmM1M2XociUQgLzvwAXT3xABgAEQAaABNwIGFAnADD8AAgAD4BBJWzaCcIAIEBFMAWwKoAAdq9BWAF5wLQpALEtQAKUSGkahR4GnJM+gsAwCgeFAiUAECQ0BQuL8AAIAAAADKeIheclvFqQAAETr4iAMxIARMgAMIoHhQIAn0E0pDQFC4HhznoAAAAIAI2C0/4lvFqQAAETgBJJwYCAy4ABgYAFAA8MBKYEH4eRhTkAjYeFcgACAYAeABsOqyQ5gRwDayqugEgaIIAtgoACgDmEABmBAWGme5OBJJA2m4cDeoAmITWAXwrMgOgAGwBCh6CBXYF1Tzg1wKAAFdiuABRAFwAXQBsAG8AdgBrAHYAbwCEAHEwfxQBVE5TEQADVFhTBwBDANILAqcCzgLTApQCrQL6vAAMAL8APLhNBKkE6glGKTAU4Dr4N2EYEwBCkABKk8rHAbYBmwIoAiU4Ajf/Aq4CowCAANIChzgaNBsCsTgeODcFXrgClQKdAqQBiQGYAqsCsjTsNHsfNPA0ixsAWTWiOAMFPDQSNCk2BDZHNow2TTZUNhk28Jk9VzI3QkEoAoICoQKwAqcAQAAxBV4FXbS9BW47YkIXP1ciUqs05DS/FwABUwJW11e6nHuYZmSh/RAYA8oMKvZ8KASoUAJYWAJ6ILAsAZSoqjpgA0ocBIhmDgDWAAawRDQoAAcuAj5iAHABZiR2AIgiHgCaAU68ACxuHAG0ygM8MiZIAlgBdF4GagJqAPZOHAMuBgoATkYAsABiAHgAMLoGDPj0HpKEBAAOJgAuALggTAHWAeAMEDbd20Uege0ADwAWADkAQgA9OHd+2MUQZBBhBgNNDkxxPxUQArEPqwvqERoM1irQ090ANK4H8ANYB/ADWANYB/AH8ANYB/ADWANYA1gDWBwP8B/YxRBkD00EcgWTBZAE2wiIJk4RhgctCNdUEnQjHEwDSgEBIypJITuYMxAlR0wRTQgIATZHbKx9PQNMMbBU+pCnA9AyVDlxBgMedhKlAC8PeCE1uk6DekxxpQpQT7NX9wBFBgASqwAS5gBJDSgAUCwGPQBI4zTYABNGAE2bAE3KAExdGABKaAbgAFBXAFCOAFBJABI2SWdObALDOq0//QomCZhvwHdTBkIQHCemEPgMNAG2ATwN7kvZBPIGPATKH34ZGg/OlZ0Ipi3eDO4m5C6igFsj9iqEBe5L9TzeC05RaQ9aC2YJ5DpkgU8DIgEOIowK3g06CG4Q9ArKbA3mEUYHOgPWSZsApgcCCxIdNhW2JhFirQsKOXgG/Br3C5AmsBMqev0F1BoiBk4BKhsAANAu6IWxWjJcHU9gBgQLJiPIFKlQIQ0mQLh4SRocBxYlqgKSQ3FKiFE3HpQh9zw+DWcuFFF9B/Y8BhlQC4I8n0asRQ8R0z6OPUkiSkwtBDaALDAnjAnQD4YMunxzAVoJIgmyDHITMhEYN8YIOgcaLpclJxYIIkaWYJsE+KAD9BPSAwwFQAlCBxQDthwuEy8VKgUOgSXYAvQ21i60ApBWgQEYBcwPJh/gEFFH4Q7qCJwCZgOEJewALhUiABginAhEZABgj9lTBi7MCMhqbSN1A2gU6GIRdAeSDlgHqBw0FcAc4nDJXgyGCSiksAlcAXYJmgFgBOQICjVcjKEgQmdUi1kYnCBiQUBd/QIyDGYVoES+h3kCjA9sEhwBNgF0BzoNAgJ4Ee4RbBCWCOyGBTW2M/k6JgRQIYQgEgooA1BszwsoJvoM+WoBpBJjAw00PnfvZ6xgtyUX/gcaMsZBYSHyC5NPzgydGsIYQ1QvGeUHwAP0GvQn60FYBgADpAQUOk4z7wS+C2oIjAlAAEoOpBgH2BhrCnKM0QEyjAG4mgNYkoQCcJAGOAcMAGgMiAV65gAeAqgIpAAGANADWAA6Aq4HngAaAIZCAT4DKDABIuYCkAOUCDLMAZYwAfQqBBzEDBYA+DhuSwLDsgKAa2ajBd5ZAo8CSjYBTiYEBk9IUgOwcuIA3ABMBhTgSAEWrEvMG+REAeBwLADIAPwABjYHBkIBzgH0bgC4AWALMgmjtLYBTuoqAIQAFmwB2AKKAN4ANgCA8gFUAE4FWvoF1AJQSgESMhksWGIBvAMgATQBDgB6BsyOpsoIIARuB9QCEBwV4gLvLwe2AgMi4BPOQsYCvd9WADIXUu5eZwqoCqdeaAC0YTQHMnM9UQAPH6k+yAdy/BZIiQImSwBQ5gBQQzSaNTFWSTYBpwGqKQK38AFtqwBI/wK37gK3rQK3sAK6280C0gK33AK3zxAAUEIAUD9SklKDArekArw5AEQAzAHCO147WTteO1k7XjtZO147WTteO1kDmChYI03AVU0oJqkKbV9GYewMpw3VRMk6ShPcYFJgMxPJLbgUwhXPJVcZPhq9JwYl5VUKDwUt1GYxCC00dhe9AEApaYNCY4ceMQpMHOhTklT5LRwAskujM7ANrRsWREEFSHXuYisWDwojAmSCAmJDXE6wXDchAqH4AmiZAmYKAp+FOBwMAmY8AmYnBG8EgAN/FAN+kzkHOXgYOYM6JCQCbB4CMjc4CwJtyAJtr/CLADRoRiwBaADfAOIASwYHmQyOAP8MwwAOtgJ3MAJ2o0ACeUxEAni7Hl3cRa9G9AJ8QAJ6yQJ9CgJ88UgBSH5kJQAsFklZSlwWGErNAtECAtDNSygDiFADh+dExpEzAvKiXQQDA69Lz0wuJgTQTU1NsAKLQAKK2cIcCB5EaAa4Ao44Ao5dQZiCAo7aAo5deVG1UzYLUtVUhgKT/AKTDQDqAB1VH1WwVdEHLBwplocy4nhnRTw6ApegAu+zWCKpAFomApaQApZ9nQCqWa1aCoJOADwClrYClk9cRVzSApnMApllXMtdCBoCnJw5wzqeApwXAp+cAp65iwAeEDIrEAKd8gKekwC2PmE1YfACntQCoG8BqgKeoCACnk+mY8lkKCYsAiewAiZ/AqD8AqBN2AKmMAKlzwKoAAB+AqfzaH1osgAESmodatICrOQCrK8CrWgCrQMCVx4CVd0CseLYAx9PbJgCsr4OArLpGGzhbWRtSWADJc4Ctl08QG6RAylGArhfArlIFgK5K3hwN3DiAr0aAy2zAzISAr6JcgMDM3ICvhtzI3NQAsPMAsMFc4N0TDZGdOEDPKgDPJsDPcACxX0CxkgCxhGKAshqUgLIRQLJUALJLwJkngLd03h6YniveSZL0QMYpGcDAmH1GfSVJXsMXpNevBICz2wCz20wTFTT9BSgAMeuAs90ASrrA04TfkwGAtwoAtuLAtJQA1JdA1NgAQIDVY2AikABzBfuYUZ2AILPg44C2sgC2d+EEYRKpz0DhqYAMANkD4ZyWvoAVgLfZgLeuXR4AuIw7RUB8zEoAfScAfLTiALr9ALpcXoAAur6AurlAPpIAboC7ooC652Wq5cEAu5AA4XhmHpw4XGiAvMEAGoDjheZlAL3FAORbwOSiAL3mQL52gL4Z5odmqy8OJsfA52EAv77ARwAOp8dn7QDBY4DpmsDptoA0sYDBmuhiaIGCgMMSgFgASACtgNGAJwEgLpoBgC8BGzAEowcggCEDC6kdjoAJAM0C5IKRoABZCgiAIzw3AYBLACkfng9ogigkgNmWAN6AEQCvrkEVqTGAwCsBRbAA+4iQkMCHR072jI2PTbUNsk2RjY5NvA23TZKNiU3EDcZN5I+RTxDRTBCJkK5VBYKFhZfwQCWygU3AJBRHpu+OytgNxa61A40GMsYjsn7BVwFXQVcBV0FaAVdBVwFXQVcBV0FXAVdBVwFXUsaCNyKAK4AAQUHBwKU7oICoW1e7jAEzgPxA+YDwgCkBFDAwADABKzAAOxFLhitA1UFTDeyPkM+bj51QkRCuwTQWWQ8X+0AWBYzsACNA8xwzAGm7EZ/QisoCTAbLDs6fnLfb8H2GccsbgFw13M1HAVkBW/Jxsm9CNRO8E8FDD0FBQw9FkcClOYCoMFegpDfADgcMiA2AJQACB8AsigKAIzIEAJKeBIApY5yPZQIAKQiHb4fvj5BKSRPQrZCOz0oXyxgOywfKAnGbgMClQaCAkILXgdeCD9IIGUgQj5fPoY+dT52Ao5CM0dAX9BTVG9SDzFwWTQAbxBzJF/lOEIQQglCCkKJIAls5AcClQICoKPMODEFxhi6KSAbiyfIRrMjtCgdWCAkPlFBIitCsEJRzAbMAV/OEyQzDg0OAQQEJ36i328/Mk9AybDJsQlq3tDRApUKAkFzXf1d/j9uALYP6hCoFgCTGD8kPsFKQiobrm0+zj0KSD8kPnVCRBwMDyJRTHFgMTJa5rwXQiQ2YfI/JD7BMEJEHGINTw4TOFlIRzwJO0icMQpyPyQ+wzJCRBv6DVgnKB01NgUKj2bwYzMqCoBkznBgEF+zYDIocwRIX+NgHj4HICNfh2C4CwdwFWpTG/lgUhYGAwRfv2Ts8mAaXzVgml/XYIJfuWC4HI1gUF9pYJZgMR6ilQHMAOwLAlDRefC0in4AXAEJA6PjCwc0IamOANMMCAECRQDFNRTZBgd+CwQlRA+r6+gLBDEFBnwUBXgKATIArwAGRAAHA3cDdAN2A3kDdwN9A3oDdQN7A30DfAN4A3oDfQAYEAAlAtYASwMAUAFsAHcKAHcAmgB3AHUAdQB2AHVu8UgAygDAAHcAdQB1AHYAdQALCgB3AAsAmgB3AAsCOwB3AAtu8UgAygDAAHgKAJoAdwB3AHUAdQB2AHUAeAB1AHUAdgB1bvFIAMoAwAALCgCaAHcACwB3AAsCOwB3AAtu8UgAygDAAH4ACwGgALcBpwC6AahdAu0COwLtbvFIAMoAwAALCgCaAu0ACwLtAAsCOwLtAAtu8UgAygDAA24ACwNvAAu0VsQAAzsAABCkjUIpAAsAUIusOggWcgMeBxVsGwL67U/2HlzmWOEeOgALASvuAAseAfpKUpnpGgYJDCIZM6YyARUE9ThqAD5iXQgnAJYJPnOzw0ZAEZxEKsIAkA4DhAHnTAIDxxUDK0lxCQlPYgIvIQVYJQBVqE1GakUAKGYiDToSBA1EtAYAXQJYAIF8GgMHRyAAIAjOe9YncekRAA0KACUrjwE7Ayc6AAYWAqaiKG4McEcqANoN3+Mg9TwCBhIkuCny+JwUQ29L008JluRxu3K+oAdqiHOqFH0AG5SUIfUJ5SxCGfxdipRzqTmT4V5Zb+r1Uo4Vm+NqSSEl2mNvR2JhIa8SpYO6ntdwFXHCWTCK8f2+Hxo7uiG3drDycAuKIMP5bhi06ACnqArH1rz4Rqg//lm6SgJGEVbF9xJHISaR6HxqxSnkw6shDnelHKNEfGUXSJRJ1GcsmtJw25xrZMDK9gXSm1/YMkdX4/6NKYOdtk/NQ3/NnDASjTc3fPjIjW/5sVfVObX2oTDWkr1dF9f3kxBsD3/3aQO8hPfRz+e0uEiJqt1161griu7gz8hDDwtpy+F+BWtefnKHZPAxcZoWbnznhJpy0e842j36bcNzGnIEusgGX0a8ZxsnjcSsPDZ09yZ36fCQbriHeQ72JRMILNl6ePPf2HWoVwgWAm1fb3V2sAY0+B6rAXqSwPBgseVmoqsBTSrm91+XasMYYySI8eeRxH3ZvHkMz3BQ5aJ3iUVbYPNM3/7emRtjlsMgv/9VyTsyt/mK+8fgWeT6SoFaclXqn42dAIsvAarF5vNNWHzKSkKQ/8Hfk5ZWK7r9yliOsooyBjRhfkHP4Q2DkWXQi6FG/9r/IwbmkV5T7JSopHKn1pJwm9tb5Ot0oyN1Z2mPpKXHTxx2nlK08fKk1hEYA8WgVVWL5lgx0iTv+KdojJeU23ZDjmiubXOxVXJKKi2Wjuh2HLZOFLiSC7Tls5SMh4f+Pj6xUSrNjFqLGehRNB8lC0QSLNmkJJx/wSG3MnjE9T1CkPwJI0wH2lfzwETIiVqUxg0dfu5q39Gt+hwdcxkhhNvQ4TyrBceof3Mhs/IxFci1HmHr4FMZgXEEczPiGCx0HRwzAqDq2j9AVm1kwN0mRVLWLylgtoPNapF5cY4Y1wJh/e0BBwZj44YgZrDNqvD/9Hv7GFYdUQeDJuQ3EWI4HaKqavU1XjC/n41kT4L79kqGq0kLhdTZvgP3TA3fS0ozVz+5piZsoOtIvBUFoMKbNcmBL6YxxaUAusHB38XrS8dQMnQwJfUUkpRoGr5AUeWicvBTzyK9g77+yCkf5PAysL7r/JjcZgrbvRpMW9iyaxZvKO6ceZN2EwIxKwVFPuvFuiEPGCoagbMo+SpydLrXqBzNCDGFCrO/rkcwa2xhokQZ5CdZ0AsU3JfSqJ6n5I14YA+P/uAgfhPU84Tlw7cEFfp7AEE8ey4sP12PTt4Cods1GRgDOB5xvyiR5m+Bx8O5nBCNctU8BevfV5A08x6RHd5jcwPTMDSZJOedIZ1cGQ704lxbAzqZOP05ZxaOghzSdvFBHYqomATARyAADK4elP8Ly3IrUZKfWh23Xy20uBUmLS4Pfagu9+oyVa2iPgqRP3F2CTUsvJ7+RYnN8fFZbU/HVvxvcFFDKkiTqV5UBZ3Gz54JAKByi9hkKMZJvuGgcSYXFmw08UyoQyVdfTD1/dMkCHXcTGAKeROgArsvmRrQTLUOXioOHGK2QkjHuoYFgXciZoTJd6Fs5q1QX1G+p/e26hYsEf7QZD1nnIyl/SFkNtYYmmBhpBrxl9WbY0YpHWRuw2Ll/tj9mD8P4snVzJl4F9J+1arVeTb9E5r2ILH04qStjxQNwn3m4YNqxmaNbLAqW2TN6LidwuJRqS+NXbtqxoeDXpxeGWmxzSkWxjkyCkX4NQRme6q5SAcC+M7+9ETfA/EwrzQajKakCwYyeunP6ZFlxU2oMEn1Pz31zeStW74G406ZJFCl1wAXIoUKkWotYEpOuXB1uVNxJ63dpJEqfxBeptwIHNrPz8BllZoIcBoXwgfJ+8VAUnVPvRvexnw0Ma/WiGYuJO5y8QTvEYBigFmhUxY5RqzE8OcywN/8m4UYrlaniJO75XQ6KSo9+tWHlu+hMi0UVdiKQp7NelnoZUzNaIyBPVeOwK6GNp+FfHuPOoyhaWuNvTYFkvxscMQWDh+zeFCFkgwbXftiV23ywJ4+uwRqmg9k3KzwIQpzppt8DBBOMbrqwQM5Gb05sEwdKzMiAqOloaA/lr0KA+1pr0/+HiWoiIjHA/wir2nIuS3PeU/ji3O6ZwoxcR1SZ9FhtLC5S0FIzFhbBWcGVP/KpxOPSiUoAdWUpqKH++6Scz507iCcxYI6rdMBICPJZea7OcmeFw5mObJSiqpjg2UoWNIs+cFhyDSt6geV5qgi3FunmwwDoGSMgerFOZGX1m0dMCYo5XOruxO063dwENK9DbnVM9wYFREzh4vyU1WYYJ/LRRp6oxgjqP/X5a8/4Af6p6NWkQferzBmXme0zY/4nwMJm/wd1tIqSwGz+E3xPEAOoZlJit3XddD7/BT1pllzOx+8bmQtANQ/S6fZexc6qi3W+Q2xcmXTUhuS5mpHQRvcxZUN0S5+PL9lXWUAaRZhEH8hTdAcuNMMCuVNKTEGtSUKNi3O6KhSaTzck8csZ2vWRZ+d7mW8c4IKwXIYd25S/zIftPkwPzufjEvOHWVD1m+FjpDVUTV0DGDuHj6QnaEwLu/dEgdLQOg9E1Sro9XHJ8ykLAwtPu+pxqKDuFexqON1sKQm7rwbE1E68UCfA/erovrTCG+DBSNg0l4goDQvZN6uNlbyLpcZAwj2UclycvLpIZMgv4yRlpb3YuMftozorbcGVHt/VeDV3+Fdf1TP0iuaCsPi2G4XeGhsyF1ubVDxkoJhmniQ0/jSg/eYML9KLfnCFgISWkp91eauR3IQvED0nAPXK+6hPCYs+n3+hCZbiskmVMG2da+0EsZPonUeIY8EbfusQXjsK/eFDaosbPjEfQS0RKG7yj5GG69M7MeO1HmiUYocgygJHL6M1qzUDDwUSmr99V7Sdr2F3JjQAJY+F0yH33Iv3+C9M38eML7gTgmNu/r2bUMiPvpYbZ6v1/IaESirBHNa7mPKn4dEmYg7v/+HQgPN1G79jBQ1+soydfDC2r+h2Bl/KIc5KjMK7OH6nb1jLsNf0EHVe2KBiE51ox636uyG6Lho0t3J34L5QY/ilE3mikaF4HKXG1mG1rCevT1Vv6GavltxoQe/bMrpZvRggnBxSEPEeEzkEdOxTnPXHVjUYdw8JYvjB/o7Eegc3Ma+NUxLLnsK0kJlinPmUHzHGtrk5+CAbVzFOBqpyy3QVUnzTDfC/0XD94/okH+OB+i7g9lolhWIjSnfIb+Eq43ZXOWmwvjyV/qqD+t0e+7mTEM74qP/Ozt8nmC7mRpyu63OB4KnUzFc074SqoyPUAgM+/TJGFo6T44EHnQU4X4z6qannVqgw/U7zCpwcmXV1AubIrvOmkKHazJAR55ePjp5tLBsN8vAqs3NAHdcEHOR2xQ0lsNAFzSUuxFQCFYvXLZJdOj9p4fNq6p0HBGUik2YzaI4xySy91KzhQ0+q1hjxvImRwPRf76tChlRkhRCi74NXZ9qUNeIwP+s5p+3m5nwPdNOHgSLD79n7O9m1n1uDHiMntq4nkYwV5OZ1ENbXxFd4PgrlvavZsyUO4MqYlqqn1O8W/I1dEZq5dXhrbETLaZIbC2Kj/Aa/QM+fqUOHdf0tXAQ1huZ3cmWECWSXy/43j35+Mvq9xws7JKseriZ1pEWKc8qlzNrGPUGcVgOa9cPJYIJsGnJTAUsEcDOEVULO5x0rXBijc1lgXEzQQKhROf8zIV82w8eswc78YX11KYLWQRcgHNJElBxfXr72lS2RBSl07qTKorO2uUDZr3sFhYsvnhLZn0A94KRzJ/7DEGIAhW5ZWFpL8gEwu1aLA9MuWZzNwl8Oze9Y+bX+v9gywRVnoB5I/8kXTXU3141yRLYrIOOz6SOnyHNy4SieqzkBXharjfjqq1q6tklaEbA8Qfm2DaIPs7OTq/nvJBjKfO2H9bH2cCMh1+5gspfycu8f/cuuRmtDjyqZ7uCIMyjdV3a+p3fqmXsRx4C8lujezIFHnQiVTXLXuI1XrwN3+siYYj2HHTvESUx8DlOTXpak9qFRK+L3mgJ1WsD7F4cu1aJoFoYQnu+wGDMOjJM3kiBQWHCcvhJ/HRdxodOQp45YZaOTA22Nb4XKCVxqkbwMYFhzYQYIAnCW8FW14uf98jhUG2zrKhQQ0q0CEq0t5nXyvUyvR8DvD69LU+g3i+HFWQMQ8PqZuHD+sNKAV0+M6EJC0szq7rEr7B5bQ8BcNHzvDMc9eqB5ZCQdTf80Obn4uzjwpYU7SISdtV0QGa9D3Wrh2BDQtpBKxaNFV+/Cy2P/Sv+8s7Ud0Fd74X4+o/TNztWgETUapy+majNQ68Lq3ee0ZO48VEbTZYiH1Co4OlfWef82RWeyUXo7woM03PyapGfikTnQinoNq5z5veLpeMV3HCAMTaZmA1oGLAn7XS3XYsz+XK7VMQsc4XKrmDXOLU/pSXVNUq8dIqTba///3x6LiLS6xs1xuCAYSfcQ3+rQgmu7uvf3THKt5Ooo97TqcbRqxx7EASizaQCBQllG/rYxVapMLgtLbZS64w1MDBMXX+PQpBKNwqUKOf2DDRDUXQf9EhOS0Qj4nTmlA8dzSLz/G1d+Ud8MTy/6ghhdiLpeerGY/UlDOfiuqFsMUU5/UYlP+BAmgRLuNpvrUaLlVkrqDievNVEAwF+4CoM1MZTmjxjJMsKJq+u8Zd7tNCUFy6LiyYXRJQ4VyvEQFFaCGKsxIwQkk7EzZ6LTJq2hUuPhvAW+gQnSG6J+MszC+7QCRHcnqDdyNRJ6T9xyS87A6MDutbzKGvGktpbXqtzWtXb9HsfK2cBMomjN9a4y+TaJLnXxAeX/HWzmf4cR4vALt/P4w4qgKY04ml4ZdLOinFYS6cup3G/1ie4+t1eOnpBNlqGqs75ilzkT4+DsZQxNvaSKJ//6zIbbk/M7LOhFmRc/1R+kBtz7JFGdZm/COotIdvQoXpTqP/1uqEUmCb/QWoGLMwO5ANcHzxdY48IGP5+J+zKOTBFZ4Pid+GTM+Wq12MV/H86xEJptBa6T+p3kgpwLedManBHC2GgNrFpoN2xnrMz9WFWX/8/ygSBkavq2Uv7FdCsLEYLu9LLIvAU0bNRDtzYl+/vXmjpIvuJFYjmI0im6QEYqnIeMsNjXG4vIutIGHijeAG/9EDBozKV5cldkHbLxHh25vT+ZEzbhXlqvpzKJwcEgfNwLAKFeo0/pvEE10XDB+EXRTXtSzJozQKFFAJhMxYkVaCW+E9AL7tMeU8acxidHqzb6lX4691UsDpy/LLRmT+epgW56+5Cw8tB4kMUv6s9lh3eRKbyGs+H/4mQMaYzPTf2OOdokEn+zzgvoD3FqNKk8QqGAXVsqcGdXrT62fSPkR2vROFi68A6se86UxRUk4cajfPyCC4G5wDhD+zNq4jodQ4u4n/m37Lr36n4LIAAsVr02dFi9AiwA81MYs2rm4eDlDNmdMRvEKRHfBwW5DdMNp0jPFZMeARqF/wL4XBfd+EMLBfMzpH5GH6NaW+1vrvMdg+VxDzatk3MXgO3ro3P/DpcC6+Mo4MySJhKJhSR01SGGGp5hPWmrrUgrv3lDnP+HhcI3nt3YqBoVAVTBAQT5iuhTg8nvPtd8ZeYj6w1x6RqGUBrSku7+N1+BaasZvjTk64RoIDlL8brpEcJx3OmY7jLoZsswdtmhfC/G21llXhITOwmvRDDeTTPbyASOa16cF5/A1fZAidJpqju3wYAy9avPR1ya6eNp9K8XYrrtuxlqi+bDKwlfrYdR0RRiKRVTLOH85+ZY7XSmzRpfZBJjaTa81VDcJHpZnZnSQLASGYW9l51ZV/h7eVzTi3Hv6hUsgc/51AqJRTkpbFVLXXszoBL8nBX0u/0jBLT8nH+fJePbrwURT58OY+UieRjd1vs04w0VG5VN2U6MoGZkQzKN/ptz0Q366dxoTGmj7i1NQGHi9GgnquXFYdrCfZBmeb7s0T6yrdlZH5cZuwHFyIJ/kAtGsTg0xH5taAAq44BAk1CPk9KVVbqQzrCUiFdF/6gtlPQ8bHHc1G1W92MXGZ5HEHftyLYs8mbD/9xYRUWkHmlM0zC2ilJlnNgV4bfALpQghxOUoZL7VTqtCHIaQSXm+YUMnpkXybnV+A6xlm2CVy8fn0Xlm2XRa0+zzOa21JWWmixfiPMSCZ7qA4rS93VN3pkpF1s5TonQjisHf7iU9ZGvUPOAKZcR1pbeVf/Ul7OhepGCaId9wOtqo7pJ7yLcBZ0pFkOF28y4zEI/kcUNmutBHaQpBdNM8vjCS6HZRokkeo88TBAjGyG7SR+6vUgTcyK9Imalj0kuxz0wmK+byQU11AiJFk/ya5dNduRClcnU64yGu/ieWSeOos1t3ep+RPIWQ2pyTYVbZltTbsb7NiwSi3AV+8KLWk7LxCnfZUetEM8ThnsSoGH38/nyAwFguJp8FjvlHtcWZuU4hPva0rHfr0UhOOJ/F6vS62FW7KzkmRll2HEc7oUq4fyi5T70Vl7YVIfsPHUCdHesf9Lk7WNVWO75JDkYbMI8TOW8JKVtLY9d6UJRITO8oKo0xS+o99Yy04iniGHAaGj88kEWgwv0OrHdY/nr76DOGNS59hXCGXzTKUvDl9iKpLSWYN1lxIeyywdNpTkhay74w2jFT6NS8qkjo5CxA1yfSYwp6AJIZNKIeEK5PJAW7ORgWgwp0VgzYpqovMrWxbu+DGZ6Lhie1RAqpzm8VUzKJOH3mCzWuTOLsN3VT/dv2eeYe9UjbR8YTBsLz7q60VN1sU51k+um1f8JxD5pPhbhSC8rRaB454tmh6YUWrJI3+GWY0qeWioj/tbkYITOkJaeuGt4JrJvHA+l0Gu7kY7XOaa05alMnRWVCXqFgLIwSY4uF59Ue5SU4QKuc/HamDxbr0x6csCetXGoP7Qn1Bk/J9DsynO/UD6iZ1Hyrz+jit0hDCwi/E9OjgKTbB3ZQKQ/0ZOvevfNHG0NK4Aj3Cp7NpRk07RT1i/S0EL93Ag8GRgKI9CfpajKyK6+Jj/PI1KO5/85VAwz2AwzP8FTBb075IxCXv6T9RVvWT2tUaqxDS92zrGUbWzUYk9mSs82pECH+fkqsDt93VW++4YsR/dHCYcQSYTO/KaBMDj9LSD/J/+z20Kq8XvZUAIHtm9hRPP3ItbuAu2Hm5lkPs92pd7kCxgRs0xOVBnZ13ccdA0aunrwv9SdqElJRC3g+oCu+nXyCgmXUs9yMjTMAIHfxZV+aPKcZeUBWt057Xo85Ks1Ir5gzEHCWqZEhrLZMuF11ziGtFQUds/EESajhagzcKsxamcSZxGth4UII+adPhQkUnx2WyN+4YWR+r3f8MnkyGFuR4zjzxJS8WsQYR5PTyRaD9ixa6Mh741nBHbzfjXHskGDq179xaRNrCIB1z1xRfWfjqw2pHc1zk9xlPpL8sQWAIuETZZhbnmL54rceXVNRvUiKrrqIkeogsl0XXb17ylNb0f4GA9Wd44vffEG8FSZGHEL2fbaTGRcSiCeA8PmA/f6Hz8HCS76fXUHwgwkzSwlI71ekZ7Fapmlk/KC+Hs8hUcw3N2LN5LhkVYyizYFl/uPeVP5lsoJHhhfWvvSWruCUW1ZcJOeuTbrDgywJ/qG07gZJplnTvLcYdNaH0KMYOYMGX+rB4NGPFmQsNaIwlWrfCezxre8zXBrsMT+edVLbLqN1BqB76JH4BvZTqUIMfGwPGEn+EnmTV86fPBaYbFL3DFEhjB45CewkXEAtJxk4/Ms2pPXnaRqdky0HOYdcUcE2zcXq4vaIvW2/v0nHFJH2XXe22ueDmq/18XGtELSq85j9X8q0tcNSSKJIX8FTuJF/Pf8j5PhqG2u+osvsLxYrvvfeVJL+4tkcXcr9JV7v0ERmj/X6fM3NC4j6dS1+9Umr2oPavqiAydTZPLMNRGY23LO9zAVDly7jD+70G5TPPLdhRIl4WxcYjLnM+SNcJ26FOrkrISUtPObIz5Zb3AG612krnpy15RMW+1cQjlnWFI6538qky9axd2oJmHIHP08KyP0ubGO+TQNOYuv2uh17yCIvR8VcStw7o1g0NM60sk+8Tq7YfIBJrtp53GkvzXH7OA0p8/n/u1satf/VJhtR1l8Wa6Gmaug7haSpaCaYQax6ta0mkutlb+eAOSG1aobM81D9A4iS1RRlzBBoVX6tU1S6WE2N9ORY6DfeLRC4l9Rvr5h95XDWB2mR1d4WFudpsgVYwiTwT31ljskD8ZyDOlm5DkGh9N/UB/0AI5Xvb8ZBmai2hQ4BWMqFwYnzxwB26YHSOv9WgY3JXnvoN+2R4rqGVh/LLDMtpFP+SpMGJNWvbIl5SOodbCczW2RKleksPoUeGEzrjtKHVdtZA+kfqO+rVx/iclCqwoopepvJpSTDjT+b9GWylGRF8EDbGlw6eUzmJM95Ovoz+kwLX3c2fTjFeYEsE7vUZm3mqdGJuKh2w9/QGSaqRHs99aScGOdDqkFcACoqdbBoQqqjamhH6Q9ng39JCg3lrGJwd50Qk9ovnqBTr8MME7Ps2wiVfygUmPoUBJJfJWX5Nda0nuncbFkA=="))}let eG=eK(),eY=new Set(ej(eG)),eJ=new Set(ej(eG)),eX=eU(eG),eQ=eZ(eG),e0=45,e6=95;function e4(eb){return(0,eC.XL)(eb)}function e3(eb){return eb.filter(eb=>65039!=eb)}function e5(eb){for(let em of eb.split(".")){let eb=e4(em);try{for(let em=eb.lastIndexOf(e6)-1;em>=0;em--)if(eb[em]!==e6)throw Error("underscore only allowed at start");if(eb.length>=4&&eb.every(eb=>eb<128)&&eb[2]===e0&&eb[3]===e0)throw Error("invalid label extension")}catch(eb){throw Error(`Invalid label "${em}": ${eb.message}`)}}return eb}function e8(eb){return e5(e9(eb,e3))}function e9(eb,em){let ew=e4(eb).reverse(),eM=[];for(;ew.length;){let eb=tw(ew);if(eb){eM.push(...em(eb));continue}let eC=ew.pop();if(eY.has(eC)){eM.push(eC);continue}if(eJ.has(eC))continue;let eT=eX[eC];if(eT){eM.push(...eT);continue}throw Error(`Disallowed codepoint: 0x${eC.toString(16).toUpperCase()}`)}return e5(e7(String.fromCodePoint(...eM)))}function e7(eb){return eb.normalize("NFC")}function tw(eb,em){var ew;let eM,eC;let eT=eQ,e_=[],eE=eb.length;for(em&&(em.length=0);eE;){let eS=eb[--eE];if(!(eT=null===(ew=eT.branches.find(eb=>eb.set.has(eS)))||void 0===ew?void 0:ew.node))break;if(eT.save)eC=eS;else if(eT.check&&eS===eC)break;e_.push(eS),eT.fe0f&&(e_.push(65039),eE>0&&65039==eb[eE-1]&&eE--),eT.valid&&(eM=e_.slice(),2==eT.valid&&eM.splice(1,1),em&&em.push(...eb.slice(eE).reverse()),eb.length=eE)}return eM}let tC=new e_.Yd(eE.i),tT=new Uint8Array(32);function t_(eb){if(0===eb.length)throw Error("invalid ENS name; empty component");return eb}function tE(eb){let em=(0,eC.Y0)(e8(eb)),ew=[];if(0===eb.length)return ew;let eM=0;for(let eb=0;eb=em.length)throw Error("invalid ENS name; empty component");return ew.push(t_(em.slice(eM))),ew}function tS(eb){try{return 0!==tE(eb).length}catch(eb){}return!1}function tA(eb){"string"!=typeof eb&&tC.throwArgumentError("invalid ENS name; not a string","name",eb);let em=tT,ew=tE(eb);for(;ew.length;)em=(0,eT.w)((0,eM.zo)([em,(0,eT.w)(ew.pop())]));return(0,eM.Dv)(em)}function tN(eb){return(0,eM.Dv)((0,eM.zo)(tE(eb).map(eb=>{if(eb.length>63)throw Error("invalid DNS encoded entry; length exceeds 63 bytes");let em=new Uint8Array(eb.length+1);return em.set(eb,1),em[0]=em.length-1,em})))+"00"}tT.fill(0)},67827:function(eb,em,ew){"use strict";ew.d(em,{E:function(){return eY}});var eM=ew(19485),eC=ew(2593),eT=ew(16441),e_=ew(38197),eE=ew(6881),eS=ew(1581),eA=ew(35644),eN=ew(32046),eI=function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};let eD=new eS.Yd(eA.i),eO=new Uint8Array(32);eO.fill(0);let eP=eC.O$.from(-1),eR=eC.O$.from(0),eB=eC.O$.from(1),eF=eC.O$.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function ej(eb){let em=(0,eT.lE)(eb),ew=em.length%32;return ew?(0,eT.xs)([em,eO.slice(ew)]):(0,eT.Dv)(em)}let eU=(0,eT.$m)(eB.toHexString(),32),eV=(0,eT.$m)(eR.toHexString(),32),eH={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},e$=["name","version","chainId","verifyingContract","salt"];function eW(eb){return function(em){return"string"!=typeof em&&eD.throwArgumentError(`invalid domain value for ${JSON.stringify(eb)}`,`domain.${eb}`,em),em}}let eZ={name:eW("name"),version:eW("version"),chainId:function(eb){try{return eC.O$.from(eb).toString()}catch(eb){}return eD.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",eb)},verifyingContract:function(eb){try{return(0,eM.Kn)(eb).toLowerCase()}catch(eb){}return eD.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",eb)},salt:function(eb){try{let em=(0,eT.lE)(eb);if(32!==em.length)throw Error("bad length");return(0,eT.Dv)(em)}catch(eb){}return eD.throwArgumentError('invalid domain value "salt"',"domain.salt",eb)}};function eK(eb){{let em=eb.match(/^(u?)int(\d*)$/);if(em){let ew=""===em[1],eM=parseInt(em[2]||"256");(eM%8!=0||eM>256||em[2]&&em[2]!==String(eM))&&eD.throwArgumentError("invalid numeric width","type",eb);let e_=eF.mask(ew?eM-1:eM),eE=ew?e_.add(eB).mul(eP):eR;return function(em){let ew=eC.O$.from(em);return(ew.lt(eE)||ew.gt(e_))&&eD.throwArgumentError(`value out-of-bounds for ${eb}`,"value",em),(0,eT.$m)(ew.toTwos(256).toHexString(),32)}}}{let em=eb.match(/^bytes(\d+)$/);if(em){let ew=parseInt(em[1]);return(0===ew||ew>32||em[1]!==String(ew))&&eD.throwArgumentError("invalid bytes width","type",eb),function(em){let eM=(0,eT.lE)(em);return eM.length!==ew&&eD.throwArgumentError(`invalid length for ${eb}`,"value",em),ej(em)}}}switch(eb){case"address":return function(eb){return(0,eT.$m)((0,eM.Kn)(eb),32)};case"bool":return function(eb){return eb?eU:eV};case"bytes":return function(eb){return(0,e_.w)(eb)};case"string":return function(eb){return(0,eN.id)(eb)}}return null}function eG(eb,em){return`${eb}(${em.map(({name:eb,type:em})=>em+" "+eb).join(",")})`}class eY{constructor(eb){(0,eE.zG)(this,"types",Object.freeze((0,eE.p$)(eb))),(0,eE.zG)(this,"_encoderCache",{}),(0,eE.zG)(this,"_types",{});let em={},ew={},eM={};for(let eC in Object.keys(eb).forEach(eb=>{em[eb]={},ew[eb]=[],eM[eb]={}}),eb){let eM={};eb[eC].forEach(eT=>{eM[eT.name]&&eD.throwArgumentError(`duplicate variable name ${JSON.stringify(eT.name)} in ${JSON.stringify(eC)}`,"types",eb),eM[eT.name]=!0;let e_=eT.type.match(/^([^\x5b]*)(\x5b|$)/)[1];e_===eC&&eD.throwArgumentError(`circular type reference to ${JSON.stringify(e_)}`,"types",eb);let eE=eK(e_);eE||(ew[e_]||eD.throwArgumentError(`unknown type ${JSON.stringify(e_)}`,"types",eb),ew[e_].push(eC),em[eC][e_]=!0)})}let eC=Object.keys(ew).filter(eb=>0===ew[eb].length);function eT(eC,e_){e_[eC]&&eD.throwArgumentError(`circular type reference to ${JSON.stringify(eC)}`,"types",eb),e_[eC]=!0,Object.keys(em[eC]).forEach(eb=>{ew[eb]&&(eT(eb,e_),Object.keys(e_).forEach(em=>{eM[em][eb]=!0}))}),delete e_[eC]}for(let em in 0===eC.length?eD.throwArgumentError("missing primary type","types",eb):eC.length>1&&eD.throwArgumentError(`ambiguous primary types or unused types: ${eC.map(eb=>JSON.stringify(eb)).join(", ")}`,"types",eb),(0,eE.zG)(this,"primaryType",eC[0]),eT(this.primaryType,{}),eM){let ew=Object.keys(eM[em]);ew.sort(),this._types[em]=eG(em,eb[em])+ew.map(em=>eG(em,eb[em])).join("")}}getEncoder(eb){let em=this._encoderCache[eb];return em||(em=this._encoderCache[eb]=this._getEncoder(eb)),em}_getEncoder(eb){{let em=eK(eb);if(em)return em}let em=eb.match(/^(.*)(\x5b(\d*)\x5d)$/);if(em){let eb=em[1],ew=this.getEncoder(eb),eM=parseInt(em[3]);return em=>{eM>=0&&em.length!==eM&&eD.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",em);let eC=em.map(ew);return this._types[eb]&&(eC=eC.map(e_.w)),(0,e_.w)((0,eT.xs)(eC))}}let ew=this.types[eb];if(ew){let em=(0,eN.id)(this._types[eb]);return eb=>{let eM=ew.map(({name:em,type:ew})=>{let eM=this.getEncoder(ew)(eb[em]);return this._types[ew]?(0,e_.w)(eM):eM});return eM.unshift(em),(0,eT.xs)(eM)}}return eD.throwArgumentError(`unknown type: ${eb}`,"type",eb)}encodeType(eb){let em=this._types[eb];return em||eD.throwArgumentError(`unknown type: ${JSON.stringify(eb)}`,"name",eb),em}encodeData(eb,em){return this.getEncoder(eb)(em)}hashStruct(eb,em){return(0,e_.w)(this.encodeData(eb,em))}encode(eb){return this.encodeData(this.primaryType,eb)}hash(eb){return this.hashStruct(this.primaryType,eb)}_visit(eb,em,ew){{let eM=eK(eb);if(eM)return ew(eb,em)}let eM=eb.match(/^(.*)(\x5b(\d*)\x5d)$/);if(eM){let eb=eM[1],eC=parseInt(eM[3]);return eC>=0&&em.length!==eC&&eD.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",em),em.map(em=>this._visit(eb,em,ew))}let eC=this.types[eb];return eC?eC.reduce((eb,{name:eM,type:eC})=>(eb[eM]=this._visit(eC,em[eM],ew),eb),{}):eD.throwArgumentError(`unknown type: ${eb}`,"type",eb)}visit(eb,em){return this._visit(this.primaryType,eb,em)}static from(eb){return new eY(eb)}static getPrimaryType(eb){return eY.from(eb).primaryType}static hashStruct(eb,em,ew){return eY.from(em).hashStruct(eb,ew)}static hashDomain(eb){let em=[];for(let ew in eb){let eM=eH[ew];eM||eD.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(ew)}`,"domain",eb),em.push({name:ew,type:eM})}return em.sort((eb,em)=>e$.indexOf(eb.name)-e$.indexOf(em.name)),eY.hashStruct("EIP712Domain",{EIP712Domain:em},eb)}static encode(eb,em,ew){return(0,eT.xs)(["0x1901",eY.hashDomain(eb),eY.from(em).hash(ew)])}static hash(eb,em,ew){return(0,e_.w)(eY.encode(eb,em,ew))}static resolveNames(eb,em,ew,eM){return eI(this,void 0,void 0,function*(){eb=(0,eE.DC)(eb);let eC={};eb.verifyingContract&&!(0,eT.A7)(eb.verifyingContract,20)&&(eC[eb.verifyingContract]="0x");let e_=eY.from(em);for(let eb in e_.visit(ew,(eb,em)=>("address"!==eb||(0,eT.A7)(em,20)||(eC[em]="0x"),em)),eC)eC[eb]=yield eM(eb);return eb.verifyingContract&&eC[eb.verifyingContract]&&(eb.verifyingContract=eC[eb.verifyingContract]),{domain:eb,value:ew=e_.visit(ew,(eb,em)=>"address"===eb&&eC[em]?eC[em]:em)}})}static getPayload(eb,em,ew){eY.hashDomain(eb);let eM={},e_=[];e$.forEach(em=>{let ew=eb[em];null!=ew&&(eM[em]=eZ[em](ew),e_.push({name:em,type:eH[em]}))});let eS=eY.from(em),eA=(0,eE.DC)(em);return eA.EIP712Domain?eD.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",em):eA.EIP712Domain=e_,eS.encode(ew),{types:eA,domain:eM,primaryType:eS.primaryType,message:eS.visit(ew,(eb,em)=>{if(eb.match(/^bytes(\d*)/))return(0,eT.Dv)((0,eT.lE)(em));if(eb.match(/^u?int/))return eC.O$.from(em).toString();switch(eb){case"address":return em.toLowerCase();case"bool":return!!em;case"string":return"string"!=typeof em&&eD.throwArgumentError("invalid string","value",em),em}return eD.throwArgumentError("unsupported type","type",eb)})}}}},84178:function(eb,em,ew){"use strict";ew.d(em,{m$:function(){return eY},cD:function(){return eG},JJ:function(){return eQ},ny:function(){return e6},xh:function(){return e0},oy:function(){return eX},OI:function(){return eJ}});var eM=ew(57727),eC=ew(16441),eT=ew(2593),e_=ew(29251),eE=ew(85306),eS=ew(6881),eA=ew(67669),eN=ew(2006),eI=ew(21261),eD=ew(83875),eO=ew(10234),eP=ew(1581);let eR="hdnode/5.7.0",eB=new eP.Yd(eR),eF=eT.O$.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),ej=(0,e_.Y0)("Bitcoin seed"),eU=2147483648;function eV(eb){return(1<=256)throw Error("Depth too large!");return eW((0,eC.zo)([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",(0,eC.Dv)(this.depth),this.parentFingerprint,(0,eC.$m)((0,eC.Dv)(this.index),4),this.chainCode,null!=this.privateKey?(0,eC.zo)(["0x00",this.privateKey]):this.publicKey]))}neuter(){return new eY(eK,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)}_derive(eb){if(eb>4294967295)throw Error("invalid index - "+String(eb));let em=this.path;em&&(em+="/"+(eb&~eU));let ew=new Uint8Array(37);if(eb&eU){if(!this.privateKey)throw Error("cannot derive child of neutered node");ew.set((0,eC.lE)(this.privateKey),1),em&&(em+="'")}else ew.set((0,eC.lE)(this.publicKey));for(let em=24;em>=0;em-=8)ew[33+(em>>3)]=eb>>24-em&255;let eM=(0,eC.lE)((0,eN.Gy)(eI.p.sha512,this.chainCode,ew)),e_=eM.slice(0,32),eE=eM.slice(32),eS=null,eD=null;if(this.privateKey)eS=e$(eT.O$.from(e_).add(this.privateKey).mod(eF));else{let eb=new eA.Et((0,eC.Dv)(e_));eD=eb._addPoint(this.publicKey)}let eO=em,eP=this.mnemonic;return eP&&(eO=Object.freeze({phrase:eP.phrase,path:em,locale:eP.locale||"en"})),new eY(eK,eS,eD,this.fingerprint,e$(eE),eb,this.depth+1,eO)}derivePath(eb){let em=eb.split("/");if(0===em.length||"m"===em[0]&&0!==this.depth)throw Error("invalid path - "+eb);"m"===em[0]&&em.shift();let ew=this;for(let eb=0;eb=eU)throw Error("invalid path index - "+eM);ew=ew._derive(eU+eb)}else if(eM.match(/^[0-9]+$/)){let eb=parseInt(eM);if(eb>=eU)throw Error("invalid path index - "+eM);ew=ew._derive(eb)}else throw Error("invalid path component - "+eM)}return ew}static _fromSeed(eb,em){let ew=(0,eC.lE)(eb);if(ew.length<16||ew.length>64)throw Error("invalid seed");let eM=(0,eC.lE)((0,eN.Gy)(eI.p.sha512,ej,ew));return new eY(eK,e$(eM.slice(0,32)),null,"0x00000000",e$(eM.slice(32)),0,0,em)}static fromMnemonic(eb,em,ew){return eb=eQ(eX(eb,ew=eZ(ew)),ew),eY._fromSeed(eJ(eb,em),{phrase:eb,path:"m",locale:ew.locale})}static fromSeed(eb){return eY._fromSeed(eb,null)}static fromExtendedKey(eb){let em=eM.eU.decode(eb);(82!==em.length||eW(em.slice(0,78))!==eb)&&eB.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");let ew=em[4],eT=(0,eC.Dv)(em.slice(5,9)),e_=parseInt((0,eC.Dv)(em.slice(9,13)).substring(2),16),eE=(0,eC.Dv)(em.slice(13,45)),eS=em.slice(45,78);switch((0,eC.Dv)(em.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new eY(eK,null,(0,eC.Dv)(eS),eT,eE,e_,ew,null);case"0x0488ade4":case"0x04358394 ":if(0!==eS[0])break;return new eY(eK,(0,eC.Dv)(eS.slice(1)),null,eT,eE,e_,ew,null)}return eB.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")}}function eJ(eb,em){em||(em="");let ew=(0,e_.Y0)("mnemonic"+em,e_.Uj.NFKD);return(0,eE.n)((0,e_.Y0)(eb,e_.Uj.NFKD),ew,2048,64,"sha512")}function eX(eb,em){em=eZ(em),eB.checkNormalize();let ew=em.split(eb);if(ew.length%3!=0)throw Error("invalid mnemonic");let eM=(0,eC.lE)(new Uint8Array(Math.ceil(11*ew.length/8))),eT=0;for(let eb=0;eb>3]|=1<<7-eT%8),eT++}let e_=32*ew.length/3,eE=ew.length/3,eS=eV(eE),eA=(0,eC.lE)((0,eN.JQ)(eM.slice(0,e_/8)))[0]&eS;if(eA!==(eM[eM.length-1]&eS))throw Error("invalid checksum");return(0,eC.Dv)(eM.slice(0,e_/8))}function eQ(eb,em){if(em=eZ(em),(eb=(0,eC.lE)(eb)).length%4!=0||eb.length<16||eb.length>32)throw Error("invalid entropy");let ew=[0],eM=11;for(let em=0;em8?(ew[ew.length-1]<<=8,ew[ew.length-1]|=eb[em],eM-=8):(ew[ew.length-1]<<=eM,ew[ew.length-1]|=eb[em]>>8-eM,ew.push(eb[em]&eH(8-eM)),eM+=3);let eT=eb.length/4,e_=(0,eC.lE)((0,eN.JQ)(eb))[0]&eV(eT);return ew[ew.length-1]<<=eT,ew[ew.length-1]|=e_>>8-eT,em.join(ew.map(eb=>em.getWord(eb)))}function e0(eb,em){try{return eX(eb,em),!0}catch(eb){}return!1}function e6(eb){return("number"!=typeof eb||eb<0||eb>=eU||eb%1)&&eB.throwArgumentError("invalid account index","index",eb),`m/44'/60'/${eb}'/0/0`}},67949:function(eb,em,ew){"use strict";ew.d(em,{LW:function(){return eC},Rb:function(){return e_},aO:function(){return eT}});var eM=ew(19485);function eC(eb){let em=null;try{em=JSON.parse(eb)}catch(eb){return!1}return em.encseed&&em.ethaddr}function eT(eb){let em=null;try{em=JSON.parse(eb)}catch(eb){return!1}return!!em.version&&parseInt(em.version)===em.version&&3===parseInt(em.version)}function e_(eb){if(eC(eb))try{return(0,eM.Kn)(JSON.parse(eb).ethaddr)}catch(eb){return null}if(eT(eb))try{return(0,eM.Kn)(JSON.parse(eb).address)}catch(eb){}return null}},38197:function(eb,em,ew){"use strict";ew.d(em,{w:function(){return e_}});var eM=ew(91094),eC=ew.n(eM),eT=ew(16441);function e_(eb){return"0x"+eC().keccak_256((0,eT.lE)(eb))}},1581:function(eb,em,ew){"use strict";var eM,eC;ew.d(em,{jK:function(){return eC},Yd:function(){return eP}});let eT="logger/5.7.0",e_=!1,eE=!1,eS={debug:1,default:2,info:2,warning:3,error:4,off:5},eA=eS.default,eN=null;function eI(){try{let eb=[];if(["NFD","NFC","NFKD","NFKC"].forEach(em=>{try{if("test"!=="test".normalize(em))throw Error("bad normalize")}catch(ew){eb.push(em)}}),eb.length)throw Error("missing "+eb.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw Error("broken implementation")}catch(eb){return eb.message}return null}let eD=eI();!function(eb){eb.DEBUG="DEBUG",eb.INFO="INFO",eb.WARNING="WARNING",eb.ERROR="ERROR",eb.OFF="OFF"}(eM||(eM={})),function(eb){eb.UNKNOWN_ERROR="UNKNOWN_ERROR",eb.NOT_IMPLEMENTED="NOT_IMPLEMENTED",eb.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",eb.NETWORK_ERROR="NETWORK_ERROR",eb.SERVER_ERROR="SERVER_ERROR",eb.TIMEOUT="TIMEOUT",eb.BUFFER_OVERRUN="BUFFER_OVERRUN",eb.NUMERIC_FAULT="NUMERIC_FAULT",eb.MISSING_NEW="MISSING_NEW",eb.INVALID_ARGUMENT="INVALID_ARGUMENT",eb.MISSING_ARGUMENT="MISSING_ARGUMENT",eb.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",eb.CALL_EXCEPTION="CALL_EXCEPTION",eb.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",eb.NONCE_EXPIRED="NONCE_EXPIRED",eb.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",eb.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",eb.TRANSACTION_REPLACED="TRANSACTION_REPLACED",eb.ACTION_REJECTED="ACTION_REJECTED"}(eC||(eC={}));let eO="0123456789abcdef";class eP{constructor(eb){Object.defineProperty(this,"version",{enumerable:!0,value:eb,writable:!1})}_log(eb,em){let ew=eb.toLowerCase();null==eS[ew]&&this.throwArgumentError("invalid log level name","logLevel",eb),eA>eS[ew]||console.log.apply(console,em)}debug(...eb){this._log(eP.levels.DEBUG,eb)}info(...eb){this._log(eP.levels.INFO,eb)}warn(...eb){this._log(eP.levels.WARNING,eb)}makeError(eb,em,ew){if(eE)return this.makeError("censored error",em,{});em||(em=eP.errors.UNKNOWN_ERROR),ew||(ew={});let eM=[];Object.keys(ew).forEach(eb=>{let em=ew[eb];try{if(em instanceof Uint8Array){let ew="";for(let eb=0;eb>4]+eO[15&em[eb]];eM.push(eb+"=Uint8Array(0x"+ew+")")}else eM.push(eb+"="+JSON.stringify(em))}catch(em){eM.push(eb+"="+JSON.stringify(ew[eb].toString()))}}),eM.push(`code=${em}`),eM.push(`version=${this.version}`);let eT=eb,e_="";switch(em){case eC.NUMERIC_FAULT:{e_="NUMERIC_FAULT";let em=eb;switch(em){case"overflow":case"underflow":case"division-by-zero":e_+="-"+em;break;case"negative-power":case"negative-width":e_+="-unsupported";break;case"unbound-bitwise-result":e_+="-unbound-result"}break}case eC.CALL_EXCEPTION:case eC.INSUFFICIENT_FUNDS:case eC.MISSING_NEW:case eC.NONCE_EXPIRED:case eC.REPLACEMENT_UNDERPRICED:case eC.TRANSACTION_REPLACED:case eC.UNPREDICTABLE_GAS_LIMIT:e_=em}e_&&(eb+=" [ See: https://links.ethers.org/v5-errors-"+e_+" ]"),eM.length&&(eb+=" ("+eM.join(", ")+")");let eS=Error(eb);return eS.reason=eT,eS.code=em,Object.keys(ew).forEach(function(eb){eS[eb]=ew[eb]}),eS}throwError(eb,em,ew){throw this.makeError(eb,em,ew)}throwArgumentError(eb,em,ew){return this.throwError(eb,eP.errors.INVALID_ARGUMENT,{argument:em,value:ew})}assert(eb,em,ew,eM){eb||this.throwError(em,ew,eM)}assertArgument(eb,em,ew,eM){eb||this.throwArgumentError(em,ew,eM)}checkNormalize(eb){null==eb&&(eb="platform missing String.prototype.normalize"),eD&&this.throwError("platform missing String.prototype.normalize",eP.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:eD})}checkSafeUint53(eb,em){"number"==typeof eb&&(null==em&&(em="value not safe"),(eb<0||eb>=9007199254740991)&&this.throwError(em,eP.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:eb}),eb%1&&this.throwError(em,eP.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:eb}))}checkArgumentCount(eb,em,ew){ew=ew?": "+ew:"",ebem&&this.throwError("too many arguments"+ew,eP.errors.UNEXPECTED_ARGUMENT,{count:eb,expectedCount:em})}checkNew(eb,em){(eb===Object||null==eb)&&this.throwError("missing new",eP.errors.MISSING_NEW,{name:em.name})}checkAbstract(eb,em){eb===em?this.throwError("cannot instantiate abstract class "+JSON.stringify(em.name)+" directly; use a sub-class",eP.errors.UNSUPPORTED_OPERATION,{name:eb.name,operation:"new"}):(eb===Object||null==eb)&&this.throwError("missing new",eP.errors.MISSING_NEW,{name:em.name})}static globalLogger(){return eN||(eN=new eP(eT)),eN}static setCensorship(eb,em){if(!eb&&em&&this.globalLogger().throwError("cannot permanently disable censorship",eP.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),e_){if(!eb)return;this.globalLogger().throwError("error censorship permanent",eP.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}eE=!!eb,e_=!!em}static setLogLevel(eb){let em=eS[eb.toLowerCase()];if(null==em){eP.globalLogger().warn("invalid log level - "+eb);return}eA=em}static from(eb){return new eP(eb)}}eP.errors=eC,eP.levels=eM},45710:function(eb,em,ew){"use strict";ew.d(em,{H:function(){return eO}});var eM=ew(1581);let eC="networks/5.7.1",eT=new eM.Yd(eC);function e_(eb){return eb&&"function"==typeof eb.renetwork}function eE(eb){let em=function(em,ew){null==ew&&(ew={});let eM=[];if(em.InfuraProvider&&"-"!==ew.infura)try{eM.push(new em.InfuraProvider(eb,ew.infura))}catch(eb){}if(em.EtherscanProvider&&"-"!==ew.etherscan)try{eM.push(new em.EtherscanProvider(eb,ew.etherscan))}catch(eb){}if(em.AlchemyProvider&&"-"!==ew.alchemy)try{eM.push(new em.AlchemyProvider(eb,ew.alchemy))}catch(eb){}if(em.PocketProvider&&"-"!==ew.pocket){let eC=["goerli","ropsten","rinkeby","sepolia"];try{let eT=new em.PocketProvider(eb,ew.pocket);eT.network&&-1===eC.indexOf(eT.network.name)&&eM.push(eT)}catch(eb){}}if(em.CloudflareProvider&&"-"!==ew.cloudflare)try{eM.push(new em.CloudflareProvider(eb))}catch(eb){}if(em.AnkrProvider&&"-"!==ew.ankr)try{let eC=["ropsten"],eT=new em.AnkrProvider(eb,ew.ankr);eT.network&&-1===eC.indexOf(eT.network.name)&&eM.push(eT)}catch(eb){}if(0===eM.length)return null;if(em.FallbackProvider){let eC=1;return null!=ew.quorum?eC=ew.quorum:"homestead"===eb&&(eC=2),new em.FallbackProvider(eM,eC)}return eM[0]};return em.renetwork=function(eb){return eE(eb)},em}function eS(eb,em){let ew=function(ew,eM){return ew.JsonRpcProvider?new ew.JsonRpcProvider(eb,em):null};return ew.renetwork=function(em){return eS(eb,em)},ew}let eA={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:eE("homestead")},eN={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:eE("ropsten")},eI={chainId:63,name:"classicMordor",_defaultProvider:eS("https://www.ethercluster.com/mordor","classicMordor")},eD={unspecified:{chainId:0,name:"unspecified"},homestead:eA,mainnet:eA,morden:{chainId:2,name:"morden"},ropsten:eN,testnet:eN,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:eE("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:eE("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:eE("goerli")},kintsugi:{chainId:1337702,name:"kintsugi"},sepolia:{chainId:11155111,name:"sepolia",_defaultProvider:eE("sepolia")},classic:{chainId:61,name:"classic",_defaultProvider:eS("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor:eI,classicTestnet:eI,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:eS("https://www.ethercluster.com/kotti","classicKotti")},xdai:{chainId:100,name:"xdai"},matic:{chainId:137,name:"matic",_defaultProvider:eE("matic")},maticmum:{chainId:80001,name:"maticmum"},optimism:{chainId:10,name:"optimism",_defaultProvider:eE("optimism")},"optimism-kovan":{chainId:69,name:"optimism-kovan"},"optimism-goerli":{chainId:420,name:"optimism-goerli"},arbitrum:{chainId:42161,name:"arbitrum"},"arbitrum-rinkeby":{chainId:421611,name:"arbitrum-rinkeby"},"arbitrum-goerli":{chainId:421613,name:"arbitrum-goerli"},bnb:{chainId:56,name:"bnb"},bnbt:{chainId:97,name:"bnbt"}};function eO(eb){if(null==eb)return null;if("number"==typeof eb){for(let em in eD){let ew=eD[em];if(ew.chainId===eb)return{name:ew.name,chainId:ew.chainId,ensAddress:ew.ensAddress||null,_defaultProvider:ew._defaultProvider||null}}return{chainId:eb,name:"unknown"}}if("string"==typeof eb){let em=eD[eb];return null==em?null:{name:em.name,chainId:em.chainId,ensAddress:em.ensAddress,_defaultProvider:em._defaultProvider||null}}let em=eD[eb.name];if(!em)return"number"!=typeof eb.chainId&&eT.throwArgumentError("invalid network chainId","network",eb),eb;0!==eb.chainId&&eb.chainId!==em.chainId&&eT.throwArgumentError("network chainId mismatch","network",eb);let ew=eb._defaultProvider||null;return null==ew&&em._defaultProvider&&(ew=e_(em._defaultProvider)?em._defaultProvider.renetwork(eb):em._defaultProvider),{name:eb.name,chainId:em.chainId,ensAddress:eb.ensAddress||em.ensAddress||null,_defaultProvider:ew}}},85306:function(eb,em,ew){"use strict";ew.d(em,{n:function(){return eT}});var eM=ew(16441),eC=ew(2006);function eT(eb,em,ew,eT,e_){let eE,eS,eA;eb=(0,eM.lE)(eb),em=(0,eM.lE)(em);let eN=1,eI=new Uint8Array(eT),eD=new Uint8Array(em.length+4);eD.set(em);for(let eO=1;eO<=eN;eO++){eD[em.length]=eO>>24&255,eD[em.length+1]=eO>>16&255,eD[em.length+2]=eO>>8&255,eD[em.length+3]=255&eO;let eP=(0,eM.lE)((0,eC.Gy)(e_,eb,eD));eE||(eE=eP.length,eA=new Uint8Array(eE),eN=Math.ceil(eT/eE),eS=eT-(eN-1)*eE),eA.set(eP);for(let em=1;em{let ew=eb[em];return Promise.resolve(ew).then(eb=>({key:em,value:eb}))}),ew=yield Promise.all(em);return ew.reduce((eb,em)=>(eb[em.key]=em.value,eb),{})})}function eN(eb,em){eb&&"object"==typeof eb||e_.throwArgumentError("invalid object","object",eb),Object.keys(eb).forEach(ew=>{em[ew]||e_.throwArgumentError("invalid object key - "+ew,"transaction:"+ew,eb)})}function eI(eb){let em={};for(let ew in eb)em[ew]=eb[ew];return em}let eD={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function eO(eb){if(null==eb||eD[typeof eb])return!0;if(Array.isArray(eb)||"object"==typeof eb){if(!Object.isFrozen(eb))return!1;let em=Object.keys(eb);for(let ew=0;eweR(eb)));if("object"==typeof eb){let em={};for(let ew in eb){let eM=eb[ew];void 0!==eM&&eE(em,ew,eR(eM))}return em}return e_.throwArgumentError(`Cannot deepCopy ${typeof eb}`,"object",eb)}function eR(eb){return eP(eb)}class eB{constructor(eb){for(let em in eb)this[em]=eR(eb[em])}}},34216:function(eb,em,ew){"use strict";ew.d(em,{i:function(){return eM}});let eM="providers/5.7.2"},97013:function(eb,em,ew){"use strict";ew.d(em,{H2:function(){return t_},Zk:function(){return tA}});var eM=ew(81556),eC=ew(59567),eT=ew(57727),e_=ew(2593),eE=ew(16441),eS=ew(57218),eA=ew(27586),eN=ew(45710),eI=ew(6881),eD=ew(2006),eO=ew(29251),eP=ew(37707),eR=ew(92882),eB=ew.n(eR),eF=ew(1581),ej=ew(34216),eU=ew(30032),eV=function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};let eH=new eF.Yd(ej.i),e$=10;function eW(eb){return null==eb?"null":(32!==(0,eE.E1)(eb)&&eH.throwArgumentError("invalid topic","topic",eb),eb.toLowerCase())}function eZ(eb){for(eb=eb.slice();eb.length>0&&null==eb[eb.length-1];)eb.pop();return eb.map(eb=>{if(!Array.isArray(eb))return eW(eb);{let em={};eb.forEach(eb=>{em[eW(eb)]=!0});let ew=Object.keys(em);return ew.sort(),ew.join("|")}}).join("&")}function eK(eb){return""===eb?[]:eb.split(/&/g).map(eb=>{if(""===eb)return[];let em=eb.split("|").map(eb=>"null"===eb?null:eb);return 1===em.length?em[0]:em})}function eG(eb){if("string"==typeof eb){if(eb=eb.toLowerCase(),32===(0,eE.E1)(eb))return"tx:"+eb;if(-1===eb.indexOf(":"))return eb}else if(Array.isArray(eb))return"filter:*:"+eZ(eb);else if(eM.Sg.isForkEvent(eb))throw eH.warn("not implemented"),Error("not implemented");else if(eb&&"object"==typeof eb)return"filter:"+(eb.address||"*")+":"+eZ(eb.topics||[]);throw Error("invalid event - "+eb)}function eY(){return new Date().getTime()}function eJ(eb){return new Promise(em=>{setTimeout(em,eb)})}let eX=["block","network","pending","poll"];class eQ{constructor(eb,em,ew){(0,eI.zG)(this,"tag",eb),(0,eI.zG)(this,"listener",em),(0,eI.zG)(this,"once",ew),this._lastBlockNumber=-2,this._inflight=!1}get event(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag}get type(){return this.tag.split(":")[0]}get hash(){let eb=this.tag.split(":");return"tx"!==eb[0]?null:eb[1]}get filter(){let eb=this.tag.split(":");if("filter"!==eb[0])return null;let em=eb[1],ew=eK(eb[2]),eM={};return ew.length>0&&(eM.topics=ew),em&&"*"!==em&&(eM.address=em),eM}pollable(){return this.tag.indexOf(":")>=0||eX.indexOf(this.tag)>=0}}let e0={0:{symbol:"btc",p2pkh:0,p2sh:5,prefix:"bc"},2:{symbol:"ltc",p2pkh:48,p2sh:50,prefix:"ltc"},3:{symbol:"doge",p2pkh:30,p2sh:22},60:{symbol:"eth",ilk:"eth"},61:{symbol:"etc",ilk:"eth"},700:{symbol:"xdai",ilk:"eth"}};function e6(eb){return(0,eE.$m)(e_.O$.from(eb).toHexString(),32)}function e4(eb){return eT.eU.encode((0,eE.zo)([eb,(0,eE.p3)((0,eD.JQ)((0,eD.JQ)(eb)),0,4)]))}let e3=RegExp("^(ipfs)://(.*)$","i"),e5=[RegExp("^(https)://(.*)$","i"),RegExp("^(data):(.*)$","i"),e3,RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];function e8(eb,em){try{return(0,eO.ZN)(e9(eb,em))}catch(eb){}return null}function e9(eb,em){if("0x"===eb)return null;let ew=e_.O$.from((0,eE.p3)(eb,em,em+32)).toNumber(),eM=e_.O$.from((0,eE.p3)(eb,ew,ew+32)).toNumber();return(0,eE.p3)(eb,ew+32,ew+32+eM)}function e7(eb){return eb.match(/^ipfs:\/\/ipfs\//i)?eb=eb.substring(12):eb.match(/^ipfs:\/\//i)?eb=eb.substring(7):eH.throwArgumentError("unsupported IPFS format","link",eb),`https://gateway.ipfs.io/ipfs/${eb}`}function tw(eb){let em=(0,eE.lE)(eb);if(em.length>32)throw Error("internal; should not happen");let ew=new Uint8Array(32);return ew.set(em,32-em.length),ew}function tC(eb){if(eb.length%32==0)return eb;let em=new Uint8Array(32*Math.ceil(eb.length/32));return em.set(eb),em}function tT(eb){let em=[],ew=0;for(let eM=0;eMe_.O$.from(eb).eq(1)).catch(eb=>{if(eb.code===eF.Yd.errors.CALL_EXCEPTION)return!1;throw this._supportsEip2544=null,eb})),this._supportsEip2544}_fetch(eb,em){return eV(this,void 0,void 0,function*(){let ew={to:this.address,ccipReadEnabled:!0,data:(0,eE.xs)([eb,(0,eA.VM)(this.name),em||"0x"])},eM=!1;(yield this.supportsWildcard())&&(eM=!0,ew.data=(0,eE.xs)(["0x9061b923",tT([(0,eA.Kn)(this.name),ew.data])]));try{let eb=yield this.provider.call(ew);return(0,eE.lE)(eb).length%32==4&&eH.throwError("resolver threw error",eF.Yd.errors.CALL_EXCEPTION,{transaction:ew,data:eb}),eM&&(eb=e9(eb,0)),eb}catch(eb){if(eb.code===eF.Yd.errors.CALL_EXCEPTION)return null;throw eb}})}_fetchBytes(eb,em){return eV(this,void 0,void 0,function*(){let ew=yield this._fetch(eb,em);return null!=ew?e9(ew,0):null})}_getAddress(eb,em){let ew=e0[String(eb)];if(null==ew&&eH.throwError(`unsupported coin type: ${eb}`,eF.Yd.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${eb})`}),"eth"===ew.ilk)return this.provider.formatter.address(em);let eM=(0,eE.lE)(em);if(null!=ew.p2pkh){let eb=em.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);if(eb){let em=parseInt(eb[1],16);if(eb[2].length===2*em&&em>=1&&em<=75)return e4((0,eE.zo)([[ew.p2pkh],"0x"+eb[2]]))}}if(null!=ew.p2sh){let eb=em.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);if(eb){let em=parseInt(eb[1],16);if(eb[2].length===2*em&&em>=1&&em<=75)return e4((0,eE.zo)([[ew.p2sh],"0x"+eb[2]]))}}if(null!=ew.prefix){let eb=eM[1],em=eM[0];if(0===em?20!==eb&&32!==eb&&(em=-1):em=-1,em>=0&&eM.length===2+eb&&eb>=1&&eb<=75){let eb=eB().toWords(eM.slice(2));return eb.unshift(em),eB().encode(ew.prefix,eb)}}return null}getAddress(eb){return eV(this,void 0,void 0,function*(){if(null==eb&&(eb=60),60===eb)try{let eb=yield this._fetch("0x3b3b57de");if("0x"===eb||eb===eS.R)return null;return this.provider.formatter.callAddress(eb)}catch(eb){if(eb.code===eF.Yd.errors.CALL_EXCEPTION)return null;throw eb}let em=yield this._fetchBytes("0xf1cb7e06",e6(eb));if(null==em||"0x"===em)return null;let ew=this._getAddress(eb,em);return null==ew&&eH.throwError("invalid or unsupported coin data",eF.Yd.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${eb})`,coinType:eb,data:em}),ew})}getAvatar(){return eV(this,void 0,void 0,function*(){let eb=[{type:"name",content:this.name}];try{let em=yield this.getText("avatar");if(null==em)return null;for(let ew=0;eweb[em]);return"sia://"+em}return eH.throwError("invalid or unsupported content hash data",eF.Yd.errors.UNSUPPORTED_OPERATION,{operation:"getContentHash()",data:eb})})}getText(eb){return eV(this,void 0,void 0,function*(){let em=(0,eO.Y0)(eb);(em=(0,eE.zo)([e6(64),e6(em.length),em])).length%32!=0&&(em=(0,eE.zo)([em,(0,eE.$m)("0x",32-eb.length%32)]));let ew=yield this._fetchBytes("0x59d1d43c",(0,eE.Dv)(em));return null==ew||"0x"===ew?null:(0,eO.ZN)(ew)})}}let tE=null,tS=1;class tA extends eM.zt{constructor(eb){if(super(),this._events=[],this._emitted={block:-2},this.disableCcipRead=!1,this.formatter=new.target.getFormatter(),(0,eI.zG)(this,"anyNetwork","any"===eb),this.anyNetwork&&(eb=this.detectNetwork()),eb instanceof Promise)this._networkPromise=eb,eb.catch(eb=>{}),this._ready().catch(eb=>{});else{let em=(0,eI.tu)(new.target,"getNetwork")(eb);em?((0,eI.zG)(this,"_network",em),this.emit("network",em,null)):eH.throwArgumentError("invalid network","network",eb)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._maxFilterBlockRange=10,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return eV(this,void 0,void 0,function*(){if(null==this._network){let eb=null;if(this._networkPromise)try{eb=yield this._networkPromise}catch(eb){}null==eb&&(eb=yield this.detectNetwork()),eb||eH.throwError("no network detected",eF.Yd.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=eb:(0,eI.zG)(this,"_network",eb),this.emit("network",eb,null))}return this._network})}get ready(){return(0,eP.$l)(()=>this._ready().then(eb=>eb,eb=>{if(eb.code!==eF.Yd.errors.NETWORK_ERROR||"noNetwork"!==eb.event)throw eb}))}static getFormatter(){return null==tE&&(tE=new eU.Mb),tE}static getNetwork(eb){return(0,eN.H)(null==eb?"homestead":eb)}ccipReadFetch(eb,em,ew){return eV(this,void 0,void 0,function*(){if(this.disableCcipRead||0===ew.length)return null;let eM=eb.to.toLowerCase(),eC=em.toLowerCase(),eT=[];for(let eb=0;eb=0?null:JSON.stringify({data:eC,sender:eM}),eS=yield(0,eP.rd)({url:e_,errorPassThrough:!0},eE,(eb,em)=>(eb.status=em.statusCode,eb));if(eS.data)return eS.data;let eA=eS.message||"unknown error";if(eS.status>=400&&eS.status<500)return eH.throwError(`response not found during CCIP fetch: ${eA}`,eF.Yd.errors.SERVER_ERROR,{url:em,errorMessage:eA});eT.push(eA)}return eH.throwError(`error encountered during CCIP fetch: ${eT.map(eb=>JSON.stringify(eb)).join(", ")}`,eF.Yd.errors.SERVER_ERROR,{urls:ew,errorMessages:eT})})}_getInternalBlockNumber(eb){return eV(this,void 0,void 0,function*(){if(yield this._ready(),eb>0)for(;this._internalBlockNumber;){let em=this._internalBlockNumber;try{let ew=yield em;if(eY()-ew.respTime<=eb)return ew.blockNumber;break}catch(eb){if(this._internalBlockNumber===em)break}}let em=eY(),ew=(0,eI.mE)({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then(eb=>null,eb=>eb)}).then(({blockNumber:eb,networkError:eM})=>{if(eM)throw this._internalBlockNumber===ew&&(this._internalBlockNumber=null),eM;let eC=eY();return(eb=e_.O$.from(eb).toNumber()){this._internalBlockNumber===ew&&(this._internalBlockNumber=null)}),(yield ew).blockNumber})}poll(){return eV(this,void 0,void 0,function*(){let eb=tS++,em=[],ew=null;try{ew=yield this._getInternalBlockNumber(100+this.pollingInterval/2)}catch(eb){this.emit("error",eb);return}if(this._setFastBlockNumber(ew),this.emit("poll",eb,ew),ew===this._lastBlockNumber){this.emit("didPoll",eb);return}if(-2===this._emitted.block&&(this._emitted.block=ew-1),Math.abs(this._emitted.block-ew)>1e3)eH.warn(`network block skew detected; skipping block events (emitted=${this._emitted.block} blockNumber${ew})`),this.emit("error",eH.makeError("network block skew detected",eF.Yd.errors.NETWORK_ERROR,{blockNumber:ew,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",ew);else for(let eb=this._emitted.block+1;eb<=ew;eb++)this.emit("block",eb);this._emitted.block!==ew&&(this._emitted.block=ew,Object.keys(this._emitted).forEach(eb=>{if("block"===eb)return;let em=this._emitted[eb];"pending"!==em&&ew-em>12&&delete this._emitted[eb]})),-2===this._lastBlockNumber&&(this._lastBlockNumber=ew-1),this._events.forEach(eb=>{switch(eb.type){case"tx":{let ew=eb.hash,eM=this.getTransactionReceipt(ew).then(eb=>(eb&&null!=eb.blockNumber&&(this._emitted["t:"+ew]=eb.blockNumber,this.emit(ew,eb)),null)).catch(eb=>{this.emit("error",eb)});em.push(eM);break}case"filter":if(!eb._inflight){eb._inflight=!0,-2===eb._lastBlockNumber&&(eb._lastBlockNumber=ew-1);let eM=eb.filter;eM.fromBlock=eb._lastBlockNumber+1,eM.toBlock=ew;let eC=eM.toBlock-this._maxFilterBlockRange;eC>eM.fromBlock&&(eM.fromBlock=eC),eM.fromBlock<0&&(eM.fromBlock=0);let eT=this.getLogs(eM).then(em=>{eb._inflight=!1,0!==em.length&&em.forEach(em=>{em.blockNumber>eb._lastBlockNumber&&(eb._lastBlockNumber=em.blockNumber),this._emitted["b:"+em.blockHash]=em.blockNumber,this._emitted["t:"+em.transactionHash]=em.blockNumber,this.emit(eM,em)})}).catch(em=>{this.emit("error",em),eb._inflight=!1});em.push(eT)}}}),this._lastBlockNumber=ew,Promise.all(em).then(()=>{this.emit("didPoll",eb)}).catch(eb=>{this.emit("error",eb)})})}resetEventsBlock(eb){this._lastBlockNumber=eb-1,this.polling&&this.poll()}get network(){return this._network}detectNetwork(){return eV(this,void 0,void 0,function*(){return eH.throwError("provider does not support network detection",eF.Yd.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})})}getNetwork(){return eV(this,void 0,void 0,function*(){let eb=yield this._ready(),em=yield this.detectNetwork();if(eb.chainId!==em.chainId){if(this.anyNetwork)return this._network=em,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",em,eb),yield eJ(0),this._network;let ew=eH.makeError("underlying network changed",eF.Yd.errors.NETWORK_ERROR,{event:"changed",network:eb,detectedNetwork:em});throw this.emit("error",ew),ew}return eb})}get blockNumber(){return this._getInternalBlockNumber(100+this.pollingInterval/2).then(eb=>{this._setFastBlockNumber(eb)},eb=>{}),null!=this._fastBlockNumber?this._fastBlockNumber:-1}get polling(){return null!=this._poller}set polling(eb){eb&&!this._poller?(this._poller=setInterval(()=>{this.poll()},this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout(()=>{this.poll(),this._bootstrapPoll=setTimeout(()=>{this._poller||this.poll(),this._bootstrapPoll=null},this.pollingInterval)},0))):!eb&&this._poller&&(clearInterval(this._poller),this._poller=null)}get pollingInterval(){return this._pollingInterval}set pollingInterval(eb){if("number"!=typeof eb||eb<=0||parseInt(String(eb))!=eb)throw Error("invalid polling interval");this._pollingInterval=eb,this._poller&&(clearInterval(this._poller),this._poller=setInterval(()=>{this.poll()},this._pollingInterval))}_getFastBlockNumber(){let eb=eY();return eb-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=eb,this._fastBlockNumberPromise=this.getBlockNumber().then(eb=>((null==this._fastBlockNumber||eb>this._fastBlockNumber)&&(this._fastBlockNumber=eb),this._fastBlockNumber))),this._fastBlockNumberPromise}_setFastBlockNumber(eb){(null==this._fastBlockNumber||!(ebthis._fastBlockNumber)&&(this._fastBlockNumber=eb,this._fastBlockNumberPromise=Promise.resolve(eb)))}waitForTransaction(eb,em,ew){return eV(this,void 0,void 0,function*(){return this._waitForTransaction(eb,null==em?1:em,ew||0,null)})}_waitForTransaction(eb,em,ew,eM){return eV(this,void 0,void 0,function*(){let eC=yield this.getTransactionReceipt(eb);return(eC?eC.confirmations:0)>=em?eC:new Promise((eC,eT)=>{let e_=[],eE=!1,eS=function(){return!!eE||(eE=!0,e_.forEach(eb=>{eb()}),!1)},eA=eb=>{eb.confirmations{this.removeListener(eb,eA)}),eM){let ew=eM.startBlock,eC=null,eA=e_=>eV(this,void 0,void 0,function*(){eE||(yield eJ(1e3),this.getTransactionCount(eM.from).then(eN=>eV(this,void 0,void 0,function*(){if(!eE){if(eN<=eM.nonce)ew=e_;else{{let em=yield this.getTransaction(eb);if(em&&null!=em.blockNumber)return}for(null==eC&&(eC=ew-3){eE||this.once("block",eA)}))});if(eE)return;this.once("block",eA),e_.push(()=>{this.removeListener("block",eA)})}if("number"==typeof ew&&ew>0){let eb=setTimeout(()=>{eS()||eT(eH.makeError("timeout exceeded",eF.Yd.errors.TIMEOUT,{timeout:ew}))},ew);eb.unref&&eb.unref(),e_.push(()=>{clearTimeout(eb)})}})})}getBlockNumber(){return eV(this,void 0,void 0,function*(){return this._getInternalBlockNumber(0)})}getGasPrice(){return eV(this,void 0,void 0,function*(){yield this.getNetwork();let eb=yield this.perform("getGasPrice",{});try{return e_.O$.from(eb)}catch(em){return eH.throwError("bad result from backend",eF.Yd.errors.SERVER_ERROR,{method:"getGasPrice",result:eb,error:em})}})}getBalance(eb,em){return eV(this,void 0,void 0,function*(){yield this.getNetwork();let ew=yield(0,eI.mE)({address:this._getAddress(eb),blockTag:this._getBlockTag(em)}),eM=yield this.perform("getBalance",ew);try{return e_.O$.from(eM)}catch(eb){return eH.throwError("bad result from backend",eF.Yd.errors.SERVER_ERROR,{method:"getBalance",params:ew,result:eM,error:eb})}})}getTransactionCount(eb,em){return eV(this,void 0,void 0,function*(){yield this.getNetwork();let ew=yield(0,eI.mE)({address:this._getAddress(eb),blockTag:this._getBlockTag(em)}),eM=yield this.perform("getTransactionCount",ew);try{return e_.O$.from(eM).toNumber()}catch(eb){return eH.throwError("bad result from backend",eF.Yd.errors.SERVER_ERROR,{method:"getTransactionCount",params:ew,result:eM,error:eb})}})}getCode(eb,em){return eV(this,void 0,void 0,function*(){yield this.getNetwork();let ew=yield(0,eI.mE)({address:this._getAddress(eb),blockTag:this._getBlockTag(em)}),eM=yield this.perform("getCode",ew);try{return(0,eE.Dv)(eM)}catch(eb){return eH.throwError("bad result from backend",eF.Yd.errors.SERVER_ERROR,{method:"getCode",params:ew,result:eM,error:eb})}})}getStorageAt(eb,em,ew){return eV(this,void 0,void 0,function*(){yield this.getNetwork();let eM=yield(0,eI.mE)({address:this._getAddress(eb),blockTag:this._getBlockTag(ew),position:Promise.resolve(em).then(eb=>(0,eE.$P)(eb))}),eC=yield this.perform("getStorageAt",eM);try{return(0,eE.Dv)(eC)}catch(eb){return eH.throwError("bad result from backend",eF.Yd.errors.SERVER_ERROR,{method:"getStorageAt",params:eM,result:eC,error:eb})}})}_wrapTransaction(eb,em,ew){if(null!=em&&32!==(0,eE.E1)(em))throw Error("invalid response - sendTransaction");let eM=eb;return null!=em&&eb.hash!==em&&eH.throwError("Transaction hash mismatch from Provider.sendTransaction.",eF.Yd.errors.UNKNOWN_ERROR,{expectedHash:eb.hash,returnedHash:em}),eM.wait=(em,eM)=>eV(this,void 0,void 0,function*(){let eC;null==em&&(em=1),null==eM&&(eM=0),0!==em&&null!=ew&&(eC={data:eb.data,from:eb.from,nonce:eb.nonce,to:eb.to,value:eb.value,startBlock:ew});let eT=yield this._waitForTransaction(eb.hash,em,eM,eC);return null==eT&&0===em?null:(this._emitted["t:"+eb.hash]=eT.blockNumber,0===eT.status&&eH.throwError("transaction failed",eF.Yd.errors.CALL_EXCEPTION,{transactionHash:eb.hash,transaction:eb,receipt:eT}),eT)}),eM}sendTransaction(eb){return eV(this,void 0,void 0,function*(){yield this.getNetwork();let em=yield Promise.resolve(eb).then(eb=>(0,eE.Dv)(eb)),ew=this.formatter.transaction(eb);null==ew.confirmations&&(ew.confirmations=0);let eM=yield this._getInternalBlockNumber(100+2*this.pollingInterval);try{let eb=yield this.perform("sendTransaction",{signedTransaction:em});return this._wrapTransaction(ew,eb,eM)}catch(eb){throw eb.transaction=ew,eb.transactionHash=ew.hash,eb}})}_getTransactionRequest(eb){return eV(this,void 0,void 0,function*(){let em=yield eb,ew={};return["from","to"].forEach(eb=>{null!=em[eb]&&(ew[eb]=Promise.resolve(em[eb]).then(eb=>eb?this._getAddress(eb):null))}),["gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","value"].forEach(eb=>{null!=em[eb]&&(ew[eb]=Promise.resolve(em[eb]).then(eb=>eb?e_.O$.from(eb):null))}),["type"].forEach(eb=>{null!=em[eb]&&(ew[eb]=Promise.resolve(em[eb]).then(eb=>null!=eb?eb:null))}),em.accessList&&(ew.accessList=this.formatter.accessList(em.accessList)),["data"].forEach(eb=>{null!=em[eb]&&(ew[eb]=Promise.resolve(em[eb]).then(eb=>eb?(0,eE.Dv)(eb):null))}),this.formatter.transactionRequest((yield(0,eI.mE)(ew)))})}_getFilter(eb){return eV(this,void 0,void 0,function*(){eb=yield eb;let em={};return null!=eb.address&&(em.address=this._getAddress(eb.address)),["blockHash","topics"].forEach(ew=>{null!=eb[ew]&&(em[ew]=eb[ew])}),["fromBlock","toBlock"].forEach(ew=>{null!=eb[ew]&&(em[ew]=this._getBlockTag(eb[ew]))}),this.formatter.filter((yield(0,eI.mE)(em)))})}_call(eb,em,ew){return eV(this,void 0,void 0,function*(){ew>=e$&&eH.throwError("CCIP read exceeded maximum redirections",eF.Yd.errors.SERVER_ERROR,{redirects:ew,transaction:eb});let eM=eb.to,eC=yield this.perform("call",{transaction:eb,blockTag:em});if(ew>=0&&"latest"===em&&null!=eM&&"0x556f1830"===eC.substring(0,10)&&(0,eE.E1)(eC)%32==4)try{let eT=(0,eE.p3)(eC,4),eS=(0,eE.p3)(eT,0,32);e_.O$.from(eS).eq(eM)||eH.throwError("CCIP Read sender did not match",eF.Yd.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:eb,data:eC});let eA=[],eN=e_.O$.from((0,eE.p3)(eT,32,64)).toNumber(),eI=e_.O$.from((0,eE.p3)(eT,eN,eN+32)).toNumber(),eD=(0,eE.p3)(eT,eN+32);for(let em=0;emeV(this,void 0,void 0,function*(){let eb=yield this.perform("getBlock",eM);if(null==eb)return null!=eM.blockHash&&null==this._emitted["b:"+eM.blockHash]||null!=eM.blockTag&&ew>this._emitted.block?null:void 0;if(em){let em=null;for(let ew=0;ewthis._wrapTransaction(eb)),ew}return this.formatter.block(eb)}),{oncePoll:this})})}getBlock(eb){return this._getBlock(eb,!1)}getBlockWithTransactions(eb){return this._getBlock(eb,!0)}getTransaction(eb){return eV(this,void 0,void 0,function*(){yield this.getNetwork(),eb=yield eb;let em={transactionHash:this.formatter.hash(eb,!0)};return(0,eP.$l)(()=>eV(this,void 0,void 0,function*(){let ew=yield this.perform("getTransaction",em);if(null==ew)return null==this._emitted["t:"+eb]?null:void 0;let eM=this.formatter.transactionResponse(ew);if(null==eM.blockNumber)eM.confirmations=0;else if(null==eM.confirmations){let eb=yield this._getInternalBlockNumber(100+2*this.pollingInterval),em=eb-eM.blockNumber+1;em<=0&&(em=1),eM.confirmations=em}return this._wrapTransaction(eM)}),{oncePoll:this})})}getTransactionReceipt(eb){return eV(this,void 0,void 0,function*(){yield this.getNetwork(),eb=yield eb;let em={transactionHash:this.formatter.hash(eb,!0)};return(0,eP.$l)(()=>eV(this,void 0,void 0,function*(){let ew=yield this.perform("getTransactionReceipt",em);if(null==ew)return null==this._emitted["t:"+eb]?null:void 0;if(null==ew.blockHash)return;let eM=this.formatter.receipt(ew);if(null==eM.blockNumber)eM.confirmations=0;else if(null==eM.confirmations){let eb=yield this._getInternalBlockNumber(100+2*this.pollingInterval),em=eb-eM.blockNumber+1;em<=0&&(em=1),eM.confirmations=em}return eM}),{oncePoll:this})})}getLogs(eb){return eV(this,void 0,void 0,function*(){yield this.getNetwork();let em=yield(0,eI.mE)({filter:this._getFilter(eb)}),ew=yield this.perform("getLogs",em);return ew.forEach(eb=>{null==eb.removed&&(eb.removed=!1)}),eU.Mb.arrayOf(this.formatter.filterLog.bind(this.formatter))(ew)})}getEtherPrice(){return eV(this,void 0,void 0,function*(){return yield this.getNetwork(),this.perform("getEtherPrice",{})})}_getBlockTag(eb){return eV(this,void 0,void 0,function*(){if("number"==typeof(eb=yield eb)&&eb<0){eb%1&&eH.throwArgumentError("invalid BlockTag","blockTag",eb);let em=yield this._getInternalBlockNumber(100+2*this.pollingInterval);return(em+=eb)<0&&(em=0),this.formatter.blockTag(em)}return this.formatter.blockTag(eb)})}getResolver(eb){return eV(this,void 0,void 0,function*(){let em=eb;for(;;){if(""===em||"."===em||"eth"!==eb&&"eth"===em)return null;let ew=yield this._getResolver(em,"getResolver");if(null!=ew){let eM=new t_(this,ew,eb);if(em!==eb&&!(yield eM.supportsWildcard()))return null;return eM}em=em.split(".").slice(1).join(".")}})}_getResolver(eb,em){return eV(this,void 0,void 0,function*(){null==em&&(em="ENS");let ew=yield this.getNetwork();ew.ensAddress||eH.throwError("network does not support ENS",eF.Yd.errors.UNSUPPORTED_OPERATION,{operation:em,network:ew.name});try{let em=yield this.call({to:ew.ensAddress,data:"0x0178b8bf"+(0,eA.VM)(eb).substring(2)});return this.formatter.callAddress(em)}catch(eb){}return null})}resolveName(eb){return eV(this,void 0,void 0,function*(){eb=yield eb;try{return Promise.resolve(this.formatter.address(eb))}catch(em){if((0,eE.A7)(eb))throw em}"string"!=typeof eb&&eH.throwArgumentError("invalid ENS name","name",eb);let em=yield this.getResolver(eb);return em?yield em.getAddress():null})}lookupAddress(eb){return eV(this,void 0,void 0,function*(){eb=yield eb,eb=this.formatter.address(eb);let em=eb.substring(2).toLowerCase()+".addr.reverse",ew=yield this._getResolver(em,"lookupAddress");if(null==ew)return null;let eM=e8((yield this.call({to:ew,data:"0x691f3431"+(0,eA.VM)(em).substring(2)})),0),eC=yield this.resolveName(eM);return eC!=eb?null:eM})}getAvatar(eb){return eV(this,void 0,void 0,function*(){let em=null;if((0,eE.A7)(eb)){let ew=this.formatter.address(eb),eM=ew.substring(2).toLowerCase()+".addr.reverse",eC=yield this._getResolver(eM,"getAvatar");if(!eC)return null;em=new t_(this,eC,eM);try{let eb=yield em.getAvatar();if(eb)return eb.url}catch(eb){if(eb.code!==eF.Yd.errors.CALL_EXCEPTION)throw eb}try{let eb=e8((yield this.call({to:eC,data:"0x691f3431"+(0,eA.VM)(eM).substring(2)})),0);em=yield this.getResolver(eb)}catch(eb){if(eb.code!==eF.Yd.errors.CALL_EXCEPTION)throw eb;return null}}else if(!(em=yield this.getResolver(eb)))return null;let ew=yield em.getAvatar();return null==ew?null:ew.url})}perform(eb,em){return eH.throwError(eb+" not implemented",eF.Yd.errors.NOT_IMPLEMENTED,{operation:eb})}_startEvent(eb){this.polling=this._events.filter(eb=>eb.pollable()).length>0}_stopEvent(eb){this.polling=this._events.filter(eb=>eb.pollable()).length>0}_addEventListener(eb,em,ew){let eM=new eQ(eG(eb),em,ew);return this._events.push(eM),this._startEvent(eM),this}on(eb,em){return this._addEventListener(eb,em,!1)}once(eb,em){return this._addEventListener(eb,em,!0)}emit(eb,...em){let ew=!1,eM=[],eC=eG(eb);return this._events=this._events.filter(eb=>eb.tag!==eC||(setTimeout(()=>{eb.listener.apply(this,em)},0),ew=!0,!eb.once||(eM.push(eb),!1))),eM.forEach(eb=>{this._stopEvent(eb)}),ew}listenerCount(eb){if(!eb)return this._events.length;let em=eG(eb);return this._events.filter(eb=>eb.tag===em).length}listeners(eb){if(null==eb)return this._events.map(eb=>eb.listener);let em=eG(eb);return this._events.filter(eb=>eb.tag===em).map(eb=>eb.listener)}off(eb,em){if(null==em)return this.removeAllListeners(eb);let ew=[],eM=!1,eC=eG(eb);return this._events=this._events.filter(eb=>eb.tag!==eC||eb.listener!=em||!!eM||(eM=!0,ew.push(eb),!1)),ew.forEach(eb=>{this._stopEvent(eb)}),this}removeAllListeners(eb){let em=[];if(null==eb)em=this._events,this._events=[];else{let ew=eG(eb);this._events=this._events.filter(eb=>eb.tag!==ew||(em.push(eb),!1))}return em.forEach(eb=>{this._stopEvent(eb)}),this}}},30032:function(eb,em,ew){"use strict";ew.d(em,{Ed:function(){return eO},Gp:function(){return eP},Mb:function(){return eD},vh:function(){return eB}});var eM=ew(19485),eC=ew(2593),eT=ew(16441),e_=ew(9279),eE=ew(6881),eS=ew(83875),eA=ew(1581),eN=ew(34216);let eI=new eA.Yd(eN.i);class eD{constructor(){this.formats=this.getDefaultFormats()}getDefaultFormats(){let eb={},em=this.address.bind(this),ew=this.bigNumber.bind(this),eM=this.blockTag.bind(this),eC=this.data.bind(this),eT=this.hash.bind(this),e_=this.hex.bind(this),eS=this.number.bind(this),eA=this.type.bind(this),eN=eb=>this.data(eb,!0);return eb.transaction={hash:eT,type:eA,accessList:eD.allowNull(this.accessList.bind(this),null),blockHash:eD.allowNull(eT,null),blockNumber:eD.allowNull(eS,null),transactionIndex:eD.allowNull(eS,null),confirmations:eD.allowNull(eS,null),from:em,gasPrice:eD.allowNull(ew),maxPriorityFeePerGas:eD.allowNull(ew),maxFeePerGas:eD.allowNull(ew),gasLimit:ew,to:eD.allowNull(em,null),value:ew,nonce:eS,data:eC,r:eD.allowNull(this.uint256),s:eD.allowNull(this.uint256),v:eD.allowNull(eS),creates:eD.allowNull(em,null),raw:eD.allowNull(eC)},eb.transactionRequest={from:eD.allowNull(em),nonce:eD.allowNull(eS),gasLimit:eD.allowNull(ew),gasPrice:eD.allowNull(ew),maxPriorityFeePerGas:eD.allowNull(ew),maxFeePerGas:eD.allowNull(ew),to:eD.allowNull(em),value:eD.allowNull(ew),data:eD.allowNull(eN),type:eD.allowNull(eS),accessList:eD.allowNull(this.accessList.bind(this),null)},eb.receiptLog={transactionIndex:eS,blockNumber:eS,transactionHash:eT,address:em,topics:eD.arrayOf(eT),data:eC,logIndex:eS,blockHash:eT},eb.receipt={to:eD.allowNull(this.address,null),from:eD.allowNull(this.address,null),contractAddress:eD.allowNull(em,null),transactionIndex:eS,root:eD.allowNull(e_),gasUsed:ew,logsBloom:eD.allowNull(eC),blockHash:eT,transactionHash:eT,logs:eD.arrayOf(this.receiptLog.bind(this)),blockNumber:eS,confirmations:eD.allowNull(eS,null),cumulativeGasUsed:ew,effectiveGasPrice:eD.allowNull(ew),status:eD.allowNull(eS),type:eA},eb.block={hash:eD.allowNull(eT),parentHash:eT,number:eS,timestamp:eS,nonce:eD.allowNull(e_),difficulty:this.difficulty.bind(this),gasLimit:ew,gasUsed:ew,miner:eD.allowNull(em),extraData:eC,transactions:eD.allowNull(eD.arrayOf(eT)),baseFeePerGas:eD.allowNull(ew)},eb.blockWithTransactions=(0,eE.DC)(eb.block),eb.blockWithTransactions.transactions=eD.allowNull(eD.arrayOf(this.transactionResponse.bind(this))),eb.filter={fromBlock:eD.allowNull(eM,void 0),toBlock:eD.allowNull(eM,void 0),blockHash:eD.allowNull(eT,void 0),address:eD.allowNull(em,void 0),topics:eD.allowNull(this.topics.bind(this),void 0)},eb.filterLog={blockNumber:eD.allowNull(eS),blockHash:eD.allowNull(eT),transactionIndex:eS,removed:eD.allowNull(this.boolean.bind(this)),address:em,data:eD.allowFalsish(eC,"0x"),topics:eD.arrayOf(eT),transactionHash:eT,logIndex:eS},eb}accessList(eb){return(0,eS.z7)(eb||[])}number(eb){return"0x"===eb?0:eC.O$.from(eb).toNumber()}type(eb){return"0x"===eb||null==eb?0:eC.O$.from(eb).toNumber()}bigNumber(eb){return eC.O$.from(eb)}boolean(eb){if("boolean"==typeof eb)return eb;if("string"==typeof eb){if("true"===(eb=eb.toLowerCase()))return!0;if("false"===eb)return!1}throw Error("invalid boolean - "+eb)}hex(eb,em){return"string"==typeof eb&&(em||"0x"===eb.substring(0,2)||(eb="0x"+eb),(0,eT.A7)(eb))?eb.toLowerCase():eI.throwArgumentError("invalid hash","value",eb)}data(eb,em){let ew=this.hex(eb,em);if(ew.length%2!=0)throw Error("invalid data; odd-length - "+eb);return ew}address(eb){return(0,eM.Kn)(eb)}callAddress(eb){if(!(0,eT.A7)(eb,32))return null;let em=(0,eM.Kn)((0,eT.p3)(eb,12));return em===e_.d?null:em}contractAddress(eb){return(0,eM.CR)(eb)}blockTag(eb){if(null==eb)return"latest";if("earliest"===eb)return"0x0";switch(eb){case"earliest":return"0x0";case"latest":case"pending":case"safe":case"finalized":return eb}if("number"==typeof eb||(0,eT.A7)(eb))return(0,eT.$P)(eb);throw Error("invalid blockTag")}hash(eb,em){let ew=this.hex(eb,em);return 32!==(0,eT.E1)(ew)?eI.throwArgumentError("invalid hash","value",eb):ew}difficulty(eb){if(null==eb)return null;let em=eC.O$.from(eb);try{return em.toNumber()}catch(eb){}return null}uint256(eb){if(!(0,eT.A7)(eb))throw Error("invalid uint256");return(0,eT.$m)(eb,32)}_block(eb,em){null!=eb.author&&null==eb.miner&&(eb.miner=eb.author);let ew=null!=eb._difficulty?eb._difficulty:eb.difficulty,eM=eD.check(em,eb);return eM._difficulty=null==ew?null:eC.O$.from(ew),eM}block(eb){return this._block(eb,this.formats.block)}blockWithTransactions(eb){return this._block(eb,this.formats.blockWithTransactions)}transactionRequest(eb){return eD.check(this.formats.transactionRequest,eb)}transactionResponse(eb){null!=eb.gas&&null==eb.gasLimit&&(eb.gasLimit=eb.gas),eb.to&&eC.O$.from(eb.to).isZero()&&(eb.to="0x0000000000000000000000000000000000000000"),null!=eb.input&&null==eb.data&&(eb.data=eb.input),null==eb.to&&null==eb.creates&&(eb.creates=this.contractAddress(eb)),(1===eb.type||2===eb.type)&&null==eb.accessList&&(eb.accessList=[]);let em=eD.check(this.formats.transaction,eb);if(null!=eb.chainId){let ew=eb.chainId;(0,eT.A7)(ew)&&(ew=eC.O$.from(ew).toNumber()),em.chainId=ew}else{let ew=eb.networkId;null==ew&&null==em.v&&(ew=eb.chainId),(0,eT.A7)(ew)&&(ew=eC.O$.from(ew).toNumber()),"number"!=typeof ew&&null!=em.v&&((ew=(em.v-35)/2)<0&&(ew=0),ew=parseInt(ew)),"number"!=typeof ew&&(ew=0),em.chainId=ew}return em.blockHash&&"x"===em.blockHash.replace(/0/g,"")&&(em.blockHash=null),em}transaction(eb){return(0,eS.Qc)(eb)}receiptLog(eb){return eD.check(this.formats.receiptLog,eb)}receipt(eb){let em=eD.check(this.formats.receipt,eb);if(null!=em.root){if(em.root.length<=4){let eb=eC.O$.from(em.root).toNumber();0===eb||1===eb?(null!=em.status&&em.status!==eb&&eI.throwArgumentError("alt-root-status/status mismatch","value",{root:em.root,status:em.status}),em.status=eb,delete em.root):eI.throwArgumentError("invalid alt-root-status","value.root",em.root)}else 66!==em.root.length&&eI.throwArgumentError("invalid root hash","value.root",em.root)}return null!=em.status&&(em.byzantium=!0),em}topics(eb){return Array.isArray(eb)?eb.map(eb=>this.topics(eb)):null!=eb?this.hash(eb,!0):null}filter(eb){return eD.check(this.formats.filter,eb)}filterLog(eb){return eD.check(this.formats.filterLog,eb)}static check(eb,em){let ew={};for(let eM in eb)try{let eC=eb[eM](em[eM]);void 0!==eC&&(ew[eM]=eC)}catch(eb){throw eb.checkKey=eM,eb.checkValue=em[eM],eb}return ew}static allowNull(eb,em){return function(ew){return null==ew?em:eb(ew)}}static allowFalsish(eb,em){return function(ew){return ew?eb(ew):em}}static arrayOf(eb){return function(em){if(!Array.isArray(em))throw Error("not an array");let ew=[];return em.forEach(function(em){ew.push(eb(em))}),ew}}}function eO(eb){return eb&&"function"==typeof eb.isCommunityResource}function eP(eb){return eO(eb)&&eb.isCommunityResource()}let eR=!1;function eB(){eR||(eR=!0,console.log("========= NOTICE ========="),console.log("Request-Rate Exceeded (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.io/api-keys/"),console.log("=========================="))}},96263:function(eb,em,ew){"use strict";ew.d(em,{J:function(){return eD},m:function(){return eI}});var eM=ew(6881),eC=ew(88089),eT=ew(30032),e_=ew(1581),eE=ew(34216),eS=ew(93901);let eA=new e_.Yd(eE.i),eN="84842078b09946638c03157f83405213";class eI extends eC.q{constructor(eb,em){let ew=new eD(eb,em),eC=ew.connection;eC.password&&eA.throwError("INFURA WebSocket project secrets unsupported",e_.Yd.errors.UNSUPPORTED_OPERATION,{operation:"InfuraProvider.getWebSocketProvider()"});let eT=eC.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/");super(eT,eb),(0,eM.zG)(this,"apiKey",ew.projectId),(0,eM.zG)(this,"projectId",ew.projectId),(0,eM.zG)(this,"projectSecret",ew.projectSecret)}isCommunityResource(){return this.projectId===eN}}class eD extends eS.l{static getWebSocketProvider(eb,em){return new eI(eb,em)}static getApiKey(eb){let em={apiKey:eN,projectId:eN,projectSecret:null};return null==eb||("string"==typeof eb?em.projectId=eb:null!=eb.projectSecret?(eA.assertArgument("string"==typeof eb.projectId,"projectSecret requires a projectId","projectId",eb.projectId),eA.assertArgument("string"==typeof eb.projectSecret,"invalid projectSecret","projectSecret","[REDACTED]"),em.projectId=eb.projectId,em.projectSecret=eb.projectSecret):eb.projectId&&(em.projectId=eb.projectId),em.apiKey=em.projectId),em}static getUrl(eb,em){let ew=null;switch(eb?eb.name:"unknown"){case"homestead":ew="mainnet.infura.io";break;case"goerli":ew="goerli.infura.io";break;case"sepolia":ew="sepolia.infura.io";break;case"matic":ew="polygon-mainnet.infura.io";break;case"maticmum":ew="polygon-mumbai.infura.io";break;case"optimism":ew="optimism-mainnet.infura.io";break;case"optimism-goerli":ew="optimism-goerli.infura.io";break;case"arbitrum":ew="arbitrum-mainnet.infura.io";break;case"arbitrum-goerli":ew="arbitrum-goerli.infura.io";break;default:eA.throwError("unsupported network",e_.Yd.errors.INVALID_ARGUMENT,{argument:"network",value:eb})}let eM={allowGzip:!0,url:"https://"+ew+"/v3/"+em.projectId,throttleCallback:(eb,ew)=>(em.projectId===eN&&(0,eT.vh)(),Promise.resolve(!0))};return null!=em.projectSecret&&(eM.user="",eM.password=em.projectSecret),eM}isCommunityResource(){return this.projectId===eN}}},82169:function(eb,em,ew){"use strict";ew.d(em,{C:function(){return eW},r:function(){return eG}});var eM=ew(48088),eC=ew(2593),eT=ew(16441),e_=ew(67827),eE=ew(6881),eS=ew(29251),eA=ew(83875),eN=ew(37707),eI=ew(1581),eD=ew(34216),eO=ew(97013),eP=function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};let eR=new eI.Yd(eD.i),eB=["call","estimateGas"];function eF(eb,em){if(null==eb)return null;if("string"==typeof eb.message&&eb.message.match("reverted")){let ew=(0,eT.A7)(eb.data)?eb.data:null;if(!em||ew)return{message:eb.message,data:ew}}if("object"==typeof eb){for(let ew in eb){let eM=eF(eb[ew],em);if(eM)return eM}return null}if("string"==typeof eb)try{return eF(JSON.parse(eb),em)}catch(eb){}return null}function ej(eb,em,ew){let eM=ew.transaction||ew.signedTransaction;if("call"===eb){let eb=eF(em,!0);if(eb)return eb.data;eR.throwError("missing revert data in call exception; Transaction reverted without a reason string",eI.Yd.errors.CALL_EXCEPTION,{data:"0x",transaction:eM,error:em})}if("estimateGas"===eb){let ew=eF(em.body,!1);null==ew&&(ew=eF(em,!1)),ew&&eR.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",eI.Yd.errors.UNPREDICTABLE_GAS_LIMIT,{reason:ew.message,method:eb,transaction:eM,error:em})}let eC=em.message;throw em.code===eI.Yd.errors.SERVER_ERROR&&em.error&&"string"==typeof em.error.message?eC=em.error.message:"string"==typeof em.body?eC=em.body:"string"==typeof em.responseText&&(eC=em.responseText),(eC=(eC||"").toLowerCase()).match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)&&eR.throwError("insufficient funds for intrinsic transaction cost",eI.Yd.errors.INSUFFICIENT_FUNDS,{error:em,method:eb,transaction:eM}),eC.match(/nonce (is )?too low/i)&&eR.throwError("nonce has already been used",eI.Yd.errors.NONCE_EXPIRED,{error:em,method:eb,transaction:eM}),eC.match(/replacement transaction underpriced|transaction gas price.*too low/i)&&eR.throwError("replacement fee too low",eI.Yd.errors.REPLACEMENT_UNDERPRICED,{error:em,method:eb,transaction:eM}),eC.match(/only replay-protected/i)&&eR.throwError("legacy pre-eip-155 transactions not supported",eI.Yd.errors.UNSUPPORTED_OPERATION,{error:em,method:eb,transaction:eM}),eB.indexOf(eb)>=0&&eC.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)&&eR.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",eI.Yd.errors.UNPREDICTABLE_GAS_LIMIT,{error:em,method:eb,transaction:eM}),em}function eU(eb){return new Promise(function(em){setTimeout(em,eb)})}function eV(eb){if(eb.error){let em=Error(eb.error.message);throw em.code=eb.error.code,em.data=eb.error.data,em}return eb.result}function eH(eb){return eb?eb.toLowerCase():eb}let e$={};class eW extends eM.E{constructor(eb,em,ew){if(super(),eb!==e$)throw Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");(0,eE.zG)(this,"provider",em),null==ew&&(ew=0),"string"==typeof ew?((0,eE.zG)(this,"_address",this.provider.formatter.address(ew)),(0,eE.zG)(this,"_index",null)):"number"==typeof ew?((0,eE.zG)(this,"_index",ew),(0,eE.zG)(this,"_address",null)):eR.throwArgumentError("invalid address or index","addressOrIndex",ew)}connect(eb){return eR.throwError("cannot alter JSON-RPC Signer connection",eI.Yd.errors.UNSUPPORTED_OPERATION,{operation:"connect"})}connectUnchecked(){return new eZ(e$,this.provider,this._address||this._index)}getAddress(){return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then(eb=>(eb.length<=this._index&&eR.throwError("unknown account #"+this._index,eI.Yd.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"}),this.provider.formatter.address(eb[this._index])))}sendUncheckedTransaction(eb){eb=(0,eE.DC)(eb);let em=this.getAddress().then(eb=>(eb&&(eb=eb.toLowerCase()),eb));if(null==eb.gasLimit){let ew=(0,eE.DC)(eb);ew.from=em,eb.gasLimit=this.provider.estimateGas(ew)}return null!=eb.to&&(eb.to=Promise.resolve(eb.to).then(eb=>eP(this,void 0,void 0,function*(){if(null==eb)return null;let em=yield this.provider.resolveName(eb);return null==em&&eR.throwArgumentError("provided ENS name resolves to null","tx.to",eb),em}))),(0,eE.mE)({tx:(0,eE.mE)(eb),sender:em}).then(({tx:em,sender:ew})=>{null!=em.from?em.from.toLowerCase()!==ew&&eR.throwArgumentError("from address mismatch","transaction",eb):em.from=ew;let eM=this.provider.constructor.hexlifyTransaction(em,{from:!0});return this.provider.send("eth_sendTransaction",[eM]).then(eb=>eb,eb=>("string"==typeof eb.message&&eb.message.match(/user denied/i)&&eR.throwError("user rejected transaction",eI.Yd.errors.ACTION_REJECTED,{action:"sendTransaction",transaction:em}),ej("sendTransaction",eb,eM)))})}signTransaction(eb){return eR.throwError("signing transactions is unsupported",eI.Yd.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})}sendTransaction(eb){return eP(this,void 0,void 0,function*(){let em=yield this.provider._getInternalBlockNumber(100+2*this.provider.pollingInterval),ew=yield this.sendUncheckedTransaction(eb);try{return yield(0,eN.$l)(()=>eP(this,void 0,void 0,function*(){let eb=yield this.provider.getTransaction(ew);if(null!==eb)return this.provider._wrapTransaction(eb,ew,em)}),{oncePoll:this.provider})}catch(eb){throw eb.transactionHash=ew,eb}})}signMessage(eb){return eP(this,void 0,void 0,function*(){let em="string"==typeof eb?(0,eS.Y0)(eb):eb,ew=yield this.getAddress();try{return yield this.provider.send("personal_sign",[(0,eT.Dv)(em),ew.toLowerCase()])}catch(em){throw"string"==typeof em.message&&em.message.match(/user denied/i)&&eR.throwError("user rejected signing",eI.Yd.errors.ACTION_REJECTED,{action:"signMessage",from:ew,messageData:eb}),em}})}_legacySignMessage(eb){return eP(this,void 0,void 0,function*(){let em="string"==typeof eb?(0,eS.Y0)(eb):eb,ew=yield this.getAddress();try{return yield this.provider.send("eth_sign",[ew.toLowerCase(),(0,eT.Dv)(em)])}catch(em){throw"string"==typeof em.message&&em.message.match(/user denied/i)&&eR.throwError("user rejected signing",eI.Yd.errors.ACTION_REJECTED,{action:"_legacySignMessage",from:ew,messageData:eb}),em}})}_signTypedData(eb,em,ew){return eP(this,void 0,void 0,function*(){let eM=yield e_.E.resolveNames(eb,em,ew,eb=>this.provider.resolveName(eb)),eC=yield this.getAddress();try{return yield this.provider.send("eth_signTypedData_v4",[eC.toLowerCase(),JSON.stringify(e_.E.getPayload(eM.domain,em,eM.value))])}catch(eb){throw"string"==typeof eb.message&&eb.message.match(/user denied/i)&&eR.throwError("user rejected signing",eI.Yd.errors.ACTION_REJECTED,{action:"_signTypedData",from:eC,messageData:{domain:eM.domain,types:em,value:eM.value}}),eb}})}unlock(eb){return eP(this,void 0,void 0,function*(){let em=this.provider,ew=yield this.getAddress();return em.send("personal_unlockAccount",[ew.toLowerCase(),eb,null])})}}class eZ extends eW{sendTransaction(eb){return this.sendUncheckedTransaction(eb).then(eb=>({hash:eb,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:em=>this.provider.waitForTransaction(eb,em)}))}}let eK={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0};class eG extends eO.Zk{constructor(eb,em){let ew=em;null==ew&&(ew=new Promise((eb,em)=>{setTimeout(()=>{this.detectNetwork().then(em=>{eb(em)},eb=>{em(eb)})},0)})),super(ew),eb||(eb=(0,eE.tu)(this.constructor,"defaultUrl")()),"string"==typeof eb?(0,eE.zG)(this,"connection",Object.freeze({url:eb})):(0,eE.zG)(this,"connection",Object.freeze((0,eE.DC)(eb))),this._nextId=42}get _cache(){return null==this._eventLoopCache&&(this._eventLoopCache={}),this._eventLoopCache}static defaultUrl(){return"http://localhost:8545"}detectNetwork(){return this._cache.detectNetwork||(this._cache.detectNetwork=this._uncachedDetectNetwork(),setTimeout(()=>{this._cache.detectNetwork=null},0)),this._cache.detectNetwork}_uncachedDetectNetwork(){return eP(this,void 0,void 0,function*(){yield eU(0);let eb=null;try{eb=yield this.send("eth_chainId",[])}catch(em){try{eb=yield this.send("net_version",[])}catch(eb){}}if(null!=eb){let em=(0,eE.tu)(this.constructor,"getNetwork");try{return em(eC.O$.from(eb).toNumber())}catch(em){return eR.throwError("could not detect network",eI.Yd.errors.NETWORK_ERROR,{chainId:eb,event:"invalidNetwork",serverError:em})}}return eR.throwError("could not detect network",eI.Yd.errors.NETWORK_ERROR,{event:"noNetwork"})})}getSigner(eb){return new eW(e$,this,eb)}getUncheckedSigner(eb){return this.getSigner(eb).connectUnchecked()}listAccounts(){return this.send("eth_accounts",[]).then(eb=>eb.map(eb=>this.formatter.address(eb)))}send(eb,em){let ew={method:eb,params:em,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"request",request:(0,eE.p$)(ew),provider:this});let eM=["eth_chainId","eth_blockNumber"].indexOf(eb)>=0;if(eM&&this._cache[eb])return this._cache[eb];let eC=(0,eN.rd)(this.connection,JSON.stringify(ew),eV).then(eb=>(this.emit("debug",{action:"response",request:ew,response:eb,provider:this}),eb),eb=>{throw this.emit("debug",{action:"response",error:eb,request:ew,provider:this}),eb});return eM&&(this._cache[eb]=eC,setTimeout(()=>{this._cache[eb]=null},0)),eC}prepareRequest(eb,em){switch(eb){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[eH(em.address),em.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[eH(em.address),em.blockTag]];case"getCode":return["eth_getCode",[eH(em.address),em.blockTag]];case"getStorageAt":return["eth_getStorageAt",[eH(em.address),(0,eT.$m)(em.position,32),em.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[em.signedTransaction]];case"getBlock":if(em.blockTag)return["eth_getBlockByNumber",[em.blockTag,!!em.includeTransactions]];if(em.blockHash)return["eth_getBlockByHash",[em.blockHash,!!em.includeTransactions]];break;case"getTransaction":return["eth_getTransactionByHash",[em.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[em.transactionHash]];case"call":{let eb=(0,eE.tu)(this.constructor,"hexlifyTransaction");return["eth_call",[eb(em.transaction,{from:!0}),em.blockTag]]}case"estimateGas":{let eb=(0,eE.tu)(this.constructor,"hexlifyTransaction");return["eth_estimateGas",[eb(em.transaction,{from:!0})]]}case"getLogs":return em.filter&&null!=em.filter.address&&(em.filter.address=eH(em.filter.address)),["eth_getLogs",[em.filter]]}return null}perform(eb,em){return eP(this,void 0,void 0,function*(){if("call"===eb||"estimateGas"===eb){let eb=em.transaction;if(eb&&null!=eb.type&&eC.O$.from(eb.type).isZero()&&null==eb.maxFeePerGas&&null==eb.maxPriorityFeePerGas){let ew=yield this.getFeeData();null==ew.maxFeePerGas&&null==ew.maxPriorityFeePerGas&&((em=(0,eE.DC)(em)).transaction=(0,eE.DC)(eb),delete em.transaction.type)}}let ew=this.prepareRequest(eb,em);null==ew&&eR.throwError(eb+" not implemented",eI.Yd.errors.NOT_IMPLEMENTED,{operation:eb});try{return yield this.send(ew[0],ew[1])}catch(ew){return ej(eb,ew,em)}})}_startEvent(eb){"pending"===eb.tag&&this._startPending(),super._startEvent(eb)}_startPending(){if(null!=this._pendingFilter)return;let eb=this,em=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=em,em.then(function(ew){function eM(){eb.send("eth_getFilterChanges",[ew]).then(function(ew){if(eb._pendingFilter!=em)return null;let eM=Promise.resolve();return ew.forEach(function(em){eb._emitted["t:"+em.toLowerCase()]="pending",eM=eM.then(function(){return eb.getTransaction(em).then(function(em){return eb.emit("pending",em),null})})}),eM.then(function(){return eU(1e3)})}).then(function(){if(eb._pendingFilter!=em){eb.send("eth_uninstallFilter",[ew]);return}return setTimeout(function(){eM()},0),null}).catch(eb=>{})}return eM(),ew}).catch(eb=>{})}_stopEvent(eb){"pending"===eb.tag&&0===this.listenerCount("pending")&&(this._pendingFilter=null),super._stopEvent(eb)}static hexlifyTransaction(eb,em){let ew=(0,eE.DC)(eK);if(em)for(let eb in em)em[eb]&&(ew[eb]=!0);(0,eE.uj)(eb,ew);let eM={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(function(em){if(null==eb[em])return;let ew=(0,eT.$P)(eC.O$.from(eb[em]));"gasLimit"===em&&(em="gas"),eM[em]=ew}),["from","to","data"].forEach(function(em){null!=eb[em]&&(eM[em]=(0,eT.Dv)(eb[em]))}),eb.accessList&&(eM.accessList=(0,eA.z7)(eb.accessList)),eM}}},93901:function(eb,em,ew){"use strict";ew.d(em,{c:function(){return eA},l:function(){return eN}});var eM=ew(6881),eC=ew(1581),eT=ew(34216),e_=ew(82169),eE=function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};let eS=new eC.Yd(eT.i);class eA extends e_.r{detectNetwork(){let eb=Object.create(null,{detectNetwork:{get:()=>super.detectNetwork}});return eE(this,void 0,void 0,function*(){let em=this.network;return null==em&&((em=yield eb.detectNetwork.call(this))||eS.throwError("no network detected",eC.Yd.errors.UNKNOWN_ERROR,{}),null==this._network&&((0,eM.zG)(this,"_network",em),this.emit("network",em,null))),em})}}class eN extends eA{constructor(eb,em){eS.checkAbstract(new.target,eN),eb=(0,eM.tu)(new.target,"getNetwork")(eb),em=(0,eM.tu)(new.target,"getApiKey")(em);let ew=(0,eM.tu)(new.target,"getUrl")(eb,em);super(ew,eb),"string"==typeof em?(0,eM.zG)(this,"apiKey",em):null!=em&&Object.keys(em).forEach(eb=>{(0,eM.zG)(this,eb,em[eb])})}_startPending(){eS.warn("WARNING: API provider does not support pending filters")}isCommunityResource(){return!1}getSigner(eb){return eS.throwError("API provider does not support signing",eC.Yd.errors.UNSUPPORTED_OPERATION,{operation:"getSigner"})}listAccounts(){return Promise.resolve([])}static getApiKey(eb){return eb}static getUrl(eb,em){return eS.throwError("not implemented; sub-classes must override getUrl",eC.Yd.errors.NOT_IMPLEMENTED,{operation:"getUrl"})}}},241:function(eb,em,ew){"use strict";ew.d(em,{Q:function(){return eI}});var eM=ew(6881),eC=ew(1581),eT=ew(34216),e_=ew(82169);let eE=new eC.Yd(eT.i),eS=1;function eA(eb,em){let ew="Web3LegacyFetcher";return function(eb,eC){let eT={method:eb,params:eC,id:eS++,jsonrpc:"2.0"};return new Promise((eb,eC)=>{this.emit("debug",{action:"request",fetcher:ew,request:(0,eM.p$)(eT),provider:this}),em(eT,(em,eM)=>{if(em)return this.emit("debug",{action:"response",fetcher:ew,error:em,request:eT,provider:this}),eC(em);if(this.emit("debug",{action:"response",fetcher:ew,request:eT,response:eM,provider:this}),eM.error){let eb=Error(eM.error.message);return eb.code=eM.error.code,eb.data=eM.error.data,eC(eb)}eb(eM.result)})})}}function eN(eb){return function(em,ew){null==ew&&(ew=[]);let eC={method:em,params:ew};return this.emit("debug",{action:"request",fetcher:"Eip1193Fetcher",request:(0,eM.p$)(eC),provider:this}),eb.request(eC).then(eb=>(this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:eC,response:eb,provider:this}),eb),eb=>{throw this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:eC,error:eb,provider:this}),eb})}}class eI extends e_.r{constructor(eb,em){null==eb&&eE.throwArgumentError("missing provider","provider",eb);let ew=null,eC=null,eT=null;"function"==typeof eb?(ew="unknown:",eC=eb):((ew=eb.host||eb.path||"")||!eb.isMetaMask||(ew="metamask"),eT=eb,eb.request?(""===ew&&(ew="eip-1193:"),eC=eN(eb)):eb.sendAsync?eC=eA(eb,eb.sendAsync.bind(eb)):eb.send?eC=eA(eb,eb.send.bind(eb)):eE.throwArgumentError("unsupported provider","provider",eb),ew||(ew="unknown:")),super(ew,em),(0,eM.zG)(this,"jsonRpcFetchFunc",eC),(0,eM.zG)(this,"provider",eT)}send(eb,em){return this.jsonRpcFetchFunc(eb,em)}}},88089:function(eb,em,ew){"use strict";ew.d(em,{q:function(){return eD}});var eM=ew(2593),eC=ew(6881),eT=ew(82169),e_=ew(1581),eE=ew(34216);let eS=null;try{if(eS=WebSocket,null==eS)throw Error("inject please")}catch(em){let eb=new e_.Yd(eE.i);eS=function(){eb.throwError("WebSockets not supported in this environment",e_.Yd.errors.UNSUPPORTED_OPERATION,{operation:"new WebSocket()"})}}var eA=function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};let eN=new e_.Yd(eE.i),eI=1;class eD extends eT.r{constructor(eb,em){"any"===em&&eN.throwError("WebSocketProvider does not support 'any' network yet",e_.Yd.errors.UNSUPPORTED_OPERATION,{operation:"network:any"}),"string"==typeof eb?super(eb,em):super("_websocket",em),this._pollingInterval=-1,this._wsReady=!1,"string"==typeof eb?(0,eC.zG)(this,"_websocket",new eS(this.connection.url)):(0,eC.zG)(this,"_websocket",eb),(0,eC.zG)(this,"_requests",{}),(0,eC.zG)(this,"_subs",{}),(0,eC.zG)(this,"_subIds",{}),(0,eC.zG)(this,"_detectNetwork",super.detectNetwork()),this.websocket.onopen=()=>{this._wsReady=!0,Object.keys(this._requests).forEach(eb=>{this.websocket.send(this._requests[eb].payload)})},this.websocket.onmessage=eb=>{let em=eb.data,ew=JSON.parse(em);if(null!=ew.id){let eb=String(ew.id),eM=this._requests[eb];if(delete this._requests[eb],void 0!==ew.result)eM.callback(null,ew.result),this.emit("debug",{action:"response",request:JSON.parse(eM.payload),response:ew.result,provider:this});else{let eb=null;ew.error?(eb=Error(ew.error.message||"unknown error"),(0,eC.zG)(eb,"code",ew.error.code||null),(0,eC.zG)(eb,"response",em)):eb=Error("unknown error"),eM.callback(eb,void 0),this.emit("debug",{action:"response",error:eb,request:JSON.parse(eM.payload),provider:this})}}else if("eth_subscription"===ew.method){let eb=this._subs[ew.params.subscription];eb&&eb.processFunc(ew.params.result)}else console.warn("this should not happen")};let ew=setInterval(()=>{this.emit("poll")},1e3);ew.unref&&ew.unref()}get websocket(){return this._websocket}detectNetwork(){return this._detectNetwork}get pollingInterval(){return 0}resetEventsBlock(eb){eN.throwError("cannot reset events block on WebSocketProvider",e_.Yd.errors.UNSUPPORTED_OPERATION,{operation:"resetEventBlock"})}set pollingInterval(eb){eN.throwError("cannot set polling interval on WebSocketProvider",e_.Yd.errors.UNSUPPORTED_OPERATION,{operation:"setPollingInterval"})}poll(){return eA(this,void 0,void 0,function*(){return null})}set polling(eb){eb&&eN.throwError("cannot set polling on WebSocketProvider",e_.Yd.errors.UNSUPPORTED_OPERATION,{operation:"setPolling"})}send(eb,em){let ew=eI++;return new Promise((eM,eC)=>{function eT(eb,em){return eb?eC(eb):eM(em)}let e_=JSON.stringify({method:eb,params:em,id:ew,jsonrpc:"2.0"});this.emit("debug",{action:"request",request:JSON.parse(e_),provider:this}),this._requests[String(ew)]={callback:eT,payload:e_},this._wsReady&&this.websocket.send(e_)})}static defaultUrl(){return"ws://localhost:8546"}_subscribe(eb,em,ew){return eA(this,void 0,void 0,function*(){let eM=this._subIds[eb];null==eM&&(eM=Promise.all(em).then(eb=>this.send("eth_subscribe",eb)),this._subIds[eb]=eM);let eC=yield eM;this._subs[eC]={tag:eb,processFunc:ew}})}_startEvent(eb){switch(eb.type){case"block":this._subscribe("block",["newHeads"],eb=>{let em=eM.O$.from(eb.number).toNumber();this._emitted.block=em,this.emit("block",em)});break;case"pending":this._subscribe("pending",["newPendingTransactions"],eb=>{this.emit("pending",eb)});break;case"filter":this._subscribe(eb.tag,["logs",this._getFilter(eb.filter)],em=>{null==em.removed&&(em.removed=!1),this.emit(eb.filter,this.formatter.filterLog(em))});break;case"tx":{let em=eb=>{let em=eb.hash;this.getTransactionReceipt(em).then(eb=>{eb&&this.emit(em,eb)})};em(eb),this._subscribe("tx",["newHeads"],eb=>{this._events.filter(eb=>"tx"===eb.type).forEach(em)});break}case"debug":case"poll":case"willPoll":case"didPoll":case"error":break;default:console.log("unhandled:",eb)}}_stopEvent(eb){let em=eb.tag;if("tx"===eb.type){if(this._events.filter(eb=>"tx"===eb.type).length)return;em="tx"}else if(this.listenerCount(eb.event))return;let ew=this._subIds[em];ew&&(delete this._subIds[em],ew.then(eb=>{this._subs[eb]&&(delete this._subs[eb],this.send("eth_unsubscribe",[eb]))}))}destroy(){return eA(this,void 0,void 0,function*(){this.websocket.readyState===eS.CONNECTING&&(yield new Promise(eb=>{this.websocket.onopen=function(){eb(!0)},this.websocket.onerror=function(){eb(!1)}})),this.websocket.close(1e3)})}}},5634:function(eb,em,ew){"use strict";ew.d(em,{O:function(){return eN}});var eM=ew(16441),eC=ew(1581);let eT="random/5.7.0",e_=new eC.Yd(eT);function eE(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==ew.g)return ew.g;throw Error("unable to locate global object")}let eS=eE(),eA=eS.crypto||eS.msCrypto;function eN(eb){(eb<=0||eb>1024||eb%1||eb!=eb)&&e_.throwArgumentError("invalid length","length",eb);let em=new Uint8Array(eb);return eA.getRandomValues(em),(0,eM.lE)(em)}eA&&eA.getRandomValues||(e_.warn("WARNING: Missing strong random number source"),eA={getRandomValues:function(eb){return e_.throwError("no secure random source avaialble",eC.Yd.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}})},59052:function(eb,em,ew){"use strict";ew.r(em),ew.d(em,{decode:function(){return eO},encode:function(){return eN}});var eM=ew(16441),eC=ew(1581);let eT="rlp/5.7.0",e_=new eC.Yd(eT);function eE(eb){let em=[];for(;eb;)em.unshift(255&eb),eb>>=8;return em}function eS(eb,em,ew){let eM=0;for(let eC=0;eCem+1+eM&&e_.throwError("child data too short",eC.Yd.errors.BUFFER_OVERRUN,{})}return{consumed:1+eM,result:eT}}function eD(eb,em){if(0===eb.length&&e_.throwError("data too short",eC.Yd.errors.BUFFER_OVERRUN,{}),eb[em]>=248){let ew=eb[em]-247;em+1+ew>eb.length&&e_.throwError("data short segment too short",eC.Yd.errors.BUFFER_OVERRUN,{});let eM=eS(eb,em+1,ew);return em+1+ew+eM>eb.length&&e_.throwError("data long segment too short",eC.Yd.errors.BUFFER_OVERRUN,{}),eI(eb,em,em+1+ew,ew+eM)}if(eb[em]>=192){let ew=eb[em]-192;return em+1+ew>eb.length&&e_.throwError("data array too short",eC.Yd.errors.BUFFER_OVERRUN,{}),eI(eb,em,em+1,ew)}if(eb[em]>=184){let ew=eb[em]-183;em+1+ew>eb.length&&e_.throwError("data array too short",eC.Yd.errors.BUFFER_OVERRUN,{});let eT=eS(eb,em+1,ew);em+1+ew+eT>eb.length&&e_.throwError("data array too short",eC.Yd.errors.BUFFER_OVERRUN,{});let eE=(0,eM.Dv)(eb.slice(em+1+ew,em+1+ew+eT));return{consumed:1+ew+eT,result:eE}}if(eb[em]>=128){let ew=eb[em]-128;em+1+ew>eb.length&&e_.throwError("data too short",eC.Yd.errors.BUFFER_OVERRUN,{});let eT=(0,eM.Dv)(eb.slice(em+1,em+1+ew));return{consumed:1+ew,result:eT}}return{consumed:1,result:(0,eM.Dv)(eb[em])}}function eO(eb){let em=(0,eM.lE)(eb),ew=eD(em,0);return ew.consumed!==em.length&&e_.throwArgumentError("invalid rlp data","data",eb),ew.result}},2006:function(eb,em,ew){"use strict";ew.d(em,{Gy:function(){return eO},bP:function(){return eN},JQ:function(){return eI},o:function(){return eD}});var eM=ew(33715),eC=ew.n(eM),eT=ew(16441),e_=ew(21261),eE=ew(1581);let eS="sha2/5.7.0",eA=new eE.Yd(eS);function eN(eb){return"0x"+eC().ripemd160().update((0,eT.lE)(eb)).digest("hex")}function eI(eb){return"0x"+eC().sha256().update((0,eT.lE)(eb)).digest("hex")}function eD(eb){return"0x"+eC().sha512().update((0,eT.lE)(eb)).digest("hex")}function eO(eb,em,ew){return e_.p[eb]||eA.throwError("unsupported algorithm "+eb,eE.Yd.errors.UNSUPPORTED_OPERATION,{operation:"hmac",algorithm:eb}),"0x"+eC().hmac(eC()[eb],(0,eT.lE)(em)).update((0,eT.lE)(ew)).digest("hex")}},21261:function(eb,em,ew){"use strict";var eM;ew.d(em,{p:function(){return eM}}),function(eb){eb.sha256="sha256",eb.sha512="sha512"}(eM||(eM={}))},67669:function(eb,em,ew){"use strict";ew.d(em,{Et:function(){return tR},VW:function(){return tF},LO:function(){return tB}});var eM=ew(13550),eC=ew.n(eM),eT=ew(33715),e_=ew.n(eT);function eE(eb,em,ew){return eb(ew={path:em,exports:{},require:function(eb,em){return eS(eb,null==em?ew.path:em)}},ew.exports),ew.exports}function eS(){throw Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==ew.g?ew.g:"undefined"!=typeof self&&self;var eA=eN;function eN(eb,em){if(!eb)throw Error(em||"Assertion failed")}eN.equal=function(eb,em,ew){if(eb!=em)throw Error(ew||"Assertion failed: "+eb+" != "+em)};var eI=eE(function(eb,em){var ew=em;function eM(eb,em){if(Array.isArray(eb))return eb.slice();if(!eb)return[];var ew=[];if("string"!=typeof eb){for(var eM=0;eM>8,e_=255&eC;eT?ew.push(eT,e_):ew.push(e_)}return ew}function eC(eb){return 1===eb.length?"0"+eb:eb}function eT(eb){for(var em="",ew=0;ew(eC>>1)-1?(eC>>1)-eS:eS,eT.isubn(eE)):eE=0,eM[e_]=eE,eT.iushrn(1)}return eM}function eT(eb,em){var ew=[[],[]];eb=eb.clone(),em=em.clone();for(var eM=0,eC=0;eb.cmpn(-eM)>0||em.cmpn(-eC)>0;){var eT,e_,eE,eS=eb.andln(3)+eM&3,eA=em.andln(3)+eC&3;3===eS&&(eS=-1),3===eA&&(eA=-1),e_=(1&eS)==0?0:(3==(eT=eb.andln(7)+eM&7)||5===eT)&&2===eA?-eS:eS,ew[0].push(e_),eE=(1&eA)==0?0:(3==(eT=em.andln(7)+eC&7)||5===eT)&&2===eS?-eA:eA,ew[1].push(eE),2*eM===e_+1&&(eM=1-eM),2*eC===eE+1&&(eC=1-eC),eb.iushrn(1),em.iushrn(1)}return ew}function e_(eb,em,ew){var eM="_"+em;eb.prototype[em]=function(){return void 0!==this[eM]?this[eM]:this[eM]=ew.call(this)}}function eE(eb){return"string"==typeof eb?ew.toArray(eb,"hex"):eb}function eS(eb){return new(eC())(eb,"hex","le")}ew.assert=eA,ew.toArray=eI.toArray,ew.zero2=eI.zero2,ew.toHex=eI.toHex,ew.encode=eI.encode,ew.getNAF=eM,ew.getJSF=eT,ew.cachedProperty=e_,ew.parseBytes=eE,ew.intFromLE=eS}),eO=eD.getNAF,eP=eD.getJSF,eR=eD.assert;function eB(eb,em){this.type=eb,this.p=new(eC())(em.p,16),this.red=em.prime?eC().red(em.prime):eC().mont(this.p),this.zero=new(eC())(0).toRed(this.red),this.one=new(eC())(1).toRed(this.red),this.two=new(eC())(2).toRed(this.red),this.n=em.n&&new(eC())(em.n,16),this.g=em.g&&this.pointFromJSON(em.g,em.gRed),this._wnafT1=[,,,,],this._wnafT2=[,,,,],this._wnafT3=[,,,,],this._wnafT4=[,,,,],this._bitLength=this.n?this.n.bitLength():0;var ew=this.n&&this.p.div(this.n);!ew||ew.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var eF=eB;function ej(eb,em){this.curve=eb,this.type=em,this.precomputed=null}eB.prototype.point=function(){throw Error("Not implemented")},eB.prototype.validate=function(){throw Error("Not implemented")},eB.prototype._fixedNafMul=function(eb,em){eR(eb.precomputed);var ew,eM,eC=eb._getDoubles(),eT=eO(em,1,this._bitLength),e_=(1<=ew;eS--)eM=(eM<<1)+eT[eS];eE.push(eM)}for(var eA=this.jpoint(null,null,null),eN=this.jpoint(null,null,null),eI=e_;eI>0;eI--){for(ew=0;ew=0;eE--){for(var eS=0;eE>=0&&0===eT[eE];eE--)eS++;if(eE>=0&&eS++,e_=e_.dblp(eS),eE<0)break;var eA=eT[eE];eR(0!==eA),e_="affine"===eb.type?eA>0?e_.mixedAdd(eC[eA-1>>1]):e_.mixedAdd(eC[-eA-1>>1].neg()):eA>0?e_.add(eC[eA-1>>1]):e_.add(eC[-eA-1>>1].neg())}return"affine"===eb.type?e_.toP():e_},eB.prototype._wnafMulAdd=function(eb,em,ew,eM,eC){var eT,e_,eE,eS=this._wnafT1,eA=this._wnafT2,eN=this._wnafT3,eI=0;for(eT=0;eT=1;eT-=2){var eR=eT-1,eB=eT;if(1!==eS[eR]||1!==eS[eB]){eN[eR]=eO(ew[eR],eS[eR],this._bitLength),eN[eB]=eO(ew[eB],eS[eB],this._bitLength),eI=Math.max(eN[eR].length,eI),eI=Math.max(eN[eB].length,eI);continue}var eF=[em[eR],null,null,em[eB]];0===em[eR].y.cmp(em[eB].y)?(eF[1]=em[eR].add(em[eB]),eF[2]=em[eR].toJ().mixedAdd(em[eB].neg())):0===em[eR].y.cmp(em[eB].y.redNeg())?(eF[1]=em[eR].toJ().mixedAdd(em[eB]),eF[2]=em[eR].add(em[eB].neg())):(eF[1]=em[eR].toJ().mixedAdd(em[eB]),eF[2]=em[eR].toJ().mixedAdd(em[eB].neg()));var ej=[-3,-1,-5,-7,0,7,5,1,3],eU=eP(ew[eR],ew[eB]);for(e_=0,eI=Math.max(eU[0].length,eI),eN[eR]=Array(eI),eN[eB]=Array(eI);e_=0;eT--){for(var eZ=0;eT>=0;){var eK=!0;for(e_=0;e_=0&&eZ++,e$=e$.dblp(eZ),eT<0)break;for(e_=0;e_0?eE=eA[e_][eG-1>>1]:eG<0&&(eE=eA[e_][-eG-1>>1].neg()),e$="affine"===eE.type?e$.mixedAdd(eE):e$.add(eE))}}for(eT=0;eT=Math.ceil((eb.bitLength()+1)/em.step)},ej.prototype._getDoubles=function(eb,em){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var ew=[this],eM=this,eC=0;eCeT[0].cmp(eT[1])?eT[0]:eT[1]).toRed(this.red)}if(eb.lambda)ew=new(eC())(eb.lambda,16);else{var e_=this._getEndoRoots(this.n);0===this.g.mul(e_[0]).x.cmp(this.g.x.redMul(em))?ew=e_[0]:(ew=e_[1],eV(0===this.g.mul(ew).x.cmp(this.g.x.redMul(em))))}return eM=eb.basis?eb.basis.map(function(eb){return{a:new(eC())(eb.a,16),b:new(eC())(eb.b,16)}}):this._getEndoBasis(ew),{beta:em,lambda:ew,basis:eM}}},eH.prototype._getEndoRoots=function(eb){var em=eb===this.p?this.red:eC().mont(eb),ew=new(eC())(2).toRed(em).redInvm(),eM=ew.redNeg(),eT=new(eC())(3).toRed(em).redNeg().redSqrt().redMul(ew);return[eM.redAdd(eT).fromRed(),eM.redSub(eT).fromRed()]},eH.prototype._getEndoBasis=function(eb){for(var em,ew,eM,eT,e_,eE,eS,eA,eN,eI=this.n.ushrn(Math.floor(this.n.bitLength()/2)),eD=eb,eO=this.n.clone(),eP=new(eC())(1),eR=new(eC())(0),eB=new(eC())(0),eF=new(eC())(1),ej=0;0!==eD.cmpn(0);){var eU=eO.div(eD);eA=eO.sub(eU.mul(eD)),eN=eB.sub(eU.mul(eP));var eV=eF.sub(eU.mul(eR));if(!eM&&0>eA.cmp(eI))em=eS.neg(),ew=eP,eM=eA.neg(),eT=eN;else if(eM&&2==++ej)break;eS=eA,eO=eD,eD=eA,eB=eP,eP=eN,eF=eR,eR=eV}e_=eA.neg(),eE=eN;var eH=eM.sqr().add(eT.sqr());return e_.sqr().add(eE.sqr()).cmp(eH)>=0&&(e_=em,eE=ew),eM.negative&&(eM=eM.neg(),eT=eT.neg()),e_.negative&&(e_=e_.neg(),eE=eE.neg()),[{a:eM,b:eT},{a:e_,b:eE}]},eH.prototype._endoSplit=function(eb){var em=this.endo.basis,ew=em[0],eM=em[1],eC=eM.b.mul(eb).divRound(this.n),eT=ew.b.neg().mul(eb).divRound(this.n),e_=eC.mul(ew.a),eE=eT.mul(eM.a),eS=eC.mul(ew.b),eA=eT.mul(eM.b);return{k1:eb.sub(e_).sub(eE),k2:eS.add(eA).neg()}},eH.prototype.pointFromX=function(eb,em){(eb=new(eC())(eb,16)).red||(eb=eb.toRed(this.red));var ew=eb.redSqr().redMul(eb).redIAdd(eb.redMul(this.a)).redIAdd(this.b),eM=ew.redSqrt();if(0!==eM.redSqr().redSub(ew).cmp(this.zero))throw Error("invalid point");var eT=eM.fromRed().isOdd();return(em&&!eT||!em&&eT)&&(eM=eM.redNeg()),this.point(eb,eM)},eH.prototype.validate=function(eb){if(eb.inf)return!0;var em=eb.x,ew=eb.y,eM=this.a.redMul(em),eC=em.redSqr().redMul(em).redIAdd(eM).redIAdd(this.b);return 0===ew.redSqr().redISub(eC).cmpn(0)},eH.prototype._endoWnafMulAdd=function(eb,em,ew){for(var eM=this._endoWnafT1,eC=this._endoWnafT2,eT=0;eT":""},eW.prototype.isInfinity=function(){return this.inf},eW.prototype.add=function(eb){if(this.inf)return eb;if(eb.inf)return this;if(this.eq(eb))return this.dbl();if(this.neg().eq(eb)||0===this.x.cmp(eb.x))return this.curve.point(null,null);var em=this.y.redSub(eb.y);0!==em.cmpn(0)&&(em=em.redMul(this.x.redSub(eb.x).redInvm()));var ew=em.redSqr().redISub(this.x).redISub(eb.x),eM=em.redMul(this.x.redSub(ew)).redISub(this.y);return this.curve.point(ew,eM)},eW.prototype.dbl=function(){if(this.inf)return this;var eb=this.y.redAdd(this.y);if(0===eb.cmpn(0))return this.curve.point(null,null);var em=this.curve.a,ew=this.x.redSqr(),eM=eb.redInvm(),eC=ew.redAdd(ew).redIAdd(ew).redIAdd(em).redMul(eM),eT=eC.redSqr().redISub(this.x.redAdd(this.x)),e_=eC.redMul(this.x.redSub(eT)).redISub(this.y);return this.curve.point(eT,e_)},eW.prototype.getX=function(){return this.x.fromRed()},eW.prototype.getY=function(){return this.y.fromRed()},eW.prototype.mul=function(eb){return(eb=new(eC())(eb,16),this.isInfinity())?this:this._hasDoubles(eb)?this.curve._fixedNafMul(this,eb):this.curve.endo?this.curve._endoWnafMulAdd([this],[eb]):this.curve._wnafMul(this,eb)},eW.prototype.mulAdd=function(eb,em,ew){var eM=[this,em],eC=[eb,ew];return this.curve.endo?this.curve._endoWnafMulAdd(eM,eC):this.curve._wnafMulAdd(1,eM,eC,2)},eW.prototype.jmulAdd=function(eb,em,ew){var eM=[this,em],eC=[eb,ew];return this.curve.endo?this.curve._endoWnafMulAdd(eM,eC,!0):this.curve._wnafMulAdd(1,eM,eC,2,!0)},eW.prototype.eq=function(eb){return this===eb||this.inf===eb.inf&&(this.inf||0===this.x.cmp(eb.x)&&0===this.y.cmp(eb.y))},eW.prototype.neg=function(eb){if(this.inf)return this;var em=this.curve.point(this.x,this.y.redNeg());if(eb&&this.precomputed){var ew=this.precomputed,eM=function(eb){return eb.neg()};em.precomputed={naf:ew.naf&&{wnd:ew.naf.wnd,points:ew.naf.points.map(eM)},doubles:ew.doubles&&{step:ew.doubles.step,points:ew.doubles.points.map(eM)}}}return em},eW.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},eU(eZ,eF.BasePoint),eH.prototype.jpoint=function(eb,em,ew){return new eZ(this,eb,em,ew)},eZ.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var eb=this.z.redInvm(),em=eb.redSqr(),ew=this.x.redMul(em),eM=this.y.redMul(em).redMul(eb);return this.curve.point(ew,eM)},eZ.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},eZ.prototype.add=function(eb){if(this.isInfinity())return eb;if(eb.isInfinity())return this;var em=eb.z.redSqr(),ew=this.z.redSqr(),eM=this.x.redMul(em),eC=eb.x.redMul(ew),eT=this.y.redMul(em.redMul(eb.z)),e_=eb.y.redMul(ew.redMul(this.z)),eE=eM.redSub(eC),eS=eT.redSub(e_);if(0===eE.cmpn(0))return 0!==eS.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var eA=eE.redSqr(),eN=eA.redMul(eE),eI=eM.redMul(eA),eD=eS.redSqr().redIAdd(eN).redISub(eI).redISub(eI),eO=eS.redMul(eI.redISub(eD)).redISub(eT.redMul(eN)),eP=this.z.redMul(eb.z).redMul(eE);return this.curve.jpoint(eD,eO,eP)},eZ.prototype.mixedAdd=function(eb){if(this.isInfinity())return eb.toJ();if(eb.isInfinity())return this;var em=this.z.redSqr(),ew=this.x,eM=eb.x.redMul(em),eC=this.y,eT=eb.y.redMul(em).redMul(this.z),e_=ew.redSub(eM),eE=eC.redSub(eT);if(0===e_.cmpn(0))return 0!==eE.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var eS=e_.redSqr(),eA=eS.redMul(e_),eN=ew.redMul(eS),eI=eE.redSqr().redIAdd(eA).redISub(eN).redISub(eN),eD=eE.redMul(eN.redISub(eI)).redISub(eC.redMul(eA)),eO=this.z.redMul(e_);return this.curve.jpoint(eI,eD,eO)},eZ.prototype.dblp=function(eb){if(0===eb||this.isInfinity())return this;if(!eb)return this.dbl();if(this.curve.zeroA||this.curve.threeA){var em,ew=this;for(em=0;em=0)return!1;if(ew.redIAdd(eC),0===this.x.cmp(ew))return!0}},eZ.prototype.inspect=function(){return this.isInfinity()?"":""},eZ.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var eK=eE(function(eb,em){var ew=em;ew.base=eF,ew.short=e$,ew.mont=null,ew.edwards=null}),eG=eE(function(eb,em){var ew,eM=em,eC=eD.assert;function eT(eb){"short"===eb.type?this.curve=new eK.short(eb):"edwards"===eb.type?this.curve=new eK.edwards(eb):this.curve=new eK.mont(eb),this.g=this.curve.g,this.n=this.curve.n,this.hash=eb.hash,eC(this.g.validate(),"Invalid curve"),eC(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function eE(eb,em){Object.defineProperty(eM,eb,{configurable:!0,enumerable:!0,get:function(){var ew=new eT(em);return Object.defineProperty(eM,eb,{configurable:!0,enumerable:!0,value:ew}),ew}})}eM.PresetCurve=eT,eE("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:e_().sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),eE("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:e_().sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),eE("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:e_().sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),eE("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:e_().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"]}),eE("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:e_().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"]}),eE("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:e_().sha256,gRed:!1,g:["9"]}),eE("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:e_().sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{ew=null.crash()}catch(eb){ew=void 0}eE("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:e_().sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",ew]})});function eY(eb){if(!(this instanceof eY))return new eY(eb);this.hash=eb.hash,this.predResist=!!eb.predResist,this.outLen=this.hash.outSize,this.minEntropy=eb.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var em=eI.toArray(eb.entropy,eb.entropyEnc||"hex"),ew=eI.toArray(eb.nonce,eb.nonceEnc||"hex"),eM=eI.toArray(eb.pers,eb.persEnc||"hex");eA(em.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(em,ew,eM)}var eJ=eY;eY.prototype._init=function(eb,em,ew){var eM=eb.concat(em).concat(ew);this.K=Array(this.outLen/8),this.V=Array(this.outLen/8);for(var eC=0;eC=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(eb.concat(ew||[])),this._reseed=1},eY.prototype.generate=function(eb,em,ew,eM){if(this._reseed>this.reseedInterval)throw Error("Reseed is required");"string"!=typeof em&&(eM=ew,ew=em,em=null),ew&&(ew=eI.toArray(ew,eM||"hex"),this._update(ew));for(var eC=[];eC.length"};var e6=eD.assert;function e4(eb,em){if(eb instanceof e4)return eb;this._importDER(eb,em)||(e6(eb.r&&eb.s,"Signature without r or s"),this.r=new(eC())(eb.r,16),this.s=new(eC())(eb.s,16),void 0===eb.recoveryParam?this.recoveryParam=null:this.recoveryParam=eb.recoveryParam)}var e3=e4;function e5(){this.place=0}function e8(eb,em){var ew=eb[em.place++];if(!(128&ew))return ew;var eM=15&ew;if(0===eM||eM>4)return!1;for(var eC=0,eT=0,e_=em.place;eT>>=0;return!(eC<=127)&&(em.place=e_,eC)}function e9(eb){for(var em=0,ew=eb.length-1;!eb[em]&&!(128&eb[em+1])&&em>>3);for(eb.push(128|ew);--ew;)eb.push(em>>>(ew<<3)&255);eb.push(em)}e4.prototype._importDER=function(eb,em){eb=eD.toArray(eb,em);var ew=new e5;if(48!==eb[ew.place++])return!1;var eM=e8(eb,ew);if(!1===eM||eM+ew.place!==eb.length||2!==eb[ew.place++])return!1;var eT=e8(eb,ew);if(!1===eT)return!1;var e_=eb.slice(ew.place,eT+ew.place);if(ew.place+=eT,2!==eb[ew.place++])return!1;var eE=e8(eb,ew);if(!1===eE||eb.length!==eE+ew.place)return!1;var eS=eb.slice(ew.place,eE+ew.place);if(0===e_[0]){if(!(128&e_[1]))return!1;e_=e_.slice(1)}if(0===eS[0]){if(!(128&eS[1]))return!1;eS=eS.slice(1)}return this.r=new(eC())(e_),this.s=new(eC())(eS),this.recoveryParam=null,!0},e4.prototype.toDER=function(eb){var em=this.r.toArray(),ew=this.s.toArray();for(128&em[0]&&(em=[0].concat(em)),128&ew[0]&&(ew=[0].concat(ew)),em=e9(em),ew=e9(ew);!ew[0]&&!(128&ew[1]);)ew=ew.slice(1);var eM=[2];e7(eM,em.length),(eM=eM.concat(em)).push(2),e7(eM,ew.length);var eC=eM.concat(ew),eT=[48];return e7(eT,eC.length),eT=eT.concat(eC),eD.encode(eT,eb)};var tw=function(){throw Error("unsupported")},tC=eD.assert;function tT(eb){if(!(this instanceof tT))return new tT(eb);"string"==typeof eb&&(tC(Object.prototype.hasOwnProperty.call(eG,eb),"Unknown curve "+eb),eb=eG[eb]),eb instanceof eG.PresetCurve&&(eb={curve:eb}),this.curve=eb.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=eb.curve.g,this.g.precompute(eb.curve.n.bitLength()+1),this.hash=eb.hash||eb.curve.hash}var t_=tT;tT.prototype.keyPair=function(eb){return new e0(this,eb)},tT.prototype.keyFromPrivate=function(eb,em){return e0.fromPrivate(this,eb,em)},tT.prototype.keyFromPublic=function(eb,em){return e0.fromPublic(this,eb,em)},tT.prototype.genKeyPair=function(eb){eb||(eb={});for(var em=new eJ({hash:this.hash,pers:eb.pers,persEnc:eb.persEnc||"utf8",entropy:eb.entropy||tw(this.hash.hmacStrength),entropyEnc:eb.entropy&&eb.entropyEnc||"utf8",nonce:this.n.toArray()}),ew=this.n.byteLength(),eM=this.n.sub(new(eC())(2));;){var eT=new(eC())(em.generate(ew));if(!(eT.cmp(eM)>0))return eT.iaddn(1),this.keyFromPrivate(eT)}},tT.prototype._truncateToN=function(eb,em){var ew=8*eb.byteLength()-this.n.bitLength();return(ew>0&&(eb=eb.ushrn(ew)),!em&&eb.cmp(this.n)>=0)?eb.sub(this.n):eb},tT.prototype.sign=function(eb,em,ew,eM){"object"==typeof ew&&(eM=ew,ew=null),eM||(eM={}),em=this.keyFromPrivate(em,ew),eb=this._truncateToN(new(eC())(eb,16));for(var eT=this.n.byteLength(),e_=em.getPrivate().toArray("be",eT),eE=eb.toArray("be",eT),eS=new eJ({hash:this.hash,entropy:e_,nonce:eE,pers:eM.pers,persEnc:eM.persEnc||"utf8"}),eA=this.n.sub(new(eC())(1)),eN=0;;eN++){var eI=eM.k?eM.k(eN):new(eC())(eS.generate(this.n.byteLength()));if(!(0>=(eI=this._truncateToN(eI,!0)).cmpn(1)||eI.cmp(eA)>=0)){var eD=this.g.mul(eI);if(!eD.isInfinity()){var eO=eD.getX(),eP=eO.umod(this.n);if(0!==eP.cmpn(0)){var eR=eI.invm(this.n).mul(eP.mul(em.getPrivate()).iadd(eb));if(0!==(eR=eR.umod(this.n)).cmpn(0)){var eB=(eD.getY().isOdd()?1:0)|(0!==eO.cmp(eP)?2:0);return eM.canonical&&eR.cmp(this.nh)>0&&(eR=this.n.sub(eR),eB^=1),new e3({r:eP,s:eR,recoveryParam:eB})}}}}}},tT.prototype.verify=function(eb,em,ew,eM){eb=this._truncateToN(new(eC())(eb,16)),ew=this.keyFromPublic(ew,eM);var eT,e_=(em=new e3(em,"hex")).r,eE=em.s;if(0>e_.cmpn(1)||e_.cmp(this.n)>=0||0>eE.cmpn(1)||eE.cmp(this.n)>=0)return!1;var eS=eE.invm(this.n),eA=eS.mul(eb).umod(this.n),eN=eS.mul(e_).umod(this.n);return this.curve._maxwellTrick?!(eT=this.g.jmulAdd(eA,ew.getPublic(),eN)).isInfinity()&&eT.eqXToP(e_):!(eT=this.g.mulAdd(eA,ew.getPublic(),eN)).isInfinity()&&0===eT.getX().umod(this.n).cmp(e_)},tT.prototype.recoverPubKey=function(eb,em,ew,eM){tC((3&ew)===ew,"The recovery param is more than two bits"),em=new e3(em,eM);var eT=this.n,e_=new(eC())(eb),eE=em.r,eS=em.s,eA=1&ew,eN=ew>>1;if(eE.cmp(this.curve.p.umod(this.curve.n))>=0&&eN)throw Error("Unable to find sencond key candinate");eE=eN?this.curve.pointFromX(eE.add(this.curve.n),eA):this.curve.pointFromX(eE,eA);var eI=em.r.invm(eT),eD=eT.sub(e_).mul(eI).umod(eT),eO=eS.mul(eI).umod(eT);return this.g.mulAdd(eD,eE,eO)},tT.prototype.getKeyRecoveryParam=function(eb,em,ew,eM){if(null!==(em=new e3(em,eM)).recoveryParam)return em.recoveryParam;for(var eC,eT=0;eT<4;eT++){try{eC=this.recoverPubKey(eb,em,eT)}catch(eb){continue}if(eC.eq(ew))return eT}throw Error("Unable to find valid recovery factor")};var tE=eE(function(eb,em){var ew=em;ew.version="6.5.4",ew.utils=eD,ew.rand=function(){throw Error("unsupported")},ew.curve=eK,ew.curves=eG,ew.ec=t_,ew.eddsa=null}).ec,tS=ew(16441),tA=ew(6881),tN=ew(1581);let tI="signing-key/5.7.0",tD=new tN.Yd(tI),tO=null;function tP(){return tO||(tO=new tE("secp256k1")),tO}class tR{constructor(eb){(0,tA.zG)(this,"curve","secp256k1"),(0,tA.zG)(this,"privateKey",(0,tS.Dv)(eb)),32!==(0,tS.E1)(this.privateKey)&&tD.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");let em=tP().keyFromPrivate((0,tS.lE)(this.privateKey));(0,tA.zG)(this,"publicKey","0x"+em.getPublic(!1,"hex")),(0,tA.zG)(this,"compressedPublicKey","0x"+em.getPublic(!0,"hex")),(0,tA.zG)(this,"_isSigningKey",!0)}_addPoint(eb){let em=tP().keyFromPublic((0,tS.lE)(this.publicKey)),ew=tP().keyFromPublic((0,tS.lE)(eb));return"0x"+em.pub.add(ew.pub).encodeCompressed("hex")}signDigest(eb){let em=tP().keyFromPrivate((0,tS.lE)(this.privateKey)),ew=(0,tS.lE)(eb);32!==ew.length&&tD.throwArgumentError("bad digest length","digest",eb);let eM=em.sign(ew,{canonical:!0});return(0,tS.N)({recoveryParam:eM.recoveryParam,r:(0,tS.$m)("0x"+eM.r.toString(16),32),s:(0,tS.$m)("0x"+eM.s.toString(16),32)})}computeSharedSecret(eb){let em=tP().keyFromPrivate((0,tS.lE)(this.privateKey)),ew=tP().keyFromPublic((0,tS.lE)(tF(eb)));return(0,tS.$m)("0x"+em.derive(ew.getPublic()).toString(16),32)}static isSigningKey(eb){return!!(eb&&eb._isSigningKey)}}function tB(eb,em){let ew=(0,tS.N)(em),eM={r:(0,tS.lE)(ew.r),s:(0,tS.lE)(ew.s)};return"0x"+tP().recoverPubKey((0,tS.lE)(eb),eM,ew.recoveryParam).encode("hex",!1)}function tF(eb,em){let ew=(0,tS.lE)(eb);if(32===ew.length){let eb=new tR(ew);return em?"0x"+tP().keyFromPrivate(ew).getPublic(!0,"hex"):eb.publicKey}return 33===ew.length?em?(0,tS.Dv)(ew):"0x"+tP().keyFromPublic(ew).getPublic(!1,"hex"):65===ew.length?em?"0x"+tP().keyFromPublic(ew).getPublic(!0,"hex"):(0,tS.Dv)(ew):tD.throwArgumentError("invalid public or private key","key","[REDACTED]")}},29251:function(eb,em,ew){"use strict";ew.d(em,{Uj:function(){return eM},te:function(){return eD},Uw:function(){return eC},U$:function(){return eB},uu:function(){return eF},Y0:function(){return eP},XL:function(){return eU},ZN:function(){return ej}});var eM,eC,eT=ew(16441),e_=ew(1581);let eE="strings/5.7.0",eS=new e_.Yd(eE);function eA(eb,em,ew,eM,eC){return eS.throwArgumentError(`invalid codepoint at offset ${em}; ${eb}`,"bytes",ew)}function eN(eb,em,ew,eM,eT){if(eb===eC.BAD_PREFIX||eb===eC.UNEXPECTED_CONTINUE){let eb=0;for(let eM=em+1;eM>6==2;eM++)eb++;return eb}return eb===eC.OVERRUN?ew.length-em-1:0}function eI(eb,em,ew,eM,eT){return eb===eC.OVERLONG?(eM.push(eT),0):(eM.push(65533),eN(eb,em,ew,eM,eT))}!function(eb){eb.current="",eb.NFC="NFC",eb.NFD="NFD",eb.NFKC="NFKC",eb.NFKD="NFKD"}(eM||(eM={})),function(eb){eb.UNEXPECTED_CONTINUE="unexpected continuation byte",eb.BAD_PREFIX="bad codepoint prefix",eb.OVERRUN="string overrun",eb.MISSING_CONTINUE="missing continuation byte",eb.OUT_OF_RANGE="out of UTF-8 range",eb.UTF16_SURROGATE="UTF-16 surrogate",eb.OVERLONG="overlong representation"}(eC||(eC={}));let eD=Object.freeze({error:eA,ignore:eN,replace:eI});function eO(eb,em){null==em&&(em=eD.error),eb=(0,eT.lE)(eb);let ew=[],eM=0;for(;eM>7==0){ew.push(eT);continue}let e_=null,eE=null;if((224&eT)==192)e_=1,eE=127;else if((240&eT)==224)e_=2,eE=2047;else if((248&eT)==240)e_=3,eE=65535;else{(192&eT)==128?eM+=em(eC.UNEXPECTED_CONTINUE,eM-1,eb,ew):eM+=em(eC.BAD_PREFIX,eM-1,eb,ew);continue}if(eM-1+e_>=eb.length){eM+=em(eC.OVERRUN,eM-1,eb,ew);continue}let eS=eT&(1<<8-e_-1)-1;for(let eT=0;eT1114111){eM+=em(eC.OUT_OF_RANGE,eM-1-e_,eb,ew,eS);continue}if(eS>=55296&&eS<=57343){eM+=em(eC.UTF16_SURROGATE,eM-1-e_,eb,ew,eS);continue}if(eS<=eE){eM+=em(eC.OVERLONG,eM-1-e_,eb,ew,eS);continue}ew.push(eS)}}return ew}function eP(eb,em=eM.current){em!=eM.current&&(eS.checkNormalize(),eb=eb.normalize(em));let ew=[];for(let em=0;em>6|192),ew.push(63&eM|128);else if((64512&eM)==55296){em++;let eC=eb.charCodeAt(em);if(em>=eb.length||(64512&eC)!=56320)throw Error("invalid utf-8 string");let eT=65536+((1023&eM)<<10)+(1023&eC);ew.push(eT>>18|240),ew.push(eT>>12&63|128),ew.push(eT>>6&63|128),ew.push(63&eT|128)}else ew.push(eM>>12|224),ew.push(eM>>6&63|128),ew.push(63&eM|128)}return(0,eT.lE)(ew)}function eR(eb){let em="0000"+eb.toString(16);return"\\u"+em.substring(em.length-4)}function eB(eb,em){return'"'+eO(eb,em).map(eb=>{if(eb<256){switch(eb){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(eb>=32&&eb<127)return String.fromCharCode(eb)}return eb<=65535?eR(eb):eR(((eb-=65536)>>10&1023)+55296)+eR((1023&eb)+56320)}).join("")+'"'}function eF(eb){return eb.map(eb=>eb<=65535?String.fromCharCode(eb):String.fromCharCode(((eb-=65536)>>10&1023)+55296,(1023&eb)+56320)).join("")}function ej(eb,em){return eF(eO(eb,em))}function eU(eb,em=eM.current){return eO(eP(eb,em))}},83875:function(eb,em,ew){"use strict";ew.d(em,{em:function(){return eM},z7:function(){return eW},db:function(){return eU},Qc:function(){return e4},RJ:function(){return eV},qC:function(){return eJ}});var eM,eC=ew(19485),eT=ew(2593),e_=ew(16441),eE=ew(21046),eS=ew(38197),eA=ew(6881),eN=ew(59052),eI=ew(67669),eD=ew(1581);let eO="transactions/5.7.0",eP=new eD.Yd(eO);function eR(eb){return"0x"===eb?null:(0,eC.Kn)(eb)}function eB(eb){return"0x"===eb?eE._Y:eT.O$.from(eb)}!function(eb){eb[eb.legacy=0]="legacy",eb[eb.eip2930=1]="eip2930",eb[eb.eip1559=2]="eip1559"}(eM||(eM={}));let eF=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],ej={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,type:!0,value:!0};function eU(eb){let em=(0,eI.VW)(eb);return(0,eC.Kn)((0,e_.p3)((0,eS.w)((0,e_.p3)(em,1)),12))}function eV(eb,em){return eU((0,eI.LO)((0,e_.lE)(eb),em))}function eH(eb,em){let ew=(0,e_.G1)(eT.O$.from(eb).toHexString());return ew.length>32&&eP.throwArgumentError("invalid length for "+em,"transaction:"+em,eb),ew}function e$(eb,em){return{address:(0,eC.Kn)(eb),storageKeys:(em||[]).map((em,ew)=>(32!==(0,e_.E1)(em)&&eP.throwArgumentError("invalid access list storageKey",`accessList[${eb}:${ew}]`,em),em.toLowerCase()))}}function eW(eb){if(Array.isArray(eb))return eb.map((eb,em)=>Array.isArray(eb)?(eb.length>2&&eP.throwArgumentError("access list expected to be [ address, storageKeys[] ]",`value[${em}]`,eb),e$(eb[0],eb[1])):e$(eb.address,eb.storageKeys));let em=Object.keys(eb).map(em=>{let ew=eb[em].reduce((eb,em)=>(eb[em]=!0,eb),{});return e$(em,Object.keys(ew).sort())});return em.sort((eb,em)=>eb.address.localeCompare(em.address)),em}function eZ(eb){return eW(eb).map(eb=>[eb.address,eb.storageKeys])}function eK(eb,em){if(null!=eb.gasPrice){let em=eT.O$.from(eb.gasPrice),ew=eT.O$.from(eb.maxFeePerGas||0);em.eq(ew)||eP.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:em,maxFeePerGas:ew})}let ew=[eH(eb.chainId||0,"chainId"),eH(eb.nonce||0,"nonce"),eH(eb.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),eH(eb.maxFeePerGas||0,"maxFeePerGas"),eH(eb.gasLimit||0,"gasLimit"),null!=eb.to?(0,eC.Kn)(eb.to):"0x",eH(eb.value||0,"value"),eb.data||"0x",eZ(eb.accessList||[])];if(em){let eb=(0,e_.N)(em);ew.push(eH(eb.recoveryParam,"recoveryParam")),ew.push((0,e_.G1)(eb.r)),ew.push((0,e_.G1)(eb.s))}return(0,e_.xs)(["0x02",eN.encode(ew)])}function eG(eb,em){let ew=[eH(eb.chainId||0,"chainId"),eH(eb.nonce||0,"nonce"),eH(eb.gasPrice||0,"gasPrice"),eH(eb.gasLimit||0,"gasLimit"),null!=eb.to?(0,eC.Kn)(eb.to):"0x",eH(eb.value||0,"value"),eb.data||"0x",eZ(eb.accessList||[])];if(em){let eb=(0,e_.N)(em);ew.push(eH(eb.recoveryParam,"recoveryParam")),ew.push((0,e_.G1)(eb.r)),ew.push((0,e_.G1)(eb.s))}return(0,e_.xs)(["0x01",eN.encode(ew)])}function eY(eb,em){(0,eA.uj)(eb,ej);let ew=[];eF.forEach(function(em){let eM=eb[em.name]||[],eC={};em.numeric&&(eC.hexPad="left"),eM=(0,e_.lE)((0,e_.Dv)(eM,eC)),em.length&&eM.length!==em.length&&eM.length>0&&eP.throwArgumentError("invalid length for "+em.name,"transaction:"+em.name,eM),em.maxLength&&(eM=(0,e_.G1)(eM)).length>em.maxLength&&eP.throwArgumentError("invalid length for "+em.name,"transaction:"+em.name,eM),ew.push((0,e_.Dv)(eM))});let eM=0;if(null!=eb.chainId?"number"!=typeof(eM=eb.chainId)&&eP.throwArgumentError("invalid transaction.chainId","transaction",eb):em&&!(0,e_.Zq)(em)&&em.v>28&&(eM=Math.floor((em.v-35)/2)),0!==eM&&(ew.push((0,e_.Dv)(eM)),ew.push("0x"),ew.push("0x")),!em)return eN.encode(ew);let eC=(0,e_.N)(em),eT=27+eC.recoveryParam;return 0!==eM?(ew.pop(),ew.pop(),ew.pop(),eT+=2*eM+8,eC.v>28&&eC.v!==eT&&eP.throwArgumentError("transaction.chainId/signature.v mismatch","signature",em)):eC.v!==eT&&eP.throwArgumentError("transaction.chainId/signature.v mismatch","signature",em),ew.push((0,e_.Dv)(eT)),ew.push((0,e_.G1)((0,e_.lE)(eC.r))),ew.push((0,e_.G1)((0,e_.lE)(eC.s))),eN.encode(ew)}function eJ(eb,em){if(null==eb.type||0===eb.type)return null!=eb.accessList&&eP.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",eb),eY(eb,em);switch(eb.type){case 1:return eG(eb,em);case 2:return eK(eb,em)}return eP.throwError(`unsupported transaction type: ${eb.type}`,eD.Yd.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:eb.type})}function eX(eb,em,ew){try{let ew=eB(em[0]).toNumber();if(0!==ew&&1!==ew)throw Error("bad recid");eb.v=ew}catch(eb){eP.throwArgumentError("invalid v for transaction type: 1","v",em[0])}eb.r=(0,e_.$m)(em[1],32),eb.s=(0,e_.$m)(em[2],32);try{let em=(0,eS.w)(ew(eb));eb.from=eV(em,{r:eb.r,s:eb.s,recoveryParam:eb.v})}catch(eb){}}function eQ(eb){let em=eN.decode(eb.slice(1));9!==em.length&&12!==em.length&&eP.throwArgumentError("invalid component count for transaction type: 2","payload",(0,e_.Dv)(eb));let ew=eB(em[2]),eM=eB(em[3]),eC={type:2,chainId:eB(em[0]).toNumber(),nonce:eB(em[1]).toNumber(),maxPriorityFeePerGas:ew,maxFeePerGas:eM,gasPrice:null,gasLimit:eB(em[4]),to:eR(em[5]),value:eB(em[6]),data:em[7],accessList:eW(em[8])};return 9===em.length||(eC.hash=(0,eS.w)(eb),eX(eC,em.slice(9),eK)),eC}function e0(eb){let em=eN.decode(eb.slice(1));8!==em.length&&11!==em.length&&eP.throwArgumentError("invalid component count for transaction type: 1","payload",(0,e_.Dv)(eb));let ew={type:1,chainId:eB(em[0]).toNumber(),nonce:eB(em[1]).toNumber(),gasPrice:eB(em[2]),gasLimit:eB(em[3]),to:eR(em[4]),value:eB(em[5]),data:em[6],accessList:eW(em[7])};return 8===em.length||(ew.hash=(0,eS.w)(eb),eX(ew,em.slice(8),eG)),ew}function e6(eb){let em=eN.decode(eb);9!==em.length&&6!==em.length&&eP.throwArgumentError("invalid raw transaction","rawTransaction",eb);let ew={nonce:eB(em[0]).toNumber(),gasPrice:eB(em[1]),gasLimit:eB(em[2]),to:eR(em[3]),value:eB(em[4]),data:em[5],chainId:0};if(6===em.length)return ew;try{ew.v=eT.O$.from(em[6]).toNumber()}catch(eb){return ew}if(ew.r=(0,e_.$m)(em[7],32),ew.s=(0,e_.$m)(em[8],32),eT.O$.from(ew.r).isZero()&&eT.O$.from(ew.s).isZero())ew.chainId=ew.v,ew.v=0;else{ew.chainId=Math.floor((ew.v-35)/2),ew.chainId<0&&(ew.chainId=0);let eM=ew.v-27,eC=em.slice(0,6);0!==ew.chainId&&(eC.push((0,e_.Dv)(ew.chainId)),eC.push("0x"),eC.push("0x"),eM-=2*ew.chainId+8);let eT=(0,eS.w)(eN.encode(eC));try{ew.from=eV(eT,{r:(0,e_.Dv)(ew.r),s:(0,e_.Dv)(ew.s),recoveryParam:eM})}catch(eb){}ew.hash=(0,eS.w)(eb)}return ew.type=null,ew}function e4(eb){let em=(0,e_.lE)(eb);if(em[0]>127)return e6(em);switch(em[0]){case 1:return e0(em);case 2:return eQ(em)}return eP.throwError(`unsupported transaction type: ${em[0]}`,eD.Yd.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:em[0]})}},61744:function(eb,em,ew){"use strict";ew.d(em,{Fn:function(){return eS},dF:function(){return eI},bM:function(){return eA},fi:function(){return eD},vz:function(){return eN}});var eM=ew(20335),eC=ew(1581);let eT="units/5.7.0",e_=new eC.Yd(eT),eE=["wei","kwei","mwei","gwei","szabo","finney","ether"];function eS(eb){let em=String(eb).split(".");(em.length>2||!em[0].match(/^-?[0-9]*$/)||em[1]&&!em[1].match(/^[0-9]*$/)||"."===eb||"-."===eb)&&e_.throwArgumentError("invalid value","value",eb);let ew=em[0],eM="";for("-"===ew.substring(0,1)&&(eM="-",ew=ew.substring(1));"0"===ew.substring(0,1);)ew=ew.substring(1);""===ew&&(ew="0");let eC="";for(2===em.length&&(eC="."+(em[1]||"0"));eC.length>2&&"0"===eC[eC.length-1];)eC=eC.substring(0,eC.length-1);let eT=[];for(;ew.length;){if(ew.length<=3){eT.unshift(ew);break}{let eb=ew.length-3;eT.unshift(ew.substring(eb)),ew=ew.substring(0,eb)}}return eM+eT.join(",")+eC}function eA(eb,em){if("string"==typeof em){let eb=eE.indexOf(em);-1!==eb&&(em=3*eb)}return(0,eM.S5)(eb,null!=em?em:18)}function eN(eb,em){if("string"!=typeof eb&&e_.throwArgumentError("value must be a string","value",eb),"string"==typeof em){let eb=eE.indexOf(em);-1!==eb&&(em=3*eb)}return(0,eM.Ox)(eb,null!=em?em:18)}function eI(eb){return eA(eb,18)}function eD(eb){return eN(eb,18)}},89706:function(eb,em,ew){"use strict";ew.d(em,{w5:function(){return tR},n5:function(){return tB},BS:function(){return tF}});var eM=ew(19485),eC=ew(81556),eT=ew(48088),e_=ew(16441),eE=ew(93684),eS=ew(67827),eA=ew(84178),eN=ew(38197),eI=ew(6881),eD=ew(5634),eO=ew(67669),eP=ew(78826),eR=ew.n(eP),eB=ew(17635),eF=ew.n(eB),ej=ew(85306),eU=ew(83875),eV=ew(29251);function eH(eb){return"string"==typeof eb&&"0x"!==eb.substring(0,2)&&(eb="0x"+eb),(0,e_.lE)(eb)}function e$(eb,em){for(eb=String(eb);eb.length{em=(0,e_.lE)(em);let ew=em.slice(0,16),eM=em.slice(16,32),eC=em.slice(32,64),eE=new(eR()).Counter(ej),eA=new(eR()).ModeOfOperation.ctr(ew,eE),eF=(0,e_.lE)(eA.encrypt(eT)),eU=(0,eN.w)((0,e_.zo)([eM,eF])),eW={address:eb.address.substring(2).toLowerCase(),id:eK(eV),version:3,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:(0,e_.Dv)(ej).substring(2)},ciphertext:(0,e_.Dv)(eF).substring(2),kdf:"scrypt",kdfparams:{salt:(0,e_.Dv)(eB).substring(2),n:eH,dklen:32,p:eG,r:eZ},mac:eU.substring(2)}};if(eS){let eb=(0,eD.O)(16),em=new(eR()).Counter(eb),ew=new(eR()).ModeOfOperation.ctr(eC,em),eM=(0,e_.lE)(ew.encrypt(eS)),eT=new Date,eE=eT.getUTCFullYear()+"-"+e$(eT.getUTCMonth()+1,2)+"-"+e$(eT.getUTCDate(),2)+"T"+e$(eT.getUTCHours(),2)+"-"+e$(eT.getUTCMinutes(),2)+"-"+e$(eT.getUTCSeconds(),2)+".0Z";eW["x-ethers"]={client:eP,gethFilename:"UTC--"+eE+"--"+eW.address,mnemonicCounter:(0,e_.Dv)(eb).substring(2),mnemonicCiphertext:(0,e_.Dv)(eM).substring(2),path:eI,locale:eO,version:"0.1"}}return JSON.stringify(eW)})}let tC=new eG.Yd(eY);class tT extends eI.dk{isCrowdsaleAccount(eb){return!!(eb&&eb._isCrowdsaleAccount)}}function t_(eb,em){let ew=JSON.parse(eb);em=eW(em);let eC=(0,eM.Kn)(eZ(ew,"ethaddr")),eT=eH(eZ(ew,"encseed"));eT&&eT.length%16==0||tC.throwArgumentError("invalid encseed","json",eb);let eE=(0,e_.lE)((0,ej.n)(em,em,2e3,32,"sha256")).slice(0,16),eS=eT.slice(0,16),eA=eT.slice(16),eI=new(eR()).ModeOfOperation.cbc(eE,eS),eD=eR().padding.pkcs7.strip((0,e_.lE)(eI.decrypt(eA))),eO="";for(let eb=0;ebem),(0,eI.zG)(this,"address",(0,eU.db)(this.publicKey)),this.address!==(0,eM.Kn)(eb.address)&&tD.throwArgumentError("privateKey/address mismatch","privateKey","[REDACTED]"),tP(eb)){let em=eb.mnemonic;(0,eI.zG)(this,"_mnemonic",()=>({phrase:em.phrase,path:em.path||eA.cD,locale:em.locale||"en"}));let ew=this.mnemonic,eM=eA.m$.fromMnemonic(ew.phrase,null,ew.locale).derivePath(ew.path);(0,eU.db)(eM.privateKey)!==this.address&&tD.throwArgumentError("mnemonic/address mismatch","privateKey","[REDACTED]")}else(0,eI.zG)(this,"_mnemonic",()=>null)}else{if(eO.Et.isSigningKey(eb))"secp256k1"!==eb.curve&&tD.throwArgumentError("unsupported curve; must be secp256k1","privateKey","[REDACTED]"),(0,eI.zG)(this,"_signingKey",()=>eb);else{"string"==typeof eb&&eb.match(/^[0-9a-f]*$/i)&&64===eb.length&&(eb="0x"+eb);let em=new eO.Et(eb);(0,eI.zG)(this,"_signingKey",()=>em)}(0,eI.zG)(this,"_mnemonic",()=>null),(0,eI.zG)(this,"address",(0,eU.db)(this.publicKey))}em&&!eC.zt.isProvider(em)&&tD.throwArgumentError("invalid provider","provider",em),(0,eI.zG)(this,"provider",em||null)}get mnemonic(){return this._mnemonic()}get privateKey(){return this._signingKey().privateKey}get publicKey(){return this._signingKey().publicKey}getAddress(){return Promise.resolve(this.address)}connect(eb){return new tR(this,eb)}signTransaction(eb){return(0,eI.mE)(eb).then(em=>{null!=em.from&&((0,eM.Kn)(em.from)!==this.address&&tD.throwArgumentError("transaction from address mismatch","transaction.from",eb.from),delete em.from);let ew=this._signingKey().signDigest((0,eN.w)((0,eU.qC)(em)));return(0,eU.qC)(em,ew)})}signMessage(eb){return tI(this,void 0,void 0,function*(){return(0,e_.gV)(this._signingKey().signDigest((0,eE.r)(eb)))})}_signTypedData(eb,em,ew){return tI(this,void 0,void 0,function*(){let eM=yield eS.E.resolveNames(eb,em,ew,eb=>(null==this.provider&&tD.throwError("cannot resolve ENS names without a provider",eG.Yd.errors.UNSUPPORTED_OPERATION,{operation:"resolveName",value:eb}),this.provider.resolveName(eb)));return(0,e_.gV)(this._signingKey().signDigest(eS.E.hash(eM.domain,em,eM.value)))})}encrypt(eb,em,ew){if("function"!=typeof em||ew||(ew=em,em={}),ew&&"function"!=typeof ew)throw Error("invalid callback");return em||(em={}),tw(this,eb,em,ew)}static createRandom(eb){let em=(0,eD.O)(16);eb||(eb={}),eb.extraEntropy&&(em=(0,e_.lE)((0,e_.p3)((0,eN.w)((0,e_.zo)([em,eb.extraEntropy])),0,16)));let ew=(0,eA.JJ)(em,eb.locale);return tR.fromMnemonic(ew,eb.path,eb.locale)}static fromEncryptedJson(eb,em,ew){return tS(eb,em,ew).then(eb=>new tR(eb))}static fromEncryptedJsonSync(eb,em){return new tR(tA(eb,em))}static fromMnemonic(eb,em,ew){return em||(em=eA.cD),new tR(eA.m$.fromMnemonic(eb,null,ew).derivePath(em))}}function tB(eb,em){return(0,eU.RJ)((0,eE.r)(eb),em)}function tF(eb,em,ew,eM){return(0,eU.RJ)(eS.E.hash(eb,em,ew),eM)}},37707:function(eb,em,ew){"use strict";ew.d(em,{MY:function(){return eB},rd:function(){return eF},$l:function(){return ej}});var eM=ew(59567),eC=ew(16441),eT=ew(6881),e_=ew(29251),eE=ew(1581);let eS="web/5.7.1";var eA=function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};function eN(eb,em){return eA(this,void 0,void 0,function*(){null==em&&(em={});let ew={method:em.method||"GET",headers:em.headers||{},body:em.body||void 0};if(!0!==em.skipFetchSetup&&(ew.mode="cors",ew.cache="no-cache",ew.credentials="same-origin",ew.redirect="follow",ew.referrer="client"),null!=em.fetchOptions){let eb=em.fetchOptions;eb.mode&&(ew.mode=eb.mode),eb.cache&&(ew.cache=eb.cache),eb.credentials&&(ew.credentials=eb.credentials),eb.redirect&&(ew.redirect=eb.redirect),eb.referrer&&(ew.referrer=eb.referrer)}let eM=yield fetch(eb,ew),eT=yield eM.arrayBuffer(),e_={};return eM.headers.forEach?eM.headers.forEach((eb,em)=>{e_[em.toLowerCase()]=eb}):eM.headers.keys().forEach(eb=>{e_[eb.toLowerCase()]=eM.headers.get(eb)}),{headers:e_,statusCode:eM.status,statusMessage:eM.statusText,body:(0,eC.lE)(new Uint8Array(eT))}})}var eI=function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};let eD=new eE.Yd(eS);function eO(eb){return new Promise(em=>{setTimeout(em,eb)})}function eP(eb,em){if(null==eb)return null;if("string"==typeof eb)return eb;if((0,eC.Zq)(eb)){if(em&&("text"===em.split("/")[0]||"application/json"===em.split(";")[0].trim()))try{return(0,e_.ZN)(eb)}catch(eb){}return(0,eC.Dv)(eb)}return eb}function eR(eb){return(0,e_.Y0)(eb.replace(/%([0-9a-f][0-9a-f])/gi,(eb,em)=>String.fromCharCode(parseInt(em,16))))}function eB(eb,em,ew){let eC="object"==typeof eb&&null!=eb.throttleLimit?eb.throttleLimit:12;eD.assertArgument(eC>0&&eC%1==0,"invalid connection throttle limit","connection.throttleLimit",eC);let eS="object"==typeof eb?eb.throttleCallback:null,eA="object"==typeof eb&&"number"==typeof eb.throttleSlotInterval?eb.throttleSlotInterval:100;eD.assertArgument(eA>0&&eA%1==0,"invalid connection throttle slot interval","connection.throttleSlotInterval",eA);let eB="object"==typeof eb&&!!eb.errorPassThrough,eF={},ej=null,eU={method:"GET"},eV=!1,eH=12e4;if("string"==typeof eb)ej=eb;else if("object"==typeof eb){if((null==eb||null==eb.url)&&eD.throwArgumentError("missing URL","connection.url",eb),ej=eb.url,"number"==typeof eb.timeout&&eb.timeout>0&&(eH=eb.timeout),eb.headers)for(let em in eb.headers)eF[em.toLowerCase()]={key:em,value:String(eb.headers[em])},["if-none-match","if-modified-since"].indexOf(em.toLowerCase())>=0&&(eV=!0);if(eU.allowGzip=!!eb.allowGzip,null!=eb.user&&null!=eb.password){"https:"!==ej.substring(0,6)&&!0!==eb.allowInsecureAuthentication&&eD.throwError("basic authentication requires a secure https url",eE.Yd.errors.INVALID_ARGUMENT,{argument:"url",url:ej,user:eb.user,password:"[REDACTED]"});let em=eb.user+":"+eb.password;eF.authorization={key:"Authorization",value:"Basic "+(0,eM.c)((0,e_.Y0)(em))}}null!=eb.skipFetchSetup&&(eU.skipFetchSetup=!!eb.skipFetchSetup),null!=eb.fetchOptions&&(eU.fetchOptions=(0,eT.DC)(eb.fetchOptions))}let e$=RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),eW=ej?ej.match(e$):null;if(eW)try{let eb={statusCode:200,statusMessage:"OK",headers:{"content-type":eW[1]||"text/plain"},body:eW[2]?(0,eM.J)(eW[3]):eR(eW[3])},em=eb.body;return ew&&(em=ew(eb.body,eb)),Promise.resolve(em)}catch(eb){eD.throwError("processing response error",eE.Yd.errors.SERVER_ERROR,{body:eP(eW[1],eW[2]),error:eb,requestBody:null,requestMethod:"GET",url:ej})}em&&(eU.method="POST",eU.body=em,null==eF["content-type"]&&(eF["content-type"]={key:"Content-Type",value:"application/octet-stream"}),null==eF["content-length"]&&(eF["content-length"]={key:"Content-Length",value:String(em.length)}));let eZ={};Object.keys(eF).forEach(eb=>{let em=eF[eb];eZ[em.key]=em.value}),eU.headers=eZ;let eK=function(){let eb=null,em=new Promise(function(em,ew){eH&&(eb=setTimeout(()=>{null!=eb&&(eb=null,ew(eD.makeError("timeout",eE.Yd.errors.TIMEOUT,{requestBody:eP(eU.body,eZ["content-type"]),requestMethod:eU.method,timeout:eH,url:ej})))},eH))}),ew=function(){null!=eb&&(clearTimeout(eb),eb=null)};return{promise:em,cancel:ew}}(),eG=function(){return eI(this,void 0,void 0,function*(){for(let eb=0;eb=300)&&(eK.cancel(),eD.throwError("bad response",eE.Yd.errors.SERVER_ERROR,{status:em.statusCode,headers:em.headers,body:eP(eM,em.headers?em.headers["content-type"]:null),requestBody:eP(eU.body,eZ["content-type"]),requestMethod:eU.method,url:ej})),ew)try{let eb=yield ew(eM,em);return eK.cancel(),eb}catch(ew){if(ew.throttleRetry&&eb{let eM=null;if(null!=eb)try{eM=JSON.parse((0,e_.ZN)(eb))}catch(em){eD.throwError("invalid JSON",eE.Yd.errors.SERVER_ERROR,{body:eb,error:em})}return ew&&(eM=ew(eM,em)),eM},eC=null;if(null!=em){eC=(0,e_.Y0)(em);let ew="string"==typeof eb?{url:eb}:(0,eT.DC)(eb);if(ew.headers){let eb=0!==Object.keys(ew.headers).filter(eb=>"content-type"===eb.toLowerCase()).length;eb||(ew.headers=(0,eT.DC)(ew.headers),ew.headers["content-type"]="application/json")}else ew.headers={"content-type":"application/json"};eb=ew}return eB(eb,eC,eM)}function ej(eb,em){return em||(em={}),null==(em=(0,eT.DC)(em)).floor&&(em.floor=0),null==em.ceiling&&(em.ceiling=1e4),null==em.interval&&(em.interval=250),new Promise(function(ew,eM){let eC=null,eT=!1,e_=()=>!eT&&(eT=!0,eC&&clearTimeout(eC),!0);em.timeout&&(eC=setTimeout(()=>{e_()&&eM(Error("timeout"))},em.timeout));let eE=em.retryLimit,eS=0;function eA(){return eb().then(function(eb){if(void 0!==eb)e_()&&ew(eb);else if(em.oncePoll)em.oncePoll.once("poll",eA);else if(em.onceBlock)em.onceBlock.once("block",eA);else if(!eT){if(++eS>eE){e_()&&eM(Error("retry limit reached"));return}let eb=em.interval*parseInt(String(Math.random()*Math.pow(2,eS)));ebem.ceiling&&(eb=em.ceiling),setTimeout(eA,eb)}return null},function(eb){e_()&&eM(eb)})}eA()})}},48812:function(eb,em,ew){"use strict";ew.d(em,{D:function(){return eA}});var eM=ew(32046),eC=ew(6881),eT=ew(1581);let e_="wordlists/5.7.0",eE=!1,eS=new eT.Yd(e_);class eA{constructor(eb){eS.checkAbstract(new.target,eA),(0,eC.zG)(this,"locale",eb)}split(eb){return eb.toLowerCase().split(/ +/g)}join(eb){return eb.join(" ")}static check(eb){let em=[];for(let ew=0;ew<2048;ew++){let eM=eb.getWord(ew);if(ew!==eb.getWordIndex(eM))return"0x";em.push(eM)}return(0,eM.id)(em.join("\n")+"\n")}static register(eb,em){if(em||(em=eb.locale),eE)try{let ew=window;ew._ethers&&ew._ethers.wordlists&&!ew._ethers.wordlists[em]&&(0,eC.zG)(ew._ethers.wordlists,em,eb)}catch(eb){}}}},10234:function(eb,em,ew){"use strict";ew.d(em,{E:function(){return eA}});var eM=ew(48812);let eC="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo",eT=null;function e_(eb){if(null==eT&&(eT=eC.replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==eM.D.check(eb)))throw eT=null,Error("BIP39 Wordlist for en (English) FAILED")}class eE extends eM.D{constructor(){super("en")}getWord(eb){return e_(this),eT[eb]}getWordIndex(eb){return e_(this),eT.indexOf(eb)}}let eS=new eE;eM.D.register(eS);let eA={en:eS}},30280:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.decodeSingle=em.decode=em.encodePacked=em.encodeSingle=em.encode=void 0;let eM=ew(16084),eC=ew(52858),eT=ew(33763),e_=(eb,em,ew,eM)=>{try{return(0,eT.pack)({types:eb,values:em,packed:ew,tight:eM})}catch(eb){if(eb instanceof eC.ParserError)throw new eC.ParserError(`Unable to encode value: ${eb.message}`,eb);throw new eC.ParserError(`An unexpected error occurred: ${(0,eC.getErrorMessage)(eb)}`,eb)}};em.encode=e_;let eE=(eb,ew)=>(0,em.encode)([eb],[ew]);em.encodeSingle=eE;let eS=(eb,ew,eM)=>(0,em.encode)(eb,ew,!0,eM);em.encodePacked=eS;let eA=(eb,em)=>{let ew=(0,eM.createBytes)(em);try{return(0,eT.unpack)(eb,ew)}catch(eb){if(eb instanceof eC.ParserError)throw new eC.ParserError(`Unable to decode value: ${eb.message}`,eb);throw new eC.ParserError(`An unexpected error occurred: ${(0,eC.getErrorMessage)(eb)}`,eb)}};em.decode=eA;let eN=(eb,ew)=>{let eT=(0,em.decode)([eb],ew);return(0,eM.assert)(1===eT.length,new eC.ParserError("Decoded value array has unexpected length.")),eT[0]};em.decodeSingle=eN},52858:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.ParserError=em.getErrorStack=em.getErrorMessage=void 0;let eM=ew(16084),eC=eb=>"string"==typeof eb?eb:eb instanceof Error||(0,eM.isObject)(eb)&&(0,eM.hasProperty)(eb,"message")&&"string"==typeof eb.message?eb.message:"Unknown error.";em.getErrorMessage=eC;let eT=eb=>{if(eb instanceof Error)return eb.stack};em.getErrorStack=eT;class e_ extends Error{constructor(eb,ew){super(eb),this.name="ParserError";let eM=(0,em.getErrorStack)(ew);eM&&(this.stack=eM)}}em.ParserError=e_},88009:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),eC(ew(30280),em),eC(ew(52858),em),eC(ew(83307),em)},88119:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.iterate=void 0;let eM=ew(16084),eC=function*(eb,em=32){for(let ew=0;ew{(0,eM.assert)(eb>=0,"Cannot skip a negative number of bytes."),(0,eM.assert)(eb%em==0,"Length must be a multiple of the size."),ew+=eb},eT=eb.subarray(ew);yield{skip:eC,value:eT}}return{skip:()=>void 0,value:new Uint8Array}};em.iterate=eC},33763:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.unpack=em.pack=em.isDynamicParser=em.getParser=void 0;let eM=ew(16084),eC=ew(52858),eT=ew(88119),e_=ew(87884),eE=ew(23742),eS=eb=>{let em={address:e_.address,array:e_.array,bool:e_.bool,bytes:e_.bytes,fixedBytes:e_.fixedBytes,function:e_.fn,number:e_.number,string:e_.string,tuple:e_.tuple},ew=em[eb];if(ew)return ew;let eM=Object.values(em).find(em=>em.isType(eb));if(eM)return eM;throw new eC.ParserError(`The type "${eb}" is not supported.`)};em.getParser=eS;let eA=(eb,em)=>{let{isDynamic:ew}=eb;return"function"==typeof ew?ew(em):ew};em.isDynamicParser=eA;let eN=({types:eb,values:ew,packed:eT=!1,tight:e_=!1,arrayPacked:eS=!1,byteArray:eA=new Uint8Array})=>{(0,eM.assert)(eb.length===ew.length,new eC.ParserError(`The number of types (${eb.length}) does not match the number of values (${ew.length}).`));let{staticBuffer:eN,dynamicBuffer:eI,pointers:eD}=eb.reduce(({staticBuffer:eb,dynamicBuffer:eC,pointers:eE},eA,eN)=>{let eI=(0,em.getParser)(eA),eD=ew[eN];if(eT||eS||!(0,em.isDynamicParser)(eI,eA))return{staticBuffer:eI.encode({buffer:eb,value:eD,type:eA,packed:eT,tight:e_}),dynamicBuffer:eC,pointers:eE};let eO=(0,eM.concatBytes)([eb,new Uint8Array(32)]),eP=eI.encode({buffer:eC,value:eD,type:eA,packed:eT,tight:e_});return{staticBuffer:eO,dynamicBuffer:eP,pointers:[...eE,{position:eb.length,pointer:eC.length}]}},{staticBuffer:new Uint8Array,dynamicBuffer:new Uint8Array,pointers:[]});(0,eM.assert)(!eT&&!eS||0===eI.length,new eC.ParserError("Invalid pack state."));let eO=eN.length,eP=eD.reduce((eb,{pointer:em,position:ew})=>{let eC=(0,eE.padStart)((0,eM.numberToBytes)(eO+em));return(0,eE.set)(eb,eC,ew)},eN);return(0,eM.concatBytes)([eA,eP,eI])};em.pack=eN;let eI=(eb,ew)=>{let e_=(0,eT.iterate)(ew);return eb.map(eb=>{let{value:{value:eT,skip:eE},done:eS}=e_.next();(0,eM.assert)(!eS,new eC.ParserError(`The encoded value is invalid for the provided types. Reached end of buffer while attempting to parse "${eb}".`));let eA=(0,em.getParser)(eb),eN=(0,em.isDynamicParser)(eA,eb);if(eN){let em=(0,eM.bytesToNumber)(eT.subarray(0,32)),eC=ew.subarray(em);return eA.decode({type:eb,value:eC,skip:eE})}return eA.decode({type:eb,value:eT,skip:eE})})};em.unpack=eI},94192:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.address=em.getAddress=void 0;let eM=ew(16084),eC=ew(52858),eT=ew(23742),e_=eb=>{let em=(0,eM.createBytes)(eb);return(0,eM.assert)(em.length<=20,new eC.ParserError(`Invalid address value. Expected address to be 20 bytes long, but received ${em.length} bytes.`)),(0,eT.padStart)(em,20)};em.getAddress=e_,em.address={isDynamic:!1,isType:eb=>"address"===eb,getByteLength:()=>32,encode({buffer:eb,value:ew,packed:eC}){let e_=(0,em.getAddress)(ew);if(eC)return(0,eM.concatBytes)([eb,e_]);let eE=(0,eT.padStart)(e_);return(0,eM.concatBytes)([eb,eE])},decode:({value:eb})=>(0,eM.add0x)((0,eM.bytesToHex)(eb.slice(12,32)))}},8763:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.array=em.getTupleType=em.getArrayType=em.isArrayType=void 0;let eM=ew(16084),eC=ew(52858),eT=ew(33763),e_=ew(23742),eE=ew(54400),eS=ew(98772),eA=/^(?.*)\[(?\d*?)\]$/u,eN=eb=>eA.test(eb);em.isArrayType=eN;let eI=eb=>{let em=eb.match(eA);return(0,eM.assert)(em?.groups?.type,new eC.ParserError(`Invalid array type. Expected an array type, but received "${eb}".`)),[em.groups.type,em.groups.length?parseInt(em.groups.length,10):void 0]};em.getArrayType=eI;let eD=(eb,em)=>`(${Array(em).fill(eb).join(",")})`;em.getTupleType=eD,em.array={isDynamic(eb){let[ew,eM]=(0,em.getArrayType)(eb);return void 0===eM||(0,eT.isDynamicParser)((0,eT.getParser)(ew),ew)},isType:eb=>(0,em.isArrayType)(eb),getByteLength(eb){(0,eM.assert)((0,em.isArrayType)(eb),new eC.ParserError(`Expected an array type, but received "${eb}".`));let[ew,e_]=(0,em.getArrayType)(eb);return(0,eT.isDynamicParser)(this,eb)||void 0===e_?32:eS.tuple.getByteLength((0,em.getTupleType)(ew,e_))},encode({type:eb,buffer:ew,value:eA,packed:eN,tight:eI}){let[eD,eO]=(0,em.getArrayType)(eb);if((0,eM.assert)(!eN||!(0,em.isArrayType)(eD),new eC.ParserError("Cannot pack nested arrays.")),eN&&(0,eT.isDynamicParser)((0,eT.getParser)(eD),eD))return(0,eT.pack)({types:Array(eA.length).fill(eD),values:eA,byteArray:ew,packed:eN,arrayPacked:!0,tight:eI});if(eO)return(0,eM.assert)(eO===eA.length,new eC.ParserError(`Array length does not match type length. Expected a length of ${eO}, but received ${eA.length}.`)),eS.tuple.encode({type:(0,em.getTupleType)(eD,eO),buffer:ew,value:eA,packed:eE.fixedBytes.isType(eD)&&eI,tight:eI});if(eN)return(0,eT.pack)({types:Array(eA.length).fill(eD),values:eA,byteArray:ew,packed:eE.fixedBytes.isType(eD)&&eI,arrayPacked:!0,tight:eI});let eP=(0,e_.padStart)((0,eM.numberToBytes)(eA.length));return(0,eT.pack)({types:Array(eA.length).fill(eD),values:eA,byteArray:(0,eM.concatBytes)([ew,eP]),packed:eN,tight:eI})},decode({type:eb,value:ew,...e_}){let[eE,eA]=(0,em.getArrayType)(eb);if(eA){let eb=eS.tuple.decode({type:(0,em.getTupleType)(eE,eA),value:ew,...e_});return(0,eM.assert)(eb.length===eA,new eC.ParserError(`Array length does not match type length. Expected a length of ${eA}, but received ${eb.length}.`)),eb}let eN=(0,eM.bytesToNumber)(ew.subarray(0,32));return(0,eT.unpack)(Array(eN).fill(eE),ew.subarray(32))}}},51299:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.bool=em.getBooleanValue=void 0;let eM=ew(81425),eC=ew(16084),eT=ew(52858),e_=ew(28325),eE=(0,eM.coerce)((0,eM.boolean)(),(0,eM.union)([(0,eM.literal)("true"),(0,eM.literal)("false")]),eb=>"true"===eb),eS=eb=>{try{let em=(0,eM.create)(eb,eE);if(em)return BigInt(1);return BigInt(0)}catch{throw new eT.ParserError(`Invalid boolean value. Expected a boolean literal, or the string "true" or "false", but received "${eb}".`)}};em.getBooleanValue=eS,em.bool={isDynamic:!1,isType:eb=>"bool"===eb,getByteLength:()=>32,encode({buffer:eb,value:ew,packed:eM,tight:eT}){let eE=(0,em.getBooleanValue)(ew);return eM?(0,eC.concatBytes)([eb,(0,eC.bigIntToBytes)(eE)]):e_.number.encode({type:"uint256",buffer:eb,value:eE,packed:eM,tight:eT})},decode:eb=>e_.number.decode({...eb,type:"uint256"})===BigInt(1)}},47378:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.bytes=void 0;let eM=ew(16084),eC=ew(23742);em.bytes={isDynamic:!0,isType:eb=>"bytes"===eb,getByteLength:()=>32,encode({buffer:eb,value:em,packed:ew}){let eT=(0,eM.createBytes)(em);if(ew)return(0,eM.concatBytes)([eb,eT]);let e_=32*Math.ceil(eT.byteLength/32);return(0,eM.concatBytes)([eb,(0,eC.padStart)((0,eM.numberToBytes)(eT.byteLength)),(0,eC.padEnd)(eT,e_)])},decode({value:eb}){let em=eb.subarray(0,32),ew=(0,eM.bytesToNumber)(em);return eb.slice(32,32+ew)}}},54400:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.fixedBytes=em.getByteLength=void 0;let eM=ew(16084),eC=ew(52858),eT=ew(23742),e_=/^bytes([0-9]{1,2})$/u,eE=eb=>{let em=eb.match(e_)?.[1];(0,eM.assert)(em,`Invalid byte length. Expected a number between 1 and 32, but received "${eb}".`);let ew=Number(em);return(0,eM.assert)(ew>0&&ew<=32,new eC.ParserError(`Invalid byte length. Expected a number between 1 and 32, but received "${eb}".`)),ew};em.getByteLength=eE,em.fixedBytes={isDynamic:!1,isType:eb=>e_.test(eb),getByteLength:()=>32,encode({type:eb,buffer:ew,value:e_,packed:eE}){let eS=(0,em.getByteLength)(eb),eA=(0,eM.createBytes)(e_);return((0,eM.assert)(eA.length<=eS,new eC.ParserError(`Expected a value of length ${eS}, but received a value of length ${eA.length}.`)),eE)?(0,eM.concatBytes)([ew,(0,eT.padEnd)(eA,eS)]):(0,eM.concatBytes)([ew,(0,eT.padEnd)(eA)])},decode({type:eb,value:ew}){let eM=(0,em.getByteLength)(eb);return ew.slice(0,eM)}}},9129:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.fn=em.getFunction=void 0;let eM=ew(81425),eC=ew(16084),eT=ew(52858),e_=ew(54400),eE=(0,eM.coerce)((0,eM.object)({address:eC.StrictHexStruct,selector:eC.StrictHexStruct}),(0,eM.union)([eC.StrictHexStruct,(0,eM.instance)(Uint8Array)]),eb=>{let em=(0,eC.createBytes)(eb);return(0,eC.assert)(24===em.length,new eT.ParserError(`Invalid Solidity function. Expected function to be 24 bytes long, but received ${em.length} bytes.`)),{address:(0,eC.bytesToHex)(em.subarray(0,20)),selector:(0,eC.bytesToHex)(em.subarray(20,24))}}),eS=eb=>{let em=(0,eM.create)(eb,eE);return(0,eC.concatBytes)([(0,eC.hexToBytes)(em.address),(0,eC.hexToBytes)(em.selector)])};em.getFunction=eS,em.fn={isDynamic:!1,isType:eb=>"function"===eb,getByteLength:()=>32,encode({buffer:eb,value:ew,packed:eM,tight:eC}){let eT=(0,em.getFunction)(ew);return e_.fixedBytes.encode({type:"bytes24",buffer:eb,value:eT,packed:eM,tight:eC})},decode:({value:eb})=>({address:(0,eC.bytesToHex)(eb.slice(0,20)),selector:(0,eC.bytesToHex)(eb.slice(20,24))})}},87884:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),eC(ew(94192),em),eC(ew(8763),em),eC(ew(51299),em),eC(ew(47378),em),eC(ew(54400),em),eC(ew(9129),em),eC(ew(28325),em),eC(ew(58012),em),eC(ew(21869),em),eC(ew(98772),em)},28325:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.number=em.getBigInt=em.assertNumberLength=em.getLength=em.isSigned=void 0;let eM=ew(16084),eC=ew(52858),eT=ew(23742),e_=/^u?int(?[0-9]*)?$/u,eE=eb=>!eb.startsWith("u");em.isSigned=eE;let eS=eb=>{if("int"===eb||"uint"===eb)return 256;let em=eb.match(e_);(0,eM.assert)(em?.groups?.length,new eC.ParserError(`Invalid number type. Expected a number type, but received "${eb}".`));let ew=parseInt(em.groups.length,10);return(0,eM.assert)(ew>=8&&ew<=256,new eC.ParserError(`Invalid number length. Expected a number between 8 and 256, but received "${eb}".`)),(0,eM.assert)(ew%8==0,new eC.ParserError(`Invalid number length. Expected a multiple of 8, but received "${eb}".`)),ew};em.getLength=eS;let eA=(eb,ew)=>{let eT=(0,em.getLength)(ew),e_=BigInt(2)**BigInt(eT-((0,em.isSigned)(ew)?1:0))-BigInt(1);if((0,em.isSigned)(ew)){(0,eM.assert)(eb>=-(e_+BigInt(1))&&eb<=e_,new eC.ParserError(`Number "${eb}" is out of range for type "${ew}".`));return}(0,eM.assert)(eb<=e_,new eC.ParserError(`Number "${eb}" is out of range for type "${ew}".`))};em.assertNumberLength=eA;let eN=eb=>{try{return(0,eM.createBigInt)(eb)}catch{throw new eC.ParserError(`Invalid number. Expected a valid number value, but received "${eb}".`)}};em.getBigInt=eN,em.number={isDynamic:!1,isType:eb=>e_.test(eb),getByteLength:()=>32,encode({type:eb,buffer:ew,value:eC,packed:e_}){let eE=(0,em.getBigInt)(eC);if((0,em.assertNumberLength)(eE,eb),(0,em.isSigned)(eb)){if(e_){let eC=(0,em.getLength)(eb)/8;return(0,eM.concatBytes)([ew,(0,eM.signedBigIntToBytes)(eE,eC)])}return(0,eM.concatBytes)([ew,(0,eT.padStart)((0,eM.signedBigIntToBytes)(eE,32))])}if(e_){let eC=(0,em.getLength)(eb)/8;return(0,eM.concatBytes)([ew,(0,eT.padStart)((0,eM.bigIntToBytes)(eE),eC)])}return(0,eM.concatBytes)([ew,(0,eT.padStart)((0,eM.bigIntToBytes)(eE))])},decode({type:eb,value:ew}){let eC=ew.subarray(0,32);if((0,em.isSigned)(eb)){let ew=(0,eM.bytesToSignedBigInt)(eC);return(0,em.assertNumberLength)(ew,eb),ew}let eT=(0,eM.bytesToBigInt)(eC);return(0,em.assertNumberLength)(eT,eb),eT}}},58012:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},21869:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.string=void 0;let eM=ew(16084),eC=ew(47378);em.string={isDynamic:!0,isType:eb=>"string"===eb,getByteLength:()=>32,encode:({buffer:eb,value:em,packed:ew,tight:eT})=>eC.bytes.encode({type:"bytes",buffer:eb,value:(0,eM.stringToBytes)(em),packed:ew,tight:eT}),decode:eb=>(0,eM.bytesToString)(eC.bytes.decode(eb))}},98772:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.tuple=em.getTupleElements=void 0;let eM=ew(16084),eC=ew(52858),eT=ew(33763),e_=/^\((.+)\)$/u,eE=eb=>e_.test(eb),eS=eb=>{(0,eM.assert)(eb.startsWith("(")&&eb.endsWith(")"),new eC.ParserError(`Invalid tuple type. Expected tuple type, but received "${eb}".`));let em=[],ew="",eT=0;for(let eM=1;eM{let em=(0,eT.getParser)(eb);return(0,eT.isDynamicParser)(em,eb)})},isType:eb=>eE(eb),getByteLength(eb){if((0,eT.isDynamicParser)(this,eb))return 32;let ew=(0,em.getTupleElements)(eb);return ew.reduce((eb,em)=>eb+(0,eT.getParser)(em).getByteLength(em),0)},encode({type:eb,buffer:ew,value:eM,packed:eC,tight:e_}){let eE=(0,em.getTupleElements)(eb);return(0,eT.pack)({types:eE,values:eM,byteArray:ew,packed:eC,tight:e_})},decode({type:eb,value:ew,skip:eM}){let eC=(0,em.getTupleElements)(eb),e_=this.getByteLength(eb)-32;return eM(e_),(0,eT.unpack)(eC,ew)}}},1451:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},83307:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),eC(ew(1451),em)},94979:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.padEnd=em.padStart=em.set=void 0;let eM=ew(16084),eC=32,eT=(eb,em,ew)=>(0,eM.concatBytes)([eb.subarray(0,ew),em,eb.subarray(ew+em.length)]);em.set=eT;let e_=(eb,em=eC)=>{let ew=new Uint8Array(Math.max(em-eb.length,0)).fill(0);return(0,eM.concatBytes)([ew,eb])};em.padStart=e_;let eE=(eb,em=eC)=>{let ew=new Uint8Array(Math.max(em-eb.length,0)).fill(0);return(0,eM.concatBytes)([eb,ew])};em.padEnd=eE},23742:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),eC(ew(94979),em)},87539:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer,eC=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eT=this&&this.__setModuleDefault||(Object.create?function(eb,em){Object.defineProperty(eb,"default",{enumerable:!0,value:em})}:function(eb,em){eb.default=em}),e_=this&&this.__importStar||function(eb){if(eb&&eb.__esModule)return eb;var em={};if(null!=eb)for(var ew in eb)"default"!==ew&&Object.prototype.hasOwnProperty.call(eb,ew)&&eC(em,eb,ew);return eT(em,eb),em};Object.defineProperty(em,"__esModule",{value:!0}),em.getEncryptionPublicKey=em.decryptSafely=em.decrypt=em.encryptSafely=em.encrypt=void 0;let eE=ew(39187),eS=e_(ew(50780)),eA=ew(73275);function eN({publicKey:eb,data:em,version:ew}){if((0,eA.isNullish)(eb))throw Error("Missing publicKey parameter");if((0,eA.isNullish)(em))throw Error("Missing data parameter");if((0,eA.isNullish)(ew))throw Error("Missing version parameter");if("x25519-xsalsa20-poly1305"===ew){let ew;if("string"!=typeof em)throw Error("Message data must be given as a string");let eM=eS.box.keyPair();try{ew=eE.base64.decode(eb)}catch(eb){throw Error("Bad public key")}let eC=eE.utf8.decode(em),eT=eS.randomBytes(eS.box.nonceLength),e_=eS.box(eC,eT,ew,eM.secretKey),eA={version:"x25519-xsalsa20-poly1305",nonce:eE.base64.encode(eT),ephemPublicKey:eE.base64.encode(eM.publicKey),ciphertext:eE.base64.encode(e_)};return eA}throw Error("Encryption type/version not supported")}function eI({publicKey:eb,data:em,version:ew}){if((0,eA.isNullish)(eb))throw Error("Missing publicKey parameter");if((0,eA.isNullish)(em))throw Error("Missing data parameter");if((0,eA.isNullish)(ew))throw Error("Missing version parameter");let eC=2048,eT=16;if("object"==typeof em&&em&&"toJSON"in em)throw Error("Cannot encrypt with toJSON property. Please remove toJSON property");let e_={data:em,padding:""},eE=eM.byteLength(JSON.stringify(e_),"utf-8"),eS=eE%eC,eI=0;eS>0&&(eI=eC-eS-eT),e_.padding="0".repeat(eI);let eD=JSON.stringify(e_);return eN({publicKey:eb,data:eD,version:ew})}function eD({encryptedData:eb,privateKey:em}){if((0,eA.isNullish)(eb))throw Error("Missing encryptedData parameter");if((0,eA.isNullish)(em))throw Error("Missing privateKey parameter");if("x25519-xsalsa20-poly1305"===eb.version){let ew=eM.from(em,"hex"),eC=eS.box.keyPair.fromSecretKey(ew).secretKey,eT=eE.base64.decode(eb.nonce),e_=eE.base64.decode(eb.ciphertext),eA=eE.base64.decode(eb.ephemPublicKey),eN=eS.box.open(e_,eT,eA,eC);try{if(!eN)throw Error();let eb=eE.utf8.encode(eN);if(!eb)throw Error();return eb}catch(eb){if(eb&&"string"==typeof eb.message&&eb.message.length)throw Error(`Decryption failed: ${eb.message}`);throw Error("Decryption failed.")}}throw Error("Encryption type/version not supported.")}function eO({encryptedData:eb,privateKey:em}){if((0,eA.isNullish)(eb))throw Error("Missing encryptedData parameter");if((0,eA.isNullish)(em))throw Error("Missing privateKey parameter");let ew=JSON.parse(eD({encryptedData:eb,privateKey:em}));return ew.data}function eP(eb){let em=eM.from(eb,"hex"),ew=eS.box.keyPair.fromSecretKey(em).publicKey;return eE.base64.encode(ew)}em.encrypt=eN,em.encryptSafely=eI,em.decrypt=eD,em.decryptSafely=eO,em.getEncryptionPublicKey=eP},51091:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),em.normalize=em.concatSig=void 0,eC(ew(73066),em),eC(ew(12853),em),eC(ew(87539),em);var eT=ew(73275);Object.defineProperty(em,"concatSig",{enumerable:!0,get:function(){return eT.concatSig}}),Object.defineProperty(em,"normalize",{enumerable:!0,get:function(){return eT.normalize}})},73066:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.extractPublicKey=em.recoverPersonalSignature=em.personalSign=void 0;let eM=ew(92730),eC=ew(73275);function eT({privateKey:eb,data:em}){if((0,eC.isNullish)(em))throw Error("Missing data parameter");if((0,eC.isNullish)(eb))throw Error("Missing privateKey parameter");let ew=(0,eC.legacyToBuffer)(em),eT=(0,eM.hashPersonalMessage)(ew),e_=(0,eM.ecsign)(eT,eb),eE=(0,eC.concatSig)((0,eM.toBuffer)(e_.v),e_.r,e_.s);return eE}function e_({data:eb,signature:em}){if((0,eC.isNullish)(eb))throw Error("Missing data parameter");if((0,eC.isNullish)(em))throw Error("Missing signature parameter");let ew=eS(eb,em),eT=(0,eM.publicToAddress)(ew),e_=(0,eM.bufferToHex)(eT);return e_}function eE({data:eb,signature:em}){if((0,eC.isNullish)(eb))throw Error("Missing data parameter");if((0,eC.isNullish)(em))throw Error("Missing signature parameter");let ew=eS(eb,em);return`0x${ew.toString("hex")}`}function eS(eb,em){let ew=(0,eM.hashPersonalMessage)((0,eC.legacyToBuffer)(eb));return(0,eC.recoverPublicKey)(ew,em)}em.personalSign=eT,em.recoverPersonalSignature=e_,em.extractPublicKey=eE},12853:function(eb,em,ew){"use strict";var eM;Object.defineProperty(em,"__esModule",{value:!0}),em.recoverTypedSignature=em.signTypedData=em.typedSignatureHash=em.TypedDataUtils=em.TYPED_MESSAGE_SCHEMA=em.SignTypedDataVersion=void 0;let eC=ew(92730),eT=ew(88009),e_=ew(87884),eE=ew(23742),eS=ew(14096),eA=ew(82192),eN=ew(73275);function eI(eb,em){if(Object.keys(eM).includes(eb)){if(em&&!em.includes(eb))throw Error(`SignTypedDataVersion not allowed: '${eb}'. Allowed versions are: ${em.join(", ")}`)}else throw Error(`Invalid version: '${eb}'`)}function eD(eb,em){(0,eS.assert)(null!==em,`Unable to encode value: Invalid number. Expected a valid number value, but received "${em}".`);let ew=BigInt(em),eM=(0,e_.getLength)(eb),eC=BigInt(2)**BigInt(eM)-BigInt(1);return(0,eS.assert)(ew>=-eC&&ew<=eC,`Unable to encode value: Number "${em}" is out of range for type "${eb}".`),ew}function eO(eb){let em=BigInt(0);for(let ew=0;ew=49?em+=eM-BigInt(49)+BigInt(10):eM>=17?em+=eM-BigInt(17)+BigInt(10):em+=eM}return(0,eE.padStart)((0,eS.bigIntToBytes)(em),20)}function eP(eb,em,ew,e_,eN){if(eI(eN,[eM.V3,eM.V4]),void 0!==eb[ew])return["bytes32",eN===eM.V4&&null==e_?"0x0000000000000000000000000000000000000000000000000000000000000000":(0,eC.arrToBufArr)((0,eA.keccak256)(eR(ew,e_,eb,eN)))];if("function"===ew)throw Error('Unsupported or invalid type: "function"');if(void 0===e_)throw Error(`missing value for field ${em} of type ${ew}`);if("address"===ew){if("number"==typeof e_)return["address",(0,eE.padStart)((0,eS.numberToBytes)(e_),20)];if((0,eS.isStrictHexString)(e_))return["address",(0,eS.add0x)(e_)];if("string"==typeof e_)return["address",eO(e_).subarray(0,20)]}if("bool"===ew)return["bool",!!e_];if("bytes"===ew)return"number"==typeof e_?e_=(0,eS.numberToBytes)(e_):(0,eS.isStrictHexString)(e_)||"0x"===e_?e_=(0,eS.hexToBytes)(e_):"string"==typeof e_&&(e_=(0,eS.stringToBytes)(e_)),["bytes32",(0,eC.arrToBufArr)((0,eA.keccak256)(e_))];if(ew.startsWith("bytes")&&"bytes"!==ew&&!ew.includes("["))return"number"==typeof e_?e_<0?["bytes32",new Uint8Array(32)]:["bytes32",(0,eS.bigIntToBytes)(BigInt(e_))]:(0,eS.isStrictHexString)(e_)?["bytes32",(0,eS.hexToBytes)(e_)]:["bytes32",e_];if(ew.startsWith("int")&&!ew.includes("[")){let eb=eD(ew,e_);return eb>=BigInt(0)?["uint256",eb]:["int256",eb]}if("string"===ew)return e_="number"==typeof e_?(0,eS.numberToBytes)(e_):(0,eS.stringToBytes)(null!=e_?e_:""),["bytes32",(0,eC.arrToBufArr)((0,eA.keccak256)(e_))];if(ew.endsWith("]")){if(eN===eM.V3)throw Error("Arrays are unimplemented in encodeData; use V4 extension");let eE=ew.slice(0,ew.lastIndexOf("[")),eS=e_.map(ew=>eP(eb,em,eE,ew,eN));return["bytes32",(0,eC.arrToBufArr)((0,eA.keccak256)((0,eT.encode)(eS.map(([eb])=>eb),eS.map(([,eb])=>eb))))]}return[ew,e_]}function eR(eb,em,ew,e_){eI(e_,[eM.V3,eM.V4]);let eE=["bytes32"],eS=[eU(eb,ew)];for(let eC of ew[eb]){if(e_===eM.V3&&void 0===em[eC.name])continue;let[eb,eT]=eP(ew,eC.name,eC.type,em[eC.name],e_);eE.push(eb),eS.push(eT)}return(0,eC.arrToBufArr)((0,eT.encode)(eE,eS))}function eB(eb,em){let ew="",eM=eF(eb,em);eM.delete(eb);let eC=[eb,...Array.from(eM).sort()];for(let eb of eC){let eM=em[eb];if(!eM)throw Error(`No type definition specified: ${eb}`);ew+=`${eb}(${em[eb].map(({name:eb,type:em})=>`${em} ${eb}`).join(",")})`}return ew}function eF(eb,em,ew=new Set){if("string"!=typeof eb)throw Error(`Invalid findTypeDependencies input ${JSON.stringify(eb)}`);let eM=eb.match(/^\w*/u);if([eb]=eM,ew.has(eb)||void 0===em[eb])return ew;for(let eM of(ew.add(eb),em[eb]))eF(eM.type,em,ew);return ew}function ej(eb,em,ew,eT){eI(eT,[eM.V3,eM.V4]);let e_=eR(eb,em,ew,eT),eE=(0,eA.keccak256)(e_),eS=(0,eC.arrToBufArr)(eE);return eS}function eU(eb,em){let ew=(0,eS.stringToBytes)(eB(eb,em));return(0,eC.arrToBufArr)((0,eA.keccak256)(ew))}function eV(eb){let ew={};for(let eM in em.TYPED_MESSAGE_SCHEMA.properties)eb[eM]&&(ew[eM]=eb[eM]);return"types"in ew&&(ew.types=Object.assign({EIP712Domain:[]},ew.types)),ew}function eH(eb,em){eI(em,[eM.V3,eM.V4]);let ew=eV(eb),{domain:eC}=ew,eT={EIP712Domain:ew.types.EIP712Domain};return ej("EIP712Domain",eC,eT,em)}function e$(eb,em){eI(em,[eM.V3,eM.V4]);let ew=eV(eb),eT=[(0,eS.hexToBytes)("1901")];return eT.push(eH(eb,em)),"EIP712Domain"!==ew.primaryType&&eT.push(ej(ew.primaryType,ew.message,ew.types,em)),(0,eC.arrToBufArr)((0,eA.keccak256)((0,eS.concatBytes)(eT)))}function eW(eb){let em=eY(eb);return(0,eS.bytesToHex)(em)}function eZ(eb,em){if((0,e_.isArrayType)(eb)&&Array.isArray(em)){let[ew]=(0,e_.getArrayType)(eb);return em.map(eb=>eZ(ew,eb))}if("address"===eb){if("number"==typeof em)return(0,eE.padStart)((0,eS.numberToBytes)(em),20);if((0,eS.isStrictHexString)(em))return(0,eE.padStart)((0,eS.hexToBytes)(em).subarray(0,20),20);if(em instanceof Uint8Array)return(0,eE.padStart)(em.subarray(0,20),20)}if("bool"===eb)return!!em;if(eb.startsWith("bytes")&&"bytes"!==eb){let ew=(0,e_.getByteLength)(eb);if("number"==typeof em)return em<0?new Uint8Array:(0,eS.numberToBytes)(em).subarray(0,ew);if((0,eS.isStrictHexString)(em))return(0,eS.hexToBytes)(em).subarray(0,ew);if(em instanceof Uint8Array)return em.subarray(0,ew)}if(eb.startsWith("uint")&&"number"==typeof em)return Math.abs(em);if(eb.startsWith("int")&&"number"==typeof em){let ew=(0,e_.getLength)(eb);return BigInt.asIntN(ew,BigInt(em))}return em}function eK(eb){return eb.map(eb=>"number"==typeof eb?(0,eE.padStart)((0,eS.numberToBytes)(eb),32):(0,eS.isStrictHexString)(eb)?(0,eE.padStart)((0,eS.hexToBytes)(eb).subarray(0,32),32):eb instanceof Uint8Array?(0,eE.padStart)(eb.subarray(0,32),32):eb)}function eG(eb,em){return em.map(em=>{if("string"==typeof em||"number"==typeof em||"bigint"==typeof em){let ew=eD(eb,em);if(ew>=BigInt(0))return(0,eE.padStart)((0,eS.bigIntToBytes)(ew),32);let eM=(0,e_.getLength)(eb),eC=BigInt.asIntN(eM,ew);return(0,eS.signedBigIntToBytes)(eC,32)}return em})}function eY(eb){let em=Error("Expect argument to be non-empty array");if("object"!=typeof eb||!("length"in eb)||!eb.length)throw em;let ew=eb.map(({name:eb,type:em,value:ew})=>{if("address[]"===em)return{name:eb,type:"bytes32[]",value:eK(ew)};if(em.startsWith("int")&&(0,e_.isArrayType)(em)){let[eM,eC]=(0,e_.getArrayType)(em);return{name:eb,type:`bytes32[${null!=eC?eC:""}]`,value:eG(eM,ew)}}return{name:eb,type:em,value:eZ(em,ew)}}),eM=ew.map(eb=>"bytes"!==eb.type?eb.value:(0,eN.legacyToBuffer)(eb.value)),eE=ew.map(eb=>{if("function"===eb.type)throw Error('Unsupported or invalid type: "function"');return eb.type}),eS=eb.map(eb=>{if(!eb.name)throw em;return`${eb.type} ${eb.name}`});return(0,eC.arrToBufArr)((0,eA.keccak256)((0,eT.encodePacked)(["bytes32","bytes32"],[(0,eA.keccak256)((0,eT.encodePacked)(["string[]"],[eS],!0)),(0,eA.keccak256)((0,eT.encodePacked)(eE,eM,!0))])))}function eJ({privateKey:eb,data:ew,version:eT}){if(eI(eT),(0,eN.isNullish)(ew))throw Error("Missing data parameter");if((0,eN.isNullish)(eb))throw Error("Missing private key parameter");let e_=eT===eM.V1?eY(ew):em.TypedDataUtils.eip712Hash(ew,eT),eE=(0,eC.ecsign)(e_,eb);return(0,eN.concatSig)((0,eC.arrToBufArr)((0,eS.bigIntToBytes)(eE.v)),eE.r,eE.s)}function eX({data:eb,signature:ew,version:eT}){if(eI(eT),(0,eN.isNullish)(eb))throw Error("Missing data parameter");if((0,eN.isNullish)(ew))throw Error("Missing signature parameter");let e_=eT===eM.V1?eY(eb):em.TypedDataUtils.eip712Hash(eb,eT),eE=(0,eN.recoverPublicKey)(e_,ew),eA=(0,eC.publicToAddress)(eE);return(0,eS.bytesToHex)(eA)}!function(eb){eb.V1="V1",eb.V3="V3",eb.V4="V4"}(eM=em.SignTypedDataVersion||(em.SignTypedDataVersion={})),em.TYPED_MESSAGE_SCHEMA={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"]},em.TypedDataUtils={encodeData:eR,encodeType:eB,findTypeDependencies:eF,hashStruct:ej,hashType:eU,sanitizeData:eV,eip712Hash:e$,eip712DomainHash:eH},em.typedSignatureHash=eW,em.signTypedData=eJ,em.recoverTypedSignature=eX},73275:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.normalize=em.recoverPublicKey=em.concatSig=em.legacyToBuffer=em.isNullish=em.padWithZeroes=void 0;let eC=ew(92730),eT=ew(14096);function e_(eb,em){if(""!==eb&&!/^[a-f0-9]+$/iu.test(eb))throw Error(`Expected an unprefixed hex string. Received: ${eb}`);if(em<0)throw Error(`Expected a non-negative integer target length. Received: ${em}`);return String.prototype.padStart.call(eb,em,"0")}function eE(eb){return null==eb}function eS(eb){return"string"!=typeof eb||(0,eC.isHexString)(eb)?(0,eC.toBuffer)(eb):eM.from(eb)}function eA(eb,em,ew){let eM=(0,eC.fromSigned)(em),eE=(0,eC.fromSigned)(ew),eS=(0,eC.bufferToInt)(eb),eA=e_((0,eC.toUnsigned)(eM).toString("hex"),64),eN=e_((0,eC.toUnsigned)(eE).toString("hex"),64),eI=(0,eT.remove0x)((0,eT.numberToHex)(eS));return(0,eT.add0x)(eA.concat(eN,eI))}function eN(eb,em){let ew=(0,eC.fromRpcSig)(em);return(0,eC.ecrecover)(eb,ew.v,ew.r,ew.s)}function eI(eb){if(!eE(eb)){if("number"==typeof eb){if(eb<0)return"0x";let em=(0,eT.numberToBytes)(eb);eb=(0,eT.bytesToHex)(em)}if("string"!=typeof eb){let em="eth-sig-util.normalize() requires hex string or integer input.";throw Error(em+=` received ${typeof eb}: ${eb}`)}return(0,eT.add0x)(eb.toLowerCase())}}em.padWithZeroes=e_,em.isNullish=eE,em.legacyToBuffer=eS,em.concatSig=eA,em.recoverPublicKey=eN,em.normalize=eI},60779:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0});let eM=ew(17187);function eC(eb,em,ew){try{Reflect.apply(eb,em,ew)}catch(eb){setTimeout(()=>{throw eb})}}function eT(eb){let em=eb.length,ew=Array(em);for(let eM=0;eM0&&([eb]=em),eb instanceof Error)throw eb;let ew=Error(`Unhandled error.${eb?` (${eb.message})`:""}`);throw ew.context=eb,ew}let e_=eM[eb];if(void 0===e_)return!1;if("function"==typeof e_)eC(e_,this,em);else{let eb=e_.length,ew=eT(e_);for(let eM=0;eM(0,eM.hmac)(eb,em,(0,eC.concatBytes)(...ew)),randomBytes:eC.randomBytes}}function eE(eb,em){let ew=em=>(0,eT.weierstrass)({...eb,...e_(em)});return Object.freeze({...ew(em),create:ew})}em.getHash=e_,em.createCurve=eE},81525:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.validateBasic=em.wNAF=void 0;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let eM=ew(94632),eC=ew(40219),eT=BigInt(0),e_=BigInt(1);function eE(eb,em){let ew=(eb,em)=>{let ew=em.negate();return eb?ew:em},eM=eb=>{let ew=Math.ceil(em/eb)+1,eM=2**(eb-1);return{windows:ew,windowSize:eM}};return{constTimeNegate:ew,unsafeLadder(em,ew){let eM=eb.ZERO,eC=em;for(;ew>eT;)ew&e_&&(eM=eM.add(eC)),eC=eC.double(),ew>>=e_;return eM},precomputeWindow(eb,em){let{windows:ew,windowSize:eC}=eM(em),eT=[],e_=eb,eE=e_;for(let eb=0;eb>=eO,eM>eS&&(eM-=eD,eT+=e_);let eE=em,eP=em+Math.abs(eM)-1,eR=eb%2!=0,eB=eM<0;0===eM?eN=eN.add(ew(eR,eC[eE])):eA=eA.add(ew(eB,eC[eP]))}return{p:eA,f:eN}},wNAFCached(eb,em,ew,eM){let eC=eb._WINDOW_SIZE||1,eT=em.get(eb);return eT||(eT=this.precomputeWindow(eb,eC),1!==eC&&em.set(eb,eM(eT))),this.wNAF(eC,eT,ew)}}}function eS(eb){return(0,eM.validateField)(eb.Fp),(0,eC.validateObject)(eb,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...(0,eM.nLength)(eb.n,eb.nBitLength),...eb,p:eb.Fp.ORDER})}em.wNAF=eE,em.validateBasic=eS},15134:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.createHasher=em.isogenyMap=em.hash_to_field=em.expand_message_xof=em.expand_message_xmd=void 0;let eM=ew(94632),eC=ew(40219);function eT(eb){if((0,eC.isBytes)(eb))return eb;if("string"==typeof eb)return(0,eC.utf8ToBytes)(eb);throw Error("DST must be Uint8Array or string")}let e_=eC.bytesToNumberBE;function eE(eb,em){if(eb<0||eb>=1<<8*em)throw Error(`bad I2OSP call: value=${eb} length=${em}`);let ew=Array.from({length:em}).fill(0);for(let eM=em-1;eM>=0;eM--)ew[eM]=255&eb,eb>>>=8;return new Uint8Array(ew)}function eS(eb,em){let ew=new Uint8Array(eb.length);for(let eM=0;eM255&&(em=eM((0,eC.concatBytes)((0,eC.utf8ToBytes)("H2C-OVERSIZE-DST-"),em)));let{outputLen:eT,blockLen:e_}=eM,eI=Math.ceil(ew/eT);if(eI>255)throw Error("Invalid xmd length");let eD=(0,eC.concatBytes)(em,eE(em.length,1)),eO=eE(0,e_),eP=eE(ew,2),eR=Array(eI),eB=eM((0,eC.concatBytes)(eO,eb,eP,eE(0,1),eD));eR[0]=eM((0,eC.concatBytes)(eB,eE(1,1),eD));for(let eb=1;eb<=eI;eb++){let em=[eS(eB,eR[eb-1]),eE(eb+1,1),eD];eR[eb]=eM((0,eC.concatBytes)(...em))}let eF=(0,eC.concatBytes)(...eR);return eF.slice(0,ew)}function eD(eb,em,ew,eM,eT){if(eA(eb),eA(em),eN(ew),em.length>255){let eb=Math.ceil(2*eM/8);em=eT.create({dkLen:eb}).update((0,eC.utf8ToBytes)("H2C-OVERSIZE-DST-")).update(em).digest()}if(ew>65535||em.length>255)throw Error("expand_message_xof: invalid lenInBytes");return eT.create({dkLen:ew}).update(eb).update(eE(ew,2)).update(em).update(eE(em.length,1)).digest()}function eO(eb,em,ew){let eE;(0,eC.validateObject)(ew,{DST:"stringOrUint8Array",p:"bigint",m:"isSafeInteger",k:"isSafeInteger",hash:"hash"});let{p:eS,k:eO,m:eP,hash:eR,expand:eB,DST:eF}=ew;eA(eb),eN(em);let ej=eT(eF),eU=eS.toString(2).length,eV=Math.ceil((eU+eO)/8),eH=em*eP*eV;if("xmd"===eB)eE=eI(eb,ej,eH,eR);else if("xof"===eB)eE=eD(eb,ej,eH,eO,eR);else if("_internal_pass"===eB)eE=eb;else throw Error('expand must be "xmd" or "xof"');let e$=Array(em);for(let eb=0;ebArray.from(eb).reverse());return(em,eM)=>{let[eC,eT,e_,eE]=ew.map(ew=>ew.reduce((ew,eM)=>eb.add(eb.mul(ew,em),eM)));return{x:em=eb.div(eC,eT),y:eM=eb.mul(eM,eb.div(e_,eE))}}}function eR(eb,em,ew){if("function"!=typeof em)throw Error("mapToCurve() must be defined");return{hashToCurve(eM,eC){let eT=eO(eM,2,{...ew,DST:ew.DST,...eC}),e_=eb.fromAffine(em(eT[0])),eE=eb.fromAffine(em(eT[1])),eS=e_.add(eE).clearCofactor();return eS.assertValidity(),eS},encodeToCurve(eM,eC){let eT=eO(eM,1,{...ew,DST:ew.encodeDST,...eC}),e_=eb.fromAffine(em(eT[0])).clearCofactor();return e_.assertValidity(),e_}}}em.expand_message_xmd=eI,em.expand_message_xof=eD,em.hash_to_field=eO,em.isogenyMap=eP,em.createHasher=eR},94632:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.mapHashToField=em.getMinHashLength=em.getFieldBytesLength=em.hashToPrivateScalar=em.FpSqrtEven=em.FpSqrtOdd=em.Field=em.nLength=em.FpIsSquare=em.FpDiv=em.FpInvertBatch=em.FpPow=em.validateField=em.isNegativeLE=em.FpSqrt=em.tonelliShanks=em.invert=em.pow2=em.pow=em.mod=void 0;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let eM=ew(40219),eC=BigInt(0),eT=BigInt(1),e_=BigInt(2),eE=BigInt(3),eS=BigInt(4),eA=BigInt(5),eN=BigInt(8);function eI(eb,em){let ew=eb%em;return ew>=eC?ew:em+ew}function eD(eb,em,ew){if(ew<=eC||em 0");if(ew===eT)return eC;let eM=eT;for(;em>eC;)em&eT&&(eM=eM*eb%ew),eb=eb*eb%ew,em>>=eT;return eM}function eO(eb,em,ew){let eM=eb;for(;em-- >eC;)eM*=eM,eM%=ew;return eM}function eP(eb,em){if(eb===eC||em<=eC)throw Error(`invert: expected positive integers, got n=${eb} mod=${em}`);let ew=eI(eb,em),eM=em,e_=eC,eE=eT,eS=eT,eA=eC;for(;ew!==eC;){let eb=eM/ew,em=eM%ew,eC=e_-eS*eb,eT=eE-eA*eb;eM=ew,ew=em,e_=eS,eE=eA,eS=eC,eA=eT}let eN=eM;if(eN!==eT)throw Error("invert: does not exist");return eI(e_,em)}function eR(eb){let em,ew,eM;let eE=(eb-eT)/e_;for(em=eb-eT,ew=0;em%e_===eC;em/=e_,ew++);for(eM=e_;eM(eI(eb,em)&eT)===eT;em.isNegativeLE=eF;let ej=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function eU(eb){let em={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},ew=ej.reduce((eb,em)=>(eb[em]="function",eb),em);return(0,eM.validateObject)(eb,ew)}function eV(eb,em,ew){if(ew 0");if(ew===eC)return eb.ONE;if(ew===eT)return em;let eM=eb.ONE,e_=em;for(;ew>eC;)ew&eT&&(eM=eb.mul(eM,e_)),e_=eb.sqr(e_),ew>>=eT;return eM}function eH(eb,em){let ew=Array(em.length),eM=em.reduce((em,eM,eC)=>eb.is0(eM)?em:(ew[eC]=em,eb.mul(em,eM)),eb.ONE),eC=eb.inv(eM);return em.reduceRight((em,eM,eC)=>eb.is0(eM)?em:(ew[eC]=eb.mul(em,ew[eC]),eb.mul(em,eM)),eC),ew}function e$(eb,em,ew){return eb.mul(em,"bigint"==typeof ew?eP(ew,eb.ORDER):eb.inv(ew))}function eW(eb){let em=(eb.ORDER-eT)/e_;return ew=>{let eM=eb.pow(ew,em);return eb.eql(eM,eb.ZERO)||eb.eql(eM,eb.ONE)}}function eZ(eb,em){let ew=void 0!==em?em:eb.toString(2).length,eM=Math.ceil(ew/8);return{nBitLength:ew,nByteLength:eM}}function eK(eb,em,ew=!1,e_={}){if(eb<=eC)throw Error(`Expected Field ORDER > 0, got ${eb}`);let{nBitLength:eE,nByteLength:eS}=eZ(eb,em);if(eS>2048)throw Error("Field lengths over 2048 bytes are not supported");let eA=eB(eb),eN=Object.freeze({ORDER:eb,BITS:eE,BYTES:eS,MASK:(0,eM.bitMask)(eE),ZERO:eC,ONE:eT,create:em=>eI(em,eb),isValid:em=>{if("bigint"!=typeof em)throw Error(`Invalid field element: expected bigint, got ${typeof em}`);return eC<=em&&emeb===eC,isOdd:eb=>(eb&eT)===eT,neg:em=>eI(-em,eb),eql:(eb,em)=>eb===em,sqr:em=>eI(em*em,eb),add:(em,ew)=>eI(em+ew,eb),sub:(em,ew)=>eI(em-ew,eb),mul:(em,ew)=>eI(em*ew,eb),pow:(eb,em)=>eV(eN,eb,em),div:(em,ew)=>eI(em*eP(ew,eb),eb),sqrN:eb=>eb*eb,addN:(eb,em)=>eb+em,subN:(eb,em)=>eb-em,mulN:(eb,em)=>eb*em,inv:em=>eP(em,eb),sqrt:e_.sqrt||(eb=>eA(eN,eb)),invertBatch:eb=>eH(eN,eb),cmov:(eb,em,ew)=>ew?em:eb,toBytes:eb=>ew?(0,eM.numberToBytesLE)(eb,eS):(0,eM.numberToBytesBE)(eb,eS),fromBytes:eb=>{if(eb.length!==eS)throw Error(`Fp.fromBytes: expected ${eS}, got ${eb.length}`);return ew?(0,eM.bytesToNumberLE)(eb):(0,eM.bytesToNumberBE)(eb)}});return Object.freeze(eN)}function eG(eb,em){if(!eb.isOdd)throw Error("Field doesn't have isOdd");let ew=eb.sqrt(em);return eb.isOdd(ew)?ew:eb.neg(ew)}function eY(eb,em){if(!eb.isOdd)throw Error("Field doesn't have isOdd");let ew=eb.sqrt(em);return eb.isOdd(ew)?eb.neg(ew):ew}function eJ(eb,em,ew=!1){eb=(0,eM.ensureBytes)("privateHash",eb);let eC=eb.length,e_=eZ(em).nByteLength+8;if(e_<24||eC1024)throw Error(`hashToPrivateScalar: expected ${e_}-1024 bytes of input, got ${eC}`);let eE=ew?(0,eM.bytesToNumberLE)(eb):(0,eM.bytesToNumberBE)(eb);return eI(eE,em-eT)+eT}function eX(eb){if("bigint"!=typeof eb)throw Error("field order must be bigint");let em=eb.toString(2).length;return Math.ceil(em/8)}function eQ(eb){let em=eX(eb);return em+Math.ceil(em/2)}function e0(eb,em,ew=!1){let eC=eb.length,e_=eX(em),eE=eQ(em);if(eC<16||eC1024)throw Error(`expected ${eE}-1024 bytes of input, got ${eC}`);let eS=ew?(0,eM.bytesToNumberBE)(eb):(0,eM.bytesToNumberLE)(eb),eA=eI(eS,em-eT)+eT;return ew?(0,eM.numberToBytesLE)(eA,e_):(0,eM.numberToBytesBE)(eA,e_)}em.validateField=eU,em.FpPow=eV,em.FpInvertBatch=eH,em.FpDiv=e$,em.FpIsSquare=eW,em.nLength=eZ,em.Field=eK,em.FpSqrtOdd=eG,em.FpSqrtEven=eY,em.hashToPrivateScalar=eJ,em.getFieldBytesLength=eX,em.getMinHashLength=eQ,em.mapHashToField=e0},40219:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.validateObject=em.createHmacDrbg=em.bitMask=em.bitSet=em.bitGet=em.bitLen=em.utf8ToBytes=em.equalBytes=em.concatBytes=em.ensureBytes=em.numberToVarBytesBE=em.numberToBytesLE=em.numberToBytesBE=em.bytesToNumberLE=em.bytesToNumberBE=em.hexToBytes=em.hexToNumber=em.numberToHexUnpadded=em.bytesToHex=em.isBytes=void 0;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let ew=BigInt(0),eM=BigInt(1),eC=BigInt(2);function eT(eb){return eb instanceof Uint8Array||null!=eb&&"object"==typeof eb&&"Uint8Array"===eb.constructor.name}em.isBytes=eT;let e_=Array.from({length:256},(eb,em)=>em.toString(16).padStart(2,"0"));function eE(eb){if(!eT(eb))throw Error("Uint8Array expected");let em="";for(let ew=0;ew=eN._0&&eb<=eN._9?eb-eN._0:eb>=eN._A&&eb<=eN._F?eb-(eN._A-10):eb>=eN._a&&eb<=eN._f?eb-(eN._a-10):void 0}function eD(eb){if("string"!=typeof eb)throw Error("hex string expected, got "+typeof eb);let em=eb.length,ew=em/2;if(em%2)throw Error("padded hex string expected, got unpadded hex of length "+em);let eM=new Uint8Array(ew);for(let em=0,eC=0;emew;eb>>=eM,em+=1);return em}function eW(eb,em){return eb>>BigInt(em)&eM}em.hexToBytes=eD,em.bytesToNumberBE=eO,em.bytesToNumberLE=eP,em.numberToBytesBE=eR,em.numberToBytesLE=eB,em.numberToVarBytesBE=eF,em.ensureBytes=ej,em.concatBytes=eU,em.equalBytes=eV,em.utf8ToBytes=eH,em.bitLen=e$,em.bitGet=eW;let eZ=(eb,em,eC)=>eb|(eC?eM:ew)<(eC<new Uint8Array(eb),eY=eb=>Uint8Array.from(eb);function eJ(eb,em,ew){if("number"!=typeof eb||eb<2)throw Error("hashLen must be a number");if("number"!=typeof em||em<2)throw Error("qByteLen must be a number");if("function"!=typeof ew)throw Error("hmacFn must be a function");let eM=eG(eb),eC=eG(eb),eT=0,e_=()=>{eM.fill(1),eC.fill(0),eT=0},eE=(...eb)=>ew(eC,eM,...eb),eS=(eb=eG())=>{eC=eE(eY([0]),eb),eM=eE(),0!==eb.length&&(eC=eE(eY([1]),eb),eM=eE())},eA=()=>{if(eT++>=1e3)throw Error("drbg: tried 1000 values");let eb=0,ew=[];for(;eb{let ew;for(e_(),eS(eb);!(ew=em(eA()));)eS();return e_(),ew};return eN}em.createHmacDrbg=eJ;let eX={bigint:eb=>"bigint"==typeof eb,function:eb=>"function"==typeof eb,boolean:eb=>"boolean"==typeof eb,string:eb=>"string"==typeof eb,stringOrUint8Array:eb=>"string"==typeof eb||eT(eb),isSafeInteger:eb=>Number.isSafeInteger(eb),array:eb=>Array.isArray(eb),field:(eb,em)=>em.Fp.isValid(eb),hash:eb=>"function"==typeof eb&&Number.isSafeInteger(eb.outputLen)};function eQ(eb,em,ew={}){let eM=(em,ew,eM)=>{let eC=eX[ew];if("function"!=typeof eC)throw Error(`Invalid validator "${ew}", expected function`);let eT=eb[em];if((!eM||void 0!==eT)&&!eC(eT,eb))throw Error(`Invalid param ${String(em)}=${eT} (${typeof eT}), expected ${ew}`)};for(let[eb,ew]of Object.entries(em))eM(eb,ew,!1);for(let[eb,em]of Object.entries(ew))eM(eb,em,!0);return eb}em.validateObject=eQ},96551:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.mapToCurveSimpleSWU=em.SWUFpSqrtRatio=em.weierstrass=em.weierstrassPoints=em.DER=void 0;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let eM=ew(94632),eC=ew(40219),eT=ew(40219),e_=ew(81525);function eE(eb){let em=(0,e_.validateBasic)(eb);eC.validateObject(em,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:ew,Fp:eM,a:eT}=em;if(ew){if(!eM.eql(eT,eM.ZERO))throw Error("Endomorphism can only be defined for Koblitz curves that have a=0");if("object"!=typeof ew||"bigint"!=typeof ew.beta||"function"!=typeof ew.splitScalar)throw Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...em})}let{bytesToNumberBE:eS,hexToBytes:eA}=eC;em.DER={Err:class extends Error{constructor(eb=""){super(eb)}},_parseInt(eb){let{Err:ew}=em.DER;if(eb.length<2||2!==eb[0])throw new ew("Invalid signature integer tag");let eM=eb[1],eC=eb.subarray(2,eM+2);if(!eM||eC.length!==eM)throw new ew("Invalid signature integer: wrong length");if(128&eC[0])throw new ew("Invalid signature integer: negative");if(0===eC[0]&&!(128&eC[1]))throw new ew("Invalid signature integer: unnecessary leading zero");return{d:eS(eC),l:eb.subarray(eM+2)}},toSig(eb){let{Err:ew}=em.DER,eM="string"==typeof eb?eA(eb):eb;if(!eC.isBytes(eM))throw Error("ui8a expected");let eT=eM.length;if(eT<2||48!=eM[0])throw new ew("Invalid signature tag");if(eM[1]!==eT-2)throw new ew("Invalid signature: incorrect length");let{d:e_,l:eE}=em.DER._parseInt(eM.subarray(2)),{d:eS,l:eN}=em.DER._parseInt(eE);if(eN.length)throw new ew("Invalid signature: left bytes after parsing");return{r:e_,s:eS}},hexFromSig(eb){let em=eb=>8&Number.parseInt(eb[0],16)?"00"+eb:eb,ew=eb=>{let em=eb.toString(16);return 1&em.length?`0${em}`:em},eM=em(ew(eb.s)),eC=em(ew(eb.r)),eT=eM.length/2,e_=eC.length/2,eE=ew(eT),eS=ew(e_);return`30${ew(e_+eT+4)}02${eS}${eC}02${eE}${eM}`}};let eN=BigInt(0),eI=BigInt(1),eD=BigInt(2),eO=BigInt(3),eP=BigInt(4);function eR(eb){let em=eE(eb),{Fp:ew}=em,eS=em.toBytes||((eb,em,eM)=>{let eT=em.toAffine();return eC.concatBytes(Uint8Array.from([4]),ew.toBytes(eT.x),ew.toBytes(eT.y))}),eA=em.fromBytes||(eb=>{let em=eb.subarray(1),eM=ew.fromBytes(em.subarray(0,ew.BYTES)),eC=ew.fromBytes(em.subarray(ew.BYTES,2*ew.BYTES));return{x:eM,y:eC}});function eD(eb){let{a:eM,b:eC}=em,eT=ew.sqr(eb),e_=ew.mul(eT,eb);return ew.add(ew.add(e_,ew.mul(eb,eM)),eC)}if(!ew.eql(ew.sqr(em.Gy),eD(em.Gx)))throw Error("bad generator point: equation left != right");function eP(eb){return"bigint"==typeof eb&&eNew.eql(eb,ew.ZERO);return eC(em)&&eC(eM)?eU.ZERO:new eU(em,eM,ew.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(eb){let em=ew.invertBatch(eb.map(eb=>eb.pz));return eb.map((eb,ew)=>eb.toAffine(em[ew])).map(eU.fromAffine)}static fromHex(eb){let em=eU.fromAffine(eA((0,eT.ensureBytes)("pointHex",eb)));return em.assertValidity(),em}static fromPrivateKey(eb){return eU.BASE.multiply(eB(eb))}_setWindowSize(eb){this._WINDOW_SIZE=eb,eF.delete(this)}assertValidity(){if(this.is0()){if(em.allowInfinityPoint&&!ew.is0(this.py))return;throw Error("bad point: ZERO")}let{x:eb,y:eM}=this.toAffine();if(!ew.isValid(eb)||!ew.isValid(eM))throw Error("bad point: x or y not FE");let eC=ew.sqr(eM),eT=eD(eb);if(!ew.eql(eC,eT))throw Error("bad point: equation left != right");if(!this.isTorsionFree())throw Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:eb}=this.toAffine();if(ew.isOdd)return!ew.isOdd(eb);throw Error("Field doesn't support isOdd")}equals(eb){ej(eb);let{px:em,py:eM,pz:eC}=this,{px:eT,py:e_,pz:eE}=eb,eS=ew.eql(ew.mul(em,eE),ew.mul(eT,eC)),eA=ew.eql(ew.mul(eM,eE),ew.mul(e_,eC));return eS&&eA}negate(){return new eU(this.px,ew.neg(this.py),this.pz)}double(){let{a:eb,b:eM}=em,eC=ew.mul(eM,eO),{px:eT,py:e_,pz:eE}=this,eS=ew.ZERO,eA=ew.ZERO,eN=ew.ZERO,eI=ew.mul(eT,eT),eD=ew.mul(e_,e_),eP=ew.mul(eE,eE),eR=ew.mul(eT,e_);return eR=ew.add(eR,eR),eN=ew.mul(eT,eE),eN=ew.add(eN,eN),eS=ew.mul(eb,eN),eA=ew.mul(eC,eP),eA=ew.add(eS,eA),eS=ew.sub(eD,eA),eA=ew.add(eD,eA),eA=ew.mul(eS,eA),eS=ew.mul(eR,eS),eN=ew.mul(eC,eN),eP=ew.mul(eb,eP),eR=ew.sub(eI,eP),eR=ew.mul(eb,eR),eR=ew.add(eR,eN),eN=ew.add(eI,eI),eI=ew.add(eN,eI),eI=ew.add(eI,eP),eI=ew.mul(eI,eR),eA=ew.add(eA,eI),eP=ew.mul(e_,eE),eP=ew.add(eP,eP),eI=ew.mul(eP,eR),eS=ew.sub(eS,eI),eN=ew.mul(eP,eD),eN=ew.add(eN,eN),eN=ew.add(eN,eN),new eU(eS,eA,eN)}add(eb){ej(eb);let{px:eM,py:eC,pz:eT}=this,{px:e_,py:eE,pz:eS}=eb,eA=ew.ZERO,eN=ew.ZERO,eI=ew.ZERO,eD=em.a,eP=ew.mul(em.b,eO),eR=ew.mul(eM,e_),eB=ew.mul(eC,eE),eF=ew.mul(eT,eS),eV=ew.add(eM,eC),eH=ew.add(e_,eE);eV=ew.mul(eV,eH),eH=ew.add(eR,eB),eV=ew.sub(eV,eH),eH=ew.add(eM,eT);let e$=ew.add(e_,eS);return eH=ew.mul(eH,e$),e$=ew.add(eR,eF),eH=ew.sub(eH,e$),e$=ew.add(eC,eT),eA=ew.add(eE,eS),e$=ew.mul(e$,eA),eA=ew.add(eB,eF),e$=ew.sub(e$,eA),eI=ew.mul(eD,eH),eA=ew.mul(eP,eF),eI=ew.add(eA,eI),eA=ew.sub(eB,eI),eI=ew.add(eB,eI),eN=ew.mul(eA,eI),eB=ew.add(eR,eR),eB=ew.add(eB,eR),eF=ew.mul(eD,eF),eH=ew.mul(eP,eH),eB=ew.add(eB,eF),eF=ew.sub(eR,eF),eF=ew.mul(eD,eF),eH=ew.add(eH,eF),eR=ew.mul(eB,eH),eN=ew.add(eN,eR),eR=ew.mul(e$,eH),eA=ew.mul(eV,eA),eA=ew.sub(eA,eR),eR=ew.mul(eV,eB),eI=ew.mul(e$,eI),eI=ew.add(eI,eR),new eU(eA,eN,eI)}subtract(eb){return this.add(eb.negate())}is0(){return this.equals(eU.ZERO)}wNAF(eb){return eH.wNAFCached(this,eF,eb,eb=>{let em=ew.invertBatch(eb.map(eb=>eb.pz));return eb.map((eb,ew)=>eb.toAffine(em[ew])).map(eU.fromAffine)})}multiplyUnsafe(eb){let eM=eU.ZERO;if(eb===eN)return eM;if(eR(eb),eb===eI)return this;let{endo:eC}=em;if(!eC)return eH.unsafeLadder(this,eb);let{k1neg:eT,k1:e_,k2neg:eE,k2:eS}=eC.splitScalar(eb),eA=eM,eD=eM,eO=this;for(;e_>eN||eS>eN;)e_&eI&&(eA=eA.add(eO)),eS&eI&&(eD=eD.add(eO)),eO=eO.double(),e_>>=eI,eS>>=eI;return eT&&(eA=eA.negate()),eE&&(eD=eD.negate()),eD=new eU(ew.mul(eD.px,eC.beta),eD.py,eD.pz),eA.add(eD)}multiply(eb){let eM,eC;eR(eb);let eT=eb,{endo:e_}=em;if(e_){let{k1neg:eb,k1:em,k2neg:eE,k2:eS}=e_.splitScalar(eT),{p:eA,f:eN}=this.wNAF(em),{p:eI,f:eD}=this.wNAF(eS);eA=eH.constTimeNegate(eb,eA),eI=eH.constTimeNegate(eE,eI),eI=new eU(ew.mul(eI.px,e_.beta),eI.py,eI.pz),eM=eA.add(eI),eC=eN.add(eD)}else{let{p:eb,f:em}=this.wNAF(eT);eM=eb,eC=em}return eU.normalizeZ([eM,eC])[0]}multiplyAndAddUnsafe(eb,em,ew){let eM=eU.BASE,eC=(eb,em)=>em!==eN&&em!==eI&&eb.equals(eM)?eb.multiply(em):eb.multiplyUnsafe(em),eT=eC(this,em).add(eC(eb,ew));return eT.is0()?void 0:eT}toAffine(eb){let{px:em,py:eM,pz:eC}=this,eT=this.is0();null==eb&&(eb=eT?ew.ONE:ew.inv(eC));let e_=ew.mul(em,eb),eE=ew.mul(eM,eb),eS=ew.mul(eC,eb);if(eT)return{x:ew.ZERO,y:ew.ZERO};if(!ew.eql(eS,ew.ONE))throw Error("invZ was invalid");return{x:e_,y:eE}}isTorsionFree(){let{h:eb,isTorsionFree:ew}=em;if(eb===eI)return!0;if(ew)return ew(eU,this);throw Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:eb,clearCofactor:ew}=em;return eb===eI?this:ew?ew(eU,this):this.multiplyUnsafe(em.h)}toRawBytes(eb=!0){return this.assertValidity(),eS(eU,this,eb)}toHex(eb=!0){return eC.bytesToHex(this.toRawBytes(eb))}}eU.BASE=new eU(em.Gx,em.Gy,ew.ONE),eU.ZERO=new eU(ew.ZERO,ew.ONE,ew.ZERO);let eV=em.nBitLength,eH=(0,e_.wNAF)(eU,em.endo?Math.ceil(eV/2):eV);return{CURVE:em,ProjectivePoint:eU,normPrivateKeyToScalar:eB,weierstrassEquation:eD,isWithinCurveOrder:eP}}function eB(eb){let em=(0,e_.validateBasic)(eb);return eC.validateObject(em,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...em})}function eF(eb){let ew=eB(eb),{Fp:e_,n:eE}=ew,eS=e_.BYTES+1,eA=2*e_.BYTES+1;function eD(eb){return eNeC.bytesToHex(eC.numberToBytesBE(eb,ew.nByteLength));function e$(eb){let em=eE>>eI;return eb>em}function eW(eb){return e$(eb)?eO(-eb):eb}let eZ=(eb,em,ew)=>eC.bytesToNumberBE(eb.slice(em,ew));class eK{constructor(eb,em,ew){this.r=eb,this.s=em,this.recovery=ew,this.assertValidity()}static fromCompact(eb){let em=ew.nByteLength;return eb=(0,eT.ensureBytes)("compactSignature",eb,2*em),new eK(eZ(eb,0,em),eZ(eb,em,2*em))}static fromDER(eb){let{r:ew,s:eM}=em.DER.toSig((0,eT.ensureBytes)("DER",eb));return new eK(ew,eM)}assertValidity(){if(!eV(this.r))throw Error("r must be 0 < r < CURVE.n");if(!eV(this.s))throw Error("s must be 0 < s < CURVE.n")}addRecoveryBit(eb){return new eK(this.r,this.s,eb)}recoverPublicKey(eb){let{r:em,s:eM,recovery:eC}=this,eE=e0((0,eT.ensureBytes)("msgHash",eb));if(null==eC||![0,1,2,3].includes(eC))throw Error("recovery id invalid");let eS=2===eC||3===eC?em+ew.n:em;if(eS>=e_.ORDER)throw Error("recovery id 2 or 3 invalid");let eA=(1&eC)==0?"02":"03",eN=eF.fromHex(eA+eH(eS)),eI=eP(eS),eD=eO(-eE*eI),eR=eO(eM*eI),eB=eF.BASE.multiplyAndAddUnsafe(eN,eD,eR);if(!eB)throw Error("point at infinify");return eB.assertValidity(),eB}hasHighS(){return e$(this.s)}normalizeS(){return this.hasHighS()?new eK(this.r,eO(-this.s),this.recovery):this}toDERRawBytes(){return eC.hexToBytes(this.toDERHex())}toDERHex(){return em.DER.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return eC.hexToBytes(this.toCompactHex())}toCompactHex(){return eH(this.r)+eH(this.s)}}let eG={isValidPrivateKey(eb){try{return ej(eb),!0}catch(eb){return!1}},normPrivateKeyToScalar:ej,randomPrivateKey:()=>{let eb=eM.getMinHashLength(ew.n);return eM.mapHashToField(ew.randomBytes(eb),ew.n)},precompute:(eb=8,em=eF.BASE)=>(em._setWindowSize(eb),em.multiply(BigInt(3)),em)};function eY(eb,em=!0){return eF.fromPrivateKey(eb).toRawBytes(em)}function eJ(eb){let em=eC.isBytes(eb),ew="string"==typeof eb,eM=(em||ew)&&eb.length;return em?eM===eS||eM===eA:ew?eM===2*eS||eM===2*eA:eb instanceof eF}function eX(eb,em,ew=!0){if(eJ(eb))throw Error("first arg must be private key");if(!eJ(em))throw Error("second arg must be public key");let eM=eF.fromHex(em);return eM.multiply(ej(eb)).toRawBytes(ew)}let eQ=ew.bits2int||function(eb){let em=eC.bytesToNumberBE(eb),eM=8*eb.length-ew.nBitLength;return eM>0?em>>BigInt(eM):em},e0=ew.bits2int_modN||function(eb){return eO(eQ(eb))},e6=eC.bitMask(ew.nBitLength);function e4(eb){if("bigint"!=typeof eb)throw Error("bigint expected");if(!(eN<=eb&&ebeb in eM))throw Error("sign() legacy options not supported");let{hash:eE,randomBytes:eS}=ew,{lowS:eA,prehash:eD,extraEntropy:eR}=eM;null==eA&&(eA=!0),eb=(0,eT.ensureBytes)("msgHash",eb),eD&&(eb=(0,eT.ensureBytes)("prehashed msgHash",eE(eb)));let eB=e0(eb),eU=ej(em),eH=[e4(eU),e4(eB)];if(null!=eR){let eb=!0===eR?eS(e_.BYTES):eR;eH.push((0,eT.ensureBytes)("extraEntropy",eb))}let eZ=eC.concatBytes(...eH),eG=eB;return{seed:eZ,k2sig:function(eb){let em=eQ(eb);if(!eV(em))return;let ew=eP(em),eM=eF.BASE.multiply(em).toAffine(),eC=eO(eM.x);if(eC===eN)return;let eT=eO(ew*eO(eG+eC*eU));if(eT===eN)return;let e_=(eM.x===eC?0:2)|Number(eM.y&eI),eE=eT;return eA&&e$(eT)&&(eE=eW(eT),e_^=1),new eK(eC,eE,e_)}}}let e5={lowS:ew.lowS,prehash:!1},e8={lowS:ew.lowS,prehash:!1};function e9(eb,em,eM=e5){let{seed:eT,k2sig:e_}=e3(eb,em,eM),eE=ew,eS=eC.createHmacDrbg(eE.hash.outputLen,eE.nByteLength,eE.hmac);return eS(eT,e_)}return eF.BASE._setWindowSize(8),{CURVE:ew,getPublicKey:eY,getSharedSecret:eX,sign:e9,verify:function(eb,eM,e_,eE=e8){let eS,eA;let eN=eb;if(eM=(0,eT.ensureBytes)("msgHash",eM),e_=(0,eT.ensureBytes)("publicKey",e_),"strict"in eE)throw Error("options.strict was renamed to lowS");let{lowS:eI,prehash:eD}=eE;try{if("string"==typeof eN||eC.isBytes(eN))try{eA=eK.fromDER(eN)}catch(eb){if(!(eb instanceof em.DER.Err))throw eb;eA=eK.fromCompact(eN)}else if("object"==typeof eN&&"bigint"==typeof eN.r&&"bigint"==typeof eN.s){let{r:eb,s:em}=eN;eA=new eK(eb,em)}else throw Error("PARSE");eS=eF.fromHex(e_)}catch(eb){if("PARSE"===eb.message)throw Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(eI&&eA.hasHighS())return!1;eD&&(eM=ew.hash(eM));let{r:eR,s:eB}=eA,ej=e0(eM),eU=eP(eB),eV=eO(ej*eU),eH=eO(eR*eU),e$=eF.BASE.multiplyAndAddUnsafe(eS,eV,eH)?.toAffine();if(!e$)return!1;let eW=eO(e$.x);return eW===eR},ProjectivePoint:eF,Signature:eK,utils:eG}}function ej(eb,em){let ew=eb.ORDER,eM=eN;for(let eb=ew-eI;eb%eD===eN;eb/=eD)eM+=eI;let eC=eM,eT=eD<{let eM=eB,eT=eb.pow(ew,eA),e_=eb.sqr(eT);e_=eb.mul(e_,ew);let eE=eb.mul(em,e_);eE=eb.pow(eE,eS),eE=eb.mul(eE,eT),eT=eb.mul(eE,ew),e_=eb.mul(eE,em);let eN=eb.mul(e_,eT);eE=eb.pow(eN,eR);let eO=eb.eql(eE,eb.ONE);eT=eb.mul(e_,eF),eE=eb.mul(eN,eM),e_=eb.cmov(eT,e_,eO),eN=eb.cmov(eE,eN,eO);for(let em=eC;em>eI;em--){let ew=em-eD;ew=eD<{let eT=eb.sqr(eC),e_=eb.mul(em,eC);eT=eb.mul(eT,e_);let eE=eb.pow(eT,ew);eE=eb.mul(eE,e_);let eS=eb.mul(eE,eM),eA=eb.mul(eb.sqr(eE),eC),eN=eb.eql(eA,em),eI=eb.cmov(eS,eE,eN);return{isValid:eN,value:eI}}}return ej}function eU(eb,em){if(eM.validateField(eb),!eb.isValid(em.A)||!eb.isValid(em.B)||!eb.isValid(em.Z))throw Error("mapToCurveSimpleSWU: invalid opts");let ew=ej(eb,em.Z);if(!eb.isOdd)throw Error("Fp.isOdd is not implemented!");return eM=>{let eC,eT,e_,eE,eS,eA,eN,eI;eC=eb.sqr(eM),eC=eb.mul(eC,em.Z),eT=eb.sqr(eC),eT=eb.add(eT,eC),e_=eb.add(eT,eb.ONE),e_=eb.mul(e_,em.B),eE=eb.cmov(em.Z,eb.neg(eT),!eb.eql(eT,eb.ZERO)),eE=eb.mul(eE,em.A),eT=eb.sqr(e_),eA=eb.sqr(eE),eS=eb.mul(eA,em.A),eT=eb.add(eT,eS),eT=eb.mul(eT,e_),eA=eb.mul(eA,eE),eS=eb.mul(eA,em.B),eT=eb.add(eT,eS),eN=eb.mul(eC,e_);let{isValid:eD,value:eO}=ew(eT,eA);eI=eb.mul(eC,eM),eI=eb.mul(eI,eO),eN=eb.cmov(eN,e_,eD),eI=eb.cmov(eI,eO,eD);let eP=eb.isOdd(eM)===eb.isOdd(eI);return eI=eb.cmov(eb.neg(eI),eI,eP),{x:eN=eb.div(eN,eE),y:eI}}}em.weierstrassPoints=eR,em.weierstrass=eF,em.SWUFpSqrtRatio=ej,em.mapToCurveSimpleSWU=eU},33497:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.encodeToCurve=em.hashToCurve=em.schnorr=em.secp256k1=void 0;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let eM=ew(23061),eC=ew(98089),eT=ew(94632),e_=ew(96551),eE=ew(40219),eS=ew(15134),eA=ew(79082),eN=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),eI=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),eD=BigInt(1),eO=BigInt(2),eP=(eb,em)=>(eb+em/eO)/em;function eR(eb){let em=eN,ew=BigInt(3),eM=BigInt(6),eC=BigInt(11),e_=BigInt(22),eE=BigInt(23),eS=BigInt(44),eA=BigInt(88),eI=eb*eb*eb%em,eD=eI*eI*eb%em,eP=(0,eT.pow2)(eD,ew,em)*eD%em,eR=(0,eT.pow2)(eP,ew,em)*eD%em,eF=(0,eT.pow2)(eR,eO,em)*eI%em,ej=(0,eT.pow2)(eF,eC,em)*eF%em,eU=(0,eT.pow2)(ej,e_,em)*ej%em,eV=(0,eT.pow2)(eU,eS,em)*eU%em,eH=(0,eT.pow2)(eV,eA,em)*eV%em,e$=(0,eT.pow2)(eH,eS,em)*eU%em,eW=(0,eT.pow2)(e$,ew,em)*eD%em,eZ=(0,eT.pow2)(eW,eE,em)*ej%em,eK=(0,eT.pow2)(eZ,eM,em)*eI%em,eG=(0,eT.pow2)(eK,eO,em);if(!eB.eql(eB.sqr(eG),eb))throw Error("Cannot find square root");return eG}let eB=(0,eT.Field)(eN,void 0,void 0,{sqrt:eR});em.secp256k1=(0,eA.createCurve)({a:BigInt(0),b:BigInt(7),Fp:eB,n:eI,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:eb=>{let em=eI,ew=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),eM=-eD*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),eC=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),e_=ew,eE=BigInt("0x100000000000000000000000000000000"),eS=eP(e_*eb,em),eA=eP(-eM*eb,em),eN=(0,eT.mod)(eb-eS*ew-eA*eC,em),eO=(0,eT.mod)(-eS*eM-eA*e_,em),eR=eN>eE,eB=eO>eE;if(eR&&(eN=em-eN),eB&&(eO=em-eO),eN>eE||eO>eE)throw Error("splitScalar: Endomorphism failed, k="+eb);return{k1neg:eR,k1:eN,k2neg:eB,k2:eO}}}},eM.sha256);let eF=BigInt(0),ej=eb=>"bigint"==typeof eb&&eF"bigint"==typeof eb&&eFeb.charCodeAt(0)));ew=(0,eE.concatBytes)(em,em),eV[eb]=ew}return(0,eM.sha256)((0,eE.concatBytes)(ew,...em))}let e$=eb=>eb.toRawBytes(!0).slice(1),eW=eb=>(0,eE.numberToBytesBE)(eb,32),eZ=eb=>(0,eT.mod)(eb,eN),eK=eb=>(0,eT.mod)(eb,eI),eG=em.secp256k1.ProjectivePoint,eY=(eb,em,ew)=>eG.BASE.multiplyAndAddUnsafe(eb,em,ew);function eJ(eb){let ew=em.secp256k1.utils.normPrivateKeyToScalar(eb),eM=eG.fromPrivateKey(ew),eC=eM.hasEvenY()?ew:eK(-ew);return{scalar:eC,bytes:e$(eM)}}function eX(eb){if(!ej(eb))throw Error("bad x: need 0 < x < p");let em=eZ(eb*eb),ew=eZ(em*eb+BigInt(7)),eM=eR(ew);eM%eO!==eF&&(eM=eZ(-eM));let eC=new eG(eb,eM,eD);return eC.assertValidity(),eC}function eQ(...eb){return eK((0,eE.bytesToNumberBE)(eH("BIP0340/challenge",...eb)))}function e0(eb){return eJ(eb).bytes}function e6(eb,em,ew=(0,eC.randomBytes)(32)){let eM=(0,eE.ensureBytes)("message",eb),{bytes:eT,scalar:e_}=eJ(em),eS=(0,eE.ensureBytes)("auxRand",ew,32),eA=eW(e_^(0,eE.bytesToNumberBE)(eH("BIP0340/aux",eS))),eN=eH("BIP0340/nonce",eA,eT,eM),eI=eK((0,eE.bytesToNumberBE)(eN));if(eI===eF)throw Error("sign failed: k is zero");let{bytes:eD,scalar:eO}=eJ(eI),eP=eQ(eD,eT,eM),eR=new Uint8Array(64);if(eR.set(eD,0),eR.set(eW(eK(eO+eP*e_)),32),!e4(eR,eM,eT))throw Error("sign: Invalid signature produced");return eR}function e4(eb,em,ew){let eM=(0,eE.ensureBytes)("signature",eb,64),eC=(0,eE.ensureBytes)("message",em),eT=(0,eE.ensureBytes)("publicKey",ew,32);try{let eb=eX((0,eE.bytesToNumberBE)(eT)),em=(0,eE.bytesToNumberBE)(eM.subarray(0,32));if(!ej(em))return!1;let ew=(0,eE.bytesToNumberBE)(eM.subarray(32,64));if(!eU(ew))return!1;let e_=eQ(eW(em),e$(eb),eC),eS=eY(eb,ew,eK(-e_));if(!eS||!eS.hasEvenY()||eS.toAffine().x!==em)return!1;return!0}catch(eb){return!1}}em.schnorr={getPublicKey:e0,sign:e6,verify:e4,utils:{randomPrivateKey:em.secp256k1.utils.randomPrivateKey,lift_x:eX,pointToBytes:e$,numberToBytesBE:eE.numberToBytesBE,bytesToNumberBE:eE.bytesToNumberBE,taggedHash:eH,mod:eT.mod}};let e3=(0,eS.isogenyMap)(eB,[["0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa8c7","0x7d3d4c80bc321d5b9f315cea7fd44c5d595d2fc0bf63b92dfff1044f17c6581","0x534c328d23f234e6e2a413deca25caece4506144037c40314ecbd0b53d9dd262","0x8e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38e38daaaaa88c"],["0xd35771193d94918a9ca34ccbb7b640dd86cd409542f8487d9fe6b745781eb49b","0xedadc6f64383dc1df7c4b2d51b54225406d36b641f5e41bbc52a56612a8c6d14","0x0000000000000000000000000000000000000000000000000000000000000001"],["0x4bda12f684bda12f684bda12f684bda12f684bda12f684bda12f684b8e38e23c","0xc75e0c32d5cb7c0fa9d0a54b12a0a6d5647ab046d686da6fdffc90fc201d71a3","0x29a6194691f91a73715209ef6512e576722830a201be2018a765e85a9ecee931","0x2f684bda12f684bda12f684bda12f684bda12f684bda12f684bda12f38e38d84"],["0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffff93b","0x7a06534bb8bdb49fd5e9e6632722c2989467c1bfc8e8d978dfb425d2685c2573","0x6484aa716545ca2cf3a70c3fa8fe337e0a3d21162f0d6299a7bf8192bfd2a76f","0x0000000000000000000000000000000000000000000000000000000000000001"]].map(eb=>eb.map(eb=>BigInt(eb)))),e5=(0,e_.mapToCurveSimpleSWU)(eB,{A:BigInt("0x3f8731abdd661adca08a5558f0f5d272e953d363cb6f0e5d405447c01a444533"),B:BigInt("1771"),Z:eB.create(BigInt("-11"))}),e8=(0,eS.createHasher)(em.secp256k1.ProjectivePoint,eb=>{let{x:em,y:ew}=e5(eB.create(eb[0]));return e3(em,ew)},{DST:"secp256k1_XMD:SHA-256_SSWU_RO_",encodeDST:"secp256k1_XMD:SHA-256_SSWU_NU_",p:eB.ORDER,m:1,k:128,expand:"xmd",hash:eM.sha256});em.hashToCurve=e8.hashToCurve,em.encodeToCurve=e8.encodeToCurve},27320:function(eb,em){"use strict";function ew(eb){if(!Number.isSafeInteger(eb)||eb<0)throw Error(`Wrong positive integer: ${eb}`)}function eM(eb){if("boolean"!=typeof eb)throw Error(`Expected boolean, not ${eb}`)}function eC(eb){return eb instanceof Uint8Array||null!=eb&&"object"==typeof eb&&"Uint8Array"===eb.constructor.name}function eT(eb,...em){if(!eC(eb))throw Error("Expected Uint8Array");if(em.length>0&&!em.includes(eb.length))throw Error(`Expected Uint8Array of length ${em}, not of length=${eb.length}`)}function e_(eb){if("function"!=typeof eb||"function"!=typeof eb.create)throw Error("Hash should be wrapped by utils.wrapConstructor");ew(eb.outputLen),ew(eb.blockLen)}function eE(eb,em=!0){if(eb.destroyed)throw Error("Hash instance has been destroyed");if(em&&eb.finished)throw Error("Hash#digest() has already been called")}function eS(eb,em){eT(eb);let ew=em.outputLen;if(eb.length>eC&eT),eE=Number(ew&eT),eS=eM?4:0,eA=eM?0:4;eb.setUint32(em+eS,e_,eM),eb.setUint32(em+eA,eE,eM)}class e_ extends eC.Hash{constructor(eb,em,ew,eM){super(),this.blockLen=eb,this.outputLen=em,this.padOffset=ew,this.isLE=eM,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(eb),this.view=(0,eC.createView)(this.buffer)}update(eb){(0,eM.exists)(this);let{view:em,buffer:ew,blockLen:eT}=this;eb=(0,eC.toBytes)(eb);let e_=eb.length;for(let eM=0;eMe_-eS&&(this.process(ew,0),eS=0);for(let eb=eS;ebeD.length)throw Error("_sha2: outputLen bigger than state");for(let eb=0;eb>eM&ew)}:{h:0|Number(eb>>eM&ew),l:0|Number(eb&ew)}}function eT(eb,em=!1){let ew=new Uint32Array(eb.length),eM=new Uint32Array(eb.length);for(let eT=0;eTBigInt(eb>>>0)<>>0);em.toBig=e_;let eE=(eb,em,ew)=>eb>>>ew;em.shrSH=eE;let eS=(eb,em,ew)=>eb<<32-ew|em>>>ew;em.shrSL=eS;let eA=(eb,em,ew)=>eb>>>ew|em<<32-ew;em.rotrSH=eA;let eN=(eb,em,ew)=>eb<<32-ew|em>>>ew;em.rotrSL=eN;let eI=(eb,em,ew)=>eb<<64-ew|em>>>ew-32;em.rotrBH=eI;let eD=(eb,em,ew)=>eb>>>ew-32|em<<64-ew;em.rotrBL=eD;let eO=(eb,em)=>em;em.rotr32H=eO;let eP=(eb,em)=>eb;em.rotr32L=eP;let eR=(eb,em,ew)=>eb<>>32-ew;em.rotlSH=eR;let eB=(eb,em,ew)=>em<>>32-ew;em.rotlSL=eB;let eF=(eb,em,ew)=>em<>>64-ew;em.rotlBH=eF;let ej=(eb,em,ew)=>eb<>>64-ew;function eU(eb,em,ew,eM){let eC=(em>>>0)+(eM>>>0);return{h:eb+ew+(eC/4294967296|0)|0,l:0|eC}}em.rotlBL=ej,em.add=eU;let eV=(eb,em,ew)=>(eb>>>0)+(em>>>0)+(ew>>>0);em.add3L=eV;let eH=(eb,em,ew,eM)=>em+ew+eM+(eb/4294967296|0)|0;em.add3H=eH;let e$=(eb,em,ew,eM)=>(eb>>>0)+(em>>>0)+(ew>>>0)+(eM>>>0);em.add4L=e$;let eW=(eb,em,ew,eM,eC)=>em+ew+eM+eC+(eb/4294967296|0)|0;em.add4H=eW;let eZ=(eb,em,ew,eM,eC)=>(eb>>>0)+(em>>>0)+(ew>>>0)+(eM>>>0)+(eC>>>0);em.add5L=eZ;let eK=(eb,em,ew,eM,eC,eT)=>em+ew+eM+eC+eT+(eb/4294967296|0)|0;em.add5H=eK;let eG={fromBig:eC,split:eT,toBig:e_,shrSH:eE,shrSL:eS,rotrSH:eA,rotrSL:eN,rotrBH:eI,rotrBL:eD,rotr32H:eO,rotr32L:eP,rotlSH:eR,rotlSL:eB,rotlBH:eF,rotlBL:ej,add:eU,add3L:eV,add3H:eH,add4L:e$,add4H:eW,add5H:eK,add5L:eZ};em.default=eG},31945:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.crypto=void 0,em.crypto="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0},79569:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.hmac=em.HMAC=void 0;let eM=ew(27320),eC=ew(98089);class eT extends eC.Hash{constructor(eb,em){super(),this.finished=!1,this.destroyed=!1,(0,eM.hash)(eb);let ew=(0,eC.toBytes)(em);if(this.iHash=eb.create(),"function"!=typeof this.iHash.update)throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let eT=this.blockLen,e_=new Uint8Array(eT);e_.set(ew.length>eT?eb.create().update(ew).digest():ew);for(let eb=0;ebnew eT(eb,em).update(ew).digest();em.hmac=e_,em.hmac.create=(eb,em)=>new eT(eb,em)},29023:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.pbkdf2Async=em.pbkdf2=void 0;let eM=ew(27320),eC=ew(79569),eT=ew(98089);function e_(eb,em,ew,e_){(0,eM.hash)(eb);let eE=(0,eT.checkOpts)({dkLen:32,asyncTick:10},e_),{c:eS,dkLen:eA,asyncTick:eN}=eE;if((0,eM.number)(eS),(0,eM.number)(eA),(0,eM.number)(eN),eS<1)throw Error("PBKDF2: iterations (c) should be >= 1");let eI=(0,eT.toBytes)(em),eD=(0,eT.toBytes)(ew),eO=new Uint8Array(eA),eP=eC.hmac.create(eb,eI),eR=eP._cloneInto().update(eD);return{c:eS,dkLen:eA,asyncTick:eN,DK:eO,PRF:eP,PRFSalt:eR}}function eE(eb,em,ew,eM,eC){return eb.destroy(),em.destroy(),eM&&eM.destroy(),eC.fill(0),ew}function eS(eb,em,ew,eM){let eC;let{c:eS,dkLen:eA,DK:eN,PRF:eI,PRFSalt:eD}=e_(eb,em,ew,eM),eO=new Uint8Array(4),eP=(0,eT.createView)(eO),eR=new Uint8Array(eI.outputLen);for(let eb=1,em=0;em{eD._cloneInto(eC).update(eB).digestInto(eB);for(let eb=0;ebeb&em^~eb&ew,e_=(eb,em,ew)=>eb&em^eb&ew^em&ew,eE=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]),eS=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),eA=new Uint32Array(64);class eN extends eM.SHA2{constructor(){super(64,32,8,!1),this.A=0|eS[0],this.B=0|eS[1],this.C=0|eS[2],this.D=0|eS[3],this.E=0|eS[4],this.F=0|eS[5],this.G=0|eS[6],this.H=0|eS[7]}get(){let{A:eb,B:em,C:ew,D:eM,E:eC,F:eT,G:e_,H:eE}=this;return[eb,em,ew,eM,eC,eT,e_,eE]}set(eb,em,ew,eM,eC,eT,e_,eE){this.A=0|eb,this.B=0|em,this.C=0|ew,this.D=0|eM,this.E=0|eC,this.F=0|eT,this.G=0|e_,this.H=0|eE}process(eb,em){for(let ew=0;ew<16;ew++,em+=4)eA[ew]=eb.getUint32(em,!1);for(let eb=16;eb<64;eb++){let em=eA[eb-15],ew=eA[eb-2],eM=(0,eC.rotr)(em,7)^(0,eC.rotr)(em,18)^em>>>3,eT=(0,eC.rotr)(ew,17)^(0,eC.rotr)(ew,19)^ew>>>10;eA[eb]=eT+eA[eb-7]+eM+eA[eb-16]|0}let{A:ew,B:eM,C:eS,D:eN,E:eI,F:eD,G:eO,H:eP}=this;for(let eb=0;eb<64;eb++){let em=(0,eC.rotr)(eI,6)^(0,eC.rotr)(eI,11)^(0,eC.rotr)(eI,25),eR=eP+em+eT(eI,eD,eO)+eE[eb]+eA[eb]|0,eB=(0,eC.rotr)(ew,2)^(0,eC.rotr)(ew,13)^(0,eC.rotr)(ew,22),eF=eB+e_(ew,eM,eS)|0;eP=eO,eO=eD,eD=eI,eI=eN+eR|0,eN=eS,eS=eM,eM=ew,ew=eR+eF|0}ew=ew+this.A|0,eM=eM+this.B|0,eS=eS+this.C|0,eN=eN+this.D|0,eI=eI+this.E|0,eD=eD+this.F|0,eO=eO+this.G|0,eP=eP+this.H|0,this.set(ew,eM,eS,eN,eI,eD,eO,eP)}roundClean(){eA.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class eI extends eN{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}em.sha256=(0,eC.wrapConstructor)(()=>new eN),em.sha224=(0,eC.wrapConstructor)(()=>new eI)},85426:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.shake256=em.shake128=em.keccak_512=em.keccak_384=em.keccak_256=em.keccak_224=em.sha3_512=em.sha3_384=em.sha3_256=em.sha3_224=em.Keccak=em.keccakP=void 0;let eM=ew(27320),eC=ew(6873),eT=ew(98089),[e_,eE,eS]=[[],[],[]],eA=BigInt(0),eN=BigInt(1),eI=BigInt(2),eD=BigInt(7),eO=BigInt(256),eP=BigInt(113);for(let eb=0,em=eN,ew=1,eM=0;eb<24;eb++){[ew,eM]=[eM,(2*ew+3*eM)%5],e_.push(2*(5*eM+ew)),eE.push((eb+1)*(eb+2)/2%64);let eC=eA;for(let eb=0;eb<7;eb++)(em=(em<>eD)*eP)%eO)&eI&&(eC^=eN<<(eN<ew>32?(0,eC.rotlBH)(eb,em,ew):(0,eC.rotlSH)(eb,em,ew),ej=(eb,em,ew)=>ew>32?(0,eC.rotlBL)(eb,em,ew):(0,eC.rotlSL)(eb,em,ew);function eU(eb,em=24){let ew=new Uint32Array(10);for(let eM=24-em;eM<24;eM++){for(let em=0;em<10;em++)ew[em]=eb[em]^eb[em+10]^eb[em+20]^eb[em+30]^eb[em+40];for(let em=0;em<10;em+=2){let eM=(em+8)%10,eC=(em+2)%10,eT=ew[eC],e_=ew[eC+1],eE=eF(eT,e_,1)^ew[eM],eS=ej(eT,e_,1)^ew[eM+1];for(let ew=0;ew<50;ew+=10)eb[em+ew]^=eE,eb[em+ew+1]^=eS}let em=eb[2],eC=eb[3];for(let ew=0;ew<24;ew++){let eM=eE[ew],eT=eF(em,eC,eM),eS=ej(em,eC,eM),eA=e_[ew];em=eb[eA],eC=eb[eA+1],eb[eA]=eT,eb[eA+1]=eS}for(let em=0;em<50;em+=10){for(let eM=0;eM<10;eM++)ew[eM]=eb[em+eM];for(let eM=0;eM<10;eM++)eb[em+eM]^=~ew[(eM+2)%10]&ew[(eM+4)%10]}eb[0]^=eR[eM],eb[1]^=eB[eM]}ew.fill(0)}em.keccakP=eU;class eV extends eT.Hash{constructor(eb,em,ew,eC=!1,e_=24){if(super(),this.blockLen=eb,this.suffix=em,this.outputLen=ew,this.enableXOF=eC,this.rounds=e_,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,(0,eM.number)(ew),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=(0,eT.u32)(this.state)}keccak(){eU(this.state32,this.rounds),this.posOut=0,this.pos=0}update(eb){(0,eM.exists)(this);let{blockLen:em,state:ew}=this;eb=(0,eT.toBytes)(eb);let eC=eb.length;for(let eM=0;eM=ew&&this.keccak();let eT=Math.min(ew-this.posOut,eC-eM);eb.set(em.subarray(this.posOut,this.posOut+eT),eM),this.posOut+=eT,eM+=eT}return eb}xofInto(eb){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(eb)}xof(eb){return(0,eM.number)(eb),this.xofInto(new Uint8Array(eb))}digestInto(eb){if((0,eM.output)(eb,this),this.finished)throw Error("digest() was already called");return this.writeInto(eb),this.destroy(),eb}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(eb){let{blockLen:em,suffix:ew,outputLen:eM,rounds:eC,enableXOF:eT}=this;return eb||(eb=new eV(em,ew,eM,eT,eC)),eb.state32.set(this.state32),eb.pos=this.pos,eb.posOut=this.posOut,eb.finished=this.finished,eb.rounds=eC,eb.suffix=ew,eb.outputLen=eM,eb.enableXOF=eT,eb.destroyed=this.destroyed,eb}}em.Keccak=eV;let eH=(eb,em,ew)=>(0,eT.wrapConstructor)(()=>new eV(em,eb,ew));em.sha3_224=eH(6,144,28),em.sha3_256=eH(6,136,32),em.sha3_384=eH(6,104,48),em.sha3_512=eH(6,72,64),em.keccak_224=eH(1,144,28),em.keccak_256=eH(1,136,32),em.keccak_384=eH(1,104,48),em.keccak_512=eH(1,72,64);let e$=(eb,em,ew)=>(0,eT.wrapXOFConstructorWithOpts)((eM={})=>new eV(em,eb,void 0===eM.dkLen?ew:eM.dkLen,!0));em.shake128=e$(31,168,16),em.shake256=e$(31,136,32)},86262:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.sha384=em.sha512_256=em.sha512_224=em.sha512=em.SHA512=void 0;let eM=ew(27505),eC=ew(6873),eT=ew(98089),[e_,eE]=eC.default.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(eb=>BigInt(eb))),eS=new Uint32Array(80),eA=new Uint32Array(80);class eN extends eM.SHA2{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(){let{Ah:eb,Al:em,Bh:ew,Bl:eM,Ch:eC,Cl:eT,Dh:e_,Dl:eE,Eh:eS,El:eA,Fh:eN,Fl:eI,Gh:eD,Gl:eO,Hh:eP,Hl:eR}=this;return[eb,em,ew,eM,eC,eT,e_,eE,eS,eA,eN,eI,eD,eO,eP,eR]}set(eb,em,ew,eM,eC,eT,e_,eE,eS,eA,eN,eI,eD,eO,eP,eR){this.Ah=0|eb,this.Al=0|em,this.Bh=0|ew,this.Bl=0|eM,this.Ch=0|eC,this.Cl=0|eT,this.Dh=0|e_,this.Dl=0|eE,this.Eh=0|eS,this.El=0|eA,this.Fh=0|eN,this.Fl=0|eI,this.Gh=0|eD,this.Gl=0|eO,this.Hh=0|eP,this.Hl=0|eR}process(eb,em){for(let ew=0;ew<16;ew++,em+=4)eS[ew]=eb.getUint32(em),eA[ew]=eb.getUint32(em+=4);for(let eb=16;eb<80;eb++){let em=0|eS[eb-15],ew=0|eA[eb-15],eM=eC.default.rotrSH(em,ew,1)^eC.default.rotrSH(em,ew,8)^eC.default.shrSH(em,ew,7),eT=eC.default.rotrSL(em,ew,1)^eC.default.rotrSL(em,ew,8)^eC.default.shrSL(em,ew,7),e_=0|eS[eb-2],eE=0|eA[eb-2],eN=eC.default.rotrSH(e_,eE,19)^eC.default.rotrBH(e_,eE,61)^eC.default.shrSH(e_,eE,6),eI=eC.default.rotrSL(e_,eE,19)^eC.default.rotrBL(e_,eE,61)^eC.default.shrSL(e_,eE,6),eD=eC.default.add4L(eT,eI,eA[eb-7],eA[eb-16]),eO=eC.default.add4H(eD,eM,eN,eS[eb-7],eS[eb-16]);eS[eb]=0|eO,eA[eb]=0|eD}let{Ah:ew,Al:eM,Bh:eT,Bl:eN,Ch:eI,Cl:eD,Dh:eO,Dl:eP,Eh:eR,El:eB,Fh:eF,Fl:ej,Gh:eU,Gl:eV,Hh:eH,Hl:e$}=this;for(let eb=0;eb<80;eb++){let em=eC.default.rotrSH(eR,eB,14)^eC.default.rotrSH(eR,eB,18)^eC.default.rotrBH(eR,eB,41),eW=eC.default.rotrSL(eR,eB,14)^eC.default.rotrSL(eR,eB,18)^eC.default.rotrBL(eR,eB,41),eZ=eR&eF^~eR&eU,eK=eB&ej^~eB&eV,eG=eC.default.add5L(e$,eW,eK,eE[eb],eA[eb]),eY=eC.default.add5H(eG,eH,em,eZ,e_[eb],eS[eb]),eJ=0|eG,eX=eC.default.rotrSH(ew,eM,28)^eC.default.rotrBH(ew,eM,34)^eC.default.rotrBH(ew,eM,39),eQ=eC.default.rotrSL(ew,eM,28)^eC.default.rotrBL(ew,eM,34)^eC.default.rotrBL(ew,eM,39),e0=ew&eT^ew&eI^eT&eI,e6=eM&eN^eM&eD^eN&eD;eH=0|eU,e$=0|eV,eU=0|eF,eV=0|ej,eF=0|eR,ej=0|eB,({h:eR,l:eB}=eC.default.add(0|eO,0|eP,0|eY,0|eJ)),eO=0|eI,eP=0|eD,eI=0|eT,eD=0|eN,eT=0|ew,eN=0|eM;let e4=eC.default.add3L(eJ,eQ,e6);ew=eC.default.add3H(e4,eY,eX,e0),eM=0|e4}({h:ew,l:eM}=eC.default.add(0|this.Ah,0|this.Al,0|ew,0|eM)),({h:eT,l:eN}=eC.default.add(0|this.Bh,0|this.Bl,0|eT,0|eN)),({h:eI,l:eD}=eC.default.add(0|this.Ch,0|this.Cl,0|eI,0|eD)),({h:eO,l:eP}=eC.default.add(0|this.Dh,0|this.Dl,0|eO,0|eP)),({h:eR,l:eB}=eC.default.add(0|this.Eh,0|this.El,0|eR,0|eB)),({h:eF,l:ej}=eC.default.add(0|this.Fh,0|this.Fl,0|eF,0|ej)),({h:eU,l:eV}=eC.default.add(0|this.Gh,0|this.Gl,0|eU,0|eV)),({h:eH,l:e$}=eC.default.add(0|this.Hh,0|this.Hl,0|eH,0|e$)),this.set(ew,eM,eT,eN,eI,eD,eO,eP,eR,eB,eF,ej,eU,eV,eH,e$)}roundClean(){eS.fill(0),eA.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)}}em.SHA512=eN;class eI extends eN{constructor(){super(),this.Ah=-1942145080,this.Al=424955298,this.Bh=1944164710,this.Bl=-1982016298,this.Ch=502970286,this.Cl=855612546,this.Dh=1738396948,this.Dl=1479516111,this.Eh=258812777,this.El=2077511080,this.Fh=2011393907,this.Fl=79989058,this.Gh=1067287976,this.Gl=1780299464,this.Hh=286451373,this.Hl=-1848208735,this.outputLen=28}}class eD extends eN{constructor(){super(),this.Ah=573645204,this.Al=-64227540,this.Bh=-1621794909,this.Bl=-934517566,this.Ch=596883563,this.Cl=1867755857,this.Dh=-1774684391,this.Dl=1497426621,this.Eh=-1775747358,this.El=-1467023389,this.Fh=-1101128155,this.Fl=1401305490,this.Gh=721525244,this.Gl=746961066,this.Hh=246885852,this.Hl=-2117784414,this.outputLen=32}}class eO extends eN{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48}}em.sha512=(0,eT.wrapConstructor)(()=>new eN),em.sha512_224=(0,eT.wrapConstructor)(()=>new eI),em.sha512_256=(0,eT.wrapConstructor)(()=>new eD),em.sha384=(0,eT.wrapConstructor)(()=>new eO)},98089:function(eb,em,ew){"use strict";/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */Object.defineProperty(em,"__esModule",{value:!0}),em.randomBytes=em.wrapXOFConstructorWithOpts=em.wrapConstructorWithOpts=em.wrapConstructor=em.checkOpts=em.Hash=em.concatBytes=em.toBytes=em.utf8ToBytes=em.asyncLoop=em.nextTick=em.hexToBytes=em.bytesToHex=em.isLE=em.rotr=em.createView=em.u32=em.u8=void 0;let eM=ew(31945),eC=eb=>new Uint8Array(eb.buffer,eb.byteOffset,eb.byteLength);em.u8=eC;let eT=eb=>new Uint32Array(eb.buffer,eb.byteOffset,Math.floor(eb.byteLength/4));function e_(eb){return eb instanceof Uint8Array||null!=eb&&"object"==typeof eb&&"Uint8Array"===eb.constructor.name}em.u32=eT;let eE=eb=>new DataView(eb.buffer,eb.byteOffset,eb.byteLength);em.createView=eE;let eS=(eb,em)=>eb<<32-em|eb>>>em;if(em.rotr=eS,em.isLE=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0],!em.isLE)throw Error("Non little-endian hardware is not supported");let eA=Array.from({length:256},(eb,em)=>em.toString(16).padStart(2,"0"));function eN(eb){if(!e_(eb))throw Error("Uint8Array expected");let em="";for(let ew=0;ew=eI._0&&eb<=eI._9?eb-eI._0:eb>=eI._A&&eb<=eI._F?eb-(eI._A-10):eb>=eI._a&&eb<=eI._f?eb-(eI._a-10):void 0}function eO(eb){if("string"!=typeof eb)throw Error("hex string expected, got "+typeof eb);let em=eb.length,ew=em/2;if(em%2)throw Error("padded hex string expected, got unpadded hex of length "+em);let eM=new Uint8Array(ew);for(let em=0,eC=0;em{};async function eR(eb,ew,eM){let eC=Date.now();for(let eT=0;eT=0&&ebeb().update(eF(em)).digest(),ew=eb();return em.outputLen=ew.outputLen,em.blockLen=ew.blockLen,em.create=()=>eb(),em}function eW(eb){let em=(em,ew)=>eb(ew).update(eF(em)).digest(),ew=eb({});return em.outputLen=ew.outputLen,em.blockLen=ew.blockLen,em.create=em=>eb(em),em}function eZ(eb){let em=(em,ew)=>eb(ew).update(eF(em)).digest(),ew=eb({});return em.outputLen=ew.outputLen,em.blockLen=ew.blockLen,em.create=em=>eb(em),em}function eK(eb=32){if(eM.crypto&&"function"==typeof eM.crypto.getRandomValues)return eM.crypto.getRandomValues(new Uint8Array(eb));throw Error("crypto.getRandomValues must be defined")}em.checkOpts=eH,em.wrapConstructor=e$,em.wrapConstructorWithOpts=eW,em.wrapXOFConstructorWithOpts=eZ,em.randomBytes=eK},39187:function(eb,em){"use strict";function ew(eb){if(!Number.isSafeInteger(eb))throw Error(`Wrong integer: ${eb}`)}function eM(eb){return eb instanceof Uint8Array||null!=eb&&"object"==typeof eb&&"Uint8Array"===eb.constructor.name}function eC(...eb){let em=eb=>eb,ew=(eb,em)=>ew=>eb(em(ew)),eM=eb.map(eb=>eb.encode).reduceRight(ew,em),eT=eb.map(eb=>eb.decode).reduce(ew,em);return{encode:eM,decode:eT}}function eT(eb){return{encode:em=>{if(!Array.isArray(em)||em.length&&"number"!=typeof em[0])throw Error("alphabet.encode input should be an array of numbers");return em.map(em=>{if(ew(em),em<0||em>=eb.length)throw Error(`Digit index outside alphabet: ${em} (alphabet: ${eb.length})`);return eb[em]})},decode:em=>{if(!Array.isArray(em)||em.length&&"string"!=typeof em[0])throw Error("alphabet.decode input should be array of strings");return em.map(em=>{if("string"!=typeof em)throw Error(`alphabet.decode: not string element=${em}`);let ew=eb.indexOf(em);if(-1===ew)throw Error(`Unknown letter: "${em}". Allowed: ${eb}`);return ew})}}}function e_(eb=""){if("string"!=typeof eb)throw Error("join separator should be string");return{encode:em=>{if(!Array.isArray(em)||em.length&&"string"!=typeof em[0])throw Error("join.encode input should be array of strings");for(let eb of em)if("string"!=typeof eb)throw Error(`join.encode: non-string input=${eb}`);return em.join(eb)},decode:em=>{if("string"!=typeof em)throw Error("join.decode input should be string");return em.split(eb)}}}function eE(eb,em="="){if(ew(eb),"string"!=typeof em)throw Error("padding chr should be string");return{encode(ew){if(!Array.isArray(ew)||ew.length&&"string"!=typeof ew[0])throw Error("padding.encode input should be array of strings");for(let eb of ew)if("string"!=typeof eb)throw Error(`padding.encode: non-string input=${eb}`);for(;ew.length*eb%8;)ew.push(em);return ew},decode(ew){if(!Array.isArray(ew)||ew.length&&"string"!=typeof ew[0])throw Error("padding.encode input should be array of strings");for(let eb of ew)if("string"!=typeof eb)throw Error(`padding.decode: non-string input=${eb}`);let eM=ew.length;if(eM*eb%8)throw Error("Invalid padding: string should have whole number of bytes");for(;eM>0&&ew[eM-1]===em;eM--)if(!((eM-1)*eb%8))throw Error("Invalid padding: string has too much padding");return ew.slice(0,eM)}}}function eS(eb){if("function"!=typeof eb)throw Error("normalize fn should be function");return{encode:eb=>eb,decode:em=>eb(em)}}function eA(eb,em,eM){if(em<2)throw Error(`convertRadix: wrong from=${em}, base cannot be less than 2`);if(eM<2)throw Error(`convertRadix: wrong to=${eM}, base cannot be less than 2`);if(!Array.isArray(eb))throw Error("convertRadix: data should be array");if(!eb.length)return[];let eC=0,eT=[],e_=Array.from(eb);for(e_.forEach(eb=>{if(ew(eb),eb<0||eb>=em)throw Error(`Wrong integer: ${eb}`)});;){let eb=0,ew=!0;for(let eT=eC;eTem?eN(em,eb%em):eb,eI=(eb,em)=>eb+(em-eN(eb,em));function eD(eb,em,eM,eC){if(!Array.isArray(eb))throw Error("convertRadix2: data should be array");if(em<=0||em>32)throw Error(`convertRadix2: wrong from=${em}`);if(eM<=0||eM>32)throw Error(`convertRadix2: wrong to=${eM}`);if(eI(em,eM)>32)throw Error(`convertRadix2: carry overflow from=${em} to=${eM} carryBits=${eI(em,eM)}`);let eT=0,e_=0,eE=2**eM-1,eS=[];for(let eC of eb){if(ew(eC),eC>=2**em)throw Error(`convertRadix2: invalid data word=${eC} from=${em}`);if(eT=eT<32)throw Error(`convertRadix2: carry overflow pos=${e_} from=${em}`);for(e_+=em;e_>=eM;e_-=eM)eS.push((eT>>e_-eM&eE)>>>0);eT&=2**e_-1}if(eT=eT<=em)throw Error("Excess padding");if(!eC&&eT)throw Error(`Non-zero padding: ${eT}`);return eC&&e_>0&&eS.push(eT>>>0),eS}function eO(eb){return ew(eb),{encode:em=>{if(!eM(em))throw Error("radix.encode input should be Uint8Array");return eA(Array.from(em),256,eb)},decode:em=>{if(!Array.isArray(em)||em.length&&"number"!=typeof em[0])throw Error("radix.decode input should be array of numbers");return Uint8Array.from(eA(em,eb,256))}}}function eP(eb,em=!1){if(ew(eb),eb<=0||eb>32)throw Error("radix2: bits should be in (0..32]");if(eI(8,eb)>32||eI(eb,8)>32)throw Error("radix2: carry overflow");return{encode:ew=>{if(!eM(ew))throw Error("radix2.encode input should be Uint8Array");return eD(Array.from(ew),8,eb,!em)},decode:ew=>{if(!Array.isArray(ew)||ew.length&&"number"!=typeof ew[0])throw Error("radix2.decode input should be array of numbers");return Uint8Array.from(eD(ew,eb,8,em))}}}function eR(eb){if("function"!=typeof eb)throw Error("unsafeWrapper fn should be function");return function(...em){try{return eb.apply(null,em)}catch(eb){}}}function eB(eb,em){if(ew(eb),"function"!=typeof em)throw Error("checksum fn should be function");return{encode(ew){if(!eM(ew))throw Error("checksum.encode: input should be Uint8Array");let eC=em(ew).slice(0,eb),eT=new Uint8Array(ew.length+eb);return eT.set(ew),eT.set(eC,ew.length),eT},decode(ew){if(!eM(ew))throw Error("checksum.decode: input should be Uint8Array");let eC=ew.slice(0,-eb),eT=em(eC).slice(0,eb),e_=ew.slice(-eb);for(let em=0;emeb.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1"))),em.base64=eC(eP(6),eT("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),eE(6),e_("")),em.base64nopad=eC(eP(6),eT("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),e_("")),em.base64url=eC(eP(6),eT("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),eE(6),e_("")),em.base64urlnopad=eC(eP(6),eT("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),e_(""));let eF=eb=>eC(eO(58),eT(eb),e_(""));em.base58=eF("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),em.base58flickr=eF("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),em.base58xrp=eF("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");let ej=[0,2,3,5,6,7,9,10,11];em.base58xmr={encode(eb){let ew="";for(let eM=0;eMeC(eB(4,em=>eb(eb(em))),em.base58);em.createBase58check=eU,em.base58check=em.createBase58check;let eV=eC(eT("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),e_("")),eH=[996825010,642813549,513874426,1027748829,705979059];function e$(eb){let em=eb>>25,ew=(33554431&eb)<<5;for(let eb=0;eb>eb&1)==1&&(ew^=eH[eb]);return ew}function eW(eb,em,ew=1){let eM=eb.length,eC=1;for(let em=0;em126)throw Error(`Invalid prefix (${eb})`);eC=e$(eC)^ew>>5}eC=e$(eC);for(let em=0;emeM)throw TypeError(`Length ${eC} exceeds limit ${eM}`);let eT=eb.toLowerCase(),e_=eW(eT,ew,em);return`${eT}1${eV.encode(ew)}${e_}`}function eE(eb,ew=90){if("string"!=typeof eb)throw Error(`bech32.decode input should be string, not ${typeof eb}`);if(eb.length<8||!1!==ew&&eb.length>ew)throw TypeError(`Wrong string length: ${eb.length} (${eb}). Expected (8..${ew})`);let eM=eb.toLowerCase();if(eb!==eM&&eb!==eb.toUpperCase())throw Error("String must be lowercase or uppercase");let eC=eM.lastIndexOf("1");if(0===eC||-1===eC)throw Error('Letter "1" must be present between prefix and data only');let eT=eM.slice(0,eC),e_=eM.slice(eC+1);if(e_.length<6)throw Error("Data must be at least 6 characters long");let eE=eV.decode(e_).slice(0,-6),eS=eW(eT,eE,em);if(!e_.endsWith(eS))throw Error(`Invalid checksum in ${eb}: expected "${eS}"`);return{prefix:eT,words:eE}}let eS=eR(eE);return{encode:e_,decode:eE,decodeToBytes:function(eb){let{prefix:em,words:ew}=eE(eb,!1);return{prefix:em,words:ew,bytes:eM(ew)}},decodeUnsafe:eS,fromWords:eM,fromWordsUnsafe:eT,toWords:eC}}em.bech32=eZ("bech32"),em.bech32m=eZ("bech32m"),em.utf8={encode:eb=>new TextDecoder().decode(eb),decode:eb=>new TextEncoder().encode(eb)},em.hex=eC(eP(4),eT("0123456789abcdef"),e_(""),eS(eb=>{if("string"!=typeof eb||eb.length%2)throw TypeError(`hex.decode: expected string, got ${typeof eb} with length ${eb.length}`);return eb.toLowerCase()}));let eK={utf8:em.utf8,hex:em.hex,base16:em.base16,base32:em.base32,base64:em.base64,base64url:em.base64url,base58:em.base58,base58xmr:em.base58xmr},eG="Invalid encoding type. Available types: utf8, hex, base16, base32, base64, base64url, base58, base58xmr",eY=(eb,em)=>{if("string"!=typeof eb||!eK.hasOwnProperty(eb))throw TypeError(eG);if(!eM(em))throw TypeError("bytesToString() expects Uint8Array");return eK[eb].encode(em)};em.bytesToString=eY,em.str=em.bytesToString;let eJ=(eb,em)=>{if(!eK.hasOwnProperty(eb))throw TypeError(eG);if("string"!=typeof em)throw TypeError("stringToBytes() expects string");return eK[eb].decode(em)};em.stringToBytes=eJ,em.bytes=em.stringToBytes},39386:function(eb,em,ew){"use strict";var eM;/** * Support for translating between Uint8Array instances and JavaScript * native types. * @@ -106,7 +106,7 @@ ${eb.length}`,"utf-8");return eV.from((0,ew.keccak256)(eV.concat([em,eb])))};em. * @license MIT * @author Peter A. Bigot * @see {@link https://github.com/pabigot/buffer-layout|buffer-layout on GitHub} - */eV={value:!0},eV=eV=eV=eV=eV=eV=eV=eV=em._O=eV=eV=em.Jq=eV=em.KB=em.u8=em.cv=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=void 0,eV=eV=eV=em.Ik=eV=eV=em.A9=eV=em.n_=eV=eV=eV=eV=eV=eV=eV=eV=eV=eV=em.gM=eV=eV=eV=eV=void 0;let ew=eH(48764);function eM(eb){if(!(eb instanceof Uint8Array))throw TypeError("b must be a Uint8Array")}function eC(eb){return eM(eb),ew.Buffer.from(eb.buffer,eb.byteOffset,eb.length)}eV=eM,eV=eC;class eT{constructor(eb,em){if(!Number.isInteger(eb))throw TypeError("span must be an integer");this.span=eb,this.property=em}makeDestinationObject(){return{}}getSpan(eb,em){if(0>this.span)throw RangeError("indeterminate span");return this.span}replicate(eb){let em=Object.create(this.constructor.prototype);return Object.assign(em,this),em.property=eb,em}fromArray(eb){}}function e_(eb,em){return em.property?eb+"["+em.property+"]":eb}eV=eT,eV=e_,eV=function(eb,em){if("function"!=typeof eb)throw TypeError("Class must be constructor");if(Object.prototype.hasOwnProperty.call(eb,"layout_"))throw Error("Class is already bound to a layout");if(!(em&&em instanceof eT))throw TypeError("layout must be a Layout");if(Object.prototype.hasOwnProperty.call(em,"boundConstructor_"))throw Error("layout is already bound to a constructor");eb.layout_=em,em.boundConstructor_=eb,em.makeDestinationObject=()=>new eb,Object.defineProperty(eb.prototype,"encode",{value(eb,eH){return em.encode(this,eb,eH)},writable:!0}),Object.defineProperty(eb,"decode",{value:(eb,eH)=>em.decode(eb,eH),writable:!0})};class eS extends eT{isCount(){throw Error("ExternalLayout is abstract")}}eV=eS;class eE extends eS{constructor(eb=1,em){if(!Number.isInteger(eb)||0>=eb)throw TypeError("elementSpan must be a (positive) integer");super(-1,em),this.elementSpan=eb}isCount(){return!0}decode(eb,em=0){eM(eb);let eH=eb.length-em;return Math.floor(eH/this.elementSpan)}encode(eb,em,eH){return 0}}eV=eE;class eA extends eS{constructor(eb,em=0,eH){if(!(eb instanceof eT))throw TypeError("layout must be a Layout");if(!Number.isInteger(em))throw TypeError("offset must be integer or undefined");super(eb.span,eH||eb.property),this.layout=eb,this.offset=em}isCount(){return this.layout instanceof eN||this.layout instanceof eI}decode(eb,em=0){return this.layout.decode(eb,em+this.offset)}encode(eb,em,eH=0){return this.layout.encode(eb,em,eH+this.offset)}}eV=eA;class eN extends eT{constructor(eb,em){if(super(eb,em),6eb+eV.encode(ew,em,eH+eb),0);return this.count instanceof eS&&this.count.encode(eb.length,em,eH),ew}}eV=eY;class eX extends eT{constructor(eb,em,eH){if(!(Array.isArray(eb)&&eb.reduce((eb,em)=>eb&&em instanceof eT,!0)))throw TypeError("fields must be array of Layout instances");for(let eV of("boolean"==typeof em&&void 0===eH&&(eH=em,em=void 0),eb))if(0>eV.span&&void 0===eV.property)throw Error("fields cannot contain unnamed variable-length layout");let eV=-1;try{eV=eb.reduce((eb,em)=>eb+em.getSpan(),0)}catch(eb){}super(eV,em),this.fields=eb,this.decodePrefixes=!!eH}getSpan(eb,em=0){if(0<=this.span)return this.span;let eH=0;try{eH=this.fields.reduce((eH,eV)=>{let ew=eV.getSpan(eb,em);return em+=ew,eH+ew},0)}catch(eb){throw RangeError("indeterminate span")}return eH}decode(eb,em=0){eM(eb);let eH=this.makeDestinationObject();for(let eV of this.fields)if(void 0!==eV.property&&(eH[eV.property]=eV.decode(eb,em)),em+=eV.getSpan(eb,em),this.decodePrefixes&&eb.length===em)break;return eH}encode(eb,em,eH=0){let eV=eH,ew=0,eM=0;for(let eV of this.fields){let eC=eV.span;if(eM=0eC&&(eC=eV.getSpan(em,eH)))}ew=eH,eH+=eC}return ew+eM-eV}fromArray(eb){let em=this.makeDestinationObject();for(let eH of this.fields)void 0!==eH.property&&0eH.span?em=-1:0<=em&&(em+=eH.span)}}}eV=eX;class eJ{constructor(eb){this.property=eb}decode(eb,em){throw Error("UnionDiscriminator is abstract")}encode(eb,em,eH){throw Error("UnionDiscriminator is abstract")}}eV=eJ;class eQ extends eJ{constructor(eb,em){if(!(eb instanceof eS&&eb.isCount()))throw TypeError("layout must be an unsigned integer ExternalLayout");super(em||eb.property||"variant"),this.layout=eb}decode(eb,em){return this.layout.decode(eb,em)}encode(eb,em,eH){return this.layout.encode(eb,em,eH)}}eV=eQ;class e0 extends eT{constructor(eb,em,eH){let eV;if(eb instanceof eN||eb instanceof eI)eV=new eQ(new eA(eb));else if(eb instanceof eS&&eb.isCount())eV=new eQ(eb);else if(eb instanceof eJ)eV=eb;else throw TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");if(void 0===em&&(em=null),!(null===em||em instanceof eT))throw TypeError("defaultLayout must be null or a Layout");if(null!==em){if(0>em.span)throw Error("defaultLayout must have constant span");void 0===em.property&&(em=em.replicate("content"))}let ew=-1;em&&0<=(ew=em.span)&&(eb instanceof eN||eb instanceof eI)&&(ew+=eV.layout.span),super(ew,eH),this.discriminator=eV,this.usesPrefixDiscriminator=eb instanceof eN||eb instanceof eI,this.defaultLayout=em,this.registry={};let eM=this.defaultGetSourceVariant.bind(this);this.getSourceVariant=function(eb){return eM(eb)},this.configGetSourceVariant=function(eb){eM=eb.bind(this)}}getSpan(eb,em=0){if(0<=this.span)return this.span;let eH=this.getVariant(eb,em);if(!eH)throw Error("unable to determine span for unrecognized variant");return eH.getSpan(eb,em)}defaultGetSourceVariant(eb){if(Object.prototype.hasOwnProperty.call(eb,this.discriminator.property)){if(this.defaultLayout&&this.defaultLayout.property&&Object.prototype.hasOwnProperty.call(eb,this.defaultLayout.property))return;let em=this.registry[eb[this.discriminator.property]];if(em&&(!em.layout||em.property&&Object.prototype.hasOwnProperty.call(eb,em.property)))return em}else for(let em in this.registry){let eH=this.registry[em];if(eH.property&&Object.prototype.hasOwnProperty.call(eb,eH.property))return eH}throw Error("unable to infer src variant")}decode(eb,em=0){let eH;let eV=this.discriminator,ew=eV.decode(eb,em),eM=this.registry[ew];if(void 0===eM){let eM=this.defaultLayout,eC=0;this.usesPrefixDiscriminator&&(eC=eV.layout.span),(eH=this.makeDestinationObject())[eV.property]=ew,eH[eM.property]=eM.decode(eb,em+eC)}else eH=eM.decode(eb,em);return eH}encode(eb,em,eH=0){let eV=this.getSourceVariant(eb);if(void 0===eV){let eV=this.discriminator,ew=this.defaultLayout,eM=0;return this.usesPrefixDiscriminator&&(eM=eV.layout.span),eV.encode(eb[eV.property],em,eH),eM+ew.encode(eb[ew.property],em,eH+eM)}return eV.encode(eb,em,eH)}addVariant(eb,em,eH){let eV=new e6(this,eb,em,eH);return this.registry[eb]=eV,eV}getVariant(eb,em=0){let eH;return eH=eb instanceof Uint8Array?this.discriminator.decode(eb,em):eb,this.registry[eH]}}eV=e0;class e6 extends eT{constructor(eb,em,eH,eV){if(!(eb instanceof e0))throw TypeError("union must be a Union");if(!Number.isInteger(em)||0>em)throw TypeError("variant must be a (non-negative) integer");if("string"==typeof eH&&void 0===eV&&(eV=eH,eH=null),eH){if(!(eH instanceof eT))throw TypeError("layout must be a Layout");if(null!==eb.defaultLayout&&0<=eH.span&&eH.span>eb.defaultLayout.span)throw Error("variant span exceeds span of containing union");if("string"!=typeof eV)throw TypeError("variant must have a String property")}let ew=eb.span;0>eb.span&&0<=(ew=eH?eH.span:0)&&eb.usesPrefixDiscriminator&&(ew+=eb.discriminator.layout.span),super(ew,eV),this.union=eb,this.variant=em,this.layout=eH||null}getSpan(eb,em=0){if(0<=this.span)return this.span;let eH=0;this.union.usesPrefixDiscriminator&&(eH=this.union.discriminator.layout.span);let eV=0;return this.layout&&(eV=this.layout.getSpan(eb,em+eH)),eH+eV}decode(eb,em=0){let eH=this.makeDestinationObject();if(this!==this.union.getVariant(eb,em))throw Error("variant mismatch");let eV=0;return this.union.usesPrefixDiscriminator&&(eV=this.union.discriminator.layout.span),this.layout?eH[this.property]=this.layout.decode(eb,em+eV):this.property?eH[this.property]=!0:this.union.usesPrefixDiscriminator&&(eH[this.union.discriminator.property]=this.variant),eH}encode(eb,em,eH=0){let eV=0;if(this.union.usesPrefixDiscriminator&&(eV=this.union.discriminator.layout.span),this.layout&&!Object.prototype.hasOwnProperty.call(eb,this.property))throw TypeError("variant lacks property "+this.property);this.union.discriminator.encode(this.variant,em,eH);let ew=eV;if(this.layout&&(this.layout.encode(eb[this.property],em,eH+eV),ew+=this.layout.getSpan(em,eH+eV),0<=this.union.span&&ew>this.union.span))throw Error("encoded variant overruns containing union");return ew}fromArray(eb){if(this.layout)return this.layout.fromArray(eb)}}function e4(eb){return 0>eb&&(eb+=4294967296),eb}eV=e6;class e3 extends eT{constructor(eb,em,eH){if(!(eb instanceof eN||eb instanceof eI))throw TypeError("word must be a UInt or UIntBE layout");if("string"==typeof em&&void 0===eH&&(eH=em,em=!1),4=em)throw TypeError("bits must be positive integer");let eV=8*eb.span,ew=eb.fields.reduce((eb,em)=>eb+em.bits,0);if(em+ew>eV)throw Error("bits too long for span remainder ("+(eV-ew)+" of "+eV+" remain)");this.container=eb,this.bits=em,this.valueMask=(1<>>this.start;return ew}encode(eb){if("number"!=typeof eb||!Number.isInteger(eb)||eb!==e4(eb&this.valueMask))throw TypeError(e_("BitField.encode",this)+" value must be integer not exceeding "+this.valueMask);let em=this.container._packedGetValue(),eH=e4(eb<eH&&(eH=this.length.decode(eb,em)),eH}decode(eb,em=0){let eH=this.span;return 0>eH&&(eH=this.length.decode(eb,em)),eC(eb).slice(em,em+eH)}encode(eb,em,eH){let eV=this.length;if(this.length instanceof eS&&(eV=eb.length),!(eb instanceof Uint8Array&&eV===eb.length))throw TypeError(e_("Blob.encode",this)+" requires (length "+eV+") Uint8Array as src");if(eH+eV>em.length)throw RangeError("encoding overruns Uint8Array");let ew=eC(eb);return eC(em).write(ew.toString("hex"),eH,eV,"hex"),this.length instanceof eS&&this.length.encode(eV,em,eH),eV}}eV=e9;class e7 extends eT{constructor(eb){super(-1,eb)}getSpan(eb,em=0){eM(eb);let eH=em;for(;eHem.length)throw RangeError("encoding overruns Buffer");let eT=eC(em);return eV.copy(eT,eH),eT[eH+eM]=0,eM+1}}eV=e7;class tH extends eT{constructor(eb,em){if("string"==typeof eb&&void 0===em&&(em=eb,eb=void 0),void 0===eb)eb=-1;else if(!Number.isInteger(eb))throw TypeError("maxSpan must be an integer");super(-1,em),this.maxSpan=eb}getSpan(eb,em=0){return eM(eb),eb.length-em}decode(eb,em=0){let eH=this.getSpan(eb,em);if(0<=this.maxSpan&&this.maxSpanem.length)throw RangeError("encoding overruns Buffer");return eV.copy(eC(em),eH),eM}}eV=tH;class tV extends eT{constructor(eb,em){super(0,em),this.value=eb}decode(eb,em){return this.value}encode(eb,em,eH){return 0}}eV=tV,eV=(eb,em)=>new eE(eb,em),em.cv=(eb,em,eH)=>new eA(eb,em,eH),em.u8=eb=>new eN(1,eb),em.KB=eb=>new eN(2,eb),eV=eb=>new eN(3,eb),em.Jq=eb=>new eN(4,eb),eV=eb=>new eN(5,eb),eV=eb=>new eN(6,eb),em._O=eb=>new eF(eb),eV=eb=>new eI(2,eb),eV=eb=>new eI(3,eb),eV=eb=>new eI(4,eb),eV=eb=>new eI(5,eb),eV=eb=>new eI(6,eb),eV=eb=>new ej(eb),eV=eb=>new eD(1,eb),eV=eb=>new eD(2,eb),eV=eb=>new eD(3,eb),eV=eb=>new eD(4,eb),eV=eb=>new eD(5,eb),eV=eb=>new eD(6,eb),em.gM=eb=>new eU(eb),eV=eb=>new eP(2,eb),eV=eb=>new eP(3,eb),eV=eb=>new eP(4,eb),eV=eb=>new eP(5,eb),eV=eb=>new eP(6,eb),eV=eb=>new e$(eb),eV=eb=>new eW(eb),eV=eb=>new eZ(eb),eV=eb=>new eG(eb),eV=eb=>new eK(eb),em.n_=(eb,em,eH)=>new eX(eb,em,eH),eV=(eb,em,eH)=>new e3(eb,em,eH),em.A9=(eb,em,eH)=>new eY(eb,em,eH),eV=(eb,em,eH)=>new e0(eb,em,eH),eV=(eb,em)=>new eQ(eb,em),em.Ik=(eb,em)=>new e9(eb,em),eV=eb=>new e7(eb),eV=(eb,em)=>new tH(eb,em),eV=(eb,em)=>new tV(eb,em)},98099:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0});var eV=eH(97117);function ew(eb,em){return void 0===em&&(em=0),(eb[em+0]<<8|eb[em+1])<<16>>16}function eM(eb,em){return void 0===em&&(em=0),(eb[em+0]<<8|eb[em+1])>>>0}function eC(eb,em){return void 0===em&&(em=0),(eb[em+1]<<8|eb[em])<<16>>16}function eT(eb,em){return void 0===em&&(em=0),(eb[em+1]<<8|eb[em])>>>0}function e_(eb,em,eH){return void 0===em&&(em=new Uint8Array(2)),void 0===eH&&(eH=0),em[eH+0]=eb>>>8,em[eH+1]=eb>>>0,em}function eS(eb,em,eH){return void 0===em&&(em=new Uint8Array(2)),void 0===eH&&(eH=0),em[eH+0]=eb>>>0,em[eH+1]=eb>>>8,em}function eE(eb,em){return void 0===em&&(em=0),eb[em]<<24|eb[em+1]<<16|eb[em+2]<<8|eb[em+3]}function eA(eb,em){return void 0===em&&(em=0),(eb[em]<<24|eb[em+1]<<16|eb[em+2]<<8|eb[em+3])>>>0}function eN(eb,em){return void 0===em&&(em=0),eb[em+3]<<24|eb[em+2]<<16|eb[em+1]<<8|eb[em]}function eI(eb,em){return void 0===em&&(em=0),(eb[em+3]<<24|eb[em+2]<<16|eb[em+1]<<8|eb[em])>>>0}function eD(eb,em,eH){return void 0===em&&(em=new Uint8Array(4)),void 0===eH&&(eH=0),em[eH+0]=eb>>>24,em[eH+1]=eb>>>16,em[eH+2]=eb>>>8,em[eH+3]=eb>>>0,em}function eP(eb,em,eH){return void 0===em&&(em=new Uint8Array(4)),void 0===eH&&(eH=0),em[eH+0]=eb>>>0,em[eH+1]=eb>>>8,em[eH+2]=eb>>>16,em[eH+3]=eb>>>24,em}function eO(eb,em){void 0===em&&(em=0);var eH=eE(eb,em),eV=eE(eb,em+4);return 4294967296*eH+eV-(eV>>31)*4294967296}function eR(eb,em){return void 0===em&&(em=0),4294967296*eA(eb,em)+eA(eb,em+4)}function eB(eb,em){void 0===em&&(em=0);var eH=eN(eb,em);return 4294967296*eN(eb,em+4)+eH-(eH>>31)*4294967296}function eF(eb,em){void 0===em&&(em=0);var eH=eI(eb,em);return 4294967296*eI(eb,em+4)+eH}function ej(eb,em,eH){return void 0===em&&(em=new Uint8Array(8)),void 0===eH&&(eH=0),eD(eb/4294967296>>>0,em,eH),eD(eb>>>0,em,eH+4),em}function eU(eb,em,eH){return void 0===em&&(em=new Uint8Array(8)),void 0===eH&&(eH=0),eP(eb>>>0,em,eH),eP(eb/4294967296>>>0,em,eH+4),em}function e$(eb,em,eH){if(void 0===eH&&(eH=0),eb%8!=0)throw Error("readUintBE supports only bitLengths divisible by 8");if(eb/8>em.length-eH)throw Error("readUintBE: array is too short for the given bitLength");for(var eV=0,ew=1,eM=eb/8+eH-1;eM>=eH;eM--)eV+=em[eM]*ew,ew*=256;return eV}function eW(eb,em,eH){if(void 0===eH&&(eH=0),eb%8!=0)throw Error("readUintLE supports only bitLengths divisible by 8");if(eb/8>em.length-eH)throw Error("readUintLE: array is too short for the given bitLength");for(var eV=0,ew=1,eM=eH;eM=ew;eC--)eH[eC]=em/eM&255,eM*=256;return eH}function eG(eb,em,eH,ew){if(void 0===eH&&(eH=new Uint8Array(eb/8)),void 0===ew&&(ew=0),eb%8!=0)throw Error("writeUintLE supports only bitLengths divisible by 8");if(!eV.isSafeInteger(em))throw Error("writeUintLE value must be an integer");for(var eM=1,eC=ew;eC>>16|e4<<16)|0,eG=eG>>>20|eG<<12,e3^=e$=e$+eK|0,eK^=eQ=eQ+(e3=e3>>>16|e3<<16)|0,eK=eK>>>20|eK<<12,e5^=eW=eW+eY|0,eY^=e0=e0+(e5=e5>>>16|e5<<16)|0,eY=eY>>>20|eY<<12,e8^=eZ=eZ+eX|0,eX^=e6=e6+(e8=e8>>>16|e8<<16)|0,eX=eX>>>20|eX<<12,e5^=eW=eW+eY|0,eY^=e0=e0+(e5=e5>>>24|e5<<8)|0,eY=eY>>>25|eY<<7,e8^=eZ=eZ+eX|0,eX^=e6=e6+(e8=e8>>>24|e8<<8)|0,eX=eX>>>25|eX<<7,e3^=e$=e$+eK|0,eK^=eQ=eQ+(e3=e3>>>24|e3<<8)|0,eK=eK>>>25|eK<<7,e4^=eU=eU+eG|0,eG^=eJ=eJ+(e4=e4>>>24|e4<<8)|0,eG=eG>>>25|eG<<7,e8^=eU=eU+eK|0,eK^=e0=e0+(e8=e8>>>16|e8<<16)|0,eK=eK>>>20|eK<<12,e4^=e$=e$+eY|0,eY^=e6=e6+(e4=e4>>>16|e4<<16)|0,eY=eY>>>20|eY<<12,e3^=eW=eW+eX|0,eX^=eJ=eJ+(e3=e3>>>16|e3<<16)|0,eX=eX>>>20|eX<<12,e5^=eZ=eZ+eG|0,eG^=eQ=eQ+(e5=e5>>>16|e5<<16)|0,eG=eG>>>20|eG<<12,e3^=eW=eW+eX|0,eX^=eJ=eJ+(e3=e3>>>24|e3<<8)|0,eX=eX>>>25|eX<<7,e5^=eZ=eZ+eG|0,eG^=eQ=eQ+(e5=e5>>>24|e5<<8)|0,eG=eG>>>25|eG<<7,e4^=e$=e$+eY|0,eY^=e6=e6+(e4=e4>>>24|e4<<8)|0,eY=eY>>>25|eY<<7,e8^=eU=eU+eK|0,eK^=e0=e0+(e8=e8>>>24|e8<<8)|0,eK=eK>>>25|eK<<7;eV.writeUint32LE(eU+ew|0,eb,0),eV.writeUint32LE(e$+eC|0,eb,4),eV.writeUint32LE(eW+eT|0,eb,8),eV.writeUint32LE(eZ+e_|0,eb,12),eV.writeUint32LE(eG+eS|0,eb,16),eV.writeUint32LE(eK+eE|0,eb,20),eV.writeUint32LE(eY+eA|0,eb,24),eV.writeUint32LE(eX+eN|0,eb,28),eV.writeUint32LE(eJ+eI|0,eb,32),eV.writeUint32LE(eQ+eD|0,eb,36),eV.writeUint32LE(e0+eP|0,eb,40),eV.writeUint32LE(e6+eO|0,eb,44),eV.writeUint32LE(e4+eR|0,eb,48),eV.writeUint32LE(e3+eB|0,eb,52),eV.writeUint32LE(e5+eF|0,eb,56),eV.writeUint32LE(e8+ej|0,eb,60)}function eT(eb,em,eH,eV,eM){if(void 0===eM&&(eM=0),32!==eb.length)throw Error("ChaCha: key size must be 32 bytes");if(eV.length>>=8,em++;if(eV>0)throw Error("ChaCha: counter overflow")}em.streamXOR=eT,em.stream=e_},15501:function(eb,em,eH){"use strict";eV={value:!0};var eV,ew=eH(25439),eM=eH(63027),eC=eH(17309),eT=eH(98099),e_=eH(4153);em.Cv=32,em.WH=12,em.pg=16;var eS=new Uint8Array(16),eE=function(){function eb(eb){if(this.nonceLength=em.WH,this.tagLength=em.pg,eb.length!==em.Cv)throw Error("ChaCha20Poly1305 needs 32-byte key");this._key=new Uint8Array(eb)}return eb.prototype.seal=function(eb,em,eH,eV){if(eb.length>16)throw Error("ChaCha20Poly1305: incorrect nonce length");var eM,eT=new Uint8Array(16);eT.set(eb,eT.length-eb.length);var e_=new Uint8Array(32);ew.stream(this._key,eT,e_,4);var eS=em.length+this.tagLength;if(eV){if(eV.length!==eS)throw Error("ChaCha20Poly1305: incorrect destination length");eM=eV}else eM=new Uint8Array(eS);return ew.streamXOR(this._key,eT,em,eM,4),this._authenticate(eM.subarray(eM.length-this.tagLength,eM.length),e_,eM.subarray(0,eM.length-this.tagLength),eH),eC.wipe(eT),eM},eb.prototype.open=function(eb,em,eH,eV){if(eb.length>16)throw Error("ChaCha20Poly1305: incorrect nonce length");if(em.length0&&ew.update(eS.subarray(eV.length%16))),ew.update(eH),eH.length%16>0&&ew.update(eS.subarray(eH.length%16));var e_=new Uint8Array(8);eV&&eT.writeUint64LE(eV.length,e_),ew.update(e_),eT.writeUint64LE(eH.length,e_),ew.update(e_);for(var eE=ew.digest(),eA=0;eA>>31&1}function ew(eb,em){if(eb.length!==em.length)return 0;for(var eH=0,eV=0;eV>>8}function eM(eb,em){return 0!==eb.length&&0!==em.length&&0!==ew(eb,em)}Object.defineProperty(em,"__esModule",{value:!0}),em.select=eH,em.lessOrEqual=eV,em.compare=ew,em.equal=eM},31050:function(eb,em,eH){"use strict";var eV;eV={value:!0},eV=eV=eV=em.Xx=eV=eV=em._w=em.aP=em.KS=eV=em.jQ=void 0;let ew=eH(31416),eM=eH(93350),eC=eH(17309);function eT(eb){let em=new Float64Array(16);if(eb)for(let eH=0;eH>16&1),eH[eb-1]&=65535;eH[15]=eV[15]-32767-(eH[14]>>16&1);let eb=eH[15]>>16&1;eH[14]&=65535,eB(eV,eH,1-eb)}for(let em=0;em<16;em++)eb[2*em]=255&eV[em],eb[2*em+1]=eV[em]>>8}function ej(eb,em){let eH=0;for(let eV=0;eV<32;eV++)eH|=eb[eV]^em[eV];return(1&eH-1>>>8)-1}function eU(eb,em){let eH=new Uint8Array(32),eV=new Uint8Array(32);return eF(eH,eb),eF(eV,em),ej(eH,eV)}function e$(eb){let em=new Uint8Array(32);return eF(em,eb),1&em[0]}function eW(eb,em){for(let eH=0;eH<16;eH++)eb[eH]=em[2*eH]+(em[2*eH+1]<<8);eb[15]&=32767}function eZ(eb,em,eH){for(let eV=0;eV<16;eV++)eb[eV]=em[eV]+eH[eV]}function eG(eb,em,eH){for(let eV=0;eV<16;eV++)eb[eV]=em[eV]-eH[eV]}function eK(eb,em,eH){let eV,ew,eM=0,eC=0,eT=0,e_=0,eS=0,eE=0,eA=0,eN=0,eI=0,eD=0,eP=0,eO=0,eR=0,eB=0,eF=0,ej=0,eU=0,e$=0,eW=0,eZ=0,eG=0,eK=0,eY=0,eX=0,eJ=0,eQ=0,e0=0,e6=0,e4=0,e3=0,e5=0,e8=eH[0],e9=eH[1],e7=eH[2],tH=eH[3],tV=eH[4],tw=eH[5],tC=eH[6],tT=eH[7],t_=eH[8],tS=eH[9],tE=eH[10],tA=eH[11],tN=eH[12],tI=eH[13],tD=eH[14],tP=eH[15];eM+=(eV=em[0])*e8,eC+=eV*e9,eT+=eV*e7,e_+=eV*tH,eS+=eV*tV,eE+=eV*tw,eA+=eV*tC,eN+=eV*tT,eI+=eV*t_,eD+=eV*tS,eP+=eV*tE,eO+=eV*tA,eR+=eV*tN,eB+=eV*tI,eF+=eV*tD,ej+=eV*tP,eC+=(eV=em[1])*e8,eT+=eV*e9,e_+=eV*e7,eS+=eV*tH,eE+=eV*tV,eA+=eV*tw,eN+=eV*tC,eI+=eV*tT,eD+=eV*t_,eP+=eV*tS,eO+=eV*tE,eR+=eV*tA,eB+=eV*tN,eF+=eV*tI,ej+=eV*tD,eU+=eV*tP,eT+=(eV=em[2])*e8,e_+=eV*e9,eS+=eV*e7,eE+=eV*tH,eA+=eV*tV,eN+=eV*tw,eI+=eV*tC,eD+=eV*tT,eP+=eV*t_,eO+=eV*tS,eR+=eV*tE,eB+=eV*tA,eF+=eV*tN,ej+=eV*tI,eU+=eV*tD,e$+=eV*tP,e_+=(eV=em[3])*e8,eS+=eV*e9,eE+=eV*e7,eA+=eV*tH,eN+=eV*tV,eI+=eV*tw,eD+=eV*tC,eP+=eV*tT,eO+=eV*t_,eR+=eV*tS,eB+=eV*tE,eF+=eV*tA,ej+=eV*tN,eU+=eV*tI,e$+=eV*tD,eW+=eV*tP,eS+=(eV=em[4])*e8,eE+=eV*e9,eA+=eV*e7,eN+=eV*tH,eI+=eV*tV,eD+=eV*tw,eP+=eV*tC,eO+=eV*tT,eR+=eV*t_,eB+=eV*tS,eF+=eV*tE,ej+=eV*tA,eU+=eV*tN,e$+=eV*tI,eW+=eV*tD,eZ+=eV*tP,eE+=(eV=em[5])*e8,eA+=eV*e9,eN+=eV*e7,eI+=eV*tH,eD+=eV*tV,eP+=eV*tw,eO+=eV*tC,eR+=eV*tT,eB+=eV*t_,eF+=eV*tS,ej+=eV*tE,eU+=eV*tA,e$+=eV*tN,eW+=eV*tI,eZ+=eV*tD,eG+=eV*tP,eA+=(eV=em[6])*e8,eN+=eV*e9,eI+=eV*e7,eD+=eV*tH,eP+=eV*tV,eO+=eV*tw,eR+=eV*tC,eB+=eV*tT,eF+=eV*t_,ej+=eV*tS,eU+=eV*tE,e$+=eV*tA,eW+=eV*tN,eZ+=eV*tI,eG+=eV*tD,eK+=eV*tP,eN+=(eV=em[7])*e8,eI+=eV*e9,eD+=eV*e7,eP+=eV*tH,eO+=eV*tV,eR+=eV*tw,eB+=eV*tC,eF+=eV*tT,ej+=eV*t_,eU+=eV*tS,e$+=eV*tE,eW+=eV*tA,eZ+=eV*tN,eG+=eV*tI,eK+=eV*tD,eY+=eV*tP,eI+=(eV=em[8])*e8,eD+=eV*e9,eP+=eV*e7,eO+=eV*tH,eR+=eV*tV,eB+=eV*tw,eF+=eV*tC,ej+=eV*tT,eU+=eV*t_,e$+=eV*tS,eW+=eV*tE,eZ+=eV*tA,eG+=eV*tN,eK+=eV*tI,eY+=eV*tD,eX+=eV*tP,eD+=(eV=em[9])*e8,eP+=eV*e9,eO+=eV*e7,eR+=eV*tH,eB+=eV*tV,eF+=eV*tw,ej+=eV*tC,eU+=eV*tT,e$+=eV*t_,eW+=eV*tS,eZ+=eV*tE,eG+=eV*tA,eK+=eV*tN,eY+=eV*tI,eX+=eV*tD,eJ+=eV*tP,eP+=(eV=em[10])*e8,eO+=eV*e9,eR+=eV*e7,eB+=eV*tH,eF+=eV*tV,ej+=eV*tw,eU+=eV*tC,e$+=eV*tT,eW+=eV*t_,eZ+=eV*tS,eG+=eV*tE,eK+=eV*tA,eY+=eV*tN,eX+=eV*tI,eJ+=eV*tD,eQ+=eV*tP,eO+=(eV=em[11])*e8,eR+=eV*e9,eB+=eV*e7,eF+=eV*tH,ej+=eV*tV,eU+=eV*tw,e$+=eV*tC,eW+=eV*tT,eZ+=eV*t_,eG+=eV*tS,eK+=eV*tE,eY+=eV*tA,eX+=eV*tN,eJ+=eV*tI,eQ+=eV*tD,e0+=eV*tP,eR+=(eV=em[12])*e8,eB+=eV*e9,eF+=eV*e7,ej+=eV*tH,eU+=eV*tV,e$+=eV*tw,eW+=eV*tC,eZ+=eV*tT,eG+=eV*t_,eK+=eV*tS,eY+=eV*tE,eX+=eV*tA,eJ+=eV*tN,eQ+=eV*tI,e0+=eV*tD,e6+=eV*tP,eB+=(eV=em[13])*e8,eF+=eV*e9,ej+=eV*e7,eU+=eV*tH,e$+=eV*tV,eW+=eV*tw,eZ+=eV*tC,eG+=eV*tT,eK+=eV*t_,eY+=eV*tS,eX+=eV*tE,eJ+=eV*tA,eQ+=eV*tN,e0+=eV*tI,e6+=eV*tD,e4+=eV*tP,eF+=(eV=em[14])*e8,ej+=eV*e9,eU+=eV*e7,e$+=eV*tH,eW+=eV*tV,eZ+=eV*tw,eG+=eV*tC,eK+=eV*tT,eY+=eV*t_,eX+=eV*tS,eJ+=eV*tE,eQ+=eV*tA,e0+=eV*tN,e6+=eV*tI,e4+=eV*tD,e3+=eV*tP,ej+=(eV=em[15])*e8,eU+=eV*e9,e$+=eV*e7,eW+=eV*tH,eZ+=eV*tV,eG+=eV*tw,eK+=eV*tC,eY+=eV*tT,eX+=eV*t_,eJ+=eV*tS,eQ+=eV*tE,e0+=eV*tA,e6+=eV*tN,e4+=eV*tI,e3+=eV*tD,e5+=eV*tP,eM+=38*eU,eC+=38*e$,eT+=38*eW,e_+=38*eZ,eS+=38*eG,eE+=38*eK,eA+=38*eY,eN+=38*eX,eI+=38*eJ,eD+=38*eQ,eP+=38*e0,eO+=38*e6,eR+=38*e4,eB+=38*e3,eF+=38*e5,ew=Math.floor((eV=eM+(ew=1)+65535)/65536),eM=eV-65536*ew,ew=Math.floor((eV=eC+ew+65535)/65536),eC=eV-65536*ew,ew=Math.floor((eV=eT+ew+65535)/65536),eT=eV-65536*ew,ew=Math.floor((eV=e_+ew+65535)/65536),e_=eV-65536*ew,ew=Math.floor((eV=eS+ew+65535)/65536),eS=eV-65536*ew,ew=Math.floor((eV=eE+ew+65535)/65536),eE=eV-65536*ew,ew=Math.floor((eV=eA+ew+65535)/65536),eA=eV-65536*ew,ew=Math.floor((eV=eN+ew+65535)/65536),eN=eV-65536*ew,ew=Math.floor((eV=eI+ew+65535)/65536),eI=eV-65536*ew,ew=Math.floor((eV=eD+ew+65535)/65536),eD=eV-65536*ew,ew=Math.floor((eV=eP+ew+65535)/65536),eP=eV-65536*ew,ew=Math.floor((eV=eO+ew+65535)/65536),eO=eV-65536*ew,ew=Math.floor((eV=eR+ew+65535)/65536),eR=eV-65536*ew,ew=Math.floor((eV=eB+ew+65535)/65536),eB=eV-65536*ew,ew=Math.floor((eV=eF+ew+65535)/65536),eF=eV-65536*ew,ew=Math.floor((eV=ej+ew+65535)/65536),ej=eV-65536*ew,eM+=ew-1+37*(ew-1),ew=Math.floor((eV=eM+(ew=1)+65535)/65536),eM=eV-65536*ew,ew=Math.floor((eV=eC+ew+65535)/65536),eC=eV-65536*ew,ew=Math.floor((eV=eT+ew+65535)/65536),eT=eV-65536*ew,ew=Math.floor((eV=e_+ew+65535)/65536),e_=eV-65536*ew,ew=Math.floor((eV=eS+ew+65535)/65536),eS=eV-65536*ew,ew=Math.floor((eV=eE+ew+65535)/65536),eE=eV-65536*ew,ew=Math.floor((eV=eA+ew+65535)/65536),eA=eV-65536*ew,ew=Math.floor((eV=eN+ew+65535)/65536),eN=eV-65536*ew,ew=Math.floor((eV=eI+ew+65535)/65536),eI=eV-65536*ew,ew=Math.floor((eV=eD+ew+65535)/65536),eD=eV-65536*ew,ew=Math.floor((eV=eP+ew+65535)/65536),eP=eV-65536*ew,ew=Math.floor((eV=eO+ew+65535)/65536),eO=eV-65536*ew,ew=Math.floor((eV=eR+ew+65535)/65536),eR=eV-65536*ew,ew=Math.floor((eV=eB+ew+65535)/65536),eB=eV-65536*ew,ew=Math.floor((eV=eF+ew+65535)/65536),eF=eV-65536*ew,ew=Math.floor((eV=ej+ew+65535)/65536),ej=eV-65536*ew,eM+=ew-1+37*(ew-1),eb[0]=eM,eb[1]=eC,eb[2]=eT,eb[3]=e_,eb[4]=eS,eb[5]=eE,eb[6]=eA,eb[7]=eN,eb[8]=eI,eb[9]=eD,eb[10]=eP,eb[11]=eO,eb[12]=eR,eb[13]=eB,eb[14]=eF,eb[15]=ej}function eY(eb,em){eK(eb,em,em)}function eX(eb,em){let eH;let eV=eT();for(eH=0;eH<16;eH++)eV[eH]=em[eH];for(eH=253;eH>=0;eH--)eY(eV,eV),2!==eH&&4!==eH&&eK(eV,eV,em);for(eH=0;eH<16;eH++)eb[eH]=eV[eH]}function eJ(eb,em){let eH;let eV=eT();for(eH=0;eH<16;eH++)eV[eH]=em[eH];for(eH=250;eH>=0;eH--)eY(eV,eV),1!==eH&&eK(eV,eV,em);for(eH=0;eH<16;eH++)eb[eH]=eV[eH]}function eQ(eb,em){let eH=eT(),eV=eT(),ew=eT(),eM=eT(),eC=eT(),e_=eT(),eS=eT(),eE=eT(),eA=eT();eG(eH,eb[1],eb[0]),eG(eA,em[1],em[0]),eK(eH,eH,eA),eZ(eV,eb[0],eb[1]),eZ(eA,em[0],em[1]),eK(eV,eV,eA),eK(ew,eb[3],em[3]),eK(ew,ew,eN),eK(eM,eb[2],em[2]),eZ(eM,eM,eM),eG(eC,eV,eH),eG(e_,eM,ew),eZ(eS,eM,ew),eZ(eE,eV,eH),eK(eb[0],eC,e_),eK(eb[1],eE,eS),eK(eb[2],eS,e_),eK(eb[3],eC,eE)}function e0(eb,em,eH){for(let eV=0;eV<4;eV++)eB(eb[eV],em[eV],eH)}function e6(eb,em){let eH=eT(),eV=eT(),ew=eT();eX(ew,em[2]),eK(eH,em[0],ew),eK(eV,em[1],ew),eF(eb,eV),eb[31]^=e$(eH)<<7}function e4(eb,em,eH){eO(eb[0],eS),eO(eb[1],eE),eO(eb[2],eE),eO(eb[3],eS);for(let eV=255;eV>=0;--eV){let ew=eH[eV/8|0]>>(7&eV)&1;e0(eb,em,ew),eQ(em,eb),eQ(eb,eb),e0(eb,em,ew)}}function e3(eb,em){let eH=[eT(),eT(),eT(),eT()];eO(eH[0],eI),eO(eH[1],eD),eO(eH[2],eE),eK(eH[3],eI,eD),e4(eb,eH,em)}function e5(eb){if(eb.length!==em.aP)throw Error(`ed25519: seed must be ${em.aP} bytes`);let eH=(0,eM.hash)(eb);eH[0]&=248,eH[31]&=127,eH[31]|=64;let eV=new Uint8Array(32),ew=[eT(),eT(),eT(),eT()];e3(ew,eH),e6(eV,ew);let eC=new Uint8Array(64);return eC.set(eb),eC.set(eV,32),{publicKey:eV,secretKey:eC}}em._w=e5,eV=function(eb){let em=(0,ew.randomBytes)(32,eb),eH=e5(em);return(0,eC.wipe)(em),eH},eV=function(eb){if(eb.length!==em.KS)throw Error(`ed25519: secret key must be ${em.KS} bytes`);return new Uint8Array(eb.subarray(32))};let e8=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 e9(eb,em){let eH,eV,ew,eM;for(eV=63;eV>=32;--eV){for(eH=0,ew=eV-32,eM=eV-12;ew>4)*e8[ew],eH=em[ew]>>8,em[ew]&=255;for(ew=0;ew<32;ew++)em[ew]-=eH*e8[ew];for(eV=0;eV<32;eV++)em[eV+1]+=em[eV]>>8,eb[eV]=255&em[eV]}function e7(eb){let em=new Float64Array(64);for(let eH=0;eH<64;eH++)em[eH]=eb[eH];for(let em=0;em<64;em++)eb[em]=0;e9(eb,em)}function tH(eb,em){let eH=new Float64Array(64),eV=[eT(),eT(),eT(),eT()],ew=(0,eM.hash)(eb.subarray(0,32));ew[0]&=248,ew[31]&=127,ew[31]|=64;let eC=new Uint8Array(64);eC.set(ew.subarray(32),32);let e_=new eM.SHA512;e_.update(eC.subarray(32)),e_.update(em);let eS=e_.digest();e_.clean(),e7(eS),e3(eV,eS),e6(eC,eV),e_.reset(),e_.update(eC.subarray(0,32)),e_.update(eb.subarray(32)),e_.update(em);let eE=e_.digest();e7(eE);for(let eb=0;eb<32;eb++)eH[eb]=eS[eb];for(let eb=0;eb<32;eb++)for(let em=0;em<32;em++)eH[eb+em]+=eE[eb]*ew[em];return e9(eC.subarray(32),eH),eC}function tV(eb,em){let eH=eT(),eV=eT(),ew=eT(),eM=eT(),eC=eT(),e_=eT(),eN=eT();return(eO(eb[2],eE),eW(eb[1],em),eY(ew,eb[1]),eK(eM,ew,eA),eG(ew,ew,eb[2]),eZ(eM,eb[2],eM),eY(eC,eM),eY(e_,eC),eK(eN,e_,eC),eK(eH,eN,ew),eK(eH,eH,eM),eJ(eH,eH),eK(eH,eH,ew),eK(eH,eH,eM),eK(eH,eH,eM),eK(eb[0],eH,eM),eY(eV,eb[0]),eK(eV,eV,eM),eU(eV,ew)&&eK(eb[0],eb[0],eP),eY(eV,eb[0]),eK(eV,eV,eM),eU(eV,ew))?-1:(e$(eb[0])===em[31]>>7&&eG(eb[0],eS,eb[0]),eK(eb[3],eb[0],eb[1]),0)}em.Xx=tH,eV=function(eb,eH,eV){let ew=new Uint8Array(32),eC=[eT(),eT(),eT(),eT()],e_=[eT(),eT(),eT(),eT()];if(eV.length!==em.jQ)throw Error(`ed25519: signature must be ${em.jQ} bytes`);if(tV(e_,eb))return!1;let eS=new eM.SHA512;eS.update(eV.subarray(0,32)),eS.update(eb),eS.update(eH);let eE=eS.digest();return e7(eE),e4(eC,e_,eE),e3(e_,eV.subarray(32)),eQ(eC,e_),e6(ew,eC),!ej(eV,ew)},eV=function(eb){let em=[eT(),eT(),eT(),eT()];if(tV(em,eb))throw Error("Ed25519: invalid public key");let eH=eT(),eV=eT(),ew=em[1];eZ(eH,eE,ew),eG(eV,eE,ew),eX(eV,eV),eK(eH,eH,eV);let eM=new Uint8Array(32);return eF(eM,eH),eM},eV=function(eb){let em=(0,eM.hash)(eb.subarray(0,32));em[0]&=248,em[31]&=127,em[31]|=64;let eH=new Uint8Array(em.subarray(0,32));return(0,eC.wipe)(em),eH}},79984:function(eb,em){"use strict";function eH(eb){return void 0!==eb.saveState&&void 0!==eb.restoreState&&void 0!==eb.cleanSavedState}Object.defineProperty(em,"__esModule",{value:!0}),em.isSerializableHash=eH},512:function(eb,em,eH){"use strict";eV={value:!0};var eV,ew=eH(25629),eM=eH(17309),eC=function(){function eb(eb,em,eH,eV){void 0===eH&&(eH=new Uint8Array(0)),this._counter=new Uint8Array(1),this._hash=eb,this._info=eV;var eM=ew.hmac(this._hash,eH,em);this._hmac=new ew.HMAC(eb,eM),this._buffer=new Uint8Array(this._hmac.digestLength),this._bufpos=this._buffer.length}return eb.prototype._fillBuffer=function(){this._counter[0]++;var eb=this._counter[0];if(0===eb)throw Error("hkdf: cannot expand more");this._hmac.reset(),eb>1&&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},eb.prototype.expand=function(eb){for(var em=new Uint8Array(eb),eH=0;eHthis.blockSize?this._inner.update(em).finish(eH).clean():eH.set(em);for(var ew=0;ew>>16&65535,eV=65535&eb,ew=em>>>16&65535,eM=65535&em;return eV*eM+(eH*eM+eV*ew<<16>>>0)|0}function eV(eb,em){return eb+em|0}function ew(eb,em){return eb-em|0}function eM(eb,em){return eb<>>32-em}function eC(eb,em){return eb<<32-em|eb>>>em}function eT(eb){return"number"==typeof eb&&isFinite(eb)&&Math.floor(eb)===eb}Object.defineProperty(em,"__esModule",{value:!0}),em.mul=Math.imul||eH,em.add=eV,em.sub=ew,em.rotl=eM,em.rotr=eC,em.isInteger=Number.isInteger||eT,em.MAX_SAFE_INTEGER=9007199254740991,em.isSafeInteger=function(eb){return em.isInteger(eb)&&eb>=-em.MAX_SAFE_INTEGER&&eb<=em.MAX_SAFE_INTEGER}},63027:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0});var eV=eH(4153),ew=eH(17309);em.DIGEST_LENGTH=16;var eM=function(){function eb(eb){this.digestLength=em.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 eH=eb[0]|eb[1]<<8;this._r[0]=8191&eH;var eV=eb[2]|eb[3]<<8;this._r[1]=(eH>>>13|eV<<3)&8191;var ew=eb[4]|eb[5]<<8;this._r[2]=(eV>>>10|ew<<6)&7939;var eM=eb[6]|eb[7]<<8;this._r[3]=(ew>>>7|eM<<9)&8191;var eC=eb[8]|eb[9]<<8;this._r[4]=(eM>>>4|eC<<12)&255,this._r[5]=eC>>>1&8190;var eT=eb[10]|eb[11]<<8;this._r[6]=(eC>>>14|eT<<2)&8191;var e_=eb[12]|eb[13]<<8;this._r[7]=(eT>>>11|e_<<5)&8065;var eS=eb[14]|eb[15]<<8;this._r[8]=(e_>>>8|eS<<8)&8191,this._r[9]=eS>>>5&127,this._pad[0]=eb[16]|eb[17]<<8,this._pad[1]=eb[18]|eb[19]<<8,this._pad[2]=eb[20]|eb[21]<<8,this._pad[3]=eb[22]|eb[23]<<8,this._pad[4]=eb[24]|eb[25]<<8,this._pad[5]=eb[26]|eb[27]<<8,this._pad[6]=eb[28]|eb[29]<<8,this._pad[7]=eb[30]|eb[31]<<8}return eb.prototype._blocks=function(eb,em,eH){for(var eV=this._fin?0:2048,ew=this._h[0],eM=this._h[1],eC=this._h[2],eT=this._h[3],e_=this._h[4],eS=this._h[5],eE=this._h[6],eA=this._h[7],eN=this._h[8],eI=this._h[9],eD=this._r[0],eP=this._r[1],eO=this._r[2],eR=this._r[3],eB=this._r[4],eF=this._r[5],ej=this._r[6],eU=this._r[7],e$=this._r[8],eW=this._r[9];eH>=16;){var eZ,eG=eb[em+0]|eb[em+1]<<8;ew+=8191&eG;var eK=eb[em+2]|eb[em+3]<<8;eM+=(eG>>>13|eK<<3)&8191;var eY=eb[em+4]|eb[em+5]<<8;eC+=(eK>>>10|eY<<6)&8191;var eX=eb[em+6]|eb[em+7]<<8;eT+=(eY>>>7|eX<<9)&8191;var eJ=eb[em+8]|eb[em+9]<<8;e_+=(eX>>>4|eJ<<12)&8191,eS+=eJ>>>1&8191;var eQ=eb[em+10]|eb[em+11]<<8;eE+=(eJ>>>14|eQ<<2)&8191;var e0=eb[em+12]|eb[em+13]<<8;eA+=(eQ>>>11|e0<<5)&8191;var e6=eb[em+14]|eb[em+15]<<8;eN+=(e0>>>8|e6<<8)&8191,eI+=e6>>>5|eV;var e4=0;e4=(eZ=0+ew*eD+eM*(5*eW)+eC*(5*e$)+eT*(5*eU)+e_*(5*ej))>>>13,eZ&=8191,eZ+=eS*(5*eF)+eE*(5*eB)+eA*(5*eR)+eN*(5*eO)+eI*(5*eP),e4+=eZ>>>13,eZ&=8191;var e3=e4;e3+=ew*eP+eM*eD+eC*(5*eW)+eT*(5*e$)+e_*(5*eU),e4=e3>>>13,e3&=8191,e3+=eS*(5*ej)+eE*(5*eF)+eA*(5*eB)+eN*(5*eR)+eI*(5*eO),e4+=e3>>>13,e3&=8191;var e5=e4;e5+=ew*eO+eM*eP+eC*eD+eT*(5*eW)+e_*(5*e$),e4=e5>>>13,e5&=8191,e5+=eS*(5*eU)+eE*(5*ej)+eA*(5*eF)+eN*(5*eB)+eI*(5*eR),e4+=e5>>>13,e5&=8191;var e8=e4;e8+=ew*eR+eM*eO+eC*eP+eT*eD+e_*(5*eW),e4=e8>>>13,e8&=8191,e8+=eS*(5*e$)+eE*(5*eU)+eA*(5*ej)+eN*(5*eF)+eI*(5*eB),e4+=e8>>>13,e8&=8191;var e9=e4;e9+=ew*eB+eM*eR+eC*eO+eT*eP+e_*eD,e4=e9>>>13,e9&=8191,e9+=eS*(5*eW)+eE*(5*e$)+eA*(5*eU)+eN*(5*ej)+eI*(5*eF),e4+=e9>>>13,e9&=8191;var e7=e4;e7+=ew*eF+eM*eB+eC*eR+eT*eO+e_*eP,e4=e7>>>13,e7&=8191,e7+=eS*eD+eE*(5*eW)+eA*(5*e$)+eN*(5*eU)+eI*(5*ej),e4+=e7>>>13,e7&=8191;var tH=e4;tH+=ew*ej+eM*eF+eC*eB+eT*eR+e_*eO,e4=tH>>>13,tH&=8191,tH+=eS*eP+eE*eD+eA*(5*eW)+eN*(5*e$)+eI*(5*eU),e4+=tH>>>13,tH&=8191;var tV=e4;tV+=ew*eU+eM*ej+eC*eF+eT*eB+e_*eR,e4=tV>>>13,tV&=8191,tV+=eS*eO+eE*eP+eA*eD+eN*(5*eW)+eI*(5*e$),e4+=tV>>>13,tV&=8191;var tw=e4;tw+=ew*e$+eM*eU+eC*ej+eT*eF+e_*eB,e4=tw>>>13,tw&=8191,tw+=eS*eR+eE*eO+eA*eP+eN*eD+eI*(5*eW),e4+=tw>>>13,tw&=8191;var tC=e4;tC+=ew*eW+eM*e$+eC*eU+eT*ej+e_*eF,e4=tC>>>13,tC&=8191,tC+=eS*eB+eE*eR+eA*eO+eN*eP+eI*eD,e4+=tC>>>13,tC&=8191,eZ=8191&(e4=(e4=(e4<<2)+e4|0)+eZ|0),e4>>>=13,e3+=e4,ew=eZ,eM=e3,eC=e5,eT=e8,e_=e9,eS=e7,eE=tH,eA=tV,eN=tw,eI=tC,em+=16,eH-=16}this._h[0]=ew,this._h[1]=eM,this._h[2]=eC,this._h[3]=eT,this._h[4]=e_,this._h[5]=eS,this._h[6]=eE,this._h[7]=eA,this._h[8]=eN,this._h[9]=eI},eb.prototype.finish=function(eb,em){void 0===em&&(em=0);var eH,eV,ew,eM,eC=new Uint16Array(10);if(this._leftover){for(eM=this._leftover,this._buffer[eM++]=1;eM<16;eM++)this._buffer[eM]=0;this._fin=1,this._blocks(this._buffer,0,16)}for(eH=this._h[1]>>>13,this._h[1]&=8191,eM=2;eM<10;eM++)this._h[eM]+=eH,eH=this._h[eM]>>>13,this._h[eM]&=8191;for(this._h[0]+=5*eH,eH=this._h[0]>>>13,this._h[0]&=8191,this._h[1]+=eH,eH=this._h[1]>>>13,this._h[1]&=8191,this._h[2]+=eH,eC[0]=this._h[0]+5,eH=eC[0]>>>13,eC[0]&=8191,eM=1;eM<10;eM++)eC[eM]=this._h[eM]+eH,eH=eC[eM]>>>13,eC[eM]&=8191;for(eC[9]-=8192,eV=(1^eH)-1,eM=0;eM<10;eM++)eC[eM]&=eV;for(eM=0,eV=~eV;eM<10;eM++)this._h[eM]=this._h[eM]&eV|eC[eM];for(eM=1,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,ew=this._h[0]+this._pad[0],this._h[0]=65535&ew;eM<8;eM++)ew=(this._h[eM]+this._pad[eM]|0)+(ew>>>16)|0,this._h[eM]=65535&ew;return eb[em+0]=this._h[0]>>>0,eb[em+1]=this._h[0]>>>8,eb[em+2]=this._h[1]>>>0,eb[em+3]=this._h[1]>>>8,eb[em+4]=this._h[2]>>>0,eb[em+5]=this._h[2]>>>8,eb[em+6]=this._h[3]>>>0,eb[em+7]=this._h[3]>>>8,eb[em+8]=this._h[4]>>>0,eb[em+9]=this._h[4]>>>8,eb[em+10]=this._h[5]>>>0,eb[em+11]=this._h[5]>>>8,eb[em+12]=this._h[6]>>>0,eb[em+13]=this._h[6]>>>8,eb[em+14]=this._h[7]>>>0,eb[em+15]=this._h[7]>>>8,this._finished=!0,this},eb.prototype.update=function(eb){var em,eH=0,eV=eb.length;if(this._leftover){(em=16-this._leftover)>eV&&(em=eV);for(var ew=0;ew=16&&(em=eV-eV%16,this._blocks(eb,eH,em),eH+=em,eV-=em),eV){for(var ew=0;ew256)throw Error("randomString charset is too long");let ew="",eT=eH.length,eS=256-256%eT;for(;eb>0;){let em=eC(Math.ceil(256*eb/eS),eV);for(let eV=0;eV0;eV++){let eM=em[eV];eM0){for(;this._bufferLength0;)this._buffer[this._bufferLength++]=eb[eH++],em--;this._bufferLength===this.blockSize&&(e_(this._temp,this._state,this._buffer,0,this.blockSize),this._bufferLength=0)}for(em>=this.blockSize&&(eH=e_(this._temp,this._state,eb,eH,em),em%=this.blockSize);em>0;)this._buffer[this._bufferLength++]=eb[eH++],em--;return this},eb.prototype.finish=function(eb){if(!this._finished){var em=this._bytesHashed,eH=this._bufferLength,eV=em/536870912|0,eM=em<<3,eC=em%64<56?64:128;this._buffer[eH]=128;for(var eT=eH+1;eT0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}},eb.prototype.restoreState=function(eb){return this._state.set(eb.state),this._bufferLength=eb.bufferLength,eb.buffer&&this._buffer.set(eb.buffer),this._bytesHashed=eb.bytesHashed,this._finished=!1,this},eb.prototype.cleanSavedState=function(eb){eM.wipe(eb.state),eb.buffer&&eM.wipe(eb.buffer),eb.bufferLength=0,eb.bytesHashed=0},eb}();em.mE=eC;var eT=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 e_(eb,em,eH,eV,eM){for(;eM>=64;){for(var eC=em[0],e_=em[1],eS=em[2],eE=em[3],eA=em[4],eN=em[5],eI=em[6],eD=em[7],eP=0;eP<16;eP++){var eO=eV+4*eP;eb[eP]=ew.readUint32BE(eH,eO)}for(var eP=16;eP<64;eP++){var eR=eb[eP-2],eB=(eR>>>17|eR<<15)^(eR>>>19|eR<<13)^eR>>>10,eF=((eR=eb[eP-15])>>>7|eR<<25)^(eR>>>18|eR<<14)^eR>>>3;eb[eP]=(eB+eb[eP-7]|0)+(eF+eb[eP-16]|0)}for(var eP=0;eP<64;eP++){var eB=(((eA>>>6|eA<<26)^(eA>>>11|eA<<21)^(eA>>>25|eA<<7))+(eA&eN^~eA&eI)|0)+(eD+(eT[eP]+eb[eP]|0)|0)|0,eF=((eC>>>2|eC<<30)^(eC>>>13|eC<<19)^(eC>>>22|eC<<10))+(eC&e_^eC&eS^e_&eS)|0;eD=eI,eI=eN,eN=eA,eA=eE+eB|0,eE=eS,eS=e_,e_=eC,eC=eB+eF|0}em[0]+=eC,em[1]+=e_,em[2]+=eS,em[3]+=eE,em[4]+=eA,em[5]+=eN,em[6]+=eI,em[7]+=eD,eV+=64,eM-=64}return eV}function eS(eb){var em=new eC;em.update(eb);var eH=em.digest();return em.clean(),eH}em.vp=eS},93350:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0});var eV=eH(98099),ew=eH(17309);em.DIGEST_LENGTH=64,em.BLOCK_SIZE=128;var eM=function(){function eb(){this.digestLength=em.DIGEST_LENGTH,this.blockSize=em.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 eb.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},eb.prototype.reset=function(){return this._initState(),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this},eb.prototype.clean=function(){ew.wipe(this._buffer),ew.wipe(this._tempHi),ew.wipe(this._tempLo),this.reset()},eb.prototype.update=function(eb,eH){if(void 0===eH&&(eH=eb.length),this._finished)throw Error("SHA512: can't update because hash was finished.");var eV=0;if(this._bytesHashed+=eH,this._bufferLength>0){for(;this._bufferLength0;)this._buffer[this._bufferLength++]=eb[eV++],eH--;this._bufferLength===this.blockSize&&(eT(this._tempHi,this._tempLo,this._stateHi,this._stateLo,this._buffer,0,this.blockSize),this._bufferLength=0)}for(eH>=this.blockSize&&(eV=eT(this._tempHi,this._tempLo,this._stateHi,this._stateLo,eb,eV,eH),eH%=this.blockSize);eH>0;)this._buffer[this._bufferLength++]=eb[eV++],eH--;return this},eb.prototype.finish=function(eb){if(!this._finished){var em=this._bytesHashed,eH=this._bufferLength,ew=em/536870912|0,eM=em<<3,eC=em%128<112?128:256;this._buffer[eH]=128;for(var e_=eH+1;e_0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}},eb.prototype.restoreState=function(eb){return this._stateHi.set(eb.stateHi),this._stateLo.set(eb.stateLo),this._bufferLength=eb.bufferLength,eb.buffer&&this._buffer.set(eb.buffer),this._bytesHashed=eb.bytesHashed,this._finished=!1,this},eb.prototype.cleanSavedState=function(eb){ew.wipe(eb.stateHi),ew.wipe(eb.stateLo),eb.buffer&&ew.wipe(eb.buffer),eb.bufferLength=0,eb.bytesHashed=0},eb}();em.SHA512=eM;var eC=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 eT(eb,em,eH,ew,eM,eT,e_){for(var eS,eE,eA,eN,eI,eD,eP,eO,eR=eH[0],eB=eH[1],eF=eH[2],ej=eH[3],eU=eH[4],e$=eH[5],eW=eH[6],eZ=eH[7],eG=ew[0],eK=ew[1],eY=ew[2],eX=ew[3],eJ=ew[4],eQ=ew[5],e0=ew[6],e6=ew[7];e_>=128;){for(var e4=0;e4<16;e4++){var e3=8*e4+eT;eb[e4]=eV.readUint32BE(eM,e3),em[e4]=eV.readUint32BE(eM,e3+4)}for(var e4=0;e4<80;e4++){var e5=eR,e8=eB,e9=eF,e7=ej,tH=eU,tV=e$,tw=eW,tC=eZ,tT=eG,t_=eK,tS=eY,tE=eX,tA=eJ,tN=eQ,tI=e0,tD=e6;if(eS=eZ,eI=65535&(eE=e6),eD=eE>>>16,eP=65535&eS,eO=eS>>>16,eS=(eU>>>14|eJ<<18)^(eU>>>18|eJ<<14)^(eJ>>>9|eU<<23),eI+=65535&(eE=(eJ>>>14|eU<<18)^(eJ>>>18|eU<<14)^(eU>>>9|eJ<<23)),eD+=eE>>>16,eP+=65535&eS,eO+=eS>>>16,eS=eU&e$^~eU&eW,eI+=65535&(eE=eJ&eQ^~eJ&e0),eD+=eE>>>16,eP+=65535&eS,eO+=eS>>>16,eS=eC[2*e4],eI+=65535&(eE=eC[2*e4+1]),eD+=eE>>>16,eP+=65535&eS,eO+=eS>>>16,eS=eb[e4%16],eI+=65535&(eE=em[e4%16]),eD+=eE>>>16,eP+=65535&eS,eO+=eS>>>16,eD+=eI>>>16,eP+=eD>>>16,eO+=eP>>>16,eA=65535&eP|eO<<16,eN=65535&eI|eD<<16,eS=eA,eI=65535&(eE=eN),eD=eE>>>16,eP=65535&eS,eO=eS>>>16,eS=(eR>>>28|eG<<4)^(eG>>>2|eR<<30)^(eG>>>7|eR<<25),eI+=65535&(eE=(eG>>>28|eR<<4)^(eR>>>2|eG<<30)^(eR>>>7|eG<<25)),eD+=eE>>>16,eP+=65535&eS,eO+=eS>>>16,eS=eR&eB^eR&eF^eB&eF,eI+=65535&(eE=eG&eK^eG&eY^eK&eY),eD+=eE>>>16,eP+=65535&eS,eO+=eS>>>16,eD+=eI>>>16,eP+=eD>>>16,eO+=eP>>>16,tC=65535&eP|eO<<16,tD=65535&eI|eD<<16,eS=e7,eI=65535&(eE=tE),eD=eE>>>16,eP=65535&eS,eO=eS>>>16,eS=eA,eI+=65535&(eE=eN),eD+=eE>>>16,eP+=65535&eS,eO+=eS>>>16,eD+=eI>>>16,eP+=eD>>>16,eO+=eP>>>16,e7=65535&eP|eO<<16,tE=65535&eI|eD<<16,eB=e5,eF=e8,ej=e9,eU=e7,e$=tH,eW=tV,eZ=tw,eR=tC,eK=tT,eY=t_,eX=tS,eJ=tE,eQ=tA,e0=tN,e6=tI,eG=tD,e4%16==15)for(var e3=0;e3<16;e3++)eS=eb[e3],eI=65535&(eE=em[e3]),eD=eE>>>16,eP=65535&eS,eO=eS>>>16,eS=eb[(e3+9)%16],eI+=65535&(eE=em[(e3+9)%16]),eD+=eE>>>16,eP+=65535&eS,eO+=eS>>>16,eS=((eA=eb[(e3+1)%16])>>>1|(eN=em[(e3+1)%16])<<31)^(eA>>>8|eN<<24)^eA>>>7,eI+=65535&(eE=(eN>>>1|eA<<31)^(eN>>>8|eA<<24)^(eN>>>7|eA<<25)),eD+=eE>>>16,eP+=65535&eS,eO+=eS>>>16,eS=((eA=eb[(e3+14)%16])>>>19|(eN=em[(e3+14)%16])<<13)^(eN>>>29|eA<<3)^eA>>>6,eI+=65535&(eE=(eN>>>19|eA<<13)^(eA>>>29|eN<<3)^(eN>>>6|eA<<26)),eD+=eE>>>16,eP+=65535&eS,eO+=eS>>>16,eD+=eI>>>16,eP+=eD>>>16,eO+=eP>>>16,eb[e3]=65535&eP|eO<<16,em[e3]=65535&eI|eD<<16}eS=eR,eI=65535&(eE=eG),eD=eE>>>16,eP=65535&eS,eO=eS>>>16,eS=eH[0],eI+=65535&(eE=ew[0]),eD+=eE>>>16,eP+=65535&eS,eO+=eS>>>16,eD+=eI>>>16,eP+=eD>>>16,eO+=eP>>>16,eH[0]=eR=65535&eP|eO<<16,ew[0]=eG=65535&eI|eD<<16,eS=eB,eI=65535&(eE=eK),eD=eE>>>16,eP=65535&eS,eO=eS>>>16,eS=eH[1],eI+=65535&(eE=ew[1]),eD+=eE>>>16,eP+=65535&eS,eO+=eS>>>16,eD+=eI>>>16,eP+=eD>>>16,eO+=eP>>>16,eH[1]=eB=65535&eP|eO<<16,ew[1]=eK=65535&eI|eD<<16,eS=eF,eI=65535&(eE=eY),eD=eE>>>16,eP=65535&eS,eO=eS>>>16,eS=eH[2],eI+=65535&(eE=ew[2]),eD+=eE>>>16,eP+=65535&eS,eO+=eS>>>16,eD+=eI>>>16,eP+=eD>>>16,eO+=eP>>>16,eH[2]=eF=65535&eP|eO<<16,ew[2]=eY=65535&eI|eD<<16,eS=ej,eI=65535&(eE=eX),eD=eE>>>16,eP=65535&eS,eO=eS>>>16,eS=eH[3],eI+=65535&(eE=ew[3]),eD+=eE>>>16,eP+=65535&eS,eO+=eS>>>16,eD+=eI>>>16,eP+=eD>>>16,eO+=eP>>>16,eH[3]=ej=65535&eP|eO<<16,ew[3]=eX=65535&eI|eD<<16,eS=eU,eI=65535&(eE=eJ),eD=eE>>>16,eP=65535&eS,eO=eS>>>16,eS=eH[4],eI+=65535&(eE=ew[4]),eD+=eE>>>16,eP+=65535&eS,eO+=eS>>>16,eD+=eI>>>16,eP+=eD>>>16,eO+=eP>>>16,eH[4]=eU=65535&eP|eO<<16,ew[4]=eJ=65535&eI|eD<<16,eS=e$,eI=65535&(eE=eQ),eD=eE>>>16,eP=65535&eS,eO=eS>>>16,eS=eH[5],eI+=65535&(eE=ew[5]),eD+=eE>>>16,eP+=65535&eS,eO+=eS>>>16,eD+=eI>>>16,eP+=eD>>>16,eO+=eP>>>16,eH[5]=e$=65535&eP|eO<<16,ew[5]=eQ=65535&eI|eD<<16,eS=eW,eI=65535&(eE=e0),eD=eE>>>16,eP=65535&eS,eO=eS>>>16,eS=eH[6],eI+=65535&(eE=ew[6]),eD+=eE>>>16,eP+=65535&eS,eO+=eS>>>16,eD+=eI>>>16,eP+=eD>>>16,eO+=eP>>>16,eH[6]=eW=65535&eP|eO<<16,ew[6]=e0=65535&eI|eD<<16,eS=eZ,eI=65535&(eE=e6),eD=eE>>>16,eP=65535&eS,eO=eS>>>16,eS=eH[7],eI+=65535&(eE=ew[7]),eD+=eE>>>16,eP+=65535&eS,eO+=eS>>>16,eD+=eI>>>16,eP+=eD>>>16,eO+=eP>>>16,eH[7]=eZ=65535&eP|eO<<16,ew[7]=e6=65535&eI|eD<<16,eT+=128,e_-=128}return eT}function e_(eb){var em=new eM;em.update(eb);var eH=em.digest();return em.clean(),eH}em.hash=e_},17309:function(eb,em){"use strict";function eH(eb){for(var em=0;em>16&1),eH[eb-1]&=65535;eH[15]=eV[15]-32767-(eH[14]>>16&1);let eb=eH[15]>>16&1;eH[14]&=65535,eE(eV,eH,1-eb)}for(let em=0;em<16;em++)eb[2*em]=255&eV[em],eb[2*em+1]=eV[em]>>8}function eN(eb,em){for(let eH=0;eH<16;eH++)eb[eH]=em[2*eH]+(em[2*eH+1]<<8);eb[15]&=32767}function eI(eb,em,eH){for(let eV=0;eV<16;eV++)eb[eV]=em[eV]+eH[eV]}function eD(eb,em,eH){for(let eV=0;eV<16;eV++)eb[eV]=em[eV]-eH[eV]}function eP(eb,em,eH){let eV,ew,eM=0,eC=0,eT=0,e_=0,eS=0,eE=0,eA=0,eN=0,eI=0,eD=0,eP=0,eO=0,eR=0,eB=0,eF=0,ej=0,eU=0,e$=0,eW=0,eZ=0,eG=0,eK=0,eY=0,eX=0,eJ=0,eQ=0,e0=0,e6=0,e4=0,e3=0,e5=0,e8=eH[0],e9=eH[1],e7=eH[2],tH=eH[3],tV=eH[4],tw=eH[5],tC=eH[6],tT=eH[7],t_=eH[8],tS=eH[9],tE=eH[10],tA=eH[11],tN=eH[12],tI=eH[13],tD=eH[14],tP=eH[15];eM+=(eV=em[0])*e8,eC+=eV*e9,eT+=eV*e7,e_+=eV*tH,eS+=eV*tV,eE+=eV*tw,eA+=eV*tC,eN+=eV*tT,eI+=eV*t_,eD+=eV*tS,eP+=eV*tE,eO+=eV*tA,eR+=eV*tN,eB+=eV*tI,eF+=eV*tD,ej+=eV*tP,eC+=(eV=em[1])*e8,eT+=eV*e9,e_+=eV*e7,eS+=eV*tH,eE+=eV*tV,eA+=eV*tw,eN+=eV*tC,eI+=eV*tT,eD+=eV*t_,eP+=eV*tS,eO+=eV*tE,eR+=eV*tA,eB+=eV*tN,eF+=eV*tI,ej+=eV*tD,eU+=eV*tP,eT+=(eV=em[2])*e8,e_+=eV*e9,eS+=eV*e7,eE+=eV*tH,eA+=eV*tV,eN+=eV*tw,eI+=eV*tC,eD+=eV*tT,eP+=eV*t_,eO+=eV*tS,eR+=eV*tE,eB+=eV*tA,eF+=eV*tN,ej+=eV*tI,eU+=eV*tD,e$+=eV*tP,e_+=(eV=em[3])*e8,eS+=eV*e9,eE+=eV*e7,eA+=eV*tH,eN+=eV*tV,eI+=eV*tw,eD+=eV*tC,eP+=eV*tT,eO+=eV*t_,eR+=eV*tS,eB+=eV*tE,eF+=eV*tA,ej+=eV*tN,eU+=eV*tI,e$+=eV*tD,eW+=eV*tP,eS+=(eV=em[4])*e8,eE+=eV*e9,eA+=eV*e7,eN+=eV*tH,eI+=eV*tV,eD+=eV*tw,eP+=eV*tC,eO+=eV*tT,eR+=eV*t_,eB+=eV*tS,eF+=eV*tE,ej+=eV*tA,eU+=eV*tN,e$+=eV*tI,eW+=eV*tD,eZ+=eV*tP,eE+=(eV=em[5])*e8,eA+=eV*e9,eN+=eV*e7,eI+=eV*tH,eD+=eV*tV,eP+=eV*tw,eO+=eV*tC,eR+=eV*tT,eB+=eV*t_,eF+=eV*tS,ej+=eV*tE,eU+=eV*tA,e$+=eV*tN,eW+=eV*tI,eZ+=eV*tD,eG+=eV*tP,eA+=(eV=em[6])*e8,eN+=eV*e9,eI+=eV*e7,eD+=eV*tH,eP+=eV*tV,eO+=eV*tw,eR+=eV*tC,eB+=eV*tT,eF+=eV*t_,ej+=eV*tS,eU+=eV*tE,e$+=eV*tA,eW+=eV*tN,eZ+=eV*tI,eG+=eV*tD,eK+=eV*tP,eN+=(eV=em[7])*e8,eI+=eV*e9,eD+=eV*e7,eP+=eV*tH,eO+=eV*tV,eR+=eV*tw,eB+=eV*tC,eF+=eV*tT,ej+=eV*t_,eU+=eV*tS,e$+=eV*tE,eW+=eV*tA,eZ+=eV*tN,eG+=eV*tI,eK+=eV*tD,eY+=eV*tP,eI+=(eV=em[8])*e8,eD+=eV*e9,eP+=eV*e7,eO+=eV*tH,eR+=eV*tV,eB+=eV*tw,eF+=eV*tC,ej+=eV*tT,eU+=eV*t_,e$+=eV*tS,eW+=eV*tE,eZ+=eV*tA,eG+=eV*tN,eK+=eV*tI,eY+=eV*tD,eX+=eV*tP,eD+=(eV=em[9])*e8,eP+=eV*e9,eO+=eV*e7,eR+=eV*tH,eB+=eV*tV,eF+=eV*tw,ej+=eV*tC,eU+=eV*tT,e$+=eV*t_,eW+=eV*tS,eZ+=eV*tE,eG+=eV*tA,eK+=eV*tN,eY+=eV*tI,eX+=eV*tD,eJ+=eV*tP,eP+=(eV=em[10])*e8,eO+=eV*e9,eR+=eV*e7,eB+=eV*tH,eF+=eV*tV,ej+=eV*tw,eU+=eV*tC,e$+=eV*tT,eW+=eV*t_,eZ+=eV*tS,eG+=eV*tE,eK+=eV*tA,eY+=eV*tN,eX+=eV*tI,eJ+=eV*tD,eQ+=eV*tP,eO+=(eV=em[11])*e8,eR+=eV*e9,eB+=eV*e7,eF+=eV*tH,ej+=eV*tV,eU+=eV*tw,e$+=eV*tC,eW+=eV*tT,eZ+=eV*t_,eG+=eV*tS,eK+=eV*tE,eY+=eV*tA,eX+=eV*tN,eJ+=eV*tI,eQ+=eV*tD,e0+=eV*tP,eR+=(eV=em[12])*e8,eB+=eV*e9,eF+=eV*e7,ej+=eV*tH,eU+=eV*tV,e$+=eV*tw,eW+=eV*tC,eZ+=eV*tT,eG+=eV*t_,eK+=eV*tS,eY+=eV*tE,eX+=eV*tA,eJ+=eV*tN,eQ+=eV*tI,e0+=eV*tD,e6+=eV*tP,eB+=(eV=em[13])*e8,eF+=eV*e9,ej+=eV*e7,eU+=eV*tH,e$+=eV*tV,eW+=eV*tw,eZ+=eV*tC,eG+=eV*tT,eK+=eV*t_,eY+=eV*tS,eX+=eV*tE,eJ+=eV*tA,eQ+=eV*tN,e0+=eV*tI,e6+=eV*tD,e4+=eV*tP,eF+=(eV=em[14])*e8,ej+=eV*e9,eU+=eV*e7,e$+=eV*tH,eW+=eV*tV,eZ+=eV*tw,eG+=eV*tC,eK+=eV*tT,eY+=eV*t_,eX+=eV*tS,eJ+=eV*tE,eQ+=eV*tA,e0+=eV*tN,e6+=eV*tI,e4+=eV*tD,e3+=eV*tP,ej+=(eV=em[15])*e8,eU+=eV*e9,e$+=eV*e7,eW+=eV*tH,eZ+=eV*tV,eG+=eV*tw,eK+=eV*tC,eY+=eV*tT,eX+=eV*t_,eJ+=eV*tS,eQ+=eV*tE,e0+=eV*tA,e6+=eV*tN,e4+=eV*tI,e3+=eV*tD,e5+=eV*tP,eM+=38*eU,eC+=38*e$,eT+=38*eW,e_+=38*eZ,eS+=38*eG,eE+=38*eK,eA+=38*eY,eN+=38*eX,eI+=38*eJ,eD+=38*eQ,eP+=38*e0,eO+=38*e6,eR+=38*e4,eB+=38*e3,eF+=38*e5,ew=Math.floor((eV=eM+(ew=1)+65535)/65536),eM=eV-65536*ew,ew=Math.floor((eV=eC+ew+65535)/65536),eC=eV-65536*ew,ew=Math.floor((eV=eT+ew+65535)/65536),eT=eV-65536*ew,ew=Math.floor((eV=e_+ew+65535)/65536),e_=eV-65536*ew,ew=Math.floor((eV=eS+ew+65535)/65536),eS=eV-65536*ew,ew=Math.floor((eV=eE+ew+65535)/65536),eE=eV-65536*ew,ew=Math.floor((eV=eA+ew+65535)/65536),eA=eV-65536*ew,ew=Math.floor((eV=eN+ew+65535)/65536),eN=eV-65536*ew,ew=Math.floor((eV=eI+ew+65535)/65536),eI=eV-65536*ew,ew=Math.floor((eV=eD+ew+65535)/65536),eD=eV-65536*ew,ew=Math.floor((eV=eP+ew+65535)/65536),eP=eV-65536*ew,ew=Math.floor((eV=eO+ew+65535)/65536),eO=eV-65536*ew,ew=Math.floor((eV=eR+ew+65535)/65536),eR=eV-65536*ew,ew=Math.floor((eV=eB+ew+65535)/65536),eB=eV-65536*ew,ew=Math.floor((eV=eF+ew+65535)/65536),eF=eV-65536*ew,ew=Math.floor((eV=ej+ew+65535)/65536),ej=eV-65536*ew,eM+=ew-1+37*(ew-1),ew=Math.floor((eV=eM+(ew=1)+65535)/65536),eM=eV-65536*ew,ew=Math.floor((eV=eC+ew+65535)/65536),eC=eV-65536*ew,ew=Math.floor((eV=eT+ew+65535)/65536),eT=eV-65536*ew,ew=Math.floor((eV=e_+ew+65535)/65536),e_=eV-65536*ew,ew=Math.floor((eV=eS+ew+65535)/65536),eS=eV-65536*ew,ew=Math.floor((eV=eE+ew+65535)/65536),eE=eV-65536*ew,ew=Math.floor((eV=eA+ew+65535)/65536),eA=eV-65536*ew,ew=Math.floor((eV=eN+ew+65535)/65536),eN=eV-65536*ew,ew=Math.floor((eV=eI+ew+65535)/65536),eI=eV-65536*ew,ew=Math.floor((eV=eD+ew+65535)/65536),eD=eV-65536*ew,ew=Math.floor((eV=eP+ew+65535)/65536),eP=eV-65536*ew,ew=Math.floor((eV=eO+ew+65535)/65536),eO=eV-65536*ew,ew=Math.floor((eV=eR+ew+65535)/65536),eR=eV-65536*ew,ew=Math.floor((eV=eB+ew+65535)/65536),eB=eV-65536*ew,ew=Math.floor((eV=eF+ew+65535)/65536),eF=eV-65536*ew,ew=Math.floor((eV=ej+ew+65535)/65536),ej=eV-65536*ew,eM+=ew-1+37*(ew-1),eb[0]=eM,eb[1]=eC,eb[2]=eT,eb[3]=e_,eb[4]=eS,eb[5]=eE,eb[6]=eA,eb[7]=eN,eb[8]=eI,eb[9]=eD,eb[10]=eP,eb[11]=eO,eb[12]=eR,eb[13]=eB,eb[14]=eF,eb[15]=ej}function eO(eb,em){eP(eb,em,em)}function eR(eb,em){let eH=eC();for(let eb=0;eb<16;eb++)eH[eb]=em[eb];for(let eb=253;eb>=0;eb--)eO(eH,eH),2!==eb&&4!==eb&&eP(eH,eH,em);for(let em=0;em<16;em++)eb[em]=eH[em]}function eB(eb,em){let eH=new Uint8Array(32),eV=new Float64Array(80),ew=eC(),eM=eC(),eT=eC(),eS=eC(),eB=eC(),eF=eC();for(let em=0;em<31;em++)eH[em]=eb[em];eH[31]=127&eb[31]|64,eH[0]&=248,eN(eV,em);for(let eb=0;eb<16;eb++)eM[eb]=eV[eb];ew[0]=eS[0]=1;for(let eb=254;eb>=0;--eb){let em=eH[eb>>>3]>>>(7&eb)&1;eE(ew,eM,em),eE(eT,eS,em),eI(eB,ew,eT),eD(ew,ew,eT),eI(eT,eM,eS),eD(eM,eM,eS),eO(eS,eB),eO(eF,ew),eP(ew,eT,ew),eP(eT,eM,eB),eI(eB,ew,eT),eD(ew,ew,eT),eO(eM,ew),eD(eT,eS,eF),eP(ew,eT,e_),eI(ew,ew,eS),eP(eT,eT,ew),eP(ew,eS,eF),eP(eS,eM,eV),eO(eM,eB),eE(ew,eM,em),eE(eT,eS,em)}for(let eb=0;eb<16;eb++)eV[eb+16]=ew[eb],eV[eb+32]=eT[eb],eV[eb+48]=eM[eb],eV[eb+64]=eS[eb];let ej=eV.subarray(32),eU=eV.subarray(16);eR(ej,ej),eP(eU,eU,ej);let e$=new Uint8Array(32);return eA(e$,eU),e$}function eF(eb){return eB(eb,eT)}function ej(eb){if(eb.length!==em.KS)throw Error(`x25519: seed must be ${em.KS} bytes`);let eH=new Uint8Array(eb),eV=eF(eH);return{publicKey:eV,secretKey:eH}}function eU(eb){let em=(0,ew.randomBytes)(32,eb),eH=ej(em);return(0,eM.wipe)(em),eH}function e$(eb,eH,eV=!1){if(eb.length!==em.kz)throw Error("X25519: incorrect secret key length");if(eH.length!==em.kz)throw Error("X25519: incorrect public key length");let ew=eB(eb,eH);if(eV){let eb=0;for(let em=0;emthis.span)throw RangeError("indeterminate span");return this.span}replicate(eb){let em=Object.create(this.constructor.prototype);return Object.assign(em,this),em.property=eb,em}fromArray(eb){}}function eS(eb,em){return em.property?eb+"["+em.property+"]":eb}eM=eE,eM=eS,eM=function(eb,em){if("function"!=typeof eb)throw TypeError("Class must be constructor");if(Object.prototype.hasOwnProperty.call(eb,"layout_"))throw Error("Class is already bound to a layout");if(!(em&&em instanceof eE))throw TypeError("layout must be a Layout");if(Object.prototype.hasOwnProperty.call(em,"boundConstructor_"))throw Error("layout is already bound to a constructor");eb.layout_=em,em.boundConstructor_=eb,em.makeDestinationObject=()=>new eb,Object.defineProperty(eb.prototype,"encode",{value(eb,ew){return em.encode(this,eb,ew)},writable:!0}),Object.defineProperty(eb,"decode",{value:(eb,ew)=>em.decode(eb,ew),writable:!0})};class eA extends eE{isCount(){throw Error("ExternalLayout is abstract")}}eM=eA;class eN extends eA{constructor(eb=1,em){if(!Number.isInteger(eb)||0>=eb)throw TypeError("elementSpan must be a (positive) integer");super(-1,em),this.elementSpan=eb}isCount(){return!0}decode(eb,em=0){eT(eb);let ew=eb.length-em;return Math.floor(ew/this.elementSpan)}encode(eb,em,ew){return 0}}eM=eN;class eI extends eA{constructor(eb,em=0,ew){if(!(eb instanceof eE))throw TypeError("layout must be a Layout");if(!Number.isInteger(em))throw TypeError("offset must be integer or undefined");super(eb.span,ew||eb.property),this.layout=eb,this.offset=em}isCount(){return this.layout instanceof eD||this.layout instanceof eO}decode(eb,em=0){return this.layout.decode(eb,em+this.offset)}encode(eb,em,ew=0){return this.layout.encode(eb,em,ew+this.offset)}}eM=eI;class eD extends eE{constructor(eb,em){if(super(eb,em),6eb+eM.encode(eC,em,ew+eb),0);return this.count instanceof eA&&this.count.encode(eb.length,em,ew),eC}}eM=eY;class eJ extends eE{constructor(eb,em,ew){if(!(Array.isArray(eb)&&eb.reduce((eb,em)=>eb&&em instanceof eE,!0)))throw TypeError("fields must be array of Layout instances");for(let eM of("boolean"==typeof em&&void 0===ew&&(ew=em,em=void 0),eb))if(0>eM.span&&void 0===eM.property)throw Error("fields cannot contain unnamed variable-length layout");let eM=-1;try{eM=eb.reduce((eb,em)=>eb+em.getSpan(),0)}catch(eb){}super(eM,em),this.fields=eb,this.decodePrefixes=!!ew}getSpan(eb,em=0){if(0<=this.span)return this.span;let ew=0;try{ew=this.fields.reduce((ew,eM)=>{let eC=eM.getSpan(eb,em);return em+=eC,ew+eC},0)}catch(eb){throw RangeError("indeterminate span")}return ew}decode(eb,em=0){eT(eb);let ew=this.makeDestinationObject();for(let eM of this.fields)if(void 0!==eM.property&&(ew[eM.property]=eM.decode(eb,em)),em+=eM.getSpan(eb,em),this.decodePrefixes&&eb.length===em)break;return ew}encode(eb,em,ew=0){let eM=ew,eC=0,eT=0;for(let eM of this.fields){let e_=eM.span;if(eT=0e_&&(e_=eM.getSpan(em,ew)))}eC=ew,ew+=e_}return eC+eT-eM}fromArray(eb){let em=this.makeDestinationObject();for(let ew of this.fields)void 0!==ew.property&&0ew.span?em=-1:0<=em&&(em+=ew.span)}}}eM=eJ;class eX{constructor(eb){this.property=eb}decode(eb,em){throw Error("UnionDiscriminator is abstract")}encode(eb,em,ew){throw Error("UnionDiscriminator is abstract")}}eM=eX;class eQ extends eX{constructor(eb,em){if(!(eb instanceof eA&&eb.isCount()))throw TypeError("layout must be an unsigned integer ExternalLayout");super(em||eb.property||"variant"),this.layout=eb}decode(eb,em){return this.layout.decode(eb,em)}encode(eb,em,ew){return this.layout.encode(eb,em,ew)}}eM=eQ;class e0 extends eE{constructor(eb,em,ew){let eM;if(eb instanceof eD||eb instanceof eO)eM=new eQ(new eI(eb));else if(eb instanceof eA&&eb.isCount())eM=new eQ(eb);else if(eb instanceof eX)eM=eb;else throw TypeError("discr must be a UnionDiscriminator or an unsigned integer layout");if(void 0===em&&(em=null),!(null===em||em instanceof eE))throw TypeError("defaultLayout must be null or a Layout");if(null!==em){if(0>em.span)throw Error("defaultLayout must have constant span");void 0===em.property&&(em=em.replicate("content"))}let eC=-1;em&&0<=(eC=em.span)&&(eb instanceof eD||eb instanceof eO)&&(eC+=eM.layout.span),super(eC,ew),this.discriminator=eM,this.usesPrefixDiscriminator=eb instanceof eD||eb instanceof eO,this.defaultLayout=em,this.registry={};let eT=this.defaultGetSourceVariant.bind(this);this.getSourceVariant=function(eb){return eT(eb)},this.configGetSourceVariant=function(eb){eT=eb.bind(this)}}getSpan(eb,em=0){if(0<=this.span)return this.span;let ew=this.getVariant(eb,em);if(!ew)throw Error("unable to determine span for unrecognized variant");return ew.getSpan(eb,em)}defaultGetSourceVariant(eb){if(Object.prototype.hasOwnProperty.call(eb,this.discriminator.property)){if(this.defaultLayout&&this.defaultLayout.property&&Object.prototype.hasOwnProperty.call(eb,this.defaultLayout.property))return;let em=this.registry[eb[this.discriminator.property]];if(em&&(!em.layout||em.property&&Object.prototype.hasOwnProperty.call(eb,em.property)))return em}else for(let em in this.registry){let ew=this.registry[em];if(ew.property&&Object.prototype.hasOwnProperty.call(eb,ew.property))return ew}throw Error("unable to infer src variant")}decode(eb,em=0){let ew;let eM=this.discriminator,eC=eM.decode(eb,em),eT=this.registry[eC];if(void 0===eT){let eT=this.defaultLayout,e_=0;this.usesPrefixDiscriminator&&(e_=eM.layout.span),(ew=this.makeDestinationObject())[eM.property]=eC,ew[eT.property]=eT.decode(eb,em+e_)}else ew=eT.decode(eb,em);return ew}encode(eb,em,ew=0){let eM=this.getSourceVariant(eb);if(void 0===eM){let eM=this.discriminator,eC=this.defaultLayout,eT=0;return this.usesPrefixDiscriminator&&(eT=eM.layout.span),eM.encode(eb[eM.property],em,ew),eT+eC.encode(eb[eC.property],em,ew+eT)}return eM.encode(eb,em,ew)}addVariant(eb,em,ew){let eM=new e6(this,eb,em,ew);return this.registry[eb]=eM,eM}getVariant(eb,em=0){let ew;return ew=eb instanceof Uint8Array?this.discriminator.decode(eb,em):eb,this.registry[ew]}}eM=e0;class e6 extends eE{constructor(eb,em,ew,eM){if(!(eb instanceof e0))throw TypeError("union must be a Union");if(!Number.isInteger(em)||0>em)throw TypeError("variant must be a (non-negative) integer");if("string"==typeof ew&&void 0===eM&&(eM=ew,ew=null),ew){if(!(ew instanceof eE))throw TypeError("layout must be a Layout");if(null!==eb.defaultLayout&&0<=ew.span&&ew.span>eb.defaultLayout.span)throw Error("variant span exceeds span of containing union");if("string"!=typeof eM)throw TypeError("variant must have a String property")}let eC=eb.span;0>eb.span&&0<=(eC=ew?ew.span:0)&&eb.usesPrefixDiscriminator&&(eC+=eb.discriminator.layout.span),super(eC,eM),this.union=eb,this.variant=em,this.layout=ew||null}getSpan(eb,em=0){if(0<=this.span)return this.span;let ew=0;this.union.usesPrefixDiscriminator&&(ew=this.union.discriminator.layout.span);let eM=0;return this.layout&&(eM=this.layout.getSpan(eb,em+ew)),ew+eM}decode(eb,em=0){let ew=this.makeDestinationObject();if(this!==this.union.getVariant(eb,em))throw Error("variant mismatch");let eM=0;return this.union.usesPrefixDiscriminator&&(eM=this.union.discriminator.layout.span),this.layout?ew[this.property]=this.layout.decode(eb,em+eM):this.property?ew[this.property]=!0:this.union.usesPrefixDiscriminator&&(ew[this.union.discriminator.property]=this.variant),ew}encode(eb,em,ew=0){let eM=0;if(this.union.usesPrefixDiscriminator&&(eM=this.union.discriminator.layout.span),this.layout&&!Object.prototype.hasOwnProperty.call(eb,this.property))throw TypeError("variant lacks property "+this.property);this.union.discriminator.encode(this.variant,em,ew);let eC=eM;if(this.layout&&(this.layout.encode(eb[this.property],em,ew+eM),eC+=this.layout.getSpan(em,ew+eM),0<=this.union.span&&eC>this.union.span))throw Error("encoded variant overruns containing union");return eC}fromArray(eb){if(this.layout)return this.layout.fromArray(eb)}}function e4(eb){return 0>eb&&(eb+=4294967296),eb}eM=e6;class e3 extends eE{constructor(eb,em,ew){if(!(eb instanceof eD||eb instanceof eO))throw TypeError("word must be a UInt or UIntBE layout");if("string"==typeof em&&void 0===ew&&(ew=em,em=!1),4=em)throw TypeError("bits must be positive integer");let eM=8*eb.span,eC=eb.fields.reduce((eb,em)=>eb+em.bits,0);if(em+eC>eM)throw Error("bits too long for span remainder ("+(eM-eC)+" of "+eM+" remain)");this.container=eb,this.bits=em,this.valueMask=(1<>>this.start;return eC}encode(eb){if("number"!=typeof eb||!Number.isInteger(eb)||eb!==e4(eb&this.valueMask))throw TypeError(eS("BitField.encode",this)+" value must be integer not exceeding "+this.valueMask);let em=this.container._packedGetValue(),ew=e4(eb<ew&&(ew=this.length.decode(eb,em)),ew}decode(eb,em=0){let ew=this.span;return 0>ew&&(ew=this.length.decode(eb,em)),e_(eb).slice(em,em+ew)}encode(eb,em,ew){let eM=this.length;if(this.length instanceof eA&&(eM=eb.length),!(eb instanceof Uint8Array&&eM===eb.length))throw TypeError(eS("Blob.encode",this)+" requires (length "+eM+") Uint8Array as src");if(ew+eM>em.length)throw RangeError("encoding overruns Uint8Array");let eC=e_(eb);return e_(em).write(eC.toString("hex"),ew,eM,"hex"),this.length instanceof eA&&this.length.encode(eM,em,ew),eM}}eM=e9;class e7 extends eE{constructor(eb){super(-1,eb)}getSpan(eb,em=0){eT(eb);let ew=em;for(;ewem.length)throw RangeError("encoding overruns Buffer");let eE=e_(em);return eM.copy(eE,ew),eE[ew+eT]=0,eT+1}}eM=e7;class tw extends eE{constructor(eb,em){if("string"==typeof eb&&void 0===em&&(em=eb,eb=void 0),void 0===eb)eb=-1;else if(!Number.isInteger(eb))throw TypeError("maxSpan must be an integer");super(-1,em),this.maxSpan=eb}getSpan(eb,em=0){return eT(eb),eb.length-em}decode(eb,em=0){let ew=this.getSpan(eb,em);if(0<=this.maxSpan&&this.maxSpanem.length)throw RangeError("encoding overruns Buffer");return eM.copy(e_(em),ew),eT}}eM=tw;class tC extends eE{constructor(eb,em){super(0,em),this.value=eb}decode(eb,em){return this.value}encode(eb,em,ew){return 0}}eM=tC,eM=(eb,em)=>new eN(eb,em),em.cv=(eb,em,ew)=>new eI(eb,em,ew),em.u8=eb=>new eD(1,eb),em.KB=eb=>new eD(2,eb),eM=eb=>new eD(3,eb),em.Jq=eb=>new eD(4,eb),eM=eb=>new eD(5,eb),eM=eb=>new eD(6,eb),em._O=eb=>new eU(eb),eM=eb=>new eO(2,eb),eM=eb=>new eO(3,eb),eM=eb=>new eO(4,eb),eM=eb=>new eO(5,eb),eM=eb=>new eO(6,eb),eM=eb=>new eV(eb),eM=eb=>new eP(1,eb),eM=eb=>new eP(2,eb),eM=eb=>new eP(3,eb),eM=eb=>new eP(4,eb),eM=eb=>new eP(5,eb),eM=eb=>new eP(6,eb),em.gM=eb=>new eH(eb),eM=eb=>new eR(2,eb),eM=eb=>new eR(3,eb),eM=eb=>new eR(4,eb),eM=eb=>new eR(5,eb),eM=eb=>new eR(6,eb),eM=eb=>new e$(eb),eM=eb=>new eW(eb),eM=eb=>new eZ(eb),eM=eb=>new eK(eb),eM=eb=>new eG(eb),em.n_=(eb,em,ew)=>new eJ(eb,em,ew),eM=(eb,em,ew)=>new e3(eb,em,ew),em.A9=(eb,em,ew)=>new eY(eb,em,ew),eM=(eb,em,ew)=>new e0(eb,em,ew),eM=(eb,em)=>new eQ(eb,em),em.Ik=(eb,em)=>new e9(eb,em),eM=eb=>new e7(eb),eM=(eb,em)=>new tw(eb,em),eM=(eb,em)=>new tC(eb,em)},69191:function(eb,em,ew){"use strict";var eM=ew(89509).Buffer;function eC(eb){if(eb.length>=255)throw TypeError("Alphabet too long");for(var em=new Uint8Array(256),ew=0;ew>>0,eN=new Uint8Array(e_);ew>>0,eN[eO]=eI%256>>>0,eI=eI/256>>>0;if(0!==eI)throw Error("Non-zero carry");eT=eD,ew++}for(var eP=e_-eT;eP!==e_&&0===eN[eP];)eP++;var eR=eM.allocUnsafe(eC+(e_-eP));eR.fill(0,0,eC);for(var eB=eC;eP!==e_;)eR[eB++]=eN[eP++];return eR}function eD(eb){var em=eI(eb);if(em)return em;throw Error("Non-base"+eE+" character")}return{encode:function(em){if((Array.isArray(em)||em instanceof Uint8Array)&&(em=eM.from(em)),!eM.isBuffer(em))throw TypeError("Expected Buffer");if(0===em.length)return"";for(var ew=0,eC=0,eT=0,e_=em.length;eT!==e_&&0===em[eT];)eT++,ew++;for(var eA=(e_-eT)*eN+1>>>0,eI=new Uint8Array(eA);eT!==e_;){for(var eD=em[eT],eO=0,eP=eA-1;(0!==eD||eO>>0,eI[eP]=eD%eE>>>0,eD=eD/eE>>>0;if(0!==eD)throw Error("Non-zero carry");eC=eO,eT++}for(var eR=eA-eC;eR!==eA&&0===eI[eR];)eR++;for(var eB=eS.repeat(ew);eR>16}function eT(eb,em){return void 0===em&&(em=0),(eb[em+0]<<8|eb[em+1])>>>0}function e_(eb,em){return void 0===em&&(em=0),(eb[em+1]<<8|eb[em])<<16>>16}function eE(eb,em){return void 0===em&&(em=0),(eb[em+1]<<8|eb[em])>>>0}function eS(eb,em,ew){return void 0===em&&(em=new Uint8Array(2)),void 0===ew&&(ew=0),em[ew+0]=eb>>>8,em[ew+1]=eb>>>0,em}function eA(eb,em,ew){return void 0===em&&(em=new Uint8Array(2)),void 0===ew&&(ew=0),em[ew+0]=eb>>>0,em[ew+1]=eb>>>8,em}function eN(eb,em){return void 0===em&&(em=0),eb[em]<<24|eb[em+1]<<16|eb[em+2]<<8|eb[em+3]}function eI(eb,em){return void 0===em&&(em=0),(eb[em]<<24|eb[em+1]<<16|eb[em+2]<<8|eb[em+3])>>>0}function eD(eb,em){return void 0===em&&(em=0),eb[em+3]<<24|eb[em+2]<<16|eb[em+1]<<8|eb[em]}function eO(eb,em){return void 0===em&&(em=0),(eb[em+3]<<24|eb[em+2]<<16|eb[em+1]<<8|eb[em])>>>0}function eP(eb,em,ew){return void 0===em&&(em=new Uint8Array(4)),void 0===ew&&(ew=0),em[ew+0]=eb>>>24,em[ew+1]=eb>>>16,em[ew+2]=eb>>>8,em[ew+3]=eb>>>0,em}function eR(eb,em,ew){return void 0===em&&(em=new Uint8Array(4)),void 0===ew&&(ew=0),em[ew+0]=eb>>>0,em[ew+1]=eb>>>8,em[ew+2]=eb>>>16,em[ew+3]=eb>>>24,em}function eB(eb,em){void 0===em&&(em=0);var ew=eN(eb,em),eM=eN(eb,em+4);return 4294967296*ew+eM-(eM>>31)*4294967296}function eF(eb,em){return void 0===em&&(em=0),4294967296*eI(eb,em)+eI(eb,em+4)}function ej(eb,em){void 0===em&&(em=0);var ew=eD(eb,em);return 4294967296*eD(eb,em+4)+ew-(ew>>31)*4294967296}function eU(eb,em){void 0===em&&(em=0);var ew=eO(eb,em);return 4294967296*eO(eb,em+4)+ew}function eV(eb,em,ew){return void 0===em&&(em=new Uint8Array(8)),void 0===ew&&(ew=0),eP(eb/4294967296>>>0,em,ew),eP(eb>>>0,em,ew+4),em}function eH(eb,em,ew){return void 0===em&&(em=new Uint8Array(8)),void 0===ew&&(ew=0),eR(eb>>>0,em,ew),eR(eb/4294967296>>>0,em,ew+4),em}function e$(eb,em,ew){if(void 0===ew&&(ew=0),eb%8!=0)throw Error("readUintBE supports only bitLengths divisible by 8");if(eb/8>em.length-ew)throw Error("readUintBE: array is too short for the given bitLength");for(var eM=0,eC=1,eT=eb/8+ew-1;eT>=ew;eT--)eM+=em[eT]*eC,eC*=256;return eM}function eW(eb,em,ew){if(void 0===ew&&(ew=0),eb%8!=0)throw Error("readUintLE supports only bitLengths divisible by 8");if(eb/8>em.length-ew)throw Error("readUintLE: array is too short for the given bitLength");for(var eM=0,eC=1,eT=ew;eT=eC;e_--)ew[e_]=em/eT&255,eT*=256;return ew}function eK(eb,em,ew,eC){if(void 0===ew&&(ew=new Uint8Array(eb/8)),void 0===eC&&(eC=0),eb%8!=0)throw Error("writeUintLE supports only bitLengths divisible by 8");if(!eM.isSafeInteger(em))throw Error("writeUintLE value must be an integer");for(var eT=1,e_=eC;e_>>16|e4<<16)|0,eK=eK>>>20|eK<<12,e3^=e$=e$+eG|0,eG^=eQ=eQ+(e3=e3>>>16|e3<<16)|0,eG=eG>>>20|eG<<12,e5^=eW=eW+eY|0,eY^=e0=e0+(e5=e5>>>16|e5<<16)|0,eY=eY>>>20|eY<<12,e8^=eZ=eZ+eJ|0,eJ^=e6=e6+(e8=e8>>>16|e8<<16)|0,eJ=eJ>>>20|eJ<<12,e5^=eW=eW+eY|0,eY^=e0=e0+(e5=e5>>>24|e5<<8)|0,eY=eY>>>25|eY<<7,e8^=eZ=eZ+eJ|0,eJ^=e6=e6+(e8=e8>>>24|e8<<8)|0,eJ=eJ>>>25|eJ<<7,e3^=e$=e$+eG|0,eG^=eQ=eQ+(e3=e3>>>24|e3<<8)|0,eG=eG>>>25|eG<<7,e4^=eH=eH+eK|0,eK^=eX=eX+(e4=e4>>>24|e4<<8)|0,eK=eK>>>25|eK<<7,e8^=eH=eH+eG|0,eG^=e0=e0+(e8=e8>>>16|e8<<16)|0,eG=eG>>>20|eG<<12,e4^=e$=e$+eY|0,eY^=e6=e6+(e4=e4>>>16|e4<<16)|0,eY=eY>>>20|eY<<12,e3^=eW=eW+eJ|0,eJ^=eX=eX+(e3=e3>>>16|e3<<16)|0,eJ=eJ>>>20|eJ<<12,e5^=eZ=eZ+eK|0,eK^=eQ=eQ+(e5=e5>>>16|e5<<16)|0,eK=eK>>>20|eK<<12,e3^=eW=eW+eJ|0,eJ^=eX=eX+(e3=e3>>>24|e3<<8)|0,eJ=eJ>>>25|eJ<<7,e5^=eZ=eZ+eK|0,eK^=eQ=eQ+(e5=e5>>>24|e5<<8)|0,eK=eK>>>25|eK<<7,e4^=e$=e$+eY|0,eY^=e6=e6+(e4=e4>>>24|e4<<8)|0,eY=eY>>>25|eY<<7,e8^=eH=eH+eG|0,eG^=e0=e0+(e8=e8>>>24|e8<<8)|0,eG=eG>>>25|eG<<7;eM.writeUint32LE(eH+eC|0,eb,0),eM.writeUint32LE(e$+e_|0,eb,4),eM.writeUint32LE(eW+eE|0,eb,8),eM.writeUint32LE(eZ+eS|0,eb,12),eM.writeUint32LE(eK+eA|0,eb,16),eM.writeUint32LE(eG+eN|0,eb,20),eM.writeUint32LE(eY+eI|0,eb,24),eM.writeUint32LE(eJ+eD|0,eb,28),eM.writeUint32LE(eX+eO|0,eb,32),eM.writeUint32LE(eQ+eP|0,eb,36),eM.writeUint32LE(e0+eR|0,eb,40),eM.writeUint32LE(e6+eB|0,eb,44),eM.writeUint32LE(e4+eF|0,eb,48),eM.writeUint32LE(e3+ej|0,eb,52),eM.writeUint32LE(e5+eU|0,eb,56),eM.writeUint32LE(e8+eV|0,eb,60)}function eE(eb,em,ew,eM,eT){if(void 0===eT&&(eT=0),32!==eb.length)throw Error("ChaCha: key size must be 32 bytes");if(eM.length>>=8,em++;if(eM>0)throw Error("ChaCha: counter overflow")}em.streamXOR=eE,em.stream=eS},15501:function(eb,em,ew){"use strict";eM={value:!0};var eM,eC=ew(25439),eT=ew(63027),e_=ew(17309),eE=ew(98099),eS=ew(4153);em.Cv=32,em.WH=12,em.pg=16;var eA=new Uint8Array(16),eN=function(){function eb(eb){if(this.nonceLength=em.WH,this.tagLength=em.pg,eb.length!==em.Cv)throw Error("ChaCha20Poly1305 needs 32-byte key");this._key=new Uint8Array(eb)}return eb.prototype.seal=function(eb,em,ew,eM){if(eb.length>16)throw Error("ChaCha20Poly1305: incorrect nonce length");var eT,eE=new Uint8Array(16);eE.set(eb,eE.length-eb.length);var eS=new Uint8Array(32);eC.stream(this._key,eE,eS,4);var eA=em.length+this.tagLength;if(eM){if(eM.length!==eA)throw Error("ChaCha20Poly1305: incorrect destination length");eT=eM}else eT=new Uint8Array(eA);return eC.streamXOR(this._key,eE,em,eT,4),this._authenticate(eT.subarray(eT.length-this.tagLength,eT.length),eS,eT.subarray(0,eT.length-this.tagLength),ew),e_.wipe(eE),eT},eb.prototype.open=function(eb,em,ew,eM){if(eb.length>16)throw Error("ChaCha20Poly1305: incorrect nonce length");if(em.length0&&eC.update(eA.subarray(eM.length%16))),eC.update(ew),ew.length%16>0&&eC.update(eA.subarray(ew.length%16));var eS=new Uint8Array(8);eM&&eE.writeUint64LE(eM.length,eS),eC.update(eS),eE.writeUint64LE(ew.length,eS),eC.update(eS);for(var eN=eC.digest(),eI=0;eI>>31&1}function eC(eb,em){if(eb.length!==em.length)return 0;for(var ew=0,eM=0;eM>>8}function eT(eb,em){return 0!==eb.length&&0!==em.length&&0!==eC(eb,em)}Object.defineProperty(em,"__esModule",{value:!0}),em.select=ew,em.lessOrEqual=eM,em.compare=eC,em.equal=eT},31050:function(eb,em,ew){"use strict";var eM;eM={value:!0},eM=eM=eM=em.Xx=eM=eM=em._w=em.aP=em.KS=eM=em.jQ=void 0;let eC=ew(31416),eT=ew(93350),e_=ew(17309);function eE(eb){let em=new Float64Array(16);if(eb)for(let ew=0;ew>16&1),ew[eb-1]&=65535;ew[15]=eM[15]-32767-(ew[14]>>16&1);let eb=ew[15]>>16&1;ew[14]&=65535,ej(eM,ew,1-eb)}for(let em=0;em<16;em++)eb[2*em]=255&eM[em],eb[2*em+1]=eM[em]>>8}function eV(eb,em){let ew=0;for(let eM=0;eM<32;eM++)ew|=eb[eM]^em[eM];return(1&ew-1>>>8)-1}function eH(eb,em){let ew=new Uint8Array(32),eM=new Uint8Array(32);return eU(ew,eb),eU(eM,em),eV(ew,eM)}function e$(eb){let em=new Uint8Array(32);return eU(em,eb),1&em[0]}function eW(eb,em){for(let ew=0;ew<16;ew++)eb[ew]=em[2*ew]+(em[2*ew+1]<<8);eb[15]&=32767}function eZ(eb,em,ew){for(let eM=0;eM<16;eM++)eb[eM]=em[eM]+ew[eM]}function eK(eb,em,ew){for(let eM=0;eM<16;eM++)eb[eM]=em[eM]-ew[eM]}function eG(eb,em,ew){let eM,eC,eT=0,e_=0,eE=0,eS=0,eA=0,eN=0,eI=0,eD=0,eO=0,eP=0,eR=0,eB=0,eF=0,ej=0,eU=0,eV=0,eH=0,e$=0,eW=0,eZ=0,eK=0,eG=0,eY=0,eJ=0,eX=0,eQ=0,e0=0,e6=0,e4=0,e3=0,e5=0,e8=ew[0],e9=ew[1],e7=ew[2],tw=ew[3],tC=ew[4],tT=ew[5],t_=ew[6],tE=ew[7],tS=ew[8],tA=ew[9],tN=ew[10],tI=ew[11],tD=ew[12],tO=ew[13],tP=ew[14],tR=ew[15];eT+=(eM=em[0])*e8,e_+=eM*e9,eE+=eM*e7,eS+=eM*tw,eA+=eM*tC,eN+=eM*tT,eI+=eM*t_,eD+=eM*tE,eO+=eM*tS,eP+=eM*tA,eR+=eM*tN,eB+=eM*tI,eF+=eM*tD,ej+=eM*tO,eU+=eM*tP,eV+=eM*tR,e_+=(eM=em[1])*e8,eE+=eM*e9,eS+=eM*e7,eA+=eM*tw,eN+=eM*tC,eI+=eM*tT,eD+=eM*t_,eO+=eM*tE,eP+=eM*tS,eR+=eM*tA,eB+=eM*tN,eF+=eM*tI,ej+=eM*tD,eU+=eM*tO,eV+=eM*tP,eH+=eM*tR,eE+=(eM=em[2])*e8,eS+=eM*e9,eA+=eM*e7,eN+=eM*tw,eI+=eM*tC,eD+=eM*tT,eO+=eM*t_,eP+=eM*tE,eR+=eM*tS,eB+=eM*tA,eF+=eM*tN,ej+=eM*tI,eU+=eM*tD,eV+=eM*tO,eH+=eM*tP,e$+=eM*tR,eS+=(eM=em[3])*e8,eA+=eM*e9,eN+=eM*e7,eI+=eM*tw,eD+=eM*tC,eO+=eM*tT,eP+=eM*t_,eR+=eM*tE,eB+=eM*tS,eF+=eM*tA,ej+=eM*tN,eU+=eM*tI,eV+=eM*tD,eH+=eM*tO,e$+=eM*tP,eW+=eM*tR,eA+=(eM=em[4])*e8,eN+=eM*e9,eI+=eM*e7,eD+=eM*tw,eO+=eM*tC,eP+=eM*tT,eR+=eM*t_,eB+=eM*tE,eF+=eM*tS,ej+=eM*tA,eU+=eM*tN,eV+=eM*tI,eH+=eM*tD,e$+=eM*tO,eW+=eM*tP,eZ+=eM*tR,eN+=(eM=em[5])*e8,eI+=eM*e9,eD+=eM*e7,eO+=eM*tw,eP+=eM*tC,eR+=eM*tT,eB+=eM*t_,eF+=eM*tE,ej+=eM*tS,eU+=eM*tA,eV+=eM*tN,eH+=eM*tI,e$+=eM*tD,eW+=eM*tO,eZ+=eM*tP,eK+=eM*tR,eI+=(eM=em[6])*e8,eD+=eM*e9,eO+=eM*e7,eP+=eM*tw,eR+=eM*tC,eB+=eM*tT,eF+=eM*t_,ej+=eM*tE,eU+=eM*tS,eV+=eM*tA,eH+=eM*tN,e$+=eM*tI,eW+=eM*tD,eZ+=eM*tO,eK+=eM*tP,eG+=eM*tR,eD+=(eM=em[7])*e8,eO+=eM*e9,eP+=eM*e7,eR+=eM*tw,eB+=eM*tC,eF+=eM*tT,ej+=eM*t_,eU+=eM*tE,eV+=eM*tS,eH+=eM*tA,e$+=eM*tN,eW+=eM*tI,eZ+=eM*tD,eK+=eM*tO,eG+=eM*tP,eY+=eM*tR,eO+=(eM=em[8])*e8,eP+=eM*e9,eR+=eM*e7,eB+=eM*tw,eF+=eM*tC,ej+=eM*tT,eU+=eM*t_,eV+=eM*tE,eH+=eM*tS,e$+=eM*tA,eW+=eM*tN,eZ+=eM*tI,eK+=eM*tD,eG+=eM*tO,eY+=eM*tP,eJ+=eM*tR,eP+=(eM=em[9])*e8,eR+=eM*e9,eB+=eM*e7,eF+=eM*tw,ej+=eM*tC,eU+=eM*tT,eV+=eM*t_,eH+=eM*tE,e$+=eM*tS,eW+=eM*tA,eZ+=eM*tN,eK+=eM*tI,eG+=eM*tD,eY+=eM*tO,eJ+=eM*tP,eX+=eM*tR,eR+=(eM=em[10])*e8,eB+=eM*e9,eF+=eM*e7,ej+=eM*tw,eU+=eM*tC,eV+=eM*tT,eH+=eM*t_,e$+=eM*tE,eW+=eM*tS,eZ+=eM*tA,eK+=eM*tN,eG+=eM*tI,eY+=eM*tD,eJ+=eM*tO,eX+=eM*tP,eQ+=eM*tR,eB+=(eM=em[11])*e8,eF+=eM*e9,ej+=eM*e7,eU+=eM*tw,eV+=eM*tC,eH+=eM*tT,e$+=eM*t_,eW+=eM*tE,eZ+=eM*tS,eK+=eM*tA,eG+=eM*tN,eY+=eM*tI,eJ+=eM*tD,eX+=eM*tO,eQ+=eM*tP,e0+=eM*tR,eF+=(eM=em[12])*e8,ej+=eM*e9,eU+=eM*e7,eV+=eM*tw,eH+=eM*tC,e$+=eM*tT,eW+=eM*t_,eZ+=eM*tE,eK+=eM*tS,eG+=eM*tA,eY+=eM*tN,eJ+=eM*tI,eX+=eM*tD,eQ+=eM*tO,e0+=eM*tP,e6+=eM*tR,ej+=(eM=em[13])*e8,eU+=eM*e9,eV+=eM*e7,eH+=eM*tw,e$+=eM*tC,eW+=eM*tT,eZ+=eM*t_,eK+=eM*tE,eG+=eM*tS,eY+=eM*tA,eJ+=eM*tN,eX+=eM*tI,eQ+=eM*tD,e0+=eM*tO,e6+=eM*tP,e4+=eM*tR,eU+=(eM=em[14])*e8,eV+=eM*e9,eH+=eM*e7,e$+=eM*tw,eW+=eM*tC,eZ+=eM*tT,eK+=eM*t_,eG+=eM*tE,eY+=eM*tS,eJ+=eM*tA,eX+=eM*tN,eQ+=eM*tI,e0+=eM*tD,e6+=eM*tO,e4+=eM*tP,e3+=eM*tR,eV+=(eM=em[15])*e8,eH+=eM*e9,e$+=eM*e7,eW+=eM*tw,eZ+=eM*tC,eK+=eM*tT,eG+=eM*t_,eY+=eM*tE,eJ+=eM*tS,eX+=eM*tA,eQ+=eM*tN,e0+=eM*tI,e6+=eM*tD,e4+=eM*tO,e3+=eM*tP,e5+=eM*tR,eT+=38*eH,e_+=38*e$,eE+=38*eW,eS+=38*eZ,eA+=38*eK,eN+=38*eG,eI+=38*eY,eD+=38*eJ,eO+=38*eX,eP+=38*eQ,eR+=38*e0,eB+=38*e6,eF+=38*e4,ej+=38*e3,eU+=38*e5,eC=Math.floor((eM=eT+(eC=1)+65535)/65536),eT=eM-65536*eC,eC=Math.floor((eM=e_+eC+65535)/65536),e_=eM-65536*eC,eC=Math.floor((eM=eE+eC+65535)/65536),eE=eM-65536*eC,eC=Math.floor((eM=eS+eC+65535)/65536),eS=eM-65536*eC,eC=Math.floor((eM=eA+eC+65535)/65536),eA=eM-65536*eC,eC=Math.floor((eM=eN+eC+65535)/65536),eN=eM-65536*eC,eC=Math.floor((eM=eI+eC+65535)/65536),eI=eM-65536*eC,eC=Math.floor((eM=eD+eC+65535)/65536),eD=eM-65536*eC,eC=Math.floor((eM=eO+eC+65535)/65536),eO=eM-65536*eC,eC=Math.floor((eM=eP+eC+65535)/65536),eP=eM-65536*eC,eC=Math.floor((eM=eR+eC+65535)/65536),eR=eM-65536*eC,eC=Math.floor((eM=eB+eC+65535)/65536),eB=eM-65536*eC,eC=Math.floor((eM=eF+eC+65535)/65536),eF=eM-65536*eC,eC=Math.floor((eM=ej+eC+65535)/65536),ej=eM-65536*eC,eC=Math.floor((eM=eU+eC+65535)/65536),eU=eM-65536*eC,eC=Math.floor((eM=eV+eC+65535)/65536),eV=eM-65536*eC,eT+=eC-1+37*(eC-1),eC=Math.floor((eM=eT+(eC=1)+65535)/65536),eT=eM-65536*eC,eC=Math.floor((eM=e_+eC+65535)/65536),e_=eM-65536*eC,eC=Math.floor((eM=eE+eC+65535)/65536),eE=eM-65536*eC,eC=Math.floor((eM=eS+eC+65535)/65536),eS=eM-65536*eC,eC=Math.floor((eM=eA+eC+65535)/65536),eA=eM-65536*eC,eC=Math.floor((eM=eN+eC+65535)/65536),eN=eM-65536*eC,eC=Math.floor((eM=eI+eC+65535)/65536),eI=eM-65536*eC,eC=Math.floor((eM=eD+eC+65535)/65536),eD=eM-65536*eC,eC=Math.floor((eM=eO+eC+65535)/65536),eO=eM-65536*eC,eC=Math.floor((eM=eP+eC+65535)/65536),eP=eM-65536*eC,eC=Math.floor((eM=eR+eC+65535)/65536),eR=eM-65536*eC,eC=Math.floor((eM=eB+eC+65535)/65536),eB=eM-65536*eC,eC=Math.floor((eM=eF+eC+65535)/65536),eF=eM-65536*eC,eC=Math.floor((eM=ej+eC+65535)/65536),ej=eM-65536*eC,eC=Math.floor((eM=eU+eC+65535)/65536),eU=eM-65536*eC,eC=Math.floor((eM=eV+eC+65535)/65536),eV=eM-65536*eC,eT+=eC-1+37*(eC-1),eb[0]=eT,eb[1]=e_,eb[2]=eE,eb[3]=eS,eb[4]=eA,eb[5]=eN,eb[6]=eI,eb[7]=eD,eb[8]=eO,eb[9]=eP,eb[10]=eR,eb[11]=eB,eb[12]=eF,eb[13]=ej,eb[14]=eU,eb[15]=eV}function eY(eb,em){eG(eb,em,em)}function eJ(eb,em){let ew;let eM=eE();for(ew=0;ew<16;ew++)eM[ew]=em[ew];for(ew=253;ew>=0;ew--)eY(eM,eM),2!==ew&&4!==ew&&eG(eM,eM,em);for(ew=0;ew<16;ew++)eb[ew]=eM[ew]}function eX(eb,em){let ew;let eM=eE();for(ew=0;ew<16;ew++)eM[ew]=em[ew];for(ew=250;ew>=0;ew--)eY(eM,eM),1!==ew&&eG(eM,eM,em);for(ew=0;ew<16;ew++)eb[ew]=eM[ew]}function eQ(eb,em){let ew=eE(),eM=eE(),eC=eE(),eT=eE(),e_=eE(),eS=eE(),eA=eE(),eN=eE(),eI=eE();eK(ew,eb[1],eb[0]),eK(eI,em[1],em[0]),eG(ew,ew,eI),eZ(eM,eb[0],eb[1]),eZ(eI,em[0],em[1]),eG(eM,eM,eI),eG(eC,eb[3],em[3]),eG(eC,eC,eD),eG(eT,eb[2],em[2]),eZ(eT,eT,eT),eK(e_,eM,ew),eK(eS,eT,eC),eZ(eA,eT,eC),eZ(eN,eM,ew),eG(eb[0],e_,eS),eG(eb[1],eN,eA),eG(eb[2],eA,eS),eG(eb[3],e_,eN)}function e0(eb,em,ew){for(let eM=0;eM<4;eM++)ej(eb[eM],em[eM],ew)}function e6(eb,em){let ew=eE(),eM=eE(),eC=eE();eJ(eC,em[2]),eG(ew,em[0],eC),eG(eM,em[1],eC),eU(eb,eM),eb[31]^=e$(ew)<<7}function e4(eb,em,ew){eB(eb[0],eA),eB(eb[1],eN),eB(eb[2],eN),eB(eb[3],eA);for(let eM=255;eM>=0;--eM){let eC=ew[eM/8|0]>>(7&eM)&1;e0(eb,em,eC),eQ(em,eb),eQ(eb,eb),e0(eb,em,eC)}}function e3(eb,em){let ew=[eE(),eE(),eE(),eE()];eB(ew[0],eO),eB(ew[1],eP),eB(ew[2],eN),eG(ew[3],eO,eP),e4(eb,ew,em)}function e5(eb){if(eb.length!==em.aP)throw Error(`ed25519: seed must be ${em.aP} bytes`);let ew=(0,eT.hash)(eb);ew[0]&=248,ew[31]&=127,ew[31]|=64;let eM=new Uint8Array(32),eC=[eE(),eE(),eE(),eE()];e3(eC,ew),e6(eM,eC);let e_=new Uint8Array(64);return e_.set(eb),e_.set(eM,32),{publicKey:eM,secretKey:e_}}em._w=e5,eM=function(eb){let em=(0,eC.randomBytes)(32,eb),ew=e5(em);return(0,e_.wipe)(em),ew},eM=function(eb){if(eb.length!==em.KS)throw Error(`ed25519: secret key must be ${em.KS} bytes`);return new Uint8Array(eb.subarray(32))};let e8=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 e9(eb,em){let ew,eM,eC,eT;for(eM=63;eM>=32;--eM){for(ew=0,eC=eM-32,eT=eM-12;eC>4)*e8[eC],ew=em[eC]>>8,em[eC]&=255;for(eC=0;eC<32;eC++)em[eC]-=ew*e8[eC];for(eM=0;eM<32;eM++)em[eM+1]+=em[eM]>>8,eb[eM]=255&em[eM]}function e7(eb){let em=new Float64Array(64);for(let ew=0;ew<64;ew++)em[ew]=eb[ew];for(let em=0;em<64;em++)eb[em]=0;e9(eb,em)}function tw(eb,em){let ew=new Float64Array(64),eM=[eE(),eE(),eE(),eE()],eC=(0,eT.hash)(eb.subarray(0,32));eC[0]&=248,eC[31]&=127,eC[31]|=64;let e_=new Uint8Array(64);e_.set(eC.subarray(32),32);let eS=new eT.SHA512;eS.update(e_.subarray(32)),eS.update(em);let eA=eS.digest();eS.clean(),e7(eA),e3(eM,eA),e6(e_,eM),eS.reset(),eS.update(e_.subarray(0,32)),eS.update(eb.subarray(32)),eS.update(em);let eN=eS.digest();e7(eN);for(let eb=0;eb<32;eb++)ew[eb]=eA[eb];for(let eb=0;eb<32;eb++)for(let em=0;em<32;em++)ew[eb+em]+=eN[eb]*eC[em];return e9(e_.subarray(32),ew),e_}function tC(eb,em){let ew=eE(),eM=eE(),eC=eE(),eT=eE(),e_=eE(),eS=eE(),eD=eE();return(eB(eb[2],eN),eW(eb[1],em),eY(eC,eb[1]),eG(eT,eC,eI),eK(eC,eC,eb[2]),eZ(eT,eb[2],eT),eY(e_,eT),eY(eS,e_),eG(eD,eS,e_),eG(ew,eD,eC),eG(ew,ew,eT),eX(ew,ew),eG(ew,ew,eC),eG(ew,ew,eT),eG(ew,ew,eT),eG(eb[0],ew,eT),eY(eM,eb[0]),eG(eM,eM,eT),eH(eM,eC)&&eG(eb[0],eb[0],eR),eY(eM,eb[0]),eG(eM,eM,eT),eH(eM,eC))?-1:(e$(eb[0])===em[31]>>7&&eK(eb[0],eA,eb[0]),eG(eb[3],eb[0],eb[1]),0)}em.Xx=tw,eM=function(eb,ew,eM){let eC=new Uint8Array(32),e_=[eE(),eE(),eE(),eE()],eS=[eE(),eE(),eE(),eE()];if(eM.length!==em.jQ)throw Error(`ed25519: signature must be ${em.jQ} bytes`);if(tC(eS,eb))return!1;let eA=new eT.SHA512;eA.update(eM.subarray(0,32)),eA.update(eb),eA.update(ew);let eN=eA.digest();return e7(eN),e4(e_,eS,eN),e3(eS,eM.subarray(32)),eQ(e_,eS),e6(eC,e_),!eV(eM,eC)},eM=function(eb){let em=[eE(),eE(),eE(),eE()];if(tC(em,eb))throw Error("Ed25519: invalid public key");let ew=eE(),eM=eE(),eC=em[1];eZ(ew,eN,eC),eK(eM,eN,eC),eJ(eM,eM),eG(ew,ew,eM);let eT=new Uint8Array(32);return eU(eT,ew),eT},eM=function(eb){let em=(0,eT.hash)(eb.subarray(0,32));em[0]&=248,em[31]&=127,em[31]|=64;let ew=new Uint8Array(em.subarray(0,32));return(0,e_.wipe)(em),ew}},79984:function(eb,em){"use strict";function ew(eb){return void 0!==eb.saveState&&void 0!==eb.restoreState&&void 0!==eb.cleanSavedState}Object.defineProperty(em,"__esModule",{value:!0}),em.isSerializableHash=ew},512:function(eb,em,ew){"use strict";eM={value:!0};var eM,eC=ew(25629),eT=ew(17309),e_=function(){function eb(eb,em,ew,eM){void 0===ew&&(ew=new Uint8Array(0)),this._counter=new Uint8Array(1),this._hash=eb,this._info=eM;var eT=eC.hmac(this._hash,ew,em);this._hmac=new eC.HMAC(eb,eT),this._buffer=new Uint8Array(this._hmac.digestLength),this._bufpos=this._buffer.length}return eb.prototype._fillBuffer=function(){this._counter[0]++;var eb=this._counter[0];if(0===eb)throw Error("hkdf: cannot expand more");this._hmac.reset(),eb>1&&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},eb.prototype.expand=function(eb){for(var em=new Uint8Array(eb),ew=0;ewthis.blockSize?this._inner.update(em).finish(ew).clean():ew.set(em);for(var eC=0;eC>>16&65535,eM=65535&eb,eC=em>>>16&65535,eT=65535&em;return eM*eT+(ew*eT+eM*eC<<16>>>0)|0}function eM(eb,em){return eb+em|0}function eC(eb,em){return eb-em|0}function eT(eb,em){return eb<>>32-em}function e_(eb,em){return eb<<32-em|eb>>>em}function eE(eb){return"number"==typeof eb&&isFinite(eb)&&Math.floor(eb)===eb}Object.defineProperty(em,"__esModule",{value:!0}),em.mul=Math.imul||ew,em.add=eM,em.sub=eC,em.rotl=eT,em.rotr=e_,em.isInteger=Number.isInteger||eE,em.MAX_SAFE_INTEGER=9007199254740991,em.isSafeInteger=function(eb){return em.isInteger(eb)&&eb>=-em.MAX_SAFE_INTEGER&&eb<=em.MAX_SAFE_INTEGER}},63027:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0});var eM=ew(4153),eC=ew(17309);em.DIGEST_LENGTH=16;var eT=function(){function eb(eb){this.digestLength=em.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 ew=eb[0]|eb[1]<<8;this._r[0]=8191&ew;var eM=eb[2]|eb[3]<<8;this._r[1]=(ew>>>13|eM<<3)&8191;var eC=eb[4]|eb[5]<<8;this._r[2]=(eM>>>10|eC<<6)&7939;var eT=eb[6]|eb[7]<<8;this._r[3]=(eC>>>7|eT<<9)&8191;var e_=eb[8]|eb[9]<<8;this._r[4]=(eT>>>4|e_<<12)&255,this._r[5]=e_>>>1&8190;var eE=eb[10]|eb[11]<<8;this._r[6]=(e_>>>14|eE<<2)&8191;var eS=eb[12]|eb[13]<<8;this._r[7]=(eE>>>11|eS<<5)&8065;var eA=eb[14]|eb[15]<<8;this._r[8]=(eS>>>8|eA<<8)&8191,this._r[9]=eA>>>5&127,this._pad[0]=eb[16]|eb[17]<<8,this._pad[1]=eb[18]|eb[19]<<8,this._pad[2]=eb[20]|eb[21]<<8,this._pad[3]=eb[22]|eb[23]<<8,this._pad[4]=eb[24]|eb[25]<<8,this._pad[5]=eb[26]|eb[27]<<8,this._pad[6]=eb[28]|eb[29]<<8,this._pad[7]=eb[30]|eb[31]<<8}return eb.prototype._blocks=function(eb,em,ew){for(var eM=this._fin?0:2048,eC=this._h[0],eT=this._h[1],e_=this._h[2],eE=this._h[3],eS=this._h[4],eA=this._h[5],eN=this._h[6],eI=this._h[7],eD=this._h[8],eO=this._h[9],eP=this._r[0],eR=this._r[1],eB=this._r[2],eF=this._r[3],ej=this._r[4],eU=this._r[5],eV=this._r[6],eH=this._r[7],e$=this._r[8],eW=this._r[9];ew>=16;){var eZ,eK=eb[em+0]|eb[em+1]<<8;eC+=8191&eK;var eG=eb[em+2]|eb[em+3]<<8;eT+=(eK>>>13|eG<<3)&8191;var eY=eb[em+4]|eb[em+5]<<8;e_+=(eG>>>10|eY<<6)&8191;var eJ=eb[em+6]|eb[em+7]<<8;eE+=(eY>>>7|eJ<<9)&8191;var eX=eb[em+8]|eb[em+9]<<8;eS+=(eJ>>>4|eX<<12)&8191,eA+=eX>>>1&8191;var eQ=eb[em+10]|eb[em+11]<<8;eN+=(eX>>>14|eQ<<2)&8191;var e0=eb[em+12]|eb[em+13]<<8;eI+=(eQ>>>11|e0<<5)&8191;var e6=eb[em+14]|eb[em+15]<<8;eD+=(e0>>>8|e6<<8)&8191,eO+=e6>>>5|eM;var e4=0;e4=(eZ=0+eC*eP+eT*(5*eW)+e_*(5*e$)+eE*(5*eH)+eS*(5*eV))>>>13,eZ&=8191,eZ+=eA*(5*eU)+eN*(5*ej)+eI*(5*eF)+eD*(5*eB)+eO*(5*eR),e4+=eZ>>>13,eZ&=8191;var e3=e4;e3+=eC*eR+eT*eP+e_*(5*eW)+eE*(5*e$)+eS*(5*eH),e4=e3>>>13,e3&=8191,e3+=eA*(5*eV)+eN*(5*eU)+eI*(5*ej)+eD*(5*eF)+eO*(5*eB),e4+=e3>>>13,e3&=8191;var e5=e4;e5+=eC*eB+eT*eR+e_*eP+eE*(5*eW)+eS*(5*e$),e4=e5>>>13,e5&=8191,e5+=eA*(5*eH)+eN*(5*eV)+eI*(5*eU)+eD*(5*ej)+eO*(5*eF),e4+=e5>>>13,e5&=8191;var e8=e4;e8+=eC*eF+eT*eB+e_*eR+eE*eP+eS*(5*eW),e4=e8>>>13,e8&=8191,e8+=eA*(5*e$)+eN*(5*eH)+eI*(5*eV)+eD*(5*eU)+eO*(5*ej),e4+=e8>>>13,e8&=8191;var e9=e4;e9+=eC*ej+eT*eF+e_*eB+eE*eR+eS*eP,e4=e9>>>13,e9&=8191,e9+=eA*(5*eW)+eN*(5*e$)+eI*(5*eH)+eD*(5*eV)+eO*(5*eU),e4+=e9>>>13,e9&=8191;var e7=e4;e7+=eC*eU+eT*ej+e_*eF+eE*eB+eS*eR,e4=e7>>>13,e7&=8191,e7+=eA*eP+eN*(5*eW)+eI*(5*e$)+eD*(5*eH)+eO*(5*eV),e4+=e7>>>13,e7&=8191;var tw=e4;tw+=eC*eV+eT*eU+e_*ej+eE*eF+eS*eB,e4=tw>>>13,tw&=8191,tw+=eA*eR+eN*eP+eI*(5*eW)+eD*(5*e$)+eO*(5*eH),e4+=tw>>>13,tw&=8191;var tC=e4;tC+=eC*eH+eT*eV+e_*eU+eE*ej+eS*eF,e4=tC>>>13,tC&=8191,tC+=eA*eB+eN*eR+eI*eP+eD*(5*eW)+eO*(5*e$),e4+=tC>>>13,tC&=8191;var tT=e4;tT+=eC*e$+eT*eH+e_*eV+eE*eU+eS*ej,e4=tT>>>13,tT&=8191,tT+=eA*eF+eN*eB+eI*eR+eD*eP+eO*(5*eW),e4+=tT>>>13,tT&=8191;var t_=e4;t_+=eC*eW+eT*e$+e_*eH+eE*eV+eS*eU,e4=t_>>>13,t_&=8191,t_+=eA*ej+eN*eF+eI*eB+eD*eR+eO*eP,e4+=t_>>>13,t_&=8191,eZ=8191&(e4=(e4=(e4<<2)+e4|0)+eZ|0),e4>>>=13,e3+=e4,eC=eZ,eT=e3,e_=e5,eE=e8,eS=e9,eA=e7,eN=tw,eI=tC,eD=tT,eO=t_,em+=16,ew-=16}this._h[0]=eC,this._h[1]=eT,this._h[2]=e_,this._h[3]=eE,this._h[4]=eS,this._h[5]=eA,this._h[6]=eN,this._h[7]=eI,this._h[8]=eD,this._h[9]=eO},eb.prototype.finish=function(eb,em){void 0===em&&(em=0);var ew,eM,eC,eT,e_=new Uint16Array(10);if(this._leftover){for(eT=this._leftover,this._buffer[eT++]=1;eT<16;eT++)this._buffer[eT]=0;this._fin=1,this._blocks(this._buffer,0,16)}for(ew=this._h[1]>>>13,this._h[1]&=8191,eT=2;eT<10;eT++)this._h[eT]+=ew,ew=this._h[eT]>>>13,this._h[eT]&=8191;for(this._h[0]+=5*ew,ew=this._h[0]>>>13,this._h[0]&=8191,this._h[1]+=ew,ew=this._h[1]>>>13,this._h[1]&=8191,this._h[2]+=ew,e_[0]=this._h[0]+5,ew=e_[0]>>>13,e_[0]&=8191,eT=1;eT<10;eT++)e_[eT]=this._h[eT]+ew,ew=e_[eT]>>>13,e_[eT]&=8191;for(e_[9]-=8192,eM=(1^ew)-1,eT=0;eT<10;eT++)e_[eT]&=eM;for(eT=0,eM=~eM;eT<10;eT++)this._h[eT]=this._h[eT]&eM|e_[eT];for(eT=1,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,eC=this._h[0]+this._pad[0],this._h[0]=65535&eC;eT<8;eT++)eC=(this._h[eT]+this._pad[eT]|0)+(eC>>>16)|0,this._h[eT]=65535&eC;return eb[em+0]=this._h[0]>>>0,eb[em+1]=this._h[0]>>>8,eb[em+2]=this._h[1]>>>0,eb[em+3]=this._h[1]>>>8,eb[em+4]=this._h[2]>>>0,eb[em+5]=this._h[2]>>>8,eb[em+6]=this._h[3]>>>0,eb[em+7]=this._h[3]>>>8,eb[em+8]=this._h[4]>>>0,eb[em+9]=this._h[4]>>>8,eb[em+10]=this._h[5]>>>0,eb[em+11]=this._h[5]>>>8,eb[em+12]=this._h[6]>>>0,eb[em+13]=this._h[6]>>>8,eb[em+14]=this._h[7]>>>0,eb[em+15]=this._h[7]>>>8,this._finished=!0,this},eb.prototype.update=function(eb){var em,ew=0,eM=eb.length;if(this._leftover){(em=16-this._leftover)>eM&&(em=eM);for(var eC=0;eC=16&&(em=eM-eM%16,this._blocks(eb,ew,em),ew+=em,eM-=em),eM){for(var eC=0;eC256)throw Error("randomString charset is too long");let eC="",eE=ew.length,eA=256-256%eE;for(;eb>0;){let em=e_(Math.ceil(256*eb/eA),eM);for(let eM=0;eM0;eM++){let eT=em[eM];eT0){for(;this._bufferLength0;)this._buffer[this._bufferLength++]=eb[ew++],em--;this._bufferLength===this.blockSize&&(eS(this._temp,this._state,this._buffer,0,this.blockSize),this._bufferLength=0)}for(em>=this.blockSize&&(ew=eS(this._temp,this._state,eb,ew,em),em%=this.blockSize);em>0;)this._buffer[this._bufferLength++]=eb[ew++],em--;return this},eb.prototype.finish=function(eb){if(!this._finished){var em=this._bytesHashed,ew=this._bufferLength,eM=em/536870912|0,eT=em<<3,e_=em%64<56?64:128;this._buffer[ew]=128;for(var eE=ew+1;eE0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}},eb.prototype.restoreState=function(eb){return this._state.set(eb.state),this._bufferLength=eb.bufferLength,eb.buffer&&this._buffer.set(eb.buffer),this._bytesHashed=eb.bytesHashed,this._finished=!1,this},eb.prototype.cleanSavedState=function(eb){eT.wipe(eb.state),eb.buffer&&eT.wipe(eb.buffer),eb.bufferLength=0,eb.bytesHashed=0},eb}();em.mE=e_;var eE=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 eS(eb,em,ew,eM,eT){for(;eT>=64;){for(var e_=em[0],eS=em[1],eA=em[2],eN=em[3],eI=em[4],eD=em[5],eO=em[6],eP=em[7],eR=0;eR<16;eR++){var eB=eM+4*eR;eb[eR]=eC.readUint32BE(ew,eB)}for(var eR=16;eR<64;eR++){var eF=eb[eR-2],ej=(eF>>>17|eF<<15)^(eF>>>19|eF<<13)^eF>>>10,eU=((eF=eb[eR-15])>>>7|eF<<25)^(eF>>>18|eF<<14)^eF>>>3;eb[eR]=(ej+eb[eR-7]|0)+(eU+eb[eR-16]|0)}for(var eR=0;eR<64;eR++){var ej=(((eI>>>6|eI<<26)^(eI>>>11|eI<<21)^(eI>>>25|eI<<7))+(eI&eD^~eI&eO)|0)+(eP+(eE[eR]+eb[eR]|0)|0)|0,eU=((e_>>>2|e_<<30)^(e_>>>13|e_<<19)^(e_>>>22|e_<<10))+(e_&eS^e_&eA^eS&eA)|0;eP=eO,eO=eD,eD=eI,eI=eN+ej|0,eN=eA,eA=eS,eS=e_,e_=ej+eU|0}em[0]+=e_,em[1]+=eS,em[2]+=eA,em[3]+=eN,em[4]+=eI,em[5]+=eD,em[6]+=eO,em[7]+=eP,eM+=64,eT-=64}return eM}function eA(eb){var em=new e_;em.update(eb);var ew=em.digest();return em.clean(),ew}em.vp=eA},93350:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0});var eM=ew(98099),eC=ew(17309);em.DIGEST_LENGTH=64,em.BLOCK_SIZE=128;var eT=function(){function eb(){this.digestLength=em.DIGEST_LENGTH,this.blockSize=em.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 eb.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},eb.prototype.reset=function(){return this._initState(),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this},eb.prototype.clean=function(){eC.wipe(this._buffer),eC.wipe(this._tempHi),eC.wipe(this._tempLo),this.reset()},eb.prototype.update=function(eb,ew){if(void 0===ew&&(ew=eb.length),this._finished)throw Error("SHA512: can't update because hash was finished.");var eM=0;if(this._bytesHashed+=ew,this._bufferLength>0){for(;this._bufferLength0;)this._buffer[this._bufferLength++]=eb[eM++],ew--;this._bufferLength===this.blockSize&&(eE(this._tempHi,this._tempLo,this._stateHi,this._stateLo,this._buffer,0,this.blockSize),this._bufferLength=0)}for(ew>=this.blockSize&&(eM=eE(this._tempHi,this._tempLo,this._stateHi,this._stateLo,eb,eM,ew),ew%=this.blockSize);ew>0;)this._buffer[this._bufferLength++]=eb[eM++],ew--;return this},eb.prototype.finish=function(eb){if(!this._finished){var em=this._bytesHashed,ew=this._bufferLength,eC=em/536870912|0,eT=em<<3,e_=em%128<112?128:256;this._buffer[ew]=128;for(var eS=ew+1;eS0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}},eb.prototype.restoreState=function(eb){return this._stateHi.set(eb.stateHi),this._stateLo.set(eb.stateLo),this._bufferLength=eb.bufferLength,eb.buffer&&this._buffer.set(eb.buffer),this._bytesHashed=eb.bytesHashed,this._finished=!1,this},eb.prototype.cleanSavedState=function(eb){eC.wipe(eb.stateHi),eC.wipe(eb.stateLo),eb.buffer&&eC.wipe(eb.buffer),eb.bufferLength=0,eb.bytesHashed=0},eb}();em.SHA512=eT;var e_=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 eE(eb,em,ew,eC,eT,eE,eS){for(var eA,eN,eI,eD,eO,eP,eR,eB,eF=ew[0],ej=ew[1],eU=ew[2],eV=ew[3],eH=ew[4],e$=ew[5],eW=ew[6],eZ=ew[7],eK=eC[0],eG=eC[1],eY=eC[2],eJ=eC[3],eX=eC[4],eQ=eC[5],e0=eC[6],e6=eC[7];eS>=128;){for(var e4=0;e4<16;e4++){var e3=8*e4+eE;eb[e4]=eM.readUint32BE(eT,e3),em[e4]=eM.readUint32BE(eT,e3+4)}for(var e4=0;e4<80;e4++){var e5=eF,e8=ej,e9=eU,e7=eV,tw=eH,tC=e$,tT=eW,t_=eZ,tE=eK,tS=eG,tA=eY,tN=eJ,tI=eX,tD=eQ,tO=e0,tP=e6;if(eA=eZ,eO=65535&(eN=e6),eP=eN>>>16,eR=65535&eA,eB=eA>>>16,eA=(eH>>>14|eX<<18)^(eH>>>18|eX<<14)^(eX>>>9|eH<<23),eO+=65535&(eN=(eX>>>14|eH<<18)^(eX>>>18|eH<<14)^(eH>>>9|eX<<23)),eP+=eN>>>16,eR+=65535&eA,eB+=eA>>>16,eA=eH&e$^~eH&eW,eO+=65535&(eN=eX&eQ^~eX&e0),eP+=eN>>>16,eR+=65535&eA,eB+=eA>>>16,eA=e_[2*e4],eO+=65535&(eN=e_[2*e4+1]),eP+=eN>>>16,eR+=65535&eA,eB+=eA>>>16,eA=eb[e4%16],eO+=65535&(eN=em[e4%16]),eP+=eN>>>16,eR+=65535&eA,eB+=eA>>>16,eP+=eO>>>16,eR+=eP>>>16,eB+=eR>>>16,eI=65535&eR|eB<<16,eD=65535&eO|eP<<16,eA=eI,eO=65535&(eN=eD),eP=eN>>>16,eR=65535&eA,eB=eA>>>16,eA=(eF>>>28|eK<<4)^(eK>>>2|eF<<30)^(eK>>>7|eF<<25),eO+=65535&(eN=(eK>>>28|eF<<4)^(eF>>>2|eK<<30)^(eF>>>7|eK<<25)),eP+=eN>>>16,eR+=65535&eA,eB+=eA>>>16,eA=eF&ej^eF&eU^ej&eU,eO+=65535&(eN=eK&eG^eK&eY^eG&eY),eP+=eN>>>16,eR+=65535&eA,eB+=eA>>>16,eP+=eO>>>16,eR+=eP>>>16,eB+=eR>>>16,t_=65535&eR|eB<<16,tP=65535&eO|eP<<16,eA=e7,eO=65535&(eN=tN),eP=eN>>>16,eR=65535&eA,eB=eA>>>16,eA=eI,eO+=65535&(eN=eD),eP+=eN>>>16,eR+=65535&eA,eB+=eA>>>16,eP+=eO>>>16,eR+=eP>>>16,eB+=eR>>>16,e7=65535&eR|eB<<16,tN=65535&eO|eP<<16,ej=e5,eU=e8,eV=e9,eH=e7,e$=tw,eW=tC,eZ=tT,eF=t_,eG=tE,eY=tS,eJ=tA,eX=tN,eQ=tI,e0=tD,e6=tO,eK=tP,e4%16==15)for(var e3=0;e3<16;e3++)eA=eb[e3],eO=65535&(eN=em[e3]),eP=eN>>>16,eR=65535&eA,eB=eA>>>16,eA=eb[(e3+9)%16],eO+=65535&(eN=em[(e3+9)%16]),eP+=eN>>>16,eR+=65535&eA,eB+=eA>>>16,eA=((eI=eb[(e3+1)%16])>>>1|(eD=em[(e3+1)%16])<<31)^(eI>>>8|eD<<24)^eI>>>7,eO+=65535&(eN=(eD>>>1|eI<<31)^(eD>>>8|eI<<24)^(eD>>>7|eI<<25)),eP+=eN>>>16,eR+=65535&eA,eB+=eA>>>16,eA=((eI=eb[(e3+14)%16])>>>19|(eD=em[(e3+14)%16])<<13)^(eD>>>29|eI<<3)^eI>>>6,eO+=65535&(eN=(eD>>>19|eI<<13)^(eI>>>29|eD<<3)^(eD>>>6|eI<<26)),eP+=eN>>>16,eR+=65535&eA,eB+=eA>>>16,eP+=eO>>>16,eR+=eP>>>16,eB+=eR>>>16,eb[e3]=65535&eR|eB<<16,em[e3]=65535&eO|eP<<16}eA=eF,eO=65535&(eN=eK),eP=eN>>>16,eR=65535&eA,eB=eA>>>16,eA=ew[0],eO+=65535&(eN=eC[0]),eP+=eN>>>16,eR+=65535&eA,eB+=eA>>>16,eP+=eO>>>16,eR+=eP>>>16,eB+=eR>>>16,ew[0]=eF=65535&eR|eB<<16,eC[0]=eK=65535&eO|eP<<16,eA=ej,eO=65535&(eN=eG),eP=eN>>>16,eR=65535&eA,eB=eA>>>16,eA=ew[1],eO+=65535&(eN=eC[1]),eP+=eN>>>16,eR+=65535&eA,eB+=eA>>>16,eP+=eO>>>16,eR+=eP>>>16,eB+=eR>>>16,ew[1]=ej=65535&eR|eB<<16,eC[1]=eG=65535&eO|eP<<16,eA=eU,eO=65535&(eN=eY),eP=eN>>>16,eR=65535&eA,eB=eA>>>16,eA=ew[2],eO+=65535&(eN=eC[2]),eP+=eN>>>16,eR+=65535&eA,eB+=eA>>>16,eP+=eO>>>16,eR+=eP>>>16,eB+=eR>>>16,ew[2]=eU=65535&eR|eB<<16,eC[2]=eY=65535&eO|eP<<16,eA=eV,eO=65535&(eN=eJ),eP=eN>>>16,eR=65535&eA,eB=eA>>>16,eA=ew[3],eO+=65535&(eN=eC[3]),eP+=eN>>>16,eR+=65535&eA,eB+=eA>>>16,eP+=eO>>>16,eR+=eP>>>16,eB+=eR>>>16,ew[3]=eV=65535&eR|eB<<16,eC[3]=eJ=65535&eO|eP<<16,eA=eH,eO=65535&(eN=eX),eP=eN>>>16,eR=65535&eA,eB=eA>>>16,eA=ew[4],eO+=65535&(eN=eC[4]),eP+=eN>>>16,eR+=65535&eA,eB+=eA>>>16,eP+=eO>>>16,eR+=eP>>>16,eB+=eR>>>16,ew[4]=eH=65535&eR|eB<<16,eC[4]=eX=65535&eO|eP<<16,eA=e$,eO=65535&(eN=eQ),eP=eN>>>16,eR=65535&eA,eB=eA>>>16,eA=ew[5],eO+=65535&(eN=eC[5]),eP+=eN>>>16,eR+=65535&eA,eB+=eA>>>16,eP+=eO>>>16,eR+=eP>>>16,eB+=eR>>>16,ew[5]=e$=65535&eR|eB<<16,eC[5]=eQ=65535&eO|eP<<16,eA=eW,eO=65535&(eN=e0),eP=eN>>>16,eR=65535&eA,eB=eA>>>16,eA=ew[6],eO+=65535&(eN=eC[6]),eP+=eN>>>16,eR+=65535&eA,eB+=eA>>>16,eP+=eO>>>16,eR+=eP>>>16,eB+=eR>>>16,ew[6]=eW=65535&eR|eB<<16,eC[6]=e0=65535&eO|eP<<16,eA=eZ,eO=65535&(eN=e6),eP=eN>>>16,eR=65535&eA,eB=eA>>>16,eA=ew[7],eO+=65535&(eN=eC[7]),eP+=eN>>>16,eR+=65535&eA,eB+=eA>>>16,eP+=eO>>>16,eR+=eP>>>16,eB+=eR>>>16,ew[7]=eZ=65535&eR|eB<<16,eC[7]=e6=65535&eO|eP<<16,eE+=128,eS-=128}return eE}function eS(eb){var em=new eT;em.update(eb);var ew=em.digest();return em.clean(),ew}em.hash=eS},17309:function(eb,em){"use strict";function ew(eb){for(var em=0;em>16&1),ew[eb-1]&=65535;ew[15]=eM[15]-32767-(ew[14]>>16&1);let eb=ew[15]>>16&1;ew[14]&=65535,eN(eM,ew,1-eb)}for(let em=0;em<16;em++)eb[2*em]=255&eM[em],eb[2*em+1]=eM[em]>>8}function eD(eb,em){for(let ew=0;ew<16;ew++)eb[ew]=em[2*ew]+(em[2*ew+1]<<8);eb[15]&=32767}function eO(eb,em,ew){for(let eM=0;eM<16;eM++)eb[eM]=em[eM]+ew[eM]}function eP(eb,em,ew){for(let eM=0;eM<16;eM++)eb[eM]=em[eM]-ew[eM]}function eR(eb,em,ew){let eM,eC,eT=0,e_=0,eE=0,eS=0,eA=0,eN=0,eI=0,eD=0,eO=0,eP=0,eR=0,eB=0,eF=0,ej=0,eU=0,eV=0,eH=0,e$=0,eW=0,eZ=0,eK=0,eG=0,eY=0,eJ=0,eX=0,eQ=0,e0=0,e6=0,e4=0,e3=0,e5=0,e8=ew[0],e9=ew[1],e7=ew[2],tw=ew[3],tC=ew[4],tT=ew[5],t_=ew[6],tE=ew[7],tS=ew[8],tA=ew[9],tN=ew[10],tI=ew[11],tD=ew[12],tO=ew[13],tP=ew[14],tR=ew[15];eT+=(eM=em[0])*e8,e_+=eM*e9,eE+=eM*e7,eS+=eM*tw,eA+=eM*tC,eN+=eM*tT,eI+=eM*t_,eD+=eM*tE,eO+=eM*tS,eP+=eM*tA,eR+=eM*tN,eB+=eM*tI,eF+=eM*tD,ej+=eM*tO,eU+=eM*tP,eV+=eM*tR,e_+=(eM=em[1])*e8,eE+=eM*e9,eS+=eM*e7,eA+=eM*tw,eN+=eM*tC,eI+=eM*tT,eD+=eM*t_,eO+=eM*tE,eP+=eM*tS,eR+=eM*tA,eB+=eM*tN,eF+=eM*tI,ej+=eM*tD,eU+=eM*tO,eV+=eM*tP,eH+=eM*tR,eE+=(eM=em[2])*e8,eS+=eM*e9,eA+=eM*e7,eN+=eM*tw,eI+=eM*tC,eD+=eM*tT,eO+=eM*t_,eP+=eM*tE,eR+=eM*tS,eB+=eM*tA,eF+=eM*tN,ej+=eM*tI,eU+=eM*tD,eV+=eM*tO,eH+=eM*tP,e$+=eM*tR,eS+=(eM=em[3])*e8,eA+=eM*e9,eN+=eM*e7,eI+=eM*tw,eD+=eM*tC,eO+=eM*tT,eP+=eM*t_,eR+=eM*tE,eB+=eM*tS,eF+=eM*tA,ej+=eM*tN,eU+=eM*tI,eV+=eM*tD,eH+=eM*tO,e$+=eM*tP,eW+=eM*tR,eA+=(eM=em[4])*e8,eN+=eM*e9,eI+=eM*e7,eD+=eM*tw,eO+=eM*tC,eP+=eM*tT,eR+=eM*t_,eB+=eM*tE,eF+=eM*tS,ej+=eM*tA,eU+=eM*tN,eV+=eM*tI,eH+=eM*tD,e$+=eM*tO,eW+=eM*tP,eZ+=eM*tR,eN+=(eM=em[5])*e8,eI+=eM*e9,eD+=eM*e7,eO+=eM*tw,eP+=eM*tC,eR+=eM*tT,eB+=eM*t_,eF+=eM*tE,ej+=eM*tS,eU+=eM*tA,eV+=eM*tN,eH+=eM*tI,e$+=eM*tD,eW+=eM*tO,eZ+=eM*tP,eK+=eM*tR,eI+=(eM=em[6])*e8,eD+=eM*e9,eO+=eM*e7,eP+=eM*tw,eR+=eM*tC,eB+=eM*tT,eF+=eM*t_,ej+=eM*tE,eU+=eM*tS,eV+=eM*tA,eH+=eM*tN,e$+=eM*tI,eW+=eM*tD,eZ+=eM*tO,eK+=eM*tP,eG+=eM*tR,eD+=(eM=em[7])*e8,eO+=eM*e9,eP+=eM*e7,eR+=eM*tw,eB+=eM*tC,eF+=eM*tT,ej+=eM*t_,eU+=eM*tE,eV+=eM*tS,eH+=eM*tA,e$+=eM*tN,eW+=eM*tI,eZ+=eM*tD,eK+=eM*tO,eG+=eM*tP,eY+=eM*tR,eO+=(eM=em[8])*e8,eP+=eM*e9,eR+=eM*e7,eB+=eM*tw,eF+=eM*tC,ej+=eM*tT,eU+=eM*t_,eV+=eM*tE,eH+=eM*tS,e$+=eM*tA,eW+=eM*tN,eZ+=eM*tI,eK+=eM*tD,eG+=eM*tO,eY+=eM*tP,eJ+=eM*tR,eP+=(eM=em[9])*e8,eR+=eM*e9,eB+=eM*e7,eF+=eM*tw,ej+=eM*tC,eU+=eM*tT,eV+=eM*t_,eH+=eM*tE,e$+=eM*tS,eW+=eM*tA,eZ+=eM*tN,eK+=eM*tI,eG+=eM*tD,eY+=eM*tO,eJ+=eM*tP,eX+=eM*tR,eR+=(eM=em[10])*e8,eB+=eM*e9,eF+=eM*e7,ej+=eM*tw,eU+=eM*tC,eV+=eM*tT,eH+=eM*t_,e$+=eM*tE,eW+=eM*tS,eZ+=eM*tA,eK+=eM*tN,eG+=eM*tI,eY+=eM*tD,eJ+=eM*tO,eX+=eM*tP,eQ+=eM*tR,eB+=(eM=em[11])*e8,eF+=eM*e9,ej+=eM*e7,eU+=eM*tw,eV+=eM*tC,eH+=eM*tT,e$+=eM*t_,eW+=eM*tE,eZ+=eM*tS,eK+=eM*tA,eG+=eM*tN,eY+=eM*tI,eJ+=eM*tD,eX+=eM*tO,eQ+=eM*tP,e0+=eM*tR,eF+=(eM=em[12])*e8,ej+=eM*e9,eU+=eM*e7,eV+=eM*tw,eH+=eM*tC,e$+=eM*tT,eW+=eM*t_,eZ+=eM*tE,eK+=eM*tS,eG+=eM*tA,eY+=eM*tN,eJ+=eM*tI,eX+=eM*tD,eQ+=eM*tO,e0+=eM*tP,e6+=eM*tR,ej+=(eM=em[13])*e8,eU+=eM*e9,eV+=eM*e7,eH+=eM*tw,e$+=eM*tC,eW+=eM*tT,eZ+=eM*t_,eK+=eM*tE,eG+=eM*tS,eY+=eM*tA,eJ+=eM*tN,eX+=eM*tI,eQ+=eM*tD,e0+=eM*tO,e6+=eM*tP,e4+=eM*tR,eU+=(eM=em[14])*e8,eV+=eM*e9,eH+=eM*e7,e$+=eM*tw,eW+=eM*tC,eZ+=eM*tT,eK+=eM*t_,eG+=eM*tE,eY+=eM*tS,eJ+=eM*tA,eX+=eM*tN,eQ+=eM*tI,e0+=eM*tD,e6+=eM*tO,e4+=eM*tP,e3+=eM*tR,eV+=(eM=em[15])*e8,eH+=eM*e9,e$+=eM*e7,eW+=eM*tw,eZ+=eM*tC,eK+=eM*tT,eG+=eM*t_,eY+=eM*tE,eJ+=eM*tS,eX+=eM*tA,eQ+=eM*tN,e0+=eM*tI,e6+=eM*tD,e4+=eM*tO,e3+=eM*tP,e5+=eM*tR,eT+=38*eH,e_+=38*e$,eE+=38*eW,eS+=38*eZ,eA+=38*eK,eN+=38*eG,eI+=38*eY,eD+=38*eJ,eO+=38*eX,eP+=38*eQ,eR+=38*e0,eB+=38*e6,eF+=38*e4,ej+=38*e3,eU+=38*e5,eC=Math.floor((eM=eT+(eC=1)+65535)/65536),eT=eM-65536*eC,eC=Math.floor((eM=e_+eC+65535)/65536),e_=eM-65536*eC,eC=Math.floor((eM=eE+eC+65535)/65536),eE=eM-65536*eC,eC=Math.floor((eM=eS+eC+65535)/65536),eS=eM-65536*eC,eC=Math.floor((eM=eA+eC+65535)/65536),eA=eM-65536*eC,eC=Math.floor((eM=eN+eC+65535)/65536),eN=eM-65536*eC,eC=Math.floor((eM=eI+eC+65535)/65536),eI=eM-65536*eC,eC=Math.floor((eM=eD+eC+65535)/65536),eD=eM-65536*eC,eC=Math.floor((eM=eO+eC+65535)/65536),eO=eM-65536*eC,eC=Math.floor((eM=eP+eC+65535)/65536),eP=eM-65536*eC,eC=Math.floor((eM=eR+eC+65535)/65536),eR=eM-65536*eC,eC=Math.floor((eM=eB+eC+65535)/65536),eB=eM-65536*eC,eC=Math.floor((eM=eF+eC+65535)/65536),eF=eM-65536*eC,eC=Math.floor((eM=ej+eC+65535)/65536),ej=eM-65536*eC,eC=Math.floor((eM=eU+eC+65535)/65536),eU=eM-65536*eC,eC=Math.floor((eM=eV+eC+65535)/65536),eV=eM-65536*eC,eT+=eC-1+37*(eC-1),eC=Math.floor((eM=eT+(eC=1)+65535)/65536),eT=eM-65536*eC,eC=Math.floor((eM=e_+eC+65535)/65536),e_=eM-65536*eC,eC=Math.floor((eM=eE+eC+65535)/65536),eE=eM-65536*eC,eC=Math.floor((eM=eS+eC+65535)/65536),eS=eM-65536*eC,eC=Math.floor((eM=eA+eC+65535)/65536),eA=eM-65536*eC,eC=Math.floor((eM=eN+eC+65535)/65536),eN=eM-65536*eC,eC=Math.floor((eM=eI+eC+65535)/65536),eI=eM-65536*eC,eC=Math.floor((eM=eD+eC+65535)/65536),eD=eM-65536*eC,eC=Math.floor((eM=eO+eC+65535)/65536),eO=eM-65536*eC,eC=Math.floor((eM=eP+eC+65535)/65536),eP=eM-65536*eC,eC=Math.floor((eM=eR+eC+65535)/65536),eR=eM-65536*eC,eC=Math.floor((eM=eB+eC+65535)/65536),eB=eM-65536*eC,eC=Math.floor((eM=eF+eC+65535)/65536),eF=eM-65536*eC,eC=Math.floor((eM=ej+eC+65535)/65536),ej=eM-65536*eC,eC=Math.floor((eM=eU+eC+65535)/65536),eU=eM-65536*eC,eC=Math.floor((eM=eV+eC+65535)/65536),eV=eM-65536*eC,eT+=eC-1+37*(eC-1),eb[0]=eT,eb[1]=e_,eb[2]=eE,eb[3]=eS,eb[4]=eA,eb[5]=eN,eb[6]=eI,eb[7]=eD,eb[8]=eO,eb[9]=eP,eb[10]=eR,eb[11]=eB,eb[12]=eF,eb[13]=ej,eb[14]=eU,eb[15]=eV}function eB(eb,em){eR(eb,em,em)}function eF(eb,em){let ew=e_();for(let eb=0;eb<16;eb++)ew[eb]=em[eb];for(let eb=253;eb>=0;eb--)eB(ew,ew),2!==eb&&4!==eb&&eR(ew,ew,em);for(let em=0;em<16;em++)eb[em]=ew[em]}function ej(eb,em){let ew=new Uint8Array(32),eM=new Float64Array(80),eC=e_(),eT=e_(),eE=e_(),eA=e_(),ej=e_(),eU=e_();for(let em=0;em<31;em++)ew[em]=eb[em];ew[31]=127&eb[31]|64,ew[0]&=248,eD(eM,em);for(let eb=0;eb<16;eb++)eT[eb]=eM[eb];eC[0]=eA[0]=1;for(let eb=254;eb>=0;--eb){let em=ew[eb>>>3]>>>(7&eb)&1;eN(eC,eT,em),eN(eE,eA,em),eO(ej,eC,eE),eP(eC,eC,eE),eO(eE,eT,eA),eP(eT,eT,eA),eB(eA,ej),eB(eU,eC),eR(eC,eE,eC),eR(eE,eT,ej),eO(ej,eC,eE),eP(eC,eC,eE),eB(eT,eC),eP(eE,eA,eU),eR(eC,eE,eS),eO(eC,eC,eA),eR(eE,eE,eC),eR(eC,eA,eU),eR(eA,eT,eM),eB(eT,ej),eN(eC,eT,em),eN(eE,eA,em)}for(let eb=0;eb<16;eb++)eM[eb+16]=eC[eb],eM[eb+32]=eE[eb],eM[eb+48]=eT[eb],eM[eb+64]=eA[eb];let eV=eM.subarray(32),eH=eM.subarray(16);eF(eV,eV),eR(eH,eH,eV);let e$=new Uint8Array(32);return eI(e$,eH),e$}function eU(eb){return ej(eb,eE)}function eV(eb){if(eb.length!==em.KS)throw Error(`x25519: seed must be ${em.KS} bytes`);let ew=new Uint8Array(eb),eM=eU(ew);return{publicKey:eM,secretKey:ew}}function eH(eb){let em=(0,eC.randomBytes)(32,eb),ew=eV(em);return(0,eT.wipe)(em),ew}function e$(eb,ew,eM=!1){if(eb.length!==em.kz)throw Error("X25519: incorrect secret key length");if(ew.length!==em.kz)throw Error("X25519: incorrect public key length");let eC=ej(eb,ew);if(eM){let eb=0;for(let em=0;emem.indexOf(eV)&&(eH[eV]=eb[eV]);if(null!=eb&&"function"==typeof Object.getOwnPropertySymbols)for(var ew=0,eV=Object.getOwnPropertySymbols(eb);ewem.indexOf(eV[ew])&&Object.prototype.propertyIsEnumerable.call(eb,eV[ew])&&(eH[eV[ew]]=eb[eV[ew]]);return eH}function eT(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC}function e_(eb,em){return function(eH,eV){em(eH,eV,eb)}}function eS(eb,em){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(eb,em)}function eE(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})}function eA(eb,em){var eH,eV,ew,eM,eC={label:0,sent:function(){if(1&ew[0])throw ew[1];return ew[1]},trys:[],ops:[]};return eM={next:eT(0),throw:eT(1),return:eT(2)},"function"==typeof Symbol&&(eM[Symbol.iterator]=function(){return this}),eM;function eT(eb){return function(em){return e_([eb,em])}}function e_(eM){if(eH)throw TypeError("Generator is already executing.");for(;eC;)try{if(eH=1,eV&&(ew=2&eM[0]?eV.return:eM[0]?eV.throw||((ew=eV.return)&&ew.call(eV),0):eV.next)&&!(ew=ew.call(eV,eM[1])).done)return ew;switch(eV=0,ew&&(eM=[2&eM[0],ew.value]),eM[0]){case 0:case 1:ew=eM;break;case 4:return eC.label++,{value:eM[1],done:!1};case 5:eC.label++,eV=eM[1],eM=[0];continue;case 7:eM=eC.ops.pop(),eC.trys.pop();continue;default:if(!(ew=(ew=eC.trys).length>0&&ew[ew.length-1])&&(6===eM[0]||2===eM[0])){eC=0;continue}if(3===eM[0]&&(!ew||eM[1]>ew[0]&&eM[1]=eb.length&&(eb=void 0),{value:eb&&eb[eV++],done:!eb}}};throw TypeError(em?"Object is not iterable.":"Symbol.iterator is not defined.")}function eP(eb,em){var eH="function"==typeof Symbol&&eb[Symbol.iterator];if(!eH)return eb;var eV,ew,eM=eH.call(eb),eC=[];try{for(;(void 0===em||em-- >0)&&!(eV=eM.next()).done;)eC.push(eV.value)}catch(eb){ew={error:eb}}finally{try{eV&&!eV.done&&(eH=eM.return)&&eH.call(eM)}finally{if(ew)throw ew.error}}return eC}function eO(){for(var eb=[],em=0;em1||eT(eb,em)})})}function eT(eb,em){try{e_(ew[eb](em))}catch(eb){eA(eM[0][3],eb)}}function e_(eb){eb.value instanceof eB?Promise.resolve(eb.value.v).then(eS,eE):eA(eM[0][2],eb)}function eS(eb){eT("next",eb)}function eE(eb){eT("throw",eb)}function eA(eb,em){eb(em),eM.shift(),eM.length&&eT(eM[0][0],eM[0][1])}}function ej(eb){var em,eH;return em={},eV("next"),eV("throw",function(eb){throw eb}),eV("return"),em[Symbol.iterator]=function(){return this},em;function eV(eV,ew){em[eV]=eb[eV]?function(em){return(eH=!eH)?{value:eB(eb[eV](em)),done:"return"===eV}:ew?ew(em):em}:ew}}function eU(eb){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var em,eH=eb[Symbol.asyncIterator];return eH?eH.call(eb):(eb=eD(eb),em={},eV("next"),eV("throw"),eV("return"),em[Symbol.asyncIterator]=function(){return this},em);function eV(eH){em[eH]=eb[eH]&&function(em){return new Promise(function(eV,eM){ew(eV,eM,(em=eb[eH](em)).done,em.value)})}}function ew(eb,em,eH,eV){Promise.resolve(eV).then(function(em){eb({value:em,done:eH})},em)}}function e$(eb,em){return Object.defineProperty?Object.defineProperty(eb,"raw",{value:em}):eb.raw=em,eb}function eW(eb){if(eb&&eb.__esModule)return eb;var em={};if(null!=eb)for(var eH in eb)Object.hasOwnProperty.call(eb,eH)&&(em[eH]=eb[eH]);return em.default=eb,em}function eZ(eb){return eb&&eb.__esModule?eb:{default:eb}}function eG(eb,em){if(!em.has(eb))throw TypeError("attempted to get private field on non-instance");return em.get(eb)}function eK(eb,em,eH){if(!em.has(eb))throw TypeError("attempted to set private field on non-instance");return em.set(eb,eH),eH}},72030:function(eb){"use strict";eb.exports=function(){throw Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}},37968:function(eb,em,eH){"use strict";eH.d(em,{iO:function(){return eV}});let eV={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"}}},43014:function(){},36900:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0});let eV=eH(30004);eV.__exportStar(eH(46869),em),eV.__exportStar(eH(88033),em)},46869:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.ONE_THOUSAND=em.ONE_HUNDRED=void 0,em.ONE_HUNDRED=100,em.ONE_THOUSAND=1e3},88033:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.ONE_YEAR=em.FOUR_WEEKS=em.THREE_WEEKS=em.TWO_WEEKS=em.ONE_WEEK=em.THIRTY_DAYS=em.SEVEN_DAYS=em.FIVE_DAYS=em.THREE_DAYS=em.ONE_DAY=em.TWENTY_FOUR_HOURS=em.TWELVE_HOURS=em.SIX_HOURS=em.THREE_HOURS=em.ONE_HOUR=em.SIXTY_MINUTES=em.THIRTY_MINUTES=em.TEN_MINUTES=em.FIVE_MINUTES=em.ONE_MINUTE=em.SIXTY_SECONDS=em.THIRTY_SECONDS=em.TEN_SECONDS=em.FIVE_SECONDS=em.ONE_SECOND=void 0,em.ONE_SECOND=1,em.FIVE_SECONDS=5,em.TEN_SECONDS=10,em.THIRTY_SECONDS=30,em.SIXTY_SECONDS=60,em.ONE_MINUTE=em.SIXTY_SECONDS,em.FIVE_MINUTES=5*em.ONE_MINUTE,em.TEN_MINUTES=10*em.ONE_MINUTE,em.THIRTY_MINUTES=30*em.ONE_MINUTE,em.SIXTY_MINUTES=60*em.ONE_MINUTE,em.ONE_HOUR=em.SIXTY_MINUTES,em.THREE_HOURS=3*em.ONE_HOUR,em.SIX_HOURS=6*em.ONE_HOUR,em.TWELVE_HOURS=12*em.ONE_HOUR,em.TWENTY_FOUR_HOURS=24*em.ONE_HOUR,em.ONE_DAY=em.TWENTY_FOUR_HOURS,em.THREE_DAYS=3*em.ONE_DAY,em.FIVE_DAYS=5*em.ONE_DAY,em.SEVEN_DAYS=7*em.ONE_DAY,em.THIRTY_DAYS=30*em.ONE_DAY,em.ONE_WEEK=em.SEVEN_DAYS,em.TWO_WEEKS=2*em.ONE_WEEK,em.THREE_WEEKS=3*em.ONE_WEEK,em.FOUR_WEEKS=4*em.ONE_WEEK,em.ONE_YEAR=365*em.ONE_DAY},66736:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0});let eV=eH(30004);eV.__exportStar(eH(44273),em),eV.__exportStar(eH(47001),em),eV.__exportStar(eH(52939),em),eV.__exportStar(eH(36900),em)},52939:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0});let eV=eH(30004);eV.__exportStar(eH(88766),em)},88766:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.IWatch=void 0;class eH{}em.IWatch=eH},83207:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.fromMiliseconds=em.toMiliseconds=void 0;let eV=eH(36900);function ew(eb){return eb*eV.ONE_THOUSAND}function eM(eb){return Math.floor(eb/eV.ONE_THOUSAND)}em.toMiliseconds=ew,em.fromMiliseconds=eM},83873:function(eb,em){"use strict";function eH(eb){return new Promise(em=>{setTimeout(()=>{em(!0)},eb)})}Object.defineProperty(em,"__esModule",{value:!0}),em.delay=void 0,em.delay=eH},44273:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0});let eV=eH(30004);eV.__exportStar(eH(83873),em),eV.__exportStar(eH(83207),em)},47001:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.Watch=void 0;class eH{constructor(){this.timestamps=new Map}start(eb){if(this.timestamps.has(eb))throw Error(`Watch already started for label: ${eb}`);this.timestamps.set(eb,{started:Date.now()})}stop(eb){let em=this.get(eb);if(void 0!==em.elapsed)throw Error(`Watch already stopped for label: ${eb}`);let eH=Date.now()-em.started;this.timestamps.set(eb,{started:em.started,elapsed:eH})}get(eb){let em=this.timestamps.get(eb);if(void 0===em)throw Error(`No timestamp found for label: ${eb}`);return em}elapsed(eb){let em=this.get(eb),eH=em.elapsed||Date.now()-em.started;return eH}}em.Watch=eH,em.default=eH},30004:function(eb,em,eH){"use strict";eH.r(em),eH.d(em,{__assign:function(){return eM},__asyncDelegator:function(){return ej},__asyncGenerator:function(){return eF},__asyncValues:function(){return eU},__await:function(){return eB},__awaiter:function(){return eE},__classPrivateFieldGet:function(){return eG},__classPrivateFieldSet:function(){return eK},__createBinding:function(){return eN},__decorate:function(){return eT},__exportStar:function(){return eI},__extends:function(){return ew},__generator:function(){return eA},__importDefault:function(){return eZ},__importStar:function(){return eW},__makeTemplateObject:function(){return e$},__metadata:function(){return eS},__param:function(){return e_},__read:function(){return eP},__rest:function(){return eC},__spread:function(){return eO},__spreadArrays:function(){return eR},__values:function(){return eD}});/*! ***************************************************************************** +***************************************************************************** */var eM=function(eb,em){return(eM=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(eb,em){eb.__proto__=em}||function(eb,em){for(var ew in em)em.hasOwnProperty(ew)&&(eb[ew]=em[ew])})(eb,em)};function eC(eb,em){function ew(){this.constructor=eb}eM(eb,em),eb.prototype=null===em?Object.create(em):(ew.prototype=em.prototype,new ew)}var eT=function(){return(eT=Object.assign||function(eb){for(var em,ew=1,eM=arguments.length;ewem.indexOf(eM)&&(ew[eM]=eb[eM]);if(null!=eb&&"function"==typeof Object.getOwnPropertySymbols)for(var eC=0,eM=Object.getOwnPropertySymbols(eb);eCem.indexOf(eM[eC])&&Object.prototype.propertyIsEnumerable.call(eb,eM[eC])&&(ew[eM[eC]]=eb[eM[eC]]);return ew}function eE(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_}function eS(eb,em){return function(ew,eM){em(ew,eM,eb)}}function eA(eb,em){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(eb,em)}function eN(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})}function eI(eb,em){var ew,eM,eC,eT,e_={label:0,sent:function(){if(1&eC[0])throw eC[1];return eC[1]},trys:[],ops:[]};return eT={next:eE(0),throw:eE(1),return:eE(2)},"function"==typeof Symbol&&(eT[Symbol.iterator]=function(){return this}),eT;function eE(eb){return function(em){return eS([eb,em])}}function eS(eT){if(ew)throw TypeError("Generator is already executing.");for(;e_;)try{if(ew=1,eM&&(eC=2&eT[0]?eM.return:eT[0]?eM.throw||((eC=eM.return)&&eC.call(eM),0):eM.next)&&!(eC=eC.call(eM,eT[1])).done)return eC;switch(eM=0,eC&&(eT=[2&eT[0],eC.value]),eT[0]){case 0:case 1:eC=eT;break;case 4:return e_.label++,{value:eT[1],done:!1};case 5:e_.label++,eM=eT[1],eT=[0];continue;case 7:eT=e_.ops.pop(),e_.trys.pop();continue;default:if(!(eC=(eC=e_.trys).length>0&&eC[eC.length-1])&&(6===eT[0]||2===eT[0])){e_=0;continue}if(3===eT[0]&&(!eC||eT[1]>eC[0]&&eT[1]=eb.length&&(eb=void 0),{value:eb&&eb[eM++],done:!eb}}};throw TypeError(em?"Object is not iterable.":"Symbol.iterator is not defined.")}function eR(eb,em){var ew="function"==typeof Symbol&&eb[Symbol.iterator];if(!ew)return eb;var eM,eC,eT=ew.call(eb),e_=[];try{for(;(void 0===em||em-- >0)&&!(eM=eT.next()).done;)e_.push(eM.value)}catch(eb){eC={error:eb}}finally{try{eM&&!eM.done&&(ew=eT.return)&&ew.call(eT)}finally{if(eC)throw eC.error}}return e_}function eB(){for(var eb=[],em=0;em1||eE(eb,em)})})}function eE(eb,em){try{eS(eC[eb](em))}catch(eb){eI(eT[0][3],eb)}}function eS(eb){eb.value instanceof ej?Promise.resolve(eb.value.v).then(eA,eN):eI(eT[0][2],eb)}function eA(eb){eE("next",eb)}function eN(eb){eE("throw",eb)}function eI(eb,em){eb(em),eT.shift(),eT.length&&eE(eT[0][0],eT[0][1])}}function eV(eb){var em,ew;return em={},eM("next"),eM("throw",function(eb){throw eb}),eM("return"),em[Symbol.iterator]=function(){return this},em;function eM(eM,eC){em[eM]=eb[eM]?function(em){return(ew=!ew)?{value:ej(eb[eM](em)),done:"return"===eM}:eC?eC(em):em}:eC}}function eH(eb){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var em,ew=eb[Symbol.asyncIterator];return ew?ew.call(eb):(eb=eP(eb),em={},eM("next"),eM("throw"),eM("return"),em[Symbol.asyncIterator]=function(){return this},em);function eM(ew){em[ew]=eb[ew]&&function(em){return new Promise(function(eM,eT){eC(eM,eT,(em=eb[ew](em)).done,em.value)})}}function eC(eb,em,ew,eM){Promise.resolve(eM).then(function(em){eb({value:em,done:ew})},em)}}function e$(eb,em){return Object.defineProperty?Object.defineProperty(eb,"raw",{value:em}):eb.raw=em,eb}function eW(eb){if(eb&&eb.__esModule)return eb;var em={};if(null!=eb)for(var ew in eb)Object.hasOwnProperty.call(eb,ew)&&(em[ew]=eb[ew]);return em.default=eb,em}function eZ(eb){return eb&&eb.__esModule?eb:{default:eb}}function eK(eb,em){if(!em.has(eb))throw TypeError("attempted to get private field on non-instance");return em.get(eb)}function eG(eb,em,ew){if(!em.has(eb))throw TypeError("attempted to set private field on non-instance");return em.set(eb,ew),ew}},72030:function(eb){"use strict";eb.exports=function(){throw Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}},37968:function(eb,em,ew){"use strict";ew.d(em,{iO:function(){return eM}});let eM={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"}}},43014:function(){},36900:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0});let eM=ew(30004);eM.__exportStar(ew(46869),em),eM.__exportStar(ew(88033),em)},46869:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.ONE_THOUSAND=em.ONE_HUNDRED=void 0,em.ONE_HUNDRED=100,em.ONE_THOUSAND=1e3},88033:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.ONE_YEAR=em.FOUR_WEEKS=em.THREE_WEEKS=em.TWO_WEEKS=em.ONE_WEEK=em.THIRTY_DAYS=em.SEVEN_DAYS=em.FIVE_DAYS=em.THREE_DAYS=em.ONE_DAY=em.TWENTY_FOUR_HOURS=em.TWELVE_HOURS=em.SIX_HOURS=em.THREE_HOURS=em.ONE_HOUR=em.SIXTY_MINUTES=em.THIRTY_MINUTES=em.TEN_MINUTES=em.FIVE_MINUTES=em.ONE_MINUTE=em.SIXTY_SECONDS=em.THIRTY_SECONDS=em.TEN_SECONDS=em.FIVE_SECONDS=em.ONE_SECOND=void 0,em.ONE_SECOND=1,em.FIVE_SECONDS=5,em.TEN_SECONDS=10,em.THIRTY_SECONDS=30,em.SIXTY_SECONDS=60,em.ONE_MINUTE=em.SIXTY_SECONDS,em.FIVE_MINUTES=5*em.ONE_MINUTE,em.TEN_MINUTES=10*em.ONE_MINUTE,em.THIRTY_MINUTES=30*em.ONE_MINUTE,em.SIXTY_MINUTES=60*em.ONE_MINUTE,em.ONE_HOUR=em.SIXTY_MINUTES,em.THREE_HOURS=3*em.ONE_HOUR,em.SIX_HOURS=6*em.ONE_HOUR,em.TWELVE_HOURS=12*em.ONE_HOUR,em.TWENTY_FOUR_HOURS=24*em.ONE_HOUR,em.ONE_DAY=em.TWENTY_FOUR_HOURS,em.THREE_DAYS=3*em.ONE_DAY,em.FIVE_DAYS=5*em.ONE_DAY,em.SEVEN_DAYS=7*em.ONE_DAY,em.THIRTY_DAYS=30*em.ONE_DAY,em.ONE_WEEK=em.SEVEN_DAYS,em.TWO_WEEKS=2*em.ONE_WEEK,em.THREE_WEEKS=3*em.ONE_WEEK,em.FOUR_WEEKS=4*em.ONE_WEEK,em.ONE_YEAR=365*em.ONE_DAY},66736:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0});let eM=ew(30004);eM.__exportStar(ew(44273),em),eM.__exportStar(ew(47001),em),eM.__exportStar(ew(52939),em),eM.__exportStar(ew(36900),em)},52939:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0});let eM=ew(30004);eM.__exportStar(ew(88766),em)},88766:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.IWatch=void 0;class ew{}em.IWatch=ew},83207:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.fromMiliseconds=em.toMiliseconds=void 0;let eM=ew(36900);function eC(eb){return eb*eM.ONE_THOUSAND}function eT(eb){return Math.floor(eb/eM.ONE_THOUSAND)}em.toMiliseconds=eC,em.fromMiliseconds=eT},83873:function(eb,em){"use strict";function ew(eb){return new Promise(em=>{setTimeout(()=>{em(!0)},eb)})}Object.defineProperty(em,"__esModule",{value:!0}),em.delay=void 0,em.delay=ew},44273:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0});let eM=ew(30004);eM.__exportStar(ew(83873),em),eM.__exportStar(ew(83207),em)},47001:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.Watch=void 0;class ew{constructor(){this.timestamps=new Map}start(eb){if(this.timestamps.has(eb))throw Error(`Watch already started for label: ${eb}`);this.timestamps.set(eb,{started:Date.now()})}stop(eb){let em=this.get(eb);if(void 0!==em.elapsed)throw Error(`Watch already stopped for label: ${eb}`);let ew=Date.now()-em.started;this.timestamps.set(eb,{started:em.started,elapsed:ew})}get(eb){let em=this.timestamps.get(eb);if(void 0===em)throw Error(`No timestamp found for label: ${eb}`);return em}elapsed(eb){let em=this.get(eb),ew=em.elapsed||Date.now()-em.started;return ew}}em.Watch=ew,em.default=ew},30004:function(eb,em,ew){"use strict";ew.r(em),ew.d(em,{__assign:function(){return eT},__asyncDelegator:function(){return eV},__asyncGenerator:function(){return eU},__asyncValues:function(){return eH},__await:function(){return ej},__awaiter:function(){return eN},__classPrivateFieldGet:function(){return eK},__classPrivateFieldSet:function(){return eG},__createBinding:function(){return eD},__decorate:function(){return eE},__exportStar:function(){return eO},__extends:function(){return eC},__generator:function(){return eI},__importDefault:function(){return eZ},__importStar:function(){return eW},__makeTemplateObject:function(){return e$},__metadata:function(){return eA},__param:function(){return eS},__read:function(){return eR},__rest:function(){return e_},__spread:function(){return eB},__spreadArrays:function(){return eF},__values:function(){return eP}});/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any @@ -132,36 +132,39 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */var eV=function(eb,em){return(eV=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(eb,em){eb.__proto__=em}||function(eb,em){for(var eH in em)em.hasOwnProperty(eH)&&(eb[eH]=em[eH])})(eb,em)};function ew(eb,em){function eH(){this.constructor=eb}eV(eb,em),eb.prototype=null===em?Object.create(em):(eH.prototype=em.prototype,new eH)}var eM=function(){return(eM=Object.assign||function(eb){for(var em,eH=1,eV=arguments.length;eHem.indexOf(eV)&&(eH[eV]=eb[eV]);if(null!=eb&&"function"==typeof Object.getOwnPropertySymbols)for(var ew=0,eV=Object.getOwnPropertySymbols(eb);ewem.indexOf(eV[ew])&&Object.prototype.propertyIsEnumerable.call(eb,eV[ew])&&(eH[eV[ew]]=eb[eV[ew]]);return eH}function eT(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC}function e_(eb,em){return function(eH,eV){em(eH,eV,eb)}}function eS(eb,em){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(eb,em)}function eE(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})}function eA(eb,em){var eH,eV,ew,eM,eC={label:0,sent:function(){if(1&ew[0])throw ew[1];return ew[1]},trys:[],ops:[]};return eM={next:eT(0),throw:eT(1),return:eT(2)},"function"==typeof Symbol&&(eM[Symbol.iterator]=function(){return this}),eM;function eT(eb){return function(em){return e_([eb,em])}}function e_(eM){if(eH)throw TypeError("Generator is already executing.");for(;eC;)try{if(eH=1,eV&&(ew=2&eM[0]?eV.return:eM[0]?eV.throw||((ew=eV.return)&&ew.call(eV),0):eV.next)&&!(ew=ew.call(eV,eM[1])).done)return ew;switch(eV=0,ew&&(eM=[2&eM[0],ew.value]),eM[0]){case 0:case 1:ew=eM;break;case 4:return eC.label++,{value:eM[1],done:!1};case 5:eC.label++,eV=eM[1],eM=[0];continue;case 7:eM=eC.ops.pop(),eC.trys.pop();continue;default:if(!(ew=(ew=eC.trys).length>0&&ew[ew.length-1])&&(6===eM[0]||2===eM[0])){eC=0;continue}if(3===eM[0]&&(!ew||eM[1]>ew[0]&&eM[1]=eb.length&&(eb=void 0),{value:eb&&eb[eV++],done:!eb}}};throw TypeError(em?"Object is not iterable.":"Symbol.iterator is not defined.")}function eP(eb,em){var eH="function"==typeof Symbol&&eb[Symbol.iterator];if(!eH)return eb;var eV,ew,eM=eH.call(eb),eC=[];try{for(;(void 0===em||em-- >0)&&!(eV=eM.next()).done;)eC.push(eV.value)}catch(eb){ew={error:eb}}finally{try{eV&&!eV.done&&(eH=eM.return)&&eH.call(eM)}finally{if(ew)throw ew.error}}return eC}function eO(){for(var eb=[],em=0;em1||eT(eb,em)})})}function eT(eb,em){try{e_(ew[eb](em))}catch(eb){eA(eM[0][3],eb)}}function e_(eb){eb.value instanceof eB?Promise.resolve(eb.value.v).then(eS,eE):eA(eM[0][2],eb)}function eS(eb){eT("next",eb)}function eE(eb){eT("throw",eb)}function eA(eb,em){eb(em),eM.shift(),eM.length&&eT(eM[0][0],eM[0][1])}}function ej(eb){var em,eH;return em={},eV("next"),eV("throw",function(eb){throw eb}),eV("return"),em[Symbol.iterator]=function(){return this},em;function eV(eV,ew){em[eV]=eb[eV]?function(em){return(eH=!eH)?{value:eB(eb[eV](em)),done:"return"===eV}:ew?ew(em):em}:ew}}function eU(eb){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var em,eH=eb[Symbol.asyncIterator];return eH?eH.call(eb):(eb=eD(eb),em={},eV("next"),eV("throw"),eV("return"),em[Symbol.asyncIterator]=function(){return this},em);function eV(eH){em[eH]=eb[eH]&&function(em){return new Promise(function(eV,eM){ew(eV,eM,(em=eb[eH](em)).done,em.value)})}}function ew(eb,em,eH,eV){Promise.resolve(eV).then(function(em){eb({value:em,done:eH})},em)}}function e$(eb,em){return Object.defineProperty?Object.defineProperty(eb,"raw",{value:em}):eb.raw=em,eb}function eW(eb){if(eb&&eb.__esModule)return eb;var em={};if(null!=eb)for(var eH in eb)Object.hasOwnProperty.call(eb,eH)&&(em[eH]=eb[eH]);return em.default=eb,em}function eZ(eb){return eb&&eb.__esModule?eb:{default:eb}}function eG(eb,em){if(!em.has(eb))throw TypeError("attempted to get private field on non-instance");return em.get(eb)}function eK(eb,em,eH){if(!em.has(eb))throw TypeError("attempted to set private field on non-instance");return em.set(eb,eH),eH}},62873:function(eb,em){"use strict";function eH(eb){let em;return"undefined"!=typeof window&&void 0!==window[eb]&&(em=window[eb]),em}function eV(eb){let em=eH(eb);if(!em)throw Error(`${eb} is not defined in Window`);return em}function ew(){return eV("document")}function eM(){return eH("document")}function eC(){return eV("navigator")}function eT(){return eH("navigator")}function e_(){return eV("location")}function eS(){return eH("location")}function eE(){return eV("crypto")}function eA(){return eH("crypto")}function eN(){return eV("localStorage")}function eI(){return eH("localStorage")}Object.defineProperty(em,"__esModule",{value:!0}),em.getLocalStorage=em.getLocalStorageOrThrow=em.getCrypto=em.getCryptoOrThrow=em.getLocation=em.getLocationOrThrow=em.getNavigator=em.getNavigatorOrThrow=em.getDocument=em.getDocumentOrThrow=em.getFromWindowOrThrow=em.getFromWindow=void 0,em.getFromWindow=eH,em.getFromWindowOrThrow=eV,em.getDocumentOrThrow=ew,em.getDocument=eM,em.getNavigatorOrThrow=eC,em.getNavigator=eT,em.getLocationOrThrow=e_,em.getLocation=eS,em.getCryptoOrThrow=eE,em.getCrypto=eA,em.getLocalStorageOrThrow=eN,em.getLocalStorage=eI},65755:function(eb,em,eH){"use strict";var eV;eV={value:!0},em.D=void 0;let ew=eH(62873);function eM(){let eb,em;try{eb=ew.getDocumentOrThrow(),em=ew.getLocationOrThrow()}catch(eb){return null}function eH(){let eH=eb.getElementsByTagName("link"),eV=[];for(let eb=0;eb-1){let eb=ew.getAttribute("href");if(eb){if(-1===eb.toLowerCase().indexOf("https:")&&-1===eb.toLowerCase().indexOf("http:")&&0!==eb.indexOf("//")){let eH=em.protocol+"//"+em.host;if(0===eb.indexOf("/"))eH+=eb;else{let eV=em.pathname.split("/");eV.pop();let ew=eV.join("/");eH+=ew+"/"+eb}eV.push(eH)}else if(0===eb.indexOf("//")){let eH=em.protocol+eb;eV.push(eH)}else eV.push(eb)}}}return eV}function eV(...em){let eH=eb.getElementsByTagName("meta");for(let eb=0;ebeV.getAttribute(eb)).filter(eb=>!!eb&&em.includes(eb));if(ew.length&&ew){let eb=eV.getAttribute("content");if(eb)return eb}}return""}function eM(){let em=eV("name","og:site_name","og:title","twitter:title");return em||(em=eb.title),em}function eC(){let eb=eV("description","og:description","twitter:description","keywords");return eb}let eT=eM(),e_=eC(),eS=em.origin,eE=eH(),eA={description:e_,url:eS,icons:eE,name:eT};return eA}em.D=eM},78826:function(eb){"use strict";!function(em){function eH(eb){return parseInt(eb)===eb}function eV(eb){if(!eH(eb.length))return!1;for(var em=0;em255)return!1;return!0}function ew(eb,em){if(eb.buffer&&ArrayBuffer.isView(eb)&&"Uint8Array"===eb.name)return em&&(eb=eb.slice?eb.slice():Array.prototype.slice.call(eb)),eb;if(Array.isArray(eb)){if(!eV(eb))throw Error("Array contains invalid value: "+eb);return new Uint8Array(eb)}if(eH(eb.length)&&eV(eb))return new Uint8Array(eb);throw Error("unsupported array-like object")}function eM(eb){return new Uint8Array(eb)}function eC(eb,em,eH,eV,ew){(null!=eV||null!=ew)&&(eb=eb.slice?eb.slice(eV,ew):Array.prototype.slice.call(eb,eV,ew)),em.set(eb,eH)}var eT=function(){return{toBytes:function(eb){var em=[],eH=0;for(eb=encodeURI(eb);eH191&&eV<224?(em.push(String.fromCharCode((31&eV)<<6|63&eb[eH+1])),eH+=2):(em.push(String.fromCharCode((15&eV)<<12|(63&eb[eH+1])<<6|63&eb[eH+2])),eH+=3)}return em.join("")}}}(),e_=function(){var eb="0123456789abcdef";return{toBytes:function(eb){for(var em=[],eH=0;eH>4]+eb[15&ew])}return eH.join("")}}}(),eS={16:10,24:12,32:14},eE=[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],eA=[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],eN=[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],eI=[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],eD=[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],eP=[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],eO=[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],eR=[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],eB=[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],eF=[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],ej=[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],eU=[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],e$=[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],eW=[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],eZ=[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 eG(eb){for(var em=[],eH=0;eH>2,this._Ke[eM][em%4]=ew[em],this._Kd[eb-eM][em%4]=ew[em];for(var eM,eC,eT=0,e_=eV;e_>16&255]<<24^eA[eC>>8&255]<<16^eA[255&eC]<<8^eA[eC>>24&255]^eE[eT]<<24,eT+=1,8!=eV)for(var em=1;em>8&255]<<8^eA[eC>>16&255]<<16^eA[eC>>24&255]<<24;for(var em=eV/2+1;em>2,eI=e_%4,this._Ke[eN][eI]=ew[em],this._Kd[eb-eN][eI]=ew[em++],e_++}for(var eN=1;eN>24&255]^e$[eC>>16&255]^eW[eC>>8&255]^eZ[255&eC]},eK.prototype.encrypt=function(eb){if(16!=eb.length)throw Error("invalid plaintext size (must be 16 bytes)");for(var em=this._Ke.length-1,eH=[0,0,0,0],eV=eG(eb),ew=0;ew<4;ew++)eV[ew]^=this._Ke[0][ew];for(var eC=1;eC>24&255]^eD[eV[(ew+1)%4]>>16&255]^eP[eV[(ew+2)%4]>>8&255]^eO[255&eV[(ew+3)%4]]^this._Ke[eC][ew];eV=eH.slice()}for(var eT,e_=eM(16),ew=0;ew<4;ew++)eT=this._Ke[em][ew],e_[4*ew]=(eA[eV[ew]>>24&255]^eT>>24)&255,e_[4*ew+1]=(eA[eV[(ew+1)%4]>>16&255]^eT>>16)&255,e_[4*ew+2]=(eA[eV[(ew+2)%4]>>8&255]^eT>>8)&255,e_[4*ew+3]=(eA[255&eV[(ew+3)%4]]^eT)&255;return e_},eK.prototype.decrypt=function(eb){if(16!=eb.length)throw Error("invalid ciphertext size (must be 16 bytes)");for(var em=this._Kd.length-1,eH=[0,0,0,0],eV=eG(eb),ew=0;ew<4;ew++)eV[ew]^=this._Kd[0][ew];for(var eC=1;eC>24&255]^eB[eV[(ew+3)%4]>>16&255]^eF[eV[(ew+2)%4]>>8&255]^ej[255&eV[(ew+1)%4]]^this._Kd[eC][ew];eV=eH.slice()}for(var eT,e_=eM(16),ew=0;ew<4;ew++)eT=this._Kd[em][ew],e_[4*ew]=(eN[eV[ew]>>24&255]^eT>>24)&255,e_[4*ew+1]=(eN[eV[(ew+3)%4]>>16&255]^eT>>16)&255,e_[4*ew+2]=(eN[eV[(ew+2)%4]>>8&255]^eT>>8)&255,e_[4*ew+3]=(eN[255&eV[(ew+1)%4]]^eT)&255;return e_};var eY=function(eb){if(!(this instanceof eY))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new eK(eb)};eY.prototype.encrypt=function(eb){if((eb=ew(eb)).length%16!=0)throw Error("invalid plaintext size (must be multiple of 16 bytes)");for(var em=eM(eb.length),eH=eM(16),eV=0;eV=0;--em)this._counter[em]=eb%256,eb>>=8},e0.prototype.setBytes=function(eb){if(16!=(eb=ew(eb,!0)).length)throw Error("invalid counter bytes size (must be 16 bytes)");this._counter=eb},e0.prototype.increment=function(){for(var eb=15;eb>=0;eb--)if(255===this._counter[eb])this._counter[eb]=0;else{this._counter[eb]++;break}};var e6=function(eb,em){if(!(this instanceof e6))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",em instanceof e0||(em=new e0(em)),this._counter=em,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new eK(eb)};e6.prototype.encrypt=function(eb){for(var em=ew(eb,!0),eH=0;eH16)throw Error("PKCS#7 padding byte out of range");for(var eH=eb.length-em,eV=0;eV1?eH-1:0),ew=1;ew1?eH-1:0),ew=1;ew1?eH-1:0),ew=1;ew1?eH-1:0),ew=1;eweb.length)&&(eH=eb.length),eb.substring(eH-em.length,eH)===em}function e$(eb,em){if(em=Math.floor(em),0==eb.length||0==em)return"";var eH=eb.length*em;for(em=Math.floor(Math.log(em)/Math.log(2));em;)eb+=eb,em--;return eb+eb.substring(0,eH-eb.length)}var eW="",eZ="",eG="",eK="",eY={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"},eX=10;function eJ(eb){var em=Object.keys(eb),eH=Object.create(Object.getPrototypeOf(eb));return em.forEach(function(em){eH[em]=eb[em]}),Object.defineProperty(eH,"message",{value:eb.message}),eH}function eQ(eb){return eF(eb,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function e0(eb,em,eH){var ew="",eM="",eC=0,eT="",e_=!1,eS=eQ(eb),eE=eS.split("\n"),eA=eQ(em).split("\n"),eN=0,eI="";if("strictEqual"===eH&&"object"===eB(eb)&&"object"===eB(em)&&null!==eb&&null!==em&&(eH="strictEqualObject"),1===eE.length&&1===eA.length&&eE[0]!==eA[0]){var eD=eE[0].length+eA[0].length;if(eD<=eX){if(("object"!==eB(eb)||null===eb)&&("object"!==eB(em)||null===em)&&(0!==eb||0!==em))return"".concat(eY[eH],"\n\n")+"".concat(eE[0]," !== ").concat(eA[0],"\n")}else if("strictEqualObject"!==eH&&eD<(eV.stderr&&eV.stderr.isTTY?eV.stderr.columns:80)){for(;eE[0][eN]===eA[0][eN];)eN++;eN>2&&(eI="\n ".concat(e$(" ",eN),"^"),eN=0)}}for(var eP=eE[eE.length-1],eO=eA[eA.length-1];eP===eO&&(eN++<2?eT="\n ".concat(eP).concat(eT):ew=eP,eE.pop(),eA.pop(),0!==eE.length&&0!==eA.length);)eP=eE[eE.length-1],eO=eA[eA.length-1];var eR=Math.max(eE.length,eA.length);if(0===eR){var eF=eS.split("\n");if(eF.length>30)for(eF[26]="".concat(eW,"...").concat(eK);eF.length>27;)eF.pop();return"".concat(eY.notIdentical,"\n\n").concat(eF.join("\n"),"\n")}eN>3&&(eT="\n".concat(eW,"...").concat(eK).concat(eT),e_=!0),""!==ew&&(eT="\n ".concat(ew).concat(eT),ew="");var ej=0,eJ=eY[eH]+"\n".concat(eZ,"+ actual").concat(eK," ").concat(eG,"- expected").concat(eK),e0=" ".concat(eW,"...").concat(eK," Lines skipped");for(eN=0;eN1&&eN>2&&(e6>4?(eM+="\n".concat(eW,"...").concat(eK),e_=!0):e6>3&&(eM+="\n ".concat(eA[eN-2]),ej++),eM+="\n ".concat(eA[eN-1]),ej++),eC=eN,ew+="\n".concat(eG,"-").concat(eK," ").concat(eA[eN]),ej++;else if(eA.length1&&eN>2&&(e6>4?(eM+="\n".concat(eW,"...").concat(eK),e_=!0):e6>3&&(eM+="\n ".concat(eE[eN-2]),ej++),eM+="\n ".concat(eE[eN-1]),ej++),eC=eN,eM+="\n".concat(eZ,"+").concat(eK," ").concat(eE[eN]),ej++;else{var e4=eA[eN],e3=eE[eN],e5=e3!==e4&&(!eU(e3,",")||e3.slice(0,-1)!==e4);e5&&eU(e4,",")&&e4.slice(0,-1)===e3&&(e5=!1,e3+=","),e5?(e6>1&&eN>2&&(e6>4?(eM+="\n".concat(eW,"...").concat(eK),e_=!0):e6>3&&(eM+="\n ".concat(eE[eN-2]),ej++),eM+="\n ".concat(eE[eN-1]),ej++),eC=eN,eM+="\n".concat(eZ,"+").concat(eK," ").concat(e3),ew+="\n".concat(eG,"-").concat(eK," ").concat(e4),ej+=2):(eM+=ew,ew="",(1===e6||0===eN)&&(eM+="\n ".concat(e3),ej++))}if(ej>20&&eN30)for(eD[26]="".concat(eW,"...").concat(eK);eD.length>27;)eD.pop();eH=1===eD.length?eS(this,eR(em).call(this,"".concat(eI," ").concat(eD[0]))):eS(this,eR(em).call(this,"".concat(eI,"\n\n").concat(eD.join("\n"),"\n")))}else{var eP=eQ(e_),eO="",eF=eY[eM];"notDeepEqual"===eM||"notEqual"===eM?(eP="".concat(eY[eM],"\n\n").concat(eP)).length>1024&&(eP="".concat(eP.slice(0,1021),"...")):(eO="".concat(eQ(eA)),eP.length>512&&(eP="".concat(eP.slice(0,509),"...")),eO.length>512&&(eO="".concat(eO.slice(0,509),"...")),"deepEqual"===eM||"equal"===eM?eP="".concat(eF,"\n\n").concat(eP,"\n\nshould equal\n\n"):eO=" ".concat(eM," ").concat(eO)),eH=eS(this,eR(em).call(this,"".concat(eP).concat(eO)))}return Error.stackTraceLimit=eN,eH.generatedMessage=!ew,Object.defineProperty(eE(eH),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),eH.code="ERR_ASSERTION",eH.actual=e_,eH.expected=eA,eH.operator=eM,Error.captureStackTrace&&Error.captureStackTrace(eE(eH),eT),eH.stack,eH.name="AssertionError",eS(eH)}return eA(em,eb),e_(em,[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:eF.custom,value:function(eb,em){return eF(this,ew({},em,{customInspect:!1,depth:0}))}}]),em}(eN(Error));eb.exports=e6},62136:function(eb,em,eH){"use strict";function eV(eb){return(eV="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(eb){return typeof eb}:function(eb){return eb&&"function"==typeof Symbol&&eb.constructor===Symbol&&eb!==Symbol.prototype?"symbol":typeof eb})(eb)}function ew(eb,em){if(!(eb instanceof em))throw TypeError("Cannot call a class as a function")}function eM(eb,em){return em&&("object"===eV(em)||"function"==typeof em)?em:eC(eb)}function eC(eb){if(void 0===eb)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return eb}function eT(eb){return(eT=Object.setPrototypeOf?Object.getPrototypeOf:function(eb){return eb.__proto__||Object.getPrototypeOf(eb)})(eb)}function e_(eb,em){if("function"!=typeof em&&null!==em)throw TypeError("Super expression must either be null or a function");eb.prototype=Object.create(em&&em.prototype,{constructor:{value:eb,writable:!0,configurable:!0}}),em&&eS(eb,em)}function eS(eb,em){return(eS=Object.setPrototypeOf||function(eb,em){return eb.__proto__=em,eb})(eb,em)}var eE,eA,eN={};function eI(eb,em,eH){function eV(eb,eH,eV){return"string"==typeof em?em:em(eb,eH,eV)}eH||(eH=Error);var eC=function(em){function eH(em,eC,e_){var eS;return ew(this,eH),(eS=eM(this,eT(eH).call(this,eV(em,eC,e_)))).code=eb,eS}return e_(eH,em),eH}(eH);eN[eb]=eC}function eD(eb,em){if(!Array.isArray(eb))return"of ".concat(em," ").concat(String(eb));var eH=eb.length;return(eb=eb.map(function(eb){return String(eb)}),eH>2)?"one of ".concat(em," ").concat(eb.slice(0,eH-1).join(", "),", or ")+eb[eH-1]:2===eH?"one of ".concat(em," ").concat(eb[0]," or ").concat(eb[1]):"of ".concat(em," ").concat(eb[0])}function eP(eb,em,eH){return eb.substr(!eH||eH<0?0:+eH,em.length)===em}function eO(eb,em,eH){return(void 0===eH||eH>eb.length)&&(eH=eb.length),eb.substring(eH-em.length,eH)===em}function eR(eb,em,eH){return"number"!=typeof eH&&(eH=0),!(eH+em.length>eb.length)&&-1!==eb.indexOf(em,eH)}eI("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),eI("ERR_INVALID_ARG_TYPE",function(eb,em,ew){if(void 0===eE&&(eE=eH(69282)),eE("string"==typeof eb,"'name' must be a string"),"string"==typeof em&&eP(em,"not ")?(eM="must not be",em=em.replace(/^not /,"")):eM="must be",eO(eb," argument"))eC="The ".concat(eb," ").concat(eM," ").concat(eD(em,"type"));else{var eM,eC,eT=eR(eb,".")?"property":"argument";eC='The "'.concat(eb,'" ').concat(eT," ").concat(eM," ").concat(eD(em,"type"))}return eC+". Received type ".concat(eV(ew))},TypeError),eI("ERR_INVALID_ARG_VALUE",function(eb,em){var eV=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===eA&&(eA=eH(89539));var ew=eA.inspect(em);return ew.length>128&&(ew="".concat(ew.slice(0,128),"...")),"The argument '".concat(eb,"' ").concat(eV,". Received ").concat(ew)},TypeError,RangeError),eI("ERR_INVALID_RETURN_VALUE",function(eb,em,eH){var ew;return ew=eH&&eH.constructor&&eH.constructor.name?"instance of ".concat(eH.constructor.name):"type ".concat(eV(eH)),"Expected ".concat(eb,' to be returned from the "').concat(em,'"')+" function but got ".concat(ew,".")},TypeError),eI("ERR_MISSING_ARGS",function(){for(var eb=arguments.length,em=Array(eb),eV=0;eV0,"At least one arg needs to be specified");var ew="The ",eM=em.length;switch(em=em.map(function(eb){return'"'.concat(eb,'"')}),eM){case 1:ew+="".concat(em[0]," argument");break;case 2:ew+="".concat(em[0]," and ").concat(em[1]," arguments");break;default:ew+=em.slice(0,eM-1).join(", ")+", and ".concat(em[eM-1]," arguments")}return"".concat(ew," must be specified")},TypeError),eb.exports.codes=eN},19158:function(eb,em,eH){"use strict";function eV(eb,em){return eC(eb)||eM(eb,em)||ew()}function ew(){throw TypeError("Invalid attempt to destructure non-iterable instance")}function eM(eb,em){var eH=[],eV=!0,ew=!1,eM=void 0;try{for(var eC,eT=eb[Symbol.iterator]();!(eV=(eC=eT.next()).done)&&(eH.push(eC.value),!em||eH.length!==em);eV=!0);}catch(eb){ew=!0,eM=eb}finally{try{eV||null==eT.return||eT.return()}finally{if(ew)throw eM}}return eH}function eC(eb){if(Array.isArray(eb))return eb}function eT(eb){return(eT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(eb){return typeof eb}:function(eb){return eb&&"function"==typeof Symbol&&eb.constructor===Symbol&&eb!==Symbol.prototype?"symbol":typeof eb})(eb)}var e_=void 0!==/a/g.flags,eS=function(eb){var em=[];return eb.forEach(function(eb){return em.push(eb)}),em},eE=function(eb){var em=[];return eb.forEach(function(eb,eH){return em.push([eH,eb])}),em},eA=Object.is?Object.is:eH(20609),eN=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},eI=Number.isNaN?Number.isNaN:eH(20360);function eD(eb){return eb.call.bind(eb)}var eP=eD(Object.prototype.hasOwnProperty),eO=eD(Object.prototype.propertyIsEnumerable),eR=eD(Object.prototype.toString),eB=eH(89539).types,eF=eB.isAnyArrayBuffer,ej=eB.isArrayBufferView,eU=eB.isDate,e$=eB.isMap,eW=eB.isRegExp,eZ=eB.isSet,eG=eB.isNativeError,eK=eB.isBoxedPrimitive,eY=eB.isNumberObject,eX=eB.isStringObject,eJ=eB.isBooleanObject,eQ=eB.isBigIntObject,e0=eB.isSymbolObject,e6=eB.isFloat32Array,e4=eB.isFloat64Array;function e3(eb){if(0===eb.length||eb.length>10)return!0;for(var em=0;em57)return!0}return 10===eb.length&&eb>=4294967296}function e5(eb){return Object.keys(eb).filter(e3).concat(eN(eb).filter(Object.prototype.propertyIsEnumerable.bind(eb)))}/*! +***************************************************************************** */var eM=function(eb,em){return(eM=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(eb,em){eb.__proto__=em}||function(eb,em){for(var ew in em)em.hasOwnProperty(ew)&&(eb[ew]=em[ew])})(eb,em)};function eC(eb,em){function ew(){this.constructor=eb}eM(eb,em),eb.prototype=null===em?Object.create(em):(ew.prototype=em.prototype,new ew)}var eT=function(){return(eT=Object.assign||function(eb){for(var em,ew=1,eM=arguments.length;ewem.indexOf(eM)&&(ew[eM]=eb[eM]);if(null!=eb&&"function"==typeof Object.getOwnPropertySymbols)for(var eC=0,eM=Object.getOwnPropertySymbols(eb);eCem.indexOf(eM[eC])&&Object.prototype.propertyIsEnumerable.call(eb,eM[eC])&&(ew[eM[eC]]=eb[eM[eC]]);return ew}function eE(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_}function eS(eb,em){return function(ew,eM){em(ew,eM,eb)}}function eA(eb,em){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(eb,em)}function eN(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})}function eI(eb,em){var ew,eM,eC,eT,e_={label:0,sent:function(){if(1&eC[0])throw eC[1];return eC[1]},trys:[],ops:[]};return eT={next:eE(0),throw:eE(1),return:eE(2)},"function"==typeof Symbol&&(eT[Symbol.iterator]=function(){return this}),eT;function eE(eb){return function(em){return eS([eb,em])}}function eS(eT){if(ew)throw TypeError("Generator is already executing.");for(;e_;)try{if(ew=1,eM&&(eC=2&eT[0]?eM.return:eT[0]?eM.throw||((eC=eM.return)&&eC.call(eM),0):eM.next)&&!(eC=eC.call(eM,eT[1])).done)return eC;switch(eM=0,eC&&(eT=[2&eT[0],eC.value]),eT[0]){case 0:case 1:eC=eT;break;case 4:return e_.label++,{value:eT[1],done:!1};case 5:e_.label++,eM=eT[1],eT=[0];continue;case 7:eT=e_.ops.pop(),e_.trys.pop();continue;default:if(!(eC=(eC=e_.trys).length>0&&eC[eC.length-1])&&(6===eT[0]||2===eT[0])){e_=0;continue}if(3===eT[0]&&(!eC||eT[1]>eC[0]&&eT[1]=eb.length&&(eb=void 0),{value:eb&&eb[eM++],done:!eb}}};throw TypeError(em?"Object is not iterable.":"Symbol.iterator is not defined.")}function eR(eb,em){var ew="function"==typeof Symbol&&eb[Symbol.iterator];if(!ew)return eb;var eM,eC,eT=ew.call(eb),e_=[];try{for(;(void 0===em||em-- >0)&&!(eM=eT.next()).done;)e_.push(eM.value)}catch(eb){eC={error:eb}}finally{try{eM&&!eM.done&&(ew=eT.return)&&ew.call(eT)}finally{if(eC)throw eC.error}}return e_}function eB(){for(var eb=[],em=0;em1||eE(eb,em)})})}function eE(eb,em){try{eS(eC[eb](em))}catch(eb){eI(eT[0][3],eb)}}function eS(eb){eb.value instanceof ej?Promise.resolve(eb.value.v).then(eA,eN):eI(eT[0][2],eb)}function eA(eb){eE("next",eb)}function eN(eb){eE("throw",eb)}function eI(eb,em){eb(em),eT.shift(),eT.length&&eE(eT[0][0],eT[0][1])}}function eV(eb){var em,ew;return em={},eM("next"),eM("throw",function(eb){throw eb}),eM("return"),em[Symbol.iterator]=function(){return this},em;function eM(eM,eC){em[eM]=eb[eM]?function(em){return(ew=!ew)?{value:ej(eb[eM](em)),done:"return"===eM}:eC?eC(em):em}:eC}}function eH(eb){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var em,ew=eb[Symbol.asyncIterator];return ew?ew.call(eb):(eb=eP(eb),em={},eM("next"),eM("throw"),eM("return"),em[Symbol.asyncIterator]=function(){return this},em);function eM(ew){em[ew]=eb[ew]&&function(em){return new Promise(function(eM,eT){eC(eM,eT,(em=eb[ew](em)).done,em.value)})}}function eC(eb,em,ew,eM){Promise.resolve(eM).then(function(em){eb({value:em,done:ew})},em)}}function e$(eb,em){return Object.defineProperty?Object.defineProperty(eb,"raw",{value:em}):eb.raw=em,eb}function eW(eb){if(eb&&eb.__esModule)return eb;var em={};if(null!=eb)for(var ew in eb)Object.hasOwnProperty.call(eb,ew)&&(em[ew]=eb[ew]);return em.default=eb,em}function eZ(eb){return eb&&eb.__esModule?eb:{default:eb}}function eK(eb,em){if(!em.has(eb))throw TypeError("attempted to get private field on non-instance");return em.get(eb)}function eG(eb,em,ew){if(!em.has(eb))throw TypeError("attempted to set private field on non-instance");return em.set(eb,ew),ew}},62873:function(eb,em){"use strict";function ew(eb){let em;return"undefined"!=typeof window&&void 0!==window[eb]&&(em=window[eb]),em}function eM(eb){let em=ew(eb);if(!em)throw Error(`${eb} is not defined in Window`);return em}function eC(){return eM("document")}function eT(){return ew("document")}function e_(){return eM("navigator")}function eE(){return ew("navigator")}function eS(){return eM("location")}function eA(){return ew("location")}function eN(){return eM("crypto")}function eI(){return ew("crypto")}function eD(){return eM("localStorage")}function eO(){return ew("localStorage")}Object.defineProperty(em,"__esModule",{value:!0}),em.getLocalStorage=em.getLocalStorageOrThrow=em.getCrypto=em.getCryptoOrThrow=em.getLocation=em.getLocationOrThrow=em.getNavigator=em.getNavigatorOrThrow=em.getDocument=em.getDocumentOrThrow=em.getFromWindowOrThrow=em.getFromWindow=void 0,em.getFromWindow=ew,em.getFromWindowOrThrow=eM,em.getDocumentOrThrow=eC,em.getDocument=eT,em.getNavigatorOrThrow=e_,em.getNavigator=eE,em.getLocationOrThrow=eS,em.getLocation=eA,em.getCryptoOrThrow=eN,em.getCrypto=eI,em.getLocalStorageOrThrow=eD,em.getLocalStorage=eO},65755:function(eb,em,ew){"use strict";var eM;eM={value:!0},em.D=void 0;let eC=ew(62873);function eT(){let eb,em;try{eb=eC.getDocumentOrThrow(),em=eC.getLocationOrThrow()}catch(eb){return null}function ew(){let ew=eb.getElementsByTagName("link"),eM=[];for(let eb=0;eb-1){let eb=eC.getAttribute("href");if(eb){if(-1===eb.toLowerCase().indexOf("https:")&&-1===eb.toLowerCase().indexOf("http:")&&0!==eb.indexOf("//")){let ew=em.protocol+"//"+em.host;if(0===eb.indexOf("/"))ew+=eb;else{let eM=em.pathname.split("/");eM.pop();let eC=eM.join("/");ew+=eC+"/"+eb}eM.push(ew)}else if(0===eb.indexOf("//")){let ew=em.protocol+eb;eM.push(ew)}else eM.push(eb)}}}return eM}function eM(...em){let ew=eb.getElementsByTagName("meta");for(let eb=0;ebeM.getAttribute(eb)).filter(eb=>!!eb&&em.includes(eb));if(eC.length&&eC){let eb=eM.getAttribute("content");if(eb)return eb}}return""}function eT(){let em=eM("name","og:site_name","og:title","twitter:title");return em||(em=eb.title),em}function e_(){let eb=eM("description","og:description","twitter:description","keywords");return eb}let eE=eT(),eS=e_(),eA=em.origin,eN=ew(),eI={description:eS,url:eA,icons:eN,name:eE};return eI}em.D=eT},78826:function(eb){"use strict";!function(em){function ew(eb){return parseInt(eb)===eb}function eM(eb){if(!ew(eb.length))return!1;for(var em=0;em255)return!1;return!0}function eC(eb,em){if(eb.buffer&&ArrayBuffer.isView(eb)&&"Uint8Array"===eb.name)return em&&(eb=eb.slice?eb.slice():Array.prototype.slice.call(eb)),eb;if(Array.isArray(eb)){if(!eM(eb))throw Error("Array contains invalid value: "+eb);return new Uint8Array(eb)}if(ew(eb.length)&&eM(eb))return new Uint8Array(eb);throw Error("unsupported array-like object")}function eT(eb){return new Uint8Array(eb)}function e_(eb,em,ew,eM,eC){(null!=eM||null!=eC)&&(eb=eb.slice?eb.slice(eM,eC):Array.prototype.slice.call(eb,eM,eC)),em.set(eb,ew)}var eE=function(){return{toBytes:function(eb){var em=[],ew=0;for(eb=encodeURI(eb);ew191&&eM<224?(em.push(String.fromCharCode((31&eM)<<6|63&eb[ew+1])),ew+=2):(em.push(String.fromCharCode((15&eM)<<12|(63&eb[ew+1])<<6|63&eb[ew+2])),ew+=3)}return em.join("")}}}(),eS=function(){var eb="0123456789abcdef";return{toBytes:function(eb){for(var em=[],ew=0;ew>4]+eb[15&eC])}return ew.join("")}}}(),eA={16:10,24:12,32:14},eN=[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],eI=[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],eD=[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],eO=[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],eP=[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],eR=[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],eB=[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],eF=[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],ej=[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],eU=[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],eV=[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],eH=[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],e$=[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],eW=[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],eZ=[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 eK(eb){for(var em=[],ew=0;ew>2,this._Ke[eT][em%4]=eC[em],this._Kd[eb-eT][em%4]=eC[em];for(var eT,e_,eE=0,eS=eM;eS>16&255]<<24^eI[e_>>8&255]<<16^eI[255&e_]<<8^eI[e_>>24&255]^eN[eE]<<24,eE+=1,8!=eM)for(var em=1;em>8&255]<<8^eI[e_>>16&255]<<16^eI[e_>>24&255]<<24;for(var em=eM/2+1;em>2,eO=eS%4,this._Ke[eD][eO]=eC[em],this._Kd[eb-eD][eO]=eC[em++],eS++}for(var eD=1;eD>24&255]^e$[e_>>16&255]^eW[e_>>8&255]^eZ[255&e_]},eG.prototype.encrypt=function(eb){if(16!=eb.length)throw Error("invalid plaintext size (must be 16 bytes)");for(var em=this._Ke.length-1,ew=[0,0,0,0],eM=eK(eb),eC=0;eC<4;eC++)eM[eC]^=this._Ke[0][eC];for(var e_=1;e_>24&255]^eP[eM[(eC+1)%4]>>16&255]^eR[eM[(eC+2)%4]>>8&255]^eB[255&eM[(eC+3)%4]]^this._Ke[e_][eC];eM=ew.slice()}for(var eE,eS=eT(16),eC=0;eC<4;eC++)eE=this._Ke[em][eC],eS[4*eC]=(eI[eM[eC]>>24&255]^eE>>24)&255,eS[4*eC+1]=(eI[eM[(eC+1)%4]>>16&255]^eE>>16)&255,eS[4*eC+2]=(eI[eM[(eC+2)%4]>>8&255]^eE>>8)&255,eS[4*eC+3]=(eI[255&eM[(eC+3)%4]]^eE)&255;return eS},eG.prototype.decrypt=function(eb){if(16!=eb.length)throw Error("invalid ciphertext size (must be 16 bytes)");for(var em=this._Kd.length-1,ew=[0,0,0,0],eM=eK(eb),eC=0;eC<4;eC++)eM[eC]^=this._Kd[0][eC];for(var e_=1;e_>24&255]^ej[eM[(eC+3)%4]>>16&255]^eU[eM[(eC+2)%4]>>8&255]^eV[255&eM[(eC+1)%4]]^this._Kd[e_][eC];eM=ew.slice()}for(var eE,eS=eT(16),eC=0;eC<4;eC++)eE=this._Kd[em][eC],eS[4*eC]=(eD[eM[eC]>>24&255]^eE>>24)&255,eS[4*eC+1]=(eD[eM[(eC+3)%4]>>16&255]^eE>>16)&255,eS[4*eC+2]=(eD[eM[(eC+2)%4]>>8&255]^eE>>8)&255,eS[4*eC+3]=(eD[255&eM[(eC+1)%4]]^eE)&255;return eS};var eY=function(eb){if(!(this instanceof eY))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new eG(eb)};eY.prototype.encrypt=function(eb){if((eb=eC(eb)).length%16!=0)throw Error("invalid plaintext size (must be multiple of 16 bytes)");for(var em=eT(eb.length),ew=eT(16),eM=0;eM=0;--em)this._counter[em]=eb%256,eb>>=8},e0.prototype.setBytes=function(eb){if(16!=(eb=eC(eb,!0)).length)throw Error("invalid counter bytes size (must be 16 bytes)");this._counter=eb},e0.prototype.increment=function(){for(var eb=15;eb>=0;eb--)if(255===this._counter[eb])this._counter[eb]=0;else{this._counter[eb]++;break}};var e6=function(eb,em){if(!(this instanceof e6))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",em instanceof e0||(em=new e0(em)),this._counter=em,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new eG(eb)};e6.prototype.encrypt=function(eb){for(var em=eC(eb,!0),ew=0;ew16)throw Error("PKCS#7 padding byte out of range");for(var ew=eb.length-em,eM=0;eM1?ew-1:0),eC=1;eC1?ew-1:0),eC=1;eC1?ew-1:0),eC=1;eC1?ew-1:0),eC=1;eCeb.length)&&(ew=eb.length),eb.substring(ew-em.length,ew)===em}function e$(eb,em){if(em=Math.floor(em),0==eb.length||0==em)return"";var ew=eb.length*em;for(em=Math.floor(Math.log(em)/Math.log(2));em;)eb+=eb,em--;return eb+eb.substring(0,ew-eb.length)}var eW="",eZ="",eK="",eG="",eY={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"},eJ=10;function eX(eb){var em=Object.keys(eb),ew=Object.create(Object.getPrototypeOf(eb));return em.forEach(function(em){ew[em]=eb[em]}),Object.defineProperty(ew,"message",{value:eb.message}),ew}function eQ(eb){return eU(eb,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function e0(eb,em,ew){var eC="",eT="",e_=0,eE="",eS=!1,eA=eQ(eb),eN=eA.split("\n"),eI=eQ(em).split("\n"),eD=0,eO="";if("strictEqual"===ew&&"object"===ej(eb)&&"object"===ej(em)&&null!==eb&&null!==em&&(ew="strictEqualObject"),1===eN.length&&1===eI.length&&eN[0]!==eI[0]){var eP=eN[0].length+eI[0].length;if(eP<=eJ){if(("object"!==ej(eb)||null===eb)&&("object"!==ej(em)||null===em)&&(0!==eb||0!==em))return"".concat(eY[ew],"\n\n")+"".concat(eN[0]," !== ").concat(eI[0],"\n")}else if("strictEqualObject"!==ew&&eP<(eM.stderr&&eM.stderr.isTTY?eM.stderr.columns:80)){for(;eN[0][eD]===eI[0][eD];)eD++;eD>2&&(eO="\n ".concat(e$(" ",eD),"^"),eD=0)}}for(var eR=eN[eN.length-1],eB=eI[eI.length-1];eR===eB&&(eD++<2?eE="\n ".concat(eR).concat(eE):eC=eR,eN.pop(),eI.pop(),0!==eN.length&&0!==eI.length);)eR=eN[eN.length-1],eB=eI[eI.length-1];var eF=Math.max(eN.length,eI.length);if(0===eF){var eU=eA.split("\n");if(eU.length>30)for(eU[26]="".concat(eW,"...").concat(eG);eU.length>27;)eU.pop();return"".concat(eY.notIdentical,"\n\n").concat(eU.join("\n"),"\n")}eD>3&&(eE="\n".concat(eW,"...").concat(eG).concat(eE),eS=!0),""!==eC&&(eE="\n ".concat(eC).concat(eE),eC="");var eV=0,eX=eY[ew]+"\n".concat(eZ,"+ actual").concat(eG," ").concat(eK,"- expected").concat(eG),e0=" ".concat(eW,"...").concat(eG," Lines skipped");for(eD=0;eD1&&eD>2&&(e6>4?(eT+="\n".concat(eW,"...").concat(eG),eS=!0):e6>3&&(eT+="\n ".concat(eI[eD-2]),eV++),eT+="\n ".concat(eI[eD-1]),eV++),e_=eD,eC+="\n".concat(eK,"-").concat(eG," ").concat(eI[eD]),eV++;else if(eI.length1&&eD>2&&(e6>4?(eT+="\n".concat(eW,"...").concat(eG),eS=!0):e6>3&&(eT+="\n ".concat(eN[eD-2]),eV++),eT+="\n ".concat(eN[eD-1]),eV++),e_=eD,eT+="\n".concat(eZ,"+").concat(eG," ").concat(eN[eD]),eV++;else{var e4=eI[eD],e3=eN[eD],e5=e3!==e4&&(!eH(e3,",")||e3.slice(0,-1)!==e4);e5&&eH(e4,",")&&e4.slice(0,-1)===e3&&(e5=!1,e3+=","),e5?(e6>1&&eD>2&&(e6>4?(eT+="\n".concat(eW,"...").concat(eG),eS=!0):e6>3&&(eT+="\n ".concat(eN[eD-2]),eV++),eT+="\n ".concat(eN[eD-1]),eV++),e_=eD,eT+="\n".concat(eZ,"+").concat(eG," ").concat(e3),eC+="\n".concat(eK,"-").concat(eG," ").concat(e4),eV+=2):(eT+=eC,eC="",(1===e6||0===eD)&&(eT+="\n ".concat(e3),eV++))}if(eV>20&&eD30)for(eP[26]="".concat(eW,"...").concat(eG);eP.length>27;)eP.pop();ew=1===eP.length?eA(this,eF(em).call(this,"".concat(eO," ").concat(eP[0]))):eA(this,eF(em).call(this,"".concat(eO,"\n\n").concat(eP.join("\n"),"\n")))}else{var eR=eQ(eS),eB="",eU=eY[eT];"notDeepEqual"===eT||"notEqual"===eT?(eR="".concat(eY[eT],"\n\n").concat(eR)).length>1024&&(eR="".concat(eR.slice(0,1021),"...")):(eB="".concat(eQ(eI)),eR.length>512&&(eR="".concat(eR.slice(0,509),"...")),eB.length>512&&(eB="".concat(eB.slice(0,509),"...")),"deepEqual"===eT||"equal"===eT?eR="".concat(eU,"\n\n").concat(eR,"\n\nshould equal\n\n"):eB=" ".concat(eT," ").concat(eB)),ew=eA(this,eF(em).call(this,"".concat(eR).concat(eB)))}return Error.stackTraceLimit=eD,ew.generatedMessage=!eC,Object.defineProperty(eN(ew),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),ew.code="ERR_ASSERTION",ew.actual=eS,ew.expected=eI,ew.operator=eT,Error.captureStackTrace&&Error.captureStackTrace(eN(ew),eE),ew.stack,ew.name="AssertionError",eA(ew)}return eI(em,eb),eS(em,[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:eU.custom,value:function(eb,em){return eU(this,eC({},em,{customInspect:!1,depth:0}))}}]),em}(eD(Error));eb.exports=e6},62136:function(eb,em,ew){"use strict";function eM(eb){return(eM="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(eb){return typeof eb}:function(eb){return eb&&"function"==typeof Symbol&&eb.constructor===Symbol&&eb!==Symbol.prototype?"symbol":typeof eb})(eb)}function eC(eb,em){if(!(eb instanceof em))throw TypeError("Cannot call a class as a function")}function eT(eb,em){return em&&("object"===eM(em)||"function"==typeof em)?em:e_(eb)}function e_(eb){if(void 0===eb)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return eb}function eE(eb){return(eE=Object.setPrototypeOf?Object.getPrototypeOf:function(eb){return eb.__proto__||Object.getPrototypeOf(eb)})(eb)}function eS(eb,em){if("function"!=typeof em&&null!==em)throw TypeError("Super expression must either be null or a function");eb.prototype=Object.create(em&&em.prototype,{constructor:{value:eb,writable:!0,configurable:!0}}),em&&eA(eb,em)}function eA(eb,em){return(eA=Object.setPrototypeOf||function(eb,em){return eb.__proto__=em,eb})(eb,em)}var eN,eI,eD={};function eO(eb,em,ew){function eM(eb,ew,eM){return"string"==typeof em?em:em(eb,ew,eM)}ew||(ew=Error);var e_=function(em){function ew(em,e_,eS){var eA;return eC(this,ew),(eA=eT(this,eE(ew).call(this,eM(em,e_,eS)))).code=eb,eA}return eS(ew,em),ew}(ew);eD[eb]=e_}function eP(eb,em){if(!Array.isArray(eb))return"of ".concat(em," ").concat(String(eb));var ew=eb.length;return(eb=eb.map(function(eb){return String(eb)}),ew>2)?"one of ".concat(em," ").concat(eb.slice(0,ew-1).join(", "),", or ")+eb[ew-1]:2===ew?"one of ".concat(em," ").concat(eb[0]," or ").concat(eb[1]):"of ".concat(em," ").concat(eb[0])}function eR(eb,em,ew){return eb.substr(!ew||ew<0?0:+ew,em.length)===em}function eB(eb,em,ew){return(void 0===ew||ew>eb.length)&&(ew=eb.length),eb.substring(ew-em.length,ew)===em}function eF(eb,em,ew){return"number"!=typeof ew&&(ew=0),!(ew+em.length>eb.length)&&-1!==eb.indexOf(em,ew)}eO("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),eO("ERR_INVALID_ARG_TYPE",function(eb,em,eC){if(void 0===eN&&(eN=ew(69282)),eN("string"==typeof eb,"'name' must be a string"),"string"==typeof em&&eR(em,"not ")?(eT="must not be",em=em.replace(/^not /,"")):eT="must be",eB(eb," argument"))e_="The ".concat(eb," ").concat(eT," ").concat(eP(em,"type"));else{var eT,e_,eE=eF(eb,".")?"property":"argument";e_='The "'.concat(eb,'" ').concat(eE," ").concat(eT," ").concat(eP(em,"type"))}return e_+". Received type ".concat(eM(eC))},TypeError),eO("ERR_INVALID_ARG_VALUE",function(eb,em){var eM=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===eI&&(eI=ew(89539));var eC=eI.inspect(em);return eC.length>128&&(eC="".concat(eC.slice(0,128),"...")),"The argument '".concat(eb,"' ").concat(eM,". Received ").concat(eC)},TypeError,RangeError),eO("ERR_INVALID_RETURN_VALUE",function(eb,em,ew){var eC;return eC=ew&&ew.constructor&&ew.constructor.name?"instance of ".concat(ew.constructor.name):"type ".concat(eM(ew)),"Expected ".concat(eb,' to be returned from the "').concat(em,'"')+" function but got ".concat(eC,".")},TypeError),eO("ERR_MISSING_ARGS",function(){for(var eb=arguments.length,em=Array(eb),eM=0;eM0,"At least one arg needs to be specified");var eC="The ",eT=em.length;switch(em=em.map(function(eb){return'"'.concat(eb,'"')}),eT){case 1:eC+="".concat(em[0]," argument");break;case 2:eC+="".concat(em[0]," and ").concat(em[1]," arguments");break;default:eC+=em.slice(0,eT-1).join(", ")+", and ".concat(em[eT-1]," arguments")}return"".concat(eC," must be specified")},TypeError),eb.exports.codes=eD},19158:function(eb,em,ew){"use strict";function eM(eb,em){return e_(eb)||eT(eb,em)||eC()}function eC(){throw TypeError("Invalid attempt to destructure non-iterable instance")}function eT(eb,em){var ew=[],eM=!0,eC=!1,eT=void 0;try{for(var e_,eE=eb[Symbol.iterator]();!(eM=(e_=eE.next()).done)&&(ew.push(e_.value),!em||ew.length!==em);eM=!0);}catch(eb){eC=!0,eT=eb}finally{try{eM||null==eE.return||eE.return()}finally{if(eC)throw eT}}return ew}function e_(eb){if(Array.isArray(eb))return eb}function eE(eb){return(eE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(eb){return typeof eb}:function(eb){return eb&&"function"==typeof Symbol&&eb.constructor===Symbol&&eb!==Symbol.prototype?"symbol":typeof eb})(eb)}var eS=void 0!==/a/g.flags,eA=function(eb){var em=[];return eb.forEach(function(eb){return em.push(eb)}),em},eN=function(eb){var em=[];return eb.forEach(function(eb,ew){return em.push([ew,eb])}),em},eI=Object.is?Object.is:ew(20609),eD=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},eO=Number.isNaN?Number.isNaN:ew(20360);function eP(eb){return eb.call.bind(eb)}var eR=eP(Object.prototype.hasOwnProperty),eB=eP(Object.prototype.propertyIsEnumerable),eF=eP(Object.prototype.toString),ej=ew(89539).types,eU=ej.isAnyArrayBuffer,eV=ej.isArrayBufferView,eH=ej.isDate,e$=ej.isMap,eW=ej.isRegExp,eZ=ej.isSet,eK=ej.isNativeError,eG=ej.isBoxedPrimitive,eY=ej.isNumberObject,eJ=ej.isStringObject,eX=ej.isBooleanObject,eQ=ej.isBigIntObject,e0=ej.isSymbolObject,e6=ej.isFloat32Array,e4=ej.isFloat64Array;function e3(eb){if(0===eb.length||eb.length>10)return!0;for(var em=0;em57)return!0}return 10===eb.length&&eb>=4294967296}function e5(eb){return Object.keys(eb).filter(e3).concat(eD(eb).filter(Object.prototype.propertyIsEnumerable.bind(eb)))}/*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT - */function e8(eb,em){if(eb===em)return 0;for(var eH=eb.length,eV=em.length,ew=0,eM=Math.min(eH,eV);ew1)throw Error("this method is unavailabel on semaphores with concurrency > 1; use the scoped release returned by acquire instead");if(this._currentReleaser){var eb=this._currentReleaser;this._currentReleaser=void 0,eb()}},eb.prototype._dispatch=function(){var eb=this,em=this._queue.shift();if(em){var eH=!1;this._currentReleaser=function(){eH||(eH=!0,eb._value++,eb._dispatch())},em([this._value--,this._currentReleaser])}},eb}();em.default=ew},48125:function(eb,em,eH){"use strict";eV={value:!0},eV=eV=em.WU=void 0;var eV,ew=eH(85078);Object.defineProperty(em,"WU",{enumerable:!0,get:function(){return ew.default}});var eM=eH(2403);eV={enumerable:!0,get:function(){return eM.default}};var eC=eH(41960);eV={enumerable:!0,get:function(){return eC.withTimeout}}},41960:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.withTimeout=void 0;var eV=eH(97582);function ew(eb,em,eH){var ew=this;return void 0===eH&&(eH=Error("timeout")),{acquire:function(){return new Promise(function(eM,eC){return eV.__awaiter(ew,void 0,void 0,function(){var ew,eT;return eV.__generator(this,function(eV){switch(eV.label){case 0:return ew=!1,setTimeout(function(){ew=!0,eC(eH)},em),[4,eb.acquire()];case 1:return eT=eV.sent(),ew?(Array.isArray(eT)?eT[1]:eT)():eM(eT),[2]}})})})},runExclusive:function(eb){return eV.__awaiter(this,void 0,void 0,function(){var em,eH;return eV.__generator(this,function(eV){switch(eV.label){case 0:em=function(){},eV.label=1;case 1:return eV.trys.push([1,,7,8]),[4,this.acquire()];case 2:if(!Array.isArray(eH=eV.sent()))return[3,4];return em=eH[1],[4,eb(eH[0])];case 3:case 5:return[2,eV.sent()];case 4:return em=eH,[4,eb()];case 6:return[3,8];case 7:return em(),[7];case 8:return[2]}})})},release:function(){eb.release()},isLocked:function(){return eb.isLocked()}}}em.withTimeout=ew},52427:function(eb,em,eH){"use strict";var eV=this&&this.__awaiter||function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};Object.defineProperty(em,"__esModule",{value:!0}),em.AdminAPI=void 0;let ew=eH(98769);class eM extends ew.JRPCAPI{constructor(eb,em="/ext/admin"){super(eb,em),this.alias=(eb,em)=>eV(this,void 0,void 0,function*(){let eH={endpoint:eb,alias:em},eV=yield this.callMethod("admin.alias",eH);return eV.data.result.success?eV.data.result.success:eV.data.result}),this.aliasChain=(eb,em)=>eV(this,void 0,void 0,function*(){let eH={chain:eb,alias:em},eV=yield this.callMethod("admin.aliasChain",eH);return eV.data.result.success?eV.data.result.success:eV.data.result}),this.getChainAliases=eb=>eV(this,void 0,void 0,function*(){let em={chain:eb},eH=yield this.callMethod("admin.getChainAliases",em);return eH.data.result.aliases?eH.data.result.aliases:eH.data.result}),this.getLoggerLevel=eb=>eV(this,void 0,void 0,function*(){let em={};void 0!==eb&&(em.loggerName=eb);let eH=yield this.callMethod("admin.getLoggerLevel",em);return eH.data.result}),this.loadVMs=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("admin.loadVMs");return eb.data.result.aliases?eb.data.result.aliases:eb.data.result}),this.lockProfile=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("admin.lockProfile");return eb.data.result.success?eb.data.result.success:eb.data.result}),this.memoryProfile=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("admin.memoryProfile");return eb.data.result.success?eb.data.result.success:eb.data.result}),this.setLoggerLevel=(eb,em,eH)=>eV(this,void 0,void 0,function*(){let eV={};void 0!==eb&&(eV.loggerName=eb),void 0!==em&&(eV.logLevel=em),void 0!==eH&&(eV.displayLevel=eH);let ew=yield this.callMethod("admin.setLoggerLevel",eV);return ew.data.result}),this.startCPUProfiler=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("admin.startCPUProfiler");return eb.data.result.success?eb.data.result.success:eb.data.result}),this.stopCPUProfiler=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("admin.stopCPUProfiler");return eb.data.result.success?eb.data.result.success:eb.data.result})}}em.AdminAPI=eM},87580:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),ew(eH(52427),em)},86516:function(eb,em,eH){"use strict";var eV=this&&this.__awaiter||function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};Object.defineProperty(em,"__esModule",{value:!0}),em.AuthAPI=void 0;let ew=eH(98769);class eM extends ew.JRPCAPI{constructor(eb,em="/ext/auth"){super(eb,em),this.newToken=(eb,em)=>eV(this,void 0,void 0,function*(){let eH={password:eb,endpoints:em},eV=yield this.callMethod("auth.newToken",eH);return eV.data.result.token?eV.data.result.token:eV.data.result}),this.revokeToken=(eb,em)=>eV(this,void 0,void 0,function*(){let eH={password:eb,token:em},eV=yield this.callMethod("auth.revokeToken",eH);return eV.data.result.success}),this.changePassword=(eb,em)=>eV(this,void 0,void 0,function*(){let eH={oldPassword:eb,newPassword:em},eV=yield this.callMethod("auth.changePassword",eH);return eV.data.result.success})}}em.AuthAPI=eM},18493:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),ew(eH(86516),em)},8928:function(eb,em,eH){"use strict";var eV=this&&this.__awaiter||function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})},ew=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.AVMAPI=void 0;let eM=ew(eH(13550)),eC=eH(48764),eT=ew(eH(89734)),e_=eH(77300),eS=eH(62064),eE=eH(67715),eA=eH(47809),eN=eH(77673),eI=eH(3421),eD=eH(98769),eP=eH(89858),eO=eH(49009),eR=eH(77556),eB=eH(3079),eF=eT.default.getInstance(),ej=eB.Serialization.getInstance();class eU extends eD.JRPCAPI{constructor(eb,em="/ext/bc/X",eH=""){super(eb,em),this.keychain=new eE.KeyChain("",""),this.blockchainID="",this.blockchainAlias=void 0,this.AVAXAssetID=void 0,this.txFee=void 0,this.creationTxFee=void 0,this.mintTxFee=void 0,this.getBlockchainAlias=()=>{if(void 0===this.blockchainAlias){let eb=this.core.getNetworkID();if(!(eb in eP.Defaults.network)||!(this.blockchainID in eP.Defaults.network[`${eb}`]))return;this.blockchainAlias=eP.Defaults.network[`${eb}`][this.blockchainID].alias}return this.blockchainAlias},this.setBlockchainAlias=eb=>{this.blockchainAlias=eb},this.getBlockchainID=()=>this.blockchainID,this.refreshBlockchainID=eb=>{let em=this.core.getNetworkID();return void 0===eb&&void 0!==eP.Defaults.network[`${em}`]?(this.blockchainID=eP.Defaults.network[`${em}`].X.blockchainID,!0):"string"==typeof eb&&(this.blockchainID=eb,!0)},this.parseAddress=eb=>{let em=this.getBlockchainAlias(),eH=this.getBlockchainID();return eF.parseAddress(eb,eH,em,eS.AVMConstants.ADDRESSLENGTH)},this.addressFromBuffer=eb=>{let em=this.getBlockchainAlias()?this.getBlockchainAlias():this.getBlockchainID(),eH="bech32",eV=this.core.getHRP();return ej.bufferToType(eb,eH,eV,em)},this.getAVAXAssetID=(eb=!1)=>eV(this,void 0,void 0,function*(){if(void 0===this.AVAXAssetID||eb){let eb=yield this.getAssetDescription(eP.PrimaryAssetAlias);this.AVAXAssetID=eb.assetID}return this.AVAXAssetID}),this.setAVAXAssetID=eb=>{"string"==typeof eb&&(eb=eF.cb58Decode(eb)),this.AVAXAssetID=eb},this.getDefaultTxFee=()=>new eM.default(this.core.getNetworkID() in eP.Defaults.network?eP.Defaults.network[this.core.getNetworkID()].X.txFee:0),this.getTxFee=()=>(void 0===this.txFee&&(this.txFee=this.getDefaultTxFee()),this.txFee),this.setTxFee=eb=>{this.txFee=eb},this.getDefaultCreationTxFee=()=>new eM.default(this.core.getNetworkID() in eP.Defaults.network?eP.Defaults.network[this.core.getNetworkID()].X.creationTxFee:0),this.getDefaultMintTxFee=()=>new eM.default(this.core.getNetworkID() in eP.Defaults.network?eP.Defaults.network[this.core.getNetworkID()].X.mintTxFee:0),this.getMintTxFee=()=>(void 0===this.mintTxFee&&(this.mintTxFee=this.getDefaultMintTxFee()),this.mintTxFee),this.getCreationTxFee=()=>(void 0===this.creationTxFee&&(this.creationTxFee=this.getDefaultCreationTxFee()),this.creationTxFee),this.setMintTxFee=eb=>{this.mintTxFee=eb},this.setCreationTxFee=eb=>{this.creationTxFee=eb},this.keyChain=()=>this.keychain,this.newKeyChain=()=>{let eb=this.getBlockchainAlias();return eb?this.keychain=new eE.KeyChain(this.core.getHRP(),eb):this.keychain=new eE.KeyChain(this.core.getHRP(),this.blockchainID),this.keychain},this.checkGooseEgg=(eb,em=new eM.default(0))=>eV(this,void 0,void 0,function*(){let eH=yield this.getAVAXAssetID(),eV=em.gt(new eM.default(0))?em:eb.getOutputTotal(eH),ew=eb.getBurn(eH);return!!(ew.lte(eP.ONEAVAX.mul(new eM.default(10)))||ew.lte(eV))}),this.getBalance=(eb,em,eH=!1)=>eV(this,void 0,void 0,function*(){if(void 0===this.parseAddress(eb))throw new eR.AddressError("Error - AVMAPI.getBalance: Invalid address format");let eV={address:eb,assetID:em,includePartial:eH},ew=yield this.callMethod("avm.getBalance",eV);return ew.data.result}),this.createAddress=(eb,em)=>eV(this,void 0,void 0,function*(){let eH={username:eb,password:em},eV=yield this.callMethod("avm.createAddress",eH);return eV.data.result.address}),this.createFixedCapAsset=(eb,em,eH,ew,eM,eC)=>eV(this,void 0,void 0,function*(){let eV={name:eH,symbol:ew,denomination:eM,username:eb,password:em,initialHolders:eC},eT=yield this.callMethod("avm.createFixedCapAsset",eV);return eT.data.result.assetID}),this.createVariableCapAsset=(eb,em,eH,ew,eM,eC)=>eV(this,void 0,void 0,function*(){let eV={name:eH,symbol:ew,denomination:eM,username:eb,password:em,minterSets:eC},eT=yield this.callMethod("avm.createVariableCapAsset",eV);return eT.data.result.assetID}),this.createNFTAsset=(eb,em,eH,ew,eM,eC,eT)=>eV(this,void 0,void 0,function*(){let eV={username:eb,password:em,name:eM,symbol:eC,minterSet:eT},e_="createNFTAsset";if(void 0!==(eH=this._cleanAddressArray(eH,e_))&&(eV.from=eH),void 0!==ew){if(void 0===this.parseAddress(ew))throw new eR.AddressError("Error - AVMAPI.createNFTAsset: Invalid address format");eV.changeAddr=ew}let eS=yield this.callMethod("avm.createNFTAsset",eV);return eS.data.result.assetID}),this.mint=(eb,em,eH,ew,eC,eT)=>eV(this,void 0,void 0,function*(){let eV,e_;eV="string"!=typeof ew?eF.cb58Encode(ew):ew,e_="number"==typeof eH?new eM.default(eH):eH;let eS={username:eb,password:em,amount:e_,assetID:eV,to:eC,minters:eT},eE=yield this.callMethod("avm.mint",eS);return eE.data.result.txID}),this.mintNFT=(eb,em,eH,ew,eM,eC,eT,e_="hex")=>eV(this,void 0,void 0,function*(){let eV;if(void 0===this.parseAddress(eT))throw new eR.AddressError("Error - AVMAPI.mintNFT: Invalid address format");eV="string"!=typeof eC?eF.cb58Encode(eC):eC;let eS={username:eb,password:em,assetID:eV,payload:eM,to:eT,encoding:e_},eE="mintNFT";if(void 0!==(eH=this._cleanAddressArray(eH,eE))&&(eS.from=eH),void 0!==ew){if(void 0===this.parseAddress(ew))throw new eR.AddressError("Error - AVMAPI.mintNFT: Invalid address format");eS.changeAddr=ew}let eA=yield this.callMethod("avm.mintNFT",eS);return eA.data.result.txID}),this.sendNFT=(eb,em,eH,ew,eM,eC,eT)=>eV(this,void 0,void 0,function*(){let eV;if(void 0===this.parseAddress(eT))throw new eR.AddressError("Error - AVMAPI.sendNFT: Invalid address format");eV="string"!=typeof eM?eF.cb58Encode(eM):eM;let e_={username:eb,password:em,assetID:eV,groupID:eC,to:eT},eS="sendNFT";if(void 0!==(eH=this._cleanAddressArray(eH,eS))&&(e_.from=eH),void 0!==ew){if(void 0===this.parseAddress(ew))throw new eR.AddressError("Error - AVMAPI.sendNFT: Invalid address format");e_.changeAddr=ew}let eE=yield this.callMethod("avm.sendNFT",e_);return eE.data.result.txID}),this.exportKey=(eb,em,eH)=>eV(this,void 0,void 0,function*(){if(void 0===this.parseAddress(eH))throw new eR.AddressError("Error - AVMAPI.exportKey: Invalid address format");let eV={username:eb,password:em,address:eH},ew=yield this.callMethod("avm.exportKey",eV);return ew.data.result.privateKey}),this.importKey=(eb,em,eH)=>eV(this,void 0,void 0,function*(){let eV={username:eb,password:em,privateKey:eH},ew=yield this.callMethod("avm.importKey",eV);return ew.data.result.address}),this.export=(eb,em,eH,ew,eM)=>eV(this,void 0,void 0,function*(){let eV={username:eb,password:em,to:eH,amount:ew,assetID:eM},eC=yield this.callMethod("avm.export",eV);return eC.data.result.txID}),this.import=(eb,em,eH,ew)=>eV(this,void 0,void 0,function*(){let eV={username:eb,password:em,to:eH,sourceChain:ew},eM=yield this.callMethod("avm.import",eV);return eM.data.result.txID}),this.listAddresses=(eb,em)=>eV(this,void 0,void 0,function*(){let eH={username:eb,password:em},eV=yield this.callMethod("avm.listAddresses",eH);return eV.data.result.addresses}),this.getAllBalances=eb=>eV(this,void 0,void 0,function*(){if(void 0===this.parseAddress(eb))throw new eR.AddressError("Error - AVMAPI.getAllBalances: Invalid address format");let em={address:eb},eH=yield this.callMethod("avm.getAllBalances",em);return eH.data.result.balances}),this.getAssetDescription=eb=>eV(this,void 0,void 0,function*(){let em;em="string"!=typeof eb?eF.cb58Encode(eb):eb;let eH={assetID:em},eV=yield this.callMethod("avm.getAssetDescription",eH);return{name:eV.data.result.name,symbol:eV.data.result.symbol,assetID:eF.cb58Decode(eV.data.result.assetID),denomination:parseInt(eV.data.result.denomination,10)}}),this.getTx=(eb,em="hex")=>eV(this,void 0,void 0,function*(){let eH={txID:eb,encoding:em},eV=yield this.callMethod("avm.getTx",eH);return eV.data.result.tx}),this.getTxStatus=eb=>eV(this,void 0,void 0,function*(){let em={txID:eb},eH=yield this.callMethod("avm.getTxStatus",em);return eH.data.result.status}),this.getUTXOs=(eb,em,eH=0,ew,eM,eT="hex")=>eV(this,void 0,void 0,function*(){"string"==typeof eb&&(eb=[eb]);let eV={addresses:eb,limit:eH,encoding:eT};void 0!==ew&&ew&&(eV.startIndex=ew),void 0!==em&&(eV.sourceChain=em);let eS=yield this.callMethod("avm.getUTXOs",eV),eE=new e_.UTXOSet,eA=eS.data.result.utxos;if(eM&&"object"==typeof eM){if(this.db.has(eM.getName())){let eb=this.db.get(eM.getName());if(Array.isArray(eb)){eE.addArray(eA);let em=new e_.UTXOSet;em.addArray(eb),em.mergeByRule(eE,eM.getMergeRule()),eA=em.getAllUTXOStrings()}}this.db.set(eM.getName(),eA,eM.getOverwrite())}if(eA.length>0&&"0x"===eA[0].substring(0,2)){let eb=[];eA.forEach(em=>{eb.push(eF.cb58Encode(new eC.Buffer(em.slice(2),"hex")))}),eE.addArray(eb,!1)}else eE.addArray(eA,!1);return eS.data.result.utxos=eE,eS.data.result}),this.buildBaseTx=(eb,em,eH,ew,eC,eT,e_,eS=(0,eI.UnixNow)(),eE=new eM.default(0),eA=1)=>eV(this,void 0,void 0,function*(){let eV="buildBaseTx",eM=this._cleanAddressArray(ew,eV).map(eb=>eF.stringToAddress(eb)),eI=this._cleanAddressArray(eC,eV).map(eb=>eF.stringToAddress(eb)),eD=this._cleanAddressArray(eT,eV).map(eb=>eF.stringToAddress(eb));"string"==typeof eH&&(eH=eF.cb58Decode(eH)),e_ instanceof eN.PayloadBase&&(e_=e_.getPayload());let eP=this.core.getNetworkID(),eO=eF.cb58Decode(this.blockchainID),eB=this.getTxFee(),ej=yield this.getAVAXAssetID(),eU=eb.buildBaseTx(eP,eO,em,eH,eM,eI,eD,eB,ej,e_,eS,eE,eA);if(!(yield this.checkGooseEgg(eU)))throw new eR.GooseEggCheckError("Error - AVMAPI.buildBaseTx:Failed Goose Egg Check");return eU}),this.buildNFTTransferTx=(eb,em,eH,ew,eC,eT,e_=(0,eI.UnixNow)(),eS=new eM.default(0),eE=1)=>eV(this,void 0,void 0,function*(){let eV="buildNFTTransferTx",eM=this._cleanAddressArray(em,eV).map(eb=>eF.stringToAddress(eb)),eA=this._cleanAddressArray(eH,eV).map(eb=>eF.stringToAddress(eb)),eI=this._cleanAddressArray(ew,eV).map(eb=>eF.stringToAddress(eb));eT instanceof eN.PayloadBase&&(eT=eT.getPayload());let eD=yield this.getAVAXAssetID(),eP=[];"string"==typeof eC?eP=[eC]:Array.isArray(eC)&&(eP=eC);let eO=eb.buildNFTTransferTx(this.core.getNetworkID(),eF.cb58Decode(this.blockchainID),eM,eA,eI,eP,this.getTxFee(),eD,eT,e_,eS,eE);if(!(yield this.checkGooseEgg(eO)))throw new eR.GooseEggCheckError("Error - AVMAPI.buildNFTTransferTx:Failed Goose Egg Check");return eO}),this.buildImportTx=(eb,em,eH,ew,eT,e_,eS,eE=(0,eI.UnixNow)(),eA=new eM.default(0),eD=1)=>eV(this,void 0,void 0,function*(){let eV;let eM="buildImportTx",eI=this._cleanAddressArray(ew,eM).map(eb=>eF.stringToAddress(eb)),eP=this._cleanAddressArray(eT,eM).map(eb=>eF.stringToAddress(eb)),eO=this._cleanAddressArray(e_,eM).map(eb=>eF.stringToAddress(eb));if(void 0===eH)throw new eR.ChainIdError("Error - AVMAPI.buildImportTx: Source ChainID is undefined.");if("string"==typeof eH)eV=eH,eH=eF.cb58Decode(eH);else if(!(eH instanceof eC.Buffer))throw new eR.ChainIdError("Error - AVMAPI.buildImportTx: Invalid destinationChain type: "+typeof eH);let eB=(yield this.getUTXOs(em,eV,0,void 0)).utxos,ej=yield this.getAVAXAssetID(),eU=eB.getAllUTXOs();if(0===eU.length)throw new eR.NoAtomicUTXOsError("Error - AVMAPI.buildImportTx: No atomic UTXOs to import from "+eV+" using addresses: "+em.join(", "));eS instanceof eN.PayloadBase&&(eS=eS.getPayload());let e$=eb.buildImportTx(this.core.getNetworkID(),eF.cb58Decode(this.blockchainID),eI,eP,eO,eU,eH,this.getTxFee(),ej,eS,eE,eA,eD);if(!(yield this.checkGooseEgg(e$)))throw new eR.GooseEggCheckError("Error - AVMAPI.buildImportTx:Failed Goose Egg Check");return e$}),this.buildExportTx=(eb,em,eH,ew,eT,e_,eS,eE=(0,eI.UnixNow)(),eA=new eM.default(0),eD=1,eP)=>eV(this,void 0,void 0,function*(){let eV={};if(ew.map(eb=>{eV[eb.split("-")[0]]=!0}),1!==Object.keys(eV).length)throw new eR.AddressError("Error - AVMAPI.buildExportTx: To addresses must have the same chainID prefix.");if(void 0===eH)throw new eR.ChainIdError("Error - AVMAPI.buildExportTx: Destination ChainID is undefined.");if("string"==typeof eH)eH=eF.cb58Decode(eH);else if(!(eH instanceof eC.Buffer))throw new eR.ChainIdError("Error - AVMAPI.buildExportTx: Invalid destinationChain type: "+typeof eH);if(32!==eH.length)throw new eR.ChainIdError("Error - AVMAPI.buildExportTx: Destination ChainID must be 32 bytes in length.");let eM=[];ew.map(eb=>{eM.push(eF.stringToAddress(eb))});let eI="buildExportTx",eO=this._cleanAddressArray(eT,eI).map(eb=>eF.stringToAddress(eb)),eB=this._cleanAddressArray(e_,eI).map(eb=>eF.stringToAddress(eb));eS instanceof eN.PayloadBase&&(eS=eS.getPayload());let ej=yield this.getAVAXAssetID();void 0===eP&&(eP=eF.cb58Encode(ej));let eU=this.core.getNetworkID(),e$=eF.cb58Decode(this.blockchainID),eW=eF.cb58Decode(eP),eZ=this.getTxFee(),eG=eb.buildExportTx(eU,e$,em,eW,eM,eO,eB,eH,eZ,ej,eS,eE,eA,eD);if(!(yield this.checkGooseEgg(eG)))throw new eR.GooseEggCheckError("Error - AVMAPI.buildExportTx:Failed Goose Egg Check");return eG}),this.buildCreateAssetTx=(eb,em,eH,ew,eM,eC,eT,e_,eE,eA=(0,eI.UnixNow)())=>eV(this,void 0,void 0,function*(){let eV="buildCreateAssetTx",eI=this._cleanAddressArray(em,eV).map(eb=>eF.stringToAddress(eb)),eD=this._cleanAddressArray(eH,eV).map(eb=>eF.stringToAddress(eb));if(eE instanceof eN.PayloadBase&&(eE=eE.getPayload()),eC.length>eS.AVMConstants.SYMBOLMAXLEN)throw new eR.SymbolError("Error - AVMAPI.buildCreateAssetTx: Symbols may not exceed length of "+eS.AVMConstants.SYMBOLMAXLEN);if(eM.length>eS.AVMConstants.ASSETNAMELEN)throw new eR.NameError("Error - AVMAPI.buildCreateAssetTx: Names may not exceed length of "+eS.AVMConstants.ASSETNAMELEN);let eP=this.core.getNetworkID(),eO=eF.cb58Decode(this.blockchainID),eB=yield this.getAVAXAssetID(),ej=this.getDefaultCreationTxFee(),eU=eb.buildCreateAssetTx(eP,eO,eI,eD,ew,eM,eC,eT,e_,ej,eB,eE,eA);if(!(yield this.checkGooseEgg(eU,ej)))throw new eR.GooseEggCheckError("Error - AVMAPI.buildCreateAssetTx:Failed Goose Egg Check");return eU}),this.buildSECPMintTx=(eb,em,eH,ew,eM,eC,eT,e_=(0,eI.UnixNow)())=>eV(this,void 0,void 0,function*(){let eV="buildSECPMintTx",eS=this._cleanAddressArray(ew,eV).map(eb=>eF.stringToAddress(eb)),eE=this._cleanAddressArray(eM,eV).map(eb=>eF.stringToAddress(eb));eT instanceof eN.PayloadBase&&(eT=eT.getPayload());let eA=this.core.getNetworkID(),eI=eF.cb58Decode(this.blockchainID),eD=yield this.getAVAXAssetID(),eP=this.getMintTxFee(),eO=eb.buildSECPMintTx(eA,eI,em,eH,eS,eE,eC,eP,eD,eT,e_);if(!(yield this.checkGooseEgg(eO)))throw new eR.GooseEggCheckError("Error - AVMAPI.buildSECPMintTx:Failed Goose Egg Check");return eO}),this.buildCreateNFTAssetTx=(eb,em,eH,ew,eC,eT,e_,eE=(0,eI.UnixNow)(),eA=new eM.default(0))=>eV(this,void 0,void 0,function*(){let eV="buildCreateNFTAssetTx",eM=this._cleanAddressArray(em,eV).map(eb=>eF.stringToAddress(eb)),eI=this._cleanAddressArray(eH,eV).map(eb=>eF.stringToAddress(eb));if(e_ instanceof eN.PayloadBase&&(e_=e_.getPayload()),eC.length>eS.AVMConstants.ASSETNAMELEN)throw new eR.NameError("Error - AVMAPI.buildCreateNFTAssetTx: Names may not exceed length of "+eS.AVMConstants.ASSETNAMELEN);if(eT.length>eS.AVMConstants.SYMBOLMAXLEN)throw new eR.SymbolError("Error - AVMAPI.buildCreateNFTAssetTx: Symbols may not exceed length of "+eS.AVMConstants.SYMBOLMAXLEN);let eD=this.core.getNetworkID(),eP=eF.cb58Decode(this.blockchainID),eO=this.getCreationTxFee(),eB=yield this.getAVAXAssetID(),ej=eb.buildCreateNFTAssetTx(eD,eP,eM,eI,ew,eC,eT,eO,eB,e_,eE,eA);if(!(yield this.checkGooseEgg(ej,eO)))throw new eR.GooseEggCheckError("Error - AVMAPI.buildCreateNFTAssetTx:Failed Goose Egg Check");return ej}),this.buildCreateNFTMintTx=(eb,em,eH,ew,eM,eC=0,eT,e_,eS=(0,eI.UnixNow)())=>eV(this,void 0,void 0,function*(){let eV="buildCreateNFTMintTx",eE=this._cleanAddressArray(eH,eV).map(eb=>eF.stringToAddress(eb)),eA=this._cleanAddressArray(ew,eV).map(eb=>eF.stringToAddress(eb));e_ instanceof eN.PayloadBase&&(e_=e_.getPayload()),eT instanceof eN.PayloadBase&&(eT=eT.getPayload()),"string"==typeof eM&&(eM=[eM]);let eI=yield this.getAVAXAssetID();em instanceof eO.OutputOwners&&(em=[em]);let eD=this.core.getNetworkID(),eP=eF.cb58Decode(this.blockchainID),eB=this.getTxFee(),ej=eb.buildCreateNFTMintTx(eD,eP,em,eE,eA,eM,eC,eT,eB,eI,e_,eS);if(!(yield this.checkGooseEgg(ej)))throw new eR.GooseEggCheckError("Error - AVMAPI.buildCreateNFTMintTx:Failed Goose Egg Check");return ej}),this.signTx=eb=>eb.sign(this.keychain),this.issueTx=eb=>eV(this,void 0,void 0,function*(){let em="";if("string"==typeof eb)em=eb;else if(eb instanceof eC.Buffer){let eH=new eA.Tx;eH.fromBuffer(eb),em=eH.toStringHex()}else if(eb instanceof eA.Tx)em=eb.toStringHex();else throw new eR.TransactionError("Error - AVMAPI.issueTx: provided tx is not expected type of string, Buffer, or Tx");let eH={tx:em.toString(),encoding:"hex"},eV=yield this.callMethod("avm.issueTx",eH);return eV.data.result.txID}),this.getAddressTxs=(eb,em,eH,ew)=>eV(this,void 0,void 0,function*(){let eV,eM;eV="string"!=typeof ew?eF.cb58Encode(ew):ew,eM="number"!=typeof eH?0:eH;let eC={address:eb,cursor:em,pageSize:eM,assetID:eV},eT=yield this.callMethod("avm.getAddressTxs",eC);return eT.data.result}),this.send=(eb,em,eH,ew,eC,eT,e_,eS)=>eV(this,void 0,void 0,function*(){let eV,eE;if(void 0===this.parseAddress(eC))throw new eR.AddressError("Error - AVMAPI.send: Invalid address format");eV="string"!=typeof eH?eF.cb58Encode(eH):eH,eE="number"==typeof ew?new eM.default(ew):ew;let eA={username:eb,password:em,assetID:eV,amount:eE.toString(10),to:eC},eN="send";if(void 0!==(eT=this._cleanAddressArray(eT,eN))&&(eA.from=eT),void 0!==e_){if(void 0===this.parseAddress(e_))throw new eR.AddressError("Error - AVMAPI.send: Invalid address format");eA.changeAddr=e_}void 0!==eS&&("string"!=typeof eS?eA.memo=eF.cb58Encode(eS):eA.memo=eS);let eI=yield this.callMethod("avm.send",eA);return eI.data.result}),this.sendMultiple=(eb,em,eH,ew,eC,eT)=>eV(this,void 0,void 0,function*(){let eV,e_;let eS=[];eH.forEach(eb=>{if(void 0===this.parseAddress(eb.to))throw new eR.AddressError("Error - AVMAPI.sendMultiple: Invalid address format");eV="string"!=typeof eb.assetID?eF.cb58Encode(eb.assetID):eb.assetID,e_="number"==typeof eb.amount?new eM.default(eb.amount):eb.amount,eS.push({to:eb.to,assetID:eV,amount:e_.toString(10)})});let eE={username:eb,password:em,outputs:eS},eA="send";if(void 0!==(ew=this._cleanAddressArray(ew,eA))&&(eE.from=ew),void 0!==eC){if(void 0===this.parseAddress(eC))throw new eR.AddressError("Error - AVMAPI.send: Invalid address format");eE.changeAddr=eC}void 0!==eT&&("string"!=typeof eT?eE.memo=eF.cb58Encode(eT):eE.memo=eT);let eN=yield this.callMethod("avm.sendMultiple",eE);return eN.data.result}),this.buildGenesis=eb=>eV(this,void 0,void 0,function*(){let em={genesisData:eb},eH=yield this.callMethod("avm.buildGenesis",em);return eH.data.result.bytes}),this.blockchainID=eH;let ew=eb.getNetworkID();if(ew in eP.Defaults.network&&eH in eP.Defaults.network[`${ew}`]){let eb=eP.Defaults.network[`${ew}`][`${eH}`].alias;this.keychain=new eE.KeyChain(this.core.getHRP(),eb)}else this.keychain=new eE.KeyChain(this.core.getHRP(),eH)}_cleanAddressArray(eb,em){let eH=[],eV=this.getBlockchainAlias()?this.getBlockchainAlias():this.getBlockchainID();if(eb&&eb.length>0)for(let em=0;em{let eH=new eT.TransferableOutput;return eH.deserialize(eb,em),eH}),this.ins=eb.ins.map(eb=>{let eH=new e_.TransferableInput;return eH.deserialize(eb,em),eH}),this.numouts=eR.decoder(this.outs.length.toString(),ej,eB,eF,4),this.numins=eR.decoder(this.ins.length.toString(),ej,eB,eF,4)}getOuts(){return this.outs}getIns(){return this.ins}getTotalOuts(){return this.getOuts()}setCodecID(eb){if(0!==eb&&1!==eb)throw new eP.CodecIdError("Error - BaseTx.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?eC.AVMConstants.BASETX:eC.AVMConstants.BASETX_CODECONE}getTxType(){return this._typeID}fromBuffer(eb,em=0){this.networkID=eO.copyFrom(eb,em,em+4),em+=4,this.blockchainID=eO.copyFrom(eb,em,em+32),em+=32,this.numouts=eO.copyFrom(eb,em,em+4),em+=4;let eH=this.numouts.readUInt32BE(0);this.outs=[];for(let eV=0;eV=0&&eA<=32&&void 0!==eN&&(this.initialState=eN,this.name=e_,this.symbol=eE,this.denomination.writeUInt8(eA,0))}serialize(eb="hex"){let em=super.serialize(eb);return Object.assign(Object.assign({},em),{name:eI.encoder(this.name,eb,eD,eD),symbol:eI.encoder(this.symbol,eb,eD,eD),denomination:eI.encoder(this.denomination,eb,eO,eP,1),initialState:this.initialState.serialize(eb)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.name=eI.decoder(eb.name,em,eD,eD),this.symbol=eI.decoder(eb.symbol,em,eD,eD),this.denomination=eI.decoder(eb.denomination,em,eP,eO,1),this.initialState=new eT.InitialStates,this.initialState.deserialize(eb.initialState,em)}setCodecID(eb){if(0!==eb&&1!==eb)throw new eA.CodecIdError("Error - CreateAssetTx.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?eC.AVMConstants.CREATEASSETTX:eC.AVMConstants.CREATEASSETTX_CODECONE}getTxType(){return this._typeID}getInitialStates(){return this.initialState}getName(){return this.name}getSymbol(){return this.symbol}getDenomination(){return this.denomination.readUInt8(0)}getDenominationBuffer(){return this.denomination}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em);let eH=eN.copyFrom(eb,em,em+2).readUInt16BE(0);em+=2,this.name=eN.copyFrom(eb,em,em+eH).toString("utf8"),em+=eH;let eV=eN.copyFrom(eb,em,em+2).readUInt16BE(0);em+=2,this.symbol=eN.copyFrom(eb,em,em+eV).toString("utf8"),em+=eV,this.denomination=eN.copyFrom(eb,em,em+1),em+=1;let ew=new eT.InitialStates;return em=ew.fromBuffer(eb,em),this.initialState=ew,em}toBuffer(){let eb=super.toBuffer(),em=this.initialState.toBuffer(),eH=ew.Buffer.alloc(this.name.length);eH.write(this.name,0,this.name.length,eD);let eV=ew.Buffer.alloc(2);eV.writeUInt16BE(this.name.length,0);let eM=ew.Buffer.alloc(this.symbol.length);eM.write(this.symbol,0,this.symbol.length,eD);let eC=ew.Buffer.alloc(2);eC.writeUInt16BE(this.symbol.length,0);let eT=eb.length+eV.length+eH.length+eC.length+eM.length+this.denomination.length+em.length,e_=[eb,eV,eH,eC,eM,this.denomination,em];return ew.Buffer.concat(e_,eT)}clone(){let eb=new eR;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eR(...eb)}}em.CreateAssetTx=eR},41550:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.NFTCredential=em.SECPCredential=em.SelectCredentialClass=void 0;let eV=eH(62064),ew=eH(65614),eM=eH(77556),eC=(eb,...em)=>{if(eb===eV.AVMConstants.SECPCREDENTIAL||eb===eV.AVMConstants.SECPCREDENTIAL_CODECONE)return new eT(...em);if(eb===eV.AVMConstants.NFTCREDENTIAL||eb===eV.AVMConstants.NFTCREDENTIAL_CODECONE)return new e_(...em);throw new eM.CredIdError("Error - SelectCredentialClass: unknown credid")};em.SelectCredentialClass=eC;class eT extends ew.Credential{constructor(){super(...arguments),this._typeName="SECPCredential",this._codecID=eV.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?eV.AVMConstants.SECPCREDENTIAL:eV.AVMConstants.SECPCREDENTIAL_CODECONE}setCodecID(eb){if(0!==eb&&1!==eb)throw new eM.CodecIdError("Error - SECPCredential.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?eV.AVMConstants.SECPCREDENTIAL:eV.AVMConstants.SECPCREDENTIAL_CODECONE}getCredentialID(){return this._typeID}clone(){let eb=new eT;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eT(...eb)}select(eb,...eH){return(0,em.SelectCredentialClass)(eb,...eH)}}em.SECPCredential=eT;class e_ extends ew.Credential{constructor(){super(...arguments),this._typeName="NFTCredential",this._codecID=eV.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?eV.AVMConstants.NFTCREDENTIAL:eV.AVMConstants.NFTCREDENTIAL_CODECONE}setCodecID(eb){if(0!==eb&&1!==eb)throw new eM.CodecIdError("Error - NFTCredential.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?eV.AVMConstants.NFTCREDENTIAL:eV.AVMConstants.NFTCREDENTIAL_CODECONE}getCredentialID(){return this._typeID}clone(){let eb=new e_;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new e_(...eb)}select(eb,...eH){return(0,em.SelectCredentialClass)(eb,...eH)}}em.NFTCredential=e_},865:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.ExportTx=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eH(62064),eT=eH(60578),e_=eH(62027),eS=eH(89858),eE=eV(eH(13550)),eA=eH(48984),eN=eH(77556),eI=eM.default.getInstance(),eD=eA.Serialization.getInstance(),eP="cb58",eO="Buffer";class eR extends e_.BaseTx{constructor(eb=eS.DefaultNetworkID,em=ew.Buffer.alloc(32,16),eH,eV,eM,e_,eE){if(super(eb,em,eH,eV,eM),this._typeName="ExportTx",this._codecID=eC.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?eC.AVMConstants.EXPORTTX:eC.AVMConstants.EXPORTTX_CODECONE,this.destinationChain=void 0,this.numOuts=ew.Buffer.alloc(4),this.exportOuts=[],this.destinationChain=e_,void 0!==eE&&Array.isArray(eE)){for(let eb=0;ebem.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.destinationChain=eD.decoder(eb.destinationChain,em,eP,eO,32),this.exportOuts=eb.exportOuts.map(eb=>{let eH=new eT.TransferableOutput;return eH.deserialize(eb,em),eH}),this.numOuts=ew.Buffer.alloc(4),this.numOuts.writeUInt32BE(this.exportOuts.length,0)}setCodecID(eb){if(0!==eb&&1!==eb)throw new eN.CodecIdError("Error - ExportTx.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?eC.AVMConstants.EXPORTTX:eC.AVMConstants.EXPORTTX_CODECONE}getTxType(){return this._typeID}getExportOutputs(){return this.exportOuts}getExportTotal(){let eb=new eE.default(0);for(let em=0;emthis.assetAlias,"string"==typeof eb&&"string"==typeof em&&"string"==typeof eH&&"number"==typeof eV&&eV>=0&&eV<=32&&void 0!==eM&&(this.assetAlias=eb,this.name=em,this.symbol=eH,this.denomination.writeUInt8(eV,0),this.initialState=eM)}serialize(eb="hex"){let em=super.serialize(eb);return delete em.blockchainID,delete em.outs,delete em.ins,Object.assign(Object.assign({},em),{assetAlias:eA.encoder(this.assetAlias,eb,eI,eI),name:eA.encoder(this.name,eb,eI,eI),symbol:eA.encoder(this.symbol,eb,eI,eI),denomination:eA.encoder(this.denomination,eb,eD,eP,1),initialState:this.initialState.serialize(eb)})}deserialize(eb,em="hex"){eb.blockchainID=ew.Buffer.alloc(32,16).toString("hex"),eb.outs=[],eb.ins=[],super.deserialize(eb,em),this.assetAlias=eA.decoder(eb.assetAlias,em,eI,eI),this.name=eA.decoder(eb.name,em,eI,eI),this.symbol=eA.decoder(eb.symbol,em,eI,eI),this.denomination=eA.decoder(eb.denomination,em,eP,eD,1),this.initialState=new eC.InitialStates,this.initialState.deserialize(eb.initialState,em)}fromBuffer(eb,em=0){let eH=eN.copyFrom(eb,em,em+2).readUInt16BE(0);return em+=2,this.assetAlias=eN.copyFrom(eb,em,em+eH).toString("utf8"),em+=eH,em+=super.fromBuffer(eb,em)}toBuffer(eb=eT.DefaultNetworkID){let em=this.getAssetAlias(),eH=ew.Buffer.alloc(2);eH.writeUInt16BE(em.length,0);let eV=eH.length,eM=[eH],eC=ew.Buffer.alloc(em.length);eC.write(em,0,em.length,eI),eV+=eC.length,eM.push(eC);let e_=ew.Buffer.alloc(4);e_.writeUInt32BE(new eE.default(eb).toNumber(),0),eV+=e_.length,eM.push(e_),eV+=32,eM.push(ew.Buffer.alloc(32)),eV+=4,eM.push(ew.Buffer.alloc(4)),eV+=4,eM.push(ew.Buffer.alloc(4));let eS=this.getMemo(),eA=ew.Buffer.alloc(4);eA.writeUInt32BE(eS.length,0),eV+=eA.length,eM.push(eA),eV+=eS.length,eM.push(eS);let eN=this.getName(),eD=ew.Buffer.alloc(2);eD.writeUInt16BE(eN.length,0),eV+=eD.length,eM.push(eD);let eP=ew.Buffer.alloc(eN.length);eP.write(eN,0,eN.length,eI),eV+=eP.length,eM.push(eP);let eO=this.getSymbol(),eR=ew.Buffer.alloc(2);eR.writeUInt16BE(eO.length,0),eV+=eR.length,eM.push(eR);let eB=ew.Buffer.alloc(eO.length);eB.write(eO,0,eO.length,eI),eV+=eB.length,eM.push(eB);let eF=this.getDenomination(),ej=ew.Buffer.alloc(1);return ej.writeUInt8(eF,0),eV+=ej.length,eM.push(ej),eV+=this.initialState.toBuffer().length,eM.push(this.initialState.toBuffer()),ew.Buffer.concat(eM,eV)}}em.GenesisAsset=eO},14408:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.GenesisData=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eH(48984),eT=eH(62064),e_=eH(74294),eS=eH(3079),eE=eC.Serialization.getInstance(),eA=eM.default.getInstance(),eN="decimalString",eI="Buffer";class eD extends eC.Serializable{constructor(eb=[],em=eS.DefaultNetworkID){super(),this._typeName="GenesisData",this._codecID=eT.AVMConstants.LATESTCODEC,this.networkID=ew.Buffer.alloc(4),this.getGenesisAssets=()=>this.genesisAssets,this.getNetworkID=()=>this.networkID.readUInt32BE(0),this.genesisAssets=eb,this.networkID.writeUInt32BE(em,0)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{genesisAssets:this.genesisAssets.map(em=>em.serialize(eb)),networkID:eE.encoder(this.networkID,eb,eI,eN)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.genesisAssets=eb.genesisAssets.map(eb=>{let eH=new e_.GenesisAsset;return eH.deserialize(eb,em),eH}),this.networkID=eE.decoder(eb.networkID,em,eN,eI,4)}fromBuffer(eb,em=0){this._codecID=eA.copyFrom(eb,em,em+2).readUInt16BE(0),em+=2;let eH=eA.copyFrom(eb,em,em+4);em+=4;let eV=eH.readUInt32BE(0);this.genesisAssets=[];for(let eH=0;eH{let em=eb.toBuffer(this.getNetworkID());eH+=em.length,eV.push(em)}),ew.Buffer.concat(eV,eH)}}em.GenesisData=eD},45157:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.ImportTx=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eH(62064),eT=eH(40249),e_=eH(62027),eS=eH(41550),eE=eH(65614),eA=eH(89858),eN=eH(48984),eI=eH(77556),eD=eM.default.getInstance(),eP=eN.Serialization.getInstance(),eO="cb58",eR="Buffer";class eB extends e_.BaseTx{constructor(eb=eA.DefaultNetworkID,em=ew.Buffer.alloc(32,16),eH,eV,eM,e_,eS){if(super(eb,em,eH,eV,eM),this._typeName="ImportTx",this._codecID=eC.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?eC.AVMConstants.IMPORTTX:eC.AVMConstants.IMPORTTX_CODECONE,this.sourceChain=ew.Buffer.alloc(32),this.numIns=ew.Buffer.alloc(4),this.importIns=[],this.sourceChain=e_,void 0!==eS&&Array.isArray(eS)){for(let eb=0;ebem.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.sourceChain=eP.decoder(eb.sourceChain,em,eO,eR,32),this.importIns=eb.importIns.map(eb=>{let eH=new eT.TransferableInput;return eH.deserialize(eb,em),eH}),this.numIns=ew.Buffer.alloc(4),this.numIns.writeUInt32BE(this.importIns.length,0)}setCodecID(eb){if(0!==eb&&1!==eb)throw new eI.CodecIdError("Error - ImportTx.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?eC.AVMConstants.IMPORTTX:eC.AVMConstants.IMPORTTX_CODECONE}getTxType(){return this._typeID}getSourceChain(){return this.sourceChain}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em),this.sourceChain=eD.copyFrom(eb,em,em+32),em+=32,this.numIns=eD.copyFrom(eb,em,em+4),em+=4;let eH=this.numIns.readUInt32BE(0);for(let eV=0;eVem.serialize(eb));return Object.assign(Object.assign({},em),{fxs:eH})}deserialize(eb,em="hex"){super.deserialize(eb,em);let eH={};for(let eV in eb.fxs)eH[`${eV}`]=eb.fxs[`${eV}`].map(eb=>{let eH=(0,eT.SelectOutputClass)(eb._typeID);return eH.deserialize(eb,em),eH});this.fxs=eH}addOutput(eb,em=e_.AVMConstants.SECPFXID){em in this.fxs||(this.fxs[`${em}`]=[]),this.fxs[`${em}`].push(eb)}fromBuffer(eb,em=0){let eH=[],eV=eE.copyFrom(eb,em,em+4);em+=4;let ew=eV.readUInt32BE(0);for(let eV=0;eVparseInt(eb,10)).sort(),eH=ew.Buffer.alloc(4);eH.writeUInt32BE(em.length,0),eb.push(eH);for(let eH=0;eH{if(eb===eM.AVMConstants.SECPINPUTID||eb===eM.AVMConstants.SECPINPUTID_CODECONE)return new eN(...em);throw new eT.InputIdError("Error - SelectInputClass: unknown inputid")};em.SelectInputClass=eS;class eE extends eC.StandardTransferableInput{constructor(){super(...arguments),this._typeName="TransferableInput",this._typeID=void 0}deserialize(eb,eH="hex"){super.deserialize(eb,eH),this.input=(0,em.SelectInputClass)(eb.input._typeID),this.input.deserialize(eb.input,eH)}fromBuffer(eb,eH=0){this.txid=e_.copyFrom(eb,eH,eH+32),eH+=32,this.outputidx=e_.copyFrom(eb,eH,eH+4),eH+=4,this.assetID=e_.copyFrom(eb,eH,eH+eM.AVMConstants.ASSETIDLEN),eH+=32;let eV=e_.copyFrom(eb,eH,eH+4).readUInt32BE(0);return eH+=4,this.input=(0,em.SelectInputClass)(eV),this.input.fromBuffer(eb,eH)}}em.TransferableInput=eE;class eA extends eC.StandardAmountInput{constructor(){super(...arguments),this._typeName="AmountInput",this._typeID=void 0}select(eb,...eH){return(0,em.SelectInputClass)(eb,...eH)}}em.AmountInput=eA;class eN extends eA{constructor(){super(...arguments),this._typeName="SECPTransferInput",this._codecID=eM.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?eM.AVMConstants.SECPINPUTID:eM.AVMConstants.SECPINPUTID_CODECONE}setCodecID(eb){if(0!==eb&&1!==eb)throw new eT.CodecIdError("Error - SECPTransferInput.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?eM.AVMConstants.SECPINPUTID:eM.AVMConstants.SECPINPUTID_CODECONE}getInputID(){return this._typeID}getCredentialID(){return 0===this._codecID?eM.AVMConstants.SECPCREDENTIAL:1===this._codecID?eM.AVMConstants.SECPCREDENTIAL_CODECONE:void 0}create(...eb){return new eN(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.SECPTransferInput=eN},94965:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},67715:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.KeyChain=em.KeyPair=void 0;let ew=eV(eH(89734)),eM=eH(57248),eC=eH(3079),eT=ew.default.getInstance();eC.Serialization.getInstance();class e_ extends eM.SECP256k1KeyPair{clone(){let eb=new e_(this.hrp,this.chainID);return eb.importKey(eT.copyFrom(this.getPrivateKey())),eb}create(...eb){return 2==eb.length?new e_(eb[0],eb[1]):new e_(this.hrp,this.chainID)}}em.KeyPair=e_;class eS extends eM.SECP256k1KeyChain{constructor(eb,em){super(),this.hrp="",this.chainid="",this.makeKey=()=>{let eb=new e_(this.hrp,this.chainid);return this.addKey(eb),eb},this.addKey=eb=>{eb.setChainID(this.chainid),super.addKey(eb)},this.importKey=eb=>{let em,eH=new e_(this.hrp,this.chainid);return em="string"==typeof eb?eT.cb58Decode(eb.split("-")[1]):eT.copyFrom(eb),eH.importKey(em),eH.getAddress().toString("hex") in this.keys||this.addKey(eH),eH},this.hrp=eb,this.chainid=em}create(...eb){return 2==eb.length?new eS(eb[0],eb[1]):new eS(this.hrp,this.chainid)}clone(){let eb=new eS(this.hrp,this.chainid);for(let em in this.keys)eb.addKey(this.keys[`${em}`].clone());return eb}union(eb){let em=eb.clone();for(let eb in this.keys)em.addKey(this.keys[`${eb}`].clone());return em}}em.KeyChain=eS},97627:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.MinterSet=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eH(48984),eT=eM.default.getInstance(),e_=eC.Serialization.getInstance(),eS="decimalString",eE="cb58",eA="number",eN="Buffer";class eI extends eC.Serializable{constructor(eb=1,em=[]){super(),this._typeName="MinterSet",this._typeID=void 0,this.minters=[],this.getThreshold=()=>this.threshold,this.getMinters=()=>this.minters,this._cleanAddresses=eb=>{let em=[];for(let eH=0;eHe_.encoder(em,eb,eN,eE,20))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.threshold=e_.decoder(eb.threshold,em,eS,eA,4),this.minters=eb.minters.map(eb=>e_.decoder(eb,em,eE,eN,20))}}em.MinterSet=eI},84863:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.OperationTx=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eH(62064),eT=eH(38191),e_=eH(41550),eS=eH(65614),eE=eH(62027),eA=eH(89858),eN=eH(77556),eI=eM.default.getInstance();class eD extends eE.BaseTx{constructor(eb=eA.DefaultNetworkID,em=ew.Buffer.alloc(32,16),eH,eV,eM,e_){if(super(eb,em,eH,eV,eM),this._typeName="OperationTx",this._codecID=eC.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?eC.AVMConstants.OPERATIONTX:eC.AVMConstants.OPERATIONTX_CODECONE,this.numOps=ew.Buffer.alloc(4),this.ops=[],void 0!==e_&&Array.isArray(e_)){for(let eb=0;ebem.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.ops=eb.ops.map(eb=>{let eH=new eT.TransferableOperation;return eH.deserialize(eb,em),eH}),this.numOps=ew.Buffer.alloc(4),this.numOps.writeUInt32BE(this.ops.length,0)}setCodecID(eb){if(0!==eb&&1!==eb)throw new eN.CodecIdError("Error - OperationTx.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?eC.AVMConstants.OPERATIONTX:eC.AVMConstants.OPERATIONTX_CODECONE}getTxType(){return this._typeID}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em),this.numOps=eI.copyFrom(eb,em,em+4),em+=4;let eH=this.numOps.readUInt32BE(0);for(let eV=0;eV{if(eb===eC.AVMConstants.SECPMINTOPID||eb===eC.AVMConstants.SECPMINTOPID_CODECONE)return new e$(...em);if(eb===eC.AVMConstants.NFTMINTOPID||eb===eC.AVMConstants.NFTMINTOPID_CODECONE)return new eW(...em);if(eb===eC.AVMConstants.NFTXFEROPID||eb===eC.AVMConstants.NFTXFEROPID_CODECONE)return new eZ(...em);throw new eN.InvalidOperationIdError(`Error - SelectOperationClass: unknown opid ${eb}`)};em.SelectOperationClass=eF;class ej extends eA.Serializable{constructor(){super(...arguments),this._typeName="Operation",this._typeID=void 0,this.sigCount=ew.Buffer.alloc(4),this.sigIdxs=[],this.getSigIdxs=()=>this.sigIdxs,this.addSignatureIdx=(eb,em)=>{let eH=new eS.SigIdx,eV=ew.Buffer.alloc(4);eV.writeUInt32BE(eb,0),eH.fromBuffer(eV),eH.setSource(em),this.sigIdxs.push(eH),this.sigCount.writeUInt32BE(this.sigIdxs.length,0)}}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{sigIdxs:this.sigIdxs.map(em=>em.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.sigIdxs=eb.sigIdxs.map(eb=>{let eH=new eS.SigIdx;return eH.deserialize(eb,em),eH}),this.sigCount.writeUInt32BE(this.sigIdxs.length,0)}fromBuffer(eb,em=0){this.sigCount=eI.copyFrom(eb,em,em+4),em+=4;let eH=this.sigCount.readUInt32BE(0);this.sigIdxs=[];for(let eV=0;eV(eb,em)=>{let eH=ew.Buffer.alloc(4);eH.writeUInt32BE(eb.getOperationID(),0);let eV=eb.toBuffer(),eM=ew.Buffer.alloc(4);eM.writeUInt32BE(em.getOperationID(),0);let eC=em.toBuffer(),eT=ew.Buffer.concat([eH,eV],eH.length+eV.length),e_=ew.Buffer.concat([eM,eC],eM.length+eC.length);return ew.Buffer.compare(eT,e_)};class eU extends eA.Serializable{constructor(eb,em,eH){if(super(),this._typeName="TransferableOperation",this._typeID=void 0,this.assetID=ew.Buffer.alloc(32),this.utxoIDs=[],this.getAssetID=()=>this.assetID,this.getUTXOIDs=()=>this.utxoIDs,this.getOperation=()=>this.operation,void 0!==eb&&eb.length===eC.AVMConstants.ASSETIDLEN&&eH instanceof ej&&void 0!==em&&Array.isArray(em)){this.assetID=eb,this.operation=eH;for(let eb=0;ebem.serialize(eb)),operation:this.operation.serialize(eb)})}deserialize(eb,eH="hex"){super.deserialize(eb,eH),this.assetID=eD.decoder(eb.assetID,eH,eP,eO,32),this.utxoIDs=eb.utxoIDs.map(eb=>{let em=new eG;return em.deserialize(eb,eH),em}),this.operation=(0,em.SelectOperationClass)(eb.operation._typeID),this.operation.deserialize(eb.operation,eH)}fromBuffer(eb,eH=0){this.assetID=eI.copyFrom(eb,eH,eH+32),eH+=32;let eV=eI.copyFrom(eb,eH,eH+4).readUInt32BE(0);eH+=4,this.utxoIDs=[];for(let em=0;emfunction(eb,em){return ew.Buffer.compare(eb.toBuffer(),em.toBuffer())};class e$ extends ej{constructor(eb,em){super(),this._typeName="SECPMintOperation",this._codecID=eC.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?eC.AVMConstants.SECPMINTOPID:eC.AVMConstants.SECPMINTOPID_CODECONE,this.mintOutput=void 0,this.transferOutput=void 0,void 0!==eb&&(this.mintOutput=eb),void 0!==em&&(this.transferOutput=em)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{mintOutput:this.mintOutput.serialize(eb),transferOutputs:this.transferOutput.serialize(eb)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.mintOutput=new eT.SECPMintOutput,this.mintOutput.deserialize(eb.mintOutput,em),this.transferOutput=new eT.SECPTransferOutput,this.transferOutput.deserialize(eb.transferOutputs,em)}setCodecID(eb){if(0!==eb&&1!==eb)throw new eN.CodecIdError("Error - SECPMintOperation.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?eC.AVMConstants.SECPMINTOPID:eC.AVMConstants.SECPMINTOPID_CODECONE}getOperationID(){return this._typeID}getCredentialID(){return 0===this._codecID?eC.AVMConstants.SECPCREDENTIAL:1===this._codecID?eC.AVMConstants.SECPCREDENTIAL_CODECONE:void 0}getMintOutput(){return this.mintOutput}getTransferOutput(){return this.transferOutput}fromBuffer(eb,em=0){return em=super.fromBuffer(eb,em),this.mintOutput=new eT.SECPMintOutput,em=this.mintOutput.fromBuffer(eb,em),this.transferOutput=new eT.SECPTransferOutput,em=this.transferOutput.fromBuffer(eb,em)}toBuffer(){let eb=super.toBuffer(),em=this.mintOutput.toBuffer(),eH=this.transferOutput.toBuffer(),eV=eb.length+em.length+eH.length,eM=[eb,em,eH];return ew.Buffer.concat(eM,eV)}}em.SECPMintOperation=e$;class eW extends ej{constructor(eb,em,eH){super(),this._typeName="NFTMintOperation",this._codecID=eC.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?eC.AVMConstants.NFTMINTOPID:eC.AVMConstants.NFTMINTOPID_CODECONE,this.groupID=ew.Buffer.alloc(4),this.outputOwners=[],this.getCredentialID=()=>0===this._codecID?eC.AVMConstants.NFTCREDENTIAL:1===this._codecID?eC.AVMConstants.NFTCREDENTIAL_CODECONE:void 0,this.getGroupID=()=>eI.copyFrom(this.groupID,0),this.getPayload=()=>eI.copyFrom(this.payload,0),this.getPayloadBuffer=()=>{let eb=ew.Buffer.alloc(4);return eb.writeUInt32BE(this.payload.length,0),ew.Buffer.concat([eb,eI.copyFrom(this.payload,0)])},this.getOutputOwners=()=>this.outputOwners,void 0!==eb&&void 0!==em&&eH.length&&(this.groupID.writeUInt32BE(eb||0,0),this.payload=em,this.outputOwners=eH)}serialize(eb="hex"){let em=super.serialize(eb);return Object.assign(Object.assign({},em),{groupID:eD.encoder(this.groupID,eb,eO,eB,4),payload:eD.encoder(this.payload,eb,eO,eR),outputOwners:this.outputOwners.map(em=>em.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.groupID=eD.decoder(eb.groupID,em,eB,eO,4),this.payload=eD.decoder(eb.payload,em,eR,eO),this.outputOwners=eb.outputOwners.map(eb=>{let eH=new eE.OutputOwners;return eH.deserialize(eb,em),eH})}setCodecID(eb){if(0!==eb&&1!==eb)throw new eN.CodecIdError("Error - NFTMintOperation.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?eC.AVMConstants.NFTMINTOPID:eC.AVMConstants.NFTMINTOPID_CODECONE}getOperationID(){return this._typeID}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em),this.groupID=eI.copyFrom(eb,em,em+4),em+=4;let eH=eI.copyFrom(eb,em,em+4).readUInt32BE(0);em+=4,this.payload=eI.copyFrom(eb,em,em+eH),em+=eH;let eV=eI.copyFrom(eb,em,em+4).readUInt32BE(0);em+=4,this.outputOwners=[];for(let eH=0;eHthis.output,void 0!==eb&&(this.output=eb)}serialize(eb="hex"){let em=super.serialize(eb);return Object.assign(Object.assign({},em),{output:this.output.serialize(eb)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.output=new eT.NFTTransferOutput,this.output.deserialize(eb.output,em)}setCodecID(eb){if(0!==eb&&1!==eb)throw new eN.CodecIdError("Error - NFTTransferOperation.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?eC.AVMConstants.NFTXFEROPID:eC.AVMConstants.NFTXFEROPID_CODECONE}getOperationID(){return this._typeID}getCredentialID(){return 0===this._codecID?eC.AVMConstants.NFTCREDENTIAL:1===this._codecID?eC.AVMConstants.NFTCREDENTIAL_CODECONE:void 0}fromBuffer(eb,em=0){return em=super.fromBuffer(eb,em),this.output=new eT.NFTTransferOutput,this.output.fromBuffer(eb,em)}toBuffer(){let eb=super.toBuffer(),em=this.output.toBuffer(),eH=eb.length+em.length,eV=[eb,em];return ew.Buffer.concat(eV,eH)}toString(){return eI.bufferToB58(this.toBuffer())}}em.NFTTransferOperation=eZ;class eG extends e_.NBytes{constructor(){super(),this._typeName="UTXOID",this._typeID=void 0,this.bytes=ew.Buffer.alloc(36),this.bsize=36}toString(){return eI.cb58Encode(this.toBuffer())}fromString(eb){let em=eI.b58ToBuffer(eb);if(40===em.length&&eI.validateChecksum(em)){let eb=eI.copyFrom(em,0,em.length-4);36===eb.length&&(this.bytes=eb)}else if(40===em.length)throw new eN.ChecksumError("Error - UTXOID.fromString: invalid checksum on address");else if(36===em.length)this.bytes=em;else throw new eN.AddressError("Error - UTXOID.fromString: invalid address");return this.getSize()}clone(){let eb=new eG;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eG}}em.UTXOID=eG,eG.comparator=()=>(eb,em)=>ew.Buffer.compare(eb.toBuffer(),em.toBuffer())},60578:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.NFTTransferOutput=em.NFTMintOutput=em.SECPMintOutput=em.SECPTransferOutput=em.NFTOutput=em.AmountOutput=em.TransferableOutput=em.SelectOutputClass=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eH(62064),eT=eH(49009),e_=eH(48984),eS=eH(77556),eE=eM.default.getInstance(),eA=e_.Serialization.getInstance(),eN=(eb,...em)=>{if(eb===eC.AVMConstants.SECPXFEROUTPUTID||eb===eC.AVMConstants.SECPXFEROUTPUTID_CODECONE)return new eO(...em);if(eb===eC.AVMConstants.SECPMINTOUTPUTID||eb===eC.AVMConstants.SECPMINTOUTPUTID_CODECONE)return new eR(...em);if(eb===eC.AVMConstants.NFTMINTOUTPUTID||eb===eC.AVMConstants.NFTMINTOUTPUTID_CODECONE)return new eB(...em);if(eb===eC.AVMConstants.NFTXFEROUTPUTID||eb===eC.AVMConstants.NFTXFEROUTPUTID_CODECONE)return new eF(...em);throw new eS.OutputIdError("Error - SelectOutputClass: unknown outputid "+eb)};em.SelectOutputClass=eN;class eI extends eT.StandardTransferableOutput{constructor(){super(...arguments),this._typeName="TransferableOutput",this._typeID=void 0}deserialize(eb,eH="hex"){super.deserialize(eb,eH),this.output=(0,em.SelectOutputClass)(eb.output._typeID),this.output.deserialize(eb.output,eH)}fromBuffer(eb,eH=0){this.assetID=eE.copyFrom(eb,eH,eH+eC.AVMConstants.ASSETIDLEN),eH+=eC.AVMConstants.ASSETIDLEN;let eV=eE.copyFrom(eb,eH,eH+4).readUInt32BE(0);return eH+=4,this.output=(0,em.SelectOutputClass)(eV),this.output.fromBuffer(eb,eH)}}em.TransferableOutput=eI;class eD extends eT.StandardAmountOutput{constructor(){super(...arguments),this._typeName="AmountOutput",this._typeID=void 0}makeTransferable(eb){return new eI(eb,this)}select(eb,...eH){return(0,em.SelectOutputClass)(eb,...eH)}}em.AmountOutput=eD;class eP extends eT.BaseNFTOutput{constructor(){super(...arguments),this._typeName="NFTOutput",this._typeID=void 0}makeTransferable(eb){return new eI(eb,this)}select(eb,...eH){return(0,em.SelectOutputClass)(eb,...eH)}}em.NFTOutput=eP;class eO extends eD{constructor(){super(...arguments),this._typeName="SECPTransferOutput",this._codecID=eC.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?eC.AVMConstants.SECPXFEROUTPUTID:eC.AVMConstants.SECPXFEROUTPUTID_CODECONE}setCodecID(eb){if(0!==eb&&1!==eb)throw new eS.CodecIdError("Error - SECPTransferOutput.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?eC.AVMConstants.SECPXFEROUTPUTID:eC.AVMConstants.SECPXFEROUTPUTID_CODECONE}getOutputID(){return this._typeID}create(...eb){return new eO(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.SECPTransferOutput=eO;class eR extends eT.Output{constructor(){super(...arguments),this._typeName="SECPMintOutput",this._codecID=eC.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?eC.AVMConstants.SECPMINTOUTPUTID:eC.AVMConstants.SECPMINTOUTPUTID_CODECONE}setCodecID(eb){if(0!==eb&&1!==eb)throw new eS.CodecIdError("Error - SECPMintOutput.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?eC.AVMConstants.SECPMINTOUTPUTID:eC.AVMConstants.SECPMINTOUTPUTID_CODECONE}getOutputID(){return this._typeID}makeTransferable(eb){return new eI(eb,this)}create(...eb){return new eR(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}select(eb,...eH){return(0,em.SelectOutputClass)(eb,...eH)}}em.SECPMintOutput=eR;class eB extends eP{constructor(eb,em,eH,eV){super(em,eH,eV),this._typeName="NFTMintOutput",this._codecID=eC.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?eC.AVMConstants.NFTMINTOUTPUTID:eC.AVMConstants.NFTMINTOUTPUTID_CODECONE,void 0!==eb&&this.groupID.writeUInt32BE(eb,0)}setCodecID(eb){if(0!==eb&&1!==eb)throw new eS.CodecIdError("Error - NFTMintOutput.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?eC.AVMConstants.NFTMINTOUTPUTID:eC.AVMConstants.NFTMINTOUTPUTID_CODECONE}getOutputID(){return this._typeID}fromBuffer(eb,em=0){return this.groupID=eE.copyFrom(eb,em,em+4),em+=4,super.fromBuffer(eb,em)}toBuffer(){let eb=super.toBuffer(),em=this.groupID.length+eb.length,eH=[this.groupID,eb];return ew.Buffer.concat(eH,em)}create(...eb){return new eB(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.NFTMintOutput=eB;class eF extends eP{constructor(eb,em,eH,eV,eM){super(eH,eV,eM),this._typeName="NFTTransferOutput",this._codecID=eC.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?eC.AVMConstants.NFTXFEROUTPUTID:eC.AVMConstants.NFTXFEROUTPUTID_CODECONE,this.sizePayload=ew.Buffer.alloc(4),this.getPayload=()=>eE.copyFrom(this.payload),this.getPayloadBuffer=()=>ew.Buffer.concat([eE.copyFrom(this.sizePayload),eE.copyFrom(this.payload)]),void 0!==eb&&void 0!==em&&(this.groupID.writeUInt32BE(eb,0),this.sizePayload.writeUInt32BE(em.length,0),this.payload=eE.copyFrom(em,0,em.length))}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{payload:eA.encoder(this.payload,eb,"Buffer","hex",this.payload.length)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.payload=eA.decoder(eb.payload,em,"hex","Buffer"),this.sizePayload=ew.Buffer.alloc(4),this.sizePayload.writeUInt32BE(this.payload.length,0)}setCodecID(eb){if(0!==eb&&1!==eb)throw new eS.CodecIdError("Error - NFTTransferOutput.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?eC.AVMConstants.NFTXFEROUTPUTID:eC.AVMConstants.NFTXFEROUTPUTID_CODECONE}getOutputID(){return this._typeID}fromBuffer(eb,em=0){this.groupID=eE.copyFrom(eb,em,em+4),em+=4,this.sizePayload=eE.copyFrom(eb,em,em+4);let eH=this.sizePayload.readUInt32BE(0);return em+=4,this.payload=eE.copyFrom(eb,em,em+eH),em+=eH,super.fromBuffer(eb,em)}toBuffer(){let eb=super.toBuffer(),em=this.groupID.length+this.sizePayload.length+this.payload.length+eb.length;this.sizePayload.writeUInt32BE(this.payload.length,0);let eH=[this.groupID,this.sizePayload,this.payload,eb];return ew.Buffer.concat(eH,em)}create(...eb){return new eF(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.NFTTransferOutput=eF},47809:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Tx=em.UnsignedTx=em.SelectTxClass=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eH(62064),eT=eH(41550),e_=eH(21616),eS=eV(eH(23482)),eE=eH(62027),eA=eH(47599),eN=eH(84863),eI=eH(45157),eD=eH(865),eP=eH(77556),eO=eM.default.getInstance(),eR=(eb,...em)=>{if(eb===eC.AVMConstants.BASETX)return new eE.BaseTx(...em);if(eb===eC.AVMConstants.CREATEASSETTX)return new eA.CreateAssetTx(...em);if(eb===eC.AVMConstants.OPERATIONTX)return new eN.OperationTx(...em);if(eb===eC.AVMConstants.IMPORTTX)return new eI.ImportTx(...em);if(eb===eC.AVMConstants.EXPORTTX)return new eD.ExportTx(...em);throw new eP.TransactionError("Error - SelectTxClass: unknown txtype")};em.SelectTxClass=eR;class eB extends e_.StandardUnsignedTx{constructor(){super(...arguments),this._typeName="UnsignedTx",this._typeID=void 0}deserialize(eb,eH="hex"){super.deserialize(eb,eH),this.transaction=(0,em.SelectTxClass)(eb.transaction._typeID),this.transaction.deserialize(eb.transaction,eH)}getTransaction(){return this.transaction}fromBuffer(eb,eH=0){this.codecID=eO.copyFrom(eb,eH,eH+2).readUInt16BE(0),eH+=2;let eV=eO.copyFrom(eb,eH,eH+4).readUInt32BE(0);return eH+=4,this.transaction=(0,em.SelectTxClass)(eV),this.transaction.fromBuffer(eb,eH)}sign(eb){let em=this.toBuffer(),eH=ew.Buffer.from((0,eS.default)("sha256").update(em).digest()),eV=this.transaction.sign(eH,eb);return new eF(this,eV)}}em.UnsignedTx=eB;class eF extends e_.StandardTx{constructor(){super(...arguments),this._typeName="Tx",this._typeID=void 0}deserialize(eb,em="hex"){super.deserialize(eb,em),this.unsignedTx=new eB,this.unsignedTx.deserialize(eb.unsignedTx,em),this.credentials=[];for(let eH=0;eH{let ew=this.getAllUTXOs(),eM={};for(let eH=0;eH{if(eP>ew.length)throw new eW.ThresholdError("Error - UTXOSet.buildBaseTx: threshold is greater than number of addresses");void 0===eT&&(eT=ew),void 0===eE&&(eE=eV);let eO=new eC.default(0);if(eH.eq(eO))return;let eB=new eY(ew,eM,eT);eV.toString("hex")===eE.toString("hex")?eB.addAssetAmount(eV,eH,e_):(eB.addAssetAmount(eV,eH,eO),this._feeCheck(e_,eE)&&eB.addAssetAmount(eE,eO,e_));let eF=[],ej=[],eU=this.getMinimumSpendable(eB,eI,eD,eP);if(void 0===eU)eF=eB.getInputs(),ej=eB.getAllOutputs();else throw eU;let e$=new eR.BaseTx(eb,em,ej,eF,eA);return new eS.UnsignedTx(e$)},this.buildCreateAssetTx=(eb,em,eH,eV,ew,eM,e_,eE,eA,eI,eD,eO,eR=(0,eN.UnixNow)())=>{let eB=new eC.default(0),eF=[],ej=[];if(this._feeCheck(eI,eD)){let eb=new eY(eH,eH,eV);eb.addAssetAmount(eD,eB,eI);let em=this.getMinimumSpendable(eb,eR);if(void 0===em)eF=eb.getInputs(),ej=eb.getAllOutputs();else throw em}if(void 0!==eA)for(let eb=0;eb{let eR=new eC.default(0),eB=[],eF=[];if(this._feeCheck(eE,eI)){let eb=new eY(ew,ew,eM);eb.addAssetAmount(eI,eR,eE);let em=this.getMinimumSpendable(eb,eP);if(void 0===em)eB=eb.getInputs(),eF=eb.getAllOutputs();else throw em}let ej=[],eU=new eA.SECPMintOperation(eH,eV),e$=this.getUTXO(eT);if(void 0===e$)throw new eW.UTXOError("Error - UTXOSet.buildSECPMintTx: UTXOID not found");if(e$.getOutput().getOutputID()!==e_.AVMConstants.SECPMINTOUTPUTID)throw new eW.SECPMintOutputError("Error - UTXOSet.buildSECPMintTx: UTXO is not a SECPMINTOUTPUTID");let eZ=e$.getOutput(),eG=eZ.getSpenders(ew,eP);for(let eb=0;eb{let eF=new eC.default(0),ej=[],eU=[];if(this._feeCheck(eA,eD)){let eb=new eY(eH,eH,eV);eb.addAssetAmount(eD,eF,eA);let em=this.getMinimumSpendable(eb,eR);if(void 0===em)ej=eb.getInputs(),eU=eb.getAllOutputs();else throw em}let e$=new eI.InitialStates;for(let eb=0;eb{let eR=new eC.default(0),eB=[],eF=[];if(this._feeCheck(eE,eI)){let eb=new eY(eV,eV,ew);eb.addAssetAmount(eI,eR,eE);let em=this.getMinimumSpendable(eb,eP);if(void 0===em)eB=eb.getInputs(),eF=eb.getAllOutputs();else throw em}let ej=[],eU=new eA.NFTMintOperation(eT,e_,eH);for(let eb=0;eb{let eB=new eC.default(0),eF=[],ej=[];if(this._feeCheck(e_,eE)){let eb=new eY(eV,eV,ew);eb.addAssetAmount(eE,eB,e_);let em=this.getMinimumSpendable(eb,eD);if(void 0===em)eF=eb.getInputs(),ej=eb.getAllOutputs();else throw em}let eU=[];for(let eb=0;eb{let eB=new eC.default(0),ej=[],eU=[];void 0===eA&&(eA=eB.clone());let e$=[],eZ=new eC.default(0),eG=eI.toString("hex");for(let eb=0;eb{let eR=[],eF=[],eU=[];void 0===eT&&(eT=ew);let e$=new eC.default(0);if(eH.eq(e$))return;void 0===eA&&(eA=eV),void 0===e_&&(e_=eZ.cb58Decode(ej.PlatformChainID));let eW=new eY(ew,eM,eT);eV.toString("hex")===eA.toString("hex")?eW.addAssetAmount(eV,eH,eE):(eW.addAssetAmount(eV,eH,e$),this._feeCheck(eE,eA)&&eW.addAssetAmount(eA,e$,eE));let eG=this.getMinimumSpendable(eW,eD,eP,eO);if(void 0===eG)eR=eW.getInputs(),eF=eW.getChangeOutputs(),eU=eW.getOutputs();else throw eG;let eK=new eB.ExportTx(eb,em,eF,eR,eI,e_,eU);return new eS.UnsignedTx(eK)}}deserialize(eb,em="hex"){super.deserialize(eb,em);let eH={};for(let eV in eb.utxos){let ew=eG.decoder(eV,em,"base58","base58");eH[`${ew}`]=new eK,eH[`${ew}`].deserialize(eb.utxos[`${eV}`],em)}let eV={};for(let eH in eb.addressUTXOs){let ew=eG.decoder(eH,em,"cb58","hex"),eM={};for(let eV in eb.addressUTXOs[`${eH}`])eM[`${eG.decoder(eV,em,"base58","base58")}`]=eG.decoder(eb.addressUTXOs[`${eH}`][`${eV}`],em,"decimalString","BN");eV[`${ew}`]=eM}this.utxos=eH,this.addressUTXOs=eV}parseUTXO(eb){let em=new eK;if("string"==typeof eb)em.fromBuffer(eZ.cb58Decode(eb));else if(eb instanceof eK)em.fromBuffer(eb.toBuffer());else throw new eW.UTXOError("Error - UTXO.parseUTXO: utxo parameter is not a UTXO or string");return em}create(...eb){return new eX}clone(){let eb=this.create(),em=this.getAllUTXOs();return eb.addArray(em),eb}_feeCheck(eb,em){return void 0!==eb&&void 0!==em&&eb.gt(new eC.default(0))&&em instanceof ew.Buffer}}em.UTXOSet=eX},61775:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Vertex=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eH(62064),eT=eH(47809),e_=eH(3079),eS=eV(eH(13550)),eE=eM.default.getInstance();class eA extends e_.Serializable{constructor(eb=e_.DefaultNetworkID,em="2oYMBNV4eNHyqk2fjjV5nVQLDbtmNJzq5s3qs3Lo6ftnC6FByM",eH=new eS.default(0),eV=0,ew=[],eM=[],eT=[]){super(),this._typeName="Vertex",this._codecID=eC.AVMConstants.LATESTCODEC,this.networkID=eb,this.blockchainID=eE.cb58Decode(em),this.height=eH,this.epoch=eV,this.parentIDs=ew,this.numParentIDs=ew.length,this.txs=eM,this.numTxs=eM.length,this.restrictions=eT,this.numRestrictions=eT.length}getNetworkID(){return this.networkID}getBlockchainID(){return eE.cb58Encode(this.blockchainID)}getHeight(){return this.height}getEpoch(){return this.epoch}getParentIDs(){return this.parentIDs}getTxs(){return this.txs}getRestrictions(){return this.restrictions}setCodecID(eb){if(0!==eb&&1!==eb)throw new e_.CodecIdError("Error - Vertex.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?eC.AVMConstants.VERTEX:eC.AVMConstants.VERTEX_CODECONE}fromBuffer(eb,em=0){em+=2,this.blockchainID=eE.copyFrom(eb,em,em+32),em+=32;let eH=eE.copyFrom(eb,em,em+8);this.height=eE.fromBufferToBN(eH),em+=8;let eV=eE.copyFrom(eb,em,em+4);this.epoch=eV.readInt32BE(0),em+=4;let ew=eE.copyFrom(eb,em,em+4);this.numParentIDs=ew.readInt32BE(0),em+=4;for(let eH=0;eHem&&eb.byteLength-em>4){let eH=eE.copyFrom(eb,em,em+4);this.numRestrictions=eH.readInt32BE(0),em+=4;for(let eH=0;eH{eM.push(eb)});let eC=this.getTxs(),eT=ew.Buffer.alloc(4);eT.writeUInt32BE(eC.length,0),eM.push(eT);let e_=0,eS=ew.Buffer.alloc(4);return eC.forEach(eb=>{let em=eb.toBuffer();e_+=em.byteLength}),eS.writeUInt32BE(e_,0),eM.push(eS),eC.forEach(eb=>{let em=eb.toBuffer();eM.push(em)}),ew.Buffer.concat(eM)}clone(){let eb=new eA;return eb.fromBuffer(this.toBuffer()),eb}}em.Vertex=eA},80512:function(eb,em,eH){"use strict";var eV=this&&this.__awaiter||function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})},ew=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.EVMAPI=void 0;let eM=eH(48764),eC=ew(eH(13550)),eT=eH(98769),e_=ew(eH(89734)),eS=eH(89222),eE=eH(50754),eA=eH(89858),eN=eH(73653),eI=eH(17705),eD=eH(40320),eP=eH(20001),eO=eH(31612),eR=eH(77556),eB=eH(3079),eF=e_.default.getInstance(),ej=eB.Serialization.getInstance();class eU extends eT.JRPCAPI{constructor(eb,em="/ext/bc/C/avax",eH=""){super(eb,em),this.keychain=new eE.KeyChain("",""),this.blockchainID="",this.blockchainAlias=void 0,this.AVAXAssetID=void 0,this.txFee=void 0,this.getBlockchainAlias=()=>{if(void 0===this.blockchainAlias){let eb=this.core.getNetworkID();if(!(eb in eA.Defaults.network)||!(this.blockchainID in eA.Defaults.network[`${eb}`]))return;this.blockchainAlias=eA.Defaults.network[`${eb}`][this.blockchainID].alias}return this.blockchainAlias},this.setBlockchainAlias=eb=>{this.blockchainAlias=eb},this.getBlockchainID=()=>this.blockchainID,this.refreshBlockchainID=eb=>{let em=this.core.getNetworkID();return void 0===eb&&void 0!==eA.Defaults.network[`${em}`]?(this.blockchainID=eA.Defaults.network[`${em}`].C.blockchainID,!0):"string"==typeof eb&&(this.blockchainID=eb,!0)},this.parseAddress=eb=>{let em=this.getBlockchainAlias(),eH=this.getBlockchainID();return eF.parseAddress(eb,eH,em,eI.EVMConstants.ADDRESSLENGTH)},this.addressFromBuffer=eb=>{let em=this.getBlockchainAlias()?this.getBlockchainAlias():this.getBlockchainID(),eH="bech32";return ej.bufferToType(eb,eH,this.core.getHRP(),em)},this.getAssetDescription=eb=>eV(this,void 0,void 0,function*(){let em;em="string"!=typeof eb?eF.cb58Encode(eb):eb;let eH={assetID:em},eV=this.getBaseURL();this.setBaseURL("/ext/bc/X");let ew=yield this.callMethod("avm.getAssetDescription",eH);return this.setBaseURL(eV),{name:ew.data.result.name,symbol:ew.data.result.symbol,assetID:eF.cb58Decode(ew.data.result.assetID),denomination:parseInt(ew.data.result.denomination,10)}}),this.getAVAXAssetID=(eb=!1)=>eV(this,void 0,void 0,function*(){if(void 0===this.AVAXAssetID||eb){let eb=yield this.getAssetDescription(eA.PrimaryAssetAlias);this.AVAXAssetID=eb.assetID}return this.AVAXAssetID}),this.setAVAXAssetID=eb=>{"string"==typeof eb&&(eb=eF.cb58Decode(eb)),this.AVAXAssetID=eb},this.getDefaultTxFee=()=>new eC.default(this.core.getNetworkID() in eA.Defaults.network?eA.Defaults.network[this.core.getNetworkID()].C.txFee:0),this.getAssetBalance=(eb,em,eH)=>eV(this,void 0,void 0,function*(){let eV=[eb,em,eH],ew="eth_getAssetBalance",eM="ext/bc/C/rpc",eC=yield this.callMethod(ew,eV,eM);return eC.data}),this.getAtomicTxStatus=eb=>eV(this,void 0,void 0,function*(){let em={txID:eb},eH=yield this.callMethod("avax.getAtomicTxStatus",em);return eH.data.result.status?eH.data.result.status:eH.data.result}),this.getAtomicTx=eb=>eV(this,void 0,void 0,function*(){let em={txID:eb},eH=yield this.callMethod("avax.getAtomicTx",em);return eH.data.result.tx}),this.getTxFee=()=>(void 0===this.txFee&&(this.txFee=this.getDefaultTxFee()),this.txFee),this.export=(eb,em,eH,ew,eM)=>eV(this,void 0,void 0,function*(){let eV={to:eH,amount:ew.toString(10),username:eb,password:em,assetID:eM},eC=yield this.callMethod("avax.export",eV);return eC.data.result.txID?eC.data.result.txID:eC.data.result}),this.exportAVAX=(eb,em,eH,ew)=>eV(this,void 0,void 0,function*(){let eV={to:eH,amount:ew.toString(10),username:eb,password:em},eM=yield this.callMethod("avax.exportAVAX",eV);return eM.data.result.txID?eM.data.result.txID:eM.data.result}),this.getUTXOs=(eb,em,eH=0,ew,eC="hex")=>eV(this,void 0,void 0,function*(){"string"==typeof eb&&(eb=[eb]);let eV={addresses:eb,limit:eH,encoding:eC};void 0!==ew&&ew&&(eV.startIndex=ew),void 0!==em&&(eV.sourceChain=em);let eT=yield this.callMethod("avax.getUTXOs",eV),e_=new eS.UTXOSet,eE=eT.data.result.utxos;if(eE.length>0&&"0x"===eE[0].substring(0,2)){let eb=[];eE.forEach(em=>{eb.push(eF.cb58Encode(new eM.Buffer(em.slice(2),"hex")))}),e_.addArray(eb,!1)}else e_.addArray(eE,!1);return eT.data.result.utxos=e_,eT.data.result}),this.import=(eb,em,eH,ew)=>eV(this,void 0,void 0,function*(){let eV={to:eH,sourceChain:ew,username:eb,password:em},eM=yield this.callMethod("avax.import",eV);return eM.data.result.txID?eM.data.result.txID:eM.data.result}),this.importAVAX=(eb,em,eH,ew)=>eV(this,void 0,void 0,function*(){let eV={to:eH,sourceChain:ew,username:eb,password:em},eM=yield this.callMethod("avax.importAVAX",eV);return eM.data.result.txID?eM.data.result.txID:eM.data.result}),this.importKey=(eb,em,eH)=>eV(this,void 0,void 0,function*(){let eV={username:eb,password:em,privateKey:eH},ew=yield this.callMethod("avax.importKey",eV);return ew.data.result.address?ew.data.result.address:ew.data.result}),this.issueTx=eb=>eV(this,void 0,void 0,function*(){let em="";if("string"==typeof eb)em=eb;else if(eb instanceof eM.Buffer){let eH=new eN.Tx;eH.fromBuffer(eb),em=eH.toStringHex()}else if(eb instanceof eN.Tx)em=eb.toStringHex();else throw new eR.TransactionError("Error - avax.issueTx: provided tx is not expected type of string, Buffer, or Tx");let eH={tx:em.toString(),encoding:"hex"},eV=yield this.callMethod("avax.issueTx",eH);return eV.data.result.txID?eV.data.result.txID:eV.data.result}),this.exportKey=(eb,em,eH)=>eV(this,void 0,void 0,function*(){let eV={username:eb,password:em,address:eH},ew=yield this.callMethod("avax.exportKey",eV);return ew.data.result}),this.buildImportTx=(eb,em,eH,ew,eT,e_=new eC.default(0))=>eV(this,void 0,void 0,function*(){let eV;if(this._cleanAddressArray(eT,"buildImportTx").map(eb=>eF.stringToAddress(eb)),"string"==typeof ew)eV=ew,ew=eF.cb58Decode(ew);else if(void 0===ew||!(ew instanceof eM.Buffer))throw new eR.ChainIdError("Error - EVMAPI.buildImportTx: sourceChain is undefined or invalid sourceChain type.");let eC=yield this.getUTXOs(eH,eV,0,void 0),eS=eC.utxos,eE=this.core.getNetworkID(),eN=eA.Defaults.network[`${eE}`].X.avaxAssetID,eI=eF.cb58Decode(eN),eD=eS.getAllUTXOs();if(0===eD.length)throw new eR.NoAtomicUTXOsError("Error - EVMAPI.buildImportTx: no atomic utxos to import");let eP=eb.buildImportTx(eE,eF.cb58Decode(this.blockchainID),em,eD,ew,e_,eI);return eP}),this.buildExportTx=(eb,em,eH,ew,eT,e_,eS=0,eE=new eC.default(0),eA=1,eI=new eC.default(0))=>eV(this,void 0,void 0,function*(){let eV={};if(e_.map(eb=>{eV[eb.split("-")[0]]=!0}),1!==Object.keys(eV).length)throw new eR.AddressError("Error - EVMAPI.buildExportTx: To addresses must have the same chainID prefix.");if(void 0===eH)throw new eR.ChainIdError("Error - EVMAPI.buildExportTx: Destination ChainID is undefined.");if("string"==typeof eH)eH=eF.cb58Decode(eH);else if(!(eH instanceof eM.Buffer))throw new eR.ChainIdError("Error - EVMAPI.buildExportTx: Invalid destinationChain type");if(32!==eH.length)throw new eR.ChainIdError("Error - EVMAPI.buildExportTx: Destination ChainID must be 32 bytes in length.");let eC=yield this.getAssetDescription("AVAX"),eB=[];if(eF.cb58Encode(eC.assetID)===em){let eH=new eD.EVMInput(ew,eb.add(eI),em,eS);eH.addSignatureIdx(0,eF.stringToAddress(eT)),eB.push(eH)}else{let eH=new eD.EVMInput(ew,eI,eC.assetID,eS);eH.addSignatureIdx(0,eF.stringToAddress(eT)),eB.push(eH);let eV=new eD.EVMInput(ew,eb,em,eS);eV.addSignatureIdx(0,eF.stringToAddress(eT)),eB.push(eV)}let ej=[];e_.map(eb=>{ej.push(eF.stringToAddress(eb))});let eU=[],e$=new eP.SECPTransferOutput(eb,ej,eE,eA),eW=new eP.TransferableOutput(eF.cb58Decode(em),e$);eU.push(eW),eB=eB.sort(eD.EVMInput.comparator()),eU=eU.sort(eP.TransferableOutput.comparator());let eZ=new eO.ExportTx(this.core.getNetworkID(),eF.cb58Decode(this.blockchainID),eH,eB,eU),eG=new eN.UnsignedTx(eZ);return eG}),this.keyChain=()=>this.keychain,this.newKeyChain=()=>{let eb=this.getBlockchainAlias();return eb?this.keychain=new eE.KeyChain(this.core.getHRP(),eb):this.keychain=new eE.KeyChain(this.core.getHRP(),this.blockchainID),this.keychain},this.getBaseFee=()=>eV(this,void 0,void 0,function*(){let eb=[],em="eth_baseFee",eH="ext/bc/C/rpc",eV=yield this.callMethod(em,eb,eH);return eV.data.result}),this.getMaxPriorityFeePerGas=()=>eV(this,void 0,void 0,function*(){let eb=[],em="eth_maxPriorityFeePerGas",eH="ext/bc/C/rpc",eV=yield this.callMethod(em,eb,eH);return eV.data.result}),this.blockchainID=eH;let ew=eb.getNetworkID();if(ew in eA.Defaults.network&&eH in eA.Defaults.network[`${ew}`]){let eb=eA.Defaults.network[`${ew}`][`${eH}`].alias;this.keychain=new eE.KeyChain(this.core.getHRP(),eb)}else this.keychain=new eE.KeyChain(this.core.getHRP(),eH)}_cleanAddressArray(eb,em){let eH=[],eV=this.getBlockchainAlias()?this.getBlockchainAlias():this.getBlockchainID();return eb&&eb.length>0&&eb.forEach(eb=>{if("string"==typeof eb){if(void 0===this.parseAddress(eb))throw new eR.AddressError("Error - Invalid address format");eH.push(eb)}else{let em="bech32";eH.push(ej.bufferToType(eb,em,this.core.getHRP(),eV))}}),eH}}em.EVMAPI=eU},84771:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.EVMBaseTx=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eH(66408),eT=eH(89858),e_=eH(73653),eS=eM.default.getInstance();class eE extends eC.EVMStandardBaseTx{constructor(eb=eT.DefaultNetworkID,em=ew.Buffer.alloc(32,16)){super(eb,em),this._typeName="BaseTx",this._typeID=void 0}deserialize(eb,em="hex"){super.deserialize(eb,em)}getTxType(){return this._typeID}fromBuffer(eb,em=0){return this.networkID=eS.copyFrom(eb,em,em+4),em+=4,this.blockchainID=eS.copyFrom(eb,em,em+32),em+=32}sign(eb,em){let eH=[];return eH}clone(){let eb=new eE;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eE(...eb)}select(eb,...em){let eH=(0,e_.SelectTxClass)(eb,...em);return eH}}em.EVMBaseTx=eE},17705:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.EVMConstants=void 0;class eH{}em.EVMConstants=eH,eH.SECPCREDENTIAL=9,eH.IMPORTTX=0,eH.EXPORTTX=1,eH.SECPINPUTID=5,eH.ASSETIDLEN=32,eH.SECPXFEROUTPUTID=7,eH.LATESTCODEC=0,eH.ADDRESSLENGTH=20},40522:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.SECPCredential=em.SelectCredentialClass=void 0;let eV=eH(17705),ew=eH(65614),eM=eH(77556),eC=(eb,...em)=>{if(eb===eV.EVMConstants.SECPCREDENTIAL)return new eT(...em);throw new eM.CredIdError("Error - SelectCredentialClass: unknown credid")};em.SelectCredentialClass=eC;class eT extends ew.Credential{constructor(){super(...arguments),this._typeName="SECPCredential",this._typeID=eV.EVMConstants.SECPCREDENTIAL}getCredentialID(){return this._typeID}clone(){let eb=new eT;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eT(...eb)}select(eb,...eH){return(0,em.SelectCredentialClass)(eb,...eH)}}em.SECPCredential=eT},31612:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.ExportTx=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eH(17705),eT=eH(84771),e_=eH(40522),eS=eH(65614),eE=eH(40320),eA=eH(48984),eN=eH(20001),eI=eH(77556),eD=eM.default.getInstance(),eP=eA.Serialization.getInstance();class eO extends eT.EVMBaseTx{constructor(eb,em=ew.Buffer.alloc(32,16),eH=ew.Buffer.alloc(32,16),eV,eM){super(eb,em),this._typeName="ExportTx",this._typeID=eC.EVMConstants.EXPORTTX,this.destinationChain=ew.Buffer.alloc(32),this.numInputs=ew.Buffer.alloc(4),this.inputs=[],this.numExportedOutputs=ew.Buffer.alloc(4),this.exportedOutputs=[],this.destinationChain=eH,void 0!==eV&&Array.isArray(eV)&&(eV.forEach(eb=>{if(!(eb instanceof eE.EVMInput))throw new eI.EVMInputError("Error - ExportTx.constructor: invalid EVMInput in array parameter 'inputs'")}),eV.length>1&&(eV=eV.sort(eE.EVMInput.comparator())),this.inputs=eV),void 0!==eM&&Array.isArray(eM)&&(eM.forEach(eb=>{if(!(eb instanceof eN.TransferableOutput))throw new eI.TransferableOutputError("Error - ExportTx.constructor: TransferableOutput EVMInput in array parameter 'exportedOutputs'")}),this.exportedOutputs=eM)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{destinationChain:eP.encoder(this.destinationChain,eb,"Buffer","cb58"),exportedOutputs:this.exportedOutputs.map(em=>em.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.destinationChain=eP.decoder(eb.destinationChain,em,"cb58","Buffer",32),this.exportedOutputs=eb.exportedOutputs.map(eb=>{let eH=new eN.TransferableOutput;return eH.deserialize(eb,em),eH}),this.numExportedOutputs=ew.Buffer.alloc(4),this.numExportedOutputs.writeUInt32BE(this.exportedOutputs.length,0)}getDestinationChain(){return this.destinationChain}getInputs(){return this.inputs}getExportedOutputs(){return this.exportedOutputs}toBuffer(){if(void 0===this.destinationChain)throw new eI.ChainIdError("ExportTx.toBuffer -- this.destinationChain is undefined");this.numInputs.writeUInt32BE(this.inputs.length,0),this.numExportedOutputs.writeUInt32BE(this.exportedOutputs.length,0);let eb=[super.toBuffer(),this.destinationChain,this.numInputs],em=super.toBuffer().length+this.destinationChain.length+this.numInputs.length;return this.inputs.forEach(eH=>{em+=eH.toBuffer().length,eb.push(eH.toBuffer())}),em+=this.numExportedOutputs.length,eb.push(this.numExportedOutputs),this.exportedOutputs.forEach(eH=>{em+=eH.toBuffer().length,eb.push(eH.toBuffer())}),ew.Buffer.concat(eb,em)}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em),this.destinationChain=eD.copyFrom(eb,em,em+32),em+=32,this.numInputs=eD.copyFrom(eb,em,em+4),em+=4;let eH=this.numInputs.readUInt32BE(0);for(let eV=0;eV{let ew=(0,e_.SelectCredentialClass)(eV.getCredentialID()),eM=eV.getSigIdxs();eM.forEach(eH=>{let eV=em.getKey(eH.getSource()),eM=eV.sign(eb),eC=new eS.Signature;eC.fromBuffer(eM),ew.addSignature(eC)}),eH.push(ew)}),eH}}em.ExportTx=eO},40314:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.ImportTx=void 0;let ew=eH(48764),eM=eV(eH(13550)),eC=eV(eH(89734)),eT=eH(17705),e_=eH(20001),eS=eH(40320),eE=eH(84771),eA=eH(40522),eN=eH(65614),eI=eH(7451),eD=eH(89858),eP=eH(48984),eO=eH(77556),eR=eC.default.getInstance(),eB=eP.Serialization.getInstance();class eF extends eE.EVMBaseTx{constructor(eb=eD.DefaultNetworkID,em=ew.Buffer.alloc(32,16),eH=ew.Buffer.alloc(32,16),eV,eC,eE=new eM.default(0)){super(eb,em),this._typeName="ImportTx",this._typeID=eT.EVMConstants.IMPORTTX,this.sourceChain=ew.Buffer.alloc(32),this.numIns=ew.Buffer.alloc(4),this.importIns=[],this.numOuts=ew.Buffer.alloc(4),this.outs=[],this.sourceChain=eH;let eA=!1,eN=!1;void 0!==eV&&Array.isArray(eV)&&eV.length>0&&(eV.forEach(eb=>{if(!(eb instanceof eS.TransferableInput))throw new eO.TransferableInputError("Error - ImportTx.constructor: invalid TransferableInput in array parameter 'importIns'")}),eA=!0,this.importIns=eV),void 0!==eC&&Array.isArray(eC)&&eC.length>0&&(eC.forEach(eb=>{if(!(eb instanceof e_.EVMOutput))throw new eO.EVMOutputError("Error - ImportTx.constructor: invalid EVMOutput in array parameter 'outs'")}),eC.length>1&&(eC=eC.sort(e_.EVMOutput.comparator())),eN=!0,this.outs=eC),eA&&eN&&this.validateOuts(eE)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{sourceChain:eB.encoder(this.sourceChain,eb,"Buffer","cb58"),importIns:this.importIns.map(em=>em.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.sourceChain=eB.decoder(eb.sourceChain,em,"cb58","Buffer",32),this.importIns=eb.importIns.map(eb=>{let eH=new eS.TransferableInput;return eH.deserialize(eb,em),eH}),this.numIns=ew.Buffer.alloc(4),this.numIns.writeUInt32BE(this.importIns.length,0)}getTxType(){return this._typeID}getSourceChain(){return this.sourceChain}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em),this.sourceChain=eR.copyFrom(eb,em,em+32),em+=32,this.numIns=eR.copyFrom(eb,em,em+4),em+=4;let eH=this.numIns.readUInt32BE(0);for(let eV=0;eV{em+=eH.toBuffer().length,eb.push(eH.toBuffer())}),em+=this.numOuts.length,eb.push(this.numOuts),this.outs.forEach(eH=>{em+=eH.toBuffer().length,eb.push(eH.toBuffer())}),ew.Buffer.concat(eb,em)}getImportInputs(){return this.importIns}getOuts(){return this.outs}clone(){let eb=new eF;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eF(...eb)}sign(eb,em){let eH=super.sign(eb,em);return this.importIns.forEach(eV=>{let ew=(0,eA.SelectCredentialClass)(eV.getInput().getCredentialID()),eM=eV.getInput().getSigIdxs();eM.forEach(eH=>{let eV=em.getKey(eH.getSource()),eM=eV.sign(eb),eC=new eN.Signature;eC.fromBuffer(eM),ew.addSignature(eC)}),eH.push(ew)}),eH}validateOuts(eb){let em=new Map;this.outs.forEach(eb=>{let eH=eb.getAddressString(),eV=eR.cb58Encode(eb.getAssetID());if(em.has(eH)){let eb=em.get(eH);if(eb.includes(eV)){let eb=`Error - ImportTx: duplicate (address, assetId) pair found in outputs: (0x${eH}, ${eV})`;throw new eO.EVMOutputError(eb)}eb.push(eV)}else em.set(eH,[eV])});let eH=this.getNetworkID(),eV=new eM.default(0),ew=eD.Defaults.network[`${eH}`].X.avaxAssetID;if(this.importIns.forEach(eb=>{if(eb.getInput() instanceof eI.StandardAmountInput&&ew===eR.cb58Encode(eb.getAssetID())){let em=eb.getInput(),eH=em;eV.iadd(eH.getAmount())}}),this.outs.forEach(eb=>{ew===eR.cb58Encode(eb.getAssetID())&&eV.isub(eb.getAmount())}),eV.lt(eb)){let em=`Error - ${eb} nAVAX required for fee and only ${eV} nAVAX provided`;throw new eO.EVMFeeError(em)}}}em.ImportTx=eF},36969:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),ew(eH(80512),em),ew(eH(84771),em),ew(eH(17705),em),ew(eH(40522),em),ew(eH(40320),em),ew(eH(56005),em),ew(eH(31612),em),ew(eH(40314),em),ew(eH(50754),em),ew(eH(20001),em),ew(eH(73653),em),ew(eH(89222),em)},40320:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.EVMInput=em.SECPTransferInput=em.AmountInput=em.TransferableInput=em.SelectInputClass=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eH(17705),eT=eH(7451),e_=eH(20001),eS=eV(eH(13550)),eE=eH(65614),eA=eH(77556),eN=eH(3079),eI=eM.default.getInstance(),eD=(eb,...em)=>{if(eb===eC.EVMConstants.SECPINPUTID)return new eR(...em);throw new eA.InputIdError("Error - SelectInputClass: unknown inputID")};em.SelectInputClass=eD;class eP extends eT.StandardTransferableInput{constructor(){super(...arguments),this._typeName="TransferableInput",this._typeID=void 0,this.getCost=()=>{let eb=this.getInput().getSigIdxs().length;return eb*eN.Defaults.network[1].C.costPerSignature}}deserialize(eb,eH="hex"){super.deserialize(eb,eH),this.input=(0,em.SelectInputClass)(eb.input._typeID),this.input.deserialize(eb.input,eH)}fromBuffer(eb,eH=0){this.txid=eI.copyFrom(eb,eH,eH+32),eH+=32,this.outputidx=eI.copyFrom(eb,eH,eH+4),eH+=4,this.assetID=eI.copyFrom(eb,eH,eH+eC.EVMConstants.ASSETIDLEN),eH+=32;let eV=eI.copyFrom(eb,eH,eH+4).readUInt32BE(0);return eH+=4,this.input=(0,em.SelectInputClass)(eV),this.input.fromBuffer(eb,eH)}}em.TransferableInput=eP;class eO extends eT.StandardAmountInput{constructor(){super(...arguments),this._typeName="AmountInput",this._typeID=void 0}select(eb,...eH){return(0,em.SelectInputClass)(eb,...eH)}}em.AmountInput=eO;class eR extends eO{constructor(){super(...arguments),this._typeName="SECPTransferInput",this._typeID=eC.EVMConstants.SECPINPUTID,this.getCredentialID=()=>eC.EVMConstants.SECPCREDENTIAL}getInputID(){return eC.EVMConstants.SECPINPUTID}create(...eb){return new eR(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.SECPTransferInput=eR;class eB extends e_.EVMOutput{constructor(eb,em,eH,eV){if(super(eb,em,eH),this.nonce=ew.Buffer.alloc(8),this.nonceValue=new eS.default(0),this.sigCount=ew.Buffer.alloc(4),this.sigIdxs=[],this.getSigIdxs=()=>this.sigIdxs,this.addSignatureIdx=(eb,em)=>{let eH=new eE.SigIdx,eV=ew.Buffer.alloc(4);eV.writeUInt32BE(eb,0),eH.fromBuffer(eV),eH.setSource(em),this.sigIdxs.push(eH),this.sigCount.writeUInt32BE(this.sigIdxs.length,0)},this.getNonce=()=>this.nonceValue.clone(),this.getCredentialID=()=>eC.EVMConstants.SECPCREDENTIAL,void 0!==eV){let eb;eb="number"==typeof eV?new eS.default(eV):eV,this.nonceValue=eb.clone(),this.nonce=eI.fromBNToBuffer(eb,8)}}toBuffer(){let eb=super.toBuffer(),em=eb.length+this.nonce.length,eH=[eb,this.nonce];return ew.Buffer.concat(eH,em)}fromBuffer(eb,em=0){return em=super.fromBuffer(eb,em),this.nonce=eI.copyFrom(eb,em,em+8),em+=8}toString(){return eI.bufferToB58(this.toBuffer())}create(...eb){return new eB(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.EVMInput=eB},56005:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},50754:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.KeyChain=em.KeyPair=void 0;let ew=eV(eH(89734)),eM=eH(57248),eC=eH(3079),eT=ew.default.getInstance();eC.Serialization.getInstance();class e_ extends eM.SECP256k1KeyPair{clone(){let eb=new e_(this.hrp,this.chainID);return eb.importKey(eT.copyFrom(this.getPrivateKey())),eb}create(...eb){return 2==eb.length?new e_(eb[0],eb[1]):new e_(this.hrp,this.chainID)}}em.KeyPair=e_;class eS extends eM.SECP256k1KeyChain{constructor(eb,em){super(),this.hrp="",this.chainID="",this.makeKey=()=>{let eb=new e_(this.hrp,this.chainID);return this.addKey(eb),eb},this.addKey=eb=>{eb.setChainID(this.chainID),super.addKey(eb)},this.importKey=eb=>{let em;let eH=new e_(this.hrp,this.chainID);return em="string"==typeof eb?eT.cb58Decode(eb.split("-")[1]):eT.copyFrom(eb),eH.importKey(em),eH.getAddress().toString("hex") in this.keys||this.addKey(eH),eH},this.hrp=eb,this.chainID=em}create(...eb){return 2==eb.length?new eS(eb[0],eb[1]):new eS(this.hrp,this.chainID)}clone(){let eb=new eS(this.hrp,this.chainID);for(let em in this.keys)eb.addKey(this.keys[`${em}`].clone());return eb}union(eb){let em=eb.clone();for(let eb in this.keys)em.addKey(this.keys[`${eb}`].clone());return em}}em.KeyChain=eS},20001:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.EVMOutput=em.SECPTransferOutput=em.AmountOutput=em.TransferableOutput=em.SelectOutputClass=void 0;let ew=eH(48764),eM=eV(eH(13550)),eC=eV(eH(89734)),eT=eH(17705),e_=eH(49009),eS=eH(77556),eE=eC.default.getInstance(),eA=(eb,...em)=>{if(eb==eT.EVMConstants.SECPXFEROUTPUTID)return new eD(...em);throw new eS.OutputIdError("Error - SelectOutputClass: unknown outputID")};em.SelectOutputClass=eA;class eN extends e_.StandardTransferableOutput{constructor(){super(...arguments),this._typeName="TransferableOutput",this._typeID=void 0}deserialize(eb,eH="hex"){super.deserialize(eb,eH),this.output=(0,em.SelectOutputClass)(eb.output._typeID),this.output.deserialize(eb.output,eH)}fromBuffer(eb,eH=0){this.assetID=eE.copyFrom(eb,eH,eH+eT.EVMConstants.ASSETIDLEN),eH+=eT.EVMConstants.ASSETIDLEN;let eV=eE.copyFrom(eb,eH,eH+4).readUInt32BE(0);return eH+=4,this.output=(0,em.SelectOutputClass)(eV),this.output.fromBuffer(eb,eH)}}em.TransferableOutput=eN;class eI extends e_.StandardAmountOutput{constructor(){super(...arguments),this._typeName="AmountOutput",this._typeID=void 0}makeTransferable(eb){return new eN(eb,this)}select(eb,...eH){return(0,em.SelectOutputClass)(eb,...eH)}}em.AmountOutput=eI;class eD extends eI{constructor(){super(...arguments),this._typeName="SECPTransferOutput",this._typeID=eT.EVMConstants.SECPXFEROUTPUTID}getOutputID(){return this._typeID}create(...eb){return new eD(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.SECPTransferOutput=eD;class eP{constructor(eb,em,eH){if(this.address=ew.Buffer.alloc(20),this.amount=ew.Buffer.alloc(8),this.amountValue=new eM.default(0),this.assetID=ew.Buffer.alloc(32),this.getAddress=()=>this.address,this.getAddressString=()=>this.address.toString("hex"),this.getAmount=()=>this.amountValue.clone(),this.getAssetID=()=>this.assetID,void 0!==eb&&void 0!==em&&void 0!==eH){let eV;if("string"==typeof eb){let em=eb.substring(0,2);"0x"===em&&(eb=eb.split("x")[1]),eb=ew.Buffer.from(eb,"hex")}eV="number"==typeof em?new eM.default(em):em,eH instanceof ew.Buffer||(eH=eE.cb58Decode(eH)),this.address=eb,this.amountValue=eV.clone(),this.amount=eE.fromBNToBuffer(eV,8),this.assetID=eH}}toBuffer(){let eb=this.address.length+this.amount.length+this.assetID.length,em=[this.address,this.amount,this.assetID],eH=ew.Buffer.concat(em,eb);return eH}fromBuffer(eb,em=0){return this.address=eE.copyFrom(eb,em,em+20),em+=20,this.amount=eE.copyFrom(eb,em,em+8),em+=8,this.assetID=eE.copyFrom(eb,em,em+32),em+=32,this.amountValue=new eM.default(this.amount),em}toString(){return eE.bufferToB58(this.toBuffer())}create(...eb){return new eP(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.EVMOutput=eP,eP.comparator=()=>(eb,em)=>{let eH=eb.getAddress(),eV=em.getAddress();return eH.equals(eV)&&(eH=eb.getAssetID(),eV=em.getAssetID()),ew.Buffer.compare(eH,eV)}},73653:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Tx=em.UnsignedTx=em.SelectTxClass=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eH(17705),eT=eH(40522),e_=eH(66408),eS=eV(eH(23482)),eE=eH(40314),eA=eH(31612),eN=eM.default.getInstance(),eI=(eb,...em)=>{if(eb===eC.EVMConstants.IMPORTTX)return new eE.ImportTx(...em);if(eb===eC.EVMConstants.EXPORTTX)return new eA.ExportTx(...em);throw Error("TransactionError - SelectTxClass: unknown txType")};em.SelectTxClass=eI;class eD extends e_.EVMStandardUnsignedTx{constructor(){super(...arguments),this._typeName="UnsignedTx",this._typeID=void 0}deserialize(eb,eH="hex"){super.deserialize(eb,eH),this.transaction=(0,em.SelectTxClass)(eb.transaction._typeID),this.transaction.deserialize(eb.transaction,eH)}getTransaction(){return this.transaction}fromBuffer(eb,eH=0){this.codecID=eN.copyFrom(eb,eH,eH+2).readUInt16BE(0),eH+=2;let eV=eN.copyFrom(eb,eH,eH+4).readUInt32BE(0);return eH+=4,this.transaction=(0,em.SelectTxClass)(eV),this.transaction.fromBuffer(eb,eH)}sign(eb){let em=this.toBuffer(),eH=ew.Buffer.from((0,eS.default)("sha256").update(em).digest()),eV=this.transaction.sign(eH,eb);return new eP(this,eV)}}em.UnsignedTx=eD;class eP extends e_.EVMStandardTx{constructor(){super(...arguments),this._typeName="Tx",this._typeID=void 0}deserialize(eb,em="hex"){super.deserialize(eb,em),this.unsignedTx=new eD,this.unsignedTx.deserialize(eb.unsignedTx,em),this.credentials=[];for(let eH=0;eH{let ew=this.getAllUTXOs(),eM={};for(let eH=0;eH{let em=ew.getAddressIdx(eb);if(-1===em)throw new eB.AddressError("Error - UTXOSet.getMinimumSpendable: no such address in output");eI.getInput().addSignatureIdx(em,eb)}),eb.addInput(eI)}}}if(!eb.canComplete())return new eB.InsufficientFundsError("Error - UTXOSet.getMinimumSpendable: insufficient funds to create the transaction");let e_=eb.getAmounts(),eA=new eC.default(0);for(let em=0;em{let eA=new eC.default(0),eN=new Map,eI=[],eD=[],eR=new eC.default(0);for(let[eb,em]of(void 0===e_&&(e_=eA.clone()),eV.forEach(eb=>{let em=eb.getAssetID(),eH=eF.cb58Encode(eb.getAssetID()),eV=eb.getOutput(),eM=eV.getAmount().clone(),eT=eM.clone();void 0!==eE&&e_.gt(eA)&&eR.lt(e_)&&0===ew.Buffer.compare(eE,em)&&((eR=eR.add(eT)).gt(e_)?(eT=eR.sub(e_),eR=e_.clone()):eT=eA.clone());let eD=eb.getTxID(),eP=eb.getOutputIdx(),eO=new eS.SECPTransferInput(eM),ej=new eS.TransferableInput(eD,eP,em,eO),eU=eV.getAddresses(),e$=eV.getSpenders(eU);e$.forEach(eb=>{let em=eV.getAddressIdx(eb);if(-1===em)throw new eB.AddressError("Error - UTXOSet.buildImportTx: no such address in output");ej.getInput().addSignatureIdx(em,eb)}),eI.push(ej),eN.has(eH)&&(eT=eT.add(new eC.default(eN.get(eH)))),eN.set(eH,eT.toString())}),eN)){let eV=new eT.EVMOutput(eH,new eC.default(em),eF.cb58Decode(eb));eD.push(eV)}eI=eI.sort(eS.TransferableInput.comparator()),eD=eD.sort(eT.EVMOutput.comparator());let ej=new eO.ImportTx(eb,em,eM,eI,eD,e_);return new eP.UnsignedTx(ej)},this.buildExportTx=(eb,em,eH,eV,ew,eM,eT,e_,eS,eA,eI=(0,eE.UnixNow)(),eD=new eC.default(0),eO=1)=>{let ej=[],eU=[];void 0===eT&&(eT=ew);let eW=new eC.default(0);if(eH.eq(eW))return;if(void 0===eA)eA=eV;else if(eA.toString("hex")!==eV.toString("hex"))throw new eB.FeeAssetError("Error - UTXOSet.buildExportTx: feeAssetID must match avaxAssetID");void 0===e_&&(e_=eF.cb58Decode(eN.PlatformChainID));let eZ=new e$(ew,eM,eT);eV.toString("hex")===eA.toString("hex")?eZ.addAssetAmount(eV,eH,eS):(eZ.addAssetAmount(eV,eH,eW),this._feeCheck(eS,eA)&&eZ.addAssetAmount(eA,eW,eS));let eG=this.getMinimumSpendable(eZ,eI,eD,eO);if(void 0===eG)eU=eZ.getOutputs();else throw eG;let eK=new eR.ExportTx(eb,em,e_,ej,eU);return new eP.UnsignedTx(eK)}}deserialize(eb,em="hex"){super.deserialize(eb,em);let eH={};for(let eV in eb.utxos){let ew=ej.decoder(eV,em,"base58","base58");eH[`${ew}`]=new eU,eH[`${ew}`].deserialize(eb.utxos[`${eV}`],em)}let eV={};for(let eH in eb.addressUTXOs){let ew=ej.decoder(eH,em,"cb58","hex"),eM={};for(let eV in eb.addressUTXOs[`${eH}`])eM[`${ej.decoder(eV,em,"base58","base58")}`]=ej.decoder(eb.addressUTXOs[`${eH}`][`${eV}`],em,"decimalString","BN");eV[`${ew}`]=eM}this.utxos=eH,this.addressUTXOs=eV}parseUTXO(eb){let em=new eU;if("string"==typeof eb)em.fromBuffer(eF.cb58Decode(eb));else if(eb instanceof eU)em.fromBuffer(eb.toBuffer());else throw new eB.UTXOError("Error - UTXO.parseUTXO: utxo parameter is not a UTXO or string");return em}create(){return new eW}clone(){let eb=this.create(),em=this.getAllUTXOs();return eb.addArray(em),eb}_feeCheck(eb,em){return void 0!==eb&&void 0!==em&&eb.gt(new eC.default(0))&&em instanceof ew.Buffer}}em.UTXOSet=eW},64283:function(eb,em,eH){"use strict";var eV=this&&this.__awaiter||function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};Object.defineProperty(em,"__esModule",{value:!0}),em.HealthAPI=void 0;let ew=eH(98769);class eM extends ew.JRPCAPI{constructor(eb,em="/ext/health"){super(eb,em),this.health=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("health.health");return eb.data.result})}}em.HealthAPI=eM},64814:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),ew(eH(64283),em)},14004:function(eb,em,eH){"use strict";var eV=this&&this.__awaiter||function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};Object.defineProperty(em,"__esModule",{value:!0}),em.IndexAPI=void 0;let ew=eH(98769);class eM extends ew.JRPCAPI{constructor(eb,em="/ext/index/X/tx"){super(eb,em),this.getLastAccepted=(eb="hex",em=this.getBaseURL())=>eV(this,void 0,void 0,function*(){this.setBaseURL(em);let eH={encoding:eb};try{let eb=yield this.callMethod("index.getLastAccepted",eH);return eb.data.result}catch(eb){console.log(eb)}}),this.getContainerByIndex=(eb="0",em="hex",eH=this.getBaseURL())=>eV(this,void 0,void 0,function*(){this.setBaseURL(eH);let eV={index:eb,encoding:em};try{let eb=yield this.callMethod("index.getContainerByIndex",eV);return eb.data.result}catch(eb){console.log(eb)}}),this.getContainerByID=(eb="0",em="hex",eH=this.getBaseURL())=>eV(this,void 0,void 0,function*(){this.setBaseURL(eH);let eV={id:eb,encoding:em};try{let eb=yield this.callMethod("index.getContainerByID",eV);return eb.data.result}catch(eb){console.log(eb)}}),this.getContainerRange=(eb=0,em=100,eH="hex",ew=this.getBaseURL())=>eV(this,void 0,void 0,function*(){this.setBaseURL(ew);let eV={startIndex:eb,numToFetch:em,encoding:eH};try{let eb=yield this.callMethod("index.getContainerRange",eV);return eb.data.result}catch(eb){console.log(eb)}}),this.getIndex=(eb="",em="hex",eH=this.getBaseURL())=>eV(this,void 0,void 0,function*(){this.setBaseURL(eH);let eV={id:eb,encoding:em};try{let eb=yield this.callMethod("index.getIndex",eV);return eb.data.result.index}catch(eb){console.log(eb)}}),this.isAccepted=(eb="",em="hex",eH=this.getBaseURL())=>eV(this,void 0,void 0,function*(){this.setBaseURL(eH);let eV={id:eb,encoding:em};try{let eb=yield this.callMethod("index.isAccepted",eV);return eb.data.result}catch(eb){console.log(eb)}})}}em.IndexAPI=eM},40996:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),ew(eH(14004),em)},51592:function(eb,em,eH){"use strict";var eV=this&&this.__awaiter||function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})},ew=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.InfoAPI=void 0;let eM=eH(98769),eC=ew(eH(13550));class eT extends eM.JRPCAPI{constructor(eb,em="/ext/info"){super(eb,em),this.getBlockchainID=eb=>eV(this,void 0,void 0,function*(){let em={alias:eb},eH=yield this.callMethod("info.getBlockchainID",em);return eH.data.result.blockchainID}),this.getNodeIP=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("info.getBlockchainID");return eb.data.result.ip}),this.getNetworkID=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("info.getNetworkID");return eb.data.result.networkID}),this.getNetworkName=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("info.getNetworkName");return eb.data.result.networkName}),this.getNodeID=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("info.getNodeID");return eb.data.result.nodeID}),this.getNodeVersion=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("info.getNodeVersion");return eb.data.result.version}),this.getTxFee=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("info.getTxFee");return{txFee:new eC.default(eb.data.result.txFee,10),creationTxFee:new eC.default(eb.data.result.creationTxFee,10)}}),this.isBootstrapped=eb=>eV(this,void 0,void 0,function*(){let em={chain:eb},eH=yield this.callMethod("info.isBootstrapped",em);return eH.data.result.isBootstrapped}),this.peers=(eb=[])=>eV(this,void 0,void 0,function*(){let em={nodeIDs:eb},eH=yield this.callMethod("info.peers",em);return eH.data.result.peers}),this.uptime=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("info.uptime");return eb.data.result})}}em.InfoAPI=eT},75436:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),ew(eH(51592),em)},95573:function(eb,em,eH){"use strict";var eV=this&&this.__awaiter||function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};Object.defineProperty(em,"__esModule",{value:!0}),em.KeystoreAPI=void 0;let ew=eH(98769);class eM extends ew.JRPCAPI{constructor(eb,em="/ext/keystore"){super(eb,em),this.createUser=(eb,em)=>eV(this,void 0,void 0,function*(){let eH={username:eb,password:em},eV=yield this.callMethod("keystore.createUser",eH);return eV.data.result.success?eV.data.result.success:eV.data.result}),this.exportUser=(eb,em)=>eV(this,void 0,void 0,function*(){let eH={username:eb,password:em},eV=yield this.callMethod("keystore.exportUser",eH);return eV.data.result.user?eV.data.result.user:eV.data.result}),this.importUser=(eb,em,eH)=>eV(this,void 0,void 0,function*(){let eV={username:eb,user:em,password:eH},ew=yield this.callMethod("keystore.importUser",eV);return ew.data.result.success?ew.data.result.success:ew.data.result}),this.listUsers=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("keystore.listUsers");return eb.data.result.users}),this.deleteUser=(eb,em)=>eV(this,void 0,void 0,function*(){let eH={username:eb,password:em},eV=yield this.callMethod("keystore.deleteUser",eH);return eV.data.result.success?eV.data.result.success:eV.data.result})}}em.KeystoreAPI=eM},67769:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),ew(eH(95573),em)},85456:function(eb,em,eH){"use strict";var eV=this&&this.__awaiter||function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};Object.defineProperty(em,"__esModule",{value:!0}),em.MetricsAPI=void 0;let ew=eH(90569);class eM extends ew.RESTAPI{constructor(eb,em="/ext/metrics"){super(eb,em),this.axConf=()=>({baseURL:`${this.core.getProtocol()}://${this.core.getHost()}:${this.core.getPort()}`,responseType:"text"}),this.getMetrics=()=>eV(this,void 0,void 0,function*(){let eb=yield this.post("");return eb.data})}}em.MetricsAPI=eM},67833:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),ew(eH(85456),em)},97977:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.AddSubnetValidatorTx=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eH(78034),eT=eH(65614),e_=eH(871),eS=eH(89858),eE=eH(48984),eA=eH(39205),eN=eH(3079),eI=eM.default.getInstance(),eD=eE.Serialization.getInstance();class eP extends e_.BaseTx{constructor(eb=eS.DefaultNetworkID,em=ew.Buffer.alloc(32,16),eH,eV,eM,eT,e_,eE,eN,eD){super(eb,em,eH,eV,eM),this._typeName="AddSubnetValidatorTx",this._typeID=eC.PlatformVMConstants.ADDSUBNETVALIDATORTX,this.nodeID=ew.Buffer.alloc(20),this.startTime=ew.Buffer.alloc(8),this.endTime=ew.Buffer.alloc(8),this.weight=ew.Buffer.alloc(8),this.subnetID=ew.Buffer.alloc(32),this.sigCount=ew.Buffer.alloc(4),this.sigIdxs=[],void 0!==eD&&("string"==typeof eD?this.subnetID=eI.cb58Decode(eD):this.subnetID=eD),void 0!==eT&&(this.nodeID=eT),void 0!==e_&&(this.startTime=eI.fromBNToBuffer(e_,8)),void 0!==eE&&(this.endTime=eI.fromBNToBuffer(eE,8)),void 0!==eN&&(this.weight=eI.fromBNToBuffer(eN,8));let eP=new eA.SubnetAuth;this.subnetAuth=eP}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{subnetID:eD.encoder(this.subnetID,eb,"Buffer","cb58")})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.subnetID=eD.decoder(eb.subnetID,em,"cb58","Buffer",32)}getTxType(){return eC.PlatformVMConstants.ADDSUBNETVALIDATORTX}getNodeID(){return this.nodeID}getNodeIDString(){return(0,eN.bufferToNodeIDString)(this.nodeID)}getStartTime(){return eI.fromBufferToBN(this.startTime)}getEndTime(){return eI.fromBufferToBN(this.endTime)}getWeight(){return eI.fromBufferToBN(this.weight)}getSubnetID(){return eI.cb58Encode(this.subnetID)}getSubnetAuth(){return this.subnetAuth}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em),this.nodeID=eI.copyFrom(eb,em,em+20),em+=20,this.startTime=eI.copyFrom(eb,em,em+8),em+=8,this.endTime=eI.copyFrom(eb,em,em+8),em+=8,this.weight=eI.copyFrom(eb,em,em+8),em+=8,this.subnetID=eI.copyFrom(eb,em,em+32),em+=32;let eH=new eA.SubnetAuth;return em+=eH.fromBuffer(eI.copyFrom(eb,em)),this.subnetAuth=eH,em}toBuffer(){let eb=super.toBuffer(),em=eb.length+this.nodeID.length+this.startTime.length+this.endTime.length+this.weight.length+this.subnetID.length+this.subnetAuth.toBuffer().length,eH=[eb,this.nodeID,this.startTime,this.endTime,this.weight,this.subnetID,this.subnetAuth.toBuffer()];return ew.Buffer.concat(eH,em)}clone(){let eb=new eP;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eP(...eb)}addSignatureIdx(eb,em){let eH=ew.Buffer.alloc(4);eH.writeUIntBE(eb,0,4),this.subnetAuth.addAddressIndex(eH);let eV=new eT.SigIdx,eM=ew.Buffer.alloc(4);eM.writeUInt32BE(eb,0),eV.fromBuffer(eM),eV.setSource(em),this.sigIdxs.push(eV),this.sigCount.writeUInt32BE(this.sigIdxs.length,0)}getSigIdxs(){return this.sigIdxs}getCredentialID(){return eC.PlatformVMConstants.SECPCREDENTIAL}sign(eb,em){let eH=super.sign(eb,em),eV=this.getSigIdxs(),ew=(0,eA.SelectCredentialClass)(this.getCredentialID());for(let eH=0;eH{if(void 0===this.blockchainAlias){let eb=this.core.getNetworkID();if(!(eb in eE.Defaults.network)||!(this.blockchainID in eE.Defaults.network[`${eb}`]))return;this.blockchainAlias=eE.Defaults.network[`${eb}`][this.blockchainID].alias}return this.blockchainAlias},this.setBlockchainAlias=eb=>{this.blockchainAlias=eb},this.getBlockchainID=()=>this.blockchainID,this.refreshBlockchainID=eb=>{let em=this.core.getNetworkID();return void 0===eb&&void 0!==eE.Defaults.network[`${em}`]?(this.blockchainID=eE.PlatformChainID,!0):"string"==typeof eb&&(this.blockchainID=eb,!0)},this.parseAddress=eb=>{let em=this.getBlockchainAlias(),eH=this.getBlockchainID();return eF.parseAddress(eb,eH,em,eA.PlatformVMConstants.ADDRESSLENGTH)},this.addressFromBuffer=eb=>{let em=this.getBlockchainAlias()?this.getBlockchainAlias():this.getBlockchainID(),eH="bech32";return ej.bufferToType(eb,eH,this.core.getHRP(),em)},this.getAVAXAssetID=(eb=!1)=>eV(this,void 0,void 0,function*(){if(void 0===this.AVAXAssetID||eb){let eb=yield this.getStakingAssetID();this.AVAXAssetID=eF.cb58Decode(eb)}return this.AVAXAssetID}),this.setAVAXAssetID=eb=>{"string"==typeof eb&&(eb=eF.cb58Decode(eb)),this.AVAXAssetID=eb},this.getDefaultTxFee=()=>new eC.default(this.core.getNetworkID() in eE.Defaults.network?eE.Defaults.network[this.core.getNetworkID()].P.txFee:0),this.getTxFee=()=>(void 0===this.txFee&&(this.txFee=this.getDefaultTxFee()),this.txFee),this.getCreateSubnetTxFee=()=>new eC.default(this.core.getNetworkID() in eE.Defaults.network?eE.Defaults.network[this.core.getNetworkID()].P.createSubnetTx:0),this.getCreateChainTxFee=()=>new eC.default(this.core.getNetworkID() in eE.Defaults.network?eE.Defaults.network[this.core.getNetworkID()].P.createChainTx:0),this.setTxFee=eb=>{this.txFee=eb},this.getDefaultCreationTxFee=()=>new eC.default(this.core.getNetworkID() in eE.Defaults.network?eE.Defaults.network[this.core.getNetworkID()].P.creationTxFee:0),this.getCreationTxFee=()=>(void 0===this.creationTxFee&&(this.creationTxFee=this.getDefaultCreationTxFee()),this.creationTxFee),this.setCreationTxFee=eb=>{this.creationTxFee=eb},this.keyChain=()=>this.keychain,this.newKeyChain=()=>{let eb=this.getBlockchainAlias();return eb?this.keychain=new eS.KeyChain(this.core.getHRP(),eb):this.keychain=new eS.KeyChain(this.core.getHRP(),this.blockchainID),this.keychain},this.checkGooseEgg=(eb,em=new eC.default(0))=>eV(this,void 0,void 0,function*(){let eH=yield this.getAVAXAssetID(),eV=em.gt(new eC.default(0))?em:eb.getOutputTotal(eH),ew=eb.getBurn(eH);return!!(ew.lte(eE.ONEAVAX.mul(new eC.default(10)))||ew.lte(eV))}),this.getStakingAssetID=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("platform.getStakingAssetID");return eb.data.result.assetID}),this.createBlockchain=(eb,em,eH,ew,eM,eC,eT)=>eV(this,void 0,void 0,function*(){let eV={username:eb,password:em,fxIDs:eM,vmID:ew,name:eC,genesisData:eT};"string"==typeof eH?eV.subnetID=eH:void 0!==eH&&(eV.subnetID=eF.cb58Encode(eH));let e_=yield this.callMethod("platform.createBlockchain",eV);return e_.data.result.txID}),this.getBlockchainStatus=eb=>eV(this,void 0,void 0,function*(){let em={blockchainID:eb},eH=yield this.callMethod("platform.getBlockchainStatus",em);return eH.data.result.status}),this.getValidatorsAt=(eb,em)=>eV(this,void 0,void 0,function*(){let eH={height:eb};void 0!==em&&(eH.subnetID=em);let eV=yield this.callMethod("platform.getValidatorsAt",eH);return eV.data.result}),this.createAddress=(eb,em)=>eV(this,void 0,void 0,function*(){let eH={username:eb,password:em},eV=yield this.callMethod("platform.createAddress",eH);return eV.data.result.address}),this.getBalance=eb=>eV(this,void 0,void 0,function*(){if(void 0===this.parseAddress(eb))throw new eO.AddressError("Error - PlatformVMAPI.getBalance: Invalid address format");let em={address:eb},eH=yield this.callMethod("platform.getBalance",em);return eH.data.result}),this.listAddresses=(eb,em)=>eV(this,void 0,void 0,function*(){let eH={username:eb,password:em},eV=yield this.callMethod("platform.listAddresses",eH);return eV.data.result.addresses}),this.getCurrentValidators=(eb,em)=>eV(this,void 0,void 0,function*(){let eH={};"string"==typeof eb?eH.subnetID=eb:void 0!==eb&&(eH.subnetID=eF.cb58Encode(eb)),void 0!==em&&em.length>0&&(eH.nodeIDs=em);let eV=yield this.callMethod("platform.getCurrentValidators",eH);return eV.data.result}),this.getPendingValidators=(eb,em)=>eV(this,void 0,void 0,function*(){let eH={};"string"==typeof eb?eH.subnetID=eb:void 0!==eb&&(eH.subnetID=eF.cb58Encode(eb)),void 0!==em&&em.length>0&&(eH.nodeIDs=em);let eV=yield this.callMethod("platform.getPendingValidators",eH);return eV.data.result}),this.sampleValidators=(eb,em)=>eV(this,void 0,void 0,function*(){let eH={size:eb.toString()};"string"==typeof em?eH.subnetID=em:void 0!==em&&(eH.subnetID=eF.cb58Encode(em));let eV=yield this.callMethod("platform.sampleValidators",eH);return eV.data.result.validators}),this.addValidator=(eb,em,eH,ew,eM,eC,eT,e_)=>eV(this,void 0,void 0,function*(){let eV={username:eb,password:em,nodeID:eH,startTime:ew.getTime()/1e3,endTime:eM.getTime()/1e3,stakeAmount:eC.toString(10),rewardAddress:eT};void 0!==e_&&(eV.delegationFeeRate=e_.toString(10));let eS=yield this.callMethod("platform.addValidator",eV);return eS.data.result.txID}),this.addSubnetValidator=(eb,em,eH,ew,eM,eC,eT)=>eV(this,void 0,void 0,function*(){let eV={username:eb,password:em,nodeID:eH,startTime:eM.getTime()/1e3,endTime:eC.getTime()/1e3,weight:eT};"string"==typeof ew?eV.subnetID=ew:void 0!==ew&&(eV.subnetID=eF.cb58Encode(ew));let e_=yield this.callMethod("platform.addSubnetValidator",eV);return e_.data.result.txID}),this.addDelegator=(eb,em,eH,ew,eM,eC,eT)=>eV(this,void 0,void 0,function*(){let eV={username:eb,password:em,nodeID:eH,startTime:ew.getTime()/1e3,endTime:eM.getTime()/1e3,stakeAmount:eC.toString(10),rewardAddress:eT},e_=yield this.callMethod("platform.addDelegator",eV);return e_.data.result.txID}),this.createSubnet=(eb,em,eH,ew)=>eV(this,void 0,void 0,function*(){let eV={username:eb,password:em,controlKeys:eH,threshold:ew},eM=yield this.callMethod("platform.createSubnet",eV);return eM.data.result.txID?eM.data.result.txID:eM.data.result}),this.validatedBy=eb=>eV(this,void 0,void 0,function*(){let em={blockchainID:eb},eH=yield this.callMethod("platform.validatedBy",em);return eH.data.result.subnetID}),this.validates=eb=>eV(this,void 0,void 0,function*(){let em={subnetID:eb};"string"==typeof eb?em.subnetID=eb:void 0!==eb&&(em.subnetID=eF.cb58Encode(eb));let eH=yield this.callMethod("platform.validates",em);return eH.data.result.blockchainIDs}),this.getBlockchains=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("platform.getBlockchains");return eb.data.result.blockchains}),this.exportAVAX=(eb,em,eH,ew)=>eV(this,void 0,void 0,function*(){let eV={username:eb,password:em,to:ew,amount:eH.toString(10)},eM=yield this.callMethod("platform.exportAVAX",eV);return eM.data.result.txID?eM.data.result.txID:eM.data.result}),this.importAVAX=(eb,em,eH,ew)=>eV(this,void 0,void 0,function*(){let eV={to:eH,sourceChain:ew,username:eb,password:em},eM=yield this.callMethod("platform.importAVAX",eV);return eM.data.result.txID?eM.data.result.txID:eM.data.result}),this.issueTx=eb=>eV(this,void 0,void 0,function*(){let em="";if("string"==typeof eb)em=eb;else if(eb instanceof eM.Buffer){let eH=new eN.Tx;eH.fromBuffer(eb),em=eH.toStringHex()}else if(eb instanceof eN.Tx)em=eb.toStringHex();else throw new eO.TransactionError("Error - platform.issueTx: provided tx is not expected type of string, Buffer, or Tx");let eH={tx:em.toString(),encoding:"hex"},eV=yield this.callMethod("platform.issueTx",eH);return eV.data.result.txID}),this.getCurrentSupply=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("platform.getCurrentSupply");return new eC.default(eb.data.result.supply,10)}),this.getHeight=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("platform.getHeight");return new eC.default(eb.data.result.height,10)}),this.getMinStake=(eb=!1)=>eV(this,void 0,void 0,function*(){if(!0!==eb&&void 0!==this.minValidatorStake&&void 0!==this.minDelegatorStake)return{minValidatorStake:this.minValidatorStake,minDelegatorStake:this.minDelegatorStake};let em=yield this.callMethod("platform.getMinStake");return this.minValidatorStake=new eC.default(em.data.result.minValidatorStake,10),this.minDelegatorStake=new eC.default(em.data.result.minDelegatorStake,10),{minValidatorStake:this.minValidatorStake,minDelegatorStake:this.minDelegatorStake}}),this.getTotalStake=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("platform.getTotalStake");return new eC.default(eb.data.result.stake,10)}),this.getMaxStakeAmount=(eb,em,eH,ew)=>eV(this,void 0,void 0,function*(){let eV=(0,eD.UnixNow)();if(eH.gt(eV)||ew.lte(eH))throw new eO.TimeError("PlatformVMAPI.getMaxStakeAmount -- startTime must be in the past and endTime must come after startTime");let eM={nodeID:em,startTime:eH,endTime:ew};"string"==typeof eb?eM.subnetID=eb:void 0!==eb&&(eM.subnetID=eF.cb58Encode(eb));let eT=yield this.callMethod("platform.getMaxStakeAmount",eM);return new eC.default(eT.data.result.amount,10)}),this.setMinStake=(eb,em)=>{void 0!==eb&&(this.minValidatorStake=eb),void 0!==em&&(this.minDelegatorStake=em)},this.getStake=(eb,em="hex")=>eV(this,void 0,void 0,function*(){let eH={addresses:eb,encoding:em},eV=yield this.callMethod("platform.getStake",eH);return{staked:new eC.default(eV.data.result.staked,10),stakedOutputs:eV.data.result.stakedOutputs.map(eb=>{let eH;let eV=new eR.TransferableOutput;return eH="cb58"===em?eF.cb58Decode(eb):eM.Buffer.from(eb.replace(/0x/g,""),"hex"),eV.fromBuffer(eH,2),eV})}}),this.getSubnets=eb=>eV(this,void 0,void 0,function*(){let em={};em.ids=eb;let eH=yield this.callMethod("platform.getSubnets",em);return eH.data.result.subnets}),this.exportKey=(eb,em,eH)=>eV(this,void 0,void 0,function*(){let eV={username:eb,password:em,address:eH},ew=yield this.callMethod("platform.exportKey",eV);return ew.data.result.privateKey?ew.data.result.privateKey:ew.data.result}),this.importKey=(eb,em,eH)=>eV(this,void 0,void 0,function*(){let eV={username:eb,password:em,privateKey:eH},ew=yield this.callMethod("platform.importKey",eV);return ew.data.result.address?ew.data.result.address:ew.data.result}),this.getTx=(eb,em="hex")=>eV(this,void 0,void 0,function*(){let eH={txID:eb,encoding:em},eV=yield this.callMethod("platform.getTx",eH);return eV.data.result.tx?eV.data.result.tx:eV.data.result}),this.getTxStatus=(eb,em=!0)=>eV(this,void 0,void 0,function*(){let eH={txID:eb,includeReason:em},eV=yield this.callMethod("platform.getTxStatus",eH);return eV.data.result}),this.getUTXOs=(eb,em,eH=0,ew,eC,eT="hex")=>eV(this,void 0,void 0,function*(){"string"==typeof eb&&(eb=[eb]);let eV={addresses:eb,limit:eH,encoding:eT};void 0!==ew&&ew&&(eV.startIndex=ew),void 0!==em&&(eV.sourceChain=em);let e_=yield this.callMethod("platform.getUTXOs",eV),eS=new eP.UTXOSet,eE=e_.data.result.utxos;if(eC&&"object"==typeof eC){if(this.db.has(eC.getName())){let eb=this.db.get(eC.getName());if(Array.isArray(eb)){eS.addArray(eE);let em=new eP.UTXOSet;em.addArray(eb),em.mergeByRule(eS,eC.getMergeRule()),eE=em.getAllUTXOStrings()}}this.db.set(eC.getName(),eE,eC.getOverwrite())}if(eE.length>0&&"0x"===eE[0].substring(0,2)){let eb=[];eE.forEach(em=>{eb.push(eF.cb58Encode(new eM.Buffer(em.slice(2),"hex")))}),eS.addArray(eb,!1)}else eS.addArray(eE,!1);return e_.data.result.utxos=eS,e_.data.result.numFetched=parseInt(e_.data.result.numFetched),e_.data.result}),this.buildImportTx=(eb,em,eH,ew,eT,e_,eS,eE=(0,eD.UnixNow)(),eA=new eC.default(0),eN=1)=>eV(this,void 0,void 0,function*(){let eV;let eC=this._cleanAddressArray(ew,"buildImportTx").map(eb=>eF.stringToAddress(eb)),eD=this._cleanAddressArray(eT,"buildImportTx").map(eb=>eF.stringToAddress(eb)),eP=this._cleanAddressArray(e_,"buildImportTx").map(eb=>eF.stringToAddress(eb));if(void 0===eH)throw new eO.ChainIdError("Error - PlatformVMAPI.buildImportTx: Source ChainID is undefined.");if("string"==typeof eH)eV=eH,eH=eF.cb58Decode(eH);else if(!(eH instanceof eM.Buffer))throw new eO.ChainIdError("Error - PlatformVMAPI.buildImportTx: Invalid destinationChain type: "+typeof eH);let eR=yield(yield this.getUTXOs(em,eV,0,void 0)).utxos,eB=yield this.getAVAXAssetID();eS instanceof eI.PayloadBase&&(eS=eS.getPayload());let ej=eR.getAllUTXOs(),eU=eb.buildImportTx(this.core.getNetworkID(),eF.cb58Decode(this.blockchainID),eC,eD,eP,ej,eH,this.getTxFee(),eB,eS,eE,eA,eN);if(!(yield this.checkGooseEgg(eU)))throw new eO.GooseEggCheckError("Failed Goose Egg Check");return eU}),this.buildExportTx=(eb,em,eH,ew,eT,e_,eS,eE=(0,eD.UnixNow)(),eA=new eC.default(0),eN=1)=>eV(this,void 0,void 0,function*(){let eV={};if(ew.map(eb=>{eV[eb.split("-")[0]]=!0}),1!==Object.keys(eV).length)throw new eO.AddressError("Error - PlatformVMAPI.buildExportTx: To addresses must have the same chainID prefix.");if(void 0===eH)throw new eO.ChainIdError("Error - PlatformVMAPI.buildExportTx: Destination ChainID is undefined.");if("string"==typeof eH)eH=eF.cb58Decode(eH);else if(!(eH instanceof eM.Buffer))throw new eO.ChainIdError("Error - PlatformVMAPI.buildExportTx: Invalid destinationChain type: "+typeof eH);if(32!==eH.length)throw new eO.ChainIdError("Error - PlatformVMAPI.buildExportTx: Destination ChainID must be 32 bytes in length.");let eC=[];ew.map(eb=>{eC.push(eF.stringToAddress(eb))});let eD=this._cleanAddressArray(eT,"buildExportTx").map(eb=>eF.stringToAddress(eb)),eP=this._cleanAddressArray(e_,"buildExportTx").map(eb=>eF.stringToAddress(eb));eS instanceof eI.PayloadBase&&(eS=eS.getPayload());let eR=yield this.getAVAXAssetID(),eB=eb.buildExportTx(this.core.getNetworkID(),eF.cb58Decode(this.blockchainID),em,eR,eC,eD,eP,eH,this.getTxFee(),eR,eS,eE,eA,eN);if(!(yield this.checkGooseEgg(eB)))throw new eO.GooseEggCheckError("Failed Goose Egg Check");return eB}),this.buildAddSubnetValidatorTx=(eb,em,eH,ew,eM,eC,eT,e_,eS,eE=(0,eD.UnixNow)(),eA=[])=>eV(this,void 0,void 0,function*(){let eV=this._cleanAddressArray(em,"buildAddSubnetValidatorTx").map(eb=>eF.stringToAddress(eb)),eN=this._cleanAddressArray(eH,"buildAddSubnetValidatorTx").map(eb=>eF.stringToAddress(eb));eS instanceof eI.PayloadBase&&(eS=eS.getPayload());let eP=yield this.getAVAXAssetID(),eO=(0,eD.UnixNow)();if(eM.lt(eO)||eC.lte(eM))throw Error("PlatformVMAPI.buildAddSubnetValidatorTx -- startTime must be in the future and endTime must come after startTime");let eR=eb.buildAddSubnetValidatorTx(this.core.getNetworkID(),eF.cb58Decode(this.blockchainID),eV,eN,(0,eD.NodeIDStringToBuffer)(ew),eM,eC,eT,e_,this.getDefaultTxFee(),eP,eS,eE,eA);if(!(yield this.checkGooseEgg(eR)))throw Error("Failed Goose Egg Check");return eR}),this.buildAddDelegatorTx=(eb,em,eH,ew,eM,eT,e_,eS,eE,eA=new eC.default(0),eN=1,eP,eR=(0,eD.UnixNow)())=>eV(this,void 0,void 0,function*(){let eV=this._cleanAddressArray(em,"buildAddDelegatorTx").map(eb=>eF.stringToAddress(eb)),eB=this._cleanAddressArray(eH,"buildAddDelegatorTx").map(eb=>eF.stringToAddress(eb)),ej=this._cleanAddressArray(ew,"buildAddDelegatorTx").map(eb=>eF.stringToAddress(eb)),eU=this._cleanAddressArray(eE,"buildAddDelegatorTx").map(eb=>eF.stringToAddress(eb));eP instanceof eI.PayloadBase&&(eP=eP.getPayload());let e$=(yield this.getMinStake()).minDelegatorStake;if(eS.lt(e$))throw new eO.StakeError("PlatformVMAPI.buildAddDelegatorTx -- stake amount must be at least "+e$.toString(10));let eW=yield this.getAVAXAssetID(),eZ=(0,eD.UnixNow)();if(eT.lt(eZ)||e_.lte(eT))throw new eO.TimeError("PlatformVMAPI.buildAddDelegatorTx -- startTime must be in the future and endTime must come after startTime");let eG=eb.buildAddDelegatorTx(this.core.getNetworkID(),eF.cb58Decode(this.blockchainID),eW,eV,eB,ej,(0,eD.NodeIDStringToBuffer)(eM),eT,e_,eS,eA,eN,eU,new eC.default(0),eW,eP,eR);if(!(yield this.checkGooseEgg(eG)))throw new eO.GooseEggCheckError("Failed Goose Egg Check");return eG}),this.buildAddValidatorTx=(eb,em,eH,ew,eM,eT,e_,eS,eE,eA,eN=new eC.default(0),eP=1,eR,eB=(0,eD.UnixNow)())=>eV(this,void 0,void 0,function*(){let eV=this._cleanAddressArray(em,"buildAddValidatorTx").map(eb=>eF.stringToAddress(eb)),ej=this._cleanAddressArray(eH,"buildAddValidatorTx").map(eb=>eF.stringToAddress(eb)),eU=this._cleanAddressArray(ew,"buildAddValidatorTx").map(eb=>eF.stringToAddress(eb)),e$=this._cleanAddressArray(eE,"buildAddValidatorTx").map(eb=>eF.stringToAddress(eb));eR instanceof eI.PayloadBase&&(eR=eR.getPayload());let eW=(yield this.getMinStake()).minValidatorStake;if(eS.lt(eW))throw new eO.StakeError("PlatformVMAPI.buildAddValidatorTx -- stake amount must be at least "+eW.toString(10));if("number"!=typeof eA||eA>100||eA<0)throw new eO.DelegationFeeError("PlatformVMAPI.buildAddValidatorTx -- delegationFee must be a number between 0 and 100");let eZ=yield this.getAVAXAssetID(),eG=(0,eD.UnixNow)();if(eT.lt(eG)||e_.lte(eT))throw new eO.TimeError("PlatformVMAPI.buildAddValidatorTx -- startTime must be in the future and endTime must come after startTime");let eK=eb.buildAddValidatorTx(this.core.getNetworkID(),eF.cb58Decode(this.blockchainID),eZ,eV,ej,eU,(0,eD.NodeIDStringToBuffer)(eM),eT,e_,eS,eN,eP,e$,eA,new eC.default(0),eZ,eR,eB);if(!(yield this.checkGooseEgg(eK)))throw new eO.GooseEggCheckError("Failed Goose Egg Check");return eK}),this.buildCreateSubnetTx=(eb,em,eH,ew,eM,eC,eT=(0,eD.UnixNow)())=>eV(this,void 0,void 0,function*(){let eV=this._cleanAddressArray(em,"buildCreateSubnetTx").map(eb=>eF.stringToAddress(eb)),e_=this._cleanAddressArray(eH,"buildCreateSubnetTx").map(eb=>eF.stringToAddress(eb)),eS=this._cleanAddressArray(ew,"buildCreateSubnetTx").map(eb=>eF.stringToAddress(eb));eC instanceof eI.PayloadBase&&(eC=eC.getPayload());let eE=yield this.getAVAXAssetID(),eA=this.core.getNetworkID(),eN=eF.cb58Decode(this.blockchainID),eD=this.getCreateSubnetTxFee(),eP=eb.buildCreateSubnetTx(eA,eN,eV,e_,eS,eM,eD,eE,eC,eT);if(!(yield this.checkGooseEgg(eP,this.getCreationTxFee())))throw new eO.GooseEggCheckError("Failed Goose Egg Check");return eP}),this.buildCreateChainTx=(eb,em,eH,ew,eM,eC,eT,e_,eS,eE=(0,eD.UnixNow)(),eA=[])=>eV(this,void 0,void 0,function*(){let eV=this._cleanAddressArray(em,"buildCreateChainTx").map(eb=>eF.stringToAddress(eb)),eN=this._cleanAddressArray(eH,"buildCreateChainTx").map(eb=>eF.stringToAddress(eb));eS instanceof eI.PayloadBase&&(eS=eS.getPayload());let eD=yield this.getAVAXAssetID();eT=eT.sort();let eP=this.core.getNetworkID(),eR=eF.cb58Decode(this.blockchainID),eB=this.getCreateChainTxFee(),ej=eb.buildCreateChainTx(eP,eR,eV,eN,ew,eM,eC,eT,e_,eB,eD,eS,eE,eA);if(!(yield this.checkGooseEgg(ej,this.getCreationTxFee())))throw new eO.GooseEggCheckError("Failed Goose Egg Check");return ej}),this.getTimestamp=()=>eV(this,void 0,void 0,function*(){let eb=yield this.callMethod("platform.getTimestamp");return eb.data.result.timestamp}),this.getRewardUTXOs=(eb,em)=>eV(this,void 0,void 0,function*(){let eH={txID:eb,encoding:em},eV=yield this.callMethod("platform.getRewardUTXOs",eH);return eV.data.result}),this.blockchainID=eE.PlatformChainID;let eH=eb.getNetworkID();if(eH in eE.Defaults.network&&this.blockchainID in eE.Defaults.network[`${eH}`]){let eb=eE.Defaults.network[`${eH}`][this.blockchainID].alias;this.keychain=new eS.KeyChain(this.core.getHRP(),eb)}else this.keychain=new eS.KeyChain(this.core.getHRP(),this.blockchainID)}_cleanAddressArray(eb,em){let eH=[],eV=this.getBlockchainAlias()?this.getBlockchainAlias():this.getBlockchainID();if(eb&&eb.length>0)for(let em=0;em{let eH=new eT.TransferableOutput;return eH.deserialize(eb,em),eH}),this.ins=eb.ins.map(eb=>{let eH=new e_.TransferableInput;return eH.deserialize(eb,em),eH}),this.numouts=ew.Buffer.alloc(4),this.numouts.writeUInt32BE(this.outs.length,0),this.numins=ew.Buffer.alloc(4),this.numins.writeUInt32BE(this.ins.length,0)}getOuts(){return this.outs}getIns(){return this.ins}getTotalOuts(){return this.getOuts()}getTxType(){return eC.PlatformVMConstants.BASETX}fromBuffer(eb,em=0){this.networkID=eD.copyFrom(eb,em,em+4),em+=4,this.blockchainID=eD.copyFrom(eb,em,em+32),em+=32,this.numouts=eD.copyFrom(eb,em,em+4),em+=4;let eH=this.numouts.readUInt32BE(0);this.outs=[];for(let eV=0;eV{let eH=ew.Buffer.alloc(32);eH.write(em,0,em.length,"utf8"),eb.push(eH)}),this.fxIDs=eb}void 0!==eD&&"string"!=typeof eD?this.genesisData=eD.toBuffer():"string"==typeof eD&&(this.genesisData=ew.Buffer.from(eD));let eP=new eA.SubnetAuth;this.subnetAuth=eP}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{subnetID:eI.encoder(this.subnetID,eb,"Buffer","cb58")})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.subnetID=eI.decoder(eb.subnetID,em,"cb58","Buffer",32)}getTxType(){return eC.PlatformVMConstants.CREATECHAINTX}getSubnetAuth(){return this.subnetAuth}getSubnetID(){return eN.cb58Encode(this.subnetID)}getChainName(){return this.chainName}getVMID(){return this.vmID}getFXIDs(){return this.fxIDs}getGenesisData(){return eN.cb58Encode(this.genesisData)}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em),this.subnetID=eN.copyFrom(eb,em,em+32),em+=32;let eH=eN.copyFrom(eb,em,em+2).readUInt16BE(0);em+=2,this.chainName=eN.copyFrom(eb,em,em+eH).toString("utf8"),em+=eH,this.vmID=eN.copyFrom(eb,em,em+32),em+=32,this.numFXIDs=eN.copyFrom(eb,em,em+4),em+=4;let eV=parseInt(this.numFXIDs.toString("hex"),10);for(let eH=0;eH{eV+=eb.length,eM.push(eb)}),eV+=4+this.genesisData.length;let eC=ew.Buffer.alloc(4);return eC.writeUIntBE(this.genesisData.length,0,4),eM.push(eC),eM.push(this.genesisData),eV+=this.subnetAuth.toBuffer().length,eM.push(this.subnetAuth.toBuffer()),ew.Buffer.concat(eM,eV)}clone(){let eb=new eD;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eD(...eb)}addSignatureIdx(eb,em){let eH=ew.Buffer.alloc(4);eH.writeUIntBE(eb,0,4),this.subnetAuth.addAddressIndex(eH);let eV=new eT.SigIdx,eM=ew.Buffer.alloc(4);eM.writeUInt32BE(eb,0),eV.fromBuffer(eM),eV.setSource(em),this.sigIdxs.push(eV),this.sigCount.writeUInt32BE(this.sigIdxs.length,0)}getSigIdxs(){return this.sigIdxs}getCredentialID(){return eC.PlatformVMConstants.SECPCREDENTIAL}sign(eb,em){let eH=super.sign(eb,em),eV=this.getSigIdxs(),ew=(0,eA.SelectCredentialClass)(this.getCredentialID());for(let eH=0;eH{if(eb===eV.PlatformVMConstants.SECPCREDENTIAL)return new eT(...em);throw new eM.CredIdError("Error - SelectCredentialClass: unknown credid")};em.SelectCredentialClass=eC;class eT extends ew.Credential{constructor(){super(...arguments),this._typeName="SECPCredential",this._typeID=eV.PlatformVMConstants.SECPCREDENTIAL}getCredentialID(){return this._typeID}clone(){let eb=new eT;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eT(...eb)}select(eb,...eH){return(0,em.SelectCredentialClass)(eb,...eH)}}em.SECPCredential=eT},27804:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.ExportTx=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eH(78034),eT=eH(37883),e_=eH(871),eS=eH(89858),eE=eV(eH(13550)),eA=eH(48984),eN=eH(77556),eI=eM.default.getInstance(),eD=eA.Serialization.getInstance();class eP extends e_.BaseTx{constructor(eb=eS.DefaultNetworkID,em=ew.Buffer.alloc(32,16),eH,eV,eM,e_,eE){if(super(eb,em,eH,eV,eM),this._typeName="ExportTx",this._typeID=eC.PlatformVMConstants.EXPORTTX,this.destinationChain=ew.Buffer.alloc(32),this.numOuts=ew.Buffer.alloc(4),this.exportOuts=[],this.destinationChain=e_,void 0!==eE&&Array.isArray(eE)){for(let eb=0;ebem.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.destinationChain=eD.decoder(eb.destinationChain,em,"cb58","Buffer",32),this.exportOuts=eb.exportOuts.map(eb=>{let eH=new eT.TransferableOutput;return eH.deserialize(eb,em),eH}),this.numOuts=ew.Buffer.alloc(4),this.numOuts.writeUInt32BE(this.exportOuts.length,0)}getTxType(){return eC.PlatformVMConstants.EXPORTTX}getExportOutputs(){return this.exportOuts}getExportTotal(){let eb=new eE.default(0);for(let em=0;emem.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.sourceChain=eP.decoder(eb.sourceChain,em,"cb58","Buffer",32),this.importIns=eb.importIns.map(eb=>{let eH=new eT.TransferableInput;return eH.deserialize(eb,em),eH}),this.numIns=ew.Buffer.alloc(4),this.numIns.writeUInt32BE(this.importIns.length,0)}getTxType(){return this._typeID}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em),this.sourceChain=eD.copyFrom(eb,em,em+32),em+=32,this.numIns=eD.copyFrom(eb,em,em+4),em+=4;let eH=this.numIns.readUInt32BE(0);for(let eV=0;eV{if(eb===eC.PlatformVMConstants.SECPINPUTID)return new eO(...em);if(eb===eC.PlatformVMConstants.STAKEABLELOCKINID)return new eR(...em);throw new eS.InputIdError("Error - SelectInputClass: unknown inputid")};em.SelectInputClass=eN;class eI extends eT.StandardParseableInput{constructor(){super(...arguments),this._typeName="ParseableInput",this._typeID=void 0}deserialize(eb,eH="hex"){super.deserialize(eb,eH),this.input=(0,em.SelectInputClass)(eb.input._typeID),this.input.deserialize(eb.input,eH)}fromBuffer(eb,eH=0){let eV=eE.copyFrom(eb,eH,eH+4).readUInt32BE(0);return eH+=4,this.input=(0,em.SelectInputClass)(eV),this.input.fromBuffer(eb,eH)}}em.ParseableInput=eI;class eD extends eT.StandardTransferableInput{constructor(){super(...arguments),this._typeName="TransferableInput",this._typeID=void 0}deserialize(eb,eH="hex"){super.deserialize(eb,eH),this.input=(0,em.SelectInputClass)(eb.input._typeID),this.input.deserialize(eb.input,eH)}fromBuffer(eb,eH=0){this.txid=eE.copyFrom(eb,eH,eH+32),eH+=32,this.outputidx=eE.copyFrom(eb,eH,eH+4),eH+=4,this.assetID=eE.copyFrom(eb,eH,eH+eC.PlatformVMConstants.ASSETIDLEN),eH+=32;let eV=eE.copyFrom(eb,eH,eH+4).readUInt32BE(0);return eH+=4,this.input=(0,em.SelectInputClass)(eV),this.input.fromBuffer(eb,eH)}}em.TransferableInput=eD;class eP extends eT.StandardAmountInput{constructor(){super(...arguments),this._typeName="AmountInput",this._typeID=void 0}select(eb,...eH){return(0,em.SelectInputClass)(eb,...eH)}}em.AmountInput=eP;class eO extends eP{constructor(){super(...arguments),this._typeName="SECPTransferInput",this._typeID=eC.PlatformVMConstants.SECPINPUTID,this.getCredentialID=()=>eC.PlatformVMConstants.SECPCREDENTIAL}getInputID(){return this._typeID}create(...eb){return new eO(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.SECPTransferInput=eO;class eR extends eP{constructor(eb,em,eH){super(eb),this._typeName="StakeableLockIn",this._typeID=eC.PlatformVMConstants.STAKEABLELOCKINID,this.getCredentialID=()=>eC.PlatformVMConstants.SECPCREDENTIAL,void 0!==em&&(this.stakeableLocktime=eE.fromBNToBuffer(em,8)),void 0!==eH&&(this.transferableInput=eH,this.synchronize())}serialize(eb="hex"){let em=Object.assign(Object.assign({},super.serialize(eb)),{stakeableLocktime:eA.encoder(this.stakeableLocktime,eb,"Buffer","decimalString",8),transferableInput:this.transferableInput.serialize(eb)});return delete em.sigIdxs,delete em.sigCount,delete em.amount,em}deserialize(eb,em="hex"){eb.sigIdxs=[],eb.sigCount="0",eb.amount="98",super.deserialize(eb,em),this.stakeableLocktime=eA.decoder(eb.stakeableLocktime,em,"decimalString","Buffer",8),this.transferableInput=new eI,this.transferableInput.deserialize(eb.transferableInput,em),this.synchronize()}synchronize(){let eb=this.transferableInput.getInput();this.sigIdxs=eb.getSigIdxs(),this.sigCount=ew.Buffer.alloc(4),this.sigCount.writeUInt32BE(this.sigIdxs.length,0),this.amount=eE.fromBNToBuffer(eb.getAmount(),8),this.amountValue=eb.getAmount()}getStakeableLocktime(){return eE.fromBufferToBN(this.stakeableLocktime)}getTransferablInput(){return this.transferableInput}getInputID(){return this._typeID}fromBuffer(eb,em=0){return this.stakeableLocktime=eE.copyFrom(eb,em,em+8),em+=8,this.transferableInput=new eI,em=this.transferableInput.fromBuffer(eb,em),this.synchronize(),em}toBuffer(){let eb=this.transferableInput.toBuffer(),em=this.stakeableLocktime.length+eb.length,eH=[this.stakeableLocktime,eb];return ew.Buffer.concat(eH,em)}create(...eb){return new eR(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}select(eb,...eH){return(0,em.SelectInputClass)(eb,...eH)}}em.StakeableLockIn=eR},41289:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},8201:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.KeyChain=em.KeyPair=void 0;let ew=eV(eH(89734)),eM=eH(57248),eC=eH(3079),eT=ew.default.getInstance();eC.Serialization.getInstance();class e_ extends eM.SECP256k1KeyPair{clone(){let eb=new e_(this.hrp,this.chainID);return eb.importKey(eT.copyFrom(this.getPrivateKey())),eb}create(...eb){return 2==eb.length?new e_(eb[0],eb[1]):new e_(this.hrp,this.chainID)}}em.KeyPair=e_;class eS extends eM.SECP256k1KeyChain{constructor(eb,em){super(),this.hrp="",this.chainID="",this.makeKey=()=>{let eb=new e_(this.hrp,this.chainID);return this.addKey(eb),eb},this.addKey=eb=>{eb.setChainID(this.chainID),super.addKey(eb)},this.importKey=eb=>{let em,eH=new e_(this.hrp,this.chainID);return em="string"==typeof eb?eT.cb58Decode(eb.split("-")[1]):eT.copyFrom(eb),eH.importKey(em),eH.getAddress().toString("hex") in this.keys||this.addKey(eH),eH},this.hrp=eb,this.chainID=em}create(...eb){return 2==eb.length?new eS(eb[0],eb[1]):new eS(this.hrp,this.chainID)}clone(){let eb=new eS(this.hrp,this.chainID);for(let em in this.keys)eb.addKey(this.keys[`${em}`].clone());return eb}union(eb){let em=eb.clone();for(let eb in this.keys)em.addKey(this.keys[`${eb}`].clone());return em}}em.KeyChain=eS},37883:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.SECPOwnerOutput=em.StakeableLockOut=em.SECPTransferOutput=em.AmountOutput=em.ParseableOutput=em.TransferableOutput=em.SelectOutputClass=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eH(78034),eT=eH(49009),e_=eH(48984),eS=eH(77556),eE=eM.default.getInstance(),eA=e_.Serialization.getInstance(),eN=(eb,...em)=>{if(eb==eC.PlatformVMConstants.SECPXFEROUTPUTID)return new eO(...em);if(eb==eC.PlatformVMConstants.SECPOWNEROUTPUTID)return new eB(...em);if(eb==eC.PlatformVMConstants.STAKEABLELOCKOUTID)return new eR(...em);throw new eS.OutputIdError("Error - SelectOutputClass: unknown outputid "+eb)};em.SelectOutputClass=eN;class eI extends eT.StandardTransferableOutput{constructor(){super(...arguments),this._typeName="TransferableOutput",this._typeID=void 0}deserialize(eb,eH="hex"){super.deserialize(eb,eH),this.output=(0,em.SelectOutputClass)(eb.output._typeID),this.output.deserialize(eb.output,eH)}fromBuffer(eb,eH=0){this.assetID=eE.copyFrom(eb,eH,eH+eC.PlatformVMConstants.ASSETIDLEN),eH+=eC.PlatformVMConstants.ASSETIDLEN;let eV=eE.copyFrom(eb,eH,eH+4).readUInt32BE(0);return eH+=4,this.output=(0,em.SelectOutputClass)(eV),this.output.fromBuffer(eb,eH)}}em.TransferableOutput=eI;class eD extends eT.StandardParseableOutput{constructor(){super(...arguments),this._typeName="ParseableOutput",this._typeID=void 0}deserialize(eb,eH="hex"){super.deserialize(eb,eH),this.output=(0,em.SelectOutputClass)(eb.output._typeID),this.output.deserialize(eb.output,eH)}fromBuffer(eb,eH=0){let eV=eE.copyFrom(eb,eH,eH+4).readUInt32BE(0);return eH+=4,this.output=(0,em.SelectOutputClass)(eV),this.output.fromBuffer(eb,eH)}}em.ParseableOutput=eD;class eP extends eT.StandardAmountOutput{constructor(){super(...arguments),this._typeName="AmountOutput",this._typeID=void 0}makeTransferable(eb){return new eI(eb,this)}select(eb,...eH){return(0,em.SelectOutputClass)(eb,...eH)}}em.AmountOutput=eP;class eO extends eP{constructor(){super(...arguments),this._typeName="SECPTransferOutput",this._typeID=eC.PlatformVMConstants.SECPXFEROUTPUTID}getOutputID(){return this._typeID}create(...eb){return new eO(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.SECPTransferOutput=eO;class eR extends eP{constructor(eb,em,eH,eV,ew,eM){super(eb,em,eH,eV),this._typeName="StakeableLockOut",this._typeID=eC.PlatformVMConstants.STAKEABLELOCKOUTID,void 0!==ew&&(this.stakeableLocktime=eE.fromBNToBuffer(ew,8)),void 0!==eM&&(this.transferableOutput=eM,this.synchronize())}serialize(eb="hex"){let em=Object.assign(Object.assign({},super.serialize(eb)),{stakeableLocktime:eA.encoder(this.stakeableLocktime,eb,"Buffer","decimalString",8),transferableOutput:this.transferableOutput.serialize(eb)});return delete em.addresses,delete em.locktime,delete em.threshold,delete em.amount,em}deserialize(eb,em="hex"){eb.addresses=[],eb.locktime="0",eb.threshold="1",eb.amount="99",super.deserialize(eb,em),this.stakeableLocktime=eA.decoder(eb.stakeableLocktime,em,"decimalString","Buffer",8),this.transferableOutput=new eD,this.transferableOutput.deserialize(eb.transferableOutput,em),this.synchronize()}synchronize(){let eb=this.transferableOutput.getOutput();this.addresses=eb.getAddresses().map(eb=>{let em=new eT.Address;return em.fromBuffer(eb),em}),this.numaddrs=ew.Buffer.alloc(4),this.numaddrs.writeUInt32BE(this.addresses.length,0),this.locktime=eE.fromBNToBuffer(eb.getLocktime(),8),this.threshold=ew.Buffer.alloc(4),this.threshold.writeUInt32BE(eb.getThreshold(),0),this.amount=eE.fromBNToBuffer(eb.getAmount(),8),this.amountValue=eb.getAmount()}getStakeableLocktime(){return eE.fromBufferToBN(this.stakeableLocktime)}getTransferableOutput(){return this.transferableOutput}makeTransferable(eb){return new eI(eb,this)}select(eb,...eH){return(0,em.SelectOutputClass)(eb,...eH)}fromBuffer(eb,em=0){return this.stakeableLocktime=eE.copyFrom(eb,em,em+8),em+=8,this.transferableOutput=new eD,em=this.transferableOutput.fromBuffer(eb,em),this.synchronize(),em}toBuffer(){let eb=this.transferableOutput.toBuffer(),em=this.stakeableLocktime.length+eb.length,eH=[this.stakeableLocktime,eb];return ew.Buffer.concat(eH,em)}getOutputID(){return this._typeID}create(...eb){return new eR(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.StakeableLockOut=eR;class eB extends eT.Output{constructor(){super(...arguments),this._typeName="SECPOwnerOutput",this._typeID=eC.PlatformVMConstants.SECPOWNEROUTPUTID}getOutputID(){return this._typeID}makeTransferable(eb){return new eI(eb,this)}create(...eb){return new eB(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}select(eb,...eH){return(0,em.SelectOutputClass)(eb,...eH)}}em.SECPOwnerOutput=eB},75146:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.SubnetAuth=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eH(3079),eT=eH(39205),e_=eM.default.getInstance();class eS extends eC.Serializable{constructor(){super(...arguments),this._typeName="SubnetAuth",this._typeID=eT.PlatformVMConstants.SUBNETAUTH,this.addressIndices=[],this.numAddressIndices=ew.Buffer.alloc(4)}serialize(eb="hex"){return Object.assign({},super.serialize(eb))}deserialize(eb,em="hex"){super.deserialize(eb,em)}addAddressIndex(eb){let em=this.getNumAddressIndices();this.numAddressIndices.writeUIntBE(em+1,0,4),this.addressIndices.push(eb)}getNumAddressIndices(){return this.numAddressIndices.readUIntBE(0,4)}getAddressIndices(){return this.addressIndices}fromBuffer(eb,em=0){em+=4,this.numAddressIndices=e_.copyFrom(eb,em,em+4),em+=4;for(let eH=0;eH{eV+=4,eH.push(this.addressIndices[`${em}`])}),ew.Buffer.concat(eH,eV)}}em.SubnetAuth=eS},11713:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Tx=em.UnsignedTx=em.SelectTxClass=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eH(78034),eT=eH(56717),e_=eH(21616),eS=eV(eH(23482)),eE=eH(871),eA=eH(27247),eN=eH(27804),eI=eH(35439),eD=eH(94359),eP=eH(77556),eO=eM.default.getInstance(),eR=(eb,...em)=>{if(eb===eC.PlatformVMConstants.BASETX)return new eE.BaseTx(...em);if(eb===eC.PlatformVMConstants.IMPORTTX)return new eA.ImportTx(...em);if(eb===eC.PlatformVMConstants.EXPORTTX)return new eN.ExportTx(...em);if(eb===eC.PlatformVMConstants.ADDDELEGATORTX)return new eI.AddDelegatorTx(...em);if(eb===eC.PlatformVMConstants.ADDVALIDATORTX)return new eI.AddValidatorTx(...em);if(eb===eC.PlatformVMConstants.CREATESUBNETTX)return new eD.CreateSubnetTx(...em);throw new eP.TransactionError("Error - SelectTxClass: unknown txtype")};em.SelectTxClass=eR;class eB extends e_.StandardUnsignedTx{constructor(){super(...arguments),this._typeName="UnsignedTx",this._typeID=void 0}deserialize(eb,eH="hex"){super.deserialize(eb,eH),this.transaction=(0,em.SelectTxClass)(eb.transaction._typeID),this.transaction.deserialize(eb.transaction,eH)}getTransaction(){return this.transaction}fromBuffer(eb,eH=0){this.codecID=eO.copyFrom(eb,eH,eH+2).readUInt16BE(0),eH+=2;let eV=eO.copyFrom(eb,eH,eH+4).readUInt32BE(0);return eH+=4,this.transaction=(0,em.SelectTxClass)(eV),this.transaction.fromBuffer(eb,eH)}sign(eb){let em=this.toBuffer(),eH=ew.Buffer.from((0,eS.default)("sha256").update(em).digest()),eV=this.transaction.sign(eH,eb);return new eF(this,eV)}}em.UnsignedTx=eB;class eF extends e_.StandardTx{constructor(){super(...arguments),this._typeName="Tx",this._typeID=void 0}deserialize(eb,em="hex"){super.deserialize(eb,em),this.unsignedTx=new eB,this.unsignedTx.deserialize(eb.unsignedTx,em),this.credentials=[];for(let eH=0;eHthis.getAllUTXOs().filter(eH=>{if(em)return!0;let eV=eH.getOutput();if(!(eV instanceof eT.StakeableLockOut))return!0;let ew=eV;return!!ew.getStakeableLocktime().lt(eb)}),this.getMinimumSpendable=(eb,em=(0,eS.UnixNow)(),eH=new eC.default(0),eV=1,ew=!1)=>{let eM=this.getConsumableUXTO(em,ew),eE=[];ew&&(eM.forEach(eb=>{22===eb.getOutput().getTypeID()&&eE.push(eb)}),eE.sort((eb,em)=>{let eH=eb.getOutput();return em.getOutput().getStakeableLocktime().toNumber()-eH.getStakeableLocktime().toNumber()}),eM.forEach(eb=>{7===eb.getOutput().getTypeID()&&eE.push(eb)}),eM=eE);let eA={};if(eM.forEach((eH,eV)=>{let ew=eH.getAssetID(),eM=ew.toString("hex"),eC=eb.getSenders(),eS=eH.getOutput();if(!(eS instanceof eT.AmountOutput)||!eb.assetExists(eM)||!eS.meetsThreshold(eC,em))return;let eE=eb.getAssetAmount(eM);if(eE.isFinished())return;eM in eA||(eA[`${eM}`]={lockedStakeable:[],unlocked:[]});let eN=eS,eI=eN.getAmount(),eD=new e_.SECPTransferInput(eI),eP=!1;if(eN instanceof eT.StakeableLockOut){let eb=eN,eH=eb.getStakeableLocktime();eH.gt(em)&&(eD=new e_.StakeableLockIn(eI,eH,new e_.ParseableInput(eD)),eP=!0)}eE.spendAmount(eI,eP),eP?eA[`${eM}`].lockedStakeable.push(eN):eA[`${eM}`].unlocked.push(eN);let eO=eN.getSpenders(eC,em);eO.forEach(eb=>{let em=eN.getAddressIdx(eb);if(-1===em)throw new eU.AddressError(`Error - UTXOSet.getMinimumSpendable: no such address in output: ${eb}`);eD.addSignatureIdx(em,eb)});let eR=eH.getTxID(),eB=eH.getOutputIdx(),eF=new e_.TransferableInput(eR,eB,ew,eD);eb.addInput(eF)}),!eb.canComplete())return new eU.InsufficientFundsError("Error - UTXOSet.getMinimumSpendable: insufficient funds to create the transaction");let eN=new eC.default(0),eI=eb.getAmounts();eI.forEach(em=>{let ew=em.getChange(),eM=em.getStakeableLockChange(),eC=eM?ew:eN.clone(),e_=em.getAssetID(),eS=em.getAssetIDString(),eE=eA[`${eS}`].lockedStakeable;eE.forEach((em,eH)=>{let eV=em.getStakeableLocktime(),ew=em.getTransferableOutput(),eM=ew.getOutput(),eS=eM.getAmount();if(eH==eE.length-1&&eC.gt(eN)){eS=eS.sub(eC);let eH=(0,eT.SelectOutputClass)(eM.getOutputID(),eC,eM.getAddresses(),eM.getLocktime(),eM.getThreshold()),ew=(0,eT.SelectOutputClass)(em.getOutputID(),eC,eM.getAddresses(),eM.getLocktime(),eM.getThreshold(),eV,new eT.ParseableOutput(eH)),eE=new eT.TransferableOutput(e_,ew);eb.addChange(eE)}let eA=(0,eT.SelectOutputClass)(eM.getOutputID(),eS,eM.getAddresses(),eM.getLocktime(),eM.getThreshold()),eI=(0,eT.SelectOutputClass)(em.getOutputID(),eS,eM.getAddresses(),eM.getLocktime(),eM.getThreshold(),eV,new eT.ParseableOutput(eA)),eD=new eT.TransferableOutput(e_,eI);eb.addOutput(eD)});let eI=eM?eN.clone():ew;if(eI.gt(eN)){let em=new eT.SECPTransferOutput(eI,eb.getChangeAddresses(),eN.clone(),eV),eH=new eT.TransferableOutput(e_,em);eb.addChange(eH)}let eD=em.getSpent(),eP=em.getStakeableLockSpent(),eO=eD.sub(eP),eR=em.getBurn(),eB=eO.sub(eR),eF=eB.sub(eI);if(eF.gt(eN)){let em=new eT.SECPTransferOutput(eF,eb.getDestinations(),eH,eV),ew=new eT.TransferableOutput(e_,em);eb.addOutput(ew)}})},this.buildBaseTx=(eb,em,eH,eV,ew,eM,eT,e_,eE,eA,eI=(0,eS.UnixNow)(),eD=new eC.default(0),eP=1)=>{if(eP>ew.length)throw new eU.ThresholdError("Error - UTXOSet.buildBaseTx: threshold is greater than number of addresses");void 0===eT&&(eT=ew),void 0===eE&&(eE=eV);let eR=new eC.default(0);if(eH.eq(eR))return;let eB=new eY(ew,eM,eT);eV.toString("hex")===eE.toString("hex")?eB.addAssetAmount(eV,eH,e_):(eB.addAssetAmount(eV,eH,eR),this._feeCheck(e_,eE)&&eB.addAssetAmount(eE,eR,e_));let eF=[],ej=[],e$=this.getMinimumSpendable(eB,eI,eD,eP);if(void 0===e$)eF=eB.getInputs(),ej=eB.getAllOutputs();else throw e$;let eW=new eO.BaseTx(eb,em,ej,eF,eA);return new eN.UnsignedTx(eW)},this.buildImportTx=(eb,em,eH,eV,ew,eM,eE,eA,eI,eD,eO=(0,eS.UnixNow)(),eR=new eC.default(0),eB=1)=>{let eF=new eC.default(0),ej=[],e$=[];void 0===eA&&(eA=eF.clone());let eW=[],eZ=new eC.default(0),eG=eI.toString("hex");for(let eb=0;eb{let eF=[],ej=[],e$=[];void 0===eT&&(eT=ew);let eW=new eC.default(0);if(eH.eq(eW))return;if(void 0===eA)eA=eV;else if(eA.toString("hex")!==eV.toString("hex"))throw new eU.FeeAssetError("Error - UTXOSet.buildExportTx: feeAssetID must match avaxAssetID");void 0===e_&&(e_=eZ.cb58Decode(eD.Defaults.network[`${eb}`].X.blockchainID));let eG=new eY(ew,eM,eT);eV.toString("hex")===eA.toString("hex")?eG.addAssetAmount(eV,eH,eE):(eG.addAssetAmount(eV,eH,eW),this._feeCheck(eE,eA)&&eG.addAssetAmount(eA,eW,eE));let eK=this.getMinimumSpendable(eG,eO,eR,eB);if(void 0===eK)eF=eG.getInputs(),ej=eG.getChangeOutputs(),e$=eG.getOutputs();else throw eK;let eX=new eI.ExportTx(eb,em,ej,eF,eP,e_,e$);return new eN.UnsignedTx(eX)},this.buildAddSubnetValidatorTx=(eb=eD.DefaultNetworkID,em,eH,eV,ew,eM,eT,e_,eE,eA,eI,eP,eO=(0,eS.UnixNow)(),eR=[])=>{let eB=[],eF=[],ej=new eC.default(0),eU=(0,eS.UnixNow)();if(eM.lt(eU)||eT.lte(eM))throw Error("UTXOSet.buildAddSubnetValidatorTx -- startTime must be in the future and endTime must come after startTime");if(this._feeCheck(eA,eI)){let eb=new eY(eH,eH,eV);eb.addAssetAmount(eI,ej,eA);let em=this.getMinimumSpendable(eb,eO);if(void 0===em)eB=eb.getInputs(),eF=eb.getAllOutputs();else throw em}let e$=new eW.AddSubnetValidatorTx(eb,em,eF,eB,eP,ew,eM,eT,e_,eE);return eR.forEach(eb=>{e$.addSignatureIdx(eb[0],eb[1])}),new eN.UnsignedTx(e$)},this.buildAddDelegatorTx=(eb=eD.DefaultNetworkID,em,eH,eV,ew,eM,e_,eE,eA,eI,eP,eO,eR,eF,ej,e$,eW=(0,eS.UnixNow)(),eZ=1)=>{if(eO>eR.length)throw new eU.ThresholdError("Error - UTXOSet.buildAddDelegatorTx: reward threshold is greater than number of addresses");void 0===eM&&(eM=eV);let eG=[],eK=[],eX=[],eJ=new eC.default(0),eQ=(0,eS.UnixNow)();if(eE.lt(eQ)||eA.lte(eE))throw new eU.TimeError("UTXOSet.buildAddDelegatorTx -- startTime must be in the future and endTime must come after startTime");let e0=new eY(eV,ew,eM);eH.toString("hex")===ej.toString("hex")?e0.addAssetAmount(eH,eI,eF):(e0.addAssetAmount(eH,eI,eJ),this._feeCheck(eF,ej)&&e0.addAssetAmount(ej,eJ,eF));let e6=this.getMinimumSpendable(e0,eW,void 0,eZ,!0);if(void 0===e6)eG=e0.getInputs(),eK=e0.getChangeOutputs(),eX=e0.getOutputs();else throw e6;let e4=new eT.SECPOwnerOutput(eR,eP,eO),e3=new eB.AddDelegatorTx(eb,em,eK,eG,e$,e_,eE,eA,eI,eX,new eT.ParseableOutput(e4));return new eN.UnsignedTx(e3)},this.buildAddValidatorTx=(eb=eD.DefaultNetworkID,em,eH,eV,ew,eM,e_,eE,eA,eI,eP,eO,eR,eF,ej,e$,eW,eZ=(0,eS.UnixNow)())=>{let eG=[],eK=[],eX=[],eJ=new eC.default(0),eQ=(0,eS.UnixNow)();if(eE.lt(eQ)||eA.lte(eE))throw new eU.TimeError("UTXOSet.buildAddValidatorTx -- startTime must be in the future and endTime must come after startTime");if(eF>100||eF<0)throw new eU.TimeError("UTXOSet.buildAddValidatorTx -- startTime must be in the range of 0 to 100, inclusively");let e0=new eY(eV,ew,eM);eH.toString("hex")===e$.toString("hex")?e0.addAssetAmount(eH,eI,ej):(e0.addAssetAmount(eH,eI,eJ),this._feeCheck(ej,e$)&&e0.addAssetAmount(e$,eJ,ej));let e6=this.getMinimumSpendable(e0,eZ,void 0,void 0,!0);if(void 0===e6)eG=e0.getInputs(),eK=e0.getChangeOutputs(),eX=e0.getOutputs();else throw e6;let e4=new eT.SECPOwnerOutput(eR,eP,eO),e3=new eB.AddValidatorTx(eb,em,eK,eG,eW,e_,eE,eA,eI,eX,new eT.ParseableOutput(e4),eF);return new eN.UnsignedTx(e3)},this.buildCreateSubnetTx=(eb=eD.DefaultNetworkID,em,eH,eV,ew,eM,e_,eE,eA,eI=(0,eS.UnixNow)())=>{let eP=new eC.default(0),eO=[],eR=[];if(this._feeCheck(e_,eE)){let eb=new eY(eH,eH,eV);eb.addAssetAmount(eE,eP,e_);let em=this.getMinimumSpendable(eb,eI,void 0,void 0);if(void 0===em)eO=eb.getInputs(),eR=eb.getAllOutputs();else throw em}let eB=new eC.default(0),ej=new eT.SECPOwnerOutput(ew,eB,eM),eU=new eF.CreateSubnetTx(eb,em,eR,eO,eA,ej);return new eN.UnsignedTx(eU)},this.buildCreateChainTx=(eb=eD.DefaultNetworkID,em,eH,eV,ew,eM,eT,e_,eE,eA,eI,eP,eO=(0,eS.UnixNow)(),eR=[])=>{let eB=new eC.default(0),eF=[],ej=[];if(this._feeCheck(eA,eI)){let eb=new eY(eH,eH,eV);eb.addAssetAmount(eI,eB,eA);let em=this.getMinimumSpendable(eb,eO,void 0,void 0);if(void 0===em)eF=eb.getInputs(),ej=eb.getAllOutputs();else throw em}let eU=new e$.CreateChainTx(eb,em,ej,eF,eP,ew,eM,eT,e_,eE);return eR.forEach(eb=>{eU.addSignatureIdx(eb[0],eb[1])}),new eN.UnsignedTx(eU)}}deserialize(eb,em="hex"){super.deserialize(eb,em);let eH={};for(let eV in eb.utxos){let ew=eG.decoder(eV,em,"base58","base58");eH[`${ew}`]=new eK,eH[`${ew}`].deserialize(eb.utxos[`${eV}`],em)}let eV={};for(let eH in eb.addressUTXOs){let ew=eG.decoder(eH,em,"cb58","hex"),eM={};for(let eV in eb.addressUTXOs[`${eH}`])eM[`${eG.decoder(eV,em,"base58","base58")}`]=eG.decoder(eb.addressUTXOs[`${eH}`][`${eV}`],em,"decimalString","BN");eV[`${ew}`]=eM}this.utxos=eH,this.addressUTXOs=eV}parseUTXO(eb){let em=new eK;if("string"==typeof eb)em.fromBuffer(eZ.cb58Decode(eb));else if(eb instanceof eE.StandardUTXO)em.fromBuffer(eb.toBuffer());else throw new eU.UTXOError("Error - UTXO.parseUTXO: utxo parameter is not a UTXO or string");return em}create(...eb){return new eX}clone(){let eb=this.create(),em=this.getAllUTXOs();return eb.addArray(em),eb}_feeCheck(eb,em){return void 0!==eb&&void 0!==em&&eb.gt(new eC.default(0))&&em instanceof ew.Buffer}}em.UTXOSet=eX},35439:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.AddValidatorTx=em.AddDelegatorTx=em.WeightedValidatorTx=em.ValidatorTx=void 0;let ew=eV(eH(13550)),eM=eV(eH(89734)),eC=eH(871),eT=eH(37883),e_=eH(48764),eS=eH(78034),eE=eH(89858),eA=eH(3421),eN=eH(37883),eI=eH(48984),eD=eH(77556),eP=eM.default.getInstance(),eO=eI.Serialization.getInstance();class eR extends eC.BaseTx{constructor(eb,em,eH,eV,ew,eM,eC,eT){super(eb,em,eH,eV,ew),this._typeName="ValidatorTx",this._typeID=void 0,this.nodeID=e_.Buffer.alloc(20),this.startTime=e_.Buffer.alloc(8),this.endTime=e_.Buffer.alloc(8),this.nodeID=eM,this.startTime=eP.fromBNToBuffer(eC,8),this.endTime=eP.fromBNToBuffer(eT,8)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{nodeID:eO.encoder(this.nodeID,eb,"Buffer","nodeID"),startTime:eO.encoder(this.startTime,eb,"Buffer","decimalString"),endTime:eO.encoder(this.endTime,eb,"Buffer","decimalString")})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.nodeID=eO.decoder(eb.nodeID,em,"nodeID","Buffer",20),this.startTime=eO.decoder(eb.startTime,em,"decimalString","Buffer",8),this.endTime=eO.decoder(eb.endTime,em,"decimalString","Buffer",8)}getNodeID(){return this.nodeID}getNodeIDString(){return(0,eA.bufferToNodeIDString)(this.nodeID)}getStartTime(){return eP.fromBufferToBN(this.startTime)}getEndTime(){return eP.fromBufferToBN(this.endTime)}fromBuffer(eb,em=0){return em=super.fromBuffer(eb,em),this.nodeID=eP.copyFrom(eb,em,em+20),em+=20,this.startTime=eP.copyFrom(eb,em,em+8),em+=8,this.endTime=eP.copyFrom(eb,em,em+8),em+=8}toBuffer(){let eb=super.toBuffer(),em=eb.length+this.nodeID.length+this.startTime.length+this.endTime.length;return e_.Buffer.concat([eb,this.nodeID,this.startTime,this.endTime],em)}}em.ValidatorTx=eR;class eB extends eR{constructor(eb=eE.DefaultNetworkID,em=e_.Buffer.alloc(32,16),eH,eV,ew,eM,eC,eT,eS){super(eb,em,eH,eV,ew,eM,eC,eT),this._typeName="WeightedValidatorTx",this._typeID=void 0,this.weight=e_.Buffer.alloc(8),this.weight=eP.fromBNToBuffer(eS,8)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{weight:eO.encoder(this.weight,eb,"Buffer","decimalString")})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.weight=eO.decoder(eb.weight,em,"decimalString","Buffer",8)}getWeight(){return eP.fromBufferToBN(this.weight)}getWeightBuffer(){return this.weight}fromBuffer(eb,em=0){return em=super.fromBuffer(eb,em),this.weight=eP.copyFrom(eb,em,em+8),em+=8}toBuffer(){let eb=super.toBuffer();return e_.Buffer.concat([eb,this.weight])}}em.WeightedValidatorTx=eB;class eF extends eB{constructor(eb=eE.DefaultNetworkID,em=e_.Buffer.alloc(32,16),eH,eV,ew,eM,eC,eT,eA,eN,eI){super(eb,em,eH,eV,ew,eM,eC,eT,eA),this._typeName="AddDelegatorTx",this._typeID=eS.PlatformVMConstants.ADDDELEGATORTX,this.stakeOuts=[],this.rewardOwners=void 0,this.stakeOuts=eN,this.rewardOwners=eI}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{stakeOuts:this.stakeOuts.map(em=>em.serialize(eb)),rewardOwners:this.rewardOwners.serialize(eb)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.stakeOuts=eb.stakeOuts.map(eb=>{let eH=new eT.TransferableOutput;return eH.deserialize(eb,em),eH}),this.rewardOwners=new eN.ParseableOutput,this.rewardOwners.deserialize(eb.rewardOwners,em)}getTxType(){return this._typeID}getStakeAmount(){return this.getWeight()}getStakeAmountBuffer(){return this.weight}getStakeOuts(){return this.stakeOuts}getStakeOutsTotal(){let eb=new ew.default(0);for(let em=0;em=0&&eP<=100)this.delegationFee=parseFloat(eP.toFixed(4));else throw new eD.DelegationFeeError("AddValidatorTx.constructor -- delegationFee must be in the range of 0 and 100, inclusively.")}}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{delegationFee:eO.encoder(this.getDelegationFeeBuffer(),eb,"Buffer","decimalString",4)})}deserialize(eb,em="hex"){super.deserialize(eb,em);let eH=eO.decoder(eb.delegationFee,em,"decimalString","Buffer",4);this.delegationFee=eH.readUInt32BE(0)/ej.delegatorMultiplier}getTxType(){return this._typeID}getDelegationFee(){return this.delegationFee}getDelegationFeeBuffer(){let eb=e_.Buffer.alloc(4),em=parseFloat(this.delegationFee.toFixed(4))*ej.delegatorMultiplier;return eb.writeUInt32BE(em,0),eb}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em);let eH=eP.copyFrom(eb,em,em+4);return em+=4,this.delegationFee=eH.readUInt32BE(0)/ej.delegatorMultiplier,em}toBuffer(){let eb=super.toBuffer(),em=this.getDelegationFeeBuffer();return e_.Buffer.concat([eb,em])}}em.AddValidatorTx=ej,ej.delegatorMultiplier=1e4},91440:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Socket=void 0;let ew=eV(eH(34854)),eM=eH(3079);class eC extends ew.default{constructor(eb=`wss://${eM.MainnetAPI}:443/ext/bc/X/events`,em){super(eb,em)}send(eb,em){super.send(eb,em)}close(eb,em){super.close(eb,em)}}em.Socket=eC},33269:function(eb,em,eH){"use strict";var eV=this&&this.__awaiter||function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})},ew=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0});let eM=ew(eH(45609)),eC=eH(40286),eT=eH(77556),e_=eH(32413),eS=eH(3421);class eE{constructor(eb,em,eH="http"){this.networkID=0,this.hrp="",this.auth=void 0,this.headers={},this.requestConfig={},this.apis={},this.setAddress=(eb,em,eH="http",eV="")=>{eb=eb.replace(/[&#,@+()$~%'":*?<>{}]/g,""),eH=eH.replace(/[&#,@+()$~%'":*?<>{}]/g,"");let ew=["http","https"];if(!ew.includes(eH))throw new eT.ProtocolError("Error - AvalancheCore.setAddress: Invalid protocol");this.host=eb,this.port=em,this.protocol=eH,this.baseEndpoint=eV;let eM=`${eH}://${eb}`;void 0!=em&&"number"==typeof em&&em>=0&&(eM=`${eM}:${em}`),void 0!=eV&&"string"==typeof eV&&eV.length>0&&("/"!=eV[0]&&(eV=`/${eV}`),eM=`${eM}${eV}`),this.url=eM},this.getProtocol=()=>this.protocol,this.getHost=()=>this.host,this.getIP=()=>this.host,this.getPort=()=>this.port,this.getBaseEndpoint=()=>this.baseEndpoint,this.getURL=()=>this.url,this.getHeaders=()=>this.headers,this.getRequestConfig=()=>this.requestConfig,this.getNetworkID=()=>this.networkID,this.setNetworkID=eb=>{this.networkID=eb,this.hrp=(0,eS.getPreferredHRP)(this.networkID)},this.getHRP=()=>this.hrp,this.setHRP=eb=>{this.hrp=eb},this.setHeader=(eb,em)=>{this.headers[`${eb}`]=em},this.removeHeader=eb=>{delete this.headers[`${eb}`]},this.removeAllHeaders=()=>{for(let eb in this.headers)Object.prototype.hasOwnProperty.call(this.headers,eb)&&delete this.headers[`${eb}`]},this.setRequestConfig=(eb,em)=>{this.requestConfig[`${eb}`]=em},this.removeRequestConfig=eb=>{delete this.requestConfig[`${eb}`]},this.removeAllRequestConfigs=()=>{for(let eb in this.requestConfig)Object.prototype.hasOwnProperty.call(this.requestConfig,eb)&&delete this.requestConfig[`${eb}`]},this.setAuthToken=eb=>{this.auth=eb},this._setHeaders=eb=>{if("object"==typeof this.headers)for(let[em,eH]of Object.entries(this.headers))eb[`${em}`]=eH;return"string"==typeof this.auth&&(eb.Authorization=`Bearer ${this.auth}`),eb},this.addAPI=(eb,em,eH,...eV)=>{void 0===eH?this.apis[`${eb}`]=new em(this,void 0,...eV):this.apis[`${eb}`]=new em(this,eH,...eV)},this.api=eb=>this.apis[`${eb}`],this._request=(eb,em,eH,ew,eT={},eS)=>eV(this,void 0,void 0,function*(){let eV;(eV=eS?Object.assign(Object.assign({},eS),this.requestConfig):Object.assign({baseURL:this.url,responseType:"text"},this.requestConfig)).url=em,eV.method=eb,eV.headers=eT,eV.data=ew,eV.params=eH,"undefined"!=typeof fetch&&(eV.adapter=e_.fetchAdapter);let eE=yield eM.default.request(eV),eA=new eC.RequestResponseData(eE.data,eE.headers,eE.status,eE.statusText,eE.request);return eA}),this.get=(eb,em,eH={},eV)=>this._request("GET",eb,em,{},this._setHeaders(eH),eV),this.delete=(eb,em,eH={},eV)=>this._request("DELETE",eb,em,{},this._setHeaders(eH),eV),this.post=(eb,em,eH,eV={},ew)=>this._request("POST",eb,em,eH,this._setHeaders(eV),ew),this.put=(eb,em,eH,eV={},ew)=>this._request("PUT",eb,em,eH,this._setHeaders(eV),ew),this.patch=(eb,em,eH,eV={},ew)=>this._request("PATCH",eb,em,eH,this._setHeaders(eV),ew),void 0!=eb&&this.setAddress(eb,em,eH)}}em.default=eE},40286:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.APIBase=em.RequestResponseData=void 0;let ew=eV(eH(82060));class eM{constructor(eb,em,eH,eV,ew){this.data=eb,this.headers=em,this.status=eH,this.statusText=eV,this.request=ew}}em.RequestResponseData=eM;class eC{constructor(eb,em){this.setBaseURL=eb=>{if(this.db&&this.baseURL!==eb){let em=this.db.getAll();this.db.clearAll(),this.baseURL=eb,this.db=ew.default.getNamespace(eb),this.db.setAll(em,!0)}else this.baseURL=eb,this.db=ew.default.getNamespace(eb)},this.getBaseURL=()=>this.baseURL,this.getDB=()=>this.db,this.core=eb,this.setBaseURL(em)}}em.APIBase=eC},2996:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.StandardAssetAmountDestination=em.AssetAmount=void 0;let ew=eH(48764),eM=eV(eH(13550)),eC=eH(77556);class eT{constructor(eb,em,eH){this.assetID=ew.Buffer.alloc(32),this.amount=new eM.default(0),this.burn=new eM.default(0),this.spent=new eM.default(0),this.stakeableLockSpent=new eM.default(0),this.change=new eM.default(0),this.stakeableLockChange=!1,this.finished=!1,this.getAssetID=()=>this.assetID,this.getAssetIDString=()=>this.assetID.toString("hex"),this.getAmount=()=>this.amount,this.getSpent=()=>this.spent,this.getBurn=()=>this.burn,this.getChange=()=>this.change,this.getStakeableLockSpent=()=>this.stakeableLockSpent,this.getStakeableLockChange=()=>this.stakeableLockChange,this.isFinished=()=>this.finished,this.spendAmount=(eb,em=!1)=>{if(this.finished)throw new eC.InsufficientFundsError("Error - AssetAmount.spendAmount: attempted to spend excess funds");this.spent=this.spent.add(eb),em&&(this.stakeableLockSpent=this.stakeableLockSpent.add(eb));let eH=this.amount.add(this.burn);return this.spent.gte(eH)&&(this.change=this.spent.sub(eH),em&&(this.stakeableLockChange=!0),this.finished=!0),this.finished},this.assetID=eb,this.amount=void 0===em?new eM.default(0):em,this.burn=void 0===eH?new eM.default(0):eH,this.spent=new eM.default(0),this.stakeableLockSpent=new eM.default(0),this.stakeableLockChange=!1}}em.AssetAmount=eT;class e_{constructor(eb,em,eH){this.amounts=[],this.destinations=[],this.senders=[],this.changeAddresses=[],this.amountkey={},this.inputs=[],this.outputs=[],this.change=[],this.addAssetAmount=(eb,em,eH)=>{let eV=new eT(eb,em,eH);this.amounts.push(eV),this.amountkey[eV.getAssetIDString()]=eV},this.addInput=eb=>{this.inputs.push(eb)},this.addOutput=eb=>{this.outputs.push(eb)},this.addChange=eb=>{this.change.push(eb)},this.getAmounts=()=>this.amounts,this.getDestinations=()=>this.destinations,this.getSenders=()=>this.senders,this.getChangeAddresses=()=>this.changeAddresses,this.getAssetAmount=eb=>this.amountkey[`${eb}`],this.assetExists=eb=>eb in this.amountkey,this.getInputs=()=>this.inputs,this.getOutputs=()=>this.outputs,this.getChangeOutputs=()=>this.change,this.getAllOutputs=()=>this.outputs.concat(this.change),this.canComplete=()=>{for(let eb=0;eb{this.source=eb},this.getSource=()=>this.source}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{source:eS.encoder(this.source,eb,"Buffer","hex")})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.source=eS.decoder(eb.source,em,"hex","Buffer")}clone(){let eb=new eE;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eE}}em.SigIdx=eE;class eA extends ew.NBytes{constructor(){super(),this._typeName="Signature",this._typeID=void 0,this.bytes=eM.Buffer.alloc(65),this.bsize=65}clone(){let eb=new eA;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eA}}em.Signature=eA;class eN extends eT.Serializable{constructor(eb){super(),this._typeName="Credential",this._typeID=void 0,this.sigArray=[],this.addSignature=eb=>(this.sigArray.push(eb),this.sigArray.length-1),void 0!==eb&&(this.sigArray=eb)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{sigArray:this.sigArray.map(em=>em.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.sigArray=eb.sigArray.map(eb=>{let eH=new eA;return eH.deserialize(eb,em),eH})}setCodecID(eb){}fromBuffer(eb,em=0){let eH=e_.copyFrom(eb,em,em+4).readUInt32BE(0);em+=4,this.sigArray=[];for(let eV=0;eV{if(eb.getInput() instanceof eT.StandardAmountInput&&eH===eb.getAssetID().toString("hex")){let em=eb.getInput();eV=eV.add(em.getAmount())}}),eV}getOutputTotal(eb){let em=[],eH=eb.toString("hex"),eV=new eC.default(0);return em.forEach(eb=>{if(eb.getOutput() instanceof e_.StandardAmountOutput&&eH===eb.getAssetID().toString("hex")){let em=eb.getOutput();eV=eV.add(em.getAmount())}}),eV}getBurn(eb){return this.getInputTotal(eb).sub(this.getOutputTotal(eb))}toBuffer(){let eb=this.getCodecIDBuffer(),em=ew.Buffer.alloc(4);em.writeUInt32BE(this.transaction.getTxType(),0);let eH=this.transaction.toBuffer();return ew.Buffer.concat([eb,em,eH],eb.length+em.length+eH.length)}}em.EVMStandardUnsignedTx=eD;class eP extends eE.Serializable{constructor(eb,em){super(),this._typeName="StandardTx",this._typeID=void 0,this.unsignedTx=void 0,this.credentials=[],void 0!==eb&&(this.unsignedTx=eb,void 0!==em&&(this.credentials=em))}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{unsignedTx:this.unsignedTx.serialize(eb),credentials:this.credentials.map(em=>em.serialize(eb))})}getUnsignedTx(){return this.unsignedTx}toBuffer(){let eb=this.unsignedTx.toBuffer(),em=eb.length,eH=ew.Buffer.alloc(4);eH.writeUInt32BE(this.credentials.length,0);let eV=[eb,eH];em+=eH.length,this.credentials.forEach(eb=>{let eH=ew.Buffer.alloc(4);eH.writeUInt32BE(eb.getCredentialID(),0),eV.push(eH),em+=eH.length;let eM=eb.toBuffer();em+=eM.length,eV.push(eM)});let eM=ew.Buffer.concat(eV,em);return eM}fromString(eb){return this.fromBuffer(eA.cb58Decode(eb))}toString(){return eA.cb58Encode(this.toBuffer())}toStringHex(){return`0x${eA.addChecksum(this.toBuffer()).toString("hex")}`}}em.EVMStandardTx=eP},1958:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),ew(eH(40286),em),ew(eH(2996),em),ew(eH(65614),em),ew(eH(66408),em),ew(eH(7451),em),ew(eH(20620),em),ew(eH(98769),em),ew(eH(47469),em),ew(eH(2791),em),ew(eH(49009),em),ew(eH(90569),em),ew(eH(57248),em),ew(eH(21616),em),ew(eH(91864),em)},7451:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.StandardAmountInput=em.StandardTransferableInput=em.StandardParseableInput=em.Input=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eV(eH(13550)),eT=eH(65614),e_=eH(48984),eS=eM.default.getInstance(),eE=e_.Serialization.getInstance();class eA extends e_.Serializable{constructor(){super(...arguments),this._typeName="Input",this._typeID=void 0,this.sigCount=ew.Buffer.alloc(4),this.sigIdxs=[],this.getSigIdxs=()=>this.sigIdxs,this.addSignatureIdx=(eb,em)=>{let eH=new eT.SigIdx,eV=ew.Buffer.alloc(4);eV.writeUInt32BE(eb,0),eH.fromBuffer(eV),eH.setSource(em),this.sigIdxs.push(eH),this.sigCount.writeUInt32BE(this.sigIdxs.length,0)}}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{sigIdxs:this.sigIdxs.map(em=>em.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.sigIdxs=eb.sigIdxs.map(eb=>{let eH=new eT.SigIdx;return eH.deserialize(eb,em),eH}),this.sigCount.writeUInt32BE(this.sigIdxs.length,0)}fromBuffer(eb,em=0){this.sigCount=eS.copyFrom(eb,em,em+4),em+=4;let eH=this.sigCount.readUInt32BE(0);this.sigIdxs=[];for(let eV=0;eV(eb,em)=>{let eH=ew.Buffer.alloc(4);eH.writeUInt32BE(eb.getInputID(),0);let eV=eb.toBuffer(),eM=ew.Buffer.alloc(4);eM.writeUInt32BE(em.getInputID(),0);let eC=em.toBuffer(),eT=ew.Buffer.concat([eH,eV],eH.length+eV.length),e_=ew.Buffer.concat([eM,eC],eM.length+eC.length);return ew.Buffer.compare(eT,e_)};class eN extends e_.Serializable{constructor(eb){super(),this._typeName="StandardParseableInput",this._typeID=void 0,this.getInput=()=>this.input,eb instanceof eA&&(this.input=eb)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{input:this.input.serialize(eb)})}toBuffer(){let eb=this.input.toBuffer(),em=ew.Buffer.alloc(4);em.writeUInt32BE(this.input.getInputID(),0);let eH=[em,eb];return ew.Buffer.concat(eH,em.length+eb.length)}}em.StandardParseableInput=eN,eN.comparator=()=>(eb,em)=>{let eH=eb.toBuffer(),eV=em.toBuffer();return ew.Buffer.compare(eH,eV)};class eI extends eN{constructor(eb,em,eH,eV){super(),this._typeName="StandardTransferableInput",this._typeID=void 0,this.txid=ew.Buffer.alloc(32),this.outputidx=ew.Buffer.alloc(4),this.assetID=ew.Buffer.alloc(32),this.getTxID=()=>this.txid,this.getOutputIdx=()=>this.outputidx,this.getUTXOID=()=>eS.bufferToB58(ew.Buffer.concat([this.txid,this.outputidx])),this.getInput=()=>this.input,this.getAssetID=()=>this.assetID,void 0!==eb&&void 0!==em&&void 0!==eH&&eV instanceof eA&&(this.input=eV,this.txid=eb,this.outputidx=em,this.assetID=eH)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{txid:eE.encoder(this.txid,eb,"Buffer","cb58"),outputidx:eE.encoder(this.outputidx,eb,"Buffer","decimalString"),assetID:eE.encoder(this.assetID,eb,"Buffer","cb58")})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.txid=eE.decoder(eb.txid,em,"cb58","Buffer",32),this.outputidx=eE.decoder(eb.outputidx,em,"decimalString","Buffer",4),this.assetID=eE.decoder(eb.assetID,em,"cb58","Buffer",32)}toBuffer(){let eb=super.toBuffer(),em=this.txid.length+this.outputidx.length+this.assetID.length+eb.length,eH=[this.txid,this.outputidx,this.assetID,eb],eV=ew.Buffer.concat(eH,em);return eV}toString(){return eS.bufferToB58(this.toBuffer())}}em.StandardTransferableInput=eI;class eD extends eA{constructor(eb){super(),this._typeName="StandardAmountInput",this._typeID=void 0,this.amount=ew.Buffer.alloc(8),this.amountValue=new eC.default(0),this.getAmount=()=>this.amountValue.clone(),eb&&(this.amountValue=eb.clone(),this.amount=eS.fromBNToBuffer(eb,8))}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{amount:eE.encoder(this.amount,eb,"Buffer","decimalString",8)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.amount=eE.decoder(eb.amount,em,"decimalString","Buffer",8),this.amountValue=eS.fromBufferToBN(this.amount)}fromBuffer(eb,em=0){return this.amount=eS.copyFrom(eb,em,em+8),this.amountValue=eS.fromBufferToBN(this.amount),em+=8,super.fromBuffer(eb,em)}toBuffer(){let eb=super.toBuffer(),em=this.amount.length+eb.length,eH=[this.amount,eb];return ew.Buffer.concat(eH,em)}}em.StandardAmountInput=eD},20620:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},98769:function(eb,em,eH){"use strict";var eV=this&&this.__awaiter||function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};Object.defineProperty(em,"__esModule",{value:!0}),em.JRPCAPI=void 0;let ew=eH(3079),eM=eH(40286);class eC extends eM.APIBase{constructor(eb,em,eH="2.0"){super(eb,em),this.jrpcVersion="2.0",this.rpcID=1,this.callMethod=(eb,em,eH,eM)=>eV(this,void 0,void 0,function*(){let eV=eH||this.baseURL,eC={};eC.id=this.rpcID,eC.method=eb,em?eC.params=em:"1.0"===this.jrpcVersion&&(eC.params=[]),"1.0"!==this.jrpcVersion&&(eC.jsonrpc=this.jrpcVersion);let eT={"Content-Type":"application/json;charset=UTF-8"};eM&&(eT=Object.assign(Object.assign({},eT),eM)),eH=this.core.getURL();let e_={baseURL:eH,responseType:"json",adapter:"undefined"!=typeof fetch?ew.fetchAdapter:void 0},eS=yield this.core.post(eV,{},JSON.stringify(eC),eT,e_);if(eS.status>=200&&eS.status<300&&(this.rpcID+=1,"string"==typeof eS.data&&(eS.data=JSON.parse(eS.data)),"object"==typeof eS.data&&(null===eS.data||"error"in eS.data)))throw Error(eS.data.error.message);return eS}),this.getRPCID=()=>this.rpcID,this.jrpcVersion=eH,this.rpcID=1}}em.JRPCAPI=eC},47469:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.StandardKeyChain=em.StandardKeyPair=void 0;let eV=eH(48764);class ew{getPrivateKey(){return this.privk}getPublicKey(){return this.pubk}}em.StandardKeyPair=ew;class eM{constructor(){this.keys={},this.getAddresses=()=>Object.values(this.keys).map(eb=>eb.getAddress()),this.getAddressStrings=()=>Object.values(this.keys).map(eb=>eb.getAddressString()),this.removeKey=eb=>{let em;return(em=eb instanceof eV.Buffer?eb.toString("hex"):eb.getAddress().toString("hex"))in this.keys&&(delete this.keys[`${em}`],!0)},this.hasKey=eb=>eb.toString("hex") in this.keys,this.getKey=eb=>this.keys[eb.toString("hex")]}addKey(eb){this.keys[eb.getAddress().toString("hex")]=eb}}em.StandardKeyChain=eM},2791:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.NBytes=void 0;let ew=eV(eH(89734)),eM=eH(48984),eC=eH(77556),eT=ew.default.getInstance(),e_=eM.Serialization.getInstance();class eS extends eM.Serializable{constructor(){super(...arguments),this._typeName="NBytes",this._typeID=void 0,this.getSize=()=>this.bsize}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{bsize:e_.encoder(this.bsize,eb,"number","decimalString",4),bytes:e_.encoder(this.bytes,eb,"Buffer","hex",this.bsize)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.bsize=e_.decoder(eb.bsize,em,"decimalString","number",4),this.bytes=e_.decoder(eb.bytes,em,"hex","Buffer",this.bsize)}fromString(eb){try{this.fromBuffer(eT.b58ToBuffer(eb))}catch(em){let eb=`Error - NBytes.fromString: ${em}`;throw Error(eb)}return this.bsize}fromBuffer(eb,em=0){try{if(eb.length-em(eb,em)=>ew.Buffer.compare(eb.toBuffer(),em.toBuffer());class eD extends eS.Serializable{constructor(eb,em,eH){if(super(),this._typeName="OutputOwners",this._typeID=void 0,this.locktime=ew.Buffer.alloc(8),this.threshold=ew.Buffer.alloc(4),this.numaddrs=ew.Buffer.alloc(4),this.addresses=[],this.getThreshold=()=>this.threshold.readUInt32BE(0),this.getLocktime=()=>eA.fromBufferToBN(this.locktime),this.getAddresses=()=>{let eb=[];for(let em=0;em{for(let em=0;em{if(eb{let eH;eH=void 0===em?(0,e_.UnixNow)():em;let eV=this.getSpenders(eb,eH),ew=this.threshold.readUInt32BE(0);return eV.length>=ew},this.getSpenders=(eb,em)=>{let eH;let eV=[];eH=void 0===em?(0,e_.UnixNow)():em;let ew=eA.fromBufferToBN(this.locktime);if(eH.lte(ew))return eV;let eM=this.threshold.readUInt32BE(0);for(let em=0;emem.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.locktime=eN.decoder(eb.locktime,em,"decimalString","Buffer",8),this.threshold=eN.decoder(eb.threshold,em,"decimalString","Buffer",4),this.addresses=eb.addresses.map(eb=>{let eH=new eI;return eH.deserialize(eb,em),eH}),this.numaddrs=ew.Buffer.alloc(4),this.numaddrs.writeUInt32BE(this.addresses.length,0)}fromBuffer(eb,em=0){this.locktime=eA.copyFrom(eb,em,em+8),em+=8,this.threshold=eA.copyFrom(eb,em,em+4),em+=4,this.numaddrs=eA.copyFrom(eb,em,em+4),em+=4;let eH=this.numaddrs.readUInt32BE(0);this.addresses=[];for(let eV=0;eV(eb,em)=>{let eH=ew.Buffer.alloc(4);eH.writeUInt32BE(eb.getOutputID(),0);let eV=eb.toBuffer(),eM=ew.Buffer.alloc(4);eM.writeUInt32BE(em.getOutputID(),0);let eC=em.toBuffer(),eT=ew.Buffer.concat([eH,eV],eH.length+eV.length),e_=ew.Buffer.concat([eM,eC],eM.length+eC.length);return ew.Buffer.compare(eT,e_)};class eP extends eD{constructor(){super(...arguments),this._typeName="Output",this._typeID=void 0}}em.Output=eP;class eO extends eS.Serializable{constructor(eb){super(),this._typeName="StandardParseableOutput",this._typeID=void 0,this.getOutput=()=>this.output,eb instanceof eP&&(this.output=eb)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{output:this.output.serialize(eb)})}toBuffer(){let eb=this.output.toBuffer(),em=ew.Buffer.alloc(4);em.writeUInt32BE(this.output.getOutputID(),0);let eH=[em,eb];return ew.Buffer.concat(eH,em.length+eb.length)}}em.StandardParseableOutput=eO,eO.comparator=()=>(eb,em)=>{let eH=eb.toBuffer(),eV=em.toBuffer();return ew.Buffer.compare(eH,eV)};class eR extends eO{constructor(eb,em){super(em),this._typeName="StandardTransferableOutput",this._typeID=void 0,this.assetID=void 0,this.getAssetID=()=>this.assetID,void 0!==eb&&(this.assetID=eb)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{assetID:eN.encoder(this.assetID,eb,"Buffer","cb58")})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.assetID=eN.decoder(eb.assetID,em,"cb58","Buffer",32)}toBuffer(){let eb=super.toBuffer(),em=[this.assetID,eb];return ew.Buffer.concat(em,this.assetID.length+eb.length)}}em.StandardTransferableOutput=eR;class eB extends eP{constructor(eb,em,eH,eV){super(em,eH,eV),this._typeName="StandardAmountOutput",this._typeID=void 0,this.amount=ew.Buffer.alloc(8),this.amountValue=new eM.default(0),void 0!==eb&&(this.amountValue=eb.clone(),this.amount=eA.fromBNToBuffer(eb,8))}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{amount:eN.encoder(this.amount,eb,"Buffer","decimalString",8)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.amount=eN.decoder(eb.amount,em,"decimalString","Buffer",8),this.amountValue=eA.fromBufferToBN(this.amount)}getAmount(){return this.amountValue.clone()}fromBuffer(eb,em=0){return this.amount=eA.copyFrom(eb,em,em+8),this.amountValue=eA.fromBufferToBN(this.amount),em+=8,super.fromBuffer(eb,em)}toBuffer(){let eb=super.toBuffer(),em=this.amount.length+eb.length;this.numaddrs.writeUInt32BE(this.addresses.length,0);let eH=[this.amount,eb];return ew.Buffer.concat(eH,em)}}em.StandardAmountOutput=eB;class eF extends eP{constructor(){super(...arguments),this._typeName="BaseNFTOutput",this._typeID=void 0,this.groupID=ew.Buffer.alloc(4),this.getGroupID=()=>this.groupID.readUInt32BE(0)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{groupID:eN.encoder(this.groupID,eb,"Buffer","decimalString",4)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.groupID=eN.decoder(eb.groupID,em,"decimalString","Buffer",4)}}em.BaseNFTOutput=eF},90569:function(eb,em,eH){"use strict";var eV=this&&this.__awaiter||function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};Object.defineProperty(em,"__esModule",{value:!0}),em.RESTAPI=void 0;let ew=eH(40286);class eM extends ew.APIBase{constructor(eb,em,eH="application/json;charset=UTF-8",ew){super(eb,em),this.prepHeaders=(eb,em)=>{let eH={};return void 0!==eb?eH["Content-Type"]=eb:eH["Content-Type"]=this.contentType,void 0!==em?eH.Accept=em:void 0!==this.acceptType&&(eH.Accept=this.acceptType),eH},this.axConf=()=>({baseURL:this.core.getURL(),responseType:"json"}),this.get=(eb,em,eH)=>eV(this,void 0,void 0,function*(){let eV=eb||this.baseURL,ew=this.prepHeaders(em,eH),eM=yield this.core.get(eV,{},ew,this.axConf());return eM}),this.post=(eb,em,eH,ew,eM)=>eV(this,void 0,void 0,function*(){let eV=eH||this.baseURL,eC={};eC.method=eb,em&&(eC.params=em);let eT=this.prepHeaders(ew,eM),e_=yield this.core.post(eV,{},JSON.stringify(eC),eT,this.axConf());return e_}),this.put=(eb,em,eH,ew,eM)=>eV(this,void 0,void 0,function*(){let eV=eH||this.baseURL,eC={};eC.method=eb,em&&(eC.params=em);let eT=this.prepHeaders(ew,eM),e_=yield this.core.put(eV,{},JSON.stringify(eC),eT,this.axConf());return e_}),this.delete=(eb,em,eH,ew,eM)=>eV(this,void 0,void 0,function*(){let eV=eH||this.baseURL,eC={};eC.method=eb,em&&(eC.params=em);let eT=this.prepHeaders(ew,eM),e_=yield this.core.delete(eV,{},eT,this.axConf());return e_}),this.patch=(eb,em,eH,ew,eM)=>eV(this,void 0,void 0,function*(){let eV=eH||this.baseURL,eC={};eC.method=eb,em&&(eC.params=em);let eT=this.prepHeaders(ew,eM),e_=yield this.core.patch(eV,{},JSON.stringify(eC),eT,this.axConf());return e_}),this.getContentType=()=>this.contentType,this.getAcceptType=()=>this.acceptType,this.contentType=eH,this.acceptType=ew}}em.RESTAPI=eM},57248:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__setModuleDefault||(Object.create?function(eb,em){Object.defineProperty(eb,"default",{enumerable:!0,value:em})}:function(eb,em){eb.default=em}),eM=this&&this.__importStar||function(eb){if(eb&&eb.__esModule)return eb;var em={};if(null!=eb)for(var eH in eb)"default"!==eH&&Object.prototype.hasOwnProperty.call(eb,eH)&&eV(em,eb,eH);return ew(em,eb),em},eC=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.SECP256k1KeyChain=em.SECP256k1KeyPair=void 0;let eT=eH(48764),e_=eM(eH(86266)),eS=eC(eH(23482)),eE=eC(eH(89734)),eA=eH(47469),eN=eH(77556),eI=eH(3079),eD=e_.ec,eP=new eD("secp256k1"),eO=eP.curve,eR=eO.n.constructor,eB=eE.default.getInstance(),eF=eI.Serialization.getInstance();class ej extends eA.StandardKeyPair{constructor(eb,em){super(),this.chainID="",this.hrp="",this.chainID=em,this.hrp=eb,this.generateKey()}_sigFromSigBuffer(eb){let em=new eR(eB.copyFrom(eb,0,32)),eH=new eR(eB.copyFrom(eb,32,64)),eV=eB.copyFrom(eb,64,65).readUIntBE(0,1),ew={r:em,s:eH,recoveryParam:eV};return ew}generateKey(){this.keypair=eP.genKeyPair(),this.privk=eT.Buffer.from(this.keypair.getPrivate("hex").padStart(64,"0"),"hex"),this.pubk=eT.Buffer.from(this.keypair.getPublic(!0,"hex").padStart(66,"0"),"hex")}importKey(eb){this.keypair=eP.keyFromPrivate(eb.toString("hex"),"hex");try{return this.privk=eT.Buffer.from(this.keypair.getPrivate("hex").padStart(64,"0"),"hex"),this.pubk=eT.Buffer.from(this.keypair.getPublic(!0,"hex").padStart(66,"0"),"hex"),!0}catch(eb){return!1}}getAddress(){return ej.addressFromPublicKey(this.pubk)}getAddressString(){let eb=ej.addressFromPublicKey(this.pubk),em="bech32";return eF.bufferToType(eb,em,this.hrp,this.chainID)}static addressFromPublicKey(eb){if(65===eb.length&&(eb=eT.Buffer.from(eP.keyFromPublic(eb).getPublic(!0,"hex").padStart(66,"0"),"hex")),33===eb.length){let em=eT.Buffer.from((0,eS.default)("sha256").update(eb).digest()),eH=eT.Buffer.from((0,eS.default)("ripemd160").update(em).digest());return eH}throw new eN.PublicKeyError("Unable to make address.")}getPrivateKeyString(){return`PrivateKey-${eB.cb58Encode(this.privk)}`}getPublicKeyString(){return eB.cb58Encode(this.pubk)}sign(eb){let em=this.keypair.sign(eb,void 0,{canonical:!0}),eH=eT.Buffer.alloc(1);eH.writeUInt8(em.recoveryParam,0);let eV=eT.Buffer.from(em.r.toArray("be",32)),ew=eT.Buffer.from(em.s.toArray("be",32)),eM=eT.Buffer.concat([eV,ew,eH],65);return eM}verify(eb,em){let eH=this._sigFromSigBuffer(em);return eP.verify(eb,eH,this.keypair)}recover(eb,em){let eH=this._sigFromSigBuffer(em),eV=eP.recoverPubKey(eb,eH,eH.recoveryParam);return eT.Buffer.from(eV.encodeCompressed())}getChainID(){return this.chainID}setChainID(eb){this.chainID=eb}getHRP(){return this.hrp}setHRP(eb){this.hrp=eb}}em.SECP256k1KeyPair=ej;class eU extends eA.StandardKeyChain{addKey(eb){super.addKey(eb)}}em.SECP256k1KeyChain=eU},21616:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.StandardTx=em.StandardUnsignedTx=em.StandardBaseTx=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eV(eH(13550)),eT=eH(7451),e_=eH(49009),eS=eH(89858),eE=eH(48984),eA=eM.default.getInstance(),eN=eE.Serialization.getInstance(),eI="cb58",eD="hex",eP="decimalString",eO="Buffer";class eR extends eE.Serializable{constructor(eb=eS.DefaultNetworkID,em=ew.Buffer.alloc(32,16),eH,eV,eM){super(),this._typeName="StandardBaseTx",this._typeID=void 0,this.networkID=ew.Buffer.alloc(4),this.blockchainID=ew.Buffer.alloc(32),this.numouts=ew.Buffer.alloc(4),this.numins=ew.Buffer.alloc(4),this.memo=ew.Buffer.alloc(0),this.networkID.writeUInt32BE(eb,0),this.blockchainID=em,void 0!==eM&&(this.memo=eM),void 0!==eV&&void 0!==eH&&(this.numouts.writeUInt32BE(eH.length,0),this.outs=eH.sort(e_.StandardTransferableOutput.comparator()),this.numins.writeUInt32BE(eV.length,0),this.ins=eV.sort(eT.StandardTransferableInput.comparator()))}serialize(eb="hex"){let em=super.serialize(eb);return Object.assign(Object.assign({},em),{networkID:eN.encoder(this.networkID,eb,eO,eP),blockchainID:eN.encoder(this.blockchainID,eb,eO,eI),outs:this.outs.map(em=>em.serialize(eb)),ins:this.ins.map(em=>em.serialize(eb)),memo:eN.encoder(this.memo,eb,eO,eD)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.networkID=eN.decoder(eb.networkID,em,eP,eO,4),this.blockchainID=eN.decoder(eb.blockchainID,em,eI,eO,32),this.memo=eN.decoder(eb.memo,em,eD,eO)}getNetworkID(){return this.networkID.readUInt32BE(0)}getBlockchainID(){return this.blockchainID}getMemo(){return this.memo}toBuffer(){this.outs.sort(e_.StandardTransferableOutput.comparator()),this.ins.sort(eT.StandardTransferableInput.comparator()),this.numouts.writeUInt32BE(this.outs.length,0),this.numins.writeUInt32BE(this.ins.length,0);let eb=this.networkID.length+this.blockchainID.length+this.numouts.length,em=[this.networkID,this.blockchainID,this.numouts];for(let eH=0;eHem.serialize(eb))})}getCredentials(){return this.credentials}getUnsignedTx(){return this.unsignedTx}toBuffer(){let eb=this.unsignedTx.getTransaction(),em=eb.getCodecID(),eH=this.unsignedTx.toBuffer(),eV=eH.length,eM=ew.Buffer.alloc(4);eM.writeUInt32BE(this.credentials.length,0);let eC=[eH,eM];eV+=eM.length;for(let eb=0;ebthis.codecID.readUInt8(0),this.getCodecIDBuffer=()=>this.codecID,this.getTxID=()=>this.txid,this.getOutputIdx=()=>this.outputidx,this.getAssetID=()=>this.assetID,this.getUTXOID=()=>eA.bufferToB58(ew.Buffer.concat([this.getTxID(),this.getOutputIdx()])),this.getOutput=()=>this.output,void 0!==eb&&this.codecID.writeUInt8(eb,0),void 0!==em&&(this.txid=em),"number"==typeof eH?this.outputidx.writeUInt32BE(eH,0):eH instanceof ew.Buffer&&(this.outputidx=eH),void 0!==eV&&(this.assetID=eV),void 0!==eM&&(this.output=eM)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{codecID:eN.encoder(this.codecID,eb,"Buffer","decimalString"),txid:eN.encoder(this.txid,eb,"Buffer","cb58"),outputidx:eN.encoder(this.outputidx,eb,"Buffer","decimalString"),assetID:eN.encoder(this.assetID,eb,"Buffer","cb58"),output:this.output.serialize(eb)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.codecID=eN.decoder(eb.codecID,em,"decimalString","Buffer",2),this.txid=eN.decoder(eb.txid,em,"cb58","Buffer",32),this.outputidx=eN.decoder(eb.outputidx,em,"decimalString","Buffer",4),this.assetID=eN.decoder(eb.assetID,em,"cb58","Buffer",32)}toBuffer(){let eb=this.output.toBuffer(),em=ew.Buffer.alloc(4);em.writeUInt32BE(this.output.getOutputID(),0);let eH=[this.codecID,this.txid,this.outputidx,this.assetID,em,eb];return ew.Buffer.concat(eH,this.codecID.length+this.txid.length+this.outputidx.length+this.assetID.length+em.length+eb.length)}}em.StandardUTXO=eI;class eD extends eS.Serializable{constructor(){super(...arguments),this._typeName="StandardUTXOSet",this._typeID=void 0,this.utxos={},this.addressUTXOs={},this.includes=eb=>{let em,eH;try{eH=(em=this.parseUTXO(eb)).getUTXOID()}catch(eb){return eb instanceof Error?console.log(eb.message):console.log(eb),!1}return eH in this.utxos},this.remove=eb=>{let em;try{em=this.parseUTXO(eb)}catch(eb){eb instanceof Error?console.log(eb.message):console.log(eb);return}let eH=em.getUTXOID();if(!(eH in this.utxos))return;delete this.utxos[`${eH}`];let eV=Object.keys(this.addressUTXOs);for(let eb=0;eb{let em=[];for(let eH=0;eHthis.utxos[`${eb}`],this.getAllUTXOs=eb=>void 0!==eb&&Array.isArray(eb)?eb.filter(eb=>this.utxos[`${eb}`]).map(eb=>this.utxos[`${eb}`]):Object.values(this.utxos),this.getAllUTXOStrings=eb=>{let em=[],eH=Object.keys(this.utxos);if(void 0!==eb&&Array.isArray(eb))for(let eH=0;eH{if(void 0!==eb){let eH=[],eV=(0,e_.UnixNow)();for(let ew=0;ewObject.keys(this.addressUTXOs).map(eb=>ew.Buffer.from(eb,"hex")),this.getBalance=(eb,em,eH)=>{let eV;let ew=this.getUTXOIDs(eb),eM=this.getAllUTXOs(ew),e_=new eC.default(0);eV="string"==typeof em?eA.cb58Decode(em):em;for(let em=0;em{let em=new Set,eH=[];eH=void 0!==eb?this.getUTXOIDs(eb):this.getUTXOIDs();for(let eb=0;eb{let eH=this.create(),eV=this.getAllUTXOs(em),ew=eb.getAllUTXOs(em),eM=eb=>{eH.add(eb)};return eV.forEach(eM),ew.forEach(eM),eH},this.intersection=eb=>{let em=this.getUTXOIDs(),eH=eb.getUTXOIDs(),eV=em.filter(eb=>eH.includes(eb));return this.merge(eb,eV)},this.difference=eb=>{let em=this.getUTXOIDs(),eH=eb.getUTXOIDs(),eV=em.filter(eb=>!eH.includes(eb));return this.merge(eb,eV)},this.symDifference=eb=>{let em=this.getUTXOIDs(),eH=eb.getUTXOIDs(),eV=em.filter(eb=>!eH.includes(eb)).concat(eH.filter(eb=>!em.includes(eb)));return this.merge(eb,eV)},this.union=eb=>this.merge(eb),this.mergeByRule=(eb,em)=>{let eH;switch(em){case"intersection":return this.intersection(eb);case"differenceSelf":return this.difference(eb);case"differenceNew":return eb.difference(this);case"symDifference":return this.symDifference(eb);case"union":return this.union(eb);case"unionMinusNew":return(eH=this.union(eb)).difference(eb);case"unionMinusSelf":return(eH=this.union(eb)).difference(this);default:throw new eE.MergeRuleError("Error - StandardUTXOSet.mergeByRule: bad MergeRule")}}}serialize(eb="hex"){let em=super.serialize(eb),eH={};for(let em in this.utxos)eH[`${eN.encoder(em,eb,"base58","base58")}`]=this.utxos[`${em}`].serialize(eb);let eV={};for(let em in this.addressUTXOs){let eH=eN.encoder(em,eb,"hex","cb58"),ew={};for(let eH in this.addressUTXOs[`${em}`])ew[`${eN.encoder(eH,eb,"base58","base58")}`]=eN.encoder(this.addressUTXOs[`${em}`][`${eH}`],eb,"BN","decimalString");eV[`${eH}`]=ew}return Object.assign(Object.assign({},em),{utxos:eH,addressUTXOs:eV})}add(eb,em=!1){let eH;try{eH=this.parseUTXO(eb)}catch(eb){eb instanceof Error?console.log(eb.message):console.log(eb);return}let eV=eH.getUTXOID();if(!(eV in this.utxos)||!0===em){this.utxos[`${eV}`]=eH;let eb=eH.getOutput().getAddresses(),em=eH.getOutput().getLocktime();for(let eH=0;eHthis.apis.admin,this.Auth=()=>this.apis.auth,this.CChain=()=>this.apis.cchain,this.XChain=()=>this.apis.xchain,this.Health=()=>this.apis.health,this.Index=()=>this.apis.index,this.Info=()=>this.apis.info,this.Metrics=()=>this.apis.metrics,this.NodeKeys=()=>this.apis.keystore,this.PChain=()=>this.apis.pchain;let eN=ew,eI=eM;void 0!==ew&&ew&&"x"!==ew.toLowerCase()||(eN=eV.toString() in eU.Defaults.network?eU.Defaults.network[`${eV}`].X.blockchainID:eU.Defaults.network[12345].X.blockchainID),void 0!==eM&&eM&&"c"!==eM.toLowerCase()||(eI=eV.toString() in eU.Defaults.network?eU.Defaults.network[`${eV}`].C.blockchainID:eU.Defaults.network[12345].C.blockchainID),"number"==typeof eV&&eV>=0?this.networkID=eV:void 0===eV&&(eV=eU.DefaultNetworkID),void 0!==eC?this.hrp=eC:this.hrp=(0,e$.getPreferredHRP)(this.networkID),eT||(this.addAPI("admin",e_.AdminAPI),this.addAPI("auth",eS.AuthAPI),this.addAPI("xchain",eE.AVMAPI,"/ext/bc/X",eN),this.addAPI("cchain",eA.EVMAPI,"/ext/bc/C/avax",eI),this.addAPI("health",eD.HealthAPI),this.addAPI("info",eO.InfoAPI),this.addAPI("index",eP.IndexAPI),this.addAPI("keystore",eR.KeystoreAPI),this.addAPI("metrics",eB.MetricsAPI),this.addAPI("pchain",eF.PlatformVMAPI))}}em.default=eQ,em.Avalanche=eQ,em.admin=eM(eH(87580)),em.auth=eM(eH(18493)),em.avm=eM(eH(74294)),em.common=eM(eH(1958)),em.evm=eM(eH(36969)),em.health=eM(eH(64814)),em.index=eM(eH(40996)),em.info=eM(eH(75436)),em.keystore=eM(eH(67769)),em.metrics=eM(eH(67833)),em.platformvm=eM(eH(39205)),em.utils=eM(eH(3079))},70438:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Base58=void 0;let ew=eV(eH(13550)),eM=eH(48764),eC=eH(77556);class eT{constructor(){this.b58alphabet="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",this.alphabetIdx0="1",this.b58=[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,255,255,255,255,255,255,255,9,10,11,12,13,14,15,16,255,17,18,19,20,21,255,22,23,24,25,26,27,28,29,30,31,32,255,255,255,255,255,255,33,34,35,36,37,38,39,40,41,42,43,255,44,45,46,47,48,49,50,51,52,53,54,55,56,57,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],this.big58Radix=new ew.default(58),this.bigZero=new ew.default(0),this.encode=eb=>{let em=new ew.default(eb.toString("hex"),"hex","be"),eH="";for(;em.cmp(this.bigZero)>0;){let eb=em.mod(this.big58Radix);em=em.div(this.big58Radix),eH+=this.b58alphabet[eb.toNumber()]}for(let em=0;em{let em;let eH=new ew.default(0),eV=new ew.default(1);for(let em=eb.length-1;em>=0;em--){let eM=this.b58[eb.charCodeAt(em)];if(255===eM)throw new eC.Base58Error("Error - Base58.decode: not a valid base58 string");let eT=new ew.default(eM);eT.imul(eV),eH.iadd(eT),eV.imul(this.big58Radix)}let eT=eH.toString("hex");eT=eT.length%2?`0${eT}`:eT;let e_=eM.Buffer.from(eT,"hex");for(em=0;em{let em=eb.trim().split("-");if(2!==em.length)return!1;try{eE.bech32.fromWords(eE.bech32.decode(em[1]).words)}catch(eb){return!1}return!0},this.bufferToString=eb=>this.copyFrom(eb,2).toString("utf8"),this.stringToBuffer=eb=>{let em=e_.Buffer.alloc(2+eb.length);return em.writeUInt16BE(eb.length,0),em.write(eb,2,eb.length,"utf8"),em},this.copyFrom=(eb,em=0,eH)=>(void 0===eH&&(eH=eb.length),e_.Buffer.from(Uint8Array.prototype.slice.call(eb.slice(em,eH)))),this.bufferToB58=eb=>this.b58.encode(eb),this.b58ToBuffer=eb=>this.b58.decode(eb),this.fromBufferToArrayBuffer=eb=>{let em=new ArrayBuffer(eb.length),eH=new Uint8Array(em);for(let em=0;em{let em=e_.Buffer.alloc(eb.byteLength);for(let eH=0;eH{if(void 0!==eb)return new eT.default(eb.toString("hex"),16,"be")},this.fromBNToBuffer=(eb,em)=>{if(void 0===eb)return;let eH=eb.toArray("be");if(em){let eb=em-eH.length;for(let em=0;em{let em=e_.Buffer.from((0,eS.default)("sha256").update(eb).digest().slice(28));return e_.Buffer.concat([eb,em])},this.validateChecksum=eb=>{let em=eb.slice(eb.length-4),eH=e_.Buffer.from((0,eS.default)("sha256").update(eb.slice(0,eb.length-4)).digest().slice(28));return em.toString("hex")===eH.toString("hex")},this.cb58Encode=eb=>{let em=this.addChecksum(eb);return this.bufferToB58(em)},this.cb58Decode=eb=>{if("string"==typeof eb&&(eb=this.b58ToBuffer(eb)),this.validateChecksum(eb))return this.copyFrom(eb,0,eb.length-4);throw new eN.ChecksumError("Error - BinTools.cb58Decode: invalid checksum")},this.cb58DecodeWithChecksum=eb=>{if("string"==typeof eb&&(eb=this.b58ToBuffer(eb)),this.validateChecksum(eb))return`0x${this.copyFrom(eb,0,eb.length).toString("hex")}`;throw new eN.ChecksumError("Error - BinTools.cb58Decode: invalid checksum")},this.addressToString=(eb,em,eH)=>`${em}-${eE.bech32.encode(eb,eE.bech32.toWords(eH))}`,this.stringToAddress=(eb,em)=>{if("0x"===eb.substring(0,2)){if(eI.utils.isAddress(eb))return e_.Buffer.from(eb.substring(2),"hex");throw new eN.HexError("Error - Invalid address")}let eH=eb.trim().split("-");if(eH.length<2)throw new eN.Bech32Error("Error - Valid address should include -");if(eH[0].length<1)throw new eN.Bech32Error("Error - Valid address must have prefix before -");let eV=eH[1].lastIndexOf("1");if(eV<0)throw new eN.Bech32Error("Error - Valid address must include separator (1)");let ew=eH[1].slice(0,eV);if(ew.length<1)throw new eN.Bech32Error("Error - HRP should be at least 1 character");if("avax"!==ew&&"fuji"!==ew&&"local"!=ew&&"custom"!=ew&&ew!=em)throw new eN.Bech32Error("Error - Invalid HRP");return e_.Buffer.from(eE.bech32.fromWords(eE.bech32.decode(eH[1]).words))},this.parseAddress=(eb,em,eH,eV=20)=>{let ew=eb.split("-");if(2===ew.length&&(eH&&ew[0]===eH||em&&ew[0]===em)){let em=this.stringToAddress(eb);if(eV&&em.length===eV||!eV)return em}},this.b58=eA.Base58.getInstance()}static getInstance(){return eD.instance||(eD.instance=new eD),eD.instance}isBase64(eb){if(""===eb||""===eb.trim())return!1;try{return e_.Buffer.from(eb,"base64").toString("base64")===eb}catch(eb){return!1}}isCB58(eb){return this.isBase58(eb)}isBase58(eb){if(""===eb||""===eb.trim())return!1;try{return this.b58.encode(this.b58.decode(eb))===eb}catch(eb){return!1}}isHex(eb){if(""===eb||""===eb.trim())return!1;let em=eb.startsWith("0x"),eH=em?eb.slice(2).match(/[0-9A-Fa-f]/g):eb.match(/[0-9A-Fa-f]/g);return!!em&&eb.length-2==eH.length||eb.length==eH.length}isDecimal(eb){if(""===eb||""===eb.trim())return!1;try{return new eT.default(eb,10).toString(10)===eb.trim()}catch(eb){return!1}}}em.default=eD},89858:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Defaults=em.AVAXSTAKECAP=em.AVAXGWEI=em.GWEI=em.WEI=em.NANOAVAX=em.MICROAVAX=em.MILLIAVAX=em.CENTIAVAX=em.DECIAVAX=em.ONEAVAX=em.mnemonic=em.DefaultEVMLocalGenesisAddress=em.DefaultEVMLocalGenesisPrivateKey=em.DefaultLocalGenesisPrivateKey=em.PChainVMName=em.CChainVMName=em.XChainVMName=em.PChainAlias=em.CChainAlias=em.XChainAlias=em.PrimaryNetworkID=em.PlatformChainID=em.DefaultNetworkID=em.FallbackEVMChainID=em.FallbackNetworkName=em.FallbackHRP=em.NetworkNameToNetworkID=em.NetworkIDToNetworkNames=em.HRPToNetworkID=em.NetworkIDToHRP=em.FujiAPI=em.MainnetAPI=em.PrimaryAssetAlias=em.NodeIDPrefix=em.PrivateKeyPrefix=void 0;let ew=eV(eH(13550));em.PrivateKeyPrefix="PrivateKey-",em.NodeIDPrefix="NodeID-",em.PrimaryAssetAlias="AVAX",em.MainnetAPI="api.avax.network",em.FujiAPI="api.avax-test.network",em.NetworkIDToHRP={0:"custom",1:"avax",2:"cascade",3:"denali",4:"everest",5:"fuji",1337:"custom",12345:"local"},em.HRPToNetworkID={manhattan:0,avax:1,cascade:2,denali:3,everest:4,fuji:5,custom:1337,local:12345},em.NetworkIDToNetworkNames={0:["Manhattan"],1:["Avalanche","Mainnet"],2:["Cascade"],3:["Denali"],4:["Everest"],5:["Fuji","Testnet"],1337:["Custom Network"],12345:["Local Network"]},em.NetworkNameToNetworkID={Manhattan:0,Avalanche:1,Mainnet:1,Cascade:2,Denali:3,Everest:4,Fuji:5,Testnet:5,Custom:1337,"Custom Network":1337,Local:12345,"Local Network":12345},em.FallbackHRP="custom",em.FallbackNetworkName="Custom Network",em.FallbackEVMChainID=43112,em.DefaultNetworkID=1,em.PlatformChainID="11111111111111111111111111111111LpoYY",em.PrimaryNetworkID="11111111111111111111111111111111LpoYY",em.XChainAlias="X",em.CChainAlias="C",em.PChainAlias="P",em.XChainVMName="avm",em.CChainVMName="evm",em.PChainVMName="platformvm",em.DefaultLocalGenesisPrivateKey="ewoqjP7PxY4yr3iLTpLisriqt94hdyDFNgchSxGGztUrTXtNN",em.DefaultEVMLocalGenesisPrivateKey="0x56289e99c94b6912bfc12adc093c9b51124f0dc54ac7a766b2bc5ccf558d8027",em.DefaultEVMLocalGenesisAddress="0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC",em.mnemonic="output tooth keep tooth bracket fox city sustain blood raise install pond stem reject long scene clap gloom purpose mean music piece unknown light",em.ONEAVAX=new ew.default(1e9),em.DECIAVAX=em.ONEAVAX.div(new ew.default(10)),em.CENTIAVAX=em.ONEAVAX.div(new ew.default(100)),em.MILLIAVAX=em.ONEAVAX.div(new ew.default(1e3)),em.MICROAVAX=em.ONEAVAX.div(new ew.default(1e6)),em.NANOAVAX=em.ONEAVAX.div(new ew.default(1e9)),em.WEI=new ew.default(1),em.GWEI=em.WEI.mul(new ew.default(1e9)),em.AVAXGWEI=em.NANOAVAX.clone(),em.AVAXSTAKECAP=em.ONEAVAX.mul(new ew.default(3e6));let eM={blockchainID:"2vrXWHgGxh5n3YsLHMV16YVVJTpT4z45Fmb4y3bL6si8kLCyg9",alias:em.XChainAlias,vm:em.XChainVMName,fee:em.MILLIAVAX,creationTxFee:em.CENTIAVAX,mintTxFee:em.MILLIAVAX},eC={blockchainID:em.PlatformChainID,alias:em.PChainAlias,vm:em.PChainVMName,fee:em.MILLIAVAX,creationTxFee:em.CENTIAVAX,createSubnetTx:em.ONEAVAX,createChainTx:em.ONEAVAX,minConsumption:.1,maxConsumption:.12,maxStakingDuration:new ew.default(31536e3),maxSupply:new ew.default(72e7).mul(em.ONEAVAX),minStake:em.ONEAVAX.mul(new ew.default(2e3)),minStakeDuration:1209600,maxStakeDuration:31536e3,minDelegationStake:em.ONEAVAX.mul(new ew.default(25)),minDelegationFee:new ew.default(2)},eT={blockchainID:"2fFZQibQXcd6LTE4rpBPBAkLVXFE91Kit8pgxaBG1mRnh5xqbb",alias:em.CChainAlias,vm:em.CChainVMName,fee:em.MILLIAVAX,gasPrice:em.GWEI.mul(new ew.default(470)),chainID:43111},e_="FvwEAhmxKfeiG8SnEvq42hc6whRyY3EFYAvebMqDNDGCgxN5Z",eS={blockchainID:"2oYMBNV4eNHyqk2fjjV5nVQLDbtmNJzq5s3qs3Lo6ftnC6FByM",avaxAssetID:e_,alias:em.XChainAlias,vm:em.XChainVMName,txFee:em.MILLIAVAX,creationTxFee:em.CENTIAVAX,mintTxFee:em.MILLIAVAX},eE={blockchainID:em.PlatformChainID,avaxAssetID:e_,alias:em.PChainAlias,vm:em.PChainVMName,txFee:em.MILLIAVAX,createSubnetTx:em.ONEAVAX,createChainTx:em.ONEAVAX,creationTxFee:em.CENTIAVAX,minConsumption:.1,maxConsumption:.12,maxStakingDuration:new ew.default(31536e3),maxSupply:new ew.default(72e7).mul(em.ONEAVAX),minStake:em.ONEAVAX.mul(new ew.default(2e3)),minStakeDuration:1209600,maxStakeDuration:31536e3,minDelegationStake:em.ONEAVAX.mul(new ew.default(25)),minDelegationFee:new ew.default(2)},eA={blockchainID:"2q9e4r6Mu3U68nU1fYjgbR6JvwrRx36CohpAX5UQxse55x1Q5",alias:em.CChainAlias,vm:em.CChainVMName,txBytesGas:1,costPerSignature:1e3,txFee:em.MILLIAVAX,gasPrice:em.GWEI.mul(new ew.default(225)),minGasPrice:em.GWEI.mul(new ew.default(25)),maxGasPrice:em.GWEI.mul(new ew.default(1e3)),chainID:43114},eN={blockchainID:"4ktRjsAKxgMr2aEzv9SWmrU7Xk5FniHUrVCX4P1TZSfTLZWFM",alias:em.XChainAlias,vm:em.XChainVMName,txFee:0,creationTxFee:0,mintTxFee:new ew.default(0)},eI={blockchainID:em.PlatformChainID,alias:em.PChainAlias,vm:em.PChainVMName,txFee:0,creationTxFee:0,createSubnetTx:em.ONEAVAX,createChainTx:em.ONEAVAX,minConsumption:.1,maxConsumption:.12,maxStakingDuration:new ew.default(31536e3),maxSupply:new ew.default(72e7).mul(em.ONEAVAX),minStake:em.ONEAVAX.mul(new ew.default(2e3)),minStakeDuration:1209600,maxStakeDuration:31536e3,minDelegationStake:em.ONEAVAX.mul(new ew.default(25)),minDelegationFee:new ew.default(2)},eD={blockchainID:"2mUYSXfLrDtigwbzj1LxKVsHwELghc5sisoXrzJwLqAAQHF4i",alias:em.CChainAlias,vm:em.CChainVMName,gasPrice:0},eP={blockchainID:"rrEWX7gc7D9mwcdrdBxBTdqh1a7WDVsMuadhTZgyXfFcRz45L",alias:em.XChainAlias,vm:em.XChainVMName,txFee:0,creationTxFee:0,mintTxFee:new ew.default(0)},eO={blockchainID:"",alias:em.PChainAlias,vm:em.PChainVMName,txFee:0,creationTxFee:0,createSubnetTx:em.ONEAVAX,createChainTx:em.ONEAVAX,minConsumption:.1,maxConsumption:.12,maxStakingDuration:new ew.default(31536e3),maxSupply:new ew.default(72e7).mul(em.ONEAVAX),minStake:em.ONEAVAX.mul(new ew.default(2e3)),minStakeDuration:1209600,maxStakeDuration:31536e3,minDelegationStake:em.ONEAVAX.mul(new ew.default(25)),minDelegationFee:new ew.default(2)},eR={blockchainID:"zJytnh96Pc8rM337bBrtMvJDbEdDNjcXG3WkTNCiLp18ergm9",alias:em.CChainAlias,vm:em.CChainVMName,gasPrice:0},eB={blockchainID:"jnUjZSRt16TcRnZzmh5aMhavwVHz3zBrSN8GfFMTQkzUnoBxC",alias:em.XChainAlias,vm:em.XChainVMName,txFee:em.MILLIAVAX,creationTxFee:em.CENTIAVAX,mintTxFee:em.MILLIAVAX},eF={blockchainID:em.PlatformChainID,alias:em.PChainAlias,vm:em.PChainVMName,txFee:em.MILLIAVAX,creationTxFee:em.CENTIAVAX,createSubnetTx:em.ONEAVAX,createChainTx:em.ONEAVAX,minConsumption:.1,maxConsumption:.12,maxStakingDuration:new ew.default(31536e3),maxSupply:new ew.default(72e7).mul(em.ONEAVAX),minStake:em.ONEAVAX.mul(new ew.default(2e3)),minStakeDuration:1209600,maxStakeDuration:31536e3,minDelegationStake:em.ONEAVAX.mul(new ew.default(25)),minDelegationFee:new ew.default(2)},ej={blockchainID:"saMG5YgNsFxzjz4NMkEkt3bAH6hVxWdZkWcEnGB3Z15pcAmsK",alias:em.CChainAlias,vm:em.CChainVMName,gasPrice:em.GWEI.mul(new ew.default(470)),chainID:43110};e_="U8iRqJoiJm8xZHAacmvYyZVwqQx6uDNtQeP3CQ6fcgQk3JqnK";let eU={blockchainID:"2JVSBoinj9C2J33VntvzYtVJNZdN2NKiwwKjcumHUWEb5DbBrm",avaxAssetID:e_,alias:em.XChainAlias,vm:em.XChainVMName,txFee:em.MILLIAVAX,creationTxFee:em.CENTIAVAX,mintTxFee:em.MILLIAVAX},e$={blockchainID:em.PlatformChainID,avaxAssetID:e_,alias:em.PChainAlias,vm:em.PChainVMName,txFee:em.MILLIAVAX,creationTxFee:em.CENTIAVAX,createSubnetTx:em.ONEAVAX,createChainTx:em.ONEAVAX,minConsumption:.1,maxConsumption:.12,maxStakingDuration:new ew.default(31536e3),maxSupply:new ew.default(72e7).mul(em.ONEAVAX),minStake:em.ONEAVAX,minStakeDuration:86400,maxStakeDuration:31536e3,minDelegationStake:em.ONEAVAX,minDelegationFee:new ew.default(2)},eW={blockchainID:"yH8D7ThNJkxmtkuv2jgBa4P1Rn3Qpr4pPr7QYNfcdoS6k6HWp",alias:em.CChainAlias,vm:em.CChainVMName,txBytesGas:1,costPerSignature:1e3,txFee:em.MILLIAVAX,gasPrice:em.GWEI.mul(new ew.default(225)),minGasPrice:em.GWEI.mul(new ew.default(25)),maxGasPrice:em.GWEI.mul(new ew.default(1e3)),chainID:43113};e_="BUuypiq2wyuLMvyhzFXcPyxPMCgSp7eeDohhQRqTChoBjKziC";let eZ=Object.assign({},eU);eZ.blockchainID="qzfF3A11KzpcHkkqznEyQgupQrCNS6WV6fTUTwZpEKqhj1QE7",eZ.avaxAssetID=e_;let eG=Object.assign({},e$);eG.blockchainID=em.PlatformChainID;let eK=Object.assign({},eW);eK.blockchainID="BR28ypgLATNS6PbtHMiJ7NQ61vfpT27Hj8tAcZ1AHsfU5cz88",eK.avaxAssetID=e_,eK.chainID=43112,e_="2fombhL7aGPwj3KH4bfrmJwW6PVnMobf9Y2fn9GwxiAAJyFDbe";let eY=Object.assign({},eU);eY.blockchainID="2eNy1mUFdmaxXNj1eQHUe7Np4gju9sJsEtWQ4MX3ToiNKuADed",eY.avaxAssetID=e_;let eX=Object.assign({},e$);eX.blockchainID=em.PlatformChainID;let eJ=Object.assign({},eW);eJ.blockchainID="2CA6j5zYzasynPsFeNoqWkmTCt3VScMvXUZHbfDJ8k3oGzAPtU",eJ.avaxAssetID=e_,eJ.chainID=43112;class eQ{}em.Defaults=eQ,eQ.network={0:{hrp:em.NetworkIDToHRP[0],X:eM,"2vrXWHgGxh5n3YsLHMV16YVVJTpT4z45Fmb4y3bL6si8kLCyg9":eM,P:eC,"11111111111111111111111111111111LpoYY":eC,C:eT,"2fFZQibQXcd6LTE4rpBPBAkLVXFE91Kit8pgxaBG1mRnh5xqbb":eT},1:{hrp:em.NetworkIDToHRP[1],X:eS,"2oYMBNV4eNHyqk2fjjV5nVQLDbtmNJzq5s3qs3Lo6ftnC6FByM":eS,P:eE,"11111111111111111111111111111111LpoYY":eE,C:eA,"2q9e4r6Mu3U68nU1fYjgbR6JvwrRx36CohpAX5UQxse55x1Q5":eA},2:{hrp:em.NetworkIDToHRP[2],X:eN,"4ktRjsAKxgMr2aEzv9SWmrU7Xk5FniHUrVCX4P1TZSfTLZWFM":eN,P:eI,"11111111111111111111111111111111LpoYY":eI,C:eD,"2mUYSXfLrDtigwbzj1LxKVsHwELghc5sisoXrzJwLqAAQHF4i":eD},3:{hrp:em.NetworkIDToHRP[3],X:eP,rrEWX7gc7D9mwcdrdBxBTdqh1a7WDVsMuadhTZgyXfFcRz45L:eP,P:eO,"11111111111111111111111111111111LpoYY":eO,C:eR,zJytnh96Pc8rM337bBrtMvJDbEdDNjcXG3WkTNCiLp18ergm9:eR},4:{hrp:em.NetworkIDToHRP[4],X:eB,jnUjZSRt16TcRnZzmh5aMhavwVHz3zBrSN8GfFMTQkzUnoBxC:eB,P:eF,"11111111111111111111111111111111LpoYY":eF,C:ej,saMG5YgNsFxzjz4NMkEkt3bAH6hVxWdZkWcEnGB3Z15pcAmsK:ej},5:{hrp:em.NetworkIDToHRP[5],X:eU,"2JVSBoinj9C2J33VntvzYtVJNZdN2NKiwwKjcumHUWEb5DbBrm":eU,P:e$,"11111111111111111111111111111111LpoYY":e$,C:eW,yH8D7ThNJkxmtkuv2jgBa4P1Rn3Qpr4pPr7QYNfcdoS6k6HWp:eW},1337:{hrp:em.NetworkIDToHRP[1337],X:eZ,qzfF3A11KzpcHkkqznEyQgupQrCNS6WV6fTUTwZpEKqhj1QE7:eZ,P:eG,"11111111111111111111111111111111LpoYY":eG,C:eK,BR28ypgLATNS6PbtHMiJ7NQ61vfpT27Hj8tAcZ1AHsfU5cz88:eK},12345:{hrp:em.NetworkIDToHRP[12345],X:eY,"2eNy1mUFdmaxXNj1eQHUe7Np4gju9sJsEtWQ4MX3ToiNKuADed":eY,P:eX,"11111111111111111111111111111111LpoYY":eX,C:eJ,"2CA6j5zYzasynPsFeNoqWkmTCt3VScMvXUZHbfDJ8k3oGzAPtU":eJ}}},82060:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0});let ew=eV(eH(11860));class eM{constructor(){}static getInstance(){return eM.instance||(eM.instance=new eM),eM.instance}static getNamespace(eb){return this.store.namespace(eb)}}em.default=eM,eM.store=ew.default},77556:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.SubnetAddressError=em.SubnetThresholdError=em.SubnetIdError=em.ProtocolError=em.InvalidEntropy=em.EVMFeeError=em.Bech32Error=em.UnknownTypeError=em.TypeNameError=em.TypeIdError=em.HexError=em.NodeIdError=em.PrivateKeyError=em.Base58Error=em.MergeRuleError=em.PublicKeyError=em.AddressIndexError=em.BufferSizeError=em.SubnetOwnerError=em.DelegationFeeError=em.TimeError=em.StakeError=em.FeeAssetError=em.EVMOutputError=em.EVMInputError=em.SECPMintOutputError=em.ThresholdError=em.InsufficientFundsError=em.UTXOError=em.OutputIdError=em.ChecksumError=em.InvalidOperationIdError=em.OperationError=em.InputIdError=em.TransferableInputError=em.TransferableOutputError=em.CredIdError=em.CodecIdError=em.TransactionError=em.NameError=em.SymbolError=em.NoAtomicUTXOsError=em.ChainIdError=em.GooseEggCheckError=em.AddressError=em.AvalancheError=void 0;let eH="1000",eV="1001",ew="1002",eM="1003",eC="1004",eT="1005",e_="1006",eS="1007",eE="1008",eA="1009",eN="1010",eI="1011",eD="1012",eP="1013",eO="1014",eR="1015",eB="1016",eF="1017",ej="1018",eU="1019",e$="1020",eW="1021",eZ="1022",eG="1023",eK="1024",eY="1025",eX="1026",eJ="1027",eQ="1028",e0="1029",e6="1030",e4="1031",e3="1032",e5="1033",e8="1034",e9="1035",e7="1036",tH="1037",tV="1038",tw="1039",tC="1040",tT="1041",t_="1042",tS="1043",tE="1044";class tA extends Error{constructor(eb,em){super(eb),Object.setPrototypeOf(this,tA.prototype),this.errorCode=em}getCode(){return this.errorCode}}em.AvalancheError=tA;class tN extends tA{constructor(eb){super(eb,eH),Object.setPrototypeOf(this,tN.prototype)}}em.AddressError=tN;class tI extends tA{constructor(eb){super(eb,eV),Object.setPrototypeOf(this,tI.prototype)}}em.GooseEggCheckError=tI;class tD extends tA{constructor(eb){super(eb,ew),Object.setPrototypeOf(this,tD.prototype)}}em.ChainIdError=tD;class tP extends tA{constructor(eb){super(eb,eM),Object.setPrototypeOf(this,tP.prototype)}}em.NoAtomicUTXOsError=tP;class tO extends tA{constructor(eb){super(eb,eC),Object.setPrototypeOf(this,tO.prototype)}}em.SymbolError=tO;class tR extends tA{constructor(eb){super(eb,eT),Object.setPrototypeOf(this,tR.prototype)}}em.NameError=tR;class tB extends tA{constructor(eb){super(eb,e_),Object.setPrototypeOf(this,tB.prototype)}}em.TransactionError=tB;class tF extends tA{constructor(eb){super(eb,eS),Object.setPrototypeOf(this,tF.prototype)}}em.CodecIdError=tF;class tj extends tA{constructor(eb){super(eb,eE),Object.setPrototypeOf(this,tj.prototype)}}em.CredIdError=tj;class tU extends tA{constructor(eb){super(eb,eA),Object.setPrototypeOf(this,tU.prototype)}}em.TransferableOutputError=tU;class tq extends tA{constructor(eb){super(eb,eN),Object.setPrototypeOf(this,tq.prototype)}}em.TransferableInputError=tq;class t$ extends tA{constructor(eb){super(eb,eI),Object.setPrototypeOf(this,t$.prototype)}}em.InputIdError=t$;class tW extends tA{constructor(eb){super(eb,eD),Object.setPrototypeOf(this,tW.prototype)}}em.OperationError=tW;class tZ extends tA{constructor(eb){super(eb,eP),Object.setPrototypeOf(this,tZ.prototype)}}em.InvalidOperationIdError=tZ;class tG extends tA{constructor(eb){super(eb,eO),Object.setPrototypeOf(this,tG.prototype)}}em.ChecksumError=tG;class tK extends tA{constructor(eb){super(eb,eR),Object.setPrototypeOf(this,tK.prototype)}}em.OutputIdError=tK;class tY extends tA{constructor(eb){super(eb,eB),Object.setPrototypeOf(this,tY.prototype)}}em.UTXOError=tY;class tX extends tA{constructor(eb){super(eb,eF),Object.setPrototypeOf(this,tX.prototype)}}em.InsufficientFundsError=tX;class tJ extends tA{constructor(eb){super(eb,ej),Object.setPrototypeOf(this,tJ.prototype)}}em.ThresholdError=tJ;class tQ extends tA{constructor(eb){super(eb,eU),Object.setPrototypeOf(this,tQ.prototype)}}em.SECPMintOutputError=tQ;class aH extends tA{constructor(eb){super(eb,e$),Object.setPrototypeOf(this,aH.prototype)}}em.EVMInputError=aH;class aV extends tA{constructor(eb){super(eb,eW),Object.setPrototypeOf(this,aV.prototype)}}em.EVMOutputError=aV;class aM extends tA{constructor(eb){super(eb,eZ),Object.setPrototypeOf(this,aM.prototype)}}em.FeeAssetError=aM;class aC extends tA{constructor(eb){super(eb,eG),Object.setPrototypeOf(this,aC.prototype)}}em.StakeError=aC;class ak extends tA{constructor(eb){super(eb,eK),Object.setPrototypeOf(this,ak.prototype)}}em.TimeError=ak;class a_ extends tA{constructor(eb){super(eb,eY),Object.setPrototypeOf(this,a_.prototype)}}em.DelegationFeeError=a_;class aS extends tA{constructor(eb){super(eb,eX),Object.setPrototypeOf(this,aS.prototype)}}em.SubnetOwnerError=aS;class aE extends tA{constructor(eb){super(eb,eJ),Object.setPrototypeOf(this,aE.prototype)}}em.BufferSizeError=aE;class aN extends tA{constructor(eb){super(eb,eQ),Object.setPrototypeOf(this,aN.prototype)}}em.AddressIndexError=aN;class aI extends tA{constructor(eb){super(eb,e0),Object.setPrototypeOf(this,aI.prototype)}}em.PublicKeyError=aI;class aD extends tA{constructor(eb){super(eb,e6),Object.setPrototypeOf(this,aD.prototype)}}em.MergeRuleError=aD;class aP extends tA{constructor(eb){super(eb,e4),Object.setPrototypeOf(this,aP.prototype)}}em.Base58Error=aP;class aO extends tA{constructor(eb){super(eb,e3),Object.setPrototypeOf(this,aO.prototype)}}em.PrivateKeyError=aO;class aR extends tA{constructor(eb){super(eb,e5),Object.setPrototypeOf(this,aR.prototype)}}em.NodeIdError=aR;class aF extends tA{constructor(eb){super(eb,e8),Object.setPrototypeOf(this,aF.prototype)}}em.HexError=aF;class aj extends tA{constructor(eb){super(eb,e9),Object.setPrototypeOf(this,aj.prototype)}}em.TypeIdError=aj;class aU extends tA{constructor(eb){super(eb,t_),Object.setPrototypeOf(this,aU.prototype)}}em.TypeNameError=aU;class aq extends tA{constructor(eb){super(eb,e7),Object.setPrototypeOf(this,aq.prototype)}}em.UnknownTypeError=aq;class a$ extends tA{constructor(eb){super(eb,tH),Object.setPrototypeOf(this,a$.prototype)}}em.Bech32Error=a$;class aW extends tA{constructor(eb){super(eb,tV),Object.setPrototypeOf(this,aW.prototype)}}em.EVMFeeError=aW;class aZ extends tA{constructor(eb){super(eb,tw),Object.setPrototypeOf(this,aZ.prototype)}}em.InvalidEntropy=aZ;class aG extends tA{constructor(eb){super(eb,tC),Object.setPrototypeOf(this,aG.prototype)}}em.ProtocolError=aG;class aK extends tA{constructor(eb){super(eb,tT),Object.setPrototypeOf(this,aK.prototype)}}em.SubnetIdError=aK;class aY extends tA{constructor(eb){super(eb,tS),Object.setPrototypeOf(this,aY.prototype)}}em.SubnetThresholdError=aY;class aJ extends tA{constructor(eb){super(eb,tE),Object.setPrototypeOf(this,aJ.prototype)}}em.SubnetAddressError=aJ},32413:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer,ew=this&&this.__awaiter||function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};function eM(eb){let em=new Headers(eb.headers);if(eb.auth){let eH=eb.auth.username||"",ew=eb.auth.password?encodeURIComponent(eb.auth.password):"";em.set("Authorization",`Basic ${eV.from(`${eH}:${ew}`).toString("base64")}`)}let eH=eb.method.toUpperCase(),ew={headers:em,method:eH};"GET"!==eH&&"HEAD"!==eH&&(ew.body=eb.data),eb.withCredentials&&(ew.credentials=eb.withCredentials?"include":"omit");let eM=new URL(eb.url,eb.baseURL),eC=new URLSearchParams(eb.params),eT=`${eM}${eC}`;return new Request(eT,ew)}function eC(eb,em){return ew(this,void 0,void 0,function*(){let eH;try{eH=yield fetch(eb)}catch(eV){let eH=Object.assign(Object.assign({},Error("Network Error")),{config:em,request:eb,isAxiosError:!0,toJSON:()=>eH});return Promise.reject(eH)}let eV={status:eH.status,statusText:eH.statusText,headers:Object.assign({},eH.headers),config:em,request:eb,data:void 0};if(eH.status>=200&&204!==eH.status)switch(em.responseType){case"arraybuffer":eV.data=yield eH.arrayBuffer();break;case"blob":eV.data=yield eH.blob();break;case"json":eV.data=yield eH.json();break;case"formData":eV.data=yield eH.formData();break;default:eV.data=yield eH.text()}return Promise.resolve(eV)})}function eT(eb){return ew(this,void 0,void 0,function*(){let em=eM(eb),eH=[eC(em,eb)];eb.timeout&&eb.timeout>0&&eH.push(new Promise((eH,eV)=>{setTimeout(()=>{let eH=eb.timeoutErrorMessage?eb.timeoutErrorMessage:"timeout of "+eb.timeout+"ms exceeded",ew=Object.assign(Object.assign({},Error(eH)),{config:eb,request:em,code:"ECONNABORTED",isAxiosError:!0,toJSON:()=>ew});eV(ew)},eb.timeout)}));let eV=yield Promise.race(eH);return new Promise((eH,ew)=>{if(eV instanceof Error)ew(eV);else if(!eV.status||!eV.config.validateStatus||eV.config.validateStatus(eV.status))eH(eV);else{let eH=Object.assign(Object.assign({},Error("Request failed with status code "+eV.status)),{config:eb,request:em,code:eV.status>=500?"ERR_BAD_RESPONSE":"ERR_BAD_REQUEST",isAxiosError:!0,toJSON:()=>eH});ew(eH)}})})}Object.defineProperty(em,"__esModule",{value:!0}),em.fetchAdapter=void 0,em.fetchAdapter=eT},96504:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0});let ew=eH(48764),eM=eV(eH(49840)),eC=eV(eH(89734)),eT=eC.default.getInstance();class e_{constructor(eb){"string"==typeof eb&&"xp"===eb.substring(0,2)?this.hdkey=eM.default.fromExtendedKey(eb):ew.Buffer.isBuffer(eb)?this.hdkey=eM.default.fromMasterSeed(eb):this.hdkey=eM.default.fromMasterSeed(ew.Buffer.from(eb)),this.publicKey=this.hdkey.publicKey,this.privateKey=this.hdkey.privateKey,this.privateKey?this.privateKeyCB58=`PrivateKey-${eT.cb58Encode(this.privateKey)}`:this.privateExtendedKey=null,this.chainCode=this.hdkey.chainCode,this.privateExtendedKey=this.hdkey.privateExtendedKey,this.publicExtendedKey=this.hdkey.publicExtendedKey}derive(eb){let em=this.hdkey.derive(eb);return new e_(null!=em.privateExtendedKey?em.privateExtendedKey:em.publicExtendedKey)}sign(eb){let em=this.hdkey.sign(eb);return ew.Buffer.from(em)}verify(eb,em){return this.hdkey.verify(eb,em)}wipePrivateData(){this.privateKey=null,this.privateExtendedKey=null,this.privateKeyCB58=null,this.hdkey.wipePrivateData()}}em.default=e_},3421:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.costExportTx=em.calcBytesCost=em.costImportTx=em.NodeIDStringToBuffer=em.bufferToNodeIDString=em.privateKeyStringToBuffer=em.bufferToPrivateKeyString=em.UnixNow=em.MaxWeightFormula=em.getPreferredHRP=void 0;let ew=eH(89858),eM=eV(eH(13550)),eC=eV(eH(89734)),eT=eH(77556),e_=eC.default.getInstance();function eS(eb){return eb in ew.NetworkIDToHRP?ew.NetworkIDToHRP[`${eb}`]:void 0===eb?ew.NetworkIDToHRP[`${ew.DefaultNetworkID}`]:ew.FallbackHRP}function eE(eb,em){return eM.default.min(eb.mul(new eM.default(5)),em)}function eA(){return new eM.default(Math.round(new Date().getTime()/1e3))}function eN(eb){return`PrivateKey-${e_.cb58Encode(eb)}`}function eI(eb){if(!eb.startsWith("PrivateKey-"))throw new eT.PrivateKeyError("Error - privateKeyStringToBuffer: private keys must start with 'PrivateKey-'");let em=eb.split("-");return e_.cb58Decode(em[em.length-1])}function eD(eb){return`NodeID-${e_.cb58Encode(eb)}`}function eP(eb){if(!eb.startsWith("NodeID-"))throw new eT.NodeIdError("Error - privateNodeIDToBuffer: nodeID must start with 'NodeID-'");let em=eb.split("-");return e_.cb58Decode(em[em.length-1])}function eO(eb){let em=eR(eb.toBuffer().byteLength),eH=eb.getTransaction();eH.getImportInputs().forEach(eb=>{let eH=eb.getCost();em+=eH});let eV=1e4;return em+eV}function eR(eb){return eb*ew.Defaults.network[1].C.txBytesGas}function eB(eb){let em=eR(eb.toBuffer().byteLength),eH=eb.getTransaction(),eV=eH.getInputs().length,eM=eV*ew.Defaults.network[1].C.costPerSignature,eC=1e4;return em+eM+eC}em.getPreferredHRP=eS,em.MaxWeightFormula=eE,em.UnixNow=eA,em.bufferToPrivateKeyString=eN,em.privateKeyStringToBuffer=eI,em.bufferToNodeIDString=eD,em.NodeIDStringToBuffer=eP,em.costImportTx=eO,em.calcBytesCost=eR,em.costExportTx=eB},3079:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),ew(eH(70438),em),ew(eH(89734),em),ew(eH(47764),em),ew(eH(89858),em),ew(eH(82060),em),ew(eH(77556),em),ew(eH(32413),em),ew(eH(96504),em),ew(eH(3421),em),ew(eH(77673),em),ew(eH(29858),em),ew(eH(49562),em),ew(eH(48984),em)},47764:function(eb,em,eH){"use strict";var eV=this&&this.__awaiter||function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};Object.defineProperty(em,"__esModule",{value:!0});let ew=eH(48764),eM=eH(77556),eC=eH(34333),eT=eH(61798);class e_{constructor(){this.wordlists=eC.wordlists}static getInstance(){return e_.instance||(e_.instance=new e_),e_.instance}getWordlists(eb){return void 0!==eb?this.wordlists[`${eb}`]:this.wordlists}mnemonicToSeedSync(eb,em=""){let eH=eC.mnemonicToSeedSync(eb,em);return ew.Buffer.from(eH)}mnemonicToSeed(eb,em=""){return eV(this,void 0,void 0,function*(){let eH=yield eC.mnemonicToSeed(eb,em);return ew.Buffer.from(eH)})}mnemonicToEntropy(eb,em){return eC.mnemonicToEntropy(eb,em)}entropyToMnemonic(eb,em){return eC.entropyToMnemonic(eb,em)}validateMnemonic(eb,em){return eC.validateMnemonic(eb,em)}setDefaultWordlist(eb){eC.setDefaultWordlist(eb)}getDefaultWordlist(){return eC.getDefaultWordlist()}generateMnemonic(eb,em,eH){if((eb=eb||256)%32!=0)throw new eM.InvalidEntropy("Error - Invalid entropy");return em=em||eT,eC.generateMnemonic(eb,em,eH)}}em.default=e_},77673:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.MAGNETPayload=em.ONIONPayload=em.IPFSPayload=em.URLPayload=em.EMAILPayload=em.YAMLPayload=em.JSONPayload=em.CSVPayload=em.SVGPayload=em.ICOPayload=em.BMPPayload=em.PNGPayload=em.JPEGPayload=em.SECPENCPayload=em.SECPSIGPayload=em.NODEIDPayload=em.CHAINIDPayload=em.SUBNETIDPayload=em.NFTIDPayload=em.UTXOIDPayload=em.ASSETIDPayload=em.TXIDPayload=em.cb58EncodedPayload=em.CCHAINADDRPayload=em.PCHAINADDRPayload=em.XCHAINADDRPayload=em.ChainAddressPayload=em.BIGNUMPayload=em.B64STRPayload=em.B58STRPayload=em.HEXSTRPayload=em.UTF8Payload=em.BINPayload=em.PayloadBase=em.PayloadTypes=void 0;let ew=eH(48764),eM=eV(eH(89734)),eC=eV(eH(13550)),eT=eH(77556),e_=eH(48984),eS=eM.default.getInstance(),eE=e_.Serialization.getInstance();class eA{constructor(){this.types=[],this.types=["BIN","UTF8","HEXSTR","B58STR","B64STR","BIGNUM","XCHAINADDR","PCHAINADDR","CCHAINADDR","TXID","ASSETID","UTXOID","NFTID","SUBNETID","CHAINID","NODEID","SECPSIG","SECPENC","JPEG","PNG","BMP","ICO","SVG","CSV","JSON","YAML","EMAIL","URL","IPFS","ONION","MAGNET"]}getContent(eb){let em=eS.copyFrom(eb,5);return em}getPayload(eb){let em=eS.copyFrom(eb,4);return em}getTypeID(eb){let em=4,eH=eS.copyFrom(eb,em,em+1).readUInt8(0);return eH}lookupID(eb){return this.types.indexOf(eb)}lookupType(eb){return this.types[`${eb}`]}select(eb,...em){switch(eb){case 0:return new eI(...em);case 1:return new eD(...em);case 2:return new eP(...em);case 3:return new eO(...em);case 4:return new eR(...em);case 5:return new eB(...em);case 6:return new ej(...em);case 7:return new eU(...em);case 8:return new e$(...em);case 9:return new eZ(...em);case 10:return new eG(...em);case 11:return new eK(...em);case 12:return new eY(...em);case 13:return new eX(...em);case 14:return new eJ(...em);case 15:return new eQ(...em);case 16:return new e0(...em);case 17:return new e6(...em);case 18:return new e4(...em);case 19:return new e3(...em);case 20:return new e5(...em);case 21:return new e8(...em);case 22:return new e9(...em);case 23:return new e7(...em);case 24:return new tH(...em);case 25:return new tV(...em);case 26:return new tw(...em);case 27:return new tC(...em);case 28:return new tT(...em);case 29:return new t_(...em);case 30:return new tS(...em)}throw new eT.TypeIdError(`Error - PayloadTypes.select: unknown typeid ${eb}`)}recast(eb){return this.select(eb.typeID(),eb.returnType())}static getInstance(){return eA.instance||(eA.instance=new eA),eA.instance}}em.PayloadTypes=eA;class eN{constructor(){this.payload=ew.Buffer.alloc(0),this.typeid=void 0}typeID(){return this.typeid}typeName(){return eA.getInstance().lookupType(this.typeid)}getContent(){let eb=eS.copyFrom(this.payload);return eb}getPayload(){let eb=ew.Buffer.alloc(1);eb.writeUInt8(this.typeid,0);let em=ew.Buffer.concat([eb,eS.copyFrom(this.payload)]);return em}fromBuffer(eb,em=0){let eH=eS.copyFrom(eb,em,em+4).readUInt32BE(0);return em+=4,this.typeid=eS.copyFrom(eb,em,em+1).readUInt8(0),em+=1,this.payload=eS.copyFrom(eb,em,em+eH-1),em+=eH-1}toBuffer(){let eb=ew.Buffer.alloc(4);eb.writeUInt32BE(this.payload.length+1,0);let em=ew.Buffer.alloc(1);return em.writeUInt8(this.typeid,0),ew.Buffer.concat([eb,em,this.payload])}}em.PayloadBase=eN;class eI extends eN{constructor(eb){super(),this.typeid=0,eb instanceof ew.Buffer?this.payload=eb:"string"==typeof eb&&(this.payload=eS.b58ToBuffer(eb))}returnType(){return this.payload}}em.BINPayload=eI;class eD extends eN{constructor(eb){super(),this.typeid=1,eb instanceof ew.Buffer?this.payload=eb:"string"==typeof eb&&(this.payload=ew.Buffer.from(eb,"utf8"))}returnType(){return this.payload.toString("utf8")}}em.UTF8Payload=eD;class eP extends eN{constructor(eb){if(super(),this.typeid=2,eb instanceof ew.Buffer)this.payload=eb;else if("string"==typeof eb){if(eb.startsWith("0x")||!eb.match(/^[0-9A-Fa-f]+$/))throw new eT.HexError("HEXSTRPayload.constructor -- hex string may not start with 0x and must be in /^[0-9A-Fa-f]+$/: "+eb);this.payload=ew.Buffer.from(eb,"hex")}}returnType(){return this.payload.toString("hex")}}em.HEXSTRPayload=eP;class eO extends eN{constructor(eb){super(),this.typeid=3,eb instanceof ew.Buffer?this.payload=eb:"string"==typeof eb&&(this.payload=eS.b58ToBuffer(eb))}returnType(){return eS.bufferToB58(this.payload)}}em.B58STRPayload=eO;class eR extends eN{constructor(eb){super(),this.typeid=4,eb instanceof ew.Buffer?this.payload=eb:"string"==typeof eb&&(this.payload=ew.Buffer.from(eb,"base64"))}returnType(){return this.payload.toString("base64")}}em.B64STRPayload=eR;class eB extends eN{constructor(eb){super(),this.typeid=5,eb instanceof ew.Buffer?this.payload=eb:eb instanceof eC.default?this.payload=eS.fromBNToBuffer(eb):"string"==typeof eb&&(this.payload=ew.Buffer.from(eb,"hex"))}returnType(){return eS.fromBufferToBN(this.payload)}}em.BIGNUMPayload=eB;class eF extends eN{constructor(eb,em){super(),this.typeid=6,this.chainid="",eb instanceof ew.Buffer?this.payload=eb:"string"==typeof eb&&(void 0!=em?this.payload=eS.stringToAddress(eb,em):this.payload=eS.stringToAddress(eb))}returnChainID(){return this.chainid}returnType(eb){let em="bech32";return eE.bufferToType(this.payload,em,eb,this.chainid)}}em.ChainAddressPayload=eF;class ej extends eF{constructor(){super(...arguments),this.typeid=6,this.chainid="X"}}em.XCHAINADDRPayload=ej;class eU extends eF{constructor(){super(...arguments),this.typeid=7,this.chainid="P"}}em.PCHAINADDRPayload=eU;class e$ extends eF{constructor(){super(...arguments),this.typeid=8,this.chainid="C"}}em.CCHAINADDRPayload=e$;class eW extends eN{returnType(){return eS.cb58Encode(this.payload)}constructor(eb){super(),eb instanceof ew.Buffer?this.payload=eb:"string"==typeof eb&&(this.payload=eS.cb58Decode(eb))}}em.cb58EncodedPayload=eW;class eZ extends eW{constructor(){super(...arguments),this.typeid=9}}em.TXIDPayload=eZ;class eG extends eW{constructor(){super(...arguments),this.typeid=10}}em.ASSETIDPayload=eG;class eK extends eW{constructor(){super(...arguments),this.typeid=11}}em.UTXOIDPayload=eK;class eY extends eK{constructor(){super(...arguments),this.typeid=12}}em.NFTIDPayload=eY;class eX extends eW{constructor(){super(...arguments),this.typeid=13}}em.SUBNETIDPayload=eX;class eJ extends eW{constructor(){super(...arguments),this.typeid=14}}em.CHAINIDPayload=eJ;class eQ extends eW{constructor(){super(...arguments),this.typeid=15}}em.NODEIDPayload=eQ;class e0 extends eO{constructor(){super(...arguments),this.typeid=16}}em.SECPSIGPayload=e0;class e6 extends eO{constructor(){super(...arguments),this.typeid=17}}em.SECPENCPayload=e6;class e4 extends eI{constructor(){super(...arguments),this.typeid=18}}em.JPEGPayload=e4;class e3 extends eI{constructor(){super(...arguments),this.typeid=19}}em.PNGPayload=e3;class e5 extends eI{constructor(){super(...arguments),this.typeid=20}}em.BMPPayload=e5;class e8 extends eI{constructor(){super(...arguments),this.typeid=21}}em.ICOPayload=e8;class e9 extends eD{constructor(){super(...arguments),this.typeid=22}}em.SVGPayload=e9;class e7 extends eD{constructor(){super(...arguments),this.typeid=23}}em.CSVPayload=e7;class tH extends eN{constructor(eb){if(super(),this.typeid=24,eb instanceof ew.Buffer)this.payload=eb;else if("string"==typeof eb)this.payload=ew.Buffer.from(eb,"utf8");else if(eb){let em=JSON.stringify(eb);this.payload=ew.Buffer.from(em,"utf8")}}returnType(){return JSON.parse(this.payload.toString("utf8"))}}em.JSONPayload=tH;class tV extends eD{constructor(){super(...arguments),this.typeid=25}}em.YAMLPayload=tV;class tw extends eD{constructor(){super(...arguments),this.typeid=26}}em.EMAILPayload=tw;class tC extends eD{constructor(){super(...arguments),this.typeid=27}}em.URLPayload=tC;class tT extends eO{constructor(){super(...arguments),this.typeid=28}}em.IPFSPayload=tT;class t_ extends eD{constructor(){super(...arguments),this.typeid=29}}em.ONIONPayload=t_;class tS extends eD{constructor(){super(...arguments),this.typeid=30}}em.MAGNETPayload=tS},29858:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.PersistanceOptions=void 0;class eH{constructor(eb,em=!1,eH){this.name=void 0,this.overwrite=!1,this.mergeRule="union",this.getName=()=>this.name,this.getOverwrite=()=>this.overwrite,this.getMergeRule=()=>this.mergeRule,this.name=eb,this.overwrite=em,this.mergeRule=eH}}em.PersistanceOptions=eH},49562:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0});class eH{newSet(){return JSON.stringify({newSet:{}})}newBloom(eb=1e3,em=.01){return JSON.stringify({newBloom:{maxElements:eb,collisionProb:em}})}addAddresses(eb){return JSON.stringify({addAddresses:{addresses:eb}})}}em.default=eH},48984:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Serialization=em.Serializable=em.SERIALIZATIONVERSION=void 0;let ew=eV(eH(89734)),eM=eV(eH(13550)),eC=eH(48764),eT=eV(eH(68924)),e_=eH(3421),eS=eH(77556);em.SERIALIZATIONVERSION=0;class eE{constructor(){this._typeName=void 0,this._typeID=void 0,this._codecID=void 0}getTypeName(){return this._typeName}getTypeID(){return this._typeID}getCodecID(){return this._codecID}sanitizeObject(eb){for(let em in eb)"object"==typeof eb[`${em}`]&&null!==eb[`${em}`]?this.sanitizeObject(eb[`${em}`]):"string"==typeof eb[`${em}`]&&(eb[`${em}`]=(0,eT.default)(eb[`${em}`]));return eb}serialize(eb){return{_typeName:(0,eT.default)(this._typeName),_typeID:void 0===this._typeID?null:this._typeID,_codecID:void 0===this._codecID?null:this._codecID}}deserialize(eb,em){if("string"!=typeof(eb=this.sanitizeObject(eb))._typeName)throw new eS.TypeNameError("Error - Serializable.deserialize: _typeName must be a string, found: "+typeof eb._typeName);if(eb._typeName!==this._typeName)throw new eS.TypeNameError("Error - Serializable.deserialize: _typeName mismatch -- expected: "+this._typeName+" -- received: "+eb._typeName);if(void 0!==eb._typeID&&null!==eb._typeID){if("number"!=typeof eb._typeID)throw new eS.TypeIdError("Error - Serializable.deserialize: _typeID must be a number, found: "+typeof eb._typeID);if(eb._typeID!==this._typeID)throw new eS.TypeIdError("Error - Serializable.deserialize: _typeID mismatch -- expected: "+this._typeID+" -- received: "+eb._typeID)}if(void 0!==eb._codecID&&null!==eb._codecID){if("number"!=typeof eb._codecID)throw new eS.CodecIdError("Error - Serializable.deserialize: _codecID must be a number, found: "+typeof eb._codecID);if(eb._codecID!==this._codecID)throw new eS.CodecIdError("Error - Serializable.deserialize: _codecID mismatch -- expected: "+this._codecID+" -- received: "+eb._codecID)}}}em.Serializable=eE;class eA{constructor(){this.bintools=ew.default.getInstance()}static getInstance(){return eA.instance||(eA.instance=new eA),eA.instance}bufferToType(eb,em,...eH){if("BN"===em)return new eM.default(eb.toString("hex"),"hex");if("Buffer"===em)return 1==eH.length&&"number"==typeof eH[0]&&(eb=eC.Buffer.from(eb.toString("hex").padStart(2*eH[0],"0"),"hex")),eb;if("bech32"===em)return this.bintools.addressToString(eH[0],eH[1],eb);if("nodeID"===em)return(0,e_.bufferToNodeIDString)(eb);if("privateKey"===em)return(0,e_.bufferToPrivateKeyString)(eb);if("cb58"===em)return this.bintools.cb58Encode(eb);if("base58"===em)return this.bintools.bufferToB58(eb);else if("base64"===em)return eb.toString("base64");else if("hex"===em)return eb.toString("hex");else if("decimalString"===em)return new eM.default(eb.toString("hex"),"hex").toString(10);else if("number"===em)return new eM.default(eb.toString("hex"),"hex").toNumber();else if("utf8"===em)return eb.toString("utf8")}typeToBuffer(eb,em,...eH){if("BN"===em){let em=eb.toString("hex");return 1==eH.length&&"number"==typeof eH[0]?eC.Buffer.from(em.padStart(2*eH[0],"0"),"hex"):eC.Buffer.from(em,"hex")}if("Buffer"===em)return eb;if("bech32"===em)return this.bintools.stringToAddress(eb,...eH);if("nodeID"===em)return(0,e_.NodeIDStringToBuffer)(eb);if("privateKey"===em)return(0,e_.privateKeyStringToBuffer)(eb);if("cb58"===em)return this.bintools.cb58Decode(eb);if("base58"===em)return this.bintools.b58ToBuffer(eb);else if("base64"===em)return eC.Buffer.from(eb,"base64");else if("hex"===em)return eb.startsWith("0x")&&(eb=eb.slice(2)),eC.Buffer.from(eb,"hex");else if("decimalString"===em){let em=new eM.default(eb,10).toString("hex");return 1==eH.length&&"number"==typeof eH[0]?eC.Buffer.from(em.padStart(2*eH[0],"0"),"hex"):eC.Buffer.from(em,"hex")}else if("number"===em){let em=new eM.default(eb,10).toString("hex");return 1==eH.length&&"number"==typeof eH[0]?eC.Buffer.from(em.padStart(2*eH[0],"0"),"hex"):eC.Buffer.from(em,"hex")}else if("utf8"===em){if(1==eH.length&&"number"==typeof eH[0]){let em=eC.Buffer.alloc(eH[0]);return em.write(eb),em}return eC.Buffer.from(eb,"utf8")}}encoder(eb,em,eH,eV,...ew){if(void 0===eb)throw new eS.UnknownTypeError("Error - Serializable.encoder: value passed is undefined");"display"!==em&&(eV=em);let eM=this.typeToBuffer(eb,eH,...ew);return this.bufferToType(eM,eV,...ew)}decoder(eb,em,eH,eV,...ew){if(void 0===eb)throw new eS.UnknownTypeError("Error - Serializable.decoder: value passed is undefined");"display"!==em&&(eH=em);let eM=this.typeToBuffer(eb,eH,...ew);return this.bufferToType(eM,eV,...ew)}serialize(eb,eH,eV="display",ew){return void 0===ew&&(ew=eb.getTypeName()),{vm:eH,encoding:eV,version:em.SERIALIZATIONVERSION,notes:ew,fields:eb.serialize(eV)}}deserialize(eb,em){em.deserialize(eb.fields,eb.encoding)}}em.Serialization=eA},45609:function(eb,em,eH){eb.exports=eH(11527)},76329:function(eb,em,eH){"use strict";var eV=eH(53016),ew=eH(76670),eM=eH(29995),eC=eH(2298),eT=eH(89779),e_=eH(75942),eS=eH(37406),eE=eH(65068),eA=eH(18398),eN=eH(91982),eI=eH(22530);eb.exports=function(eb){return new Promise(function(em,eH){var eD,eP=eb.data,eO=eb.headers,eR=eb.responseType;function eB(){eb.cancelToken&&eb.cancelToken.unsubscribe(eD),eb.signal&&eb.signal.removeEventListener("abort",eD)}eV.isFormData(eP)&&eV.isStandardBrowserEnv()&&delete eO["Content-Type"];var eF=new XMLHttpRequest;if(eb.auth){var ej=eb.auth.username||"",eU=eb.auth.password?unescape(encodeURIComponent(eb.auth.password)):"";eO.Authorization="Basic "+btoa(ej+":"+eU)}var e$=eT(eb.baseURL,eb.url);function eW(){if(eF){var eV="getAllResponseHeaders"in eF?e_(eF.getAllResponseHeaders()):null;ew(function(eb){em(eb),eB()},function(eb){eH(eb),eB()},{data:eR&&"text"!==eR&&"json"!==eR?eF.response:eF.responseText,status:eF.status,statusText:eF.statusText,headers:eV,config:eb,request:eF}),eF=null}}if(eF.open(eb.method.toUpperCase(),eC(e$,eb.params,eb.paramsSerializer),!0),eF.timeout=eb.timeout,"onloadend"in eF?eF.onloadend=eW:eF.onreadystatechange=function(){eF&&4===eF.readyState&&(0!==eF.status||eF.responseURL&&0===eF.responseURL.indexOf("file:"))&&setTimeout(eW)},eF.onabort=function(){eF&&(eH(new eA("Request aborted",eA.ECONNABORTED,eb,eF)),eF=null)},eF.onerror=function(){eH(new eA("Network Error",eA.ERR_NETWORK,eb,eF,eF)),eF=null},eF.ontimeout=function(){var em=eb.timeout?"timeout of "+eb.timeout+"ms exceeded":"timeout exceeded",eV=eb.transitional||eE;eb.timeoutErrorMessage&&(em=eb.timeoutErrorMessage),eH(new eA(em,eV.clarifyTimeoutError?eA.ETIMEDOUT:eA.ECONNABORTED,eb,eF)),eF=null},eV.isStandardBrowserEnv()){var eZ=(eb.withCredentials||eS(e$))&&eb.xsrfCookieName?eM.read(eb.xsrfCookieName):void 0;eZ&&(eO[eb.xsrfHeaderName]=eZ)}"setRequestHeader"in eF&&eV.forEach(eO,function(eb,em){void 0===eP&&"content-type"===em.toLowerCase()?delete eO[em]:eF.setRequestHeader(em,eb)}),eV.isUndefined(eb.withCredentials)||(eF.withCredentials=!!eb.withCredentials),eR&&"json"!==eR&&(eF.responseType=eb.responseType),"function"==typeof eb.onDownloadProgress&&eF.addEventListener("progress",eb.onDownloadProgress),"function"==typeof eb.onUploadProgress&&eF.upload&&eF.upload.addEventListener("progress",eb.onUploadProgress),(eb.cancelToken||eb.signal)&&(eD=function(eb){eF&&(eH(!eb||eb&&eb.type?new eN:eb),eF.abort(),eF=null)},eb.cancelToken&&eb.cancelToken.subscribe(eD),eb.signal&&(eb.signal.aborted?eD():eb.signal.addEventListener("abort",eD))),eP||(eP=null);var eG=eI(e$);if(eG&&-1===["http","https","file"].indexOf(eG)){eH(new eA("Unsupported protocol "+eG+":",eA.ERR_BAD_REQUEST,eb));return}eF.send(eP)})}},11527:function(eb,em,eH){"use strict";var eV=eH(53016),ew=eH(9723),eM=eH(46038),eC=eH(78815);function eT(eb){var em=new eM(eb),eH=ew(eM.prototype.request,em);return eV.extend(eH,eM.prototype,em),eV.extend(eH,em),eH.create=function(em){return eT(eC(eb,em))},eH}var e_=eT(eH(28450));e_.Axios=eM,e_.CanceledError=eH(91982),e_.CancelToken=eH(63450),e_.isCancel=eH(3774),e_.VERSION=eH(67661).version,e_.toFormData=eH(77957),e_.AxiosError=eH(18398),e_.Cancel=e_.CanceledError,e_.all=function(eb){return Promise.all(eb)},e_.spread=eH(13522),e_.isAxiosError=eH(92400),eb.exports=e_,eb.exports.default=e_},63450:function(eb,em,eH){"use strict";var eV=eH(91982);function ew(eb){if("function"!=typeof eb)throw TypeError("executor must be a function.");this.promise=new Promise(function(eb){em=eb});var em,eH=this;this.promise.then(function(eb){if(eH._listeners){var em,eV=eH._listeners.length;for(em=0;em=200&&eb<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};ew.forEach(["delete","get","head"],function(eb){eN.headers[eb]={}}),ew.forEach(["post","put","patch"],function(eb){eN.headers[eb]=ew.merge(eS)}),eb.exports=eN},65068:function(eb){"use strict";eb.exports={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}},67661:function(eb){eb.exports={version:"0.27.2"}},9723:function(eb){"use strict";eb.exports=function(eb,em){return function(){for(var eH=Array(arguments.length),eV=0;eV=0)&&("set-cookie"===em?eC[em]=(eC[em]?eC[em]:[]).concat([eH]):eC[em]=eC[em]?eC[em]+", "+eH:eH)}),eC}},22530:function(eb){"use strict";eb.exports=function(eb){var em=/^([-+\w]{1,25})(:?\/\/|:)/.exec(eb);return em&&em[1]||""}},13522:function(eb){"use strict";eb.exports=function(eb){return function(em){return eb.apply(null,em)}}},77957:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer,ew=eH(53016);function eM(eb,em){em=em||new FormData;var eH=[];function eM(eb){return null===eb?"":ew.isDate(eb)?eb.toISOString():ew.isArrayBuffer(eb)||ew.isTypedArray(eb)?"function"==typeof Blob?new Blob([eb]):eV.from(eb):eb}function eC(eb,eV){if(ew.isPlainObject(eb)||ew.isArray(eb)){if(-1!==eH.indexOf(eb))throw Error("Circular reference detected in "+eV);eH.push(eb),ew.forEach(eb,function(eb,eH){if(!ew.isUndefined(eb)){var eT,e_=eV?eV+"."+eH:eH;if(eb&&!eV&&"object"==typeof eb){if(ew.endsWith(eH,"{}"))eb=JSON.stringify(eb);else if(ew.endsWith(eH,"[]")&&(eT=ew.toArray(eb))){eT.forEach(function(eb){ew.isUndefined(eb)||em.append(e_,eM(eb))});return}}eC(eb,e_)}}),eH.pop()}else em.append(eV,eM(eb))}return eC(eb),em}eb.exports=eM},89243:function(eb,em,eH){"use strict";var eV=eH(67661).version,ew=eH(18398),eM={};["object","boolean","number","function","string","symbol"].forEach(function(eb,em){eM[eb]=function(eH){return typeof eH===eb||"a"+(em<1?"n ":" ")+eb}});var eC={};function eT(eb,em,eH){if("object"!=typeof eb)throw new ew("options must be an object",ew.ERR_BAD_OPTION_VALUE);for(var eV=Object.keys(eb),eM=eV.length;eM-- >0;){var eC=eV[eM],eT=em[eC];if(eT){var e_=eb[eC],eS=void 0===e_||eT(e_,eC,eb);if(!0!==eS)throw new ew("option "+eC+" must be "+eS,ew.ERR_BAD_OPTION_VALUE);continue}if(!0!==eH)throw new ew("Unknown option "+eC,ew.ERR_BAD_OPTION)}}eM.transitional=function(eb,em,eH){function eM(eb,em){return"[Axios v"+eV+"] Transitional option '"+eb+"'"+em+(eH?". "+eH:"")}return function(eH,eV,eT){if(!1===eb)throw new ew(eM(eV," has been removed"+(em?" in "+em:"")),ew.ERR_DEPRECATED);return em&&!eC[eV]&&(eC[eV]=!0,console.warn(eM(eV," has been deprecated since v"+em+" and will be removed in the near future"))),!eb||eb(eH,eV,eT)}},eb.exports={assertOptions:eT,validators:eM}},53016:function(eb,em,eH){"use strict";var eV=eH(9723),ew=Object.prototype.toString,eM=function(eb){return function(em){var eH=ew.call(em);return eb[eH]||(eb[eH]=eH.slice(8,-1).toLowerCase())}}(Object.create(null));function eC(eb){return eb=eb.toLowerCase(),function(em){return eM(em)===eb}}function eT(eb){return Array.isArray(eb)}function e_(eb){return void 0===eb}function eS(eb){return null!==eb&&!e_(eb)&&null!==eb.constructor&&!e_(eb.constructor)&&"function"==typeof eb.constructor.isBuffer&&eb.constructor.isBuffer(eb)}var eE=eC("ArrayBuffer");function eA(eb){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(eb):eb&&eb.buffer&&eE(eb.buffer)}function eN(eb){return"string"==typeof eb}function eI(eb){return"number"==typeof eb}function eD(eb){return null!==eb&&"object"==typeof eb}function eP(eb){if("object"!==eM(eb))return!1;var em=Object.getPrototypeOf(eb);return null===em||em===Object.prototype}var eO=eC("Date"),eR=eC("File"),eB=eC("Blob"),eF=eC("FileList");function ej(eb){return"[object Function]"===ew.call(eb)}function eU(eb){return eD(eb)&&ej(eb.pipe)}function e$(eb){var em="[object FormData]";return eb&&("function"==typeof FormData&&eb instanceof FormData||ew.call(eb)===em||ej(eb.toString)&&eb.toString()===em)}var eW=eC("URLSearchParams");function eZ(eb){return eb.trim?eb.trim():eb.replace(/^\s+|\s+$/g,"")}function eG(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&"undefined"!=typeof window&&"undefined"!=typeof document}function eK(eb,em){if(null!=eb){if("object"!=typeof eb&&(eb=[eb]),eT(eb))for(var eH=0,eV=eb.length;eH0;)eC[eM=eV[ew]]||(em[eM]=eb[eM],eC[eM]=!0);eb=Object.getPrototypeOf(eb)}while(eb&&(!eH||eH(eb,em))&&eb!==Object.prototype);return em}function e6(eb,em,eH){eb=String(eb),(void 0===eH||eH>eb.length)&&(eH=eb.length),eH-=em.length;var eV=eb.indexOf(em,eH);return -1!==eV&&eV===eH}function e4(eb){if(!eb)return null;var em=eb.length;if(e_(em))return null;for(var eH=Array(em);em-- >0;)eH[em]=eb[em];return eH}var e3=function(eb){return function(em){return eb&&em instanceof eb}}("undefined"!=typeof Uint8Array&&Object.getPrototypeOf(Uint8Array));eb.exports={isArray:eT,isArrayBuffer:eE,isBuffer:eS,isFormData:e$,isArrayBufferView:eA,isString:eN,isNumber:eI,isObject:eD,isPlainObject:eP,isUndefined:e_,isDate:eO,isFile:eR,isBlob:eB,isFunction:ej,isStream:eU,isURLSearchParams:eW,isStandardBrowserEnv:eG,forEach:eK,merge:eY,extend:eX,trim:eZ,stripBOM:eJ,inherits:eQ,toFlatObject:e0,kindOf:eM,kindOfTest:eC,endsWith:e6,toArray:e4,isTypedArray:e3,isFileList:eF}},59802:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.bech32m=em.bech32=void 0;let eH="qpzry9x8gf2tvdw0s3jn54khce6mua7l",eV={};for(let eb=0;eb>25;return(33554431&eb)<<5^996825010&-(em>>0&1)^642813549&-(em>>1&1)^513874426&-(em>>2&1)^1027748829&-(em>>3&1)^705979059&-(em>>4&1)}function eM(eb){let em=1;for(let eH=0;eH126)return"Invalid prefix ("+eb+")";em=ew(em)^eV>>5}em=ew(em);for(let eH=0;eH=eH;)eT.push(ew>>(eM-=eH)&eC);if(eV)eM>0&&eT.push(ew<=em)return"Excess padding";if(ew<eH)return"Exceeds length limit";let eC=eb.toLowerCase(),eT=eb.toUpperCase();if(eb!==eC&&eb!==eT)return"Mixed-case string "+eb;eb=eC;let e_=eb.lastIndexOf("1");if(-1===e_)return"No separator character for "+eb;if(0===e_)return"Missing prefix for "+eb;let eS=eb.slice(0,e_),eE=eb.slice(e_+1);if(eE.length<6)return"Data too short";let eA=eM(eS);if("string"==typeof eA)return eA;let eN=[];for(let eb=0;eb=eE.length||eN.push(eH)}return eA!==em?"Invalid checksum for "+eb:{prefix:eS,words:eN}}return em="bech32"===eb?1:734539939,{decodeUnsafe:function(eb,em){let eH=eC(eb,em);if("object"==typeof eH)return eH},decode:function(eb,em){let eH=eC(eb,em);if("object"==typeof eH)return eH;throw Error(eH)},encode:function(eb,eV,eC){if(eC=eC||90,eb.length+7+eV.length>eC)throw TypeError("Exceeds length limit");let eT=eM(eb=eb.toLowerCase());if("string"==typeof eT)throw Error(eT);let e_=eb+"1";for(let eb=0;eb>5!=0)throw Error("Non 5-bit word");eT=ew(eT)^em,e_+=eH.charAt(em)}for(let eb=0;eb<6;++eb)eT=ew(eT);eT^=em;for(let eb=0;eb<6;++eb){let em=eT>>(5-eb)*5&31;e_+=eH.charAt(em)}return e_},toWords:eT,fromWordsUnsafe:e_,fromWords:eS}}em.bech32=eE("bech32"),em.bech32m=eE("bech32m")},14568:function(eb,em,eH){"use strict";let eV;Object.defineProperty(em,"__esModule",{value:!0});let ew={};em.wordlists=ew,em._default=eV;try{em._default=eV=eH(58059),ew.czech=eV}catch(eb){}try{em._default=eV=eH(36099),ew.chinese_simplified=eV}catch(eb){}try{em._default=eV=eH(28350),ew.chinese_traditional=eV}catch(eb){}try{em._default=eV=eH(31902),ew.korean=eV}catch(eb){}try{em._default=eV=eH(97727),ew.french=eV}catch(eb){}try{em._default=eV=eH(94019),ew.italian=eV}catch(eb){}try{em._default=eV=eH(55655),ew.spanish=eV}catch(eb){}try{em._default=eV=eH(67868),ew.japanese=eV,ew.JA=eV}catch(eb){}try{em._default=eV=eH(13816),ew.portuguese=eV}catch(eb){}try{em._default=eV=eH(81633),ew.english=eV,ew.EN=eV}catch(eb){}},34333:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0});let ew=eH(23482),eM=eH(25632),eC=eH(61798),eT=eH(14568),e_=eT._default,eS="Invalid mnemonic",eE="Invalid entropy",eA="Invalid mnemonic checksum",eN="A wordlist is required but a default could not be found.\nPlease pass a 2048 word array explicitly.";function eI(eb,em,eH,eV,ew){return Promise.resolve().then(()=>new Promise((eC,eT)=>{let e_=(eb,em)=>eb?eT(eb):eC(em);eM.pbkdf2(eb,em,eH,eV,ew,e_)}))}function eD(eb){return(eb||"").normalize("NFKD")}function eP(eb,em,eH){for(;eb.lengtheP(eb.toString(2),"0",8)).join("")}function eB(eb){let em=8*eb.length,eH=em/32,eV=ew("sha256").update(eb).digest();return eR(Array.from(eV)).slice(0,eH)}function eF(eb){return"mnemonic"+(eb||"")}function ej(eb,em){let eH=eV.from(eD(eb),"utf8"),ew=eV.from(eF(eD(em)),"utf8");return eM.pbkdf2Sync(eH,ew,2048,64,"sha512")}function eU(eb,em){return Promise.resolve().then(()=>{let eH=eV.from(eD(eb),"utf8"),ew=eV.from(eF(eD(em)),"utf8");return eI(eH,ew,2048,64,"sha512")})}function e$(eb,em){if(!(em=em||e_))throw Error(eN);let eH=eD(eb).split(" ");if(eH.length%3!=0)throw Error(eS);let ew=eH.map(eb=>{let eH=em.indexOf(eb);if(-1===eH)throw Error(eS);return eP(eH.toString(2),"0",11)}).join(""),eM=32*Math.floor(ew.length/33),eC=ew.slice(0,eM),eT=ew.slice(eM),eI=eC.match(/(.{1,8})/g).map(eO);if(eI.length<16||eI.length>32||eI.length%4!=0)throw Error(eE);let eR=eV.from(eI),eF=eB(eR);if(eF!==eT)throw Error(eA);return eR.toString("hex")}function eW(eb,em){if(eV.isBuffer(eb)||(eb=eV.from(eb,"hex")),!(em=em||e_))throw Error(eN);if(eb.length<16||eb.length>32||eb.length%4!=0)throw TypeError(eE);let eH=eR(Array.from(eb)),ew=eB(eb),eM=eH+ew,eC=eM.match(/(.{1,11})/g),eT=eC.map(eb=>{let eH=eO(eb);return em[eH]});return"あいこくしん"===em[0]?eT.join(" "):eT.join(" ")}function eZ(eb,em,eH){if((eb=eb||128)%32!=0)throw TypeError(eE);return eW((em=em||eC)(eb/8),eH)}function eG(eb,em){try{e$(eb,em)}catch(eb){return!1}return!0}function eK(eb){let em=eT.wordlists[eb];if(em)e_=em;else throw Error('Could not find wordlist for language "'+eb+'"')}function eY(){if(!e_)throw Error("No Default Wordlist set");return Object.keys(eT.wordlists).filter(eb=>"JA"!==eb&&"EN"!==eb&&eT.wordlists[eb].every((eb,em)=>eb===e_[em]))[0]}em.mnemonicToSeedSync=ej,em.mnemonicToSeed=eU,em.mnemonicToEntropy=e$,em.entropyToMnemonic=eW,em.generateMnemonic=eZ,em.validateMnemonic=eG,em.setDefaultWordlist=eK,em.getDefaultWordlist=eY;var eX=eH(14568);em.wordlists=eX.wordlists},34854:function(eb,em,eH){"use strict";eH.r(em);var eV=null;"undefined"!=typeof WebSocket?eV=WebSocket:"undefined"!=typeof MozWebSocket?eV=MozWebSocket:void 0!==eH.g?eV=eH.g.WebSocket||eH.g.MozWebSocket:"undefined"!=typeof window?eV=window.WebSocket||window.MozWebSocket:"undefined"!=typeof self&&(eV=self.WebSocket||self.MozWebSocket),em.default=eV},58162:function(eb,em,eH){"use strict";var eV=eH(89509).Buffer;function ew(eb){if(eb.length>=255)throw TypeError("Alphabet too long");for(var em=new Uint8Array(256),eH=0;eH>>0,eE=new Uint8Array(eC);eb[eH];){var eA=em[eb.charCodeAt(eH)];if(255===eA)return;for(var eN=0,eI=eC-1;(0!==eA||eN>>0,eE[eI]=eA%256>>>0,eA=eA/256>>>0;if(0!==eA)throw Error("Non-zero carry");eM=eN,eH++}for(var eD=eC-eM;eD!==eC&&0===eE[eD];)eD++;var eP=eV.allocUnsafe(ew+(eC-eD));eP.fill(0,0,ew);for(var eO=ew;eD!==eC;)eP[eO++]=eE[eD++];return eP}function eN(eb){var em=eA(eb);if(em)return em;throw Error("Non-base"+eT+" character")}return{encode:function(em){if((Array.isArray(em)||em instanceof Uint8Array)&&(em=eV.from(em)),!eV.isBuffer(em))throw TypeError("Expected Buffer");if(0===em.length)return"";for(var eH=0,ew=0,eM=0,eC=em.length;eM!==eC&&0===em[eM];)eM++,eH++;for(var eS=(eC-eM)*eE+1>>>0,eA=new Uint8Array(eS);eM!==eC;){for(var eN=em[eM],eI=0,eD=eS-1;(0!==eN||eI>>0,eA[eD]=eN%eT>>>0,eN=eN/eT>>>0;if(0!==eN)throw Error("Non-zero carry");ew=eI,eM++}for(var eP=eS-ew;eP!==eS&&0===eA[eP];)eP++;for(var eO=e_.repeat(eH);eP0)throw Error("Invalid string. Length must be a multiple of 4");var eH=eb.indexOf("=");-1===eH&&(eH=em);var eV=eH===em?0:4-eH%4;return[eH,eV]}function eS(eb){var em=e_(eb),eH=em[0],eV=em[1];return(eH+eV)*3/4-eV}function eE(eb,em,eH){return(em+eH)*3/4-eH}function eA(eb){var em,eH,eM=e_(eb),eC=eM[0],eT=eM[1],eS=new ew(eE(eb,eC,eT)),eA=0,eN=eT>0?eC-4:eC;for(eH=0;eH>16&255,eS[eA++]=em>>8&255,eS[eA++]=255&em;return 2===eT&&(em=eV[eb.charCodeAt(eH)]<<2|eV[eb.charCodeAt(eH+1)]>>4,eS[eA++]=255&em),1===eT&&(em=eV[eb.charCodeAt(eH)]<<10|eV[eb.charCodeAt(eH+1)]<<4|eV[eb.charCodeAt(eH+2)]>>2,eS[eA++]=em>>8&255,eS[eA++]=255&em),eS}function eN(eb){return eH[eb>>18&63]+eH[eb>>12&63]+eH[eb>>6&63]+eH[63&eb]}function eI(eb,em,eH){for(var eV=[],ew=em;ewe_?e_:eT+eC));return 1===ew?eM.push(eH[(em=eb[eV-1])>>2]+eH[em<<4&63]+"=="):2===ew&&eM.push(eH[(em=(eb[eV-2]<<8)+eb[eV-1])>>10]+eH[em>>4&63]+eH[em<<2&63]+"="),eM.join("")}eV["-".charCodeAt(0)]=62,eV["_".charCodeAt(0)]=63},92882:function(eb){"use strict";for(var em="qpzry9x8gf2tvdw0s3jn54khce6mua7l",eH={},eV=0;eV>25;return(33554431&eb)<<5^996825010&-(em>>0&1)^642813549&-(em>>1&1)^513874426&-(em>>2&1)^1027748829&-(em>>3&1)^705979059&-(em>>4&1)}function eC(eb){for(var em=1,eH=0;eH126)return"Invalid prefix ("+eb+")";em=eM(em)^eV>>5}for(eH=0,em=eM(em);eHeV)throw TypeError("Exceeds length limit");var ew=eC(eb=eb.toLowerCase());if("string"==typeof ew)throw Error(ew);for(var eT=eb+"1",e_=0;e_>5!=0)throw Error("Non 5-bit word");ew=eM(ew)^eS,eT+=em.charAt(eS)}for(e_=0;e_<6;++e_)ew=eM(ew);for(ew^=1,e_=0;e_<6;++e_){var eE=ew>>(5-e_)*5&31;eT+=em.charAt(eE)}return eT}function e_(eb,em){if(em=em||90,eb.length<8)return eb+" too short";if(eb.length>em)return"Exceeds length limit";var eV=eb.toLowerCase(),ew=eb.toUpperCase();if(eb!==eV&&eb!==ew)return"Mixed-case string "+eb;var eT=(eb=eV).lastIndexOf("1");if(-1===eT)return"No separator character for "+eb;if(0===eT)return"Missing prefix for "+eb;var e_=eb.slice(0,eT),eS=eb.slice(eT+1);if(eS.length<6)return"Data too short";var eE=eC(e_);if("string"==typeof eE)return eE;for(var eA=[],eN=0;eN=eS.length||eA.push(eD)}return 1!==eE?"Invalid checksum for "+eb:{prefix:e_,words:eA}}function eS(){var eb=e_.apply(null,arguments);if("object"==typeof eb)return eb}function eE(eb){var em=e_.apply(null,arguments);if("object"==typeof em)return em;throw Error(em)}function eA(eb,em,eH,eV){for(var ew=0,eM=0,eC=(1<=eH;)eT.push(ew>>(eM-=eH)&eC);if(eV)eM>0&&eT.push(ew<=em)return"Excess padding";if(ew<eO(eb.toString(2),"0",8)).join("")}function eF(eb){let em=8*eb.length,eH=em/32,eV=eM.sha256(Uint8Array.from(eb));return eB(Array.from(eV)).slice(0,eH)}function ej(eb){return"mnemonic"+(eb||"")}function eU(eb,em){if(!(em=em||eE))throw Error(eD);let eH=eP(eb).split(" ");if(eH.length%3!=0)throw Error(eA);let eV=eH.map(eb=>{let eH=em.indexOf(eb);if(-1===eH)throw Error(eA);return eO(eH.toString(2),"0",11)}).join(""),eM=32*Math.floor(eV.length/33),eC=eV.slice(0,eM),eT=eV.slice(eM),e_=eC.match(/(.{1,8})/g).map(eR);if(e_.length<16||e_.length>32||e_.length%4!=0)throw Error(eN);let eS=ew.from(e_),eB=eF(eS);if(eB!==eT)throw Error(eI);return eS.toString("hex")}function e$(eb,em){if(ew.isBuffer(eb)||(eb=ew.from(eb,"hex")),!(em=em||eE))throw Error(eD);if(eb.length<16||eb.length>32||eb.length%4!=0)throw TypeError(eN);let eH=eB(Array.from(eb)),eV=eF(eb),eM=eH+eV,eC=eM.match(/(.{1,11})/g),eT=eC.map(eb=>{let eH=eR(eb);return em[eH]});return"あいこくしん"===em[0]?eT.join(" "):eT.join(" ")}eV=function(eb,em){let eH=Uint8Array.from(ew.from(eP(eb),"utf8")),eV=Uint8Array.from(ew.from(ej(eP(em)),"utf8")),eM=eT.pbkdf2(eC.sha512,eH,eV,{c:2048,dkLen:64});return ew.from(eM)},eV=function(eb,em){let eH=Uint8Array.from(ew.from(eP(eb),"utf8")),eV=Uint8Array.from(ew.from(ej(eP(em)),"utf8"));return eT.pbkdf2Async(eC.sha512,eH,eV,{c:2048,dkLen:64}).then(eb=>ew.from(eb))},eV=eU,eV=e$,eV=function(eb,em,eH){if((eb=eb||128)%32!=0)throw TypeError(eN);return e$((em=em||(eb=>ew.from(e_.randomBytes(eb))))(eb/8),eH)},eV=function(eb,em){try{eU(eb,em)}catch(eb){return!1}return!0},eV=function(eb){let em=eS.wordlists[eb];if(em)eE=em;else throw Error('Could not find wordlist for language "'+eb+'"')},eV=function(){if(!eE)throw Error("No Default Wordlist set");return Object.keys(eS.wordlists).filter(eb=>"JA"!==eb&&"EN"!==eb&&eS.wordlists[eb].every((eb,em)=>eb===eE[em]))[0]},eV=eH(42314).wordlists},13550:function(eb,em,eH){!function(eb,em){"use strict";function eV(eb,em){if(!eb)throw Error(em||"Assertion failed")}function ew(eb,em){eb.super_=em;var eH=function(){};eH.prototype=em.prototype,eb.prototype=new eH,eb.prototype.constructor=eb}function eM(eb,em,eH){if(eM.isBN(eb))return eb;this.negative=0,this.words=null,this.length=0,this.red=null,null!==eb&&(("le"===em||"be"===em)&&(eH=em,em=10),this._init(eb||0,em||10,eH||"be"))}"object"==typeof eb?eb.exports=eM:em.BN=eM,eM.BN=eM,eM.wordSize=26;try{eA="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:eH(46601).Buffer}catch(eb){}function eC(eb,em){var eH=eb.charCodeAt(em);return eH>=48&&eH<=57?eH-48:eH>=65&&eH<=70?eH-55:eH>=97&&eH<=102?eH-87:void eV(!1,"Invalid character in "+eb)}function eT(eb,em,eH){var eV=eC(eb,eH);return eH-1>=em&&(eV|=eC(eb,eH-1)<<4),eV}function e_(eb,em,eH,ew){for(var eM=0,eC=0,eT=Math.min(eb.length,eH),e_=em;e_=49?eS-49+10:eS>=17?eS-17+10:eS,eV(eS>=0&&eC0?eb:em},eM.min=function(eb,em){return 0>eb.cmp(em)?eb:em},eM.prototype._init=function(eb,em,eH){if("number"==typeof eb)return this._initNumber(eb,em,eH);if("object"==typeof eb)return this._initArray(eb,em,eH);"hex"===em&&(em=16),eV(em===(0|em)&&em>=2&&em<=36);var ew=0;"-"===(eb=eb.toString().replace(/\s+/g,""))[0]&&(ew++,this.negative=1),ew=0;eC-=3)eM=eb[eC]|eb[eC-1]<<8|eb[eC-2]<<16,this.words[ew]|=eM<>>26-eT&67108863,(eT+=24)>=26&&(eT-=26,ew++);else if("le"===eH)for(eC=0,ew=0;eC>>26-eT&67108863,(eT+=24)>=26&&(eT-=26,ew++);return this._strip()},eM.prototype._parseHex=function(eb,em,eH){this.length=Math.ceil((eb.length-em)/6),this.words=Array(this.length);for(var eV,ew=0;ew=em;ew-=2)eV=eT(eb,em,ew)<=18?(eM-=18,eC+=1,this.words[eC]|=eV>>>26):eM+=8;else for(ew=(eb.length-em)%2==0?em+1:em;ew=18?(eM-=18,eC+=1,this.words[eC]|=eV>>>26):eM+=8;this._strip()},eM.prototype._parseBase=function(eb,em,eH){this.words=[0],this.length=1;for(var eV=0,ew=1;ew<=67108863;ew*=em)eV++;eV--,ew=ew/em|0;for(var eM=eb.length-eH,eC=eM%eV,eT=Math.min(eM,eM-eC)+eH,eS=0,eE=eH;eE1&&0===this.words[this.length-1];)this.length--;return this._normSign()},eM.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{eM.prototype[Symbol.for("nodejs.util.inspect.custom")]=eE}catch(eb){eM.prototype.inspect=eE}else eM.prototype.inspect=eE;function eE(){return(this.red?""}var eA,eN=["","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"],eI=[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],eD=[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];eM.prototype.toString=function(eb,em){if(em=0|em||1,16===(eb=eb||10)||"hex"===eb){eH="";for(var eH,ew=0,eM=0,eC=0;eC>>24-ew&16777215,(ew+=2)>=26&&(ew-=26,eC--),eH=0!==eM||eC!==this.length-1?eN[6-e_.length]+e_+eH:e_+eH}for(0!==eM&&(eH=eM.toString(16)+eH);eH.length%em!=0;)eH="0"+eH;return 0!==this.negative&&(eH="-"+eH),eH}if(eb===(0|eb)&&eb>=2&&eb<=36){var eS=eI[eb],eE=eD[eb];eH="";var eA=this.clone();for(eA.negative=0;!eA.isZero();){var eP=eA.modrn(eE).toString(eb);eH=(eA=eA.idivn(eE)).isZero()?eP+eH:eN[eS-eP.length]+eP+eH}for(this.isZero()&&(eH="0"+eH);eH.length%em!=0;)eH="0"+eH;return 0!==this.negative&&(eH="-"+eH),eH}eV(!1,"Base should be between 2 and 36")},eM.prototype.toNumber=function(){var eb=this.words[0];return 2===this.length?eb+=67108864*this.words[1]:3===this.length&&1===this.words[2]?eb+=4503599627370496+67108864*this.words[1]:this.length>2&&eV(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-eb:eb},eM.prototype.toJSON=function(){return this.toString(16,2)},eA&&(eM.prototype.toBuffer=function(eb,em){return this.toArrayLike(eA,eb,em)}),eM.prototype.toArray=function(eb,em){return this.toArrayLike(Array,eb,em)};var eP=function(eb,em){return eb.allocUnsafe?eb.allocUnsafe(em):new eb(em)};function eO(eb){for(var em=Array(eb.bitLength()),eH=0;eH>>ew&1}return em}function eR(eb,em,eH){eH.negative=em.negative^eb.negative;var eV=eb.length+em.length|0;eH.length=eV,eV=eV-1|0;var ew=0|eb.words[0],eM=0|em.words[0],eC=ew*eM,eT=67108863&eC,e_=eC/67108864|0;eH.words[0]=eT;for(var eS=1;eS>>26,eA=67108863&e_,eN=Math.min(eS,em.length-1),eI=Math.max(0,eS-eb.length+1);eI<=eN;eI++){var eD=eS-eI|0;eE+=(eC=(ew=0|eb.words[eD])*(eM=0|em.words[eI])+eA)/67108864|0,eA=67108863&eC}eH.words[eS]=0|eA,e_=0|eE}return 0!==e_?eH.words[eS]=0|e_:eH.length--,eH._strip()}eM.prototype.toArrayLike=function(eb,em,eH){this._strip();var ew=this.byteLength(),eM=eH||Math.max(1,ew);eV(ew<=eM,"byte array longer than desired length"),eV(eM>0,"Requested array length <= 0");var eC=eP(eb,eM);return this["_toArrayLike"+("le"===em?"LE":"BE")](eC,ew),eC},eM.prototype._toArrayLikeLE=function(eb,em){for(var eH=0,eV=0,ew=0,eM=0;ew>8&255),eH>16&255),6===eM?(eH>24&255),eV=0,eM=0):(eV=eC>>>24,eM+=2)}if(eH=0&&(eb[eH--]=eC>>8&255),eH>=0&&(eb[eH--]=eC>>16&255),6===eM?(eH>=0&&(eb[eH--]=eC>>24&255),eV=0,eM=0):(eV=eC>>>24,eM+=2)}if(eH>=0)for(eb[eH--]=eV;eH>=0;)eb[eH--]=0},Math.clz32?eM.prototype._countBits=function(eb){return 32-Math.clz32(eb)}:eM.prototype._countBits=function(eb){var em=eb,eH=0;return em>=4096&&(eH+=13,em>>>=13),em>=64&&(eH+=7,em>>>=7),em>=8&&(eH+=4,em>>>=4),em>=2&&(eH+=2,em>>>=2),eH+em},eM.prototype._zeroBits=function(eb){if(0===eb)return 26;var em=eb,eH=0;return(8191&em)==0&&(eH+=13,em>>>=13),(127&em)==0&&(eH+=7,em>>>=7),(15&em)==0&&(eH+=4,em>>>=4),(3&em)==0&&(eH+=2,em>>>=2),(1&em)==0&&eH++,eH},eM.prototype.bitLength=function(){var eb=this.words[this.length-1],em=this._countBits(eb);return(this.length-1)*26+em},eM.prototype.zeroBits=function(){if(this.isZero())return 0;for(var eb=0,em=0;emeb.length?this.clone().ior(eb):eb.clone().ior(this)},eM.prototype.uor=function(eb){return this.length>eb.length?this.clone().iuor(eb):eb.clone().iuor(this)},eM.prototype.iuand=function(eb){var em;em=this.length>eb.length?eb:this;for(var eH=0;eHeb.length?this.clone().iand(eb):eb.clone().iand(this)},eM.prototype.uand=function(eb){return this.length>eb.length?this.clone().iuand(eb):eb.clone().iuand(this)},eM.prototype.iuxor=function(eb){this.length>eb.length?(em=this,eH=eb):(em=eb,eH=this);for(var em,eH,eV=0;eVeb.length?this.clone().ixor(eb):eb.clone().ixor(this)},eM.prototype.uxor=function(eb){return this.length>eb.length?this.clone().iuxor(eb):eb.clone().iuxor(this)},eM.prototype.inotn=function(eb){eV("number"==typeof eb&&eb>=0);var em=0|Math.ceil(eb/26),eH=eb%26;this._expand(em),eH>0&&em--;for(var ew=0;ew0&&(this.words[ew]=~this.words[ew]&67108863>>26-eH),this._strip()},eM.prototype.notn=function(eb){return this.clone().inotn(eb)},eM.prototype.setn=function(eb,em){eV("number"==typeof eb&&eb>=0);var eH=eb/26|0,ew=eb%26;return this._expand(eH+1),em?this.words[eH]=this.words[eH]|1<eb.length?(eH=this,eV=eb):(eH=eb,eV=this);for(var em,eH,eV,ew=0,eM=0;eM>>26;for(;0!==ew&&eM>>26;if(this.length=eH.length,0!==ew)this.words[this.length]=ew,this.length++;else if(eH!==this)for(;eMeb.length?this.clone().iadd(eb):eb.clone().iadd(this)},eM.prototype.isub=function(eb){if(0!==eb.negative){eb.negative=0;var em,eH,eV=this.iadd(eb);return eb.negative=1,eV._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(eb),this.negative=1,this._normSign();var ew=this.cmp(eb);if(0===ew)return this.negative=0,this.length=1,this.words[0]=0,this;ew>0?(em=this,eH=eb):(em=eb,eH=this);for(var eM=0,eC=0;eC>26,this.words[eC]=67108863&eV;for(;0!==eM&&eC>26,this.words[eC]=67108863&eV;if(0===eM&&eC>>13,eI=0|eC[1],eD=8191&eI,eP=eI>>>13,eO=0|eC[2],eR=8191&eO,eB=eO>>>13,eF=0|eC[3],ej=8191&eF,eU=eF>>>13,e$=0|eC[4],eW=8191&e$,eZ=e$>>>13,eG=0|eC[5],eK=8191&eG,eY=eG>>>13,eX=0|eC[6],eJ=8191&eX,eQ=eX>>>13,e0=0|eC[7],e6=8191&e0,e4=e0>>>13,e3=0|eC[8],e5=8191&e3,e8=e3>>>13,e9=0|eC[9],e7=8191&e9,tH=e9>>>13,tV=0|eT[0],tw=8191&tV,tC=tV>>>13,tT=0|eT[1],t_=8191&tT,tS=tT>>>13,tE=0|eT[2],tA=8191&tE,tN=tE>>>13,tI=0|eT[3],tD=8191&tI,tP=tI>>>13,tO=0|eT[4],tR=8191&tO,tB=tO>>>13,tF=0|eT[5],tj=8191&tF,tU=tF>>>13,tq=0|eT[6],t$=8191&tq,tW=tq>>>13,tZ=0|eT[7],tG=8191&tZ,tK=tZ>>>13,tY=0|eT[8],tX=8191&tY,tJ=tY>>>13,tQ=0|eT[9],aH=8191&tQ,aV=tQ>>>13;eH.negative=eb.negative^em.negative,eH.length=19;var aM=(eS+(eV=Math.imul(eA,tw))|0)+((8191&(ew=(ew=Math.imul(eA,tC))+Math.imul(eN,tw)|0))<<13)|0;eS=((eM=Math.imul(eN,tC))+(ew>>>13)|0)+(aM>>>26)|0,aM&=67108863,eV=Math.imul(eD,tw),ew=(ew=Math.imul(eD,tC))+Math.imul(eP,tw)|0,eM=Math.imul(eP,tC);var aC=(eS+(eV=eV+Math.imul(eA,t_)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eA,tS)|0)+Math.imul(eN,t_)|0))<<13)|0;eS=((eM=eM+Math.imul(eN,tS)|0)+(ew>>>13)|0)+(aC>>>26)|0,aC&=67108863,eV=Math.imul(eR,tw),ew=(ew=Math.imul(eR,tC))+Math.imul(eB,tw)|0,eM=Math.imul(eB,tC),eV=eV+Math.imul(eD,t_)|0,ew=(ew=ew+Math.imul(eD,tS)|0)+Math.imul(eP,t_)|0,eM=eM+Math.imul(eP,tS)|0;var ak=(eS+(eV=eV+Math.imul(eA,tA)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eA,tN)|0)+Math.imul(eN,tA)|0))<<13)|0;eS=((eM=eM+Math.imul(eN,tN)|0)+(ew>>>13)|0)+(ak>>>26)|0,ak&=67108863,eV=Math.imul(ej,tw),ew=(ew=Math.imul(ej,tC))+Math.imul(eU,tw)|0,eM=Math.imul(eU,tC),eV=eV+Math.imul(eR,t_)|0,ew=(ew=ew+Math.imul(eR,tS)|0)+Math.imul(eB,t_)|0,eM=eM+Math.imul(eB,tS)|0,eV=eV+Math.imul(eD,tA)|0,ew=(ew=ew+Math.imul(eD,tN)|0)+Math.imul(eP,tA)|0,eM=eM+Math.imul(eP,tN)|0;var a_=(eS+(eV=eV+Math.imul(eA,tD)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eA,tP)|0)+Math.imul(eN,tD)|0))<<13)|0;eS=((eM=eM+Math.imul(eN,tP)|0)+(ew>>>13)|0)+(a_>>>26)|0,a_&=67108863,eV=Math.imul(eW,tw),ew=(ew=Math.imul(eW,tC))+Math.imul(eZ,tw)|0,eM=Math.imul(eZ,tC),eV=eV+Math.imul(ej,t_)|0,ew=(ew=ew+Math.imul(ej,tS)|0)+Math.imul(eU,t_)|0,eM=eM+Math.imul(eU,tS)|0,eV=eV+Math.imul(eR,tA)|0,ew=(ew=ew+Math.imul(eR,tN)|0)+Math.imul(eB,tA)|0,eM=eM+Math.imul(eB,tN)|0,eV=eV+Math.imul(eD,tD)|0,ew=(ew=ew+Math.imul(eD,tP)|0)+Math.imul(eP,tD)|0,eM=eM+Math.imul(eP,tP)|0;var aS=(eS+(eV=eV+Math.imul(eA,tR)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eA,tB)|0)+Math.imul(eN,tR)|0))<<13)|0;eS=((eM=eM+Math.imul(eN,tB)|0)+(ew>>>13)|0)+(aS>>>26)|0,aS&=67108863,eV=Math.imul(eK,tw),ew=(ew=Math.imul(eK,tC))+Math.imul(eY,tw)|0,eM=Math.imul(eY,tC),eV=eV+Math.imul(eW,t_)|0,ew=(ew=ew+Math.imul(eW,tS)|0)+Math.imul(eZ,t_)|0,eM=eM+Math.imul(eZ,tS)|0,eV=eV+Math.imul(ej,tA)|0,ew=(ew=ew+Math.imul(ej,tN)|0)+Math.imul(eU,tA)|0,eM=eM+Math.imul(eU,tN)|0,eV=eV+Math.imul(eR,tD)|0,ew=(ew=ew+Math.imul(eR,tP)|0)+Math.imul(eB,tD)|0,eM=eM+Math.imul(eB,tP)|0,eV=eV+Math.imul(eD,tR)|0,ew=(ew=ew+Math.imul(eD,tB)|0)+Math.imul(eP,tR)|0,eM=eM+Math.imul(eP,tB)|0;var aE=(eS+(eV=eV+Math.imul(eA,tj)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eA,tU)|0)+Math.imul(eN,tj)|0))<<13)|0;eS=((eM=eM+Math.imul(eN,tU)|0)+(ew>>>13)|0)+(aE>>>26)|0,aE&=67108863,eV=Math.imul(eJ,tw),ew=(ew=Math.imul(eJ,tC))+Math.imul(eQ,tw)|0,eM=Math.imul(eQ,tC),eV=eV+Math.imul(eK,t_)|0,ew=(ew=ew+Math.imul(eK,tS)|0)+Math.imul(eY,t_)|0,eM=eM+Math.imul(eY,tS)|0,eV=eV+Math.imul(eW,tA)|0,ew=(ew=ew+Math.imul(eW,tN)|0)+Math.imul(eZ,tA)|0,eM=eM+Math.imul(eZ,tN)|0,eV=eV+Math.imul(ej,tD)|0,ew=(ew=ew+Math.imul(ej,tP)|0)+Math.imul(eU,tD)|0,eM=eM+Math.imul(eU,tP)|0,eV=eV+Math.imul(eR,tR)|0,ew=(ew=ew+Math.imul(eR,tB)|0)+Math.imul(eB,tR)|0,eM=eM+Math.imul(eB,tB)|0,eV=eV+Math.imul(eD,tj)|0,ew=(ew=ew+Math.imul(eD,tU)|0)+Math.imul(eP,tj)|0,eM=eM+Math.imul(eP,tU)|0;var aN=(eS+(eV=eV+Math.imul(eA,t$)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eA,tW)|0)+Math.imul(eN,t$)|0))<<13)|0;eS=((eM=eM+Math.imul(eN,tW)|0)+(ew>>>13)|0)+(aN>>>26)|0,aN&=67108863,eV=Math.imul(e6,tw),ew=(ew=Math.imul(e6,tC))+Math.imul(e4,tw)|0,eM=Math.imul(e4,tC),eV=eV+Math.imul(eJ,t_)|0,ew=(ew=ew+Math.imul(eJ,tS)|0)+Math.imul(eQ,t_)|0,eM=eM+Math.imul(eQ,tS)|0,eV=eV+Math.imul(eK,tA)|0,ew=(ew=ew+Math.imul(eK,tN)|0)+Math.imul(eY,tA)|0,eM=eM+Math.imul(eY,tN)|0,eV=eV+Math.imul(eW,tD)|0,ew=(ew=ew+Math.imul(eW,tP)|0)+Math.imul(eZ,tD)|0,eM=eM+Math.imul(eZ,tP)|0,eV=eV+Math.imul(ej,tR)|0,ew=(ew=ew+Math.imul(ej,tB)|0)+Math.imul(eU,tR)|0,eM=eM+Math.imul(eU,tB)|0,eV=eV+Math.imul(eR,tj)|0,ew=(ew=ew+Math.imul(eR,tU)|0)+Math.imul(eB,tj)|0,eM=eM+Math.imul(eB,tU)|0,eV=eV+Math.imul(eD,t$)|0,ew=(ew=ew+Math.imul(eD,tW)|0)+Math.imul(eP,t$)|0,eM=eM+Math.imul(eP,tW)|0;var aI=(eS+(eV=eV+Math.imul(eA,tG)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eA,tK)|0)+Math.imul(eN,tG)|0))<<13)|0;eS=((eM=eM+Math.imul(eN,tK)|0)+(ew>>>13)|0)+(aI>>>26)|0,aI&=67108863,eV=Math.imul(e5,tw),ew=(ew=Math.imul(e5,tC))+Math.imul(e8,tw)|0,eM=Math.imul(e8,tC),eV=eV+Math.imul(e6,t_)|0,ew=(ew=ew+Math.imul(e6,tS)|0)+Math.imul(e4,t_)|0,eM=eM+Math.imul(e4,tS)|0,eV=eV+Math.imul(eJ,tA)|0,ew=(ew=ew+Math.imul(eJ,tN)|0)+Math.imul(eQ,tA)|0,eM=eM+Math.imul(eQ,tN)|0,eV=eV+Math.imul(eK,tD)|0,ew=(ew=ew+Math.imul(eK,tP)|0)+Math.imul(eY,tD)|0,eM=eM+Math.imul(eY,tP)|0,eV=eV+Math.imul(eW,tR)|0,ew=(ew=ew+Math.imul(eW,tB)|0)+Math.imul(eZ,tR)|0,eM=eM+Math.imul(eZ,tB)|0,eV=eV+Math.imul(ej,tj)|0,ew=(ew=ew+Math.imul(ej,tU)|0)+Math.imul(eU,tj)|0,eM=eM+Math.imul(eU,tU)|0,eV=eV+Math.imul(eR,t$)|0,ew=(ew=ew+Math.imul(eR,tW)|0)+Math.imul(eB,t$)|0,eM=eM+Math.imul(eB,tW)|0,eV=eV+Math.imul(eD,tG)|0,ew=(ew=ew+Math.imul(eD,tK)|0)+Math.imul(eP,tG)|0,eM=eM+Math.imul(eP,tK)|0;var aD=(eS+(eV=eV+Math.imul(eA,tX)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eA,tJ)|0)+Math.imul(eN,tX)|0))<<13)|0;eS=((eM=eM+Math.imul(eN,tJ)|0)+(ew>>>13)|0)+(aD>>>26)|0,aD&=67108863,eV=Math.imul(e7,tw),ew=(ew=Math.imul(e7,tC))+Math.imul(tH,tw)|0,eM=Math.imul(tH,tC),eV=eV+Math.imul(e5,t_)|0,ew=(ew=ew+Math.imul(e5,tS)|0)+Math.imul(e8,t_)|0,eM=eM+Math.imul(e8,tS)|0,eV=eV+Math.imul(e6,tA)|0,ew=(ew=ew+Math.imul(e6,tN)|0)+Math.imul(e4,tA)|0,eM=eM+Math.imul(e4,tN)|0,eV=eV+Math.imul(eJ,tD)|0,ew=(ew=ew+Math.imul(eJ,tP)|0)+Math.imul(eQ,tD)|0,eM=eM+Math.imul(eQ,tP)|0,eV=eV+Math.imul(eK,tR)|0,ew=(ew=ew+Math.imul(eK,tB)|0)+Math.imul(eY,tR)|0,eM=eM+Math.imul(eY,tB)|0,eV=eV+Math.imul(eW,tj)|0,ew=(ew=ew+Math.imul(eW,tU)|0)+Math.imul(eZ,tj)|0,eM=eM+Math.imul(eZ,tU)|0,eV=eV+Math.imul(ej,t$)|0,ew=(ew=ew+Math.imul(ej,tW)|0)+Math.imul(eU,t$)|0,eM=eM+Math.imul(eU,tW)|0,eV=eV+Math.imul(eR,tG)|0,ew=(ew=ew+Math.imul(eR,tK)|0)+Math.imul(eB,tG)|0,eM=eM+Math.imul(eB,tK)|0,eV=eV+Math.imul(eD,tX)|0,ew=(ew=ew+Math.imul(eD,tJ)|0)+Math.imul(eP,tX)|0,eM=eM+Math.imul(eP,tJ)|0;var aP=(eS+(eV=eV+Math.imul(eA,aH)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eA,aV)|0)+Math.imul(eN,aH)|0))<<13)|0;eS=((eM=eM+Math.imul(eN,aV)|0)+(ew>>>13)|0)+(aP>>>26)|0,aP&=67108863,eV=Math.imul(e7,t_),ew=(ew=Math.imul(e7,tS))+Math.imul(tH,t_)|0,eM=Math.imul(tH,tS),eV=eV+Math.imul(e5,tA)|0,ew=(ew=ew+Math.imul(e5,tN)|0)+Math.imul(e8,tA)|0,eM=eM+Math.imul(e8,tN)|0,eV=eV+Math.imul(e6,tD)|0,ew=(ew=ew+Math.imul(e6,tP)|0)+Math.imul(e4,tD)|0,eM=eM+Math.imul(e4,tP)|0,eV=eV+Math.imul(eJ,tR)|0,ew=(ew=ew+Math.imul(eJ,tB)|0)+Math.imul(eQ,tR)|0,eM=eM+Math.imul(eQ,tB)|0,eV=eV+Math.imul(eK,tj)|0,ew=(ew=ew+Math.imul(eK,tU)|0)+Math.imul(eY,tj)|0,eM=eM+Math.imul(eY,tU)|0,eV=eV+Math.imul(eW,t$)|0,ew=(ew=ew+Math.imul(eW,tW)|0)+Math.imul(eZ,t$)|0,eM=eM+Math.imul(eZ,tW)|0,eV=eV+Math.imul(ej,tG)|0,ew=(ew=ew+Math.imul(ej,tK)|0)+Math.imul(eU,tG)|0,eM=eM+Math.imul(eU,tK)|0,eV=eV+Math.imul(eR,tX)|0,ew=(ew=ew+Math.imul(eR,tJ)|0)+Math.imul(eB,tX)|0,eM=eM+Math.imul(eB,tJ)|0;var aO=(eS+(eV=eV+Math.imul(eD,aH)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eD,aV)|0)+Math.imul(eP,aH)|0))<<13)|0;eS=((eM=eM+Math.imul(eP,aV)|0)+(ew>>>13)|0)+(aO>>>26)|0,aO&=67108863,eV=Math.imul(e7,tA),ew=(ew=Math.imul(e7,tN))+Math.imul(tH,tA)|0,eM=Math.imul(tH,tN),eV=eV+Math.imul(e5,tD)|0,ew=(ew=ew+Math.imul(e5,tP)|0)+Math.imul(e8,tD)|0,eM=eM+Math.imul(e8,tP)|0,eV=eV+Math.imul(e6,tR)|0,ew=(ew=ew+Math.imul(e6,tB)|0)+Math.imul(e4,tR)|0,eM=eM+Math.imul(e4,tB)|0,eV=eV+Math.imul(eJ,tj)|0,ew=(ew=ew+Math.imul(eJ,tU)|0)+Math.imul(eQ,tj)|0,eM=eM+Math.imul(eQ,tU)|0,eV=eV+Math.imul(eK,t$)|0,ew=(ew=ew+Math.imul(eK,tW)|0)+Math.imul(eY,t$)|0,eM=eM+Math.imul(eY,tW)|0,eV=eV+Math.imul(eW,tG)|0,ew=(ew=ew+Math.imul(eW,tK)|0)+Math.imul(eZ,tG)|0,eM=eM+Math.imul(eZ,tK)|0,eV=eV+Math.imul(ej,tX)|0,ew=(ew=ew+Math.imul(ej,tJ)|0)+Math.imul(eU,tX)|0,eM=eM+Math.imul(eU,tJ)|0;var aR=(eS+(eV=eV+Math.imul(eR,aH)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eR,aV)|0)+Math.imul(eB,aH)|0))<<13)|0;eS=((eM=eM+Math.imul(eB,aV)|0)+(ew>>>13)|0)+(aR>>>26)|0,aR&=67108863,eV=Math.imul(e7,tD),ew=(ew=Math.imul(e7,tP))+Math.imul(tH,tD)|0,eM=Math.imul(tH,tP),eV=eV+Math.imul(e5,tR)|0,ew=(ew=ew+Math.imul(e5,tB)|0)+Math.imul(e8,tR)|0,eM=eM+Math.imul(e8,tB)|0,eV=eV+Math.imul(e6,tj)|0,ew=(ew=ew+Math.imul(e6,tU)|0)+Math.imul(e4,tj)|0,eM=eM+Math.imul(e4,tU)|0,eV=eV+Math.imul(eJ,t$)|0,ew=(ew=ew+Math.imul(eJ,tW)|0)+Math.imul(eQ,t$)|0,eM=eM+Math.imul(eQ,tW)|0,eV=eV+Math.imul(eK,tG)|0,ew=(ew=ew+Math.imul(eK,tK)|0)+Math.imul(eY,tG)|0,eM=eM+Math.imul(eY,tK)|0,eV=eV+Math.imul(eW,tX)|0,ew=(ew=ew+Math.imul(eW,tJ)|0)+Math.imul(eZ,tX)|0,eM=eM+Math.imul(eZ,tJ)|0;var aF=(eS+(eV=eV+Math.imul(ej,aH)|0)|0)+((8191&(ew=(ew=ew+Math.imul(ej,aV)|0)+Math.imul(eU,aH)|0))<<13)|0;eS=((eM=eM+Math.imul(eU,aV)|0)+(ew>>>13)|0)+(aF>>>26)|0,aF&=67108863,eV=Math.imul(e7,tR),ew=(ew=Math.imul(e7,tB))+Math.imul(tH,tR)|0,eM=Math.imul(tH,tB),eV=eV+Math.imul(e5,tj)|0,ew=(ew=ew+Math.imul(e5,tU)|0)+Math.imul(e8,tj)|0,eM=eM+Math.imul(e8,tU)|0,eV=eV+Math.imul(e6,t$)|0,ew=(ew=ew+Math.imul(e6,tW)|0)+Math.imul(e4,t$)|0,eM=eM+Math.imul(e4,tW)|0,eV=eV+Math.imul(eJ,tG)|0,ew=(ew=ew+Math.imul(eJ,tK)|0)+Math.imul(eQ,tG)|0,eM=eM+Math.imul(eQ,tK)|0,eV=eV+Math.imul(eK,tX)|0,ew=(ew=ew+Math.imul(eK,tJ)|0)+Math.imul(eY,tX)|0,eM=eM+Math.imul(eY,tJ)|0;var aj=(eS+(eV=eV+Math.imul(eW,aH)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eW,aV)|0)+Math.imul(eZ,aH)|0))<<13)|0;eS=((eM=eM+Math.imul(eZ,aV)|0)+(ew>>>13)|0)+(aj>>>26)|0,aj&=67108863,eV=Math.imul(e7,tj),ew=(ew=Math.imul(e7,tU))+Math.imul(tH,tj)|0,eM=Math.imul(tH,tU),eV=eV+Math.imul(e5,t$)|0,ew=(ew=ew+Math.imul(e5,tW)|0)+Math.imul(e8,t$)|0,eM=eM+Math.imul(e8,tW)|0,eV=eV+Math.imul(e6,tG)|0,ew=(ew=ew+Math.imul(e6,tK)|0)+Math.imul(e4,tG)|0,eM=eM+Math.imul(e4,tK)|0,eV=eV+Math.imul(eJ,tX)|0,ew=(ew=ew+Math.imul(eJ,tJ)|0)+Math.imul(eQ,tX)|0,eM=eM+Math.imul(eQ,tJ)|0;var aU=(eS+(eV=eV+Math.imul(eK,aH)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eK,aV)|0)+Math.imul(eY,aH)|0))<<13)|0;eS=((eM=eM+Math.imul(eY,aV)|0)+(ew>>>13)|0)+(aU>>>26)|0,aU&=67108863,eV=Math.imul(e7,t$),ew=(ew=Math.imul(e7,tW))+Math.imul(tH,t$)|0,eM=Math.imul(tH,tW),eV=eV+Math.imul(e5,tG)|0,ew=(ew=ew+Math.imul(e5,tK)|0)+Math.imul(e8,tG)|0,eM=eM+Math.imul(e8,tK)|0,eV=eV+Math.imul(e6,tX)|0,ew=(ew=ew+Math.imul(e6,tJ)|0)+Math.imul(e4,tX)|0,eM=eM+Math.imul(e4,tJ)|0;var aq=(eS+(eV=eV+Math.imul(eJ,aH)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eJ,aV)|0)+Math.imul(eQ,aH)|0))<<13)|0;eS=((eM=eM+Math.imul(eQ,aV)|0)+(ew>>>13)|0)+(aq>>>26)|0,aq&=67108863,eV=Math.imul(e7,tG),ew=(ew=Math.imul(e7,tK))+Math.imul(tH,tG)|0,eM=Math.imul(tH,tK),eV=eV+Math.imul(e5,tX)|0,ew=(ew=ew+Math.imul(e5,tJ)|0)+Math.imul(e8,tX)|0,eM=eM+Math.imul(e8,tJ)|0;var a$=(eS+(eV=eV+Math.imul(e6,aH)|0)|0)+((8191&(ew=(ew=ew+Math.imul(e6,aV)|0)+Math.imul(e4,aH)|0))<<13)|0;eS=((eM=eM+Math.imul(e4,aV)|0)+(ew>>>13)|0)+(a$>>>26)|0,a$&=67108863,eV=Math.imul(e7,tX),ew=(ew=Math.imul(e7,tJ))+Math.imul(tH,tX)|0,eM=Math.imul(tH,tJ);var aW=(eS+(eV=eV+Math.imul(e5,aH)|0)|0)+((8191&(ew=(ew=ew+Math.imul(e5,aV)|0)+Math.imul(e8,aH)|0))<<13)|0;eS=((eM=eM+Math.imul(e8,aV)|0)+(ew>>>13)|0)+(aW>>>26)|0,aW&=67108863;var aZ=(eS+(eV=Math.imul(e7,aH))|0)+((8191&(ew=(ew=Math.imul(e7,aV))+Math.imul(tH,aH)|0))<<13)|0;return eS=((eM=Math.imul(tH,aV))+(ew>>>13)|0)+(aZ>>>26)|0,aZ&=67108863,e_[0]=aM,e_[1]=aC,e_[2]=ak,e_[3]=a_,e_[4]=aS,e_[5]=aE,e_[6]=aN,e_[7]=aI,e_[8]=aD,e_[9]=aP,e_[10]=aO,e_[11]=aR,e_[12]=aF,e_[13]=aj,e_[14]=aU,e_[15]=aq,e_[16]=a$,e_[17]=aW,e_[18]=aZ,0!==eS&&(e_[19]=eS,eH.length++),eH};function eF(eb,em,eH){eH.negative=em.negative^eb.negative,eH.length=eb.length+em.length;for(var eV=0,ew=0,eM=0;eM>>26)|0)>>>26,eC&=67108863}eH.words[eM]=eT,eV=eC,eC=ew}return 0!==eV?eH.words[eM]=eV:eH.length--,eH._strip()}function ej(eb,em,eH){return eF(eb,em,eH)}function eU(eb,em){this.x=eb,this.y=em}Math.imul||(eB=eR),eM.prototype.mulTo=function(eb,em){var eH=this.length+eb.length;return 10===this.length&&10===eb.length?eB(this,eb,em):eH<63?eR(this,eb,em):eH<1024?eF(this,eb,em):ej(this,eb,em)},eU.prototype.makeRBT=function(eb){for(var em=Array(eb),eH=eM.prototype._countBits(eb)-1,eV=0;eV>=1;return eV},eU.prototype.permute=function(eb,em,eH,eV,ew,eM){for(var eC=0;eC>>=1)ew++;return 1<>>=13,eH[2*eC+1]=8191&eM,eM>>>=13;for(eC=2*em;eC>=26,eH+=(eM/67108864|0)+(eC>>>26),this.words[ew]=67108863&eC}return 0!==eH&&(this.words[ew]=eH,this.length++),em?this.ineg():this},eM.prototype.muln=function(eb){return this.clone().imuln(eb)},eM.prototype.sqr=function(){return this.mul(this)},eM.prototype.isqr=function(){return this.imul(this.clone())},eM.prototype.pow=function(eb){var em=eO(eb);if(0===em.length)return new eM(1);for(var eH=this,eV=0;eV=0);var em,eH=eb%26,ew=(eb-eH)/26,eM=67108863>>>26-eH<<26-eH;if(0!==eH){var eC=0;for(em=0;em>>26-eH}eC&&(this.words[em]=eC,this.length++)}if(0!==ew){for(em=this.length-1;em>=0;em--)this.words[em+ew]=this.words[em];for(em=0;em=0),ew=em?(em-em%26)/26:0;var ew,eM=eb%26,eC=Math.min((eb-eM)/26,this.length),eT=67108863^67108863>>>eM<eC)for(this.length-=eC,eS=0;eS=0&&(0!==eE||eS>=ew);eS--){var eA=0|this.words[eS];this.words[eS]=eE<<26-eM|eA>>>eM,eE=eA&eT}return e_&&0!==eE&&(e_.words[e_.length++]=eE),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},eM.prototype.ishrn=function(eb,em,eH){return eV(0===this.negative),this.iushrn(eb,em,eH)},eM.prototype.shln=function(eb){return this.clone().ishln(eb)},eM.prototype.ushln=function(eb){return this.clone().iushln(eb)},eM.prototype.shrn=function(eb){return this.clone().ishrn(eb)},eM.prototype.ushrn=function(eb){return this.clone().iushrn(eb)},eM.prototype.testn=function(eb){eV("number"==typeof eb&&eb>=0);var em=eb%26,eH=(eb-em)/26,ew=1<=0);var em=eb%26,eH=(eb-em)/26;if(eV(0===this.negative,"imaskn works only with positive numbers"),this.length<=eH)return this;if(0!==em&&eH++,this.length=Math.min(eH,this.length),0!==em){var ew=67108863^67108863>>>em<=67108864;em++)this.words[em]-=67108864,em===this.length-1?this.words[em+1]=1:this.words[em+1]++;return this.length=Math.max(this.length,em+1),this},eM.prototype.isubn=function(eb){if(eV("number"==typeof eb),eV(eb<67108864),eb<0)return this.iaddn(-eb);if(0!==this.negative)return this.negative=0,this.iaddn(eb),this.negative=1,this;if(this.words[0]-=eb,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var em=0;em>26)-(e_/67108864|0),this.words[ew+eH]=67108863&eM}for(;ew>26,this.words[ew+eH]=67108863&eM;if(0===eT)return this._strip();for(eV(-1===eT),eT=0,ew=0;ew>26,this.words[ew]=67108863&eM;return this.negative=1,this._strip()},eM.prototype._wordDiv=function(eb,em){var eH,eV=this.length-eb.length,ew=this.clone(),eC=eb,eT=0|eC.words[eC.length-1];0!=(eV=26-this._countBits(eT))&&(eC=eC.ushln(eV),ew.iushln(eV),eT=0|eC.words[eC.length-1]);var e_=ew.length-eC.length;if("mod"!==em){(eH=new eM(null)).length=e_+1,eH.words=Array(eH.length);for(var eS=0;eS=0;eA--){var eN=(0|ew.words[eC.length+eA])*67108864+(0|ew.words[eC.length+eA-1]);for(eN=Math.min(eN/eT|0,67108863),ew._ishlnsubmul(eC,eN,eA);0!==ew.negative;)eN--,ew.negative=0,ew._ishlnsubmul(eC,1,eA),ew.isZero()||(ew.negative^=1);eH&&(eH.words[eA]=eN)}return eH&&eH._strip(),ew._strip(),"div"!==em&&0!==eV&&ew.iushrn(eV),{div:eH||null,mod:ew}},eM.prototype.divmod=function(eb,em,eH){var ew,eC,eT;return(eV(!eb.isZero()),this.isZero())?{div:new eM(0),mod:new eM(0)}:0!==this.negative&&0===eb.negative?(eT=this.neg().divmod(eb,em),"mod"!==em&&(ew=eT.div.neg()),"div"!==em&&(eC=eT.mod.neg(),eH&&0!==eC.negative&&eC.iadd(eb)),{div:ew,mod:eC}):0===this.negative&&0!==eb.negative?(eT=this.divmod(eb.neg(),em),"mod"!==em&&(ew=eT.div.neg()),{div:ew,mod:eT.mod}):(this.negative&eb.negative)!=0?(eT=this.neg().divmod(eb.neg(),em),"div"!==em&&(eC=eT.mod.neg(),eH&&0!==eC.negative&&eC.isub(eb)),{div:eT.div,mod:eC}):eb.length>this.length||0>this.cmp(eb)?{div:new eM(0),mod:this}:1===eb.length?"div"===em?{div:this.divn(eb.words[0]),mod:null}:"mod"===em?{div:null,mod:new eM(this.modrn(eb.words[0]))}:{div:this.divn(eb.words[0]),mod:new eM(this.modrn(eb.words[0]))}:this._wordDiv(eb,em)},eM.prototype.div=function(eb){return this.divmod(eb,"div",!1).div},eM.prototype.mod=function(eb){return this.divmod(eb,"mod",!1).mod},eM.prototype.umod=function(eb){return this.divmod(eb,"mod",!0).mod},eM.prototype.divRound=function(eb){var em=this.divmod(eb);if(em.mod.isZero())return em.div;var eH=0!==em.div.negative?em.mod.isub(eb):em.mod,eV=eb.ushrn(1),ew=eb.andln(1),eM=eH.cmp(eV);return eM<0||1===ew&&0===eM?em.div:0!==em.div.negative?em.div.isubn(1):em.div.iaddn(1)},eM.prototype.modrn=function(eb){var em=eb<0;em&&(eb=-eb),eV(eb<=67108863);for(var eH=67108864%eb,ew=0,eM=this.length-1;eM>=0;eM--)ew=(eH*ew+(0|this.words[eM]))%eb;return em?-ew:ew},eM.prototype.modn=function(eb){return this.modrn(eb)},eM.prototype.idivn=function(eb){var em=eb<0;em&&(eb=-eb),eV(eb<=67108863);for(var eH=0,ew=this.length-1;ew>=0;ew--){var eM=(0|this.words[ew])+67108864*eH;this.words[ew]=eM/eb|0,eH=eM%eb}return this._strip(),em?this.ineg():this},eM.prototype.divn=function(eb){return this.clone().idivn(eb)},eM.prototype.egcd=function(eb){eV(0===eb.negative),eV(!eb.isZero());var em=this,eH=eb.clone();em=0!==em.negative?em.umod(eb):em.clone();for(var ew=new eM(1),eC=new eM(0),eT=new eM(0),e_=new eM(1),eS=0;em.isEven()&&eH.isEven();)em.iushrn(1),eH.iushrn(1),++eS;for(var eE=eH.clone(),eA=em.clone();!em.isZero();){for(var eN=0,eI=1;(em.words[0]&eI)==0&&eN<26;++eN,eI<<=1);if(eN>0)for(em.iushrn(eN);eN-- >0;)(ew.isOdd()||eC.isOdd())&&(ew.iadd(eE),eC.isub(eA)),ew.iushrn(1),eC.iushrn(1);for(var eD=0,eP=1;(eH.words[0]&eP)==0&&eD<26;++eD,eP<<=1);if(eD>0)for(eH.iushrn(eD);eD-- >0;)(eT.isOdd()||e_.isOdd())&&(eT.iadd(eE),e_.isub(eA)),eT.iushrn(1),e_.iushrn(1);em.cmp(eH)>=0?(em.isub(eH),ew.isub(eT),eC.isub(e_)):(eH.isub(em),eT.isub(ew),e_.isub(eC))}return{a:eT,b:e_,gcd:eH.iushln(eS)}},eM.prototype._invmp=function(eb){eV(0===eb.negative),eV(!eb.isZero());var em,eH=this,ew=eb.clone();eH=0!==eH.negative?eH.umod(eb):eH.clone();for(var eC=new eM(1),eT=new eM(0),e_=ew.clone();eH.cmpn(1)>0&&ew.cmpn(1)>0;){for(var eS=0,eE=1;(eH.words[0]&eE)==0&&eS<26;++eS,eE<<=1);if(eS>0)for(eH.iushrn(eS);eS-- >0;)eC.isOdd()&&eC.iadd(e_),eC.iushrn(1);for(var eA=0,eN=1;(ew.words[0]&eN)==0&&eA<26;++eA,eN<<=1);if(eA>0)for(ew.iushrn(eA);eA-- >0;)eT.isOdd()&&eT.iadd(e_),eT.iushrn(1);eH.cmp(ew)>=0?(eH.isub(ew),eC.isub(eT)):(ew.isub(eH),eT.isub(eC))}return 0>(em=0===eH.cmpn(1)?eC:eT).cmpn(0)&&em.iadd(eb),em},eM.prototype.gcd=function(eb){if(this.isZero())return eb.abs();if(eb.isZero())return this.abs();var em=this.clone(),eH=eb.clone();em.negative=0,eH.negative=0;for(var eV=0;em.isEven()&&eH.isEven();eV++)em.iushrn(1),eH.iushrn(1);for(;;){for(;em.isEven();)em.iushrn(1);for(;eH.isEven();)eH.iushrn(1);var ew=em.cmp(eH);if(ew<0){var eM=em;em=eH,eH=eM}else if(0===ew||0===eH.cmpn(1))break;em.isub(eH)}return eH.iushln(eV)},eM.prototype.invm=function(eb){return this.egcd(eb).a.umod(eb)},eM.prototype.isEven=function(){return(1&this.words[0])==0},eM.prototype.isOdd=function(){return(1&this.words[0])==1},eM.prototype.andln=function(eb){return this.words[0]&eb},eM.prototype.bincn=function(eb){eV("number"==typeof eb);var em=eb%26,eH=(eb-em)/26,ew=1<>>26,eT&=67108863,this.words[eC]=eT}return 0!==eM&&(this.words[eC]=eM,this.length++),this},eM.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},eM.prototype.cmpn=function(eb){var em,eH=eb<0;if(0!==this.negative&&!eH)return -1;if(0===this.negative&&eH)return 1;if(this._strip(),this.length>1)em=1;else{eH&&(eb=-eb),eV(eb<=67108863,"Number is too big");var ew=0|this.words[0];em=ew===eb?0:eweb.length)return 1;if(this.length=0;eH--){var eV=0|this.words[eH],ew=0|eb.words[eH];if(eV!==ew){eVew&&(em=1);break}}return em},eM.prototype.gtn=function(eb){return 1===this.cmpn(eb)},eM.prototype.gt=function(eb){return 1===this.cmp(eb)},eM.prototype.gten=function(eb){return this.cmpn(eb)>=0},eM.prototype.gte=function(eb){return this.cmp(eb)>=0},eM.prototype.ltn=function(eb){return -1===this.cmpn(eb)},eM.prototype.lt=function(eb){return -1===this.cmp(eb)},eM.prototype.lten=function(eb){return 0>=this.cmpn(eb)},eM.prototype.lte=function(eb){return 0>=this.cmp(eb)},eM.prototype.eqn=function(eb){return 0===this.cmpn(eb)},eM.prototype.eq=function(eb){return 0===this.cmp(eb)},eM.red=function(eb){return new eX(eb)},eM.prototype.toRed=function(eb){return eV(!this.red,"Already a number in reduction context"),eV(0===this.negative,"red works only with positives"),eb.convertTo(this)._forceRed(eb)},eM.prototype.fromRed=function(){return eV(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},eM.prototype._forceRed=function(eb){return this.red=eb,this},eM.prototype.forceRed=function(eb){return eV(!this.red,"Already a number in reduction context"),this._forceRed(eb)},eM.prototype.redAdd=function(eb){return eV(this.red,"redAdd works only with red numbers"),this.red.add(this,eb)},eM.prototype.redIAdd=function(eb){return eV(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,eb)},eM.prototype.redSub=function(eb){return eV(this.red,"redSub works only with red numbers"),this.red.sub(this,eb)},eM.prototype.redISub=function(eb){return eV(this.red,"redISub works only with red numbers"),this.red.isub(this,eb)},eM.prototype.redShl=function(eb){return eV(this.red,"redShl works only with red numbers"),this.red.shl(this,eb)},eM.prototype.redMul=function(eb){return eV(this.red,"redMul works only with red numbers"),this.red._verify2(this,eb),this.red.mul(this,eb)},eM.prototype.redIMul=function(eb){return eV(this.red,"redMul works only with red numbers"),this.red._verify2(this,eb),this.red.imul(this,eb)},eM.prototype.redSqr=function(){return eV(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},eM.prototype.redISqr=function(){return eV(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},eM.prototype.redSqrt=function(){return eV(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},eM.prototype.redInvm=function(){return eV(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},eM.prototype.redNeg=function(){return eV(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},eM.prototype.redPow=function(eb){return eV(this.red&&!eb.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,eb)};var e$={k256:null,p224:null,p192:null,p25519:null};function eW(eb,em){this.name=eb,this.p=new eM(em,16),this.n=this.p.bitLength(),this.k=new eM(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function eZ(){eW.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function eG(){eW.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function eK(){eW.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function eY(){eW.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function eX(eb){if("string"==typeof eb){var em=eM._prime(eb);this.m=em.p,this.prime=em}else eV(eb.gtn(1),"modulus must be greater than 1"),this.m=eb,this.prime=null}function eJ(eb){eX.call(this,eb),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new eM(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)}eW.prototype._tmp=function(){var eb=new eM(null);return eb.words=Array(Math.ceil(this.n/13)),eb},eW.prototype.ireduce=function(eb){var em,eH=eb;do this.split(eH,this.tmp),em=(eH=(eH=this.imulK(eH)).iadd(this.tmp)).bitLength();while(em>this.n);var eV=em0?eH.isub(this.p):void 0!==eH.strip?eH.strip():eH._strip(),eH},eW.prototype.split=function(eb,em){eb.iushrn(this.n,0,em)},eW.prototype.imulK=function(eb){return eb.imul(this.k)},ew(eZ,eW),eZ.prototype.split=function(eb,em){for(var eH=4194303,eV=Math.min(eb.length,9),ew=0;ew>>22,eM=eC}eM>>>=22,eb.words[ew-10]=eM,0===eM&&eb.length>10?eb.length-=10:eb.length-=9},eZ.prototype.imulK=function(eb){eb.words[eb.length]=0,eb.words[eb.length+1]=0,eb.length+=2;for(var em=0,eH=0;eH>>=26,eb.words[eH]=ew,em=eV}return 0!==em&&(eb.words[eb.length++]=em),eb},eM._prime=function(eb){var em;if(e$[eb])return e$[eb];if("k256"===eb)em=new eZ;else if("p224"===eb)em=new eG;else if("p192"===eb)em=new eK;else if("p25519"===eb)em=new eY;else throw Error("Unknown prime "+eb);return e$[eb]=em,em},eX.prototype._verify1=function(eb){eV(0===eb.negative,"red works only with positives"),eV(eb.red,"red works only with red numbers")},eX.prototype._verify2=function(eb,em){eV((eb.negative|em.negative)==0,"red works only with positives"),eV(eb.red&&eb.red===em.red,"red works only with red numbers")},eX.prototype.imod=function(eb){return this.prime?this.prime.ireduce(eb)._forceRed(this):(eS(eb,eb.umod(this.m)._forceRed(this)),eb)},eX.prototype.neg=function(eb){return eb.isZero()?eb.clone():this.m.sub(eb)._forceRed(this)},eX.prototype.add=function(eb,em){this._verify2(eb,em);var eH=eb.add(em);return eH.cmp(this.m)>=0&&eH.isub(this.m),eH._forceRed(this)},eX.prototype.iadd=function(eb,em){this._verify2(eb,em);var eH=eb.iadd(em);return eH.cmp(this.m)>=0&&eH.isub(this.m),eH},eX.prototype.sub=function(eb,em){this._verify2(eb,em);var eH=eb.sub(em);return 0>eH.cmpn(0)&&eH.iadd(this.m),eH._forceRed(this)},eX.prototype.isub=function(eb,em){this._verify2(eb,em);var eH=eb.isub(em);return 0>eH.cmpn(0)&&eH.iadd(this.m),eH},eX.prototype.shl=function(eb,em){return this._verify1(eb),this.imod(eb.ushln(em))},eX.prototype.imul=function(eb,em){return this._verify2(eb,em),this.imod(eb.imul(em))},eX.prototype.mul=function(eb,em){return this._verify2(eb,em),this.imod(eb.mul(em))},eX.prototype.isqr=function(eb){return this.imul(eb,eb.clone())},eX.prototype.sqr=function(eb){return this.mul(eb,eb)},eX.prototype.sqrt=function(eb){if(eb.isZero())return eb.clone();var em=this.m.andln(3);if(eV(em%2==1),3===em){var eH=this.m.add(new eM(1)).iushrn(2);return this.pow(eb,eH)}for(var ew=this.m.subn(1),eC=0;!ew.isZero()&&0===ew.andln(1);)eC++,ew.iushrn(1);eV(!ew.isZero());var eT=new eM(1).toRed(this),e_=eT.redNeg(),eS=this.m.subn(1).iushrn(1),eE=this.m.bitLength();for(eE=new eM(2*eE*eE).toRed(this);0!==this.pow(eE,eS).cmp(e_);)eE.redIAdd(e_);for(var eA=this.pow(eE,ew),eN=this.pow(eb,ew.addn(1).iushrn(1)),eI=this.pow(eb,ew),eD=eC;0!==eI.cmp(eT);){for(var eP=eI,eO=0;0!==eP.cmp(eT);eO++)eP=eP.redSqr();eV(eO=0;ew--){for(var eE=em.words[ew],eA=eS-1;eA>=0;eA--){var eN=eE>>eA&1;if(eC!==eV[0]&&(eC=this.sqr(eC)),0===eN&&0===eT){e_=0;continue}eT<<=1,eT|=eN,(++e_===eH||0===ew&&0===eA)&&(eC=this.mul(eC,eV[eT]),e_=0,eT=0)}eS=26}return eC},eX.prototype.convertTo=function(eb){var em=eb.umod(this.m);return em===eb?em.clone():em},eX.prototype.convertFrom=function(eb){var em=eb.clone();return em.red=null,em},eM.mont=function(eb){return new eJ(eb)},ew(eJ,eX),eJ.prototype.convertTo=function(eb){return this.imod(eb.ushln(this.shift))},eJ.prototype.convertFrom=function(eb){var em=this.imod(eb.mul(this.rinv));return em.red=null,em},eJ.prototype.imul=function(eb,em){if(eb.isZero()||em.isZero())return eb.words[0]=0,eb.length=1,eb;var eH=eb.imul(em),eV=eH.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),ew=eH.isub(eV).iushrn(this.shift),eM=ew;return ew.cmp(this.m)>=0?eM=ew.isub(this.m):0>ew.cmpn(0)&&(eM=ew.iadd(this.m)),eM._forceRed(this)},eJ.prototype.mul=function(eb,em){if(eb.isZero()||em.isZero())return new eM(0)._forceRed(this);var eH=eb.mul(em),eV=eH.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),ew=eH.isub(eV).iushrn(this.shift),eC=ew;return ew.cmp(this.m)>=0?eC=ew.isub(this.m):0>ew.cmpn(0)&&(eC=ew.iadd(this.m)),eC._forceRed(this)},eJ.prototype.invm=function(eb){return this.imod(eb._invmp(this.m).mul(this.r2))._forceRed(this)}}(eb=eH.nmd(eb),this)},25532:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer,ew=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH),Object.defineProperty(eb,eV,{enumerable:!0,get:function(){return em[eH]}})}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),eM=this&&this.__setModuleDefault||(Object.create?function(eb,em){Object.defineProperty(eb,"default",{enumerable:!0,value:em})}:function(eb,em){eb.default=em}),eC=this&&this.__decorate||function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC},eT=this&&this.__importStar||function(eb){if(eb&&eb.__esModule)return eb;var em={};if(null!=eb)for(var eH in eb)"default"!==eH&&Object.hasOwnProperty.call(eb,eH)&&ew(em,eb,eH);return eM(em,eb),em},e_=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.deserializeUnchecked=em.deserialize=em.serialize=em.BinaryReader=em.BinaryWriter=em.BorshError=em.baseDecode=em.baseEncode=void 0;let eS=e_(eH(13550)),eE=e_(eH(77191)),eA=eT(eH(21127)),eN="function"!=typeof TextDecoder?eA.TextDecoder:TextDecoder,eI=new eN("utf-8",{fatal:!0});function eD(eb){return"string"==typeof eb&&(eb=eV.from(eb,"utf8")),eE.default.encode(eV.from(eb))}function eP(eb){return eV.from(eE.default.decode(eb))}em.baseEncode=eD,em.baseDecode=eP;let eO=1024;class eR extends Error{constructor(eb){super(eb),this.fieldPath=[],this.originalMessage=eb}addToFieldPath(eb){this.fieldPath.splice(0,0,eb),this.message=this.originalMessage+": "+this.fieldPath.join(".")}}em.BorshError=eR;class eB{constructor(){this.buf=eV.alloc(eO),this.length=0}maybeResize(){this.buf.length<16+this.length&&(this.buf=eV.concat([this.buf,eV.alloc(eO)]))}writeU8(eb){this.maybeResize(),this.buf.writeUInt8(eb,this.length),this.length+=1}writeU16(eb){this.maybeResize(),this.buf.writeUInt16LE(eb,this.length),this.length+=2}writeU32(eb){this.maybeResize(),this.buf.writeUInt32LE(eb,this.length),this.length+=4}writeU64(eb){this.maybeResize(),this.writeBuffer(eV.from(new eS.default(eb).toArray("le",8)))}writeU128(eb){this.maybeResize(),this.writeBuffer(eV.from(new eS.default(eb).toArray("le",16)))}writeU256(eb){this.maybeResize(),this.writeBuffer(eV.from(new eS.default(eb).toArray("le",32)))}writeU512(eb){this.maybeResize(),this.writeBuffer(eV.from(new eS.default(eb).toArray("le",64)))}writeBuffer(eb){this.buf=eV.concat([eV.from(this.buf.subarray(0,this.length)),eb,eV.alloc(eO)]),this.length+=eb.length}writeString(eb){this.maybeResize();let em=eV.from(eb,"utf8");this.writeU32(em.length),this.writeBuffer(em)}writeFixedArray(eb){this.writeBuffer(eV.from(eb))}writeArray(eb,em){for(let eH of(this.maybeResize(),this.writeU32(eb.length),eb))this.maybeResize(),em(eH)}toArray(){return this.buf.subarray(0,this.length)}}function eF(eb,em,eH){let eV=eH.value;eH.value=function(...eb){try{return eV.apply(this,eb)}catch(eb){if(eb instanceof RangeError){let em=eb.code;if(["ERR_BUFFER_OUT_OF_BOUNDS","ERR_OUT_OF_RANGE"].indexOf(em)>=0)throw new eR("Reached the end of buffer when deserializing")}throw eb}}}em.BinaryWriter=eB;class ej{constructor(eb){this.buf=eb,this.offset=0}readU8(){let eb=this.buf.readUInt8(this.offset);return this.offset+=1,eb}readU16(){let eb=this.buf.readUInt16LE(this.offset);return this.offset+=2,eb}readU32(){let eb=this.buf.readUInt32LE(this.offset);return this.offset+=4,eb}readU64(){let eb=this.readBuffer(8);return new eS.default(eb,"le")}readU128(){let eb=this.readBuffer(16);return new eS.default(eb,"le")}readU256(){let eb=this.readBuffer(32);return new eS.default(eb,"le")}readU512(){let eb=this.readBuffer(64);return new eS.default(eb,"le")}readBuffer(eb){if(this.offset+eb>this.buf.length)throw new eR(`Expected buffer length ${eb} isn't within bounds`);let em=this.buf.slice(this.offset,this.offset+eb);return this.offset+=eb,em}readString(){let eb=this.readU32(),em=this.readBuffer(eb);try{return eI.decode(em)}catch(eb){throw new eR(`Error decoding UTF-8 string: ${eb}`)}}readFixedArray(eb){return new Uint8Array(this.readBuffer(eb))}readArray(eb){let em=this.readU32(),eH=[];for(let eV=0;eV{e$(eb,em,eH,eV[0],ew)})}else if(void 0!==eV.kind)switch(eV.kind){case"option":null==eH?ew.writeU8(0):(ew.writeU8(1),e$(eb,em,eH,eV.type,ew));break;case"map":ew.writeU32(eH.size),eH.forEach((eH,eM)=>{e$(eb,em,eM,eV.key,ew),e$(eb,em,eH,eV.value,ew)});break;default:throw new eR(`FieldType ${eV} unrecognized`)}else eW(eb,eH,ew)}catch(eb){throw eb instanceof eR&&eb.addToFieldPath(em),eb}}function eW(eb,em,eH){if("function"==typeof em.borshSerialize){em.borshSerialize(eH);return}let eV=eb.get(em.constructor);if(!eV)throw new eR(`Class ${em.constructor.name} is missing in schema`);if("struct"===eV.kind)eV.fields.map(([eV,ew])=>{e$(eb,eV,em[eV],ew,eH)});else if("enum"===eV.kind){let ew=em[eV.field];for(let eM=0;eMeG(eb,em,eH[0],eV));{let em=[];for(let ew=0;ew=eV.values.length)throw new eR(`Enum index: ${ew} is out of range`);let[eM,eC]=eV.values[ew],eT=eG(eb,eM,eC,eH);return new em({[eM]:eT})}throw new eR(`Unexpected schema kind: ${eV.kind} for ${em.constructor.name}`)}function eY(eb,em,eH,eV=ej){let ew=new eV(eH),eM=eK(eb,em,ew);if(ew.offset1)throw Error("this method is unavailabel on semaphores with concurrency > 1; use the scoped release returned by acquire instead");if(this._currentReleaser){var eb=this._currentReleaser;this._currentReleaser=void 0,eb()}},eb.prototype._dispatch=function(){var eb=this,em=this._queue.shift();if(em){var ew=!1;this._currentReleaser=function(){ew||(ew=!0,eb._value++,eb._dispatch())},em([this._value--,this._currentReleaser])}},eb}();em.default=eC},48125:function(eb,em,ew){"use strict";eM={value:!0},eM=eM=em.WU=void 0;var eM,eC=ew(85078);Object.defineProperty(em,"WU",{enumerable:!0,get:function(){return eC.default}});var eT=ew(2403);eM={enumerable:!0,get:function(){return eT.default}};var e_=ew(41960);eM={enumerable:!0,get:function(){return e_.withTimeout}}},41960:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.withTimeout=void 0;var eM=ew(97582);function eC(eb,em,ew){var eC=this;return void 0===ew&&(ew=Error("timeout")),{acquire:function(){return new Promise(function(eT,e_){return eM.__awaiter(eC,void 0,void 0,function(){var eC,eE;return eM.__generator(this,function(eM){switch(eM.label){case 0:return eC=!1,setTimeout(function(){eC=!0,e_(ew)},em),[4,eb.acquire()];case 1:return eE=eM.sent(),eC?(Array.isArray(eE)?eE[1]:eE)():eT(eE),[2]}})})})},runExclusive:function(eb){return eM.__awaiter(this,void 0,void 0,function(){var em,ew;return eM.__generator(this,function(eM){switch(eM.label){case 0:em=function(){},eM.label=1;case 1:return eM.trys.push([1,,7,8]),[4,this.acquire()];case 2:if(!Array.isArray(ew=eM.sent()))return[3,4];return em=ew[1],[4,eb(ew[0])];case 3:case 5:return[2,eM.sent()];case 4:return em=ew,[4,eb()];case 6:return[3,8];case 7:return em(),[7];case 8:return[2]}})})},release:function(){eb.release()},isLocked:function(){return eb.isLocked()}}}em.withTimeout=eC},52427:function(eb,em,ew){"use strict";var eM=this&&this.__awaiter||function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};Object.defineProperty(em,"__esModule",{value:!0}),em.AdminAPI=void 0;let eC=ew(98769);class eT extends eC.JRPCAPI{constructor(eb,em="/ext/admin"){super(eb,em),this.alias=(eb,em)=>eM(this,void 0,void 0,function*(){let ew={endpoint:eb,alias:em},eM=yield this.callMethod("admin.alias",ew);return eM.data.result.success?eM.data.result.success:eM.data.result}),this.aliasChain=(eb,em)=>eM(this,void 0,void 0,function*(){let ew={chain:eb,alias:em},eM=yield this.callMethod("admin.aliasChain",ew);return eM.data.result.success?eM.data.result.success:eM.data.result}),this.getChainAliases=eb=>eM(this,void 0,void 0,function*(){let em={chain:eb},ew=yield this.callMethod("admin.getChainAliases",em);return ew.data.result.aliases?ew.data.result.aliases:ew.data.result}),this.getLoggerLevel=eb=>eM(this,void 0,void 0,function*(){let em={};void 0!==eb&&(em.loggerName=eb);let ew=yield this.callMethod("admin.getLoggerLevel",em);return ew.data.result}),this.loadVMs=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("admin.loadVMs");return eb.data.result.aliases?eb.data.result.aliases:eb.data.result}),this.lockProfile=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("admin.lockProfile");return eb.data.result.success?eb.data.result.success:eb.data.result}),this.memoryProfile=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("admin.memoryProfile");return eb.data.result.success?eb.data.result.success:eb.data.result}),this.setLoggerLevel=(eb,em,ew)=>eM(this,void 0,void 0,function*(){let eM={};void 0!==eb&&(eM.loggerName=eb),void 0!==em&&(eM.logLevel=em),void 0!==ew&&(eM.displayLevel=ew);let eC=yield this.callMethod("admin.setLoggerLevel",eM);return eC.data.result}),this.startCPUProfiler=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("admin.startCPUProfiler");return eb.data.result.success?eb.data.result.success:eb.data.result}),this.stopCPUProfiler=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("admin.stopCPUProfiler");return eb.data.result.success?eb.data.result.success:eb.data.result})}}em.AdminAPI=eT},87580:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),eC(ew(52427),em)},86516:function(eb,em,ew){"use strict";var eM=this&&this.__awaiter||function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};Object.defineProperty(em,"__esModule",{value:!0}),em.AuthAPI=void 0;let eC=ew(98769);class eT extends eC.JRPCAPI{constructor(eb,em="/ext/auth"){super(eb,em),this.newToken=(eb,em)=>eM(this,void 0,void 0,function*(){let ew={password:eb,endpoints:em},eM=yield this.callMethod("auth.newToken",ew);return eM.data.result.token?eM.data.result.token:eM.data.result}),this.revokeToken=(eb,em)=>eM(this,void 0,void 0,function*(){let ew={password:eb,token:em},eM=yield this.callMethod("auth.revokeToken",ew);return eM.data.result.success}),this.changePassword=(eb,em)=>eM(this,void 0,void 0,function*(){let ew={oldPassword:eb,newPassword:em},eM=yield this.callMethod("auth.changePassword",ew);return eM.data.result.success})}}em.AuthAPI=eT},18493:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),eC(ew(86516),em)},8928:function(eb,em,ew){"use strict";var eM=this&&this.__awaiter||function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})},eC=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.AVMAPI=void 0;let eT=eC(ew(13550)),e_=ew(48764),eE=eC(ew(89734)),eS=ew(77300),eA=ew(62064),eN=ew(67715),eI=ew(47809),eD=ew(77673),eO=ew(3421),eP=ew(98769),eR=ew(89858),eB=ew(49009),eF=ew(77556),ej=ew(3079),eU=eE.default.getInstance(),eV=ej.Serialization.getInstance();class eH extends eP.JRPCAPI{constructor(eb,em="/ext/bc/X",ew=""){super(eb,em),this.keychain=new eN.KeyChain("",""),this.blockchainID="",this.blockchainAlias=void 0,this.AVAXAssetID=void 0,this.txFee=void 0,this.creationTxFee=void 0,this.mintTxFee=void 0,this.getBlockchainAlias=()=>{if(void 0===this.blockchainAlias){let eb=this.core.getNetworkID();if(!(eb in eR.Defaults.network)||!(this.blockchainID in eR.Defaults.network[`${eb}`]))return;this.blockchainAlias=eR.Defaults.network[`${eb}`][this.blockchainID].alias}return this.blockchainAlias},this.setBlockchainAlias=eb=>{this.blockchainAlias=eb},this.getBlockchainID=()=>this.blockchainID,this.refreshBlockchainID=eb=>{let em=this.core.getNetworkID();return void 0===eb&&void 0!==eR.Defaults.network[`${em}`]?(this.blockchainID=eR.Defaults.network[`${em}`].X.blockchainID,!0):"string"==typeof eb&&(this.blockchainID=eb,!0)},this.parseAddress=eb=>{let em=this.getBlockchainAlias(),ew=this.getBlockchainID();return eU.parseAddress(eb,ew,em,eA.AVMConstants.ADDRESSLENGTH)},this.addressFromBuffer=eb=>{let em=this.getBlockchainAlias()?this.getBlockchainAlias():this.getBlockchainID(),ew="bech32",eM=this.core.getHRP();return eV.bufferToType(eb,ew,eM,em)},this.getAVAXAssetID=(eb=!1)=>eM(this,void 0,void 0,function*(){if(void 0===this.AVAXAssetID||eb){let eb=yield this.getAssetDescription(eR.PrimaryAssetAlias);this.AVAXAssetID=eb.assetID}return this.AVAXAssetID}),this.setAVAXAssetID=eb=>{"string"==typeof eb&&(eb=eU.cb58Decode(eb)),this.AVAXAssetID=eb},this.getDefaultTxFee=()=>new eT.default(this.core.getNetworkID() in eR.Defaults.network?eR.Defaults.network[this.core.getNetworkID()].X.txFee:0),this.getTxFee=()=>(void 0===this.txFee&&(this.txFee=this.getDefaultTxFee()),this.txFee),this.setTxFee=eb=>{this.txFee=eb},this.getDefaultCreationTxFee=()=>new eT.default(this.core.getNetworkID() in eR.Defaults.network?eR.Defaults.network[this.core.getNetworkID()].X.creationTxFee:0),this.getDefaultMintTxFee=()=>new eT.default(this.core.getNetworkID() in eR.Defaults.network?eR.Defaults.network[this.core.getNetworkID()].X.mintTxFee:0),this.getMintTxFee=()=>(void 0===this.mintTxFee&&(this.mintTxFee=this.getDefaultMintTxFee()),this.mintTxFee),this.getCreationTxFee=()=>(void 0===this.creationTxFee&&(this.creationTxFee=this.getDefaultCreationTxFee()),this.creationTxFee),this.setMintTxFee=eb=>{this.mintTxFee=eb},this.setCreationTxFee=eb=>{this.creationTxFee=eb},this.keyChain=()=>this.keychain,this.newKeyChain=()=>{let eb=this.getBlockchainAlias();return eb?this.keychain=new eN.KeyChain(this.core.getHRP(),eb):this.keychain=new eN.KeyChain(this.core.getHRP(),this.blockchainID),this.keychain},this.checkGooseEgg=(eb,em=new eT.default(0))=>eM(this,void 0,void 0,function*(){let ew=yield this.getAVAXAssetID(),eM=em.gt(new eT.default(0))?em:eb.getOutputTotal(ew),eC=eb.getBurn(ew);return!!(eC.lte(eR.ONEAVAX.mul(new eT.default(10)))||eC.lte(eM))}),this.getBalance=(eb,em,ew=!1)=>eM(this,void 0,void 0,function*(){if(void 0===this.parseAddress(eb))throw new eF.AddressError("Error - AVMAPI.getBalance: Invalid address format");let eM={address:eb,assetID:em,includePartial:ew},eC=yield this.callMethod("avm.getBalance",eM);return eC.data.result}),this.createAddress=(eb,em)=>eM(this,void 0,void 0,function*(){let ew={username:eb,password:em},eM=yield this.callMethod("avm.createAddress",ew);return eM.data.result.address}),this.createFixedCapAsset=(eb,em,ew,eC,eT,e_)=>eM(this,void 0,void 0,function*(){let eM={name:ew,symbol:eC,denomination:eT,username:eb,password:em,initialHolders:e_},eE=yield this.callMethod("avm.createFixedCapAsset",eM);return eE.data.result.assetID}),this.createVariableCapAsset=(eb,em,ew,eC,eT,e_)=>eM(this,void 0,void 0,function*(){let eM={name:ew,symbol:eC,denomination:eT,username:eb,password:em,minterSets:e_},eE=yield this.callMethod("avm.createVariableCapAsset",eM);return eE.data.result.assetID}),this.createNFTAsset=(eb,em,ew,eC,eT,e_,eE)=>eM(this,void 0,void 0,function*(){let eM={username:eb,password:em,name:eT,symbol:e_,minterSet:eE},eS="createNFTAsset";if(void 0!==(ew=this._cleanAddressArray(ew,eS))&&(eM.from=ew),void 0!==eC){if(void 0===this.parseAddress(eC))throw new eF.AddressError("Error - AVMAPI.createNFTAsset: Invalid address format");eM.changeAddr=eC}let eA=yield this.callMethod("avm.createNFTAsset",eM);return eA.data.result.assetID}),this.mint=(eb,em,ew,eC,e_,eE)=>eM(this,void 0,void 0,function*(){let eM,eS;eM="string"!=typeof eC?eU.cb58Encode(eC):eC,eS="number"==typeof ew?new eT.default(ew):ew;let eA={username:eb,password:em,amount:eS,assetID:eM,to:e_,minters:eE},eN=yield this.callMethod("avm.mint",eA);return eN.data.result.txID}),this.mintNFT=(eb,em,ew,eC,eT,e_,eE,eS="hex")=>eM(this,void 0,void 0,function*(){let eM;if(void 0===this.parseAddress(eE))throw new eF.AddressError("Error - AVMAPI.mintNFT: Invalid address format");eM="string"!=typeof e_?eU.cb58Encode(e_):e_;let eA={username:eb,password:em,assetID:eM,payload:eT,to:eE,encoding:eS},eN="mintNFT";if(void 0!==(ew=this._cleanAddressArray(ew,eN))&&(eA.from=ew),void 0!==eC){if(void 0===this.parseAddress(eC))throw new eF.AddressError("Error - AVMAPI.mintNFT: Invalid address format");eA.changeAddr=eC}let eI=yield this.callMethod("avm.mintNFT",eA);return eI.data.result.txID}),this.sendNFT=(eb,em,ew,eC,eT,e_,eE)=>eM(this,void 0,void 0,function*(){let eM;if(void 0===this.parseAddress(eE))throw new eF.AddressError("Error - AVMAPI.sendNFT: Invalid address format");eM="string"!=typeof eT?eU.cb58Encode(eT):eT;let eS={username:eb,password:em,assetID:eM,groupID:e_,to:eE},eA="sendNFT";if(void 0!==(ew=this._cleanAddressArray(ew,eA))&&(eS.from=ew),void 0!==eC){if(void 0===this.parseAddress(eC))throw new eF.AddressError("Error - AVMAPI.sendNFT: Invalid address format");eS.changeAddr=eC}let eN=yield this.callMethod("avm.sendNFT",eS);return eN.data.result.txID}),this.exportKey=(eb,em,ew)=>eM(this,void 0,void 0,function*(){if(void 0===this.parseAddress(ew))throw new eF.AddressError("Error - AVMAPI.exportKey: Invalid address format");let eM={username:eb,password:em,address:ew},eC=yield this.callMethod("avm.exportKey",eM);return eC.data.result.privateKey}),this.importKey=(eb,em,ew)=>eM(this,void 0,void 0,function*(){let eM={username:eb,password:em,privateKey:ew},eC=yield this.callMethod("avm.importKey",eM);return eC.data.result.address}),this.export=(eb,em,ew,eC,eT)=>eM(this,void 0,void 0,function*(){let eM={username:eb,password:em,to:ew,amount:eC,assetID:eT},e_=yield this.callMethod("avm.export",eM);return e_.data.result.txID}),this.import=(eb,em,ew,eC)=>eM(this,void 0,void 0,function*(){let eM={username:eb,password:em,to:ew,sourceChain:eC},eT=yield this.callMethod("avm.import",eM);return eT.data.result.txID}),this.listAddresses=(eb,em)=>eM(this,void 0,void 0,function*(){let ew={username:eb,password:em},eM=yield this.callMethod("avm.listAddresses",ew);return eM.data.result.addresses}),this.getAllBalances=eb=>eM(this,void 0,void 0,function*(){if(void 0===this.parseAddress(eb))throw new eF.AddressError("Error - AVMAPI.getAllBalances: Invalid address format");let em={address:eb},ew=yield this.callMethod("avm.getAllBalances",em);return ew.data.result.balances}),this.getAssetDescription=eb=>eM(this,void 0,void 0,function*(){let em;em="string"!=typeof eb?eU.cb58Encode(eb):eb;let ew={assetID:em},eM=yield this.callMethod("avm.getAssetDescription",ew);return{name:eM.data.result.name,symbol:eM.data.result.symbol,assetID:eU.cb58Decode(eM.data.result.assetID),denomination:parseInt(eM.data.result.denomination,10)}}),this.getTx=(eb,em="hex")=>eM(this,void 0,void 0,function*(){let ew={txID:eb,encoding:em},eM=yield this.callMethod("avm.getTx",ew);return eM.data.result.tx}),this.getTxStatus=eb=>eM(this,void 0,void 0,function*(){let em={txID:eb},ew=yield this.callMethod("avm.getTxStatus",em);return ew.data.result.status}),this.getUTXOs=(eb,em,ew=0,eC,eT,eE="hex")=>eM(this,void 0,void 0,function*(){"string"==typeof eb&&(eb=[eb]);let eM={addresses:eb,limit:ew,encoding:eE};void 0!==eC&&eC&&(eM.startIndex=eC),void 0!==em&&(eM.sourceChain=em);let eA=yield this.callMethod("avm.getUTXOs",eM),eN=new eS.UTXOSet,eI=eA.data.result.utxos;if(eT&&"object"==typeof eT){if(this.db.has(eT.getName())){let eb=this.db.get(eT.getName());if(Array.isArray(eb)){eN.addArray(eI);let em=new eS.UTXOSet;em.addArray(eb),em.mergeByRule(eN,eT.getMergeRule()),eI=em.getAllUTXOStrings()}}this.db.set(eT.getName(),eI,eT.getOverwrite())}if(eI.length>0&&"0x"===eI[0].substring(0,2)){let eb=[];eI.forEach(em=>{eb.push(eU.cb58Encode(new e_.Buffer(em.slice(2),"hex")))}),eN.addArray(eb,!1)}else eN.addArray(eI,!1);return eA.data.result.utxos=eN,eA.data.result}),this.buildBaseTx=(eb,em,ew,eC,e_,eE,eS,eA=(0,eO.UnixNow)(),eN=new eT.default(0),eI=1)=>eM(this,void 0,void 0,function*(){let eM="buildBaseTx",eT=this._cleanAddressArray(eC,eM).map(eb=>eU.stringToAddress(eb)),eO=this._cleanAddressArray(e_,eM).map(eb=>eU.stringToAddress(eb)),eP=this._cleanAddressArray(eE,eM).map(eb=>eU.stringToAddress(eb));"string"==typeof ew&&(ew=eU.cb58Decode(ew)),eS instanceof eD.PayloadBase&&(eS=eS.getPayload());let eR=this.core.getNetworkID(),eB=eU.cb58Decode(this.blockchainID),ej=this.getTxFee(),eV=yield this.getAVAXAssetID(),eH=eb.buildBaseTx(eR,eB,em,ew,eT,eO,eP,ej,eV,eS,eA,eN,eI);if(!(yield this.checkGooseEgg(eH)))throw new eF.GooseEggCheckError("Error - AVMAPI.buildBaseTx:Failed Goose Egg Check");return eH}),this.buildNFTTransferTx=(eb,em,ew,eC,e_,eE,eS=(0,eO.UnixNow)(),eA=new eT.default(0),eN=1)=>eM(this,void 0,void 0,function*(){let eM="buildNFTTransferTx",eT=this._cleanAddressArray(em,eM).map(eb=>eU.stringToAddress(eb)),eI=this._cleanAddressArray(ew,eM).map(eb=>eU.stringToAddress(eb)),eO=this._cleanAddressArray(eC,eM).map(eb=>eU.stringToAddress(eb));eE instanceof eD.PayloadBase&&(eE=eE.getPayload());let eP=yield this.getAVAXAssetID(),eR=[];"string"==typeof e_?eR=[e_]:Array.isArray(e_)&&(eR=e_);let eB=eb.buildNFTTransferTx(this.core.getNetworkID(),eU.cb58Decode(this.blockchainID),eT,eI,eO,eR,this.getTxFee(),eP,eE,eS,eA,eN);if(!(yield this.checkGooseEgg(eB)))throw new eF.GooseEggCheckError("Error - AVMAPI.buildNFTTransferTx:Failed Goose Egg Check");return eB}),this.buildImportTx=(eb,em,ew,eC,eE,eS,eA,eN=(0,eO.UnixNow)(),eI=new eT.default(0),eP=1)=>eM(this,void 0,void 0,function*(){let eM;let eT="buildImportTx",eO=this._cleanAddressArray(eC,eT).map(eb=>eU.stringToAddress(eb)),eR=this._cleanAddressArray(eE,eT).map(eb=>eU.stringToAddress(eb)),eB=this._cleanAddressArray(eS,eT).map(eb=>eU.stringToAddress(eb));if(void 0===ew)throw new eF.ChainIdError("Error - AVMAPI.buildImportTx: Source ChainID is undefined.");if("string"==typeof ew)eM=ew,ew=eU.cb58Decode(ew);else if(!(ew instanceof e_.Buffer))throw new eF.ChainIdError("Error - AVMAPI.buildImportTx: Invalid destinationChain type: "+typeof ew);let ej=(yield this.getUTXOs(em,eM,0,void 0)).utxos,eV=yield this.getAVAXAssetID(),eH=ej.getAllUTXOs();if(0===eH.length)throw new eF.NoAtomicUTXOsError("Error - AVMAPI.buildImportTx: No atomic UTXOs to import from "+eM+" using addresses: "+em.join(", "));eA instanceof eD.PayloadBase&&(eA=eA.getPayload());let e$=eb.buildImportTx(this.core.getNetworkID(),eU.cb58Decode(this.blockchainID),eO,eR,eB,eH,ew,this.getTxFee(),eV,eA,eN,eI,eP);if(!(yield this.checkGooseEgg(e$)))throw new eF.GooseEggCheckError("Error - AVMAPI.buildImportTx:Failed Goose Egg Check");return e$}),this.buildExportTx=(eb,em,ew,eC,eE,eS,eA,eN=(0,eO.UnixNow)(),eI=new eT.default(0),eP=1,eR)=>eM(this,void 0,void 0,function*(){let eM={};if(eC.map(eb=>{eM[eb.split("-")[0]]=!0}),1!==Object.keys(eM).length)throw new eF.AddressError("Error - AVMAPI.buildExportTx: To addresses must have the same chainID prefix.");if(void 0===ew)throw new eF.ChainIdError("Error - AVMAPI.buildExportTx: Destination ChainID is undefined.");if("string"==typeof ew)ew=eU.cb58Decode(ew);else if(!(ew instanceof e_.Buffer))throw new eF.ChainIdError("Error - AVMAPI.buildExportTx: Invalid destinationChain type: "+typeof ew);if(32!==ew.length)throw new eF.ChainIdError("Error - AVMAPI.buildExportTx: Destination ChainID must be 32 bytes in length.");let eT=[];eC.map(eb=>{eT.push(eU.stringToAddress(eb))});let eO="buildExportTx",eB=this._cleanAddressArray(eE,eO).map(eb=>eU.stringToAddress(eb)),ej=this._cleanAddressArray(eS,eO).map(eb=>eU.stringToAddress(eb));eA instanceof eD.PayloadBase&&(eA=eA.getPayload());let eV=yield this.getAVAXAssetID();void 0===eR&&(eR=eU.cb58Encode(eV));let eH=this.core.getNetworkID(),e$=eU.cb58Decode(this.blockchainID),eW=eU.cb58Decode(eR),eZ=this.getTxFee(),eK=eb.buildExportTx(eH,e$,em,eW,eT,eB,ej,ew,eZ,eV,eA,eN,eI,eP);if(!(yield this.checkGooseEgg(eK)))throw new eF.GooseEggCheckError("Error - AVMAPI.buildExportTx:Failed Goose Egg Check");return eK}),this.buildCreateAssetTx=(eb,em,ew,eC,eT,e_,eE,eS,eN,eI=(0,eO.UnixNow)())=>eM(this,void 0,void 0,function*(){let eM="buildCreateAssetTx",eO=this._cleanAddressArray(em,eM).map(eb=>eU.stringToAddress(eb)),eP=this._cleanAddressArray(ew,eM).map(eb=>eU.stringToAddress(eb));if(eN instanceof eD.PayloadBase&&(eN=eN.getPayload()),e_.length>eA.AVMConstants.SYMBOLMAXLEN)throw new eF.SymbolError("Error - AVMAPI.buildCreateAssetTx: Symbols may not exceed length of "+eA.AVMConstants.SYMBOLMAXLEN);if(eT.length>eA.AVMConstants.ASSETNAMELEN)throw new eF.NameError("Error - AVMAPI.buildCreateAssetTx: Names may not exceed length of "+eA.AVMConstants.ASSETNAMELEN);let eR=this.core.getNetworkID(),eB=eU.cb58Decode(this.blockchainID),ej=yield this.getAVAXAssetID(),eV=this.getDefaultCreationTxFee(),eH=eb.buildCreateAssetTx(eR,eB,eO,eP,eC,eT,e_,eE,eS,eV,ej,eN,eI);if(!(yield this.checkGooseEgg(eH,eV)))throw new eF.GooseEggCheckError("Error - AVMAPI.buildCreateAssetTx:Failed Goose Egg Check");return eH}),this.buildSECPMintTx=(eb,em,ew,eC,eT,e_,eE,eS=(0,eO.UnixNow)())=>eM(this,void 0,void 0,function*(){let eM="buildSECPMintTx",eA=this._cleanAddressArray(eC,eM).map(eb=>eU.stringToAddress(eb)),eN=this._cleanAddressArray(eT,eM).map(eb=>eU.stringToAddress(eb));eE instanceof eD.PayloadBase&&(eE=eE.getPayload());let eI=this.core.getNetworkID(),eO=eU.cb58Decode(this.blockchainID),eP=yield this.getAVAXAssetID(),eR=this.getMintTxFee(),eB=eb.buildSECPMintTx(eI,eO,em,ew,eA,eN,e_,eR,eP,eE,eS);if(!(yield this.checkGooseEgg(eB)))throw new eF.GooseEggCheckError("Error - AVMAPI.buildSECPMintTx:Failed Goose Egg Check");return eB}),this.buildCreateNFTAssetTx=(eb,em,ew,eC,e_,eE,eS,eN=(0,eO.UnixNow)(),eI=new eT.default(0))=>eM(this,void 0,void 0,function*(){let eM="buildCreateNFTAssetTx",eT=this._cleanAddressArray(em,eM).map(eb=>eU.stringToAddress(eb)),eO=this._cleanAddressArray(ew,eM).map(eb=>eU.stringToAddress(eb));if(eS instanceof eD.PayloadBase&&(eS=eS.getPayload()),e_.length>eA.AVMConstants.ASSETNAMELEN)throw new eF.NameError("Error - AVMAPI.buildCreateNFTAssetTx: Names may not exceed length of "+eA.AVMConstants.ASSETNAMELEN);if(eE.length>eA.AVMConstants.SYMBOLMAXLEN)throw new eF.SymbolError("Error - AVMAPI.buildCreateNFTAssetTx: Symbols may not exceed length of "+eA.AVMConstants.SYMBOLMAXLEN);let eP=this.core.getNetworkID(),eR=eU.cb58Decode(this.blockchainID),eB=this.getCreationTxFee(),ej=yield this.getAVAXAssetID(),eV=eb.buildCreateNFTAssetTx(eP,eR,eT,eO,eC,e_,eE,eB,ej,eS,eN,eI);if(!(yield this.checkGooseEgg(eV,eB)))throw new eF.GooseEggCheckError("Error - AVMAPI.buildCreateNFTAssetTx:Failed Goose Egg Check");return eV}),this.buildCreateNFTMintTx=(eb,em,ew,eC,eT,e_=0,eE,eS,eA=(0,eO.UnixNow)())=>eM(this,void 0,void 0,function*(){let eM="buildCreateNFTMintTx",eN=this._cleanAddressArray(ew,eM).map(eb=>eU.stringToAddress(eb)),eI=this._cleanAddressArray(eC,eM).map(eb=>eU.stringToAddress(eb));eS instanceof eD.PayloadBase&&(eS=eS.getPayload()),eE instanceof eD.PayloadBase&&(eE=eE.getPayload()),"string"==typeof eT&&(eT=[eT]);let eO=yield this.getAVAXAssetID();em instanceof eB.OutputOwners&&(em=[em]);let eP=this.core.getNetworkID(),eR=eU.cb58Decode(this.blockchainID),ej=this.getTxFee(),eV=eb.buildCreateNFTMintTx(eP,eR,em,eN,eI,eT,e_,eE,ej,eO,eS,eA);if(!(yield this.checkGooseEgg(eV)))throw new eF.GooseEggCheckError("Error - AVMAPI.buildCreateNFTMintTx:Failed Goose Egg Check");return eV}),this.signTx=eb=>eb.sign(this.keychain),this.issueTx=eb=>eM(this,void 0,void 0,function*(){let em="";if("string"==typeof eb)em=eb;else if(eb instanceof e_.Buffer){let ew=new eI.Tx;ew.fromBuffer(eb),em=ew.toStringHex()}else if(eb instanceof eI.Tx)em=eb.toStringHex();else throw new eF.TransactionError("Error - AVMAPI.issueTx: provided tx is not expected type of string, Buffer, or Tx");let ew={tx:em.toString(),encoding:"hex"},eM=yield this.callMethod("avm.issueTx",ew);return eM.data.result.txID}),this.getAddressTxs=(eb,em,ew,eC)=>eM(this,void 0,void 0,function*(){let eM,eT;eM="string"!=typeof eC?eU.cb58Encode(eC):eC,eT="number"!=typeof ew?0:ew;let e_={address:eb,cursor:em,pageSize:eT,assetID:eM},eE=yield this.callMethod("avm.getAddressTxs",e_);return eE.data.result}),this.send=(eb,em,ew,eC,e_,eE,eS,eA)=>eM(this,void 0,void 0,function*(){let eM,eN;if(void 0===this.parseAddress(e_))throw new eF.AddressError("Error - AVMAPI.send: Invalid address format");eM="string"!=typeof ew?eU.cb58Encode(ew):ew,eN="number"==typeof eC?new eT.default(eC):eC;let eI={username:eb,password:em,assetID:eM,amount:eN.toString(10),to:e_},eD="send";if(void 0!==(eE=this._cleanAddressArray(eE,eD))&&(eI.from=eE),void 0!==eS){if(void 0===this.parseAddress(eS))throw new eF.AddressError("Error - AVMAPI.send: Invalid address format");eI.changeAddr=eS}void 0!==eA&&("string"!=typeof eA?eI.memo=eU.cb58Encode(eA):eI.memo=eA);let eO=yield this.callMethod("avm.send",eI);return eO.data.result}),this.sendMultiple=(eb,em,ew,eC,e_,eE)=>eM(this,void 0,void 0,function*(){let eM,eS;let eA=[];ew.forEach(eb=>{if(void 0===this.parseAddress(eb.to))throw new eF.AddressError("Error - AVMAPI.sendMultiple: Invalid address format");eM="string"!=typeof eb.assetID?eU.cb58Encode(eb.assetID):eb.assetID,eS="number"==typeof eb.amount?new eT.default(eb.amount):eb.amount,eA.push({to:eb.to,assetID:eM,amount:eS.toString(10)})});let eN={username:eb,password:em,outputs:eA},eI="send";if(void 0!==(eC=this._cleanAddressArray(eC,eI))&&(eN.from=eC),void 0!==e_){if(void 0===this.parseAddress(e_))throw new eF.AddressError("Error - AVMAPI.send: Invalid address format");eN.changeAddr=e_}void 0!==eE&&("string"!=typeof eE?eN.memo=eU.cb58Encode(eE):eN.memo=eE);let eD=yield this.callMethod("avm.sendMultiple",eN);return eD.data.result}),this.buildGenesis=eb=>eM(this,void 0,void 0,function*(){let em={genesisData:eb},ew=yield this.callMethod("avm.buildGenesis",em);return ew.data.result.bytes}),this.blockchainID=ew;let eC=eb.getNetworkID();if(eC in eR.Defaults.network&&ew in eR.Defaults.network[`${eC}`]){let eb=eR.Defaults.network[`${eC}`][`${ew}`].alias;this.keychain=new eN.KeyChain(this.core.getHRP(),eb)}else this.keychain=new eN.KeyChain(this.core.getHRP(),ew)}_cleanAddressArray(eb,em){let ew=[],eM=this.getBlockchainAlias()?this.getBlockchainAlias():this.getBlockchainID();if(eb&&eb.length>0)for(let em=0;em{let ew=new eE.TransferableOutput;return ew.deserialize(eb,em),ew}),this.ins=eb.ins.map(eb=>{let ew=new eS.TransferableInput;return ew.deserialize(eb,em),ew}),this.numouts=eF.decoder(this.outs.length.toString(),eV,ej,eU,4),this.numins=eF.decoder(this.ins.length.toString(),eV,ej,eU,4)}getOuts(){return this.outs}getIns(){return this.ins}getTotalOuts(){return this.getOuts()}setCodecID(eb){if(0!==eb&&1!==eb)throw new eR.CodecIdError("Error - BaseTx.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?e_.AVMConstants.BASETX:e_.AVMConstants.BASETX_CODECONE}getTxType(){return this._typeID}fromBuffer(eb,em=0){this.networkID=eB.copyFrom(eb,em,em+4),em+=4,this.blockchainID=eB.copyFrom(eb,em,em+32),em+=32,this.numouts=eB.copyFrom(eb,em,em+4),em+=4;let ew=this.numouts.readUInt32BE(0);this.outs=[];for(let eM=0;eM=0&&eI<=32&&void 0!==eD&&(this.initialState=eD,this.name=eS,this.symbol=eN,this.denomination.writeUInt8(eI,0))}serialize(eb="hex"){let em=super.serialize(eb);return Object.assign(Object.assign({},em),{name:eO.encoder(this.name,eb,eP,eP),symbol:eO.encoder(this.symbol,eb,eP,eP),denomination:eO.encoder(this.denomination,eb,eB,eR,1),initialState:this.initialState.serialize(eb)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.name=eO.decoder(eb.name,em,eP,eP),this.symbol=eO.decoder(eb.symbol,em,eP,eP),this.denomination=eO.decoder(eb.denomination,em,eR,eB,1),this.initialState=new eE.InitialStates,this.initialState.deserialize(eb.initialState,em)}setCodecID(eb){if(0!==eb&&1!==eb)throw new eI.CodecIdError("Error - CreateAssetTx.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?e_.AVMConstants.CREATEASSETTX:e_.AVMConstants.CREATEASSETTX_CODECONE}getTxType(){return this._typeID}getInitialStates(){return this.initialState}getName(){return this.name}getSymbol(){return this.symbol}getDenomination(){return this.denomination.readUInt8(0)}getDenominationBuffer(){return this.denomination}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em);let ew=eD.copyFrom(eb,em,em+2).readUInt16BE(0);em+=2,this.name=eD.copyFrom(eb,em,em+ew).toString("utf8"),em+=ew;let eM=eD.copyFrom(eb,em,em+2).readUInt16BE(0);em+=2,this.symbol=eD.copyFrom(eb,em,em+eM).toString("utf8"),em+=eM,this.denomination=eD.copyFrom(eb,em,em+1),em+=1;let eC=new eE.InitialStates;return em=eC.fromBuffer(eb,em),this.initialState=eC,em}toBuffer(){let eb=super.toBuffer(),em=this.initialState.toBuffer(),ew=eC.Buffer.alloc(this.name.length);ew.write(this.name,0,this.name.length,eP);let eM=eC.Buffer.alloc(2);eM.writeUInt16BE(this.name.length,0);let eT=eC.Buffer.alloc(this.symbol.length);eT.write(this.symbol,0,this.symbol.length,eP);let e_=eC.Buffer.alloc(2);e_.writeUInt16BE(this.symbol.length,0);let eE=eb.length+eM.length+ew.length+e_.length+eT.length+this.denomination.length+em.length,eS=[eb,eM,ew,e_,eT,this.denomination,em];return eC.Buffer.concat(eS,eE)}clone(){let eb=new eF;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eF(...eb)}}em.CreateAssetTx=eF},41550:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.NFTCredential=em.SECPCredential=em.SelectCredentialClass=void 0;let eM=ew(62064),eC=ew(65614),eT=ew(77556),e_=(eb,...em)=>{if(eb===eM.AVMConstants.SECPCREDENTIAL||eb===eM.AVMConstants.SECPCREDENTIAL_CODECONE)return new eE(...em);if(eb===eM.AVMConstants.NFTCREDENTIAL||eb===eM.AVMConstants.NFTCREDENTIAL_CODECONE)return new eS(...em);throw new eT.CredIdError("Error - SelectCredentialClass: unknown credid")};em.SelectCredentialClass=e_;class eE extends eC.Credential{constructor(){super(...arguments),this._typeName="SECPCredential",this._codecID=eM.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?eM.AVMConstants.SECPCREDENTIAL:eM.AVMConstants.SECPCREDENTIAL_CODECONE}setCodecID(eb){if(0!==eb&&1!==eb)throw new eT.CodecIdError("Error - SECPCredential.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?eM.AVMConstants.SECPCREDENTIAL:eM.AVMConstants.SECPCREDENTIAL_CODECONE}getCredentialID(){return this._typeID}clone(){let eb=new eE;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eE(...eb)}select(eb,...ew){return(0,em.SelectCredentialClass)(eb,...ew)}}em.SECPCredential=eE;class eS extends eC.Credential{constructor(){super(...arguments),this._typeName="NFTCredential",this._codecID=eM.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?eM.AVMConstants.NFTCREDENTIAL:eM.AVMConstants.NFTCREDENTIAL_CODECONE}setCodecID(eb){if(0!==eb&&1!==eb)throw new eT.CodecIdError("Error - NFTCredential.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?eM.AVMConstants.NFTCREDENTIAL:eM.AVMConstants.NFTCREDENTIAL_CODECONE}getCredentialID(){return this._typeID}clone(){let eb=new eS;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eS(...eb)}select(eb,...ew){return(0,em.SelectCredentialClass)(eb,...ew)}}em.NFTCredential=eS},865:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.ExportTx=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=ew(62064),eE=ew(60578),eS=ew(62027),eA=ew(89858),eN=eM(ew(13550)),eI=ew(48984),eD=ew(77556),eO=eT.default.getInstance(),eP=eI.Serialization.getInstance(),eR="cb58",eB="Buffer";class eF extends eS.BaseTx{constructor(eb=eA.DefaultNetworkID,em=eC.Buffer.alloc(32,16),ew,eM,eT,eS,eN){if(super(eb,em,ew,eM,eT),this._typeName="ExportTx",this._codecID=e_.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?e_.AVMConstants.EXPORTTX:e_.AVMConstants.EXPORTTX_CODECONE,this.destinationChain=void 0,this.numOuts=eC.Buffer.alloc(4),this.exportOuts=[],this.destinationChain=eS,void 0!==eN&&Array.isArray(eN)){for(let eb=0;ebem.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.destinationChain=eP.decoder(eb.destinationChain,em,eR,eB,32),this.exportOuts=eb.exportOuts.map(eb=>{let ew=new eE.TransferableOutput;return ew.deserialize(eb,em),ew}),this.numOuts=eC.Buffer.alloc(4),this.numOuts.writeUInt32BE(this.exportOuts.length,0)}setCodecID(eb){if(0!==eb&&1!==eb)throw new eD.CodecIdError("Error - ExportTx.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?e_.AVMConstants.EXPORTTX:e_.AVMConstants.EXPORTTX_CODECONE}getTxType(){return this._typeID}getExportOutputs(){return this.exportOuts}getExportTotal(){let eb=new eN.default(0);for(let em=0;emthis.assetAlias,"string"==typeof eb&&"string"==typeof em&&"string"==typeof ew&&"number"==typeof eM&&eM>=0&&eM<=32&&void 0!==eT&&(this.assetAlias=eb,this.name=em,this.symbol=ew,this.denomination.writeUInt8(eM,0),this.initialState=eT)}serialize(eb="hex"){let em=super.serialize(eb);return delete em.blockchainID,delete em.outs,delete em.ins,Object.assign(Object.assign({},em),{assetAlias:eI.encoder(this.assetAlias,eb,eO,eO),name:eI.encoder(this.name,eb,eO,eO),symbol:eI.encoder(this.symbol,eb,eO,eO),denomination:eI.encoder(this.denomination,eb,eP,eR,1),initialState:this.initialState.serialize(eb)})}deserialize(eb,em="hex"){eb.blockchainID=eC.Buffer.alloc(32,16).toString("hex"),eb.outs=[],eb.ins=[],super.deserialize(eb,em),this.assetAlias=eI.decoder(eb.assetAlias,em,eO,eO),this.name=eI.decoder(eb.name,em,eO,eO),this.symbol=eI.decoder(eb.symbol,em,eO,eO),this.denomination=eI.decoder(eb.denomination,em,eR,eP,1),this.initialState=new e_.InitialStates,this.initialState.deserialize(eb.initialState,em)}fromBuffer(eb,em=0){let ew=eD.copyFrom(eb,em,em+2).readUInt16BE(0);return em+=2,this.assetAlias=eD.copyFrom(eb,em,em+ew).toString("utf8"),em+=ew,em+=super.fromBuffer(eb,em)}toBuffer(eb=eE.DefaultNetworkID){let em=this.getAssetAlias(),ew=eC.Buffer.alloc(2);ew.writeUInt16BE(em.length,0);let eM=ew.length,eT=[ew],e_=eC.Buffer.alloc(em.length);e_.write(em,0,em.length,eO),eM+=e_.length,eT.push(e_);let eS=eC.Buffer.alloc(4);eS.writeUInt32BE(new eN.default(eb).toNumber(),0),eM+=eS.length,eT.push(eS),eM+=32,eT.push(eC.Buffer.alloc(32)),eM+=4,eT.push(eC.Buffer.alloc(4)),eM+=4,eT.push(eC.Buffer.alloc(4));let eA=this.getMemo(),eI=eC.Buffer.alloc(4);eI.writeUInt32BE(eA.length,0),eM+=eI.length,eT.push(eI),eM+=eA.length,eT.push(eA);let eD=this.getName(),eP=eC.Buffer.alloc(2);eP.writeUInt16BE(eD.length,0),eM+=eP.length,eT.push(eP);let eR=eC.Buffer.alloc(eD.length);eR.write(eD,0,eD.length,eO),eM+=eR.length,eT.push(eR);let eB=this.getSymbol(),eF=eC.Buffer.alloc(2);eF.writeUInt16BE(eB.length,0),eM+=eF.length,eT.push(eF);let ej=eC.Buffer.alloc(eB.length);ej.write(eB,0,eB.length,eO),eM+=ej.length,eT.push(ej);let eU=this.getDenomination(),eV=eC.Buffer.alloc(1);return eV.writeUInt8(eU,0),eM+=eV.length,eT.push(eV),eM+=this.initialState.toBuffer().length,eT.push(this.initialState.toBuffer()),eC.Buffer.concat(eT,eM)}}em.GenesisAsset=eB},14408:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.GenesisData=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=ew(48984),eE=ew(62064),eS=ew(74294),eA=ew(3079),eN=e_.Serialization.getInstance(),eI=eT.default.getInstance(),eD="decimalString",eO="Buffer";class eP extends e_.Serializable{constructor(eb=[],em=eA.DefaultNetworkID){super(),this._typeName="GenesisData",this._codecID=eE.AVMConstants.LATESTCODEC,this.networkID=eC.Buffer.alloc(4),this.getGenesisAssets=()=>this.genesisAssets,this.getNetworkID=()=>this.networkID.readUInt32BE(0),this.genesisAssets=eb,this.networkID.writeUInt32BE(em,0)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{genesisAssets:this.genesisAssets.map(em=>em.serialize(eb)),networkID:eN.encoder(this.networkID,eb,eO,eD)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.genesisAssets=eb.genesisAssets.map(eb=>{let ew=new eS.GenesisAsset;return ew.deserialize(eb,em),ew}),this.networkID=eN.decoder(eb.networkID,em,eD,eO,4)}fromBuffer(eb,em=0){this._codecID=eI.copyFrom(eb,em,em+2).readUInt16BE(0),em+=2;let ew=eI.copyFrom(eb,em,em+4);em+=4;let eM=ew.readUInt32BE(0);this.genesisAssets=[];for(let ew=0;ew{let em=eb.toBuffer(this.getNetworkID());ew+=em.length,eM.push(em)}),eC.Buffer.concat(eM,ew)}}em.GenesisData=eP},45157:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.ImportTx=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=ew(62064),eE=ew(40249),eS=ew(62027),eA=ew(41550),eN=ew(65614),eI=ew(89858),eD=ew(48984),eO=ew(77556),eP=eT.default.getInstance(),eR=eD.Serialization.getInstance(),eB="cb58",eF="Buffer";class ej extends eS.BaseTx{constructor(eb=eI.DefaultNetworkID,em=eC.Buffer.alloc(32,16),ew,eM,eT,eS,eA){if(super(eb,em,ew,eM,eT),this._typeName="ImportTx",this._codecID=e_.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?e_.AVMConstants.IMPORTTX:e_.AVMConstants.IMPORTTX_CODECONE,this.sourceChain=eC.Buffer.alloc(32),this.numIns=eC.Buffer.alloc(4),this.importIns=[],this.sourceChain=eS,void 0!==eA&&Array.isArray(eA)){for(let eb=0;ebem.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.sourceChain=eR.decoder(eb.sourceChain,em,eB,eF,32),this.importIns=eb.importIns.map(eb=>{let ew=new eE.TransferableInput;return ew.deserialize(eb,em),ew}),this.numIns=eC.Buffer.alloc(4),this.numIns.writeUInt32BE(this.importIns.length,0)}setCodecID(eb){if(0!==eb&&1!==eb)throw new eO.CodecIdError("Error - ImportTx.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?e_.AVMConstants.IMPORTTX:e_.AVMConstants.IMPORTTX_CODECONE}getTxType(){return this._typeID}getSourceChain(){return this.sourceChain}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em),this.sourceChain=eP.copyFrom(eb,em,em+32),em+=32,this.numIns=eP.copyFrom(eb,em,em+4),em+=4;let ew=this.numIns.readUInt32BE(0);for(let eM=0;eMem.serialize(eb));return Object.assign(Object.assign({},em),{fxs:ew})}deserialize(eb,em="hex"){super.deserialize(eb,em);let ew={};for(let eM in eb.fxs)ew[`${eM}`]=eb.fxs[`${eM}`].map(eb=>{let ew=(0,eE.SelectOutputClass)(eb._typeID);return ew.deserialize(eb,em),ew});this.fxs=ew}addOutput(eb,em=eS.AVMConstants.SECPFXID){em in this.fxs||(this.fxs[`${em}`]=[]),this.fxs[`${em}`].push(eb)}fromBuffer(eb,em=0){let ew=[],eM=eN.copyFrom(eb,em,em+4);em+=4;let eC=eM.readUInt32BE(0);for(let eM=0;eMparseInt(eb,10)).sort(),ew=eC.Buffer.alloc(4);ew.writeUInt32BE(em.length,0),eb.push(ew);for(let ew=0;ew{if(eb===eT.AVMConstants.SECPINPUTID||eb===eT.AVMConstants.SECPINPUTID_CODECONE)return new eD(...em);throw new eE.InputIdError("Error - SelectInputClass: unknown inputid")};em.SelectInputClass=eA;class eN extends e_.StandardTransferableInput{constructor(){super(...arguments),this._typeName="TransferableInput",this._typeID=void 0}deserialize(eb,ew="hex"){super.deserialize(eb,ew),this.input=(0,em.SelectInputClass)(eb.input._typeID),this.input.deserialize(eb.input,ew)}fromBuffer(eb,ew=0){this.txid=eS.copyFrom(eb,ew,ew+32),ew+=32,this.outputidx=eS.copyFrom(eb,ew,ew+4),ew+=4,this.assetID=eS.copyFrom(eb,ew,ew+eT.AVMConstants.ASSETIDLEN),ew+=32;let eM=eS.copyFrom(eb,ew,ew+4).readUInt32BE(0);return ew+=4,this.input=(0,em.SelectInputClass)(eM),this.input.fromBuffer(eb,ew)}}em.TransferableInput=eN;class eI extends e_.StandardAmountInput{constructor(){super(...arguments),this._typeName="AmountInput",this._typeID=void 0}select(eb,...ew){return(0,em.SelectInputClass)(eb,...ew)}}em.AmountInput=eI;class eD extends eI{constructor(){super(...arguments),this._typeName="SECPTransferInput",this._codecID=eT.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?eT.AVMConstants.SECPINPUTID:eT.AVMConstants.SECPINPUTID_CODECONE}setCodecID(eb){if(0!==eb&&1!==eb)throw new eE.CodecIdError("Error - SECPTransferInput.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?eT.AVMConstants.SECPINPUTID:eT.AVMConstants.SECPINPUTID_CODECONE}getInputID(){return this._typeID}getCredentialID(){return 0===this._codecID?eT.AVMConstants.SECPCREDENTIAL:1===this._codecID?eT.AVMConstants.SECPCREDENTIAL_CODECONE:void 0}create(...eb){return new eD(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.SECPTransferInput=eD},94965:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},67715:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.KeyChain=em.KeyPair=void 0;let eC=eM(ew(89734)),eT=ew(57248),e_=ew(3079),eE=eC.default.getInstance();e_.Serialization.getInstance();class eS extends eT.SECP256k1KeyPair{clone(){let eb=new eS(this.hrp,this.chainID);return eb.importKey(eE.copyFrom(this.getPrivateKey())),eb}create(...eb){return 2==eb.length?new eS(eb[0],eb[1]):new eS(this.hrp,this.chainID)}}em.KeyPair=eS;class eA extends eT.SECP256k1KeyChain{constructor(eb,em){super(),this.hrp="",this.chainid="",this.makeKey=()=>{let eb=new eS(this.hrp,this.chainid);return this.addKey(eb),eb},this.addKey=eb=>{eb.setChainID(this.chainid),super.addKey(eb)},this.importKey=eb=>{let em,ew=new eS(this.hrp,this.chainid);return em="string"==typeof eb?eE.cb58Decode(eb.split("-")[1]):eE.copyFrom(eb),ew.importKey(em),ew.getAddress().toString("hex") in this.keys||this.addKey(ew),ew},this.hrp=eb,this.chainid=em}create(...eb){return 2==eb.length?new eA(eb[0],eb[1]):new eA(this.hrp,this.chainid)}clone(){let eb=new eA(this.hrp,this.chainid);for(let em in this.keys)eb.addKey(this.keys[`${em}`].clone());return eb}union(eb){let em=eb.clone();for(let eb in this.keys)em.addKey(this.keys[`${eb}`].clone());return em}}em.KeyChain=eA},97627:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.MinterSet=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=ew(48984),eE=eT.default.getInstance(),eS=e_.Serialization.getInstance(),eA="decimalString",eN="cb58",eI="number",eD="Buffer";class eO extends e_.Serializable{constructor(eb=1,em=[]){super(),this._typeName="MinterSet",this._typeID=void 0,this.minters=[],this.getThreshold=()=>this.threshold,this.getMinters=()=>this.minters,this._cleanAddresses=eb=>{let em=[];for(let ew=0;eweS.encoder(em,eb,eD,eN,20))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.threshold=eS.decoder(eb.threshold,em,eA,eI,4),this.minters=eb.minters.map(eb=>eS.decoder(eb,em,eN,eD,20))}}em.MinterSet=eO},84863:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.OperationTx=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=ew(62064),eE=ew(38191),eS=ew(41550),eA=ew(65614),eN=ew(62027),eI=ew(89858),eD=ew(77556),eO=eT.default.getInstance();class eP extends eN.BaseTx{constructor(eb=eI.DefaultNetworkID,em=eC.Buffer.alloc(32,16),ew,eM,eT,eS){if(super(eb,em,ew,eM,eT),this._typeName="OperationTx",this._codecID=e_.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?e_.AVMConstants.OPERATIONTX:e_.AVMConstants.OPERATIONTX_CODECONE,this.numOps=eC.Buffer.alloc(4),this.ops=[],void 0!==eS&&Array.isArray(eS)){for(let eb=0;ebem.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.ops=eb.ops.map(eb=>{let ew=new eE.TransferableOperation;return ew.deserialize(eb,em),ew}),this.numOps=eC.Buffer.alloc(4),this.numOps.writeUInt32BE(this.ops.length,0)}setCodecID(eb){if(0!==eb&&1!==eb)throw new eD.CodecIdError("Error - OperationTx.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?e_.AVMConstants.OPERATIONTX:e_.AVMConstants.OPERATIONTX_CODECONE}getTxType(){return this._typeID}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em),this.numOps=eO.copyFrom(eb,em,em+4),em+=4;let ew=this.numOps.readUInt32BE(0);for(let eM=0;eM{if(eb===e_.AVMConstants.SECPMINTOPID||eb===e_.AVMConstants.SECPMINTOPID_CODECONE)return new e$(...em);if(eb===e_.AVMConstants.NFTMINTOPID||eb===e_.AVMConstants.NFTMINTOPID_CODECONE)return new eW(...em);if(eb===e_.AVMConstants.NFTXFEROPID||eb===e_.AVMConstants.NFTXFEROPID_CODECONE)return new eZ(...em);throw new eD.InvalidOperationIdError(`Error - SelectOperationClass: unknown opid ${eb}`)};em.SelectOperationClass=eU;class eV extends eI.Serializable{constructor(){super(...arguments),this._typeName="Operation",this._typeID=void 0,this.sigCount=eC.Buffer.alloc(4),this.sigIdxs=[],this.getSigIdxs=()=>this.sigIdxs,this.addSignatureIdx=(eb,em)=>{let ew=new eA.SigIdx,eM=eC.Buffer.alloc(4);eM.writeUInt32BE(eb,0),ew.fromBuffer(eM),ew.setSource(em),this.sigIdxs.push(ew),this.sigCount.writeUInt32BE(this.sigIdxs.length,0)}}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{sigIdxs:this.sigIdxs.map(em=>em.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.sigIdxs=eb.sigIdxs.map(eb=>{let ew=new eA.SigIdx;return ew.deserialize(eb,em),ew}),this.sigCount.writeUInt32BE(this.sigIdxs.length,0)}fromBuffer(eb,em=0){this.sigCount=eO.copyFrom(eb,em,em+4),em+=4;let ew=this.sigCount.readUInt32BE(0);this.sigIdxs=[];for(let eM=0;eM(eb,em)=>{let ew=eC.Buffer.alloc(4);ew.writeUInt32BE(eb.getOperationID(),0);let eM=eb.toBuffer(),eT=eC.Buffer.alloc(4);eT.writeUInt32BE(em.getOperationID(),0);let e_=em.toBuffer(),eE=eC.Buffer.concat([ew,eM],ew.length+eM.length),eS=eC.Buffer.concat([eT,e_],eT.length+e_.length);return eC.Buffer.compare(eE,eS)};class eH extends eI.Serializable{constructor(eb,em,ew){if(super(),this._typeName="TransferableOperation",this._typeID=void 0,this.assetID=eC.Buffer.alloc(32),this.utxoIDs=[],this.getAssetID=()=>this.assetID,this.getUTXOIDs=()=>this.utxoIDs,this.getOperation=()=>this.operation,void 0!==eb&&eb.length===e_.AVMConstants.ASSETIDLEN&&ew instanceof eV&&void 0!==em&&Array.isArray(em)){this.assetID=eb,this.operation=ew;for(let eb=0;ebem.serialize(eb)),operation:this.operation.serialize(eb)})}deserialize(eb,ew="hex"){super.deserialize(eb,ew),this.assetID=eP.decoder(eb.assetID,ew,eR,eB,32),this.utxoIDs=eb.utxoIDs.map(eb=>{let em=new eK;return em.deserialize(eb,ew),em}),this.operation=(0,em.SelectOperationClass)(eb.operation._typeID),this.operation.deserialize(eb.operation,ew)}fromBuffer(eb,ew=0){this.assetID=eO.copyFrom(eb,ew,ew+32),ew+=32;let eM=eO.copyFrom(eb,ew,ew+4).readUInt32BE(0);ew+=4,this.utxoIDs=[];for(let em=0;emfunction(eb,em){return eC.Buffer.compare(eb.toBuffer(),em.toBuffer())};class e$ extends eV{constructor(eb,em){super(),this._typeName="SECPMintOperation",this._codecID=e_.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?e_.AVMConstants.SECPMINTOPID:e_.AVMConstants.SECPMINTOPID_CODECONE,this.mintOutput=void 0,this.transferOutput=void 0,void 0!==eb&&(this.mintOutput=eb),void 0!==em&&(this.transferOutput=em)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{mintOutput:this.mintOutput.serialize(eb),transferOutputs:this.transferOutput.serialize(eb)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.mintOutput=new eE.SECPMintOutput,this.mintOutput.deserialize(eb.mintOutput,em),this.transferOutput=new eE.SECPTransferOutput,this.transferOutput.deserialize(eb.transferOutputs,em)}setCodecID(eb){if(0!==eb&&1!==eb)throw new eD.CodecIdError("Error - SECPMintOperation.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?e_.AVMConstants.SECPMINTOPID:e_.AVMConstants.SECPMINTOPID_CODECONE}getOperationID(){return this._typeID}getCredentialID(){return 0===this._codecID?e_.AVMConstants.SECPCREDENTIAL:1===this._codecID?e_.AVMConstants.SECPCREDENTIAL_CODECONE:void 0}getMintOutput(){return this.mintOutput}getTransferOutput(){return this.transferOutput}fromBuffer(eb,em=0){return em=super.fromBuffer(eb,em),this.mintOutput=new eE.SECPMintOutput,em=this.mintOutput.fromBuffer(eb,em),this.transferOutput=new eE.SECPTransferOutput,em=this.transferOutput.fromBuffer(eb,em)}toBuffer(){let eb=super.toBuffer(),em=this.mintOutput.toBuffer(),ew=this.transferOutput.toBuffer(),eM=eb.length+em.length+ew.length,eT=[eb,em,ew];return eC.Buffer.concat(eT,eM)}}em.SECPMintOperation=e$;class eW extends eV{constructor(eb,em,ew){super(),this._typeName="NFTMintOperation",this._codecID=e_.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?e_.AVMConstants.NFTMINTOPID:e_.AVMConstants.NFTMINTOPID_CODECONE,this.groupID=eC.Buffer.alloc(4),this.outputOwners=[],this.getCredentialID=()=>0===this._codecID?e_.AVMConstants.NFTCREDENTIAL:1===this._codecID?e_.AVMConstants.NFTCREDENTIAL_CODECONE:void 0,this.getGroupID=()=>eO.copyFrom(this.groupID,0),this.getPayload=()=>eO.copyFrom(this.payload,0),this.getPayloadBuffer=()=>{let eb=eC.Buffer.alloc(4);return eb.writeUInt32BE(this.payload.length,0),eC.Buffer.concat([eb,eO.copyFrom(this.payload,0)])},this.getOutputOwners=()=>this.outputOwners,void 0!==eb&&void 0!==em&&ew.length&&(this.groupID.writeUInt32BE(eb||0,0),this.payload=em,this.outputOwners=ew)}serialize(eb="hex"){let em=super.serialize(eb);return Object.assign(Object.assign({},em),{groupID:eP.encoder(this.groupID,eb,eB,ej,4),payload:eP.encoder(this.payload,eb,eB,eF),outputOwners:this.outputOwners.map(em=>em.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.groupID=eP.decoder(eb.groupID,em,ej,eB,4),this.payload=eP.decoder(eb.payload,em,eF,eB),this.outputOwners=eb.outputOwners.map(eb=>{let ew=new eN.OutputOwners;return ew.deserialize(eb,em),ew})}setCodecID(eb){if(0!==eb&&1!==eb)throw new eD.CodecIdError("Error - NFTMintOperation.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?e_.AVMConstants.NFTMINTOPID:e_.AVMConstants.NFTMINTOPID_CODECONE}getOperationID(){return this._typeID}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em),this.groupID=eO.copyFrom(eb,em,em+4),em+=4;let ew=eO.copyFrom(eb,em,em+4).readUInt32BE(0);em+=4,this.payload=eO.copyFrom(eb,em,em+ew),em+=ew;let eM=eO.copyFrom(eb,em,em+4).readUInt32BE(0);em+=4,this.outputOwners=[];for(let ew=0;ewthis.output,void 0!==eb&&(this.output=eb)}serialize(eb="hex"){let em=super.serialize(eb);return Object.assign(Object.assign({},em),{output:this.output.serialize(eb)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.output=new eE.NFTTransferOutput,this.output.deserialize(eb.output,em)}setCodecID(eb){if(0!==eb&&1!==eb)throw new eD.CodecIdError("Error - NFTTransferOperation.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?e_.AVMConstants.NFTXFEROPID:e_.AVMConstants.NFTXFEROPID_CODECONE}getOperationID(){return this._typeID}getCredentialID(){return 0===this._codecID?e_.AVMConstants.NFTCREDENTIAL:1===this._codecID?e_.AVMConstants.NFTCREDENTIAL_CODECONE:void 0}fromBuffer(eb,em=0){return em=super.fromBuffer(eb,em),this.output=new eE.NFTTransferOutput,this.output.fromBuffer(eb,em)}toBuffer(){let eb=super.toBuffer(),em=this.output.toBuffer(),ew=eb.length+em.length,eM=[eb,em];return eC.Buffer.concat(eM,ew)}toString(){return eO.bufferToB58(this.toBuffer())}}em.NFTTransferOperation=eZ;class eK extends eS.NBytes{constructor(){super(),this._typeName="UTXOID",this._typeID=void 0,this.bytes=eC.Buffer.alloc(36),this.bsize=36}toString(){return eO.cb58Encode(this.toBuffer())}fromString(eb){let em=eO.b58ToBuffer(eb);if(40===em.length&&eO.validateChecksum(em)){let eb=eO.copyFrom(em,0,em.length-4);36===eb.length&&(this.bytes=eb)}else if(40===em.length)throw new eD.ChecksumError("Error - UTXOID.fromString: invalid checksum on address");else if(36===em.length)this.bytes=em;else throw new eD.AddressError("Error - UTXOID.fromString: invalid address");return this.getSize()}clone(){let eb=new eK;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eK}}em.UTXOID=eK,eK.comparator=()=>(eb,em)=>eC.Buffer.compare(eb.toBuffer(),em.toBuffer())},60578:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.NFTTransferOutput=em.NFTMintOutput=em.SECPMintOutput=em.SECPTransferOutput=em.NFTOutput=em.AmountOutput=em.TransferableOutput=em.SelectOutputClass=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=ew(62064),eE=ew(49009),eS=ew(48984),eA=ew(77556),eN=eT.default.getInstance(),eI=eS.Serialization.getInstance(),eD=(eb,...em)=>{if(eb===e_.AVMConstants.SECPXFEROUTPUTID||eb===e_.AVMConstants.SECPXFEROUTPUTID_CODECONE)return new eB(...em);if(eb===e_.AVMConstants.SECPMINTOUTPUTID||eb===e_.AVMConstants.SECPMINTOUTPUTID_CODECONE)return new eF(...em);if(eb===e_.AVMConstants.NFTMINTOUTPUTID||eb===e_.AVMConstants.NFTMINTOUTPUTID_CODECONE)return new ej(...em);if(eb===e_.AVMConstants.NFTXFEROUTPUTID||eb===e_.AVMConstants.NFTXFEROUTPUTID_CODECONE)return new eU(...em);throw new eA.OutputIdError("Error - SelectOutputClass: unknown outputid "+eb)};em.SelectOutputClass=eD;class eO extends eE.StandardTransferableOutput{constructor(){super(...arguments),this._typeName="TransferableOutput",this._typeID=void 0}deserialize(eb,ew="hex"){super.deserialize(eb,ew),this.output=(0,em.SelectOutputClass)(eb.output._typeID),this.output.deserialize(eb.output,ew)}fromBuffer(eb,ew=0){this.assetID=eN.copyFrom(eb,ew,ew+e_.AVMConstants.ASSETIDLEN),ew+=e_.AVMConstants.ASSETIDLEN;let eM=eN.copyFrom(eb,ew,ew+4).readUInt32BE(0);return ew+=4,this.output=(0,em.SelectOutputClass)(eM),this.output.fromBuffer(eb,ew)}}em.TransferableOutput=eO;class eP extends eE.StandardAmountOutput{constructor(){super(...arguments),this._typeName="AmountOutput",this._typeID=void 0}makeTransferable(eb){return new eO(eb,this)}select(eb,...ew){return(0,em.SelectOutputClass)(eb,...ew)}}em.AmountOutput=eP;class eR extends eE.BaseNFTOutput{constructor(){super(...arguments),this._typeName="NFTOutput",this._typeID=void 0}makeTransferable(eb){return new eO(eb,this)}select(eb,...ew){return(0,em.SelectOutputClass)(eb,...ew)}}em.NFTOutput=eR;class eB extends eP{constructor(){super(...arguments),this._typeName="SECPTransferOutput",this._codecID=e_.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?e_.AVMConstants.SECPXFEROUTPUTID:e_.AVMConstants.SECPXFEROUTPUTID_CODECONE}setCodecID(eb){if(0!==eb&&1!==eb)throw new eA.CodecIdError("Error - SECPTransferOutput.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?e_.AVMConstants.SECPXFEROUTPUTID:e_.AVMConstants.SECPXFEROUTPUTID_CODECONE}getOutputID(){return this._typeID}create(...eb){return new eB(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.SECPTransferOutput=eB;class eF extends eE.Output{constructor(){super(...arguments),this._typeName="SECPMintOutput",this._codecID=e_.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?e_.AVMConstants.SECPMINTOUTPUTID:e_.AVMConstants.SECPMINTOUTPUTID_CODECONE}setCodecID(eb){if(0!==eb&&1!==eb)throw new eA.CodecIdError("Error - SECPMintOutput.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?e_.AVMConstants.SECPMINTOUTPUTID:e_.AVMConstants.SECPMINTOUTPUTID_CODECONE}getOutputID(){return this._typeID}makeTransferable(eb){return new eO(eb,this)}create(...eb){return new eF(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}select(eb,...ew){return(0,em.SelectOutputClass)(eb,...ew)}}em.SECPMintOutput=eF;class ej extends eR{constructor(eb,em,ew,eM){super(em,ew,eM),this._typeName="NFTMintOutput",this._codecID=e_.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?e_.AVMConstants.NFTMINTOUTPUTID:e_.AVMConstants.NFTMINTOUTPUTID_CODECONE,void 0!==eb&&this.groupID.writeUInt32BE(eb,0)}setCodecID(eb){if(0!==eb&&1!==eb)throw new eA.CodecIdError("Error - NFTMintOutput.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?e_.AVMConstants.NFTMINTOUTPUTID:e_.AVMConstants.NFTMINTOUTPUTID_CODECONE}getOutputID(){return this._typeID}fromBuffer(eb,em=0){return this.groupID=eN.copyFrom(eb,em,em+4),em+=4,super.fromBuffer(eb,em)}toBuffer(){let eb=super.toBuffer(),em=this.groupID.length+eb.length,ew=[this.groupID,eb];return eC.Buffer.concat(ew,em)}create(...eb){return new ej(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.NFTMintOutput=ej;class eU extends eR{constructor(eb,em,ew,eM,eT){super(ew,eM,eT),this._typeName="NFTTransferOutput",this._codecID=e_.AVMConstants.LATESTCODEC,this._typeID=0===this._codecID?e_.AVMConstants.NFTXFEROUTPUTID:e_.AVMConstants.NFTXFEROUTPUTID_CODECONE,this.sizePayload=eC.Buffer.alloc(4),this.getPayload=()=>eN.copyFrom(this.payload),this.getPayloadBuffer=()=>eC.Buffer.concat([eN.copyFrom(this.sizePayload),eN.copyFrom(this.payload)]),void 0!==eb&&void 0!==em&&(this.groupID.writeUInt32BE(eb,0),this.sizePayload.writeUInt32BE(em.length,0),this.payload=eN.copyFrom(em,0,em.length))}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{payload:eI.encoder(this.payload,eb,"Buffer","hex",this.payload.length)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.payload=eI.decoder(eb.payload,em,"hex","Buffer"),this.sizePayload=eC.Buffer.alloc(4),this.sizePayload.writeUInt32BE(this.payload.length,0)}setCodecID(eb){if(0!==eb&&1!==eb)throw new eA.CodecIdError("Error - NFTTransferOutput.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?e_.AVMConstants.NFTXFEROUTPUTID:e_.AVMConstants.NFTXFEROUTPUTID_CODECONE}getOutputID(){return this._typeID}fromBuffer(eb,em=0){this.groupID=eN.copyFrom(eb,em,em+4),em+=4,this.sizePayload=eN.copyFrom(eb,em,em+4);let ew=this.sizePayload.readUInt32BE(0);return em+=4,this.payload=eN.copyFrom(eb,em,em+ew),em+=ew,super.fromBuffer(eb,em)}toBuffer(){let eb=super.toBuffer(),em=this.groupID.length+this.sizePayload.length+this.payload.length+eb.length;this.sizePayload.writeUInt32BE(this.payload.length,0);let ew=[this.groupID,this.sizePayload,this.payload,eb];return eC.Buffer.concat(ew,em)}create(...eb){return new eU(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.NFTTransferOutput=eU},47809:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Tx=em.UnsignedTx=em.SelectTxClass=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=ew(62064),eE=ew(41550),eS=ew(21616),eA=eM(ew(23482)),eN=ew(62027),eI=ew(47599),eD=ew(84863),eO=ew(45157),eP=ew(865),eR=ew(77556),eB=eT.default.getInstance(),eF=(eb,...em)=>{if(eb===e_.AVMConstants.BASETX)return new eN.BaseTx(...em);if(eb===e_.AVMConstants.CREATEASSETTX)return new eI.CreateAssetTx(...em);if(eb===e_.AVMConstants.OPERATIONTX)return new eD.OperationTx(...em);if(eb===e_.AVMConstants.IMPORTTX)return new eO.ImportTx(...em);if(eb===e_.AVMConstants.EXPORTTX)return new eP.ExportTx(...em);throw new eR.TransactionError("Error - SelectTxClass: unknown txtype")};em.SelectTxClass=eF;class ej extends eS.StandardUnsignedTx{constructor(){super(...arguments),this._typeName="UnsignedTx",this._typeID=void 0}deserialize(eb,ew="hex"){super.deserialize(eb,ew),this.transaction=(0,em.SelectTxClass)(eb.transaction._typeID),this.transaction.deserialize(eb.transaction,ew)}getTransaction(){return this.transaction}fromBuffer(eb,ew=0){this.codecID=eB.copyFrom(eb,ew,ew+2).readUInt16BE(0),ew+=2;let eM=eB.copyFrom(eb,ew,ew+4).readUInt32BE(0);return ew+=4,this.transaction=(0,em.SelectTxClass)(eM),this.transaction.fromBuffer(eb,ew)}sign(eb){let em=this.toBuffer(),ew=eC.Buffer.from((0,eA.default)("sha256").update(em).digest()),eM=this.transaction.sign(ew,eb);return new eU(this,eM)}}em.UnsignedTx=ej;class eU extends eS.StandardTx{constructor(){super(...arguments),this._typeName="Tx",this._typeID=void 0}deserialize(eb,em="hex"){super.deserialize(eb,em),this.unsignedTx=new ej,this.unsignedTx.deserialize(eb.unsignedTx,em),this.credentials=[];for(let ew=0;ew{let eC=this.getAllUTXOs(),eT={};for(let ew=0;ew{if(eR>eC.length)throw new eW.ThresholdError("Error - UTXOSet.buildBaseTx: threshold is greater than number of addresses");void 0===eE&&(eE=eC),void 0===eN&&(eN=eM);let eB=new e_.default(0);if(ew.eq(eB))return;let ej=new eY(eC,eT,eE);eM.toString("hex")===eN.toString("hex")?ej.addAssetAmount(eM,ew,eS):(ej.addAssetAmount(eM,ew,eB),this._feeCheck(eS,eN)&&ej.addAssetAmount(eN,eB,eS));let eU=[],eV=[],eH=this.getMinimumSpendable(ej,eO,eP,eR);if(void 0===eH)eU=ej.getInputs(),eV=ej.getAllOutputs();else throw eH;let e$=new eF.BaseTx(eb,em,eV,eU,eI);return new eA.UnsignedTx(e$)},this.buildCreateAssetTx=(eb,em,ew,eM,eC,eT,eS,eN,eI,eO,eP,eB,eF=(0,eD.UnixNow)())=>{let ej=new e_.default(0),eU=[],eV=[];if(this._feeCheck(eO,eP)){let eb=new eY(ew,ew,eM);eb.addAssetAmount(eP,ej,eO);let em=this.getMinimumSpendable(eb,eF);if(void 0===em)eU=eb.getInputs(),eV=eb.getAllOutputs();else throw em}if(void 0!==eI)for(let eb=0;eb{let eF=new e_.default(0),ej=[],eU=[];if(this._feeCheck(eN,eO)){let eb=new eY(eC,eC,eT);eb.addAssetAmount(eO,eF,eN);let em=this.getMinimumSpendable(eb,eR);if(void 0===em)ej=eb.getInputs(),eU=eb.getAllOutputs();else throw em}let eV=[],eH=new eI.SECPMintOperation(ew,eM),e$=this.getUTXO(eE);if(void 0===e$)throw new eW.UTXOError("Error - UTXOSet.buildSECPMintTx: UTXOID not found");if(e$.getOutput().getOutputID()!==eS.AVMConstants.SECPMINTOUTPUTID)throw new eW.SECPMintOutputError("Error - UTXOSet.buildSECPMintTx: UTXO is not a SECPMINTOUTPUTID");let eZ=e$.getOutput(),eK=eZ.getSpenders(eC,eR);for(let eb=0;eb{let eU=new e_.default(0),eV=[],eH=[];if(this._feeCheck(eI,eP)){let eb=new eY(ew,ew,eM);eb.addAssetAmount(eP,eU,eI);let em=this.getMinimumSpendable(eb,eF);if(void 0===em)eV=eb.getInputs(),eH=eb.getAllOutputs();else throw em}let e$=new eO.InitialStates;for(let eb=0;eb{let eF=new e_.default(0),ej=[],eU=[];if(this._feeCheck(eN,eO)){let eb=new eY(eM,eM,eC);eb.addAssetAmount(eO,eF,eN);let em=this.getMinimumSpendable(eb,eR);if(void 0===em)ej=eb.getInputs(),eU=eb.getAllOutputs();else throw em}let eV=[],eH=new eI.NFTMintOperation(eE,eS,ew);for(let eb=0;eb{let ej=new e_.default(0),eU=[],eV=[];if(this._feeCheck(eS,eN)){let eb=new eY(eM,eM,eC);eb.addAssetAmount(eN,ej,eS);let em=this.getMinimumSpendable(eb,eP);if(void 0===em)eU=eb.getInputs(),eV=eb.getAllOutputs();else throw em}let eH=[];for(let eb=0;eb{let ej=new e_.default(0),eV=[],eH=[];void 0===eI&&(eI=ej.clone());let e$=[],eZ=new e_.default(0),eK=eO.toString("hex");for(let eb=0;eb{let eF=[],eU=[],eH=[];void 0===eE&&(eE=eC);let e$=new e_.default(0);if(ew.eq(e$))return;void 0===eI&&(eI=eM),void 0===eS&&(eS=eZ.cb58Decode(eV.PlatformChainID));let eW=new eY(eC,eT,eE);eM.toString("hex")===eI.toString("hex")?eW.addAssetAmount(eM,ew,eN):(eW.addAssetAmount(eM,ew,e$),this._feeCheck(eN,eI)&&eW.addAssetAmount(eI,e$,eN));let eK=this.getMinimumSpendable(eW,eP,eR,eB);if(void 0===eK)eF=eW.getInputs(),eU=eW.getChangeOutputs(),eH=eW.getOutputs();else throw eK;let eG=new ej.ExportTx(eb,em,eU,eF,eO,eS,eH);return new eA.UnsignedTx(eG)}}deserialize(eb,em="hex"){super.deserialize(eb,em);let ew={};for(let eM in eb.utxos){let eC=eK.decoder(eM,em,"base58","base58");ew[`${eC}`]=new eG,ew[`${eC}`].deserialize(eb.utxos[`${eM}`],em)}let eM={};for(let ew in eb.addressUTXOs){let eC=eK.decoder(ew,em,"cb58","hex"),eT={};for(let eM in eb.addressUTXOs[`${ew}`])eT[`${eK.decoder(eM,em,"base58","base58")}`]=eK.decoder(eb.addressUTXOs[`${ew}`][`${eM}`],em,"decimalString","BN");eM[`${eC}`]=eT}this.utxos=ew,this.addressUTXOs=eM}parseUTXO(eb){let em=new eG;if("string"==typeof eb)em.fromBuffer(eZ.cb58Decode(eb));else if(eb instanceof eG)em.fromBuffer(eb.toBuffer());else throw new eW.UTXOError("Error - UTXO.parseUTXO: utxo parameter is not a UTXO or string");return em}create(...eb){return new eJ}clone(){let eb=this.create(),em=this.getAllUTXOs();return eb.addArray(em),eb}_feeCheck(eb,em){return void 0!==eb&&void 0!==em&&eb.gt(new e_.default(0))&&em instanceof eC.Buffer}}em.UTXOSet=eJ},61775:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Vertex=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=ew(62064),eE=ew(47809),eS=ew(3079),eA=eM(ew(13550)),eN=eT.default.getInstance();class eI extends eS.Serializable{constructor(eb=eS.DefaultNetworkID,em="2oYMBNV4eNHyqk2fjjV5nVQLDbtmNJzq5s3qs3Lo6ftnC6FByM",ew=new eA.default(0),eM=0,eC=[],eT=[],eE=[]){super(),this._typeName="Vertex",this._codecID=e_.AVMConstants.LATESTCODEC,this.networkID=eb,this.blockchainID=eN.cb58Decode(em),this.height=ew,this.epoch=eM,this.parentIDs=eC,this.numParentIDs=eC.length,this.txs=eT,this.numTxs=eT.length,this.restrictions=eE,this.numRestrictions=eE.length}getNetworkID(){return this.networkID}getBlockchainID(){return eN.cb58Encode(this.blockchainID)}getHeight(){return this.height}getEpoch(){return this.epoch}getParentIDs(){return this.parentIDs}getTxs(){return this.txs}getRestrictions(){return this.restrictions}setCodecID(eb){if(0!==eb&&1!==eb)throw new eS.CodecIdError("Error - Vertex.setCodecID: invalid codecID. Valid codecIDs are 0 and 1.");this._codecID=eb,this._typeID=0===this._codecID?e_.AVMConstants.VERTEX:e_.AVMConstants.VERTEX_CODECONE}fromBuffer(eb,em=0){em+=2,this.blockchainID=eN.copyFrom(eb,em,em+32),em+=32;let ew=eN.copyFrom(eb,em,em+8);this.height=eN.fromBufferToBN(ew),em+=8;let eM=eN.copyFrom(eb,em,em+4);this.epoch=eM.readInt32BE(0),em+=4;let eC=eN.copyFrom(eb,em,em+4);this.numParentIDs=eC.readInt32BE(0),em+=4;for(let ew=0;ewem&&eb.byteLength-em>4){let ew=eN.copyFrom(eb,em,em+4);this.numRestrictions=ew.readInt32BE(0),em+=4;for(let ew=0;ew{eT.push(eb)});let e_=this.getTxs(),eE=eC.Buffer.alloc(4);eE.writeUInt32BE(e_.length,0),eT.push(eE);let eS=0,eA=eC.Buffer.alloc(4);return e_.forEach(eb=>{let em=eb.toBuffer();eS+=em.byteLength}),eA.writeUInt32BE(eS,0),eT.push(eA),e_.forEach(eb=>{let em=eb.toBuffer();eT.push(em)}),eC.Buffer.concat(eT)}clone(){let eb=new eI;return eb.fromBuffer(this.toBuffer()),eb}}em.Vertex=eI},80512:function(eb,em,ew){"use strict";var eM=this&&this.__awaiter||function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})},eC=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.EVMAPI=void 0;let eT=ew(48764),e_=eC(ew(13550)),eE=ew(98769),eS=eC(ew(89734)),eA=ew(89222),eN=ew(50754),eI=ew(89858),eD=ew(73653),eO=ew(17705),eP=ew(40320),eR=ew(20001),eB=ew(31612),eF=ew(77556),ej=ew(3079),eU=eS.default.getInstance(),eV=ej.Serialization.getInstance();class eH extends eE.JRPCAPI{constructor(eb,em="/ext/bc/C/avax",ew=""){super(eb,em),this.keychain=new eN.KeyChain("",""),this.blockchainID="",this.blockchainAlias=void 0,this.AVAXAssetID=void 0,this.txFee=void 0,this.getBlockchainAlias=()=>{if(void 0===this.blockchainAlias){let eb=this.core.getNetworkID();if(!(eb in eI.Defaults.network)||!(this.blockchainID in eI.Defaults.network[`${eb}`]))return;this.blockchainAlias=eI.Defaults.network[`${eb}`][this.blockchainID].alias}return this.blockchainAlias},this.setBlockchainAlias=eb=>{this.blockchainAlias=eb},this.getBlockchainID=()=>this.blockchainID,this.refreshBlockchainID=eb=>{let em=this.core.getNetworkID();return void 0===eb&&void 0!==eI.Defaults.network[`${em}`]?(this.blockchainID=eI.Defaults.network[`${em}`].C.blockchainID,!0):"string"==typeof eb&&(this.blockchainID=eb,!0)},this.parseAddress=eb=>{let em=this.getBlockchainAlias(),ew=this.getBlockchainID();return eU.parseAddress(eb,ew,em,eO.EVMConstants.ADDRESSLENGTH)},this.addressFromBuffer=eb=>{let em=this.getBlockchainAlias()?this.getBlockchainAlias():this.getBlockchainID(),ew="bech32";return eV.bufferToType(eb,ew,this.core.getHRP(),em)},this.getAssetDescription=eb=>eM(this,void 0,void 0,function*(){let em;em="string"!=typeof eb?eU.cb58Encode(eb):eb;let ew={assetID:em},eM=this.getBaseURL();this.setBaseURL("/ext/bc/X");let eC=yield this.callMethod("avm.getAssetDescription",ew);return this.setBaseURL(eM),{name:eC.data.result.name,symbol:eC.data.result.symbol,assetID:eU.cb58Decode(eC.data.result.assetID),denomination:parseInt(eC.data.result.denomination,10)}}),this.getAVAXAssetID=(eb=!1)=>eM(this,void 0,void 0,function*(){if(void 0===this.AVAXAssetID||eb){let eb=yield this.getAssetDescription(eI.PrimaryAssetAlias);this.AVAXAssetID=eb.assetID}return this.AVAXAssetID}),this.setAVAXAssetID=eb=>{"string"==typeof eb&&(eb=eU.cb58Decode(eb)),this.AVAXAssetID=eb},this.getDefaultTxFee=()=>new e_.default(this.core.getNetworkID() in eI.Defaults.network?eI.Defaults.network[this.core.getNetworkID()].C.txFee:0),this.getAssetBalance=(eb,em,ew)=>eM(this,void 0,void 0,function*(){let eM=[eb,em,ew],eC="eth_getAssetBalance",eT="ext/bc/C/rpc",e_=yield this.callMethod(eC,eM,eT);return e_.data}),this.getAtomicTxStatus=eb=>eM(this,void 0,void 0,function*(){let em={txID:eb},ew=yield this.callMethod("avax.getAtomicTxStatus",em);return ew.data.result.status?ew.data.result.status:ew.data.result}),this.getAtomicTx=eb=>eM(this,void 0,void 0,function*(){let em={txID:eb},ew=yield this.callMethod("avax.getAtomicTx",em);return ew.data.result.tx}),this.getTxFee=()=>(void 0===this.txFee&&(this.txFee=this.getDefaultTxFee()),this.txFee),this.export=(eb,em,ew,eC,eT)=>eM(this,void 0,void 0,function*(){let eM={to:ew,amount:eC.toString(10),username:eb,password:em,assetID:eT},e_=yield this.callMethod("avax.export",eM);return e_.data.result.txID?e_.data.result.txID:e_.data.result}),this.exportAVAX=(eb,em,ew,eC)=>eM(this,void 0,void 0,function*(){let eM={to:ew,amount:eC.toString(10),username:eb,password:em},eT=yield this.callMethod("avax.exportAVAX",eM);return eT.data.result.txID?eT.data.result.txID:eT.data.result}),this.getUTXOs=(eb,em,ew=0,eC,e_="hex")=>eM(this,void 0,void 0,function*(){"string"==typeof eb&&(eb=[eb]);let eM={addresses:eb,limit:ew,encoding:e_};void 0!==eC&&eC&&(eM.startIndex=eC),void 0!==em&&(eM.sourceChain=em);let eE=yield this.callMethod("avax.getUTXOs",eM),eS=new eA.UTXOSet,eN=eE.data.result.utxos;if(eN.length>0&&"0x"===eN[0].substring(0,2)){let eb=[];eN.forEach(em=>{eb.push(eU.cb58Encode(new eT.Buffer(em.slice(2),"hex")))}),eS.addArray(eb,!1)}else eS.addArray(eN,!1);return eE.data.result.utxos=eS,eE.data.result}),this.import=(eb,em,ew,eC)=>eM(this,void 0,void 0,function*(){let eM={to:ew,sourceChain:eC,username:eb,password:em},eT=yield this.callMethod("avax.import",eM);return eT.data.result.txID?eT.data.result.txID:eT.data.result}),this.importAVAX=(eb,em,ew,eC)=>eM(this,void 0,void 0,function*(){let eM={to:ew,sourceChain:eC,username:eb,password:em},eT=yield this.callMethod("avax.importAVAX",eM);return eT.data.result.txID?eT.data.result.txID:eT.data.result}),this.importKey=(eb,em,ew)=>eM(this,void 0,void 0,function*(){let eM={username:eb,password:em,privateKey:ew},eC=yield this.callMethod("avax.importKey",eM);return eC.data.result.address?eC.data.result.address:eC.data.result}),this.issueTx=eb=>eM(this,void 0,void 0,function*(){let em="";if("string"==typeof eb)em=eb;else if(eb instanceof eT.Buffer){let ew=new eD.Tx;ew.fromBuffer(eb),em=ew.toStringHex()}else if(eb instanceof eD.Tx)em=eb.toStringHex();else throw new eF.TransactionError("Error - avax.issueTx: provided tx is not expected type of string, Buffer, or Tx");let ew={tx:em.toString(),encoding:"hex"},eM=yield this.callMethod("avax.issueTx",ew);return eM.data.result.txID?eM.data.result.txID:eM.data.result}),this.exportKey=(eb,em,ew)=>eM(this,void 0,void 0,function*(){let eM={username:eb,password:em,address:ew},eC=yield this.callMethod("avax.exportKey",eM);return eC.data.result}),this.buildImportTx=(eb,em,ew,eC,eE,eS=new e_.default(0))=>eM(this,void 0,void 0,function*(){let eM;if(this._cleanAddressArray(eE,"buildImportTx").map(eb=>eU.stringToAddress(eb)),"string"==typeof eC)eM=eC,eC=eU.cb58Decode(eC);else if(void 0===eC||!(eC instanceof eT.Buffer))throw new eF.ChainIdError("Error - EVMAPI.buildImportTx: sourceChain is undefined or invalid sourceChain type.");let e_=yield this.getUTXOs(ew,eM,0,void 0),eA=e_.utxos,eN=this.core.getNetworkID(),eD=eI.Defaults.network[`${eN}`].X.avaxAssetID,eO=eU.cb58Decode(eD),eP=eA.getAllUTXOs();if(0===eP.length)throw new eF.NoAtomicUTXOsError("Error - EVMAPI.buildImportTx: no atomic utxos to import");let eR=eb.buildImportTx(eN,eU.cb58Decode(this.blockchainID),em,eP,eC,eS,eO);return eR}),this.buildExportTx=(eb,em,ew,eC,eE,eS,eA=0,eN=new e_.default(0),eI=1,eO=new e_.default(0))=>eM(this,void 0,void 0,function*(){let eM={};if(eS.map(eb=>{eM[eb.split("-")[0]]=!0}),1!==Object.keys(eM).length)throw new eF.AddressError("Error - EVMAPI.buildExportTx: To addresses must have the same chainID prefix.");if(void 0===ew)throw new eF.ChainIdError("Error - EVMAPI.buildExportTx: Destination ChainID is undefined.");if("string"==typeof ew)ew=eU.cb58Decode(ew);else if(!(ew instanceof eT.Buffer))throw new eF.ChainIdError("Error - EVMAPI.buildExportTx: Invalid destinationChain type");if(32!==ew.length)throw new eF.ChainIdError("Error - EVMAPI.buildExportTx: Destination ChainID must be 32 bytes in length.");let e_=yield this.getAssetDescription("AVAX"),ej=[];if(eU.cb58Encode(e_.assetID)===em){let ew=new eP.EVMInput(eC,eb.add(eO),em,eA);ew.addSignatureIdx(0,eU.stringToAddress(eE)),ej.push(ew)}else{let ew=new eP.EVMInput(eC,eO,e_.assetID,eA);ew.addSignatureIdx(0,eU.stringToAddress(eE)),ej.push(ew);let eM=new eP.EVMInput(eC,eb,em,eA);eM.addSignatureIdx(0,eU.stringToAddress(eE)),ej.push(eM)}let eV=[];eS.map(eb=>{eV.push(eU.stringToAddress(eb))});let eH=[],e$=new eR.SECPTransferOutput(eb,eV,eN,eI),eW=new eR.TransferableOutput(eU.cb58Decode(em),e$);eH.push(eW),ej=ej.sort(eP.EVMInput.comparator()),eH=eH.sort(eR.TransferableOutput.comparator());let eZ=new eB.ExportTx(this.core.getNetworkID(),eU.cb58Decode(this.blockchainID),ew,ej,eH),eK=new eD.UnsignedTx(eZ);return eK}),this.keyChain=()=>this.keychain,this.newKeyChain=()=>{let eb=this.getBlockchainAlias();return eb?this.keychain=new eN.KeyChain(this.core.getHRP(),eb):this.keychain=new eN.KeyChain(this.core.getHRP(),this.blockchainID),this.keychain},this.getBaseFee=()=>eM(this,void 0,void 0,function*(){let eb=[],em="eth_baseFee",ew="ext/bc/C/rpc",eM=yield this.callMethod(em,eb,ew);return eM.data.result}),this.getMaxPriorityFeePerGas=()=>eM(this,void 0,void 0,function*(){let eb=[],em="eth_maxPriorityFeePerGas",ew="ext/bc/C/rpc",eM=yield this.callMethod(em,eb,ew);return eM.data.result}),this.blockchainID=ew;let eC=eb.getNetworkID();if(eC in eI.Defaults.network&&ew in eI.Defaults.network[`${eC}`]){let eb=eI.Defaults.network[`${eC}`][`${ew}`].alias;this.keychain=new eN.KeyChain(this.core.getHRP(),eb)}else this.keychain=new eN.KeyChain(this.core.getHRP(),ew)}_cleanAddressArray(eb,em){let ew=[],eM=this.getBlockchainAlias()?this.getBlockchainAlias():this.getBlockchainID();return eb&&eb.length>0&&eb.forEach(eb=>{if("string"==typeof eb){if(void 0===this.parseAddress(eb))throw new eF.AddressError("Error - Invalid address format");ew.push(eb)}else{let em="bech32";ew.push(eV.bufferToType(eb,em,this.core.getHRP(),eM))}}),ew}}em.EVMAPI=eH},84771:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.EVMBaseTx=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=ew(66408),eE=ew(89858),eS=ew(73653),eA=eT.default.getInstance();class eN extends e_.EVMStandardBaseTx{constructor(eb=eE.DefaultNetworkID,em=eC.Buffer.alloc(32,16)){super(eb,em),this._typeName="BaseTx",this._typeID=void 0}deserialize(eb,em="hex"){super.deserialize(eb,em)}getTxType(){return this._typeID}fromBuffer(eb,em=0){return this.networkID=eA.copyFrom(eb,em,em+4),em+=4,this.blockchainID=eA.copyFrom(eb,em,em+32),em+=32}sign(eb,em){let ew=[];return ew}clone(){let eb=new eN;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eN(...eb)}select(eb,...em){let ew=(0,eS.SelectTxClass)(eb,...em);return ew}}em.EVMBaseTx=eN},17705:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.EVMConstants=void 0;class ew{}em.EVMConstants=ew,ew.SECPCREDENTIAL=9,ew.IMPORTTX=0,ew.EXPORTTX=1,ew.SECPINPUTID=5,ew.ASSETIDLEN=32,ew.SECPXFEROUTPUTID=7,ew.LATESTCODEC=0,ew.ADDRESSLENGTH=20},40522:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.SECPCredential=em.SelectCredentialClass=void 0;let eM=ew(17705),eC=ew(65614),eT=ew(77556),e_=(eb,...em)=>{if(eb===eM.EVMConstants.SECPCREDENTIAL)return new eE(...em);throw new eT.CredIdError("Error - SelectCredentialClass: unknown credid")};em.SelectCredentialClass=e_;class eE extends eC.Credential{constructor(){super(...arguments),this._typeName="SECPCredential",this._typeID=eM.EVMConstants.SECPCREDENTIAL}getCredentialID(){return this._typeID}clone(){let eb=new eE;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eE(...eb)}select(eb,...ew){return(0,em.SelectCredentialClass)(eb,...ew)}}em.SECPCredential=eE},31612:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.ExportTx=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=ew(17705),eE=ew(84771),eS=ew(40522),eA=ew(65614),eN=ew(40320),eI=ew(48984),eD=ew(20001),eO=ew(77556),eP=eT.default.getInstance(),eR=eI.Serialization.getInstance();class eB extends eE.EVMBaseTx{constructor(eb,em=eC.Buffer.alloc(32,16),ew=eC.Buffer.alloc(32,16),eM,eT){super(eb,em),this._typeName="ExportTx",this._typeID=e_.EVMConstants.EXPORTTX,this.destinationChain=eC.Buffer.alloc(32),this.numInputs=eC.Buffer.alloc(4),this.inputs=[],this.numExportedOutputs=eC.Buffer.alloc(4),this.exportedOutputs=[],this.destinationChain=ew,void 0!==eM&&Array.isArray(eM)&&(eM.forEach(eb=>{if(!(eb instanceof eN.EVMInput))throw new eO.EVMInputError("Error - ExportTx.constructor: invalid EVMInput in array parameter 'inputs'")}),eM.length>1&&(eM=eM.sort(eN.EVMInput.comparator())),this.inputs=eM),void 0!==eT&&Array.isArray(eT)&&(eT.forEach(eb=>{if(!(eb instanceof eD.TransferableOutput))throw new eO.TransferableOutputError("Error - ExportTx.constructor: TransferableOutput EVMInput in array parameter 'exportedOutputs'")}),this.exportedOutputs=eT)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{destinationChain:eR.encoder(this.destinationChain,eb,"Buffer","cb58"),exportedOutputs:this.exportedOutputs.map(em=>em.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.destinationChain=eR.decoder(eb.destinationChain,em,"cb58","Buffer",32),this.exportedOutputs=eb.exportedOutputs.map(eb=>{let ew=new eD.TransferableOutput;return ew.deserialize(eb,em),ew}),this.numExportedOutputs=eC.Buffer.alloc(4),this.numExportedOutputs.writeUInt32BE(this.exportedOutputs.length,0)}getDestinationChain(){return this.destinationChain}getInputs(){return this.inputs}getExportedOutputs(){return this.exportedOutputs}toBuffer(){if(void 0===this.destinationChain)throw new eO.ChainIdError("ExportTx.toBuffer -- this.destinationChain is undefined");this.numInputs.writeUInt32BE(this.inputs.length,0),this.numExportedOutputs.writeUInt32BE(this.exportedOutputs.length,0);let eb=[super.toBuffer(),this.destinationChain,this.numInputs],em=super.toBuffer().length+this.destinationChain.length+this.numInputs.length;return this.inputs.forEach(ew=>{em+=ew.toBuffer().length,eb.push(ew.toBuffer())}),em+=this.numExportedOutputs.length,eb.push(this.numExportedOutputs),this.exportedOutputs.forEach(ew=>{em+=ew.toBuffer().length,eb.push(ew.toBuffer())}),eC.Buffer.concat(eb,em)}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em),this.destinationChain=eP.copyFrom(eb,em,em+32),em+=32,this.numInputs=eP.copyFrom(eb,em,em+4),em+=4;let ew=this.numInputs.readUInt32BE(0);for(let eM=0;eM{let eC=(0,eS.SelectCredentialClass)(eM.getCredentialID()),eT=eM.getSigIdxs();eT.forEach(ew=>{let eM=em.getKey(ew.getSource()),eT=eM.sign(eb),e_=new eA.Signature;e_.fromBuffer(eT),eC.addSignature(e_)}),ew.push(eC)}),ew}}em.ExportTx=eB},40314:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.ImportTx=void 0;let eC=ew(48764),eT=eM(ew(13550)),e_=eM(ew(89734)),eE=ew(17705),eS=ew(20001),eA=ew(40320),eN=ew(84771),eI=ew(40522),eD=ew(65614),eO=ew(7451),eP=ew(89858),eR=ew(48984),eB=ew(77556),eF=e_.default.getInstance(),ej=eR.Serialization.getInstance();class eU extends eN.EVMBaseTx{constructor(eb=eP.DefaultNetworkID,em=eC.Buffer.alloc(32,16),ew=eC.Buffer.alloc(32,16),eM,e_,eN=new eT.default(0)){super(eb,em),this._typeName="ImportTx",this._typeID=eE.EVMConstants.IMPORTTX,this.sourceChain=eC.Buffer.alloc(32),this.numIns=eC.Buffer.alloc(4),this.importIns=[],this.numOuts=eC.Buffer.alloc(4),this.outs=[],this.sourceChain=ew;let eI=!1,eD=!1;void 0!==eM&&Array.isArray(eM)&&eM.length>0&&(eM.forEach(eb=>{if(!(eb instanceof eA.TransferableInput))throw new eB.TransferableInputError("Error - ImportTx.constructor: invalid TransferableInput in array parameter 'importIns'")}),eI=!0,this.importIns=eM),void 0!==e_&&Array.isArray(e_)&&e_.length>0&&(e_.forEach(eb=>{if(!(eb instanceof eS.EVMOutput))throw new eB.EVMOutputError("Error - ImportTx.constructor: invalid EVMOutput in array parameter 'outs'")}),e_.length>1&&(e_=e_.sort(eS.EVMOutput.comparator())),eD=!0,this.outs=e_),eI&&eD&&this.validateOuts(eN)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{sourceChain:ej.encoder(this.sourceChain,eb,"Buffer","cb58"),importIns:this.importIns.map(em=>em.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.sourceChain=ej.decoder(eb.sourceChain,em,"cb58","Buffer",32),this.importIns=eb.importIns.map(eb=>{let ew=new eA.TransferableInput;return ew.deserialize(eb,em),ew}),this.numIns=eC.Buffer.alloc(4),this.numIns.writeUInt32BE(this.importIns.length,0)}getTxType(){return this._typeID}getSourceChain(){return this.sourceChain}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em),this.sourceChain=eF.copyFrom(eb,em,em+32),em+=32,this.numIns=eF.copyFrom(eb,em,em+4),em+=4;let ew=this.numIns.readUInt32BE(0);for(let eM=0;eM{em+=ew.toBuffer().length,eb.push(ew.toBuffer())}),em+=this.numOuts.length,eb.push(this.numOuts),this.outs.forEach(ew=>{em+=ew.toBuffer().length,eb.push(ew.toBuffer())}),eC.Buffer.concat(eb,em)}getImportInputs(){return this.importIns}getOuts(){return this.outs}clone(){let eb=new eU;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eU(...eb)}sign(eb,em){let ew=super.sign(eb,em);return this.importIns.forEach(eM=>{let eC=(0,eI.SelectCredentialClass)(eM.getInput().getCredentialID()),eT=eM.getInput().getSigIdxs();eT.forEach(ew=>{let eM=em.getKey(ew.getSource()),eT=eM.sign(eb),e_=new eD.Signature;e_.fromBuffer(eT),eC.addSignature(e_)}),ew.push(eC)}),ew}validateOuts(eb){let em=new Map;this.outs.forEach(eb=>{let ew=eb.getAddressString(),eM=eF.cb58Encode(eb.getAssetID());if(em.has(ew)){let eb=em.get(ew);if(eb.includes(eM)){let eb=`Error - ImportTx: duplicate (address, assetId) pair found in outputs: (0x${ew}, ${eM})`;throw new eB.EVMOutputError(eb)}eb.push(eM)}else em.set(ew,[eM])});let ew=this.getNetworkID(),eM=new eT.default(0),eC=eP.Defaults.network[`${ew}`].X.avaxAssetID;if(this.importIns.forEach(eb=>{if(eb.getInput() instanceof eO.StandardAmountInput&&eC===eF.cb58Encode(eb.getAssetID())){let em=eb.getInput(),ew=em;eM.iadd(ew.getAmount())}}),this.outs.forEach(eb=>{eC===eF.cb58Encode(eb.getAssetID())&&eM.isub(eb.getAmount())}),eM.lt(eb)){let em=`Error - ${eb} nAVAX required for fee and only ${eM} nAVAX provided`;throw new eB.EVMFeeError(em)}}}em.ImportTx=eU},36969:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),eC(ew(80512),em),eC(ew(84771),em),eC(ew(17705),em),eC(ew(40522),em),eC(ew(40320),em),eC(ew(56005),em),eC(ew(31612),em),eC(ew(40314),em),eC(ew(50754),em),eC(ew(20001),em),eC(ew(73653),em),eC(ew(89222),em)},40320:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.EVMInput=em.SECPTransferInput=em.AmountInput=em.TransferableInput=em.SelectInputClass=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=ew(17705),eE=ew(7451),eS=ew(20001),eA=eM(ew(13550)),eN=ew(65614),eI=ew(77556),eD=ew(3079),eO=eT.default.getInstance(),eP=(eb,...em)=>{if(eb===e_.EVMConstants.SECPINPUTID)return new eF(...em);throw new eI.InputIdError("Error - SelectInputClass: unknown inputID")};em.SelectInputClass=eP;class eR extends eE.StandardTransferableInput{constructor(){super(...arguments),this._typeName="TransferableInput",this._typeID=void 0,this.getCost=()=>{let eb=this.getInput().getSigIdxs().length;return eb*eD.Defaults.network[1].C.costPerSignature}}deserialize(eb,ew="hex"){super.deserialize(eb,ew),this.input=(0,em.SelectInputClass)(eb.input._typeID),this.input.deserialize(eb.input,ew)}fromBuffer(eb,ew=0){this.txid=eO.copyFrom(eb,ew,ew+32),ew+=32,this.outputidx=eO.copyFrom(eb,ew,ew+4),ew+=4,this.assetID=eO.copyFrom(eb,ew,ew+e_.EVMConstants.ASSETIDLEN),ew+=32;let eM=eO.copyFrom(eb,ew,ew+4).readUInt32BE(0);return ew+=4,this.input=(0,em.SelectInputClass)(eM),this.input.fromBuffer(eb,ew)}}em.TransferableInput=eR;class eB extends eE.StandardAmountInput{constructor(){super(...arguments),this._typeName="AmountInput",this._typeID=void 0}select(eb,...ew){return(0,em.SelectInputClass)(eb,...ew)}}em.AmountInput=eB;class eF extends eB{constructor(){super(...arguments),this._typeName="SECPTransferInput",this._typeID=e_.EVMConstants.SECPINPUTID,this.getCredentialID=()=>e_.EVMConstants.SECPCREDENTIAL}getInputID(){return e_.EVMConstants.SECPINPUTID}create(...eb){return new eF(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.SECPTransferInput=eF;class ej extends eS.EVMOutput{constructor(eb,em,ew,eM){if(super(eb,em,ew),this.nonce=eC.Buffer.alloc(8),this.nonceValue=new eA.default(0),this.sigCount=eC.Buffer.alloc(4),this.sigIdxs=[],this.getSigIdxs=()=>this.sigIdxs,this.addSignatureIdx=(eb,em)=>{let ew=new eN.SigIdx,eM=eC.Buffer.alloc(4);eM.writeUInt32BE(eb,0),ew.fromBuffer(eM),ew.setSource(em),this.sigIdxs.push(ew),this.sigCount.writeUInt32BE(this.sigIdxs.length,0)},this.getNonce=()=>this.nonceValue.clone(),this.getCredentialID=()=>e_.EVMConstants.SECPCREDENTIAL,void 0!==eM){let eb;eb="number"==typeof eM?new eA.default(eM):eM,this.nonceValue=eb.clone(),this.nonce=eO.fromBNToBuffer(eb,8)}}toBuffer(){let eb=super.toBuffer(),em=eb.length+this.nonce.length,ew=[eb,this.nonce];return eC.Buffer.concat(ew,em)}fromBuffer(eb,em=0){return em=super.fromBuffer(eb,em),this.nonce=eO.copyFrom(eb,em,em+8),em+=8}toString(){return eO.bufferToB58(this.toBuffer())}create(...eb){return new ej(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.EVMInput=ej},56005:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},50754:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.KeyChain=em.KeyPair=void 0;let eC=eM(ew(89734)),eT=ew(57248),e_=ew(3079),eE=eC.default.getInstance();e_.Serialization.getInstance();class eS extends eT.SECP256k1KeyPair{clone(){let eb=new eS(this.hrp,this.chainID);return eb.importKey(eE.copyFrom(this.getPrivateKey())),eb}create(...eb){return 2==eb.length?new eS(eb[0],eb[1]):new eS(this.hrp,this.chainID)}}em.KeyPair=eS;class eA extends eT.SECP256k1KeyChain{constructor(eb,em){super(),this.hrp="",this.chainID="",this.makeKey=()=>{let eb=new eS(this.hrp,this.chainID);return this.addKey(eb),eb},this.addKey=eb=>{eb.setChainID(this.chainID),super.addKey(eb)},this.importKey=eb=>{let em;let ew=new eS(this.hrp,this.chainID);return em="string"==typeof eb?eE.cb58Decode(eb.split("-")[1]):eE.copyFrom(eb),ew.importKey(em),ew.getAddress().toString("hex") in this.keys||this.addKey(ew),ew},this.hrp=eb,this.chainID=em}create(...eb){return 2==eb.length?new eA(eb[0],eb[1]):new eA(this.hrp,this.chainID)}clone(){let eb=new eA(this.hrp,this.chainID);for(let em in this.keys)eb.addKey(this.keys[`${em}`].clone());return eb}union(eb){let em=eb.clone();for(let eb in this.keys)em.addKey(this.keys[`${eb}`].clone());return em}}em.KeyChain=eA},20001:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.EVMOutput=em.SECPTransferOutput=em.AmountOutput=em.TransferableOutput=em.SelectOutputClass=void 0;let eC=ew(48764),eT=eM(ew(13550)),e_=eM(ew(89734)),eE=ew(17705),eS=ew(49009),eA=ew(77556),eN=e_.default.getInstance(),eI=(eb,...em)=>{if(eb==eE.EVMConstants.SECPXFEROUTPUTID)return new eP(...em);throw new eA.OutputIdError("Error - SelectOutputClass: unknown outputID")};em.SelectOutputClass=eI;class eD extends eS.StandardTransferableOutput{constructor(){super(...arguments),this._typeName="TransferableOutput",this._typeID=void 0}deserialize(eb,ew="hex"){super.deserialize(eb,ew),this.output=(0,em.SelectOutputClass)(eb.output._typeID),this.output.deserialize(eb.output,ew)}fromBuffer(eb,ew=0){this.assetID=eN.copyFrom(eb,ew,ew+eE.EVMConstants.ASSETIDLEN),ew+=eE.EVMConstants.ASSETIDLEN;let eM=eN.copyFrom(eb,ew,ew+4).readUInt32BE(0);return ew+=4,this.output=(0,em.SelectOutputClass)(eM),this.output.fromBuffer(eb,ew)}}em.TransferableOutput=eD;class eO extends eS.StandardAmountOutput{constructor(){super(...arguments),this._typeName="AmountOutput",this._typeID=void 0}makeTransferable(eb){return new eD(eb,this)}select(eb,...ew){return(0,em.SelectOutputClass)(eb,...ew)}}em.AmountOutput=eO;class eP extends eO{constructor(){super(...arguments),this._typeName="SECPTransferOutput",this._typeID=eE.EVMConstants.SECPXFEROUTPUTID}getOutputID(){return this._typeID}create(...eb){return new eP(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.SECPTransferOutput=eP;class eR{constructor(eb,em,ew){if(this.address=eC.Buffer.alloc(20),this.amount=eC.Buffer.alloc(8),this.amountValue=new eT.default(0),this.assetID=eC.Buffer.alloc(32),this.getAddress=()=>this.address,this.getAddressString=()=>this.address.toString("hex"),this.getAmount=()=>this.amountValue.clone(),this.getAssetID=()=>this.assetID,void 0!==eb&&void 0!==em&&void 0!==ew){let eM;if("string"==typeof eb){let em=eb.substring(0,2);"0x"===em&&(eb=eb.split("x")[1]),eb=eC.Buffer.from(eb,"hex")}eM="number"==typeof em?new eT.default(em):em,ew instanceof eC.Buffer||(ew=eN.cb58Decode(ew)),this.address=eb,this.amountValue=eM.clone(),this.amount=eN.fromBNToBuffer(eM,8),this.assetID=ew}}toBuffer(){let eb=this.address.length+this.amount.length+this.assetID.length,em=[this.address,this.amount,this.assetID],ew=eC.Buffer.concat(em,eb);return ew}fromBuffer(eb,em=0){return this.address=eN.copyFrom(eb,em,em+20),em+=20,this.amount=eN.copyFrom(eb,em,em+8),em+=8,this.assetID=eN.copyFrom(eb,em,em+32),em+=32,this.amountValue=new eT.default(this.amount),em}toString(){return eN.bufferToB58(this.toBuffer())}create(...eb){return new eR(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.EVMOutput=eR,eR.comparator=()=>(eb,em)=>{let ew=eb.getAddress(),eM=em.getAddress();return ew.equals(eM)&&(ew=eb.getAssetID(),eM=em.getAssetID()),eC.Buffer.compare(ew,eM)}},73653:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Tx=em.UnsignedTx=em.SelectTxClass=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=ew(17705),eE=ew(40522),eS=ew(66408),eA=eM(ew(23482)),eN=ew(40314),eI=ew(31612),eD=eT.default.getInstance(),eO=(eb,...em)=>{if(eb===e_.EVMConstants.IMPORTTX)return new eN.ImportTx(...em);if(eb===e_.EVMConstants.EXPORTTX)return new eI.ExportTx(...em);throw Error("TransactionError - SelectTxClass: unknown txType")};em.SelectTxClass=eO;class eP extends eS.EVMStandardUnsignedTx{constructor(){super(...arguments),this._typeName="UnsignedTx",this._typeID=void 0}deserialize(eb,ew="hex"){super.deserialize(eb,ew),this.transaction=(0,em.SelectTxClass)(eb.transaction._typeID),this.transaction.deserialize(eb.transaction,ew)}getTransaction(){return this.transaction}fromBuffer(eb,ew=0){this.codecID=eD.copyFrom(eb,ew,ew+2).readUInt16BE(0),ew+=2;let eM=eD.copyFrom(eb,ew,ew+4).readUInt32BE(0);return ew+=4,this.transaction=(0,em.SelectTxClass)(eM),this.transaction.fromBuffer(eb,ew)}sign(eb){let em=this.toBuffer(),ew=eC.Buffer.from((0,eA.default)("sha256").update(em).digest()),eM=this.transaction.sign(ew,eb);return new eR(this,eM)}}em.UnsignedTx=eP;class eR extends eS.EVMStandardTx{constructor(){super(...arguments),this._typeName="Tx",this._typeID=void 0}deserialize(eb,em="hex"){super.deserialize(eb,em),this.unsignedTx=new eP,this.unsignedTx.deserialize(eb.unsignedTx,em),this.credentials=[];for(let ew=0;ew{let eC=this.getAllUTXOs(),eT={};for(let ew=0;ew{let em=eC.getAddressIdx(eb);if(-1===em)throw new ej.AddressError("Error - UTXOSet.getMinimumSpendable: no such address in output");eO.getInput().addSignatureIdx(em,eb)}),eb.addInput(eO)}}}if(!eb.canComplete())return new ej.InsufficientFundsError("Error - UTXOSet.getMinimumSpendable: insufficient funds to create the transaction");let eS=eb.getAmounts(),eI=new e_.default(0);for(let em=0;em{let eI=new e_.default(0),eD=new Map,eO=[],eP=[],eF=new e_.default(0);for(let[eb,em]of(void 0===eS&&(eS=eI.clone()),eM.forEach(eb=>{let em=eb.getAssetID(),ew=eU.cb58Encode(eb.getAssetID()),eM=eb.getOutput(),eT=eM.getAmount().clone(),eE=eT.clone();void 0!==eN&&eS.gt(eI)&&eF.lt(eS)&&0===eC.Buffer.compare(eN,em)&&((eF=eF.add(eE)).gt(eS)?(eE=eF.sub(eS),eF=eS.clone()):eE=eI.clone());let eP=eb.getTxID(),eR=eb.getOutputIdx(),eB=new eA.SECPTransferInput(eT),eV=new eA.TransferableInput(eP,eR,em,eB),eH=eM.getAddresses(),e$=eM.getSpenders(eH);e$.forEach(eb=>{let em=eM.getAddressIdx(eb);if(-1===em)throw new ej.AddressError("Error - UTXOSet.buildImportTx: no such address in output");eV.getInput().addSignatureIdx(em,eb)}),eO.push(eV),eD.has(ew)&&(eE=eE.add(new e_.default(eD.get(ew)))),eD.set(ew,eE.toString())}),eD)){let eM=new eE.EVMOutput(ew,new e_.default(em),eU.cb58Decode(eb));eP.push(eM)}eO=eO.sort(eA.TransferableInput.comparator()),eP=eP.sort(eE.EVMOutput.comparator());let eV=new eB.ImportTx(eb,em,eT,eO,eP,eS);return new eR.UnsignedTx(eV)},this.buildExportTx=(eb,em,ew,eM,eC,eT,eE,eS,eA,eI,eO=(0,eN.UnixNow)(),eP=new e_.default(0),eB=1)=>{let eV=[],eH=[];void 0===eE&&(eE=eC);let eW=new e_.default(0);if(ew.eq(eW))return;if(void 0===eI)eI=eM;else if(eI.toString("hex")!==eM.toString("hex"))throw new ej.FeeAssetError("Error - UTXOSet.buildExportTx: feeAssetID must match avaxAssetID");void 0===eS&&(eS=eU.cb58Decode(eD.PlatformChainID));let eZ=new e$(eC,eT,eE);eM.toString("hex")===eI.toString("hex")?eZ.addAssetAmount(eM,ew,eA):(eZ.addAssetAmount(eM,ew,eW),this._feeCheck(eA,eI)&&eZ.addAssetAmount(eI,eW,eA));let eK=this.getMinimumSpendable(eZ,eO,eP,eB);if(void 0===eK)eH=eZ.getOutputs();else throw eK;let eG=new eF.ExportTx(eb,em,eS,eV,eH);return new eR.UnsignedTx(eG)}}deserialize(eb,em="hex"){super.deserialize(eb,em);let ew={};for(let eM in eb.utxos){let eC=eV.decoder(eM,em,"base58","base58");ew[`${eC}`]=new eH,ew[`${eC}`].deserialize(eb.utxos[`${eM}`],em)}let eM={};for(let ew in eb.addressUTXOs){let eC=eV.decoder(ew,em,"cb58","hex"),eT={};for(let eM in eb.addressUTXOs[`${ew}`])eT[`${eV.decoder(eM,em,"base58","base58")}`]=eV.decoder(eb.addressUTXOs[`${ew}`][`${eM}`],em,"decimalString","BN");eM[`${eC}`]=eT}this.utxos=ew,this.addressUTXOs=eM}parseUTXO(eb){let em=new eH;if("string"==typeof eb)em.fromBuffer(eU.cb58Decode(eb));else if(eb instanceof eH)em.fromBuffer(eb.toBuffer());else throw new ej.UTXOError("Error - UTXO.parseUTXO: utxo parameter is not a UTXO or string");return em}create(){return new eW}clone(){let eb=this.create(),em=this.getAllUTXOs();return eb.addArray(em),eb}_feeCheck(eb,em){return void 0!==eb&&void 0!==em&&eb.gt(new e_.default(0))&&em instanceof eC.Buffer}}em.UTXOSet=eW},64283:function(eb,em,ew){"use strict";var eM=this&&this.__awaiter||function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};Object.defineProperty(em,"__esModule",{value:!0}),em.HealthAPI=void 0;let eC=ew(98769);class eT extends eC.JRPCAPI{constructor(eb,em="/ext/health"){super(eb,em),this.health=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("health.health");return eb.data.result})}}em.HealthAPI=eT},64814:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),eC(ew(64283),em)},14004:function(eb,em,ew){"use strict";var eM=this&&this.__awaiter||function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};Object.defineProperty(em,"__esModule",{value:!0}),em.IndexAPI=void 0;let eC=ew(98769);class eT extends eC.JRPCAPI{constructor(eb,em="/ext/index/X/tx"){super(eb,em),this.getLastAccepted=(eb="hex",em=this.getBaseURL())=>eM(this,void 0,void 0,function*(){this.setBaseURL(em);let ew={encoding:eb};try{let eb=yield this.callMethod("index.getLastAccepted",ew);return eb.data.result}catch(eb){console.log(eb)}}),this.getContainerByIndex=(eb="0",em="hex",ew=this.getBaseURL())=>eM(this,void 0,void 0,function*(){this.setBaseURL(ew);let eM={index:eb,encoding:em};try{let eb=yield this.callMethod("index.getContainerByIndex",eM);return eb.data.result}catch(eb){console.log(eb)}}),this.getContainerByID=(eb="0",em="hex",ew=this.getBaseURL())=>eM(this,void 0,void 0,function*(){this.setBaseURL(ew);let eM={id:eb,encoding:em};try{let eb=yield this.callMethod("index.getContainerByID",eM);return eb.data.result}catch(eb){console.log(eb)}}),this.getContainerRange=(eb=0,em=100,ew="hex",eC=this.getBaseURL())=>eM(this,void 0,void 0,function*(){this.setBaseURL(eC);let eM={startIndex:eb,numToFetch:em,encoding:ew};try{let eb=yield this.callMethod("index.getContainerRange",eM);return eb.data.result}catch(eb){console.log(eb)}}),this.getIndex=(eb="",em="hex",ew=this.getBaseURL())=>eM(this,void 0,void 0,function*(){this.setBaseURL(ew);let eM={id:eb,encoding:em};try{let eb=yield this.callMethod("index.getIndex",eM);return eb.data.result.index}catch(eb){console.log(eb)}}),this.isAccepted=(eb="",em="hex",ew=this.getBaseURL())=>eM(this,void 0,void 0,function*(){this.setBaseURL(ew);let eM={id:eb,encoding:em};try{let eb=yield this.callMethod("index.isAccepted",eM);return eb.data.result}catch(eb){console.log(eb)}})}}em.IndexAPI=eT},40996:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),eC(ew(14004),em)},51592:function(eb,em,ew){"use strict";var eM=this&&this.__awaiter||function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})},eC=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.InfoAPI=void 0;let eT=ew(98769),e_=eC(ew(13550));class eE extends eT.JRPCAPI{constructor(eb,em="/ext/info"){super(eb,em),this.getBlockchainID=eb=>eM(this,void 0,void 0,function*(){let em={alias:eb},ew=yield this.callMethod("info.getBlockchainID",em);return ew.data.result.blockchainID}),this.getNodeIP=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("info.getBlockchainID");return eb.data.result.ip}),this.getNetworkID=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("info.getNetworkID");return eb.data.result.networkID}),this.getNetworkName=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("info.getNetworkName");return eb.data.result.networkName}),this.getNodeID=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("info.getNodeID");return eb.data.result.nodeID}),this.getNodeVersion=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("info.getNodeVersion");return eb.data.result.version}),this.getTxFee=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("info.getTxFee");return{txFee:new e_.default(eb.data.result.txFee,10),creationTxFee:new e_.default(eb.data.result.creationTxFee,10)}}),this.isBootstrapped=eb=>eM(this,void 0,void 0,function*(){let em={chain:eb},ew=yield this.callMethod("info.isBootstrapped",em);return ew.data.result.isBootstrapped}),this.peers=(eb=[])=>eM(this,void 0,void 0,function*(){let em={nodeIDs:eb},ew=yield this.callMethod("info.peers",em);return ew.data.result.peers}),this.uptime=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("info.uptime");return eb.data.result})}}em.InfoAPI=eE},75436:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),eC(ew(51592),em)},95573:function(eb,em,ew){"use strict";var eM=this&&this.__awaiter||function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};Object.defineProperty(em,"__esModule",{value:!0}),em.KeystoreAPI=void 0;let eC=ew(98769);class eT extends eC.JRPCAPI{constructor(eb,em="/ext/keystore"){super(eb,em),this.createUser=(eb,em)=>eM(this,void 0,void 0,function*(){let ew={username:eb,password:em},eM=yield this.callMethod("keystore.createUser",ew);return eM.data.result.success?eM.data.result.success:eM.data.result}),this.exportUser=(eb,em)=>eM(this,void 0,void 0,function*(){let ew={username:eb,password:em},eM=yield this.callMethod("keystore.exportUser",ew);return eM.data.result.user?eM.data.result.user:eM.data.result}),this.importUser=(eb,em,ew)=>eM(this,void 0,void 0,function*(){let eM={username:eb,user:em,password:ew},eC=yield this.callMethod("keystore.importUser",eM);return eC.data.result.success?eC.data.result.success:eC.data.result}),this.listUsers=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("keystore.listUsers");return eb.data.result.users}),this.deleteUser=(eb,em)=>eM(this,void 0,void 0,function*(){let ew={username:eb,password:em},eM=yield this.callMethod("keystore.deleteUser",ew);return eM.data.result.success?eM.data.result.success:eM.data.result})}}em.KeystoreAPI=eT},67769:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),eC(ew(95573),em)},85456:function(eb,em,ew){"use strict";var eM=this&&this.__awaiter||function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};Object.defineProperty(em,"__esModule",{value:!0}),em.MetricsAPI=void 0;let eC=ew(90569);class eT extends eC.RESTAPI{constructor(eb,em="/ext/metrics"){super(eb,em),this.axConf=()=>({baseURL:`${this.core.getProtocol()}://${this.core.getHost()}:${this.core.getPort()}`,responseType:"text"}),this.getMetrics=()=>eM(this,void 0,void 0,function*(){let eb=yield this.post("");return eb.data})}}em.MetricsAPI=eT},67833:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),eC(ew(85456),em)},97977:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.AddSubnetValidatorTx=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=ew(78034),eE=ew(65614),eS=ew(871),eA=ew(89858),eN=ew(48984),eI=ew(39205),eD=ew(3079),eO=eT.default.getInstance(),eP=eN.Serialization.getInstance();class eR extends eS.BaseTx{constructor(eb=eA.DefaultNetworkID,em=eC.Buffer.alloc(32,16),ew,eM,eT,eE,eS,eN,eD,eP){super(eb,em,ew,eM,eT),this._typeName="AddSubnetValidatorTx",this._typeID=e_.PlatformVMConstants.ADDSUBNETVALIDATORTX,this.nodeID=eC.Buffer.alloc(20),this.startTime=eC.Buffer.alloc(8),this.endTime=eC.Buffer.alloc(8),this.weight=eC.Buffer.alloc(8),this.subnetID=eC.Buffer.alloc(32),this.sigCount=eC.Buffer.alloc(4),this.sigIdxs=[],void 0!==eP&&("string"==typeof eP?this.subnetID=eO.cb58Decode(eP):this.subnetID=eP),void 0!==eE&&(this.nodeID=eE),void 0!==eS&&(this.startTime=eO.fromBNToBuffer(eS,8)),void 0!==eN&&(this.endTime=eO.fromBNToBuffer(eN,8)),void 0!==eD&&(this.weight=eO.fromBNToBuffer(eD,8));let eR=new eI.SubnetAuth;this.subnetAuth=eR}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{subnetID:eP.encoder(this.subnetID,eb,"Buffer","cb58")})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.subnetID=eP.decoder(eb.subnetID,em,"cb58","Buffer",32)}getTxType(){return e_.PlatformVMConstants.ADDSUBNETVALIDATORTX}getNodeID(){return this.nodeID}getNodeIDString(){return(0,eD.bufferToNodeIDString)(this.nodeID)}getStartTime(){return eO.fromBufferToBN(this.startTime)}getEndTime(){return eO.fromBufferToBN(this.endTime)}getWeight(){return eO.fromBufferToBN(this.weight)}getSubnetID(){return eO.cb58Encode(this.subnetID)}getSubnetAuth(){return this.subnetAuth}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em),this.nodeID=eO.copyFrom(eb,em,em+20),em+=20,this.startTime=eO.copyFrom(eb,em,em+8),em+=8,this.endTime=eO.copyFrom(eb,em,em+8),em+=8,this.weight=eO.copyFrom(eb,em,em+8),em+=8,this.subnetID=eO.copyFrom(eb,em,em+32),em+=32;let ew=new eI.SubnetAuth;return em+=ew.fromBuffer(eO.copyFrom(eb,em)),this.subnetAuth=ew,em}toBuffer(){let eb=super.toBuffer(),em=eb.length+this.nodeID.length+this.startTime.length+this.endTime.length+this.weight.length+this.subnetID.length+this.subnetAuth.toBuffer().length,ew=[eb,this.nodeID,this.startTime,this.endTime,this.weight,this.subnetID,this.subnetAuth.toBuffer()];return eC.Buffer.concat(ew,em)}clone(){let eb=new eR;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eR(...eb)}addSignatureIdx(eb,em){let ew=eC.Buffer.alloc(4);ew.writeUIntBE(eb,0,4),this.subnetAuth.addAddressIndex(ew);let eM=new eE.SigIdx,eT=eC.Buffer.alloc(4);eT.writeUInt32BE(eb,0),eM.fromBuffer(eT),eM.setSource(em),this.sigIdxs.push(eM),this.sigCount.writeUInt32BE(this.sigIdxs.length,0)}getSigIdxs(){return this.sigIdxs}getCredentialID(){return e_.PlatformVMConstants.SECPCREDENTIAL}sign(eb,em){let ew=super.sign(eb,em),eM=this.getSigIdxs(),eC=(0,eI.SelectCredentialClass)(this.getCredentialID());for(let ew=0;ew{if(void 0===this.blockchainAlias){let eb=this.core.getNetworkID();if(!(eb in eN.Defaults.network)||!(this.blockchainID in eN.Defaults.network[`${eb}`]))return;this.blockchainAlias=eN.Defaults.network[`${eb}`][this.blockchainID].alias}return this.blockchainAlias},this.setBlockchainAlias=eb=>{this.blockchainAlias=eb},this.getBlockchainID=()=>this.blockchainID,this.refreshBlockchainID=eb=>{let em=this.core.getNetworkID();return void 0===eb&&void 0!==eN.Defaults.network[`${em}`]?(this.blockchainID=eN.PlatformChainID,!0):"string"==typeof eb&&(this.blockchainID=eb,!0)},this.parseAddress=eb=>{let em=this.getBlockchainAlias(),ew=this.getBlockchainID();return eU.parseAddress(eb,ew,em,eI.PlatformVMConstants.ADDRESSLENGTH)},this.addressFromBuffer=eb=>{let em=this.getBlockchainAlias()?this.getBlockchainAlias():this.getBlockchainID(),ew="bech32";return eV.bufferToType(eb,ew,this.core.getHRP(),em)},this.getAVAXAssetID=(eb=!1)=>eM(this,void 0,void 0,function*(){if(void 0===this.AVAXAssetID||eb){let eb=yield this.getStakingAssetID();this.AVAXAssetID=eU.cb58Decode(eb)}return this.AVAXAssetID}),this.setAVAXAssetID=eb=>{"string"==typeof eb&&(eb=eU.cb58Decode(eb)),this.AVAXAssetID=eb},this.getDefaultTxFee=()=>new e_.default(this.core.getNetworkID() in eN.Defaults.network?eN.Defaults.network[this.core.getNetworkID()].P.txFee:0),this.getTxFee=()=>(void 0===this.txFee&&(this.txFee=this.getDefaultTxFee()),this.txFee),this.getCreateSubnetTxFee=()=>new e_.default(this.core.getNetworkID() in eN.Defaults.network?eN.Defaults.network[this.core.getNetworkID()].P.createSubnetTx:0),this.getCreateChainTxFee=()=>new e_.default(this.core.getNetworkID() in eN.Defaults.network?eN.Defaults.network[this.core.getNetworkID()].P.createChainTx:0),this.setTxFee=eb=>{this.txFee=eb},this.getDefaultCreationTxFee=()=>new e_.default(this.core.getNetworkID() in eN.Defaults.network?eN.Defaults.network[this.core.getNetworkID()].P.creationTxFee:0),this.getCreationTxFee=()=>(void 0===this.creationTxFee&&(this.creationTxFee=this.getDefaultCreationTxFee()),this.creationTxFee),this.setCreationTxFee=eb=>{this.creationTxFee=eb},this.keyChain=()=>this.keychain,this.newKeyChain=()=>{let eb=this.getBlockchainAlias();return eb?this.keychain=new eA.KeyChain(this.core.getHRP(),eb):this.keychain=new eA.KeyChain(this.core.getHRP(),this.blockchainID),this.keychain},this.checkGooseEgg=(eb,em=new e_.default(0))=>eM(this,void 0,void 0,function*(){let ew=yield this.getAVAXAssetID(),eM=em.gt(new e_.default(0))?em:eb.getOutputTotal(ew),eC=eb.getBurn(ew);return!!(eC.lte(eN.ONEAVAX.mul(new e_.default(10)))||eC.lte(eM))}),this.getStakingAssetID=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("platform.getStakingAssetID");return eb.data.result.assetID}),this.createBlockchain=(eb,em,ew,eC,eT,e_,eE)=>eM(this,void 0,void 0,function*(){let eM={username:eb,password:em,fxIDs:eT,vmID:eC,name:e_,genesisData:eE};"string"==typeof ew?eM.subnetID=ew:void 0!==ew&&(eM.subnetID=eU.cb58Encode(ew));let eS=yield this.callMethod("platform.createBlockchain",eM);return eS.data.result.txID}),this.getBlockchainStatus=eb=>eM(this,void 0,void 0,function*(){let em={blockchainID:eb},ew=yield this.callMethod("platform.getBlockchainStatus",em);return ew.data.result.status}),this.getValidatorsAt=(eb,em)=>eM(this,void 0,void 0,function*(){let ew={height:eb};void 0!==em&&(ew.subnetID=em);let eM=yield this.callMethod("platform.getValidatorsAt",ew);return eM.data.result}),this.createAddress=(eb,em)=>eM(this,void 0,void 0,function*(){let ew={username:eb,password:em},eM=yield this.callMethod("platform.createAddress",ew);return eM.data.result.address}),this.getBalance=eb=>eM(this,void 0,void 0,function*(){if(void 0===this.parseAddress(eb))throw new eB.AddressError("Error - PlatformVMAPI.getBalance: Invalid address format");let em={address:eb},ew=yield this.callMethod("platform.getBalance",em);return ew.data.result}),this.listAddresses=(eb,em)=>eM(this,void 0,void 0,function*(){let ew={username:eb,password:em},eM=yield this.callMethod("platform.listAddresses",ew);return eM.data.result.addresses}),this.getCurrentValidators=(eb,em)=>eM(this,void 0,void 0,function*(){let ew={};"string"==typeof eb?ew.subnetID=eb:void 0!==eb&&(ew.subnetID=eU.cb58Encode(eb)),void 0!==em&&em.length>0&&(ew.nodeIDs=em);let eM=yield this.callMethod("platform.getCurrentValidators",ew);return eM.data.result}),this.getPendingValidators=(eb,em)=>eM(this,void 0,void 0,function*(){let ew={};"string"==typeof eb?ew.subnetID=eb:void 0!==eb&&(ew.subnetID=eU.cb58Encode(eb)),void 0!==em&&em.length>0&&(ew.nodeIDs=em);let eM=yield this.callMethod("platform.getPendingValidators",ew);return eM.data.result}),this.sampleValidators=(eb,em)=>eM(this,void 0,void 0,function*(){let ew={size:eb.toString()};"string"==typeof em?ew.subnetID=em:void 0!==em&&(ew.subnetID=eU.cb58Encode(em));let eM=yield this.callMethod("platform.sampleValidators",ew);return eM.data.result.validators}),this.addValidator=(eb,em,ew,eC,eT,e_,eE,eS)=>eM(this,void 0,void 0,function*(){let eM={username:eb,password:em,nodeID:ew,startTime:eC.getTime()/1e3,endTime:eT.getTime()/1e3,stakeAmount:e_.toString(10),rewardAddress:eE};void 0!==eS&&(eM.delegationFeeRate=eS.toString(10));let eA=yield this.callMethod("platform.addValidator",eM);return eA.data.result.txID}),this.addSubnetValidator=(eb,em,ew,eC,eT,e_,eE)=>eM(this,void 0,void 0,function*(){let eM={username:eb,password:em,nodeID:ew,startTime:eT.getTime()/1e3,endTime:e_.getTime()/1e3,weight:eE};"string"==typeof eC?eM.subnetID=eC:void 0!==eC&&(eM.subnetID=eU.cb58Encode(eC));let eS=yield this.callMethod("platform.addSubnetValidator",eM);return eS.data.result.txID}),this.addDelegator=(eb,em,ew,eC,eT,e_,eE)=>eM(this,void 0,void 0,function*(){let eM={username:eb,password:em,nodeID:ew,startTime:eC.getTime()/1e3,endTime:eT.getTime()/1e3,stakeAmount:e_.toString(10),rewardAddress:eE},eS=yield this.callMethod("platform.addDelegator",eM);return eS.data.result.txID}),this.createSubnet=(eb,em,ew,eC)=>eM(this,void 0,void 0,function*(){let eM={username:eb,password:em,controlKeys:ew,threshold:eC},eT=yield this.callMethod("platform.createSubnet",eM);return eT.data.result.txID?eT.data.result.txID:eT.data.result}),this.validatedBy=eb=>eM(this,void 0,void 0,function*(){let em={blockchainID:eb},ew=yield this.callMethod("platform.validatedBy",em);return ew.data.result.subnetID}),this.validates=eb=>eM(this,void 0,void 0,function*(){let em={subnetID:eb};"string"==typeof eb?em.subnetID=eb:void 0!==eb&&(em.subnetID=eU.cb58Encode(eb));let ew=yield this.callMethod("platform.validates",em);return ew.data.result.blockchainIDs}),this.getBlockchains=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("platform.getBlockchains");return eb.data.result.blockchains}),this.exportAVAX=(eb,em,ew,eC)=>eM(this,void 0,void 0,function*(){let eM={username:eb,password:em,to:eC,amount:ew.toString(10)},eT=yield this.callMethod("platform.exportAVAX",eM);return eT.data.result.txID?eT.data.result.txID:eT.data.result}),this.importAVAX=(eb,em,ew,eC)=>eM(this,void 0,void 0,function*(){let eM={to:ew,sourceChain:eC,username:eb,password:em},eT=yield this.callMethod("platform.importAVAX",eM);return eT.data.result.txID?eT.data.result.txID:eT.data.result}),this.issueTx=eb=>eM(this,void 0,void 0,function*(){let em="";if("string"==typeof eb)em=eb;else if(eb instanceof eT.Buffer){let ew=new eD.Tx;ew.fromBuffer(eb),em=ew.toStringHex()}else if(eb instanceof eD.Tx)em=eb.toStringHex();else throw new eB.TransactionError("Error - platform.issueTx: provided tx is not expected type of string, Buffer, or Tx");let ew={tx:em.toString(),encoding:"hex"},eM=yield this.callMethod("platform.issueTx",ew);return eM.data.result.txID}),this.getCurrentSupply=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("platform.getCurrentSupply");return new e_.default(eb.data.result.supply,10)}),this.getHeight=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("platform.getHeight");return new e_.default(eb.data.result.height,10)}),this.getMinStake=(eb=!1)=>eM(this,void 0,void 0,function*(){if(!0!==eb&&void 0!==this.minValidatorStake&&void 0!==this.minDelegatorStake)return{minValidatorStake:this.minValidatorStake,minDelegatorStake:this.minDelegatorStake};let em=yield this.callMethod("platform.getMinStake");return this.minValidatorStake=new e_.default(em.data.result.minValidatorStake,10),this.minDelegatorStake=new e_.default(em.data.result.minDelegatorStake,10),{minValidatorStake:this.minValidatorStake,minDelegatorStake:this.minDelegatorStake}}),this.getTotalStake=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("platform.getTotalStake");return new e_.default(eb.data.result.stake,10)}),this.getMaxStakeAmount=(eb,em,ew,eC)=>eM(this,void 0,void 0,function*(){let eM=(0,eP.UnixNow)();if(ew.gt(eM)||eC.lte(ew))throw new eB.TimeError("PlatformVMAPI.getMaxStakeAmount -- startTime must be in the past and endTime must come after startTime");let eT={nodeID:em,startTime:ew,endTime:eC};"string"==typeof eb?eT.subnetID=eb:void 0!==eb&&(eT.subnetID=eU.cb58Encode(eb));let eE=yield this.callMethod("platform.getMaxStakeAmount",eT);return new e_.default(eE.data.result.amount,10)}),this.setMinStake=(eb,em)=>{void 0!==eb&&(this.minValidatorStake=eb),void 0!==em&&(this.minDelegatorStake=em)},this.getStake=(eb,em="hex")=>eM(this,void 0,void 0,function*(){let ew={addresses:eb,encoding:em},eM=yield this.callMethod("platform.getStake",ew);return{staked:new e_.default(eM.data.result.staked,10),stakedOutputs:eM.data.result.stakedOutputs.map(eb=>{let ew;let eM=new eF.TransferableOutput;return ew="cb58"===em?eU.cb58Decode(eb):eT.Buffer.from(eb.replace(/0x/g,""),"hex"),eM.fromBuffer(ew,2),eM})}}),this.getSubnets=eb=>eM(this,void 0,void 0,function*(){let em={};em.ids=eb;let ew=yield this.callMethod("platform.getSubnets",em);return ew.data.result.subnets}),this.exportKey=(eb,em,ew)=>eM(this,void 0,void 0,function*(){let eM={username:eb,password:em,address:ew},eC=yield this.callMethod("platform.exportKey",eM);return eC.data.result.privateKey?eC.data.result.privateKey:eC.data.result}),this.importKey=(eb,em,ew)=>eM(this,void 0,void 0,function*(){let eM={username:eb,password:em,privateKey:ew},eC=yield this.callMethod("platform.importKey",eM);return eC.data.result.address?eC.data.result.address:eC.data.result}),this.getTx=(eb,em="hex")=>eM(this,void 0,void 0,function*(){let ew={txID:eb,encoding:em},eM=yield this.callMethod("platform.getTx",ew);return eM.data.result.tx?eM.data.result.tx:eM.data.result}),this.getTxStatus=(eb,em=!0)=>eM(this,void 0,void 0,function*(){let ew={txID:eb,includeReason:em},eM=yield this.callMethod("platform.getTxStatus",ew);return eM.data.result}),this.getUTXOs=(eb,em,ew=0,eC,e_,eE="hex")=>eM(this,void 0,void 0,function*(){"string"==typeof eb&&(eb=[eb]);let eM={addresses:eb,limit:ew,encoding:eE};void 0!==eC&&eC&&(eM.startIndex=eC),void 0!==em&&(eM.sourceChain=em);let eS=yield this.callMethod("platform.getUTXOs",eM),eA=new eR.UTXOSet,eN=eS.data.result.utxos;if(e_&&"object"==typeof e_){if(this.db.has(e_.getName())){let eb=this.db.get(e_.getName());if(Array.isArray(eb)){eA.addArray(eN);let em=new eR.UTXOSet;em.addArray(eb),em.mergeByRule(eA,e_.getMergeRule()),eN=em.getAllUTXOStrings()}}this.db.set(e_.getName(),eN,e_.getOverwrite())}if(eN.length>0&&"0x"===eN[0].substring(0,2)){let eb=[];eN.forEach(em=>{eb.push(eU.cb58Encode(new eT.Buffer(em.slice(2),"hex")))}),eA.addArray(eb,!1)}else eA.addArray(eN,!1);return eS.data.result.utxos=eA,eS.data.result.numFetched=parseInt(eS.data.result.numFetched),eS.data.result}),this.buildImportTx=(eb,em,ew,eC,eE,eS,eA,eN=(0,eP.UnixNow)(),eI=new e_.default(0),eD=1)=>eM(this,void 0,void 0,function*(){let eM;let e_=this._cleanAddressArray(eC,"buildImportTx").map(eb=>eU.stringToAddress(eb)),eP=this._cleanAddressArray(eE,"buildImportTx").map(eb=>eU.stringToAddress(eb)),eR=this._cleanAddressArray(eS,"buildImportTx").map(eb=>eU.stringToAddress(eb));if(void 0===ew)throw new eB.ChainIdError("Error - PlatformVMAPI.buildImportTx: Source ChainID is undefined.");if("string"==typeof ew)eM=ew,ew=eU.cb58Decode(ew);else if(!(ew instanceof eT.Buffer))throw new eB.ChainIdError("Error - PlatformVMAPI.buildImportTx: Invalid destinationChain type: "+typeof ew);let eF=yield(yield this.getUTXOs(em,eM,0,void 0)).utxos,ej=yield this.getAVAXAssetID();eA instanceof eO.PayloadBase&&(eA=eA.getPayload());let eV=eF.getAllUTXOs(),eH=eb.buildImportTx(this.core.getNetworkID(),eU.cb58Decode(this.blockchainID),e_,eP,eR,eV,ew,this.getTxFee(),ej,eA,eN,eI,eD);if(!(yield this.checkGooseEgg(eH)))throw new eB.GooseEggCheckError("Failed Goose Egg Check");return eH}),this.buildExportTx=(eb,em,ew,eC,eE,eS,eA,eN=(0,eP.UnixNow)(),eI=new e_.default(0),eD=1)=>eM(this,void 0,void 0,function*(){let eM={};if(eC.map(eb=>{eM[eb.split("-")[0]]=!0}),1!==Object.keys(eM).length)throw new eB.AddressError("Error - PlatformVMAPI.buildExportTx: To addresses must have the same chainID prefix.");if(void 0===ew)throw new eB.ChainIdError("Error - PlatformVMAPI.buildExportTx: Destination ChainID is undefined.");if("string"==typeof ew)ew=eU.cb58Decode(ew);else if(!(ew instanceof eT.Buffer))throw new eB.ChainIdError("Error - PlatformVMAPI.buildExportTx: Invalid destinationChain type: "+typeof ew);if(32!==ew.length)throw new eB.ChainIdError("Error - PlatformVMAPI.buildExportTx: Destination ChainID must be 32 bytes in length.");let e_=[];eC.map(eb=>{e_.push(eU.stringToAddress(eb))});let eP=this._cleanAddressArray(eE,"buildExportTx").map(eb=>eU.stringToAddress(eb)),eR=this._cleanAddressArray(eS,"buildExportTx").map(eb=>eU.stringToAddress(eb));eA instanceof eO.PayloadBase&&(eA=eA.getPayload());let eF=yield this.getAVAXAssetID(),ej=eb.buildExportTx(this.core.getNetworkID(),eU.cb58Decode(this.blockchainID),em,eF,e_,eP,eR,ew,this.getTxFee(),eF,eA,eN,eI,eD);if(!(yield this.checkGooseEgg(ej)))throw new eB.GooseEggCheckError("Failed Goose Egg Check");return ej}),this.buildAddSubnetValidatorTx=(eb,em,ew,eC,eT,e_,eE,eS,eA,eN=(0,eP.UnixNow)(),eI=[])=>eM(this,void 0,void 0,function*(){let eM=this._cleanAddressArray(em,"buildAddSubnetValidatorTx").map(eb=>eU.stringToAddress(eb)),eD=this._cleanAddressArray(ew,"buildAddSubnetValidatorTx").map(eb=>eU.stringToAddress(eb));eA instanceof eO.PayloadBase&&(eA=eA.getPayload());let eR=yield this.getAVAXAssetID(),eB=(0,eP.UnixNow)();if(eT.lt(eB)||e_.lte(eT))throw Error("PlatformVMAPI.buildAddSubnetValidatorTx -- startTime must be in the future and endTime must come after startTime");let eF=eb.buildAddSubnetValidatorTx(this.core.getNetworkID(),eU.cb58Decode(this.blockchainID),eM,eD,(0,eP.NodeIDStringToBuffer)(eC),eT,e_,eE,eS,this.getDefaultTxFee(),eR,eA,eN,eI);if(!(yield this.checkGooseEgg(eF)))throw Error("Failed Goose Egg Check");return eF}),this.buildAddDelegatorTx=(eb,em,ew,eC,eT,eE,eS,eA,eN,eI=new e_.default(0),eD=1,eR,eF=(0,eP.UnixNow)())=>eM(this,void 0,void 0,function*(){let eM=this._cleanAddressArray(em,"buildAddDelegatorTx").map(eb=>eU.stringToAddress(eb)),ej=this._cleanAddressArray(ew,"buildAddDelegatorTx").map(eb=>eU.stringToAddress(eb)),eV=this._cleanAddressArray(eC,"buildAddDelegatorTx").map(eb=>eU.stringToAddress(eb)),eH=this._cleanAddressArray(eN,"buildAddDelegatorTx").map(eb=>eU.stringToAddress(eb));eR instanceof eO.PayloadBase&&(eR=eR.getPayload());let e$=(yield this.getMinStake()).minDelegatorStake;if(eA.lt(e$))throw new eB.StakeError("PlatformVMAPI.buildAddDelegatorTx -- stake amount must be at least "+e$.toString(10));let eW=yield this.getAVAXAssetID(),eZ=(0,eP.UnixNow)();if(eE.lt(eZ)||eS.lte(eE))throw new eB.TimeError("PlatformVMAPI.buildAddDelegatorTx -- startTime must be in the future and endTime must come after startTime");let eK=eb.buildAddDelegatorTx(this.core.getNetworkID(),eU.cb58Decode(this.blockchainID),eW,eM,ej,eV,(0,eP.NodeIDStringToBuffer)(eT),eE,eS,eA,eI,eD,eH,new e_.default(0),eW,eR,eF);if(!(yield this.checkGooseEgg(eK)))throw new eB.GooseEggCheckError("Failed Goose Egg Check");return eK}),this.buildAddValidatorTx=(eb,em,ew,eC,eT,eE,eS,eA,eN,eI,eD=new e_.default(0),eR=1,eF,ej=(0,eP.UnixNow)())=>eM(this,void 0,void 0,function*(){let eM=this._cleanAddressArray(em,"buildAddValidatorTx").map(eb=>eU.stringToAddress(eb)),eV=this._cleanAddressArray(ew,"buildAddValidatorTx").map(eb=>eU.stringToAddress(eb)),eH=this._cleanAddressArray(eC,"buildAddValidatorTx").map(eb=>eU.stringToAddress(eb)),e$=this._cleanAddressArray(eN,"buildAddValidatorTx").map(eb=>eU.stringToAddress(eb));eF instanceof eO.PayloadBase&&(eF=eF.getPayload());let eW=(yield this.getMinStake()).minValidatorStake;if(eA.lt(eW))throw new eB.StakeError("PlatformVMAPI.buildAddValidatorTx -- stake amount must be at least "+eW.toString(10));if("number"!=typeof eI||eI>100||eI<0)throw new eB.DelegationFeeError("PlatformVMAPI.buildAddValidatorTx -- delegationFee must be a number between 0 and 100");let eZ=yield this.getAVAXAssetID(),eK=(0,eP.UnixNow)();if(eE.lt(eK)||eS.lte(eE))throw new eB.TimeError("PlatformVMAPI.buildAddValidatorTx -- startTime must be in the future and endTime must come after startTime");let eG=eb.buildAddValidatorTx(this.core.getNetworkID(),eU.cb58Decode(this.blockchainID),eZ,eM,eV,eH,(0,eP.NodeIDStringToBuffer)(eT),eE,eS,eA,eD,eR,e$,eI,new e_.default(0),eZ,eF,ej);if(!(yield this.checkGooseEgg(eG)))throw new eB.GooseEggCheckError("Failed Goose Egg Check");return eG}),this.buildCreateSubnetTx=(eb,em,ew,eC,eT,e_,eE=(0,eP.UnixNow)())=>eM(this,void 0,void 0,function*(){let eM=this._cleanAddressArray(em,"buildCreateSubnetTx").map(eb=>eU.stringToAddress(eb)),eS=this._cleanAddressArray(ew,"buildCreateSubnetTx").map(eb=>eU.stringToAddress(eb)),eA=this._cleanAddressArray(eC,"buildCreateSubnetTx").map(eb=>eU.stringToAddress(eb));e_ instanceof eO.PayloadBase&&(e_=e_.getPayload());let eN=yield this.getAVAXAssetID(),eI=this.core.getNetworkID(),eD=eU.cb58Decode(this.blockchainID),eP=this.getCreateSubnetTxFee(),eR=eb.buildCreateSubnetTx(eI,eD,eM,eS,eA,eT,eP,eN,e_,eE);if(!(yield this.checkGooseEgg(eR,this.getCreationTxFee())))throw new eB.GooseEggCheckError("Failed Goose Egg Check");return eR}),this.buildCreateChainTx=(eb,em,ew,eC,eT,e_,eE,eS,eA,eN=(0,eP.UnixNow)(),eI=[])=>eM(this,void 0,void 0,function*(){let eM=this._cleanAddressArray(em,"buildCreateChainTx").map(eb=>eU.stringToAddress(eb)),eD=this._cleanAddressArray(ew,"buildCreateChainTx").map(eb=>eU.stringToAddress(eb));eA instanceof eO.PayloadBase&&(eA=eA.getPayload());let eP=yield this.getAVAXAssetID();eE=eE.sort();let eR=this.core.getNetworkID(),eF=eU.cb58Decode(this.blockchainID),ej=this.getCreateChainTxFee(),eV=eb.buildCreateChainTx(eR,eF,eM,eD,eC,eT,e_,eE,eS,ej,eP,eA,eN,eI);if(!(yield this.checkGooseEgg(eV,this.getCreationTxFee())))throw new eB.GooseEggCheckError("Failed Goose Egg Check");return eV}),this.getTimestamp=()=>eM(this,void 0,void 0,function*(){let eb=yield this.callMethod("platform.getTimestamp");return eb.data.result.timestamp}),this.getRewardUTXOs=(eb,em)=>eM(this,void 0,void 0,function*(){let ew={txID:eb,encoding:em},eM=yield this.callMethod("platform.getRewardUTXOs",ew);return eM.data.result}),this.blockchainID=eN.PlatformChainID;let ew=eb.getNetworkID();if(ew in eN.Defaults.network&&this.blockchainID in eN.Defaults.network[`${ew}`]){let eb=eN.Defaults.network[`${ew}`][this.blockchainID].alias;this.keychain=new eA.KeyChain(this.core.getHRP(),eb)}else this.keychain=new eA.KeyChain(this.core.getHRP(),this.blockchainID)}_cleanAddressArray(eb,em){let ew=[],eM=this.getBlockchainAlias()?this.getBlockchainAlias():this.getBlockchainID();if(eb&&eb.length>0)for(let em=0;em{let ew=new eE.TransferableOutput;return ew.deserialize(eb,em),ew}),this.ins=eb.ins.map(eb=>{let ew=new eS.TransferableInput;return ew.deserialize(eb,em),ew}),this.numouts=eC.Buffer.alloc(4),this.numouts.writeUInt32BE(this.outs.length,0),this.numins=eC.Buffer.alloc(4),this.numins.writeUInt32BE(this.ins.length,0)}getOuts(){return this.outs}getIns(){return this.ins}getTotalOuts(){return this.getOuts()}getTxType(){return e_.PlatformVMConstants.BASETX}fromBuffer(eb,em=0){this.networkID=eP.copyFrom(eb,em,em+4),em+=4,this.blockchainID=eP.copyFrom(eb,em,em+32),em+=32,this.numouts=eP.copyFrom(eb,em,em+4),em+=4;let ew=this.numouts.readUInt32BE(0);this.outs=[];for(let eM=0;eM{let ew=eC.Buffer.alloc(32);ew.write(em,0,em.length,"utf8"),eb.push(ew)}),this.fxIDs=eb}void 0!==eP&&"string"!=typeof eP?this.genesisData=eP.toBuffer():"string"==typeof eP&&(this.genesisData=eC.Buffer.from(eP));let eR=new eI.SubnetAuth;this.subnetAuth=eR}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{subnetID:eO.encoder(this.subnetID,eb,"Buffer","cb58")})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.subnetID=eO.decoder(eb.subnetID,em,"cb58","Buffer",32)}getTxType(){return e_.PlatformVMConstants.CREATECHAINTX}getSubnetAuth(){return this.subnetAuth}getSubnetID(){return eD.cb58Encode(this.subnetID)}getChainName(){return this.chainName}getVMID(){return this.vmID}getFXIDs(){return this.fxIDs}getGenesisData(){return eD.cb58Encode(this.genesisData)}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em),this.subnetID=eD.copyFrom(eb,em,em+32),em+=32;let ew=eD.copyFrom(eb,em,em+2).readUInt16BE(0);em+=2,this.chainName=eD.copyFrom(eb,em,em+ew).toString("utf8"),em+=ew,this.vmID=eD.copyFrom(eb,em,em+32),em+=32,this.numFXIDs=eD.copyFrom(eb,em,em+4),em+=4;let eM=parseInt(this.numFXIDs.toString("hex"),10);for(let ew=0;ew{eM+=eb.length,eT.push(eb)}),eM+=4+this.genesisData.length;let e_=eC.Buffer.alloc(4);return e_.writeUIntBE(this.genesisData.length,0,4),eT.push(e_),eT.push(this.genesisData),eM+=this.subnetAuth.toBuffer().length,eT.push(this.subnetAuth.toBuffer()),eC.Buffer.concat(eT,eM)}clone(){let eb=new eP;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eP(...eb)}addSignatureIdx(eb,em){let ew=eC.Buffer.alloc(4);ew.writeUIntBE(eb,0,4),this.subnetAuth.addAddressIndex(ew);let eM=new eE.SigIdx,eT=eC.Buffer.alloc(4);eT.writeUInt32BE(eb,0),eM.fromBuffer(eT),eM.setSource(em),this.sigIdxs.push(eM),this.sigCount.writeUInt32BE(this.sigIdxs.length,0)}getSigIdxs(){return this.sigIdxs}getCredentialID(){return e_.PlatformVMConstants.SECPCREDENTIAL}sign(eb,em){let ew=super.sign(eb,em),eM=this.getSigIdxs(),eC=(0,eI.SelectCredentialClass)(this.getCredentialID());for(let ew=0;ew{if(eb===eM.PlatformVMConstants.SECPCREDENTIAL)return new eE(...em);throw new eT.CredIdError("Error - SelectCredentialClass: unknown credid")};em.SelectCredentialClass=e_;class eE extends eC.Credential{constructor(){super(...arguments),this._typeName="SECPCredential",this._typeID=eM.PlatformVMConstants.SECPCREDENTIAL}getCredentialID(){return this._typeID}clone(){let eb=new eE;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eE(...eb)}select(eb,...ew){return(0,em.SelectCredentialClass)(eb,...ew)}}em.SECPCredential=eE},27804:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.ExportTx=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=ew(78034),eE=ew(37883),eS=ew(871),eA=ew(89858),eN=eM(ew(13550)),eI=ew(48984),eD=ew(77556),eO=eT.default.getInstance(),eP=eI.Serialization.getInstance();class eR extends eS.BaseTx{constructor(eb=eA.DefaultNetworkID,em=eC.Buffer.alloc(32,16),ew,eM,eT,eS,eN){if(super(eb,em,ew,eM,eT),this._typeName="ExportTx",this._typeID=e_.PlatformVMConstants.EXPORTTX,this.destinationChain=eC.Buffer.alloc(32),this.numOuts=eC.Buffer.alloc(4),this.exportOuts=[],this.destinationChain=eS,void 0!==eN&&Array.isArray(eN)){for(let eb=0;ebem.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.destinationChain=eP.decoder(eb.destinationChain,em,"cb58","Buffer",32),this.exportOuts=eb.exportOuts.map(eb=>{let ew=new eE.TransferableOutput;return ew.deserialize(eb,em),ew}),this.numOuts=eC.Buffer.alloc(4),this.numOuts.writeUInt32BE(this.exportOuts.length,0)}getTxType(){return e_.PlatformVMConstants.EXPORTTX}getExportOutputs(){return this.exportOuts}getExportTotal(){let eb=new eN.default(0);for(let em=0;emem.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.sourceChain=eR.decoder(eb.sourceChain,em,"cb58","Buffer",32),this.importIns=eb.importIns.map(eb=>{let ew=new eE.TransferableInput;return ew.deserialize(eb,em),ew}),this.numIns=eC.Buffer.alloc(4),this.numIns.writeUInt32BE(this.importIns.length,0)}getTxType(){return this._typeID}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em),this.sourceChain=eP.copyFrom(eb,em,em+32),em+=32,this.numIns=eP.copyFrom(eb,em,em+4),em+=4;let ew=this.numIns.readUInt32BE(0);for(let eM=0;eM{if(eb===e_.PlatformVMConstants.SECPINPUTID)return new eB(...em);if(eb===e_.PlatformVMConstants.STAKEABLELOCKINID)return new eF(...em);throw new eA.InputIdError("Error - SelectInputClass: unknown inputid")};em.SelectInputClass=eD;class eO extends eE.StandardParseableInput{constructor(){super(...arguments),this._typeName="ParseableInput",this._typeID=void 0}deserialize(eb,ew="hex"){super.deserialize(eb,ew),this.input=(0,em.SelectInputClass)(eb.input._typeID),this.input.deserialize(eb.input,ew)}fromBuffer(eb,ew=0){let eM=eN.copyFrom(eb,ew,ew+4).readUInt32BE(0);return ew+=4,this.input=(0,em.SelectInputClass)(eM),this.input.fromBuffer(eb,ew)}}em.ParseableInput=eO;class eP extends eE.StandardTransferableInput{constructor(){super(...arguments),this._typeName="TransferableInput",this._typeID=void 0}deserialize(eb,ew="hex"){super.deserialize(eb,ew),this.input=(0,em.SelectInputClass)(eb.input._typeID),this.input.deserialize(eb.input,ew)}fromBuffer(eb,ew=0){this.txid=eN.copyFrom(eb,ew,ew+32),ew+=32,this.outputidx=eN.copyFrom(eb,ew,ew+4),ew+=4,this.assetID=eN.copyFrom(eb,ew,ew+e_.PlatformVMConstants.ASSETIDLEN),ew+=32;let eM=eN.copyFrom(eb,ew,ew+4).readUInt32BE(0);return ew+=4,this.input=(0,em.SelectInputClass)(eM),this.input.fromBuffer(eb,ew)}}em.TransferableInput=eP;class eR extends eE.StandardAmountInput{constructor(){super(...arguments),this._typeName="AmountInput",this._typeID=void 0}select(eb,...ew){return(0,em.SelectInputClass)(eb,...ew)}}em.AmountInput=eR;class eB extends eR{constructor(){super(...arguments),this._typeName="SECPTransferInput",this._typeID=e_.PlatformVMConstants.SECPINPUTID,this.getCredentialID=()=>e_.PlatformVMConstants.SECPCREDENTIAL}getInputID(){return this._typeID}create(...eb){return new eB(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.SECPTransferInput=eB;class eF extends eR{constructor(eb,em,ew){super(eb),this._typeName="StakeableLockIn",this._typeID=e_.PlatformVMConstants.STAKEABLELOCKINID,this.getCredentialID=()=>e_.PlatformVMConstants.SECPCREDENTIAL,void 0!==em&&(this.stakeableLocktime=eN.fromBNToBuffer(em,8)),void 0!==ew&&(this.transferableInput=ew,this.synchronize())}serialize(eb="hex"){let em=Object.assign(Object.assign({},super.serialize(eb)),{stakeableLocktime:eI.encoder(this.stakeableLocktime,eb,"Buffer","decimalString",8),transferableInput:this.transferableInput.serialize(eb)});return delete em.sigIdxs,delete em.sigCount,delete em.amount,em}deserialize(eb,em="hex"){eb.sigIdxs=[],eb.sigCount="0",eb.amount="98",super.deserialize(eb,em),this.stakeableLocktime=eI.decoder(eb.stakeableLocktime,em,"decimalString","Buffer",8),this.transferableInput=new eO,this.transferableInput.deserialize(eb.transferableInput,em),this.synchronize()}synchronize(){let eb=this.transferableInput.getInput();this.sigIdxs=eb.getSigIdxs(),this.sigCount=eC.Buffer.alloc(4),this.sigCount.writeUInt32BE(this.sigIdxs.length,0),this.amount=eN.fromBNToBuffer(eb.getAmount(),8),this.amountValue=eb.getAmount()}getStakeableLocktime(){return eN.fromBufferToBN(this.stakeableLocktime)}getTransferablInput(){return this.transferableInput}getInputID(){return this._typeID}fromBuffer(eb,em=0){return this.stakeableLocktime=eN.copyFrom(eb,em,em+8),em+=8,this.transferableInput=new eO,em=this.transferableInput.fromBuffer(eb,em),this.synchronize(),em}toBuffer(){let eb=this.transferableInput.toBuffer(),em=this.stakeableLocktime.length+eb.length,ew=[this.stakeableLocktime,eb];return eC.Buffer.concat(ew,em)}create(...eb){return new eF(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}select(eb,...ew){return(0,em.SelectInputClass)(eb,...ew)}}em.StakeableLockIn=eF},41289:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},8201:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.KeyChain=em.KeyPair=void 0;let eC=eM(ew(89734)),eT=ew(57248),e_=ew(3079),eE=eC.default.getInstance();e_.Serialization.getInstance();class eS extends eT.SECP256k1KeyPair{clone(){let eb=new eS(this.hrp,this.chainID);return eb.importKey(eE.copyFrom(this.getPrivateKey())),eb}create(...eb){return 2==eb.length?new eS(eb[0],eb[1]):new eS(this.hrp,this.chainID)}}em.KeyPair=eS;class eA extends eT.SECP256k1KeyChain{constructor(eb,em){super(),this.hrp="",this.chainID="",this.makeKey=()=>{let eb=new eS(this.hrp,this.chainID);return this.addKey(eb),eb},this.addKey=eb=>{eb.setChainID(this.chainID),super.addKey(eb)},this.importKey=eb=>{let em,ew=new eS(this.hrp,this.chainID);return em="string"==typeof eb?eE.cb58Decode(eb.split("-")[1]):eE.copyFrom(eb),ew.importKey(em),ew.getAddress().toString("hex") in this.keys||this.addKey(ew),ew},this.hrp=eb,this.chainID=em}create(...eb){return 2==eb.length?new eA(eb[0],eb[1]):new eA(this.hrp,this.chainID)}clone(){let eb=new eA(this.hrp,this.chainID);for(let em in this.keys)eb.addKey(this.keys[`${em}`].clone());return eb}union(eb){let em=eb.clone();for(let eb in this.keys)em.addKey(this.keys[`${eb}`].clone());return em}}em.KeyChain=eA},37883:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.SECPOwnerOutput=em.StakeableLockOut=em.SECPTransferOutput=em.AmountOutput=em.ParseableOutput=em.TransferableOutput=em.SelectOutputClass=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=ew(78034),eE=ew(49009),eS=ew(48984),eA=ew(77556),eN=eT.default.getInstance(),eI=eS.Serialization.getInstance(),eD=(eb,...em)=>{if(eb==e_.PlatformVMConstants.SECPXFEROUTPUTID)return new eB(...em);if(eb==e_.PlatformVMConstants.SECPOWNEROUTPUTID)return new ej(...em);if(eb==e_.PlatformVMConstants.STAKEABLELOCKOUTID)return new eF(...em);throw new eA.OutputIdError("Error - SelectOutputClass: unknown outputid "+eb)};em.SelectOutputClass=eD;class eO extends eE.StandardTransferableOutput{constructor(){super(...arguments),this._typeName="TransferableOutput",this._typeID=void 0}deserialize(eb,ew="hex"){super.deserialize(eb,ew),this.output=(0,em.SelectOutputClass)(eb.output._typeID),this.output.deserialize(eb.output,ew)}fromBuffer(eb,ew=0){this.assetID=eN.copyFrom(eb,ew,ew+e_.PlatformVMConstants.ASSETIDLEN),ew+=e_.PlatformVMConstants.ASSETIDLEN;let eM=eN.copyFrom(eb,ew,ew+4).readUInt32BE(0);return ew+=4,this.output=(0,em.SelectOutputClass)(eM),this.output.fromBuffer(eb,ew)}}em.TransferableOutput=eO;class eP extends eE.StandardParseableOutput{constructor(){super(...arguments),this._typeName="ParseableOutput",this._typeID=void 0}deserialize(eb,ew="hex"){super.deserialize(eb,ew),this.output=(0,em.SelectOutputClass)(eb.output._typeID),this.output.deserialize(eb.output,ew)}fromBuffer(eb,ew=0){let eM=eN.copyFrom(eb,ew,ew+4).readUInt32BE(0);return ew+=4,this.output=(0,em.SelectOutputClass)(eM),this.output.fromBuffer(eb,ew)}}em.ParseableOutput=eP;class eR extends eE.StandardAmountOutput{constructor(){super(...arguments),this._typeName="AmountOutput",this._typeID=void 0}makeTransferable(eb){return new eO(eb,this)}select(eb,...ew){return(0,em.SelectOutputClass)(eb,...ew)}}em.AmountOutput=eR;class eB extends eR{constructor(){super(...arguments),this._typeName="SECPTransferOutput",this._typeID=e_.PlatformVMConstants.SECPXFEROUTPUTID}getOutputID(){return this._typeID}create(...eb){return new eB(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.SECPTransferOutput=eB;class eF extends eR{constructor(eb,em,ew,eM,eC,eT){super(eb,em,ew,eM),this._typeName="StakeableLockOut",this._typeID=e_.PlatformVMConstants.STAKEABLELOCKOUTID,void 0!==eC&&(this.stakeableLocktime=eN.fromBNToBuffer(eC,8)),void 0!==eT&&(this.transferableOutput=eT,this.synchronize())}serialize(eb="hex"){let em=Object.assign(Object.assign({},super.serialize(eb)),{stakeableLocktime:eI.encoder(this.stakeableLocktime,eb,"Buffer","decimalString",8),transferableOutput:this.transferableOutput.serialize(eb)});return delete em.addresses,delete em.locktime,delete em.threshold,delete em.amount,em}deserialize(eb,em="hex"){eb.addresses=[],eb.locktime="0",eb.threshold="1",eb.amount="99",super.deserialize(eb,em),this.stakeableLocktime=eI.decoder(eb.stakeableLocktime,em,"decimalString","Buffer",8),this.transferableOutput=new eP,this.transferableOutput.deserialize(eb.transferableOutput,em),this.synchronize()}synchronize(){let eb=this.transferableOutput.getOutput();this.addresses=eb.getAddresses().map(eb=>{let em=new eE.Address;return em.fromBuffer(eb),em}),this.numaddrs=eC.Buffer.alloc(4),this.numaddrs.writeUInt32BE(this.addresses.length,0),this.locktime=eN.fromBNToBuffer(eb.getLocktime(),8),this.threshold=eC.Buffer.alloc(4),this.threshold.writeUInt32BE(eb.getThreshold(),0),this.amount=eN.fromBNToBuffer(eb.getAmount(),8),this.amountValue=eb.getAmount()}getStakeableLocktime(){return eN.fromBufferToBN(this.stakeableLocktime)}getTransferableOutput(){return this.transferableOutput}makeTransferable(eb){return new eO(eb,this)}select(eb,...ew){return(0,em.SelectOutputClass)(eb,...ew)}fromBuffer(eb,em=0){return this.stakeableLocktime=eN.copyFrom(eb,em,em+8),em+=8,this.transferableOutput=new eP,em=this.transferableOutput.fromBuffer(eb,em),this.synchronize(),em}toBuffer(){let eb=this.transferableOutput.toBuffer(),em=this.stakeableLocktime.length+eb.length,ew=[this.stakeableLocktime,eb];return eC.Buffer.concat(ew,em)}getOutputID(){return this._typeID}create(...eb){return new eF(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}}em.StakeableLockOut=eF;class ej extends eE.Output{constructor(){super(...arguments),this._typeName="SECPOwnerOutput",this._typeID=e_.PlatformVMConstants.SECPOWNEROUTPUTID}getOutputID(){return this._typeID}makeTransferable(eb){return new eO(eb,this)}create(...eb){return new ej(...eb)}clone(){let eb=this.create();return eb.fromBuffer(this.toBuffer()),eb}select(eb,...ew){return(0,em.SelectOutputClass)(eb,...ew)}}em.SECPOwnerOutput=ej},75146:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.SubnetAuth=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=ew(3079),eE=ew(39205),eS=eT.default.getInstance();class eA extends e_.Serializable{constructor(){super(...arguments),this._typeName="SubnetAuth",this._typeID=eE.PlatformVMConstants.SUBNETAUTH,this.addressIndices=[],this.numAddressIndices=eC.Buffer.alloc(4)}serialize(eb="hex"){return Object.assign({},super.serialize(eb))}deserialize(eb,em="hex"){super.deserialize(eb,em)}addAddressIndex(eb){let em=this.getNumAddressIndices();this.numAddressIndices.writeUIntBE(em+1,0,4),this.addressIndices.push(eb)}getNumAddressIndices(){return this.numAddressIndices.readUIntBE(0,4)}getAddressIndices(){return this.addressIndices}fromBuffer(eb,em=0){em+=4,this.numAddressIndices=eS.copyFrom(eb,em,em+4),em+=4;for(let ew=0;ew{eM+=4,ew.push(this.addressIndices[`${em}`])}),eC.Buffer.concat(ew,eM)}}em.SubnetAuth=eA},11713:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Tx=em.UnsignedTx=em.SelectTxClass=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=ew(78034),eE=ew(56717),eS=ew(21616),eA=eM(ew(23482)),eN=ew(871),eI=ew(27247),eD=ew(27804),eO=ew(35439),eP=ew(94359),eR=ew(77556),eB=eT.default.getInstance(),eF=(eb,...em)=>{if(eb===e_.PlatformVMConstants.BASETX)return new eN.BaseTx(...em);if(eb===e_.PlatformVMConstants.IMPORTTX)return new eI.ImportTx(...em);if(eb===e_.PlatformVMConstants.EXPORTTX)return new eD.ExportTx(...em);if(eb===e_.PlatformVMConstants.ADDDELEGATORTX)return new eO.AddDelegatorTx(...em);if(eb===e_.PlatformVMConstants.ADDVALIDATORTX)return new eO.AddValidatorTx(...em);if(eb===e_.PlatformVMConstants.CREATESUBNETTX)return new eP.CreateSubnetTx(...em);throw new eR.TransactionError("Error - SelectTxClass: unknown txtype")};em.SelectTxClass=eF;class ej extends eS.StandardUnsignedTx{constructor(){super(...arguments),this._typeName="UnsignedTx",this._typeID=void 0}deserialize(eb,ew="hex"){super.deserialize(eb,ew),this.transaction=(0,em.SelectTxClass)(eb.transaction._typeID),this.transaction.deserialize(eb.transaction,ew)}getTransaction(){return this.transaction}fromBuffer(eb,ew=0){this.codecID=eB.copyFrom(eb,ew,ew+2).readUInt16BE(0),ew+=2;let eM=eB.copyFrom(eb,ew,ew+4).readUInt32BE(0);return ew+=4,this.transaction=(0,em.SelectTxClass)(eM),this.transaction.fromBuffer(eb,ew)}sign(eb){let em=this.toBuffer(),ew=eC.Buffer.from((0,eA.default)("sha256").update(em).digest()),eM=this.transaction.sign(ew,eb);return new eU(this,eM)}}em.UnsignedTx=ej;class eU extends eS.StandardTx{constructor(){super(...arguments),this._typeName="Tx",this._typeID=void 0}deserialize(eb,em="hex"){super.deserialize(eb,em),this.unsignedTx=new ej,this.unsignedTx.deserialize(eb.unsignedTx,em),this.credentials=[];for(let ew=0;ewthis.getAllUTXOs().filter(ew=>{if(em)return!0;let eM=ew.getOutput();if(!(eM instanceof eE.StakeableLockOut))return!0;let eC=eM;return!!eC.getStakeableLocktime().lt(eb)}),this.getMinimumSpendable=(eb,em=(0,eA.UnixNow)(),ew=new e_.default(0),eM=1,eC=!1)=>{let eT=this.getConsumableUXTO(em,eC),eN=[];eC&&(eT.forEach(eb=>{22===eb.getOutput().getTypeID()&&eN.push(eb)}),eN.sort((eb,em)=>{let ew=eb.getOutput();return em.getOutput().getStakeableLocktime().toNumber()-ew.getStakeableLocktime().toNumber()}),eT.forEach(eb=>{7===eb.getOutput().getTypeID()&&eN.push(eb)}),eT=eN);let eI={};if(eT.forEach((ew,eM)=>{let eC=ew.getAssetID(),eT=eC.toString("hex"),e_=eb.getSenders(),eA=ew.getOutput();if(!(eA instanceof eE.AmountOutput)||!eb.assetExists(eT)||!eA.meetsThreshold(e_,em))return;let eN=eb.getAssetAmount(eT);if(eN.isFinished())return;eT in eI||(eI[`${eT}`]={lockedStakeable:[],unlocked:[]});let eD=eA,eO=eD.getAmount(),eP=new eS.SECPTransferInput(eO),eR=!1;if(eD instanceof eE.StakeableLockOut){let eb=eD,ew=eb.getStakeableLocktime();ew.gt(em)&&(eP=new eS.StakeableLockIn(eO,ew,new eS.ParseableInput(eP)),eR=!0)}eN.spendAmount(eO,eR),eR?eI[`${eT}`].lockedStakeable.push(eD):eI[`${eT}`].unlocked.push(eD);let eB=eD.getSpenders(e_,em);eB.forEach(eb=>{let em=eD.getAddressIdx(eb);if(-1===em)throw new eH.AddressError(`Error - UTXOSet.getMinimumSpendable: no such address in output: ${eb}`);eP.addSignatureIdx(em,eb)});let eF=ew.getTxID(),ej=ew.getOutputIdx(),eU=new eS.TransferableInput(eF,ej,eC,eP);eb.addInput(eU)}),!eb.canComplete())return new eH.InsufficientFundsError("Error - UTXOSet.getMinimumSpendable: insufficient funds to create the transaction");let eD=new e_.default(0),eO=eb.getAmounts();eO.forEach(em=>{let eC=em.getChange(),eT=em.getStakeableLockChange(),e_=eT?eC:eD.clone(),eS=em.getAssetID(),eA=em.getAssetIDString(),eN=eI[`${eA}`].lockedStakeable;eN.forEach((em,ew)=>{let eM=em.getStakeableLocktime(),eC=em.getTransferableOutput(),eT=eC.getOutput(),eA=eT.getAmount();if(ew==eN.length-1&&e_.gt(eD)){eA=eA.sub(e_);let ew=(0,eE.SelectOutputClass)(eT.getOutputID(),e_,eT.getAddresses(),eT.getLocktime(),eT.getThreshold()),eC=(0,eE.SelectOutputClass)(em.getOutputID(),e_,eT.getAddresses(),eT.getLocktime(),eT.getThreshold(),eM,new eE.ParseableOutput(ew)),eN=new eE.TransferableOutput(eS,eC);eb.addChange(eN)}let eI=(0,eE.SelectOutputClass)(eT.getOutputID(),eA,eT.getAddresses(),eT.getLocktime(),eT.getThreshold()),eO=(0,eE.SelectOutputClass)(em.getOutputID(),eA,eT.getAddresses(),eT.getLocktime(),eT.getThreshold(),eM,new eE.ParseableOutput(eI)),eP=new eE.TransferableOutput(eS,eO);eb.addOutput(eP)});let eO=eT?eD.clone():eC;if(eO.gt(eD)){let em=new eE.SECPTransferOutput(eO,eb.getChangeAddresses(),eD.clone(),eM),ew=new eE.TransferableOutput(eS,em);eb.addChange(ew)}let eP=em.getSpent(),eR=em.getStakeableLockSpent(),eB=eP.sub(eR),eF=em.getBurn(),ej=eB.sub(eF),eU=ej.sub(eO);if(eU.gt(eD)){let em=new eE.SECPTransferOutput(eU,eb.getDestinations(),ew,eM),eC=new eE.TransferableOutput(eS,em);eb.addOutput(eC)}})},this.buildBaseTx=(eb,em,ew,eM,eC,eT,eE,eS,eN,eI,eO=(0,eA.UnixNow)(),eP=new e_.default(0),eR=1)=>{if(eR>eC.length)throw new eH.ThresholdError("Error - UTXOSet.buildBaseTx: threshold is greater than number of addresses");void 0===eE&&(eE=eC),void 0===eN&&(eN=eM);let eF=new e_.default(0);if(ew.eq(eF))return;let ej=new eY(eC,eT,eE);eM.toString("hex")===eN.toString("hex")?ej.addAssetAmount(eM,ew,eS):(ej.addAssetAmount(eM,ew,eF),this._feeCheck(eS,eN)&&ej.addAssetAmount(eN,eF,eS));let eU=[],eV=[],e$=this.getMinimumSpendable(ej,eO,eP,eR);if(void 0===e$)eU=ej.getInputs(),eV=ej.getAllOutputs();else throw e$;let eW=new eB.BaseTx(eb,em,eV,eU,eI);return new eD.UnsignedTx(eW)},this.buildImportTx=(eb,em,ew,eM,eC,eT,eN,eI,eO,eP,eB=(0,eA.UnixNow)(),eF=new e_.default(0),ej=1)=>{let eU=new e_.default(0),eV=[],e$=[];void 0===eI&&(eI=eU.clone());let eW=[],eZ=new e_.default(0),eK=eO.toString("hex");for(let eb=0;eb{let eU=[],eV=[],e$=[];void 0===eE&&(eE=eC);let eW=new e_.default(0);if(ew.eq(eW))return;if(void 0===eI)eI=eM;else if(eI.toString("hex")!==eM.toString("hex"))throw new eH.FeeAssetError("Error - UTXOSet.buildExportTx: feeAssetID must match avaxAssetID");void 0===eS&&(eS=eZ.cb58Decode(eP.Defaults.network[`${eb}`].X.blockchainID));let eK=new eY(eC,eT,eE);eM.toString("hex")===eI.toString("hex")?eK.addAssetAmount(eM,ew,eN):(eK.addAssetAmount(eM,ew,eW),this._feeCheck(eN,eI)&&eK.addAssetAmount(eI,eW,eN));let eG=this.getMinimumSpendable(eK,eB,eF,ej);if(void 0===eG)eU=eK.getInputs(),eV=eK.getChangeOutputs(),e$=eK.getOutputs();else throw eG;let eJ=new eO.ExportTx(eb,em,eV,eU,eR,eS,e$);return new eD.UnsignedTx(eJ)},this.buildAddSubnetValidatorTx=(eb=eP.DefaultNetworkID,em,ew,eM,eC,eT,eE,eS,eN,eI,eO,eR,eB=(0,eA.UnixNow)(),eF=[])=>{let ej=[],eU=[],eV=new e_.default(0),eH=(0,eA.UnixNow)();if(eT.lt(eH)||eE.lte(eT))throw Error("UTXOSet.buildAddSubnetValidatorTx -- startTime must be in the future and endTime must come after startTime");if(this._feeCheck(eI,eO)){let eb=new eY(ew,ew,eM);eb.addAssetAmount(eO,eV,eI);let em=this.getMinimumSpendable(eb,eB);if(void 0===em)ej=eb.getInputs(),eU=eb.getAllOutputs();else throw em}let e$=new eW.AddSubnetValidatorTx(eb,em,eU,ej,eR,eC,eT,eE,eS,eN);return eF.forEach(eb=>{e$.addSignatureIdx(eb[0],eb[1])}),new eD.UnsignedTx(e$)},this.buildAddDelegatorTx=(eb=eP.DefaultNetworkID,em,ew,eM,eC,eT,eS,eN,eI,eO,eR,eB,eF,eU,eV,e$,eW=(0,eA.UnixNow)(),eZ=1)=>{if(eB>eF.length)throw new eH.ThresholdError("Error - UTXOSet.buildAddDelegatorTx: reward threshold is greater than number of addresses");void 0===eT&&(eT=eM);let eK=[],eG=[],eJ=[],eX=new e_.default(0),eQ=(0,eA.UnixNow)();if(eN.lt(eQ)||eI.lte(eN))throw new eH.TimeError("UTXOSet.buildAddDelegatorTx -- startTime must be in the future and endTime must come after startTime");let e0=new eY(eM,eC,eT);ew.toString("hex")===eV.toString("hex")?e0.addAssetAmount(ew,eO,eU):(e0.addAssetAmount(ew,eO,eX),this._feeCheck(eU,eV)&&e0.addAssetAmount(eV,eX,eU));let e6=this.getMinimumSpendable(e0,eW,void 0,eZ,!0);if(void 0===e6)eK=e0.getInputs(),eG=e0.getChangeOutputs(),eJ=e0.getOutputs();else throw e6;let e4=new eE.SECPOwnerOutput(eF,eR,eB),e3=new ej.AddDelegatorTx(eb,em,eG,eK,e$,eS,eN,eI,eO,eJ,new eE.ParseableOutput(e4));return new eD.UnsignedTx(e3)},this.buildAddValidatorTx=(eb=eP.DefaultNetworkID,em,ew,eM,eC,eT,eS,eN,eI,eO,eR,eB,eF,eU,eV,e$,eW,eZ=(0,eA.UnixNow)())=>{let eK=[],eG=[],eJ=[],eX=new e_.default(0),eQ=(0,eA.UnixNow)();if(eN.lt(eQ)||eI.lte(eN))throw new eH.TimeError("UTXOSet.buildAddValidatorTx -- startTime must be in the future and endTime must come after startTime");if(eU>100||eU<0)throw new eH.TimeError("UTXOSet.buildAddValidatorTx -- startTime must be in the range of 0 to 100, inclusively");let e0=new eY(eM,eC,eT);ew.toString("hex")===e$.toString("hex")?e0.addAssetAmount(ew,eO,eV):(e0.addAssetAmount(ew,eO,eX),this._feeCheck(eV,e$)&&e0.addAssetAmount(e$,eX,eV));let e6=this.getMinimumSpendable(e0,eZ,void 0,void 0,!0);if(void 0===e6)eK=e0.getInputs(),eG=e0.getChangeOutputs(),eJ=e0.getOutputs();else throw e6;let e4=new eE.SECPOwnerOutput(eF,eR,eB),e3=new ej.AddValidatorTx(eb,em,eG,eK,eW,eS,eN,eI,eO,eJ,new eE.ParseableOutput(e4),eU);return new eD.UnsignedTx(e3)},this.buildCreateSubnetTx=(eb=eP.DefaultNetworkID,em,ew,eM,eC,eT,eS,eN,eI,eO=(0,eA.UnixNow)())=>{let eR=new e_.default(0),eB=[],eF=[];if(this._feeCheck(eS,eN)){let eb=new eY(ew,ew,eM);eb.addAssetAmount(eN,eR,eS);let em=this.getMinimumSpendable(eb,eO,void 0,void 0);if(void 0===em)eB=eb.getInputs(),eF=eb.getAllOutputs();else throw em}let ej=new e_.default(0),eV=new eE.SECPOwnerOutput(eC,ej,eT),eH=new eU.CreateSubnetTx(eb,em,eF,eB,eI,eV);return new eD.UnsignedTx(eH)},this.buildCreateChainTx=(eb=eP.DefaultNetworkID,em,ew,eM,eC,eT,eE,eS,eN,eI,eO,eR,eB=(0,eA.UnixNow)(),eF=[])=>{let ej=new e_.default(0),eU=[],eV=[];if(this._feeCheck(eI,eO)){let eb=new eY(ew,ew,eM);eb.addAssetAmount(eO,ej,eI);let em=this.getMinimumSpendable(eb,eB,void 0,void 0);if(void 0===em)eU=eb.getInputs(),eV=eb.getAllOutputs();else throw em}let eH=new e$.CreateChainTx(eb,em,eV,eU,eR,eC,eT,eE,eS,eN);return eF.forEach(eb=>{eH.addSignatureIdx(eb[0],eb[1])}),new eD.UnsignedTx(eH)}}deserialize(eb,em="hex"){super.deserialize(eb,em);let ew={};for(let eM in eb.utxos){let eC=eK.decoder(eM,em,"base58","base58");ew[`${eC}`]=new eG,ew[`${eC}`].deserialize(eb.utxos[`${eM}`],em)}let eM={};for(let ew in eb.addressUTXOs){let eC=eK.decoder(ew,em,"cb58","hex"),eT={};for(let eM in eb.addressUTXOs[`${ew}`])eT[`${eK.decoder(eM,em,"base58","base58")}`]=eK.decoder(eb.addressUTXOs[`${ew}`][`${eM}`],em,"decimalString","BN");eM[`${eC}`]=eT}this.utxos=ew,this.addressUTXOs=eM}parseUTXO(eb){let em=new eG;if("string"==typeof eb)em.fromBuffer(eZ.cb58Decode(eb));else if(eb instanceof eN.StandardUTXO)em.fromBuffer(eb.toBuffer());else throw new eH.UTXOError("Error - UTXO.parseUTXO: utxo parameter is not a UTXO or string");return em}create(...eb){return new eJ}clone(){let eb=this.create(),em=this.getAllUTXOs();return eb.addArray(em),eb}_feeCheck(eb,em){return void 0!==eb&&void 0!==em&&eb.gt(new e_.default(0))&&em instanceof eC.Buffer}}em.UTXOSet=eJ},35439:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.AddValidatorTx=em.AddDelegatorTx=em.WeightedValidatorTx=em.ValidatorTx=void 0;let eC=eM(ew(13550)),eT=eM(ew(89734)),e_=ew(871),eE=ew(37883),eS=ew(48764),eA=ew(78034),eN=ew(89858),eI=ew(3421),eD=ew(37883),eO=ew(48984),eP=ew(77556),eR=eT.default.getInstance(),eB=eO.Serialization.getInstance();class eF extends e_.BaseTx{constructor(eb,em,ew,eM,eC,eT,e_,eE){super(eb,em,ew,eM,eC),this._typeName="ValidatorTx",this._typeID=void 0,this.nodeID=eS.Buffer.alloc(20),this.startTime=eS.Buffer.alloc(8),this.endTime=eS.Buffer.alloc(8),this.nodeID=eT,this.startTime=eR.fromBNToBuffer(e_,8),this.endTime=eR.fromBNToBuffer(eE,8)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{nodeID:eB.encoder(this.nodeID,eb,"Buffer","nodeID"),startTime:eB.encoder(this.startTime,eb,"Buffer","decimalString"),endTime:eB.encoder(this.endTime,eb,"Buffer","decimalString")})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.nodeID=eB.decoder(eb.nodeID,em,"nodeID","Buffer",20),this.startTime=eB.decoder(eb.startTime,em,"decimalString","Buffer",8),this.endTime=eB.decoder(eb.endTime,em,"decimalString","Buffer",8)}getNodeID(){return this.nodeID}getNodeIDString(){return(0,eI.bufferToNodeIDString)(this.nodeID)}getStartTime(){return eR.fromBufferToBN(this.startTime)}getEndTime(){return eR.fromBufferToBN(this.endTime)}fromBuffer(eb,em=0){return em=super.fromBuffer(eb,em),this.nodeID=eR.copyFrom(eb,em,em+20),em+=20,this.startTime=eR.copyFrom(eb,em,em+8),em+=8,this.endTime=eR.copyFrom(eb,em,em+8),em+=8}toBuffer(){let eb=super.toBuffer(),em=eb.length+this.nodeID.length+this.startTime.length+this.endTime.length;return eS.Buffer.concat([eb,this.nodeID,this.startTime,this.endTime],em)}}em.ValidatorTx=eF;class ej extends eF{constructor(eb=eN.DefaultNetworkID,em=eS.Buffer.alloc(32,16),ew,eM,eC,eT,e_,eE,eA){super(eb,em,ew,eM,eC,eT,e_,eE),this._typeName="WeightedValidatorTx",this._typeID=void 0,this.weight=eS.Buffer.alloc(8),this.weight=eR.fromBNToBuffer(eA,8)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{weight:eB.encoder(this.weight,eb,"Buffer","decimalString")})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.weight=eB.decoder(eb.weight,em,"decimalString","Buffer",8)}getWeight(){return eR.fromBufferToBN(this.weight)}getWeightBuffer(){return this.weight}fromBuffer(eb,em=0){return em=super.fromBuffer(eb,em),this.weight=eR.copyFrom(eb,em,em+8),em+=8}toBuffer(){let eb=super.toBuffer();return eS.Buffer.concat([eb,this.weight])}}em.WeightedValidatorTx=ej;class eU extends ej{constructor(eb=eN.DefaultNetworkID,em=eS.Buffer.alloc(32,16),ew,eM,eC,eT,e_,eE,eI,eD,eO){super(eb,em,ew,eM,eC,eT,e_,eE,eI),this._typeName="AddDelegatorTx",this._typeID=eA.PlatformVMConstants.ADDDELEGATORTX,this.stakeOuts=[],this.rewardOwners=void 0,this.stakeOuts=eD,this.rewardOwners=eO}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{stakeOuts:this.stakeOuts.map(em=>em.serialize(eb)),rewardOwners:this.rewardOwners.serialize(eb)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.stakeOuts=eb.stakeOuts.map(eb=>{let ew=new eE.TransferableOutput;return ew.deserialize(eb,em),ew}),this.rewardOwners=new eD.ParseableOutput,this.rewardOwners.deserialize(eb.rewardOwners,em)}getTxType(){return this._typeID}getStakeAmount(){return this.getWeight()}getStakeAmountBuffer(){return this.weight}getStakeOuts(){return this.stakeOuts}getStakeOutsTotal(){let eb=new eC.default(0);for(let em=0;em=0&&eR<=100)this.delegationFee=parseFloat(eR.toFixed(4));else throw new eP.DelegationFeeError("AddValidatorTx.constructor -- delegationFee must be in the range of 0 and 100, inclusively.")}}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{delegationFee:eB.encoder(this.getDelegationFeeBuffer(),eb,"Buffer","decimalString",4)})}deserialize(eb,em="hex"){super.deserialize(eb,em);let ew=eB.decoder(eb.delegationFee,em,"decimalString","Buffer",4);this.delegationFee=ew.readUInt32BE(0)/eV.delegatorMultiplier}getTxType(){return this._typeID}getDelegationFee(){return this.delegationFee}getDelegationFeeBuffer(){let eb=eS.Buffer.alloc(4),em=parseFloat(this.delegationFee.toFixed(4))*eV.delegatorMultiplier;return eb.writeUInt32BE(em,0),eb}fromBuffer(eb,em=0){em=super.fromBuffer(eb,em);let ew=eR.copyFrom(eb,em,em+4);return em+=4,this.delegationFee=ew.readUInt32BE(0)/eV.delegatorMultiplier,em}toBuffer(){let eb=super.toBuffer(),em=this.getDelegationFeeBuffer();return eS.Buffer.concat([eb,em])}}em.AddValidatorTx=eV,eV.delegatorMultiplier=1e4},91440:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Socket=void 0;let eC=eM(ew(46792)),eT=ew(3079);class e_ extends eC.default{constructor(eb=`wss://${eT.MainnetAPI}:443/ext/bc/X/events`,em){super(eb,em)}send(eb,em){super.send(eb,em)}close(eb,em){super.close(eb,em)}}em.Socket=e_},33269:function(eb,em,ew){"use strict";var eM=this&&this.__awaiter||function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})},eC=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0});let eT=eC(ew(45609)),e_=ew(40286),eE=ew(77556),eS=ew(32413),eA=ew(3421);class eN{constructor(eb,em,ew="http"){this.networkID=0,this.hrp="",this.auth=void 0,this.headers={},this.requestConfig={},this.apis={},this.setAddress=(eb,em,ew="http",eM="")=>{eb=eb.replace(/[&#,@+()$~%'":*?<>{}]/g,""),ew=ew.replace(/[&#,@+()$~%'":*?<>{}]/g,"");let eC=["http","https"];if(!eC.includes(ew))throw new eE.ProtocolError("Error - AvalancheCore.setAddress: Invalid protocol");this.host=eb,this.port=em,this.protocol=ew,this.baseEndpoint=eM;let eT=`${ew}://${eb}`;void 0!=em&&"number"==typeof em&&em>=0&&(eT=`${eT}:${em}`),void 0!=eM&&"string"==typeof eM&&eM.length>0&&("/"!=eM[0]&&(eM=`/${eM}`),eT=`${eT}${eM}`),this.url=eT},this.getProtocol=()=>this.protocol,this.getHost=()=>this.host,this.getIP=()=>this.host,this.getPort=()=>this.port,this.getBaseEndpoint=()=>this.baseEndpoint,this.getURL=()=>this.url,this.getHeaders=()=>this.headers,this.getRequestConfig=()=>this.requestConfig,this.getNetworkID=()=>this.networkID,this.setNetworkID=eb=>{this.networkID=eb,this.hrp=(0,eA.getPreferredHRP)(this.networkID)},this.getHRP=()=>this.hrp,this.setHRP=eb=>{this.hrp=eb},this.setHeader=(eb,em)=>{this.headers[`${eb}`]=em},this.removeHeader=eb=>{delete this.headers[`${eb}`]},this.removeAllHeaders=()=>{for(let eb in this.headers)Object.prototype.hasOwnProperty.call(this.headers,eb)&&delete this.headers[`${eb}`]},this.setRequestConfig=(eb,em)=>{this.requestConfig[`${eb}`]=em},this.removeRequestConfig=eb=>{delete this.requestConfig[`${eb}`]},this.removeAllRequestConfigs=()=>{for(let eb in this.requestConfig)Object.prototype.hasOwnProperty.call(this.requestConfig,eb)&&delete this.requestConfig[`${eb}`]},this.setAuthToken=eb=>{this.auth=eb},this._setHeaders=eb=>{if("object"==typeof this.headers)for(let[em,ew]of Object.entries(this.headers))eb[`${em}`]=ew;return"string"==typeof this.auth&&(eb.Authorization=`Bearer ${this.auth}`),eb},this.addAPI=(eb,em,ew,...eM)=>{void 0===ew?this.apis[`${eb}`]=new em(this,void 0,...eM):this.apis[`${eb}`]=new em(this,ew,...eM)},this.api=eb=>this.apis[`${eb}`],this._request=(eb,em,ew,eC,eE={},eA)=>eM(this,void 0,void 0,function*(){let eM;(eM=eA?Object.assign(Object.assign({},eA),this.requestConfig):Object.assign({baseURL:this.url,responseType:"text"},this.requestConfig)).url=em,eM.method=eb,eM.headers=eE,eM.data=eC,eM.params=ew,"undefined"!=typeof fetch&&(eM.adapter=eS.fetchAdapter);let eN=yield eT.default.request(eM),eI=new e_.RequestResponseData(eN.data,eN.headers,eN.status,eN.statusText,eN.request);return eI}),this.get=(eb,em,ew={},eM)=>this._request("GET",eb,em,{},this._setHeaders(ew),eM),this.delete=(eb,em,ew={},eM)=>this._request("DELETE",eb,em,{},this._setHeaders(ew),eM),this.post=(eb,em,ew,eM={},eC)=>this._request("POST",eb,em,ew,this._setHeaders(eM),eC),this.put=(eb,em,ew,eM={},eC)=>this._request("PUT",eb,em,ew,this._setHeaders(eM),eC),this.patch=(eb,em,ew,eM={},eC)=>this._request("PATCH",eb,em,ew,this._setHeaders(eM),eC),void 0!=eb&&this.setAddress(eb,em,ew)}}em.default=eN},40286:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.APIBase=em.RequestResponseData=void 0;let eC=eM(ew(82060));class eT{constructor(eb,em,ew,eM,eC){this.data=eb,this.headers=em,this.status=ew,this.statusText=eM,this.request=eC}}em.RequestResponseData=eT;class e_{constructor(eb,em){this.setBaseURL=eb=>{if(this.db&&this.baseURL!==eb){let em=this.db.getAll();this.db.clearAll(),this.baseURL=eb,this.db=eC.default.getNamespace(eb),this.db.setAll(em,!0)}else this.baseURL=eb,this.db=eC.default.getNamespace(eb)},this.getBaseURL=()=>this.baseURL,this.getDB=()=>this.db,this.core=eb,this.setBaseURL(em)}}em.APIBase=e_},2996:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.StandardAssetAmountDestination=em.AssetAmount=void 0;let eC=ew(48764),eT=eM(ew(13550)),e_=ew(77556);class eE{constructor(eb,em,ew){this.assetID=eC.Buffer.alloc(32),this.amount=new eT.default(0),this.burn=new eT.default(0),this.spent=new eT.default(0),this.stakeableLockSpent=new eT.default(0),this.change=new eT.default(0),this.stakeableLockChange=!1,this.finished=!1,this.getAssetID=()=>this.assetID,this.getAssetIDString=()=>this.assetID.toString("hex"),this.getAmount=()=>this.amount,this.getSpent=()=>this.spent,this.getBurn=()=>this.burn,this.getChange=()=>this.change,this.getStakeableLockSpent=()=>this.stakeableLockSpent,this.getStakeableLockChange=()=>this.stakeableLockChange,this.isFinished=()=>this.finished,this.spendAmount=(eb,em=!1)=>{if(this.finished)throw new e_.InsufficientFundsError("Error - AssetAmount.spendAmount: attempted to spend excess funds");this.spent=this.spent.add(eb),em&&(this.stakeableLockSpent=this.stakeableLockSpent.add(eb));let ew=this.amount.add(this.burn);return this.spent.gte(ew)&&(this.change=this.spent.sub(ew),em&&(this.stakeableLockChange=!0),this.finished=!0),this.finished},this.assetID=eb,this.amount=void 0===em?new eT.default(0):em,this.burn=void 0===ew?new eT.default(0):ew,this.spent=new eT.default(0),this.stakeableLockSpent=new eT.default(0),this.stakeableLockChange=!1}}em.AssetAmount=eE;class eS{constructor(eb,em,ew){this.amounts=[],this.destinations=[],this.senders=[],this.changeAddresses=[],this.amountkey={},this.inputs=[],this.outputs=[],this.change=[],this.addAssetAmount=(eb,em,ew)=>{let eM=new eE(eb,em,ew);this.amounts.push(eM),this.amountkey[eM.getAssetIDString()]=eM},this.addInput=eb=>{this.inputs.push(eb)},this.addOutput=eb=>{this.outputs.push(eb)},this.addChange=eb=>{this.change.push(eb)},this.getAmounts=()=>this.amounts,this.getDestinations=()=>this.destinations,this.getSenders=()=>this.senders,this.getChangeAddresses=()=>this.changeAddresses,this.getAssetAmount=eb=>this.amountkey[`${eb}`],this.assetExists=eb=>eb in this.amountkey,this.getInputs=()=>this.inputs,this.getOutputs=()=>this.outputs,this.getChangeOutputs=()=>this.change,this.getAllOutputs=()=>this.outputs.concat(this.change),this.canComplete=()=>{for(let eb=0;eb{this.source=eb},this.getSource=()=>this.source}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{source:eA.encoder(this.source,eb,"Buffer","hex")})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.source=eA.decoder(eb.source,em,"hex","Buffer")}clone(){let eb=new eN;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eN}}em.SigIdx=eN;class eI extends eC.NBytes{constructor(){super(),this._typeName="Signature",this._typeID=void 0,this.bytes=eT.Buffer.alloc(65),this.bsize=65}clone(){let eb=new eI;return eb.fromBuffer(this.toBuffer()),eb}create(...eb){return new eI}}em.Signature=eI;class eD extends eE.Serializable{constructor(eb){super(),this._typeName="Credential",this._typeID=void 0,this.sigArray=[],this.addSignature=eb=>(this.sigArray.push(eb),this.sigArray.length-1),void 0!==eb&&(this.sigArray=eb)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{sigArray:this.sigArray.map(em=>em.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.sigArray=eb.sigArray.map(eb=>{let ew=new eI;return ew.deserialize(eb,em),ew})}setCodecID(eb){}fromBuffer(eb,em=0){let ew=eS.copyFrom(eb,em,em+4).readUInt32BE(0);em+=4,this.sigArray=[];for(let eM=0;eM{if(eb.getInput() instanceof eE.StandardAmountInput&&ew===eb.getAssetID().toString("hex")){let em=eb.getInput();eM=eM.add(em.getAmount())}}),eM}getOutputTotal(eb){let em=[],ew=eb.toString("hex"),eM=new e_.default(0);return em.forEach(eb=>{if(eb.getOutput() instanceof eS.StandardAmountOutput&&ew===eb.getAssetID().toString("hex")){let em=eb.getOutput();eM=eM.add(em.getAmount())}}),eM}getBurn(eb){return this.getInputTotal(eb).sub(this.getOutputTotal(eb))}toBuffer(){let eb=this.getCodecIDBuffer(),em=eC.Buffer.alloc(4);em.writeUInt32BE(this.transaction.getTxType(),0);let ew=this.transaction.toBuffer();return eC.Buffer.concat([eb,em,ew],eb.length+em.length+ew.length)}}em.EVMStandardUnsignedTx=eP;class eR extends eN.Serializable{constructor(eb,em){super(),this._typeName="StandardTx",this._typeID=void 0,this.unsignedTx=void 0,this.credentials=[],void 0!==eb&&(this.unsignedTx=eb,void 0!==em&&(this.credentials=em))}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{unsignedTx:this.unsignedTx.serialize(eb),credentials:this.credentials.map(em=>em.serialize(eb))})}getUnsignedTx(){return this.unsignedTx}toBuffer(){let eb=this.unsignedTx.toBuffer(),em=eb.length,ew=eC.Buffer.alloc(4);ew.writeUInt32BE(this.credentials.length,0);let eM=[eb,ew];em+=ew.length,this.credentials.forEach(eb=>{let ew=eC.Buffer.alloc(4);ew.writeUInt32BE(eb.getCredentialID(),0),eM.push(ew),em+=ew.length;let eT=eb.toBuffer();em+=eT.length,eM.push(eT)});let eT=eC.Buffer.concat(eM,em);return eT}fromString(eb){return this.fromBuffer(eI.cb58Decode(eb))}toString(){return eI.cb58Encode(this.toBuffer())}toStringHex(){return`0x${eI.addChecksum(this.toBuffer()).toString("hex")}`}}em.EVMStandardTx=eR},1958:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),eC(ew(40286),em),eC(ew(2996),em),eC(ew(65614),em),eC(ew(66408),em),eC(ew(7451),em),eC(ew(20620),em),eC(ew(98769),em),eC(ew(47469),em),eC(ew(2791),em),eC(ew(49009),em),eC(ew(90569),em),eC(ew(57248),em),eC(ew(21616),em),eC(ew(91864),em)},7451:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.StandardAmountInput=em.StandardTransferableInput=em.StandardParseableInput=em.Input=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=eM(ew(13550)),eE=ew(65614),eS=ew(48984),eA=eT.default.getInstance(),eN=eS.Serialization.getInstance();class eI extends eS.Serializable{constructor(){super(...arguments),this._typeName="Input",this._typeID=void 0,this.sigCount=eC.Buffer.alloc(4),this.sigIdxs=[],this.getSigIdxs=()=>this.sigIdxs,this.addSignatureIdx=(eb,em)=>{let ew=new eE.SigIdx,eM=eC.Buffer.alloc(4);eM.writeUInt32BE(eb,0),ew.fromBuffer(eM),ew.setSource(em),this.sigIdxs.push(ew),this.sigCount.writeUInt32BE(this.sigIdxs.length,0)}}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{sigIdxs:this.sigIdxs.map(em=>em.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.sigIdxs=eb.sigIdxs.map(eb=>{let ew=new eE.SigIdx;return ew.deserialize(eb,em),ew}),this.sigCount.writeUInt32BE(this.sigIdxs.length,0)}fromBuffer(eb,em=0){this.sigCount=eA.copyFrom(eb,em,em+4),em+=4;let ew=this.sigCount.readUInt32BE(0);this.sigIdxs=[];for(let eM=0;eM(eb,em)=>{let ew=eC.Buffer.alloc(4);ew.writeUInt32BE(eb.getInputID(),0);let eM=eb.toBuffer(),eT=eC.Buffer.alloc(4);eT.writeUInt32BE(em.getInputID(),0);let e_=em.toBuffer(),eE=eC.Buffer.concat([ew,eM],ew.length+eM.length),eS=eC.Buffer.concat([eT,e_],eT.length+e_.length);return eC.Buffer.compare(eE,eS)};class eD extends eS.Serializable{constructor(eb){super(),this._typeName="StandardParseableInput",this._typeID=void 0,this.getInput=()=>this.input,eb instanceof eI&&(this.input=eb)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{input:this.input.serialize(eb)})}toBuffer(){let eb=this.input.toBuffer(),em=eC.Buffer.alloc(4);em.writeUInt32BE(this.input.getInputID(),0);let ew=[em,eb];return eC.Buffer.concat(ew,em.length+eb.length)}}em.StandardParseableInput=eD,eD.comparator=()=>(eb,em)=>{let ew=eb.toBuffer(),eM=em.toBuffer();return eC.Buffer.compare(ew,eM)};class eO extends eD{constructor(eb,em,ew,eM){super(),this._typeName="StandardTransferableInput",this._typeID=void 0,this.txid=eC.Buffer.alloc(32),this.outputidx=eC.Buffer.alloc(4),this.assetID=eC.Buffer.alloc(32),this.getTxID=()=>this.txid,this.getOutputIdx=()=>this.outputidx,this.getUTXOID=()=>eA.bufferToB58(eC.Buffer.concat([this.txid,this.outputidx])),this.getInput=()=>this.input,this.getAssetID=()=>this.assetID,void 0!==eb&&void 0!==em&&void 0!==ew&&eM instanceof eI&&(this.input=eM,this.txid=eb,this.outputidx=em,this.assetID=ew)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{txid:eN.encoder(this.txid,eb,"Buffer","cb58"),outputidx:eN.encoder(this.outputidx,eb,"Buffer","decimalString"),assetID:eN.encoder(this.assetID,eb,"Buffer","cb58")})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.txid=eN.decoder(eb.txid,em,"cb58","Buffer",32),this.outputidx=eN.decoder(eb.outputidx,em,"decimalString","Buffer",4),this.assetID=eN.decoder(eb.assetID,em,"cb58","Buffer",32)}toBuffer(){let eb=super.toBuffer(),em=this.txid.length+this.outputidx.length+this.assetID.length+eb.length,ew=[this.txid,this.outputidx,this.assetID,eb],eM=eC.Buffer.concat(ew,em);return eM}toString(){return eA.bufferToB58(this.toBuffer())}}em.StandardTransferableInput=eO;class eP extends eI{constructor(eb){super(),this._typeName="StandardAmountInput",this._typeID=void 0,this.amount=eC.Buffer.alloc(8),this.amountValue=new e_.default(0),this.getAmount=()=>this.amountValue.clone(),eb&&(this.amountValue=eb.clone(),this.amount=eA.fromBNToBuffer(eb,8))}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{amount:eN.encoder(this.amount,eb,"Buffer","decimalString",8)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.amount=eN.decoder(eb.amount,em,"decimalString","Buffer",8),this.amountValue=eA.fromBufferToBN(this.amount)}fromBuffer(eb,em=0){return this.amount=eA.copyFrom(eb,em,em+8),this.amountValue=eA.fromBufferToBN(this.amount),em+=8,super.fromBuffer(eb,em)}toBuffer(){let eb=super.toBuffer(),em=this.amount.length+eb.length,ew=[this.amount,eb];return eC.Buffer.concat(ew,em)}}em.StandardAmountInput=eP},20620:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},98769:function(eb,em,ew){"use strict";var eM=this&&this.__awaiter||function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};Object.defineProperty(em,"__esModule",{value:!0}),em.JRPCAPI=void 0;let eC=ew(3079),eT=ew(40286);class e_ extends eT.APIBase{constructor(eb,em,ew="2.0"){super(eb,em),this.jrpcVersion="2.0",this.rpcID=1,this.callMethod=(eb,em,ew,eT)=>eM(this,void 0,void 0,function*(){let eM=ew||this.baseURL,e_={};e_.id=this.rpcID,e_.method=eb,em?e_.params=em:"1.0"===this.jrpcVersion&&(e_.params=[]),"1.0"!==this.jrpcVersion&&(e_.jsonrpc=this.jrpcVersion);let eE={"Content-Type":"application/json;charset=UTF-8"};eT&&(eE=Object.assign(Object.assign({},eE),eT)),ew=this.core.getURL();let eS={baseURL:ew,responseType:"json",adapter:"undefined"!=typeof fetch?eC.fetchAdapter:void 0},eA=yield this.core.post(eM,{},JSON.stringify(e_),eE,eS);if(eA.status>=200&&eA.status<300&&(this.rpcID+=1,"string"==typeof eA.data&&(eA.data=JSON.parse(eA.data)),"object"==typeof eA.data&&(null===eA.data||"error"in eA.data)))throw Error(eA.data.error.message);return eA}),this.getRPCID=()=>this.rpcID,this.jrpcVersion=ew,this.rpcID=1}}em.JRPCAPI=e_},47469:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.StandardKeyChain=em.StandardKeyPair=void 0;let eM=ew(48764);class eC{getPrivateKey(){return this.privk}getPublicKey(){return this.pubk}}em.StandardKeyPair=eC;class eT{constructor(){this.keys={},this.getAddresses=()=>Object.values(this.keys).map(eb=>eb.getAddress()),this.getAddressStrings=()=>Object.values(this.keys).map(eb=>eb.getAddressString()),this.removeKey=eb=>{let em;return(em=eb instanceof eM.Buffer?eb.toString("hex"):eb.getAddress().toString("hex"))in this.keys&&(delete this.keys[`${em}`],!0)},this.hasKey=eb=>eb.toString("hex") in this.keys,this.getKey=eb=>this.keys[eb.toString("hex")]}addKey(eb){this.keys[eb.getAddress().toString("hex")]=eb}}em.StandardKeyChain=eT},2791:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.NBytes=void 0;let eC=eM(ew(89734)),eT=ew(48984),e_=ew(77556),eE=eC.default.getInstance(),eS=eT.Serialization.getInstance();class eA extends eT.Serializable{constructor(){super(...arguments),this._typeName="NBytes",this._typeID=void 0,this.getSize=()=>this.bsize}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{bsize:eS.encoder(this.bsize,eb,"number","decimalString",4),bytes:eS.encoder(this.bytes,eb,"Buffer","hex",this.bsize)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.bsize=eS.decoder(eb.bsize,em,"decimalString","number",4),this.bytes=eS.decoder(eb.bytes,em,"hex","Buffer",this.bsize)}fromString(eb){try{this.fromBuffer(eE.b58ToBuffer(eb))}catch(em){let eb=`Error - NBytes.fromString: ${em}`;throw Error(eb)}return this.bsize}fromBuffer(eb,em=0){try{if(eb.length-em(eb,em)=>eC.Buffer.compare(eb.toBuffer(),em.toBuffer());class eP extends eA.Serializable{constructor(eb,em,ew){if(super(),this._typeName="OutputOwners",this._typeID=void 0,this.locktime=eC.Buffer.alloc(8),this.threshold=eC.Buffer.alloc(4),this.numaddrs=eC.Buffer.alloc(4),this.addresses=[],this.getThreshold=()=>this.threshold.readUInt32BE(0),this.getLocktime=()=>eI.fromBufferToBN(this.locktime),this.getAddresses=()=>{let eb=[];for(let em=0;em{for(let em=0;em{if(eb{let ew;ew=void 0===em?(0,eS.UnixNow)():em;let eM=this.getSpenders(eb,ew),eC=this.threshold.readUInt32BE(0);return eM.length>=eC},this.getSpenders=(eb,em)=>{let ew;let eM=[];ew=void 0===em?(0,eS.UnixNow)():em;let eC=eI.fromBufferToBN(this.locktime);if(ew.lte(eC))return eM;let eT=this.threshold.readUInt32BE(0);for(let em=0;emem.serialize(eb))})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.locktime=eD.decoder(eb.locktime,em,"decimalString","Buffer",8),this.threshold=eD.decoder(eb.threshold,em,"decimalString","Buffer",4),this.addresses=eb.addresses.map(eb=>{let ew=new eO;return ew.deserialize(eb,em),ew}),this.numaddrs=eC.Buffer.alloc(4),this.numaddrs.writeUInt32BE(this.addresses.length,0)}fromBuffer(eb,em=0){this.locktime=eI.copyFrom(eb,em,em+8),em+=8,this.threshold=eI.copyFrom(eb,em,em+4),em+=4,this.numaddrs=eI.copyFrom(eb,em,em+4),em+=4;let ew=this.numaddrs.readUInt32BE(0);this.addresses=[];for(let eM=0;eM(eb,em)=>{let ew=eC.Buffer.alloc(4);ew.writeUInt32BE(eb.getOutputID(),0);let eM=eb.toBuffer(),eT=eC.Buffer.alloc(4);eT.writeUInt32BE(em.getOutputID(),0);let e_=em.toBuffer(),eE=eC.Buffer.concat([ew,eM],ew.length+eM.length),eS=eC.Buffer.concat([eT,e_],eT.length+e_.length);return eC.Buffer.compare(eE,eS)};class eR extends eP{constructor(){super(...arguments),this._typeName="Output",this._typeID=void 0}}em.Output=eR;class eB extends eA.Serializable{constructor(eb){super(),this._typeName="StandardParseableOutput",this._typeID=void 0,this.getOutput=()=>this.output,eb instanceof eR&&(this.output=eb)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{output:this.output.serialize(eb)})}toBuffer(){let eb=this.output.toBuffer(),em=eC.Buffer.alloc(4);em.writeUInt32BE(this.output.getOutputID(),0);let ew=[em,eb];return eC.Buffer.concat(ew,em.length+eb.length)}}em.StandardParseableOutput=eB,eB.comparator=()=>(eb,em)=>{let ew=eb.toBuffer(),eM=em.toBuffer();return eC.Buffer.compare(ew,eM)};class eF extends eB{constructor(eb,em){super(em),this._typeName="StandardTransferableOutput",this._typeID=void 0,this.assetID=void 0,this.getAssetID=()=>this.assetID,void 0!==eb&&(this.assetID=eb)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{assetID:eD.encoder(this.assetID,eb,"Buffer","cb58")})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.assetID=eD.decoder(eb.assetID,em,"cb58","Buffer",32)}toBuffer(){let eb=super.toBuffer(),em=[this.assetID,eb];return eC.Buffer.concat(em,this.assetID.length+eb.length)}}em.StandardTransferableOutput=eF;class ej extends eR{constructor(eb,em,ew,eM){super(em,ew,eM),this._typeName="StandardAmountOutput",this._typeID=void 0,this.amount=eC.Buffer.alloc(8),this.amountValue=new eT.default(0),void 0!==eb&&(this.amountValue=eb.clone(),this.amount=eI.fromBNToBuffer(eb,8))}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{amount:eD.encoder(this.amount,eb,"Buffer","decimalString",8)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.amount=eD.decoder(eb.amount,em,"decimalString","Buffer",8),this.amountValue=eI.fromBufferToBN(this.amount)}getAmount(){return this.amountValue.clone()}fromBuffer(eb,em=0){return this.amount=eI.copyFrom(eb,em,em+8),this.amountValue=eI.fromBufferToBN(this.amount),em+=8,super.fromBuffer(eb,em)}toBuffer(){let eb=super.toBuffer(),em=this.amount.length+eb.length;this.numaddrs.writeUInt32BE(this.addresses.length,0);let ew=[this.amount,eb];return eC.Buffer.concat(ew,em)}}em.StandardAmountOutput=ej;class eU extends eR{constructor(){super(...arguments),this._typeName="BaseNFTOutput",this._typeID=void 0,this.groupID=eC.Buffer.alloc(4),this.getGroupID=()=>this.groupID.readUInt32BE(0)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{groupID:eD.encoder(this.groupID,eb,"Buffer","decimalString",4)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.groupID=eD.decoder(eb.groupID,em,"decimalString","Buffer",4)}}em.BaseNFTOutput=eU},90569:function(eb,em,ew){"use strict";var eM=this&&this.__awaiter||function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};Object.defineProperty(em,"__esModule",{value:!0}),em.RESTAPI=void 0;let eC=ew(40286);class eT extends eC.APIBase{constructor(eb,em,ew="application/json;charset=UTF-8",eC){super(eb,em),this.prepHeaders=(eb,em)=>{let ew={};return void 0!==eb?ew["Content-Type"]=eb:ew["Content-Type"]=this.contentType,void 0!==em?ew.Accept=em:void 0!==this.acceptType&&(ew.Accept=this.acceptType),ew},this.axConf=()=>({baseURL:this.core.getURL(),responseType:"json"}),this.get=(eb,em,ew)=>eM(this,void 0,void 0,function*(){let eM=eb||this.baseURL,eC=this.prepHeaders(em,ew),eT=yield this.core.get(eM,{},eC,this.axConf());return eT}),this.post=(eb,em,ew,eC,eT)=>eM(this,void 0,void 0,function*(){let eM=ew||this.baseURL,e_={};e_.method=eb,em&&(e_.params=em);let eE=this.prepHeaders(eC,eT),eS=yield this.core.post(eM,{},JSON.stringify(e_),eE,this.axConf());return eS}),this.put=(eb,em,ew,eC,eT)=>eM(this,void 0,void 0,function*(){let eM=ew||this.baseURL,e_={};e_.method=eb,em&&(e_.params=em);let eE=this.prepHeaders(eC,eT),eS=yield this.core.put(eM,{},JSON.stringify(e_),eE,this.axConf());return eS}),this.delete=(eb,em,ew,eC,eT)=>eM(this,void 0,void 0,function*(){let eM=ew||this.baseURL,e_={};e_.method=eb,em&&(e_.params=em);let eE=this.prepHeaders(eC,eT),eS=yield this.core.delete(eM,{},eE,this.axConf());return eS}),this.patch=(eb,em,ew,eC,eT)=>eM(this,void 0,void 0,function*(){let eM=ew||this.baseURL,e_={};e_.method=eb,em&&(e_.params=em);let eE=this.prepHeaders(eC,eT),eS=yield this.core.patch(eM,{},JSON.stringify(e_),eE,this.axConf());return eS}),this.getContentType=()=>this.contentType,this.getAcceptType=()=>this.acceptType,this.contentType=ew,this.acceptType=eC}}em.RESTAPI=eT},57248:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__setModuleDefault||(Object.create?function(eb,em){Object.defineProperty(eb,"default",{enumerable:!0,value:em})}:function(eb,em){eb.default=em}),eT=this&&this.__importStar||function(eb){if(eb&&eb.__esModule)return eb;var em={};if(null!=eb)for(var ew in eb)"default"!==ew&&Object.prototype.hasOwnProperty.call(eb,ew)&&eM(em,eb,ew);return eC(em,eb),em},e_=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.SECP256k1KeyChain=em.SECP256k1KeyPair=void 0;let eE=ew(48764),eS=eT(ew(86266)),eA=e_(ew(23482)),eN=e_(ew(89734)),eI=ew(47469),eD=ew(77556),eO=ew(3079),eP=eS.ec,eR=new eP("secp256k1"),eB=eR.curve,eF=eB.n.constructor,ej=eN.default.getInstance(),eU=eO.Serialization.getInstance();class eV extends eI.StandardKeyPair{constructor(eb,em){super(),this.chainID="",this.hrp="",this.chainID=em,this.hrp=eb,this.generateKey()}_sigFromSigBuffer(eb){let em=new eF(ej.copyFrom(eb,0,32)),ew=new eF(ej.copyFrom(eb,32,64)),eM=ej.copyFrom(eb,64,65).readUIntBE(0,1),eC={r:em,s:ew,recoveryParam:eM};return eC}generateKey(){this.keypair=eR.genKeyPair(),this.privk=eE.Buffer.from(this.keypair.getPrivate("hex").padStart(64,"0"),"hex"),this.pubk=eE.Buffer.from(this.keypair.getPublic(!0,"hex").padStart(66,"0"),"hex")}importKey(eb){this.keypair=eR.keyFromPrivate(eb.toString("hex"),"hex");try{return this.privk=eE.Buffer.from(this.keypair.getPrivate("hex").padStart(64,"0"),"hex"),this.pubk=eE.Buffer.from(this.keypair.getPublic(!0,"hex").padStart(66,"0"),"hex"),!0}catch(eb){return!1}}getAddress(){return eV.addressFromPublicKey(this.pubk)}getAddressString(){let eb=eV.addressFromPublicKey(this.pubk),em="bech32";return eU.bufferToType(eb,em,this.hrp,this.chainID)}static addressFromPublicKey(eb){if(65===eb.length&&(eb=eE.Buffer.from(eR.keyFromPublic(eb).getPublic(!0,"hex").padStart(66,"0"),"hex")),33===eb.length){let em=eE.Buffer.from((0,eA.default)("sha256").update(eb).digest()),ew=eE.Buffer.from((0,eA.default)("ripemd160").update(em).digest());return ew}throw new eD.PublicKeyError("Unable to make address.")}getPrivateKeyString(){return`PrivateKey-${ej.cb58Encode(this.privk)}`}getPublicKeyString(){return ej.cb58Encode(this.pubk)}sign(eb){let em=this.keypair.sign(eb,void 0,{canonical:!0}),ew=eE.Buffer.alloc(1);ew.writeUInt8(em.recoveryParam,0);let eM=eE.Buffer.from(em.r.toArray("be",32)),eC=eE.Buffer.from(em.s.toArray("be",32)),eT=eE.Buffer.concat([eM,eC,ew],65);return eT}verify(eb,em){let ew=this._sigFromSigBuffer(em);return eR.verify(eb,ew,this.keypair)}recover(eb,em){let ew=this._sigFromSigBuffer(em),eM=eR.recoverPubKey(eb,ew,ew.recoveryParam);return eE.Buffer.from(eM.encodeCompressed())}getChainID(){return this.chainID}setChainID(eb){this.chainID=eb}getHRP(){return this.hrp}setHRP(eb){this.hrp=eb}}em.SECP256k1KeyPair=eV;class eH extends eI.StandardKeyChain{addKey(eb){super.addKey(eb)}}em.SECP256k1KeyChain=eH},21616:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.StandardTx=em.StandardUnsignedTx=em.StandardBaseTx=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=eM(ew(13550)),eE=ew(7451),eS=ew(49009),eA=ew(89858),eN=ew(48984),eI=eT.default.getInstance(),eD=eN.Serialization.getInstance(),eO="cb58",eP="hex",eR="decimalString",eB="Buffer";class eF extends eN.Serializable{constructor(eb=eA.DefaultNetworkID,em=eC.Buffer.alloc(32,16),ew,eM,eT){super(),this._typeName="StandardBaseTx",this._typeID=void 0,this.networkID=eC.Buffer.alloc(4),this.blockchainID=eC.Buffer.alloc(32),this.numouts=eC.Buffer.alloc(4),this.numins=eC.Buffer.alloc(4),this.memo=eC.Buffer.alloc(0),this.networkID.writeUInt32BE(eb,0),this.blockchainID=em,void 0!==eT&&(this.memo=eT),void 0!==eM&&void 0!==ew&&(this.numouts.writeUInt32BE(ew.length,0),this.outs=ew.sort(eS.StandardTransferableOutput.comparator()),this.numins.writeUInt32BE(eM.length,0),this.ins=eM.sort(eE.StandardTransferableInput.comparator()))}serialize(eb="hex"){let em=super.serialize(eb);return Object.assign(Object.assign({},em),{networkID:eD.encoder(this.networkID,eb,eB,eR),blockchainID:eD.encoder(this.blockchainID,eb,eB,eO),outs:this.outs.map(em=>em.serialize(eb)),ins:this.ins.map(em=>em.serialize(eb)),memo:eD.encoder(this.memo,eb,eB,eP)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.networkID=eD.decoder(eb.networkID,em,eR,eB,4),this.blockchainID=eD.decoder(eb.blockchainID,em,eO,eB,32),this.memo=eD.decoder(eb.memo,em,eP,eB)}getNetworkID(){return this.networkID.readUInt32BE(0)}getBlockchainID(){return this.blockchainID}getMemo(){return this.memo}toBuffer(){this.outs.sort(eS.StandardTransferableOutput.comparator()),this.ins.sort(eE.StandardTransferableInput.comparator()),this.numouts.writeUInt32BE(this.outs.length,0),this.numins.writeUInt32BE(this.ins.length,0);let eb=this.networkID.length+this.blockchainID.length+this.numouts.length,em=[this.networkID,this.blockchainID,this.numouts];for(let ew=0;ewem.serialize(eb))})}getCredentials(){return this.credentials}getUnsignedTx(){return this.unsignedTx}toBuffer(){let eb=this.unsignedTx.getTransaction(),em=eb.getCodecID(),ew=this.unsignedTx.toBuffer(),eM=ew.length,eT=eC.Buffer.alloc(4);eT.writeUInt32BE(this.credentials.length,0);let e_=[ew,eT];eM+=eT.length;for(let eb=0;ebthis.codecID.readUInt8(0),this.getCodecIDBuffer=()=>this.codecID,this.getTxID=()=>this.txid,this.getOutputIdx=()=>this.outputidx,this.getAssetID=()=>this.assetID,this.getUTXOID=()=>eI.bufferToB58(eC.Buffer.concat([this.getTxID(),this.getOutputIdx()])),this.getOutput=()=>this.output,void 0!==eb&&this.codecID.writeUInt8(eb,0),void 0!==em&&(this.txid=em),"number"==typeof ew?this.outputidx.writeUInt32BE(ew,0):ew instanceof eC.Buffer&&(this.outputidx=ew),void 0!==eM&&(this.assetID=eM),void 0!==eT&&(this.output=eT)}serialize(eb="hex"){return Object.assign(Object.assign({},super.serialize(eb)),{codecID:eD.encoder(this.codecID,eb,"Buffer","decimalString"),txid:eD.encoder(this.txid,eb,"Buffer","cb58"),outputidx:eD.encoder(this.outputidx,eb,"Buffer","decimalString"),assetID:eD.encoder(this.assetID,eb,"Buffer","cb58"),output:this.output.serialize(eb)})}deserialize(eb,em="hex"){super.deserialize(eb,em),this.codecID=eD.decoder(eb.codecID,em,"decimalString","Buffer",2),this.txid=eD.decoder(eb.txid,em,"cb58","Buffer",32),this.outputidx=eD.decoder(eb.outputidx,em,"decimalString","Buffer",4),this.assetID=eD.decoder(eb.assetID,em,"cb58","Buffer",32)}toBuffer(){let eb=this.output.toBuffer(),em=eC.Buffer.alloc(4);em.writeUInt32BE(this.output.getOutputID(),0);let ew=[this.codecID,this.txid,this.outputidx,this.assetID,em,eb];return eC.Buffer.concat(ew,this.codecID.length+this.txid.length+this.outputidx.length+this.assetID.length+em.length+eb.length)}}em.StandardUTXO=eO;class eP extends eA.Serializable{constructor(){super(...arguments),this._typeName="StandardUTXOSet",this._typeID=void 0,this.utxos={},this.addressUTXOs={},this.includes=eb=>{let em,ew;try{ew=(em=this.parseUTXO(eb)).getUTXOID()}catch(eb){return eb instanceof Error?console.log(eb.message):console.log(eb),!1}return ew in this.utxos},this.remove=eb=>{let em;try{em=this.parseUTXO(eb)}catch(eb){eb instanceof Error?console.log(eb.message):console.log(eb);return}let ew=em.getUTXOID();if(!(ew in this.utxos))return;delete this.utxos[`${ew}`];let eM=Object.keys(this.addressUTXOs);for(let eb=0;eb{let em=[];for(let ew=0;ewthis.utxos[`${eb}`],this.getAllUTXOs=eb=>void 0!==eb&&Array.isArray(eb)?eb.filter(eb=>this.utxos[`${eb}`]).map(eb=>this.utxos[`${eb}`]):Object.values(this.utxos),this.getAllUTXOStrings=eb=>{let em=[],ew=Object.keys(this.utxos);if(void 0!==eb&&Array.isArray(eb))for(let ew=0;ew{if(void 0!==eb){let ew=[],eM=(0,eS.UnixNow)();for(let eC=0;eCObject.keys(this.addressUTXOs).map(eb=>eC.Buffer.from(eb,"hex")),this.getBalance=(eb,em,ew)=>{let eM;let eC=this.getUTXOIDs(eb),eT=this.getAllUTXOs(eC),eS=new e_.default(0);eM="string"==typeof em?eI.cb58Decode(em):em;for(let em=0;em{let em=new Set,ew=[];ew=void 0!==eb?this.getUTXOIDs(eb):this.getUTXOIDs();for(let eb=0;eb{let ew=this.create(),eM=this.getAllUTXOs(em),eC=eb.getAllUTXOs(em),eT=eb=>{ew.add(eb)};return eM.forEach(eT),eC.forEach(eT),ew},this.intersection=eb=>{let em=this.getUTXOIDs(),ew=eb.getUTXOIDs(),eM=em.filter(eb=>ew.includes(eb));return this.merge(eb,eM)},this.difference=eb=>{let em=this.getUTXOIDs(),ew=eb.getUTXOIDs(),eM=em.filter(eb=>!ew.includes(eb));return this.merge(eb,eM)},this.symDifference=eb=>{let em=this.getUTXOIDs(),ew=eb.getUTXOIDs(),eM=em.filter(eb=>!ew.includes(eb)).concat(ew.filter(eb=>!em.includes(eb)));return this.merge(eb,eM)},this.union=eb=>this.merge(eb),this.mergeByRule=(eb,em)=>{let ew;switch(em){case"intersection":return this.intersection(eb);case"differenceSelf":return this.difference(eb);case"differenceNew":return eb.difference(this);case"symDifference":return this.symDifference(eb);case"union":return this.union(eb);case"unionMinusNew":return(ew=this.union(eb)).difference(eb);case"unionMinusSelf":return(ew=this.union(eb)).difference(this);default:throw new eN.MergeRuleError("Error - StandardUTXOSet.mergeByRule: bad MergeRule")}}}serialize(eb="hex"){let em=super.serialize(eb),ew={};for(let em in this.utxos)ew[`${eD.encoder(em,eb,"base58","base58")}`]=this.utxos[`${em}`].serialize(eb);let eM={};for(let em in this.addressUTXOs){let ew=eD.encoder(em,eb,"hex","cb58"),eC={};for(let ew in this.addressUTXOs[`${em}`])eC[`${eD.encoder(ew,eb,"base58","base58")}`]=eD.encoder(this.addressUTXOs[`${em}`][`${ew}`],eb,"BN","decimalString");eM[`${ew}`]=eC}return Object.assign(Object.assign({},em),{utxos:ew,addressUTXOs:eM})}add(eb,em=!1){let ew;try{ew=this.parseUTXO(eb)}catch(eb){eb instanceof Error?console.log(eb.message):console.log(eb);return}let eM=ew.getUTXOID();if(!(eM in this.utxos)||!0===em){this.utxos[`${eM}`]=ew;let eb=ew.getOutput().getAddresses(),em=ew.getOutput().getLocktime();for(let ew=0;ewthis.apis.admin,this.Auth=()=>this.apis.auth,this.CChain=()=>this.apis.cchain,this.XChain=()=>this.apis.xchain,this.Health=()=>this.apis.health,this.Index=()=>this.apis.index,this.Info=()=>this.apis.info,this.Metrics=()=>this.apis.metrics,this.NodeKeys=()=>this.apis.keystore,this.PChain=()=>this.apis.pchain;let eD=eC,eO=eT;void 0!==eC&&eC&&"x"!==eC.toLowerCase()||(eD=eM.toString() in eH.Defaults.network?eH.Defaults.network[`${eM}`].X.blockchainID:eH.Defaults.network[12345].X.blockchainID),void 0!==eT&&eT&&"c"!==eT.toLowerCase()||(eO=eM.toString() in eH.Defaults.network?eH.Defaults.network[`${eM}`].C.blockchainID:eH.Defaults.network[12345].C.blockchainID),"number"==typeof eM&&eM>=0?this.networkID=eM:void 0===eM&&(eM=eH.DefaultNetworkID),void 0!==e_?this.hrp=e_:this.hrp=(0,e$.getPreferredHRP)(this.networkID),eE||(this.addAPI("admin",eS.AdminAPI),this.addAPI("auth",eA.AuthAPI),this.addAPI("xchain",eN.AVMAPI,"/ext/bc/X",eD),this.addAPI("cchain",eI.EVMAPI,"/ext/bc/C/avax",eO),this.addAPI("health",eP.HealthAPI),this.addAPI("info",eB.InfoAPI),this.addAPI("index",eR.IndexAPI),this.addAPI("keystore",eF.KeystoreAPI),this.addAPI("metrics",ej.MetricsAPI),this.addAPI("pchain",eU.PlatformVMAPI))}}em.default=eQ,em.Avalanche=eQ,em.admin=eT(ew(87580)),em.auth=eT(ew(18493)),em.avm=eT(ew(74294)),em.common=eT(ew(1958)),em.evm=eT(ew(36969)),em.health=eT(ew(64814)),em.index=eT(ew(40996)),em.info=eT(ew(75436)),em.keystore=eT(ew(67769)),em.metrics=eT(ew(67833)),em.platformvm=eT(ew(39205)),em.utils=eT(ew(3079))},70438:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Base58=void 0;let eC=eM(ew(13550)),eT=ew(48764),e_=ew(77556);class eE{constructor(){this.b58alphabet="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",this.alphabetIdx0="1",this.b58=[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,255,255,255,255,255,255,255,9,10,11,12,13,14,15,16,255,17,18,19,20,21,255,22,23,24,25,26,27,28,29,30,31,32,255,255,255,255,255,255,33,34,35,36,37,38,39,40,41,42,43,255,44,45,46,47,48,49,50,51,52,53,54,55,56,57,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255],this.big58Radix=new eC.default(58),this.bigZero=new eC.default(0),this.encode=eb=>{let em=new eC.default(eb.toString("hex"),"hex","be"),ew="";for(;em.cmp(this.bigZero)>0;){let eb=em.mod(this.big58Radix);em=em.div(this.big58Radix),ew+=this.b58alphabet[eb.toNumber()]}for(let em=0;em{let em;let ew=new eC.default(0),eM=new eC.default(1);for(let em=eb.length-1;em>=0;em--){let eT=this.b58[eb.charCodeAt(em)];if(255===eT)throw new e_.Base58Error("Error - Base58.decode: not a valid base58 string");let eE=new eC.default(eT);eE.imul(eM),ew.iadd(eE),eM.imul(this.big58Radix)}let eE=ew.toString("hex");eE=eE.length%2?`0${eE}`:eE;let eS=eT.Buffer.from(eE,"hex");for(em=0;em{let em=eb.trim().split("-");if(2!==em.length)return!1;try{eN.bech32.fromWords(eN.bech32.decode(em[1]).words)}catch(eb){return!1}return!0},this.bufferToString=eb=>this.copyFrom(eb,2).toString("utf8"),this.stringToBuffer=eb=>{let em=eS.Buffer.alloc(2+eb.length);return em.writeUInt16BE(eb.length,0),em.write(eb,2,eb.length,"utf8"),em},this.copyFrom=(eb,em=0,ew)=>(void 0===ew&&(ew=eb.length),eS.Buffer.from(Uint8Array.prototype.slice.call(eb.slice(em,ew)))),this.bufferToB58=eb=>this.b58.encode(eb),this.b58ToBuffer=eb=>this.b58.decode(eb),this.fromBufferToArrayBuffer=eb=>{let em=new ArrayBuffer(eb.length),ew=new Uint8Array(em);for(let em=0;em{let em=eS.Buffer.alloc(eb.byteLength);for(let ew=0;ew{if(void 0!==eb)return new eE.default(eb.toString("hex"),16,"be")},this.fromBNToBuffer=(eb,em)=>{if(void 0===eb)return;let ew=eb.toArray("be");if(em){let eb=em-ew.length;for(let em=0;em{let em=eS.Buffer.from((0,eA.default)("sha256").update(eb).digest().slice(28));return eS.Buffer.concat([eb,em])},this.validateChecksum=eb=>{let em=eb.slice(eb.length-4),ew=eS.Buffer.from((0,eA.default)("sha256").update(eb.slice(0,eb.length-4)).digest().slice(28));return em.toString("hex")===ew.toString("hex")},this.cb58Encode=eb=>{let em=this.addChecksum(eb);return this.bufferToB58(em)},this.cb58Decode=eb=>{if("string"==typeof eb&&(eb=this.b58ToBuffer(eb)),this.validateChecksum(eb))return this.copyFrom(eb,0,eb.length-4);throw new eD.ChecksumError("Error - BinTools.cb58Decode: invalid checksum")},this.cb58DecodeWithChecksum=eb=>{if("string"==typeof eb&&(eb=this.b58ToBuffer(eb)),this.validateChecksum(eb))return`0x${this.copyFrom(eb,0,eb.length).toString("hex")}`;throw new eD.ChecksumError("Error - BinTools.cb58Decode: invalid checksum")},this.addressToString=(eb,em,ew)=>`${em}-${eN.bech32.encode(eb,eN.bech32.toWords(ew))}`,this.stringToAddress=(eb,em)=>{if("0x"===eb.substring(0,2)){if(eO.utils.isAddress(eb))return eS.Buffer.from(eb.substring(2),"hex");throw new eD.HexError("Error - Invalid address")}let ew=eb.trim().split("-");if(ew.length<2)throw new eD.Bech32Error("Error - Valid address should include -");if(ew[0].length<1)throw new eD.Bech32Error("Error - Valid address must have prefix before -");let eM=ew[1].lastIndexOf("1");if(eM<0)throw new eD.Bech32Error("Error - Valid address must include separator (1)");let eC=ew[1].slice(0,eM);if(eC.length<1)throw new eD.Bech32Error("Error - HRP should be at least 1 character");if("avax"!==eC&&"fuji"!==eC&&"local"!=eC&&"custom"!=eC&&eC!=em)throw new eD.Bech32Error("Error - Invalid HRP");return eS.Buffer.from(eN.bech32.fromWords(eN.bech32.decode(ew[1]).words))},this.parseAddress=(eb,em,ew,eM=20)=>{let eC=eb.split("-");if(2===eC.length&&(ew&&eC[0]===ew||em&&eC[0]===em)){let em=this.stringToAddress(eb);if(eM&&em.length===eM||!eM)return em}},this.b58=eI.Base58.getInstance()}static getInstance(){return eP.instance||(eP.instance=new eP),eP.instance}isBase64(eb){if(""===eb||""===eb.trim())return!1;try{return eS.Buffer.from(eb,"base64").toString("base64")===eb}catch(eb){return!1}}isCB58(eb){return this.isBase58(eb)}isBase58(eb){if(""===eb||""===eb.trim())return!1;try{return this.b58.encode(this.b58.decode(eb))===eb}catch(eb){return!1}}isHex(eb){if(""===eb||""===eb.trim())return!1;let em=eb.startsWith("0x"),ew=em?eb.slice(2).match(/[0-9A-Fa-f]/g):eb.match(/[0-9A-Fa-f]/g);return!!em&&eb.length-2==ew.length||eb.length==ew.length}isDecimal(eb){if(""===eb||""===eb.trim())return!1;try{return new eE.default(eb,10).toString(10)===eb.trim()}catch(eb){return!1}}}em.default=eP},89858:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Defaults=em.AVAXSTAKECAP=em.AVAXGWEI=em.GWEI=em.WEI=em.NANOAVAX=em.MICROAVAX=em.MILLIAVAX=em.CENTIAVAX=em.DECIAVAX=em.ONEAVAX=em.mnemonic=em.DefaultEVMLocalGenesisAddress=em.DefaultEVMLocalGenesisPrivateKey=em.DefaultLocalGenesisPrivateKey=em.PChainVMName=em.CChainVMName=em.XChainVMName=em.PChainAlias=em.CChainAlias=em.XChainAlias=em.PrimaryNetworkID=em.PlatformChainID=em.DefaultNetworkID=em.FallbackEVMChainID=em.FallbackNetworkName=em.FallbackHRP=em.NetworkNameToNetworkID=em.NetworkIDToNetworkNames=em.HRPToNetworkID=em.NetworkIDToHRP=em.FujiAPI=em.MainnetAPI=em.PrimaryAssetAlias=em.NodeIDPrefix=em.PrivateKeyPrefix=void 0;let eC=eM(ew(13550));em.PrivateKeyPrefix="PrivateKey-",em.NodeIDPrefix="NodeID-",em.PrimaryAssetAlias="AVAX",em.MainnetAPI="api.avax.network",em.FujiAPI="api.avax-test.network",em.NetworkIDToHRP={0:"custom",1:"avax",2:"cascade",3:"denali",4:"everest",5:"fuji",1337:"custom",12345:"local"},em.HRPToNetworkID={manhattan:0,avax:1,cascade:2,denali:3,everest:4,fuji:5,custom:1337,local:12345},em.NetworkIDToNetworkNames={0:["Manhattan"],1:["Avalanche","Mainnet"],2:["Cascade"],3:["Denali"],4:["Everest"],5:["Fuji","Testnet"],1337:["Custom Network"],12345:["Local Network"]},em.NetworkNameToNetworkID={Manhattan:0,Avalanche:1,Mainnet:1,Cascade:2,Denali:3,Everest:4,Fuji:5,Testnet:5,Custom:1337,"Custom Network":1337,Local:12345,"Local Network":12345},em.FallbackHRP="custom",em.FallbackNetworkName="Custom Network",em.FallbackEVMChainID=43112,em.DefaultNetworkID=1,em.PlatformChainID="11111111111111111111111111111111LpoYY",em.PrimaryNetworkID="11111111111111111111111111111111LpoYY",em.XChainAlias="X",em.CChainAlias="C",em.PChainAlias="P",em.XChainVMName="avm",em.CChainVMName="evm",em.PChainVMName="platformvm",em.DefaultLocalGenesisPrivateKey="ewoqjP7PxY4yr3iLTpLisriqt94hdyDFNgchSxGGztUrTXtNN",em.DefaultEVMLocalGenesisPrivateKey="0x56289e99c94b6912bfc12adc093c9b51124f0dc54ac7a766b2bc5ccf558d8027",em.DefaultEVMLocalGenesisAddress="0x8db97C7cEcE249c2b98bDC0226Cc4C2A57BF52FC",em.mnemonic="output tooth keep tooth bracket fox city sustain blood raise install pond stem reject long scene clap gloom purpose mean music piece unknown light",em.ONEAVAX=new eC.default(1e9),em.DECIAVAX=em.ONEAVAX.div(new eC.default(10)),em.CENTIAVAX=em.ONEAVAX.div(new eC.default(100)),em.MILLIAVAX=em.ONEAVAX.div(new eC.default(1e3)),em.MICROAVAX=em.ONEAVAX.div(new eC.default(1e6)),em.NANOAVAX=em.ONEAVAX.div(new eC.default(1e9)),em.WEI=new eC.default(1),em.GWEI=em.WEI.mul(new eC.default(1e9)),em.AVAXGWEI=em.NANOAVAX.clone(),em.AVAXSTAKECAP=em.ONEAVAX.mul(new eC.default(3e6));let eT={blockchainID:"2vrXWHgGxh5n3YsLHMV16YVVJTpT4z45Fmb4y3bL6si8kLCyg9",alias:em.XChainAlias,vm:em.XChainVMName,fee:em.MILLIAVAX,creationTxFee:em.CENTIAVAX,mintTxFee:em.MILLIAVAX},e_={blockchainID:em.PlatformChainID,alias:em.PChainAlias,vm:em.PChainVMName,fee:em.MILLIAVAX,creationTxFee:em.CENTIAVAX,createSubnetTx:em.ONEAVAX,createChainTx:em.ONEAVAX,minConsumption:.1,maxConsumption:.12,maxStakingDuration:new eC.default(31536e3),maxSupply:new eC.default(72e7).mul(em.ONEAVAX),minStake:em.ONEAVAX.mul(new eC.default(2e3)),minStakeDuration:1209600,maxStakeDuration:31536e3,minDelegationStake:em.ONEAVAX.mul(new eC.default(25)),minDelegationFee:new eC.default(2)},eE={blockchainID:"2fFZQibQXcd6LTE4rpBPBAkLVXFE91Kit8pgxaBG1mRnh5xqbb",alias:em.CChainAlias,vm:em.CChainVMName,fee:em.MILLIAVAX,gasPrice:em.GWEI.mul(new eC.default(470)),chainID:43111},eS="FvwEAhmxKfeiG8SnEvq42hc6whRyY3EFYAvebMqDNDGCgxN5Z",eA={blockchainID:"2oYMBNV4eNHyqk2fjjV5nVQLDbtmNJzq5s3qs3Lo6ftnC6FByM",avaxAssetID:eS,alias:em.XChainAlias,vm:em.XChainVMName,txFee:em.MILLIAVAX,creationTxFee:em.CENTIAVAX,mintTxFee:em.MILLIAVAX},eN={blockchainID:em.PlatformChainID,avaxAssetID:eS,alias:em.PChainAlias,vm:em.PChainVMName,txFee:em.MILLIAVAX,createSubnetTx:em.ONEAVAX,createChainTx:em.ONEAVAX,creationTxFee:em.CENTIAVAX,minConsumption:.1,maxConsumption:.12,maxStakingDuration:new eC.default(31536e3),maxSupply:new eC.default(72e7).mul(em.ONEAVAX),minStake:em.ONEAVAX.mul(new eC.default(2e3)),minStakeDuration:1209600,maxStakeDuration:31536e3,minDelegationStake:em.ONEAVAX.mul(new eC.default(25)),minDelegationFee:new eC.default(2)},eI={blockchainID:"2q9e4r6Mu3U68nU1fYjgbR6JvwrRx36CohpAX5UQxse55x1Q5",alias:em.CChainAlias,vm:em.CChainVMName,txBytesGas:1,costPerSignature:1e3,txFee:em.MILLIAVAX,gasPrice:em.GWEI.mul(new eC.default(225)),minGasPrice:em.GWEI.mul(new eC.default(25)),maxGasPrice:em.GWEI.mul(new eC.default(1e3)),chainID:43114},eD={blockchainID:"4ktRjsAKxgMr2aEzv9SWmrU7Xk5FniHUrVCX4P1TZSfTLZWFM",alias:em.XChainAlias,vm:em.XChainVMName,txFee:0,creationTxFee:0,mintTxFee:new eC.default(0)},eO={blockchainID:em.PlatformChainID,alias:em.PChainAlias,vm:em.PChainVMName,txFee:0,creationTxFee:0,createSubnetTx:em.ONEAVAX,createChainTx:em.ONEAVAX,minConsumption:.1,maxConsumption:.12,maxStakingDuration:new eC.default(31536e3),maxSupply:new eC.default(72e7).mul(em.ONEAVAX),minStake:em.ONEAVAX.mul(new eC.default(2e3)),minStakeDuration:1209600,maxStakeDuration:31536e3,minDelegationStake:em.ONEAVAX.mul(new eC.default(25)),minDelegationFee:new eC.default(2)},eP={blockchainID:"2mUYSXfLrDtigwbzj1LxKVsHwELghc5sisoXrzJwLqAAQHF4i",alias:em.CChainAlias,vm:em.CChainVMName,gasPrice:0},eR={blockchainID:"rrEWX7gc7D9mwcdrdBxBTdqh1a7WDVsMuadhTZgyXfFcRz45L",alias:em.XChainAlias,vm:em.XChainVMName,txFee:0,creationTxFee:0,mintTxFee:new eC.default(0)},eB={blockchainID:"",alias:em.PChainAlias,vm:em.PChainVMName,txFee:0,creationTxFee:0,createSubnetTx:em.ONEAVAX,createChainTx:em.ONEAVAX,minConsumption:.1,maxConsumption:.12,maxStakingDuration:new eC.default(31536e3),maxSupply:new eC.default(72e7).mul(em.ONEAVAX),minStake:em.ONEAVAX.mul(new eC.default(2e3)),minStakeDuration:1209600,maxStakeDuration:31536e3,minDelegationStake:em.ONEAVAX.mul(new eC.default(25)),minDelegationFee:new eC.default(2)},eF={blockchainID:"zJytnh96Pc8rM337bBrtMvJDbEdDNjcXG3WkTNCiLp18ergm9",alias:em.CChainAlias,vm:em.CChainVMName,gasPrice:0},ej={blockchainID:"jnUjZSRt16TcRnZzmh5aMhavwVHz3zBrSN8GfFMTQkzUnoBxC",alias:em.XChainAlias,vm:em.XChainVMName,txFee:em.MILLIAVAX,creationTxFee:em.CENTIAVAX,mintTxFee:em.MILLIAVAX},eU={blockchainID:em.PlatformChainID,alias:em.PChainAlias,vm:em.PChainVMName,txFee:em.MILLIAVAX,creationTxFee:em.CENTIAVAX,createSubnetTx:em.ONEAVAX,createChainTx:em.ONEAVAX,minConsumption:.1,maxConsumption:.12,maxStakingDuration:new eC.default(31536e3),maxSupply:new eC.default(72e7).mul(em.ONEAVAX),minStake:em.ONEAVAX.mul(new eC.default(2e3)),minStakeDuration:1209600,maxStakeDuration:31536e3,minDelegationStake:em.ONEAVAX.mul(new eC.default(25)),minDelegationFee:new eC.default(2)},eV={blockchainID:"saMG5YgNsFxzjz4NMkEkt3bAH6hVxWdZkWcEnGB3Z15pcAmsK",alias:em.CChainAlias,vm:em.CChainVMName,gasPrice:em.GWEI.mul(new eC.default(470)),chainID:43110};eS="U8iRqJoiJm8xZHAacmvYyZVwqQx6uDNtQeP3CQ6fcgQk3JqnK";let eH={blockchainID:"2JVSBoinj9C2J33VntvzYtVJNZdN2NKiwwKjcumHUWEb5DbBrm",avaxAssetID:eS,alias:em.XChainAlias,vm:em.XChainVMName,txFee:em.MILLIAVAX,creationTxFee:em.CENTIAVAX,mintTxFee:em.MILLIAVAX},e$={blockchainID:em.PlatformChainID,avaxAssetID:eS,alias:em.PChainAlias,vm:em.PChainVMName,txFee:em.MILLIAVAX,creationTxFee:em.CENTIAVAX,createSubnetTx:em.ONEAVAX,createChainTx:em.ONEAVAX,minConsumption:.1,maxConsumption:.12,maxStakingDuration:new eC.default(31536e3),maxSupply:new eC.default(72e7).mul(em.ONEAVAX),minStake:em.ONEAVAX,minStakeDuration:86400,maxStakeDuration:31536e3,minDelegationStake:em.ONEAVAX,minDelegationFee:new eC.default(2)},eW={blockchainID:"yH8D7ThNJkxmtkuv2jgBa4P1Rn3Qpr4pPr7QYNfcdoS6k6HWp",alias:em.CChainAlias,vm:em.CChainVMName,txBytesGas:1,costPerSignature:1e3,txFee:em.MILLIAVAX,gasPrice:em.GWEI.mul(new eC.default(225)),minGasPrice:em.GWEI.mul(new eC.default(25)),maxGasPrice:em.GWEI.mul(new eC.default(1e3)),chainID:43113};eS="BUuypiq2wyuLMvyhzFXcPyxPMCgSp7eeDohhQRqTChoBjKziC";let eZ=Object.assign({},eH);eZ.blockchainID="qzfF3A11KzpcHkkqznEyQgupQrCNS6WV6fTUTwZpEKqhj1QE7",eZ.avaxAssetID=eS;let eK=Object.assign({},e$);eK.blockchainID=em.PlatformChainID;let eG=Object.assign({},eW);eG.blockchainID="BR28ypgLATNS6PbtHMiJ7NQ61vfpT27Hj8tAcZ1AHsfU5cz88",eG.avaxAssetID=eS,eG.chainID=43112,eS="2fombhL7aGPwj3KH4bfrmJwW6PVnMobf9Y2fn9GwxiAAJyFDbe";let eY=Object.assign({},eH);eY.blockchainID="2eNy1mUFdmaxXNj1eQHUe7Np4gju9sJsEtWQ4MX3ToiNKuADed",eY.avaxAssetID=eS;let eJ=Object.assign({},e$);eJ.blockchainID=em.PlatformChainID;let eX=Object.assign({},eW);eX.blockchainID="2CA6j5zYzasynPsFeNoqWkmTCt3VScMvXUZHbfDJ8k3oGzAPtU",eX.avaxAssetID=eS,eX.chainID=43112;class eQ{}em.Defaults=eQ,eQ.network={0:{hrp:em.NetworkIDToHRP[0],X:eT,"2vrXWHgGxh5n3YsLHMV16YVVJTpT4z45Fmb4y3bL6si8kLCyg9":eT,P:e_,"11111111111111111111111111111111LpoYY":e_,C:eE,"2fFZQibQXcd6LTE4rpBPBAkLVXFE91Kit8pgxaBG1mRnh5xqbb":eE},1:{hrp:em.NetworkIDToHRP[1],X:eA,"2oYMBNV4eNHyqk2fjjV5nVQLDbtmNJzq5s3qs3Lo6ftnC6FByM":eA,P:eN,"11111111111111111111111111111111LpoYY":eN,C:eI,"2q9e4r6Mu3U68nU1fYjgbR6JvwrRx36CohpAX5UQxse55x1Q5":eI},2:{hrp:em.NetworkIDToHRP[2],X:eD,"4ktRjsAKxgMr2aEzv9SWmrU7Xk5FniHUrVCX4P1TZSfTLZWFM":eD,P:eO,"11111111111111111111111111111111LpoYY":eO,C:eP,"2mUYSXfLrDtigwbzj1LxKVsHwELghc5sisoXrzJwLqAAQHF4i":eP},3:{hrp:em.NetworkIDToHRP[3],X:eR,rrEWX7gc7D9mwcdrdBxBTdqh1a7WDVsMuadhTZgyXfFcRz45L:eR,P:eB,"11111111111111111111111111111111LpoYY":eB,C:eF,zJytnh96Pc8rM337bBrtMvJDbEdDNjcXG3WkTNCiLp18ergm9:eF},4:{hrp:em.NetworkIDToHRP[4],X:ej,jnUjZSRt16TcRnZzmh5aMhavwVHz3zBrSN8GfFMTQkzUnoBxC:ej,P:eU,"11111111111111111111111111111111LpoYY":eU,C:eV,saMG5YgNsFxzjz4NMkEkt3bAH6hVxWdZkWcEnGB3Z15pcAmsK:eV},5:{hrp:em.NetworkIDToHRP[5],X:eH,"2JVSBoinj9C2J33VntvzYtVJNZdN2NKiwwKjcumHUWEb5DbBrm":eH,P:e$,"11111111111111111111111111111111LpoYY":e$,C:eW,yH8D7ThNJkxmtkuv2jgBa4P1Rn3Qpr4pPr7QYNfcdoS6k6HWp:eW},1337:{hrp:em.NetworkIDToHRP[1337],X:eZ,qzfF3A11KzpcHkkqznEyQgupQrCNS6WV6fTUTwZpEKqhj1QE7:eZ,P:eK,"11111111111111111111111111111111LpoYY":eK,C:eG,BR28ypgLATNS6PbtHMiJ7NQ61vfpT27Hj8tAcZ1AHsfU5cz88:eG},12345:{hrp:em.NetworkIDToHRP[12345],X:eY,"2eNy1mUFdmaxXNj1eQHUe7Np4gju9sJsEtWQ4MX3ToiNKuADed":eY,P:eJ,"11111111111111111111111111111111LpoYY":eJ,C:eX,"2CA6j5zYzasynPsFeNoqWkmTCt3VScMvXUZHbfDJ8k3oGzAPtU":eX}}},82060:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0});let eC=eM(ew(11860));class eT{constructor(){}static getInstance(){return eT.instance||(eT.instance=new eT),eT.instance}static getNamespace(eb){return this.store.namespace(eb)}}em.default=eT,eT.store=eC.default},77556:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.SubnetAddressError=em.SubnetThresholdError=em.SubnetIdError=em.ProtocolError=em.InvalidEntropy=em.EVMFeeError=em.Bech32Error=em.UnknownTypeError=em.TypeNameError=em.TypeIdError=em.HexError=em.NodeIdError=em.PrivateKeyError=em.Base58Error=em.MergeRuleError=em.PublicKeyError=em.AddressIndexError=em.BufferSizeError=em.SubnetOwnerError=em.DelegationFeeError=em.TimeError=em.StakeError=em.FeeAssetError=em.EVMOutputError=em.EVMInputError=em.SECPMintOutputError=em.ThresholdError=em.InsufficientFundsError=em.UTXOError=em.OutputIdError=em.ChecksumError=em.InvalidOperationIdError=em.OperationError=em.InputIdError=em.TransferableInputError=em.TransferableOutputError=em.CredIdError=em.CodecIdError=em.TransactionError=em.NameError=em.SymbolError=em.NoAtomicUTXOsError=em.ChainIdError=em.GooseEggCheckError=em.AddressError=em.AvalancheError=void 0;let ew="1000",eM="1001",eC="1002",eT="1003",e_="1004",eE="1005",eS="1006",eA="1007",eN="1008",eI="1009",eD="1010",eO="1011",eP="1012",eR="1013",eB="1014",eF="1015",ej="1016",eU="1017",eV="1018",eH="1019",e$="1020",eW="1021",eZ="1022",eK="1023",eG="1024",eY="1025",eJ="1026",eX="1027",eQ="1028",e0="1029",e6="1030",e4="1031",e3="1032",e5="1033",e8="1034",e9="1035",e7="1036",tw="1037",tC="1038",tT="1039",t_="1040",tE="1041",tS="1042",tA="1043",tN="1044";class tI extends Error{constructor(eb,em){super(eb),Object.setPrototypeOf(this,tI.prototype),this.errorCode=em}getCode(){return this.errorCode}}em.AvalancheError=tI;class tD extends tI{constructor(eb){super(eb,ew),Object.setPrototypeOf(this,tD.prototype)}}em.AddressError=tD;class tO extends tI{constructor(eb){super(eb,eM),Object.setPrototypeOf(this,tO.prototype)}}em.GooseEggCheckError=tO;class tP extends tI{constructor(eb){super(eb,eC),Object.setPrototypeOf(this,tP.prototype)}}em.ChainIdError=tP;class tR extends tI{constructor(eb){super(eb,eT),Object.setPrototypeOf(this,tR.prototype)}}em.NoAtomicUTXOsError=tR;class tB extends tI{constructor(eb){super(eb,e_),Object.setPrototypeOf(this,tB.prototype)}}em.SymbolError=tB;class tF extends tI{constructor(eb){super(eb,eE),Object.setPrototypeOf(this,tF.prototype)}}em.NameError=tF;class tj extends tI{constructor(eb){super(eb,eS),Object.setPrototypeOf(this,tj.prototype)}}em.TransactionError=tj;class tU extends tI{constructor(eb){super(eb,eA),Object.setPrototypeOf(this,tU.prototype)}}em.CodecIdError=tU;class tV extends tI{constructor(eb){super(eb,eN),Object.setPrototypeOf(this,tV.prototype)}}em.CredIdError=tV;class tH extends tI{constructor(eb){super(eb,eI),Object.setPrototypeOf(this,tH.prototype)}}em.TransferableOutputError=tH;class t$ extends tI{constructor(eb){super(eb,eD),Object.setPrototypeOf(this,t$.prototype)}}em.TransferableInputError=t$;class tq extends tI{constructor(eb){super(eb,eO),Object.setPrototypeOf(this,tq.prototype)}}em.InputIdError=tq;class tW extends tI{constructor(eb){super(eb,eP),Object.setPrototypeOf(this,tW.prototype)}}em.OperationError=tW;class tZ extends tI{constructor(eb){super(eb,eR),Object.setPrototypeOf(this,tZ.prototype)}}em.InvalidOperationIdError=tZ;class tK extends tI{constructor(eb){super(eb,eB),Object.setPrototypeOf(this,tK.prototype)}}em.ChecksumError=tK;class tG extends tI{constructor(eb){super(eb,eF),Object.setPrototypeOf(this,tG.prototype)}}em.OutputIdError=tG;class tY extends tI{constructor(eb){super(eb,ej),Object.setPrototypeOf(this,tY.prototype)}}em.UTXOError=tY;class tJ extends tI{constructor(eb){super(eb,eU),Object.setPrototypeOf(this,tJ.prototype)}}em.InsufficientFundsError=tJ;class tX extends tI{constructor(eb){super(eb,eV),Object.setPrototypeOf(this,tX.prototype)}}em.ThresholdError=tX;class tQ extends tI{constructor(eb){super(eb,eH),Object.setPrototypeOf(this,tQ.prototype)}}em.SECPMintOutputError=tQ;class nw extends tI{constructor(eb){super(eb,e$),Object.setPrototypeOf(this,nw.prototype)}}em.EVMInputError=nw;class nM extends tI{constructor(eb){super(eb,eW),Object.setPrototypeOf(this,nM.prototype)}}em.EVMOutputError=nM;class nC extends tI{constructor(eb){super(eb,eZ),Object.setPrototypeOf(this,nC.prototype)}}em.FeeAssetError=nC;class nk extends tI{constructor(eb){super(eb,eK),Object.setPrototypeOf(this,nk.prototype)}}em.StakeError=nk;class nT extends tI{constructor(eb){super(eb,eG),Object.setPrototypeOf(this,nT.prototype)}}em.TimeError=nT;class n_ extends tI{constructor(eb){super(eb,eY),Object.setPrototypeOf(this,n_.prototype)}}em.DelegationFeeError=n_;class nE extends tI{constructor(eb){super(eb,eJ),Object.setPrototypeOf(this,nE.prototype)}}em.SubnetOwnerError=nE;class nS extends tI{constructor(eb){super(eb,eX),Object.setPrototypeOf(this,nS.prototype)}}em.BufferSizeError=nS;class nA extends tI{constructor(eb){super(eb,eQ),Object.setPrototypeOf(this,nA.prototype)}}em.AddressIndexError=nA;class nN extends tI{constructor(eb){super(eb,e0),Object.setPrototypeOf(this,nN.prototype)}}em.PublicKeyError=nN;class nI extends tI{constructor(eb){super(eb,e6),Object.setPrototypeOf(this,nI.prototype)}}em.MergeRuleError=nI;class nD extends tI{constructor(eb){super(eb,e4),Object.setPrototypeOf(this,nD.prototype)}}em.Base58Error=nD;class nO extends tI{constructor(eb){super(eb,e3),Object.setPrototypeOf(this,nO.prototype)}}em.PrivateKeyError=nO;class nP extends tI{constructor(eb){super(eb,e5),Object.setPrototypeOf(this,nP.prototype)}}em.NodeIdError=nP;class nR extends tI{constructor(eb){super(eb,e8),Object.setPrototypeOf(this,nR.prototype)}}em.HexError=nR;class nB extends tI{constructor(eb){super(eb,e9),Object.setPrototypeOf(this,nB.prototype)}}em.TypeIdError=nB;class nF extends tI{constructor(eb){super(eb,tS),Object.setPrototypeOf(this,nF.prototype)}}em.TypeNameError=nF;class nj extends tI{constructor(eb){super(eb,e7),Object.setPrototypeOf(this,nj.prototype)}}em.UnknownTypeError=nj;class nU extends tI{constructor(eb){super(eb,tw),Object.setPrototypeOf(this,nU.prototype)}}em.Bech32Error=nU;class nV extends tI{constructor(eb){super(eb,tC),Object.setPrototypeOf(this,nV.prototype)}}em.EVMFeeError=nV;class nH extends tI{constructor(eb){super(eb,tT),Object.setPrototypeOf(this,nH.prototype)}}em.InvalidEntropy=nH;class n$ extends tI{constructor(eb){super(eb,t_),Object.setPrototypeOf(this,n$.prototype)}}em.ProtocolError=n$;class nq extends tI{constructor(eb){super(eb,tE),Object.setPrototypeOf(this,nq.prototype)}}em.SubnetIdError=nq;class nW extends tI{constructor(eb){super(eb,tA),Object.setPrototypeOf(this,nW.prototype)}}em.SubnetThresholdError=nW;class nZ extends tI{constructor(eb){super(eb,tN),Object.setPrototypeOf(this,nZ.prototype)}}em.SubnetAddressError=nZ},32413:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer,eC=this&&this.__awaiter||function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};function eT(eb){let em=new Headers(eb.headers);if(eb.auth){let ew=eb.auth.username||"",eC=eb.auth.password?encodeURIComponent(eb.auth.password):"";em.set("Authorization",`Basic ${eM.from(`${ew}:${eC}`).toString("base64")}`)}let ew=eb.method.toUpperCase(),eC={headers:em,method:ew};"GET"!==ew&&"HEAD"!==ew&&(eC.body=eb.data),eb.withCredentials&&(eC.credentials=eb.withCredentials?"include":"omit");let eT=new URL(eb.url,eb.baseURL),e_=new URLSearchParams(eb.params),eE=`${eT}${e_}`;return new Request(eE,eC)}function e_(eb,em){return eC(this,void 0,void 0,function*(){let ew;try{ew=yield fetch(eb)}catch(eM){let ew=Object.assign(Object.assign({},Error("Network Error")),{config:em,request:eb,isAxiosError:!0,toJSON:()=>ew});return Promise.reject(ew)}let eM={status:ew.status,statusText:ew.statusText,headers:Object.assign({},ew.headers),config:em,request:eb,data:void 0};if(ew.status>=200&&204!==ew.status)switch(em.responseType){case"arraybuffer":eM.data=yield ew.arrayBuffer();break;case"blob":eM.data=yield ew.blob();break;case"json":eM.data=yield ew.json();break;case"formData":eM.data=yield ew.formData();break;default:eM.data=yield ew.text()}return Promise.resolve(eM)})}function eE(eb){return eC(this,void 0,void 0,function*(){let em=eT(eb),ew=[e_(em,eb)];eb.timeout&&eb.timeout>0&&ew.push(new Promise((ew,eM)=>{setTimeout(()=>{let ew=eb.timeoutErrorMessage?eb.timeoutErrorMessage:"timeout of "+eb.timeout+"ms exceeded",eC=Object.assign(Object.assign({},Error(ew)),{config:eb,request:em,code:"ECONNABORTED",isAxiosError:!0,toJSON:()=>eC});eM(eC)},eb.timeout)}));let eM=yield Promise.race(ew);return new Promise((ew,eC)=>{if(eM instanceof Error)eC(eM);else if(!eM.status||!eM.config.validateStatus||eM.config.validateStatus(eM.status))ew(eM);else{let ew=Object.assign(Object.assign({},Error("Request failed with status code "+eM.status)),{config:eb,request:em,code:eM.status>=500?"ERR_BAD_RESPONSE":"ERR_BAD_REQUEST",isAxiosError:!0,toJSON:()=>ew});eC(ew)}})})}Object.defineProperty(em,"__esModule",{value:!0}),em.fetchAdapter=void 0,em.fetchAdapter=eE},96504:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0});let eC=ew(48764),eT=eM(ew(49840)),e_=eM(ew(89734)),eE=e_.default.getInstance();class eS{constructor(eb){"string"==typeof eb&&"xp"===eb.substring(0,2)?this.hdkey=eT.default.fromExtendedKey(eb):eC.Buffer.isBuffer(eb)?this.hdkey=eT.default.fromMasterSeed(eb):this.hdkey=eT.default.fromMasterSeed(eC.Buffer.from(eb)),this.publicKey=this.hdkey.publicKey,this.privateKey=this.hdkey.privateKey,this.privateKey?this.privateKeyCB58=`PrivateKey-${eE.cb58Encode(this.privateKey)}`:this.privateExtendedKey=null,this.chainCode=this.hdkey.chainCode,this.privateExtendedKey=this.hdkey.privateExtendedKey,this.publicExtendedKey=this.hdkey.publicExtendedKey}derive(eb){let em=this.hdkey.derive(eb);return new eS(null!=em.privateExtendedKey?em.privateExtendedKey:em.publicExtendedKey)}sign(eb){let em=this.hdkey.sign(eb);return eC.Buffer.from(em)}verify(eb,em){return this.hdkey.verify(eb,em)}wipePrivateData(){this.privateKey=null,this.privateExtendedKey=null,this.privateKeyCB58=null,this.hdkey.wipePrivateData()}}em.default=eS},3421:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.costExportTx=em.calcBytesCost=em.costImportTx=em.NodeIDStringToBuffer=em.bufferToNodeIDString=em.privateKeyStringToBuffer=em.bufferToPrivateKeyString=em.UnixNow=em.MaxWeightFormula=em.getPreferredHRP=void 0;let eC=ew(89858),eT=eM(ew(13550)),e_=eM(ew(89734)),eE=ew(77556),eS=e_.default.getInstance();function eA(eb){return eb in eC.NetworkIDToHRP?eC.NetworkIDToHRP[`${eb}`]:void 0===eb?eC.NetworkIDToHRP[`${eC.DefaultNetworkID}`]:eC.FallbackHRP}function eN(eb,em){return eT.default.min(eb.mul(new eT.default(5)),em)}function eI(){return new eT.default(Math.round(new Date().getTime()/1e3))}function eD(eb){return`PrivateKey-${eS.cb58Encode(eb)}`}function eO(eb){if(!eb.startsWith("PrivateKey-"))throw new eE.PrivateKeyError("Error - privateKeyStringToBuffer: private keys must start with 'PrivateKey-'");let em=eb.split("-");return eS.cb58Decode(em[em.length-1])}function eP(eb){return`NodeID-${eS.cb58Encode(eb)}`}function eR(eb){if(!eb.startsWith("NodeID-"))throw new eE.NodeIdError("Error - privateNodeIDToBuffer: nodeID must start with 'NodeID-'");let em=eb.split("-");return eS.cb58Decode(em[em.length-1])}function eB(eb){let em=eF(eb.toBuffer().byteLength),ew=eb.getTransaction();ew.getImportInputs().forEach(eb=>{let ew=eb.getCost();em+=ew});let eM=1e4;return em+eM}function eF(eb){return eb*eC.Defaults.network[1].C.txBytesGas}function ej(eb){let em=eF(eb.toBuffer().byteLength),ew=eb.getTransaction(),eM=ew.getInputs().length,eT=eM*eC.Defaults.network[1].C.costPerSignature,e_=1e4;return em+eT+e_}em.getPreferredHRP=eA,em.MaxWeightFormula=eN,em.UnixNow=eI,em.bufferToPrivateKeyString=eD,em.privateKeyStringToBuffer=eO,em.bufferToNodeIDString=eP,em.NodeIDStringToBuffer=eR,em.costImportTx=eB,em.calcBytesCost=eF,em.costExportTx=ej},3079:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),eC(ew(70438),em),eC(ew(89734),em),eC(ew(47764),em),eC(ew(89858),em),eC(ew(82060),em),eC(ew(77556),em),eC(ew(32413),em),eC(ew(96504),em),eC(ew(3421),em),eC(ew(77673),em),eC(ew(29858),em),eC(ew(49562),em),eC(ew(48984),em)},47764:function(eb,em,ew){"use strict";var eM=this&&this.__awaiter||function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};Object.defineProperty(em,"__esModule",{value:!0});let eC=ew(48764),eT=ew(77556),e_=ew(34333),eE=ew(61798);class eS{constructor(){this.wordlists=e_.wordlists}static getInstance(){return eS.instance||(eS.instance=new eS),eS.instance}getWordlists(eb){return void 0!==eb?this.wordlists[`${eb}`]:this.wordlists}mnemonicToSeedSync(eb,em=""){let ew=e_.mnemonicToSeedSync(eb,em);return eC.Buffer.from(ew)}mnemonicToSeed(eb,em=""){return eM(this,void 0,void 0,function*(){let ew=yield e_.mnemonicToSeed(eb,em);return eC.Buffer.from(ew)})}mnemonicToEntropy(eb,em){return e_.mnemonicToEntropy(eb,em)}entropyToMnemonic(eb,em){return e_.entropyToMnemonic(eb,em)}validateMnemonic(eb,em){return e_.validateMnemonic(eb,em)}setDefaultWordlist(eb){e_.setDefaultWordlist(eb)}getDefaultWordlist(){return e_.getDefaultWordlist()}generateMnemonic(eb,em,ew){if((eb=eb||256)%32!=0)throw new eT.InvalidEntropy("Error - Invalid entropy");return em=em||eE,e_.generateMnemonic(eb,em,ew)}}em.default=eS},77673:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.MAGNETPayload=em.ONIONPayload=em.IPFSPayload=em.URLPayload=em.EMAILPayload=em.YAMLPayload=em.JSONPayload=em.CSVPayload=em.SVGPayload=em.ICOPayload=em.BMPPayload=em.PNGPayload=em.JPEGPayload=em.SECPENCPayload=em.SECPSIGPayload=em.NODEIDPayload=em.CHAINIDPayload=em.SUBNETIDPayload=em.NFTIDPayload=em.UTXOIDPayload=em.ASSETIDPayload=em.TXIDPayload=em.cb58EncodedPayload=em.CCHAINADDRPayload=em.PCHAINADDRPayload=em.XCHAINADDRPayload=em.ChainAddressPayload=em.BIGNUMPayload=em.B64STRPayload=em.B58STRPayload=em.HEXSTRPayload=em.UTF8Payload=em.BINPayload=em.PayloadBase=em.PayloadTypes=void 0;let eC=ew(48764),eT=eM(ew(89734)),e_=eM(ew(13550)),eE=ew(77556),eS=ew(48984),eA=eT.default.getInstance(),eN=eS.Serialization.getInstance();class eI{constructor(){this.types=[],this.types=["BIN","UTF8","HEXSTR","B58STR","B64STR","BIGNUM","XCHAINADDR","PCHAINADDR","CCHAINADDR","TXID","ASSETID","UTXOID","NFTID","SUBNETID","CHAINID","NODEID","SECPSIG","SECPENC","JPEG","PNG","BMP","ICO","SVG","CSV","JSON","YAML","EMAIL","URL","IPFS","ONION","MAGNET"]}getContent(eb){let em=eA.copyFrom(eb,5);return em}getPayload(eb){let em=eA.copyFrom(eb,4);return em}getTypeID(eb){let em=4,ew=eA.copyFrom(eb,em,em+1).readUInt8(0);return ew}lookupID(eb){return this.types.indexOf(eb)}lookupType(eb){return this.types[`${eb}`]}select(eb,...em){switch(eb){case 0:return new eO(...em);case 1:return new eP(...em);case 2:return new eR(...em);case 3:return new eB(...em);case 4:return new eF(...em);case 5:return new ej(...em);case 6:return new eV(...em);case 7:return new eH(...em);case 8:return new e$(...em);case 9:return new eZ(...em);case 10:return new eK(...em);case 11:return new eG(...em);case 12:return new eY(...em);case 13:return new eJ(...em);case 14:return new eX(...em);case 15:return new eQ(...em);case 16:return new e0(...em);case 17:return new e6(...em);case 18:return new e4(...em);case 19:return new e3(...em);case 20:return new e5(...em);case 21:return new e8(...em);case 22:return new e9(...em);case 23:return new e7(...em);case 24:return new tw(...em);case 25:return new tC(...em);case 26:return new tT(...em);case 27:return new t_(...em);case 28:return new tE(...em);case 29:return new tS(...em);case 30:return new tA(...em)}throw new eE.TypeIdError(`Error - PayloadTypes.select: unknown typeid ${eb}`)}recast(eb){return this.select(eb.typeID(),eb.returnType())}static getInstance(){return eI.instance||(eI.instance=new eI),eI.instance}}em.PayloadTypes=eI;class eD{constructor(){this.payload=eC.Buffer.alloc(0),this.typeid=void 0}typeID(){return this.typeid}typeName(){return eI.getInstance().lookupType(this.typeid)}getContent(){let eb=eA.copyFrom(this.payload);return eb}getPayload(){let eb=eC.Buffer.alloc(1);eb.writeUInt8(this.typeid,0);let em=eC.Buffer.concat([eb,eA.copyFrom(this.payload)]);return em}fromBuffer(eb,em=0){let ew=eA.copyFrom(eb,em,em+4).readUInt32BE(0);return em+=4,this.typeid=eA.copyFrom(eb,em,em+1).readUInt8(0),em+=1,this.payload=eA.copyFrom(eb,em,em+ew-1),em+=ew-1}toBuffer(){let eb=eC.Buffer.alloc(4);eb.writeUInt32BE(this.payload.length+1,0);let em=eC.Buffer.alloc(1);return em.writeUInt8(this.typeid,0),eC.Buffer.concat([eb,em,this.payload])}}em.PayloadBase=eD;class eO extends eD{constructor(eb){super(),this.typeid=0,eb instanceof eC.Buffer?this.payload=eb:"string"==typeof eb&&(this.payload=eA.b58ToBuffer(eb))}returnType(){return this.payload}}em.BINPayload=eO;class eP extends eD{constructor(eb){super(),this.typeid=1,eb instanceof eC.Buffer?this.payload=eb:"string"==typeof eb&&(this.payload=eC.Buffer.from(eb,"utf8"))}returnType(){return this.payload.toString("utf8")}}em.UTF8Payload=eP;class eR extends eD{constructor(eb){if(super(),this.typeid=2,eb instanceof eC.Buffer)this.payload=eb;else if("string"==typeof eb){if(eb.startsWith("0x")||!eb.match(/^[0-9A-Fa-f]+$/))throw new eE.HexError("HEXSTRPayload.constructor -- hex string may not start with 0x and must be in /^[0-9A-Fa-f]+$/: "+eb);this.payload=eC.Buffer.from(eb,"hex")}}returnType(){return this.payload.toString("hex")}}em.HEXSTRPayload=eR;class eB extends eD{constructor(eb){super(),this.typeid=3,eb instanceof eC.Buffer?this.payload=eb:"string"==typeof eb&&(this.payload=eA.b58ToBuffer(eb))}returnType(){return eA.bufferToB58(this.payload)}}em.B58STRPayload=eB;class eF extends eD{constructor(eb){super(),this.typeid=4,eb instanceof eC.Buffer?this.payload=eb:"string"==typeof eb&&(this.payload=eC.Buffer.from(eb,"base64"))}returnType(){return this.payload.toString("base64")}}em.B64STRPayload=eF;class ej extends eD{constructor(eb){super(),this.typeid=5,eb instanceof eC.Buffer?this.payload=eb:eb instanceof e_.default?this.payload=eA.fromBNToBuffer(eb):"string"==typeof eb&&(this.payload=eC.Buffer.from(eb,"hex"))}returnType(){return eA.fromBufferToBN(this.payload)}}em.BIGNUMPayload=ej;class eU extends eD{constructor(eb,em){super(),this.typeid=6,this.chainid="",eb instanceof eC.Buffer?this.payload=eb:"string"==typeof eb&&(void 0!=em?this.payload=eA.stringToAddress(eb,em):this.payload=eA.stringToAddress(eb))}returnChainID(){return this.chainid}returnType(eb){let em="bech32";return eN.bufferToType(this.payload,em,eb,this.chainid)}}em.ChainAddressPayload=eU;class eV extends eU{constructor(){super(...arguments),this.typeid=6,this.chainid="X"}}em.XCHAINADDRPayload=eV;class eH extends eU{constructor(){super(...arguments),this.typeid=7,this.chainid="P"}}em.PCHAINADDRPayload=eH;class e$ extends eU{constructor(){super(...arguments),this.typeid=8,this.chainid="C"}}em.CCHAINADDRPayload=e$;class eW extends eD{returnType(){return eA.cb58Encode(this.payload)}constructor(eb){super(),eb instanceof eC.Buffer?this.payload=eb:"string"==typeof eb&&(this.payload=eA.cb58Decode(eb))}}em.cb58EncodedPayload=eW;class eZ extends eW{constructor(){super(...arguments),this.typeid=9}}em.TXIDPayload=eZ;class eK extends eW{constructor(){super(...arguments),this.typeid=10}}em.ASSETIDPayload=eK;class eG extends eW{constructor(){super(...arguments),this.typeid=11}}em.UTXOIDPayload=eG;class eY extends eG{constructor(){super(...arguments),this.typeid=12}}em.NFTIDPayload=eY;class eJ extends eW{constructor(){super(...arguments),this.typeid=13}}em.SUBNETIDPayload=eJ;class eX extends eW{constructor(){super(...arguments),this.typeid=14}}em.CHAINIDPayload=eX;class eQ extends eW{constructor(){super(...arguments),this.typeid=15}}em.NODEIDPayload=eQ;class e0 extends eB{constructor(){super(...arguments),this.typeid=16}}em.SECPSIGPayload=e0;class e6 extends eB{constructor(){super(...arguments),this.typeid=17}}em.SECPENCPayload=e6;class e4 extends eO{constructor(){super(...arguments),this.typeid=18}}em.JPEGPayload=e4;class e3 extends eO{constructor(){super(...arguments),this.typeid=19}}em.PNGPayload=e3;class e5 extends eO{constructor(){super(...arguments),this.typeid=20}}em.BMPPayload=e5;class e8 extends eO{constructor(){super(...arguments),this.typeid=21}}em.ICOPayload=e8;class e9 extends eP{constructor(){super(...arguments),this.typeid=22}}em.SVGPayload=e9;class e7 extends eP{constructor(){super(...arguments),this.typeid=23}}em.CSVPayload=e7;class tw extends eD{constructor(eb){if(super(),this.typeid=24,eb instanceof eC.Buffer)this.payload=eb;else if("string"==typeof eb)this.payload=eC.Buffer.from(eb,"utf8");else if(eb){let em=JSON.stringify(eb);this.payload=eC.Buffer.from(em,"utf8")}}returnType(){return JSON.parse(this.payload.toString("utf8"))}}em.JSONPayload=tw;class tC extends eP{constructor(){super(...arguments),this.typeid=25}}em.YAMLPayload=tC;class tT extends eP{constructor(){super(...arguments),this.typeid=26}}em.EMAILPayload=tT;class t_ extends eP{constructor(){super(...arguments),this.typeid=27}}em.URLPayload=t_;class tE extends eB{constructor(){super(...arguments),this.typeid=28}}em.IPFSPayload=tE;class tS extends eP{constructor(){super(...arguments),this.typeid=29}}em.ONIONPayload=tS;class tA extends eP{constructor(){super(...arguments),this.typeid=30}}em.MAGNETPayload=tA},29858:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.PersistanceOptions=void 0;class ew{constructor(eb,em=!1,ew){this.name=void 0,this.overwrite=!1,this.mergeRule="union",this.getName=()=>this.name,this.getOverwrite=()=>this.overwrite,this.getMergeRule=()=>this.mergeRule,this.name=eb,this.overwrite=em,this.mergeRule=ew}}em.PersistanceOptions=ew},49562:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0});class ew{newSet(){return JSON.stringify({newSet:{}})}newBloom(eb=1e3,em=.01){return JSON.stringify({newBloom:{maxElements:eb,collisionProb:em}})}addAddresses(eb){return JSON.stringify({addAddresses:{addresses:eb}})}}em.default=ew},48984:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Serialization=em.Serializable=em.SERIALIZATIONVERSION=void 0;let eC=eM(ew(89734)),eT=eM(ew(13550)),e_=ew(48764),eE=eM(ew(68924)),eS=ew(3421),eA=ew(77556);em.SERIALIZATIONVERSION=0;class eN{constructor(){this._typeName=void 0,this._typeID=void 0,this._codecID=void 0}getTypeName(){return this._typeName}getTypeID(){return this._typeID}getCodecID(){return this._codecID}sanitizeObject(eb){for(let em in eb)"object"==typeof eb[`${em}`]&&null!==eb[`${em}`]?this.sanitizeObject(eb[`${em}`]):"string"==typeof eb[`${em}`]&&(eb[`${em}`]=(0,eE.default)(eb[`${em}`]));return eb}serialize(eb){return{_typeName:(0,eE.default)(this._typeName),_typeID:void 0===this._typeID?null:this._typeID,_codecID:void 0===this._codecID?null:this._codecID}}deserialize(eb,em){if("string"!=typeof(eb=this.sanitizeObject(eb))._typeName)throw new eA.TypeNameError("Error - Serializable.deserialize: _typeName must be a string, found: "+typeof eb._typeName);if(eb._typeName!==this._typeName)throw new eA.TypeNameError("Error - Serializable.deserialize: _typeName mismatch -- expected: "+this._typeName+" -- received: "+eb._typeName);if(void 0!==eb._typeID&&null!==eb._typeID){if("number"!=typeof eb._typeID)throw new eA.TypeIdError("Error - Serializable.deserialize: _typeID must be a number, found: "+typeof eb._typeID);if(eb._typeID!==this._typeID)throw new eA.TypeIdError("Error - Serializable.deserialize: _typeID mismatch -- expected: "+this._typeID+" -- received: "+eb._typeID)}if(void 0!==eb._codecID&&null!==eb._codecID){if("number"!=typeof eb._codecID)throw new eA.CodecIdError("Error - Serializable.deserialize: _codecID must be a number, found: "+typeof eb._codecID);if(eb._codecID!==this._codecID)throw new eA.CodecIdError("Error - Serializable.deserialize: _codecID mismatch -- expected: "+this._codecID+" -- received: "+eb._codecID)}}}em.Serializable=eN;class eI{constructor(){this.bintools=eC.default.getInstance()}static getInstance(){return eI.instance||(eI.instance=new eI),eI.instance}bufferToType(eb,em,...ew){if("BN"===em)return new eT.default(eb.toString("hex"),"hex");if("Buffer"===em)return 1==ew.length&&"number"==typeof ew[0]&&(eb=e_.Buffer.from(eb.toString("hex").padStart(2*ew[0],"0"),"hex")),eb;if("bech32"===em)return this.bintools.addressToString(ew[0],ew[1],eb);if("nodeID"===em)return(0,eS.bufferToNodeIDString)(eb);if("privateKey"===em)return(0,eS.bufferToPrivateKeyString)(eb);if("cb58"===em)return this.bintools.cb58Encode(eb);if("base58"===em)return this.bintools.bufferToB58(eb);else if("base64"===em)return eb.toString("base64");else if("hex"===em)return eb.toString("hex");else if("decimalString"===em)return new eT.default(eb.toString("hex"),"hex").toString(10);else if("number"===em)return new eT.default(eb.toString("hex"),"hex").toNumber();else if("utf8"===em)return eb.toString("utf8")}typeToBuffer(eb,em,...ew){if("BN"===em){let em=eb.toString("hex");return 1==ew.length&&"number"==typeof ew[0]?e_.Buffer.from(em.padStart(2*ew[0],"0"),"hex"):e_.Buffer.from(em,"hex")}if("Buffer"===em)return eb;if("bech32"===em)return this.bintools.stringToAddress(eb,...ew);if("nodeID"===em)return(0,eS.NodeIDStringToBuffer)(eb);if("privateKey"===em)return(0,eS.privateKeyStringToBuffer)(eb);if("cb58"===em)return this.bintools.cb58Decode(eb);if("base58"===em)return this.bintools.b58ToBuffer(eb);else if("base64"===em)return e_.Buffer.from(eb,"base64");else if("hex"===em)return eb.startsWith("0x")&&(eb=eb.slice(2)),e_.Buffer.from(eb,"hex");else if("decimalString"===em){let em=new eT.default(eb,10).toString("hex");return 1==ew.length&&"number"==typeof ew[0]?e_.Buffer.from(em.padStart(2*ew[0],"0"),"hex"):e_.Buffer.from(em,"hex")}else if("number"===em){let em=new eT.default(eb,10).toString("hex");return 1==ew.length&&"number"==typeof ew[0]?e_.Buffer.from(em.padStart(2*ew[0],"0"),"hex"):e_.Buffer.from(em,"hex")}else if("utf8"===em){if(1==ew.length&&"number"==typeof ew[0]){let em=e_.Buffer.alloc(ew[0]);return em.write(eb),em}return e_.Buffer.from(eb,"utf8")}}encoder(eb,em,ew,eM,...eC){if(void 0===eb)throw new eA.UnknownTypeError("Error - Serializable.encoder: value passed is undefined");"display"!==em&&(eM=em);let eT=this.typeToBuffer(eb,ew,...eC);return this.bufferToType(eT,eM,...eC)}decoder(eb,em,ew,eM,...eC){if(void 0===eb)throw new eA.UnknownTypeError("Error - Serializable.decoder: value passed is undefined");"display"!==em&&(ew=em);let eT=this.typeToBuffer(eb,ew,...eC);return this.bufferToType(eT,eM,...eC)}serialize(eb,ew,eM="display",eC){return void 0===eC&&(eC=eb.getTypeName()),{vm:ew,encoding:eM,version:em.SERIALIZATIONVERSION,notes:eC,fields:eb.serialize(eM)}}deserialize(eb,em){em.deserialize(eb.fields,eb.encoding)}}em.Serialization=eI},45609:function(eb,em,ew){eb.exports=ew(11527)},76329:function(eb,em,ew){"use strict";var eM=ew(53016),eC=ew(76670),eT=ew(29995),e_=ew(2298),eE=ew(89779),eS=ew(75942),eA=ew(37406),eN=ew(65068),eI=ew(18398),eD=ew(91982),eO=ew(22530);eb.exports=function(eb){return new Promise(function(em,ew){var eP,eR=eb.data,eB=eb.headers,eF=eb.responseType;function ej(){eb.cancelToken&&eb.cancelToken.unsubscribe(eP),eb.signal&&eb.signal.removeEventListener("abort",eP)}eM.isFormData(eR)&&eM.isStandardBrowserEnv()&&delete eB["Content-Type"];var eU=new XMLHttpRequest;if(eb.auth){var eV=eb.auth.username||"",eH=eb.auth.password?unescape(encodeURIComponent(eb.auth.password)):"";eB.Authorization="Basic "+btoa(eV+":"+eH)}var e$=eE(eb.baseURL,eb.url);function eW(){if(eU){var eM="getAllResponseHeaders"in eU?eS(eU.getAllResponseHeaders()):null;eC(function(eb){em(eb),ej()},function(eb){ew(eb),ej()},{data:eF&&"text"!==eF&&"json"!==eF?eU.response:eU.responseText,status:eU.status,statusText:eU.statusText,headers:eM,config:eb,request:eU}),eU=null}}if(eU.open(eb.method.toUpperCase(),e_(e$,eb.params,eb.paramsSerializer),!0),eU.timeout=eb.timeout,"onloadend"in eU?eU.onloadend=eW:eU.onreadystatechange=function(){eU&&4===eU.readyState&&(0!==eU.status||eU.responseURL&&0===eU.responseURL.indexOf("file:"))&&setTimeout(eW)},eU.onabort=function(){eU&&(ew(new eI("Request aborted",eI.ECONNABORTED,eb,eU)),eU=null)},eU.onerror=function(){ew(new eI("Network Error",eI.ERR_NETWORK,eb,eU,eU)),eU=null},eU.ontimeout=function(){var em=eb.timeout?"timeout of "+eb.timeout+"ms exceeded":"timeout exceeded",eM=eb.transitional||eN;eb.timeoutErrorMessage&&(em=eb.timeoutErrorMessage),ew(new eI(em,eM.clarifyTimeoutError?eI.ETIMEDOUT:eI.ECONNABORTED,eb,eU)),eU=null},eM.isStandardBrowserEnv()){var eZ=(eb.withCredentials||eA(e$))&&eb.xsrfCookieName?eT.read(eb.xsrfCookieName):void 0;eZ&&(eB[eb.xsrfHeaderName]=eZ)}"setRequestHeader"in eU&&eM.forEach(eB,function(eb,em){void 0===eR&&"content-type"===em.toLowerCase()?delete eB[em]:eU.setRequestHeader(em,eb)}),eM.isUndefined(eb.withCredentials)||(eU.withCredentials=!!eb.withCredentials),eF&&"json"!==eF&&(eU.responseType=eb.responseType),"function"==typeof eb.onDownloadProgress&&eU.addEventListener("progress",eb.onDownloadProgress),"function"==typeof eb.onUploadProgress&&eU.upload&&eU.upload.addEventListener("progress",eb.onUploadProgress),(eb.cancelToken||eb.signal)&&(eP=function(eb){eU&&(ew(!eb||eb&&eb.type?new eD:eb),eU.abort(),eU=null)},eb.cancelToken&&eb.cancelToken.subscribe(eP),eb.signal&&(eb.signal.aborted?eP():eb.signal.addEventListener("abort",eP))),eR||(eR=null);var eK=eO(e$);if(eK&&-1===["http","https","file"].indexOf(eK)){ew(new eI("Unsupported protocol "+eK+":",eI.ERR_BAD_REQUEST,eb));return}eU.send(eR)})}},11527:function(eb,em,ew){"use strict";var eM=ew(53016),eC=ew(9723),eT=ew(46038),e_=ew(78815);function eE(eb){var em=new eT(eb),ew=eC(eT.prototype.request,em);return eM.extend(ew,eT.prototype,em),eM.extend(ew,em),ew.create=function(em){return eE(e_(eb,em))},ew}var eS=eE(ew(28450));eS.Axios=eT,eS.CanceledError=ew(91982),eS.CancelToken=ew(63450),eS.isCancel=ew(3774),eS.VERSION=ew(67661).version,eS.toFormData=ew(77957),eS.AxiosError=ew(18398),eS.Cancel=eS.CanceledError,eS.all=function(eb){return Promise.all(eb)},eS.spread=ew(13522),eS.isAxiosError=ew(92400),eb.exports=eS,eb.exports.default=eS},63450:function(eb,em,ew){"use strict";var eM=ew(91982);function eC(eb){if("function"!=typeof eb)throw TypeError("executor must be a function.");this.promise=new Promise(function(eb){em=eb});var em,ew=this;this.promise.then(function(eb){if(ew._listeners){var em,eM=ew._listeners.length;for(em=0;em=200&&eb<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};eC.forEach(["delete","get","head"],function(eb){eD.headers[eb]={}}),eC.forEach(["post","put","patch"],function(eb){eD.headers[eb]=eC.merge(eA)}),eb.exports=eD},65068:function(eb){"use strict";eb.exports={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}},67661:function(eb){eb.exports={version:"0.27.2"}},9723:function(eb){"use strict";eb.exports=function(eb,em){return function(){for(var ew=Array(arguments.length),eM=0;eM=0)&&("set-cookie"===em?e_[em]=(e_[em]?e_[em]:[]).concat([ew]):e_[em]=e_[em]?e_[em]+", "+ew:ew)}),e_}},22530:function(eb){"use strict";eb.exports=function(eb){var em=/^([-+\w]{1,25})(:?\/\/|:)/.exec(eb);return em&&em[1]||""}},13522:function(eb){"use strict";eb.exports=function(eb){return function(em){return eb.apply(null,em)}}},77957:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer,eC=ew(53016);function eT(eb,em){em=em||new FormData;var ew=[];function eT(eb){return null===eb?"":eC.isDate(eb)?eb.toISOString():eC.isArrayBuffer(eb)||eC.isTypedArray(eb)?"function"==typeof Blob?new Blob([eb]):eM.from(eb):eb}function e_(eb,eM){if(eC.isPlainObject(eb)||eC.isArray(eb)){if(-1!==ew.indexOf(eb))throw Error("Circular reference detected in "+eM);ew.push(eb),eC.forEach(eb,function(eb,ew){if(!eC.isUndefined(eb)){var eE,eS=eM?eM+"."+ew:ew;if(eb&&!eM&&"object"==typeof eb){if(eC.endsWith(ew,"{}"))eb=JSON.stringify(eb);else if(eC.endsWith(ew,"[]")&&(eE=eC.toArray(eb))){eE.forEach(function(eb){eC.isUndefined(eb)||em.append(eS,eT(eb))});return}}e_(eb,eS)}}),ew.pop()}else em.append(eM,eT(eb))}return e_(eb),em}eb.exports=eT},89243:function(eb,em,ew){"use strict";var eM=ew(67661).version,eC=ew(18398),eT={};["object","boolean","number","function","string","symbol"].forEach(function(eb,em){eT[eb]=function(ew){return typeof ew===eb||"a"+(em<1?"n ":" ")+eb}});var e_={};function eE(eb,em,ew){if("object"!=typeof eb)throw new eC("options must be an object",eC.ERR_BAD_OPTION_VALUE);for(var eM=Object.keys(eb),eT=eM.length;eT-- >0;){var e_=eM[eT],eE=em[e_];if(eE){var eS=eb[e_],eA=void 0===eS||eE(eS,e_,eb);if(!0!==eA)throw new eC("option "+e_+" must be "+eA,eC.ERR_BAD_OPTION_VALUE);continue}if(!0!==ew)throw new eC("Unknown option "+e_,eC.ERR_BAD_OPTION)}}eT.transitional=function(eb,em,ew){function eT(eb,em){return"[Axios v"+eM+"] Transitional option '"+eb+"'"+em+(ew?". "+ew:"")}return function(ew,eM,eE){if(!1===eb)throw new eC(eT(eM," has been removed"+(em?" in "+em:"")),eC.ERR_DEPRECATED);return em&&!e_[eM]&&(e_[eM]=!0,console.warn(eT(eM," has been deprecated since v"+em+" and will be removed in the near future"))),!eb||eb(ew,eM,eE)}},eb.exports={assertOptions:eE,validators:eT}},53016:function(eb,em,ew){"use strict";var eM=ew(9723),eC=Object.prototype.toString,eT=function(eb){return function(em){var ew=eC.call(em);return eb[ew]||(eb[ew]=ew.slice(8,-1).toLowerCase())}}(Object.create(null));function e_(eb){return eb=eb.toLowerCase(),function(em){return eT(em)===eb}}function eE(eb){return Array.isArray(eb)}function eS(eb){return void 0===eb}function eA(eb){return null!==eb&&!eS(eb)&&null!==eb.constructor&&!eS(eb.constructor)&&"function"==typeof eb.constructor.isBuffer&&eb.constructor.isBuffer(eb)}var eN=e_("ArrayBuffer");function eI(eb){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(eb):eb&&eb.buffer&&eN(eb.buffer)}function eD(eb){return"string"==typeof eb}function eO(eb){return"number"==typeof eb}function eP(eb){return null!==eb&&"object"==typeof eb}function eR(eb){if("object"!==eT(eb))return!1;var em=Object.getPrototypeOf(eb);return null===em||em===Object.prototype}var eB=e_("Date"),eF=e_("File"),ej=e_("Blob"),eU=e_("FileList");function eV(eb){return"[object Function]"===eC.call(eb)}function eH(eb){return eP(eb)&&eV(eb.pipe)}function e$(eb){var em="[object FormData]";return eb&&("function"==typeof FormData&&eb instanceof FormData||eC.call(eb)===em||eV(eb.toString)&&eb.toString()===em)}var eW=e_("URLSearchParams");function eZ(eb){return eb.trim?eb.trim():eb.replace(/^\s+|\s+$/g,"")}function eK(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&"undefined"!=typeof window&&"undefined"!=typeof document}function eG(eb,em){if(null!=eb){if("object"!=typeof eb&&(eb=[eb]),eE(eb))for(var ew=0,eM=eb.length;ew0;)e_[eT=eM[eC]]||(em[eT]=eb[eT],e_[eT]=!0);eb=Object.getPrototypeOf(eb)}while(eb&&(!ew||ew(eb,em))&&eb!==Object.prototype);return em}function e6(eb,em,ew){eb=String(eb),(void 0===ew||ew>eb.length)&&(ew=eb.length),ew-=em.length;var eM=eb.indexOf(em,ew);return -1!==eM&&eM===ew}function e4(eb){if(!eb)return null;var em=eb.length;if(eS(em))return null;for(var ew=Array(em);em-- >0;)ew[em]=eb[em];return ew}var e3=function(eb){return function(em){return eb&&em instanceof eb}}("undefined"!=typeof Uint8Array&&Object.getPrototypeOf(Uint8Array));eb.exports={isArray:eE,isArrayBuffer:eN,isBuffer:eA,isFormData:e$,isArrayBufferView:eI,isString:eD,isNumber:eO,isObject:eP,isPlainObject:eR,isUndefined:eS,isDate:eB,isFile:eF,isBlob:ej,isFunction:eV,isStream:eH,isURLSearchParams:eW,isStandardBrowserEnv:eK,forEach:eG,merge:eY,extend:eJ,trim:eZ,stripBOM:eX,inherits:eQ,toFlatObject:e0,kindOf:eT,kindOfTest:e_,endsWith:e6,toArray:e4,isTypedArray:e3,isFileList:eU}},59802:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.bech32m=em.bech32=void 0;let ew="qpzry9x8gf2tvdw0s3jn54khce6mua7l",eM={};for(let eb=0;eb>25;return(33554431&eb)<<5^996825010&-(em>>0&1)^642813549&-(em>>1&1)^513874426&-(em>>2&1)^1027748829&-(em>>3&1)^705979059&-(em>>4&1)}function eT(eb){let em=1;for(let ew=0;ew126)return"Invalid prefix ("+eb+")";em=eC(em)^eM>>5}em=eC(em);for(let ew=0;ew=ew;)eE.push(eC>>(eT-=ew)&e_);if(eM)eT>0&&eE.push(eC<=em)return"Excess padding";if(eC<ew)return"Exceeds length limit";let e_=eb.toLowerCase(),eE=eb.toUpperCase();if(eb!==e_&&eb!==eE)return"Mixed-case string "+eb;eb=e_;let eS=eb.lastIndexOf("1");if(-1===eS)return"No separator character for "+eb;if(0===eS)return"Missing prefix for "+eb;let eA=eb.slice(0,eS),eN=eb.slice(eS+1);if(eN.length<6)return"Data too short";let eI=eT(eA);if("string"==typeof eI)return eI;let eD=[];for(let eb=0;eb=eN.length||eD.push(ew)}return eI!==em?"Invalid checksum for "+eb:{prefix:eA,words:eD}}return em="bech32"===eb?1:734539939,{decodeUnsafe:function(eb,em){let ew=e_(eb,em);if("object"==typeof ew)return ew},decode:function(eb,em){let ew=e_(eb,em);if("object"==typeof ew)return ew;throw Error(ew)},encode:function(eb,eM,e_){if(e_=e_||90,eb.length+7+eM.length>e_)throw TypeError("Exceeds length limit");let eE=eT(eb=eb.toLowerCase());if("string"==typeof eE)throw Error(eE);let eS=eb+"1";for(let eb=0;eb>5!=0)throw Error("Non 5-bit word");eE=eC(eE)^em,eS+=ew.charAt(em)}for(let eb=0;eb<6;++eb)eE=eC(eE);eE^=em;for(let eb=0;eb<6;++eb){let em=eE>>(5-eb)*5&31;eS+=ew.charAt(em)}return eS},toWords:eE,fromWordsUnsafe:eS,fromWords:eA}}em.bech32=eN("bech32"),em.bech32m=eN("bech32m")},14568:function(eb,em,ew){"use strict";let eM;Object.defineProperty(em,"__esModule",{value:!0});let eC={};em.wordlists=eC,em._default=eM;try{em._default=eM=ew(58059),eC.czech=eM}catch(eb){}try{em._default=eM=ew(36099),eC.chinese_simplified=eM}catch(eb){}try{em._default=eM=ew(28350),eC.chinese_traditional=eM}catch(eb){}try{em._default=eM=ew(31902),eC.korean=eM}catch(eb){}try{em._default=eM=ew(97727),eC.french=eM}catch(eb){}try{em._default=eM=ew(94019),eC.italian=eM}catch(eb){}try{em._default=eM=ew(55655),eC.spanish=eM}catch(eb){}try{em._default=eM=ew(67868),eC.japanese=eM,eC.JA=eM}catch(eb){}try{em._default=eM=ew(13816),eC.portuguese=eM}catch(eb){}try{em._default=eM=ew(81633),eC.english=eM,eC.EN=eM}catch(eb){}},34333:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0});let eC=ew(23482),eT=ew(25632),e_=ew(61798),eE=ew(14568),eS=eE._default,eA="Invalid mnemonic",eN="Invalid entropy",eI="Invalid mnemonic checksum",eD="A wordlist is required but a default could not be found.\nPlease pass a 2048 word array explicitly.";function eO(eb,em,ew,eM,eC){return Promise.resolve().then(()=>new Promise((e_,eE)=>{let eS=(eb,em)=>eb?eE(eb):e_(em);eT.pbkdf2(eb,em,ew,eM,eC,eS)}))}function eP(eb){return(eb||"").normalize("NFKD")}function eR(eb,em,ew){for(;eb.lengtheR(eb.toString(2),"0",8)).join("")}function ej(eb){let em=8*eb.length,ew=em/32,eM=eC("sha256").update(eb).digest();return eF(Array.from(eM)).slice(0,ew)}function eU(eb){return"mnemonic"+(eb||"")}function eV(eb,em){let ew=eM.from(eP(eb),"utf8"),eC=eM.from(eU(eP(em)),"utf8");return eT.pbkdf2Sync(ew,eC,2048,64,"sha512")}function eH(eb,em){return Promise.resolve().then(()=>{let ew=eM.from(eP(eb),"utf8"),eC=eM.from(eU(eP(em)),"utf8");return eO(ew,eC,2048,64,"sha512")})}function e$(eb,em){if(!(em=em||eS))throw Error(eD);let ew=eP(eb).split(" ");if(ew.length%3!=0)throw Error(eA);let eC=ew.map(eb=>{let ew=em.indexOf(eb);if(-1===ew)throw Error(eA);return eR(ew.toString(2),"0",11)}).join(""),eT=32*Math.floor(eC.length/33),e_=eC.slice(0,eT),eE=eC.slice(eT),eO=e_.match(/(.{1,8})/g).map(eB);if(eO.length<16||eO.length>32||eO.length%4!=0)throw Error(eN);let eF=eM.from(eO),eU=ej(eF);if(eU!==eE)throw Error(eI);return eF.toString("hex")}function eW(eb,em){if(eM.isBuffer(eb)||(eb=eM.from(eb,"hex")),!(em=em||eS))throw Error(eD);if(eb.length<16||eb.length>32||eb.length%4!=0)throw TypeError(eN);let ew=eF(Array.from(eb)),eC=ej(eb),eT=ew+eC,e_=eT.match(/(.{1,11})/g),eE=e_.map(eb=>{let ew=eB(eb);return em[ew]});return"あいこくしん"===em[0]?eE.join(" "):eE.join(" ")}function eZ(eb,em,ew){if((eb=eb||128)%32!=0)throw TypeError(eN);return eW((em=em||e_)(eb/8),ew)}function eK(eb,em){try{e$(eb,em)}catch(eb){return!1}return!0}function eG(eb){let em=eE.wordlists[eb];if(em)eS=em;else throw Error('Could not find wordlist for language "'+eb+'"')}function eY(){if(!eS)throw Error("No Default Wordlist set");return Object.keys(eE.wordlists).filter(eb=>"JA"!==eb&&"EN"!==eb&&eE.wordlists[eb].every((eb,em)=>eb===eS[em]))[0]}em.mnemonicToSeedSync=eV,em.mnemonicToSeed=eH,em.mnemonicToEntropy=e$,em.entropyToMnemonic=eW,em.generateMnemonic=eZ,em.validateMnemonic=eK,em.setDefaultWordlist=eG,em.getDefaultWordlist=eY;var eJ=ew(14568);em.wordlists=eJ.wordlists},58162:function(eb){"use strict";function em(eb){if(eb.length>=255)throw TypeError("Alphabet too long");for(var em=new Uint8Array(256),ew=0;ew>>0,eA=new Uint8Array(eT);eb[ew];){var eN=em[eb.charCodeAt(ew)];if(255===eN)return;for(var eI=0,eD=eT-1;(0!==eN||eI>>0,eA[eD]=eN%256>>>0,eN=eN/256>>>0;if(0!==eN)throw Error("Non-zero carry");eC=eI,ew++}for(var eO=eT-eC;eO!==eT&&0===eA[eO];)eO++;for(var eP=new Uint8Array(eM+(eT-eO)),eR=eM;eO!==eT;)eP[eR++]=eA[eO++];return eP}function eI(eb){var em=eN(eb);if(em)return em;throw Error("Non-base"+e_+" character")}return{encode:function(em){if(em instanceof Uint8Array||(ArrayBuffer.isView(em)?em=new Uint8Array(em.buffer,em.byteOffset,em.byteLength):Array.isArray(em)&&(em=Uint8Array.from(em))),!(em instanceof Uint8Array))throw TypeError("Expected Uint8Array");if(0===em.length)return"";for(var ew=0,eM=0,eC=0,eT=em.length;eC!==eT&&0===em[eC];)eC++,ew++;for(var eS=(eT-eC)*eA+1>>>0,eN=new Uint8Array(eS);eC!==eT;){for(var eI=em[eC],eD=0,eO=eS-1;(0!==eI||eD>>0,eN[eO]=eI%e_>>>0,eI=eI/e_>>>0;if(0!==eI)throw Error("Non-zero carry");eM=eD,eC++}for(var eP=eS-eM;eP!==eS&&0===eN[eP];)eP++;for(var eR=eE.repeat(ew);eP0)throw Error("Invalid string. Length must be a multiple of 4");var ew=eb.indexOf("=");-1===ew&&(ew=em);var eM=ew===em?0:4-ew%4;return[ew,eM]}function eA(eb){var em=eS(eb),ew=em[0],eM=em[1];return(ew+eM)*3/4-eM}function eN(eb,em,ew){return(em+ew)*3/4-ew}function eI(eb){var em,ew,eT=eS(eb),e_=eT[0],eE=eT[1],eA=new eC(eN(eb,e_,eE)),eI=0,eD=eE>0?e_-4:e_;for(ew=0;ew>16&255,eA[eI++]=em>>8&255,eA[eI++]=255&em;return 2===eE&&(em=eM[eb.charCodeAt(ew)]<<2|eM[eb.charCodeAt(ew+1)]>>4,eA[eI++]=255&em),1===eE&&(em=eM[eb.charCodeAt(ew)]<<10|eM[eb.charCodeAt(ew+1)]<<4|eM[eb.charCodeAt(ew+2)]>>2,eA[eI++]=em>>8&255,eA[eI++]=255&em),eA}function eD(eb){return ew[eb>>18&63]+ew[eb>>12&63]+ew[eb>>6&63]+ew[63&eb]}function eO(eb,em,ew){for(var eM=[],eC=em;eCeS?eS:eE+e_));return 1===eC?eT.push(ew[(em=eb[eM-1])>>2]+ew[em<<4&63]+"=="):2===eC&&eT.push(ew[(em=(eb[eM-2]<<8)+eb[eM-1])>>10]+ew[em>>4&63]+ew[em<<2&63]+"="),eT.join("")}eM["-".charCodeAt(0)]=62,eM["_".charCodeAt(0)]=63},92882:function(eb){"use strict";for(var em="qpzry9x8gf2tvdw0s3jn54khce6mua7l",ew={},eM=0;eM>25;return(33554431&eb)<<5^996825010&-(em>>0&1)^642813549&-(em>>1&1)^513874426&-(em>>2&1)^1027748829&-(em>>3&1)^705979059&-(em>>4&1)}function e_(eb){for(var em=1,ew=0;ew126)return"Invalid prefix ("+eb+")";em=eT(em)^eM>>5}for(ew=0,em=eT(em);eweM)throw TypeError("Exceeds length limit");var eC=e_(eb=eb.toLowerCase());if("string"==typeof eC)throw Error(eC);for(var eE=eb+"1",eS=0;eS>5!=0)throw Error("Non 5-bit word");eC=eT(eC)^eA,eE+=em.charAt(eA)}for(eS=0;eS<6;++eS)eC=eT(eC);for(eC^=1,eS=0;eS<6;++eS){var eN=eC>>(5-eS)*5&31;eE+=em.charAt(eN)}return eE}function eS(eb,em){if(em=em||90,eb.length<8)return eb+" too short";if(eb.length>em)return"Exceeds length limit";var eM=eb.toLowerCase(),eC=eb.toUpperCase();if(eb!==eM&&eb!==eC)return"Mixed-case string "+eb;var eE=(eb=eM).lastIndexOf("1");if(-1===eE)return"No separator character for "+eb;if(0===eE)return"Missing prefix for "+eb;var eS=eb.slice(0,eE),eA=eb.slice(eE+1);if(eA.length<6)return"Data too short";var eN=e_(eS);if("string"==typeof eN)return eN;for(var eI=[],eD=0;eD=eA.length||eI.push(eP)}return 1!==eN?"Invalid checksum for "+eb:{prefix:eS,words:eI}}function eA(){var eb=eS.apply(null,arguments);if("object"==typeof eb)return eb}function eN(eb){var em=eS.apply(null,arguments);if("object"==typeof em)return em;throw Error(em)}function eI(eb,em,ew,eM){for(var eC=0,eT=0,e_=(1<=ew;)eE.push(eC>>(eT-=ew)&e_);if(eM)eT>0&&eE.push(eC<=em)return"Excess padding";if(eC<eB(eb.toString(2),"0",8)).join("")}function eU(eb){let em=8*eb.length,ew=em/32,eM=eT.sha256(Uint8Array.from(eb));return ej(Array.from(eM)).slice(0,ew)}function eV(eb){return"mnemonic"+(eb||"")}function eH(eb,em){if(!(em=em||eN))throw Error(eP);let ew=eR(eb).split(" ");if(ew.length%3!=0)throw Error(eI);let eM=ew.map(eb=>{let ew=em.indexOf(eb);if(-1===ew)throw Error(eI);return eB(ew.toString(2),"0",11)}).join(""),eT=32*Math.floor(eM.length/33),e_=eM.slice(0,eT),eE=eM.slice(eT),eS=e_.match(/(.{1,8})/g).map(eF);if(eS.length<16||eS.length>32||eS.length%4!=0)throw Error(eD);let eA=eC.from(eS),ej=eU(eA);if(ej!==eE)throw Error(eO);return eA.toString("hex")}function e$(eb,em){if(eC.isBuffer(eb)||(eb=eC.from(eb,"hex")),!(em=em||eN))throw Error(eP);if(eb.length<16||eb.length>32||eb.length%4!=0)throw TypeError(eD);let ew=ej(Array.from(eb)),eM=eU(eb),eT=ew+eM,e_=eT.match(/(.{1,11})/g),eE=e_.map(eb=>{let ew=eF(eb);return em[ew]});return"あいこくしん"===em[0]?eE.join(" "):eE.join(" ")}eM=function(eb,em){let ew=Uint8Array.from(eC.from(eR(eb),"utf8")),eM=Uint8Array.from(eC.from(eV(eR(em)),"utf8")),eT=eE.pbkdf2(e_.sha512,ew,eM,{c:2048,dkLen:64});return eC.from(eT)},eM=function(eb,em){let ew=Uint8Array.from(eC.from(eR(eb),"utf8")),eM=Uint8Array.from(eC.from(eV(eR(em)),"utf8"));return eE.pbkdf2Async(e_.sha512,ew,eM,{c:2048,dkLen:64}).then(eb=>eC.from(eb))},eM=eH,eM=e$,eM=function(eb,em,ew){if((eb=eb||128)%32!=0)throw TypeError(eD);return e$((em=em||(eb=>eC.from(eS.randomBytes(eb))))(eb/8),ew)},eM=function(eb,em){try{eH(eb,em)}catch(eb){return!1}return!0},eM=function(eb){let em=eA.wordlists[eb];if(em)eN=em;else throw Error('Could not find wordlist for language "'+eb+'"')},eM=function(){if(!eN)throw Error("No Default Wordlist set");return Object.keys(eA.wordlists).filter(eb=>"JA"!==eb&&"EN"!==eb&&eA.wordlists[eb].every((eb,em)=>eb===eN[em]))[0]},eM=ew(42314).wordlists},13550:function(eb,em,ew){!function(eb,em){"use strict";function eM(eb,em){if(!eb)throw Error(em||"Assertion failed")}function eC(eb,em){eb.super_=em;var ew=function(){};ew.prototype=em.prototype,eb.prototype=new ew,eb.prototype.constructor=eb}function eT(eb,em,ew){if(eT.isBN(eb))return eb;this.negative=0,this.words=null,this.length=0,this.red=null,null!==eb&&(("le"===em||"be"===em)&&(ew=em,em=10),this._init(eb||0,em||10,ew||"be"))}"object"==typeof eb?eb.exports=eT:em.BN=eT,eT.BN=eT,eT.wordSize=26;try{eI="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:ew(46601).Buffer}catch(eb){}function e_(eb,em){var ew=eb.charCodeAt(em);return ew>=48&&ew<=57?ew-48:ew>=65&&ew<=70?ew-55:ew>=97&&ew<=102?ew-87:void eM(!1,"Invalid character in "+eb)}function eE(eb,em,ew){var eM=e_(eb,ew);return ew-1>=em&&(eM|=e_(eb,ew-1)<<4),eM}function eS(eb,em,ew,eC){for(var eT=0,e_=0,eE=Math.min(eb.length,ew),eS=em;eS=49?eA-49+10:eA>=17?eA-17+10:eA,eM(eA>=0&&e_0?eb:em},eT.min=function(eb,em){return 0>eb.cmp(em)?eb:em},eT.prototype._init=function(eb,em,ew){if("number"==typeof eb)return this._initNumber(eb,em,ew);if("object"==typeof eb)return this._initArray(eb,em,ew);"hex"===em&&(em=16),eM(em===(0|em)&&em>=2&&em<=36);var eC=0;"-"===(eb=eb.toString().replace(/\s+/g,""))[0]&&(eC++,this.negative=1),eC=0;e_-=3)eT=eb[e_]|eb[e_-1]<<8|eb[e_-2]<<16,this.words[eC]|=eT<>>26-eE&67108863,(eE+=24)>=26&&(eE-=26,eC++);else if("le"===ew)for(e_=0,eC=0;e_>>26-eE&67108863,(eE+=24)>=26&&(eE-=26,eC++);return this._strip()},eT.prototype._parseHex=function(eb,em,ew){this.length=Math.ceil((eb.length-em)/6),this.words=Array(this.length);for(var eM,eC=0;eC=em;eC-=2)eM=eE(eb,em,eC)<=18?(eT-=18,e_+=1,this.words[e_]|=eM>>>26):eT+=8;else for(eC=(eb.length-em)%2==0?em+1:em;eC=18?(eT-=18,e_+=1,this.words[e_]|=eM>>>26):eT+=8;this._strip()},eT.prototype._parseBase=function(eb,em,ew){this.words=[0],this.length=1;for(var eM=0,eC=1;eC<=67108863;eC*=em)eM++;eM--,eC=eC/em|0;for(var eT=eb.length-ew,e_=eT%eM,eE=Math.min(eT,eT-e_)+ew,eA=0,eN=ew;eN1&&0===this.words[this.length-1];)this.length--;return this._normSign()},eT.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{eT.prototype[Symbol.for("nodejs.util.inspect.custom")]=eN}catch(eb){eT.prototype.inspect=eN}else eT.prototype.inspect=eN;function eN(){return(this.red?""}var eI,eD=["","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"],eO=[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],eP=[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];eT.prototype.toString=function(eb,em){if(em=0|em||1,16===(eb=eb||10)||"hex"===eb){ew="";for(var ew,eC=0,eT=0,e_=0;e_>>24-eC&16777215,(eC+=2)>=26&&(eC-=26,e_--),ew=0!==eT||e_!==this.length-1?eD[6-eS.length]+eS+ew:eS+ew}for(0!==eT&&(ew=eT.toString(16)+ew);ew.length%em!=0;)ew="0"+ew;return 0!==this.negative&&(ew="-"+ew),ew}if(eb===(0|eb)&&eb>=2&&eb<=36){var eA=eO[eb],eN=eP[eb];ew="";var eI=this.clone();for(eI.negative=0;!eI.isZero();){var eR=eI.modrn(eN).toString(eb);ew=(eI=eI.idivn(eN)).isZero()?eR+ew:eD[eA-eR.length]+eR+ew}for(this.isZero()&&(ew="0"+ew);ew.length%em!=0;)ew="0"+ew;return 0!==this.negative&&(ew="-"+ew),ew}eM(!1,"Base should be between 2 and 36")},eT.prototype.toNumber=function(){var eb=this.words[0];return 2===this.length?eb+=67108864*this.words[1]:3===this.length&&1===this.words[2]?eb+=4503599627370496+67108864*this.words[1]:this.length>2&&eM(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-eb:eb},eT.prototype.toJSON=function(){return this.toString(16,2)},eI&&(eT.prototype.toBuffer=function(eb,em){return this.toArrayLike(eI,eb,em)}),eT.prototype.toArray=function(eb,em){return this.toArrayLike(Array,eb,em)};var eR=function(eb,em){return eb.allocUnsafe?eb.allocUnsafe(em):new eb(em)};function eB(eb){for(var em=Array(eb.bitLength()),ew=0;ew>>eC&1}return em}function eF(eb,em,ew){ew.negative=em.negative^eb.negative;var eM=eb.length+em.length|0;ew.length=eM,eM=eM-1|0;var eC=0|eb.words[0],eT=0|em.words[0],e_=eC*eT,eE=67108863&e_,eS=e_/67108864|0;ew.words[0]=eE;for(var eA=1;eA>>26,eI=67108863&eS,eD=Math.min(eA,em.length-1),eO=Math.max(0,eA-eb.length+1);eO<=eD;eO++){var eP=eA-eO|0;eN+=(e_=(eC=0|eb.words[eP])*(eT=0|em.words[eO])+eI)/67108864|0,eI=67108863&e_}ew.words[eA]=0|eI,eS=0|eN}return 0!==eS?ew.words[eA]=0|eS:ew.length--,ew._strip()}eT.prototype.toArrayLike=function(eb,em,ew){this._strip();var eC=this.byteLength(),eT=ew||Math.max(1,eC);eM(eC<=eT,"byte array longer than desired length"),eM(eT>0,"Requested array length <= 0");var e_=eR(eb,eT);return this["_toArrayLike"+("le"===em?"LE":"BE")](e_,eC),e_},eT.prototype._toArrayLikeLE=function(eb,em){for(var ew=0,eM=0,eC=0,eT=0;eC>8&255),ew>16&255),6===eT?(ew>24&255),eM=0,eT=0):(eM=e_>>>24,eT+=2)}if(ew=0&&(eb[ew--]=e_>>8&255),ew>=0&&(eb[ew--]=e_>>16&255),6===eT?(ew>=0&&(eb[ew--]=e_>>24&255),eM=0,eT=0):(eM=e_>>>24,eT+=2)}if(ew>=0)for(eb[ew--]=eM;ew>=0;)eb[ew--]=0},Math.clz32?eT.prototype._countBits=function(eb){return 32-Math.clz32(eb)}:eT.prototype._countBits=function(eb){var em=eb,ew=0;return em>=4096&&(ew+=13,em>>>=13),em>=64&&(ew+=7,em>>>=7),em>=8&&(ew+=4,em>>>=4),em>=2&&(ew+=2,em>>>=2),ew+em},eT.prototype._zeroBits=function(eb){if(0===eb)return 26;var em=eb,ew=0;return(8191&em)==0&&(ew+=13,em>>>=13),(127&em)==0&&(ew+=7,em>>>=7),(15&em)==0&&(ew+=4,em>>>=4),(3&em)==0&&(ew+=2,em>>>=2),(1&em)==0&&ew++,ew},eT.prototype.bitLength=function(){var eb=this.words[this.length-1],em=this._countBits(eb);return(this.length-1)*26+em},eT.prototype.zeroBits=function(){if(this.isZero())return 0;for(var eb=0,em=0;emeb.length?this.clone().ior(eb):eb.clone().ior(this)},eT.prototype.uor=function(eb){return this.length>eb.length?this.clone().iuor(eb):eb.clone().iuor(this)},eT.prototype.iuand=function(eb){var em;em=this.length>eb.length?eb:this;for(var ew=0;eweb.length?this.clone().iand(eb):eb.clone().iand(this)},eT.prototype.uand=function(eb){return this.length>eb.length?this.clone().iuand(eb):eb.clone().iuand(this)},eT.prototype.iuxor=function(eb){this.length>eb.length?(em=this,ew=eb):(em=eb,ew=this);for(var em,ew,eM=0;eMeb.length?this.clone().ixor(eb):eb.clone().ixor(this)},eT.prototype.uxor=function(eb){return this.length>eb.length?this.clone().iuxor(eb):eb.clone().iuxor(this)},eT.prototype.inotn=function(eb){eM("number"==typeof eb&&eb>=0);var em=0|Math.ceil(eb/26),ew=eb%26;this._expand(em),ew>0&&em--;for(var eC=0;eC0&&(this.words[eC]=~this.words[eC]&67108863>>26-ew),this._strip()},eT.prototype.notn=function(eb){return this.clone().inotn(eb)},eT.prototype.setn=function(eb,em){eM("number"==typeof eb&&eb>=0);var ew=eb/26|0,eC=eb%26;return this._expand(ew+1),em?this.words[ew]=this.words[ew]|1<eb.length?(ew=this,eM=eb):(ew=eb,eM=this);for(var em,ew,eM,eC=0,eT=0;eT>>26;for(;0!==eC&&eT>>26;if(this.length=ew.length,0!==eC)this.words[this.length]=eC,this.length++;else if(ew!==this)for(;eTeb.length?this.clone().iadd(eb):eb.clone().iadd(this)},eT.prototype.isub=function(eb){if(0!==eb.negative){eb.negative=0;var em,ew,eM=this.iadd(eb);return eb.negative=1,eM._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(eb),this.negative=1,this._normSign();var eC=this.cmp(eb);if(0===eC)return this.negative=0,this.length=1,this.words[0]=0,this;eC>0?(em=this,ew=eb):(em=eb,ew=this);for(var eT=0,e_=0;e_>26,this.words[e_]=67108863&eM;for(;0!==eT&&e_>26,this.words[e_]=67108863&eM;if(0===eT&&e_>>13,eO=0|e_[1],eP=8191&eO,eR=eO>>>13,eB=0|e_[2],eF=8191&eB,ej=eB>>>13,eU=0|e_[3],eV=8191&eU,eH=eU>>>13,e$=0|e_[4],eW=8191&e$,eZ=e$>>>13,eK=0|e_[5],eG=8191&eK,eY=eK>>>13,eJ=0|e_[6],eX=8191&eJ,eQ=eJ>>>13,e0=0|e_[7],e6=8191&e0,e4=e0>>>13,e3=0|e_[8],e5=8191&e3,e8=e3>>>13,e9=0|e_[9],e7=8191&e9,tw=e9>>>13,tC=0|eE[0],tT=8191&tC,t_=tC>>>13,tE=0|eE[1],tS=8191&tE,tA=tE>>>13,tN=0|eE[2],tI=8191&tN,tD=tN>>>13,tO=0|eE[3],tP=8191&tO,tR=tO>>>13,tB=0|eE[4],tF=8191&tB,tj=tB>>>13,tU=0|eE[5],tV=8191&tU,tH=tU>>>13,t$=0|eE[6],tq=8191&t$,tW=t$>>>13,tZ=0|eE[7],tK=8191&tZ,tG=tZ>>>13,tY=0|eE[8],tJ=8191&tY,tX=tY>>>13,tQ=0|eE[9],nw=8191&tQ,nM=tQ>>>13;ew.negative=eb.negative^em.negative,ew.length=19;var nC=(eA+(eM=Math.imul(eI,tT))|0)+((8191&(eC=(eC=Math.imul(eI,t_))+Math.imul(eD,tT)|0))<<13)|0;eA=((eT=Math.imul(eD,t_))+(eC>>>13)|0)+(nC>>>26)|0,nC&=67108863,eM=Math.imul(eP,tT),eC=(eC=Math.imul(eP,t_))+Math.imul(eR,tT)|0,eT=Math.imul(eR,t_);var nk=(eA+(eM=eM+Math.imul(eI,tS)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eI,tA)|0)+Math.imul(eD,tS)|0))<<13)|0;eA=((eT=eT+Math.imul(eD,tA)|0)+(eC>>>13)|0)+(nk>>>26)|0,nk&=67108863,eM=Math.imul(eF,tT),eC=(eC=Math.imul(eF,t_))+Math.imul(ej,tT)|0,eT=Math.imul(ej,t_),eM=eM+Math.imul(eP,tS)|0,eC=(eC=eC+Math.imul(eP,tA)|0)+Math.imul(eR,tS)|0,eT=eT+Math.imul(eR,tA)|0;var nT=(eA+(eM=eM+Math.imul(eI,tI)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eI,tD)|0)+Math.imul(eD,tI)|0))<<13)|0;eA=((eT=eT+Math.imul(eD,tD)|0)+(eC>>>13)|0)+(nT>>>26)|0,nT&=67108863,eM=Math.imul(eV,tT),eC=(eC=Math.imul(eV,t_))+Math.imul(eH,tT)|0,eT=Math.imul(eH,t_),eM=eM+Math.imul(eF,tS)|0,eC=(eC=eC+Math.imul(eF,tA)|0)+Math.imul(ej,tS)|0,eT=eT+Math.imul(ej,tA)|0,eM=eM+Math.imul(eP,tI)|0,eC=(eC=eC+Math.imul(eP,tD)|0)+Math.imul(eR,tI)|0,eT=eT+Math.imul(eR,tD)|0;var n_=(eA+(eM=eM+Math.imul(eI,tP)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eI,tR)|0)+Math.imul(eD,tP)|0))<<13)|0;eA=((eT=eT+Math.imul(eD,tR)|0)+(eC>>>13)|0)+(n_>>>26)|0,n_&=67108863,eM=Math.imul(eW,tT),eC=(eC=Math.imul(eW,t_))+Math.imul(eZ,tT)|0,eT=Math.imul(eZ,t_),eM=eM+Math.imul(eV,tS)|0,eC=(eC=eC+Math.imul(eV,tA)|0)+Math.imul(eH,tS)|0,eT=eT+Math.imul(eH,tA)|0,eM=eM+Math.imul(eF,tI)|0,eC=(eC=eC+Math.imul(eF,tD)|0)+Math.imul(ej,tI)|0,eT=eT+Math.imul(ej,tD)|0,eM=eM+Math.imul(eP,tP)|0,eC=(eC=eC+Math.imul(eP,tR)|0)+Math.imul(eR,tP)|0,eT=eT+Math.imul(eR,tR)|0;var nE=(eA+(eM=eM+Math.imul(eI,tF)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eI,tj)|0)+Math.imul(eD,tF)|0))<<13)|0;eA=((eT=eT+Math.imul(eD,tj)|0)+(eC>>>13)|0)+(nE>>>26)|0,nE&=67108863,eM=Math.imul(eG,tT),eC=(eC=Math.imul(eG,t_))+Math.imul(eY,tT)|0,eT=Math.imul(eY,t_),eM=eM+Math.imul(eW,tS)|0,eC=(eC=eC+Math.imul(eW,tA)|0)+Math.imul(eZ,tS)|0,eT=eT+Math.imul(eZ,tA)|0,eM=eM+Math.imul(eV,tI)|0,eC=(eC=eC+Math.imul(eV,tD)|0)+Math.imul(eH,tI)|0,eT=eT+Math.imul(eH,tD)|0,eM=eM+Math.imul(eF,tP)|0,eC=(eC=eC+Math.imul(eF,tR)|0)+Math.imul(ej,tP)|0,eT=eT+Math.imul(ej,tR)|0,eM=eM+Math.imul(eP,tF)|0,eC=(eC=eC+Math.imul(eP,tj)|0)+Math.imul(eR,tF)|0,eT=eT+Math.imul(eR,tj)|0;var nS=(eA+(eM=eM+Math.imul(eI,tV)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eI,tH)|0)+Math.imul(eD,tV)|0))<<13)|0;eA=((eT=eT+Math.imul(eD,tH)|0)+(eC>>>13)|0)+(nS>>>26)|0,nS&=67108863,eM=Math.imul(eX,tT),eC=(eC=Math.imul(eX,t_))+Math.imul(eQ,tT)|0,eT=Math.imul(eQ,t_),eM=eM+Math.imul(eG,tS)|0,eC=(eC=eC+Math.imul(eG,tA)|0)+Math.imul(eY,tS)|0,eT=eT+Math.imul(eY,tA)|0,eM=eM+Math.imul(eW,tI)|0,eC=(eC=eC+Math.imul(eW,tD)|0)+Math.imul(eZ,tI)|0,eT=eT+Math.imul(eZ,tD)|0,eM=eM+Math.imul(eV,tP)|0,eC=(eC=eC+Math.imul(eV,tR)|0)+Math.imul(eH,tP)|0,eT=eT+Math.imul(eH,tR)|0,eM=eM+Math.imul(eF,tF)|0,eC=(eC=eC+Math.imul(eF,tj)|0)+Math.imul(ej,tF)|0,eT=eT+Math.imul(ej,tj)|0,eM=eM+Math.imul(eP,tV)|0,eC=(eC=eC+Math.imul(eP,tH)|0)+Math.imul(eR,tV)|0,eT=eT+Math.imul(eR,tH)|0;var nA=(eA+(eM=eM+Math.imul(eI,tq)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eI,tW)|0)+Math.imul(eD,tq)|0))<<13)|0;eA=((eT=eT+Math.imul(eD,tW)|0)+(eC>>>13)|0)+(nA>>>26)|0,nA&=67108863,eM=Math.imul(e6,tT),eC=(eC=Math.imul(e6,t_))+Math.imul(e4,tT)|0,eT=Math.imul(e4,t_),eM=eM+Math.imul(eX,tS)|0,eC=(eC=eC+Math.imul(eX,tA)|0)+Math.imul(eQ,tS)|0,eT=eT+Math.imul(eQ,tA)|0,eM=eM+Math.imul(eG,tI)|0,eC=(eC=eC+Math.imul(eG,tD)|0)+Math.imul(eY,tI)|0,eT=eT+Math.imul(eY,tD)|0,eM=eM+Math.imul(eW,tP)|0,eC=(eC=eC+Math.imul(eW,tR)|0)+Math.imul(eZ,tP)|0,eT=eT+Math.imul(eZ,tR)|0,eM=eM+Math.imul(eV,tF)|0,eC=(eC=eC+Math.imul(eV,tj)|0)+Math.imul(eH,tF)|0,eT=eT+Math.imul(eH,tj)|0,eM=eM+Math.imul(eF,tV)|0,eC=(eC=eC+Math.imul(eF,tH)|0)+Math.imul(ej,tV)|0,eT=eT+Math.imul(ej,tH)|0,eM=eM+Math.imul(eP,tq)|0,eC=(eC=eC+Math.imul(eP,tW)|0)+Math.imul(eR,tq)|0,eT=eT+Math.imul(eR,tW)|0;var nN=(eA+(eM=eM+Math.imul(eI,tK)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eI,tG)|0)+Math.imul(eD,tK)|0))<<13)|0;eA=((eT=eT+Math.imul(eD,tG)|0)+(eC>>>13)|0)+(nN>>>26)|0,nN&=67108863,eM=Math.imul(e5,tT),eC=(eC=Math.imul(e5,t_))+Math.imul(e8,tT)|0,eT=Math.imul(e8,t_),eM=eM+Math.imul(e6,tS)|0,eC=(eC=eC+Math.imul(e6,tA)|0)+Math.imul(e4,tS)|0,eT=eT+Math.imul(e4,tA)|0,eM=eM+Math.imul(eX,tI)|0,eC=(eC=eC+Math.imul(eX,tD)|0)+Math.imul(eQ,tI)|0,eT=eT+Math.imul(eQ,tD)|0,eM=eM+Math.imul(eG,tP)|0,eC=(eC=eC+Math.imul(eG,tR)|0)+Math.imul(eY,tP)|0,eT=eT+Math.imul(eY,tR)|0,eM=eM+Math.imul(eW,tF)|0,eC=(eC=eC+Math.imul(eW,tj)|0)+Math.imul(eZ,tF)|0,eT=eT+Math.imul(eZ,tj)|0,eM=eM+Math.imul(eV,tV)|0,eC=(eC=eC+Math.imul(eV,tH)|0)+Math.imul(eH,tV)|0,eT=eT+Math.imul(eH,tH)|0,eM=eM+Math.imul(eF,tq)|0,eC=(eC=eC+Math.imul(eF,tW)|0)+Math.imul(ej,tq)|0,eT=eT+Math.imul(ej,tW)|0,eM=eM+Math.imul(eP,tK)|0,eC=(eC=eC+Math.imul(eP,tG)|0)+Math.imul(eR,tK)|0,eT=eT+Math.imul(eR,tG)|0;var nI=(eA+(eM=eM+Math.imul(eI,tJ)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eI,tX)|0)+Math.imul(eD,tJ)|0))<<13)|0;eA=((eT=eT+Math.imul(eD,tX)|0)+(eC>>>13)|0)+(nI>>>26)|0,nI&=67108863,eM=Math.imul(e7,tT),eC=(eC=Math.imul(e7,t_))+Math.imul(tw,tT)|0,eT=Math.imul(tw,t_),eM=eM+Math.imul(e5,tS)|0,eC=(eC=eC+Math.imul(e5,tA)|0)+Math.imul(e8,tS)|0,eT=eT+Math.imul(e8,tA)|0,eM=eM+Math.imul(e6,tI)|0,eC=(eC=eC+Math.imul(e6,tD)|0)+Math.imul(e4,tI)|0,eT=eT+Math.imul(e4,tD)|0,eM=eM+Math.imul(eX,tP)|0,eC=(eC=eC+Math.imul(eX,tR)|0)+Math.imul(eQ,tP)|0,eT=eT+Math.imul(eQ,tR)|0,eM=eM+Math.imul(eG,tF)|0,eC=(eC=eC+Math.imul(eG,tj)|0)+Math.imul(eY,tF)|0,eT=eT+Math.imul(eY,tj)|0,eM=eM+Math.imul(eW,tV)|0,eC=(eC=eC+Math.imul(eW,tH)|0)+Math.imul(eZ,tV)|0,eT=eT+Math.imul(eZ,tH)|0,eM=eM+Math.imul(eV,tq)|0,eC=(eC=eC+Math.imul(eV,tW)|0)+Math.imul(eH,tq)|0,eT=eT+Math.imul(eH,tW)|0,eM=eM+Math.imul(eF,tK)|0,eC=(eC=eC+Math.imul(eF,tG)|0)+Math.imul(ej,tK)|0,eT=eT+Math.imul(ej,tG)|0,eM=eM+Math.imul(eP,tJ)|0,eC=(eC=eC+Math.imul(eP,tX)|0)+Math.imul(eR,tJ)|0,eT=eT+Math.imul(eR,tX)|0;var nD=(eA+(eM=eM+Math.imul(eI,nw)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eI,nM)|0)+Math.imul(eD,nw)|0))<<13)|0;eA=((eT=eT+Math.imul(eD,nM)|0)+(eC>>>13)|0)+(nD>>>26)|0,nD&=67108863,eM=Math.imul(e7,tS),eC=(eC=Math.imul(e7,tA))+Math.imul(tw,tS)|0,eT=Math.imul(tw,tA),eM=eM+Math.imul(e5,tI)|0,eC=(eC=eC+Math.imul(e5,tD)|0)+Math.imul(e8,tI)|0,eT=eT+Math.imul(e8,tD)|0,eM=eM+Math.imul(e6,tP)|0,eC=(eC=eC+Math.imul(e6,tR)|0)+Math.imul(e4,tP)|0,eT=eT+Math.imul(e4,tR)|0,eM=eM+Math.imul(eX,tF)|0,eC=(eC=eC+Math.imul(eX,tj)|0)+Math.imul(eQ,tF)|0,eT=eT+Math.imul(eQ,tj)|0,eM=eM+Math.imul(eG,tV)|0,eC=(eC=eC+Math.imul(eG,tH)|0)+Math.imul(eY,tV)|0,eT=eT+Math.imul(eY,tH)|0,eM=eM+Math.imul(eW,tq)|0,eC=(eC=eC+Math.imul(eW,tW)|0)+Math.imul(eZ,tq)|0,eT=eT+Math.imul(eZ,tW)|0,eM=eM+Math.imul(eV,tK)|0,eC=(eC=eC+Math.imul(eV,tG)|0)+Math.imul(eH,tK)|0,eT=eT+Math.imul(eH,tG)|0,eM=eM+Math.imul(eF,tJ)|0,eC=(eC=eC+Math.imul(eF,tX)|0)+Math.imul(ej,tJ)|0,eT=eT+Math.imul(ej,tX)|0;var nO=(eA+(eM=eM+Math.imul(eP,nw)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eP,nM)|0)+Math.imul(eR,nw)|0))<<13)|0;eA=((eT=eT+Math.imul(eR,nM)|0)+(eC>>>13)|0)+(nO>>>26)|0,nO&=67108863,eM=Math.imul(e7,tI),eC=(eC=Math.imul(e7,tD))+Math.imul(tw,tI)|0,eT=Math.imul(tw,tD),eM=eM+Math.imul(e5,tP)|0,eC=(eC=eC+Math.imul(e5,tR)|0)+Math.imul(e8,tP)|0,eT=eT+Math.imul(e8,tR)|0,eM=eM+Math.imul(e6,tF)|0,eC=(eC=eC+Math.imul(e6,tj)|0)+Math.imul(e4,tF)|0,eT=eT+Math.imul(e4,tj)|0,eM=eM+Math.imul(eX,tV)|0,eC=(eC=eC+Math.imul(eX,tH)|0)+Math.imul(eQ,tV)|0,eT=eT+Math.imul(eQ,tH)|0,eM=eM+Math.imul(eG,tq)|0,eC=(eC=eC+Math.imul(eG,tW)|0)+Math.imul(eY,tq)|0,eT=eT+Math.imul(eY,tW)|0,eM=eM+Math.imul(eW,tK)|0,eC=(eC=eC+Math.imul(eW,tG)|0)+Math.imul(eZ,tK)|0,eT=eT+Math.imul(eZ,tG)|0,eM=eM+Math.imul(eV,tJ)|0,eC=(eC=eC+Math.imul(eV,tX)|0)+Math.imul(eH,tJ)|0,eT=eT+Math.imul(eH,tX)|0;var nP=(eA+(eM=eM+Math.imul(eF,nw)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eF,nM)|0)+Math.imul(ej,nw)|0))<<13)|0;eA=((eT=eT+Math.imul(ej,nM)|0)+(eC>>>13)|0)+(nP>>>26)|0,nP&=67108863,eM=Math.imul(e7,tP),eC=(eC=Math.imul(e7,tR))+Math.imul(tw,tP)|0,eT=Math.imul(tw,tR),eM=eM+Math.imul(e5,tF)|0,eC=(eC=eC+Math.imul(e5,tj)|0)+Math.imul(e8,tF)|0,eT=eT+Math.imul(e8,tj)|0,eM=eM+Math.imul(e6,tV)|0,eC=(eC=eC+Math.imul(e6,tH)|0)+Math.imul(e4,tV)|0,eT=eT+Math.imul(e4,tH)|0,eM=eM+Math.imul(eX,tq)|0,eC=(eC=eC+Math.imul(eX,tW)|0)+Math.imul(eQ,tq)|0,eT=eT+Math.imul(eQ,tW)|0,eM=eM+Math.imul(eG,tK)|0,eC=(eC=eC+Math.imul(eG,tG)|0)+Math.imul(eY,tK)|0,eT=eT+Math.imul(eY,tG)|0,eM=eM+Math.imul(eW,tJ)|0,eC=(eC=eC+Math.imul(eW,tX)|0)+Math.imul(eZ,tJ)|0,eT=eT+Math.imul(eZ,tX)|0;var nR=(eA+(eM=eM+Math.imul(eV,nw)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eV,nM)|0)+Math.imul(eH,nw)|0))<<13)|0;eA=((eT=eT+Math.imul(eH,nM)|0)+(eC>>>13)|0)+(nR>>>26)|0,nR&=67108863,eM=Math.imul(e7,tF),eC=(eC=Math.imul(e7,tj))+Math.imul(tw,tF)|0,eT=Math.imul(tw,tj),eM=eM+Math.imul(e5,tV)|0,eC=(eC=eC+Math.imul(e5,tH)|0)+Math.imul(e8,tV)|0,eT=eT+Math.imul(e8,tH)|0,eM=eM+Math.imul(e6,tq)|0,eC=(eC=eC+Math.imul(e6,tW)|0)+Math.imul(e4,tq)|0,eT=eT+Math.imul(e4,tW)|0,eM=eM+Math.imul(eX,tK)|0,eC=(eC=eC+Math.imul(eX,tG)|0)+Math.imul(eQ,tK)|0,eT=eT+Math.imul(eQ,tG)|0,eM=eM+Math.imul(eG,tJ)|0,eC=(eC=eC+Math.imul(eG,tX)|0)+Math.imul(eY,tJ)|0,eT=eT+Math.imul(eY,tX)|0;var nB=(eA+(eM=eM+Math.imul(eW,nw)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eW,nM)|0)+Math.imul(eZ,nw)|0))<<13)|0;eA=((eT=eT+Math.imul(eZ,nM)|0)+(eC>>>13)|0)+(nB>>>26)|0,nB&=67108863,eM=Math.imul(e7,tV),eC=(eC=Math.imul(e7,tH))+Math.imul(tw,tV)|0,eT=Math.imul(tw,tH),eM=eM+Math.imul(e5,tq)|0,eC=(eC=eC+Math.imul(e5,tW)|0)+Math.imul(e8,tq)|0,eT=eT+Math.imul(e8,tW)|0,eM=eM+Math.imul(e6,tK)|0,eC=(eC=eC+Math.imul(e6,tG)|0)+Math.imul(e4,tK)|0,eT=eT+Math.imul(e4,tG)|0,eM=eM+Math.imul(eX,tJ)|0,eC=(eC=eC+Math.imul(eX,tX)|0)+Math.imul(eQ,tJ)|0,eT=eT+Math.imul(eQ,tX)|0;var nF=(eA+(eM=eM+Math.imul(eG,nw)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eG,nM)|0)+Math.imul(eY,nw)|0))<<13)|0;eA=((eT=eT+Math.imul(eY,nM)|0)+(eC>>>13)|0)+(nF>>>26)|0,nF&=67108863,eM=Math.imul(e7,tq),eC=(eC=Math.imul(e7,tW))+Math.imul(tw,tq)|0,eT=Math.imul(tw,tW),eM=eM+Math.imul(e5,tK)|0,eC=(eC=eC+Math.imul(e5,tG)|0)+Math.imul(e8,tK)|0,eT=eT+Math.imul(e8,tG)|0,eM=eM+Math.imul(e6,tJ)|0,eC=(eC=eC+Math.imul(e6,tX)|0)+Math.imul(e4,tJ)|0,eT=eT+Math.imul(e4,tX)|0;var nj=(eA+(eM=eM+Math.imul(eX,nw)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eX,nM)|0)+Math.imul(eQ,nw)|0))<<13)|0;eA=((eT=eT+Math.imul(eQ,nM)|0)+(eC>>>13)|0)+(nj>>>26)|0,nj&=67108863,eM=Math.imul(e7,tK),eC=(eC=Math.imul(e7,tG))+Math.imul(tw,tK)|0,eT=Math.imul(tw,tG),eM=eM+Math.imul(e5,tJ)|0,eC=(eC=eC+Math.imul(e5,tX)|0)+Math.imul(e8,tJ)|0,eT=eT+Math.imul(e8,tX)|0;var nU=(eA+(eM=eM+Math.imul(e6,nw)|0)|0)+((8191&(eC=(eC=eC+Math.imul(e6,nM)|0)+Math.imul(e4,nw)|0))<<13)|0;eA=((eT=eT+Math.imul(e4,nM)|0)+(eC>>>13)|0)+(nU>>>26)|0,nU&=67108863,eM=Math.imul(e7,tJ),eC=(eC=Math.imul(e7,tX))+Math.imul(tw,tJ)|0,eT=Math.imul(tw,tX);var nV=(eA+(eM=eM+Math.imul(e5,nw)|0)|0)+((8191&(eC=(eC=eC+Math.imul(e5,nM)|0)+Math.imul(e8,nw)|0))<<13)|0;eA=((eT=eT+Math.imul(e8,nM)|0)+(eC>>>13)|0)+(nV>>>26)|0,nV&=67108863;var nH=(eA+(eM=Math.imul(e7,nw))|0)+((8191&(eC=(eC=Math.imul(e7,nM))+Math.imul(tw,nw)|0))<<13)|0;return eA=((eT=Math.imul(tw,nM))+(eC>>>13)|0)+(nH>>>26)|0,nH&=67108863,eS[0]=nC,eS[1]=nk,eS[2]=nT,eS[3]=n_,eS[4]=nE,eS[5]=nS,eS[6]=nA,eS[7]=nN,eS[8]=nI,eS[9]=nD,eS[10]=nO,eS[11]=nP,eS[12]=nR,eS[13]=nB,eS[14]=nF,eS[15]=nj,eS[16]=nU,eS[17]=nV,eS[18]=nH,0!==eA&&(eS[19]=eA,ew.length++),ew};function eU(eb,em,ew){ew.negative=em.negative^eb.negative,ew.length=eb.length+em.length;for(var eM=0,eC=0,eT=0;eT>>26)|0)>>>26,e_&=67108863}ew.words[eT]=eE,eM=e_,e_=eC}return 0!==eM?ew.words[eT]=eM:ew.length--,ew._strip()}function eV(eb,em,ew){return eU(eb,em,ew)}function eH(eb,em){this.x=eb,this.y=em}Math.imul||(ej=eF),eT.prototype.mulTo=function(eb,em){var ew=this.length+eb.length;return 10===this.length&&10===eb.length?ej(this,eb,em):ew<63?eF(this,eb,em):ew<1024?eU(this,eb,em):eV(this,eb,em)},eH.prototype.makeRBT=function(eb){for(var em=Array(eb),ew=eT.prototype._countBits(eb)-1,eM=0;eM>=1;return eM},eH.prototype.permute=function(eb,em,ew,eM,eC,eT){for(var e_=0;e_>>=1)eC++;return 1<>>=13,ew[2*e_+1]=8191&eT,eT>>>=13;for(e_=2*em;e_>=26,ew+=(eT/67108864|0)+(e_>>>26),this.words[eC]=67108863&e_}return 0!==ew&&(this.words[eC]=ew,this.length++),em?this.ineg():this},eT.prototype.muln=function(eb){return this.clone().imuln(eb)},eT.prototype.sqr=function(){return this.mul(this)},eT.prototype.isqr=function(){return this.imul(this.clone())},eT.prototype.pow=function(eb){var em=eB(eb);if(0===em.length)return new eT(1);for(var ew=this,eM=0;eM=0);var em,ew=eb%26,eC=(eb-ew)/26,eT=67108863>>>26-ew<<26-ew;if(0!==ew){var e_=0;for(em=0;em>>26-ew}e_&&(this.words[em]=e_,this.length++)}if(0!==eC){for(em=this.length-1;em>=0;em--)this.words[em+eC]=this.words[em];for(em=0;em=0),eC=em?(em-em%26)/26:0;var eC,eT=eb%26,e_=Math.min((eb-eT)/26,this.length),eE=67108863^67108863>>>eT<e_)for(this.length-=e_,eA=0;eA=0&&(0!==eN||eA>=eC);eA--){var eI=0|this.words[eA];this.words[eA]=eN<<26-eT|eI>>>eT,eN=eI&eE}return eS&&0!==eN&&(eS.words[eS.length++]=eN),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},eT.prototype.ishrn=function(eb,em,ew){return eM(0===this.negative),this.iushrn(eb,em,ew)},eT.prototype.shln=function(eb){return this.clone().ishln(eb)},eT.prototype.ushln=function(eb){return this.clone().iushln(eb)},eT.prototype.shrn=function(eb){return this.clone().ishrn(eb)},eT.prototype.ushrn=function(eb){return this.clone().iushrn(eb)},eT.prototype.testn=function(eb){eM("number"==typeof eb&&eb>=0);var em=eb%26,ew=(eb-em)/26,eC=1<=0);var em=eb%26,ew=(eb-em)/26;if(eM(0===this.negative,"imaskn works only with positive numbers"),this.length<=ew)return this;if(0!==em&&ew++,this.length=Math.min(ew,this.length),0!==em){var eC=67108863^67108863>>>em<=67108864;em++)this.words[em]-=67108864,em===this.length-1?this.words[em+1]=1:this.words[em+1]++;return this.length=Math.max(this.length,em+1),this},eT.prototype.isubn=function(eb){if(eM("number"==typeof eb),eM(eb<67108864),eb<0)return this.iaddn(-eb);if(0!==this.negative)return this.negative=0,this.iaddn(eb),this.negative=1,this;if(this.words[0]-=eb,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var em=0;em>26)-(eS/67108864|0),this.words[eC+ew]=67108863&eT}for(;eC>26,this.words[eC+ew]=67108863&eT;if(0===eE)return this._strip();for(eM(-1===eE),eE=0,eC=0;eC>26,this.words[eC]=67108863&eT;return this.negative=1,this._strip()},eT.prototype._wordDiv=function(eb,em){var ew,eM=this.length-eb.length,eC=this.clone(),e_=eb,eE=0|e_.words[e_.length-1];0!=(eM=26-this._countBits(eE))&&(e_=e_.ushln(eM),eC.iushln(eM),eE=0|e_.words[e_.length-1]);var eS=eC.length-e_.length;if("mod"!==em){(ew=new eT(null)).length=eS+1,ew.words=Array(ew.length);for(var eA=0;eA=0;eI--){var eD=(0|eC.words[e_.length+eI])*67108864+(0|eC.words[e_.length+eI-1]);for(eD=Math.min(eD/eE|0,67108863),eC._ishlnsubmul(e_,eD,eI);0!==eC.negative;)eD--,eC.negative=0,eC._ishlnsubmul(e_,1,eI),eC.isZero()||(eC.negative^=1);ew&&(ew.words[eI]=eD)}return ew&&ew._strip(),eC._strip(),"div"!==em&&0!==eM&&eC.iushrn(eM),{div:ew||null,mod:eC}},eT.prototype.divmod=function(eb,em,ew){var eC,e_,eE;return(eM(!eb.isZero()),this.isZero())?{div:new eT(0),mod:new eT(0)}:0!==this.negative&&0===eb.negative?(eE=this.neg().divmod(eb,em),"mod"!==em&&(eC=eE.div.neg()),"div"!==em&&(e_=eE.mod.neg(),ew&&0!==e_.negative&&e_.iadd(eb)),{div:eC,mod:e_}):0===this.negative&&0!==eb.negative?(eE=this.divmod(eb.neg(),em),"mod"!==em&&(eC=eE.div.neg()),{div:eC,mod:eE.mod}):(this.negative&eb.negative)!=0?(eE=this.neg().divmod(eb.neg(),em),"div"!==em&&(e_=eE.mod.neg(),ew&&0!==e_.negative&&e_.isub(eb)),{div:eE.div,mod:e_}):eb.length>this.length||0>this.cmp(eb)?{div:new eT(0),mod:this}:1===eb.length?"div"===em?{div:this.divn(eb.words[0]),mod:null}:"mod"===em?{div:null,mod:new eT(this.modrn(eb.words[0]))}:{div:this.divn(eb.words[0]),mod:new eT(this.modrn(eb.words[0]))}:this._wordDiv(eb,em)},eT.prototype.div=function(eb){return this.divmod(eb,"div",!1).div},eT.prototype.mod=function(eb){return this.divmod(eb,"mod",!1).mod},eT.prototype.umod=function(eb){return this.divmod(eb,"mod",!0).mod},eT.prototype.divRound=function(eb){var em=this.divmod(eb);if(em.mod.isZero())return em.div;var ew=0!==em.div.negative?em.mod.isub(eb):em.mod,eM=eb.ushrn(1),eC=eb.andln(1),eT=ew.cmp(eM);return eT<0||1===eC&&0===eT?em.div:0!==em.div.negative?em.div.isubn(1):em.div.iaddn(1)},eT.prototype.modrn=function(eb){var em=eb<0;em&&(eb=-eb),eM(eb<=67108863);for(var ew=67108864%eb,eC=0,eT=this.length-1;eT>=0;eT--)eC=(ew*eC+(0|this.words[eT]))%eb;return em?-eC:eC},eT.prototype.modn=function(eb){return this.modrn(eb)},eT.prototype.idivn=function(eb){var em=eb<0;em&&(eb=-eb),eM(eb<=67108863);for(var ew=0,eC=this.length-1;eC>=0;eC--){var eT=(0|this.words[eC])+67108864*ew;this.words[eC]=eT/eb|0,ew=eT%eb}return this._strip(),em?this.ineg():this},eT.prototype.divn=function(eb){return this.clone().idivn(eb)},eT.prototype.egcd=function(eb){eM(0===eb.negative),eM(!eb.isZero());var em=this,ew=eb.clone();em=0!==em.negative?em.umod(eb):em.clone();for(var eC=new eT(1),e_=new eT(0),eE=new eT(0),eS=new eT(1),eA=0;em.isEven()&&ew.isEven();)em.iushrn(1),ew.iushrn(1),++eA;for(var eN=ew.clone(),eI=em.clone();!em.isZero();){for(var eD=0,eO=1;(em.words[0]&eO)==0&&eD<26;++eD,eO<<=1);if(eD>0)for(em.iushrn(eD);eD-- >0;)(eC.isOdd()||e_.isOdd())&&(eC.iadd(eN),e_.isub(eI)),eC.iushrn(1),e_.iushrn(1);for(var eP=0,eR=1;(ew.words[0]&eR)==0&&eP<26;++eP,eR<<=1);if(eP>0)for(ew.iushrn(eP);eP-- >0;)(eE.isOdd()||eS.isOdd())&&(eE.iadd(eN),eS.isub(eI)),eE.iushrn(1),eS.iushrn(1);em.cmp(ew)>=0?(em.isub(ew),eC.isub(eE),e_.isub(eS)):(ew.isub(em),eE.isub(eC),eS.isub(e_))}return{a:eE,b:eS,gcd:ew.iushln(eA)}},eT.prototype._invmp=function(eb){eM(0===eb.negative),eM(!eb.isZero());var em,ew=this,eC=eb.clone();ew=0!==ew.negative?ew.umod(eb):ew.clone();for(var e_=new eT(1),eE=new eT(0),eS=eC.clone();ew.cmpn(1)>0&&eC.cmpn(1)>0;){for(var eA=0,eN=1;(ew.words[0]&eN)==0&&eA<26;++eA,eN<<=1);if(eA>0)for(ew.iushrn(eA);eA-- >0;)e_.isOdd()&&e_.iadd(eS),e_.iushrn(1);for(var eI=0,eD=1;(eC.words[0]&eD)==0&&eI<26;++eI,eD<<=1);if(eI>0)for(eC.iushrn(eI);eI-- >0;)eE.isOdd()&&eE.iadd(eS),eE.iushrn(1);ew.cmp(eC)>=0?(ew.isub(eC),e_.isub(eE)):(eC.isub(ew),eE.isub(e_))}return 0>(em=0===ew.cmpn(1)?e_:eE).cmpn(0)&&em.iadd(eb),em},eT.prototype.gcd=function(eb){if(this.isZero())return eb.abs();if(eb.isZero())return this.abs();var em=this.clone(),ew=eb.clone();em.negative=0,ew.negative=0;for(var eM=0;em.isEven()&&ew.isEven();eM++)em.iushrn(1),ew.iushrn(1);for(;;){for(;em.isEven();)em.iushrn(1);for(;ew.isEven();)ew.iushrn(1);var eC=em.cmp(ew);if(eC<0){var eT=em;em=ew,ew=eT}else if(0===eC||0===ew.cmpn(1))break;em.isub(ew)}return ew.iushln(eM)},eT.prototype.invm=function(eb){return this.egcd(eb).a.umod(eb)},eT.prototype.isEven=function(){return(1&this.words[0])==0},eT.prototype.isOdd=function(){return(1&this.words[0])==1},eT.prototype.andln=function(eb){return this.words[0]&eb},eT.prototype.bincn=function(eb){eM("number"==typeof eb);var em=eb%26,ew=(eb-em)/26,eC=1<>>26,eE&=67108863,this.words[e_]=eE}return 0!==eT&&(this.words[e_]=eT,this.length++),this},eT.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},eT.prototype.cmpn=function(eb){var em,ew=eb<0;if(0!==this.negative&&!ew)return -1;if(0===this.negative&&ew)return 1;if(this._strip(),this.length>1)em=1;else{ew&&(eb=-eb),eM(eb<=67108863,"Number is too big");var eC=0|this.words[0];em=eC===eb?0:eCeb.length)return 1;if(this.length=0;ew--){var eM=0|this.words[ew],eC=0|eb.words[ew];if(eM!==eC){eMeC&&(em=1);break}}return em},eT.prototype.gtn=function(eb){return 1===this.cmpn(eb)},eT.prototype.gt=function(eb){return 1===this.cmp(eb)},eT.prototype.gten=function(eb){return this.cmpn(eb)>=0},eT.prototype.gte=function(eb){return this.cmp(eb)>=0},eT.prototype.ltn=function(eb){return -1===this.cmpn(eb)},eT.prototype.lt=function(eb){return -1===this.cmp(eb)},eT.prototype.lten=function(eb){return 0>=this.cmpn(eb)},eT.prototype.lte=function(eb){return 0>=this.cmp(eb)},eT.prototype.eqn=function(eb){return 0===this.cmpn(eb)},eT.prototype.eq=function(eb){return 0===this.cmp(eb)},eT.red=function(eb){return new eJ(eb)},eT.prototype.toRed=function(eb){return eM(!this.red,"Already a number in reduction context"),eM(0===this.negative,"red works only with positives"),eb.convertTo(this)._forceRed(eb)},eT.prototype.fromRed=function(){return eM(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},eT.prototype._forceRed=function(eb){return this.red=eb,this},eT.prototype.forceRed=function(eb){return eM(!this.red,"Already a number in reduction context"),this._forceRed(eb)},eT.prototype.redAdd=function(eb){return eM(this.red,"redAdd works only with red numbers"),this.red.add(this,eb)},eT.prototype.redIAdd=function(eb){return eM(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,eb)},eT.prototype.redSub=function(eb){return eM(this.red,"redSub works only with red numbers"),this.red.sub(this,eb)},eT.prototype.redISub=function(eb){return eM(this.red,"redISub works only with red numbers"),this.red.isub(this,eb)},eT.prototype.redShl=function(eb){return eM(this.red,"redShl works only with red numbers"),this.red.shl(this,eb)},eT.prototype.redMul=function(eb){return eM(this.red,"redMul works only with red numbers"),this.red._verify2(this,eb),this.red.mul(this,eb)},eT.prototype.redIMul=function(eb){return eM(this.red,"redMul works only with red numbers"),this.red._verify2(this,eb),this.red.imul(this,eb)},eT.prototype.redSqr=function(){return eM(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},eT.prototype.redISqr=function(){return eM(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},eT.prototype.redSqrt=function(){return eM(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},eT.prototype.redInvm=function(){return eM(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},eT.prototype.redNeg=function(){return eM(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},eT.prototype.redPow=function(eb){return eM(this.red&&!eb.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,eb)};var e$={k256:null,p224:null,p192:null,p25519:null};function eW(eb,em){this.name=eb,this.p=new eT(em,16),this.n=this.p.bitLength(),this.k=new eT(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function eZ(){eW.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function eK(){eW.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function eG(){eW.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function eY(){eW.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function eJ(eb){if("string"==typeof eb){var em=eT._prime(eb);this.m=em.p,this.prime=em}else eM(eb.gtn(1),"modulus must be greater than 1"),this.m=eb,this.prime=null}function eX(eb){eJ.call(this,eb),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new eT(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)}eW.prototype._tmp=function(){var eb=new eT(null);return eb.words=Array(Math.ceil(this.n/13)),eb},eW.prototype.ireduce=function(eb){var em,ew=eb;do this.split(ew,this.tmp),em=(ew=(ew=this.imulK(ew)).iadd(this.tmp)).bitLength();while(em>this.n);var eM=em0?ew.isub(this.p):void 0!==ew.strip?ew.strip():ew._strip(),ew},eW.prototype.split=function(eb,em){eb.iushrn(this.n,0,em)},eW.prototype.imulK=function(eb){return eb.imul(this.k)},eC(eZ,eW),eZ.prototype.split=function(eb,em){for(var ew=4194303,eM=Math.min(eb.length,9),eC=0;eC>>22,eT=e_}eT>>>=22,eb.words[eC-10]=eT,0===eT&&eb.length>10?eb.length-=10:eb.length-=9},eZ.prototype.imulK=function(eb){eb.words[eb.length]=0,eb.words[eb.length+1]=0,eb.length+=2;for(var em=0,ew=0;ew>>=26,eb.words[ew]=eC,em=eM}return 0!==em&&(eb.words[eb.length++]=em),eb},eT._prime=function(eb){var em;if(e$[eb])return e$[eb];if("k256"===eb)em=new eZ;else if("p224"===eb)em=new eK;else if("p192"===eb)em=new eG;else if("p25519"===eb)em=new eY;else throw Error("Unknown prime "+eb);return e$[eb]=em,em},eJ.prototype._verify1=function(eb){eM(0===eb.negative,"red works only with positives"),eM(eb.red,"red works only with red numbers")},eJ.prototype._verify2=function(eb,em){eM((eb.negative|em.negative)==0,"red works only with positives"),eM(eb.red&&eb.red===em.red,"red works only with red numbers")},eJ.prototype.imod=function(eb){return this.prime?this.prime.ireduce(eb)._forceRed(this):(eA(eb,eb.umod(this.m)._forceRed(this)),eb)},eJ.prototype.neg=function(eb){return eb.isZero()?eb.clone():this.m.sub(eb)._forceRed(this)},eJ.prototype.add=function(eb,em){this._verify2(eb,em);var ew=eb.add(em);return ew.cmp(this.m)>=0&&ew.isub(this.m),ew._forceRed(this)},eJ.prototype.iadd=function(eb,em){this._verify2(eb,em);var ew=eb.iadd(em);return ew.cmp(this.m)>=0&&ew.isub(this.m),ew},eJ.prototype.sub=function(eb,em){this._verify2(eb,em);var ew=eb.sub(em);return 0>ew.cmpn(0)&&ew.iadd(this.m),ew._forceRed(this)},eJ.prototype.isub=function(eb,em){this._verify2(eb,em);var ew=eb.isub(em);return 0>ew.cmpn(0)&&ew.iadd(this.m),ew},eJ.prototype.shl=function(eb,em){return this._verify1(eb),this.imod(eb.ushln(em))},eJ.prototype.imul=function(eb,em){return this._verify2(eb,em),this.imod(eb.imul(em))},eJ.prototype.mul=function(eb,em){return this._verify2(eb,em),this.imod(eb.mul(em))},eJ.prototype.isqr=function(eb){return this.imul(eb,eb.clone())},eJ.prototype.sqr=function(eb){return this.mul(eb,eb)},eJ.prototype.sqrt=function(eb){if(eb.isZero())return eb.clone();var em=this.m.andln(3);if(eM(em%2==1),3===em){var ew=this.m.add(new eT(1)).iushrn(2);return this.pow(eb,ew)}for(var eC=this.m.subn(1),e_=0;!eC.isZero()&&0===eC.andln(1);)e_++,eC.iushrn(1);eM(!eC.isZero());var eE=new eT(1).toRed(this),eS=eE.redNeg(),eA=this.m.subn(1).iushrn(1),eN=this.m.bitLength();for(eN=new eT(2*eN*eN).toRed(this);0!==this.pow(eN,eA).cmp(eS);)eN.redIAdd(eS);for(var eI=this.pow(eN,eC),eD=this.pow(eb,eC.addn(1).iushrn(1)),eO=this.pow(eb,eC),eP=e_;0!==eO.cmp(eE);){for(var eR=eO,eB=0;0!==eR.cmp(eE);eB++)eR=eR.redSqr();eM(eB=0;eC--){for(var eN=em.words[eC],eI=eA-1;eI>=0;eI--){var eD=eN>>eI&1;if(e_!==eM[0]&&(e_=this.sqr(e_)),0===eD&&0===eE){eS=0;continue}eE<<=1,eE|=eD,(++eS===ew||0===eC&&0===eI)&&(e_=this.mul(e_,eM[eE]),eS=0,eE=0)}eA=26}return e_},eJ.prototype.convertTo=function(eb){var em=eb.umod(this.m);return em===eb?em.clone():em},eJ.prototype.convertFrom=function(eb){var em=eb.clone();return em.red=null,em},eT.mont=function(eb){return new eX(eb)},eC(eX,eJ),eX.prototype.convertTo=function(eb){return this.imod(eb.ushln(this.shift))},eX.prototype.convertFrom=function(eb){var em=this.imod(eb.mul(this.rinv));return em.red=null,em},eX.prototype.imul=function(eb,em){if(eb.isZero()||em.isZero())return eb.words[0]=0,eb.length=1,eb;var ew=eb.imul(em),eM=ew.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),eC=ew.isub(eM).iushrn(this.shift),eT=eC;return eC.cmp(this.m)>=0?eT=eC.isub(this.m):0>eC.cmpn(0)&&(eT=eC.iadd(this.m)),eT._forceRed(this)},eX.prototype.mul=function(eb,em){if(eb.isZero()||em.isZero())return new eT(0)._forceRed(this);var ew=eb.mul(em),eM=ew.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),eC=ew.isub(eM).iushrn(this.shift),e_=eC;return eC.cmp(this.m)>=0?e_=eC.isub(this.m):0>eC.cmpn(0)&&(e_=eC.iadd(this.m)),e_._forceRed(this)},eX.prototype.invm=function(eb){return this.imod(eb._invmp(this.m).mul(this.r2))._forceRed(this)}}(eb=ew.nmd(eb),this)},25532:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer,eC=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew),Object.defineProperty(eb,eM,{enumerable:!0,get:function(){return em[ew]}})}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eT=this&&this.__setModuleDefault||(Object.create?function(eb,em){Object.defineProperty(eb,"default",{enumerable:!0,value:em})}:function(eb,em){eb.default=em}),e_=this&&this.__decorate||function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_},eE=this&&this.__importStar||function(eb){if(eb&&eb.__esModule)return eb;var em={};if(null!=eb)for(var ew in eb)"default"!==ew&&Object.hasOwnProperty.call(eb,ew)&&eC(em,eb,ew);return eT(em,eb),em},eS=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.deserializeUnchecked=em.deserialize=em.serialize=em.BinaryReader=em.BinaryWriter=em.BorshError=em.baseDecode=em.baseEncode=void 0;let eA=eS(ew(13550)),eN=eS(ew(97304)),eI=eE(ew(21127)),eD="function"!=typeof TextDecoder?eI.TextDecoder:TextDecoder,eO=new eD("utf-8",{fatal:!0});function eP(eb){return"string"==typeof eb&&(eb=eM.from(eb,"utf8")),eN.default.encode(eM.from(eb))}function eR(eb){return eM.from(eN.default.decode(eb))}em.baseEncode=eP,em.baseDecode=eR;let eB=1024;class eF extends Error{constructor(eb){super(eb),this.fieldPath=[],this.originalMessage=eb}addToFieldPath(eb){this.fieldPath.splice(0,0,eb),this.message=this.originalMessage+": "+this.fieldPath.join(".")}}em.BorshError=eF;class ej{constructor(){this.buf=eM.alloc(eB),this.length=0}maybeResize(){this.buf.length<16+this.length&&(this.buf=eM.concat([this.buf,eM.alloc(eB)]))}writeU8(eb){this.maybeResize(),this.buf.writeUInt8(eb,this.length),this.length+=1}writeU16(eb){this.maybeResize(),this.buf.writeUInt16LE(eb,this.length),this.length+=2}writeU32(eb){this.maybeResize(),this.buf.writeUInt32LE(eb,this.length),this.length+=4}writeU64(eb){this.maybeResize(),this.writeBuffer(eM.from(new eA.default(eb).toArray("le",8)))}writeU128(eb){this.maybeResize(),this.writeBuffer(eM.from(new eA.default(eb).toArray("le",16)))}writeU256(eb){this.maybeResize(),this.writeBuffer(eM.from(new eA.default(eb).toArray("le",32)))}writeU512(eb){this.maybeResize(),this.writeBuffer(eM.from(new eA.default(eb).toArray("le",64)))}writeBuffer(eb){this.buf=eM.concat([eM.from(this.buf.subarray(0,this.length)),eb,eM.alloc(eB)]),this.length+=eb.length}writeString(eb){this.maybeResize();let em=eM.from(eb,"utf8");this.writeU32(em.length),this.writeBuffer(em)}writeFixedArray(eb){this.writeBuffer(eM.from(eb))}writeArray(eb,em){for(let ew of(this.maybeResize(),this.writeU32(eb.length),eb))this.maybeResize(),em(ew)}toArray(){return this.buf.subarray(0,this.length)}}function eU(eb,em,ew){let eM=ew.value;ew.value=function(...eb){try{return eM.apply(this,eb)}catch(eb){if(eb instanceof RangeError){let em=eb.code;if(["ERR_BUFFER_OUT_OF_BOUNDS","ERR_OUT_OF_RANGE"].indexOf(em)>=0)throw new eF("Reached the end of buffer when deserializing")}throw eb}}}em.BinaryWriter=ej;class eV{constructor(eb){this.buf=eb,this.offset=0}readU8(){let eb=this.buf.readUInt8(this.offset);return this.offset+=1,eb}readU16(){let eb=this.buf.readUInt16LE(this.offset);return this.offset+=2,eb}readU32(){let eb=this.buf.readUInt32LE(this.offset);return this.offset+=4,eb}readU64(){let eb=this.readBuffer(8);return new eA.default(eb,"le")}readU128(){let eb=this.readBuffer(16);return new eA.default(eb,"le")}readU256(){let eb=this.readBuffer(32);return new eA.default(eb,"le")}readU512(){let eb=this.readBuffer(64);return new eA.default(eb,"le")}readBuffer(eb){if(this.offset+eb>this.buf.length)throw new eF(`Expected buffer length ${eb} isn't within bounds`);let em=this.buf.slice(this.offset,this.offset+eb);return this.offset+=eb,em}readString(){let eb=this.readU32(),em=this.readBuffer(eb);try{return eO.decode(em)}catch(eb){throw new eF(`Error decoding UTF-8 string: ${eb}`)}}readFixedArray(eb){return new Uint8Array(this.readBuffer(eb))}readArray(eb){let em=this.readU32(),ew=[];for(let eM=0;eM{e$(eb,em,ew,eM[0],eC)})}else if(void 0!==eM.kind)switch(eM.kind){case"option":null==ew?eC.writeU8(0):(eC.writeU8(1),e$(eb,em,ew,eM.type,eC));break;case"map":eC.writeU32(ew.size),ew.forEach((ew,eT)=>{e$(eb,em,eT,eM.key,eC),e$(eb,em,ew,eM.value,eC)});break;default:throw new eF(`FieldType ${eM} unrecognized`)}else eW(eb,ew,eC)}catch(eb){throw eb instanceof eF&&eb.addToFieldPath(em),eb}}function eW(eb,em,ew){if("function"==typeof em.borshSerialize){em.borshSerialize(ew);return}let eM=eb.get(em.constructor);if(!eM)throw new eF(`Class ${em.constructor.name} is missing in schema`);if("struct"===eM.kind)eM.fields.map(([eM,eC])=>{e$(eb,eM,em[eM],eC,ew)});else if("enum"===eM.kind){let eC=em[eM.field];for(let eT=0;eTeK(eb,em,ew[0],eM));{let em=[];for(let eC=0;eC=eM.values.length)throw new eF(`Enum index: ${eC} is out of range`);let[eT,e_]=eM.values[eC],eE=eK(eb,eT,e_,ew);return new em({[eT]:eE})}throw new eF(`Unexpected schema kind: ${eM.kind} for ${em.constructor.name}`)}function eY(eb,em,ew,eM=eV){let eC=new eM(ew),eT=eG(eb,em,eC);if(eC.offset=255)throw TypeError("Alphabet too long");for(var em=new Uint8Array(256),ew=0;ew>>0,eN=new Uint8Array(e_);ew>>0,eN[eO]=eI%256>>>0,eI=eI/256>>>0;if(0!==eI)throw Error("Non-zero carry");eT=eD,ew++}for(var eP=e_-eT;eP!==e_&&0===eN[eP];)eP++;var eR=eM.allocUnsafe(eC+(e_-eP));eR.fill(0,0,eC);for(var eB=eC;eP!==e_;)eR[eB++]=eN[eP++];return eR}function eD(eb){var em=eI(eb);if(em)return em;throw Error("Non-base"+eE+" character")}return{encode:function(em){if((Array.isArray(em)||em instanceof Uint8Array)&&(em=eM.from(em)),!eM.isBuffer(em))throw TypeError("Expected Buffer");if(0===em.length)return"";for(var ew=0,eC=0,eT=0,e_=em.length;eT!==e_&&0===em[eT];)eT++,ew++;for(var eA=(e_-eT)*eN+1>>>0,eI=new Uint8Array(eA);eT!==e_;){for(var eD=em[eT],eO=0,eP=eA-1;(0!==eD||eO>>0,eI[eP]=eD%eE>>>0,eD=eD/eE>>>0;if(0!==eD)throw Error("Non-zero carry");eC=eO,eT++}for(var eR=eA-eC;eR!==eA&&0===eI[eR];)eR++;for(var eB=eS.repeat(ew);eR=255)throw TypeError("Alphabet too long");for(var em=new Uint8Array(256),ew=0;ew>>0,eN=new Uint8Array(e_);ew>>0,eN[eO]=eI%256>>>0,eI=eI/256>>>0;if(0!==eI)throw Error("Non-zero carry");eT=eD,ew++}for(var eP=e_-eT;eP!==e_&&0===eN[eP];)eP++;var eR=eM.allocUnsafe(eC+(e_-eP));eR.fill(0,0,eC);for(var eB=eC;eP!==e_;)eR[eB++]=eN[eP++];return eR}function eD(eb){var em=eI(eb);if(em)return em;throw Error("Non-base"+eE+" character")}return{encode:function(em){if((Array.isArray(em)||em instanceof Uint8Array)&&(em=eM.from(em)),!eM.isBuffer(em))throw TypeError("Expected Buffer");if(0===em.length)return"";for(var ew=0,eC=0,eT=0,e_=em.length;eT!==e_&&0===em[eT];)eT++,ew++;for(var eA=(e_-eT)*eN+1>>>0,eI=new Uint8Array(eA);eT!==e_;){for(var eD=em[eT],eO=0,eP=eA-1;(0!==eD||eO>>0,eI[eP]=eD%eE>>>0,eD=eD/eE>>>0;if(0!==eD)throw Error("Non-zero carry");eC=eO,eT++}for(var eR=eA-eC;eR!==eA&&0===eI[eR];)eR++;for(var eB=eS.repeat(ew);eR * @license MIT - */let eV=eH(79742),ew=eH(80645),eM="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;em.Buffer=eS,em.SlowBuffer=ej,em.INSPECT_MAX_BYTES=50;let eC=2147483647;function eT(){try{let eb=new Uint8Array(1),em={foo:function(){return 42}};return Object.setPrototypeOf(em,Uint8Array.prototype),Object.setPrototypeOf(eb,em),42===eb.foo()}catch(eb){return!1}}function e_(eb){if(eb>eC)throw RangeError('The value "'+eb+'" is invalid for option "size"');let em=new Uint8Array(eb);return Object.setPrototypeOf(em,eS.prototype),em}function eS(eb,em,eH){if("number"==typeof eb){if("string"==typeof em)throw TypeError('The "string" argument must be of type string. Received type number');return eI(eb)}return eE(eb,em,eH)}function eE(eb,em,eH){if("string"==typeof eb)return eD(eb,em);if(ArrayBuffer.isView(eb))return eO(eb);if(null==eb)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof eb);if(tW(eb,ArrayBuffer)||eb&&tW(eb.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(tW(eb,SharedArrayBuffer)||eb&&tW(eb.buffer,SharedArrayBuffer)))return eR(eb,em,eH);if("number"==typeof eb)throw TypeError('The "value" argument must not be of type number. Received type number');let eV=eb.valueOf&&eb.valueOf();if(null!=eV&&eV!==eb)return eS.from(eV,em,eH);let ew=eB(eb);if(ew)return ew;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof eb[Symbol.toPrimitive])return eS.from(eb[Symbol.toPrimitive]("string"),em,eH);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof eb)}function eA(eb){if("number"!=typeof eb)throw TypeError('"size" argument must be of type number');if(eb<0)throw RangeError('The value "'+eb+'" is invalid for option "size"')}function eN(eb,em,eH){return(eA(eb),eb<=0)?e_(eb):void 0!==em?"string"==typeof eH?e_(eb).fill(em,eH):e_(eb).fill(em):e_(eb)}function eI(eb){return eA(eb),e_(eb<0?0:0|eF(eb))}function eD(eb,em){if(("string"!=typeof em||""===em)&&(em="utf8"),!eS.isEncoding(em))throw TypeError("Unknown encoding: "+em);let eH=0|eU(eb,em),eV=e_(eH),ew=eV.write(eb,em);return ew!==eH&&(eV=eV.slice(0,ew)),eV}function eP(eb){let em=eb.length<0?0:0|eF(eb.length),eH=e_(em);for(let eV=0;eV=eC)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+eC.toString(16)+" bytes");return 0|eb}function ej(eb){return+eb!=eb&&(eb=0),eS.alloc(+eb)}function eU(eb,em){if(eS.isBuffer(eb))return eb.length;if(ArrayBuffer.isView(eb)||tW(eb,ArrayBuffer))return eb.byteLength;if("string"!=typeof eb)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof eb);let eH=eb.length,eV=arguments.length>2&&!0===arguments[2];if(!eV&&0===eH)return 0;let ew=!1;for(;;)switch(em){case"ascii":case"latin1":case"binary":return eH;case"utf8":case"utf-8":return tF(eb).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*eH;case"hex":return eH>>>1;case"base64":return tq(eb).length;default:if(ew)return eV?-1:tF(eb).length;em=(""+em).toLowerCase(),ew=!0}}function e$(eb,em,eH){let eV=!1;if((void 0===em||em<0)&&(em=0),em>this.length||((void 0===eH||eH>this.length)&&(eH=this.length),eH<=0||(eH>>>=0)<=(em>>>=0)))return"";for(eb||(eb="utf8");;)switch(eb){case"hex":return e9(this,em,eH);case"utf8":case"utf-8":return e6(this,em,eH);case"ascii":return e5(this,em,eH);case"latin1":case"binary":return e8(this,em,eH);case"base64":return e0(this,em,eH);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return e7(this,em,eH);default:if(eV)throw TypeError("Unknown encoding: "+eb);eb=(eb+"").toLowerCase(),eV=!0}}function eW(eb,em,eH){let eV=eb[em];eb[em]=eb[eH],eb[eH]=eV}function eZ(eb,em,eH,eV,ew){if(0===eb.length)return -1;if("string"==typeof eH?(eV=eH,eH=0):eH>2147483647?eH=2147483647:eH<-2147483648&&(eH=-2147483648),tZ(eH=+eH)&&(eH=ew?0:eb.length-1),eH<0&&(eH=eb.length+eH),eH>=eb.length){if(ew)return -1;eH=eb.length-1}else if(eH<0){if(!ew)return -1;eH=0}if("string"==typeof em&&(em=eS.from(em,eV)),eS.isBuffer(em))return 0===em.length?-1:eG(eb,em,eH,eV,ew);if("number"==typeof em)return(em&=255,"function"==typeof Uint8Array.prototype.indexOf)?ew?Uint8Array.prototype.indexOf.call(eb,em,eH):Uint8Array.prototype.lastIndexOf.call(eb,em,eH):eG(eb,[em],eH,eV,ew);throw TypeError("val must be string, number or Buffer")}function eG(eb,em,eH,eV,ew){let eM,eC=1,eT=eb.length,e_=em.length;if(void 0!==eV&&("ucs2"===(eV=String(eV).toLowerCase())||"ucs-2"===eV||"utf16le"===eV||"utf-16le"===eV)){if(eb.length<2||em.length<2)return -1;eC=2,eT/=2,e_/=2,eH/=2}function eS(eb,em){return 1===eC?eb[em]:eb.readUInt16BE(em*eC)}if(ew){let eV=-1;for(eM=eH;eMeT&&(eH=eT-e_),eM=eH;eM>=0;eM--){let eH=!0;for(let eV=0;eVeM&&(eV=eM):eV=eM;let eC=em.length;for(eV>eC/2&&(eV=eC/2),ew=0;ew239?4:em>223?3:em>191?2:1;if(ew+eC<=eH){let eH,eV,eT,e_;switch(eC){case 1:em<128&&(eM=em);break;case 2:(192&(eH=eb[ew+1]))==128&&(e_=(31&em)<<6|63&eH)>127&&(eM=e_);break;case 3:eH=eb[ew+1],eV=eb[ew+2],(192&eH)==128&&(192&eV)==128&&(e_=(15&em)<<12|(63&eH)<<6|63&eV)>2047&&(e_<55296||e_>57343)&&(eM=e_);break;case 4:eH=eb[ew+1],eV=eb[ew+2],eT=eb[ew+3],(192&eH)==128&&(192&eV)==128&&(192&eT)==128&&(e_=(15&em)<<18|(63&eH)<<12|(63&eV)<<6|63&eT)>65535&&e_<1114112&&(eM=e_)}}null===eM?(eM=65533,eC=1):eM>65535&&(eM-=65536,eV.push(eM>>>10&1023|55296),eM=56320|1023&eM),eV.push(eM),ew+=eC}return e3(eV)}em.kMaxLength=eC,eS.TYPED_ARRAY_SUPPORT=eT(),eS.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||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."),Object.defineProperty(eS.prototype,"parent",{enumerable:!0,get:function(){if(eS.isBuffer(this))return this.buffer}}),Object.defineProperty(eS.prototype,"offset",{enumerable:!0,get:function(){if(eS.isBuffer(this))return this.byteOffset}}),eS.poolSize=8192,eS.from=function(eb,em,eH){return eE(eb,em,eH)},Object.setPrototypeOf(eS.prototype,Uint8Array.prototype),Object.setPrototypeOf(eS,Uint8Array),eS.alloc=function(eb,em,eH){return eN(eb,em,eH)},eS.allocUnsafe=function(eb){return eI(eb)},eS.allocUnsafeSlow=function(eb){return eI(eb)},eS.isBuffer=function(eb){return null!=eb&&!0===eb._isBuffer&&eb!==eS.prototype},eS.compare=function(eb,em){if(tW(eb,Uint8Array)&&(eb=eS.from(eb,eb.offset,eb.byteLength)),tW(em,Uint8Array)&&(em=eS.from(em,em.offset,em.byteLength)),!eS.isBuffer(eb)||!eS.isBuffer(em))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(eb===em)return 0;let eH=eb.length,eV=em.length;for(let ew=0,eM=Math.min(eH,eV);eweV.length?(eS.isBuffer(em)||(em=eS.from(em)),em.copy(eV,ew)):Uint8Array.prototype.set.call(eV,em,ew);else if(eS.isBuffer(em))em.copy(eV,ew);else throw TypeError('"list" argument must be an Array of Buffers');ew+=em.length}return eV},eS.byteLength=eU,eS.prototype._isBuffer=!0,eS.prototype.swap16=function(){let eb=this.length;if(eb%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(let em=0;emeH&&(eb+=" ... "),""},eM&&(eS.prototype[eM]=eS.prototype.inspect),eS.prototype.compare=function(eb,em,eH,eV,ew){if(tW(eb,Uint8Array)&&(eb=eS.from(eb,eb.offset,eb.byteLength)),!eS.isBuffer(eb))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof eb);if(void 0===em&&(em=0),void 0===eH&&(eH=eb?eb.length:0),void 0===eV&&(eV=0),void 0===ew&&(ew=this.length),em<0||eH>eb.length||eV<0||ew>this.length)throw RangeError("out of range index");if(eV>=ew&&em>=eH)return 0;if(eV>=ew)return -1;if(em>=eH)return 1;if(em>>>=0,eH>>>=0,eV>>>=0,ew>>>=0,this===eb)return 0;let eM=ew-eV,eC=eH-em,eT=Math.min(eM,eC),e_=this.slice(eV,ew),eE=eb.slice(em,eH);for(let eb=0;eb>>=0,isFinite(eH)?(eH>>>=0,void 0===eV&&(eV="utf8")):(eV=eH,eH=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let ew=this.length-em;if((void 0===eH||eH>ew)&&(eH=ew),eb.length>0&&(eH<0||em<0)||em>this.length)throw RangeError("Attempt to write outside buffer bounds");eV||(eV="utf8");let eM=!1;for(;;)switch(eV){case"hex":return eK(this,eb,em,eH);case"utf8":case"utf-8":return eY(this,eb,em,eH);case"ascii":case"latin1":case"binary":return eX(this,eb,em,eH);case"base64":return eJ(this,eb,em,eH);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return eQ(this,eb,em,eH);default:if(eM)throw TypeError("Unknown encoding: "+eV);eV=(""+eV).toLowerCase(),eM=!0}},eS.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};let e4=4096;function e3(eb){let em=eb.length;if(em<=e4)return String.fromCharCode.apply(String,eb);let eH="",eV=0;for(;eVeV)&&(eH=eV);let ew="";for(let eV=em;eVeH)throw RangeError("Trying to access beyond buffer length")}function tV(eb,em,eH,eV,ew,eM){if(!eS.isBuffer(eb))throw TypeError('"buffer" argument must be a Buffer instance');if(em>ew||emeb.length)throw RangeError("Index out of range")}function tw(eb,em,eH,eV,ew){tD(em,eV,ew,eb,eH,7);let eM=Number(em&BigInt(4294967295));eb[eH++]=eM,eM>>=8,eb[eH++]=eM,eM>>=8,eb[eH++]=eM,eM>>=8,eb[eH++]=eM;let eC=Number(em>>BigInt(32)&BigInt(4294967295));return eb[eH++]=eC,eC>>=8,eb[eH++]=eC,eC>>=8,eb[eH++]=eC,eC>>=8,eb[eH++]=eC,eH}function tC(eb,em,eH,eV,ew){tD(em,eV,ew,eb,eH,7);let eM=Number(em&BigInt(4294967295));eb[eH+7]=eM,eM>>=8,eb[eH+6]=eM,eM>>=8,eb[eH+5]=eM,eM>>=8,eb[eH+4]=eM;let eC=Number(em>>BigInt(32)&BigInt(4294967295));return eb[eH+3]=eC,eC>>=8,eb[eH+2]=eC,eC>>=8,eb[eH+1]=eC,eC>>=8,eb[eH]=eC,eH+8}function tT(eb,em,eH,eV,ew,eM){if(eH+eV>eb.length||eH<0)throw RangeError("Index out of range")}function t_(eb,em,eH,eV,eM){return em=+em,eH>>>=0,eM||tT(eb,em,eH,4,34028234663852886e22,-34028234663852886e22),ew.write(eb,em,eH,eV,23,4),eH+4}function tS(eb,em,eH,eV,eM){return em=+em,eH>>>=0,eM||tT(eb,em,eH,8,17976931348623157e292,-17976931348623157e292),ew.write(eb,em,eH,eV,52,8),eH+8}eS.prototype.slice=function(eb,em){let eH=this.length;eb=~~eb,em=void 0===em?eH:~~em,eb<0?(eb+=eH)<0&&(eb=0):eb>eH&&(eb=eH),em<0?(em+=eH)<0&&(em=0):em>eH&&(em=eH),em>>=0,em>>>=0,eH||tH(eb,em,this.length);let eV=this[eb],ew=1,eM=0;for(;++eM>>=0,em>>>=0,eH||tH(eb,em,this.length);let eV=this[eb+--em],ew=1;for(;em>0&&(ew*=256);)eV+=this[eb+--em]*ew;return eV},eS.prototype.readUint8=eS.prototype.readUInt8=function(eb,em){return eb>>>=0,em||tH(eb,1,this.length),this[eb]},eS.prototype.readUint16LE=eS.prototype.readUInt16LE=function(eb,em){return eb>>>=0,em||tH(eb,2,this.length),this[eb]|this[eb+1]<<8},eS.prototype.readUint16BE=eS.prototype.readUInt16BE=function(eb,em){return eb>>>=0,em||tH(eb,2,this.length),this[eb]<<8|this[eb+1]},eS.prototype.readUint32LE=eS.prototype.readUInt32LE=function(eb,em){return eb>>>=0,em||tH(eb,4,this.length),(this[eb]|this[eb+1]<<8|this[eb+2]<<16)+16777216*this[eb+3]},eS.prototype.readUint32BE=eS.prototype.readUInt32BE=function(eb,em){return eb>>>=0,em||tH(eb,4,this.length),16777216*this[eb]+(this[eb+1]<<16|this[eb+2]<<8|this[eb+3])},eS.prototype.readBigUInt64LE=tK(function(eb){tP(eb>>>=0,"offset");let em=this[eb],eH=this[eb+7];(void 0===em||void 0===eH)&&tO(eb,this.length-8);let eV=em+256*this[++eb]+65536*this[++eb]+16777216*this[++eb],ew=this[++eb]+256*this[++eb]+65536*this[++eb]+16777216*eH;return BigInt(eV)+(BigInt(ew)<>>=0,"offset");let em=this[eb],eH=this[eb+7];(void 0===em||void 0===eH)&&tO(eb,this.length-8);let eV=16777216*em+65536*this[++eb]+256*this[++eb]+this[++eb],ew=16777216*this[++eb]+65536*this[++eb]+256*this[++eb]+eH;return(BigInt(eV)<>>=0,em>>>=0,eH||tH(eb,em,this.length);let eV=this[eb],ew=1,eM=0;for(;++eM=(ew*=128)&&(eV-=Math.pow(2,8*em)),eV},eS.prototype.readIntBE=function(eb,em,eH){eb>>>=0,em>>>=0,eH||tH(eb,em,this.length);let eV=em,ew=1,eM=this[eb+--eV];for(;eV>0&&(ew*=256);)eM+=this[eb+--eV]*ew;return eM>=(ew*=128)&&(eM-=Math.pow(2,8*em)),eM},eS.prototype.readInt8=function(eb,em){return(eb>>>=0,em||tH(eb,1,this.length),128&this[eb])?-((255-this[eb]+1)*1):this[eb]},eS.prototype.readInt16LE=function(eb,em){eb>>>=0,em||tH(eb,2,this.length);let eH=this[eb]|this[eb+1]<<8;return 32768&eH?4294901760|eH:eH},eS.prototype.readInt16BE=function(eb,em){eb>>>=0,em||tH(eb,2,this.length);let eH=this[eb+1]|this[eb]<<8;return 32768&eH?4294901760|eH:eH},eS.prototype.readInt32LE=function(eb,em){return eb>>>=0,em||tH(eb,4,this.length),this[eb]|this[eb+1]<<8|this[eb+2]<<16|this[eb+3]<<24},eS.prototype.readInt32BE=function(eb,em){return eb>>>=0,em||tH(eb,4,this.length),this[eb]<<24|this[eb+1]<<16|this[eb+2]<<8|this[eb+3]},eS.prototype.readBigInt64LE=tK(function(eb){tP(eb>>>=0,"offset");let em=this[eb],eH=this[eb+7];(void 0===em||void 0===eH)&&tO(eb,this.length-8);let eV=this[eb+4]+256*this[eb+5]+65536*this[eb+6]+(eH<<24);return(BigInt(eV)<>>=0,"offset");let em=this[eb],eH=this[eb+7];(void 0===em||void 0===eH)&&tO(eb,this.length-8);let eV=(em<<24)+65536*this[++eb]+256*this[++eb]+this[++eb];return(BigInt(eV)<>>=0,em||tH(eb,4,this.length),ew.read(this,eb,!0,23,4)},eS.prototype.readFloatBE=function(eb,em){return eb>>>=0,em||tH(eb,4,this.length),ew.read(this,eb,!1,23,4)},eS.prototype.readDoubleLE=function(eb,em){return eb>>>=0,em||tH(eb,8,this.length),ew.read(this,eb,!0,52,8)},eS.prototype.readDoubleBE=function(eb,em){return eb>>>=0,em||tH(eb,8,this.length),ew.read(this,eb,!1,52,8)},eS.prototype.writeUintLE=eS.prototype.writeUIntLE=function(eb,em,eH,eV){if(eb=+eb,em>>>=0,eH>>>=0,!eV){let eV=Math.pow(2,8*eH)-1;tV(this,eb,em,eH,eV,0)}let ew=1,eM=0;for(this[em]=255&eb;++eM>>=0,eH>>>=0,!eV){let eV=Math.pow(2,8*eH)-1;tV(this,eb,em,eH,eV,0)}let ew=eH-1,eM=1;for(this[em+ew]=255&eb;--ew>=0&&(eM*=256);)this[em+ew]=eb/eM&255;return em+eH},eS.prototype.writeUint8=eS.prototype.writeUInt8=function(eb,em,eH){return eb=+eb,em>>>=0,eH||tV(this,eb,em,1,255,0),this[em]=255&eb,em+1},eS.prototype.writeUint16LE=eS.prototype.writeUInt16LE=function(eb,em,eH){return eb=+eb,em>>>=0,eH||tV(this,eb,em,2,65535,0),this[em]=255&eb,this[em+1]=eb>>>8,em+2},eS.prototype.writeUint16BE=eS.prototype.writeUInt16BE=function(eb,em,eH){return eb=+eb,em>>>=0,eH||tV(this,eb,em,2,65535,0),this[em]=eb>>>8,this[em+1]=255&eb,em+2},eS.prototype.writeUint32LE=eS.prototype.writeUInt32LE=function(eb,em,eH){return eb=+eb,em>>>=0,eH||tV(this,eb,em,4,4294967295,0),this[em+3]=eb>>>24,this[em+2]=eb>>>16,this[em+1]=eb>>>8,this[em]=255&eb,em+4},eS.prototype.writeUint32BE=eS.prototype.writeUInt32BE=function(eb,em,eH){return eb=+eb,em>>>=0,eH||tV(this,eb,em,4,4294967295,0),this[em]=eb>>>24,this[em+1]=eb>>>16,this[em+2]=eb>>>8,this[em+3]=255&eb,em+4},eS.prototype.writeBigUInt64LE=tK(function(eb,em=0){return tw(this,eb,em,BigInt(0),BigInt("0xffffffffffffffff"))}),eS.prototype.writeBigUInt64BE=tK(function(eb,em=0){return tC(this,eb,em,BigInt(0),BigInt("0xffffffffffffffff"))}),eS.prototype.writeIntLE=function(eb,em,eH,eV){if(eb=+eb,em>>>=0,!eV){let eV=Math.pow(2,8*eH-1);tV(this,eb,em,eH,eV-1,-eV)}let ew=0,eM=1,eC=0;for(this[em]=255&eb;++ew>0)-eC&255;return em+eH},eS.prototype.writeIntBE=function(eb,em,eH,eV){if(eb=+eb,em>>>=0,!eV){let eV=Math.pow(2,8*eH-1);tV(this,eb,em,eH,eV-1,-eV)}let ew=eH-1,eM=1,eC=0;for(this[em+ew]=255&eb;--ew>=0&&(eM*=256);)eb<0&&0===eC&&0!==this[em+ew+1]&&(eC=1),this[em+ew]=(eb/eM>>0)-eC&255;return em+eH},eS.prototype.writeInt8=function(eb,em,eH){return eb=+eb,em>>>=0,eH||tV(this,eb,em,1,127,-128),eb<0&&(eb=255+eb+1),this[em]=255&eb,em+1},eS.prototype.writeInt16LE=function(eb,em,eH){return eb=+eb,em>>>=0,eH||tV(this,eb,em,2,32767,-32768),this[em]=255&eb,this[em+1]=eb>>>8,em+2},eS.prototype.writeInt16BE=function(eb,em,eH){return eb=+eb,em>>>=0,eH||tV(this,eb,em,2,32767,-32768),this[em]=eb>>>8,this[em+1]=255&eb,em+2},eS.prototype.writeInt32LE=function(eb,em,eH){return eb=+eb,em>>>=0,eH||tV(this,eb,em,4,2147483647,-2147483648),this[em]=255&eb,this[em+1]=eb>>>8,this[em+2]=eb>>>16,this[em+3]=eb>>>24,em+4},eS.prototype.writeInt32BE=function(eb,em,eH){return eb=+eb,em>>>=0,eH||tV(this,eb,em,4,2147483647,-2147483648),eb<0&&(eb=4294967295+eb+1),this[em]=eb>>>24,this[em+1]=eb>>>16,this[em+2]=eb>>>8,this[em+3]=255&eb,em+4},eS.prototype.writeBigInt64LE=tK(function(eb,em=0){return tw(this,eb,em,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),eS.prototype.writeBigInt64BE=tK(function(eb,em=0){return tC(this,eb,em,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),eS.prototype.writeFloatLE=function(eb,em,eH){return t_(this,eb,em,!0,eH)},eS.prototype.writeFloatBE=function(eb,em,eH){return t_(this,eb,em,!1,eH)},eS.prototype.writeDoubleLE=function(eb,em,eH){return tS(this,eb,em,!0,eH)},eS.prototype.writeDoubleBE=function(eb,em,eH){return tS(this,eb,em,!1,eH)},eS.prototype.copy=function(eb,em,eH,eV){if(!eS.isBuffer(eb))throw TypeError("argument should be a Buffer");if(eH||(eH=0),eV||0===eV||(eV=this.length),em>=eb.length&&(em=eb.length),em||(em=0),eV>0&&eV=this.length)throw RangeError("Index out of range");if(eV<0)throw RangeError("sourceEnd out of bounds");eV>this.length&&(eV=this.length),eb.length-em>>=0,eH=void 0===eH?this.length:eH>>>0,eb||(eb=0),"number"==typeof eb)for(ew=em;ew=eV+4;eH-=3)em=`_${eb.slice(eH-3,eH)}${em}`;return`${eb.slice(0,eH)}${em}`}function tI(eb,em,eH){tP(em,"offset"),(void 0===eb[em]||void 0===eb[em+eH])&&tO(em,eb.length-(eH+1))}function tD(eb,em,eH,eV,ew,eM){if(eb>eH||eb3?0===em||em===BigInt(0)?`>= 0${ew} and < 2${ew} ** ${(eM+1)*8}${ew}`:`>= -(2${ew} ** ${(eM+1)*8-1}${ew}) and < 2 ** ${(eM+1)*8-1}${ew}`:`>= ${em}${ew} and <= ${eH}${ew}`,new tE.ERR_OUT_OF_RANGE("value",eV,eb)}tI(eV,ew,eM)}function tP(eb,em){if("number"!=typeof eb)throw new tE.ERR_INVALID_ARG_TYPE(em,"number",eb)}function tO(eb,em,eH){if(Math.floor(eb)!==eb)throw tP(eb,eH),new tE.ERR_OUT_OF_RANGE(eH||"offset","an integer",eb);if(em<0)throw new tE.ERR_BUFFER_OUT_OF_BOUNDS;throw new tE.ERR_OUT_OF_RANGE(eH||"offset",`>= ${eH?1:0} and <= ${em}`,eb)}tA("ERR_BUFFER_OUT_OF_BOUNDS",function(eb){return eb?`${eb} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),tA("ERR_INVALID_ARG_TYPE",function(eb,em){return`The "${eb}" argument must be of type number. Received type ${typeof em}`},TypeError),tA("ERR_OUT_OF_RANGE",function(eb,em,eH){let eV=`The value of "${eb}" is out of range.`,ew=eH;return Number.isInteger(eH)&&Math.abs(eH)>4294967296?ew=tN(String(eH)):"bigint"==typeof eH&&(ew=String(eH),(eH>BigInt(2)**BigInt(32)||eH<-(BigInt(2)**BigInt(32)))&&(ew=tN(ew)),ew+="n"),eV+=` It must be ${em}. Received ${ew}`},RangeError);let tR=/[^+/0-9A-Za-z-_]/g;function tB(eb){if((eb=(eb=eb.split("=")[0]).trim().replace(tR,"")).length<2)return"";for(;eb.length%4!=0;)eb+="=";return eb}function tF(eb,em){let eH;em=em||1/0;let eV=eb.length,ew=null,eM=[];for(let eC=0;eC55295&&eH<57344){if(!ew){if(eH>56319||eC+1===eV){(em-=3)>-1&&eM.push(239,191,189);continue}ew=eH;continue}if(eH<56320){(em-=3)>-1&&eM.push(239,191,189),ew=eH;continue}eH=(ew-55296<<10|eH-56320)+65536}else ew&&(em-=3)>-1&&eM.push(239,191,189);if(ew=null,eH<128){if((em-=1)<0)break;eM.push(eH)}else if(eH<2048){if((em-=2)<0)break;eM.push(eH>>6|192,63&eH|128)}else if(eH<65536){if((em-=3)<0)break;eM.push(eH>>12|224,eH>>6&63|128,63&eH|128)}else if(eH<1114112){if((em-=4)<0)break;eM.push(eH>>18|240,eH>>12&63|128,eH>>6&63|128,63&eH|128)}else throw Error("Invalid code point")}return eM}function tj(eb){let em=[];for(let eH=0;eH>8,ew.push(eH%256),ew.push(eV);return ew}function tq(eb){return eV.toByteArray(tB(eb))}function t$(eb,em,eH,eV){let ew;for(ew=0;ew=em.length)&&!(ew>=eb.length);++ew)em[ew+eH]=eb[ew];return ew}function tW(eb,em){return eb instanceof em||null!=eb&&null!=eb.constructor&&null!=eb.constructor.name&&eb.constructor.name===em.name}function tZ(eb){return eb!=eb}let tG=function(){let eb="0123456789abcdef",em=Array(256);for(let eH=0;eH<16;++eH){let eV=16*eH;for(let ew=0;ew<16;++ew)em[eV+ew]=eb[eH]+eb[ew]}return em}();function tK(eb){return"undefined"==typeof BigInt?tY:eb}function tY(){throw Error("BigInt not supported")}},39376:function(eb){"use strict";let em=(eb,em,eH,eV,ew)=>{for(var eM=0;eM{let eH=eb.length;for(var eV=0;eV-1?ew(eH):eH}},55559:function(eb,em,eH){"use strict";var eV=eH(58612),ew=eH(40210),eM=eH(67771),eC=eH(14453),eT=ew("%Function.prototype.apply%"),e_=ew("%Function.prototype.call%"),eS=ew("%Reflect.apply%",!0)||eV.call(e_,eT),eE=eH(24429),eA=ew("%Math.max%");eb.exports=function(eb){if("function"!=typeof eb)throw new eC("a function is required");var em=eS(eV,e_,arguments);return eM(em,1+eA(0,eb.length-(arguments.length-1)),!0)};var eN=function(){return eS(eV,eT,arguments)};eE?eE(eb.exports,"apply",{value:eN}):eb.exports.apply=eN},71027:function(eb,em,eH){var eV=eH(89509).Buffer,ew=eH(79681).Transform,eM=eH(32553).StringDecoder;function eC(eb){ew.call(this),this.hashMode="string"==typeof eb,this.hashMode?this[eb]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}eH(35717)(eC,ew),eC.prototype.update=function(eb,em,eH){"string"==typeof eb&&(eb=eV.from(eb,em));var ew=this._update(eb);return this.hashMode?this:(eH&&(ew=this._toString(ew,eH)),ew)},eC.prototype.setAutoPadding=function(){},eC.prototype.getAuthTag=function(){throw Error("trying to get auth tag in unsupported state")},eC.prototype.setAuthTag=function(){throw Error("trying to set auth tag in unsupported state")},eC.prototype.setAAD=function(){throw Error("trying to set aad in unsupported state")},eC.prototype._transform=function(eb,em,eH){var eV;try{this.hashMode?this._update(eb):this.push(this._update(eb))}catch(eb){eV=eb}finally{eH(eV)}},eC.prototype._flush=function(eb){var em;try{this.push(this.__final())}catch(eb){em=eb}eb(em)},eC.prototype._finalOrDigest=function(eb){var em=this.__final()||eV.alloc(0);return eb&&(em=this._toString(em,eb,!0)),em},eC.prototype._toString=function(eb,em,eH){if(this._decoder||(this._decoder=new eM(em),this._encoding=em),this._encoding!==em)throw Error("can't switch encodings");var eV=this._decoder.write(eb);return eH&&(eV+=this._decoder.end()),eV},eb.exports=eC},86010:function(eb,em,eH){"use strict";function eV(eb){var em,eH,ew="";if("string"==typeof eb||"number"==typeof eb)ew+=eb;else if("object"==typeof eb){if(Array.isArray(eb))for(em=0;em-1};function eC(eb){if("string"!=typeof eb&&(eb=String(eb)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(eb))throw TypeError("Invalid character in header field name");return eb.toLowerCase()}function eT(eb){return"string"!=typeof eb&&(eb=String(eb)),eb}function e_(eb){var em={next:function(){var em=eb.shift();return{done:void 0===em,value:em}}};return eH.iterable&&(em[Symbol.iterator]=function(){return em}),em}function eS(eb){this.map={},eb instanceof eS?eb.forEach(function(eb,em){this.append(em,eb)},this):Array.isArray(eb)?eb.forEach(function(eb){this.append(eb[0],eb[1])},this):eb&&Object.getOwnPropertyNames(eb).forEach(function(em){this.append(em,eb[em])},this)}function eE(eb){if(eb.bodyUsed)return Promise.reject(TypeError("Already read"));eb.bodyUsed=!0}function eA(eb){return new Promise(function(em,eH){eb.onload=function(){em(eb.result)},eb.onerror=function(){eH(eb.error)}})}function eN(eb){var em=new FileReader,eH=eA(em);return em.readAsArrayBuffer(eb),eH}function eI(eb){var em=new FileReader,eH=eA(em);return em.readAsText(eb),eH}function eD(eb){for(var em=new Uint8Array(eb),eH=Array(em.length),eV=0;eV-1?em:eb}function eF(eb,em){var eH=(em=em||{}).body;if(eb instanceof eF){if(eb.bodyUsed)throw TypeError("Already read");this.url=eb.url,this.credentials=eb.credentials,em.headers||(this.headers=new eS(eb.headers)),this.method=eb.method,this.mode=eb.mode,this.signal=eb.signal,eH||null==eb._bodyInit||(eH=eb._bodyInit,eb.bodyUsed=!0)}else this.url=String(eb);if(this.credentials=em.credentials||this.credentials||"same-origin",(em.headers||!this.headers)&&(this.headers=new eS(em.headers)),this.method=eB(em.method||this.method||"GET"),this.mode=em.mode||this.mode||null,this.signal=em.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&eH)throw TypeError("Body not allowed for GET or HEAD requests");this._initBody(eH)}function ej(eb){var em=new FormData;return eb.trim().split("&").forEach(function(eb){if(eb){var eH=eb.split("="),eV=eH.shift().replace(/\+/g," "),ew=eH.join("=").replace(/\+/g," ");em.append(decodeURIComponent(eV),decodeURIComponent(ew))}}),em}function eU(eb){var em=new eS;return eb.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(eb){var eH=eb.split(":"),eV=eH.shift().trim();if(eV){var ew=eH.join(":").trim();em.append(eV,ew)}}),em}function e$(eb,em){em||(em={}),this.type="default",this.status=void 0===em.status?200:em.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in em?em.statusText:"OK",this.headers=new eS(em.headers),this.url=em.url||"",this._initBody(eb)}eF.prototype.clone=function(){return new eF(this,{body:this._bodyInit})},eO.call(eF.prototype),eO.call(e$.prototype),e$.prototype.clone=function(){return new e$(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new eS(this.headers),url:this.url})},e$.error=function(){var eb=new e$(null,{status:0,statusText:""});return eb.type="error",eb};var eW=[301,302,303,307,308];e$.redirect=function(eb,em){if(-1===eW.indexOf(em))throw RangeError("Invalid status code");return new e$(null,{status:em,headers:{location:eb}})},em.DOMException=eb.DOMException;try{new em.DOMException}catch(eb){em.DOMException=function(eb,em){this.message=eb,this.name=em;var eH=Error(eb);this.stack=eH.stack},em.DOMException.prototype=Object.create(Error.prototype),em.DOMException.prototype.constructor=em.DOMException}function eZ(eb,eV){return new Promise(function(ew,eM){var eC=new eF(eb,eV);if(eC.signal&&eC.signal.aborted)return eM(new em.DOMException("Aborted","AbortError"));var eT=new XMLHttpRequest;function e_(){eT.abort()}eT.onload=function(){var eb={status:eT.status,statusText:eT.statusText,headers:eU(eT.getAllResponseHeaders()||"")};eb.url="responseURL"in eT?eT.responseURL:eb.headers.get("X-Request-URL");var em="response"in eT?eT.response:eT.responseText;ew(new e$(em,eb))},eT.onerror=function(){eM(TypeError("Network request failed"))},eT.ontimeout=function(){eM(TypeError("Network request failed"))},eT.onabort=function(){eM(new em.DOMException("Aborted","AbortError"))},eT.open(eC.method,eC.url,!0),"include"===eC.credentials?eT.withCredentials=!0:"omit"===eC.credentials&&(eT.withCredentials=!1),"responseType"in eT&&eH.blob&&(eT.responseType="blob"),eC.headers.forEach(function(eb,em){eT.setRequestHeader(em,eb)}),eC.signal&&(eC.signal.addEventListener("abort",e_),eT.onreadystatechange=function(){4===eT.readyState&&eC.signal.removeEventListener("abort",e_)}),eT.send(void 0===eC._bodyInit?null:eC._bodyInit)})}eZ.polyfill=!0,eb.fetch||(eb.fetch=eZ,eb.Headers=eS,eb.Request=eF,eb.Response=e$),em.Headers=eS,em.Request=eF,em.Response=e$,em.fetch=eZ,Object.defineProperty(em,"__esModule",{value:!0})}({})}(eV),eV.fetch.ponyfill=!0,delete eV.fetch.polyfill;var ew=eV;(em=ew.fetch).default=ew.fetch,em.fetch=ew.fetch,em.Headers=ew.Headers,em.Request=ew.Request,em.Response=ew.Response,eb.exports=em},32667:function(eb,em,eH){var eV=eH(9950),ew=eH(25419);function eM(eb){return null==eb}function eC(eb){var em={};for(var eH in eb)em[eH]=eb[eH];return em}function eT(eb){(eb=eC(eb||{})).whiteList=eb.whiteList||eV.whiteList,eb.onAttr=eb.onAttr||eV.onAttr,eb.onIgnoreAttr=eb.onIgnoreAttr||eV.onIgnoreAttr,eb.safeAttrValue=eb.safeAttrValue||eV.safeAttrValue,this.options=eb}eH(17381),eT.prototype.process=function(eb){if(!(eb=(eb=eb||"").toString()))return"";var em=this,eH=em.options,eV=eH.whiteList,eC=eH.onAttr,eT=eH.onIgnoreAttr,e_=eH.safeAttrValue;return ew(eb,function(eb,em,eH,ew,eS){var eE=eV[eH],eA=!1;if(!0===eE?eA=eE:"function"==typeof eE?eA=eE(ew):eE instanceof RegExp&&(eA=eE.test(ew)),!0!==eA&&(eA=!1),ew=e_(eH,ew)){var eN={position:em,sourcePosition:eb,source:eS,isWhite:eA};if(eA){var eI=eC(eH,ew,eN);return eM(eI)?eH+":"+ew:eI}var eI=eT(eH,ew,eN);if(!eM(eI))return eI}})},eb.exports=eT},9950:function(eb,em){function eH(){var eb={};return eb["align-content"]=!1,eb["align-items"]=!1,eb["align-self"]=!1,eb["alignment-adjust"]=!1,eb["alignment-baseline"]=!1,eb.all=!1,eb["anchor-point"]=!1,eb.animation=!1,eb["animation-delay"]=!1,eb["animation-direction"]=!1,eb["animation-duration"]=!1,eb["animation-fill-mode"]=!1,eb["animation-iteration-count"]=!1,eb["animation-name"]=!1,eb["animation-play-state"]=!1,eb["animation-timing-function"]=!1,eb.azimuth=!1,eb["backface-visibility"]=!1,eb.background=!0,eb["background-attachment"]=!0,eb["background-clip"]=!0,eb["background-color"]=!0,eb["background-image"]=!0,eb["background-origin"]=!0,eb["background-position"]=!0,eb["background-repeat"]=!0,eb["background-size"]=!0,eb["baseline-shift"]=!1,eb.binding=!1,eb.bleed=!1,eb["bookmark-label"]=!1,eb["bookmark-level"]=!1,eb["bookmark-state"]=!1,eb.border=!0,eb["border-bottom"]=!0,eb["border-bottom-color"]=!0,eb["border-bottom-left-radius"]=!0,eb["border-bottom-right-radius"]=!0,eb["border-bottom-style"]=!0,eb["border-bottom-width"]=!0,eb["border-collapse"]=!0,eb["border-color"]=!0,eb["border-image"]=!0,eb["border-image-outset"]=!0,eb["border-image-repeat"]=!0,eb["border-image-slice"]=!0,eb["border-image-source"]=!0,eb["border-image-width"]=!0,eb["border-left"]=!0,eb["border-left-color"]=!0,eb["border-left-style"]=!0,eb["border-left-width"]=!0,eb["border-radius"]=!0,eb["border-right"]=!0,eb["border-right-color"]=!0,eb["border-right-style"]=!0,eb["border-right-width"]=!0,eb["border-spacing"]=!0,eb["border-style"]=!0,eb["border-top"]=!0,eb["border-top-color"]=!0,eb["border-top-left-radius"]=!0,eb["border-top-right-radius"]=!0,eb["border-top-style"]=!0,eb["border-top-width"]=!0,eb["border-width"]=!0,eb.bottom=!1,eb["box-decoration-break"]=!0,eb["box-shadow"]=!0,eb["box-sizing"]=!0,eb["box-snap"]=!0,eb["box-suppress"]=!0,eb["break-after"]=!0,eb["break-before"]=!0,eb["break-inside"]=!0,eb["caption-side"]=!1,eb.chains=!1,eb.clear=!0,eb.clip=!1,eb["clip-path"]=!1,eb["clip-rule"]=!1,eb.color=!0,eb["color-interpolation-filters"]=!0,eb["column-count"]=!1,eb["column-fill"]=!1,eb["column-gap"]=!1,eb["column-rule"]=!1,eb["column-rule-color"]=!1,eb["column-rule-style"]=!1,eb["column-rule-width"]=!1,eb["column-span"]=!1,eb["column-width"]=!1,eb.columns=!1,eb.contain=!1,eb.content=!1,eb["counter-increment"]=!1,eb["counter-reset"]=!1,eb["counter-set"]=!1,eb.crop=!1,eb.cue=!1,eb["cue-after"]=!1,eb["cue-before"]=!1,eb.cursor=!1,eb.direction=!1,eb.display=!0,eb["display-inside"]=!0,eb["display-list"]=!0,eb["display-outside"]=!0,eb["dominant-baseline"]=!1,eb.elevation=!1,eb["empty-cells"]=!1,eb.filter=!1,eb.flex=!1,eb["flex-basis"]=!1,eb["flex-direction"]=!1,eb["flex-flow"]=!1,eb["flex-grow"]=!1,eb["flex-shrink"]=!1,eb["flex-wrap"]=!1,eb.float=!1,eb["float-offset"]=!1,eb["flood-color"]=!1,eb["flood-opacity"]=!1,eb["flow-from"]=!1,eb["flow-into"]=!1,eb.font=!0,eb["font-family"]=!0,eb["font-feature-settings"]=!0,eb["font-kerning"]=!0,eb["font-language-override"]=!0,eb["font-size"]=!0,eb["font-size-adjust"]=!0,eb["font-stretch"]=!0,eb["font-style"]=!0,eb["font-synthesis"]=!0,eb["font-variant"]=!0,eb["font-variant-alternates"]=!0,eb["font-variant-caps"]=!0,eb["font-variant-east-asian"]=!0,eb["font-variant-ligatures"]=!0,eb["font-variant-numeric"]=!0,eb["font-variant-position"]=!0,eb["font-weight"]=!0,eb.grid=!1,eb["grid-area"]=!1,eb["grid-auto-columns"]=!1,eb["grid-auto-flow"]=!1,eb["grid-auto-rows"]=!1,eb["grid-column"]=!1,eb["grid-column-end"]=!1,eb["grid-column-start"]=!1,eb["grid-row"]=!1,eb["grid-row-end"]=!1,eb["grid-row-start"]=!1,eb["grid-template"]=!1,eb["grid-template-areas"]=!1,eb["grid-template-columns"]=!1,eb["grid-template-rows"]=!1,eb["hanging-punctuation"]=!1,eb.height=!0,eb.hyphens=!1,eb.icon=!1,eb["image-orientation"]=!1,eb["image-resolution"]=!1,eb["ime-mode"]=!1,eb["initial-letters"]=!1,eb["inline-box-align"]=!1,eb["justify-content"]=!1,eb["justify-items"]=!1,eb["justify-self"]=!1,eb.left=!1,eb["letter-spacing"]=!0,eb["lighting-color"]=!0,eb["line-box-contain"]=!1,eb["line-break"]=!1,eb["line-grid"]=!1,eb["line-height"]=!1,eb["line-snap"]=!1,eb["line-stacking"]=!1,eb["line-stacking-ruby"]=!1,eb["line-stacking-shift"]=!1,eb["line-stacking-strategy"]=!1,eb["list-style"]=!0,eb["list-style-image"]=!0,eb["list-style-position"]=!0,eb["list-style-type"]=!0,eb.margin=!0,eb["margin-bottom"]=!0,eb["margin-left"]=!0,eb["margin-right"]=!0,eb["margin-top"]=!0,eb["marker-offset"]=!1,eb["marker-side"]=!1,eb.marks=!1,eb.mask=!1,eb["mask-box"]=!1,eb["mask-box-outset"]=!1,eb["mask-box-repeat"]=!1,eb["mask-box-slice"]=!1,eb["mask-box-source"]=!1,eb["mask-box-width"]=!1,eb["mask-clip"]=!1,eb["mask-image"]=!1,eb["mask-origin"]=!1,eb["mask-position"]=!1,eb["mask-repeat"]=!1,eb["mask-size"]=!1,eb["mask-source-type"]=!1,eb["mask-type"]=!1,eb["max-height"]=!0,eb["max-lines"]=!1,eb["max-width"]=!0,eb["min-height"]=!0,eb["min-width"]=!0,eb["move-to"]=!1,eb["nav-down"]=!1,eb["nav-index"]=!1,eb["nav-left"]=!1,eb["nav-right"]=!1,eb["nav-up"]=!1,eb["object-fit"]=!1,eb["object-position"]=!1,eb.opacity=!1,eb.order=!1,eb.orphans=!1,eb.outline=!1,eb["outline-color"]=!1,eb["outline-offset"]=!1,eb["outline-style"]=!1,eb["outline-width"]=!1,eb.overflow=!1,eb["overflow-wrap"]=!1,eb["overflow-x"]=!1,eb["overflow-y"]=!1,eb.padding=!0,eb["padding-bottom"]=!0,eb["padding-left"]=!0,eb["padding-right"]=!0,eb["padding-top"]=!0,eb.page=!1,eb["page-break-after"]=!1,eb["page-break-before"]=!1,eb["page-break-inside"]=!1,eb["page-policy"]=!1,eb.pause=!1,eb["pause-after"]=!1,eb["pause-before"]=!1,eb.perspective=!1,eb["perspective-origin"]=!1,eb.pitch=!1,eb["pitch-range"]=!1,eb["play-during"]=!1,eb.position=!1,eb["presentation-level"]=!1,eb.quotes=!1,eb["region-fragment"]=!1,eb.resize=!1,eb.rest=!1,eb["rest-after"]=!1,eb["rest-before"]=!1,eb.richness=!1,eb.right=!1,eb.rotation=!1,eb["rotation-point"]=!1,eb["ruby-align"]=!1,eb["ruby-merge"]=!1,eb["ruby-position"]=!1,eb["shape-image-threshold"]=!1,eb["shape-outside"]=!1,eb["shape-margin"]=!1,eb.size=!1,eb.speak=!1,eb["speak-as"]=!1,eb["speak-header"]=!1,eb["speak-numeral"]=!1,eb["speak-punctuation"]=!1,eb["speech-rate"]=!1,eb.stress=!1,eb["string-set"]=!1,eb["tab-size"]=!1,eb["table-layout"]=!1,eb["text-align"]=!0,eb["text-align-last"]=!0,eb["text-combine-upright"]=!0,eb["text-decoration"]=!0,eb["text-decoration-color"]=!0,eb["text-decoration-line"]=!0,eb["text-decoration-skip"]=!0,eb["text-decoration-style"]=!0,eb["text-emphasis"]=!0,eb["text-emphasis-color"]=!0,eb["text-emphasis-position"]=!0,eb["text-emphasis-style"]=!0,eb["text-height"]=!0,eb["text-indent"]=!0,eb["text-justify"]=!0,eb["text-orientation"]=!0,eb["text-overflow"]=!0,eb["text-shadow"]=!0,eb["text-space-collapse"]=!0,eb["text-transform"]=!0,eb["text-underline-position"]=!0,eb["text-wrap"]=!0,eb.top=!1,eb.transform=!1,eb["transform-origin"]=!1,eb["transform-style"]=!1,eb.transition=!1,eb["transition-delay"]=!1,eb["transition-duration"]=!1,eb["transition-property"]=!1,eb["transition-timing-function"]=!1,eb["unicode-bidi"]=!1,eb["vertical-align"]=!1,eb.visibility=!1,eb["voice-balance"]=!1,eb["voice-duration"]=!1,eb["voice-family"]=!1,eb["voice-pitch"]=!1,eb["voice-range"]=!1,eb["voice-rate"]=!1,eb["voice-stress"]=!1,eb["voice-volume"]=!1,eb.volume=!1,eb["white-space"]=!1,eb.widows=!1,eb.width=!0,eb["will-change"]=!1,eb["word-break"]=!0,eb["word-spacing"]=!0,eb["word-wrap"]=!0,eb["wrap-flow"]=!1,eb["wrap-through"]=!1,eb["writing-mode"]=!1,eb["z-index"]=!1,eb}function eV(eb,em,eH){}function ew(eb,em,eH){}var eM=/javascript\s*\:/img;function eC(eb,em){return eM.test(em)?"":em}em.whiteList=eH(),em.getDefaultWhiteList=eH,em.onAttr=eV,em.onIgnoreAttr=ew,em.safeAttrValue=eC},29970:function(eb,em,eH){var eV=eH(9950),ew=eH(32667);function eM(eb,em){return new ew(em).process(eb)}for(var eC in(em=eb.exports=eM).FilterCSS=ew,eV)em[eC]=eV[eC];"undefined"!=typeof window&&(window.filterCSS=eb.exports)},25419:function(eb,em,eH){var eV=eH(17381);function ew(eb,em){";"!==(eb=eV.trimRight(eb))[eb.length-1]&&(eb+=";");var eH=eb.length,ew=!1,eM=0,eC=0,eT="";function e_(){if(!ew){var eH=eV.trim(eb.slice(eM,eC)),e_=eH.indexOf(":");if(-1!==e_){var eS=eV.trim(eH.slice(0,e_)),eE=eV.trim(eH.slice(e_+1));if(eS){var eA=em(eM,eT.length,eS,eE,eH);eA&&(eT+=eA+"; ")}}}eM=eC+1}for(;eC=em?eb:""+Array(em+1-eV.length).join(eH)+eb},eB={s:eR,z:function(eb){var em=-eb.utcOffset(),eH=Math.abs(em),eV=Math.floor(eH/60),ew=eH%60;return(em<=0?"+":"-")+eR(eV,2,"0")+":"+eR(ew,2,"0")},m:function eb(em,eH){if(em.date()1)return eb(eC[0])}else{var eT=em.name;ej[eT]=em,ew=eT}return!eV&&ew&&(eF=ew),ew||!eV&&eF},eZ=function(eb,em){if(e$(eb))return eb.clone();var eH="object"==typeof em?em:{};return eH.date=eb,eH.args=arguments,new eK(eH)},eG=eB;eG.l=eW,eG.i=e$,eG.w=function(eb,em){return eZ(eb,{locale:em.$L,utc:em.$u,x:em.$x,$offset:em.$offset})};var eK=function(){function eO(eb){this.$L=eW(eb.locale,null,!0),this.parse(eb),this.$x=this.$x||eb.x||{},this[eU]=!0}var eR=eO.prototype;return eR.parse=function(eb){this.$d=function(eb){var em=eb.date,eH=eb.utc;if(null===em)return new Date(NaN);if(eG.u(em))return new Date;if(em instanceof Date)return new Date(em);if("string"==typeof em&&!/Z$/i.test(em)){var eV=em.match(eD);if(eV){var ew=eV[2]-1||0,eM=(eV[7]||"0").substring(0,3);return eH?new Date(Date.UTC(eV[1],ew,eV[3]||1,eV[4]||0,eV[5]||0,eV[6]||0,eM)):new Date(eV[1],ew,eV[3]||1,eV[4]||0,eV[5]||0,eV[6]||0,eM)}}return new Date(em)}(eb),this.init()},eR.init=function(){var eb=this.$d;this.$y=eb.getFullYear(),this.$M=eb.getMonth(),this.$D=eb.getDate(),this.$W=eb.getDay(),this.$H=eb.getHours(),this.$m=eb.getMinutes(),this.$s=eb.getSeconds(),this.$ms=eb.getMilliseconds()},eR.$utils=function(){return eG},eR.isValid=function(){return this.$d.toString()!==eI},eR.isSame=function(eb,em){var eH=eZ(eb);return this.startOf(em)<=eH&&eH<=this.endOf(em)},eR.isAfter=function(eb,em){return eZ(eb)0,eO<=eP.r||!eP.r){eO<=1&&eD>0&&(eP=eN[eD-1]);var eR=eA[eP.l];eT&&(eO=eT(""+eO)),eS="string"==typeof eR?eR.replace("%d",eO):eR(eO,eV,eP.l,eE);break}}if(eV)return eS;var eB=eE?eA.future:eA.past;return"function"==typeof eB?eB(eS):eB.replace("%s",eS)},eV.to=function(eb,em){return eM(eb,em,this,!0)},eV.from=function(eb,em){return eM(eb,em,this)};var eC=function(eb){return eb.$u?eH.utc():eH()};eV.toNow=function(eb){return this.to(eC(this),eb)},eV.fromNow=function(eb){return this.from(eC(this),eb)}}})},70660:function(eb){!function(em,eH){eb.exports=eH()}(0,function(){return function(eb,em,eH){eH.updateLocale=function(eb,em){var eV=eH.Ls[eb];if(eV)return(em?Object.keys(em):[]).forEach(function(eb){eV[eb]=em[eb]}),eV}}})},11227:function(eb,em,eH){var eV=eH(34155);function ew(){return"undefined"!=typeof window&&!!window.process&&("renderer"===window.process.type||!!window.process.__nwjs)||!("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))}function eM(em){if(em[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+em[0]+(this.useColors?"%c ":" ")+"+"+eb.exports.humanize(this.diff),!this.useColors)return;let eH="color: "+this.color;em.splice(1,0,eH,"color: inherit");let eV=0,ew=0;em[0].replace(/%[a-zA-Z%]/g,eb=>{"%%"!==eb&&(eV++,"%c"===eb&&(ew=eV))}),em.splice(ew,0,eH)}function eC(eb){try{eb?em.storage.setItem("debug",eb):em.storage.removeItem("debug")}catch(eb){}}function eT(){let eb;try{eb=em.storage.getItem("debug")}catch(eb){}return!eb&&void 0!==eV&&"env"in eV&&(eb=eV.env.DEBUG),eb}function e_(){try{return localStorage}catch(eb){}}em.formatArgs=eM,em.save=eC,em.load=eT,em.useColors=ew,em.storage=e_(),em.destroy=(()=>{let eb=!1;return()=>{eb||(eb=!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`."))}})(),em.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"],em.log=console.debug||console.log||(()=>{}),eb.exports=eH(82447)(em);let{formatters:eS}=eb.exports;eS.j=function(eb){try{return JSON.stringify(eb)}catch(eb){return"[UnexpectedJSONParseError]: "+eb.message}}},82447:function(eb,em,eH){function eV(eb){function em(eb){let em=0;for(let eH=0;eH{if("%%"===em)return"%";eC++;let eM=eV.formatters[ew];if("function"==typeof eM){let eV=eb[eC];em=eM.call(eH,eV),eb.splice(eC,1),eC--}return em}),eV.formatArgs.call(eH,eb);let e_=eH.log||eV.log;e_.apply(eH,eb)}return eT.namespace=eb,eT.useColors=eV.useColors(),eT.color=eV.selectColor(eb),eT.extend=ew,eT.destroy=eV.destroy,Object.defineProperty(eT,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==eC?eC:(eH!==eV.namespaces&&(eH=eV.namespaces,eM=eV.enabled(eb)),eM),set:eb=>{eC=eb}}),"function"==typeof eV.init&&eV.init(eT),eT}function ew(eb,em){let eH=eV(this.namespace+(void 0===em?":":em)+eb);return eH.log=this.log,eH}function eM(eb){let em;eV.save(eb),eV.namespaces=eb,eV.names=[],eV.skips=[];let eH=("string"==typeof eb?eb:"").split(/[\s,]+/),ew=eH.length;for(em=0;em"-"+eb)].join(",");return eV.enable(""),eb}function eT(eb){let em,eH;if("*"===eb[eb.length-1])return!0;for(em=0,eH=eV.skips.length;em{eV[em]=eb[em]}),eV.names=[],eV.skips=[],eV.formatters={},eV.selectColor=em,eV.enable(eV.load()),eV}eb.exports=eV},44020:function(eb){"use strict";var em="%[a-f0-9]{2}",eH=RegExp("("+em+")|([^%]+?)","gi"),eV=RegExp("("+em+")+","gi");function ew(eb,em){try{return[decodeURIComponent(eb.join(""))]}catch(eb){}if(1===eb.length)return eb;em=em||1;var eH=eb.slice(0,em),eV=eb.slice(em);return Array.prototype.concat.call([],ew(eH),ew(eV))}function eM(eb){try{return decodeURIComponent(eb)}catch(eM){for(var em=eb.match(eH)||[],eV=1;eV3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new eM("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new eM("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new eM("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new eM("`loose`, if provided, must be a boolean");var eT=arguments.length>3?arguments[3]:null,e_=arguments.length>4?arguments[4]:null,eS=arguments.length>5?arguments[5]:null,eE=arguments.length>6&&arguments[6],eA=!!eC&&eC(eb,em);if(eV)eV(eb,em,{configurable:null===eS&&eA?eA.configurable:!eS,enumerable:null===eT&&eA?eA.enumerable:!eT,value:eH,writable:null===e_&&eA?eA.writable:!e_});else if(!eE&&(eT||e_||eS))throw new ew("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");else eb[em]=eH}},4289:function(eb,em,eH){"use strict";var eV=eH(82215),ew="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),eM=Object.prototype.toString,eC=Array.prototype.concat,eT=Object.defineProperty,e_=function(eb){return"function"==typeof eb&&"[object Function]"===eM.call(eb)},eS=eH(31044)(),eE=eT&&eS,eA=function(eb,em,eH,eV){if(em in eb){if(!0===eV){if(eb[em]===eH)return}else if(!e_(eV)||!eV())return}eE?eT(eb,em,{configurable:!0,enumerable:!1,value:eH,writable:!0}):eb[em]=eH},eN=function(eb,em){var eH=arguments.length>2?arguments[2]:{},eM=eV(em);ew&&(eM=eC.call(eM,Object.getOwnPropertySymbols(em)));for(var eT=0;eTeS)&&(eN[eC]=eS,eI.push(eC,eS),eA[eC]=eM));if(void 0!==eV&&void 0===eN[eV])throw Error(["Could not find a path from ",eH," to ",eV,"."].join(""));return eA},extract_shortest_path_from_predecessor_list:function(eb,em){for(var eH,eV=[],ew=em;ew;)eV.push(ew),eH=eb[ew],ew=eb[ew];return eV.reverse(),eV},find_path:function(eb,eH,eV){var ew=em.single_source_shortest_paths(eb,eH,eV);return em.extract_shortest_path_from_predecessor_list(ew,eV)},PriorityQueue:{make:function(eb){var eH,eV=em.PriorityQueue,ew={};for(eH in eb=eb||{},eV)eV.hasOwnProperty(eH)&&(ew[eH]=eV[eH]);return ew.queue=[],ew.sorter=eb.sorter||eV.default_sorter,ew},default_sorter:function(eb,em){return eb.cost-em.cost},push:function(eb,em){var eH={value:eb,cost:em};this.queue.push(eH),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};eb.exports=em},86266:function(eb,em,eH){"use strict";var eV=em;eV.version=eH(18597).i8,eV.utils=eH(80953),eV.rand=eH(29931),eV.curve=eH(88254),eV.curves=eH(45427),eV.ec=eH(57954),eV.eddsa=eH(65980)},4918:function(eb,em,eH){"use strict";var eV=eH(73785),ew=eH(80953),eM=ew.getNAF,eC=ew.getJSF,eT=ew.assert;function e_(eb,em){this.type=eb,this.p=new eV(em.p,16),this.red=em.prime?eV.red(em.prime):eV.mont(this.p),this.zero=new eV(0).toRed(this.red),this.one=new eV(1).toRed(this.red),this.two=new eV(2).toRed(this.red),this.n=em.n&&new eV(em.n,16),this.g=em.g&&this.pointFromJSON(em.g,em.gRed),this._wnafT1=[,,,,],this._wnafT2=[,,,,],this._wnafT3=[,,,,],this._wnafT4=[,,,,],this._bitLength=this.n?this.n.bitLength():0;var eH=this.n&&this.p.div(this.n);!eH||eH.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function eS(eb,em){this.curve=eb,this.type=em,this.precomputed=null}eb.exports=e_,e_.prototype.point=function(){throw Error("Not implemented")},e_.prototype.validate=function(){throw Error("Not implemented")},e_.prototype._fixedNafMul=function(eb,em){eT(eb.precomputed);var eH,eV,ew=eb._getDoubles(),eC=eM(em,1,this._bitLength),e_=(1<=eH;eE--)eV=(eV<<1)+eC[eE];eS.push(eV)}for(var eA=this.jpoint(null,null,null),eN=this.jpoint(null,null,null),eI=e_;eI>0;eI--){for(eH=0;eH=0;eS--){for(var eE=0;eS>=0&&0===eC[eS];eS--)eE++;if(eS>=0&&eE++,e_=e_.dblp(eE),eS<0)break;var eA=eC[eS];eT(0!==eA),e_="affine"===eb.type?eA>0?e_.mixedAdd(ew[eA-1>>1]):e_.mixedAdd(ew[-eA-1>>1].neg()):eA>0?e_.add(ew[eA-1>>1]):e_.add(ew[-eA-1>>1].neg())}return"affine"===eb.type?e_.toP():e_},e_.prototype._wnafMulAdd=function(eb,em,eH,eV,ew){var eT,e_,eS,eE=this._wnafT1,eA=this._wnafT2,eN=this._wnafT3,eI=0;for(eT=0;eT=1;eT-=2){var eP=eT-1,eO=eT;if(1!==eE[eP]||1!==eE[eO]){eN[eP]=eM(eH[eP],eE[eP],this._bitLength),eN[eO]=eM(eH[eO],eE[eO],this._bitLength),eI=Math.max(eN[eP].length,eI),eI=Math.max(eN[eO].length,eI);continue}var eR=[em[eP],null,null,em[eO]];0===em[eP].y.cmp(em[eO].y)?(eR[1]=em[eP].add(em[eO]),eR[2]=em[eP].toJ().mixedAdd(em[eO].neg())):0===em[eP].y.cmp(em[eO].y.redNeg())?(eR[1]=em[eP].toJ().mixedAdd(em[eO]),eR[2]=em[eP].add(em[eO].neg())):(eR[1]=em[eP].toJ().mixedAdd(em[eO]),eR[2]=em[eP].toJ().mixedAdd(em[eO].neg()));var eB=[-3,-1,-5,-7,0,7,5,1,3],eF=eC(eH[eP],eH[eO]);for(e_=0,eI=Math.max(eF[0].length,eI),eN[eP]=Array(eI),eN[eO]=Array(eI);e_=0;eT--){for(var eZ=0;eT>=0;){var eG=!0;for(e_=0;e_=0&&eZ++,e$=e$.dblp(eZ),eT<0)break;for(e_=0;e_0?eS=eA[e_][eK-1>>1]:eK<0&&(eS=eA[e_][-eK-1>>1].neg()),e$="affine"===eS.type?e$.mixedAdd(eS):e$.add(eS))}}for(eT=0;eT=Math.ceil((eb.bitLength()+1)/em.step)},eS.prototype._getDoubles=function(eb,em){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var eH=[this],eV=this,ew=0;ew":""},eS.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},eS.prototype._extDbl=function(){var eb=this.x.redSqr(),em=this.y.redSqr(),eH=this.z.redSqr();eH=eH.redIAdd(eH);var eV=this.curve._mulA(eb),ew=this.x.redAdd(this.y).redSqr().redISub(eb).redISub(em),eM=eV.redAdd(em),eC=eM.redSub(eH),eT=eV.redSub(em),e_=ew.redMul(eC),eS=eM.redMul(eT),eE=ew.redMul(eT),eA=eC.redMul(eM);return this.curve.point(e_,eS,eA,eE)},eS.prototype._projDbl=function(){var eb,em,eH,eV,ew,eM,eC=this.x.redAdd(this.y).redSqr(),eT=this.x.redSqr(),e_=this.y.redSqr();if(this.curve.twisted){var eS=(eV=this.curve._mulA(eT)).redAdd(e_);this.zOne?(eb=eC.redSub(eT).redSub(e_).redMul(eS.redSub(this.curve.two)),em=eS.redMul(eV.redSub(e_)),eH=eS.redSqr().redSub(eS).redSub(eS)):(ew=this.z.redSqr(),eM=eS.redSub(ew).redISub(ew),eb=eC.redSub(eT).redISub(e_).redMul(eM),em=eS.redMul(eV.redSub(e_)),eH=eS.redMul(eM))}else eV=eT.redAdd(e_),ew=this.curve._mulC(this.z).redSqr(),eM=eV.redSub(ew).redSub(ew),eb=this.curve._mulC(eC.redISub(eV)).redMul(eM),em=this.curve._mulC(eV).redMul(eT.redISub(e_)),eH=eV.redMul(eM);return this.curve.point(eb,em,eH)},eS.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},eS.prototype._extAdd=function(eb){var em=this.y.redSub(this.x).redMul(eb.y.redSub(eb.x)),eH=this.y.redAdd(this.x).redMul(eb.y.redAdd(eb.x)),eV=this.t.redMul(this.curve.dd).redMul(eb.t),ew=this.z.redMul(eb.z.redAdd(eb.z)),eM=eH.redSub(em),eC=ew.redSub(eV),eT=ew.redAdd(eV),e_=eH.redAdd(em),eS=eM.redMul(eC),eE=eT.redMul(e_),eA=eM.redMul(e_),eN=eC.redMul(eT);return this.curve.point(eS,eE,eN,eA)},eS.prototype._projAdd=function(eb){var em,eH,eV=this.z.redMul(eb.z),ew=eV.redSqr(),eM=this.x.redMul(eb.x),eC=this.y.redMul(eb.y),eT=this.curve.d.redMul(eM).redMul(eC),e_=ew.redSub(eT),eS=ew.redAdd(eT),eE=this.x.redAdd(this.y).redMul(eb.x.redAdd(eb.y)).redISub(eM).redISub(eC),eA=eV.redMul(e_).redMul(eE);return this.curve.twisted?(em=eV.redMul(eS).redMul(eC.redSub(this.curve._mulA(eM))),eH=e_.redMul(eS)):(em=eV.redMul(eS).redMul(eC.redSub(eM)),eH=this.curve._mulC(e_).redMul(eS)),this.curve.point(eA,em,eH)},eS.prototype.add=function(eb){return this.isInfinity()?eb:eb.isInfinity()?this:this.curve.extended?this._extAdd(eb):this._projAdd(eb)},eS.prototype.mul=function(eb){return this._hasDoubles(eb)?this.curve._fixedNafMul(this,eb):this.curve._wnafMul(this,eb)},eS.prototype.mulAdd=function(eb,em,eH){return this.curve._wnafMulAdd(1,[this,em],[eb,eH],2,!1)},eS.prototype.jmulAdd=function(eb,em,eH){return this.curve._wnafMulAdd(1,[this,em],[eb,eH],2,!0)},eS.prototype.normalize=function(){if(this.zOne)return this;var eb=this.z.redInvm();return this.x=this.x.redMul(eb),this.y=this.y.redMul(eb),this.t&&(this.t=this.t.redMul(eb)),this.z=this.curve.one,this.zOne=!0,this},eS.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},eS.prototype.getX=function(){return this.normalize(),this.x.fromRed()},eS.prototype.getY=function(){return this.normalize(),this.y.fromRed()},eS.prototype.eq=function(eb){return this===eb||0===this.getX().cmp(eb.getX())&&0===this.getY().cmp(eb.getY())},eS.prototype.eqXToP=function(eb){var em=eb.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(em))return!0;for(var eH=eb.clone(),eV=this.curve.redN.redMul(this.z);;){if(eH.iadd(this.curve.n),eH.cmp(this.curve.p)>=0)return!1;if(em.redIAdd(eV),0===this.x.cmp(em))return!0}},eS.prototype.toP=eS.prototype.normalize,eS.prototype.mixedAdd=eS.prototype.add},88254:function(eb,em,eH){"use strict";var eV=em;eV.base=eH(4918),eV.short=eH(6673),eV.mont=eH(22881),eV.edwards=eH(31138)},22881:function(eb,em,eH){"use strict";var eV=eH(73785),ew=eH(35717),eM=eH(4918),eC=eH(80953);function eT(eb){eM.call(this,"mont",eb),this.a=new eV(eb.a,16).toRed(this.red),this.b=new eV(eb.b,16).toRed(this.red),this.i4=new eV(4).toRed(this.red).redInvm(),this.two=new eV(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function e_(eb,em,eH){eM.BasePoint.call(this,eb,"projective"),null===em&&null===eH?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new eV(em,16),this.z=new eV(eH,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}ew(eT,eM),eb.exports=eT,eT.prototype.validate=function(eb){var em=eb.normalize().x,eH=em.redSqr(),eV=eH.redMul(em).redAdd(eH.redMul(this.a)).redAdd(em);return 0===eV.redSqrt().redSqr().cmp(eV)},ew(e_,eM.BasePoint),eT.prototype.decodePoint=function(eb,em){return this.point(eC.toArray(eb,em),1)},eT.prototype.point=function(eb,em){return new e_(this,eb,em)},eT.prototype.pointFromJSON=function(eb){return e_.fromJSON(this,eb)},e_.prototype.precompute=function(){},e_.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},e_.fromJSON=function(eb,em){return new e_(eb,em[0],em[1]||eb.one)},e_.prototype.inspect=function(){return this.isInfinity()?"":""},e_.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},e_.prototype.dbl=function(){var eb=this.x.redAdd(this.z).redSqr(),em=this.x.redSub(this.z).redSqr(),eH=eb.redSub(em),eV=eb.redMul(em),ew=eH.redMul(em.redAdd(this.curve.a24.redMul(eH)));return this.curve.point(eV,ew)},e_.prototype.add=function(){throw Error("Not supported on Montgomery curve")},e_.prototype.diffAdd=function(eb,em){var eH=this.x.redAdd(this.z),eV=this.x.redSub(this.z),ew=eb.x.redAdd(eb.z),eM=eb.x.redSub(eb.z).redMul(eH),eC=ew.redMul(eV),eT=em.z.redMul(eM.redAdd(eC).redSqr()),e_=em.x.redMul(eM.redISub(eC).redSqr());return this.curve.point(eT,e_)},e_.prototype.mul=function(eb){for(var em=eb.clone(),eH=this,eV=this.curve.point(null,null),ew=this,eM=[];0!==em.cmpn(0);em.iushrn(1))eM.push(em.andln(1));for(var eC=eM.length-1;eC>=0;eC--)0===eM[eC]?(eH=eH.diffAdd(eV,ew),eV=eV.dbl()):(eV=eH.diffAdd(eV,ew),eH=eH.dbl());return eV},e_.prototype.mulAdd=function(){throw Error("Not supported on Montgomery curve")},e_.prototype.jumlAdd=function(){throw Error("Not supported on Montgomery curve")},e_.prototype.eq=function(eb){return 0===this.getX().cmp(eb.getX())},e_.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},e_.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},6673:function(eb,em,eH){"use strict";var eV=eH(80953),ew=eH(73785),eM=eH(35717),eC=eH(4918),eT=eV.assert;function e_(eb){eC.call(this,"short",eb),this.a=new ew(eb.a,16).toRed(this.red),this.b=new ew(eb.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(eb),this._endoWnafT1=[,,,,],this._endoWnafT2=[,,,,]}function eS(eb,em,eH,eV){eC.BasePoint.call(this,eb,"affine"),null===em&&null===eH?(this.x=null,this.y=null,this.inf=!0):(this.x=new ew(em,16),this.y=new ew(eH,16),eV&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function eE(eb,em,eH,eV){eC.BasePoint.call(this,eb,"jacobian"),null===em&&null===eH&&null===eV?(this.x=this.curve.one,this.y=this.curve.one,this.z=new ew(0)):(this.x=new ew(em,16),this.y=new ew(eH,16),this.z=new ew(eV,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}eM(e_,eC),eb.exports=e_,e_.prototype._getEndomorphism=function(eb){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){if(eb.beta)em=new ew(eb.beta,16).toRed(this.red);else{var em,eH,eV,eM=this._getEndoRoots(this.p);em=(em=0>eM[0].cmp(eM[1])?eM[0]:eM[1]).toRed(this.red)}if(eb.lambda)eH=new ew(eb.lambda,16);else{var eC=this._getEndoRoots(this.n);0===this.g.mul(eC[0]).x.cmp(this.g.x.redMul(em))?eH=eC[0]:(eH=eC[1],eT(0===this.g.mul(eH).x.cmp(this.g.x.redMul(em))))}return eV=eb.basis?eb.basis.map(function(eb){return{a:new ew(eb.a,16),b:new ew(eb.b,16)}}):this._getEndoBasis(eH),{beta:em,lambda:eH,basis:eV}}},e_.prototype._getEndoRoots=function(eb){var em=eb===this.p?this.red:ew.mont(eb),eH=new ew(2).toRed(em).redInvm(),eV=eH.redNeg(),eM=new ew(3).toRed(em).redNeg().redSqrt().redMul(eH);return[eV.redAdd(eM).fromRed(),eV.redSub(eM).fromRed()]},e_.prototype._getEndoBasis=function(eb){for(var em,eH,eV,eM,eC,eT,e_,eS,eE,eA=this.n.ushrn(Math.floor(this.n.bitLength()/2)),eN=eb,eI=this.n.clone(),eD=new ew(1),eP=new ew(0),eO=new ew(0),eR=new ew(1),eB=0;0!==eN.cmpn(0);){var eF=eI.div(eN);eS=eI.sub(eF.mul(eN)),eE=eO.sub(eF.mul(eD));var ej=eR.sub(eF.mul(eP));if(!eV&&0>eS.cmp(eA))em=e_.neg(),eH=eD,eV=eS.neg(),eM=eE;else if(eV&&2==++eB)break;e_=eS,eI=eN,eN=eS,eO=eD,eD=eE,eR=eP,eP=ej}eC=eS.neg(),eT=eE;var eU=eV.sqr().add(eM.sqr());return eC.sqr().add(eT.sqr()).cmp(eU)>=0&&(eC=em,eT=eH),eV.negative&&(eV=eV.neg(),eM=eM.neg()),eC.negative&&(eC=eC.neg(),eT=eT.neg()),[{a:eV,b:eM},{a:eC,b:eT}]},e_.prototype._endoSplit=function(eb){var em=this.endo.basis,eH=em[0],eV=em[1],ew=eV.b.mul(eb).divRound(this.n),eM=eH.b.neg().mul(eb).divRound(this.n),eC=ew.mul(eH.a),eT=eM.mul(eV.a),e_=ew.mul(eH.b),eS=eM.mul(eV.b);return{k1:eb.sub(eC).sub(eT),k2:e_.add(eS).neg()}},e_.prototype.pointFromX=function(eb,em){(eb=new ew(eb,16)).red||(eb=eb.toRed(this.red));var eH=eb.redSqr().redMul(eb).redIAdd(eb.redMul(this.a)).redIAdd(this.b),eV=eH.redSqrt();if(0!==eV.redSqr().redSub(eH).cmp(this.zero))throw Error("invalid point");var eM=eV.fromRed().isOdd();return(em&&!eM||!em&&eM)&&(eV=eV.redNeg()),this.point(eb,eV)},e_.prototype.validate=function(eb){if(eb.inf)return!0;var em=eb.x,eH=eb.y,eV=this.a.redMul(em),ew=em.redSqr().redMul(em).redIAdd(eV).redIAdd(this.b);return 0===eH.redSqr().redISub(ew).cmpn(0)},e_.prototype._endoWnafMulAdd=function(eb,em,eH){for(var eV=this._endoWnafT1,ew=this._endoWnafT2,eM=0;eM":""},eS.prototype.isInfinity=function(){return this.inf},eS.prototype.add=function(eb){if(this.inf)return eb;if(eb.inf)return this;if(this.eq(eb))return this.dbl();if(this.neg().eq(eb)||0===this.x.cmp(eb.x))return this.curve.point(null,null);var em=this.y.redSub(eb.y);0!==em.cmpn(0)&&(em=em.redMul(this.x.redSub(eb.x).redInvm()));var eH=em.redSqr().redISub(this.x).redISub(eb.x),eV=em.redMul(this.x.redSub(eH)).redISub(this.y);return this.curve.point(eH,eV)},eS.prototype.dbl=function(){if(this.inf)return this;var eb=this.y.redAdd(this.y);if(0===eb.cmpn(0))return this.curve.point(null,null);var em=this.curve.a,eH=this.x.redSqr(),eV=eb.redInvm(),ew=eH.redAdd(eH).redIAdd(eH).redIAdd(em).redMul(eV),eM=ew.redSqr().redISub(this.x.redAdd(this.x)),eC=ew.redMul(this.x.redSub(eM)).redISub(this.y);return this.curve.point(eM,eC)},eS.prototype.getX=function(){return this.x.fromRed()},eS.prototype.getY=function(){return this.y.fromRed()},eS.prototype.mul=function(eb){return(eb=new ew(eb,16),this.isInfinity())?this:this._hasDoubles(eb)?this.curve._fixedNafMul(this,eb):this.curve.endo?this.curve._endoWnafMulAdd([this],[eb]):this.curve._wnafMul(this,eb)},eS.prototype.mulAdd=function(eb,em,eH){var eV=[this,em],ew=[eb,eH];return this.curve.endo?this.curve._endoWnafMulAdd(eV,ew):this.curve._wnafMulAdd(1,eV,ew,2)},eS.prototype.jmulAdd=function(eb,em,eH){var eV=[this,em],ew=[eb,eH];return this.curve.endo?this.curve._endoWnafMulAdd(eV,ew,!0):this.curve._wnafMulAdd(1,eV,ew,2,!0)},eS.prototype.eq=function(eb){return this===eb||this.inf===eb.inf&&(this.inf||0===this.x.cmp(eb.x)&&0===this.y.cmp(eb.y))},eS.prototype.neg=function(eb){if(this.inf)return this;var em=this.curve.point(this.x,this.y.redNeg());if(eb&&this.precomputed){var eH=this.precomputed,eV=function(eb){return eb.neg()};em.precomputed={naf:eH.naf&&{wnd:eH.naf.wnd,points:eH.naf.points.map(eV)},doubles:eH.doubles&&{step:eH.doubles.step,points:eH.doubles.points.map(eV)}}}return em},eS.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},eM(eE,eC.BasePoint),e_.prototype.jpoint=function(eb,em,eH){return new eE(this,eb,em,eH)},eE.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var eb=this.z.redInvm(),em=eb.redSqr(),eH=this.x.redMul(em),eV=this.y.redMul(em).redMul(eb);return this.curve.point(eH,eV)},eE.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},eE.prototype.add=function(eb){if(this.isInfinity())return eb;if(eb.isInfinity())return this;var em=eb.z.redSqr(),eH=this.z.redSqr(),eV=this.x.redMul(em),ew=eb.x.redMul(eH),eM=this.y.redMul(em.redMul(eb.z)),eC=eb.y.redMul(eH.redMul(this.z)),eT=eV.redSub(ew),e_=eM.redSub(eC);if(0===eT.cmpn(0))return 0!==e_.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var eS=eT.redSqr(),eE=eS.redMul(eT),eA=eV.redMul(eS),eN=e_.redSqr().redIAdd(eE).redISub(eA).redISub(eA),eI=e_.redMul(eA.redISub(eN)).redISub(eM.redMul(eE)),eD=this.z.redMul(eb.z).redMul(eT);return this.curve.jpoint(eN,eI,eD)},eE.prototype.mixedAdd=function(eb){if(this.isInfinity())return eb.toJ();if(eb.isInfinity())return this;var em=this.z.redSqr(),eH=this.x,eV=eb.x.redMul(em),ew=this.y,eM=eb.y.redMul(em).redMul(this.z),eC=eH.redSub(eV),eT=ew.redSub(eM);if(0===eC.cmpn(0))return 0!==eT.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var e_=eC.redSqr(),eS=e_.redMul(eC),eE=eH.redMul(e_),eA=eT.redSqr().redIAdd(eS).redISub(eE).redISub(eE),eN=eT.redMul(eE.redISub(eA)).redISub(ew.redMul(eS)),eI=this.z.redMul(eC);return this.curve.jpoint(eA,eN,eI)},eE.prototype.dblp=function(eb){if(0===eb||this.isInfinity())return this;if(!eb)return this.dbl();if(this.curve.zeroA||this.curve.threeA){var em,eH=this;for(em=0;em=0)return!1;if(eH.redIAdd(ew),0===this.x.cmp(eH))return!0}},eE.prototype.inspect=function(){return this.isInfinity()?"":""},eE.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},45427:function(eb,em,eH){"use strict";var eV,ew=em,eM=eH(33715),eC=eH(88254),eT=eH(80953).assert;function e_(eb){"short"===eb.type?this.curve=new eC.short(eb):"edwards"===eb.type?this.curve=new eC.edwards(eb):this.curve=new eC.mont(eb),this.g=this.curve.g,this.n=this.curve.n,this.hash=eb.hash,eT(this.g.validate(),"Invalid curve"),eT(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function eS(eb,em){Object.defineProperty(ew,eb,{configurable:!0,enumerable:!0,get:function(){var eH=new e_(em);return Object.defineProperty(ew,eb,{configurable:!0,enumerable:!0,value:eH}),eH}})}ew.PresetCurve=e_,eS("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:eM.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),eS("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:eM.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),eS("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:eM.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),eS("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:eM.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"]}),eS("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:eM.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"]}),eS("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:eM.sha256,gRed:!1,g:["9"]}),eS("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:eM.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{eV=eH(91037)}catch(eb){eV=void 0}eS("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:eM.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",eV]})},57954:function(eb,em,eH){"use strict";var eV=eH(73785),ew=eH(2156),eM=eH(80953),eC=eH(45427),eT=eH(29931),e_=eM.assert,eS=eH(31251),eE=eH(90611);function eA(eb){if(!(this instanceof eA))return new eA(eb);"string"==typeof eb&&(e_(Object.prototype.hasOwnProperty.call(eC,eb),"Unknown curve "+eb),eb=eC[eb]),eb instanceof eC.PresetCurve&&(eb={curve:eb}),this.curve=eb.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=eb.curve.g,this.g.precompute(eb.curve.n.bitLength()+1),this.hash=eb.hash||eb.curve.hash}eb.exports=eA,eA.prototype.keyPair=function(eb){return new eS(this,eb)},eA.prototype.keyFromPrivate=function(eb,em){return eS.fromPrivate(this,eb,em)},eA.prototype.keyFromPublic=function(eb,em){return eS.fromPublic(this,eb,em)},eA.prototype.genKeyPair=function(eb){eb||(eb={});for(var em=new ew({hash:this.hash,pers:eb.pers,persEnc:eb.persEnc||"utf8",entropy:eb.entropy||eT(this.hash.hmacStrength),entropyEnc:eb.entropy&&eb.entropyEnc||"utf8",nonce:this.n.toArray()}),eH=this.n.byteLength(),eM=this.n.sub(new eV(2));;){var eC=new eV(em.generate(eH));if(!(eC.cmp(eM)>0))return eC.iaddn(1),this.keyFromPrivate(eC)}},eA.prototype._truncateToN=function(eb,em){var eH=8*eb.byteLength()-this.n.bitLength();return(eH>0&&(eb=eb.ushrn(eH)),!em&&eb.cmp(this.n)>=0)?eb.sub(this.n):eb},eA.prototype.sign=function(eb,em,eH,eM){"object"==typeof eH&&(eM=eH,eH=null),eM||(eM={}),em=this.keyFromPrivate(em,eH),eb=this._truncateToN(new eV(eb,16));for(var eC=this.n.byteLength(),eT=em.getPrivate().toArray("be",eC),e_=eb.toArray("be",eC),eS=new ew({hash:this.hash,entropy:eT,nonce:e_,pers:eM.pers,persEnc:eM.persEnc||"utf8"}),eA=this.n.sub(new eV(1)),eN=0;;eN++){var eI=eM.k?eM.k(eN):new eV(eS.generate(this.n.byteLength()));if(!(0>=(eI=this._truncateToN(eI,!0)).cmpn(1)||eI.cmp(eA)>=0)){var eD=this.g.mul(eI);if(!eD.isInfinity()){var eP=eD.getX(),eO=eP.umod(this.n);if(0!==eO.cmpn(0)){var eR=eI.invm(this.n).mul(eO.mul(em.getPrivate()).iadd(eb));if(0!==(eR=eR.umod(this.n)).cmpn(0)){var eB=(eD.getY().isOdd()?1:0)|(0!==eP.cmp(eO)?2:0);return eM.canonical&&eR.cmp(this.nh)>0&&(eR=this.n.sub(eR),eB^=1),new eE({r:eO,s:eR,recoveryParam:eB})}}}}}},eA.prototype.verify=function(eb,em,eH,ew){eb=this._truncateToN(new eV(eb,16)),eH=this.keyFromPublic(eH,ew);var eM,eC=(em=new eE(em,"hex")).r,eT=em.s;if(0>eC.cmpn(1)||eC.cmp(this.n)>=0||0>eT.cmpn(1)||eT.cmp(this.n)>=0)return!1;var e_=eT.invm(this.n),eS=e_.mul(eb).umod(this.n),eA=e_.mul(eC).umod(this.n);return this.curve._maxwellTrick?!(eM=this.g.jmulAdd(eS,eH.getPublic(),eA)).isInfinity()&&eM.eqXToP(eC):!(eM=this.g.mulAdd(eS,eH.getPublic(),eA)).isInfinity()&&0===eM.getX().umod(this.n).cmp(eC)},eA.prototype.recoverPubKey=function(eb,em,eH,ew){e_((3&eH)===eH,"The recovery param is more than two bits"),em=new eE(em,ew);var eM=this.n,eC=new eV(eb),eT=em.r,eS=em.s,eA=1&eH,eN=eH>>1;if(eT.cmp(this.curve.p.umod(this.curve.n))>=0&&eN)throw Error("Unable to find sencond key candinate");eT=eN?this.curve.pointFromX(eT.add(this.curve.n),eA):this.curve.pointFromX(eT,eA);var eI=em.r.invm(eM),eD=eM.sub(eC).mul(eI).umod(eM),eP=eS.mul(eI).umod(eM);return this.g.mulAdd(eD,eT,eP)},eA.prototype.getKeyRecoveryParam=function(eb,em,eH,eV){if(null!==(em=new eE(em,eV)).recoveryParam)return em.recoveryParam;for(var ew,eM=0;eM<4;eM++){try{ew=this.recoverPubKey(eb,em,eM)}catch(eb){continue}if(ew.eq(eH))return eM}throw Error("Unable to find valid recovery factor")}},31251:function(eb,em,eH){"use strict";var eV=eH(73785),ew=eH(80953).assert;function eM(eb,em){this.ec=eb,this.priv=null,this.pub=null,em.priv&&this._importPrivate(em.priv,em.privEnc),em.pub&&this._importPublic(em.pub,em.pubEnc)}eb.exports=eM,eM.fromPublic=function(eb,em,eH){return em instanceof eM?em:new eM(eb,{pub:em,pubEnc:eH})},eM.fromPrivate=function(eb,em,eH){return em instanceof eM?em:new eM(eb,{priv:em,privEnc:eH})},eM.prototype.validate=function(){var eb=this.getPublic();return eb.isInfinity()?{result:!1,reason:"Invalid public key"}:eb.validate()?eb.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},eM.prototype.getPublic=function(eb,em){return("string"==typeof eb&&(em=eb,eb=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),em)?this.pub.encode(em,eb):this.pub},eM.prototype.getPrivate=function(eb){return"hex"===eb?this.priv.toString(16,2):this.priv},eM.prototype._importPrivate=function(eb,em){this.priv=new eV(eb,em||16),this.priv=this.priv.umod(this.ec.curve.n)},eM.prototype._importPublic=function(eb,em){if(eb.x||eb.y){"mont"===this.ec.curve.type?ew(eb.x,"Need x coordinate"):("short"===this.ec.curve.type||"edwards"===this.ec.curve.type)&&ew(eb.x&&eb.y,"Need both x and y coordinate"),this.pub=this.ec.curve.point(eb.x,eb.y);return}this.pub=this.ec.curve.decodePoint(eb,em)},eM.prototype.derive=function(eb){return eb.validate()||ew(eb.validate(),"public point not validated"),eb.mul(this.priv).getX()},eM.prototype.sign=function(eb,em,eH){return this.ec.sign(eb,this,em,eH)},eM.prototype.verify=function(eb,em){return this.ec.verify(eb,em,this)},eM.prototype.inspect=function(){return""}},90611:function(eb,em,eH){"use strict";var eV=eH(73785),ew=eH(80953),eM=ew.assert;function eC(eb,em){if(eb instanceof eC)return eb;this._importDER(eb,em)||(eM(eb.r&&eb.s,"Signature without r or s"),this.r=new eV(eb.r,16),this.s=new eV(eb.s,16),void 0===eb.recoveryParam?this.recoveryParam=null:this.recoveryParam=eb.recoveryParam)}function eT(){this.place=0}function e_(eb,em){var eH=eb[em.place++];if(!(128&eH))return eH;var eV=15&eH;if(0===eV||eV>4)return!1;for(var ew=0,eM=0,eC=em.place;eM>>=0;return!(ew<=127)&&(em.place=eC,ew)}function eS(eb){for(var em=0,eH=eb.length-1;!eb[em]&&!(128&eb[em+1])&&em>>3);for(eb.push(128|eH);--eH;)eb.push(em>>>(eH<<3)&255);eb.push(em)}eb.exports=eC,eC.prototype._importDER=function(eb,em){eb=ew.toArray(eb,em);var eH=new eT;if(48!==eb[eH.place++])return!1;var eM=e_(eb,eH);if(!1===eM||eM+eH.place!==eb.length||2!==eb[eH.place++])return!1;var eC=e_(eb,eH);if(!1===eC)return!1;var eS=eb.slice(eH.place,eC+eH.place);if(eH.place+=eC,2!==eb[eH.place++])return!1;var eE=e_(eb,eH);if(!1===eE||eb.length!==eE+eH.place)return!1;var eA=eb.slice(eH.place,eE+eH.place);if(0===eS[0]){if(!(128&eS[1]))return!1;eS=eS.slice(1)}if(0===eA[0]){if(!(128&eA[1]))return!1;eA=eA.slice(1)}return this.r=new eV(eS),this.s=new eV(eA),this.recoveryParam=null,!0},eC.prototype.toDER=function(eb){var em=this.r.toArray(),eH=this.s.toArray();for(128&em[0]&&(em=[0].concat(em)),128&eH[0]&&(eH=[0].concat(eH)),em=eS(em),eH=eS(eH);!eH[0]&&!(128&eH[1]);)eH=eH.slice(1);var eV=[2];eE(eV,em.length),(eV=eV.concat(em)).push(2),eE(eV,eH.length);var eM=eV.concat(eH),eC=[48];return eE(eC,eM.length),eC=eC.concat(eM),ew.encode(eC,eb)}},65980:function(eb,em,eH){"use strict";var eV=eH(33715),ew=eH(45427),eM=eH(80953),eC=eM.assert,eT=eM.parseBytes,e_=eH(79087),eS=eH(23622);function eE(eb){if(eC("ed25519"===eb,"only tested with ed25519 so far"),!(this instanceof eE))return new eE(eb);eb=ew[eb].curve,this.curve=eb,this.g=eb.g,this.g.precompute(eb.n.bitLength()+1),this.pointClass=eb.point().constructor,this.encodingLength=Math.ceil(eb.n.bitLength()/8),this.hash=eV.sha512}eb.exports=eE,eE.prototype.sign=function(eb,em){eb=eT(eb);var eH=this.keyFromSecret(em),eV=this.hashInt(eH.messagePrefix(),eb),ew=this.g.mul(eV),eM=this.encodePoint(ew),eC=this.hashInt(eM,eH.pubBytes(),eb).mul(eH.priv()),e_=eV.add(eC).umod(this.curve.n);return this.makeSignature({R:ew,S:e_,Rencoded:eM})},eE.prototype.verify=function(eb,em,eH){eb=eT(eb),em=this.makeSignature(em);var eV=this.keyFromPublic(eH),ew=this.hashInt(em.Rencoded(),eV.pubBytes(),eb),eM=this.g.mul(em.S());return em.R().add(eV.pub().mul(ew)).eq(eM)},eE.prototype.hashInt=function(){for(var eb=this.hash(),em=0;em(ew>>1)-1?(ew>>1)-e_:e_,eM.isubn(eT)):eT=0,eV[eC]=eT,eM.iushrn(1)}return eV}function e_(eb,em){var eH=[[],[]];eb=eb.clone(),em=em.clone();for(var eV=0,ew=0;eb.cmpn(-eV)>0||em.cmpn(-ew)>0;){var eM,eC,eT,e_=eb.andln(3)+eV&3,eS=em.andln(3)+ew&3;3===e_&&(e_=-1),3===eS&&(eS=-1),eC=(1&e_)==0?0:(3==(eM=eb.andln(7)+eV&7)||5===eM)&&2===eS?-e_:e_,eH[0].push(eC),eT=(1&eS)==0?0:(3==(eM=em.andln(7)+ew&7)||5===eM)&&2===e_?-eS:eS,eH[1].push(eT),2*eV===eC+1&&(eV=1-eV),2*ew===eT+1&&(ew=1-ew),eb.iushrn(1),em.iushrn(1)}return eH}function eS(eb,em,eH){var eV="_"+em;eb.prototype[em]=function(){return void 0!==this[eV]?this[eV]:this[eV]=eH.call(this)}}function eE(eb){return"string"==typeof eb?eV.toArray(eb,"hex"):eb}function eA(eb){return new ew(eb,"hex","le")}eV.assert=eM,eV.toArray=eC.toArray,eV.zero2=eC.zero2,eV.toHex=eC.toHex,eV.encode=eC.encode,eV.getNAF=eT,eV.getJSF=e_,eV.cachedProperty=eS,eV.parseBytes=eE,eV.intFromLE=eA},73785:function(eb,em,eH){!function(eb,em){"use strict";function eV(eb,em){if(!eb)throw Error(em||"Assertion failed")}function ew(eb,em){eb.super_=em;var eH=function(){};eH.prototype=em.prototype,eb.prototype=new eH,eb.prototype.constructor=eb}function eM(eb,em,eH){if(eM.isBN(eb))return eb;this.negative=0,this.words=null,this.length=0,this.red=null,null!==eb&&(("le"===em||"be"===em)&&(eH=em,em=10),this._init(eb||0,em||10,eH||"be"))}"object"==typeof eb?eb.exports=eM:em.BN=eM,eM.BN=eM,eM.wordSize=26;try{eS="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:eH(85568).Buffer}catch(eb){}function eC(eb,em){var eH=eb.charCodeAt(em);return eH>=65&&eH<=70?eH-55:eH>=97&&eH<=102?eH-87:eH-48&15}function eT(eb,em,eH){var eV=eC(eb,eH);return eH-1>=em&&(eV|=eC(eb,eH-1)<<4),eV}function e_(eb,em,eH,eV){for(var ew=0,eM=Math.min(eb.length,eH),eC=em;eC=49?ew+=eT-49+10:eT>=17?ew+=eT-17+10:ew+=eT}return ew}eM.isBN=function(eb){return eb instanceof eM||null!==eb&&"object"==typeof eb&&eb.constructor.wordSize===eM.wordSize&&Array.isArray(eb.words)},eM.max=function(eb,em){return eb.cmp(em)>0?eb:em},eM.min=function(eb,em){return 0>eb.cmp(em)?eb:em},eM.prototype._init=function(eb,em,eH){if("number"==typeof eb)return this._initNumber(eb,em,eH);if("object"==typeof eb)return this._initArray(eb,em,eH);"hex"===em&&(em=16),eV(em===(0|em)&&em>=2&&em<=36);var ew=0;"-"===(eb=eb.toString().replace(/\s+/g,""))[0]&&(ew++,this.negative=1),ew=0;eC-=3)eM=eb[eC]|eb[eC-1]<<8|eb[eC-2]<<16,this.words[ew]|=eM<>>26-eT&67108863,(eT+=24)>=26&&(eT-=26,ew++);else if("le"===eH)for(eC=0,ew=0;eC>>26-eT&67108863,(eT+=24)>=26&&(eT-=26,ew++);return this.strip()},eM.prototype._parseHex=function(eb,em,eH){this.length=Math.ceil((eb.length-em)/6),this.words=Array(this.length);for(var eV,ew=0;ew=em;ew-=2)eV=eT(eb,em,ew)<=18?(eM-=18,eC+=1,this.words[eC]|=eV>>>26):eM+=8;else for(ew=(eb.length-em)%2==0?em+1:em;ew=18?(eM-=18,eC+=1,this.words[eC]|=eV>>>26):eM+=8;this.strip()},eM.prototype._parseBase=function(eb,em,eH){this.words=[0],this.length=1;for(var eV=0,ew=1;ew<=67108863;ew*=em)eV++;eV--,ew=ew/em|0;for(var eM=eb.length-eH,eC=eM%eV,eT=Math.min(eM,eM-eC)+eH,eS=0,eE=eH;eE1&&0===this.words[this.length-1];)this.length--;return this._normSign()},eM.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},eM.prototype.inspect=function(){return(this.red?""};var eS,eE=["","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"],eA=[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],eN=[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];function eI(eb){for(var em=Array(eb.bitLength()),eH=0;eH>>ew}return em}function eD(eb,em,eH){eH.negative=em.negative^eb.negative;var eV=eb.length+em.length|0;eH.length=eV,eV=eV-1|0;var ew=0|eb.words[0],eM=0|em.words[0],eC=ew*eM,eT=67108863&eC,e_=eC/67108864|0;eH.words[0]=eT;for(var eS=1;eS>>26,eA=67108863&e_,eN=Math.min(eS,em.length-1),eI=Math.max(0,eS-eb.length+1);eI<=eN;eI++){var eD=eS-eI|0;eE+=(eC=(ew=0|eb.words[eD])*(eM=0|em.words[eI])+eA)/67108864|0,eA=67108863&eC}eH.words[eS]=0|eA,e_=0|eE}return 0!==e_?eH.words[eS]=0|e_:eH.length--,eH.strip()}eM.prototype.toString=function(eb,em){if(em=0|em||1,16===(eb=eb||10)||"hex"===eb){eH="";for(var eH,ew=0,eM=0,eC=0;eC>>24-ew&16777215)||eC!==this.length-1?eE[6-e_.length]+e_+eH:e_+eH,(ew+=2)>=26&&(ew-=26,eC--)}for(0!==eM&&(eH=eM.toString(16)+eH);eH.length%em!=0;)eH="0"+eH;return 0!==this.negative&&(eH="-"+eH),eH}if(eb===(0|eb)&&eb>=2&&eb<=36){var eS=eA[eb],eI=eN[eb];eH="";var eD=this.clone();for(eD.negative=0;!eD.isZero();){var eP=eD.modn(eI).toString(eb);eH=(eD=eD.idivn(eI)).isZero()?eP+eH:eE[eS-eP.length]+eP+eH}for(this.isZero()&&(eH="0"+eH);eH.length%em!=0;)eH="0"+eH;return 0!==this.negative&&(eH="-"+eH),eH}eV(!1,"Base should be between 2 and 36")},eM.prototype.toNumber=function(){var eb=this.words[0];return 2===this.length?eb+=67108864*this.words[1]:3===this.length&&1===this.words[2]?eb+=4503599627370496+67108864*this.words[1]:this.length>2&&eV(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-eb:eb},eM.prototype.toJSON=function(){return this.toString(16)},eM.prototype.toBuffer=function(eb,em){return eV(void 0!==eS),this.toArrayLike(eS,eb,em)},eM.prototype.toArray=function(eb,em){return this.toArrayLike(Array,eb,em)},eM.prototype.toArrayLike=function(eb,em,eH){var ew,eM,eC=this.byteLength(),eT=eH||Math.max(1,eC);eV(eC<=eT,"byte array longer than desired length"),eV(eT>0,"Requested array length <= 0"),this.strip();var e_="le"===em,eS=new eb(eT),eE=this.clone();if(e_){for(eM=0;!eE.isZero();eM++)ew=eE.andln(255),eE.iushrn(8),eS[eM]=ew;for(;eM=4096&&(eH+=13,em>>>=13),em>=64&&(eH+=7,em>>>=7),em>=8&&(eH+=4,em>>>=4),em>=2&&(eH+=2,em>>>=2),eH+em},eM.prototype._zeroBits=function(eb){if(0===eb)return 26;var em=eb,eH=0;return(8191&em)==0&&(eH+=13,em>>>=13),(127&em)==0&&(eH+=7,em>>>=7),(15&em)==0&&(eH+=4,em>>>=4),(3&em)==0&&(eH+=2,em>>>=2),(1&em)==0&&eH++,eH},eM.prototype.bitLength=function(){var eb=this.words[this.length-1],em=this._countBits(eb);return(this.length-1)*26+em},eM.prototype.zeroBits=function(){if(this.isZero())return 0;for(var eb=0,em=0;emeb.length?this.clone().ior(eb):eb.clone().ior(this)},eM.prototype.uor=function(eb){return this.length>eb.length?this.clone().iuor(eb):eb.clone().iuor(this)},eM.prototype.iuand=function(eb){var em;em=this.length>eb.length?eb:this;for(var eH=0;eHeb.length?this.clone().iand(eb):eb.clone().iand(this)},eM.prototype.uand=function(eb){return this.length>eb.length?this.clone().iuand(eb):eb.clone().iuand(this)},eM.prototype.iuxor=function(eb){this.length>eb.length?(em=this,eH=eb):(em=eb,eH=this);for(var em,eH,eV=0;eVeb.length?this.clone().ixor(eb):eb.clone().ixor(this)},eM.prototype.uxor=function(eb){return this.length>eb.length?this.clone().iuxor(eb):eb.clone().iuxor(this)},eM.prototype.inotn=function(eb){eV("number"==typeof eb&&eb>=0);var em=0|Math.ceil(eb/26),eH=eb%26;this._expand(em),eH>0&&em--;for(var ew=0;ew0&&(this.words[ew]=~this.words[ew]&67108863>>26-eH),this.strip()},eM.prototype.notn=function(eb){return this.clone().inotn(eb)},eM.prototype.setn=function(eb,em){eV("number"==typeof eb&&eb>=0);var eH=eb/26|0,ew=eb%26;return this._expand(eH+1),em?this.words[eH]=this.words[eH]|1<eb.length?(eH=this,eV=eb):(eH=eb,eV=this);for(var em,eH,eV,ew=0,eM=0;eM>>26;for(;0!==ew&&eM>>26;if(this.length=eH.length,0!==ew)this.words[this.length]=ew,this.length++;else if(eH!==this)for(;eMeb.length?this.clone().iadd(eb):eb.clone().iadd(this)},eM.prototype.isub=function(eb){if(0!==eb.negative){eb.negative=0;var em,eH,eV=this.iadd(eb);return eb.negative=1,eV._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(eb),this.negative=1,this._normSign();var ew=this.cmp(eb);if(0===ew)return this.negative=0,this.length=1,this.words[0]=0,this;ew>0?(em=this,eH=eb):(em=eb,eH=this);for(var eM=0,eC=0;eC>26,this.words[eC]=67108863&eV;for(;0!==eM&&eC>26,this.words[eC]=67108863&eV;if(0===eM&&eC>>13,eI=0|eC[1],eD=8191&eI,eP=eI>>>13,eO=0|eC[2],eR=8191&eO,eB=eO>>>13,eF=0|eC[3],ej=8191&eF,eU=eF>>>13,e$=0|eC[4],eW=8191&e$,eZ=e$>>>13,eG=0|eC[5],eK=8191&eG,eY=eG>>>13,eX=0|eC[6],eJ=8191&eX,eQ=eX>>>13,e0=0|eC[7],e6=8191&e0,e4=e0>>>13,e3=0|eC[8],e5=8191&e3,e8=e3>>>13,e9=0|eC[9],e7=8191&e9,tH=e9>>>13,tV=0|eT[0],tw=8191&tV,tC=tV>>>13,tT=0|eT[1],t_=8191&tT,tS=tT>>>13,tE=0|eT[2],tA=8191&tE,tN=tE>>>13,tI=0|eT[3],tD=8191&tI,tP=tI>>>13,tO=0|eT[4],tR=8191&tO,tB=tO>>>13,tF=0|eT[5],tj=8191&tF,tU=tF>>>13,tq=0|eT[6],t$=8191&tq,tW=tq>>>13,tZ=0|eT[7],tG=8191&tZ,tK=tZ>>>13,tY=0|eT[8],tX=8191&tY,tJ=tY>>>13,tQ=0|eT[9],aH=8191&tQ,aV=tQ>>>13;eH.negative=eb.negative^em.negative,eH.length=19;var aM=(eS+(eV=Math.imul(eA,tw))|0)+((8191&(ew=(ew=Math.imul(eA,tC))+Math.imul(eN,tw)|0))<<13)|0;eS=((eM=Math.imul(eN,tC))+(ew>>>13)|0)+(aM>>>26)|0,aM&=67108863,eV=Math.imul(eD,tw),ew=(ew=Math.imul(eD,tC))+Math.imul(eP,tw)|0,eM=Math.imul(eP,tC);var aC=(eS+(eV=eV+Math.imul(eA,t_)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eA,tS)|0)+Math.imul(eN,t_)|0))<<13)|0;eS=((eM=eM+Math.imul(eN,tS)|0)+(ew>>>13)|0)+(aC>>>26)|0,aC&=67108863,eV=Math.imul(eR,tw),ew=(ew=Math.imul(eR,tC))+Math.imul(eB,tw)|0,eM=Math.imul(eB,tC),eV=eV+Math.imul(eD,t_)|0,ew=(ew=ew+Math.imul(eD,tS)|0)+Math.imul(eP,t_)|0,eM=eM+Math.imul(eP,tS)|0;var ak=(eS+(eV=eV+Math.imul(eA,tA)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eA,tN)|0)+Math.imul(eN,tA)|0))<<13)|0;eS=((eM=eM+Math.imul(eN,tN)|0)+(ew>>>13)|0)+(ak>>>26)|0,ak&=67108863,eV=Math.imul(ej,tw),ew=(ew=Math.imul(ej,tC))+Math.imul(eU,tw)|0,eM=Math.imul(eU,tC),eV=eV+Math.imul(eR,t_)|0,ew=(ew=ew+Math.imul(eR,tS)|0)+Math.imul(eB,t_)|0,eM=eM+Math.imul(eB,tS)|0,eV=eV+Math.imul(eD,tA)|0,ew=(ew=ew+Math.imul(eD,tN)|0)+Math.imul(eP,tA)|0,eM=eM+Math.imul(eP,tN)|0;var a_=(eS+(eV=eV+Math.imul(eA,tD)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eA,tP)|0)+Math.imul(eN,tD)|0))<<13)|0;eS=((eM=eM+Math.imul(eN,tP)|0)+(ew>>>13)|0)+(a_>>>26)|0,a_&=67108863,eV=Math.imul(eW,tw),ew=(ew=Math.imul(eW,tC))+Math.imul(eZ,tw)|0,eM=Math.imul(eZ,tC),eV=eV+Math.imul(ej,t_)|0,ew=(ew=ew+Math.imul(ej,tS)|0)+Math.imul(eU,t_)|0,eM=eM+Math.imul(eU,tS)|0,eV=eV+Math.imul(eR,tA)|0,ew=(ew=ew+Math.imul(eR,tN)|0)+Math.imul(eB,tA)|0,eM=eM+Math.imul(eB,tN)|0,eV=eV+Math.imul(eD,tD)|0,ew=(ew=ew+Math.imul(eD,tP)|0)+Math.imul(eP,tD)|0,eM=eM+Math.imul(eP,tP)|0;var aS=(eS+(eV=eV+Math.imul(eA,tR)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eA,tB)|0)+Math.imul(eN,tR)|0))<<13)|0;eS=((eM=eM+Math.imul(eN,tB)|0)+(ew>>>13)|0)+(aS>>>26)|0,aS&=67108863,eV=Math.imul(eK,tw),ew=(ew=Math.imul(eK,tC))+Math.imul(eY,tw)|0,eM=Math.imul(eY,tC),eV=eV+Math.imul(eW,t_)|0,ew=(ew=ew+Math.imul(eW,tS)|0)+Math.imul(eZ,t_)|0,eM=eM+Math.imul(eZ,tS)|0,eV=eV+Math.imul(ej,tA)|0,ew=(ew=ew+Math.imul(ej,tN)|0)+Math.imul(eU,tA)|0,eM=eM+Math.imul(eU,tN)|0,eV=eV+Math.imul(eR,tD)|0,ew=(ew=ew+Math.imul(eR,tP)|0)+Math.imul(eB,tD)|0,eM=eM+Math.imul(eB,tP)|0,eV=eV+Math.imul(eD,tR)|0,ew=(ew=ew+Math.imul(eD,tB)|0)+Math.imul(eP,tR)|0,eM=eM+Math.imul(eP,tB)|0;var aE=(eS+(eV=eV+Math.imul(eA,tj)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eA,tU)|0)+Math.imul(eN,tj)|0))<<13)|0;eS=((eM=eM+Math.imul(eN,tU)|0)+(ew>>>13)|0)+(aE>>>26)|0,aE&=67108863,eV=Math.imul(eJ,tw),ew=(ew=Math.imul(eJ,tC))+Math.imul(eQ,tw)|0,eM=Math.imul(eQ,tC),eV=eV+Math.imul(eK,t_)|0,ew=(ew=ew+Math.imul(eK,tS)|0)+Math.imul(eY,t_)|0,eM=eM+Math.imul(eY,tS)|0,eV=eV+Math.imul(eW,tA)|0,ew=(ew=ew+Math.imul(eW,tN)|0)+Math.imul(eZ,tA)|0,eM=eM+Math.imul(eZ,tN)|0,eV=eV+Math.imul(ej,tD)|0,ew=(ew=ew+Math.imul(ej,tP)|0)+Math.imul(eU,tD)|0,eM=eM+Math.imul(eU,tP)|0,eV=eV+Math.imul(eR,tR)|0,ew=(ew=ew+Math.imul(eR,tB)|0)+Math.imul(eB,tR)|0,eM=eM+Math.imul(eB,tB)|0,eV=eV+Math.imul(eD,tj)|0,ew=(ew=ew+Math.imul(eD,tU)|0)+Math.imul(eP,tj)|0,eM=eM+Math.imul(eP,tU)|0;var aN=(eS+(eV=eV+Math.imul(eA,t$)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eA,tW)|0)+Math.imul(eN,t$)|0))<<13)|0;eS=((eM=eM+Math.imul(eN,tW)|0)+(ew>>>13)|0)+(aN>>>26)|0,aN&=67108863,eV=Math.imul(e6,tw),ew=(ew=Math.imul(e6,tC))+Math.imul(e4,tw)|0,eM=Math.imul(e4,tC),eV=eV+Math.imul(eJ,t_)|0,ew=(ew=ew+Math.imul(eJ,tS)|0)+Math.imul(eQ,t_)|0,eM=eM+Math.imul(eQ,tS)|0,eV=eV+Math.imul(eK,tA)|0,ew=(ew=ew+Math.imul(eK,tN)|0)+Math.imul(eY,tA)|0,eM=eM+Math.imul(eY,tN)|0,eV=eV+Math.imul(eW,tD)|0,ew=(ew=ew+Math.imul(eW,tP)|0)+Math.imul(eZ,tD)|0,eM=eM+Math.imul(eZ,tP)|0,eV=eV+Math.imul(ej,tR)|0,ew=(ew=ew+Math.imul(ej,tB)|0)+Math.imul(eU,tR)|0,eM=eM+Math.imul(eU,tB)|0,eV=eV+Math.imul(eR,tj)|0,ew=(ew=ew+Math.imul(eR,tU)|0)+Math.imul(eB,tj)|0,eM=eM+Math.imul(eB,tU)|0,eV=eV+Math.imul(eD,t$)|0,ew=(ew=ew+Math.imul(eD,tW)|0)+Math.imul(eP,t$)|0,eM=eM+Math.imul(eP,tW)|0;var aI=(eS+(eV=eV+Math.imul(eA,tG)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eA,tK)|0)+Math.imul(eN,tG)|0))<<13)|0;eS=((eM=eM+Math.imul(eN,tK)|0)+(ew>>>13)|0)+(aI>>>26)|0,aI&=67108863,eV=Math.imul(e5,tw),ew=(ew=Math.imul(e5,tC))+Math.imul(e8,tw)|0,eM=Math.imul(e8,tC),eV=eV+Math.imul(e6,t_)|0,ew=(ew=ew+Math.imul(e6,tS)|0)+Math.imul(e4,t_)|0,eM=eM+Math.imul(e4,tS)|0,eV=eV+Math.imul(eJ,tA)|0,ew=(ew=ew+Math.imul(eJ,tN)|0)+Math.imul(eQ,tA)|0,eM=eM+Math.imul(eQ,tN)|0,eV=eV+Math.imul(eK,tD)|0,ew=(ew=ew+Math.imul(eK,tP)|0)+Math.imul(eY,tD)|0,eM=eM+Math.imul(eY,tP)|0,eV=eV+Math.imul(eW,tR)|0,ew=(ew=ew+Math.imul(eW,tB)|0)+Math.imul(eZ,tR)|0,eM=eM+Math.imul(eZ,tB)|0,eV=eV+Math.imul(ej,tj)|0,ew=(ew=ew+Math.imul(ej,tU)|0)+Math.imul(eU,tj)|0,eM=eM+Math.imul(eU,tU)|0,eV=eV+Math.imul(eR,t$)|0,ew=(ew=ew+Math.imul(eR,tW)|0)+Math.imul(eB,t$)|0,eM=eM+Math.imul(eB,tW)|0,eV=eV+Math.imul(eD,tG)|0,ew=(ew=ew+Math.imul(eD,tK)|0)+Math.imul(eP,tG)|0,eM=eM+Math.imul(eP,tK)|0;var aD=(eS+(eV=eV+Math.imul(eA,tX)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eA,tJ)|0)+Math.imul(eN,tX)|0))<<13)|0;eS=((eM=eM+Math.imul(eN,tJ)|0)+(ew>>>13)|0)+(aD>>>26)|0,aD&=67108863,eV=Math.imul(e7,tw),ew=(ew=Math.imul(e7,tC))+Math.imul(tH,tw)|0,eM=Math.imul(tH,tC),eV=eV+Math.imul(e5,t_)|0,ew=(ew=ew+Math.imul(e5,tS)|0)+Math.imul(e8,t_)|0,eM=eM+Math.imul(e8,tS)|0,eV=eV+Math.imul(e6,tA)|0,ew=(ew=ew+Math.imul(e6,tN)|0)+Math.imul(e4,tA)|0,eM=eM+Math.imul(e4,tN)|0,eV=eV+Math.imul(eJ,tD)|0,ew=(ew=ew+Math.imul(eJ,tP)|0)+Math.imul(eQ,tD)|0,eM=eM+Math.imul(eQ,tP)|0,eV=eV+Math.imul(eK,tR)|0,ew=(ew=ew+Math.imul(eK,tB)|0)+Math.imul(eY,tR)|0,eM=eM+Math.imul(eY,tB)|0,eV=eV+Math.imul(eW,tj)|0,ew=(ew=ew+Math.imul(eW,tU)|0)+Math.imul(eZ,tj)|0,eM=eM+Math.imul(eZ,tU)|0,eV=eV+Math.imul(ej,t$)|0,ew=(ew=ew+Math.imul(ej,tW)|0)+Math.imul(eU,t$)|0,eM=eM+Math.imul(eU,tW)|0,eV=eV+Math.imul(eR,tG)|0,ew=(ew=ew+Math.imul(eR,tK)|0)+Math.imul(eB,tG)|0,eM=eM+Math.imul(eB,tK)|0,eV=eV+Math.imul(eD,tX)|0,ew=(ew=ew+Math.imul(eD,tJ)|0)+Math.imul(eP,tX)|0,eM=eM+Math.imul(eP,tJ)|0;var aP=(eS+(eV=eV+Math.imul(eA,aH)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eA,aV)|0)+Math.imul(eN,aH)|0))<<13)|0;eS=((eM=eM+Math.imul(eN,aV)|0)+(ew>>>13)|0)+(aP>>>26)|0,aP&=67108863,eV=Math.imul(e7,t_),ew=(ew=Math.imul(e7,tS))+Math.imul(tH,t_)|0,eM=Math.imul(tH,tS),eV=eV+Math.imul(e5,tA)|0,ew=(ew=ew+Math.imul(e5,tN)|0)+Math.imul(e8,tA)|0,eM=eM+Math.imul(e8,tN)|0,eV=eV+Math.imul(e6,tD)|0,ew=(ew=ew+Math.imul(e6,tP)|0)+Math.imul(e4,tD)|0,eM=eM+Math.imul(e4,tP)|0,eV=eV+Math.imul(eJ,tR)|0,ew=(ew=ew+Math.imul(eJ,tB)|0)+Math.imul(eQ,tR)|0,eM=eM+Math.imul(eQ,tB)|0,eV=eV+Math.imul(eK,tj)|0,ew=(ew=ew+Math.imul(eK,tU)|0)+Math.imul(eY,tj)|0,eM=eM+Math.imul(eY,tU)|0,eV=eV+Math.imul(eW,t$)|0,ew=(ew=ew+Math.imul(eW,tW)|0)+Math.imul(eZ,t$)|0,eM=eM+Math.imul(eZ,tW)|0,eV=eV+Math.imul(ej,tG)|0,ew=(ew=ew+Math.imul(ej,tK)|0)+Math.imul(eU,tG)|0,eM=eM+Math.imul(eU,tK)|0,eV=eV+Math.imul(eR,tX)|0,ew=(ew=ew+Math.imul(eR,tJ)|0)+Math.imul(eB,tX)|0,eM=eM+Math.imul(eB,tJ)|0;var aO=(eS+(eV=eV+Math.imul(eD,aH)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eD,aV)|0)+Math.imul(eP,aH)|0))<<13)|0;eS=((eM=eM+Math.imul(eP,aV)|0)+(ew>>>13)|0)+(aO>>>26)|0,aO&=67108863,eV=Math.imul(e7,tA),ew=(ew=Math.imul(e7,tN))+Math.imul(tH,tA)|0,eM=Math.imul(tH,tN),eV=eV+Math.imul(e5,tD)|0,ew=(ew=ew+Math.imul(e5,tP)|0)+Math.imul(e8,tD)|0,eM=eM+Math.imul(e8,tP)|0,eV=eV+Math.imul(e6,tR)|0,ew=(ew=ew+Math.imul(e6,tB)|0)+Math.imul(e4,tR)|0,eM=eM+Math.imul(e4,tB)|0,eV=eV+Math.imul(eJ,tj)|0,ew=(ew=ew+Math.imul(eJ,tU)|0)+Math.imul(eQ,tj)|0,eM=eM+Math.imul(eQ,tU)|0,eV=eV+Math.imul(eK,t$)|0,ew=(ew=ew+Math.imul(eK,tW)|0)+Math.imul(eY,t$)|0,eM=eM+Math.imul(eY,tW)|0,eV=eV+Math.imul(eW,tG)|0,ew=(ew=ew+Math.imul(eW,tK)|0)+Math.imul(eZ,tG)|0,eM=eM+Math.imul(eZ,tK)|0,eV=eV+Math.imul(ej,tX)|0,ew=(ew=ew+Math.imul(ej,tJ)|0)+Math.imul(eU,tX)|0,eM=eM+Math.imul(eU,tJ)|0;var aR=(eS+(eV=eV+Math.imul(eR,aH)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eR,aV)|0)+Math.imul(eB,aH)|0))<<13)|0;eS=((eM=eM+Math.imul(eB,aV)|0)+(ew>>>13)|0)+(aR>>>26)|0,aR&=67108863,eV=Math.imul(e7,tD),ew=(ew=Math.imul(e7,tP))+Math.imul(tH,tD)|0,eM=Math.imul(tH,tP),eV=eV+Math.imul(e5,tR)|0,ew=(ew=ew+Math.imul(e5,tB)|0)+Math.imul(e8,tR)|0,eM=eM+Math.imul(e8,tB)|0,eV=eV+Math.imul(e6,tj)|0,ew=(ew=ew+Math.imul(e6,tU)|0)+Math.imul(e4,tj)|0,eM=eM+Math.imul(e4,tU)|0,eV=eV+Math.imul(eJ,t$)|0,ew=(ew=ew+Math.imul(eJ,tW)|0)+Math.imul(eQ,t$)|0,eM=eM+Math.imul(eQ,tW)|0,eV=eV+Math.imul(eK,tG)|0,ew=(ew=ew+Math.imul(eK,tK)|0)+Math.imul(eY,tG)|0,eM=eM+Math.imul(eY,tK)|0,eV=eV+Math.imul(eW,tX)|0,ew=(ew=ew+Math.imul(eW,tJ)|0)+Math.imul(eZ,tX)|0,eM=eM+Math.imul(eZ,tJ)|0;var aF=(eS+(eV=eV+Math.imul(ej,aH)|0)|0)+((8191&(ew=(ew=ew+Math.imul(ej,aV)|0)+Math.imul(eU,aH)|0))<<13)|0;eS=((eM=eM+Math.imul(eU,aV)|0)+(ew>>>13)|0)+(aF>>>26)|0,aF&=67108863,eV=Math.imul(e7,tR),ew=(ew=Math.imul(e7,tB))+Math.imul(tH,tR)|0,eM=Math.imul(tH,tB),eV=eV+Math.imul(e5,tj)|0,ew=(ew=ew+Math.imul(e5,tU)|0)+Math.imul(e8,tj)|0,eM=eM+Math.imul(e8,tU)|0,eV=eV+Math.imul(e6,t$)|0,ew=(ew=ew+Math.imul(e6,tW)|0)+Math.imul(e4,t$)|0,eM=eM+Math.imul(e4,tW)|0,eV=eV+Math.imul(eJ,tG)|0,ew=(ew=ew+Math.imul(eJ,tK)|0)+Math.imul(eQ,tG)|0,eM=eM+Math.imul(eQ,tK)|0,eV=eV+Math.imul(eK,tX)|0,ew=(ew=ew+Math.imul(eK,tJ)|0)+Math.imul(eY,tX)|0,eM=eM+Math.imul(eY,tJ)|0;var aj=(eS+(eV=eV+Math.imul(eW,aH)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eW,aV)|0)+Math.imul(eZ,aH)|0))<<13)|0;eS=((eM=eM+Math.imul(eZ,aV)|0)+(ew>>>13)|0)+(aj>>>26)|0,aj&=67108863,eV=Math.imul(e7,tj),ew=(ew=Math.imul(e7,tU))+Math.imul(tH,tj)|0,eM=Math.imul(tH,tU),eV=eV+Math.imul(e5,t$)|0,ew=(ew=ew+Math.imul(e5,tW)|0)+Math.imul(e8,t$)|0,eM=eM+Math.imul(e8,tW)|0,eV=eV+Math.imul(e6,tG)|0,ew=(ew=ew+Math.imul(e6,tK)|0)+Math.imul(e4,tG)|0,eM=eM+Math.imul(e4,tK)|0,eV=eV+Math.imul(eJ,tX)|0,ew=(ew=ew+Math.imul(eJ,tJ)|0)+Math.imul(eQ,tX)|0,eM=eM+Math.imul(eQ,tJ)|0;var aU=(eS+(eV=eV+Math.imul(eK,aH)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eK,aV)|0)+Math.imul(eY,aH)|0))<<13)|0;eS=((eM=eM+Math.imul(eY,aV)|0)+(ew>>>13)|0)+(aU>>>26)|0,aU&=67108863,eV=Math.imul(e7,t$),ew=(ew=Math.imul(e7,tW))+Math.imul(tH,t$)|0,eM=Math.imul(tH,tW),eV=eV+Math.imul(e5,tG)|0,ew=(ew=ew+Math.imul(e5,tK)|0)+Math.imul(e8,tG)|0,eM=eM+Math.imul(e8,tK)|0,eV=eV+Math.imul(e6,tX)|0,ew=(ew=ew+Math.imul(e6,tJ)|0)+Math.imul(e4,tX)|0,eM=eM+Math.imul(e4,tJ)|0;var aq=(eS+(eV=eV+Math.imul(eJ,aH)|0)|0)+((8191&(ew=(ew=ew+Math.imul(eJ,aV)|0)+Math.imul(eQ,aH)|0))<<13)|0;eS=((eM=eM+Math.imul(eQ,aV)|0)+(ew>>>13)|0)+(aq>>>26)|0,aq&=67108863,eV=Math.imul(e7,tG),ew=(ew=Math.imul(e7,tK))+Math.imul(tH,tG)|0,eM=Math.imul(tH,tK),eV=eV+Math.imul(e5,tX)|0,ew=(ew=ew+Math.imul(e5,tJ)|0)+Math.imul(e8,tX)|0,eM=eM+Math.imul(e8,tJ)|0;var a$=(eS+(eV=eV+Math.imul(e6,aH)|0)|0)+((8191&(ew=(ew=ew+Math.imul(e6,aV)|0)+Math.imul(e4,aH)|0))<<13)|0;eS=((eM=eM+Math.imul(e4,aV)|0)+(ew>>>13)|0)+(a$>>>26)|0,a$&=67108863,eV=Math.imul(e7,tX),ew=(ew=Math.imul(e7,tJ))+Math.imul(tH,tX)|0,eM=Math.imul(tH,tJ);var aW=(eS+(eV=eV+Math.imul(e5,aH)|0)|0)+((8191&(ew=(ew=ew+Math.imul(e5,aV)|0)+Math.imul(e8,aH)|0))<<13)|0;eS=((eM=eM+Math.imul(e8,aV)|0)+(ew>>>13)|0)+(aW>>>26)|0,aW&=67108863;var aZ=(eS+(eV=Math.imul(e7,aH))|0)+((8191&(ew=(ew=Math.imul(e7,aV))+Math.imul(tH,aH)|0))<<13)|0;return eS=((eM=Math.imul(tH,aV))+(ew>>>13)|0)+(aZ>>>26)|0,aZ&=67108863,e_[0]=aM,e_[1]=aC,e_[2]=ak,e_[3]=a_,e_[4]=aS,e_[5]=aE,e_[6]=aN,e_[7]=aI,e_[8]=aD,e_[9]=aP,e_[10]=aO,e_[11]=aR,e_[12]=aF,e_[13]=aj,e_[14]=aU,e_[15]=aq,e_[16]=a$,e_[17]=aW,e_[18]=aZ,0!==eS&&(e_[19]=eS,eH.length++),eH};function eO(eb,em,eH){eH.negative=em.negative^eb.negative,eH.length=eb.length+em.length;for(var eV=0,ew=0,eM=0;eM>>26)|0)>>>26,eC&=67108863}eH.words[eM]=eT,eV=eC,eC=ew}return 0!==eV?eH.words[eM]=eV:eH.length--,eH.strip()}function eR(eb,em,eH){return new eB().mulp(eb,em,eH)}function eB(eb,em){this.x=eb,this.y=em}Math.imul||(eP=eD),eM.prototype.mulTo=function(eb,em){var eH=this.length+eb.length;return 10===this.length&&10===eb.length?eP(this,eb,em):eH<63?eD(this,eb,em):eH<1024?eO(this,eb,em):eR(this,eb,em)},eB.prototype.makeRBT=function(eb){for(var em=Array(eb),eH=eM.prototype._countBits(eb)-1,eV=0;eV>=1;return eV},eB.prototype.permute=function(eb,em,eH,eV,ew,eM){for(var eC=0;eC>>=1)ew++;return 1<>>=13,eH[2*eC+1]=8191&eM,eM>>>=13;for(eC=2*em;eC>=26,em+=(ew/67108864|0)+(eM>>>26),this.words[eH]=67108863&eM}return 0!==em&&(this.words[eH]=em,this.length++),this},eM.prototype.muln=function(eb){return this.clone().imuln(eb)},eM.prototype.sqr=function(){return this.mul(this)},eM.prototype.isqr=function(){return this.imul(this.clone())},eM.prototype.pow=function(eb){var em=eI(eb);if(0===em.length)return new eM(1);for(var eH=this,eV=0;eV=0);var em,eH=eb%26,ew=(eb-eH)/26,eM=67108863>>>26-eH<<26-eH;if(0!==eH){var eC=0;for(em=0;em>>26-eH}eC&&(this.words[em]=eC,this.length++)}if(0!==ew){for(em=this.length-1;em>=0;em--)this.words[em+ew]=this.words[em];for(em=0;em=0),ew=em?(em-em%26)/26:0;var ew,eM=eb%26,eC=Math.min((eb-eM)/26,this.length),eT=67108863^67108863>>>eM<eC)for(this.length-=eC,eS=0;eS=0&&(0!==eE||eS>=ew);eS--){var eA=0|this.words[eS];this.words[eS]=eE<<26-eM|eA>>>eM,eE=eA&eT}return e_&&0!==eE&&(e_.words[e_.length++]=eE),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},eM.prototype.ishrn=function(eb,em,eH){return eV(0===this.negative),this.iushrn(eb,em,eH)},eM.prototype.shln=function(eb){return this.clone().ishln(eb)},eM.prototype.ushln=function(eb){return this.clone().iushln(eb)},eM.prototype.shrn=function(eb){return this.clone().ishrn(eb)},eM.prototype.ushrn=function(eb){return this.clone().iushrn(eb)},eM.prototype.testn=function(eb){eV("number"==typeof eb&&eb>=0);var em=eb%26,eH=(eb-em)/26,ew=1<=0);var em=eb%26,eH=(eb-em)/26;if(eV(0===this.negative,"imaskn works only with positive numbers"),this.length<=eH)return this;if(0!==em&&eH++,this.length=Math.min(eH,this.length),0!==em){var ew=67108863^67108863>>>em<=67108864;em++)this.words[em]-=67108864,em===this.length-1?this.words[em+1]=1:this.words[em+1]++;return this.length=Math.max(this.length,em+1),this},eM.prototype.isubn=function(eb){if(eV("number"==typeof eb),eV(eb<67108864),eb<0)return this.iaddn(-eb);if(0!==this.negative)return this.negative=0,this.iaddn(eb),this.negative=1,this;if(this.words[0]-=eb,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var em=0;em>26)-(e_/67108864|0),this.words[ew+eH]=67108863&eM}for(;ew>26,this.words[ew+eH]=67108863&eM;if(0===eT)return this.strip();for(eV(-1===eT),eT=0,ew=0;ew>26,this.words[ew]=67108863&eM;return this.negative=1,this.strip()},eM.prototype._wordDiv=function(eb,em){var eH,eV=this.length-eb.length,ew=this.clone(),eC=eb,eT=0|eC.words[eC.length-1];0!=(eV=26-this._countBits(eT))&&(eC=eC.ushln(eV),ew.iushln(eV),eT=0|eC.words[eC.length-1]);var e_=ew.length-eC.length;if("mod"!==em){(eH=new eM(null)).length=e_+1,eH.words=Array(eH.length);for(var eS=0;eS=0;eA--){var eN=(0|ew.words[eC.length+eA])*67108864+(0|ew.words[eC.length+eA-1]);for(eN=Math.min(eN/eT|0,67108863),ew._ishlnsubmul(eC,eN,eA);0!==ew.negative;)eN--,ew.negative=0,ew._ishlnsubmul(eC,1,eA),ew.isZero()||(ew.negative^=1);eH&&(eH.words[eA]=eN)}return eH&&eH.strip(),ew.strip(),"div"!==em&&0!==eV&&ew.iushrn(eV),{div:eH||null,mod:ew}},eM.prototype.divmod=function(eb,em,eH){var ew,eC,eT;return(eV(!eb.isZero()),this.isZero())?{div:new eM(0),mod:new eM(0)}:0!==this.negative&&0===eb.negative?(eT=this.neg().divmod(eb,em),"mod"!==em&&(ew=eT.div.neg()),"div"!==em&&(eC=eT.mod.neg(),eH&&0!==eC.negative&&eC.iadd(eb)),{div:ew,mod:eC}):0===this.negative&&0!==eb.negative?(eT=this.divmod(eb.neg(),em),"mod"!==em&&(ew=eT.div.neg()),{div:ew,mod:eT.mod}):(this.negative&eb.negative)!=0?(eT=this.neg().divmod(eb.neg(),em),"div"!==em&&(eC=eT.mod.neg(),eH&&0!==eC.negative&&eC.isub(eb)),{div:eT.div,mod:eC}):eb.length>this.length||0>this.cmp(eb)?{div:new eM(0),mod:this}:1===eb.length?"div"===em?{div:this.divn(eb.words[0]),mod:null}:"mod"===em?{div:null,mod:new eM(this.modn(eb.words[0]))}:{div:this.divn(eb.words[0]),mod:new eM(this.modn(eb.words[0]))}:this._wordDiv(eb,em)},eM.prototype.div=function(eb){return this.divmod(eb,"div",!1).div},eM.prototype.mod=function(eb){return this.divmod(eb,"mod",!1).mod},eM.prototype.umod=function(eb){return this.divmod(eb,"mod",!0).mod},eM.prototype.divRound=function(eb){var em=this.divmod(eb);if(em.mod.isZero())return em.div;var eH=0!==em.div.negative?em.mod.isub(eb):em.mod,eV=eb.ushrn(1),ew=eb.andln(1),eM=eH.cmp(eV);return eM<0||1===ew&&0===eM?em.div:0!==em.div.negative?em.div.isubn(1):em.div.iaddn(1)},eM.prototype.modn=function(eb){eV(eb<=67108863);for(var em=67108864%eb,eH=0,ew=this.length-1;ew>=0;ew--)eH=(em*eH+(0|this.words[ew]))%eb;return eH},eM.prototype.idivn=function(eb){eV(eb<=67108863);for(var em=0,eH=this.length-1;eH>=0;eH--){var ew=(0|this.words[eH])+67108864*em;this.words[eH]=ew/eb|0,em=ew%eb}return this.strip()},eM.prototype.divn=function(eb){return this.clone().idivn(eb)},eM.prototype.egcd=function(eb){eV(0===eb.negative),eV(!eb.isZero());var em=this,eH=eb.clone();em=0!==em.negative?em.umod(eb):em.clone();for(var ew=new eM(1),eC=new eM(0),eT=new eM(0),e_=new eM(1),eS=0;em.isEven()&&eH.isEven();)em.iushrn(1),eH.iushrn(1),++eS;for(var eE=eH.clone(),eA=em.clone();!em.isZero();){for(var eN=0,eI=1;(em.words[0]&eI)==0&&eN<26;++eN,eI<<=1);if(eN>0)for(em.iushrn(eN);eN-- >0;)(ew.isOdd()||eC.isOdd())&&(ew.iadd(eE),eC.isub(eA)),ew.iushrn(1),eC.iushrn(1);for(var eD=0,eP=1;(eH.words[0]&eP)==0&&eD<26;++eD,eP<<=1);if(eD>0)for(eH.iushrn(eD);eD-- >0;)(eT.isOdd()||e_.isOdd())&&(eT.iadd(eE),e_.isub(eA)),eT.iushrn(1),e_.iushrn(1);em.cmp(eH)>=0?(em.isub(eH),ew.isub(eT),eC.isub(e_)):(eH.isub(em),eT.isub(ew),e_.isub(eC))}return{a:eT,b:e_,gcd:eH.iushln(eS)}},eM.prototype._invmp=function(eb){eV(0===eb.negative),eV(!eb.isZero());var em,eH=this,ew=eb.clone();eH=0!==eH.negative?eH.umod(eb):eH.clone();for(var eC=new eM(1),eT=new eM(0),e_=ew.clone();eH.cmpn(1)>0&&ew.cmpn(1)>0;){for(var eS=0,eE=1;(eH.words[0]&eE)==0&&eS<26;++eS,eE<<=1);if(eS>0)for(eH.iushrn(eS);eS-- >0;)eC.isOdd()&&eC.iadd(e_),eC.iushrn(1);for(var eA=0,eN=1;(ew.words[0]&eN)==0&&eA<26;++eA,eN<<=1);if(eA>0)for(ew.iushrn(eA);eA-- >0;)eT.isOdd()&&eT.iadd(e_),eT.iushrn(1);eH.cmp(ew)>=0?(eH.isub(ew),eC.isub(eT)):(ew.isub(eH),eT.isub(eC))}return 0>(em=0===eH.cmpn(1)?eC:eT).cmpn(0)&&em.iadd(eb),em},eM.prototype.gcd=function(eb){if(this.isZero())return eb.abs();if(eb.isZero())return this.abs();var em=this.clone(),eH=eb.clone();em.negative=0,eH.negative=0;for(var eV=0;em.isEven()&&eH.isEven();eV++)em.iushrn(1),eH.iushrn(1);for(;;){for(;em.isEven();)em.iushrn(1);for(;eH.isEven();)eH.iushrn(1);var ew=em.cmp(eH);if(ew<0){var eM=em;em=eH,eH=eM}else if(0===ew||0===eH.cmpn(1))break;em.isub(eH)}return eH.iushln(eV)},eM.prototype.invm=function(eb){return this.egcd(eb).a.umod(eb)},eM.prototype.isEven=function(){return(1&this.words[0])==0},eM.prototype.isOdd=function(){return(1&this.words[0])==1},eM.prototype.andln=function(eb){return this.words[0]&eb},eM.prototype.bincn=function(eb){eV("number"==typeof eb);var em=eb%26,eH=(eb-em)/26,ew=1<>>26,eT&=67108863,this.words[eC]=eT}return 0!==eM&&(this.words[eC]=eM,this.length++),this},eM.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},eM.prototype.cmpn=function(eb){var em,eH=eb<0;if(0!==this.negative&&!eH)return -1;if(0===this.negative&&eH)return 1;if(this.strip(),this.length>1)em=1;else{eH&&(eb=-eb),eV(eb<=67108863,"Number is too big");var ew=0|this.words[0];em=ew===eb?0:eweb.length)return 1;if(this.length=0;eH--){var eV=0|this.words[eH],ew=0|eb.words[eH];if(eV!==ew){eVew&&(em=1);break}}return em},eM.prototype.gtn=function(eb){return 1===this.cmpn(eb)},eM.prototype.gt=function(eb){return 1===this.cmp(eb)},eM.prototype.gten=function(eb){return this.cmpn(eb)>=0},eM.prototype.gte=function(eb){return this.cmp(eb)>=0},eM.prototype.ltn=function(eb){return -1===this.cmpn(eb)},eM.prototype.lt=function(eb){return -1===this.cmp(eb)},eM.prototype.lten=function(eb){return 0>=this.cmpn(eb)},eM.prototype.lte=function(eb){return 0>=this.cmp(eb)},eM.prototype.eqn=function(eb){return 0===this.cmpn(eb)},eM.prototype.eq=function(eb){return 0===this.cmp(eb)},eM.red=function(eb){return new eG(eb)},eM.prototype.toRed=function(eb){return eV(!this.red,"Already a number in reduction context"),eV(0===this.negative,"red works only with positives"),eb.convertTo(this)._forceRed(eb)},eM.prototype.fromRed=function(){return eV(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},eM.prototype._forceRed=function(eb){return this.red=eb,this},eM.prototype.forceRed=function(eb){return eV(!this.red,"Already a number in reduction context"),this._forceRed(eb)},eM.prototype.redAdd=function(eb){return eV(this.red,"redAdd works only with red numbers"),this.red.add(this,eb)},eM.prototype.redIAdd=function(eb){return eV(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,eb)},eM.prototype.redSub=function(eb){return eV(this.red,"redSub works only with red numbers"),this.red.sub(this,eb)},eM.prototype.redISub=function(eb){return eV(this.red,"redISub works only with red numbers"),this.red.isub(this,eb)},eM.prototype.redShl=function(eb){return eV(this.red,"redShl works only with red numbers"),this.red.shl(this,eb)},eM.prototype.redMul=function(eb){return eV(this.red,"redMul works only with red numbers"),this.red._verify2(this,eb),this.red.mul(this,eb)},eM.prototype.redIMul=function(eb){return eV(this.red,"redMul works only with red numbers"),this.red._verify2(this,eb),this.red.imul(this,eb)},eM.prototype.redSqr=function(){return eV(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},eM.prototype.redISqr=function(){return eV(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},eM.prototype.redSqrt=function(){return eV(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},eM.prototype.redInvm=function(){return eV(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},eM.prototype.redNeg=function(){return eV(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},eM.prototype.redPow=function(eb){return eV(this.red&&!eb.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,eb)};var eF={k256:null,p224:null,p192:null,p25519:null};function ej(eb,em){this.name=eb,this.p=new eM(em,16),this.n=this.p.bitLength(),this.k=new eM(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function eU(){ej.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function e$(){ej.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function eW(){ej.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function eZ(){ej.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function eG(eb){if("string"==typeof eb){var em=eM._prime(eb);this.m=em.p,this.prime=em}else eV(eb.gtn(1),"modulus must be greater than 1"),this.m=eb,this.prime=null}function eK(eb){eG.call(this,eb),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new eM(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)}ej.prototype._tmp=function(){var eb=new eM(null);return eb.words=Array(Math.ceil(this.n/13)),eb},ej.prototype.ireduce=function(eb){var em,eH=eb;do this.split(eH,this.tmp),em=(eH=(eH=this.imulK(eH)).iadd(this.tmp)).bitLength();while(em>this.n);var eV=em0?eH.isub(this.p):void 0!==eH.strip?eH.strip():eH._strip(),eH},ej.prototype.split=function(eb,em){eb.iushrn(this.n,0,em)},ej.prototype.imulK=function(eb){return eb.imul(this.k)},ew(eU,ej),eU.prototype.split=function(eb,em){for(var eH=4194303,eV=Math.min(eb.length,9),ew=0;ew>>22,eM=eC}eM>>>=22,eb.words[ew-10]=eM,0===eM&&eb.length>10?eb.length-=10:eb.length-=9},eU.prototype.imulK=function(eb){eb.words[eb.length]=0,eb.words[eb.length+1]=0,eb.length+=2;for(var em=0,eH=0;eH>>=26,eb.words[eH]=ew,em=eV}return 0!==em&&(eb.words[eb.length++]=em),eb},eM._prime=function(eb){var em;if(eF[eb])return eF[eb];if("k256"===eb)em=new eU;else if("p224"===eb)em=new e$;else if("p192"===eb)em=new eW;else if("p25519"===eb)em=new eZ;else throw Error("Unknown prime "+eb);return eF[eb]=em,em},eG.prototype._verify1=function(eb){eV(0===eb.negative,"red works only with positives"),eV(eb.red,"red works only with red numbers")},eG.prototype._verify2=function(eb,em){eV((eb.negative|em.negative)==0,"red works only with positives"),eV(eb.red&&eb.red===em.red,"red works only with red numbers")},eG.prototype.imod=function(eb){return this.prime?this.prime.ireduce(eb)._forceRed(this):eb.umod(this.m)._forceRed(this)},eG.prototype.neg=function(eb){return eb.isZero()?eb.clone():this.m.sub(eb)._forceRed(this)},eG.prototype.add=function(eb,em){this._verify2(eb,em);var eH=eb.add(em);return eH.cmp(this.m)>=0&&eH.isub(this.m),eH._forceRed(this)},eG.prototype.iadd=function(eb,em){this._verify2(eb,em);var eH=eb.iadd(em);return eH.cmp(this.m)>=0&&eH.isub(this.m),eH},eG.prototype.sub=function(eb,em){this._verify2(eb,em);var eH=eb.sub(em);return 0>eH.cmpn(0)&&eH.iadd(this.m),eH._forceRed(this)},eG.prototype.isub=function(eb,em){this._verify2(eb,em);var eH=eb.isub(em);return 0>eH.cmpn(0)&&eH.iadd(this.m),eH},eG.prototype.shl=function(eb,em){return this._verify1(eb),this.imod(eb.ushln(em))},eG.prototype.imul=function(eb,em){return this._verify2(eb,em),this.imod(eb.imul(em))},eG.prototype.mul=function(eb,em){return this._verify2(eb,em),this.imod(eb.mul(em))},eG.prototype.isqr=function(eb){return this.imul(eb,eb.clone())},eG.prototype.sqr=function(eb){return this.mul(eb,eb)},eG.prototype.sqrt=function(eb){if(eb.isZero())return eb.clone();var em=this.m.andln(3);if(eV(em%2==1),3===em){var eH=this.m.add(new eM(1)).iushrn(2);return this.pow(eb,eH)}for(var ew=this.m.subn(1),eC=0;!ew.isZero()&&0===ew.andln(1);)eC++,ew.iushrn(1);eV(!ew.isZero());var eT=new eM(1).toRed(this),e_=eT.redNeg(),eS=this.m.subn(1).iushrn(1),eE=this.m.bitLength();for(eE=new eM(2*eE*eE).toRed(this);0!==this.pow(eE,eS).cmp(e_);)eE.redIAdd(e_);for(var eA=this.pow(eE,ew),eN=this.pow(eb,ew.addn(1).iushrn(1)),eI=this.pow(eb,ew),eD=eC;0!==eI.cmp(eT);){for(var eP=eI,eO=0;0!==eP.cmp(eT);eO++)eP=eP.redSqr();eV(eO=0;ew--){for(var eE=em.words[ew],eA=eS-1;eA>=0;eA--){var eN=eE>>eA&1;if(eC!==eV[0]&&(eC=this.sqr(eC)),0===eN&&0===eT){e_=0;continue}eT<<=1,eT|=eN,(++e_===eH||0===ew&&0===eA)&&(eC=this.mul(eC,eV[eT]),e_=0,eT=0)}eS=26}return eC},eG.prototype.convertTo=function(eb){var em=eb.umod(this.m);return em===eb?em.clone():em},eG.prototype.convertFrom=function(eb){var em=eb.clone();return em.red=null,em},eM.mont=function(eb){return new eK(eb)},ew(eK,eG),eK.prototype.convertTo=function(eb){return this.imod(eb.ushln(this.shift))},eK.prototype.convertFrom=function(eb){var em=this.imod(eb.mul(this.rinv));return em.red=null,em},eK.prototype.imul=function(eb,em){if(eb.isZero()||em.isZero())return eb.words[0]=0,eb.length=1,eb;var eH=eb.imul(em),eV=eH.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),ew=eH.isub(eV).iushrn(this.shift),eM=ew;return ew.cmp(this.m)>=0?eM=ew.isub(this.m):0>ew.cmpn(0)&&(eM=ew.iadd(this.m)),eM._forceRed(this)},eK.prototype.mul=function(eb,em){if(eb.isZero()||em.isZero())return new eM(0)._forceRed(this);var eH=eb.mul(em),eV=eH.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),ew=eH.isub(eV).iushrn(this.shift),eC=ew;return ew.cmp(this.m)>=0?eC=ew.isub(this.m):0>ew.cmpn(0)&&(eC=ew.iadd(this.m)),eC._forceRed(this)},eK.prototype.invm=function(eb){return this.imod(eb._invmp(this.m).mul(this.r2))._forceRed(this)}}(eb=eH.nmd(eb),this)},6752:function(eb){"use strict";eb.exports=function(eb){for(var em=[],eH=eb.length,eV=0;eV=55296&&ew<=56319&&eH>eV+1){var eM=eb.charCodeAt(eV+1);eM>=56320&&eM<=57343&&(ew=(ew-55296)*1024+eM-56320+65536,eV+=1)}if(ew<128){em.push(ew);continue}if(ew<2048){em.push(ew>>6|192),em.push(63&ew|128);continue}if(ew<55296||ew>=57344&&ew<65536){em.push(ew>>12|224),em.push(ew>>6&63|128),em.push(63&ew|128);continue}if(ew>=65536&&ew<=1114111){em.push(ew>>18|240),em.push(ew>>12&63|128),em.push(ew>>6&63|128),em.push(63&ew|128);continue}em.push(239,191,189)}return new Uint8Array(em).buffer}},24429:function(eb,em,eH){"use strict";var eV=eH(40210)("%Object.defineProperty%",!0)||!1;if(eV)try{eV({},"a",{value:1})}catch(eb){eV=!1}eb.exports=eV},53981:function(eb){"use strict";eb.exports=EvalError},81648:function(eb){"use strict";eb.exports=Error},24726:function(eb){"use strict";eb.exports=RangeError},26712:function(eb){"use strict";eb.exports=ReferenceError},33464:function(eb){"use strict";eb.exports=SyntaxError},14453:function(eb){"use strict";eb.exports=TypeError},43915:function(eb){"use strict";eb.exports=URIError},8091:function(eb){"use strict";function em(eb,em){if(null==eb)throw TypeError("Cannot convert first argument to object");for(var eH=Object(eb),eV=1;eVeb+em,eT=["sync","latest"];class e_ extends ew.default{constructor(eb){super(),this._blockResetDuration=eb.blockResetDuration||20*eM,this._usePastBlocks=eb.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(){if(this._currentBlock)return this._currentBlock;let eb=await new Promise(eb=>this.once("latest",eb));return eb}removeAllListeners(eb){return eb?super.removeAllListeners(eb):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(eb){eT.includes(eb)&&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 eT.map(eb=>this.listenerCount(eb)).reduce(eC)}_shouldUseNewBlock(eb){let em=this._currentBlock;if(!em)return!0;let eH=eS(eb),eV=eS(em);return this._usePastBlocks&&eHeV}_newPotentialLatest(eb){this._shouldUseNewBlock(eb)&&this._setCurrentBlock(eb)}_setCurrentBlock(eb){let em=this._currentBlock;this._currentBlock=eb,this.emit("latest",eb),this.emit("sync",{oldBlock:em,newBlock:eb})}_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}}function eS(eb){return Number.parseInt(eb,16)}em.BaseBlockTracker=e_},30790:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.PollingBlockTracker=void 0;let ew=eV(eH(23420)),eM=eV(eH(53786)),eC=eH(60190),eT=eH(59579),e_=(0,eT.createModuleLogger)(eT.projectLogger,"polling-block-tracker"),eS=(0,ew.default)(),eE=1e3;class eA extends eC.BaseBlockTracker{constructor(eb={}){var em;if(!eb.provider)throw Error("PollingBlockTracker - no provider specified.");super(Object.assign(Object.assign({},eb),{blockResetDuration:null!==(em=eb.blockResetDuration)&&void 0!==em?em:eb.pollingInterval})),this._provider=eb.provider,this._pollingInterval=eb.pollingInterval||20*eE,this._retryTimeout=eb.retryTimeout||this._pollingInterval/10,this._keepEventLoopActive=void 0===eb.keepEventLoopActive||eb.keepEventLoopActive,this._setSkipCacheFlag=eb.setSkipCacheFlag||!1}async checkForLatestBlock(){return await this._updateLatestBlock(),await this.getLatestBlock()}async _start(){this._synchronize()}async _end(){}async _synchronize(){for(var eb;this._isRunning;)try{await this._updateLatestBlock();let eb=eN(this._pollingInterval,!this._keepEventLoopActive);this.emit("_waitingForNextIteration"),await eb}catch(eV){let em=Error(`PollingBlockTracker - encountered an error while attempting to update latest block: -${null!==(eb=eV.stack)&&void 0!==eb?eb:eV}`);try{this.emit("error",em)}catch(eb){console.error(em)}let eH=eN(this._retryTimeout,!this._keepEventLoopActive);this.emit("_waitingForNextIteration"),await eH}}async _updateLatestBlock(){let eb=await this._fetchLatestBlock();this._newPotentialLatest(eb)}async _fetchLatestBlock(){let eb={jsonrpc:"2.0",id:eS(),method:"eth_blockNumber",params:[]};this._setSkipCacheFlag&&(eb.skipCache=!0),e_("Making request",eb);let em=await (0,eM.default)(em=>this._provider.sendAsync(eb,em))();if(e_("Got response",em),em.error)throw Error(`PollingBlockTracker - encountered error fetching block: -${em.error.message}`);return em.result}}function eN(eb,em){return new Promise(eH=>{let eV=setTimeout(eH,eb);eV.unref&&em&&eV.unref()})}em.PollingBlockTracker=eA},66767:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.SubscribeBlockTracker=void 0;let ew=eV(eH(23420)),eM=eH(60190),eC=(0,ew.default)();class eT extends eM.BaseBlockTracker{constructor(eb={}){if(!eb.provider)throw Error("SubscribeBlockTracker - no provider specified.");super(eb),this._provider=eb.provider,this._subscriptionId=null}async checkForLatestBlock(){return await this.getLatestBlock()}async _start(){if(void 0===this._subscriptionId||null===this._subscriptionId)try{let eb=await this._call("eth_blockNumber");this._subscriptionId=await this._call("eth_subscribe","newHeads"),this._provider.on("data",this._handleSubData.bind(this)),this._newPotentialLatest(eb)}catch(eb){this.emit("error",eb)}}async _end(){if(null!==this._subscriptionId&&void 0!==this._subscriptionId)try{await this._call("eth_unsubscribe",this._subscriptionId),this._subscriptionId=null}catch(eb){this.emit("error",eb)}}_call(eb,...em){return new Promise((eH,eV)=>{this._provider.sendAsync({id:eC(),method:eb,params:em,jsonrpc:"2.0"},(eb,em)=>{eb?eV(eb):eH(em.result)})})}_handleSubData(eb,em){var eH;"eth_subscription"===em.method&&(null===(eH=em.params)||void 0===eH?void 0:eH.subscription)===this._subscriptionId&&this._newPotentialLatest(em.params.result.number)}}em.SubscribeBlockTracker=eT},6842:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH),Object.defineProperty(eb,eV,{enumerable:!0,get:function(){return em[eH]}})}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),ew(eH(30790),em),ew(eH(66767),em)},59579:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.createModuleLogger=em.projectLogger=void 0;let eV=eH(51614);Object.defineProperty(em,"createModuleLogger",{enumerable:!0,get:function(){return eV.createModuleLogger}}),em.projectLogger=(0,eV.createProjectLogger)("eth-block-tracker")},19080:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.assertExhaustive=em.assertStruct=em.assert=em.AssertionError=void 0;let eV=eH(97884);function ew(eb){return"object"==typeof eb&&null!==eb&&"message"in eb}function eM(eb){var em,eH;return"string"==typeof(null===(eH=null===(em=null==eb?void 0:eb.prototype)||void 0===em?void 0:em.constructor)||void 0===eH?void 0:eH.name)}function eC(eb){let em=ew(eb)?eb.message:String(eb);return em.endsWith(".")?em.slice(0,-1):em}function eT(eb,em){return eM(eb)?new eb({message:em}):eb({message:em})}class e_ extends Error{constructor(eb){super(eb.message),this.code="ERR_ASSERTION"}}function eS(eb,em="Assertion failed.",eH=e_){if(!eb){if(em instanceof Error)throw em;throw eT(eH,em)}}function eE(eb,em,eH="Assertion failed",ew=e_){try{(0,eV.assert)(eb,em)}catch(eb){throw eT(ew,`${eH}: ${eC(eb)}.`)}}function eA(eb){throw Error("Invalid branch reached. Should be detected during compilation.")}em.AssertionError=e_,em.assert=eS,em.assertStruct=eE,em.assertExhaustive=eA},37188:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.base64=void 0;let eV=eH(97884),ew=eH(19080),eM=(eb,em={})=>{var eH,eM;let eC,eT;let e_=null!==(eH=em.paddingRequired)&&void 0!==eH&&eH,eS=null!==(eM=em.characterSet)&&void 0!==eM?eM:"base64";return"base64"===eS?eC=String.raw`[A-Za-z0-9+\/]`:((0,ew.assert)("base64url"===eS),eC=String.raw`[-_A-Za-z0-9]`),eT=e_?RegExp(`^(?:${eC}{4})*(?:${eC}{3}=|${eC}{2}==)?$`,"u"):RegExp(`^(?:${eC}{4})*(?:${eC}{2,3}|${eC}{3}=|${eC}{2}==)?$`,"u"),(0,eV.pattern)(eb,eT)};em.base64=eM},35319:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.createDataView=em.concatBytes=em.valueToBytes=em.stringToBytes=em.numberToBytes=em.signedBigIntToBytes=em.bigIntToBytes=em.hexToBytes=em.bytesToString=em.bytesToNumber=em.bytesToSignedBigInt=em.bytesToBigInt=em.bytesToHex=em.assertIsBytes=em.isBytes=void 0;let ew=eH(19080),eM=eH(57229),eC=48,eT=58,e_=87;function eS(){let eb=[];return()=>{if(0===eb.length)for(let em=0;em<256;em++)eb.push(em.toString(16).padStart(2,"0"));return eb}}let eE=eS();function eA(eb){return eb instanceof Uint8Array}function eN(eb){(0,ew.assert)(eA(eb),"Value must be a Uint8Array.")}function eI(eb){if(eN(eb),0===eb.length)return"0x";let em=eE(),eH=Array(eb.length);for(let eV=0;eV=BigInt(0),"Value must be a non-negative bigint.");let em=eb.toString(16);return eB(em)}function ej(eb,em){(0,ew.assert)(em>0);let eH=eb>>BigInt(31);return!((~eb&eH)+(eb&~eH)>>BigInt(8*em+-1))}function eU(eb,em){(0,ew.assert)("bigint"==typeof eb,"Value must be a bigint."),(0,ew.assert)("number"==typeof em,"Byte length must be a number."),(0,ew.assert)(em>0,"Byte length must be greater than 0."),(0,ew.assert)(ej(eb,em),"Byte length is too small to represent the given value.");let eH=eb,eV=new Uint8Array(em);for(let eb=0;eb>=BigInt(8);return eV.reverse()}function e$(eb){(0,ew.assert)("number"==typeof eb,"Value must be a number."),(0,ew.assert)(eb>=0,"Value must be a non-negative number."),(0,ew.assert)(Number.isSafeInteger(eb),"Value is not a safe integer. Use `bigIntToBytes` instead.");let em=eb.toString(16);return eB(em)}function eW(eb){return(0,ew.assert)("string"==typeof eb,"Value must be a string."),new TextEncoder().encode(eb)}function eZ(eb){if("bigint"==typeof eb)return eF(eb);if("number"==typeof eb)return e$(eb);if("string"==typeof eb)return eb.startsWith("0x")?eB(eb):eW(eb);if(eA(eb))return eb;throw TypeError(`Unsupported value type: "${typeof eb}".`)}function eG(eb){let em=Array(eb.length),eH=0;for(let eV=0;eVeb.call(em,eH,eV,this))}get(eb){return eM(this,eH,"f").get(eb)}has(eb){return eM(this,eH,"f").has(eb)}keys(){return eM(this,eH,"f").keys()}values(){return eM(this,eH,"f").values()}toString(){return`FrozenMap(${this.size}) {${this.size>0?` ${[...this.entries()].map(([eb,em])=>`${String(eb)} => ${String(em)}`).join(", ")} `:""}}`}}em.FrozenMap=eC;class eT{constructor(eb){eV.set(this,void 0),ew(this,eV,new Set(eb),"f"),Object.freeze(this)}get size(){return eM(this,eV,"f").size}[(eV=new WeakMap,Symbol.iterator)](){return eM(this,eV,"f")[Symbol.iterator]()}entries(){return eM(this,eV,"f").entries()}forEach(eb,em){return eM(this,eV,"f").forEach((eH,eV,ew)=>eb.call(em,eH,eV,this))}has(eb){return eM(this,eV,"f").has(eb)}keys(){return eM(this,eV,"f").keys()}values(){return eM(this,eV,"f").values()}toString(){return`FrozenSet(${this.size}) {${this.size>0?` ${[...this.values()].map(eb=>String(eb)).join(", ")} `:""}}`}}em.FrozenSet=eT,Object.freeze(eC),Object.freeze(eC.prototype),Object.freeze(eT),Object.freeze(eT.prototype)},430:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},57229:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.remove0x=em.add0x=em.assertIsStrictHexString=em.assertIsHexString=em.isStrictHexString=em.isHexString=em.StrictHexStruct=em.HexStruct=void 0;let eV=eH(97884),ew=eH(19080);function eM(eb){return(0,eV.is)(eb,em.HexStruct)}function eC(eb){return(0,eV.is)(eb,em.StrictHexStruct)}function eT(eb){(0,ew.assert)(eM(eb),"Value must be a hexadecimal string.")}function e_(eb){(0,ew.assert)(eC(eb),'Value must be a hexadecimal string, starting with "0x".')}function eS(eb){return eb.startsWith("0x")?eb:eb.startsWith("0X")?`0x${eb.substring(2)}`:`0x${eb}`}function eE(eb){return eb.startsWith("0x")||eb.startsWith("0X")?eb.substring(2):eb}em.HexStruct=(0,eV.pattern)((0,eV.string)(),/^(?:0x)?[0-9a-f]+$/iu),em.StrictHexStruct=(0,eV.pattern)((0,eV.string)(),/^0x[0-9a-f]+$/iu),em.isHexString=eM,em.isStrictHexString=eC,em.assertIsHexString=eT,em.assertIsStrictHexString=e_,em.add0x=eS,em.remove0x=eE},51614:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),ew(eH(19080),em),ew(eH(37188),em),ew(eH(35319),em),ew(eH(44713),em),ew(eH(62077),em),ew(eH(94514),em),ew(eH(430),em),ew(eH(57229),em),ew(eH(76653),em),ew(eH(86960),em),ew(eH(4178),em),ew(eH(84363),em),ew(eH(47155),em),ew(eH(65715),em),ew(eH(90281),em),ew(eH(36636),em),ew(eH(93481),em)},76653:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.getJsonRpcIdValidator=em.assertIsJsonRpcError=em.isJsonRpcError=em.assertIsJsonRpcFailure=em.isJsonRpcFailure=em.assertIsJsonRpcSuccess=em.isJsonRpcSuccess=em.assertIsJsonRpcResponse=em.isJsonRpcResponse=em.assertIsPendingJsonRpcResponse=em.isPendingJsonRpcResponse=em.JsonRpcResponseStruct=em.JsonRpcFailureStruct=em.JsonRpcSuccessStruct=em.PendingJsonRpcResponseStruct=em.assertIsJsonRpcRequest=em.isJsonRpcRequest=em.assertIsJsonRpcNotification=em.isJsonRpcNotification=em.JsonRpcNotificationStruct=em.JsonRpcRequestStruct=em.JsonRpcParamsStruct=em.JsonRpcErrorStruct=em.JsonRpcIdStruct=em.JsonRpcVersionStruct=em.jsonrpc2=em.getJsonSize=em.isValidJson=em.JsonStruct=em.UnsafeJsonStruct=void 0;let eV=eH(97884),ew=eH(19080),eM=()=>(0,eV.define)("finite number",eb=>(0,eV.is)(eb,(0,eV.number)())&&Number.isFinite(eb));function eC(eb){return(0,eV.is)(eb,em.JsonStruct)}function eT(eb){(0,ew.assertStruct)(eb,em.JsonStruct,"Invalid JSON value");let eH=JSON.stringify(eb);return new TextEncoder().encode(eH).byteLength}function e_(eb){return(0,eV.is)(eb,em.JsonRpcNotificationStruct)}function eS(eb,eH){(0,ew.assertStruct)(eb,em.JsonRpcNotificationStruct,"Invalid JSON-RPC notification",eH)}function eE(eb){return(0,eV.is)(eb,em.JsonRpcRequestStruct)}function eA(eb,eH){(0,ew.assertStruct)(eb,em.JsonRpcRequestStruct,"Invalid JSON-RPC request",eH)}function eN(eb){return(0,eV.is)(eb,em.PendingJsonRpcResponseStruct)}function eI(eb,eH){(0,ew.assertStruct)(eb,em.PendingJsonRpcResponseStruct,"Invalid pending JSON-RPC response",eH)}function eD(eb){return(0,eV.is)(eb,em.JsonRpcResponseStruct)}function eP(eb,eH){(0,ew.assertStruct)(eb,em.JsonRpcResponseStruct,"Invalid JSON-RPC response",eH)}function eO(eb){return(0,eV.is)(eb,em.JsonRpcSuccessStruct)}function eR(eb,eH){(0,ew.assertStruct)(eb,em.JsonRpcSuccessStruct,"Invalid JSON-RPC success response",eH)}function eB(eb){return(0,eV.is)(eb,em.JsonRpcFailureStruct)}function eF(eb,eH){(0,ew.assertStruct)(eb,em.JsonRpcFailureStruct,"Invalid JSON-RPC failure response",eH)}function ej(eb){return(0,eV.is)(eb,em.JsonRpcErrorStruct)}function eU(eb,eH){(0,ew.assertStruct)(eb,em.JsonRpcErrorStruct,"Invalid JSON-RPC error",eH)}function e$(eb){let{permitEmptyString:em,permitFractions:eH,permitNull:eV}=Object.assign({permitEmptyString:!0,permitFractions:!1,permitNull:!0},eb),ew=eb=>!!("number"==typeof eb&&(eH||Number.isInteger(eb))||"string"==typeof eb&&(em||eb.length>0)||eV&&null===eb);return ew}em.UnsafeJsonStruct=(0,eV.union)([(0,eV.literal)(null),(0,eV.boolean)(),eM(),(0,eV.string)(),(0,eV.array)((0,eV.lazy)(()=>em.UnsafeJsonStruct)),(0,eV.record)((0,eV.string)(),(0,eV.lazy)(()=>em.UnsafeJsonStruct))]),em.JsonStruct=(0,eV.define)("Json",(eb,eH)=>{function eV(eb,em){let eV=em.validator(eb,eH),ew=[...eV];return!(ew.length>0)||ew}try{let eH=eV(eb,em.UnsafeJsonStruct);if(!0!==eH)return eH;return eV(JSON.parse(JSON.stringify(eb)),em.UnsafeJsonStruct)}catch(eb){if(eb instanceof RangeError)return"Circular reference detected";return!1}}),em.isValidJson=eC,em.getJsonSize=eT,em.jsonrpc2="2.0",em.JsonRpcVersionStruct=(0,eV.literal)(em.jsonrpc2),em.JsonRpcIdStruct=(0,eV.nullable)((0,eV.union)([(0,eV.number)(),(0,eV.string)()])),em.JsonRpcErrorStruct=(0,eV.object)({code:(0,eV.integer)(),message:(0,eV.string)(),data:(0,eV.optional)(em.JsonStruct),stack:(0,eV.optional)((0,eV.string)())}),em.JsonRpcParamsStruct=(0,eV.optional)((0,eV.union)([(0,eV.record)((0,eV.string)(),em.JsonStruct),(0,eV.array)(em.JsonStruct)])),em.JsonRpcRequestStruct=(0,eV.object)({id:em.JsonRpcIdStruct,jsonrpc:em.JsonRpcVersionStruct,method:(0,eV.string)(),params:em.JsonRpcParamsStruct}),em.JsonRpcNotificationStruct=(0,eV.omit)(em.JsonRpcRequestStruct,["id"]),em.isJsonRpcNotification=e_,em.assertIsJsonRpcNotification=eS,em.isJsonRpcRequest=eE,em.assertIsJsonRpcRequest=eA,em.PendingJsonRpcResponseStruct=(0,eV.object)({id:em.JsonRpcIdStruct,jsonrpc:em.JsonRpcVersionStruct,result:(0,eV.optional)((0,eV.unknown)()),error:(0,eV.optional)(em.JsonRpcErrorStruct)}),em.JsonRpcSuccessStruct=(0,eV.object)({id:em.JsonRpcIdStruct,jsonrpc:em.JsonRpcVersionStruct,result:em.JsonStruct}),em.JsonRpcFailureStruct=(0,eV.object)({id:em.JsonRpcIdStruct,jsonrpc:em.JsonRpcVersionStruct,error:em.JsonRpcErrorStruct}),em.JsonRpcResponseStruct=(0,eV.union)([em.JsonRpcSuccessStruct,em.JsonRpcFailureStruct]),em.isPendingJsonRpcResponse=eN,em.assertIsPendingJsonRpcResponse=eI,em.isJsonRpcResponse=eD,em.assertIsJsonRpcResponse=eP,em.isJsonRpcSuccess=eO,em.assertIsJsonRpcSuccess=eR,em.isJsonRpcFailure=eB,em.assertIsJsonRpcFailure=eF,em.isJsonRpcError=ej,em.assertIsJsonRpcError=eU,em.getJsonRpcIdValidator=e$},86960:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},4178:function(eb,em,eH){"use strict";var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.createModuleLogger=em.createProjectLogger=void 0;let ew=eV(eH(11227)),eM=(0,ew.default)("metamask");function eC(eb){return eM.extend(eb)}function eT(eb,em){return eb.extend(em)}em.createProjectLogger=eC,em.createModuleLogger=eT},84363:function(eb,em){"use strict";var eH;function eV(eb){return Array.isArray(eb)&&eb.length>0}function ew(eb){return null==eb}function eM(eb){return!!eb&&"object"==typeof eb&&!Array.isArray(eb)}Object.defineProperty(em,"__esModule",{value:!0}),em.calculateNumberSize=em.calculateStringSize=em.isASCII=em.isPlainObject=em.ESCAPE_CHARACTERS_REGEXP=em.JsonSize=em.hasProperty=em.isObject=em.isNullOrUndefined=em.isNonEmptyArray=void 0,em.isNonEmptyArray=eV,em.isNullOrUndefined=ew,em.isObject=eM;let eC=(eb,em)=>Object.hasOwnProperty.call(eb,em);function eT(eb){if("object"!=typeof eb||null===eb)return!1;try{let em=eb;for(;null!==Object.getPrototypeOf(em);)em=Object.getPrototypeOf(em);return Object.getPrototypeOf(eb)===em}catch(eb){return!1}}function e_(eb){return 127>=eb.charCodeAt(0)}function eS(eb){var eH;let eV=eb.split("").reduce((eb,em)=>e_(em)?eb+1:eb+2,0);return eV+(null!==(eH=eb.match(em.ESCAPE_CHARACTERS_REGEXP))&&void 0!==eH?eH:[]).length}function eE(eb){return eb.toString().length}em.hasProperty=eC,function(eb){eb[eb.Null=4]="Null",eb[eb.Comma=1]="Comma",eb[eb.Wrapper=1]="Wrapper",eb[eb.True=4]="True",eb[eb.False=5]="False",eb[eb.Quote=1]="Quote",eb[eb.Colon=1]="Colon",eb[eb.Date=24]="Date"}(eH=em.JsonSize||(em.JsonSize={})),em.ESCAPE_CHARACTERS_REGEXP=/"|\\|\n|\r|\t/gu,em.isPlainObject=eT,em.isASCII=e_,em.calculateStringSize=eS,em.calculateNumberSize=eE},47155:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.hexToBigInt=em.hexToNumber=em.bigIntToHex=em.numberToHex=void 0;let eV=eH(19080),ew=eH(57229),eM=eb=>((0,eV.assert)("number"==typeof eb,"Value must be a number."),(0,eV.assert)(eb>=0,"Value must be a non-negative number."),(0,eV.assert)(Number.isSafeInteger(eb),"Value is not a safe integer. Use `bigIntToHex` instead."),(0,ew.add0x)(eb.toString(16)));em.numberToHex=eM;let eC=eb=>((0,eV.assert)("bigint"==typeof eb,"Value must be a bigint."),(0,eV.assert)(eb>=0,"Value must be a non-negative bigint."),(0,ew.add0x)(eb.toString(16)));em.bigIntToHex=eC;let eT=eb=>{(0,ew.assertIsHexString)(eb);let em=parseInt(eb,16);return(0,eV.assert)(Number.isSafeInteger(em),"Value is not a safe integer. Use `hexToBigInt` instead."),em};em.hexToNumber=eT;let e_=eb=>((0,ew.assertIsHexString)(eb),BigInt((0,ew.add0x)(eb)));em.hexToBigInt=e_},65715:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},90281:function(eb,em){"use strict";var eH;Object.defineProperty(em,"__esModule",{value:!0}),em.timeSince=em.inMilliseconds=em.Duration=void 0,function(eb){eb[eb.Millisecond=1]="Millisecond",eb[eb.Second=1e3]="Second",eb[eb.Minute=6e4]="Minute",eb[eb.Hour=36e5]="Hour",eb[eb.Day=864e5]="Day",eb[eb.Week=6048e5]="Week",eb[eb.Year=31536e6]="Year"}(eH=em.Duration||(em.Duration={}));let eV=eb=>Number.isInteger(eb)&&eb>=0,ew=(eb,em)=>{if(!eV(eb))throw Error(`"${em}" must be a non-negative integer. Received: "${eb}".`)};function eM(eb,em){return ew(eb,"count"),eb*em}function eC(eb){return ew(eb,"timestamp"),Date.now()-eb}em.inMilliseconds=eM,em.timeSince=eC},36636:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},93481:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.satisfiesVersionRange=em.gtRange=em.gtVersion=em.assertIsSemVerRange=em.assertIsSemVerVersion=em.isValidSemVerRange=em.isValidSemVerVersion=em.VersionRangeStruct=em.VersionStruct=void 0;let eV=eH(81249),ew=eH(97884),eM=eH(19080);function eC(eb){return(0,ew.is)(eb,em.VersionStruct)}function eT(eb){return(0,ew.is)(eb,em.VersionRangeStruct)}function e_(eb){(0,eM.assertStruct)(eb,em.VersionStruct)}function eS(eb){(0,eM.assertStruct)(eb,em.VersionRangeStruct)}function eE(eb,em){return(0,eV.gt)(eb,em)}function eA(eb,em){return(0,eV.gtr)(eb,em)}function eN(eb,em){return(0,eV.satisfies)(eb,em,{includePrerelease:!0})}em.VersionStruct=(0,ew.refine)((0,ew.string)(),"Version",eb=>null!==(0,eV.valid)(eb)||`Expected SemVer version, got "${eb}"`),em.VersionRangeStruct=(0,ew.refine)((0,ew.string)(),"Version range",eb=>null!==(0,eV.validRange)(eb)||`Expected SemVer range, got "${eb}"`),em.isValidSemVerVersion=eC,em.isValidSemVerRange=eT,em.assertIsSemVerVersion=e_,em.assertIsSemVerRange=eS,em.gtVersion=eE,em.gtRange=eA,em.satisfiesVersionRange=eN},53786:function(eb){"use strict";let em=(eb,em)=>function(){let eH=em.promiseModule,eV=Array(arguments.length);for(let eb=0;eb{em.errorFirst?eV.push(function(eb,eV){if(em.multiArgs){let em=Array(arguments.length-1);for(let eb=1;eb{let eV;eH=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:!0,promiseModule:Promise},eH);let ew=eb=>{let em=em=>"string"==typeof em?eb===em:em.test(eb);return eH.include?eH.include.some(em):!eH.exclude.some(em)};for(let eM in eV="function"==typeof eb?function(){return eH.excludeMain?eb.apply(this,arguments):em(eb,eH).apply(this,arguments)}:Object.create(Object.getPrototypeOf(eb)),eb){let eC=eb[eM];eV[eM]="function"==typeof eC&&ew(eM)?em(eC,eH):eC}return eV}},23256:function(eb,em,eH){let eV=eH(76622);class ew extends eV{constructor(){super(),this.allResults=[]}async update(){throw Error("BaseFilterWithHistory - no update method specified")}addResults(eb){this.allResults=this.allResults.concat(eb),super.addResults(eb)}addInitialResults(eb){this.allResults=this.allResults.concat(eb),super.addInitialResults(eb)}getAllResults(){return this.allResults}}eb.exports=ew},76622:function(eb,em,eH){let eV=eH(60779).default;class ew extends eV{constructor(){super(),this.updates=[]}async initialize(){}async update(){throw Error("BaseFilter - no update method specified")}addResults(eb){this.updates=this.updates.concat(eb),eb.forEach(eb=>this.emit("update",eb))}addInitialResults(eb){}getChangesAndClear(){let eb=this.updates;return this.updates=[],eb}}eb.exports=ew},72785:function(eb,em,eH){let eV=eH(76622),ew=eH(40207),{incrementHexInt:eM}=eH(98112);class eC extends eV{constructor({provider:eb,params:em}){super(),this.type="block",this.provider=eb}async update({oldBlock:eb,newBlock:em}){let eH=em,eV=eM(eb),eC=await ew({provider:this.provider,fromBlock:eV,toBlock:eH}),eT=eC.map(eb=>eb.hash);this.addResults(eT)}}eb.exports=eC},40207:function(eb){async function em({provider:eb,fromBlock:em,toBlock:ew}){em||(em=ew);let eC=eH(em),eT=eH(ew),e_=eT-eC+1,eS=Array(e_).fill().map((eb,em)=>eC+em).map(eV);return(await Promise.all(eS.map(em=>eM(eb,"eth_getBlockByNumber",[em,!1])))).filter(eb=>null!==eb)}function eH(eb){return null==eb?eb:Number.parseInt(eb,16)}function eV(eb){if(null==eb)return eb;let em=eb.toString(16);return"0x"+em}function ew(eb,em){return new Promise((eH,eV)=>{eb.sendAsync(em,(eb,em)=>{eb?eV(eb):em.error?eV(em.error):em.result?eH(em.result):eV(Error("Result was empty"))})})}async function eM(eb,em,eH){for(let eV=0;eV<3;eV++)try{return await ew(eb,{id:1,jsonrpc:"2.0",method:em,params:eH})}catch(eb){console.error(`provider.sendAsync failed: ${eb.stack||eb.message||eb}`)}return null}eb.exports=em},98112:function(eb){function em(...eb){let eH=eV(eb);return eH[0]}function eH(...eb){let em=eV(eb);return em[em.length-1]}function eV(eb){return eb.sort((eb,em)=>"latest"===eb||"earliest"===em?1:"latest"===em||"earliest"===eb?-1:eC(eb)-eC(em))}function ew(eb){return"0x"+eb.toString(16)}function eM(eb){return eb&&!["earliest","latest","pending"].includes(eb)}function eC(eb){return null==eb?eb:Number.parseInt(eb,16)}function eT(eb){if(null==eb)return eb;let em=eC(eb);return e_(em+1)}function e_(eb){if(null==eb)return eb;let em=eb.toString(16),eH=em.length%2;return eH&&(em="0"+em),"0x"+em}function eS(eb){let em="0x";for(let eH=0;eH{if(0===ew.length)return;let eH=await eA.acquire();try{await Promise.all(eP(ew).map(async eH=>{try{await eH.update({oldBlock:eb,newBlock:em})}catch(eb){console.error(eb)}}))}catch(eb){console.error(eb)}eH()};return eR.newLogFilter=eF,eR.newBlockFilter=ej,eR.newPendingTransactionFilter=eU,eR.uninstallFilter=eZ,eR.getFilterChanges=e$,eR.getFilterLogs=eW,eR.destroy=()=>{eY()},eR;async function eF(eb){let eH=new eC({provider:em,params:eb});return await eG(eH),eH}async function ej(){let eb=new eT({provider:em});return await eG(eb),eb}async function eU(){let eb=new e_({provider:em});return await eG(eb),eb}async function e$(eb){let em=eE(eb),eH=ew[em];if(!eH)throw Error(`No filter for index "${em}"`);let eV=eH.getChangesAndClear();return eV}async function eW(eb){let em=eE(eb),eH=ew[em];if(!eH)throw Error(`No filter for index "${em}"`);let eV=[];return"log"===eH.type&&(eV=eH.getAllResults()),eV}async function eZ(eb){let em=eE(eb),eH=ew[em],eV=!!eH;return eV&&await eK(em),eV}async function eG(em){let eV=eP(ew).length,eM=await eb.getLatestBlock();await em.initialize({currentBlock:eM}),ew[++eH]=em,em.id=eH,em.idHex=eS(eH);let eC=eP(ew).length;return eX({prevFilterCount:eV,newFilterCount:eC}),eH}async function eK(eb){let em=eP(ew).length;delete ew[eb];let eH=eP(ew).length;eX({prevFilterCount:em,newFilterCount:eH})}async function eY(){let eb=eP(ew).length;ew={},eX({prevFilterCount:eb,newFilterCount:0})}function eX({prevFilterCount:em,newFilterCount:eH}){if(0===em&&eH>0){eb.on("sync",eB);return}if(em>0&&0===eH){eb.removeListener("sync",eB);return}}}function eN(eb){return eI(async(...em)=>{let eH=await eb(...em),eV=eS(eH.id);return eV})}function eI(eb){return ew(async(em,eH)=>{let eV=await eb.apply(null,em.params);eH.result=eV})}function eD({mutex:eb}){return em=>async(eH,eV,ew,eM)=>{let eC=await eb.acquire();eC(),em(eH,eV,ew,eM)}}function eP(eb,em){let eH=[];for(let em in eb)eH.push(eb[em]);return eH}eb.exports=eA},81663:function(eb,em,eH){let eV=eH(75682),ew=eH(6417),eM=eH(23256),{bnToHex:eC,hexToInt:eT,incrementHexInt:e_,minBlockRef:eS,blockRefIsNumber:eE}=eH(98112);class eA extends eM{constructor({provider:eb,params:em}){super(),this.type="log",this.ethQuery=new eV(eb),this.params=Object.assign({fromBlock:"latest",toBlock:"latest",address:void 0,topics:[]},em),this.params.address&&(Array.isArray(this.params.address)||(this.params.address=[this.params.address]),this.params.address=this.params.address.map(eb=>eb.toLowerCase()))}async initialize({currentBlock:eb}){let em=this.params.fromBlock;["latest","pending"].includes(em)&&(em=eb),"earliest"===em&&(em="0x0"),this.params.fromBlock=em;let eH=eS(this.params.toBlock,eb),eV=Object.assign({},this.params,{toBlock:eH}),ew=await this._fetchLogs(eV);this.addInitialResults(ew)}async update({oldBlock:eb,newBlock:em}){let eH;let eV=em;eH=eb?e_(eb):em;let ew=Object.assign({},this.params,{fromBlock:eH,toBlock:eV}),eM=await this._fetchLogs(ew),eC=eM.filter(eb=>this.matchLog(eb));this.addResults(eC)}async _fetchLogs(eb){let em=await ew(em=>this.ethQuery.getLogs(eb,em))();return em}matchLog(eb){if(eT(this.params.fromBlock)>=eT(eb.blockNumber)||eE(this.params.toBlock)&&eT(this.params.toBlock)<=eT(eb.blockNumber))return!1;let em=eb.address&&eb.address.toLowerCase();if(this.params.address&&em&&!this.params.address.includes(em))return!1;let eH=this.params.topics.every((em,eH)=>{let eV=eb.topics[eH];if(!eV)return!1;eV=eV.toLowerCase();let ew=Array.isArray(em)?em:[em],eM=ew.includes(null);if(eM)return!0;ew=ew.map(eb=>eb.toLowerCase());let eC=ew.includes(eV);return eC});return eH}}eb.exports=eA},6417:function(eb){"use strict";let em=(eb,em,eH,eV)=>function(...ew){let eM=em.promiseModule;return new eM((eM,eC)=>{em.multiArgs?ew.push((...eb)=>{em.errorFirst?eb[0]?eC(eb):(eb.shift(),eM(eb)):eM(eb)}):em.errorFirst?ew.push((eb,em)=>{eb?eC(eb):eM(em)}):ew.push(eM);let eT=this===eH?eV:this;Reflect.apply(eb,eT,ew)})},eH=new WeakMap;eb.exports=(eb,eV)=>{eV={exclude:[/.+(?:Sync|Stream)$/],errorFirst:!0,promiseModule:Promise,...eV};let ew=typeof eb;if(!(null!==eb&&("object"===ew||"function"===ew)))throw TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${null===eb?"null":ew}\``);let eM=(eb,em)=>{let ew=eH.get(eb);if(ew||(ew={},eH.set(eb,ew)),em in ew)return ew[em];let eM=eb=>"string"==typeof eb||"symbol"==typeof em?em===eb:eb.test(em),eC=Reflect.getOwnPropertyDescriptor(eb,em),eT=void 0===eC||eC.writable||eC.configurable,e_=eV.include?eV.include.some(eM):!eV.exclude.some(eM),eS=e_&&eT;return ew[em]=eS,eS},eC=new WeakMap,eT=new Proxy(eb,{apply(eb,eH,ew){let eM=eC.get(eb);if(eM)return Reflect.apply(eM,eH,ew);let e_=eV.excludeMain?eb:em(eb,eV,eT,eb);return eC.set(eb,e_),Reflect.apply(e_,eH,ew)},get(eb,eH){let ew=eb[eH];if(!eM(eb,eH)||ew===Function.prototype[eH])return ew;let e_=eC.get(ew);if(e_)return e_;if("function"==typeof ew){let eH=em(ew,eV,eT,eb);return eC.set(ew,eH),eH}return ew}});return eT}},68961:function(eb,em,eH){let eV=eH(60779).default,{createAsyncMiddleware:ew,createScaffoldMiddleware:eM}=eH(88625),eC=eH(98406),{unsafeRandomBytes:eT,incrementHexInt:e_}=eH(98112),eS=eH(40207);function eE({blockTracker:eb,provider:em}){let eH={},eE=eC({blockTracker:eb,provider:em}),eN=!1,eI=new eV,eD=eM({eth_subscribe:ew(eP),eth_unsubscribe:ew(eO)});return eD.destroy=eB,{events:eI,middleware:eD};async function eP(eV,ew){let eM;if(eN)throw Error("SubscriptionManager - attempting to use after destroying");let eC=eV.params[0],eI=eT(16);switch(eC){case"newHeads":eM=eO({subId:eI});break;case"logs":let eD=eV.params[1],eP=await eE.newLogFilter(eD);eM=eB({subId:eI,filter:eP});break;default:throw Error(`SubscriptionManager - unsupported subscription type "${eC}"`)}function eO({subId:eH}){let eV={type:eC,destroy:async()=>{eb.removeListener("sync",eV.update)},update:async({oldBlock:eb,newBlock:eV})=>{let ew=eV,eM=e_(eb),eC=await eS({provider:em,fromBlock:eM,toBlock:ew}),eT=eC.map(eA).filter(eb=>null!==eb);eT.forEach(eb=>{eR(eH,eb)})}};return eb.on("sync",eV.update),eV}function eB({subId:eb,filter:em}){em.on("update",em=>eR(eb,em));let eH={type:eC,destroy:async()=>await eE.uninstallFilter(em.idHex)};return eH}eH[eI]=eM,ew.result=eI}async function eO(eb,em){if(eN)throw Error("SubscriptionManager - attempting to use after destroying");let eV=eb.params[0],ew=eH[eV];if(!ew){em.result=!1;return}delete eH[eV],await ew.destroy(),em.result=!0}function eR(eb,em){eI.emit("notification",{jsonrpc:"2.0",method:"eth_subscription",params:{subscription:eb,result:em}})}function eB(){for(let eb in eI.removeAllListeners(),eH)eH[eb].destroy(),delete eH[eb];eN=!0}}function eA(eb){return null==eb?null:{hash:eb.hash,parentHash:eb.parentHash,sha3Uncles:eb.sha3Uncles,miner:eb.miner,stateRoot:eb.stateRoot,transactionsRoot:eb.transactionsRoot,receiptsRoot:eb.receiptsRoot,logsBloom:eb.logsBloom,difficulty:eb.difficulty,number:eb.number,gasLimit:eb.gasLimit,gasUsed:eb.gasUsed,nonce:eb.nonce,mixHash:eb.mixHash,timestamp:eb.timestamp,extraData:eb.extraData}}eb.exports=eE},25792:function(eb,em,eH){let eV=eH(76622),ew=eH(40207),{incrementHexInt:eM}=eH(98112);class eC extends eV{constructor({provider:eb}){super(),this.type="tx",this.provider=eb}async update({oldBlock:eb}){let em=eb,eH=eM(eb),eV=await ew({provider:this.provider,fromBlock:eH,toBlock:em}),eC=[];for(let eb of eV)eC.push(...eb.transactions);this.addResults(eC)}}eb.exports=eC},75682:function(eb,em,eH){let eV=eH(47529),ew=eH(23420)();function eM(eb){let em=this;em.currentProvider=eb}function eC(eb){return function(){let em=this;var eH=[].slice.call(arguments),eV=eH.pop();em.sendAsync({method:eb,params:eH},eV)}}function eT(eb,em){return function(){let eH=this;var eV=[].slice.call(arguments),ew=eV.pop();eV.length=1e3&&eb<=4999}function eT(eb,em){if("[Circular]"!==em)return em}em.EthereumProviderError=eM},92662:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.errorValues=em.errorCodes=void 0,em.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}},em.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."}}},68797:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.ethErrors=void 0;let eV=eH(12294),ew=eH(68753),eM=eH(92662);function eC(eb,em){let[eH,eM]=e_(em);return new eV.EthereumRpcError(eb,eH||ew.getMessageFromCode(eb),eM)}function eT(eb,em){let[eH,eM]=e_(em);return new eV.EthereumProviderError(eb,eH||ew.getMessageFromCode(eb),eM)}function e_(eb){if(eb){if("string"==typeof eb)return[eb];if("object"==typeof eb&&!Array.isArray(eb)){let{message:em,data:eH}=eb;if(em&&"string"!=typeof em)throw Error("Must specify string message.");return[em||void 0,eH]}}return[]}em.ethErrors={rpc:{parse:eb=>eC(eM.errorCodes.rpc.parse,eb),invalidRequest:eb=>eC(eM.errorCodes.rpc.invalidRequest,eb),invalidParams:eb=>eC(eM.errorCodes.rpc.invalidParams,eb),methodNotFound:eb=>eC(eM.errorCodes.rpc.methodNotFound,eb),internal:eb=>eC(eM.errorCodes.rpc.internal,eb),server:eb=>{if(!eb||"object"!=typeof eb||Array.isArray(eb))throw Error("Ethereum RPC Server errors must provide single object argument.");let{code:em}=eb;if(!Number.isInteger(em)||em>-32005||em<-32099)throw Error('"code" must be an integer such that: -32099 <= code <= -32005');return eC(em,eb)},invalidInput:eb=>eC(eM.errorCodes.rpc.invalidInput,eb),resourceNotFound:eb=>eC(eM.errorCodes.rpc.resourceNotFound,eb),resourceUnavailable:eb=>eC(eM.errorCodes.rpc.resourceUnavailable,eb),transactionRejected:eb=>eC(eM.errorCodes.rpc.transactionRejected,eb),methodNotSupported:eb=>eC(eM.errorCodes.rpc.methodNotSupported,eb),limitExceeded:eb=>eC(eM.errorCodes.rpc.limitExceeded,eb)},provider:{userRejectedRequest:eb=>eT(eM.errorCodes.provider.userRejectedRequest,eb),unauthorized:eb=>eT(eM.errorCodes.provider.unauthorized,eb),unsupportedMethod:eb=>eT(eM.errorCodes.provider.unsupportedMethod,eb),disconnected:eb=>eT(eM.errorCodes.provider.disconnected,eb),chainDisconnected:eb=>eT(eM.errorCodes.provider.chainDisconnected,eb),custom:eb=>{if(!eb||"object"!=typeof eb||Array.isArray(eb))throw Error("Ethereum Provider custom errors must provide single object argument.");let{code:em,message:eH,data:ew}=eb;if(!eH||"string"!=typeof eH)throw Error('"message" must be a nonempty string');return new eV.EthereumProviderError(em,eH,ew)}}}},79826:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.getMessageFromCode=em.serializeError=em.EthereumProviderError=em.EthereumRpcError=em.ethErrors=em.errorCodes=void 0;let eV=eH(12294);Object.defineProperty(em,"EthereumRpcError",{enumerable:!0,get:function(){return eV.EthereumRpcError}}),Object.defineProperty(em,"EthereumProviderError",{enumerable:!0,get:function(){return eV.EthereumProviderError}});let ew=eH(68753);Object.defineProperty(em,"serializeError",{enumerable:!0,get:function(){return ew.serializeError}}),Object.defineProperty(em,"getMessageFromCode",{enumerable:!0,get:function(){return ew.getMessageFromCode}});let eM=eH(68797);Object.defineProperty(em,"ethErrors",{enumerable:!0,get:function(){return eM.ethErrors}});let eC=eH(92662);Object.defineProperty(em,"errorCodes",{enumerable:!0,get:function(){return eC.errorCodes}})},68753:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.serializeError=em.isValidCode=em.getMessageFromCode=em.JSON_RPC_SERVER_ERROR_MESSAGE=void 0;let eV=eH(92662),ew=eH(12294),eM=eV.errorCodes.rpc.internal,eC="Unspecified error message. This is a bug, please report it.",eT={code:eM,message:e_(eM)};function e_(eb,eH=eC){if(Number.isInteger(eb)){let eH=eb.toString();if(eI(eV.errorValues,eH))return eV.errorValues[eH].message;if(eA(eb))return em.JSON_RPC_SERVER_ERROR_MESSAGE}return eH}function eS(eb){if(!Number.isInteger(eb))return!1;let em=eb.toString();return!!(eV.errorValues[em]||eA(eb))}function eE(eb,{fallbackError:em=eT,shouldIncludeStack:eH=!1}={}){var eV,eM;if(!em||!Number.isInteger(em.code)||"string"!=typeof em.message)throw Error("Must provide fallback error with integer number code and string message.");if(eb instanceof ew.EthereumRpcError)return eb.serialize();let eC={};if(eb&&"object"==typeof eb&&!Array.isArray(eb)&&eI(eb,"code")&&eS(eb.code)){let em=eb;eC.code=em.code,em.message&&"string"==typeof em.message?(eC.message=em.message,eI(em,"data")&&(eC.data=em.data)):(eC.message=e_(eC.code),eC.data={originalError:eN(eb)})}else{eC.code=em.code;let eH=null===(eV=eb)||void 0===eV?void 0:eV.message;eC.message=eH&&"string"==typeof eH?eH:em.message,eC.data={originalError:eN(eb)}}let eE=null===(eM=eb)||void 0===eM?void 0:eM.stack;return eH&&eb&&eE&&"string"==typeof eE&&(eC.stack=eE),eC}function eA(eb){return eb>=-32099&&eb<=-32e3}function eN(eb){return eb&&"object"==typeof eb&&!Array.isArray(eb)?Object.assign({},eb):eb}function eI(eb,em){return Object.prototype.hasOwnProperty.call(eb,em)}em.JSON_RPC_SERVER_ERROR_MESSAGE="Unspecified server error.",em.getMessageFromCode=e_,em.isValidCode=eS,em.serializeError=eE},82192:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.keccak512=em.keccak384=em.keccak256=em.keccak224=void 0;let eV=eH(85426),ew=eH(58040);em.keccak224=(0,ew.wrapHash)(eV.keccak_224),em.keccak256=(()=>{let eb=(0,ew.wrapHash)(eV.keccak_256);return eb.create=eV.keccak_256.create,eb})(),em.keccak384=(0,ew.wrapHash)(eV.keccak_384),em.keccak512=(0,ew.wrapHash)(eV.keccak_512)},95053:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.secp256k1=void 0;var eV=eH(33497);Object.defineProperty(em,"secp256k1",{enumerable:!0,get:function(){return eV.secp256k1}})},58040:function(eb,em,eH){"use strict";eb=eH.nmd(eb);var eV=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.crypto=em.wrapHash=em.equalsBytes=em.hexToBytes=em.bytesToUtf8=em.utf8ToBytes=em.createView=em.concatBytes=em.toHex=em.bytesToHex=em.assertBytes=em.assertBool=void 0;let ew=eV(eH(27320)),eM=eH(98089),eC=ew.default.bool;em.assertBool=eC;let eT=ew.default.bytes;em.assertBytes=eT;var e_=eH(98089);function eS(eb){if(!(eb instanceof Uint8Array))throw TypeError(`bytesToUtf8 expected Uint8Array, got ${typeof eb}`);return new TextDecoder().decode(eb)}function eE(eb){let em=eb.startsWith("0x")?eb.substring(2):eb;return(0,eM.hexToBytes)(em)}function eA(eb,em){if(eb.length!==em.length)return!1;for(let eH=0;eH(ew.default.bytes(em),eb(em))}Object.defineProperty(em,"bytesToHex",{enumerable:!0,get:function(){return e_.bytesToHex}}),Object.defineProperty(em,"toHex",{enumerable:!0,get:function(){return e_.bytesToHex}}),Object.defineProperty(em,"concatBytes",{enumerable:!0,get:function(){return e_.concatBytes}}),Object.defineProperty(em,"createView",{enumerable:!0,get:function(){return e_.createView}}),Object.defineProperty(em,"utf8ToBytes",{enumerable:!0,get:function(){return e_.utf8ToBytes}}),em.bytesToUtf8=eS,em.hexToBytes=eE,em.equalsBytes=eA,em.wrapHash=eN,em.crypto=(()=>{let em="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,eH="function"==typeof eb.require&&eb.require.bind(eb);return{node:eH&&!em?eH("crypto"):void 0,web:em}})()},48670:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer,ew=this&&this.__read||function(eb,em){var eH="function"==typeof Symbol&&eb[Symbol.iterator];if(!eH)return eb;var eV,ew,eM=eH.call(eb),eC=[];try{for(;(void 0===em||em-- >0)&&!(eV=eM.next()).done;)eC.push(eV.value)}catch(eb){ew={error:eb}}finally{try{eV&&!eV.done&&(eH=eM.return)&&eH.call(eM)}finally{if(ew)throw ew.error}}return eC},eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.isZeroAddress=em.zeroAddress=em.importPublic=em.privateToAddress=em.privateToPublic=em.publicToAddress=em.pubToAddress=em.isValidPublic=em.isValidPrivate=em.generateAddress2=em.generateAddress=em.isValidChecksumAddress=em.toChecksumAddress=em.isValidAddress=em.Account=void 0;var eC=eM(eH(69282)),eT=eH(14538),e_=eH(43091),eS=eH(54846),eE=eH(56861),eA=eH(14651),eN=eH(45641),eI=eH(63746),eD=eH(2971),eP=function(){function eb(eb,em,eH,eV){void 0===eb&&(eb=new eT.BN(0)),void 0===em&&(em=new eT.BN(0)),void 0===eH&&(eH=eE.KECCAK256_RLP),void 0===eV&&(eV=eE.KECCAK256_NULL),this.nonce=eb,this.balance=em,this.stateRoot=eH,this.codeHash=eV,this._validate()}return eb.fromAccountData=function(em){var eH=em.nonce,eV=em.balance,ew=em.stateRoot,eM=em.codeHash;return new eb(eH?new eT.BN((0,eA.toBuffer)(eH)):void 0,eV?new eT.BN((0,eA.toBuffer)(eV)):void 0,ew?(0,eA.toBuffer)(ew):void 0,eM?(0,eA.toBuffer)(eM):void 0)},eb.fromRlpSerializedAccount=function(eb){var em=eT.rlp.decode(eb);if(!Array.isArray(em))throw Error("Invalid serialized account input. Must be array");return this.fromValuesArray(em)},eb.fromValuesArray=function(em){var eH=ew(em,4),eV=eH[0],eM=eH[1],eC=eH[2],e_=eH[3];return new eb(new eT.BN(eV),new eT.BN(eM),eC,e_)},eb.prototype._validate=function(){if(this.nonce.lt(new eT.BN(0)))throw Error("nonce must be greater than zero");if(this.balance.lt(new eT.BN(0)))throw Error("balance must be greater than zero");if(32!==this.stateRoot.length)throw Error("stateRoot must have a length of 32");if(32!==this.codeHash.length)throw Error("codeHash must have a length of 32")},eb.prototype.raw=function(){return[(0,eD.bnToUnpaddedBuffer)(this.nonce),(0,eD.bnToUnpaddedBuffer)(this.balance),this.stateRoot,this.codeHash]},eb.prototype.serialize=function(){return eT.rlp.encode(this.raw())},eb.prototype.isContract=function(){return!this.codeHash.equals(eE.KECCAK256_NULL)},eb.prototype.isEmpty=function(){return this.balance.isZero()&&this.nonce.isZero()&&this.codeHash.equals(eE.KECCAK256_NULL)},eb}();em.Account=eP;var eO=function(eb){try{(0,eI.assertIsString)(eb)}catch(eb){return!1}return/^0x[0-9a-fA-F]{40}$/.test(eb)};em.isValidAddress=eO;var eR=function(eb,em){(0,eI.assertIsHexString)(eb);var eH=(0,eS.stripHexPrefix)(eb).toLowerCase(),eV="";em&&(eV=(0,eD.toType)(em,eD.TypeOutput.BN).toString()+"0x");for(var ew=(0,eN.keccakFromString)(eV+eH).toString("hex"),eM="0x",eC=0;eC=8?eM+=eH[eC].toUpperCase():eM+=eH[eC];return eM};em.toChecksumAddress=eR;var eB=function(eb,eH){return(0,em.isValidAddress)(eb)&&(0,em.toChecksumAddress)(eb,eH)===eb};em.isValidChecksumAddress=eB;var eF=function(eb,em){(0,eI.assertIsBuffer)(eb),(0,eI.assertIsBuffer)(em);var eH=new eT.BN(em);return eH.isZero()?(0,eN.rlphash)([eb,null]).slice(-20):(0,eN.rlphash)([eb,eV.from(eH.toArray())]).slice(-20)};em.generateAddress=eF;var ej=function(eb,em,eH){return(0,eI.assertIsBuffer)(eb),(0,eI.assertIsBuffer)(em),(0,eI.assertIsBuffer)(eH),(0,eC.default)(20===eb.length),(0,eC.default)(32===em.length),(0,eN.keccak256)(eV.concat([eV.from("ff","hex"),eb,em,(0,eN.keccak256)(eH)])).slice(-20)};em.generateAddress2=ej;var eU=function(eb){return(0,e_.privateKeyVerify)(eb)};em.isValidPrivate=eU;var e$=function(eb,em){return(void 0===em&&(em=!1),(0,eI.assertIsBuffer)(eb),64===eb.length)?(0,e_.publicKeyVerify)(eV.concat([eV.from([4]),eb])):!!em&&(0,e_.publicKeyVerify)(eb)};em.isValidPublic=e$;var eW=function(eb,em){return void 0===em&&(em=!1),(0,eI.assertIsBuffer)(eb),em&&64!==eb.length&&(eb=eV.from((0,e_.publicKeyConvert)(eb,!1).slice(1))),(0,eC.default)(64===eb.length),(0,eN.keccak)(eb).slice(-20)};em.pubToAddress=eW,em.publicToAddress=em.pubToAddress;var eZ=function(eb){return(0,eI.assertIsBuffer)(eb),eV.from((0,e_.publicKeyCreate)(eb,!1)).slice(1)};em.privateToPublic=eZ;var eG=function(eb){return(0,em.publicToAddress)((0,em.privateToPublic)(eb))};em.privateToAddress=eG;var eK=function(eb){return(0,eI.assertIsBuffer)(eb),64!==eb.length&&(eb=eV.from((0,e_.publicKeyConvert)(eb,!1).slice(1))),eb};em.importPublic=eK;var eY=function(){var eb=20,em=(0,eA.zeros)(eb);return(0,eA.bufferToHex)(em)};em.zeroAddress=eY;var eX=function(eb){try{(0,eI.assertIsString)(eb)}catch(eb){return!1}return(0,em.zeroAddress)()===eb};em.isZeroAddress=eX},6871:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer,ew=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Address=void 0;var eM=ew(eH(69282)),eC=eH(14538),eT=eH(14651),e_=eH(48670),eS=function(){function eb(eb){(0,eM.default)(20===eb.length,"Invalid address length"),this.buf=eb}return eb.zero=function(){return new eb((0,eT.zeros)(20))},eb.fromString=function(em){return(0,eM.default)((0,e_.isValidAddress)(em),"Invalid address"),new eb((0,eT.toBuffer)(em))},eb.fromPublicKey=function(em){(0,eM.default)(eV.isBuffer(em),"Public key should be Buffer");var eH=(0,e_.pubToAddress)(em);return new eb(eH)},eb.fromPrivateKey=function(em){(0,eM.default)(eV.isBuffer(em),"Private key should be Buffer");var eH=(0,e_.privateToAddress)(em);return new eb(eH)},eb.generate=function(em,eH){return(0,eM.default)(eC.BN.isBN(eH)),new eb((0,e_.generateAddress)(em.buf,eH.toArrayLike(eV)))},eb.generate2=function(em,eH,ew){return(0,eM.default)(eV.isBuffer(eH)),(0,eM.default)(eV.isBuffer(ew)),new eb((0,e_.generateAddress2)(em.buf,eH,ew))},eb.prototype.equals=function(eb){return this.buf.equals(eb.buf)},eb.prototype.isZero=function(){return this.equals(eb.zero())},eb.prototype.isPrecompileOrSystemAddress=function(){var eb=new eC.BN(this.buf),em=new eC.BN(0),eH=new eC.BN("ffff","hex");return eb.gte(em)&&eb.lte(eH)},eb.prototype.toString=function(){return"0x"+this.buf.toString("hex")},eb.prototype.toBuffer=function(){return eV.from(this.buf)},eb}();em.Address=eS},14651:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer,ew=this&&this.__values||function(eb){var em="function"==typeof Symbol&&Symbol.iterator,eH=em&&eb[em],eV=0;if(eH)return eH.call(eb);if(eb&&"number"==typeof eb.length)return{next:function(){return eb&&eV>=eb.length&&(eb=void 0),{value:eb&&eb[eV++],done:!eb}}};throw TypeError(em?"Object is not iterable.":"Symbol.iterator is not defined.")},eM=this&&this.__read||function(eb,em){var eH="function"==typeof Symbol&&eb[Symbol.iterator];if(!eH)return eb;var eV,ew,eM=eH.call(eb),eC=[];try{for(;(void 0===em||em-- >0)&&!(eV=eM.next()).done;)eC.push(eV.value)}catch(eb){ew={error:eb}}finally{try{eV&&!eV.done&&(eH=eM.return)&&eH.call(eM)}finally{if(ew)throw ew.error}}return eC};Object.defineProperty(em,"__esModule",{value:!0}),em.bufArrToArr=em.arrToBufArr=em.validateNoLeadingZeroes=em.baToJSON=em.toUtf8=em.addHexPrefix=em.toUnsigned=em.fromSigned=em.bufferToHex=em.bufferToInt=em.toBuffer=em.unpadHexString=em.unpadArray=em.unpadBuffer=em.setLengthRight=em.setLengthLeft=em.zeros=em.intToBuffer=em.intToHex=void 0;var eC=eH(14538),eT=eH(54846),e_=eH(63746),eS=function(eb){if(!Number.isSafeInteger(eb)||eb<0)throw Error("Received an invalid integer type: ".concat(eb));return"0x".concat(eb.toString(16))};em.intToHex=eS;var eE=function(eb){var eH=(0,em.intToHex)(eb);return eV.from((0,eT.padToEven)(eH.slice(2)),"hex")};em.intToBuffer=eE;var eA=function(eb){return eV.allocUnsafe(eb).fill(0)};em.zeros=eA;var eN=function(eb,eH,eV){var ew=(0,em.zeros)(eH);return eV?eb.length0&&"0"===em.toString();)em=(eb=eb.slice(1))[0];return eb},eO=function(eb){return(0,e_.assertIsBuffer)(eb),eP(eb)};em.unpadBuffer=eO;var eR=function(eb){return(0,e_.assertIsArray)(eb),eP(eb)};em.unpadArray=eR;var eB=function(eb){return(0,e_.assertIsHexString)(eb),eP(eb=(0,eT.stripHexPrefix)(eb))};em.unpadHexString=eB;var eF=function(eb){if(null==eb)return eV.allocUnsafe(0);if(eV.isBuffer(eb)||Array.isArray(eb)||eb instanceof Uint8Array)return eV.from(eb);if("string"==typeof eb){if(!(0,eT.isHexString)(eb))throw Error("Cannot convert string to buffer. toBuffer only supports 0x-prefixed hex strings and this string was given: ".concat(eb));return eV.from((0,eT.padToEven)((0,eT.stripHexPrefix)(eb)),"hex")}if("number"==typeof eb)return(0,em.intToBuffer)(eb);if(eC.BN.isBN(eb)){if(eb.isNeg())throw Error("Cannot convert negative BN to buffer. Given: ".concat(eb));return eb.toArrayLike(eV)}if(eb.toArray)return eV.from(eb.toArray());if(eb.toBuffer)return eV.from(eb.toBuffer());throw Error("invalid type")};em.toBuffer=eF;var ej=function(eb){return new eC.BN((0,em.toBuffer)(eb)).toNumber()};em.bufferToInt=ej;var eU=function(eb){return"0x"+(eb=(0,em.toBuffer)(eb)).toString("hex")};em.bufferToHex=eU;var e$=function(eb){return new eC.BN(eb).fromTwos(256)};em.fromSigned=e$;var eW=function(eb){return eV.from(eb.toTwos(256).toArray())};em.toUnsigned=eW;var eZ=function(eb){return"string"!=typeof eb?eb:(0,eT.isHexPrefixed)(eb)?eb:"0x"+eb};em.addHexPrefix=eZ;var eG=function(eb){var em=/^(00)+|(00)+$/g;if((eb=(0,eT.stripHexPrefix)(eb)).length%2!=0)throw Error("Invalid non-even hex string input for toUtf8() provided");return eV.from(eb.replace(em,""),"hex").toString("utf8")};em.toUtf8=eG;var eK=function(eb){if(eV.isBuffer(eb))return"0x".concat(eb.toString("hex"));if(eb instanceof Array){for(var eH=[],ew=0;ew0&&0===eS[0])throw Error("".concat(e_," cannot have leading zeroes, received: ").concat(eS.toString("hex")))}}catch(eb){em={error:eb}}finally{try{eC&&!eC.done&&(eH=eV.return)&&eH.call(eV)}finally{if(em)throw em.error}}};function eX(eb){return Array.isArray(eb)?eb.map(function(eb){return eX(eb)}):eV.from(eb)}function eJ(eb){return Array.isArray(eb)?eb.map(function(eb){return eJ(eb)}):Uint8Array.from(null!=eb?eb:[])}em.validateNoLeadingZeroes=eY,em.arrToBufArr=eX,em.bufArrToArr=eJ},56861:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.KECCAK256_RLP=em.KECCAK256_RLP_S=em.KECCAK256_RLP_ARRAY=em.KECCAK256_RLP_ARRAY_S=em.KECCAK256_NULL=em.KECCAK256_NULL_S=em.TWO_POW256=em.MAX_INTEGER=em.MAX_UINT64=void 0;var eV=eH(48764),ew=eH(14538);em.MAX_UINT64=new ew.BN("ffffffffffffffff",16),em.MAX_INTEGER=new ew.BN("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",16),em.TWO_POW256=new ew.BN("10000000000000000000000000000000000000000000000000000000000000000",16),em.KECCAK256_NULL_S="c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",em.KECCAK256_NULL=eV.Buffer.from(em.KECCAK256_NULL_S,"hex"),em.KECCAK256_RLP_ARRAY_S="1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",em.KECCAK256_RLP_ARRAY=eV.Buffer.from(em.KECCAK256_RLP_ARRAY_S,"hex"),em.KECCAK256_RLP_S="56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",em.KECCAK256_RLP=eV.Buffer.from(em.KECCAK256_RLP_S,"hex")},14538:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__setModuleDefault||(Object.create?function(eb,em){Object.defineProperty(eb,"default",{enumerable:!0,value:em})}:function(eb,em){eb.default=em}),eM=this&&this.__importStar||function(eb){if(eb&&eb.__esModule)return eb;var em={};if(null!=eb)for(var eH in eb)"default"!==eH&&Object.prototype.hasOwnProperty.call(eb,eH)&&eV(em,eb,eH);return ew(em,eb),em},eC=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.rlp=em.BN=void 0;var eT=eC(eH(13550));em.BN=eT.default;var e_=eM(eH(51675));em.rlp=e_},45641:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.rlphash=em.ripemd160FromArray=em.ripemd160FromString=em.ripemd160=em.sha256FromArray=em.sha256FromString=em.sha256=em.keccakFromArray=em.keccakFromHexString=em.keccakFromString=em.keccak256=em.keccak=void 0;var ew=eH(72543),eM=eH(23482),eC=eH(14538),eT=eH(14651),e_=eH(63746),eS=function(eb,em){switch(void 0===em&&(em=256),(0,e_.assertIsBuffer)(eb),em){case 224:return(0,ew.keccak224)(eb);case 256:return(0,ew.keccak256)(eb);case 384:return(0,ew.keccak384)(eb);case 512:return(0,ew.keccak512)(eb);default:throw Error("Invald algorithm: keccak".concat(em))}};em.keccak=eS;var eE=function(eb){return(0,em.keccak)(eb)};em.keccak256=eE;var eA=function(eb,eH){void 0===eH&&(eH=256),(0,e_.assertIsString)(eb);var ew=eV.from(eb,"utf8");return(0,em.keccak)(ew,eH)};em.keccakFromString=eA;var eN=function(eb,eH){return void 0===eH&&(eH=256),(0,e_.assertIsHexString)(eb),(0,em.keccak)((0,eT.toBuffer)(eb),eH)};em.keccakFromHexString=eN;var eI=function(eb,eH){return void 0===eH&&(eH=256),(0,e_.assertIsArray)(eb),(0,em.keccak)((0,eT.toBuffer)(eb),eH)};em.keccakFromArray=eI;var eD=function(eb){return eb=(0,eT.toBuffer)(eb),eM("sha256").update(eb).digest()},eP=function(eb){return(0,e_.assertIsBuffer)(eb),eD(eb)};em.sha256=eP;var eO=function(eb){return(0,e_.assertIsString)(eb),eD(eb)};em.sha256FromString=eO;var eR=function(eb){return(0,e_.assertIsArray)(eb),eD(eb)};em.sha256FromArray=eR;var eB=function(eb,em){eb=(0,eT.toBuffer)(eb);var eH=eM("rmd160").update(eb).digest();return!0===em?(0,eT.setLengthLeft)(eH,32):eH},eF=function(eb,em){return(0,e_.assertIsBuffer)(eb),eB(eb,em)};em.ripemd160=eF;var ej=function(eb,em){return(0,e_.assertIsString)(eb),eB(eb,em)};em.ripemd160FromString=ej;var eU=function(eb,em){return(0,e_.assertIsArray)(eb),eB(eb,em)};em.ripemd160FromArray=eU;var e$=function(eb){return(0,em.keccak)(eC.rlp.encode(eb))};em.rlphash=e$},63746:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.assertIsString=em.assertIsArray=em.assertIsBuffer=em.assertIsHexString=void 0;var ew=eH(54846),eM=function(eb){if(!(0,ew.isHexString)(eb))throw Error("This method only supports 0x-prefixed hex strings but input was: ".concat(eb))};em.assertIsHexString=eM;var eC=function(eb){if(!eV.isBuffer(eb))throw Error("This method only supports Buffer but input was: ".concat(eb))};em.assertIsBuffer=eC;var eT=function(eb){if(!Array.isArray(eb))throw Error("This method only supports number arrays but input was: ".concat(eb))};em.assertIsArray=eT;var e_=function(eb){if("string"!=typeof eb)throw Error("This method only supports strings but input was: ".concat(eb))};em.assertIsString=e_},22751:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH);var ew=Object.getOwnPropertyDescriptor(em,eH);(!ew||("get"in ew?!em.__esModule:ew.writable||ew.configurable))&&(ew={enumerable:!0,get:function(){return em[eH]}}),Object.defineProperty(eb,eV,ew)}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),em.isHexString=em.getKeys=em.fromAscii=em.fromUtf8=em.toAscii=em.arrayContainsArray=em.getBinarySize=em.padToEven=em.stripHexPrefix=em.isHexPrefixed=void 0,ew(eH(56861),em),ew(eH(48670),em),ew(eH(6871),em),ew(eH(45641),em),ew(eH(77112),em),ew(eH(14651),em),ew(eH(80867),em),ew(eH(14538),em),ew(eH(2971),em);var eM=eH(54846);Object.defineProperty(em,"isHexPrefixed",{enumerable:!0,get:function(){return eM.isHexPrefixed}}),Object.defineProperty(em,"stripHexPrefix",{enumerable:!0,get:function(){return eM.stripHexPrefix}}),Object.defineProperty(em,"padToEven",{enumerable:!0,get:function(){return eM.padToEven}}),Object.defineProperty(em,"getBinarySize",{enumerable:!0,get:function(){return eM.getBinarySize}}),Object.defineProperty(em,"arrayContainsArray",{enumerable:!0,get:function(){return eM.arrayContainsArray}}),Object.defineProperty(em,"toAscii",{enumerable:!0,get:function(){return eM.toAscii}}),Object.defineProperty(em,"fromUtf8",{enumerable:!0,get:function(){return eM.fromUtf8}}),Object.defineProperty(em,"fromAscii",{enumerable:!0,get:function(){return eM.fromAscii}}),Object.defineProperty(em,"getKeys",{enumerable:!0,get:function(){return eM.getKeys}}),Object.defineProperty(em,"isHexString",{enumerable:!0,get:function(){return eM.isHexString}})},54846:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer;function ew(eb){if("string"!=typeof eb)throw Error("[isHexPrefixed] input must be type 'string', received type ".concat(typeof eb));return"0"===eb[0]&&"x"===eb[1]}Object.defineProperty(em,"__esModule",{value:!0}),em.isHexString=em.getKeys=em.fromAscii=em.fromUtf8=em.toAscii=em.arrayContainsArray=em.getBinarySize=em.padToEven=em.stripHexPrefix=em.isHexPrefixed=void 0,em.isHexPrefixed=ew;var eM=function(eb){if("string"!=typeof eb)throw Error("[stripHexPrefix] input must be type 'string', received ".concat(typeof eb));return ew(eb)?eb.slice(2):eb};function eC(eb){var em=eb;if("string"!=typeof em)throw Error("[padToEven] value must be type 'string', received ".concat(typeof em));return em.length%2&&(em="0".concat(em)),em}function eT(eb){if("string"!=typeof eb)throw Error("[getBinarySize] method requires input type 'string', recieved ".concat(typeof eb));return eV.byteLength(eb,"utf8")}function e_(eb,em,eH){if(!0!==Array.isArray(eb))throw Error("[arrayContainsArray] method requires input 'superset' to be an array, got type '".concat(typeof eb,"'"));if(!0!==Array.isArray(em))throw Error("[arrayContainsArray] method requires input 'subset' to be an array, got type '".concat(typeof em,"'"));return em[eH?"some":"every"](function(em){return eb.indexOf(em)>=0})}function eS(eb){var em="",eH=0,eV=eb.length;for("0x"===eb.substring(0,2)&&(eH=2);eH=ew.length,"The field ".concat(em.name," must not have more ").concat(em.length," bytes"))):!(em.allowZero&&0===ew.length)&&em.length&&(0,eM.default)(em.length===ew.length,"The field ".concat(em.name," must have byte length of ").concat(em.length)),eb.raw[eH]=ew}eb._fields.push(em.name),Object.defineProperty(eb,em.name,{enumerable:!0,configurable:!0,get:ew,set:eC}),em.default&&(eb[em.name]=em.default),em.alias&&Object.defineProperty(eb,em.alias,{enumerable:!1,configurable:!0,set:eC,get:ew})}),eH){if("string"==typeof eH&&(eH=eV.from((0,eC.stripHexPrefix)(eH),"hex")),eV.isBuffer(eH)&&(eH=eT.rlp.decode(eH)),Array.isArray(eH)){if(eH.length>eb._fields.length)throw Error("wrong number of fields in data");eH.forEach(function(em,eH){eb[eb._fields[eH]]=(0,e_.toBuffer)(em)})}else if("object"==typeof eH){var ew=Object.keys(eH);em.forEach(function(em){-1!==ew.indexOf(em.name)&&(eb[em.name]=eH[em.name]),-1!==ew.indexOf(em.alias)&&(eb[em.alias]=eH[em.alias])})}else throw Error("invalid data")}};em.defineProperties=eS},77112:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.hashPersonalMessage=em.isValidSignature=em.fromRpcSig=em.toCompactSig=em.toRpcSig=em.ecrecover=em.ecsign=void 0;var ew=eH(43091),eM=eH(14538),eC=eH(14651),eT=eH(45641),e_=eH(63746),eS=eH(2971);function eE(eb,em,eH){var eM=(0,ew.ecdsaSign)(eb,em),eC=eM.signature,eT=eM.recid,e_=eV.from(eC.slice(0,32)),eE=eV.from(eC.slice(32,64));if(!eH||"number"==typeof eH){if(eH&&!Number.isSafeInteger(eH))throw Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)");return{r:e_,s:eE,v:eH?eT+(2*eH+35):eT+27}}return{r:e_,s:eE,v:(0,eS.toType)(eH,eS.TypeOutput.BN).muln(2).addn(35).addn(eT).toArrayLike(eV)}}function eA(eb,em){var eH=(0,eS.toType)(eb,eS.TypeOutput.BN);if(eH.eqn(0)||eH.eqn(1))return(0,eS.toType)(eb,eS.TypeOutput.BN);if(!em)return eH.subn(27);var eV=(0,eS.toType)(em,eS.TypeOutput.BN);return eH.sub(eV.muln(2).addn(35))}function eN(eb){var em=new eM.BN(eb);return em.eqn(0)||em.eqn(1)}em.ecsign=eE;var eI=function(eb,em,eH,eM,eT){var e_=eV.concat([(0,eC.setLengthLeft)(eH,32),(0,eC.setLengthLeft)(eM,32)],64),eS=eA(em,eT);if(!eN(eS))throw Error("Invalid signature v value");var eE=(0,ew.ecdsaRecover)(e_,eS.toNumber(),eb);return eV.from((0,ew.publicKeyConvert)(eE,!1).slice(1))};em.ecrecover=eI;var eD=function(eb,em,eH,ew){if(!eN(eA(eb,ew)))throw Error("Invalid signature v value");return(0,eC.bufferToHex)(eV.concat([(0,eC.setLengthLeft)(em,32),(0,eC.setLengthLeft)(eH,32),(0,eC.toBuffer)(eb)]))};em.toRpcSig=eD;var eP=function(eb,em,eH,ew){if(!eN(eA(eb,ew)))throw Error("Invalid signature v value");var eM=(0,eS.toType)(eb,eS.TypeOutput.Number),eT=eH;return(eM>28&&eM%2==1||1===eM||28===eM)&&(eT=eV.from(eH),eT[0]|=128),(0,eC.bufferToHex)(eV.concat([(0,eC.setLengthLeft)(em,32),(0,eC.setLengthLeft)(eT,32)]))};em.toCompactSig=eP;var eO=function(eb){var em,eH,eV,ew=(0,eC.toBuffer)(eb);if(ew.length>=65)em=ew.slice(0,32),eH=ew.slice(32,64),eV=(0,eC.bufferToInt)(ew.slice(64));else if(64===ew.length)em=ew.slice(0,32),eH=ew.slice(32,64),eV=(0,eC.bufferToInt)(ew.slice(32,33))>>7,eH[0]&=127;else throw Error("Invalid signature length");return eV<27&&(eV+=27),{v:eV,r:em,s:eH}};em.fromRpcSig=eO;var eR=function(eb,em,eH,eV,ew){void 0===eV&&(eV=!0);var eC=new eM.BN("7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0",16),eT=new eM.BN("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",16);if(32!==em.length||32!==eH.length||!eN(eA(eb,ew)))return!1;var e_=new eM.BN(em),eS=new eM.BN(eH);return!(e_.isZero()||e_.gt(eT)||eS.isZero()||eS.gt(eT))&&(!eV||1!==eS.cmp(eC))};em.isValidSignature=eR;var eB=function(eb){(0,e_.assertIsBuffer)(eb);var em=eV.from("\x19Ethereum Signed Message:\n".concat(eb.length),"utf-8");return(0,eT.keccak)(eV.concat([em,eb]))};em.hashPersonalMessage=eB},2971:function(eb,em,eH){"use strict";var eV,ew=eH(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.toType=em.TypeOutput=em.bnToRlp=em.bnToUnpaddedBuffer=em.bnToHex=void 0;var eM=eH(14538),eC=eH(54846),eT=eH(14651);function e_(eb){return"0x".concat(eb.toString(16))}function eS(eb){return(0,eT.unpadBuffer)(eb.toArrayLike(ew))}function eE(eb){return eS(eb)}function eA(eb,em){if(null===eb)return null;if(void 0!==eb){if("string"!=typeof eb||(0,eC.isHexString)(eb)){if("number"==typeof eb&&!Number.isSafeInteger(eb))throw Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)")}else throw Error("A string must be provided with a 0x-prefix, given: ".concat(eb));var eH=(0,eT.toBuffer)(eb);if(em===eV.Buffer)return eH;if(em===eV.BN)return new eM.BN(eH);if(em!==eV.Number)return"0x".concat(eH.toString("hex"));var ew=new eM.BN(eH),e_=new eM.BN(Number.MAX_SAFE_INTEGER.toString());if(ew.gt(e_))throw Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative output type)");return ew.toNumber()}}em.bnToHex=e_,em.bnToUnpaddedBuffer=eS,em.bnToRlp=eE,function(eb){eb[eb.Number=0]="Number",eb[eb.BN=1]="BN",eb[eb.Buffer=2]="Buffer",eb[eb.PrefixedHexString=3]="PrefixedHexString"}(eV=em.TypeOutput||(em.TypeOutput={})),em.toType=eA},15919:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer;function ew(eb){return function(em){var eH=eb();return eH.update(em),eV.from(eH.digest())}}Object.defineProperty(em,"__esModule",{value:!0}),em.createHashFunction=ew},72543:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0});var eV=eH(15919),ew=eH(95811);em.keccak224=eV.createHashFunction(function(){return ew("keccak224")}),em.keccak256=eV.createHashFunction(function(){return ew("keccak256")}),em.keccak384=eV.createHashFunction(function(){return ew("keccak384")}),em.keccak512=eV.createHashFunction(function(){return ew("keccak512")})},30459:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0});var eV=eH(61798);function ew(eb){return new Promise(function(em,eH){eV(eb,function(eb,eV){if(eb){eH(eb);return}em(eV)})})}function eM(eb){return eV(eb)}em.getRandomBytes=ew,em.getRandomBytesSync=eM},43091:function(eb,em,eH){"use strict";var eV=this&&this.__awaiter||function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})},ew=this&&this.__generator||function(eb,em){var eH,eV,ew,eM,eC={label:0,sent:function(){if(1&ew[0])throw ew[1];return ew[1]},trys:[],ops:[]};return eM={next:eT(0),throw:eT(1),return:eT(2)},"function"==typeof Symbol&&(eM[Symbol.iterator]=function(){return this}),eM;function eT(eb){return function(em){return e_([eb,em])}}function e_(eM){if(eH)throw TypeError("Generator is already executing.");for(;eC;)try{if(eH=1,eV&&(ew=2&eM[0]?eV.return:eM[0]?eV.throw||((ew=eV.return)&&ew.call(eV),0):eV.next)&&!(ew=ew.call(eV,eM[1])).done)return ew;switch(eV=0,ew&&(eM=[2&eM[0],ew.value]),eM[0]){case 0:case 1:ew=eM;break;case 4:return eC.label++,{value:eM[1],done:!1};case 5:eC.label++,eV=eM[1],eM=[0];continue;case 7:eM=eC.ops.pop(),eC.trys.pop();continue;default:if(!(ew=(ew=eC.trys).length>0&&ew[ew.length-1])&&(6===eM[0]||2===eM[0])){eC=0;continue}if(3===eM[0]&&(!ew||eM[1]>ew[0]&&eM[1](em===eY&&(0,eU.vh)(),Promise.resolve(!0))}}isCommunityResource(){return this.apiKey===eY}}let eQ=new eW.Yd(eZ.i),e0="9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972";function e6(eb){switch(eb){case"homestead":return"rpc.ankr.com/eth/";case"ropsten":return"rpc.ankr.com/eth_ropsten/";case"rinkeby":return"rpc.ankr.com/eth_rinkeby/";case"goerli":return"rpc.ankr.com/eth_goerli/";case"matic":return"rpc.ankr.com/polygon/";case"arbitrum":return"rpc.ankr.com/arbitrum/"}return eQ.throwArgumentError("unsupported network","name",eb)}class e4 extends eG.l{isCommunityResource(){return this.apiKey===e0}static getApiKey(eb){return null==eb?e0:eb}static getUrl(eb,em){null==em&&(em=e0);let eH={allowGzip:!0,url:"https://"+e6(eb.name)+em,throttleCallback:(eb,eH)=>(em.apiKey===e0&&(0,eU.vh)(),Promise.resolve(!0))};return null!=em.projectSecret&&(eH.user="",eH.password=em.projectSecret),eH}}var e3=function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};let e5=new eW.Yd(eZ.i);class e8 extends eG.l{static getApiKey(eb){return null!=eb&&e5.throwArgumentError("apiKey not supported for cloudflare","apiKey",eb),null}static getUrl(eb,em){let eH=null;return"homestead"===eb.name?eH="https://cloudflare-eth.com/":e5.throwArgumentError("unsupported network","network",arguments[0]),eH}perform(eb,em){let eH=Object.create(null,{perform:{get:()=>super.perform}});return e3(this,void 0,void 0,function*(){if("getBlockNumber"===eb){let eb=yield eH.perform.call(this,"getBlock",{blockTag:"latest"});return eb.number}return eH.perform.call(this,eb,em)})}}var e9=eH(16441),e7=eH(83875),tH=eH(37707),tV=function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};let tw=new eW.Yd(eZ.i);function tC(eb){let em={};for(let eH in eb){if(null==eb[eH])continue;let eV=eb[eH];("type"!==eH||0!==eV)&&(eV=({type:!0,gasLimit:!0,gasPrice:!0,maxFeePerGs:!0,maxPriorityFeePerGas:!0,nonce:!0,value:!0})[eH]?(0,e9.$P)((0,e9.Dv)(eV)):"accessList"===eH?"["+(0,e7.z7)(eV).map(eb=>`{address:"${eb.address}",storageKeys:["${eb.storageKeys.join('","')}"]}`).join(",")+"]":(0,e9.Dv)(eV),em[eH]=eV)}return em}function tT(eb){if(0==eb.status&&("No records found"===eb.message||"No transactions found"===eb.message))return eb.result;if(1!=eb.status||"string"!=typeof eb.message||!eb.message.match(/^OK/)){let em=Error("invalid response");throw em.result=JSON.stringify(eb),(eb.result||"").toLowerCase().indexOf("rate limit")>=0&&(em.throttleRetry=!0),em}return eb.result}function t_(eb){if(eb&&0==eb.status&&"NOTOK"==eb.message&&(eb.result||"").toLowerCase().indexOf("rate limit")>=0){let em=Error("throttled response");throw em.result=JSON.stringify(eb),em.throttleRetry=!0,em}if("2.0"!=eb.jsonrpc){let em=Error("invalid response");throw em.result=JSON.stringify(eb),em}if(eb.error){let em=Error(eb.error.message||"unknown error");throw eb.error.code&&(em.code=eb.error.code),eb.error.data&&(em.data=eb.error.data),em}return eb.result}function tS(eb){if("pending"===eb)throw Error("pending not supported");return"latest"===eb?eb:parseInt(eb.substring(2),16)}function tE(eb,em,eH){if("call"===eb&&em.code===eW.Yd.errors.SERVER_ERROR){let eb=em.error;if(eb&&(eb.message.match(/reverted/i)||eb.message.match(/VM execution error/i))){let eH=eb.data;if(eH&&(eH="0x"+eH.replace(/^.*0x/i,"")),(0,e9.A7)(eH))return eH;tw.throwError("missing revert data in call exception",eW.Yd.errors.CALL_EXCEPTION,{error:em,data:"0x"})}}let eV=em.message;throw em.code===eW.Yd.errors.SERVER_ERROR&&(em.error&&"string"==typeof em.error.message?eV=em.error.message:"string"==typeof em.body?eV=em.body:"string"==typeof em.responseText&&(eV=em.responseText)),(eV=(eV||"").toLowerCase()).match(/insufficient funds/)&&tw.throwError("insufficient funds for intrinsic transaction cost",eW.Yd.errors.INSUFFICIENT_FUNDS,{error:em,method:eb,transaction:eH}),eV.match(/same hash was already imported|transaction nonce is too low|nonce too low/)&&tw.throwError("nonce has already been used",eW.Yd.errors.NONCE_EXPIRED,{error:em,method:eb,transaction:eH}),eV.match(/another transaction with same nonce/)&&tw.throwError("replacement fee too low",eW.Yd.errors.REPLACEMENT_UNDERPRICED,{error:em,method:eb,transaction:eH}),eV.match(/execution failed due to an exception|execution reverted/)&&tw.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",eW.Yd.errors.UNPREDICTABLE_GAS_LIMIT,{error:em,method:eb,transaction:eH}),em}class tA extends eF.Zk{constructor(eb,em){super(eb),(0,ej.zG)(this,"baseUrl",this.getBaseUrl()),(0,ej.zG)(this,"apiKey",em||null)}getBaseUrl(){switch(this.network?this.network.name:"invalid"){case"homestead":return"https://api.etherscan.io";case"goerli":return"https://api-goerli.etherscan.io";case"sepolia":return"https://api-sepolia.etherscan.io";case"matic":return"https://api.polygonscan.com";case"maticmum":return"https://api-testnet.polygonscan.com";case"arbitrum":return"https://api.arbiscan.io";case"arbitrum-goerli":return"https://api-goerli.arbiscan.io";case"optimism":return"https://api-optimistic.etherscan.io";case"optimism-goerli":return"https://api-goerli-optimistic.etherscan.io"}return tw.throwArgumentError("unsupported network","network",this.network.name)}getUrl(eb,em){let eH=Object.keys(em).reduce((eb,eH)=>{let eV=em[eH];return null!=eV&&(eb+=`&${eH}=${eV}`),eb},""),eV=this.apiKey?`&apikey=${this.apiKey}`:"";return`${this.baseUrl}/api?module=${eb}${eH}${eV}`}getPostUrl(){return`${this.baseUrl}/api`}getPostData(eb,em){return em.module=eb,em.apikey=this.apiKey,em}fetch(eb,em,eH){return tV(this,void 0,void 0,function*(){let eV=eH?this.getPostUrl():this.getUrl(eb,em),ew=eH?this.getPostData(eb,em):null,eM="proxy"===eb?t_:tT;this.emit("debug",{action:"request",request:eV,provider:this});let eC={url:eV,throttleSlotInterval:1e3,throttleCallback:(eb,em)=>(this.isCommunityResource()&&(0,eU.vh)(),Promise.resolve(!0))},eT=null;ew&&(eC.headers={"content-type":"application/x-www-form-urlencoded; charset=UTF-8"},eT=Object.keys(ew).map(eb=>`${eb}=${ew[eb]}`).join("&"));let e_=yield(0,tH.rd)(eC,eT,eM||t_);return this.emit("debug",{action:"response",request:eV,response:(0,ej.p$)(e_),provider:this}),e_})}detectNetwork(){return tV(this,void 0,void 0,function*(){return this.network})}perform(eb,em){let eH=Object.create(null,{perform:{get:()=>super.perform}});return tV(this,void 0,void 0,function*(){switch(eb){case"getBlockNumber":return this.fetch("proxy",{action:"eth_blockNumber"});case"getGasPrice":return this.fetch("proxy",{action:"eth_gasPrice"});case"getBalance":return this.fetch("account",{action:"balance",address:em.address,tag:em.blockTag});case"getTransactionCount":return this.fetch("proxy",{action:"eth_getTransactionCount",address:em.address,tag:em.blockTag});case"getCode":return this.fetch("proxy",{action:"eth_getCode",address:em.address,tag:em.blockTag});case"getStorageAt":return this.fetch("proxy",{action:"eth_getStorageAt",address:em.address,position:em.position,tag:em.blockTag});case"sendTransaction":return this.fetch("proxy",{action:"eth_sendRawTransaction",hex:em.signedTransaction},!0).catch(eb=>tE("sendTransaction",eb,em.signedTransaction));case"getBlock":if(em.blockTag)return this.fetch("proxy",{action:"eth_getBlockByNumber",tag:em.blockTag,boolean:em.includeTransactions?"true":"false"});throw Error("getBlock by blockHash not implemented");case"getTransaction":return this.fetch("proxy",{action:"eth_getTransactionByHash",txhash:em.transactionHash});case"getTransactionReceipt":return this.fetch("proxy",{action:"eth_getTransactionReceipt",txhash:em.transactionHash});case"call":{if("latest"!==em.blockTag)throw Error("EtherscanProvider does not support blockTag for call");let eb=tC(em.transaction);eb.module="proxy",eb.action="eth_call";try{return yield this.fetch("proxy",eb,!0)}catch(eb){return tE("call",eb,em.transaction)}}case"estimateGas":{let eb=tC(em.transaction);eb.module="proxy",eb.action="eth_estimateGas";try{return yield this.fetch("proxy",eb,!0)}catch(eb){return tE("estimateGas",eb,em.transaction)}}case"getLogs":{let eb={action:"getLogs"};if(em.filter.fromBlock&&(eb.fromBlock=tS(em.filter.fromBlock)),em.filter.toBlock&&(eb.toBlock=tS(em.filter.toBlock)),em.filter.address&&(eb.address=em.filter.address),em.filter.topics&&em.filter.topics.length>0&&(em.filter.topics.length>1&&tw.throwError("unsupported topic count",eW.Yd.errors.UNSUPPORTED_OPERATION,{topics:em.filter.topics}),1===em.filter.topics.length)){let eH=em.filter.topics[0];("string"!=typeof eH||66!==eH.length)&&tw.throwError("unsupported topic format",eW.Yd.errors.UNSUPPORTED_OPERATION,{topic0:eH}),eb.topic0=eH}let eH=yield this.fetch("logs",eb),eV={};for(let eb=0;eb{["contractAddress","to"].forEach(function(em){""==eb[em]&&delete eb[em]}),null==eb.creates&&null!=eb.contractAddress&&(eb.creates=eb.contractAddress);let em=this.formatter.transactionResponse(eb);return eb.timeStamp&&(em.timestamp=parseInt(eb.timeStamp)),em})})}isCommunityResource(){return null==this.apiKey}}function tN(eb){eb=eb.slice();for(let em=eb.length-1;em>0;em--){let eH=Math.floor(Math.random()*(em+1)),eV=eb[em];eb[em]=eb[eH],eb[eH]=eV}return eb}var tI=function(eb,em,eH,eV){function ew(eb){return eb instanceof eH?eb:new eH(function(em){em(eb)})}return new(eH||(eH=Promise))(function(eH,eM){function eC(eb){try{e_(eV.next(eb))}catch(eb){eM(eb)}}function eT(eb){try{e_(eV.throw(eb))}catch(eb){eM(eb)}}function e_(eb){eb.done?eH(eb.value):ew(eb.value).then(eC,eT)}e_((eV=eV.apply(eb,em||[])).next())})};let tD=new eW.Yd(eZ.i);function tP(){return new Date().getTime()}function tO(eb){let em=null;for(let eH=0;eHem?null:(eV+ew)/2}function tB(eb){if(null===eb)return"null";if("number"==typeof eb||"boolean"==typeof eb)return JSON.stringify(eb);if("string"==typeof eb)return eb;if(eS.O$.isBigNumber(eb))return eb.toString();if(Array.isArray(eb))return JSON.stringify(eb.map(eb=>tB(eb)));if("object"==typeof eb){let em=Object.keys(eb);return em.sort(),"{"+em.map(em=>{let eH=eb[em];return eH="function"==typeof eH?"[function]":tB(eH),JSON.stringify(em)+":"+eH}).join(",")+"}"}throw Error("unknown value type: "+typeof eb)}let tF=1;function tj(eb){let em=null,eH=null,eV=new Promise(eV=>{eH=setTimeout(em=function(){eH&&(clearTimeout(eH),eH=null),eV()},eb)}),ew=eb=>eV=eV.then(eb);return{cancel:em,getPromise:function(){return eV},wait:ew}}let tU=[eW.Yd.errors.CALL_EXCEPTION,eW.Yd.errors.INSUFFICIENT_FUNDS,eW.Yd.errors.NONCE_EXPIRED,eW.Yd.errors.REPLACEMENT_UNDERPRICED,eW.Yd.errors.UNPREDICTABLE_GAS_LIMIT],tq=["address","args","errorArgs","errorSignature","method","transaction"];function t$(eb,em){let eH={weight:eb.weight};return Object.defineProperty(eH,"provider",{get:()=>eb.provider}),eb.start&&(eH.start=eb.start),em&&(eH.duration=em-eb.start),eb.done&&(eb.error?eH.error=eb.error:eH.result=eb.result||null),eH}function tW(eb,em){return function(eH){let eV={};eH.forEach(em=>{let eH=eb(em.result);eV[eH]||(eV[eH]={count:0,result:em.result}),eV[eH].count++});let ew=Object.keys(eV);for(let eb=0;eb=em)return eH.result}}}function tZ(eb,em,eH){let eV=tB;switch(em){case"getBlockNumber":return function(em){let eH=em.map(eb=>eb.result),eV=tR(em.map(eb=>eb.result),2);if(null!=eV)return eV=Math.ceil(eV),eH.indexOf(eV+1)>=0&&eV++,eV>=eb._highestBlockNumber&&(eb._highestBlockNumber=eV),eb._highestBlockNumber};case"getGasPrice":return function(eb){let em=eb.map(eb=>eb.result);return em.sort(),em[Math.floor(em.length/2)]};case"getEtherPrice":return function(eb){return tR(eb.map(eb=>eb.result))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":eV=function(eb){return null==eb?null:((eb=(0,ej.DC)(eb)).confirmations=-1,tB(eb))};break;case"getBlock":eV=eH.includeTransactions?function(eb){return null==eb?null:((eb=(0,ej.DC)(eb)).transactions=eb.transactions.map(eb=>((eb=(0,ej.DC)(eb)).confirmations=-1,eb)),tB(eb))}:function(eb){return null==eb?null:tB(eb)};break;default:throw Error("unknown method: "+em)}return tW(eV,eb.quorum)}function tG(eb,em){return tI(this,void 0,void 0,function*(){let eH=eb.provider;return null!=eH.blockNumber&&eH.blockNumber>=em||-1===em?eH:(0,tH.$l)(()=>new Promise((eV,ew)=>{setTimeout(function(){return eH.blockNumber>=em?eV(eH):eb.cancelled?eV(null):eV(void 0)},0)}),{oncePoll:eH})})}function tK(eb,em,eH,eV){return tI(this,void 0,void 0,function*(){let ew=eb.provider;switch(eH){case"getBlockNumber":case"getGasPrice":return ew[eH]();case"getEtherPrice":if(ew.getEtherPrice)return ew.getEtherPrice();break;case"getBalance":case"getTransactionCount":case"getCode":return eV.blockTag&&(0,e9.A7)(eV.blockTag)&&(ew=yield tG(eb,em)),ew[eH](eV.address,eV.blockTag||"latest");case"getStorageAt":return eV.blockTag&&(0,e9.A7)(eV.blockTag)&&(ew=yield tG(eb,em)),ew.getStorageAt(eV.address,eV.position,eV.blockTag||"latest");case"getBlock":return eV.blockTag&&(0,e9.A7)(eV.blockTag)&&(ew=yield tG(eb,em)),ew[eV.includeTransactions?"getBlockWithTransactions":"getBlock"](eV.blockTag||eV.blockHash);case"call":case"estimateGas":if(eV.blockTag&&(0,e9.A7)(eV.blockTag)&&(ew=yield tG(eb,em)),"call"===eH&&eV.blockTag)return ew[eH](eV.transaction,eV.blockTag);return ew[eH](eV.transaction);case"getTransaction":case"getTransactionReceipt":return ew[eH](eV.transactionHash);case"getLogs":{let eH=eV.filter;return(eH.fromBlock&&(0,e9.A7)(eH.fromBlock)||eH.toBlock&&(0,e9.A7)(eH.toBlock))&&(ew=yield tG(eb,em)),ew.getLogs(eH)}}return tD.throwError("unknown method error",eW.Yd.errors.UNKNOWN_ERROR,{method:eH,params:eV})})}class tY extends eF.Zk{constructor(eb,em){0===eb.length&&tD.throwArgumentError("missing providers","providers",eb);let eH=eb.map((eb,em)=>{if(eR.zt.isProvider(eb)){let em=(0,eU.Gp)(eb)?2e3:750,eH=1;return Object.freeze({provider:eb,weight:1,stallTimeout:em,priority:eH})}let eH=(0,ej.DC)(eb);null==eH.priority&&(eH.priority=1),null==eH.stallTimeout&&(eH.stallTimeout=(0,eU.Gp)(eb)?2e3:750),null==eH.weight&&(eH.weight=1);let eV=eH.weight;return(eV%1||eV>512||eV<1)&&tD.throwArgumentError("invalid weight; must be integer in [1, 512]",`providers[${em}].weight`,eV),Object.freeze(eH)}),eV=eH.reduce((eb,em)=>eb+em.weight,0);null==em?em=eV/2:em>eV&&tD.throwArgumentError("quorum will always fail; larger than total weight","quorum",em);let ew=tO(eH.map(eb=>eb.provider.network));null==ew&&(ew=new Promise((eb,em)=>{setTimeout(()=>{this.detectNetwork().then(eb,em)},0)})),super(ew),(0,ej.zG)(this,"providerConfigs",Object.freeze(eH)),(0,ej.zG)(this,"quorum",em),this._highestBlockNumber=-1}detectNetwork(){return tI(this,void 0,void 0,function*(){let eb=yield Promise.all(this.providerConfigs.map(eb=>eb.provider.getNetwork()));return tO(eb)})}perform(eb,em){return tI(this,void 0,void 0,function*(){if("sendTransaction"===eb){let eb=yield Promise.all(this.providerConfigs.map(eb=>eb.provider.sendTransaction(em.signedTransaction).then(eb=>eb.hash,eb=>eb)));for(let em=0;emeb.priority-em.priority);let ew=this._highestBlockNumber,eM=0,eC=!0;for(;;){let eT=tP(),e_=eV.filter(eb=>eb.runner&&eT-eb.starteb+em.weight,0);for(;e_{eH.staller=null}),eH.runner=tK(eH,ew,eb,em).then(eV=>{eH.done=!0,eH.result=eV,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:eC,backend:t$(eH,tP()),request:{method:eb,params:(0,ej.p$)(em)},provider:this})},eV=>{eH.done=!0,eH.error=eV,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:eC,backend:t$(eH,tP()),request:{method:eb,params:(0,ej.p$)(em)},provider:this})}),this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:eC,backend:t$(eH,null),request:{method:eb,params:(0,ej.p$)(em)},provider:this}),e_+=eH.weight}let eS=[];eV.forEach(eb=>{!eb.done&&eb.runner&&(eS.push(eb.runner),eb.staller&&eS.push(eb.staller.getPromise()))}),eS.length&&(yield Promise.race(eS));let eE=eV.filter(eb=>eb.done&&null==eb.error);if(eE.length>=this.quorum){let eb=eH(eE);if(void 0!==eb)return eV.forEach(eb=>{eb.staller&&eb.staller.cancel(),eb.cancelled=!0}),eb;eC||(yield tj(100).getPromise()),eC=!1}let eA=eV.reduce((eb,em)=>{if(!em.done||null==em.error)return eb;let eH=em.error.code;return tU.indexOf(eH)>=0&&(eb[eH]||(eb[eH]={error:em.error,weight:0}),eb[eH].weight+=em.weight),eb},{});if(Object.keys(eA).forEach(eb=>{let em=eA[eb];if(em.weight{eb.staller&&eb.staller.cancel(),eb.cancelled=!0});let eH=em.error,ew={};tq.forEach(eb=>{null!=eH[eb]&&(ew[eb]=eH[eb])}),tD.throwError(eH.reason||eH.message,eb,ew)}),0===eV.filter(eb=>!eb.done).length)break}return eV.forEach(eb=>{eb.staller&&eb.staller.cancel(),eb.cancelled=!0}),tD.throwError("failed to meet quorum",eW.Yd.errors.SERVER_ERROR,{method:eb,params:em,results:eV.map(eb=>t$(eb)),provider:this})})}}let tX=null;var tJ=eH(96263),tQ=eH(82169);class aH extends tQ.r{send(eb,em){let eH={method:eb,params:em,id:this._nextId++,jsonrpc:"2.0"};null==this._pendingBatch&&(this._pendingBatch=[]);let eV={request:eH,resolve:null,reject:null},ew=new Promise((eb,em)=>{eV.resolve=eb,eV.reject=em});return this._pendingBatch.push(eV),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout(()=>{let eb=this._pendingBatch;this._pendingBatch=null,this._pendingBatchAggregator=null;let em=eb.map(eb=>eb.request);return this.emit("debug",{action:"requestBatch",request:(0,ej.p$)(em),provider:this}),(0,tH.rd)(this.connection,JSON.stringify(em)).then(eH=>{this.emit("debug",{action:"response",request:em,response:eH,provider:this}),eb.forEach((eb,em)=>{let eV=eH[em];if(eV.error){let em=Error(eV.error.message);em.code=eV.error.code,em.data=eV.error.data,eb.reject(em)}else eb.resolve(eV.result)})},eH=>{this.emit("debug",{action:"response",error:eH,request:em,provider:this}),eb.forEach(eb=>{eb.reject(eH)})})},10)),ew}}let aV=new eW.Yd(eZ.i),aM="ETHERS_JS_SHARED";class aC extends eG.l{static getApiKey(eb){return eb&&"string"!=typeof eb&&aV.throwArgumentError("invalid apiKey","apiKey",eb),eb||aM}static getUrl(eb,em){aV.warn("NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.");let eH=null;switch(eb.name){case"homestead":eH="https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc";break;case"ropsten":eH="https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc";break;case"rinkeby":eH="https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc";break;case"goerli":eH="https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc";break;case"kovan":eH="https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc";break;default:aV.throwArgumentError("unsupported network","network",arguments[0])}return eH+"?apiKey="+em}}let ak=new eW.Yd(eZ.i),a_="62e1ad51b37b8e00394bda3b";class aS extends eG.l{static getApiKey(eb){let em={applicationId:null,loadBalancer:!0,applicationSecretKey:null};return null==eb?em.applicationId=a_:"string"==typeof eb?em.applicationId=eb:null!=eb.applicationSecretKey?(em.applicationId=eb.applicationId,em.applicationSecretKey=eb.applicationSecretKey):eb.applicationId?em.applicationId=eb.applicationId:ak.throwArgumentError("unsupported PocketProvider apiKey","apiKey",eb),em}static getUrl(eb,em){let eH=null;switch(eb?eb.name:"unknown"){case"goerli":eH="eth-goerli.gateway.pokt.network";break;case"homestead":eH="eth-mainnet.gateway.pokt.network";break;case"kovan":eH="poa-kovan.gateway.pokt.network";break;case"matic":eH="poly-mainnet.gateway.pokt.network";break;case"maticmum":eH="polygon-mumbai-rpc.gateway.pokt.network";break;case"rinkeby":eH="eth-rinkeby.gateway.pokt.network";break;case"ropsten":eH="eth-ropsten.gateway.pokt.network";break;default:ak.throwError("unsupported network",eW.Yd.errors.INVALID_ARGUMENT,{argument:"network",value:eb})}let eV=`https://${eH}/v1/lb/${em.applicationId}`,ew={headers:{},url:eV};return null!=em.applicationSecretKey&&(ew.user="",ew.password=em.applicationSecretKey),ew}isCommunityResource(){return this.applicationId===a_}}var aE=eH(241);let aN=new eW.Yd(eZ.i);function aI(eb,em){if(null==eb&&(eb="homestead"),"string"==typeof eb){let em=eb.match(/^(ws|http)s?:/i);if(em)switch(em[1].toLowerCase()){case"http":case"https":return new tQ.r(eb);case"ws":case"wss":return new e$.q(eb);default:aN.throwArgumentError("unsupported URL scheme","network",eb)}}let eH=(0,eB.H)(eb);return eH&&eH._defaultProvider||aN.throwError("unsupported getDefaultProvider network",eW.Yd.errors.NETWORK_ERROR,{operation:"getDefaultProvider",network:eb}),eH._defaultProvider({FallbackProvider:tY,AlchemyProvider:eJ,AnkrProvider:e4,CloudflareProvider:e8,EtherscanProvider:tA,InfuraProvider:tJ.J,JsonRpcProvider:tQ.r,NodesmithProvider:aC,PocketProvider:aS,Web3Provider:aE.Q,IpcProvider:tX},em)}var aD=eH(10234),aP=eH(48812),aO=eH(84243),aR=eH(11388),aF=eH(61184),aj=eH(8198),aU=eH(19485),aq=eH(59567),a$=eH(57727),aW=eH(27586),aZ=eH(93684),aG=eH(32046),aK=eH(67827),aY=eH(84178),aJ=eH(67949),aQ=eH(38197),nH=eH(2006),nV=eH(29251);let nw="solidity/5.7.0",nM=RegExp("^bytes([0-9]+)$"),nC=RegExp("^(u?int)([0-9]*)$"),nk=RegExp("^(.*)\\[([0-9]*)\\]$"),nT="0000000000000000000000000000000000000000000000000000000000000000",n_=new eW.Yd(nw);function nS(eb,em,eH){switch(eb){case"address":if(eH)return(0,e9.Bu)(em,32);return(0,e9.lE)(em);case"string":return(0,nV.Y0)(em);case"bytes":return(0,e9.lE)(em);case"bool":if(em=em?"0x01":"0x00",eH)return(0,e9.Bu)(em,32);return(0,e9.lE)(em)}let eV=eb.match(nC);if(eV){let ew=parseInt(eV[2]||"256");return(eV[2]&&String(ew)!==eV[2]||ew%8!=0||0===ew||ew>256)&&n_.throwArgumentError("invalid number type","type",eb),eH&&(ew=256),em=eS.O$.from(em).toTwos(ew),(0,e9.Bu)(em,ew/8)}if(eV=eb.match(nM)){let ew=parseInt(eV[1]);return((String(ew)!==eV[1]||0===ew||ew>32)&&n_.throwArgumentError("invalid bytes type","type",eb),(0,e9.lE)(em).byteLength!==ew&&n_.throwArgumentError(`invalid value for ${eb}`,"value",em),eH)?(0,e9.lE)((em+nT).substring(0,66)):em}if((eV=eb.match(nk))&&Array.isArray(em)){let eH=eV[1],ew=parseInt(eV[2]||String(em.length));ew!=em.length&&n_.throwArgumentError(`invalid array length for ${eb}`,"value",em);let eM=[];return em.forEach(function(eb){eM.push(nS(eH,eb,!0))}),(0,e9.zo)(eM)}return n_.throwArgumentError("invalid type","type",eb)}function nE(eb,em){eb.length!=em.length&&n_.throwArgumentError("wrong number of values; expected ${ types.length }","values",em);let eH=[];return eb.forEach(function(eb,eV){eH.push(nS(eb,em[eV]))}),(0,e9.Dv)((0,e9.zo)(eH))}function nA(eb,em){return(0,aQ.w)(nE(eb,em))}function nN(eb,em){return(0,nH.JQ)(nE(eb,em))}var nI=eH(5634),nD=eH(59052),nP=eH(67669);function nO(eb){if(eb.length%4!=0)throw Error("bad data");let em=[];for(let eH=0;eH{let ew=eb.split(":");eV[eH+=parseInt(ew[0],16)]=em(ew[1])}),eV}function nB(eb){let em=0;return eb.split(",").map(eb=>{let eH=eb.split("-");return 1===eH.length?eH[1]="0":""===eH[1]&&(eH[1]="1"),{l:em+parseInt(eH[0],16),h:em=parseInt(eH[1],16)}})}function nF(eb,em){let eH=0;for(let eV=0;eV=(eH+=ew.l)&&eb<=eH+ew.h&&(eb-eH)%(ew.d||1)==0){if(ew.e&&-1!==ew.e.indexOf(eb-eH))continue;return ew}}return null}let nj=nB("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"),nU="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map(eb=>parseInt(eb,16)),nq=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],n$=nR("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"),nW=nR("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"),nZ=nR("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",nO),nG=nB("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 nK(eb){return eb.reduce((eb,em)=>(em.forEach(em=>{eb.push(em)}),eb),[])}function nY(eb){return!!nF(eb,nj)}function nX(eb){let em=nF(eb,nq);if(em)return[eb+em.s];let eH=n$[eb];if(eH)return eH;let eV=nW[eb];return eV?[eb+eV[0]]:nZ[eb]||null}function nJ(eb){return!!nF(eb,nG)}function nQ(eb){if(eb.match(/^[a-z0-9-]*$/i)&&eb.length<=59)return eb.toLowerCase();let em=(0,nV.XL)(eb);em=nK(em.map(eb=>nU.indexOf(eb)>=0||eb>=65024&&eb<=65039?[]:nX(eb)||[eb])),(em=(0,nV.XL)((0,nV.uu)(em),nV.Uj.NFKC)).forEach(eb=>{if(nJ(eb))throw Error("STRINGPREP_CONTAINS_PROHIBITED")}),em.forEach(eb=>{if(nY(eb))throw Error("STRINGPREP_CONTAINS_UNASSIGNED")});let eH=(0,nV.uu)(em);if("-"===eH.substring(0,1)||"--"===eH.substring(2,4)||"-"===eH.substring(eH.length-1))throw Error("invalid hyphen");return eH}function n6(eb){let em=(0,nV.Y0)(eb);if(em.length>31)throw Error("bytes32 string must be less than 32 bytes");return(0,e9.Dv)((0,e9.zo)([em,eP.R]).slice(0,32))}function n4(eb){let em=(0,e9.lE)(eb);if(32!==em.length)throw Error("invalid bytes32 - not 32 bytes long");if(0!==em[31])throw Error("invalid bytes32 string - no null terminator");let eH=31;for(;0===em[eH-1];)eH--;return(0,nV.ZN)(em.slice(0,eH))}var n3=eH(61744),n5=eH(21261);let n8="ethers/5.7.2",n9=new eW.Yd(n8);try{let eb=window;null==eb._ethers&&(eb._ethers=eT)}catch(eb){}},26729:function(eb){"use strict";var em=Object.prototype.hasOwnProperty,eH="~";function eV(){}function ew(eb,em,eH){this.fn=eb,this.context=em,this.once=eH||!1}function eM(eb,em,eV,eM,eC){if("function"!=typeof eV)throw TypeError("The listener must be a function");var eT=new ew(eV,eM||eb,eC),e_=eH?eH+em:em;return eb._events[e_]?eb._events[e_].fn?eb._events[e_]=[eb._events[e_],eT]:eb._events[e_].push(eT):(eb._events[e_]=eT,eb._eventsCount++),eb}function eC(eb,em){0==--eb._eventsCount?eb._events=new eV:delete eb._events[em]}function eT(){this._events=new eV,this._eventsCount=0}Object.create&&(eV.prototype=Object.create(null),new eV().__proto__||(eH=!1)),eT.prototype.eventNames=function(){var eb,eV,ew=[];if(0===this._eventsCount)return ew;for(eV in eb=this._events)em.call(eb,eV)&&ew.push(eH?eV.slice(1):eV);return Object.getOwnPropertySymbols?ew.concat(Object.getOwnPropertySymbols(eb)):ew},eT.prototype.listeners=function(eb){var em=eH?eH+eb:eb,eV=this._events[em];if(!eV)return[];if(eV.fn)return[eV.fn];for(var ew=0,eM=eV.length,eC=Array(eM);ew0&&eT.length>eM&&!eT.warned){eT.warned=!0;var eM,eC,eT,eE=Error("Possible EventEmitter memory leak detected. "+eT.length+" "+String(em)+" listeners added. Use emitter.setMaxListeners() to increase limit");eE.name="MaxListenersExceededWarning",eE.emitter=eb,eE.type=em,eE.count=eT.length,ew(eE)}return eb}function eA(){if(!this.fired)return(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0==arguments.length)?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function eN(eb,em,eH){var eV={fired:!1,wrapFn:void 0,target:eb,type:em,listener:eH},ew=eA.bind(eV);return ew.listener=eH,eV.wrapFn=ew,ew}function eI(eb,em,eH){var eV=eb._events;if(void 0===eV)return[];var ew=eV[em];return void 0===ew?[]:"function"==typeof ew?eH?[ew.listener||ew]:[ew]:eH?eR(ew):eP(ew,ew.length)}function eD(eb){var em=this._events;if(void 0!==em){var eH=em[eb];if("function"==typeof eH)return 1;if(void 0!==eH)return eH.length}return 0}function eP(eb,em){for(var eH=Array(em),eV=0;eV0&&(eC=em[0]),eC instanceof Error)throw eC;var eC,eT=Error("Unhandled error."+(eC?" ("+eC.message+")":""));throw eT.context=eC,eT}var e_=eM[eb];if(void 0===e_)return!1;if("function"==typeof e_)eV(e_,this,em);else for(var eS=e_.length,eE=eP(e_,eS),eH=0;eH=0;eM--)if(eH[eM]===em||eH[eM].listener===em){eC=eH[eM].listener,ew=eM;break}if(ew<0)return this;0===ew?eH.shift():eO(eH,ew),1===eH.length&&(eV[eb]=eH[0]),void 0!==eV.removeListener&&this.emit("removeListener",eb,eC||em)}return this},eC.prototype.off=eC.prototype.removeListener,eC.prototype.removeAllListeners=function(eb){var em,eH,eV;if(void 0===(eH=this._events))return this;if(void 0===eH.removeListener)return 0==arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==eH[eb]&&(0==--this._eventsCount?this._events=Object.create(null):delete eH[eb]),this;if(0==arguments.length){var ew,eM=Object.keys(eH);for(eV=0;eV=0;eV--)this.removeListener(eb,em[eV]);return this},eC.prototype.listeners=function(eb){return eI(this,eb,!0)},eC.prototype.rawListeners=function(eb){return eI(this,eb,!1)},eC.listenerCount=function(eb,em){return"function"==typeof eb.listenerCount?eb.listenerCount(em):eD.call(eb,em)},eC.prototype.listenerCount=eD,eC.prototype.eventNames=function(){return this._eventsCount>0?em(this._events):[]}},4445:function(eb){eb.exports=eC,eC.default=eC,eC.stable=eE,eC.stableStringify=eE;var em="[...]",eH="[Circular]",eV=[],ew=[];function eM(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function eC(eb,em,eH,eC){void 0===eC&&(eC=eM()),e_(eb,"",0,[],void 0,0,eC);try{eT=0===ew.length?JSON.stringify(eb,em,eH):JSON.stringify(eb,eN(em),eH)}catch(eb){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==eV.length;){var eT,eS=eV.pop();4===eS.length?Object.defineProperty(eS[0],eS[1],eS[3]):eS[0][eS[1]]=eS[2]}}return eT}function eT(eb,em,eH,eM){var eC=Object.getOwnPropertyDescriptor(eM,eH);void 0!==eC.get?eC.configurable?(Object.defineProperty(eM,eH,{value:eb}),eV.push([eM,eH,em,eC])):ew.push([em,eH,eb]):(eM[eH]=eb,eV.push([eM,eH,em]))}function e_(eb,eV,ew,eM,eC,eS,eE){if(eS+=1,"object"==typeof eb&&null!==eb){for(eA=0;eAeE.depthLimit||void 0!==eE.edgesLimit&&ew+1>eE.edgesLimit){eT(em,eb,eV,eC);return}if(eM.push(eb),Array.isArray(eb))for(eA=0;eAem?1:0}function eE(eb,em,eH,eC){void 0===eC&&(eC=eM());var eT,e_=eA(eb,"",0,[],void 0,0,eC)||eb;try{eT=0===ew.length?JSON.stringify(e_,em,eH):JSON.stringify(e_,eN(em),eH)}catch(eb){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==eV.length;){var eS=eV.pop();4===eS.length?Object.defineProperty(eS[0],eS[1],eS[3]):eS[0][eS[1]]=eS[2]}}return eT}function eA(eb,ew,eM,eC,e_,eE,eN){if(eE+=1,"object"==typeof eb&&null!==eb){for(eI=0;eIeN.depthLimit||void 0!==eN.edgesLimit&&eM+1>eN.edgesLimit){eT(em,eb,ew,e_);return}if(eC.push(eb),Array.isArray(eb))for(eI=0;eI0)for(var eV=0;eV=3&&(eM=eH),"[object Array]"===ew.call(eb)?eC(eb,em,eM):"string"==typeof eb?eT(eb,em,eM):e_(eb,em,eM)};eb.exports=eS},6230:function(eb){eb.exports="object"==typeof self?self.FormData:window.FormData},17648:function(eb){"use strict";var em="Function.prototype.bind called on incompatible ",eH=Object.prototype.toString,eV=Math.max,ew="[object Function]",eM=function(eb,em){for(var eH=[],eV=0;eV1&&"boolean"!=typeof em)throw new eS('"allowMissing" argument must be a boolean');if(null===e0(/^%?[^%]*%?$/,eb))throw new e_("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var eH=e3(eb),eV=eH.length>0?eH[0]:"",ew=e5("%"+eV+"%",em),eM=ew.name,eC=ew.value,eT=!1,eE=ew.alias;eE&&(eV=eE[0],eX(eH,eY([0,1],eE)));for(var eA=1,eN=!0;eA=eH.length){var eR=eI(eC,eD);eC=(eN=!!eR)&&"get"in eR&&!("originalValue"in eR.get)?eR.get:eC[eD]}else eN=eK(eC,eD),eC=eC[eD];eN&&!eT&&(eU[eM]=eC)}}return eC}},27296:function(eb,em,eH){"use strict";var eV=eH(40210)("%Object.getOwnPropertyDescriptor%",!0);if(eV)try{eV([],"length")}catch(eb){eV=null}eb.exports=eV},31044:function(eb,em,eH){"use strict";var eV=eH(24429),ew=function(){return!!eV};ew.hasArrayLengthDefineBug=function(){if(!eV)return null;try{return 1!==eV([],"length",{value:1}).length}catch(eb){return!0}},eb.exports=ew},28185:function(eb){"use strict";var em={foo:{}},eH=Object;eb.exports=function(){return({__proto__:em}).foo===em.foo&&!(({__proto__:null})instanceof eH)}},41405:function(eb,em,eH){"use strict";var eV="undefined"!=typeof Symbol&&Symbol,ew=eH(55419);eb.exports=function(){return"function"==typeof eV&&"function"==typeof Symbol&&"symbol"==typeof eV("foo")&&"symbol"==typeof Symbol("bar")&&ew()}},55419:function(eb){"use strict";eb.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var eb={},em=Symbol("test"),eH=Object(em);if("string"==typeof em||"[object Symbol]"!==Object.prototype.toString.call(em)||"[object Symbol]"!==Object.prototype.toString.call(eH))return!1;var eV=42;for(em in eb[em]=eV,eb)return!1;if("function"==typeof Object.keys&&0!==Object.keys(eb).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(eb).length)return!1;var ew=Object.getOwnPropertySymbols(eb);if(1!==ew.length||ew[0]!==em||!Object.prototype.propertyIsEnumerable.call(eb,em))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var eM=Object.getOwnPropertyDescriptor(eb,em);if(eM.value!==eV||!0!==eM.enumerable)return!1}return!0}},96410:function(eb,em,eH){"use strict";var eV=eH(55419);eb.exports=function(){return eV()&&!!Symbol.toStringTag}},3349:function(eb,em,eH){"use strict";var eV=eH(89509).Buffer,ew=eH(88473).Transform;function eM(eb,em){if(!eV.isBuffer(eb)&&"string"!=typeof eb)throw TypeError(em+" must be a string or a buffer")}function eC(eb){ew.call(this),this._block=eV.allocUnsafe(eb),this._blockSize=eb,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}eH(35717)(eC,ew),eC.prototype._transform=function(eb,em,eH){var eV=null;try{this.update(eb,em)}catch(eb){eV=eb}eH(eV)},eC.prototype._flush=function(eb){var em=null;try{this.push(this.digest())}catch(eb){em=eb}eb(em)},eC.prototype.update=function(eb,em){if(eM(eb,"Data"),this._finalized)throw Error("Digest already called");eV.isBuffer(eb)||(eb=eV.from(eb,em));for(var eH=this._block,ew=0;this._blockOffset+eb.length-ew>=this._blockSize;){for(var eC=this._blockOffset;eC0;++eT)this._length[eT]+=e_,(e_=this._length[eT]/4294967296|0)>0&&(this._length[eT]-=4294967296*e_);return this},eC.prototype._update=function(){throw Error("_update is not implemented")},eC.prototype.digest=function(eb){if(this._finalized)throw Error("Digest already called");this._finalized=!0;var em=this._digest();void 0!==eb&&(em=em.toString(eb)),this._block.fill(0),this._blockOffset=0;for(var eH=0;eH<4;++eH)this._length[eH]=0;return em},eC.prototype._digest=function(){throw Error("_digest is not implemented")},eb.exports=eC},33715:function(eb,em,eH){var eV=em;eV.utils=eH(26436),eV.common=eH(95772),eV.sha=eH(89041),eV.ripemd=eH(12949),eV.hmac=eH(52344),eV.sha1=eV.sha.sha1,eV.sha256=eV.sha.sha256,eV.sha224=eV.sha.sha224,eV.sha384=eV.sha.sha384,eV.sha512=eV.sha.sha512,eV.ripemd160=eV.ripemd.ripemd160},95772:function(eb,em,eH){"use strict";var eV=eH(26436),ew=eH(79746);function eM(){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}em.BlockHash=eM,eM.prototype.update=function(eb,em){if(eb=eV.toArray(eb,em),this.pending?this.pending=this.pending.concat(eb):this.pending=eb,this.pendingTotal+=eb.length,this.pending.length>=this._delta8){var eH=(eb=this.pending).length%this._delta8;this.pending=eb.slice(eb.length-eH,eb.length),0===this.pending.length&&(this.pending=null),eb=eV.join32(eb,0,eb.length-eH,this.endian);for(var ew=0;ew>>24&255,eV[ew++]=eb>>>16&255,eV[ew++]=eb>>>8&255,eV[ew++]=255&eb}else for(eM=8,eV[ew++]=255&eb,eV[ew++]=eb>>>8&255,eV[ew++]=eb>>>16&255,eV[ew++]=eb>>>24&255,eV[ew++]=0,eV[ew++]=0,eV[ew++]=0,eV[ew++]=0;eMthis.blockSize&&(eb=new this.Hash().update(eb).digest()),ew(eb.length<=this.blockSize);for(var em=eb.length;em>>3}function eA(eb){return eV(eb,17)^eV(eb,19)^eb>>>10}em.ft_1=ew,em.ch32=eM,em.maj32=eC,em.p32=eT,em.s0_256=e_,em.s1_256=eS,em.g0_256=eE,em.g1_256=eA},26436:function(eb,em,eH){"use strict";var eV=eH(79746),ew=eH(35717);function eM(eb,em){return(64512&eb.charCodeAt(em))==55296&&!(em<0)&&!(em+1>=eb.length)&&(64512&eb.charCodeAt(em+1))==56320}function eC(eb,em){if(Array.isArray(eb))return eb.slice();if(!eb)return[];var eH=[];if("string"==typeof eb){if(em){if("hex"===em)for((eb=eb.replace(/[^a-z0-9]+/ig,"")).length%2!=0&&(eb="0"+eb),ew=0;ew>6|192,eH[eV++]=63&eC|128):eM(eb,ew)?(eC=65536+((1023&eC)<<10)+(1023&eb.charCodeAt(++ew)),eH[eV++]=eC>>18|240,eH[eV++]=eC>>12&63|128,eH[eV++]=eC>>6&63|128,eH[eV++]=63&eC|128):(eH[eV++]=eC>>12|224,eH[eV++]=eC>>6&63|128,eH[eV++]=63&eC|128)}}else for(ew=0;ew>>24|eb>>>8&65280|eb<<8&16711680|(255&eb)<<24)>>>0}function eS(eb,em){for(var eH="",eV=0;eV>>0;return eT}function eI(eb,em){for(var eH=Array(4*eb.length),eV=0,ew=0;eV>>24,eH[ew+1]=eM>>>16&255,eH[ew+2]=eM>>>8&255,eH[ew+3]=255&eM):(eH[ew+3]=eM>>>24,eH[ew+2]=eM>>>16&255,eH[ew+1]=eM>>>8&255,eH[ew]=255&eM)}return eH}function eD(eb,em){return eb>>>em|eb<<32-em}function eP(eb,em){return eb<>>32-em}function eO(eb,em){return eb+em>>>0}function eR(eb,em,eH){return eb+em+eH>>>0}function eB(eb,em,eH,eV){return eb+em+eH+eV>>>0}function eF(eb,em,eH,eV,ew){return eb+em+eH+eV+ew>>>0}function ej(eb,em,eH,eV){var ew=eb[em],eM=eV+eb[em+1]>>>0,eC=(eM>>0,eb[em+1]=eM}function eU(eb,em,eH,eV){return(em+eV>>>0>>0}function e$(eb,em,eH,eV){return em+eV>>>0}function eW(eb,em,eH,eV,ew,eM,eC,eT){var e_,eS=em;return eb+eH+ew+eC+(e_=0+((eS=eS+eV>>>0)>>0)>>0)>>0}function eZ(eb,em,eH,eV,ew,eM,eC,eT){return em+eV+eM+eT>>>0}function eG(eb,em,eH,eV,ew,eM,eC,eT,e_,eS){var eE,eA=em;return eb+eH+ew+eC+e_+(eE=0+((eA=eA+eV>>>0)>>0)>>0)>>0)>>0}function eK(eb,em,eH,eV,ew,eM,eC,eT,e_,eS){return em+eV+eM+eT+eS>>>0}function eY(eb,em,eH){return(em<<32-eH|eb>>>eH)>>>0}function eX(eb,em,eH){return(eb<<32-eH|em>>>eH)>>>0}function eJ(eb,em,eH){return eb>>>eH}function eQ(eb,em,eH){return(eb<<32-eH|em>>>eH)>>>0}em.inherits=ew,em.toArray=eC,em.toHex=eT,em.htonl=e_,em.toHex32=eS,em.zero2=eE,em.zero8=eA,em.join32=eN,em.split32=eI,em.rotr32=eD,em.rotl32=eP,em.sum32=eO,em.sum32_3=eR,em.sum32_4=eB,em.sum32_5=eF,em.sum64=ej,em.sum64_hi=eU,em.sum64_lo=e$,em.sum64_4_hi=eW,em.sum64_4_lo=eZ,em.sum64_5_hi=eG,em.sum64_5_lo=eK,em.rotr64_hi=eY,em.rotr64_lo=eX,em.shr64_hi=eJ,em.shr64_lo=eQ},48824:function(eb,em,eH){"use strict";var eV=Function.prototype.call,ew=Object.prototype.hasOwnProperty,eM=eH(58612);eb.exports=eM.call(eV,ew)},49840:function(eb,em,eH){var eV=eH(69282),ew=eH(89509).Buffer,eM=eH(42474),eC=eH(58334),eT=eH(17221),e_=ew.from("Bitcoin seed","utf8"),eS=2147483648,eE=78,eA={private:76066276,public:76067358};function eN(eb){this.versions=eb||eA,this.depth=0,this.index=0,this._privateKey=null,this._publicKey=null,this.chainCode=null,this._fingerprint=0,this.parentFingerprint=0}function eI(eb,em,eH){var eV=ew.allocUnsafe(eE);eV.writeUInt32BE(em,0),eV.writeUInt8(eb.depth,4);var eM=eb.depth?eb.parentFingerprint:0;return eV.writeUInt32BE(eM,5),eV.writeUInt32BE(eb.index,9),eb.chainCode.copy(eV,13),eH.copy(eV,45),eV}function eD(eb){var em=eM.createHash("sha256").update(eb).digest();return eM.createHash("ripemd160").update(em).digest()}Object.defineProperty(eN.prototype,"fingerprint",{get:function(){return this._fingerprint}}),Object.defineProperty(eN.prototype,"identifier",{get:function(){return this._identifier}}),Object.defineProperty(eN.prototype,"pubKeyHash",{get:function(){return this.identifier}}),Object.defineProperty(eN.prototype,"privateKey",{get:function(){return this._privateKey},set:function(eb){eV.equal(eb.length,32,"Private key must be 32 bytes."),eV(!0===eT.privateKeyVerify(eb),"Invalid private key"),this._privateKey=eb,this._publicKey=ew.from(eT.publicKeyCreate(eb,!0)),this._identifier=eD(this.publicKey),this._fingerprint=this._identifier.slice(0,4).readUInt32BE(0)}}),Object.defineProperty(eN.prototype,"publicKey",{get:function(){return this._publicKey},set:function(eb){eV(33===eb.length||65===eb.length,"Public key must be 33 or 65 bytes."),eV(!0===eT.publicKeyVerify(eb),"Invalid public key"),this._publicKey=ew.from(eT.publicKeyConvert(eb,!0)),this._identifier=eD(this.publicKey),this._fingerprint=this._identifier.slice(0,4).readUInt32BE(0),this._privateKey=null}}),Object.defineProperty(eN.prototype,"privateExtendedKey",{get:function(){return this._privateKey?eC.encode(eI(this,this.versions.private,ew.concat([ew.alloc(1,0),this.privateKey]))):null}}),Object.defineProperty(eN.prototype,"publicExtendedKey",{get:function(){return eC.encode(eI(this,this.versions.public,this.publicKey))}}),eN.prototype.derive=function(eb){if("m"===eb||"M"===eb||"m'"===eb||"M'"===eb)return this;var em=eb.split("/"),eH=this;return em.forEach(function(eb,em){if(0===em){eV(/^[mM]{1}/.test(eb),'Path must start with "m" or "M"');return}var ew=eb.length>1&&"'"===eb[eb.length-1],eM=parseInt(eb,10);eV(eM=eS,eC=ew.allocUnsafe(4);if(eC.writeUInt32BE(eb,0),eH){eV(this.privateKey,"Could not derive hardened child key");var e_=this.privateKey,eE=ew.alloc(1,0);e_=ew.concat([eE,e_]),em=ew.concat([e_,eC])}else em=ew.concat([this.publicKey,eC]);var eA=eM.createHmac("sha512",this.chainCode).update(em).digest(),eI=eA.slice(0,32),eD=eA.slice(32),eP=new eN(this.versions);if(this.privateKey)try{eP.privateKey=ew.from(eT.privateKeyTweakAdd(ew.from(this.privateKey),eI))}catch(em){return this.deriveChild(eb+1)}else try{eP.publicKey=ew.from(eT.publicKeyTweakAdd(ew.from(this.publicKey),eI,!0))}catch(em){return this.deriveChild(eb+1)}return eP.chainCode=eD,eP.depth=this.depth+1,eP.parentFingerprint=this.fingerprint,eP.index=eb,eP},eN.prototype.sign=function(eb){return ew.from(eT.ecdsaSign(eb,this.privateKey).signature)},eN.prototype.verify=function(eb,em){return eT.ecdsaVerify(Uint8Array.from(em),Uint8Array.from(eb),Uint8Array.from(this.publicKey))},eN.prototype.wipePrivateData=function(){return this._privateKey&&eM.randomBytes(this._privateKey.length).copy(this._privateKey),this._privateKey=null,this},eN.prototype.toJSON=function(){return{xpriv:this.privateExtendedKey,xpub:this.publicExtendedKey}},eN.fromMasterSeed=function(eb,em){var eH=eM.createHmac("sha512",e_).update(eb).digest(),eV=eH.slice(0,32),ew=eH.slice(32),eC=new eN(em);return eC.chainCode=ew,eC.privateKey=eV,eC},eN.fromExtendedKey=function(eb,em){em=em||eA;var eH=new eN(em),ew=eC.decode(eb),eM=ew.readUInt32BE(0);eV(eM===em.private||eM===em.public,"Version mismatch: does not match private or public"),eH.depth=ew.readUInt8(4),eH.parentFingerprint=ew.readUInt32BE(5),eH.index=ew.readUInt32BE(9),eH.chainCode=ew.slice(13,45);var eT=ew.slice(45);return 0===eT.readUInt8(0)?(eV(eM===em.private,"Version mismatch: version does not match private"),eH.privateKey=eT.slice(1)):(eV(eM===em.public,"Version mismatch: version does not match public"),eH.publicKey=eT),eH},eN.fromJSON=function(eb){return eN.fromExtendedKey(eb.xpriv)},eN.HARDENED_OFFSET=eS,eb.exports=eN},2156:function(eb,em,eH){"use strict";var eV=eH(33715),ew=eH(34504),eM=eH(79746);function eC(eb){if(!(this instanceof eC))return new eC(eb);this.hash=eb.hash,this.predResist=!!eb.predResist,this.outLen=this.hash.outSize,this.minEntropy=eb.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var em=ew.toArray(eb.entropy,eb.entropyEnc||"hex"),eH=ew.toArray(eb.nonce,eb.nonceEnc||"hex"),eV=ew.toArray(eb.pers,eb.persEnc||"hex");eM(em.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(em,eH,eV)}eb.exports=eC,eC.prototype._init=function(eb,em,eH){var eV=eb.concat(em).concat(eH);this.K=Array(this.outLen/8),this.V=Array(this.outLen/8);for(var ew=0;ew=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(eb.concat(eH||[])),this._reseed=1},eC.prototype.generate=function(eb,em,eH,eV){if(this._reseed>this.reseedInterval)throw Error("Reseed is required");"string"!=typeof em&&(eV=eH,eH=em,em=null),eH&&(eH=ew.toArray(eH,eV||"hex"),this._update(eH));for(var eM=[];eM.lengthe_)throw RangeError('The value "'+eb+'" is invalid for option "size"');let em=new Uint8Array(eb);return Object.setPrototypeOf(em,eA.prototype),em}function eA(eb,em,ew){if("number"==typeof eb){if("string"==typeof em)throw TypeError('The "string" argument must be of type string. Received type number');return eO(eb)}return eN(eb,em,ew)}function eN(eb,em,ew){if("string"==typeof eb)return eP(eb,em);if(ArrayBuffer.isView(eb))return eB(eb);if(null==eb)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof eb);if(tW(eb,ArrayBuffer)||eb&&tW(eb.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(tW(eb,SharedArrayBuffer)||eb&&tW(eb.buffer,SharedArrayBuffer)))return eF(eb,em,ew);if("number"==typeof eb)throw TypeError('The "value" argument must not be of type number. Received type number');let eM=eb.valueOf&&eb.valueOf();if(null!=eM&&eM!==eb)return eA.from(eM,em,ew);let eC=ej(eb);if(eC)return eC;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof eb[Symbol.toPrimitive])return eA.from(eb[Symbol.toPrimitive]("string"),em,ew);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof eb)}function eI(eb){if("number"!=typeof eb)throw TypeError('"size" argument must be of type number');if(eb<0)throw RangeError('The value "'+eb+'" is invalid for option "size"')}function eD(eb,em,ew){return(eI(eb),eb<=0)?eS(eb):void 0!==em?"string"==typeof ew?eS(eb).fill(em,ew):eS(eb).fill(em):eS(eb)}function eO(eb){return eI(eb),eS(eb<0?0:0|eU(eb))}function eP(eb,em){if(("string"!=typeof em||""===em)&&(em="utf8"),!eA.isEncoding(em))throw TypeError("Unknown encoding: "+em);let ew=0|eH(eb,em),eM=eS(ew),eC=eM.write(eb,em);return eC!==ew&&(eM=eM.slice(0,eC)),eM}function eR(eb){let em=eb.length<0?0:0|eU(eb.length),ew=eS(em);for(let eM=0;eM=e_)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+e_.toString(16)+" bytes");return 0|eb}function eV(eb){return+eb!=eb&&(eb=0),eA.alloc(+eb)}function eH(eb,em){if(eA.isBuffer(eb))return eb.length;if(ArrayBuffer.isView(eb)||tW(eb,ArrayBuffer))return eb.byteLength;if("string"!=typeof eb)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof eb);let ew=eb.length,eM=arguments.length>2&&!0===arguments[2];if(!eM&&0===ew)return 0;let eC=!1;for(;;)switch(em){case"ascii":case"latin1":case"binary":return ew;case"utf8":case"utf-8":return tU(eb).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*ew;case"hex":return ew>>>1;case"base64":return t$(eb).length;default:if(eC)return eM?-1:tU(eb).length;em=(""+em).toLowerCase(),eC=!0}}function e$(eb,em,ew){let eM=!1;if((void 0===em||em<0)&&(em=0),em>this.length||((void 0===ew||ew>this.length)&&(ew=this.length),ew<=0||(ew>>>=0)<=(em>>>=0)))return"";for(eb||(eb="utf8");;)switch(eb){case"hex":return e9(this,em,ew);case"utf8":case"utf-8":return e6(this,em,ew);case"ascii":return e5(this,em,ew);case"latin1":case"binary":return e8(this,em,ew);case"base64":return e0(this,em,ew);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return e7(this,em,ew);default:if(eM)throw TypeError("Unknown encoding: "+eb);eb=(eb+"").toLowerCase(),eM=!0}}function eW(eb,em,ew){let eM=eb[em];eb[em]=eb[ew],eb[ew]=eM}function eZ(eb,em,ew,eM,eC){if(0===eb.length)return -1;if("string"==typeof ew?(eM=ew,ew=0):ew>2147483647?ew=2147483647:ew<-2147483648&&(ew=-2147483648),tZ(ew=+ew)&&(ew=eC?0:eb.length-1),ew<0&&(ew=eb.length+ew),ew>=eb.length){if(eC)return -1;ew=eb.length-1}else if(ew<0){if(!eC)return -1;ew=0}if("string"==typeof em&&(em=eA.from(em,eM)),eA.isBuffer(em))return 0===em.length?-1:eK(eb,em,ew,eM,eC);if("number"==typeof em)return(em&=255,"function"==typeof Uint8Array.prototype.indexOf)?eC?Uint8Array.prototype.indexOf.call(eb,em,ew):Uint8Array.prototype.lastIndexOf.call(eb,em,ew):eK(eb,[em],ew,eM,eC);throw TypeError("val must be string, number or Buffer")}function eK(eb,em,ew,eM,eC){let eT,e_=1,eE=eb.length,eS=em.length;if(void 0!==eM&&("ucs2"===(eM=String(eM).toLowerCase())||"ucs-2"===eM||"utf16le"===eM||"utf-16le"===eM)){if(eb.length<2||em.length<2)return -1;e_=2,eE/=2,eS/=2,ew/=2}function eA(eb,em){return 1===e_?eb[em]:eb.readUInt16BE(em*e_)}if(eC){let eM=-1;for(eT=ew;eTeE&&(ew=eE-eS),eT=ew;eT>=0;eT--){let ew=!0;for(let eM=0;eMeT&&(eM=eT):eM=eT;let e_=em.length;for(eM>e_/2&&(eM=e_/2),eC=0;eC239?4:em>223?3:em>191?2:1;if(eC+e_<=ew){let ew,eM,eE,eS;switch(e_){case 1:em<128&&(eT=em);break;case 2:(192&(ew=eb[eC+1]))==128&&(eS=(31&em)<<6|63&ew)>127&&(eT=eS);break;case 3:ew=eb[eC+1],eM=eb[eC+2],(192&ew)==128&&(192&eM)==128&&(eS=(15&em)<<12|(63&ew)<<6|63&eM)>2047&&(eS<55296||eS>57343)&&(eT=eS);break;case 4:ew=eb[eC+1],eM=eb[eC+2],eE=eb[eC+3],(192&ew)==128&&(192&eM)==128&&(192&eE)==128&&(eS=(15&em)<<18|(63&ew)<<12|(63&eM)<<6|63&eE)>65535&&eS<1114112&&(eT=eS)}}null===eT?(eT=65533,e_=1):eT>65535&&(eT-=65536,eM.push(eT>>>10&1023|55296),eT=56320|1023&eT),eM.push(eT),eC+=e_}return e3(eM)}em.kMaxLength=e_,eA.TYPED_ARRAY_SUPPORT=eE(),eA.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||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."),Object.defineProperty(eA.prototype,"parent",{enumerable:!0,get:function(){if(eA.isBuffer(this))return this.buffer}}),Object.defineProperty(eA.prototype,"offset",{enumerable:!0,get:function(){if(eA.isBuffer(this))return this.byteOffset}}),eA.poolSize=8192,eA.from=function(eb,em,ew){return eN(eb,em,ew)},Object.setPrototypeOf(eA.prototype,Uint8Array.prototype),Object.setPrototypeOf(eA,Uint8Array),eA.alloc=function(eb,em,ew){return eD(eb,em,ew)},eA.allocUnsafe=function(eb){return eO(eb)},eA.allocUnsafeSlow=function(eb){return eO(eb)},eA.isBuffer=function(eb){return null!=eb&&!0===eb._isBuffer&&eb!==eA.prototype},eA.compare=function(eb,em){if(tW(eb,Uint8Array)&&(eb=eA.from(eb,eb.offset,eb.byteLength)),tW(em,Uint8Array)&&(em=eA.from(em,em.offset,em.byteLength)),!eA.isBuffer(eb)||!eA.isBuffer(em))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(eb===em)return 0;let ew=eb.length,eM=em.length;for(let eC=0,eT=Math.min(ew,eM);eCeM.length?(eA.isBuffer(em)||(em=eA.from(em)),em.copy(eM,eC)):Uint8Array.prototype.set.call(eM,em,eC);else if(eA.isBuffer(em))em.copy(eM,eC);else throw TypeError('"list" argument must be an Array of Buffers');eC+=em.length}return eM},eA.byteLength=eH,eA.prototype._isBuffer=!0,eA.prototype.swap16=function(){let eb=this.length;if(eb%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(let em=0;emew&&(eb+=" ... "),""},eT&&(eA.prototype[eT]=eA.prototype.inspect),eA.prototype.compare=function(eb,em,ew,eM,eC){if(tW(eb,Uint8Array)&&(eb=eA.from(eb,eb.offset,eb.byteLength)),!eA.isBuffer(eb))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof eb);if(void 0===em&&(em=0),void 0===ew&&(ew=eb?eb.length:0),void 0===eM&&(eM=0),void 0===eC&&(eC=this.length),em<0||ew>eb.length||eM<0||eC>this.length)throw RangeError("out of range index");if(eM>=eC&&em>=ew)return 0;if(eM>=eC)return -1;if(em>=ew)return 1;if(em>>>=0,ew>>>=0,eM>>>=0,eC>>>=0,this===eb)return 0;let eT=eC-eM,e_=ew-em,eE=Math.min(eT,e_),eS=this.slice(eM,eC),eN=eb.slice(em,ew);for(let eb=0;eb>>=0,isFinite(ew)?(ew>>>=0,void 0===eM&&(eM="utf8")):(eM=ew,ew=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let eC=this.length-em;if((void 0===ew||ew>eC)&&(ew=eC),eb.length>0&&(ew<0||em<0)||em>this.length)throw RangeError("Attempt to write outside buffer bounds");eM||(eM="utf8");let eT=!1;for(;;)switch(eM){case"hex":return eG(this,eb,em,ew);case"utf8":case"utf-8":return eY(this,eb,em,ew);case"ascii":case"latin1":case"binary":return eJ(this,eb,em,ew);case"base64":return eX(this,eb,em,ew);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return eQ(this,eb,em,ew);default:if(eT)throw TypeError("Unknown encoding: "+eM);eM=(""+eM).toLowerCase(),eT=!0}},eA.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};let e4=4096;function e3(eb){let em=eb.length;if(em<=e4)return String.fromCharCode.apply(String,eb);let ew="",eM=0;for(;eMeM)&&(ew=eM);let eC="";for(let eM=em;eMew)throw RangeError("Trying to access beyond buffer length")}function tC(eb,em,ew,eM,eC,eT){if(!eA.isBuffer(eb))throw TypeError('"buffer" argument must be a Buffer instance');if(em>eC||emeb.length)throw RangeError("Index out of range")}function tT(eb,em,ew,eM,eC){tP(em,eM,eC,eb,ew,7);let eT=Number(em&BigInt(4294967295));eb[ew++]=eT,eT>>=8,eb[ew++]=eT,eT>>=8,eb[ew++]=eT,eT>>=8,eb[ew++]=eT;let e_=Number(em>>BigInt(32)&BigInt(4294967295));return eb[ew++]=e_,e_>>=8,eb[ew++]=e_,e_>>=8,eb[ew++]=e_,e_>>=8,eb[ew++]=e_,ew}function t_(eb,em,ew,eM,eC){tP(em,eM,eC,eb,ew,7);let eT=Number(em&BigInt(4294967295));eb[ew+7]=eT,eT>>=8,eb[ew+6]=eT,eT>>=8,eb[ew+5]=eT,eT>>=8,eb[ew+4]=eT;let e_=Number(em>>BigInt(32)&BigInt(4294967295));return eb[ew+3]=e_,e_>>=8,eb[ew+2]=e_,e_>>=8,eb[ew+1]=e_,e_>>=8,eb[ew]=e_,ew+8}function tE(eb,em,ew,eM,eC,eT){if(ew+eM>eb.length||ew<0)throw RangeError("Index out of range")}function tS(eb,em,ew,eM,eT){return em=+em,ew>>>=0,eT||tE(eb,em,ew,4,34028234663852886e22,-34028234663852886e22),eC.write(eb,em,ew,eM,23,4),ew+4}function tA(eb,em,ew,eM,eT){return em=+em,ew>>>=0,eT||tE(eb,em,ew,8,17976931348623157e292,-17976931348623157e292),eC.write(eb,em,ew,eM,52,8),ew+8}eA.prototype.slice=function(eb,em){let ew=this.length;eb=~~eb,em=void 0===em?ew:~~em,eb<0?(eb+=ew)<0&&(eb=0):eb>ew&&(eb=ew),em<0?(em+=ew)<0&&(em=0):em>ew&&(em=ew),em>>=0,em>>>=0,ew||tw(eb,em,this.length);let eM=this[eb],eC=1,eT=0;for(;++eT>>=0,em>>>=0,ew||tw(eb,em,this.length);let eM=this[eb+--em],eC=1;for(;em>0&&(eC*=256);)eM+=this[eb+--em]*eC;return eM},eA.prototype.readUint8=eA.prototype.readUInt8=function(eb,em){return eb>>>=0,em||tw(eb,1,this.length),this[eb]},eA.prototype.readUint16LE=eA.prototype.readUInt16LE=function(eb,em){return eb>>>=0,em||tw(eb,2,this.length),this[eb]|this[eb+1]<<8},eA.prototype.readUint16BE=eA.prototype.readUInt16BE=function(eb,em){return eb>>>=0,em||tw(eb,2,this.length),this[eb]<<8|this[eb+1]},eA.prototype.readUint32LE=eA.prototype.readUInt32LE=function(eb,em){return eb>>>=0,em||tw(eb,4,this.length),(this[eb]|this[eb+1]<<8|this[eb+2]<<16)+16777216*this[eb+3]},eA.prototype.readUint32BE=eA.prototype.readUInt32BE=function(eb,em){return eb>>>=0,em||tw(eb,4,this.length),16777216*this[eb]+(this[eb+1]<<16|this[eb+2]<<8|this[eb+3])},eA.prototype.readBigUInt64LE=tG(function(eb){tR(eb>>>=0,"offset");let em=this[eb],ew=this[eb+7];(void 0===em||void 0===ew)&&tB(eb,this.length-8);let eM=em+256*this[++eb]+65536*this[++eb]+16777216*this[++eb],eC=this[++eb]+256*this[++eb]+65536*this[++eb]+16777216*ew;return BigInt(eM)+(BigInt(eC)<>>=0,"offset");let em=this[eb],ew=this[eb+7];(void 0===em||void 0===ew)&&tB(eb,this.length-8);let eM=16777216*em+65536*this[++eb]+256*this[++eb]+this[++eb],eC=16777216*this[++eb]+65536*this[++eb]+256*this[++eb]+ew;return(BigInt(eM)<>>=0,em>>>=0,ew||tw(eb,em,this.length);let eM=this[eb],eC=1,eT=0;for(;++eT=(eC*=128)&&(eM-=Math.pow(2,8*em)),eM},eA.prototype.readIntBE=function(eb,em,ew){eb>>>=0,em>>>=0,ew||tw(eb,em,this.length);let eM=em,eC=1,eT=this[eb+--eM];for(;eM>0&&(eC*=256);)eT+=this[eb+--eM]*eC;return eT>=(eC*=128)&&(eT-=Math.pow(2,8*em)),eT},eA.prototype.readInt8=function(eb,em){return(eb>>>=0,em||tw(eb,1,this.length),128&this[eb])?-((255-this[eb]+1)*1):this[eb]},eA.prototype.readInt16LE=function(eb,em){eb>>>=0,em||tw(eb,2,this.length);let ew=this[eb]|this[eb+1]<<8;return 32768&ew?4294901760|ew:ew},eA.prototype.readInt16BE=function(eb,em){eb>>>=0,em||tw(eb,2,this.length);let ew=this[eb+1]|this[eb]<<8;return 32768&ew?4294901760|ew:ew},eA.prototype.readInt32LE=function(eb,em){return eb>>>=0,em||tw(eb,4,this.length),this[eb]|this[eb+1]<<8|this[eb+2]<<16|this[eb+3]<<24},eA.prototype.readInt32BE=function(eb,em){return eb>>>=0,em||tw(eb,4,this.length),this[eb]<<24|this[eb+1]<<16|this[eb+2]<<8|this[eb+3]},eA.prototype.readBigInt64LE=tG(function(eb){tR(eb>>>=0,"offset");let em=this[eb],ew=this[eb+7];(void 0===em||void 0===ew)&&tB(eb,this.length-8);let eM=this[eb+4]+256*this[eb+5]+65536*this[eb+6]+(ew<<24);return(BigInt(eM)<>>=0,"offset");let em=this[eb],ew=this[eb+7];(void 0===em||void 0===ew)&&tB(eb,this.length-8);let eM=(em<<24)+65536*this[++eb]+256*this[++eb]+this[++eb];return(BigInt(eM)<>>=0,em||tw(eb,4,this.length),eC.read(this,eb,!0,23,4)},eA.prototype.readFloatBE=function(eb,em){return eb>>>=0,em||tw(eb,4,this.length),eC.read(this,eb,!1,23,4)},eA.prototype.readDoubleLE=function(eb,em){return eb>>>=0,em||tw(eb,8,this.length),eC.read(this,eb,!0,52,8)},eA.prototype.readDoubleBE=function(eb,em){return eb>>>=0,em||tw(eb,8,this.length),eC.read(this,eb,!1,52,8)},eA.prototype.writeUintLE=eA.prototype.writeUIntLE=function(eb,em,ew,eM){if(eb=+eb,em>>>=0,ew>>>=0,!eM){let eM=Math.pow(2,8*ew)-1;tC(this,eb,em,ew,eM,0)}let eC=1,eT=0;for(this[em]=255&eb;++eT>>=0,ew>>>=0,!eM){let eM=Math.pow(2,8*ew)-1;tC(this,eb,em,ew,eM,0)}let eC=ew-1,eT=1;for(this[em+eC]=255&eb;--eC>=0&&(eT*=256);)this[em+eC]=eb/eT&255;return em+ew},eA.prototype.writeUint8=eA.prototype.writeUInt8=function(eb,em,ew){return eb=+eb,em>>>=0,ew||tC(this,eb,em,1,255,0),this[em]=255&eb,em+1},eA.prototype.writeUint16LE=eA.prototype.writeUInt16LE=function(eb,em,ew){return eb=+eb,em>>>=0,ew||tC(this,eb,em,2,65535,0),this[em]=255&eb,this[em+1]=eb>>>8,em+2},eA.prototype.writeUint16BE=eA.prototype.writeUInt16BE=function(eb,em,ew){return eb=+eb,em>>>=0,ew||tC(this,eb,em,2,65535,0),this[em]=eb>>>8,this[em+1]=255&eb,em+2},eA.prototype.writeUint32LE=eA.prototype.writeUInt32LE=function(eb,em,ew){return eb=+eb,em>>>=0,ew||tC(this,eb,em,4,4294967295,0),this[em+3]=eb>>>24,this[em+2]=eb>>>16,this[em+1]=eb>>>8,this[em]=255&eb,em+4},eA.prototype.writeUint32BE=eA.prototype.writeUInt32BE=function(eb,em,ew){return eb=+eb,em>>>=0,ew||tC(this,eb,em,4,4294967295,0),this[em]=eb>>>24,this[em+1]=eb>>>16,this[em+2]=eb>>>8,this[em+3]=255&eb,em+4},eA.prototype.writeBigUInt64LE=tG(function(eb,em=0){return tT(this,eb,em,BigInt(0),BigInt("0xffffffffffffffff"))}),eA.prototype.writeBigUInt64BE=tG(function(eb,em=0){return t_(this,eb,em,BigInt(0),BigInt("0xffffffffffffffff"))}),eA.prototype.writeIntLE=function(eb,em,ew,eM){if(eb=+eb,em>>>=0,!eM){let eM=Math.pow(2,8*ew-1);tC(this,eb,em,ew,eM-1,-eM)}let eC=0,eT=1,e_=0;for(this[em]=255&eb;++eC>0)-e_&255;return em+ew},eA.prototype.writeIntBE=function(eb,em,ew,eM){if(eb=+eb,em>>>=0,!eM){let eM=Math.pow(2,8*ew-1);tC(this,eb,em,ew,eM-1,-eM)}let eC=ew-1,eT=1,e_=0;for(this[em+eC]=255&eb;--eC>=0&&(eT*=256);)eb<0&&0===e_&&0!==this[em+eC+1]&&(e_=1),this[em+eC]=(eb/eT>>0)-e_&255;return em+ew},eA.prototype.writeInt8=function(eb,em,ew){return eb=+eb,em>>>=0,ew||tC(this,eb,em,1,127,-128),eb<0&&(eb=255+eb+1),this[em]=255&eb,em+1},eA.prototype.writeInt16LE=function(eb,em,ew){return eb=+eb,em>>>=0,ew||tC(this,eb,em,2,32767,-32768),this[em]=255&eb,this[em+1]=eb>>>8,em+2},eA.prototype.writeInt16BE=function(eb,em,ew){return eb=+eb,em>>>=0,ew||tC(this,eb,em,2,32767,-32768),this[em]=eb>>>8,this[em+1]=255&eb,em+2},eA.prototype.writeInt32LE=function(eb,em,ew){return eb=+eb,em>>>=0,ew||tC(this,eb,em,4,2147483647,-2147483648),this[em]=255&eb,this[em+1]=eb>>>8,this[em+2]=eb>>>16,this[em+3]=eb>>>24,em+4},eA.prototype.writeInt32BE=function(eb,em,ew){return eb=+eb,em>>>=0,ew||tC(this,eb,em,4,2147483647,-2147483648),eb<0&&(eb=4294967295+eb+1),this[em]=eb>>>24,this[em+1]=eb>>>16,this[em+2]=eb>>>8,this[em+3]=255&eb,em+4},eA.prototype.writeBigInt64LE=tG(function(eb,em=0){return tT(this,eb,em,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),eA.prototype.writeBigInt64BE=tG(function(eb,em=0){return t_(this,eb,em,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),eA.prototype.writeFloatLE=function(eb,em,ew){return tS(this,eb,em,!0,ew)},eA.prototype.writeFloatBE=function(eb,em,ew){return tS(this,eb,em,!1,ew)},eA.prototype.writeDoubleLE=function(eb,em,ew){return tA(this,eb,em,!0,ew)},eA.prototype.writeDoubleBE=function(eb,em,ew){return tA(this,eb,em,!1,ew)},eA.prototype.copy=function(eb,em,ew,eM){if(!eA.isBuffer(eb))throw TypeError("argument should be a Buffer");if(ew||(ew=0),eM||0===eM||(eM=this.length),em>=eb.length&&(em=eb.length),em||(em=0),eM>0&&eM=this.length)throw RangeError("Index out of range");if(eM<0)throw RangeError("sourceEnd out of bounds");eM>this.length&&(eM=this.length),eb.length-em>>=0,ew=void 0===ew?this.length:ew>>>0,eb||(eb=0),"number"==typeof eb)for(eC=em;eC=eM+4;ew-=3)em=`_${eb.slice(ew-3,ew)}${em}`;return`${eb.slice(0,ew)}${em}`}function tO(eb,em,ew){tR(em,"offset"),(void 0===eb[em]||void 0===eb[em+ew])&&tB(em,eb.length-(ew+1))}function tP(eb,em,ew,eM,eC,eT){if(eb>ew||eb3?0===em||em===BigInt(0)?`>= 0${eC} and < 2${eC} ** ${(eT+1)*8}${eC}`:`>= -(2${eC} ** ${(eT+1)*8-1}${eC}) and < 2 ** ${(eT+1)*8-1}${eC}`:`>= ${em}${eC} and <= ${ew}${eC}`,new tN.ERR_OUT_OF_RANGE("value",eM,eb)}tO(eM,eC,eT)}function tR(eb,em){if("number"!=typeof eb)throw new tN.ERR_INVALID_ARG_TYPE(em,"number",eb)}function tB(eb,em,ew){if(Math.floor(eb)!==eb)throw tR(eb,ew),new tN.ERR_OUT_OF_RANGE(ew||"offset","an integer",eb);if(em<0)throw new tN.ERR_BUFFER_OUT_OF_BOUNDS;throw new tN.ERR_OUT_OF_RANGE(ew||"offset",`>= ${ew?1:0} and <= ${em}`,eb)}tI("ERR_BUFFER_OUT_OF_BOUNDS",function(eb){return eb?`${eb} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),tI("ERR_INVALID_ARG_TYPE",function(eb,em){return`The "${eb}" argument must be of type number. Received type ${typeof em}`},TypeError),tI("ERR_OUT_OF_RANGE",function(eb,em,ew){let eM=`The value of "${eb}" is out of range.`,eC=ew;return Number.isInteger(ew)&&Math.abs(ew)>4294967296?eC=tD(String(ew)):"bigint"==typeof ew&&(eC=String(ew),(ew>BigInt(2)**BigInt(32)||ew<-(BigInt(2)**BigInt(32)))&&(eC=tD(eC)),eC+="n"),eM+=` It must be ${em}. Received ${eC}`},RangeError);let tF=/[^+/0-9A-Za-z-_]/g;function tj(eb){if((eb=(eb=eb.split("=")[0]).trim().replace(tF,"")).length<2)return"";for(;eb.length%4!=0;)eb+="=";return eb}function tU(eb,em){let ew;em=em||1/0;let eM=eb.length,eC=null,eT=[];for(let e_=0;e_55295&&ew<57344){if(!eC){if(ew>56319||e_+1===eM){(em-=3)>-1&&eT.push(239,191,189);continue}eC=ew;continue}if(ew<56320){(em-=3)>-1&&eT.push(239,191,189),eC=ew;continue}ew=(eC-55296<<10|ew-56320)+65536}else eC&&(em-=3)>-1&&eT.push(239,191,189);if(eC=null,ew<128){if((em-=1)<0)break;eT.push(ew)}else if(ew<2048){if((em-=2)<0)break;eT.push(ew>>6|192,63&ew|128)}else if(ew<65536){if((em-=3)<0)break;eT.push(ew>>12|224,ew>>6&63|128,63&ew|128)}else if(ew<1114112){if((em-=4)<0)break;eT.push(ew>>18|240,ew>>12&63|128,ew>>6&63|128,63&ew|128)}else throw Error("Invalid code point")}return eT}function tV(eb){let em=[];for(let ew=0;ew>8,eC.push(ew%256),eC.push(eM);return eC}function t$(eb){return eM.toByteArray(tj(eb))}function tq(eb,em,ew,eM){let eC;for(eC=0;eC=em.length)&&!(eC>=eb.length);++eC)em[eC+ew]=eb[eC];return eC}function tW(eb,em){return eb instanceof em||null!=eb&&null!=eb.constructor&&null!=eb.constructor.name&&eb.constructor.name===em.name}function tZ(eb){return eb!=eb}let tK=function(){let eb="0123456789abcdef",em=Array(256);for(let ew=0;ew<16;++ew){let eM=16*ew;for(let eC=0;eC<16;++eC)em[eM+eC]=eb[ew]+eb[eC]}return em}();function tG(eb){return"undefined"==typeof BigInt?tY:eb}function tY(){throw Error("BigInt not supported")}},39376:function(eb){"use strict";let em=(eb,em,ew,eM,eC)=>{for(var eT=0;eT{let ew=eb.length;for(var eM=0;eM-1?eC(ew):ew}},55559:function(eb,em,ew){"use strict";var eM=ew(58612),eC=ew(40210),eT=ew(67771),e_=ew(14453),eE=eC("%Function.prototype.apply%"),eS=eC("%Function.prototype.call%"),eA=eC("%Reflect.apply%",!0)||eM.call(eS,eE),eN=ew(24429),eI=eC("%Math.max%");eb.exports=function(eb){if("function"!=typeof eb)throw new e_("a function is required");var em=eA(eM,eS,arguments);return eT(em,1+eI(0,eb.length-(arguments.length-1)),!0)};var eD=function(){return eA(eM,eE,arguments)};eN?eN(eb.exports,"apply",{value:eD}):eb.exports.apply=eD},71027:function(eb,em,ew){"use strict";var eM=ew(89509).Buffer,eC=ew(79681).Transform,eT=ew(32553).StringDecoder;function e_(eb){eC.call(this),this.hashMode="string"==typeof eb,this.hashMode?this[eb]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}ew(35717)(e_,eC);var eE="undefined"!=typeof Uint8Array,eS="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&ArrayBuffer.isView&&(eM.prototype instanceof Uint8Array||eM.TYPED_ARRAY_SUPPORT);function eA(eb,em){if(eb instanceof eM)return eb;if("string"==typeof eb)return eM.from(eb,em);if(eS&&ArrayBuffer.isView(eb)){if(0===eb.byteLength)return eM.alloc(0);var ew=eM.from(eb.buffer,eb.byteOffset,eb.byteLength);if(ew.byteLength===eb.byteLength)return ew}if(eE&&eb instanceof Uint8Array||eM.isBuffer(eb)&&eb.constructor&&"function"==typeof eb.constructor.isBuffer&&eb.constructor.isBuffer(eb))return eM.from(eb);throw TypeError('The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView.')}e_.prototype.update=function(eb,em,ew){var eM=eA(eb,em),eC=this._update(eM);return this.hashMode?this:(ew&&(eC=this._toString(eC,ew)),eC)},e_.prototype.setAutoPadding=function(){},e_.prototype.getAuthTag=function(){throw Error("trying to get auth tag in unsupported state")},e_.prototype.setAuthTag=function(){throw Error("trying to set auth tag in unsupported state")},e_.prototype.setAAD=function(){throw Error("trying to set aad in unsupported state")},e_.prototype._transform=function(eb,em,ew){var eM;try{this.hashMode?this._update(eb):this.push(this._update(eb))}catch(eb){eM=eb}finally{ew(eM)}},e_.prototype._flush=function(eb){var em;try{this.push(this.__final())}catch(eb){em=eb}eb(em)},e_.prototype._finalOrDigest=function(eb){var em=this.__final()||eM.alloc(0);return eb&&(em=this._toString(em,eb,!0)),em},e_.prototype._toString=function(eb,em,ew){if(this._decoder||(this._decoder=new eT(em),this._encoding=em),this._encoding!==em)throw Error("can’t switch encodings");var eM=this._decoder.write(eb);return ew&&(eM+=this._decoder.end()),eM},eb.exports=e_},86010:function(eb,em,ew){"use strict";function eM(eb){var em,ew,eC="";if("string"==typeof eb||"number"==typeof eb)eC+=eb;else if("object"==typeof eb){if(Array.isArray(eb))for(em=0;em-1};function e_(eb){if("string"!=typeof eb&&(eb=String(eb)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(eb))throw TypeError("Invalid character in header field name");return eb.toLowerCase()}function eE(eb){return"string"!=typeof eb&&(eb=String(eb)),eb}function eS(eb){var em={next:function(){var em=eb.shift();return{done:void 0===em,value:em}}};return ew.iterable&&(em[Symbol.iterator]=function(){return em}),em}function eA(eb){this.map={},eb instanceof eA?eb.forEach(function(eb,em){this.append(em,eb)},this):Array.isArray(eb)?eb.forEach(function(eb){this.append(eb[0],eb[1])},this):eb&&Object.getOwnPropertyNames(eb).forEach(function(em){this.append(em,eb[em])},this)}function eN(eb){if(eb.bodyUsed)return Promise.reject(TypeError("Already read"));eb.bodyUsed=!0}function eI(eb){return new Promise(function(em,ew){eb.onload=function(){em(eb.result)},eb.onerror=function(){ew(eb.error)}})}function eD(eb){var em=new FileReader,ew=eI(em);return em.readAsArrayBuffer(eb),ew}function eO(eb){var em=new FileReader,ew=eI(em);return em.readAsText(eb),ew}function eP(eb){for(var em=new Uint8Array(eb),ew=Array(em.length),eM=0;eM-1?em:eb}function eU(eb,em){var ew=(em=em||{}).body;if(eb instanceof eU){if(eb.bodyUsed)throw TypeError("Already read");this.url=eb.url,this.credentials=eb.credentials,em.headers||(this.headers=new eA(eb.headers)),this.method=eb.method,this.mode=eb.mode,this.signal=eb.signal,ew||null==eb._bodyInit||(ew=eb._bodyInit,eb.bodyUsed=!0)}else this.url=String(eb);if(this.credentials=em.credentials||this.credentials||"same-origin",(em.headers||!this.headers)&&(this.headers=new eA(em.headers)),this.method=ej(em.method||this.method||"GET"),this.mode=em.mode||this.mode||null,this.signal=em.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&ew)throw TypeError("Body not allowed for GET or HEAD requests");this._initBody(ew)}function eV(eb){var em=new FormData;return eb.trim().split("&").forEach(function(eb){if(eb){var ew=eb.split("="),eM=ew.shift().replace(/\+/g," "),eC=ew.join("=").replace(/\+/g," ");em.append(decodeURIComponent(eM),decodeURIComponent(eC))}}),em}function eH(eb){var em=new eA;return eb.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(eb){var ew=eb.split(":"),eM=ew.shift().trim();if(eM){var eC=ew.join(":").trim();em.append(eM,eC)}}),em}function e$(eb,em){em||(em={}),this.type="default",this.status=void 0===em.status?200:em.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in em?em.statusText:"OK",this.headers=new eA(em.headers),this.url=em.url||"",this._initBody(eb)}eU.prototype.clone=function(){return new eU(this,{body:this._bodyInit})},eB.call(eU.prototype),eB.call(e$.prototype),e$.prototype.clone=function(){return new e$(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new eA(this.headers),url:this.url})},e$.error=function(){var eb=new e$(null,{status:0,statusText:""});return eb.type="error",eb};var eW=[301,302,303,307,308];e$.redirect=function(eb,em){if(-1===eW.indexOf(em))throw RangeError("Invalid status code");return new e$(null,{status:em,headers:{location:eb}})},em.DOMException=eb.DOMException;try{new em.DOMException}catch(eb){em.DOMException=function(eb,em){this.message=eb,this.name=em;var ew=Error(eb);this.stack=ew.stack},em.DOMException.prototype=Object.create(Error.prototype),em.DOMException.prototype.constructor=em.DOMException}function eZ(eb,eM){return new Promise(function(eC,eT){var e_=new eU(eb,eM);if(e_.signal&&e_.signal.aborted)return eT(new em.DOMException("Aborted","AbortError"));var eE=new XMLHttpRequest;function eS(){eE.abort()}eE.onload=function(){var eb={status:eE.status,statusText:eE.statusText,headers:eH(eE.getAllResponseHeaders()||"")};eb.url="responseURL"in eE?eE.responseURL:eb.headers.get("X-Request-URL");var em="response"in eE?eE.response:eE.responseText;eC(new e$(em,eb))},eE.onerror=function(){eT(TypeError("Network request failed"))},eE.ontimeout=function(){eT(TypeError("Network request failed"))},eE.onabort=function(){eT(new em.DOMException("Aborted","AbortError"))},eE.open(e_.method,e_.url,!0),"include"===e_.credentials?eE.withCredentials=!0:"omit"===e_.credentials&&(eE.withCredentials=!1),"responseType"in eE&&ew.blob&&(eE.responseType="blob"),e_.headers.forEach(function(eb,em){eE.setRequestHeader(em,eb)}),e_.signal&&(e_.signal.addEventListener("abort",eS),eE.onreadystatechange=function(){4===eE.readyState&&e_.signal.removeEventListener("abort",eS)}),eE.send(void 0===e_._bodyInit?null:e_._bodyInit)})}eZ.polyfill=!0,eb.fetch||(eb.fetch=eZ,eb.Headers=eA,eb.Request=eU,eb.Response=e$),em.Headers=eA,em.Request=eU,em.Response=e$,em.fetch=eZ,Object.defineProperty(em,"__esModule",{value:!0})}({})}(eM),eM.fetch.ponyfill=!0,delete eM.fetch.polyfill;var eC=eM;(em=eC.fetch).default=eC.fetch,em.fetch=eC.fetch,em.Headers=eC.Headers,em.Request=eC.Request,em.Response=eC.Response,eb.exports=em},32667:function(eb,em,ew){var eM=ew(9950),eC=ew(25419);function eT(eb){return null==eb}function e_(eb){var em={};for(var ew in eb)em[ew]=eb[ew];return em}function eE(eb){(eb=e_(eb||{})).whiteList=eb.whiteList||eM.whiteList,eb.onAttr=eb.onAttr||eM.onAttr,eb.onIgnoreAttr=eb.onIgnoreAttr||eM.onIgnoreAttr,eb.safeAttrValue=eb.safeAttrValue||eM.safeAttrValue,this.options=eb}ew(17381),eE.prototype.process=function(eb){if(!(eb=(eb=eb||"").toString()))return"";var em=this,ew=em.options,eM=ew.whiteList,e_=ew.onAttr,eE=ew.onIgnoreAttr,eS=ew.safeAttrValue;return eC(eb,function(eb,em,ew,eC,eA){var eN=eM[ew],eI=!1;if(!0===eN?eI=eN:"function"==typeof eN?eI=eN(eC):eN instanceof RegExp&&(eI=eN.test(eC)),!0!==eI&&(eI=!1),eC=eS(ew,eC)){var eD={position:em,sourcePosition:eb,source:eA,isWhite:eI};if(eI){var eO=e_(ew,eC,eD);return eT(eO)?ew+":"+eC:eO}var eO=eE(ew,eC,eD);if(!eT(eO))return eO}})},eb.exports=eE},9950:function(eb,em){function ew(){var eb={};return eb["align-content"]=!1,eb["align-items"]=!1,eb["align-self"]=!1,eb["alignment-adjust"]=!1,eb["alignment-baseline"]=!1,eb.all=!1,eb["anchor-point"]=!1,eb.animation=!1,eb["animation-delay"]=!1,eb["animation-direction"]=!1,eb["animation-duration"]=!1,eb["animation-fill-mode"]=!1,eb["animation-iteration-count"]=!1,eb["animation-name"]=!1,eb["animation-play-state"]=!1,eb["animation-timing-function"]=!1,eb.azimuth=!1,eb["backface-visibility"]=!1,eb.background=!0,eb["background-attachment"]=!0,eb["background-clip"]=!0,eb["background-color"]=!0,eb["background-image"]=!0,eb["background-origin"]=!0,eb["background-position"]=!0,eb["background-repeat"]=!0,eb["background-size"]=!0,eb["baseline-shift"]=!1,eb.binding=!1,eb.bleed=!1,eb["bookmark-label"]=!1,eb["bookmark-level"]=!1,eb["bookmark-state"]=!1,eb.border=!0,eb["border-bottom"]=!0,eb["border-bottom-color"]=!0,eb["border-bottom-left-radius"]=!0,eb["border-bottom-right-radius"]=!0,eb["border-bottom-style"]=!0,eb["border-bottom-width"]=!0,eb["border-collapse"]=!0,eb["border-color"]=!0,eb["border-image"]=!0,eb["border-image-outset"]=!0,eb["border-image-repeat"]=!0,eb["border-image-slice"]=!0,eb["border-image-source"]=!0,eb["border-image-width"]=!0,eb["border-left"]=!0,eb["border-left-color"]=!0,eb["border-left-style"]=!0,eb["border-left-width"]=!0,eb["border-radius"]=!0,eb["border-right"]=!0,eb["border-right-color"]=!0,eb["border-right-style"]=!0,eb["border-right-width"]=!0,eb["border-spacing"]=!0,eb["border-style"]=!0,eb["border-top"]=!0,eb["border-top-color"]=!0,eb["border-top-left-radius"]=!0,eb["border-top-right-radius"]=!0,eb["border-top-style"]=!0,eb["border-top-width"]=!0,eb["border-width"]=!0,eb.bottom=!1,eb["box-decoration-break"]=!0,eb["box-shadow"]=!0,eb["box-sizing"]=!0,eb["box-snap"]=!0,eb["box-suppress"]=!0,eb["break-after"]=!0,eb["break-before"]=!0,eb["break-inside"]=!0,eb["caption-side"]=!1,eb.chains=!1,eb.clear=!0,eb.clip=!1,eb["clip-path"]=!1,eb["clip-rule"]=!1,eb.color=!0,eb["color-interpolation-filters"]=!0,eb["column-count"]=!1,eb["column-fill"]=!1,eb["column-gap"]=!1,eb["column-rule"]=!1,eb["column-rule-color"]=!1,eb["column-rule-style"]=!1,eb["column-rule-width"]=!1,eb["column-span"]=!1,eb["column-width"]=!1,eb.columns=!1,eb.contain=!1,eb.content=!1,eb["counter-increment"]=!1,eb["counter-reset"]=!1,eb["counter-set"]=!1,eb.crop=!1,eb.cue=!1,eb["cue-after"]=!1,eb["cue-before"]=!1,eb.cursor=!1,eb.direction=!1,eb.display=!0,eb["display-inside"]=!0,eb["display-list"]=!0,eb["display-outside"]=!0,eb["dominant-baseline"]=!1,eb.elevation=!1,eb["empty-cells"]=!1,eb.filter=!1,eb.flex=!1,eb["flex-basis"]=!1,eb["flex-direction"]=!1,eb["flex-flow"]=!1,eb["flex-grow"]=!1,eb["flex-shrink"]=!1,eb["flex-wrap"]=!1,eb.float=!1,eb["float-offset"]=!1,eb["flood-color"]=!1,eb["flood-opacity"]=!1,eb["flow-from"]=!1,eb["flow-into"]=!1,eb.font=!0,eb["font-family"]=!0,eb["font-feature-settings"]=!0,eb["font-kerning"]=!0,eb["font-language-override"]=!0,eb["font-size"]=!0,eb["font-size-adjust"]=!0,eb["font-stretch"]=!0,eb["font-style"]=!0,eb["font-synthesis"]=!0,eb["font-variant"]=!0,eb["font-variant-alternates"]=!0,eb["font-variant-caps"]=!0,eb["font-variant-east-asian"]=!0,eb["font-variant-ligatures"]=!0,eb["font-variant-numeric"]=!0,eb["font-variant-position"]=!0,eb["font-weight"]=!0,eb.grid=!1,eb["grid-area"]=!1,eb["grid-auto-columns"]=!1,eb["grid-auto-flow"]=!1,eb["grid-auto-rows"]=!1,eb["grid-column"]=!1,eb["grid-column-end"]=!1,eb["grid-column-start"]=!1,eb["grid-row"]=!1,eb["grid-row-end"]=!1,eb["grid-row-start"]=!1,eb["grid-template"]=!1,eb["grid-template-areas"]=!1,eb["grid-template-columns"]=!1,eb["grid-template-rows"]=!1,eb["hanging-punctuation"]=!1,eb.height=!0,eb.hyphens=!1,eb.icon=!1,eb["image-orientation"]=!1,eb["image-resolution"]=!1,eb["ime-mode"]=!1,eb["initial-letters"]=!1,eb["inline-box-align"]=!1,eb["justify-content"]=!1,eb["justify-items"]=!1,eb["justify-self"]=!1,eb.left=!1,eb["letter-spacing"]=!0,eb["lighting-color"]=!0,eb["line-box-contain"]=!1,eb["line-break"]=!1,eb["line-grid"]=!1,eb["line-height"]=!1,eb["line-snap"]=!1,eb["line-stacking"]=!1,eb["line-stacking-ruby"]=!1,eb["line-stacking-shift"]=!1,eb["line-stacking-strategy"]=!1,eb["list-style"]=!0,eb["list-style-image"]=!0,eb["list-style-position"]=!0,eb["list-style-type"]=!0,eb.margin=!0,eb["margin-bottom"]=!0,eb["margin-left"]=!0,eb["margin-right"]=!0,eb["margin-top"]=!0,eb["marker-offset"]=!1,eb["marker-side"]=!1,eb.marks=!1,eb.mask=!1,eb["mask-box"]=!1,eb["mask-box-outset"]=!1,eb["mask-box-repeat"]=!1,eb["mask-box-slice"]=!1,eb["mask-box-source"]=!1,eb["mask-box-width"]=!1,eb["mask-clip"]=!1,eb["mask-image"]=!1,eb["mask-origin"]=!1,eb["mask-position"]=!1,eb["mask-repeat"]=!1,eb["mask-size"]=!1,eb["mask-source-type"]=!1,eb["mask-type"]=!1,eb["max-height"]=!0,eb["max-lines"]=!1,eb["max-width"]=!0,eb["min-height"]=!0,eb["min-width"]=!0,eb["move-to"]=!1,eb["nav-down"]=!1,eb["nav-index"]=!1,eb["nav-left"]=!1,eb["nav-right"]=!1,eb["nav-up"]=!1,eb["object-fit"]=!1,eb["object-position"]=!1,eb.opacity=!1,eb.order=!1,eb.orphans=!1,eb.outline=!1,eb["outline-color"]=!1,eb["outline-offset"]=!1,eb["outline-style"]=!1,eb["outline-width"]=!1,eb.overflow=!1,eb["overflow-wrap"]=!1,eb["overflow-x"]=!1,eb["overflow-y"]=!1,eb.padding=!0,eb["padding-bottom"]=!0,eb["padding-left"]=!0,eb["padding-right"]=!0,eb["padding-top"]=!0,eb.page=!1,eb["page-break-after"]=!1,eb["page-break-before"]=!1,eb["page-break-inside"]=!1,eb["page-policy"]=!1,eb.pause=!1,eb["pause-after"]=!1,eb["pause-before"]=!1,eb.perspective=!1,eb["perspective-origin"]=!1,eb.pitch=!1,eb["pitch-range"]=!1,eb["play-during"]=!1,eb.position=!1,eb["presentation-level"]=!1,eb.quotes=!1,eb["region-fragment"]=!1,eb.resize=!1,eb.rest=!1,eb["rest-after"]=!1,eb["rest-before"]=!1,eb.richness=!1,eb.right=!1,eb.rotation=!1,eb["rotation-point"]=!1,eb["ruby-align"]=!1,eb["ruby-merge"]=!1,eb["ruby-position"]=!1,eb["shape-image-threshold"]=!1,eb["shape-outside"]=!1,eb["shape-margin"]=!1,eb.size=!1,eb.speak=!1,eb["speak-as"]=!1,eb["speak-header"]=!1,eb["speak-numeral"]=!1,eb["speak-punctuation"]=!1,eb["speech-rate"]=!1,eb.stress=!1,eb["string-set"]=!1,eb["tab-size"]=!1,eb["table-layout"]=!1,eb["text-align"]=!0,eb["text-align-last"]=!0,eb["text-combine-upright"]=!0,eb["text-decoration"]=!0,eb["text-decoration-color"]=!0,eb["text-decoration-line"]=!0,eb["text-decoration-skip"]=!0,eb["text-decoration-style"]=!0,eb["text-emphasis"]=!0,eb["text-emphasis-color"]=!0,eb["text-emphasis-position"]=!0,eb["text-emphasis-style"]=!0,eb["text-height"]=!0,eb["text-indent"]=!0,eb["text-justify"]=!0,eb["text-orientation"]=!0,eb["text-overflow"]=!0,eb["text-shadow"]=!0,eb["text-space-collapse"]=!0,eb["text-transform"]=!0,eb["text-underline-position"]=!0,eb["text-wrap"]=!0,eb.top=!1,eb.transform=!1,eb["transform-origin"]=!1,eb["transform-style"]=!1,eb.transition=!1,eb["transition-delay"]=!1,eb["transition-duration"]=!1,eb["transition-property"]=!1,eb["transition-timing-function"]=!1,eb["unicode-bidi"]=!1,eb["vertical-align"]=!1,eb.visibility=!1,eb["voice-balance"]=!1,eb["voice-duration"]=!1,eb["voice-family"]=!1,eb["voice-pitch"]=!1,eb["voice-range"]=!1,eb["voice-rate"]=!1,eb["voice-stress"]=!1,eb["voice-volume"]=!1,eb.volume=!1,eb["white-space"]=!1,eb.widows=!1,eb.width=!0,eb["will-change"]=!1,eb["word-break"]=!0,eb["word-spacing"]=!0,eb["word-wrap"]=!0,eb["wrap-flow"]=!1,eb["wrap-through"]=!1,eb["writing-mode"]=!1,eb["z-index"]=!1,eb}function eM(eb,em,ew){}function eC(eb,em,ew){}var eT=/javascript\s*\:/img;function e_(eb,em){return eT.test(em)?"":em}em.whiteList=ew(),em.getDefaultWhiteList=ew,em.onAttr=eM,em.onIgnoreAttr=eC,em.safeAttrValue=e_},29970:function(eb,em,ew){var eM=ew(9950),eC=ew(32667);function eT(eb,em){return new eC(em).process(eb)}for(var e_ in(em=eb.exports=eT).FilterCSS=eC,eM)em[e_]=eM[e_];"undefined"!=typeof window&&(window.filterCSS=eb.exports)},25419:function(eb,em,ew){var eM=ew(17381);function eC(eb,em){";"!==(eb=eM.trimRight(eb))[eb.length-1]&&(eb+=";");var ew=eb.length,eC=!1,eT=0,e_=0,eE="";function eS(){if(!eC){var ew=eM.trim(eb.slice(eT,e_)),eS=ew.indexOf(":");if(-1!==eS){var eA=eM.trim(ew.slice(0,eS)),eN=eM.trim(ew.slice(eS+1));if(eA){var eI=em(eT,eE.length,eA,eN,ew);eI&&(eE+=eI+"; ")}}}eT=e_+1}for(;e_=em?eb:""+Array(em+1-eM.length).join(ew)+eb},ej={s:eF,z:function(eb){var em=-eb.utcOffset(),ew=Math.abs(em),eM=Math.floor(ew/60),eC=ew%60;return(em<=0?"+":"-")+eF(eM,2,"0")+":"+eF(eC,2,"0")},m:function eb(em,ew){if(em.date()1)return eb(e_[0])}else{var eE=em.name;eV[eE]=em,eC=eE}return!eM&&eC&&(eU=eC),eC||!eM&&eU},eZ=function(eb,em){if(e$(eb))return eb.clone();var ew="object"==typeof em?em:{};return ew.date=eb,ew.args=arguments,new eG(ew)},eK=ej;eK.l=eW,eK.i=e$,eK.w=function(eb,em){return eZ(eb,{locale:em.$L,utc:em.$u,x:em.$x,$offset:em.$offset})};var eG=function(){function eB(eb){this.$L=eW(eb.locale,null,!0),this.parse(eb),this.$x=this.$x||eb.x||{},this[eH]=!0}var eF=eB.prototype;return eF.parse=function(eb){this.$d=function(eb){var em=eb.date,ew=eb.utc;if(null===em)return new Date(NaN);if(eK.u(em))return new Date;if(em instanceof Date)return new Date(em);if("string"==typeof em&&!/Z$/i.test(em)){var eM=em.match(eP);if(eM){var eC=eM[2]-1||0,eT=(eM[7]||"0").substring(0,3);return ew?new Date(Date.UTC(eM[1],eC,eM[3]||1,eM[4]||0,eM[5]||0,eM[6]||0,eT)):new Date(eM[1],eC,eM[3]||1,eM[4]||0,eM[5]||0,eM[6]||0,eT)}}return new Date(em)}(eb),this.init()},eF.init=function(){var eb=this.$d;this.$y=eb.getFullYear(),this.$M=eb.getMonth(),this.$D=eb.getDate(),this.$W=eb.getDay(),this.$H=eb.getHours(),this.$m=eb.getMinutes(),this.$s=eb.getSeconds(),this.$ms=eb.getMilliseconds()},eF.$utils=function(){return eK},eF.isValid=function(){return this.$d.toString()!==eO},eF.isSame=function(eb,em){var ew=eZ(eb);return this.startOf(em)<=ew&&ew<=this.endOf(em)},eF.isAfter=function(eb,em){return eZ(eb)0,eB<=eR.r||!eR.r){eB<=1&&eP>0&&(eR=eD[eP-1]);var eF=eI[eR.l];eE&&(eB=eE(""+eB)),eA="string"==typeof eF?eF.replace("%d",eB):eF(eB,eM,eR.l,eN);break}}if(eM)return eA;var ej=eN?eI.future:eI.past;return"function"==typeof ej?ej(eA):ej.replace("%s",eA)},eM.to=function(eb,em){return eT(eb,em,this,!0)},eM.from=function(eb,em){return eT(eb,em,this)};var e_=function(eb){return eb.$u?ew.utc():ew()};eM.toNow=function(eb){return this.to(e_(this),eb)},eM.fromNow=function(eb){return this.from(e_(this),eb)}}})},70660:function(eb){!function(em,ew){eb.exports=ew()}(0,function(){return function(eb,em,ew){ew.updateLocale=function(eb,em){var eM=ew.Ls[eb];if(eM)return(em?Object.keys(em):[]).forEach(function(eb){eM[eb]=em[eb]}),eM}}})},11227:function(eb,em,ew){var eM=ew(34155);function eC(){return"undefined"!=typeof window&&!!window.process&&("renderer"===window.process.type||!!window.process.__nwjs)||!("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))}function eT(em){if(em[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+em[0]+(this.useColors?"%c ":" ")+"+"+eb.exports.humanize(this.diff),!this.useColors)return;let ew="color: "+this.color;em.splice(1,0,ew,"color: inherit");let eM=0,eC=0;em[0].replace(/%[a-zA-Z%]/g,eb=>{"%%"!==eb&&(eM++,"%c"===eb&&(eC=eM))}),em.splice(eC,0,ew)}function e_(eb){try{eb?em.storage.setItem("debug",eb):em.storage.removeItem("debug")}catch(eb){}}function eE(){let eb;try{eb=em.storage.getItem("debug")}catch(eb){}return!eb&&void 0!==eM&&"env"in eM&&(eb=eM.env.DEBUG),eb}function eS(){try{return localStorage}catch(eb){}}em.formatArgs=eT,em.save=e_,em.load=eE,em.useColors=eC,em.storage=eS(),em.destroy=(()=>{let eb=!1;return()=>{eb||(eb=!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`."))}})(),em.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"],em.log=console.debug||console.log||(()=>{}),eb.exports=ew(82447)(em);let{formatters:eA}=eb.exports;eA.j=function(eb){try{return JSON.stringify(eb)}catch(eb){return"[UnexpectedJSONParseError]: "+eb.message}}},82447:function(eb,em,ew){function eM(eb){function em(eb){let em=0;for(let ew=0;ew{if("%%"===em)return"%";e_++;let eT=eM.formatters[eC];if("function"==typeof eT){let eM=eb[e_];em=eT.call(ew,eM),eb.splice(e_,1),e_--}return em}),eM.formatArgs.call(ew,eb);let eS=ew.log||eM.log;eS.apply(ew,eb)}return eE.namespace=eb,eE.useColors=eM.useColors(),eE.color=eM.selectColor(eb),eE.extend=eC,eE.destroy=eM.destroy,Object.defineProperty(eE,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==e_?e_:(ew!==eM.namespaces&&(ew=eM.namespaces,eT=eM.enabled(eb)),eT),set:eb=>{e_=eb}}),"function"==typeof eM.init&&eM.init(eE),eE}function eC(eb,em){let ew=eM(this.namespace+(void 0===em?":":em)+eb);return ew.log=this.log,ew}function eT(eb){let em;eM.save(eb),eM.namespaces=eb,eM.names=[],eM.skips=[];let ew=("string"==typeof eb?eb:"").split(/[\s,]+/),eC=ew.length;for(em=0;em"-"+eb)].join(",");return eM.enable(""),eb}function eE(eb){let em,ew;if("*"===eb[eb.length-1])return!0;for(em=0,ew=eM.skips.length;em{eM[em]=eb[em]}),eM.names=[],eM.skips=[],eM.formatters={},eM.selectColor=em,eM.enable(eM.load()),eM}eb.exports=eM},44020:function(eb){"use strict";var em="%[a-f0-9]{2}",ew=RegExp("("+em+")|([^%]+?)","gi"),eM=RegExp("("+em+")+","gi");function eC(eb,em){try{return[decodeURIComponent(eb.join(""))]}catch(eb){}if(1===eb.length)return eb;em=em||1;var ew=eb.slice(0,em),eM=eb.slice(em);return Array.prototype.concat.call([],eC(ew),eC(eM))}function eT(eb){try{return decodeURIComponent(eb)}catch(eT){for(var em=eb.match(ew)||[],eM=1;eM3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new eT("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new eT("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new eT("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new eT("`loose`, if provided, must be a boolean");var eE=arguments.length>3?arguments[3]:null,eS=arguments.length>4?arguments[4]:null,eA=arguments.length>5?arguments[5]:null,eN=arguments.length>6&&arguments[6],eI=!!e_&&e_(eb,em);if(eM)eM(eb,em,{configurable:null===eA&&eI?eI.configurable:!eA,enumerable:null===eE&&eI?eI.enumerable:!eE,value:ew,writable:null===eS&&eI?eI.writable:!eS});else if(!eN&&(eE||eS||eA))throw new eC("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");else eb[em]=ew}},4289:function(eb,em,ew){"use strict";var eM=ew(82215),eC="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),eT=Object.prototype.toString,e_=Array.prototype.concat,eE=Object.defineProperty,eS=function(eb){return"function"==typeof eb&&"[object Function]"===eT.call(eb)},eA=ew(31044)(),eN=eE&&eA,eI=function(eb,em,ew,eM){if(em in eb){if(!0===eM){if(eb[em]===ew)return}else if(!eS(eM)||!eM())return}eN?eE(eb,em,{configurable:!0,enumerable:!1,value:ew,writable:!0}):eb[em]=ew},eD=function(eb,em){var ew=arguments.length>2?arguments[2]:{},eT=eM(em);eC&&(eT=e_.call(eT,Object.getOwnPropertySymbols(em)));for(var eE=0;eEeA)&&(eD[e_]=eA,eO.push(e_,eA),eI[e_]=eT));if(void 0!==eM&&void 0===eD[eM])throw Error(["Could not find a path from ",ew," to ",eM,"."].join(""));return eI},extract_shortest_path_from_predecessor_list:function(eb,em){for(var ew,eM=[],eC=em;eC;)eM.push(eC),ew=eb[eC],eC=eb[eC];return eM.reverse(),eM},find_path:function(eb,ew,eM){var eC=em.single_source_shortest_paths(eb,ew,eM);return em.extract_shortest_path_from_predecessor_list(eC,eM)},PriorityQueue:{make:function(eb){var ew,eM=em.PriorityQueue,eC={};for(ew in eb=eb||{},eM)eM.hasOwnProperty(ew)&&(eC[ew]=eM[ew]);return eC.queue=[],eC.sorter=eb.sorter||eM.default_sorter,eC},default_sorter:function(eb,em){return eb.cost-em.cost},push:function(eb,em){var ew={value:eb,cost:em};this.queue.push(ew),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};eb.exports=em},86266:function(eb,em,ew){"use strict";var eM=em;eM.version=ew(18597).i8,eM.utils=ew(80953),eM.rand=ew(29931),eM.curve=ew(88254),eM.curves=ew(45427),eM.ec=ew(57954),eM.eddsa=ew(65980)},4918:function(eb,em,ew){"use strict";var eM=ew(73785),eC=ew(80953),eT=eC.getNAF,e_=eC.getJSF,eE=eC.assert;function eS(eb,em){this.type=eb,this.p=new eM(em.p,16),this.red=em.prime?eM.red(em.prime):eM.mont(this.p),this.zero=new eM(0).toRed(this.red),this.one=new eM(1).toRed(this.red),this.two=new eM(2).toRed(this.red),this.n=em.n&&new eM(em.n,16),this.g=em.g&&this.pointFromJSON(em.g,em.gRed),this._wnafT1=[,,,,],this._wnafT2=[,,,,],this._wnafT3=[,,,,],this._wnafT4=[,,,,],this._bitLength=this.n?this.n.bitLength():0;var ew=this.n&&this.p.div(this.n);!ew||ew.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function eA(eb,em){this.curve=eb,this.type=em,this.precomputed=null}eb.exports=eS,eS.prototype.point=function(){throw Error("Not implemented")},eS.prototype.validate=function(){throw Error("Not implemented")},eS.prototype._fixedNafMul=function(eb,em){eE(eb.precomputed);var ew,eM,eC=eb._getDoubles(),e_=eT(em,1,this._bitLength),eS=(1<=ew;eN--)eM=(eM<<1)+e_[eN];eA.push(eM)}for(var eI=this.jpoint(null,null,null),eD=this.jpoint(null,null,null),eO=eS;eO>0;eO--){for(ew=0;ew=0;eA--){for(var eN=0;eA>=0&&0===e_[eA];eA--)eN++;if(eA>=0&&eN++,eS=eS.dblp(eN),eA<0)break;var eI=e_[eA];eE(0!==eI),eS="affine"===eb.type?eI>0?eS.mixedAdd(eC[eI-1>>1]):eS.mixedAdd(eC[-eI-1>>1].neg()):eI>0?eS.add(eC[eI-1>>1]):eS.add(eC[-eI-1>>1].neg())}return"affine"===eb.type?eS.toP():eS},eS.prototype._wnafMulAdd=function(eb,em,ew,eM,eC){var eE,eS,eA,eN=this._wnafT1,eI=this._wnafT2,eD=this._wnafT3,eO=0;for(eE=0;eE=1;eE-=2){var eR=eE-1,eB=eE;if(1!==eN[eR]||1!==eN[eB]){eD[eR]=eT(ew[eR],eN[eR],this._bitLength),eD[eB]=eT(ew[eB],eN[eB],this._bitLength),eO=Math.max(eD[eR].length,eO),eO=Math.max(eD[eB].length,eO);continue}var eF=[em[eR],null,null,em[eB]];0===em[eR].y.cmp(em[eB].y)?(eF[1]=em[eR].add(em[eB]),eF[2]=em[eR].toJ().mixedAdd(em[eB].neg())):0===em[eR].y.cmp(em[eB].y.redNeg())?(eF[1]=em[eR].toJ().mixedAdd(em[eB]),eF[2]=em[eR].add(em[eB].neg())):(eF[1]=em[eR].toJ().mixedAdd(em[eB]),eF[2]=em[eR].toJ().mixedAdd(em[eB].neg()));var ej=[-3,-1,-5,-7,0,7,5,1,3],eU=e_(ew[eR],ew[eB]);for(eS=0,eO=Math.max(eU[0].length,eO),eD[eR]=Array(eO),eD[eB]=Array(eO);eS=0;eE--){for(var eZ=0;eE>=0;){var eK=!0;for(eS=0;eS=0&&eZ++,e$=e$.dblp(eZ),eE<0)break;for(eS=0;eS0?eA=eI[eS][eG-1>>1]:eG<0&&(eA=eI[eS][-eG-1>>1].neg()),e$="affine"===eA.type?e$.mixedAdd(eA):e$.add(eA))}}for(eE=0;eE=Math.ceil((eb.bitLength()+1)/em.step)},eA.prototype._getDoubles=function(eb,em){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var ew=[this],eM=this,eC=0;eC":""},eA.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},eA.prototype._extDbl=function(){var eb=this.x.redSqr(),em=this.y.redSqr(),ew=this.z.redSqr();ew=ew.redIAdd(ew);var eM=this.curve._mulA(eb),eC=this.x.redAdd(this.y).redSqr().redISub(eb).redISub(em),eT=eM.redAdd(em),e_=eT.redSub(ew),eE=eM.redSub(em),eS=eC.redMul(e_),eA=eT.redMul(eE),eN=eC.redMul(eE),eI=e_.redMul(eT);return this.curve.point(eS,eA,eI,eN)},eA.prototype._projDbl=function(){var eb,em,ew,eM,eC,eT,e_=this.x.redAdd(this.y).redSqr(),eE=this.x.redSqr(),eS=this.y.redSqr();if(this.curve.twisted){var eA=(eM=this.curve._mulA(eE)).redAdd(eS);this.zOne?(eb=e_.redSub(eE).redSub(eS).redMul(eA.redSub(this.curve.two)),em=eA.redMul(eM.redSub(eS)),ew=eA.redSqr().redSub(eA).redSub(eA)):(eC=this.z.redSqr(),eT=eA.redSub(eC).redISub(eC),eb=e_.redSub(eE).redISub(eS).redMul(eT),em=eA.redMul(eM.redSub(eS)),ew=eA.redMul(eT))}else eM=eE.redAdd(eS),eC=this.curve._mulC(this.z).redSqr(),eT=eM.redSub(eC).redSub(eC),eb=this.curve._mulC(e_.redISub(eM)).redMul(eT),em=this.curve._mulC(eM).redMul(eE.redISub(eS)),ew=eM.redMul(eT);return this.curve.point(eb,em,ew)},eA.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},eA.prototype._extAdd=function(eb){var em=this.y.redSub(this.x).redMul(eb.y.redSub(eb.x)),ew=this.y.redAdd(this.x).redMul(eb.y.redAdd(eb.x)),eM=this.t.redMul(this.curve.dd).redMul(eb.t),eC=this.z.redMul(eb.z.redAdd(eb.z)),eT=ew.redSub(em),e_=eC.redSub(eM),eE=eC.redAdd(eM),eS=ew.redAdd(em),eA=eT.redMul(e_),eN=eE.redMul(eS),eI=eT.redMul(eS),eD=e_.redMul(eE);return this.curve.point(eA,eN,eD,eI)},eA.prototype._projAdd=function(eb){var em,ew,eM=this.z.redMul(eb.z),eC=eM.redSqr(),eT=this.x.redMul(eb.x),e_=this.y.redMul(eb.y),eE=this.curve.d.redMul(eT).redMul(e_),eS=eC.redSub(eE),eA=eC.redAdd(eE),eN=this.x.redAdd(this.y).redMul(eb.x.redAdd(eb.y)).redISub(eT).redISub(e_),eI=eM.redMul(eS).redMul(eN);return this.curve.twisted?(em=eM.redMul(eA).redMul(e_.redSub(this.curve._mulA(eT))),ew=eS.redMul(eA)):(em=eM.redMul(eA).redMul(e_.redSub(eT)),ew=this.curve._mulC(eS).redMul(eA)),this.curve.point(eI,em,ew)},eA.prototype.add=function(eb){return this.isInfinity()?eb:eb.isInfinity()?this:this.curve.extended?this._extAdd(eb):this._projAdd(eb)},eA.prototype.mul=function(eb){return this._hasDoubles(eb)?this.curve._fixedNafMul(this,eb):this.curve._wnafMul(this,eb)},eA.prototype.mulAdd=function(eb,em,ew){return this.curve._wnafMulAdd(1,[this,em],[eb,ew],2,!1)},eA.prototype.jmulAdd=function(eb,em,ew){return this.curve._wnafMulAdd(1,[this,em],[eb,ew],2,!0)},eA.prototype.normalize=function(){if(this.zOne)return this;var eb=this.z.redInvm();return this.x=this.x.redMul(eb),this.y=this.y.redMul(eb),this.t&&(this.t=this.t.redMul(eb)),this.z=this.curve.one,this.zOne=!0,this},eA.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},eA.prototype.getX=function(){return this.normalize(),this.x.fromRed()},eA.prototype.getY=function(){return this.normalize(),this.y.fromRed()},eA.prototype.eq=function(eb){return this===eb||0===this.getX().cmp(eb.getX())&&0===this.getY().cmp(eb.getY())},eA.prototype.eqXToP=function(eb){var em=eb.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(em))return!0;for(var ew=eb.clone(),eM=this.curve.redN.redMul(this.z);;){if(ew.iadd(this.curve.n),ew.cmp(this.curve.p)>=0)return!1;if(em.redIAdd(eM),0===this.x.cmp(em))return!0}},eA.prototype.toP=eA.prototype.normalize,eA.prototype.mixedAdd=eA.prototype.add},88254:function(eb,em,ew){"use strict";var eM=em;eM.base=ew(4918),eM.short=ew(6673),eM.mont=ew(22881),eM.edwards=ew(31138)},22881:function(eb,em,ew){"use strict";var eM=ew(73785),eC=ew(35717),eT=ew(4918),e_=ew(80953);function eE(eb){eT.call(this,"mont",eb),this.a=new eM(eb.a,16).toRed(this.red),this.b=new eM(eb.b,16).toRed(this.red),this.i4=new eM(4).toRed(this.red).redInvm(),this.two=new eM(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function eS(eb,em,ew){eT.BasePoint.call(this,eb,"projective"),null===em&&null===ew?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new eM(em,16),this.z=new eM(ew,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}eC(eE,eT),eb.exports=eE,eE.prototype.validate=function(eb){var em=eb.normalize().x,ew=em.redSqr(),eM=ew.redMul(em).redAdd(ew.redMul(this.a)).redAdd(em);return 0===eM.redSqrt().redSqr().cmp(eM)},eC(eS,eT.BasePoint),eE.prototype.decodePoint=function(eb,em){return this.point(e_.toArray(eb,em),1)},eE.prototype.point=function(eb,em){return new eS(this,eb,em)},eE.prototype.pointFromJSON=function(eb){return eS.fromJSON(this,eb)},eS.prototype.precompute=function(){},eS.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},eS.fromJSON=function(eb,em){return new eS(eb,em[0],em[1]||eb.one)},eS.prototype.inspect=function(){return this.isInfinity()?"":""},eS.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},eS.prototype.dbl=function(){var eb=this.x.redAdd(this.z).redSqr(),em=this.x.redSub(this.z).redSqr(),ew=eb.redSub(em),eM=eb.redMul(em),eC=ew.redMul(em.redAdd(this.curve.a24.redMul(ew)));return this.curve.point(eM,eC)},eS.prototype.add=function(){throw Error("Not supported on Montgomery curve")},eS.prototype.diffAdd=function(eb,em){var ew=this.x.redAdd(this.z),eM=this.x.redSub(this.z),eC=eb.x.redAdd(eb.z),eT=eb.x.redSub(eb.z).redMul(ew),e_=eC.redMul(eM),eE=em.z.redMul(eT.redAdd(e_).redSqr()),eS=em.x.redMul(eT.redISub(e_).redSqr());return this.curve.point(eE,eS)},eS.prototype.mul=function(eb){for(var em=eb.clone(),ew=this,eM=this.curve.point(null,null),eC=this,eT=[];0!==em.cmpn(0);em.iushrn(1))eT.push(em.andln(1));for(var e_=eT.length-1;e_>=0;e_--)0===eT[e_]?(ew=ew.diffAdd(eM,eC),eM=eM.dbl()):(eM=ew.diffAdd(eM,eC),ew=ew.dbl());return eM},eS.prototype.mulAdd=function(){throw Error("Not supported on Montgomery curve")},eS.prototype.jumlAdd=function(){throw Error("Not supported on Montgomery curve")},eS.prototype.eq=function(eb){return 0===this.getX().cmp(eb.getX())},eS.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},eS.prototype.getX=function(){return this.normalize(),this.x.fromRed()}},6673:function(eb,em,ew){"use strict";var eM=ew(80953),eC=ew(73785),eT=ew(35717),e_=ew(4918),eE=eM.assert;function eS(eb){e_.call(this,"short",eb),this.a=new eC(eb.a,16).toRed(this.red),this.b=new eC(eb.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(eb),this._endoWnafT1=[,,,,],this._endoWnafT2=[,,,,]}function eA(eb,em,ew,eM){e_.BasePoint.call(this,eb,"affine"),null===em&&null===ew?(this.x=null,this.y=null,this.inf=!0):(this.x=new eC(em,16),this.y=new eC(ew,16),eM&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function eN(eb,em,ew,eM){e_.BasePoint.call(this,eb,"jacobian"),null===em&&null===ew&&null===eM?(this.x=this.curve.one,this.y=this.curve.one,this.z=new eC(0)):(this.x=new eC(em,16),this.y=new eC(ew,16),this.z=new eC(eM,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}eT(eS,e_),eb.exports=eS,eS.prototype._getEndomorphism=function(eb){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){if(eb.beta)em=new eC(eb.beta,16).toRed(this.red);else{var em,ew,eM,eT=this._getEndoRoots(this.p);em=(em=0>eT[0].cmp(eT[1])?eT[0]:eT[1]).toRed(this.red)}if(eb.lambda)ew=new eC(eb.lambda,16);else{var e_=this._getEndoRoots(this.n);0===this.g.mul(e_[0]).x.cmp(this.g.x.redMul(em))?ew=e_[0]:(ew=e_[1],eE(0===this.g.mul(ew).x.cmp(this.g.x.redMul(em))))}return eM=eb.basis?eb.basis.map(function(eb){return{a:new eC(eb.a,16),b:new eC(eb.b,16)}}):this._getEndoBasis(ew),{beta:em,lambda:ew,basis:eM}}},eS.prototype._getEndoRoots=function(eb){var em=eb===this.p?this.red:eC.mont(eb),ew=new eC(2).toRed(em).redInvm(),eM=ew.redNeg(),eT=new eC(3).toRed(em).redNeg().redSqrt().redMul(ew);return[eM.redAdd(eT).fromRed(),eM.redSub(eT).fromRed()]},eS.prototype._getEndoBasis=function(eb){for(var em,ew,eM,eT,e_,eE,eS,eA,eN,eI=this.n.ushrn(Math.floor(this.n.bitLength()/2)),eD=eb,eO=this.n.clone(),eP=new eC(1),eR=new eC(0),eB=new eC(0),eF=new eC(1),ej=0;0!==eD.cmpn(0);){var eU=eO.div(eD);eA=eO.sub(eU.mul(eD)),eN=eB.sub(eU.mul(eP));var eV=eF.sub(eU.mul(eR));if(!eM&&0>eA.cmp(eI))em=eS.neg(),ew=eP,eM=eA.neg(),eT=eN;else if(eM&&2==++ej)break;eS=eA,eO=eD,eD=eA,eB=eP,eP=eN,eF=eR,eR=eV}e_=eA.neg(),eE=eN;var eH=eM.sqr().add(eT.sqr());return e_.sqr().add(eE.sqr()).cmp(eH)>=0&&(e_=em,eE=ew),eM.negative&&(eM=eM.neg(),eT=eT.neg()),e_.negative&&(e_=e_.neg(),eE=eE.neg()),[{a:eM,b:eT},{a:e_,b:eE}]},eS.prototype._endoSplit=function(eb){var em=this.endo.basis,ew=em[0],eM=em[1],eC=eM.b.mul(eb).divRound(this.n),eT=ew.b.neg().mul(eb).divRound(this.n),e_=eC.mul(ew.a),eE=eT.mul(eM.a),eS=eC.mul(ew.b),eA=eT.mul(eM.b);return{k1:eb.sub(e_).sub(eE),k2:eS.add(eA).neg()}},eS.prototype.pointFromX=function(eb,em){(eb=new eC(eb,16)).red||(eb=eb.toRed(this.red));var ew=eb.redSqr().redMul(eb).redIAdd(eb.redMul(this.a)).redIAdd(this.b),eM=ew.redSqrt();if(0!==eM.redSqr().redSub(ew).cmp(this.zero))throw Error("invalid point");var eT=eM.fromRed().isOdd();return(em&&!eT||!em&&eT)&&(eM=eM.redNeg()),this.point(eb,eM)},eS.prototype.validate=function(eb){if(eb.inf)return!0;var em=eb.x,ew=eb.y,eM=this.a.redMul(em),eC=em.redSqr().redMul(em).redIAdd(eM).redIAdd(this.b);return 0===ew.redSqr().redISub(eC).cmpn(0)},eS.prototype._endoWnafMulAdd=function(eb,em,ew){for(var eM=this._endoWnafT1,eC=this._endoWnafT2,eT=0;eT":""},eA.prototype.isInfinity=function(){return this.inf},eA.prototype.add=function(eb){if(this.inf)return eb;if(eb.inf)return this;if(this.eq(eb))return this.dbl();if(this.neg().eq(eb)||0===this.x.cmp(eb.x))return this.curve.point(null,null);var em=this.y.redSub(eb.y);0!==em.cmpn(0)&&(em=em.redMul(this.x.redSub(eb.x).redInvm()));var ew=em.redSqr().redISub(this.x).redISub(eb.x),eM=em.redMul(this.x.redSub(ew)).redISub(this.y);return this.curve.point(ew,eM)},eA.prototype.dbl=function(){if(this.inf)return this;var eb=this.y.redAdd(this.y);if(0===eb.cmpn(0))return this.curve.point(null,null);var em=this.curve.a,ew=this.x.redSqr(),eM=eb.redInvm(),eC=ew.redAdd(ew).redIAdd(ew).redIAdd(em).redMul(eM),eT=eC.redSqr().redISub(this.x.redAdd(this.x)),e_=eC.redMul(this.x.redSub(eT)).redISub(this.y);return this.curve.point(eT,e_)},eA.prototype.getX=function(){return this.x.fromRed()},eA.prototype.getY=function(){return this.y.fromRed()},eA.prototype.mul=function(eb){return(eb=new eC(eb,16),this.isInfinity())?this:this._hasDoubles(eb)?this.curve._fixedNafMul(this,eb):this.curve.endo?this.curve._endoWnafMulAdd([this],[eb]):this.curve._wnafMul(this,eb)},eA.prototype.mulAdd=function(eb,em,ew){var eM=[this,em],eC=[eb,ew];return this.curve.endo?this.curve._endoWnafMulAdd(eM,eC):this.curve._wnafMulAdd(1,eM,eC,2)},eA.prototype.jmulAdd=function(eb,em,ew){var eM=[this,em],eC=[eb,ew];return this.curve.endo?this.curve._endoWnafMulAdd(eM,eC,!0):this.curve._wnafMulAdd(1,eM,eC,2,!0)},eA.prototype.eq=function(eb){return this===eb||this.inf===eb.inf&&(this.inf||0===this.x.cmp(eb.x)&&0===this.y.cmp(eb.y))},eA.prototype.neg=function(eb){if(this.inf)return this;var em=this.curve.point(this.x,this.y.redNeg());if(eb&&this.precomputed){var ew=this.precomputed,eM=function(eb){return eb.neg()};em.precomputed={naf:ew.naf&&{wnd:ew.naf.wnd,points:ew.naf.points.map(eM)},doubles:ew.doubles&&{step:ew.doubles.step,points:ew.doubles.points.map(eM)}}}return em},eA.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},eT(eN,e_.BasePoint),eS.prototype.jpoint=function(eb,em,ew){return new eN(this,eb,em,ew)},eN.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var eb=this.z.redInvm(),em=eb.redSqr(),ew=this.x.redMul(em),eM=this.y.redMul(em).redMul(eb);return this.curve.point(ew,eM)},eN.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},eN.prototype.add=function(eb){if(this.isInfinity())return eb;if(eb.isInfinity())return this;var em=eb.z.redSqr(),ew=this.z.redSqr(),eM=this.x.redMul(em),eC=eb.x.redMul(ew),eT=this.y.redMul(em.redMul(eb.z)),e_=eb.y.redMul(ew.redMul(this.z)),eE=eM.redSub(eC),eS=eT.redSub(e_);if(0===eE.cmpn(0))return 0!==eS.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var eA=eE.redSqr(),eN=eA.redMul(eE),eI=eM.redMul(eA),eD=eS.redSqr().redIAdd(eN).redISub(eI).redISub(eI),eO=eS.redMul(eI.redISub(eD)).redISub(eT.redMul(eN)),eP=this.z.redMul(eb.z).redMul(eE);return this.curve.jpoint(eD,eO,eP)},eN.prototype.mixedAdd=function(eb){if(this.isInfinity())return eb.toJ();if(eb.isInfinity())return this;var em=this.z.redSqr(),ew=this.x,eM=eb.x.redMul(em),eC=this.y,eT=eb.y.redMul(em).redMul(this.z),e_=ew.redSub(eM),eE=eC.redSub(eT);if(0===e_.cmpn(0))return 0!==eE.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var eS=e_.redSqr(),eA=eS.redMul(e_),eN=ew.redMul(eS),eI=eE.redSqr().redIAdd(eA).redISub(eN).redISub(eN),eD=eE.redMul(eN.redISub(eI)).redISub(eC.redMul(eA)),eO=this.z.redMul(e_);return this.curve.jpoint(eI,eD,eO)},eN.prototype.dblp=function(eb){if(0===eb||this.isInfinity())return this;if(!eb)return this.dbl();if(this.curve.zeroA||this.curve.threeA){var em,ew=this;for(em=0;em=0)return!1;if(ew.redIAdd(eC),0===this.x.cmp(ew))return!0}},eN.prototype.inspect=function(){return this.isInfinity()?"":""},eN.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},45427:function(eb,em,ew){"use strict";var eM,eC=em,eT=ew(33715),e_=ew(88254),eE=ew(80953).assert;function eS(eb){"short"===eb.type?this.curve=new e_.short(eb):"edwards"===eb.type?this.curve=new e_.edwards(eb):this.curve=new e_.mont(eb),this.g=this.curve.g,this.n=this.curve.n,this.hash=eb.hash,eE(this.g.validate(),"Invalid curve"),eE(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function eA(eb,em){Object.defineProperty(eC,eb,{configurable:!0,enumerable:!0,get:function(){var ew=new eS(em);return Object.defineProperty(eC,eb,{configurable:!0,enumerable:!0,value:ew}),ew}})}eC.PresetCurve=eS,eA("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:eT.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),eA("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:eT.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),eA("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:eT.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),eA("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:eT.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"]}),eA("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:eT.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"]}),eA("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:eT.sha256,gRed:!1,g:["9"]}),eA("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:eT.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{eM=ew(91037)}catch(eb){eM=void 0}eA("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:eT.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",eM]})},57954:function(eb,em,ew){"use strict";var eM=ew(73785),eC=ew(2156),eT=ew(80953),e_=ew(45427),eE=ew(29931),eS=eT.assert,eA=ew(31251),eN=ew(90611);function eI(eb){if(!(this instanceof eI))return new eI(eb);"string"==typeof eb&&(eS(Object.prototype.hasOwnProperty.call(e_,eb),"Unknown curve "+eb),eb=e_[eb]),eb instanceof e_.PresetCurve&&(eb={curve:eb}),this.curve=eb.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=eb.curve.g,this.g.precompute(eb.curve.n.bitLength()+1),this.hash=eb.hash||eb.curve.hash}eb.exports=eI,eI.prototype.keyPair=function(eb){return new eA(this,eb)},eI.prototype.keyFromPrivate=function(eb,em){return eA.fromPrivate(this,eb,em)},eI.prototype.keyFromPublic=function(eb,em){return eA.fromPublic(this,eb,em)},eI.prototype.genKeyPair=function(eb){eb||(eb={});for(var em=new eC({hash:this.hash,pers:eb.pers,persEnc:eb.persEnc||"utf8",entropy:eb.entropy||eE(this.hash.hmacStrength),entropyEnc:eb.entropy&&eb.entropyEnc||"utf8",nonce:this.n.toArray()}),ew=this.n.byteLength(),eT=this.n.sub(new eM(2));;){var e_=new eM(em.generate(ew));if(!(e_.cmp(eT)>0))return e_.iaddn(1),this.keyFromPrivate(e_)}},eI.prototype._truncateToN=function(eb,em){var ew=8*eb.byteLength()-this.n.bitLength();return(ew>0&&(eb=eb.ushrn(ew)),!em&&eb.cmp(this.n)>=0)?eb.sub(this.n):eb},eI.prototype.sign=function(eb,em,ew,eT){"object"==typeof ew&&(eT=ew,ew=null),eT||(eT={}),em=this.keyFromPrivate(em,ew),eb=this._truncateToN(new eM(eb,16));for(var e_=this.n.byteLength(),eE=em.getPrivate().toArray("be",e_),eS=eb.toArray("be",e_),eA=new eC({hash:this.hash,entropy:eE,nonce:eS,pers:eT.pers,persEnc:eT.persEnc||"utf8"}),eI=this.n.sub(new eM(1)),eD=0;;eD++){var eO=eT.k?eT.k(eD):new eM(eA.generate(this.n.byteLength()));if(!(0>=(eO=this._truncateToN(eO,!0)).cmpn(1)||eO.cmp(eI)>=0)){var eP=this.g.mul(eO);if(!eP.isInfinity()){var eR=eP.getX(),eB=eR.umod(this.n);if(0!==eB.cmpn(0)){var eF=eO.invm(this.n).mul(eB.mul(em.getPrivate()).iadd(eb));if(0!==(eF=eF.umod(this.n)).cmpn(0)){var ej=(eP.getY().isOdd()?1:0)|(0!==eR.cmp(eB)?2:0);return eT.canonical&&eF.cmp(this.nh)>0&&(eF=this.n.sub(eF),ej^=1),new eN({r:eB,s:eF,recoveryParam:ej})}}}}}},eI.prototype.verify=function(eb,em,ew,eC){eb=this._truncateToN(new eM(eb,16)),ew=this.keyFromPublic(ew,eC);var eT,e_=(em=new eN(em,"hex")).r,eE=em.s;if(0>e_.cmpn(1)||e_.cmp(this.n)>=0||0>eE.cmpn(1)||eE.cmp(this.n)>=0)return!1;var eS=eE.invm(this.n),eA=eS.mul(eb).umod(this.n),eI=eS.mul(e_).umod(this.n);return this.curve._maxwellTrick?!(eT=this.g.jmulAdd(eA,ew.getPublic(),eI)).isInfinity()&&eT.eqXToP(e_):!(eT=this.g.mulAdd(eA,ew.getPublic(),eI)).isInfinity()&&0===eT.getX().umod(this.n).cmp(e_)},eI.prototype.recoverPubKey=function(eb,em,ew,eC){eS((3&ew)===ew,"The recovery param is more than two bits"),em=new eN(em,eC);var eT=this.n,e_=new eM(eb),eE=em.r,eA=em.s,eI=1&ew,eD=ew>>1;if(eE.cmp(this.curve.p.umod(this.curve.n))>=0&&eD)throw Error("Unable to find sencond key candinate");eE=eD?this.curve.pointFromX(eE.add(this.curve.n),eI):this.curve.pointFromX(eE,eI);var eO=em.r.invm(eT),eP=eT.sub(e_).mul(eO).umod(eT),eR=eA.mul(eO).umod(eT);return this.g.mulAdd(eP,eE,eR)},eI.prototype.getKeyRecoveryParam=function(eb,em,ew,eM){if(null!==(em=new eN(em,eM)).recoveryParam)return em.recoveryParam;for(var eC,eT=0;eT<4;eT++){try{eC=this.recoverPubKey(eb,em,eT)}catch(eb){continue}if(eC.eq(ew))return eT}throw Error("Unable to find valid recovery factor")}},31251:function(eb,em,ew){"use strict";var eM=ew(73785),eC=ew(80953).assert;function eT(eb,em){this.ec=eb,this.priv=null,this.pub=null,em.priv&&this._importPrivate(em.priv,em.privEnc),em.pub&&this._importPublic(em.pub,em.pubEnc)}eb.exports=eT,eT.fromPublic=function(eb,em,ew){return em instanceof eT?em:new eT(eb,{pub:em,pubEnc:ew})},eT.fromPrivate=function(eb,em,ew){return em instanceof eT?em:new eT(eb,{priv:em,privEnc:ew})},eT.prototype.validate=function(){var eb=this.getPublic();return eb.isInfinity()?{result:!1,reason:"Invalid public key"}:eb.validate()?eb.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},eT.prototype.getPublic=function(eb,em){return("string"==typeof eb&&(em=eb,eb=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),em)?this.pub.encode(em,eb):this.pub},eT.prototype.getPrivate=function(eb){return"hex"===eb?this.priv.toString(16,2):this.priv},eT.prototype._importPrivate=function(eb,em){this.priv=new eM(eb,em||16),this.priv=this.priv.umod(this.ec.curve.n)},eT.prototype._importPublic=function(eb,em){if(eb.x||eb.y){"mont"===this.ec.curve.type?eC(eb.x,"Need x coordinate"):("short"===this.ec.curve.type||"edwards"===this.ec.curve.type)&&eC(eb.x&&eb.y,"Need both x and y coordinate"),this.pub=this.ec.curve.point(eb.x,eb.y);return}this.pub=this.ec.curve.decodePoint(eb,em)},eT.prototype.derive=function(eb){return eb.validate()||eC(eb.validate(),"public point not validated"),eb.mul(this.priv).getX()},eT.prototype.sign=function(eb,em,ew){return this.ec.sign(eb,this,em,ew)},eT.prototype.verify=function(eb,em){return this.ec.verify(eb,em,this)},eT.prototype.inspect=function(){return""}},90611:function(eb,em,ew){"use strict";var eM=ew(73785),eC=ew(80953),eT=eC.assert;function e_(eb,em){if(eb instanceof e_)return eb;this._importDER(eb,em)||(eT(eb.r&&eb.s,"Signature without r or s"),this.r=new eM(eb.r,16),this.s=new eM(eb.s,16),void 0===eb.recoveryParam?this.recoveryParam=null:this.recoveryParam=eb.recoveryParam)}function eE(){this.place=0}function eS(eb,em){var ew=eb[em.place++];if(!(128&ew))return ew;var eM=15&ew;if(0===eM||eM>4)return!1;for(var eC=0,eT=0,e_=em.place;eT>>=0;return!(eC<=127)&&(em.place=e_,eC)}function eA(eb){for(var em=0,ew=eb.length-1;!eb[em]&&!(128&eb[em+1])&&em>>3);for(eb.push(128|ew);--ew;)eb.push(em>>>(ew<<3)&255);eb.push(em)}eb.exports=e_,e_.prototype._importDER=function(eb,em){eb=eC.toArray(eb,em);var ew=new eE;if(48!==eb[ew.place++])return!1;var eT=eS(eb,ew);if(!1===eT||eT+ew.place!==eb.length||2!==eb[ew.place++])return!1;var e_=eS(eb,ew);if(!1===e_)return!1;var eA=eb.slice(ew.place,e_+ew.place);if(ew.place+=e_,2!==eb[ew.place++])return!1;var eN=eS(eb,ew);if(!1===eN||eb.length!==eN+ew.place)return!1;var eI=eb.slice(ew.place,eN+ew.place);if(0===eA[0]){if(!(128&eA[1]))return!1;eA=eA.slice(1)}if(0===eI[0]){if(!(128&eI[1]))return!1;eI=eI.slice(1)}return this.r=new eM(eA),this.s=new eM(eI),this.recoveryParam=null,!0},e_.prototype.toDER=function(eb){var em=this.r.toArray(),ew=this.s.toArray();for(128&em[0]&&(em=[0].concat(em)),128&ew[0]&&(ew=[0].concat(ew)),em=eA(em),ew=eA(ew);!ew[0]&&!(128&ew[1]);)ew=ew.slice(1);var eM=[2];eN(eM,em.length),(eM=eM.concat(em)).push(2),eN(eM,ew.length);var eT=eM.concat(ew),e_=[48];return eN(e_,eT.length),e_=e_.concat(eT),eC.encode(e_,eb)}},65980:function(eb,em,ew){"use strict";var eM=ew(33715),eC=ew(45427),eT=ew(80953),e_=eT.assert,eE=eT.parseBytes,eS=ew(79087),eA=ew(23622);function eN(eb){if(e_("ed25519"===eb,"only tested with ed25519 so far"),!(this instanceof eN))return new eN(eb);eb=eC[eb].curve,this.curve=eb,this.g=eb.g,this.g.precompute(eb.n.bitLength()+1),this.pointClass=eb.point().constructor,this.encodingLength=Math.ceil(eb.n.bitLength()/8),this.hash=eM.sha512}eb.exports=eN,eN.prototype.sign=function(eb,em){eb=eE(eb);var ew=this.keyFromSecret(em),eM=this.hashInt(ew.messagePrefix(),eb),eC=this.g.mul(eM),eT=this.encodePoint(eC),e_=this.hashInt(eT,ew.pubBytes(),eb).mul(ew.priv()),eS=eM.add(e_).umod(this.curve.n);return this.makeSignature({R:eC,S:eS,Rencoded:eT})},eN.prototype.verify=function(eb,em,ew){eb=eE(eb),em=this.makeSignature(em);var eM=this.keyFromPublic(ew),eC=this.hashInt(em.Rencoded(),eM.pubBytes(),eb),eT=this.g.mul(em.S());return em.R().add(eM.pub().mul(eC)).eq(eT)},eN.prototype.hashInt=function(){for(var eb=this.hash(),em=0;em(eC>>1)-1?(eC>>1)-eS:eS,eT.isubn(eE)):eE=0,eM[e_]=eE,eT.iushrn(1)}return eM}function eS(eb,em){var ew=[[],[]];eb=eb.clone(),em=em.clone();for(var eM=0,eC=0;eb.cmpn(-eM)>0||em.cmpn(-eC)>0;){var eT,e_,eE,eS=eb.andln(3)+eM&3,eA=em.andln(3)+eC&3;3===eS&&(eS=-1),3===eA&&(eA=-1),e_=(1&eS)==0?0:(3==(eT=eb.andln(7)+eM&7)||5===eT)&&2===eA?-eS:eS,ew[0].push(e_),eE=(1&eA)==0?0:(3==(eT=em.andln(7)+eC&7)||5===eT)&&2===eS?-eA:eA,ew[1].push(eE),2*eM===e_+1&&(eM=1-eM),2*eC===eE+1&&(eC=1-eC),eb.iushrn(1),em.iushrn(1)}return ew}function eA(eb,em,ew){var eM="_"+em;eb.prototype[em]=function(){return void 0!==this[eM]?this[eM]:this[eM]=ew.call(this)}}function eN(eb){return"string"==typeof eb?eM.toArray(eb,"hex"):eb}function eI(eb){return new eC(eb,"hex","le")}eM.assert=eT,eM.toArray=e_.toArray,eM.zero2=e_.zero2,eM.toHex=e_.toHex,eM.encode=e_.encode,eM.getNAF=eE,eM.getJSF=eS,eM.cachedProperty=eA,eM.parseBytes=eN,eM.intFromLE=eI},73785:function(eb,em,ew){!function(eb,em){"use strict";function eM(eb,em){if(!eb)throw Error(em||"Assertion failed")}function eC(eb,em){eb.super_=em;var ew=function(){};ew.prototype=em.prototype,eb.prototype=new ew,eb.prototype.constructor=eb}function eT(eb,em,ew){if(eT.isBN(eb))return eb;this.negative=0,this.words=null,this.length=0,this.red=null,null!==eb&&(("le"===em||"be"===em)&&(ew=em,em=10),this._init(eb||0,em||10,ew||"be"))}"object"==typeof eb?eb.exports=eT:em.BN=eT,eT.BN=eT,eT.wordSize=26;try{eA="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:ew(85568).Buffer}catch(eb){}function e_(eb,em){var ew=eb.charCodeAt(em);return ew>=65&&ew<=70?ew-55:ew>=97&&ew<=102?ew-87:ew-48&15}function eE(eb,em,ew){var eM=e_(eb,ew);return ew-1>=em&&(eM|=e_(eb,ew-1)<<4),eM}function eS(eb,em,ew,eM){for(var eC=0,eT=Math.min(eb.length,ew),e_=em;e_=49?eC+=eE-49+10:eE>=17?eC+=eE-17+10:eC+=eE}return eC}eT.isBN=function(eb){return eb instanceof eT||null!==eb&&"object"==typeof eb&&eb.constructor.wordSize===eT.wordSize&&Array.isArray(eb.words)},eT.max=function(eb,em){return eb.cmp(em)>0?eb:em},eT.min=function(eb,em){return 0>eb.cmp(em)?eb:em},eT.prototype._init=function(eb,em,ew){if("number"==typeof eb)return this._initNumber(eb,em,ew);if("object"==typeof eb)return this._initArray(eb,em,ew);"hex"===em&&(em=16),eM(em===(0|em)&&em>=2&&em<=36);var eC=0;"-"===(eb=eb.toString().replace(/\s+/g,""))[0]&&(eC++,this.negative=1),eC=0;e_-=3)eT=eb[e_]|eb[e_-1]<<8|eb[e_-2]<<16,this.words[eC]|=eT<>>26-eE&67108863,(eE+=24)>=26&&(eE-=26,eC++);else if("le"===ew)for(e_=0,eC=0;e_>>26-eE&67108863,(eE+=24)>=26&&(eE-=26,eC++);return this.strip()},eT.prototype._parseHex=function(eb,em,ew){this.length=Math.ceil((eb.length-em)/6),this.words=Array(this.length);for(var eM,eC=0;eC=em;eC-=2)eM=eE(eb,em,eC)<=18?(eT-=18,e_+=1,this.words[e_]|=eM>>>26):eT+=8;else for(eC=(eb.length-em)%2==0?em+1:em;eC=18?(eT-=18,e_+=1,this.words[e_]|=eM>>>26):eT+=8;this.strip()},eT.prototype._parseBase=function(eb,em,ew){this.words=[0],this.length=1;for(var eM=0,eC=1;eC<=67108863;eC*=em)eM++;eM--,eC=eC/em|0;for(var eT=eb.length-ew,e_=eT%eM,eE=Math.min(eT,eT-e_)+ew,eA=0,eN=ew;eN1&&0===this.words[this.length-1];)this.length--;return this._normSign()},eT.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},eT.prototype.inspect=function(){return(this.red?""};var eA,eN=["","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"],eI=[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],eD=[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];function eO(eb){for(var em=Array(eb.bitLength()),ew=0;ew>>eC}return em}function eP(eb,em,ew){ew.negative=em.negative^eb.negative;var eM=eb.length+em.length|0;ew.length=eM,eM=eM-1|0;var eC=0|eb.words[0],eT=0|em.words[0],e_=eC*eT,eE=67108863&e_,eS=e_/67108864|0;ew.words[0]=eE;for(var eA=1;eA>>26,eI=67108863&eS,eD=Math.min(eA,em.length-1),eO=Math.max(0,eA-eb.length+1);eO<=eD;eO++){var eP=eA-eO|0;eN+=(e_=(eC=0|eb.words[eP])*(eT=0|em.words[eO])+eI)/67108864|0,eI=67108863&e_}ew.words[eA]=0|eI,eS=0|eN}return 0!==eS?ew.words[eA]=0|eS:ew.length--,ew.strip()}eT.prototype.toString=function(eb,em){if(em=0|em||1,16===(eb=eb||10)||"hex"===eb){ew="";for(var ew,eC=0,eT=0,e_=0;e_>>24-eC&16777215)||e_!==this.length-1?eN[6-eS.length]+eS+ew:eS+ew,(eC+=2)>=26&&(eC-=26,e_--)}for(0!==eT&&(ew=eT.toString(16)+ew);ew.length%em!=0;)ew="0"+ew;return 0!==this.negative&&(ew="-"+ew),ew}if(eb===(0|eb)&&eb>=2&&eb<=36){var eA=eI[eb],eO=eD[eb];ew="";var eP=this.clone();for(eP.negative=0;!eP.isZero();){var eR=eP.modn(eO).toString(eb);ew=(eP=eP.idivn(eO)).isZero()?eR+ew:eN[eA-eR.length]+eR+ew}for(this.isZero()&&(ew="0"+ew);ew.length%em!=0;)ew="0"+ew;return 0!==this.negative&&(ew="-"+ew),ew}eM(!1,"Base should be between 2 and 36")},eT.prototype.toNumber=function(){var eb=this.words[0];return 2===this.length?eb+=67108864*this.words[1]:3===this.length&&1===this.words[2]?eb+=4503599627370496+67108864*this.words[1]:this.length>2&&eM(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-eb:eb},eT.prototype.toJSON=function(){return this.toString(16)},eT.prototype.toBuffer=function(eb,em){return eM(void 0!==eA),this.toArrayLike(eA,eb,em)},eT.prototype.toArray=function(eb,em){return this.toArrayLike(Array,eb,em)},eT.prototype.toArrayLike=function(eb,em,ew){var eC,eT,e_=this.byteLength(),eE=ew||Math.max(1,e_);eM(e_<=eE,"byte array longer than desired length"),eM(eE>0,"Requested array length <= 0"),this.strip();var eS="le"===em,eA=new eb(eE),eN=this.clone();if(eS){for(eT=0;!eN.isZero();eT++)eC=eN.andln(255),eN.iushrn(8),eA[eT]=eC;for(;eT=4096&&(ew+=13,em>>>=13),em>=64&&(ew+=7,em>>>=7),em>=8&&(ew+=4,em>>>=4),em>=2&&(ew+=2,em>>>=2),ew+em},eT.prototype._zeroBits=function(eb){if(0===eb)return 26;var em=eb,ew=0;return(8191&em)==0&&(ew+=13,em>>>=13),(127&em)==0&&(ew+=7,em>>>=7),(15&em)==0&&(ew+=4,em>>>=4),(3&em)==0&&(ew+=2,em>>>=2),(1&em)==0&&ew++,ew},eT.prototype.bitLength=function(){var eb=this.words[this.length-1],em=this._countBits(eb);return(this.length-1)*26+em},eT.prototype.zeroBits=function(){if(this.isZero())return 0;for(var eb=0,em=0;emeb.length?this.clone().ior(eb):eb.clone().ior(this)},eT.prototype.uor=function(eb){return this.length>eb.length?this.clone().iuor(eb):eb.clone().iuor(this)},eT.prototype.iuand=function(eb){var em;em=this.length>eb.length?eb:this;for(var ew=0;eweb.length?this.clone().iand(eb):eb.clone().iand(this)},eT.prototype.uand=function(eb){return this.length>eb.length?this.clone().iuand(eb):eb.clone().iuand(this)},eT.prototype.iuxor=function(eb){this.length>eb.length?(em=this,ew=eb):(em=eb,ew=this);for(var em,ew,eM=0;eMeb.length?this.clone().ixor(eb):eb.clone().ixor(this)},eT.prototype.uxor=function(eb){return this.length>eb.length?this.clone().iuxor(eb):eb.clone().iuxor(this)},eT.prototype.inotn=function(eb){eM("number"==typeof eb&&eb>=0);var em=0|Math.ceil(eb/26),ew=eb%26;this._expand(em),ew>0&&em--;for(var eC=0;eC0&&(this.words[eC]=~this.words[eC]&67108863>>26-ew),this.strip()},eT.prototype.notn=function(eb){return this.clone().inotn(eb)},eT.prototype.setn=function(eb,em){eM("number"==typeof eb&&eb>=0);var ew=eb/26|0,eC=eb%26;return this._expand(ew+1),em?this.words[ew]=this.words[ew]|1<eb.length?(ew=this,eM=eb):(ew=eb,eM=this);for(var em,ew,eM,eC=0,eT=0;eT>>26;for(;0!==eC&&eT>>26;if(this.length=ew.length,0!==eC)this.words[this.length]=eC,this.length++;else if(ew!==this)for(;eTeb.length?this.clone().iadd(eb):eb.clone().iadd(this)},eT.prototype.isub=function(eb){if(0!==eb.negative){eb.negative=0;var em,ew,eM=this.iadd(eb);return eb.negative=1,eM._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(eb),this.negative=1,this._normSign();var eC=this.cmp(eb);if(0===eC)return this.negative=0,this.length=1,this.words[0]=0,this;eC>0?(em=this,ew=eb):(em=eb,ew=this);for(var eT=0,e_=0;e_>26,this.words[e_]=67108863&eM;for(;0!==eT&&e_>26,this.words[e_]=67108863&eM;if(0===eT&&e_>>13,eO=0|e_[1],eP=8191&eO,eR=eO>>>13,eB=0|e_[2],eF=8191&eB,ej=eB>>>13,eU=0|e_[3],eV=8191&eU,eH=eU>>>13,e$=0|e_[4],eW=8191&e$,eZ=e$>>>13,eK=0|e_[5],eG=8191&eK,eY=eK>>>13,eJ=0|e_[6],eX=8191&eJ,eQ=eJ>>>13,e0=0|e_[7],e6=8191&e0,e4=e0>>>13,e3=0|e_[8],e5=8191&e3,e8=e3>>>13,e9=0|e_[9],e7=8191&e9,tw=e9>>>13,tC=0|eE[0],tT=8191&tC,t_=tC>>>13,tE=0|eE[1],tS=8191&tE,tA=tE>>>13,tN=0|eE[2],tI=8191&tN,tD=tN>>>13,tO=0|eE[3],tP=8191&tO,tR=tO>>>13,tB=0|eE[4],tF=8191&tB,tj=tB>>>13,tU=0|eE[5],tV=8191&tU,tH=tU>>>13,t$=0|eE[6],tq=8191&t$,tW=t$>>>13,tZ=0|eE[7],tK=8191&tZ,tG=tZ>>>13,tY=0|eE[8],tJ=8191&tY,tX=tY>>>13,tQ=0|eE[9],nw=8191&tQ,nM=tQ>>>13;ew.negative=eb.negative^em.negative,ew.length=19;var nC=(eA+(eM=Math.imul(eI,tT))|0)+((8191&(eC=(eC=Math.imul(eI,t_))+Math.imul(eD,tT)|0))<<13)|0;eA=((eT=Math.imul(eD,t_))+(eC>>>13)|0)+(nC>>>26)|0,nC&=67108863,eM=Math.imul(eP,tT),eC=(eC=Math.imul(eP,t_))+Math.imul(eR,tT)|0,eT=Math.imul(eR,t_);var nk=(eA+(eM=eM+Math.imul(eI,tS)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eI,tA)|0)+Math.imul(eD,tS)|0))<<13)|0;eA=((eT=eT+Math.imul(eD,tA)|0)+(eC>>>13)|0)+(nk>>>26)|0,nk&=67108863,eM=Math.imul(eF,tT),eC=(eC=Math.imul(eF,t_))+Math.imul(ej,tT)|0,eT=Math.imul(ej,t_),eM=eM+Math.imul(eP,tS)|0,eC=(eC=eC+Math.imul(eP,tA)|0)+Math.imul(eR,tS)|0,eT=eT+Math.imul(eR,tA)|0;var nT=(eA+(eM=eM+Math.imul(eI,tI)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eI,tD)|0)+Math.imul(eD,tI)|0))<<13)|0;eA=((eT=eT+Math.imul(eD,tD)|0)+(eC>>>13)|0)+(nT>>>26)|0,nT&=67108863,eM=Math.imul(eV,tT),eC=(eC=Math.imul(eV,t_))+Math.imul(eH,tT)|0,eT=Math.imul(eH,t_),eM=eM+Math.imul(eF,tS)|0,eC=(eC=eC+Math.imul(eF,tA)|0)+Math.imul(ej,tS)|0,eT=eT+Math.imul(ej,tA)|0,eM=eM+Math.imul(eP,tI)|0,eC=(eC=eC+Math.imul(eP,tD)|0)+Math.imul(eR,tI)|0,eT=eT+Math.imul(eR,tD)|0;var n_=(eA+(eM=eM+Math.imul(eI,tP)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eI,tR)|0)+Math.imul(eD,tP)|0))<<13)|0;eA=((eT=eT+Math.imul(eD,tR)|0)+(eC>>>13)|0)+(n_>>>26)|0,n_&=67108863,eM=Math.imul(eW,tT),eC=(eC=Math.imul(eW,t_))+Math.imul(eZ,tT)|0,eT=Math.imul(eZ,t_),eM=eM+Math.imul(eV,tS)|0,eC=(eC=eC+Math.imul(eV,tA)|0)+Math.imul(eH,tS)|0,eT=eT+Math.imul(eH,tA)|0,eM=eM+Math.imul(eF,tI)|0,eC=(eC=eC+Math.imul(eF,tD)|0)+Math.imul(ej,tI)|0,eT=eT+Math.imul(ej,tD)|0,eM=eM+Math.imul(eP,tP)|0,eC=(eC=eC+Math.imul(eP,tR)|0)+Math.imul(eR,tP)|0,eT=eT+Math.imul(eR,tR)|0;var nE=(eA+(eM=eM+Math.imul(eI,tF)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eI,tj)|0)+Math.imul(eD,tF)|0))<<13)|0;eA=((eT=eT+Math.imul(eD,tj)|0)+(eC>>>13)|0)+(nE>>>26)|0,nE&=67108863,eM=Math.imul(eG,tT),eC=(eC=Math.imul(eG,t_))+Math.imul(eY,tT)|0,eT=Math.imul(eY,t_),eM=eM+Math.imul(eW,tS)|0,eC=(eC=eC+Math.imul(eW,tA)|0)+Math.imul(eZ,tS)|0,eT=eT+Math.imul(eZ,tA)|0,eM=eM+Math.imul(eV,tI)|0,eC=(eC=eC+Math.imul(eV,tD)|0)+Math.imul(eH,tI)|0,eT=eT+Math.imul(eH,tD)|0,eM=eM+Math.imul(eF,tP)|0,eC=(eC=eC+Math.imul(eF,tR)|0)+Math.imul(ej,tP)|0,eT=eT+Math.imul(ej,tR)|0,eM=eM+Math.imul(eP,tF)|0,eC=(eC=eC+Math.imul(eP,tj)|0)+Math.imul(eR,tF)|0,eT=eT+Math.imul(eR,tj)|0;var nS=(eA+(eM=eM+Math.imul(eI,tV)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eI,tH)|0)+Math.imul(eD,tV)|0))<<13)|0;eA=((eT=eT+Math.imul(eD,tH)|0)+(eC>>>13)|0)+(nS>>>26)|0,nS&=67108863,eM=Math.imul(eX,tT),eC=(eC=Math.imul(eX,t_))+Math.imul(eQ,tT)|0,eT=Math.imul(eQ,t_),eM=eM+Math.imul(eG,tS)|0,eC=(eC=eC+Math.imul(eG,tA)|0)+Math.imul(eY,tS)|0,eT=eT+Math.imul(eY,tA)|0,eM=eM+Math.imul(eW,tI)|0,eC=(eC=eC+Math.imul(eW,tD)|0)+Math.imul(eZ,tI)|0,eT=eT+Math.imul(eZ,tD)|0,eM=eM+Math.imul(eV,tP)|0,eC=(eC=eC+Math.imul(eV,tR)|0)+Math.imul(eH,tP)|0,eT=eT+Math.imul(eH,tR)|0,eM=eM+Math.imul(eF,tF)|0,eC=(eC=eC+Math.imul(eF,tj)|0)+Math.imul(ej,tF)|0,eT=eT+Math.imul(ej,tj)|0,eM=eM+Math.imul(eP,tV)|0,eC=(eC=eC+Math.imul(eP,tH)|0)+Math.imul(eR,tV)|0,eT=eT+Math.imul(eR,tH)|0;var nA=(eA+(eM=eM+Math.imul(eI,tq)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eI,tW)|0)+Math.imul(eD,tq)|0))<<13)|0;eA=((eT=eT+Math.imul(eD,tW)|0)+(eC>>>13)|0)+(nA>>>26)|0,nA&=67108863,eM=Math.imul(e6,tT),eC=(eC=Math.imul(e6,t_))+Math.imul(e4,tT)|0,eT=Math.imul(e4,t_),eM=eM+Math.imul(eX,tS)|0,eC=(eC=eC+Math.imul(eX,tA)|0)+Math.imul(eQ,tS)|0,eT=eT+Math.imul(eQ,tA)|0,eM=eM+Math.imul(eG,tI)|0,eC=(eC=eC+Math.imul(eG,tD)|0)+Math.imul(eY,tI)|0,eT=eT+Math.imul(eY,tD)|0,eM=eM+Math.imul(eW,tP)|0,eC=(eC=eC+Math.imul(eW,tR)|0)+Math.imul(eZ,tP)|0,eT=eT+Math.imul(eZ,tR)|0,eM=eM+Math.imul(eV,tF)|0,eC=(eC=eC+Math.imul(eV,tj)|0)+Math.imul(eH,tF)|0,eT=eT+Math.imul(eH,tj)|0,eM=eM+Math.imul(eF,tV)|0,eC=(eC=eC+Math.imul(eF,tH)|0)+Math.imul(ej,tV)|0,eT=eT+Math.imul(ej,tH)|0,eM=eM+Math.imul(eP,tq)|0,eC=(eC=eC+Math.imul(eP,tW)|0)+Math.imul(eR,tq)|0,eT=eT+Math.imul(eR,tW)|0;var nN=(eA+(eM=eM+Math.imul(eI,tK)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eI,tG)|0)+Math.imul(eD,tK)|0))<<13)|0;eA=((eT=eT+Math.imul(eD,tG)|0)+(eC>>>13)|0)+(nN>>>26)|0,nN&=67108863,eM=Math.imul(e5,tT),eC=(eC=Math.imul(e5,t_))+Math.imul(e8,tT)|0,eT=Math.imul(e8,t_),eM=eM+Math.imul(e6,tS)|0,eC=(eC=eC+Math.imul(e6,tA)|0)+Math.imul(e4,tS)|0,eT=eT+Math.imul(e4,tA)|0,eM=eM+Math.imul(eX,tI)|0,eC=(eC=eC+Math.imul(eX,tD)|0)+Math.imul(eQ,tI)|0,eT=eT+Math.imul(eQ,tD)|0,eM=eM+Math.imul(eG,tP)|0,eC=(eC=eC+Math.imul(eG,tR)|0)+Math.imul(eY,tP)|0,eT=eT+Math.imul(eY,tR)|0,eM=eM+Math.imul(eW,tF)|0,eC=(eC=eC+Math.imul(eW,tj)|0)+Math.imul(eZ,tF)|0,eT=eT+Math.imul(eZ,tj)|0,eM=eM+Math.imul(eV,tV)|0,eC=(eC=eC+Math.imul(eV,tH)|0)+Math.imul(eH,tV)|0,eT=eT+Math.imul(eH,tH)|0,eM=eM+Math.imul(eF,tq)|0,eC=(eC=eC+Math.imul(eF,tW)|0)+Math.imul(ej,tq)|0,eT=eT+Math.imul(ej,tW)|0,eM=eM+Math.imul(eP,tK)|0,eC=(eC=eC+Math.imul(eP,tG)|0)+Math.imul(eR,tK)|0,eT=eT+Math.imul(eR,tG)|0;var nI=(eA+(eM=eM+Math.imul(eI,tJ)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eI,tX)|0)+Math.imul(eD,tJ)|0))<<13)|0;eA=((eT=eT+Math.imul(eD,tX)|0)+(eC>>>13)|0)+(nI>>>26)|0,nI&=67108863,eM=Math.imul(e7,tT),eC=(eC=Math.imul(e7,t_))+Math.imul(tw,tT)|0,eT=Math.imul(tw,t_),eM=eM+Math.imul(e5,tS)|0,eC=(eC=eC+Math.imul(e5,tA)|0)+Math.imul(e8,tS)|0,eT=eT+Math.imul(e8,tA)|0,eM=eM+Math.imul(e6,tI)|0,eC=(eC=eC+Math.imul(e6,tD)|0)+Math.imul(e4,tI)|0,eT=eT+Math.imul(e4,tD)|0,eM=eM+Math.imul(eX,tP)|0,eC=(eC=eC+Math.imul(eX,tR)|0)+Math.imul(eQ,tP)|0,eT=eT+Math.imul(eQ,tR)|0,eM=eM+Math.imul(eG,tF)|0,eC=(eC=eC+Math.imul(eG,tj)|0)+Math.imul(eY,tF)|0,eT=eT+Math.imul(eY,tj)|0,eM=eM+Math.imul(eW,tV)|0,eC=(eC=eC+Math.imul(eW,tH)|0)+Math.imul(eZ,tV)|0,eT=eT+Math.imul(eZ,tH)|0,eM=eM+Math.imul(eV,tq)|0,eC=(eC=eC+Math.imul(eV,tW)|0)+Math.imul(eH,tq)|0,eT=eT+Math.imul(eH,tW)|0,eM=eM+Math.imul(eF,tK)|0,eC=(eC=eC+Math.imul(eF,tG)|0)+Math.imul(ej,tK)|0,eT=eT+Math.imul(ej,tG)|0,eM=eM+Math.imul(eP,tJ)|0,eC=(eC=eC+Math.imul(eP,tX)|0)+Math.imul(eR,tJ)|0,eT=eT+Math.imul(eR,tX)|0;var nD=(eA+(eM=eM+Math.imul(eI,nw)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eI,nM)|0)+Math.imul(eD,nw)|0))<<13)|0;eA=((eT=eT+Math.imul(eD,nM)|0)+(eC>>>13)|0)+(nD>>>26)|0,nD&=67108863,eM=Math.imul(e7,tS),eC=(eC=Math.imul(e7,tA))+Math.imul(tw,tS)|0,eT=Math.imul(tw,tA),eM=eM+Math.imul(e5,tI)|0,eC=(eC=eC+Math.imul(e5,tD)|0)+Math.imul(e8,tI)|0,eT=eT+Math.imul(e8,tD)|0,eM=eM+Math.imul(e6,tP)|0,eC=(eC=eC+Math.imul(e6,tR)|0)+Math.imul(e4,tP)|0,eT=eT+Math.imul(e4,tR)|0,eM=eM+Math.imul(eX,tF)|0,eC=(eC=eC+Math.imul(eX,tj)|0)+Math.imul(eQ,tF)|0,eT=eT+Math.imul(eQ,tj)|0,eM=eM+Math.imul(eG,tV)|0,eC=(eC=eC+Math.imul(eG,tH)|0)+Math.imul(eY,tV)|0,eT=eT+Math.imul(eY,tH)|0,eM=eM+Math.imul(eW,tq)|0,eC=(eC=eC+Math.imul(eW,tW)|0)+Math.imul(eZ,tq)|0,eT=eT+Math.imul(eZ,tW)|0,eM=eM+Math.imul(eV,tK)|0,eC=(eC=eC+Math.imul(eV,tG)|0)+Math.imul(eH,tK)|0,eT=eT+Math.imul(eH,tG)|0,eM=eM+Math.imul(eF,tJ)|0,eC=(eC=eC+Math.imul(eF,tX)|0)+Math.imul(ej,tJ)|0,eT=eT+Math.imul(ej,tX)|0;var nO=(eA+(eM=eM+Math.imul(eP,nw)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eP,nM)|0)+Math.imul(eR,nw)|0))<<13)|0;eA=((eT=eT+Math.imul(eR,nM)|0)+(eC>>>13)|0)+(nO>>>26)|0,nO&=67108863,eM=Math.imul(e7,tI),eC=(eC=Math.imul(e7,tD))+Math.imul(tw,tI)|0,eT=Math.imul(tw,tD),eM=eM+Math.imul(e5,tP)|0,eC=(eC=eC+Math.imul(e5,tR)|0)+Math.imul(e8,tP)|0,eT=eT+Math.imul(e8,tR)|0,eM=eM+Math.imul(e6,tF)|0,eC=(eC=eC+Math.imul(e6,tj)|0)+Math.imul(e4,tF)|0,eT=eT+Math.imul(e4,tj)|0,eM=eM+Math.imul(eX,tV)|0,eC=(eC=eC+Math.imul(eX,tH)|0)+Math.imul(eQ,tV)|0,eT=eT+Math.imul(eQ,tH)|0,eM=eM+Math.imul(eG,tq)|0,eC=(eC=eC+Math.imul(eG,tW)|0)+Math.imul(eY,tq)|0,eT=eT+Math.imul(eY,tW)|0,eM=eM+Math.imul(eW,tK)|0,eC=(eC=eC+Math.imul(eW,tG)|0)+Math.imul(eZ,tK)|0,eT=eT+Math.imul(eZ,tG)|0,eM=eM+Math.imul(eV,tJ)|0,eC=(eC=eC+Math.imul(eV,tX)|0)+Math.imul(eH,tJ)|0,eT=eT+Math.imul(eH,tX)|0;var nP=(eA+(eM=eM+Math.imul(eF,nw)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eF,nM)|0)+Math.imul(ej,nw)|0))<<13)|0;eA=((eT=eT+Math.imul(ej,nM)|0)+(eC>>>13)|0)+(nP>>>26)|0,nP&=67108863,eM=Math.imul(e7,tP),eC=(eC=Math.imul(e7,tR))+Math.imul(tw,tP)|0,eT=Math.imul(tw,tR),eM=eM+Math.imul(e5,tF)|0,eC=(eC=eC+Math.imul(e5,tj)|0)+Math.imul(e8,tF)|0,eT=eT+Math.imul(e8,tj)|0,eM=eM+Math.imul(e6,tV)|0,eC=(eC=eC+Math.imul(e6,tH)|0)+Math.imul(e4,tV)|0,eT=eT+Math.imul(e4,tH)|0,eM=eM+Math.imul(eX,tq)|0,eC=(eC=eC+Math.imul(eX,tW)|0)+Math.imul(eQ,tq)|0,eT=eT+Math.imul(eQ,tW)|0,eM=eM+Math.imul(eG,tK)|0,eC=(eC=eC+Math.imul(eG,tG)|0)+Math.imul(eY,tK)|0,eT=eT+Math.imul(eY,tG)|0,eM=eM+Math.imul(eW,tJ)|0,eC=(eC=eC+Math.imul(eW,tX)|0)+Math.imul(eZ,tJ)|0,eT=eT+Math.imul(eZ,tX)|0;var nR=(eA+(eM=eM+Math.imul(eV,nw)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eV,nM)|0)+Math.imul(eH,nw)|0))<<13)|0;eA=((eT=eT+Math.imul(eH,nM)|0)+(eC>>>13)|0)+(nR>>>26)|0,nR&=67108863,eM=Math.imul(e7,tF),eC=(eC=Math.imul(e7,tj))+Math.imul(tw,tF)|0,eT=Math.imul(tw,tj),eM=eM+Math.imul(e5,tV)|0,eC=(eC=eC+Math.imul(e5,tH)|0)+Math.imul(e8,tV)|0,eT=eT+Math.imul(e8,tH)|0,eM=eM+Math.imul(e6,tq)|0,eC=(eC=eC+Math.imul(e6,tW)|0)+Math.imul(e4,tq)|0,eT=eT+Math.imul(e4,tW)|0,eM=eM+Math.imul(eX,tK)|0,eC=(eC=eC+Math.imul(eX,tG)|0)+Math.imul(eQ,tK)|0,eT=eT+Math.imul(eQ,tG)|0,eM=eM+Math.imul(eG,tJ)|0,eC=(eC=eC+Math.imul(eG,tX)|0)+Math.imul(eY,tJ)|0,eT=eT+Math.imul(eY,tX)|0;var nB=(eA+(eM=eM+Math.imul(eW,nw)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eW,nM)|0)+Math.imul(eZ,nw)|0))<<13)|0;eA=((eT=eT+Math.imul(eZ,nM)|0)+(eC>>>13)|0)+(nB>>>26)|0,nB&=67108863,eM=Math.imul(e7,tV),eC=(eC=Math.imul(e7,tH))+Math.imul(tw,tV)|0,eT=Math.imul(tw,tH),eM=eM+Math.imul(e5,tq)|0,eC=(eC=eC+Math.imul(e5,tW)|0)+Math.imul(e8,tq)|0,eT=eT+Math.imul(e8,tW)|0,eM=eM+Math.imul(e6,tK)|0,eC=(eC=eC+Math.imul(e6,tG)|0)+Math.imul(e4,tK)|0,eT=eT+Math.imul(e4,tG)|0,eM=eM+Math.imul(eX,tJ)|0,eC=(eC=eC+Math.imul(eX,tX)|0)+Math.imul(eQ,tJ)|0,eT=eT+Math.imul(eQ,tX)|0;var nF=(eA+(eM=eM+Math.imul(eG,nw)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eG,nM)|0)+Math.imul(eY,nw)|0))<<13)|0;eA=((eT=eT+Math.imul(eY,nM)|0)+(eC>>>13)|0)+(nF>>>26)|0,nF&=67108863,eM=Math.imul(e7,tq),eC=(eC=Math.imul(e7,tW))+Math.imul(tw,tq)|0,eT=Math.imul(tw,tW),eM=eM+Math.imul(e5,tK)|0,eC=(eC=eC+Math.imul(e5,tG)|0)+Math.imul(e8,tK)|0,eT=eT+Math.imul(e8,tG)|0,eM=eM+Math.imul(e6,tJ)|0,eC=(eC=eC+Math.imul(e6,tX)|0)+Math.imul(e4,tJ)|0,eT=eT+Math.imul(e4,tX)|0;var nj=(eA+(eM=eM+Math.imul(eX,nw)|0)|0)+((8191&(eC=(eC=eC+Math.imul(eX,nM)|0)+Math.imul(eQ,nw)|0))<<13)|0;eA=((eT=eT+Math.imul(eQ,nM)|0)+(eC>>>13)|0)+(nj>>>26)|0,nj&=67108863,eM=Math.imul(e7,tK),eC=(eC=Math.imul(e7,tG))+Math.imul(tw,tK)|0,eT=Math.imul(tw,tG),eM=eM+Math.imul(e5,tJ)|0,eC=(eC=eC+Math.imul(e5,tX)|0)+Math.imul(e8,tJ)|0,eT=eT+Math.imul(e8,tX)|0;var nU=(eA+(eM=eM+Math.imul(e6,nw)|0)|0)+((8191&(eC=(eC=eC+Math.imul(e6,nM)|0)+Math.imul(e4,nw)|0))<<13)|0;eA=((eT=eT+Math.imul(e4,nM)|0)+(eC>>>13)|0)+(nU>>>26)|0,nU&=67108863,eM=Math.imul(e7,tJ),eC=(eC=Math.imul(e7,tX))+Math.imul(tw,tJ)|0,eT=Math.imul(tw,tX);var nV=(eA+(eM=eM+Math.imul(e5,nw)|0)|0)+((8191&(eC=(eC=eC+Math.imul(e5,nM)|0)+Math.imul(e8,nw)|0))<<13)|0;eA=((eT=eT+Math.imul(e8,nM)|0)+(eC>>>13)|0)+(nV>>>26)|0,nV&=67108863;var nH=(eA+(eM=Math.imul(e7,nw))|0)+((8191&(eC=(eC=Math.imul(e7,nM))+Math.imul(tw,nw)|0))<<13)|0;return eA=((eT=Math.imul(tw,nM))+(eC>>>13)|0)+(nH>>>26)|0,nH&=67108863,eS[0]=nC,eS[1]=nk,eS[2]=nT,eS[3]=n_,eS[4]=nE,eS[5]=nS,eS[6]=nA,eS[7]=nN,eS[8]=nI,eS[9]=nD,eS[10]=nO,eS[11]=nP,eS[12]=nR,eS[13]=nB,eS[14]=nF,eS[15]=nj,eS[16]=nU,eS[17]=nV,eS[18]=nH,0!==eA&&(eS[19]=eA,ew.length++),ew};function eB(eb,em,ew){ew.negative=em.negative^eb.negative,ew.length=eb.length+em.length;for(var eM=0,eC=0,eT=0;eT>>26)|0)>>>26,e_&=67108863}ew.words[eT]=eE,eM=e_,e_=eC}return 0!==eM?ew.words[eT]=eM:ew.length--,ew.strip()}function eF(eb,em,ew){return new ej().mulp(eb,em,ew)}function ej(eb,em){this.x=eb,this.y=em}Math.imul||(eR=eP),eT.prototype.mulTo=function(eb,em){var ew=this.length+eb.length;return 10===this.length&&10===eb.length?eR(this,eb,em):ew<63?eP(this,eb,em):ew<1024?eB(this,eb,em):eF(this,eb,em)},ej.prototype.makeRBT=function(eb){for(var em=Array(eb),ew=eT.prototype._countBits(eb)-1,eM=0;eM>=1;return eM},ej.prototype.permute=function(eb,em,ew,eM,eC,eT){for(var e_=0;e_>>=1)eC++;return 1<>>=13,ew[2*e_+1]=8191&eT,eT>>>=13;for(e_=2*em;e_>=26,em+=(eC/67108864|0)+(eT>>>26),this.words[ew]=67108863&eT}return 0!==em&&(this.words[ew]=em,this.length++),this},eT.prototype.muln=function(eb){return this.clone().imuln(eb)},eT.prototype.sqr=function(){return this.mul(this)},eT.prototype.isqr=function(){return this.imul(this.clone())},eT.prototype.pow=function(eb){var em=eO(eb);if(0===em.length)return new eT(1);for(var ew=this,eM=0;eM=0);var em,ew=eb%26,eC=(eb-ew)/26,eT=67108863>>>26-ew<<26-ew;if(0!==ew){var e_=0;for(em=0;em>>26-ew}e_&&(this.words[em]=e_,this.length++)}if(0!==eC){for(em=this.length-1;em>=0;em--)this.words[em+eC]=this.words[em];for(em=0;em=0),eC=em?(em-em%26)/26:0;var eC,eT=eb%26,e_=Math.min((eb-eT)/26,this.length),eE=67108863^67108863>>>eT<e_)for(this.length-=e_,eA=0;eA=0&&(0!==eN||eA>=eC);eA--){var eI=0|this.words[eA];this.words[eA]=eN<<26-eT|eI>>>eT,eN=eI&eE}return eS&&0!==eN&&(eS.words[eS.length++]=eN),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},eT.prototype.ishrn=function(eb,em,ew){return eM(0===this.negative),this.iushrn(eb,em,ew)},eT.prototype.shln=function(eb){return this.clone().ishln(eb)},eT.prototype.ushln=function(eb){return this.clone().iushln(eb)},eT.prototype.shrn=function(eb){return this.clone().ishrn(eb)},eT.prototype.ushrn=function(eb){return this.clone().iushrn(eb)},eT.prototype.testn=function(eb){eM("number"==typeof eb&&eb>=0);var em=eb%26,ew=(eb-em)/26,eC=1<=0);var em=eb%26,ew=(eb-em)/26;if(eM(0===this.negative,"imaskn works only with positive numbers"),this.length<=ew)return this;if(0!==em&&ew++,this.length=Math.min(ew,this.length),0!==em){var eC=67108863^67108863>>>em<=67108864;em++)this.words[em]-=67108864,em===this.length-1?this.words[em+1]=1:this.words[em+1]++;return this.length=Math.max(this.length,em+1),this},eT.prototype.isubn=function(eb){if(eM("number"==typeof eb),eM(eb<67108864),eb<0)return this.iaddn(-eb);if(0!==this.negative)return this.negative=0,this.iaddn(eb),this.negative=1,this;if(this.words[0]-=eb,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var em=0;em>26)-(eS/67108864|0),this.words[eC+ew]=67108863&eT}for(;eC>26,this.words[eC+ew]=67108863&eT;if(0===eE)return this.strip();for(eM(-1===eE),eE=0,eC=0;eC>26,this.words[eC]=67108863&eT;return this.negative=1,this.strip()},eT.prototype._wordDiv=function(eb,em){var ew,eM=this.length-eb.length,eC=this.clone(),e_=eb,eE=0|e_.words[e_.length-1];0!=(eM=26-this._countBits(eE))&&(e_=e_.ushln(eM),eC.iushln(eM),eE=0|e_.words[e_.length-1]);var eS=eC.length-e_.length;if("mod"!==em){(ew=new eT(null)).length=eS+1,ew.words=Array(ew.length);for(var eA=0;eA=0;eI--){var eD=(0|eC.words[e_.length+eI])*67108864+(0|eC.words[e_.length+eI-1]);for(eD=Math.min(eD/eE|0,67108863),eC._ishlnsubmul(e_,eD,eI);0!==eC.negative;)eD--,eC.negative=0,eC._ishlnsubmul(e_,1,eI),eC.isZero()||(eC.negative^=1);ew&&(ew.words[eI]=eD)}return ew&&ew.strip(),eC.strip(),"div"!==em&&0!==eM&&eC.iushrn(eM),{div:ew||null,mod:eC}},eT.prototype.divmod=function(eb,em,ew){var eC,e_,eE;return(eM(!eb.isZero()),this.isZero())?{div:new eT(0),mod:new eT(0)}:0!==this.negative&&0===eb.negative?(eE=this.neg().divmod(eb,em),"mod"!==em&&(eC=eE.div.neg()),"div"!==em&&(e_=eE.mod.neg(),ew&&0!==e_.negative&&e_.iadd(eb)),{div:eC,mod:e_}):0===this.negative&&0!==eb.negative?(eE=this.divmod(eb.neg(),em),"mod"!==em&&(eC=eE.div.neg()),{div:eC,mod:eE.mod}):(this.negative&eb.negative)!=0?(eE=this.neg().divmod(eb.neg(),em),"div"!==em&&(e_=eE.mod.neg(),ew&&0!==e_.negative&&e_.isub(eb)),{div:eE.div,mod:e_}):eb.length>this.length||0>this.cmp(eb)?{div:new eT(0),mod:this}:1===eb.length?"div"===em?{div:this.divn(eb.words[0]),mod:null}:"mod"===em?{div:null,mod:new eT(this.modn(eb.words[0]))}:{div:this.divn(eb.words[0]),mod:new eT(this.modn(eb.words[0]))}:this._wordDiv(eb,em)},eT.prototype.div=function(eb){return this.divmod(eb,"div",!1).div},eT.prototype.mod=function(eb){return this.divmod(eb,"mod",!1).mod},eT.prototype.umod=function(eb){return this.divmod(eb,"mod",!0).mod},eT.prototype.divRound=function(eb){var em=this.divmod(eb);if(em.mod.isZero())return em.div;var ew=0!==em.div.negative?em.mod.isub(eb):em.mod,eM=eb.ushrn(1),eC=eb.andln(1),eT=ew.cmp(eM);return eT<0||1===eC&&0===eT?em.div:0!==em.div.negative?em.div.isubn(1):em.div.iaddn(1)},eT.prototype.modn=function(eb){eM(eb<=67108863);for(var em=67108864%eb,ew=0,eC=this.length-1;eC>=0;eC--)ew=(em*ew+(0|this.words[eC]))%eb;return ew},eT.prototype.idivn=function(eb){eM(eb<=67108863);for(var em=0,ew=this.length-1;ew>=0;ew--){var eC=(0|this.words[ew])+67108864*em;this.words[ew]=eC/eb|0,em=eC%eb}return this.strip()},eT.prototype.divn=function(eb){return this.clone().idivn(eb)},eT.prototype.egcd=function(eb){eM(0===eb.negative),eM(!eb.isZero());var em=this,ew=eb.clone();em=0!==em.negative?em.umod(eb):em.clone();for(var eC=new eT(1),e_=new eT(0),eE=new eT(0),eS=new eT(1),eA=0;em.isEven()&&ew.isEven();)em.iushrn(1),ew.iushrn(1),++eA;for(var eN=ew.clone(),eI=em.clone();!em.isZero();){for(var eD=0,eO=1;(em.words[0]&eO)==0&&eD<26;++eD,eO<<=1);if(eD>0)for(em.iushrn(eD);eD-- >0;)(eC.isOdd()||e_.isOdd())&&(eC.iadd(eN),e_.isub(eI)),eC.iushrn(1),e_.iushrn(1);for(var eP=0,eR=1;(ew.words[0]&eR)==0&&eP<26;++eP,eR<<=1);if(eP>0)for(ew.iushrn(eP);eP-- >0;)(eE.isOdd()||eS.isOdd())&&(eE.iadd(eN),eS.isub(eI)),eE.iushrn(1),eS.iushrn(1);em.cmp(ew)>=0?(em.isub(ew),eC.isub(eE),e_.isub(eS)):(ew.isub(em),eE.isub(eC),eS.isub(e_))}return{a:eE,b:eS,gcd:ew.iushln(eA)}},eT.prototype._invmp=function(eb){eM(0===eb.negative),eM(!eb.isZero());var em,ew=this,eC=eb.clone();ew=0!==ew.negative?ew.umod(eb):ew.clone();for(var e_=new eT(1),eE=new eT(0),eS=eC.clone();ew.cmpn(1)>0&&eC.cmpn(1)>0;){for(var eA=0,eN=1;(ew.words[0]&eN)==0&&eA<26;++eA,eN<<=1);if(eA>0)for(ew.iushrn(eA);eA-- >0;)e_.isOdd()&&e_.iadd(eS),e_.iushrn(1);for(var eI=0,eD=1;(eC.words[0]&eD)==0&&eI<26;++eI,eD<<=1);if(eI>0)for(eC.iushrn(eI);eI-- >0;)eE.isOdd()&&eE.iadd(eS),eE.iushrn(1);ew.cmp(eC)>=0?(ew.isub(eC),e_.isub(eE)):(eC.isub(ew),eE.isub(e_))}return 0>(em=0===ew.cmpn(1)?e_:eE).cmpn(0)&&em.iadd(eb),em},eT.prototype.gcd=function(eb){if(this.isZero())return eb.abs();if(eb.isZero())return this.abs();var em=this.clone(),ew=eb.clone();em.negative=0,ew.negative=0;for(var eM=0;em.isEven()&&ew.isEven();eM++)em.iushrn(1),ew.iushrn(1);for(;;){for(;em.isEven();)em.iushrn(1);for(;ew.isEven();)ew.iushrn(1);var eC=em.cmp(ew);if(eC<0){var eT=em;em=ew,ew=eT}else if(0===eC||0===ew.cmpn(1))break;em.isub(ew)}return ew.iushln(eM)},eT.prototype.invm=function(eb){return this.egcd(eb).a.umod(eb)},eT.prototype.isEven=function(){return(1&this.words[0])==0},eT.prototype.isOdd=function(){return(1&this.words[0])==1},eT.prototype.andln=function(eb){return this.words[0]&eb},eT.prototype.bincn=function(eb){eM("number"==typeof eb);var em=eb%26,ew=(eb-em)/26,eC=1<>>26,eE&=67108863,this.words[e_]=eE}return 0!==eT&&(this.words[e_]=eT,this.length++),this},eT.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},eT.prototype.cmpn=function(eb){var em,ew=eb<0;if(0!==this.negative&&!ew)return -1;if(0===this.negative&&ew)return 1;if(this.strip(),this.length>1)em=1;else{ew&&(eb=-eb),eM(eb<=67108863,"Number is too big");var eC=0|this.words[0];em=eC===eb?0:eCeb.length)return 1;if(this.length=0;ew--){var eM=0|this.words[ew],eC=0|eb.words[ew];if(eM!==eC){eMeC&&(em=1);break}}return em},eT.prototype.gtn=function(eb){return 1===this.cmpn(eb)},eT.prototype.gt=function(eb){return 1===this.cmp(eb)},eT.prototype.gten=function(eb){return this.cmpn(eb)>=0},eT.prototype.gte=function(eb){return this.cmp(eb)>=0},eT.prototype.ltn=function(eb){return -1===this.cmpn(eb)},eT.prototype.lt=function(eb){return -1===this.cmp(eb)},eT.prototype.lten=function(eb){return 0>=this.cmpn(eb)},eT.prototype.lte=function(eb){return 0>=this.cmp(eb)},eT.prototype.eqn=function(eb){return 0===this.cmpn(eb)},eT.prototype.eq=function(eb){return 0===this.cmp(eb)},eT.red=function(eb){return new eK(eb)},eT.prototype.toRed=function(eb){return eM(!this.red,"Already a number in reduction context"),eM(0===this.negative,"red works only with positives"),eb.convertTo(this)._forceRed(eb)},eT.prototype.fromRed=function(){return eM(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},eT.prototype._forceRed=function(eb){return this.red=eb,this},eT.prototype.forceRed=function(eb){return eM(!this.red,"Already a number in reduction context"),this._forceRed(eb)},eT.prototype.redAdd=function(eb){return eM(this.red,"redAdd works only with red numbers"),this.red.add(this,eb)},eT.prototype.redIAdd=function(eb){return eM(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,eb)},eT.prototype.redSub=function(eb){return eM(this.red,"redSub works only with red numbers"),this.red.sub(this,eb)},eT.prototype.redISub=function(eb){return eM(this.red,"redISub works only with red numbers"),this.red.isub(this,eb)},eT.prototype.redShl=function(eb){return eM(this.red,"redShl works only with red numbers"),this.red.shl(this,eb)},eT.prototype.redMul=function(eb){return eM(this.red,"redMul works only with red numbers"),this.red._verify2(this,eb),this.red.mul(this,eb)},eT.prototype.redIMul=function(eb){return eM(this.red,"redMul works only with red numbers"),this.red._verify2(this,eb),this.red.imul(this,eb)},eT.prototype.redSqr=function(){return eM(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},eT.prototype.redISqr=function(){return eM(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},eT.prototype.redSqrt=function(){return eM(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},eT.prototype.redInvm=function(){return eM(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},eT.prototype.redNeg=function(){return eM(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},eT.prototype.redPow=function(eb){return eM(this.red&&!eb.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,eb)};var eU={k256:null,p224:null,p192:null,p25519:null};function eV(eb,em){this.name=eb,this.p=new eT(em,16),this.n=this.p.bitLength(),this.k=new eT(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function eH(){eV.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function e$(){eV.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function eW(){eV.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function eZ(){eV.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function eK(eb){if("string"==typeof eb){var em=eT._prime(eb);this.m=em.p,this.prime=em}else eM(eb.gtn(1),"modulus must be greater than 1"),this.m=eb,this.prime=null}function eG(eb){eK.call(this,eb),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new eT(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)}eV.prototype._tmp=function(){var eb=new eT(null);return eb.words=Array(Math.ceil(this.n/13)),eb},eV.prototype.ireduce=function(eb){var em,ew=eb;do this.split(ew,this.tmp),em=(ew=(ew=this.imulK(ew)).iadd(this.tmp)).bitLength();while(em>this.n);var eM=em0?ew.isub(this.p):void 0!==ew.strip?ew.strip():ew._strip(),ew},eV.prototype.split=function(eb,em){eb.iushrn(this.n,0,em)},eV.prototype.imulK=function(eb){return eb.imul(this.k)},eC(eH,eV),eH.prototype.split=function(eb,em){for(var ew=4194303,eM=Math.min(eb.length,9),eC=0;eC>>22,eT=e_}eT>>>=22,eb.words[eC-10]=eT,0===eT&&eb.length>10?eb.length-=10:eb.length-=9},eH.prototype.imulK=function(eb){eb.words[eb.length]=0,eb.words[eb.length+1]=0,eb.length+=2;for(var em=0,ew=0;ew>>=26,eb.words[ew]=eC,em=eM}return 0!==em&&(eb.words[eb.length++]=em),eb},eT._prime=function(eb){var em;if(eU[eb])return eU[eb];if("k256"===eb)em=new eH;else if("p224"===eb)em=new e$;else if("p192"===eb)em=new eW;else if("p25519"===eb)em=new eZ;else throw Error("Unknown prime "+eb);return eU[eb]=em,em},eK.prototype._verify1=function(eb){eM(0===eb.negative,"red works only with positives"),eM(eb.red,"red works only with red numbers")},eK.prototype._verify2=function(eb,em){eM((eb.negative|em.negative)==0,"red works only with positives"),eM(eb.red&&eb.red===em.red,"red works only with red numbers")},eK.prototype.imod=function(eb){return this.prime?this.prime.ireduce(eb)._forceRed(this):eb.umod(this.m)._forceRed(this)},eK.prototype.neg=function(eb){return eb.isZero()?eb.clone():this.m.sub(eb)._forceRed(this)},eK.prototype.add=function(eb,em){this._verify2(eb,em);var ew=eb.add(em);return ew.cmp(this.m)>=0&&ew.isub(this.m),ew._forceRed(this)},eK.prototype.iadd=function(eb,em){this._verify2(eb,em);var ew=eb.iadd(em);return ew.cmp(this.m)>=0&&ew.isub(this.m),ew},eK.prototype.sub=function(eb,em){this._verify2(eb,em);var ew=eb.sub(em);return 0>ew.cmpn(0)&&ew.iadd(this.m),ew._forceRed(this)},eK.prototype.isub=function(eb,em){this._verify2(eb,em);var ew=eb.isub(em);return 0>ew.cmpn(0)&&ew.iadd(this.m),ew},eK.prototype.shl=function(eb,em){return this._verify1(eb),this.imod(eb.ushln(em))},eK.prototype.imul=function(eb,em){return this._verify2(eb,em),this.imod(eb.imul(em))},eK.prototype.mul=function(eb,em){return this._verify2(eb,em),this.imod(eb.mul(em))},eK.prototype.isqr=function(eb){return this.imul(eb,eb.clone())},eK.prototype.sqr=function(eb){return this.mul(eb,eb)},eK.prototype.sqrt=function(eb){if(eb.isZero())return eb.clone();var em=this.m.andln(3);if(eM(em%2==1),3===em){var ew=this.m.add(new eT(1)).iushrn(2);return this.pow(eb,ew)}for(var eC=this.m.subn(1),e_=0;!eC.isZero()&&0===eC.andln(1);)e_++,eC.iushrn(1);eM(!eC.isZero());var eE=new eT(1).toRed(this),eS=eE.redNeg(),eA=this.m.subn(1).iushrn(1),eN=this.m.bitLength();for(eN=new eT(2*eN*eN).toRed(this);0!==this.pow(eN,eA).cmp(eS);)eN.redIAdd(eS);for(var eI=this.pow(eN,eC),eD=this.pow(eb,eC.addn(1).iushrn(1)),eO=this.pow(eb,eC),eP=e_;0!==eO.cmp(eE);){for(var eR=eO,eB=0;0!==eR.cmp(eE);eB++)eR=eR.redSqr();eM(eB=0;eC--){for(var eN=em.words[eC],eI=eA-1;eI>=0;eI--){var eD=eN>>eI&1;if(e_!==eM[0]&&(e_=this.sqr(e_)),0===eD&&0===eE){eS=0;continue}eE<<=1,eE|=eD,(++eS===ew||0===eC&&0===eI)&&(e_=this.mul(e_,eM[eE]),eS=0,eE=0)}eA=26}return e_},eK.prototype.convertTo=function(eb){var em=eb.umod(this.m);return em===eb?em.clone():em},eK.prototype.convertFrom=function(eb){var em=eb.clone();return em.red=null,em},eT.mont=function(eb){return new eG(eb)},eC(eG,eK),eG.prototype.convertTo=function(eb){return this.imod(eb.ushln(this.shift))},eG.prototype.convertFrom=function(eb){var em=this.imod(eb.mul(this.rinv));return em.red=null,em},eG.prototype.imul=function(eb,em){if(eb.isZero()||em.isZero())return eb.words[0]=0,eb.length=1,eb;var ew=eb.imul(em),eM=ew.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),eC=ew.isub(eM).iushrn(this.shift),eT=eC;return eC.cmp(this.m)>=0?eT=eC.isub(this.m):0>eC.cmpn(0)&&(eT=eC.iadd(this.m)),eT._forceRed(this)},eG.prototype.mul=function(eb,em){if(eb.isZero()||em.isZero())return new eT(0)._forceRed(this);var ew=eb.mul(em),eM=ew.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),eC=ew.isub(eM).iushrn(this.shift),e_=eC;return eC.cmp(this.m)>=0?e_=eC.isub(this.m):0>eC.cmpn(0)&&(e_=eC.iadd(this.m)),e_._forceRed(this)},eG.prototype.invm=function(eb){return this.imod(eb._invmp(this.m).mul(this.r2))._forceRed(this)}}(eb=ew.nmd(eb),this)},6752:function(eb){"use strict";eb.exports=function(eb){for(var em=[],ew=eb.length,eM=0;eM=55296&&eC<=56319&&ew>eM+1){var eT=eb.charCodeAt(eM+1);eT>=56320&&eT<=57343&&(eC=(eC-55296)*1024+eT-56320+65536,eM+=1)}if(eC<128){em.push(eC);continue}if(eC<2048){em.push(eC>>6|192),em.push(63&eC|128);continue}if(eC<55296||eC>=57344&&eC<65536){em.push(eC>>12|224),em.push(eC>>6&63|128),em.push(63&eC|128);continue}if(eC>=65536&&eC<=1114111){em.push(eC>>18|240),em.push(eC>>12&63|128),em.push(eC>>6&63|128),em.push(63&eC|128);continue}em.push(239,191,189)}return new Uint8Array(em).buffer}},24429:function(eb,em,ew){"use strict";var eM=ew(40210)("%Object.defineProperty%",!0)||!1;if(eM)try{eM({},"a",{value:1})}catch(eb){eM=!1}eb.exports=eM},53981:function(eb){"use strict";eb.exports=EvalError},81648:function(eb){"use strict";eb.exports=Error},24726:function(eb){"use strict";eb.exports=RangeError},26712:function(eb){"use strict";eb.exports=ReferenceError},33464:function(eb){"use strict";eb.exports=SyntaxError},14453:function(eb){"use strict";eb.exports=TypeError},43915:function(eb){"use strict";eb.exports=URIError},8091:function(eb){"use strict";function em(eb,em){if(null==eb)throw TypeError("Cannot convert first argument to object");for(var ew=Object(eb),eM=1;eMeb+em,eE=["sync","latest"];class eS extends eC.default{constructor(eb){super(),this._blockResetDuration=eb.blockResetDuration||20*eT,this._usePastBlocks=eb.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(){if(this._currentBlock)return this._currentBlock;let eb=await new Promise(eb=>this.once("latest",eb));return eb}removeAllListeners(eb){return eb?super.removeAllListeners(eb):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(eb){eE.includes(eb)&&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 eE.map(eb=>this.listenerCount(eb)).reduce(e_)}_shouldUseNewBlock(eb){let em=this._currentBlock;if(!em)return!0;let ew=eA(eb),eM=eA(em);return this._usePastBlocks&&eweM}_newPotentialLatest(eb){this._shouldUseNewBlock(eb)&&this._setCurrentBlock(eb)}_setCurrentBlock(eb){let em=this._currentBlock;this._currentBlock=eb,this.emit("latest",eb),this.emit("sync",{oldBlock:em,newBlock:eb})}_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}}function eA(eb){return Number.parseInt(eb,16)}em.BaseBlockTracker=eS},30790:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.PollingBlockTracker=void 0;let eC=eM(ew(23420)),eT=eM(ew(53786)),e_=ew(60190),eE=ew(59579),eS=(0,eE.createModuleLogger)(eE.projectLogger,"polling-block-tracker"),eA=(0,eC.default)(),eN=1e3;class eI extends e_.BaseBlockTracker{constructor(eb={}){var em;if(!eb.provider)throw Error("PollingBlockTracker - no provider specified.");super(Object.assign(Object.assign({},eb),{blockResetDuration:null!==(em=eb.blockResetDuration)&&void 0!==em?em:eb.pollingInterval})),this._provider=eb.provider,this._pollingInterval=eb.pollingInterval||20*eN,this._retryTimeout=eb.retryTimeout||this._pollingInterval/10,this._keepEventLoopActive=void 0===eb.keepEventLoopActive||eb.keepEventLoopActive,this._setSkipCacheFlag=eb.setSkipCacheFlag||!1}async checkForLatestBlock(){return await this._updateLatestBlock(),await this.getLatestBlock()}async _start(){this._synchronize()}async _end(){}async _synchronize(){for(var eb;this._isRunning;)try{await this._updateLatestBlock();let eb=eD(this._pollingInterval,!this._keepEventLoopActive);this.emit("_waitingForNextIteration"),await eb}catch(eM){let em=Error(`PollingBlockTracker - encountered an error while attempting to update latest block: +${null!==(eb=eM.stack)&&void 0!==eb?eb:eM}`);try{this.emit("error",em)}catch(eb){console.error(em)}let ew=eD(this._retryTimeout,!this._keepEventLoopActive);this.emit("_waitingForNextIteration"),await ew}}async _updateLatestBlock(){let eb=await this._fetchLatestBlock();this._newPotentialLatest(eb)}async _fetchLatestBlock(){let eb={jsonrpc:"2.0",id:eA(),method:"eth_blockNumber",params:[]};this._setSkipCacheFlag&&(eb.skipCache=!0),eS("Making request",eb);let em=await (0,eT.default)(em=>this._provider.sendAsync(eb,em))();if(eS("Got response",em),em.error)throw Error(`PollingBlockTracker - encountered error fetching block: +${em.error.message}`);return em.result}}function eD(eb,em){return new Promise(ew=>{let eM=setTimeout(ew,eb);eM.unref&&em&&eM.unref()})}em.PollingBlockTracker=eI},66767:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.SubscribeBlockTracker=void 0;let eC=eM(ew(23420)),eT=ew(60190),e_=(0,eC.default)();class eE extends eT.BaseBlockTracker{constructor(eb={}){if(!eb.provider)throw Error("SubscribeBlockTracker - no provider specified.");super(eb),this._provider=eb.provider,this._subscriptionId=null}async checkForLatestBlock(){return await this.getLatestBlock()}async _start(){if(void 0===this._subscriptionId||null===this._subscriptionId)try{let eb=await this._call("eth_blockNumber");this._subscriptionId=await this._call("eth_subscribe","newHeads"),this._provider.on("data",this._handleSubData.bind(this)),this._newPotentialLatest(eb)}catch(eb){this.emit("error",eb)}}async _end(){if(null!==this._subscriptionId&&void 0!==this._subscriptionId)try{await this._call("eth_unsubscribe",this._subscriptionId),this._subscriptionId=null}catch(eb){this.emit("error",eb)}}_call(eb,...em){return new Promise((ew,eM)=>{this._provider.sendAsync({id:e_(),method:eb,params:em,jsonrpc:"2.0"},(eb,em)=>{eb?eM(eb):ew(em.result)})})}_handleSubData(eb,em){var ew;"eth_subscription"===em.method&&(null===(ew=em.params)||void 0===ew?void 0:ew.subscription)===this._subscriptionId&&this._newPotentialLatest(em.params.result.number)}}em.SubscribeBlockTracker=eE},6842:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew),Object.defineProperty(eb,eM,{enumerable:!0,get:function(){return em[ew]}})}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),eC(ew(30790),em),eC(ew(66767),em)},59579:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.createModuleLogger=em.projectLogger=void 0;let eM=ew(51614);Object.defineProperty(em,"createModuleLogger",{enumerable:!0,get:function(){return eM.createModuleLogger}}),em.projectLogger=(0,eM.createProjectLogger)("eth-block-tracker")},19080:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.assertExhaustive=em.assertStruct=em.assert=em.AssertionError=void 0;let eM=ew(97884);function eC(eb){return"object"==typeof eb&&null!==eb&&"message"in eb}function eT(eb){var em,ew;return"string"==typeof(null===(ew=null===(em=null==eb?void 0:eb.prototype)||void 0===em?void 0:em.constructor)||void 0===ew?void 0:ew.name)}function e_(eb){let em=eC(eb)?eb.message:String(eb);return em.endsWith(".")?em.slice(0,-1):em}function eE(eb,em){return eT(eb)?new eb({message:em}):eb({message:em})}class eS extends Error{constructor(eb){super(eb.message),this.code="ERR_ASSERTION"}}function eA(eb,em="Assertion failed.",ew=eS){if(!eb){if(em instanceof Error)throw em;throw eE(ew,em)}}function eN(eb,em,ew="Assertion failed",eC=eS){try{(0,eM.assert)(eb,em)}catch(eb){throw eE(eC,`${ew}: ${e_(eb)}.`)}}function eI(eb){throw Error("Invalid branch reached. Should be detected during compilation.")}em.AssertionError=eS,em.assert=eA,em.assertStruct=eN,em.assertExhaustive=eI},37188:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.base64=void 0;let eM=ew(97884),eC=ew(19080),eT=(eb,em={})=>{var ew,eT;let e_,eE;let eS=null!==(ew=em.paddingRequired)&&void 0!==ew&&ew,eA=null!==(eT=em.characterSet)&&void 0!==eT?eT:"base64";return"base64"===eA?e_=String.raw`[A-Za-z0-9+\/]`:((0,eC.assert)("base64url"===eA),e_=String.raw`[-_A-Za-z0-9]`),eE=eS?RegExp(`^(?:${e_}{4})*(?:${e_}{3}=|${e_}{2}==)?$`,"u"):RegExp(`^(?:${e_}{4})*(?:${e_}{2,3}|${e_}{3}=|${e_}{2}==)?$`,"u"),(0,eM.pattern)(eb,eE)};em.base64=eT},35319:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.createDataView=em.concatBytes=em.valueToBytes=em.stringToBytes=em.numberToBytes=em.signedBigIntToBytes=em.bigIntToBytes=em.hexToBytes=em.bytesToString=em.bytesToNumber=em.bytesToSignedBigInt=em.bytesToBigInt=em.bytesToHex=em.assertIsBytes=em.isBytes=void 0;let eC=ew(19080),eT=ew(57229),e_=48,eE=58,eS=87;function eA(){let eb=[];return()=>{if(0===eb.length)for(let em=0;em<256;em++)eb.push(em.toString(16).padStart(2,"0"));return eb}}let eN=eA();function eI(eb){return eb instanceof Uint8Array}function eD(eb){(0,eC.assert)(eI(eb),"Value must be a Uint8Array.")}function eO(eb){if(eD(eb),0===eb.length)return"0x";let em=eN(),ew=Array(eb.length);for(let eM=0;eM=BigInt(0),"Value must be a non-negative bigint.");let em=eb.toString(16);return ej(em)}function eV(eb,em){(0,eC.assert)(em>0);let ew=eb>>BigInt(31);return!((~eb&ew)+(eb&~ew)>>BigInt(8*em+-1))}function eH(eb,em){(0,eC.assert)("bigint"==typeof eb,"Value must be a bigint."),(0,eC.assert)("number"==typeof em,"Byte length must be a number."),(0,eC.assert)(em>0,"Byte length must be greater than 0."),(0,eC.assert)(eV(eb,em),"Byte length is too small to represent the given value.");let ew=eb,eM=new Uint8Array(em);for(let eb=0;eb>=BigInt(8);return eM.reverse()}function e$(eb){(0,eC.assert)("number"==typeof eb,"Value must be a number."),(0,eC.assert)(eb>=0,"Value must be a non-negative number."),(0,eC.assert)(Number.isSafeInteger(eb),"Value is not a safe integer. Use `bigIntToBytes` instead.");let em=eb.toString(16);return ej(em)}function eW(eb){return(0,eC.assert)("string"==typeof eb,"Value must be a string."),new TextEncoder().encode(eb)}function eZ(eb){if("bigint"==typeof eb)return eU(eb);if("number"==typeof eb)return e$(eb);if("string"==typeof eb)return eb.startsWith("0x")?ej(eb):eW(eb);if(eI(eb))return eb;throw TypeError(`Unsupported value type: "${typeof eb}".`)}function eK(eb){let em=Array(eb.length),ew=0;for(let eM=0;eMeb.call(em,ew,eM,this))}get(eb){return eT(this,ew,"f").get(eb)}has(eb){return eT(this,ew,"f").has(eb)}keys(){return eT(this,ew,"f").keys()}values(){return eT(this,ew,"f").values()}toString(){return`FrozenMap(${this.size}) {${this.size>0?` ${[...this.entries()].map(([eb,em])=>`${String(eb)} => ${String(em)}`).join(", ")} `:""}}`}}em.FrozenMap=e_;class eE{constructor(eb){eM.set(this,void 0),eC(this,eM,new Set(eb),"f"),Object.freeze(this)}get size(){return eT(this,eM,"f").size}[(eM=new WeakMap,Symbol.iterator)](){return eT(this,eM,"f")[Symbol.iterator]()}entries(){return eT(this,eM,"f").entries()}forEach(eb,em){return eT(this,eM,"f").forEach((ew,eM,eC)=>eb.call(em,ew,eM,this))}has(eb){return eT(this,eM,"f").has(eb)}keys(){return eT(this,eM,"f").keys()}values(){return eT(this,eM,"f").values()}toString(){return`FrozenSet(${this.size}) {${this.size>0?` ${[...this.values()].map(eb=>String(eb)).join(", ")} `:""}}`}}em.FrozenSet=eE,Object.freeze(e_),Object.freeze(e_.prototype),Object.freeze(eE),Object.freeze(eE.prototype)},430:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},57229:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.remove0x=em.add0x=em.assertIsStrictHexString=em.assertIsHexString=em.isStrictHexString=em.isHexString=em.StrictHexStruct=em.HexStruct=void 0;let eM=ew(97884),eC=ew(19080);function eT(eb){return(0,eM.is)(eb,em.HexStruct)}function e_(eb){return(0,eM.is)(eb,em.StrictHexStruct)}function eE(eb){(0,eC.assert)(eT(eb),"Value must be a hexadecimal string.")}function eS(eb){(0,eC.assert)(e_(eb),'Value must be a hexadecimal string, starting with "0x".')}function eA(eb){return eb.startsWith("0x")?eb:eb.startsWith("0X")?`0x${eb.substring(2)}`:`0x${eb}`}function eN(eb){return eb.startsWith("0x")||eb.startsWith("0X")?eb.substring(2):eb}em.HexStruct=(0,eM.pattern)((0,eM.string)(),/^(?:0x)?[0-9a-f]+$/iu),em.StrictHexStruct=(0,eM.pattern)((0,eM.string)(),/^0x[0-9a-f]+$/iu),em.isHexString=eT,em.isStrictHexString=e_,em.assertIsHexString=eE,em.assertIsStrictHexString=eS,em.add0x=eA,em.remove0x=eN},51614:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),eC(ew(19080),em),eC(ew(37188),em),eC(ew(35319),em),eC(ew(44713),em),eC(ew(62077),em),eC(ew(94514),em),eC(ew(430),em),eC(ew(57229),em),eC(ew(76653),em),eC(ew(86960),em),eC(ew(4178),em),eC(ew(84363),em),eC(ew(47155),em),eC(ew(65715),em),eC(ew(90281),em),eC(ew(36636),em),eC(ew(93481),em)},76653:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.getJsonRpcIdValidator=em.assertIsJsonRpcError=em.isJsonRpcError=em.assertIsJsonRpcFailure=em.isJsonRpcFailure=em.assertIsJsonRpcSuccess=em.isJsonRpcSuccess=em.assertIsJsonRpcResponse=em.isJsonRpcResponse=em.assertIsPendingJsonRpcResponse=em.isPendingJsonRpcResponse=em.JsonRpcResponseStruct=em.JsonRpcFailureStruct=em.JsonRpcSuccessStruct=em.PendingJsonRpcResponseStruct=em.assertIsJsonRpcRequest=em.isJsonRpcRequest=em.assertIsJsonRpcNotification=em.isJsonRpcNotification=em.JsonRpcNotificationStruct=em.JsonRpcRequestStruct=em.JsonRpcParamsStruct=em.JsonRpcErrorStruct=em.JsonRpcIdStruct=em.JsonRpcVersionStruct=em.jsonrpc2=em.getJsonSize=em.isValidJson=em.JsonStruct=em.UnsafeJsonStruct=void 0;let eM=ew(97884),eC=ew(19080),eT=()=>(0,eM.define)("finite number",eb=>(0,eM.is)(eb,(0,eM.number)())&&Number.isFinite(eb));function e_(eb){return(0,eM.is)(eb,em.JsonStruct)}function eE(eb){(0,eC.assertStruct)(eb,em.JsonStruct,"Invalid JSON value");let ew=JSON.stringify(eb);return new TextEncoder().encode(ew).byteLength}function eS(eb){return(0,eM.is)(eb,em.JsonRpcNotificationStruct)}function eA(eb,ew){(0,eC.assertStruct)(eb,em.JsonRpcNotificationStruct,"Invalid JSON-RPC notification",ew)}function eN(eb){return(0,eM.is)(eb,em.JsonRpcRequestStruct)}function eI(eb,ew){(0,eC.assertStruct)(eb,em.JsonRpcRequestStruct,"Invalid JSON-RPC request",ew)}function eD(eb){return(0,eM.is)(eb,em.PendingJsonRpcResponseStruct)}function eO(eb,ew){(0,eC.assertStruct)(eb,em.PendingJsonRpcResponseStruct,"Invalid pending JSON-RPC response",ew)}function eP(eb){return(0,eM.is)(eb,em.JsonRpcResponseStruct)}function eR(eb,ew){(0,eC.assertStruct)(eb,em.JsonRpcResponseStruct,"Invalid JSON-RPC response",ew)}function eB(eb){return(0,eM.is)(eb,em.JsonRpcSuccessStruct)}function eF(eb,ew){(0,eC.assertStruct)(eb,em.JsonRpcSuccessStruct,"Invalid JSON-RPC success response",ew)}function ej(eb){return(0,eM.is)(eb,em.JsonRpcFailureStruct)}function eU(eb,ew){(0,eC.assertStruct)(eb,em.JsonRpcFailureStruct,"Invalid JSON-RPC failure response",ew)}function eV(eb){return(0,eM.is)(eb,em.JsonRpcErrorStruct)}function eH(eb,ew){(0,eC.assertStruct)(eb,em.JsonRpcErrorStruct,"Invalid JSON-RPC error",ew)}function e$(eb){let{permitEmptyString:em,permitFractions:ew,permitNull:eM}=Object.assign({permitEmptyString:!0,permitFractions:!1,permitNull:!0},eb),eC=eb=>!!("number"==typeof eb&&(ew||Number.isInteger(eb))||"string"==typeof eb&&(em||eb.length>0)||eM&&null===eb);return eC}em.UnsafeJsonStruct=(0,eM.union)([(0,eM.literal)(null),(0,eM.boolean)(),eT(),(0,eM.string)(),(0,eM.array)((0,eM.lazy)(()=>em.UnsafeJsonStruct)),(0,eM.record)((0,eM.string)(),(0,eM.lazy)(()=>em.UnsafeJsonStruct))]),em.JsonStruct=(0,eM.define)("Json",(eb,ew)=>{function eM(eb,em){let eM=em.validator(eb,ew),eC=[...eM];return!(eC.length>0)||eC}try{let ew=eM(eb,em.UnsafeJsonStruct);if(!0!==ew)return ew;return eM(JSON.parse(JSON.stringify(eb)),em.UnsafeJsonStruct)}catch(eb){if(eb instanceof RangeError)return"Circular reference detected";return!1}}),em.isValidJson=e_,em.getJsonSize=eE,em.jsonrpc2="2.0",em.JsonRpcVersionStruct=(0,eM.literal)(em.jsonrpc2),em.JsonRpcIdStruct=(0,eM.nullable)((0,eM.union)([(0,eM.number)(),(0,eM.string)()])),em.JsonRpcErrorStruct=(0,eM.object)({code:(0,eM.integer)(),message:(0,eM.string)(),data:(0,eM.optional)(em.JsonStruct),stack:(0,eM.optional)((0,eM.string)())}),em.JsonRpcParamsStruct=(0,eM.optional)((0,eM.union)([(0,eM.record)((0,eM.string)(),em.JsonStruct),(0,eM.array)(em.JsonStruct)])),em.JsonRpcRequestStruct=(0,eM.object)({id:em.JsonRpcIdStruct,jsonrpc:em.JsonRpcVersionStruct,method:(0,eM.string)(),params:em.JsonRpcParamsStruct}),em.JsonRpcNotificationStruct=(0,eM.omit)(em.JsonRpcRequestStruct,["id"]),em.isJsonRpcNotification=eS,em.assertIsJsonRpcNotification=eA,em.isJsonRpcRequest=eN,em.assertIsJsonRpcRequest=eI,em.PendingJsonRpcResponseStruct=(0,eM.object)({id:em.JsonRpcIdStruct,jsonrpc:em.JsonRpcVersionStruct,result:(0,eM.optional)((0,eM.unknown)()),error:(0,eM.optional)(em.JsonRpcErrorStruct)}),em.JsonRpcSuccessStruct=(0,eM.object)({id:em.JsonRpcIdStruct,jsonrpc:em.JsonRpcVersionStruct,result:em.JsonStruct}),em.JsonRpcFailureStruct=(0,eM.object)({id:em.JsonRpcIdStruct,jsonrpc:em.JsonRpcVersionStruct,error:em.JsonRpcErrorStruct}),em.JsonRpcResponseStruct=(0,eM.union)([em.JsonRpcSuccessStruct,em.JsonRpcFailureStruct]),em.isPendingJsonRpcResponse=eD,em.assertIsPendingJsonRpcResponse=eO,em.isJsonRpcResponse=eP,em.assertIsJsonRpcResponse=eR,em.isJsonRpcSuccess=eB,em.assertIsJsonRpcSuccess=eF,em.isJsonRpcFailure=ej,em.assertIsJsonRpcFailure=eU,em.isJsonRpcError=eV,em.assertIsJsonRpcError=eH,em.getJsonRpcIdValidator=e$},86960:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},4178:function(eb,em,ew){"use strict";var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.createModuleLogger=em.createProjectLogger=void 0;let eC=eM(ew(11227)),eT=(0,eC.default)("metamask");function e_(eb){return eT.extend(eb)}function eE(eb,em){return eb.extend(em)}em.createProjectLogger=e_,em.createModuleLogger=eE},84363:function(eb,em){"use strict";var ew;function eM(eb){return Array.isArray(eb)&&eb.length>0}function eC(eb){return null==eb}function eT(eb){return!!eb&&"object"==typeof eb&&!Array.isArray(eb)}Object.defineProperty(em,"__esModule",{value:!0}),em.calculateNumberSize=em.calculateStringSize=em.isASCII=em.isPlainObject=em.ESCAPE_CHARACTERS_REGEXP=em.JsonSize=em.hasProperty=em.isObject=em.isNullOrUndefined=em.isNonEmptyArray=void 0,em.isNonEmptyArray=eM,em.isNullOrUndefined=eC,em.isObject=eT;let e_=(eb,em)=>Object.hasOwnProperty.call(eb,em);function eE(eb){if("object"!=typeof eb||null===eb)return!1;try{let em=eb;for(;null!==Object.getPrototypeOf(em);)em=Object.getPrototypeOf(em);return Object.getPrototypeOf(eb)===em}catch(eb){return!1}}function eS(eb){return 127>=eb.charCodeAt(0)}function eA(eb){var ew;let eM=eb.split("").reduce((eb,em)=>eS(em)?eb+1:eb+2,0);return eM+(null!==(ew=eb.match(em.ESCAPE_CHARACTERS_REGEXP))&&void 0!==ew?ew:[]).length}function eN(eb){return eb.toString().length}em.hasProperty=e_,function(eb){eb[eb.Null=4]="Null",eb[eb.Comma=1]="Comma",eb[eb.Wrapper=1]="Wrapper",eb[eb.True=4]="True",eb[eb.False=5]="False",eb[eb.Quote=1]="Quote",eb[eb.Colon=1]="Colon",eb[eb.Date=24]="Date"}(ew=em.JsonSize||(em.JsonSize={})),em.ESCAPE_CHARACTERS_REGEXP=/"|\\|\n|\r|\t/gu,em.isPlainObject=eE,em.isASCII=eS,em.calculateStringSize=eA,em.calculateNumberSize=eN},47155:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.hexToBigInt=em.hexToNumber=em.bigIntToHex=em.numberToHex=void 0;let eM=ew(19080),eC=ew(57229),eT=eb=>((0,eM.assert)("number"==typeof eb,"Value must be a number."),(0,eM.assert)(eb>=0,"Value must be a non-negative number."),(0,eM.assert)(Number.isSafeInteger(eb),"Value is not a safe integer. Use `bigIntToHex` instead."),(0,eC.add0x)(eb.toString(16)));em.numberToHex=eT;let e_=eb=>((0,eM.assert)("bigint"==typeof eb,"Value must be a bigint."),(0,eM.assert)(eb>=0,"Value must be a non-negative bigint."),(0,eC.add0x)(eb.toString(16)));em.bigIntToHex=e_;let eE=eb=>{(0,eC.assertIsHexString)(eb);let em=parseInt(eb,16);return(0,eM.assert)(Number.isSafeInteger(em),"Value is not a safe integer. Use `hexToBigInt` instead."),em};em.hexToNumber=eE;let eS=eb=>((0,eC.assertIsHexString)(eb),BigInt((0,eC.add0x)(eb)));em.hexToBigInt=eS},65715:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},90281:function(eb,em){"use strict";var ew;Object.defineProperty(em,"__esModule",{value:!0}),em.timeSince=em.inMilliseconds=em.Duration=void 0,function(eb){eb[eb.Millisecond=1]="Millisecond",eb[eb.Second=1e3]="Second",eb[eb.Minute=6e4]="Minute",eb[eb.Hour=36e5]="Hour",eb[eb.Day=864e5]="Day",eb[eb.Week=6048e5]="Week",eb[eb.Year=31536e6]="Year"}(ew=em.Duration||(em.Duration={}));let eM=eb=>Number.isInteger(eb)&&eb>=0,eC=(eb,em)=>{if(!eM(eb))throw Error(`"${em}" must be a non-negative integer. Received: "${eb}".`)};function eT(eb,em){return eC(eb,"count"),eb*em}function e_(eb){return eC(eb,"timestamp"),Date.now()-eb}em.inMilliseconds=eT,em.timeSince=e_},36636:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0})},93481:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.satisfiesVersionRange=em.gtRange=em.gtVersion=em.assertIsSemVerRange=em.assertIsSemVerVersion=em.isValidSemVerRange=em.isValidSemVerVersion=em.VersionRangeStruct=em.VersionStruct=void 0;let eM=ew(81249),eC=ew(97884),eT=ew(19080);function e_(eb){return(0,eC.is)(eb,em.VersionStruct)}function eE(eb){return(0,eC.is)(eb,em.VersionRangeStruct)}function eS(eb){(0,eT.assertStruct)(eb,em.VersionStruct)}function eA(eb){(0,eT.assertStruct)(eb,em.VersionRangeStruct)}function eN(eb,em){return(0,eM.gt)(eb,em)}function eI(eb,em){return(0,eM.gtr)(eb,em)}function eD(eb,em){return(0,eM.satisfies)(eb,em,{includePrerelease:!0})}em.VersionStruct=(0,eC.refine)((0,eC.string)(),"Version",eb=>null!==(0,eM.valid)(eb)||`Expected SemVer version, got "${eb}"`),em.VersionRangeStruct=(0,eC.refine)((0,eC.string)(),"Version range",eb=>null!==(0,eM.validRange)(eb)||`Expected SemVer range, got "${eb}"`),em.isValidSemVerVersion=e_,em.isValidSemVerRange=eE,em.assertIsSemVerVersion=eS,em.assertIsSemVerRange=eA,em.gtVersion=eN,em.gtRange=eI,em.satisfiesVersionRange=eD},53786:function(eb){"use strict";let em=(eb,em)=>function(){let ew=em.promiseModule,eM=Array(arguments.length);for(let eb=0;eb{em.errorFirst?eM.push(function(eb,eM){if(em.multiArgs){let em=Array(arguments.length-1);for(let eb=1;eb{let eM;ew=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:!0,promiseModule:Promise},ew);let eC=eb=>{let em=em=>"string"==typeof em?eb===em:em.test(eb);return ew.include?ew.include.some(em):!ew.exclude.some(em)};for(let eT in eM="function"==typeof eb?function(){return ew.excludeMain?eb.apply(this,arguments):em(eb,ew).apply(this,arguments)}:Object.create(Object.getPrototypeOf(eb)),eb){let e_=eb[eT];eM[eT]="function"==typeof e_&&eC(eT)?em(e_,ew):e_}return eM}},23256:function(eb,em,ew){let eM=ew(76622);class eC extends eM{constructor(){super(),this.allResults=[]}async update(){throw Error("BaseFilterWithHistory - no update method specified")}addResults(eb){this.allResults=this.allResults.concat(eb),super.addResults(eb)}addInitialResults(eb){this.allResults=this.allResults.concat(eb),super.addInitialResults(eb)}getAllResults(){return this.allResults}}eb.exports=eC},76622:function(eb,em,ew){let eM=ew(60779).default;class eC extends eM{constructor(){super(),this.updates=[]}async initialize(){}async update(){throw Error("BaseFilter - no update method specified")}addResults(eb){this.updates=this.updates.concat(eb),eb.forEach(eb=>this.emit("update",eb))}addInitialResults(eb){}getChangesAndClear(){let eb=this.updates;return this.updates=[],eb}}eb.exports=eC},72785:function(eb,em,ew){let eM=ew(76622),eC=ew(40207),{incrementHexInt:eT}=ew(98112);class e_ extends eM{constructor({provider:eb,params:em}){super(),this.type="block",this.provider=eb}async update({oldBlock:eb,newBlock:em}){let ew=em,eM=eT(eb),e_=await eC({provider:this.provider,fromBlock:eM,toBlock:ew}),eE=e_.map(eb=>eb.hash);this.addResults(eE)}}eb.exports=e_},40207:function(eb){async function em({provider:eb,fromBlock:em,toBlock:eC}){em||(em=eC);let e_=ew(em),eE=ew(eC),eS=eE-e_+1,eA=Array(eS).fill().map((eb,em)=>e_+em).map(eM);return(await Promise.all(eA.map(em=>eT(eb,"eth_getBlockByNumber",[em,!1])))).filter(eb=>null!==eb)}function ew(eb){return null==eb?eb:Number.parseInt(eb,16)}function eM(eb){if(null==eb)return eb;let em=eb.toString(16);return"0x"+em}function eC(eb,em){return new Promise((ew,eM)=>{eb.sendAsync(em,(eb,em)=>{eb?eM(eb):em.error?eM(em.error):em.result?ew(em.result):eM(Error("Result was empty"))})})}async function eT(eb,em,ew){for(let eM=0;eM<3;eM++)try{return await eC(eb,{id:1,jsonrpc:"2.0",method:em,params:ew})}catch(eb){console.error(`provider.sendAsync failed: ${eb.stack||eb.message||eb}`)}return null}eb.exports=em},98112:function(eb){function em(...eb){let ew=eM(eb);return ew[0]}function ew(...eb){let em=eM(eb);return em[em.length-1]}function eM(eb){return eb.sort((eb,em)=>"latest"===eb||"earliest"===em?1:"latest"===em||"earliest"===eb?-1:e_(eb)-e_(em))}function eC(eb){return"0x"+eb.toString(16)}function eT(eb){return eb&&!["earliest","latest","pending"].includes(eb)}function e_(eb){return null==eb?eb:Number.parseInt(eb,16)}function eE(eb){if(null==eb)return eb;let em=e_(eb);return eS(em+1)}function eS(eb){if(null==eb)return eb;let em=eb.toString(16),ew=em.length%2;return ew&&(em="0"+em),"0x"+em}function eA(eb){let em="0x";for(let ew=0;ew{if(0===eC.length)return;let ew=await eI.acquire();try{await Promise.all(eR(eC).map(async ew=>{try{await ew.update({oldBlock:eb,newBlock:em})}catch(eb){console.error(eb)}}))}catch(eb){console.error(eb)}ew()};return eF.newLogFilter=eU,eF.newBlockFilter=eV,eF.newPendingTransactionFilter=eH,eF.uninstallFilter=eZ,eF.getFilterChanges=e$,eF.getFilterLogs=eW,eF.destroy=()=>{eY()},eF;async function eU(eb){let ew=new e_({provider:em,params:eb});return await eK(ew),ew}async function eV(){let eb=new eE({provider:em});return await eK(eb),eb}async function eH(){let eb=new eS({provider:em});return await eK(eb),eb}async function e$(eb){let em=eN(eb),ew=eC[em];if(!ew)throw Error(`No filter for index "${em}"`);let eM=ew.getChangesAndClear();return eM}async function eW(eb){let em=eN(eb),ew=eC[em];if(!ew)throw Error(`No filter for index "${em}"`);let eM=[];return"log"===ew.type&&(eM=ew.getAllResults()),eM}async function eZ(eb){let em=eN(eb),ew=eC[em],eM=!!ew;return eM&&await eG(em),eM}async function eK(em){let eM=eR(eC).length,eT=await eb.getLatestBlock();await em.initialize({currentBlock:eT}),eC[++ew]=em,em.id=ew,em.idHex=eA(ew);let e_=eR(eC).length;return eJ({prevFilterCount:eM,newFilterCount:e_}),ew}async function eG(eb){let em=eR(eC).length;delete eC[eb];let ew=eR(eC).length;eJ({prevFilterCount:em,newFilterCount:ew})}async function eY(){let eb=eR(eC).length;eC={},eJ({prevFilterCount:eb,newFilterCount:0})}function eJ({prevFilterCount:em,newFilterCount:ew}){if(0===em&&ew>0){eb.on("sync",ej);return}if(em>0&&0===ew){eb.removeListener("sync",ej);return}}}function eD(eb){return eO(async(...em)=>{let ew=await eb(...em),eM=eA(ew.id);return eM})}function eO(eb){return eC(async(em,ew)=>{let eM=await eb.apply(null,em.params);ew.result=eM})}function eP({mutex:eb}){return em=>async(ew,eM,eC,eT)=>{let e_=await eb.acquire();e_(),em(ew,eM,eC,eT)}}function eR(eb,em){let ew=[];for(let em in eb)ew.push(eb[em]);return ew}eb.exports=eI},81663:function(eb,em,ew){let eM=ew(75682),eC=ew(6417),eT=ew(23256),{bnToHex:e_,hexToInt:eE,incrementHexInt:eS,minBlockRef:eA,blockRefIsNumber:eN}=ew(98112);class eI extends eT{constructor({provider:eb,params:em}){super(),this.type="log",this.ethQuery=new eM(eb),this.params=Object.assign({fromBlock:"latest",toBlock:"latest",address:void 0,topics:[]},em),this.params.address&&(Array.isArray(this.params.address)||(this.params.address=[this.params.address]),this.params.address=this.params.address.map(eb=>eb.toLowerCase()))}async initialize({currentBlock:eb}){let em=this.params.fromBlock;["latest","pending"].includes(em)&&(em=eb),"earliest"===em&&(em="0x0"),this.params.fromBlock=em;let ew=eA(this.params.toBlock,eb),eM=Object.assign({},this.params,{toBlock:ew}),eC=await this._fetchLogs(eM);this.addInitialResults(eC)}async update({oldBlock:eb,newBlock:em}){let ew;let eM=em;ew=eb?eS(eb):em;let eC=Object.assign({},this.params,{fromBlock:ew,toBlock:eM}),eT=await this._fetchLogs(eC),e_=eT.filter(eb=>this.matchLog(eb));this.addResults(e_)}async _fetchLogs(eb){let em=await eC(em=>this.ethQuery.getLogs(eb,em))();return em}matchLog(eb){if(eE(this.params.fromBlock)>=eE(eb.blockNumber)||eN(this.params.toBlock)&&eE(this.params.toBlock)<=eE(eb.blockNumber))return!1;let em=eb.address&&eb.address.toLowerCase();if(this.params.address&&em&&!this.params.address.includes(em))return!1;let ew=this.params.topics.every((em,ew)=>{let eM=eb.topics[ew];if(!eM)return!1;eM=eM.toLowerCase();let eC=Array.isArray(em)?em:[em],eT=eC.includes(null);if(eT)return!0;eC=eC.map(eb=>eb.toLowerCase());let e_=eC.includes(eM);return e_});return ew}}eb.exports=eI},6417:function(eb){"use strict";let em=(eb,em,ew,eM)=>function(...eC){let eT=em.promiseModule;return new eT((eT,e_)=>{em.multiArgs?eC.push((...eb)=>{em.errorFirst?eb[0]?e_(eb):(eb.shift(),eT(eb)):eT(eb)}):em.errorFirst?eC.push((eb,em)=>{eb?e_(eb):eT(em)}):eC.push(eT);let eE=this===ew?eM:this;Reflect.apply(eb,eE,eC)})},ew=new WeakMap;eb.exports=(eb,eM)=>{eM={exclude:[/.+(?:Sync|Stream)$/],errorFirst:!0,promiseModule:Promise,...eM};let eC=typeof eb;if(!(null!==eb&&("object"===eC||"function"===eC)))throw TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${null===eb?"null":eC}\``);let eT=(eb,em)=>{let eC=ew.get(eb);if(eC||(eC={},ew.set(eb,eC)),em in eC)return eC[em];let eT=eb=>"string"==typeof eb||"symbol"==typeof em?em===eb:eb.test(em),e_=Reflect.getOwnPropertyDescriptor(eb,em),eE=void 0===e_||e_.writable||e_.configurable,eS=eM.include?eM.include.some(eT):!eM.exclude.some(eT),eA=eS&&eE;return eC[em]=eA,eA},e_=new WeakMap,eE=new Proxy(eb,{apply(eb,ew,eC){let eT=e_.get(eb);if(eT)return Reflect.apply(eT,ew,eC);let eS=eM.excludeMain?eb:em(eb,eM,eE,eb);return e_.set(eb,eS),Reflect.apply(eS,ew,eC)},get(eb,ew){let eC=eb[ew];if(!eT(eb,ew)||eC===Function.prototype[ew])return eC;let eS=e_.get(eC);if(eS)return eS;if("function"==typeof eC){let ew=em(eC,eM,eE,eb);return e_.set(eC,ew),ew}return eC}});return eE}},68961:function(eb,em,ew){let eM=ew(60779).default,{createAsyncMiddleware:eC,createScaffoldMiddleware:eT}=ew(88625),e_=ew(98406),{unsafeRandomBytes:eE,incrementHexInt:eS}=ew(98112),eA=ew(40207);function eN({blockTracker:eb,provider:em}){let ew={},eN=e_({blockTracker:eb,provider:em}),eD=!1,eO=new eM,eP=eT({eth_subscribe:eC(eR),eth_unsubscribe:eC(eB)});return eP.destroy=ej,{events:eO,middleware:eP};async function eR(eM,eC){let eT;if(eD)throw Error("SubscriptionManager - attempting to use after destroying");let e_=eM.params[0],eO=eE(16);switch(e_){case"newHeads":eT=eB({subId:eO});break;case"logs":let eP=eM.params[1],eR=await eN.newLogFilter(eP);eT=ej({subId:eO,filter:eR});break;default:throw Error(`SubscriptionManager - unsupported subscription type "${e_}"`)}function eB({subId:ew}){let eM={type:e_,destroy:async()=>{eb.removeListener("sync",eM.update)},update:async({oldBlock:eb,newBlock:eM})=>{let eC=eM,eT=eS(eb),e_=await eA({provider:em,fromBlock:eT,toBlock:eC}),eE=e_.map(eI).filter(eb=>null!==eb);eE.forEach(eb=>{eF(ew,eb)})}};return eb.on("sync",eM.update),eM}function ej({subId:eb,filter:em}){em.on("update",em=>eF(eb,em));let ew={type:e_,destroy:async()=>await eN.uninstallFilter(em.idHex)};return ew}ew[eO]=eT,eC.result=eO}async function eB(eb,em){if(eD)throw Error("SubscriptionManager - attempting to use after destroying");let eM=eb.params[0],eC=ew[eM];if(!eC){em.result=!1;return}delete ew[eM],await eC.destroy(),em.result=!0}function eF(eb,em){eO.emit("notification",{jsonrpc:"2.0",method:"eth_subscription",params:{subscription:eb,result:em}})}function ej(){for(let eb in eO.removeAllListeners(),ew)ew[eb].destroy(),delete ew[eb];eD=!0}}function eI(eb){return null==eb?null:{hash:eb.hash,parentHash:eb.parentHash,sha3Uncles:eb.sha3Uncles,miner:eb.miner,stateRoot:eb.stateRoot,transactionsRoot:eb.transactionsRoot,receiptsRoot:eb.receiptsRoot,logsBloom:eb.logsBloom,difficulty:eb.difficulty,number:eb.number,gasLimit:eb.gasLimit,gasUsed:eb.gasUsed,nonce:eb.nonce,mixHash:eb.mixHash,timestamp:eb.timestamp,extraData:eb.extraData}}eb.exports=eN},25792:function(eb,em,ew){let eM=ew(76622),eC=ew(40207),{incrementHexInt:eT}=ew(98112);class e_ extends eM{constructor({provider:eb}){super(),this.type="tx",this.provider=eb}async update({oldBlock:eb}){let em=eb,ew=eT(eb),eM=await eC({provider:this.provider,fromBlock:ew,toBlock:em}),e_=[];for(let eb of eM)e_.push(...eb.transactions);this.addResults(e_)}}eb.exports=e_},75682:function(eb,em,ew){let eM=ew(47529),eC=ew(23420)();function eT(eb){let em=this;em.currentProvider=eb}function e_(eb){return function(){let em=this;var ew=[].slice.call(arguments),eM=ew.pop();em.sendAsync({method:eb,params:ew},eM)}}function eE(eb,em){return function(){let ew=this;var eM=[].slice.call(arguments),eC=eM.pop();eM.length=1e3&&eb<=4999}function eE(eb,em){if("[Circular]"!==em)return em}em.EthereumProviderError=eT},92662:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.errorValues=em.errorCodes=void 0,em.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}},em.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."}}},68797:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.ethErrors=void 0;let eM=ew(12294),eC=ew(68753),eT=ew(92662);function e_(eb,em){let[ew,eT]=eS(em);return new eM.EthereumRpcError(eb,ew||eC.getMessageFromCode(eb),eT)}function eE(eb,em){let[ew,eT]=eS(em);return new eM.EthereumProviderError(eb,ew||eC.getMessageFromCode(eb),eT)}function eS(eb){if(eb){if("string"==typeof eb)return[eb];if("object"==typeof eb&&!Array.isArray(eb)){let{message:em,data:ew}=eb;if(em&&"string"!=typeof em)throw Error("Must specify string message.");return[em||void 0,ew]}}return[]}em.ethErrors={rpc:{parse:eb=>e_(eT.errorCodes.rpc.parse,eb),invalidRequest:eb=>e_(eT.errorCodes.rpc.invalidRequest,eb),invalidParams:eb=>e_(eT.errorCodes.rpc.invalidParams,eb),methodNotFound:eb=>e_(eT.errorCodes.rpc.methodNotFound,eb),internal:eb=>e_(eT.errorCodes.rpc.internal,eb),server:eb=>{if(!eb||"object"!=typeof eb||Array.isArray(eb))throw Error("Ethereum RPC Server errors must provide single object argument.");let{code:em}=eb;if(!Number.isInteger(em)||em>-32005||em<-32099)throw Error('"code" must be an integer such that: -32099 <= code <= -32005');return e_(em,eb)},invalidInput:eb=>e_(eT.errorCodes.rpc.invalidInput,eb),resourceNotFound:eb=>e_(eT.errorCodes.rpc.resourceNotFound,eb),resourceUnavailable:eb=>e_(eT.errorCodes.rpc.resourceUnavailable,eb),transactionRejected:eb=>e_(eT.errorCodes.rpc.transactionRejected,eb),methodNotSupported:eb=>e_(eT.errorCodes.rpc.methodNotSupported,eb),limitExceeded:eb=>e_(eT.errorCodes.rpc.limitExceeded,eb)},provider:{userRejectedRequest:eb=>eE(eT.errorCodes.provider.userRejectedRequest,eb),unauthorized:eb=>eE(eT.errorCodes.provider.unauthorized,eb),unsupportedMethod:eb=>eE(eT.errorCodes.provider.unsupportedMethod,eb),disconnected:eb=>eE(eT.errorCodes.provider.disconnected,eb),chainDisconnected:eb=>eE(eT.errorCodes.provider.chainDisconnected,eb),custom:eb=>{if(!eb||"object"!=typeof eb||Array.isArray(eb))throw Error("Ethereum Provider custom errors must provide single object argument.");let{code:em,message:ew,data:eC}=eb;if(!ew||"string"!=typeof ew)throw Error('"message" must be a nonempty string');return new eM.EthereumProviderError(em,ew,eC)}}}},79826:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.getMessageFromCode=em.serializeError=em.EthereumProviderError=em.EthereumRpcError=em.ethErrors=em.errorCodes=void 0;let eM=ew(12294);Object.defineProperty(em,"EthereumRpcError",{enumerable:!0,get:function(){return eM.EthereumRpcError}}),Object.defineProperty(em,"EthereumProviderError",{enumerable:!0,get:function(){return eM.EthereumProviderError}});let eC=ew(68753);Object.defineProperty(em,"serializeError",{enumerable:!0,get:function(){return eC.serializeError}}),Object.defineProperty(em,"getMessageFromCode",{enumerable:!0,get:function(){return eC.getMessageFromCode}});let eT=ew(68797);Object.defineProperty(em,"ethErrors",{enumerable:!0,get:function(){return eT.ethErrors}});let e_=ew(92662);Object.defineProperty(em,"errorCodes",{enumerable:!0,get:function(){return e_.errorCodes}})},68753:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.serializeError=em.isValidCode=em.getMessageFromCode=em.JSON_RPC_SERVER_ERROR_MESSAGE=void 0;let eM=ew(92662),eC=ew(12294),eT=eM.errorCodes.rpc.internal,e_="Unspecified error message. This is a bug, please report it.",eE={code:eT,message:eS(eT)};function eS(eb,ew=e_){if(Number.isInteger(eb)){let ew=eb.toString();if(eO(eM.errorValues,ew))return eM.errorValues[ew].message;if(eI(eb))return em.JSON_RPC_SERVER_ERROR_MESSAGE}return ew}function eA(eb){if(!Number.isInteger(eb))return!1;let em=eb.toString();return!!(eM.errorValues[em]||eI(eb))}function eN(eb,{fallbackError:em=eE,shouldIncludeStack:ew=!1}={}){var eM,eT;if(!em||!Number.isInteger(em.code)||"string"!=typeof em.message)throw Error("Must provide fallback error with integer number code and string message.");if(eb instanceof eC.EthereumRpcError)return eb.serialize();let e_={};if(eb&&"object"==typeof eb&&!Array.isArray(eb)&&eO(eb,"code")&&eA(eb.code)){let em=eb;e_.code=em.code,em.message&&"string"==typeof em.message?(e_.message=em.message,eO(em,"data")&&(e_.data=em.data)):(e_.message=eS(e_.code),e_.data={originalError:eD(eb)})}else{e_.code=em.code;let ew=null===(eM=eb)||void 0===eM?void 0:eM.message;e_.message=ew&&"string"==typeof ew?ew:em.message,e_.data={originalError:eD(eb)}}let eN=null===(eT=eb)||void 0===eT?void 0:eT.stack;return ew&&eb&&eN&&"string"==typeof eN&&(e_.stack=eN),e_}function eI(eb){return eb>=-32099&&eb<=-32e3}function eD(eb){return eb&&"object"==typeof eb&&!Array.isArray(eb)?Object.assign({},eb):eb}function eO(eb,em){return Object.prototype.hasOwnProperty.call(eb,em)}em.JSON_RPC_SERVER_ERROR_MESSAGE="Unspecified server error.",em.getMessageFromCode=eS,em.isValidCode=eA,em.serializeError=eN},82192:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.keccak512=em.keccak384=em.keccak256=em.keccak224=void 0;let eM=ew(85426),eC=ew(58040);em.keccak224=(0,eC.wrapHash)(eM.keccak_224),em.keccak256=(()=>{let eb=(0,eC.wrapHash)(eM.keccak_256);return eb.create=eM.keccak_256.create,eb})(),em.keccak384=(0,eC.wrapHash)(eM.keccak_384),em.keccak512=(0,eC.wrapHash)(eM.keccak_512)},95053:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.secp256k1=void 0;var eM=ew(33497);Object.defineProperty(em,"secp256k1",{enumerable:!0,get:function(){return eM.secp256k1}})},58040:function(eb,em,ew){"use strict";eb=ew.nmd(eb);var eM=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.crypto=em.wrapHash=em.equalsBytes=em.hexToBytes=em.bytesToUtf8=em.utf8ToBytes=em.createView=em.concatBytes=em.toHex=em.bytesToHex=em.assertBytes=em.assertBool=void 0;let eC=eM(ew(27320)),eT=ew(98089),e_=eC.default.bool;em.assertBool=e_;let eE=eC.default.bytes;em.assertBytes=eE;var eS=ew(98089);function eA(eb){if(!(eb instanceof Uint8Array))throw TypeError(`bytesToUtf8 expected Uint8Array, got ${typeof eb}`);return new TextDecoder().decode(eb)}function eN(eb){let em=eb.startsWith("0x")?eb.substring(2):eb;return(0,eT.hexToBytes)(em)}function eI(eb,em){if(eb.length!==em.length)return!1;for(let ew=0;ew(eC.default.bytes(em),eb(em))}Object.defineProperty(em,"bytesToHex",{enumerable:!0,get:function(){return eS.bytesToHex}}),Object.defineProperty(em,"toHex",{enumerable:!0,get:function(){return eS.bytesToHex}}),Object.defineProperty(em,"concatBytes",{enumerable:!0,get:function(){return eS.concatBytes}}),Object.defineProperty(em,"createView",{enumerable:!0,get:function(){return eS.createView}}),Object.defineProperty(em,"utf8ToBytes",{enumerable:!0,get:function(){return eS.utf8ToBytes}}),em.bytesToUtf8=eA,em.hexToBytes=eN,em.equalsBytes=eI,em.wrapHash=eD,em.crypto=(()=>{let em="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,ew="function"==typeof eb.require&&eb.require.bind(eb);return{node:ew&&!em?ew("crypto"):void 0,web:em}})()},48670:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer,eC=this&&this.__read||function(eb,em){var ew="function"==typeof Symbol&&eb[Symbol.iterator];if(!ew)return eb;var eM,eC,eT=ew.call(eb),e_=[];try{for(;(void 0===em||em-- >0)&&!(eM=eT.next()).done;)e_.push(eM.value)}catch(eb){eC={error:eb}}finally{try{eM&&!eM.done&&(ew=eT.return)&&ew.call(eT)}finally{if(eC)throw eC.error}}return e_},eT=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.isZeroAddress=em.zeroAddress=em.importPublic=em.privateToAddress=em.privateToPublic=em.publicToAddress=em.pubToAddress=em.isValidPublic=em.isValidPrivate=em.generateAddress2=em.generateAddress=em.isValidChecksumAddress=em.toChecksumAddress=em.isValidAddress=em.Account=void 0;var e_=eT(ew(69282)),eE=ew(14538),eS=ew(43091),eA=ew(54846),eN=ew(56861),eI=ew(14651),eD=ew(45641),eO=ew(63746),eP=ew(2971),eR=function(){function eb(eb,em,ew,eM){void 0===eb&&(eb=new eE.BN(0)),void 0===em&&(em=new eE.BN(0)),void 0===ew&&(ew=eN.KECCAK256_RLP),void 0===eM&&(eM=eN.KECCAK256_NULL),this.nonce=eb,this.balance=em,this.stateRoot=ew,this.codeHash=eM,this._validate()}return eb.fromAccountData=function(em){var ew=em.nonce,eM=em.balance,eC=em.stateRoot,eT=em.codeHash;return new eb(ew?new eE.BN((0,eI.toBuffer)(ew)):void 0,eM?new eE.BN((0,eI.toBuffer)(eM)):void 0,eC?(0,eI.toBuffer)(eC):void 0,eT?(0,eI.toBuffer)(eT):void 0)},eb.fromRlpSerializedAccount=function(eb){var em=eE.rlp.decode(eb);if(!Array.isArray(em))throw Error("Invalid serialized account input. Must be array");return this.fromValuesArray(em)},eb.fromValuesArray=function(em){var ew=eC(em,4),eM=ew[0],eT=ew[1],e_=ew[2],eS=ew[3];return new eb(new eE.BN(eM),new eE.BN(eT),e_,eS)},eb.prototype._validate=function(){if(this.nonce.lt(new eE.BN(0)))throw Error("nonce must be greater than zero");if(this.balance.lt(new eE.BN(0)))throw Error("balance must be greater than zero");if(32!==this.stateRoot.length)throw Error("stateRoot must have a length of 32");if(32!==this.codeHash.length)throw Error("codeHash must have a length of 32")},eb.prototype.raw=function(){return[(0,eP.bnToUnpaddedBuffer)(this.nonce),(0,eP.bnToUnpaddedBuffer)(this.balance),this.stateRoot,this.codeHash]},eb.prototype.serialize=function(){return eE.rlp.encode(this.raw())},eb.prototype.isContract=function(){return!this.codeHash.equals(eN.KECCAK256_NULL)},eb.prototype.isEmpty=function(){return this.balance.isZero()&&this.nonce.isZero()&&this.codeHash.equals(eN.KECCAK256_NULL)},eb}();em.Account=eR;var eB=function(eb){try{(0,eO.assertIsString)(eb)}catch(eb){return!1}return/^0x[0-9a-fA-F]{40}$/.test(eb)};em.isValidAddress=eB;var eF=function(eb,em){(0,eO.assertIsHexString)(eb);var ew=(0,eA.stripHexPrefix)(eb).toLowerCase(),eM="";em&&(eM=(0,eP.toType)(em,eP.TypeOutput.BN).toString()+"0x");for(var eC=(0,eD.keccakFromString)(eM+ew).toString("hex"),eT="0x",e_=0;e_=8?eT+=ew[e_].toUpperCase():eT+=ew[e_];return eT};em.toChecksumAddress=eF;var ej=function(eb,ew){return(0,em.isValidAddress)(eb)&&(0,em.toChecksumAddress)(eb,ew)===eb};em.isValidChecksumAddress=ej;var eU=function(eb,em){(0,eO.assertIsBuffer)(eb),(0,eO.assertIsBuffer)(em);var ew=new eE.BN(em);return ew.isZero()?(0,eD.rlphash)([eb,null]).slice(-20):(0,eD.rlphash)([eb,eM.from(ew.toArray())]).slice(-20)};em.generateAddress=eU;var eV=function(eb,em,ew){return(0,eO.assertIsBuffer)(eb),(0,eO.assertIsBuffer)(em),(0,eO.assertIsBuffer)(ew),(0,e_.default)(20===eb.length),(0,e_.default)(32===em.length),(0,eD.keccak256)(eM.concat([eM.from("ff","hex"),eb,em,(0,eD.keccak256)(ew)])).slice(-20)};em.generateAddress2=eV;var eH=function(eb){return(0,eS.privateKeyVerify)(eb)};em.isValidPrivate=eH;var e$=function(eb,em){return(void 0===em&&(em=!1),(0,eO.assertIsBuffer)(eb),64===eb.length)?(0,eS.publicKeyVerify)(eM.concat([eM.from([4]),eb])):!!em&&(0,eS.publicKeyVerify)(eb)};em.isValidPublic=e$;var eW=function(eb,em){return void 0===em&&(em=!1),(0,eO.assertIsBuffer)(eb),em&&64!==eb.length&&(eb=eM.from((0,eS.publicKeyConvert)(eb,!1).slice(1))),(0,e_.default)(64===eb.length),(0,eD.keccak)(eb).slice(-20)};em.pubToAddress=eW,em.publicToAddress=em.pubToAddress;var eZ=function(eb){return(0,eO.assertIsBuffer)(eb),eM.from((0,eS.publicKeyCreate)(eb,!1)).slice(1)};em.privateToPublic=eZ;var eK=function(eb){return(0,em.publicToAddress)((0,em.privateToPublic)(eb))};em.privateToAddress=eK;var eG=function(eb){return(0,eO.assertIsBuffer)(eb),64!==eb.length&&(eb=eM.from((0,eS.publicKeyConvert)(eb,!1).slice(1))),eb};em.importPublic=eG;var eY=function(){var eb=20,em=(0,eI.zeros)(eb);return(0,eI.bufferToHex)(em)};em.zeroAddress=eY;var eJ=function(eb){try{(0,eO.assertIsString)(eb)}catch(eb){return!1}return(0,em.zeroAddress)()===eb};em.isZeroAddress=eJ},6871:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer,eC=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.Address=void 0;var eT=eC(ew(69282)),e_=ew(14538),eE=ew(14651),eS=ew(48670),eA=function(){function eb(eb){(0,eT.default)(20===eb.length,"Invalid address length"),this.buf=eb}return eb.zero=function(){return new eb((0,eE.zeros)(20))},eb.fromString=function(em){return(0,eT.default)((0,eS.isValidAddress)(em),"Invalid address"),new eb((0,eE.toBuffer)(em))},eb.fromPublicKey=function(em){(0,eT.default)(eM.isBuffer(em),"Public key should be Buffer");var ew=(0,eS.pubToAddress)(em);return new eb(ew)},eb.fromPrivateKey=function(em){(0,eT.default)(eM.isBuffer(em),"Private key should be Buffer");var ew=(0,eS.privateToAddress)(em);return new eb(ew)},eb.generate=function(em,ew){return(0,eT.default)(e_.BN.isBN(ew)),new eb((0,eS.generateAddress)(em.buf,ew.toArrayLike(eM)))},eb.generate2=function(em,ew,eC){return(0,eT.default)(eM.isBuffer(ew)),(0,eT.default)(eM.isBuffer(eC)),new eb((0,eS.generateAddress2)(em.buf,ew,eC))},eb.prototype.equals=function(eb){return this.buf.equals(eb.buf)},eb.prototype.isZero=function(){return this.equals(eb.zero())},eb.prototype.isPrecompileOrSystemAddress=function(){var eb=new e_.BN(this.buf),em=new e_.BN(0),ew=new e_.BN("ffff","hex");return eb.gte(em)&&eb.lte(ew)},eb.prototype.toString=function(){return"0x"+this.buf.toString("hex")},eb.prototype.toBuffer=function(){return eM.from(this.buf)},eb}();em.Address=eA},14651:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer,eC=this&&this.__values||function(eb){var em="function"==typeof Symbol&&Symbol.iterator,ew=em&&eb[em],eM=0;if(ew)return ew.call(eb);if(eb&&"number"==typeof eb.length)return{next:function(){return eb&&eM>=eb.length&&(eb=void 0),{value:eb&&eb[eM++],done:!eb}}};throw TypeError(em?"Object is not iterable.":"Symbol.iterator is not defined.")},eT=this&&this.__read||function(eb,em){var ew="function"==typeof Symbol&&eb[Symbol.iterator];if(!ew)return eb;var eM,eC,eT=ew.call(eb),e_=[];try{for(;(void 0===em||em-- >0)&&!(eM=eT.next()).done;)e_.push(eM.value)}catch(eb){eC={error:eb}}finally{try{eM&&!eM.done&&(ew=eT.return)&&ew.call(eT)}finally{if(eC)throw eC.error}}return e_};Object.defineProperty(em,"__esModule",{value:!0}),em.bufArrToArr=em.arrToBufArr=em.validateNoLeadingZeroes=em.baToJSON=em.toUtf8=em.addHexPrefix=em.toUnsigned=em.fromSigned=em.bufferToHex=em.bufferToInt=em.toBuffer=em.unpadHexString=em.unpadArray=em.unpadBuffer=em.setLengthRight=em.setLengthLeft=em.zeros=em.intToBuffer=em.intToHex=void 0;var e_=ew(14538),eE=ew(54846),eS=ew(63746),eA=function(eb){if(!Number.isSafeInteger(eb)||eb<0)throw Error("Received an invalid integer type: ".concat(eb));return"0x".concat(eb.toString(16))};em.intToHex=eA;var eN=function(eb){var ew=(0,em.intToHex)(eb);return eM.from((0,eE.padToEven)(ew.slice(2)),"hex")};em.intToBuffer=eN;var eI=function(eb){return eM.allocUnsafe(eb).fill(0)};em.zeros=eI;var eD=function(eb,ew,eM){var eC=(0,em.zeros)(ew);return eM?eb.length0&&"0"===em.toString();)em=(eb=eb.slice(1))[0];return eb},eB=function(eb){return(0,eS.assertIsBuffer)(eb),eR(eb)};em.unpadBuffer=eB;var eF=function(eb){return(0,eS.assertIsArray)(eb),eR(eb)};em.unpadArray=eF;var ej=function(eb){return(0,eS.assertIsHexString)(eb),eR(eb=(0,eE.stripHexPrefix)(eb))};em.unpadHexString=ej;var eU=function(eb){if(null==eb)return eM.allocUnsafe(0);if(eM.isBuffer(eb)||Array.isArray(eb)||eb instanceof Uint8Array)return eM.from(eb);if("string"==typeof eb){if(!(0,eE.isHexString)(eb))throw Error("Cannot convert string to buffer. toBuffer only supports 0x-prefixed hex strings and this string was given: ".concat(eb));return eM.from((0,eE.padToEven)((0,eE.stripHexPrefix)(eb)),"hex")}if("number"==typeof eb)return(0,em.intToBuffer)(eb);if(e_.BN.isBN(eb)){if(eb.isNeg())throw Error("Cannot convert negative BN to buffer. Given: ".concat(eb));return eb.toArrayLike(eM)}if(eb.toArray)return eM.from(eb.toArray());if(eb.toBuffer)return eM.from(eb.toBuffer());throw Error("invalid type")};em.toBuffer=eU;var eV=function(eb){return new e_.BN((0,em.toBuffer)(eb)).toNumber()};em.bufferToInt=eV;var eH=function(eb){return"0x"+(eb=(0,em.toBuffer)(eb)).toString("hex")};em.bufferToHex=eH;var e$=function(eb){return new e_.BN(eb).fromTwos(256)};em.fromSigned=e$;var eW=function(eb){return eM.from(eb.toTwos(256).toArray())};em.toUnsigned=eW;var eZ=function(eb){return"string"!=typeof eb?eb:(0,eE.isHexPrefixed)(eb)?eb:"0x"+eb};em.addHexPrefix=eZ;var eK=function(eb){var em=/^(00)+|(00)+$/g;if((eb=(0,eE.stripHexPrefix)(eb)).length%2!=0)throw Error("Invalid non-even hex string input for toUtf8() provided");return eM.from(eb.replace(em,""),"hex").toString("utf8")};em.toUtf8=eK;var eG=function(eb){if(eM.isBuffer(eb))return"0x".concat(eb.toString("hex"));if(eb instanceof Array){for(var ew=[],eC=0;eC0&&0===eA[0])throw Error("".concat(eS," cannot have leading zeroes, received: ").concat(eA.toString("hex")))}}catch(eb){em={error:eb}}finally{try{e_&&!e_.done&&(ew=eM.return)&&ew.call(eM)}finally{if(em)throw em.error}}};function eJ(eb){return Array.isArray(eb)?eb.map(function(eb){return eJ(eb)}):eM.from(eb)}function eX(eb){return Array.isArray(eb)?eb.map(function(eb){return eX(eb)}):Uint8Array.from(null!=eb?eb:[])}em.validateNoLeadingZeroes=eY,em.arrToBufArr=eJ,em.bufArrToArr=eX},56861:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.KECCAK256_RLP=em.KECCAK256_RLP_S=em.KECCAK256_RLP_ARRAY=em.KECCAK256_RLP_ARRAY_S=em.KECCAK256_NULL=em.KECCAK256_NULL_S=em.TWO_POW256=em.MAX_INTEGER=em.MAX_UINT64=void 0;var eM=ew(48764),eC=ew(14538);em.MAX_UINT64=new eC.BN("ffffffffffffffff",16),em.MAX_INTEGER=new eC.BN("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",16),em.TWO_POW256=new eC.BN("10000000000000000000000000000000000000000000000000000000000000000",16),em.KECCAK256_NULL_S="c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",em.KECCAK256_NULL=eM.Buffer.from(em.KECCAK256_NULL_S,"hex"),em.KECCAK256_RLP_ARRAY_S="1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",em.KECCAK256_RLP_ARRAY=eM.Buffer.from(em.KECCAK256_RLP_ARRAY_S,"hex"),em.KECCAK256_RLP_S="56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",em.KECCAK256_RLP=eM.Buffer.from(em.KECCAK256_RLP_S,"hex")},14538:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__setModuleDefault||(Object.create?function(eb,em){Object.defineProperty(eb,"default",{enumerable:!0,value:em})}:function(eb,em){eb.default=em}),eT=this&&this.__importStar||function(eb){if(eb&&eb.__esModule)return eb;var em={};if(null!=eb)for(var ew in eb)"default"!==ew&&Object.prototype.hasOwnProperty.call(eb,ew)&&eM(em,eb,ew);return eC(em,eb),em},e_=this&&this.__importDefault||function(eb){return eb&&eb.__esModule?eb:{default:eb}};Object.defineProperty(em,"__esModule",{value:!0}),em.rlp=em.BN=void 0;var eE=e_(ew(13550));em.BN=eE.default;var eS=eT(ew(51675));em.rlp=eS},45641:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.rlphash=em.ripemd160FromArray=em.ripemd160FromString=em.ripemd160=em.sha256FromArray=em.sha256FromString=em.sha256=em.keccakFromArray=em.keccakFromHexString=em.keccakFromString=em.keccak256=em.keccak=void 0;var eC=ew(72543),eT=ew(23482),e_=ew(14538),eE=ew(14651),eS=ew(63746),eA=function(eb,em){switch(void 0===em&&(em=256),(0,eS.assertIsBuffer)(eb),em){case 224:return(0,eC.keccak224)(eb);case 256:return(0,eC.keccak256)(eb);case 384:return(0,eC.keccak384)(eb);case 512:return(0,eC.keccak512)(eb);default:throw Error("Invald algorithm: keccak".concat(em))}};em.keccak=eA;var eN=function(eb){return(0,em.keccak)(eb)};em.keccak256=eN;var eI=function(eb,ew){void 0===ew&&(ew=256),(0,eS.assertIsString)(eb);var eC=eM.from(eb,"utf8");return(0,em.keccak)(eC,ew)};em.keccakFromString=eI;var eD=function(eb,ew){return void 0===ew&&(ew=256),(0,eS.assertIsHexString)(eb),(0,em.keccak)((0,eE.toBuffer)(eb),ew)};em.keccakFromHexString=eD;var eO=function(eb,ew){return void 0===ew&&(ew=256),(0,eS.assertIsArray)(eb),(0,em.keccak)((0,eE.toBuffer)(eb),ew)};em.keccakFromArray=eO;var eP=function(eb){return eb=(0,eE.toBuffer)(eb),eT("sha256").update(eb).digest()},eR=function(eb){return(0,eS.assertIsBuffer)(eb),eP(eb)};em.sha256=eR;var eB=function(eb){return(0,eS.assertIsString)(eb),eP(eb)};em.sha256FromString=eB;var eF=function(eb){return(0,eS.assertIsArray)(eb),eP(eb)};em.sha256FromArray=eF;var ej=function(eb,em){eb=(0,eE.toBuffer)(eb);var ew=eT("rmd160").update(eb).digest();return!0===em?(0,eE.setLengthLeft)(ew,32):ew},eU=function(eb,em){return(0,eS.assertIsBuffer)(eb),ej(eb,em)};em.ripemd160=eU;var eV=function(eb,em){return(0,eS.assertIsString)(eb),ej(eb,em)};em.ripemd160FromString=eV;var eH=function(eb,em){return(0,eS.assertIsArray)(eb),ej(eb,em)};em.ripemd160FromArray=eH;var e$=function(eb){return(0,em.keccak)(e_.rlp.encode(eb))};em.rlphash=e$},63746:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.assertIsString=em.assertIsArray=em.assertIsBuffer=em.assertIsHexString=void 0;var eC=ew(54846),eT=function(eb){if(!(0,eC.isHexString)(eb))throw Error("This method only supports 0x-prefixed hex strings but input was: ".concat(eb))};em.assertIsHexString=eT;var e_=function(eb){if(!eM.isBuffer(eb))throw Error("This method only supports Buffer but input was: ".concat(eb))};em.assertIsBuffer=e_;var eE=function(eb){if(!Array.isArray(eb))throw Error("This method only supports number arrays but input was: ".concat(eb))};em.assertIsArray=eE;var eS=function(eb){if("string"!=typeof eb)throw Error("This method only supports strings but input was: ".concat(eb))};em.assertIsString=eS},22751:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew);var eC=Object.getOwnPropertyDescriptor(em,ew);(!eC||("get"in eC?!em.__esModule:eC.writable||eC.configurable))&&(eC={enumerable:!0,get:function(){return em[ew]}}),Object.defineProperty(eb,eM,eC)}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),em.isHexString=em.getKeys=em.fromAscii=em.fromUtf8=em.toAscii=em.arrayContainsArray=em.getBinarySize=em.padToEven=em.stripHexPrefix=em.isHexPrefixed=void 0,eC(ew(56861),em),eC(ew(48670),em),eC(ew(6871),em),eC(ew(45641),em),eC(ew(77112),em),eC(ew(14651),em),eC(ew(80867),em),eC(ew(14538),em),eC(ew(2971),em);var eT=ew(54846);Object.defineProperty(em,"isHexPrefixed",{enumerable:!0,get:function(){return eT.isHexPrefixed}}),Object.defineProperty(em,"stripHexPrefix",{enumerable:!0,get:function(){return eT.stripHexPrefix}}),Object.defineProperty(em,"padToEven",{enumerable:!0,get:function(){return eT.padToEven}}),Object.defineProperty(em,"getBinarySize",{enumerable:!0,get:function(){return eT.getBinarySize}}),Object.defineProperty(em,"arrayContainsArray",{enumerable:!0,get:function(){return eT.arrayContainsArray}}),Object.defineProperty(em,"toAscii",{enumerable:!0,get:function(){return eT.toAscii}}),Object.defineProperty(em,"fromUtf8",{enumerable:!0,get:function(){return eT.fromUtf8}}),Object.defineProperty(em,"fromAscii",{enumerable:!0,get:function(){return eT.fromAscii}}),Object.defineProperty(em,"getKeys",{enumerable:!0,get:function(){return eT.getKeys}}),Object.defineProperty(em,"isHexString",{enumerable:!0,get:function(){return eT.isHexString}})},54846:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer;function eC(eb){if("string"!=typeof eb)throw Error("[isHexPrefixed] input must be type 'string', received type ".concat(typeof eb));return"0"===eb[0]&&"x"===eb[1]}Object.defineProperty(em,"__esModule",{value:!0}),em.isHexString=em.getKeys=em.fromAscii=em.fromUtf8=em.toAscii=em.arrayContainsArray=em.getBinarySize=em.padToEven=em.stripHexPrefix=em.isHexPrefixed=void 0,em.isHexPrefixed=eC;var eT=function(eb){if("string"!=typeof eb)throw Error("[stripHexPrefix] input must be type 'string', received ".concat(typeof eb));return eC(eb)?eb.slice(2):eb};function e_(eb){var em=eb;if("string"!=typeof em)throw Error("[padToEven] value must be type 'string', received ".concat(typeof em));return em.length%2&&(em="0".concat(em)),em}function eE(eb){if("string"!=typeof eb)throw Error("[getBinarySize] method requires input type 'string', recieved ".concat(typeof eb));return eM.byteLength(eb,"utf8")}function eS(eb,em,ew){if(!0!==Array.isArray(eb))throw Error("[arrayContainsArray] method requires input 'superset' to be an array, got type '".concat(typeof eb,"'"));if(!0!==Array.isArray(em))throw Error("[arrayContainsArray] method requires input 'subset' to be an array, got type '".concat(typeof em,"'"));return em[ew?"some":"every"](function(em){return eb.indexOf(em)>=0})}function eA(eb){var em="",ew=0,eM=eb.length;for("0x"===eb.substring(0,2)&&(ew=2);ew=eC.length,"The field ".concat(em.name," must not have more ").concat(em.length," bytes"))):!(em.allowZero&&0===eC.length)&&em.length&&(0,eT.default)(em.length===eC.length,"The field ".concat(em.name," must have byte length of ").concat(em.length)),eb.raw[ew]=eC}eb._fields.push(em.name),Object.defineProperty(eb,em.name,{enumerable:!0,configurable:!0,get:eC,set:e_}),em.default&&(eb[em.name]=em.default),em.alias&&Object.defineProperty(eb,em.alias,{enumerable:!1,configurable:!0,set:e_,get:eC})}),ew){if("string"==typeof ew&&(ew=eM.from((0,e_.stripHexPrefix)(ew),"hex")),eM.isBuffer(ew)&&(ew=eE.rlp.decode(ew)),Array.isArray(ew)){if(ew.length>eb._fields.length)throw Error("wrong number of fields in data");ew.forEach(function(em,ew){eb[eb._fields[ew]]=(0,eS.toBuffer)(em)})}else if("object"==typeof ew){var eC=Object.keys(ew);em.forEach(function(em){-1!==eC.indexOf(em.name)&&(eb[em.name]=ew[em.name]),-1!==eC.indexOf(em.alias)&&(eb[em.alias]=ew[em.alias])})}else throw Error("invalid data")}};em.defineProperties=eA},77112:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.hashPersonalMessage=em.isValidSignature=em.fromRpcSig=em.toCompactSig=em.toRpcSig=em.ecrecover=em.ecsign=void 0;var eC=ew(43091),eT=ew(14538),e_=ew(14651),eE=ew(45641),eS=ew(63746),eA=ew(2971);function eN(eb,em,ew){var eT=(0,eC.ecdsaSign)(eb,em),e_=eT.signature,eE=eT.recid,eS=eM.from(e_.slice(0,32)),eN=eM.from(e_.slice(32,64));if(!ew||"number"==typeof ew){if(ew&&!Number.isSafeInteger(ew))throw Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)");return{r:eS,s:eN,v:ew?eE+(2*ew+35):eE+27}}return{r:eS,s:eN,v:(0,eA.toType)(ew,eA.TypeOutput.BN).muln(2).addn(35).addn(eE).toArrayLike(eM)}}function eI(eb,em){var ew=(0,eA.toType)(eb,eA.TypeOutput.BN);if(ew.eqn(0)||ew.eqn(1))return(0,eA.toType)(eb,eA.TypeOutput.BN);if(!em)return ew.subn(27);var eM=(0,eA.toType)(em,eA.TypeOutput.BN);return ew.sub(eM.muln(2).addn(35))}function eD(eb){var em=new eT.BN(eb);return em.eqn(0)||em.eqn(1)}em.ecsign=eN;var eO=function(eb,em,ew,eT,eE){var eS=eM.concat([(0,e_.setLengthLeft)(ew,32),(0,e_.setLengthLeft)(eT,32)],64),eA=eI(em,eE);if(!eD(eA))throw Error("Invalid signature v value");var eN=(0,eC.ecdsaRecover)(eS,eA.toNumber(),eb);return eM.from((0,eC.publicKeyConvert)(eN,!1).slice(1))};em.ecrecover=eO;var eP=function(eb,em,ew,eC){if(!eD(eI(eb,eC)))throw Error("Invalid signature v value");return(0,e_.bufferToHex)(eM.concat([(0,e_.setLengthLeft)(em,32),(0,e_.setLengthLeft)(ew,32),(0,e_.toBuffer)(eb)]))};em.toRpcSig=eP;var eR=function(eb,em,ew,eC){if(!eD(eI(eb,eC)))throw Error("Invalid signature v value");var eT=(0,eA.toType)(eb,eA.TypeOutput.Number),eE=ew;return(eT>28&&eT%2==1||1===eT||28===eT)&&(eE=eM.from(ew),eE[0]|=128),(0,e_.bufferToHex)(eM.concat([(0,e_.setLengthLeft)(em,32),(0,e_.setLengthLeft)(eE,32)]))};em.toCompactSig=eR;var eB=function(eb){var em,ew,eM,eC=(0,e_.toBuffer)(eb);if(eC.length>=65)em=eC.slice(0,32),ew=eC.slice(32,64),eM=(0,e_.bufferToInt)(eC.slice(64));else if(64===eC.length)em=eC.slice(0,32),ew=eC.slice(32,64),eM=(0,e_.bufferToInt)(eC.slice(32,33))>>7,ew[0]&=127;else throw Error("Invalid signature length");return eM<27&&(eM+=27),{v:eM,r:em,s:ew}};em.fromRpcSig=eB;var eF=function(eb,em,ew,eM,eC){void 0===eM&&(eM=!0);var e_=new eT.BN("7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0",16),eE=new eT.BN("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",16);if(32!==em.length||32!==ew.length||!eD(eI(eb,eC)))return!1;var eS=new eT.BN(em),eA=new eT.BN(ew);return!(eS.isZero()||eS.gt(eE)||eA.isZero()||eA.gt(eE))&&(!eM||1!==eA.cmp(e_))};em.isValidSignature=eF;var ej=function(eb){(0,eS.assertIsBuffer)(eb);var em=eM.from("\x19Ethereum Signed Message:\n".concat(eb.length),"utf-8");return(0,eE.keccak)(eM.concat([em,eb]))};em.hashPersonalMessage=ej},2971:function(eb,em,ew){"use strict";var eM,eC=ew(48764).Buffer;Object.defineProperty(em,"__esModule",{value:!0}),em.toType=em.TypeOutput=em.bnToRlp=em.bnToUnpaddedBuffer=em.bnToHex=void 0;var eT=ew(14538),e_=ew(54846),eE=ew(14651);function eS(eb){return"0x".concat(eb.toString(16))}function eA(eb){return(0,eE.unpadBuffer)(eb.toArrayLike(eC))}function eN(eb){return eA(eb)}function eI(eb,em){if(null===eb)return null;if(void 0!==eb){if("string"!=typeof eb||(0,e_.isHexString)(eb)){if("number"==typeof eb&&!Number.isSafeInteger(eb))throw Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)")}else throw Error("A string must be provided with a 0x-prefix, given: ".concat(eb));var ew=(0,eE.toBuffer)(eb);if(em===eM.Buffer)return ew;if(em===eM.BN)return new eT.BN(ew);if(em!==eM.Number)return"0x".concat(ew.toString("hex"));var eC=new eT.BN(ew),eS=new eT.BN(Number.MAX_SAFE_INTEGER.toString());if(eC.gt(eS))throw Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative output type)");return eC.toNumber()}}em.bnToHex=eS,em.bnToUnpaddedBuffer=eA,em.bnToRlp=eN,function(eb){eb[eb.Number=0]="Number",eb[eb.BN=1]="BN",eb[eb.Buffer=2]="Buffer",eb[eb.PrefixedHexString=3]="PrefixedHexString"}(eM=em.TypeOutput||(em.TypeOutput={})),em.toType=eI},15919:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer;function eC(eb){return function(em){var ew=eb();return ew.update(em),eM.from(ew.digest())}}Object.defineProperty(em,"__esModule",{value:!0}),em.createHashFunction=eC},72543:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0});var eM=ew(15919),eC=ew(95811);em.keccak224=eM.createHashFunction(function(){return eC("keccak224")}),em.keccak256=eM.createHashFunction(function(){return eC("keccak256")}),em.keccak384=eM.createHashFunction(function(){return eC("keccak384")}),em.keccak512=eM.createHashFunction(function(){return eC("keccak512")})},30459:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0});var eM=ew(61798);function eC(eb){return new Promise(function(em,ew){eM(eb,function(eb,eM){if(eb){ew(eb);return}em(eM)})})}function eT(eb){return eM(eb)}em.getRandomBytes=eC,em.getRandomBytesSync=eT},43091:function(eb,em,ew){"use strict";var eM=this&&this.__awaiter||function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})},eC=this&&this.__generator||function(eb,em){var ew,eM,eC,eT,e_={label:0,sent:function(){if(1&eC[0])throw eC[1];return eC[1]},trys:[],ops:[]};return eT={next:eE(0),throw:eE(1),return:eE(2)},"function"==typeof Symbol&&(eT[Symbol.iterator]=function(){return this}),eT;function eE(eb){return function(em){return eS([eb,em])}}function eS(eT){if(ew)throw TypeError("Generator is already executing.");for(;e_;)try{if(ew=1,eM&&(eC=2&eT[0]?eM.return:eT[0]?eM.throw||((eC=eM.return)&&eC.call(eM),0):eM.next)&&!(eC=eC.call(eM,eT[1])).done)return eC;switch(eM=0,eC&&(eT=[2&eT[0],eC.value]),eT[0]){case 0:case 1:eC=eT;break;case 4:return e_.label++,{value:eT[1],done:!1};case 5:e_.label++,eM=eT[1],eT=[0];continue;case 7:eT=e_.ops.pop(),e_.trys.pop();continue;default:if(!(eC=(eC=e_.trys).length>0&&eC[eC.length-1])&&(6===eT[0]||2===eT[0])){e_=0;continue}if(3===eT[0]&&(!eC||eT[1]>eC[0]&&eT[1](em===eY&&(0,eH.vh)(),Promise.resolve(!0))}}isCommunityResource(){return this.apiKey===eY}}let eQ=new eW.Yd(eZ.i),e0="9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972";function e6(eb){switch(eb){case"homestead":return"rpc.ankr.com/eth/";case"ropsten":return"rpc.ankr.com/eth_ropsten/";case"rinkeby":return"rpc.ankr.com/eth_rinkeby/";case"goerli":return"rpc.ankr.com/eth_goerli/";case"matic":return"rpc.ankr.com/polygon/";case"arbitrum":return"rpc.ankr.com/arbitrum/"}return eQ.throwArgumentError("unsupported network","name",eb)}class e4 extends eK.l{isCommunityResource(){return this.apiKey===e0}static getApiKey(eb){return null==eb?e0:eb}static getUrl(eb,em){null==em&&(em=e0);let ew={allowGzip:!0,url:"https://"+e6(eb.name)+em,throttleCallback:(eb,ew)=>(em.apiKey===e0&&(0,eH.vh)(),Promise.resolve(!0))};return null!=em.projectSecret&&(ew.user="",ew.password=em.projectSecret),ew}}var e3=function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};let e5=new eW.Yd(eZ.i);class e8 extends eK.l{static getApiKey(eb){return null!=eb&&e5.throwArgumentError("apiKey not supported for cloudflare","apiKey",eb),null}static getUrl(eb,em){let ew=null;return"homestead"===eb.name?ew="https://cloudflare-eth.com/":e5.throwArgumentError("unsupported network","network",arguments[0]),ew}perform(eb,em){let ew=Object.create(null,{perform:{get:()=>super.perform}});return e3(this,void 0,void 0,function*(){if("getBlockNumber"===eb){let eb=yield ew.perform.call(this,"getBlock",{blockTag:"latest"});return eb.number}return ew.perform.call(this,eb,em)})}}var e9=ew(16441),e7=ew(83875),tw=ew(37707),tC=function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};let tT=new eW.Yd(eZ.i);function t_(eb){let em={};for(let ew in eb){if(null==eb[ew])continue;let eM=eb[ew];("type"!==ew||0!==eM)&&(eM=({type:!0,gasLimit:!0,gasPrice:!0,maxFeePerGs:!0,maxPriorityFeePerGas:!0,nonce:!0,value:!0})[ew]?(0,e9.$P)((0,e9.Dv)(eM)):"accessList"===ew?"["+(0,e7.z7)(eM).map(eb=>`{address:"${eb.address}",storageKeys:["${eb.storageKeys.join('","')}"]}`).join(",")+"]":(0,e9.Dv)(eM),em[ew]=eM)}return em}function tE(eb){if(0==eb.status&&("No records found"===eb.message||"No transactions found"===eb.message))return eb.result;if(1!=eb.status||"string"!=typeof eb.message||!eb.message.match(/^OK/)){let em=Error("invalid response");throw em.result=JSON.stringify(eb),(eb.result||"").toLowerCase().indexOf("rate limit")>=0&&(em.throttleRetry=!0),em}return eb.result}function tS(eb){if(eb&&0==eb.status&&"NOTOK"==eb.message&&(eb.result||"").toLowerCase().indexOf("rate limit")>=0){let em=Error("throttled response");throw em.result=JSON.stringify(eb),em.throttleRetry=!0,em}if("2.0"!=eb.jsonrpc){let em=Error("invalid response");throw em.result=JSON.stringify(eb),em}if(eb.error){let em=Error(eb.error.message||"unknown error");throw eb.error.code&&(em.code=eb.error.code),eb.error.data&&(em.data=eb.error.data),em}return eb.result}function tA(eb){if("pending"===eb)throw Error("pending not supported");return"latest"===eb?eb:parseInt(eb.substring(2),16)}function tN(eb,em,ew){if("call"===eb&&em.code===eW.Yd.errors.SERVER_ERROR){let eb=em.error;if(eb&&(eb.message.match(/reverted/i)||eb.message.match(/VM execution error/i))){let ew=eb.data;if(ew&&(ew="0x"+ew.replace(/^.*0x/i,"")),(0,e9.A7)(ew))return ew;tT.throwError("missing revert data in call exception",eW.Yd.errors.CALL_EXCEPTION,{error:em,data:"0x"})}}let eM=em.message;throw em.code===eW.Yd.errors.SERVER_ERROR&&(em.error&&"string"==typeof em.error.message?eM=em.error.message:"string"==typeof em.body?eM=em.body:"string"==typeof em.responseText&&(eM=em.responseText)),(eM=(eM||"").toLowerCase()).match(/insufficient funds/)&&tT.throwError("insufficient funds for intrinsic transaction cost",eW.Yd.errors.INSUFFICIENT_FUNDS,{error:em,method:eb,transaction:ew}),eM.match(/same hash was already imported|transaction nonce is too low|nonce too low/)&&tT.throwError("nonce has already been used",eW.Yd.errors.NONCE_EXPIRED,{error:em,method:eb,transaction:ew}),eM.match(/another transaction with same nonce/)&&tT.throwError("replacement fee too low",eW.Yd.errors.REPLACEMENT_UNDERPRICED,{error:em,method:eb,transaction:ew}),eM.match(/execution failed due to an exception|execution reverted/)&&tT.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",eW.Yd.errors.UNPREDICTABLE_GAS_LIMIT,{error:em,method:eb,transaction:ew}),em}class tI extends eU.Zk{constructor(eb,em){super(eb),(0,eV.zG)(this,"baseUrl",this.getBaseUrl()),(0,eV.zG)(this,"apiKey",em||null)}getBaseUrl(){switch(this.network?this.network.name:"invalid"){case"homestead":return"https://api.etherscan.io";case"goerli":return"https://api-goerli.etherscan.io";case"sepolia":return"https://api-sepolia.etherscan.io";case"matic":return"https://api.polygonscan.com";case"maticmum":return"https://api-testnet.polygonscan.com";case"arbitrum":return"https://api.arbiscan.io";case"arbitrum-goerli":return"https://api-goerli.arbiscan.io";case"optimism":return"https://api-optimistic.etherscan.io";case"optimism-goerli":return"https://api-goerli-optimistic.etherscan.io"}return tT.throwArgumentError("unsupported network","network",this.network.name)}getUrl(eb,em){let ew=Object.keys(em).reduce((eb,ew)=>{let eM=em[ew];return null!=eM&&(eb+=`&${ew}=${eM}`),eb},""),eM=this.apiKey?`&apikey=${this.apiKey}`:"";return`${this.baseUrl}/api?module=${eb}${ew}${eM}`}getPostUrl(){return`${this.baseUrl}/api`}getPostData(eb,em){return em.module=eb,em.apikey=this.apiKey,em}fetch(eb,em,ew){return tC(this,void 0,void 0,function*(){let eM=ew?this.getPostUrl():this.getUrl(eb,em),eC=ew?this.getPostData(eb,em):null,eT="proxy"===eb?tS:tE;this.emit("debug",{action:"request",request:eM,provider:this});let e_={url:eM,throttleSlotInterval:1e3,throttleCallback:(eb,em)=>(this.isCommunityResource()&&(0,eH.vh)(),Promise.resolve(!0))},eE=null;eC&&(e_.headers={"content-type":"application/x-www-form-urlencoded; charset=UTF-8"},eE=Object.keys(eC).map(eb=>`${eb}=${eC[eb]}`).join("&"));let eS=yield(0,tw.rd)(e_,eE,eT||tS);return this.emit("debug",{action:"response",request:eM,response:(0,eV.p$)(eS),provider:this}),eS})}detectNetwork(){return tC(this,void 0,void 0,function*(){return this.network})}perform(eb,em){let ew=Object.create(null,{perform:{get:()=>super.perform}});return tC(this,void 0,void 0,function*(){switch(eb){case"getBlockNumber":return this.fetch("proxy",{action:"eth_blockNumber"});case"getGasPrice":return this.fetch("proxy",{action:"eth_gasPrice"});case"getBalance":return this.fetch("account",{action:"balance",address:em.address,tag:em.blockTag});case"getTransactionCount":return this.fetch("proxy",{action:"eth_getTransactionCount",address:em.address,tag:em.blockTag});case"getCode":return this.fetch("proxy",{action:"eth_getCode",address:em.address,tag:em.blockTag});case"getStorageAt":return this.fetch("proxy",{action:"eth_getStorageAt",address:em.address,position:em.position,tag:em.blockTag});case"sendTransaction":return this.fetch("proxy",{action:"eth_sendRawTransaction",hex:em.signedTransaction},!0).catch(eb=>tN("sendTransaction",eb,em.signedTransaction));case"getBlock":if(em.blockTag)return this.fetch("proxy",{action:"eth_getBlockByNumber",tag:em.blockTag,boolean:em.includeTransactions?"true":"false"});throw Error("getBlock by blockHash not implemented");case"getTransaction":return this.fetch("proxy",{action:"eth_getTransactionByHash",txhash:em.transactionHash});case"getTransactionReceipt":return this.fetch("proxy",{action:"eth_getTransactionReceipt",txhash:em.transactionHash});case"call":{if("latest"!==em.blockTag)throw Error("EtherscanProvider does not support blockTag for call");let eb=t_(em.transaction);eb.module="proxy",eb.action="eth_call";try{return yield this.fetch("proxy",eb,!0)}catch(eb){return tN("call",eb,em.transaction)}}case"estimateGas":{let eb=t_(em.transaction);eb.module="proxy",eb.action="eth_estimateGas";try{return yield this.fetch("proxy",eb,!0)}catch(eb){return tN("estimateGas",eb,em.transaction)}}case"getLogs":{let eb={action:"getLogs"};if(em.filter.fromBlock&&(eb.fromBlock=tA(em.filter.fromBlock)),em.filter.toBlock&&(eb.toBlock=tA(em.filter.toBlock)),em.filter.address&&(eb.address=em.filter.address),em.filter.topics&&em.filter.topics.length>0&&(em.filter.topics.length>1&&tT.throwError("unsupported topic count",eW.Yd.errors.UNSUPPORTED_OPERATION,{topics:em.filter.topics}),1===em.filter.topics.length)){let ew=em.filter.topics[0];("string"!=typeof ew||66!==ew.length)&&tT.throwError("unsupported topic format",eW.Yd.errors.UNSUPPORTED_OPERATION,{topic0:ew}),eb.topic0=ew}let ew=yield this.fetch("logs",eb),eM={};for(let eb=0;eb{["contractAddress","to"].forEach(function(em){""==eb[em]&&delete eb[em]}),null==eb.creates&&null!=eb.contractAddress&&(eb.creates=eb.contractAddress);let em=this.formatter.transactionResponse(eb);return eb.timeStamp&&(em.timestamp=parseInt(eb.timeStamp)),em})})}isCommunityResource(){return null==this.apiKey}}function tD(eb){eb=eb.slice();for(let em=eb.length-1;em>0;em--){let ew=Math.floor(Math.random()*(em+1)),eM=eb[em];eb[em]=eb[ew],eb[ew]=eM}return eb}var tO=function(eb,em,ew,eM){function eC(eb){return eb instanceof ew?eb:new ew(function(em){em(eb)})}return new(ew||(ew=Promise))(function(ew,eT){function e_(eb){try{eS(eM.next(eb))}catch(eb){eT(eb)}}function eE(eb){try{eS(eM.throw(eb))}catch(eb){eT(eb)}}function eS(eb){eb.done?ew(eb.value):eC(eb.value).then(e_,eE)}eS((eM=eM.apply(eb,em||[])).next())})};let tP=new eW.Yd(eZ.i);function tR(){return new Date().getTime()}function tB(eb){let em=null;for(let ew=0;ewem?null:(eM+eC)/2}function tj(eb){if(null===eb)return"null";if("number"==typeof eb||"boolean"==typeof eb)return JSON.stringify(eb);if("string"==typeof eb)return eb;if(eA.O$.isBigNumber(eb))return eb.toString();if(Array.isArray(eb))return JSON.stringify(eb.map(eb=>tj(eb)));if("object"==typeof eb){let em=Object.keys(eb);return em.sort(),"{"+em.map(em=>{let ew=eb[em];return ew="function"==typeof ew?"[function]":tj(ew),JSON.stringify(em)+":"+ew}).join(",")+"}"}throw Error("unknown value type: "+typeof eb)}let tU=1;function tV(eb){let em=null,ew=null,eM=new Promise(eM=>{ew=setTimeout(em=function(){ew&&(clearTimeout(ew),ew=null),eM()},eb)}),eC=eb=>eM=eM.then(eb);return{cancel:em,getPromise:function(){return eM},wait:eC}}let tH=[eW.Yd.errors.CALL_EXCEPTION,eW.Yd.errors.INSUFFICIENT_FUNDS,eW.Yd.errors.NONCE_EXPIRED,eW.Yd.errors.REPLACEMENT_UNDERPRICED,eW.Yd.errors.UNPREDICTABLE_GAS_LIMIT],t$=["address","args","errorArgs","errorSignature","method","transaction"];function tq(eb,em){let ew={weight:eb.weight};return Object.defineProperty(ew,"provider",{get:()=>eb.provider}),eb.start&&(ew.start=eb.start),em&&(ew.duration=em-eb.start),eb.done&&(eb.error?ew.error=eb.error:ew.result=eb.result||null),ew}function tW(eb,em){return function(ew){let eM={};ew.forEach(em=>{let ew=eb(em.result);eM[ew]||(eM[ew]={count:0,result:em.result}),eM[ew].count++});let eC=Object.keys(eM);for(let eb=0;eb=em)return ew.result}}}function tZ(eb,em,ew){let eM=tj;switch(em){case"getBlockNumber":return function(em){let ew=em.map(eb=>eb.result),eM=tF(em.map(eb=>eb.result),2);if(null!=eM)return eM=Math.ceil(eM),ew.indexOf(eM+1)>=0&&eM++,eM>=eb._highestBlockNumber&&(eb._highestBlockNumber=eM),eb._highestBlockNumber};case"getGasPrice":return function(eb){let em=eb.map(eb=>eb.result);return em.sort(),em[Math.floor(em.length/2)]};case"getEtherPrice":return function(eb){return tF(eb.map(eb=>eb.result))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":eM=function(eb){return null==eb?null:((eb=(0,eV.DC)(eb)).confirmations=-1,tj(eb))};break;case"getBlock":eM=ew.includeTransactions?function(eb){return null==eb?null:((eb=(0,eV.DC)(eb)).transactions=eb.transactions.map(eb=>((eb=(0,eV.DC)(eb)).confirmations=-1,eb)),tj(eb))}:function(eb){return null==eb?null:tj(eb)};break;default:throw Error("unknown method: "+em)}return tW(eM,eb.quorum)}function tK(eb,em){return tO(this,void 0,void 0,function*(){let ew=eb.provider;return null!=ew.blockNumber&&ew.blockNumber>=em||-1===em?ew:(0,tw.$l)(()=>new Promise((eM,eC)=>{setTimeout(function(){return ew.blockNumber>=em?eM(ew):eb.cancelled?eM(null):eM(void 0)},0)}),{oncePoll:ew})})}function tG(eb,em,ew,eM){return tO(this,void 0,void 0,function*(){let eC=eb.provider;switch(ew){case"getBlockNumber":case"getGasPrice":return eC[ew]();case"getEtherPrice":if(eC.getEtherPrice)return eC.getEtherPrice();break;case"getBalance":case"getTransactionCount":case"getCode":return eM.blockTag&&(0,e9.A7)(eM.blockTag)&&(eC=yield tK(eb,em)),eC[ew](eM.address,eM.blockTag||"latest");case"getStorageAt":return eM.blockTag&&(0,e9.A7)(eM.blockTag)&&(eC=yield tK(eb,em)),eC.getStorageAt(eM.address,eM.position,eM.blockTag||"latest");case"getBlock":return eM.blockTag&&(0,e9.A7)(eM.blockTag)&&(eC=yield tK(eb,em)),eC[eM.includeTransactions?"getBlockWithTransactions":"getBlock"](eM.blockTag||eM.blockHash);case"call":case"estimateGas":if(eM.blockTag&&(0,e9.A7)(eM.blockTag)&&(eC=yield tK(eb,em)),"call"===ew&&eM.blockTag)return eC[ew](eM.transaction,eM.blockTag);return eC[ew](eM.transaction);case"getTransaction":case"getTransactionReceipt":return eC[ew](eM.transactionHash);case"getLogs":{let ew=eM.filter;return(ew.fromBlock&&(0,e9.A7)(ew.fromBlock)||ew.toBlock&&(0,e9.A7)(ew.toBlock))&&(eC=yield tK(eb,em)),eC.getLogs(ew)}}return tP.throwError("unknown method error",eW.Yd.errors.UNKNOWN_ERROR,{method:ew,params:eM})})}class tY extends eU.Zk{constructor(eb,em){0===eb.length&&tP.throwArgumentError("missing providers","providers",eb);let ew=eb.map((eb,em)=>{if(eF.zt.isProvider(eb)){let em=(0,eH.Gp)(eb)?2e3:750,ew=1;return Object.freeze({provider:eb,weight:1,stallTimeout:em,priority:ew})}let ew=(0,eV.DC)(eb);null==ew.priority&&(ew.priority=1),null==ew.stallTimeout&&(ew.stallTimeout=(0,eH.Gp)(eb)?2e3:750),null==ew.weight&&(ew.weight=1);let eM=ew.weight;return(eM%1||eM>512||eM<1)&&tP.throwArgumentError("invalid weight; must be integer in [1, 512]",`providers[${em}].weight`,eM),Object.freeze(ew)}),eM=ew.reduce((eb,em)=>eb+em.weight,0);null==em?em=eM/2:em>eM&&tP.throwArgumentError("quorum will always fail; larger than total weight","quorum",em);let eC=tB(ew.map(eb=>eb.provider.network));null==eC&&(eC=new Promise((eb,em)=>{setTimeout(()=>{this.detectNetwork().then(eb,em)},0)})),super(eC),(0,eV.zG)(this,"providerConfigs",Object.freeze(ew)),(0,eV.zG)(this,"quorum",em),this._highestBlockNumber=-1}detectNetwork(){return tO(this,void 0,void 0,function*(){let eb=yield Promise.all(this.providerConfigs.map(eb=>eb.provider.getNetwork()));return tB(eb)})}perform(eb,em){return tO(this,void 0,void 0,function*(){if("sendTransaction"===eb){let eb=yield Promise.all(this.providerConfigs.map(eb=>eb.provider.sendTransaction(em.signedTransaction).then(eb=>eb.hash,eb=>eb)));for(let em=0;emeb.priority-em.priority);let eC=this._highestBlockNumber,eT=0,e_=!0;for(;;){let eE=tR(),eS=eM.filter(eb=>eb.runner&&eE-eb.starteb+em.weight,0);for(;eS{ew.staller=null}),ew.runner=tG(ew,eC,eb,em).then(eM=>{ew.done=!0,ew.result=eM,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:e_,backend:tq(ew,tR()),request:{method:eb,params:(0,eV.p$)(em)},provider:this})},eM=>{ew.done=!0,ew.error=eM,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:e_,backend:tq(ew,tR()),request:{method:eb,params:(0,eV.p$)(em)},provider:this})}),this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:e_,backend:tq(ew,null),request:{method:eb,params:(0,eV.p$)(em)},provider:this}),eS+=ew.weight}let eA=[];eM.forEach(eb=>{!eb.done&&eb.runner&&(eA.push(eb.runner),eb.staller&&eA.push(eb.staller.getPromise()))}),eA.length&&(yield Promise.race(eA));let eN=eM.filter(eb=>eb.done&&null==eb.error);if(eN.length>=this.quorum){let eb=ew(eN);if(void 0!==eb)return eM.forEach(eb=>{eb.staller&&eb.staller.cancel(),eb.cancelled=!0}),eb;e_||(yield tV(100).getPromise()),e_=!1}let eI=eM.reduce((eb,em)=>{if(!em.done||null==em.error)return eb;let ew=em.error.code;return tH.indexOf(ew)>=0&&(eb[ew]||(eb[ew]={error:em.error,weight:0}),eb[ew].weight+=em.weight),eb},{});if(Object.keys(eI).forEach(eb=>{let em=eI[eb];if(em.weight{eb.staller&&eb.staller.cancel(),eb.cancelled=!0});let ew=em.error,eC={};t$.forEach(eb=>{null!=ew[eb]&&(eC[eb]=ew[eb])}),tP.throwError(ew.reason||ew.message,eb,eC)}),0===eM.filter(eb=>!eb.done).length)break}return eM.forEach(eb=>{eb.staller&&eb.staller.cancel(),eb.cancelled=!0}),tP.throwError("failed to meet quorum",eW.Yd.errors.SERVER_ERROR,{method:eb,params:em,results:eM.map(eb=>tq(eb)),provider:this})})}}let tJ=null;var tX=ew(96263),tQ=ew(82169);class nw extends tQ.r{send(eb,em){let ew={method:eb,params:em,id:this._nextId++,jsonrpc:"2.0"};null==this._pendingBatch&&(this._pendingBatch=[]);let eM={request:ew,resolve:null,reject:null},eC=new Promise((eb,em)=>{eM.resolve=eb,eM.reject=em});return this._pendingBatch.push(eM),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout(()=>{let eb=this._pendingBatch;this._pendingBatch=null,this._pendingBatchAggregator=null;let em=eb.map(eb=>eb.request);return this.emit("debug",{action:"requestBatch",request:(0,eV.p$)(em),provider:this}),(0,tw.rd)(this.connection,JSON.stringify(em)).then(ew=>{this.emit("debug",{action:"response",request:em,response:ew,provider:this}),eb.forEach((eb,em)=>{let eM=ew[em];if(eM.error){let em=Error(eM.error.message);em.code=eM.error.code,em.data=eM.error.data,eb.reject(em)}else eb.resolve(eM.result)})},ew=>{this.emit("debug",{action:"response",error:ew,request:em,provider:this}),eb.forEach(eb=>{eb.reject(ew)})})},10)),eC}}let nM=new eW.Yd(eZ.i),nC="ETHERS_JS_SHARED";class nk extends eK.l{static getApiKey(eb){return eb&&"string"!=typeof eb&&nM.throwArgumentError("invalid apiKey","apiKey",eb),eb||nC}static getUrl(eb,em){nM.warn("NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.");let ew=null;switch(eb.name){case"homestead":ew="https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc";break;case"ropsten":ew="https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc";break;case"rinkeby":ew="https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc";break;case"goerli":ew="https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc";break;case"kovan":ew="https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc";break;default:nM.throwArgumentError("unsupported network","network",arguments[0])}return ew+"?apiKey="+em}}let nT=new eW.Yd(eZ.i),n_="62e1ad51b37b8e00394bda3b";class nE extends eK.l{static getApiKey(eb){let em={applicationId:null,loadBalancer:!0,applicationSecretKey:null};return null==eb?em.applicationId=n_:"string"==typeof eb?em.applicationId=eb:null!=eb.applicationSecretKey?(em.applicationId=eb.applicationId,em.applicationSecretKey=eb.applicationSecretKey):eb.applicationId?em.applicationId=eb.applicationId:nT.throwArgumentError("unsupported PocketProvider apiKey","apiKey",eb),em}static getUrl(eb,em){let ew=null;switch(eb?eb.name:"unknown"){case"goerli":ew="eth-goerli.gateway.pokt.network";break;case"homestead":ew="eth-mainnet.gateway.pokt.network";break;case"kovan":ew="poa-kovan.gateway.pokt.network";break;case"matic":ew="poly-mainnet.gateway.pokt.network";break;case"maticmum":ew="polygon-mumbai-rpc.gateway.pokt.network";break;case"rinkeby":ew="eth-rinkeby.gateway.pokt.network";break;case"ropsten":ew="eth-ropsten.gateway.pokt.network";break;default:nT.throwError("unsupported network",eW.Yd.errors.INVALID_ARGUMENT,{argument:"network",value:eb})}let eM=`https://${ew}/v1/lb/${em.applicationId}`,eC={headers:{},url:eM};return null!=em.applicationSecretKey&&(eC.user="",eC.password=em.applicationSecretKey),eC}isCommunityResource(){return this.applicationId===n_}}var nS=ew(241);let nA=new eW.Yd(eZ.i);function nN(eb,em){if(null==eb&&(eb="homestead"),"string"==typeof eb){let em=eb.match(/^(ws|http)s?:/i);if(em)switch(em[1].toLowerCase()){case"http":case"https":return new tQ.r(eb);case"ws":case"wss":return new e$.q(eb);default:nA.throwArgumentError("unsupported URL scheme","network",eb)}}let ew=(0,ej.H)(eb);return ew&&ew._defaultProvider||nA.throwError("unsupported getDefaultProvider network",eW.Yd.errors.NETWORK_ERROR,{operation:"getDefaultProvider",network:eb}),ew._defaultProvider({FallbackProvider:tY,AlchemyProvider:eX,AnkrProvider:e4,CloudflareProvider:e8,EtherscanProvider:tI,InfuraProvider:tX.J,JsonRpcProvider:tQ.r,NodesmithProvider:nk,PocketProvider:nE,Web3Provider:nS.Q,IpcProvider:tJ},em)}var nI=ew(10234),nD=ew(48812),nO=ew(84243),nP=ew(11388),nR=ew(61184),nB=ew(8198),nF=ew(19485),nj=ew(59567),nU=ew(57727),nV=ew(27586),nH=ew(93684),n$=ew(32046),nq=ew(67827),nW=ew(84178),nZ=ew(67949),nK=ew(38197),nG=ew(2006),nY=ew(29251);let nJ="solidity/5.7.0",nX=RegExp("^bytes([0-9]+)$"),nQ=RegExp("^(u?int)([0-9]*)$"),n6=RegExp("^(.*)\\[([0-9]*)\\]$"),n4="0000000000000000000000000000000000000000000000000000000000000000",n3=new eW.Yd(nJ);function n5(eb,em,ew){switch(eb){case"address":if(ew)return(0,e9.Bu)(em,32);return(0,e9.lE)(em);case"string":return(0,nY.Y0)(em);case"bytes":return(0,e9.lE)(em);case"bool":if(em=em?"0x01":"0x00",ew)return(0,e9.Bu)(em,32);return(0,e9.lE)(em)}let eM=eb.match(nQ);if(eM){let eC=parseInt(eM[2]||"256");return(eM[2]&&String(eC)!==eM[2]||eC%8!=0||0===eC||eC>256)&&n3.throwArgumentError("invalid number type","type",eb),ew&&(eC=256),em=eA.O$.from(em).toTwos(eC),(0,e9.Bu)(em,eC/8)}if(eM=eb.match(nX)){let eC=parseInt(eM[1]);return((String(eC)!==eM[1]||0===eC||eC>32)&&n3.throwArgumentError("invalid bytes type","type",eb),(0,e9.lE)(em).byteLength!==eC&&n3.throwArgumentError(`invalid value for ${eb}`,"value",em),ew)?(0,e9.lE)((em+n4).substring(0,66)):em}if((eM=eb.match(n6))&&Array.isArray(em)){let ew=eM[1],eC=parseInt(eM[2]||String(em.length));eC!=em.length&&n3.throwArgumentError(`invalid array length for ${eb}`,"value",em);let eT=[];return em.forEach(function(eb){eT.push(n5(ew,eb,!0))}),(0,e9.zo)(eT)}return n3.throwArgumentError("invalid type","type",eb)}function n8(eb,em){eb.length!=em.length&&n3.throwArgumentError("wrong number of values; expected ${ types.length }","values",em);let ew=[];return eb.forEach(function(eb,eM){ew.push(n5(eb,em[eM]))}),(0,e9.Dv)((0,e9.zo)(ew))}function n9(eb,em){return(0,nK.w)(n8(eb,em))}function n7(eb,em){return(0,nG.JQ)(n8(eb,em))}var ry=ew(5634),rz=ew(59052),rw=ew(67669);function rM(eb){if(eb.length%4!=0)throw Error("bad data");let em=[];for(let ew=0;ew{let eC=eb.split(":");eM[ew+=parseInt(eC[0],16)]=em(eC[1])}),eM}function rk(eb){let em=0;return eb.split(",").map(eb=>{let ew=eb.split("-");return 1===ew.length?ew[1]="0":""===ew[1]&&(ew[1]="1"),{l:em+parseInt(ew[0],16),h:em=parseInt(ew[1],16)}})}function rT(eb,em){let ew=0;for(let eM=0;eM=(ew+=eC.l)&&eb<=ew+eC.h&&(eb-ew)%(eC.d||1)==0){if(eC.e&&-1!==eC.e.indexOf(eb-ew))continue;return eC}}return null}let r_=rk("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"),rE="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map(eb=>parseInt(eb,16)),rS=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],rA=rC("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"),rN=rC("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"),rI=rC("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",rM),rD=rk("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 rO(eb){return eb.reduce((eb,em)=>(em.forEach(em=>{eb.push(em)}),eb),[])}function rP(eb){return!!rT(eb,r_)}function rR(eb){let em=rT(eb,rS);if(em)return[eb+em.s];let ew=rA[eb];if(ew)return ew;let eM=rN[eb];return eM?[eb+eM[0]]:rI[eb]||null}function rB(eb){return!!rT(eb,rD)}function rF(eb){if(eb.match(/^[a-z0-9-]*$/i)&&eb.length<=59)return eb.toLowerCase();let em=(0,nY.XL)(eb);em=rO(em.map(eb=>rE.indexOf(eb)>=0||eb>=65024&&eb<=65039?[]:rR(eb)||[eb])),(em=(0,nY.XL)((0,nY.uu)(em),nY.Uj.NFKC)).forEach(eb=>{if(rB(eb))throw Error("STRINGPREP_CONTAINS_PROHIBITED")}),em.forEach(eb=>{if(rP(eb))throw Error("STRINGPREP_CONTAINS_UNASSIGNED")});let ew=(0,nY.uu)(em);if("-"===ew.substring(0,1)||"--"===ew.substring(2,4)||"-"===ew.substring(ew.length-1))throw Error("invalid hyphen");return ew}function rj(eb){let em=(0,nY.Y0)(eb);if(em.length>31)throw Error("bytes32 string must be less than 32 bytes");return(0,e9.Dv)((0,e9.zo)([em,eR.R]).slice(0,32))}function rU(eb){let em=(0,e9.lE)(eb);if(32!==em.length)throw Error("invalid bytes32 - not 32 bytes long");if(0!==em[31])throw Error("invalid bytes32 string - no null terminator");let ew=31;for(;0===em[ew-1];)ew--;return(0,nY.ZN)(em.slice(0,ew))}var rV=ew(61744),rH=ew(21261);let r$="ethers/5.7.2",rq=new eW.Yd(r$);try{let eb=window;null==eb._ethers&&(eb._ethers=eE)}catch(eb){}},17187:function(eb){"use strict";var em,ew="object"==typeof Reflect?Reflect:null,eM=ew&&"function"==typeof ew.apply?ew.apply:function(eb,em,ew){return Function.prototype.apply.call(eb,em,ew)};function eC(eb){console&&console.warn&&console.warn(eb)}em=ew&&"function"==typeof ew.ownKeys?ew.ownKeys:Object.getOwnPropertySymbols?function(eb){return Object.getOwnPropertyNames(eb).concat(Object.getOwnPropertySymbols(eb))}:function(eb){return Object.getOwnPropertyNames(eb)};var eT=Number.isNaN||function(eb){return eb!=eb};function e_(){e_.init.call(this)}eb.exports=e_,eb.exports.once=ej,e_.EventEmitter=e_,e_.prototype._events=void 0,e_.prototype._eventsCount=0,e_.prototype._maxListeners=void 0;var eE=10;function eS(eb){if("function"!=typeof eb)throw TypeError('The "listener" argument must be of type Function. Received type '+typeof eb)}function eA(eb){return void 0===eb._maxListeners?e_.defaultMaxListeners:eb._maxListeners}function eN(eb,em,ew,eM){if(eS(ew),void 0===(e_=eb._events)?(e_=eb._events=Object.create(null),eb._eventsCount=0):(void 0!==e_.newListener&&(eb.emit("newListener",em,ew.listener?ew.listener:ew),e_=eb._events),eE=e_[em]),void 0===eE)eE=e_[em]=ew,++eb._eventsCount;else if("function"==typeof eE?eE=e_[em]=eM?[ew,eE]:[eE,ew]:eM?eE.unshift(ew):eE.push(ew),(eT=eA(eb))>0&&eE.length>eT&&!eE.warned){eE.warned=!0;var eT,e_,eE,eN=Error("Possible EventEmitter memory leak detected. "+eE.length+" "+String(em)+" listeners added. Use emitter.setMaxListeners() to increase limit");eN.name="MaxListenersExceededWarning",eN.emitter=eb,eN.type=em,eN.count=eE.length,eC(eN)}return eb}function eI(){if(!this.fired)return(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0==arguments.length)?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function eD(eb,em,ew){var eM={fired:!1,wrapFn:void 0,target:eb,type:em,listener:ew},eC=eI.bind(eM);return eC.listener=ew,eM.wrapFn=eC,eC}function eO(eb,em,ew){var eM=eb._events;if(void 0===eM)return[];var eC=eM[em];return void 0===eC?[]:"function"==typeof eC?ew?[eC.listener||eC]:[eC]:ew?eF(eC):eR(eC,eC.length)}function eP(eb){var em=this._events;if(void 0!==em){var ew=em[eb];if("function"==typeof ew)return 1;if(void 0!==ew)return ew.length}return 0}function eR(eb,em){for(var ew=Array(em),eM=0;eM0&&(e_=em[0]),e_ instanceof Error)throw e_;var e_,eE=Error("Unhandled error."+(e_?" ("+e_.message+")":""));throw eE.context=e_,eE}var eS=eT[eb];if(void 0===eS)return!1;if("function"==typeof eS)eM(eS,this,em);else for(var eA=eS.length,eN=eR(eS,eA),ew=0;ew=0;eT--)if(ew[eT]===em||ew[eT].listener===em){e_=ew[eT].listener,eC=eT;break}if(eC<0)return this;0===eC?ew.shift():eB(ew,eC),1===ew.length&&(eM[eb]=ew[0]),void 0!==eM.removeListener&&this.emit("removeListener",eb,e_||em)}return this},e_.prototype.off=e_.prototype.removeListener,e_.prototype.removeAllListeners=function(eb){var em,ew,eM;if(void 0===(ew=this._events))return this;if(void 0===ew.removeListener)return 0==arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==ew[eb]&&(0==--this._eventsCount?this._events=Object.create(null):delete ew[eb]),this;if(0==arguments.length){var eC,eT=Object.keys(ew);for(eM=0;eM=0;eM--)this.removeListener(eb,em[eM]);return this},e_.prototype.listeners=function(eb){return eO(this,eb,!0)},e_.prototype.rawListeners=function(eb){return eO(this,eb,!1)},e_.listenerCount=function(eb,em){return"function"==typeof eb.listenerCount?eb.listenerCount(em):eP.call(eb,em)},e_.prototype.listenerCount=eP,e_.prototype.eventNames=function(){return this._eventsCount>0?em(this._events):[]}},4445:function(eb){eb.exports=e_,e_.default=e_,e_.stable=eN,e_.stableStringify=eN;var em="[...]",ew="[Circular]",eM=[],eC=[];function eT(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function e_(eb,em,ew,e_){void 0===e_&&(e_=eT()),eS(eb,"",0,[],void 0,0,e_);try{eE=0===eC.length?JSON.stringify(eb,em,ew):JSON.stringify(eb,eD(em),ew)}catch(eb){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==eM.length;){var eE,eA=eM.pop();4===eA.length?Object.defineProperty(eA[0],eA[1],eA[3]):eA[0][eA[1]]=eA[2]}}return eE}function eE(eb,em,ew,eT){var e_=Object.getOwnPropertyDescriptor(eT,ew);void 0!==e_.get?e_.configurable?(Object.defineProperty(eT,ew,{value:eb}),eM.push([eT,ew,em,e_])):eC.push([em,ew,eb]):(eT[ew]=eb,eM.push([eT,ew,em]))}function eS(eb,eM,eC,eT,e_,eA,eN){if(eA+=1,"object"==typeof eb&&null!==eb){for(eI=0;eIeN.depthLimit||void 0!==eN.edgesLimit&&eC+1>eN.edgesLimit){eE(em,eb,eM,e_);return}if(eT.push(eb),Array.isArray(eb))for(eI=0;eIem?1:0}function eN(eb,em,ew,e_){void 0===e_&&(e_=eT());var eE,eS=eI(eb,"",0,[],void 0,0,e_)||eb;try{eE=0===eC.length?JSON.stringify(eS,em,ew):JSON.stringify(eS,eD(em),ew)}catch(eb){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==eM.length;){var eA=eM.pop();4===eA.length?Object.defineProperty(eA[0],eA[1],eA[3]):eA[0][eA[1]]=eA[2]}}return eE}function eI(eb,eC,eT,e_,eS,eN,eD){if(eN+=1,"object"==typeof eb&&null!==eb){for(eO=0;eOeD.depthLimit||void 0!==eD.edgesLimit&&eT+1>eD.edgesLimit){eE(em,eb,eC,eS);return}if(e_.push(eb),Array.isArray(eb))for(eO=0;eO0)for(var eM=0;eM=3&&(eT=ew),"[object Array]"===eC.call(eb)?e_(eb,em,eT):"string"==typeof eb?eE(eb,em,eT):eS(eb,em,eT)};eb.exports=eA},6230:function(eb){eb.exports="object"==typeof self?self.FormData:window.FormData},17648:function(eb){"use strict";var em="Function.prototype.bind called on incompatible ",ew=Object.prototype.toString,eM=Math.max,eC="[object Function]",eT=function(eb,em){for(var ew=[],eM=0;eM1&&"boolean"!=typeof em)throw new eA('"allowMissing" argument must be a boolean');if(null===e0(/^%?[^%]*%?$/,eb))throw new eS("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var ew=e3(eb),eM=ew.length>0?ew[0]:"",eC=e5("%"+eM+"%",em),eT=eC.name,e_=eC.value,eE=!1,eN=eC.alias;eN&&(eM=eN[0],eJ(ew,eY([0,1],eN)));for(var eI=1,eD=!0;eI=ew.length){var eF=eO(e_,eP);e_=(eD=!!eF)&&"get"in eF&&!("originalValue"in eF.get)?eF.get:e_[eP]}else eD=eG(e_,eP),e_=e_[eP];eD&&!eE&&(eH[eT]=e_)}}return e_}},27296:function(eb,em,ew){"use strict";var eM=ew(40210)("%Object.getOwnPropertyDescriptor%",!0);if(eM)try{eM([],"length")}catch(eb){eM=null}eb.exports=eM},31044:function(eb,em,ew){"use strict";var eM=ew(24429),eC=function(){return!!eM};eC.hasArrayLengthDefineBug=function(){if(!eM)return null;try{return 1!==eM([],"length",{value:1}).length}catch(eb){return!0}},eb.exports=eC},28185:function(eb){"use strict";var em={foo:{}},ew=Object;eb.exports=function(){return({__proto__:em}).foo===em.foo&&!(({__proto__:null})instanceof ew)}},41405:function(eb,em,ew){"use strict";var eM="undefined"!=typeof Symbol&&Symbol,eC=ew(55419);eb.exports=function(){return"function"==typeof eM&&"function"==typeof Symbol&&"symbol"==typeof eM("foo")&&"symbol"==typeof Symbol("bar")&&eC()}},55419:function(eb){"use strict";eb.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var eb={},em=Symbol("test"),ew=Object(em);if("string"==typeof em||"[object Symbol]"!==Object.prototype.toString.call(em)||"[object Symbol]"!==Object.prototype.toString.call(ew))return!1;var eM=42;for(em in eb[em]=eM,eb)return!1;if("function"==typeof Object.keys&&0!==Object.keys(eb).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(eb).length)return!1;var eC=Object.getOwnPropertySymbols(eb);if(1!==eC.length||eC[0]!==em||!Object.prototype.propertyIsEnumerable.call(eb,em))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var eT=Object.getOwnPropertyDescriptor(eb,em);if(eT.value!==eM||!0!==eT.enumerable)return!1}return!0}},96410:function(eb,em,ew){"use strict";var eM=ew(55419);eb.exports=function(){return eM()&&!!Symbol.toStringTag}},3349:function(eb,em,ew){"use strict";var eM=ew(89509).Buffer,eC=ew(79681).Transform;function eT(eb){eC.call(this),this._block=eM.allocUnsafe(eb),this._blockSize=eb,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}ew(35717)(eT,eC),eT.prototype._transform=function(eb,em,ew){var eM=null;try{this.update(eb,em)}catch(eb){eM=eb}ew(eM)},eT.prototype._flush=function(eb){var em=null;try{this.push(this.digest())}catch(eb){em=eb}eb(em)};var e_="undefined"!=typeof Uint8Array,eE="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&ArrayBuffer.isView&&(eM.prototype instanceof Uint8Array||eM.TYPED_ARRAY_SUPPORT);function eS(eb,em){if(eb instanceof eM)return eb;if("string"==typeof eb)return eM.from(eb,em);if(eE&&ArrayBuffer.isView(eb)){if(0===eb.byteLength)return eM.alloc(0);var ew=eM.from(eb.buffer,eb.byteOffset,eb.byteLength);if(ew.byteLength===eb.byteLength)return ew}if(e_&&eb instanceof Uint8Array||eM.isBuffer(eb)&&eb.constructor&&"function"==typeof eb.constructor.isBuffer&&eb.constructor.isBuffer(eb))return eM.from(eb);throw TypeError('The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView.')}eT.prototype.update=function(eb,em){if(this._finalized)throw Error("Digest already called");eb=eS(eb,em);for(var ew=this._block,eM=0;this._blockOffset+eb.length-eM>=this._blockSize;){for(var eC=this._blockOffset;eC0;++eT)this._length[eT]+=e_,(e_=this._length[eT]/4294967296|0)>0&&(this._length[eT]-=4294967296*e_);return this},eT.prototype._update=function(){throw Error("_update is not implemented")},eT.prototype.digest=function(eb){if(this._finalized)throw Error("Digest already called");this._finalized=!0;var em=this._digest();void 0!==eb&&(em=em.toString(eb)),this._block.fill(0),this._blockOffset=0;for(var ew=0;ew<4;++ew)this._length[ew]=0;return em},eT.prototype._digest=function(){throw Error("_digest is not implemented")},eb.exports=eT},33715:function(eb,em,ew){var eM=em;eM.utils=ew(26436),eM.common=ew(95772),eM.sha=ew(89041),eM.ripemd=ew(12949),eM.hmac=ew(52344),eM.sha1=eM.sha.sha1,eM.sha256=eM.sha.sha256,eM.sha224=eM.sha.sha224,eM.sha384=eM.sha.sha384,eM.sha512=eM.sha.sha512,eM.ripemd160=eM.ripemd.ripemd160},95772:function(eb,em,ew){"use strict";var eM=ew(26436),eC=ew(79746);function eT(){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}em.BlockHash=eT,eT.prototype.update=function(eb,em){if(eb=eM.toArray(eb,em),this.pending?this.pending=this.pending.concat(eb):this.pending=eb,this.pendingTotal+=eb.length,this.pending.length>=this._delta8){var ew=(eb=this.pending).length%this._delta8;this.pending=eb.slice(eb.length-ew,eb.length),0===this.pending.length&&(this.pending=null),eb=eM.join32(eb,0,eb.length-ew,this.endian);for(var eC=0;eC>>24&255,eM[eC++]=eb>>>16&255,eM[eC++]=eb>>>8&255,eM[eC++]=255&eb}else for(eT=8,eM[eC++]=255&eb,eM[eC++]=eb>>>8&255,eM[eC++]=eb>>>16&255,eM[eC++]=eb>>>24&255,eM[eC++]=0,eM[eC++]=0,eM[eC++]=0,eM[eC++]=0;eTthis.blockSize&&(eb=new this.Hash().update(eb).digest()),eC(eb.length<=this.blockSize);for(var em=eb.length;em>>3}function eI(eb){return eM(eb,17)^eM(eb,19)^eb>>>10}em.ft_1=eC,em.ch32=eT,em.maj32=e_,em.p32=eE,em.s0_256=eS,em.s1_256=eA,em.g0_256=eN,em.g1_256=eI},26436:function(eb,em,ew){"use strict";var eM=ew(79746),eC=ew(35717);function eT(eb,em){return(64512&eb.charCodeAt(em))==55296&&!(em<0)&&!(em+1>=eb.length)&&(64512&eb.charCodeAt(em+1))==56320}function e_(eb,em){if(Array.isArray(eb))return eb.slice();if(!eb)return[];var ew=[];if("string"==typeof eb){if(em){if("hex"===em)for((eb=eb.replace(/[^a-z0-9]+/ig,"")).length%2!=0&&(eb="0"+eb),eC=0;eC>6|192,ew[eM++]=63&e_|128):eT(eb,eC)?(e_=65536+((1023&e_)<<10)+(1023&eb.charCodeAt(++eC)),ew[eM++]=e_>>18|240,ew[eM++]=e_>>12&63|128,ew[eM++]=e_>>6&63|128,ew[eM++]=63&e_|128):(ew[eM++]=e_>>12|224,ew[eM++]=e_>>6&63|128,ew[eM++]=63&e_|128)}}else for(eC=0;eC>>24|eb>>>8&65280|eb<<8&16711680|(255&eb)<<24)>>>0}function eA(eb,em){for(var ew="",eM=0;eM>>0;return eE}function eO(eb,em){for(var ew=Array(4*eb.length),eM=0,eC=0;eM>>24,ew[eC+1]=eT>>>16&255,ew[eC+2]=eT>>>8&255,ew[eC+3]=255&eT):(ew[eC+3]=eT>>>24,ew[eC+2]=eT>>>16&255,ew[eC+1]=eT>>>8&255,ew[eC]=255&eT)}return ew}function eP(eb,em){return eb>>>em|eb<<32-em}function eR(eb,em){return eb<>>32-em}function eB(eb,em){return eb+em>>>0}function eF(eb,em,ew){return eb+em+ew>>>0}function ej(eb,em,ew,eM){return eb+em+ew+eM>>>0}function eU(eb,em,ew,eM,eC){return eb+em+ew+eM+eC>>>0}function eV(eb,em,ew,eM){var eC=eb[em],eT=eM+eb[em+1]>>>0,e_=(eT>>0,eb[em+1]=eT}function eH(eb,em,ew,eM){return(em+eM>>>0>>0}function e$(eb,em,ew,eM){return em+eM>>>0}function eW(eb,em,ew,eM,eC,eT,e_,eE){var eS,eA=em;return eb+ew+eC+e_+(eS=0+((eA=eA+eM>>>0)>>0)>>0)>>0}function eZ(eb,em,ew,eM,eC,eT,e_,eE){return em+eM+eT+eE>>>0}function eK(eb,em,ew,eM,eC,eT,e_,eE,eS,eA){var eN,eI=em;return eb+ew+eC+e_+eS+(eN=0+((eI=eI+eM>>>0)>>0)>>0)>>0)>>0}function eG(eb,em,ew,eM,eC,eT,e_,eE,eS,eA){return em+eM+eT+eE+eA>>>0}function eY(eb,em,ew){return(em<<32-ew|eb>>>ew)>>>0}function eJ(eb,em,ew){return(eb<<32-ew|em>>>ew)>>>0}function eX(eb,em,ew){return eb>>>ew}function eQ(eb,em,ew){return(eb<<32-ew|em>>>ew)>>>0}em.inherits=eC,em.toArray=e_,em.toHex=eE,em.htonl=eS,em.toHex32=eA,em.zero2=eN,em.zero8=eI,em.join32=eD,em.split32=eO,em.rotr32=eP,em.rotl32=eR,em.sum32=eB,em.sum32_3=eF,em.sum32_4=ej,em.sum32_5=eU,em.sum64=eV,em.sum64_hi=eH,em.sum64_lo=e$,em.sum64_4_hi=eW,em.sum64_4_lo=eZ,em.sum64_5_hi=eK,em.sum64_5_lo=eG,em.rotr64_hi=eY,em.rotr64_lo=eJ,em.shr64_hi=eX,em.shr64_lo=eQ},48824:function(eb,em,ew){"use strict";var eM=Function.prototype.call,eC=Object.prototype.hasOwnProperty,eT=ew(58612);eb.exports=eT.call(eM,eC)},49840:function(eb,em,ew){var eM=ew(69282),eC=ew(89509).Buffer,eT=ew(42474),e_=ew(58334),eE=ew(17221),eS=eC.from("Bitcoin seed","utf8"),eA=2147483648,eN=78,eI={private:76066276,public:76067358};function eD(eb){this.versions=eb||eI,this.depth=0,this.index=0,this._privateKey=null,this._publicKey=null,this.chainCode=null,this._fingerprint=0,this.parentFingerprint=0}function eO(eb,em,ew){var eM=eC.allocUnsafe(eN);eM.writeUInt32BE(em,0),eM.writeUInt8(eb.depth,4);var eT=eb.depth?eb.parentFingerprint:0;return eM.writeUInt32BE(eT,5),eM.writeUInt32BE(eb.index,9),eb.chainCode.copy(eM,13),ew.copy(eM,45),eM}function eP(eb){var em=eT.createHash("sha256").update(eb).digest();return eT.createHash("ripemd160").update(em).digest()}Object.defineProperty(eD.prototype,"fingerprint",{get:function(){return this._fingerprint}}),Object.defineProperty(eD.prototype,"identifier",{get:function(){return this._identifier}}),Object.defineProperty(eD.prototype,"pubKeyHash",{get:function(){return this.identifier}}),Object.defineProperty(eD.prototype,"privateKey",{get:function(){return this._privateKey},set:function(eb){eM.equal(eb.length,32,"Private key must be 32 bytes."),eM(!0===eE.privateKeyVerify(eb),"Invalid private key"),this._privateKey=eb,this._publicKey=eC.from(eE.publicKeyCreate(eb,!0)),this._identifier=eP(this.publicKey),this._fingerprint=this._identifier.slice(0,4).readUInt32BE(0)}}),Object.defineProperty(eD.prototype,"publicKey",{get:function(){return this._publicKey},set:function(eb){eM(33===eb.length||65===eb.length,"Public key must be 33 or 65 bytes."),eM(!0===eE.publicKeyVerify(eb),"Invalid public key"),this._publicKey=eC.from(eE.publicKeyConvert(eb,!0)),this._identifier=eP(this.publicKey),this._fingerprint=this._identifier.slice(0,4).readUInt32BE(0),this._privateKey=null}}),Object.defineProperty(eD.prototype,"privateExtendedKey",{get:function(){return this._privateKey?e_.encode(eO(this,this.versions.private,eC.concat([eC.alloc(1,0),this.privateKey]))):null}}),Object.defineProperty(eD.prototype,"publicExtendedKey",{get:function(){return e_.encode(eO(this,this.versions.public,this.publicKey))}}),eD.prototype.derive=function(eb){if("m"===eb||"M"===eb||"m'"===eb||"M'"===eb)return this;var em=eb.split("/"),ew=this;return em.forEach(function(eb,em){if(0===em){eM(/^[mM]{1}/.test(eb),'Path must start with "m" or "M"');return}var eC=eb.length>1&&"'"===eb[eb.length-1],eT=parseInt(eb,10);eM(eT=eA,e_=eC.allocUnsafe(4);if(e_.writeUInt32BE(eb,0),ew){eM(this.privateKey,"Could not derive hardened child key");var eS=this.privateKey,eN=eC.alloc(1,0);eS=eC.concat([eN,eS]),em=eC.concat([eS,e_])}else em=eC.concat([this.publicKey,e_]);var eI=eT.createHmac("sha512",this.chainCode).update(em).digest(),eO=eI.slice(0,32),eP=eI.slice(32),eR=new eD(this.versions);if(this.privateKey)try{eR.privateKey=eC.from(eE.privateKeyTweakAdd(eC.from(this.privateKey),eO))}catch(em){return this.deriveChild(eb+1)}else try{eR.publicKey=eC.from(eE.publicKeyTweakAdd(eC.from(this.publicKey),eO,!0))}catch(em){return this.deriveChild(eb+1)}return eR.chainCode=eP,eR.depth=this.depth+1,eR.parentFingerprint=this.fingerprint,eR.index=eb,eR},eD.prototype.sign=function(eb){return eC.from(eE.ecdsaSign(eb,this.privateKey).signature)},eD.prototype.verify=function(eb,em){return eE.ecdsaVerify(Uint8Array.from(em),Uint8Array.from(eb),Uint8Array.from(this.publicKey))},eD.prototype.wipePrivateData=function(){return this._privateKey&&eT.randomBytes(this._privateKey.length).copy(this._privateKey),this._privateKey=null,this},eD.prototype.toJSON=function(){return{xpriv:this.privateExtendedKey,xpub:this.publicExtendedKey}},eD.fromMasterSeed=function(eb,em){var ew=eT.createHmac("sha512",eS).update(eb).digest(),eM=ew.slice(0,32),eC=ew.slice(32),e_=new eD(em);return e_.chainCode=eC,e_.privateKey=eM,e_},eD.fromExtendedKey=function(eb,em){em=em||eI;var ew=new eD(em),eC=e_.decode(eb),eT=eC.readUInt32BE(0);eM(eT===em.private||eT===em.public,"Version mismatch: does not match private or public"),ew.depth=eC.readUInt8(4),ew.parentFingerprint=eC.readUInt32BE(5),ew.index=eC.readUInt32BE(9),ew.chainCode=eC.slice(13,45);var eE=eC.slice(45);return 0===eE.readUInt8(0)?(eM(eT===em.private,"Version mismatch: version does not match private"),ew.privateKey=eE.slice(1)):(eM(eT===em.public,"Version mismatch: version does not match public"),ew.publicKey=eE),ew},eD.fromJSON=function(eb){return eD.fromExtendedKey(eb.xpriv)},eD.HARDENED_OFFSET=eA,eb.exports=eD},2156:function(eb,em,ew){"use strict";var eM=ew(33715),eC=ew(34504),eT=ew(79746);function e_(eb){if(!(this instanceof e_))return new e_(eb);this.hash=eb.hash,this.predResist=!!eb.predResist,this.outLen=this.hash.outSize,this.minEntropy=eb.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var em=eC.toArray(eb.entropy,eb.entropyEnc||"hex"),ew=eC.toArray(eb.nonce,eb.nonceEnc||"hex"),eM=eC.toArray(eb.pers,eb.persEnc||"hex");eT(em.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(em,ew,eM)}eb.exports=e_,e_.prototype._init=function(eb,em,ew){var eM=eb.concat(em).concat(ew);this.K=Array(this.outLen/8),this.V=Array(this.outLen/8);for(var eC=0;eC=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(eb.concat(ew||[])),this._reseed=1},e_.prototype.generate=function(eb,em,ew,eM){if(this._reseed>this.reseedInterval)throw Error("Reseed is required");"string"!=typeof em&&(eM=ew,ew=em,em=null),ew&&(ew=eC.toArray(ew,eM||"hex"),this._update(ew));for(var eT=[];eT.length */em.read=function(eb,em,eH,eV,ew){var eM,eC,eT=8*ew-eV-1,e_=(1<>1,eE=-7,eA=eH?ew-1:0,eN=eH?-1:1,eI=eb[em+eA];for(eA+=eN,eM=eI&(1<<-eE)-1,eI>>=-eE,eE+=eT;eE>0;eM=256*eM+eb[em+eA],eA+=eN,eE-=8);for(eC=eM&(1<<-eE)-1,eM>>=-eE,eE+=eV;eE>0;eC=256*eC+eb[em+eA],eA+=eN,eE-=8);if(0===eM)eM=1-eS;else{if(eM===e_)return eC?NaN:(eI?-1:1)*(1/0);eC+=Math.pow(2,eV),eM-=eS}return(eI?-1:1)*eC*Math.pow(2,eM-eV)},em.write=function(eb,em,eH,eV,ew,eM){var eC,eT,e_,eS=8*eM-ew-1,eE=(1<>1,eN=23===ew?5960464477539062e-23:0,eI=eV?0:eM-1,eD=eV?1:-1,eP=em<0||0===em&&1/em<0?1:0;for(isNaN(em=Math.abs(em))||em===1/0?(eT=isNaN(em)?1:0,eC=eE):(eC=Math.floor(Math.log(em)/Math.LN2),em*(e_=Math.pow(2,-eC))<1&&(eC--,e_*=2),eC+eA>=1?em+=eN/e_:em+=eN*Math.pow(2,1-eA),em*e_>=2&&(eC++,e_/=2),eC+eA>=eE?(eT=0,eC=eE):eC+eA>=1?(eT=(em*e_-1)*Math.pow(2,ew),eC+=eA):(eT=em*Math.pow(2,eA-1)*Math.pow(2,ew),eC=0));ew>=8;eb[eH+eI]=255&eT,eI+=eD,eT/=256,ew-=8);for(eC=eC<0;eb[eH+eI]=255&eC,eI+=eD,eC/=256,eS-=8);eb[eH+eI-eD]|=128*eP}},35717:function(eb){"function"==typeof Object.create?eb.exports=function(eb,em){em&&(eb.super_=em,eb.prototype=Object.create(em.prototype,{constructor:{value:eb,enumerable:!1,writable:!0,configurable:!0}}))}:eb.exports=function(eb,em){if(em){eb.super_=em;var eH=function(){};eH.prototype=em.prototype,eb.prototype=new eH,eb.prototype.constructor=eb}}},82584:function(eb,em,eH){"use strict";var eV=eH(96410)(),ew=eH(21924)("Object.prototype.toString"),eM=function(eb){return(!eV||!eb||"object"!=typeof eb||!(Symbol.toStringTag in eb))&&"[object Arguments]"===ew(eb)},eC=function(eb){return!!eM(eb)||null!==eb&&"object"==typeof eb&&"number"==typeof eb.length&&eb.length>=0&&"[object Array]"!==ew(eb)&&"[object Function]"===ew(eb.callee)},eT=function(){return eM(arguments)}();eM.isLegacyArguments=eC,eb.exports=eT?eM:eC},95320:function(eb){"use strict";var em,eH,eV=Function.prototype.toString,ew="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof ew&&"function"==typeof Object.defineProperty)try{em=Object.defineProperty({},"length",{get:function(){throw eH}}),eH={},ew(function(){throw 42},null,em)}catch(eb){eb!==eH&&(ew=null)}else ew=null;var eM=/^\s*class\b/,eC=function(eb){try{var em=eV.call(eb);return eM.test(em)}catch(eb){return!1}},eT=function(eb){try{if(eC(eb))return!1;return eV.call(eb),!0}catch(eb){return!1}},e_=Object.prototype.toString,eS="[object Object]",eE="[object Function]",eA="[object GeneratorFunction]",eN="[object HTMLAllCollection]",eI="[object HTML document.all class]",eD="[object HTMLCollection]",eP="function"==typeof Symbol&&!!Symbol.toStringTag,eO=!(0 in[,]),eR=function(){return!1};if("object"==typeof document){var eB=document.all;e_.call(eB)===e_.call(document.all)&&(eR=function(eb){if((eO||!eb)&&(void 0===eb||"object"==typeof eb))try{var em=e_.call(eb);return(em===eN||em===eI||em===eD||em===eS)&&null==eb("")}catch(eb){}return!1})}eb.exports=ew?function(eb){if(eR(eb))return!0;if(!eb||"function"!=typeof eb&&"object"!=typeof eb)return!1;try{ew(eb,null,em)}catch(eb){if(eb!==eH)return!1}return!eC(eb)&&eT(eb)}:function(eb){if(eR(eb))return!0;if(!eb||"function"!=typeof eb&&"object"!=typeof eb)return!1;if(eP)return eT(eb);if(eC(eb))return!1;var em=e_.call(eb);return!!(em===eE||em===eA||/^\[object HTML/.test(em))&&eT(eb)}},48662:function(eb,em,eH){"use strict";var eV,ew=Object.prototype.toString,eM=Function.prototype.toString,eC=/^\s*(?:function)?\*/,eT=eH(96410)(),e_=Object.getPrototypeOf,eS=function(){if(!eT)return!1;try{return Function("return function*() {}")()}catch(eb){}};eb.exports=function(eb){if("function"!=typeof eb)return!1;if(eC.test(eM.call(eb)))return!0;if(!eT)return"[object GeneratorFunction]"===ew.call(eb);if(!e_)return!1;if(void 0===eV){var em=eS();eV=!!em&&e_(em)}return e_(eb)===eV}},98611:function(eb){"use strict";eb.exports=function(eb){return eb!=eb}},20360:function(eb,em,eH){"use strict";var eV=eH(55559),ew=eH(4289),eM=eH(98611),eC=eH(29415),eT=eH(23194),e_=eV(eC(),Number);ew(e_,{getPolyfill:eC,implementation:eM,shim:eT}),eb.exports=e_},29415:function(eb,em,eH){"use strict";var eV=eH(98611);eb.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:eV}},23194:function(eb,em,eH){"use strict";var eV=eH(4289),ew=eH(29415);eb.exports=function(){var eb=ew();return eV(Number,{isNaN:eb},{isNaN:function(){return Number.isNaN!==eb}}),eb}},85692:function(eb,em,eH){"use strict";var eV=eH(94029),ew=eH(63083),eM=eH(21924),eC=eM("Object.prototype.toString"),eT=eH(96410)(),e_=eH(27296),eS="undefined"==typeof globalThis?eH.g:globalThis,eE=ew(),eA=eM("Array.prototype.indexOf",!0)||function(eb,em){for(var eH=0;eH-1)}},31198:function(eb,em,eH){"use strict";let eV=eH(64667).v4,ew=eH(17741),eM=function(eb,em){if(!(this instanceof eM))return new eM(eb,em);em||(em={}),this.options={reviver:void 0!==em.reviver?em.reviver:null,replacer:void 0!==em.replacer?em.replacer:null,generator:void 0!==em.generator?em.generator:function(){return eV()},version:void 0!==em.version?em.version:2,notificationIdNull:"boolean"==typeof em.notificationIdNull&&em.notificationIdNull},this.callServer=eb};eb.exports=eM,eM.prototype.request=function(eb,em,eH,eV){let eM;let eC=this,eT=null,e_=Array.isArray(eb)&&"function"==typeof em;if(1===this.options.version&&e_)throw TypeError("JSON-RPC 1.0 does not support batching");let eS=!e_&&eb&&"object"==typeof eb&&"function"==typeof em;if(e_||eS)eV=em,eT=eb;else{"function"==typeof eH&&(eV=eH,eH=void 0);let eM="function"==typeof eV;try{eT=ew(eb,em,eH,{generator:this.options.generator,version:this.options.version,notificationIdNull:this.options.notificationIdNull})}catch(eb){if(eM)return eV(eb);throw eb}if(!eM)return eT}try{eM=JSON.stringify(eT,this.options.replacer)}catch(eb){return eV(eb)}return this.callServer(eM,function(eb,em){eC._parseResponse(eb,em,eV)}),eT},eM.prototype._parseResponse=function(eb,em,eH){let eV;if(eb){eH(eb);return}if(!em)return eH();try{eV=JSON.parse(em,this.options.reviver)}catch(eb){return eH(eb)}if(3===eH.length){if(!Array.isArray(eV))return eH(null,eV.error,eV.result);{let eb=function(eb){return void 0!==eb.error},em=function(em){return!eb(em)};return eH(null,eV.filter(eb),eV.filter(em))}}eH(null,eV)}},17741:function(eb,em,eH){"use strict";let eV=eH(64667).v4,ew=function(eb,em,eH,ew){if("string"!=typeof eb)throw TypeError(eb+" must be a string");ew=ew||{};let eM="number"==typeof ew.version?ew.version:2;if(1!==eM&&2!==eM)throw TypeError(eM+" must be 1 or 2");let eC={method:eb};if(2===eM&&(eC.jsonrpc="2.0"),em){if("object"!=typeof em&&!Array.isArray(em))throw TypeError(em+" must be an object, array or omitted");eC.params=em}if(void 0===eH){let eb="function"==typeof ew.generator?ew.generator:function(){return eV()};eC.id=eb(eC,ew)}else 2===eM&&null===eH?ew.notificationIdNull&&(eC.id=null):eC.id=eH;return eC};eb.exports=ew},64667:function(eb,em,eH){"use strict";eH.d(em,{v4:function(){return eA}});var eV,ew=new Uint8Array(16);function eM(){if(!eV&&!(eV="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return eV(ew)}for(var eC=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,eT=function(eb){return"string"==typeof eb&&eC.test(eb)},e_=[],eS=0;eS<256;++eS)e_.push((eS+256).toString(16).substr(1));var eE=function(eb){var em=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,eH=(e_[eb[em+0]]+e_[eb[em+1]]+e_[eb[em+2]]+e_[eb[em+3]]+"-"+e_[eb[em+4]]+e_[eb[em+5]]+"-"+e_[eb[em+6]]+e_[eb[em+7]]+"-"+e_[eb[em+8]]+e_[eb[em+9]]+"-"+e_[eb[em+10]]+e_[eb[em+11]]+e_[eb[em+12]]+e_[eb[em+13]]+e_[eb[em+14]]+e_[eb[em+15]]).toLowerCase();if(!eT(eH))throw TypeError("Stringified UUID is invalid");return eH},eA=function(eb,em,eH){var eV=(eb=eb||{}).random||(eb.rng||eM)();if(eV[6]=15&eV[6]|64,eV[8]=63&eV[8]|128,em){eH=eH||0;for(var ew=0;ew<16;++ew)em[eH+ew]=eV[ew];return em}return eE(eV)}},91094:function(eb,em,eH){var eV,ew=eH(34155);!function(){"use strict";var eM="input is invalid type",eC="finalize already called",eT="object"==typeof window,e_=eT?window:{};e_.JS_SHA3_NO_WINDOW&&(eT=!1);var eS=!eT&&"object"==typeof self;!e_.JS_SHA3_NO_NODE_JS&&"object"==typeof ew&&ew.versions&&ew.versions.node?e_=eH.g:eS&&(e_=self);var eE=!e_.JS_SHA3_NO_COMMON_JS&&eb.exports,eA=eH.amdO,eN=!e_.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,eI="0123456789abcdef".split(""),eD=[31,7936,2031616,520093696],eP=[4,1024,262144,67108864],eO=[1,256,65536,16777216],eR=[6,1536,393216,100663296],eB=[0,8,16,24],eF=[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],ej=[224,256,384,512],eU=[128,256],e$=["hex","buffer","arrayBuffer","array","digest"],eW={128:168,256:136};(e_.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(eb){return"[object Array]"===Object.prototype.toString.call(eb)}),eN&&(e_.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(eb){return"object"==typeof eb&&eb.buffer&&eb.buffer.constructor===ArrayBuffer});for(var eZ=function(eb,em,eH){return function(eV){return new tH(eb,em,eb).update(eV)[eH]()}},eG=function(eb,em,eH){return function(eV,ew){return new tH(eb,em,ew).update(eV)[eH]()}},eK=function(eb,em,eH){return function(em,eV,ew,eM){return e0["cshake"+eb].update(em,eV,ew,eM)[eH]()}},eY=function(eb,em,eH){return function(em,eV,ew,eM){return e0["kmac"+eb].update(em,eV,ew,eM)[eH]()}},eX=function(eb,em,eH,eV){for(var ew=0;ew>5,this.byteCount=this.blockCount<<2,this.outputBlocks=eH>>5,this.extraBytes=(31&eH)>>3;for(var eV=0;eV<50;++eV)this.s[eV]=0}function tV(eb,em,eH){tH.call(this,eb,em,eH)}tH.prototype.update=function(eb){if(this.finalized)throw Error(eC);var em,eH=typeof eb;if("string"!==eH){if("object"===eH){if(null===eb)throw Error(eM);if(eN&&eb.constructor===ArrayBuffer)eb=new Uint8Array(eb);else if(!Array.isArray(eb)&&(!eN||!ArrayBuffer.isView(eb)))throw Error(eM)}else throw Error(eM);em=!0}for(var eV,ew,eT=this.blocks,e_=this.byteCount,eS=eb.length,eE=this.blockCount,eA=0,eI=this.s;eA>2]|=eb[eA]<>2]|=ew<>2]|=(192|ew>>6)<>2]|=(128|63&ew)<=57344?(eT[eV>>2]|=(224|ew>>12)<>2]|=(128|ew>>6&63)<>2]|=(128|63&ew)<>2]|=(240|ew>>18)<>2]|=(128|ew>>12&63)<>2]|=(128|ew>>6&63)<>2]|=(128|63&ew)<=e_){for(this.start=eV-e_,this.block=eT[eE],eV=0;eV>=8,eH=255&eb;eH>0;)ew.unshift(eH),eb>>=8,eH=255&eb,++eV;return em?ew.push(eV):ew.unshift(eV),this.update(ew),ew.length},tH.prototype.encodeString=function(eb){var em,eH=typeof eb;if("string"!==eH){if("object"===eH){if(null===eb)throw Error(eM);if(eN&&eb.constructor===ArrayBuffer)eb=new Uint8Array(eb);else if(!Array.isArray(eb)&&(!eN||!ArrayBuffer.isView(eb)))throw Error(eM)}else throw Error(eM);em=!0}var eV=0,ew=eb.length;if(em)eV=ew;else for(var eC=0;eC=57344?eV+=3:(eT=65536+((1023&eT)<<10|1023&eb.charCodeAt(++eC)),eV+=4)}return eV+=this.encode(8*eV),this.update(eb),eV},tH.prototype.bytepad=function(eb,em){for(var eH=this.encode(em),eV=0;eV>2]|=this.padding[3&em],this.lastByteIndex===this.byteCount)for(em=1,eb[0]=eb[eH];em>4&15]+eI[15&eb]+eI[eb>>12&15]+eI[eb>>8&15]+eI[eb>>20&15]+eI[eb>>16&15]+eI[eb>>28&15]+eI[eb>>24&15];eC%em==0&&(tw(eH),eM=0)}return ew&&(eT+=eI[(eb=eH[eM])>>4&15]+eI[15&eb],ew>1&&(eT+=eI[eb>>12&15]+eI[eb>>8&15]),ew>2&&(eT+=eI[eb>>20&15]+eI[eb>>16&15])),eT},tH.prototype.arrayBuffer=function(){this.finalize();var eb,em=this.blockCount,eH=this.s,eV=this.outputBlocks,ew=this.extraBytes,eM=0,eC=0,eT=this.outputBits>>3;eb=new ArrayBuffer(ew?eV+1<<2:eT);for(var e_=new Uint32Array(eb);eC>8&255,e_[eb+2]=em>>16&255,e_[eb+3]=em>>24&255;eT%eH==0&&tw(eV)}return eM&&(eb=eT<<2,em=eV[eC],e_[eb]=255&em,eM>1&&(e_[eb+1]=em>>8&255),eM>2&&(e_[eb+2]=em>>16&255)),e_},tV.prototype=new tH,tV.prototype.finalize=function(){return this.encode(this.outputBits,!0),tH.prototype.finalize.call(this)};var tw=function(eb){var em,eH,eV,ew,eM,eC,eT,e_,eS,eE,eA,eN,eI,eD,eP,eO,eR,eB,ej,eU,e$,eW,eZ,eG,eK,eY,eX,eJ,eQ,e0,e6,e4,e3,e5,e8,e9,e7,tH,tV,tw,tC,tT,t_,tS,tE,tA,tN,tI,tD,tP,tO,tR,tB,tF,tj,tU,tq,t$,tW,tZ,tG,tK,tY;for(eV=0;eV<48;eV+=2)ew=eb[0]^eb[10]^eb[20]^eb[30]^eb[40],eM=eb[1]^eb[11]^eb[21]^eb[31]^eb[41],eC=eb[2]^eb[12]^eb[22]^eb[32]^eb[42],eT=eb[3]^eb[13]^eb[23]^eb[33]^eb[43],e_=eb[4]^eb[14]^eb[24]^eb[34]^eb[44],eS=eb[5]^eb[15]^eb[25]^eb[35]^eb[45],eE=eb[6]^eb[16]^eb[26]^eb[36]^eb[46],eA=eb[7]^eb[17]^eb[27]^eb[37]^eb[47],eN=eb[8]^eb[18]^eb[28]^eb[38]^eb[48],eI=eb[9]^eb[19]^eb[29]^eb[39]^eb[49],em=eN^(eC<<1|eT>>>31),eH=eI^(eT<<1|eC>>>31),eb[0]^=em,eb[1]^=eH,eb[10]^=em,eb[11]^=eH,eb[20]^=em,eb[21]^=eH,eb[30]^=em,eb[31]^=eH,eb[40]^=em,eb[41]^=eH,em=ew^(e_<<1|eS>>>31),eH=eM^(eS<<1|e_>>>31),eb[2]^=em,eb[3]^=eH,eb[12]^=em,eb[13]^=eH,eb[22]^=em,eb[23]^=eH,eb[32]^=em,eb[33]^=eH,eb[42]^=em,eb[43]^=eH,em=eC^(eE<<1|eA>>>31),eH=eT^(eA<<1|eE>>>31),eb[4]^=em,eb[5]^=eH,eb[14]^=em,eb[15]^=eH,eb[24]^=em,eb[25]^=eH,eb[34]^=em,eb[35]^=eH,eb[44]^=em,eb[45]^=eH,em=e_^(eN<<1|eI>>>31),eH=eS^(eI<<1|eN>>>31),eb[6]^=em,eb[7]^=eH,eb[16]^=em,eb[17]^=eH,eb[26]^=em,eb[27]^=eH,eb[36]^=em,eb[37]^=eH,eb[46]^=em,eb[47]^=eH,em=eE^(ew<<1|eM>>>31),eH=eA^(eM<<1|ew>>>31),eb[8]^=em,eb[9]^=eH,eb[18]^=em,eb[19]^=eH,eb[28]^=em,eb[29]^=eH,eb[38]^=em,eb[39]^=eH,eb[48]^=em,eb[49]^=eH,eD=eb[0],eP=eb[1],tA=eb[11]<<4|eb[10]>>>28,tN=eb[10]<<4|eb[11]>>>28,eJ=eb[20]<<3|eb[21]>>>29,eQ=eb[21]<<3|eb[20]>>>29,tZ=eb[31]<<9|eb[30]>>>23,tG=eb[30]<<9|eb[31]>>>23,tT=eb[40]<<18|eb[41]>>>14,t_=eb[41]<<18|eb[40]>>>14,e5=eb[2]<<1|eb[3]>>>31,e8=eb[3]<<1|eb[2]>>>31,eO=eb[13]<<12|eb[12]>>>20,eR=eb[12]<<12|eb[13]>>>20,tI=eb[22]<<10|eb[23]>>>22,tD=eb[23]<<10|eb[22]>>>22,e0=eb[33]<<13|eb[32]>>>19,e6=eb[32]<<13|eb[33]>>>19,tK=eb[42]<<2|eb[43]>>>30,tY=eb[43]<<2|eb[42]>>>30,tF=eb[5]<<30|eb[4]>>>2,tj=eb[4]<<30|eb[5]>>>2,e9=eb[14]<<6|eb[15]>>>26,e7=eb[15]<<6|eb[14]>>>26,eB=eb[25]<<11|eb[24]>>>21,ej=eb[24]<<11|eb[25]>>>21,tP=eb[34]<<15|eb[35]>>>17,tO=eb[35]<<15|eb[34]>>>17,e4=eb[45]<<29|eb[44]>>>3,e3=eb[44]<<29|eb[45]>>>3,eG=eb[6]<<28|eb[7]>>>4,eK=eb[7]<<28|eb[6]>>>4,tU=eb[17]<<23|eb[16]>>>9,tq=eb[16]<<23|eb[17]>>>9,tH=eb[26]<<25|eb[27]>>>7,tV=eb[27]<<25|eb[26]>>>7,eU=eb[36]<<21|eb[37]>>>11,e$=eb[37]<<21|eb[36]>>>11,tR=eb[47]<<24|eb[46]>>>8,tB=eb[46]<<24|eb[47]>>>8,tS=eb[8]<<27|eb[9]>>>5,tE=eb[9]<<27|eb[8]>>>5,eY=eb[18]<<20|eb[19]>>>12,eX=eb[19]<<20|eb[18]>>>12,t$=eb[29]<<7|eb[28]>>>25,tW=eb[28]<<7|eb[29]>>>25,tw=eb[38]<<8|eb[39]>>>24,tC=eb[39]<<8|eb[38]>>>24,eW=eb[48]<<14|eb[49]>>>18,eZ=eb[49]<<14|eb[48]>>>18,eb[0]=eD^~eO&eB,eb[1]=eP^~eR&ej,eb[10]=eG^~eY&eJ,eb[11]=eK^~eX&eQ,eb[20]=e5^~e9&tH,eb[21]=e8^~e7&tV,eb[30]=tS^~tA&tI,eb[31]=tE^~tN&tD,eb[40]=tF^~tU&t$,eb[41]=tj^~tq&tW,eb[2]=eO^~eB&eU,eb[3]=eR^~ej&e$,eb[12]=eY^~eJ&e0,eb[13]=eX^~eQ&e6,eb[22]=e9^~tH&tw,eb[23]=e7^~tV&tC,eb[32]=tA^~tI&tP,eb[33]=tN^~tD&tO,eb[42]=tU^~t$&tZ,eb[43]=tq^~tW&tG,eb[4]=eB^~eU&eW,eb[5]=ej^~e$&eZ,eb[14]=eJ^~e0&e4,eb[15]=eQ^~e6&e3,eb[24]=tH^~tw&tT,eb[25]=tV^~tC&t_,eb[34]=tI^~tP&tR,eb[35]=tD^~tO&tB,eb[44]=t$^~tZ&tK,eb[45]=tW^~tG&tY,eb[6]=eU^~eW&eD,eb[7]=e$^~eZ&eP,eb[16]=e0^~e4&eG,eb[17]=e6^~e3&eK,eb[26]=tw^~tT&e5,eb[27]=tC^~t_&e8,eb[36]=tP^~tR&tS,eb[37]=tO^~tB&tE,eb[46]=tZ^~tK&tF,eb[47]=tG^~tY&tj,eb[8]=eW^~eD&eO,eb[9]=eZ^~eP&eR,eb[18]=e4^~eG&eY,eb[19]=e3^~eK&eX,eb[28]=tT^~e5&e9,eb[29]=t_^~e8&e7,eb[38]=tR^~tS&tA,eb[39]=tB^~tE&tN,eb[48]=tK^~tF&tU,eb[49]=tY^~tj&tq,eb[0]^=eF[eV],eb[1]^=eF[eV+1]};if(eE)eb.exports=e0;else{for(e4=0;e4{try{let[ew,eM,eT]=await eC._runAllMiddleware(eb,em,this._middleware);if(eM)return await eC._runReturnHandlers(eT),eV(ew);return eH(async eb=>{try{await eC._runReturnHandlers(eT)}catch(em){return eb(em)}return eb()})}catch(eb){return eV(eb)}}}async _handleBatch(eb,em){try{let eH=await Promise.all(eb.map(this._promiseHandle.bind(this)));if(em)return em(null,eH);return eH}catch(eb){if(em)return em(eb);throw eb}}_promiseHandle(eb){return new Promise(em=>{this._handle(eb,(eb,eH)=>{em(eH)})})}async _handle(eb,em){if(!eb||Array.isArray(eb)||"object"!=typeof eb){let eH=new eM.EthereumRpcError(eM.errorCodes.rpc.invalidRequest,`Requests must be plain objects. Received: ${typeof eb}`,{request:eb});return em(eH,{id:void 0,jsonrpc:"2.0",error:eH})}if("string"!=typeof eb.method){let eH=new eM.EthereumRpcError(eM.errorCodes.rpc.invalidRequest,`Must specify a string method. Received: ${typeof eb.method}`,{request:eb});return em(eH,{id:eb.id,jsonrpc:"2.0",error:eH})}let eH=Object.assign({},eb),eV={id:eH.id,jsonrpc:eH.jsonrpc},ew=null;try{await this._processRequest(eH,eV)}catch(eb){ew=eb}return ew&&(delete eV.result,eV.error||(eV.error=eM.serializeError(ew))),em(ew,eV)}async _processRequest(eb,em){let[eH,eV,ew]=await eC._runAllMiddleware(eb,em,this._middleware);if(eC._checkForCompletion(eb,em,eV),await eC._runReturnHandlers(ew),eH)throw eH}static async _runAllMiddleware(eb,em,eH){let eV=[],ew=null,eM=!1;for(let eT of eH)if([ew,eM]=await eC._runMiddleware(eb,em,eT,eV),eM)break;return[ew,eM,eV.reverse()]}static _runMiddleware(eb,em,eH,eV){return new Promise(ew=>{let eC=eb=>{let eH=eb||em.error;eH&&(em.error=eM.serializeError(eH)),ew([eH,!0])},e_=eH=>{em.error?eC(em.error):(eH&&("function"!=typeof eH&&eC(new eM.EthereumRpcError(eM.errorCodes.rpc.internal,`JsonRpcEngine: "next" return handlers must be functions. Received "${typeof eH}" for request: -${eT(eb)}`,{request:eb})),eV.push(eH)),ew([null,!1]))};try{eH(eb,em,e_,eC)}catch(eb){eC(eb)}})}static async _runReturnHandlers(eb){for(let em of eb)await new Promise((eb,eH)=>{em(em=>em?eH(em):eb())})}static _checkForCompletion(eb,em,eH){if(!("result"in em)&&!("error"in em))throw new eM.EthereumRpcError(eM.errorCodes.rpc.internal,`JsonRpcEngine: Response has no error or result for request: -${eT(eb)}`,{request:eb});if(!eH)throw new eM.EthereumRpcError(eM.errorCodes.rpc.internal,`JsonRpcEngine: Nothing ended request: -${eT(eb)}`,{request:eb})}}function eT(eb){return JSON.stringify(eb,null,2)}em.JsonRpcEngine=eC},31841:function(eb,em){"use strict";function eH(eb){return async(em,eH,eV,ew)=>{let eM;let eC=new Promise(eb=>{eM=eb}),eT=null,e_=!1,eS=async()=>{e_=!0,eV(eb=>{eT=eb,eM()}),await eC};try{await eb(em,eH,eS),e_?(await eC,eT(null)):ew(null)}catch(eb){eT?eT(eb):ew(eb)}}}Object.defineProperty(em,"__esModule",{value:!0}),em.createAsyncMiddleware=void 0,em.createAsyncMiddleware=eH},48508:function(eb,em){"use strict";function eH(eb){return(em,eH,eV,ew)=>{let eM=eb[em.method];return void 0===eM?eV():"function"==typeof eM?eM(em,eH,eV,ew):(eH.result=eM,ew())}}Object.defineProperty(em,"__esModule",{value:!0}),em.createScaffoldMiddleware=void 0,em.createScaffoldMiddleware=eH},33107:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.getUniqueId=void 0;let eH=4294967295,eV=Math.floor(Math.random()*eH);function ew(){return eV=(eV+1)%eH}em.getUniqueId=ew},85086:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.createIdRemapMiddleware=void 0;let eV=eH(33107);function ew(){return(eb,em,eH,ew)=>{let eM=eb.id,eC=eV.getUniqueId();eb.id=eC,em.id=eC,eH(eH=>{eb.id=eM,em.id=eM,eH()})}}em.createIdRemapMiddleware=ew},88625:function(eb,em,eH){"use strict";var eV=this&&this.__createBinding||(Object.create?function(eb,em,eH,eV){void 0===eV&&(eV=eH),Object.defineProperty(eb,eV,{enumerable:!0,get:function(){return em[eH]}})}:function(eb,em,eH,eV){void 0===eV&&(eV=eH),eb[eV]=em[eH]}),ew=this&&this.__exportStar||function(eb,em){for(var eH in eb)"default"===eH||Object.prototype.hasOwnProperty.call(em,eH)||eV(em,eb,eH)};Object.defineProperty(em,"__esModule",{value:!0}),ew(eH(85086),em),ew(eH(31841),em),ew(eH(48508),em),ew(eH(33107),em),ew(eH(17398),em),ew(eH(79962),em)},79962:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.mergeMiddleware=void 0;let eV=eH(17398);function ew(eb){let em=new eV.JsonRpcEngine;return eb.forEach(eb=>em.push(eb)),em.asMiddleware()}em.mergeMiddleware=ew},60759:function(eb,em,eH){"use strict";Object.defineProperty(em,"__esModule",{value:!0});let eV=eH(17187);function ew(eb,em,eH){try{Reflect.apply(eb,em,eH)}catch(eb){setTimeout(()=>{throw eb})}}function eM(eb){let em=eb.length,eH=Array(em);for(let eV=0;eV0&&([eb]=em),eb instanceof Error)throw eb;let eH=Error(`Unhandled error.${eb?` (${eb.message})`:""}`);throw eH.context=eb,eH}let eC=eV[eb];if(void 0===eC)return!1;if("function"==typeof eC)ew(eC,this,em);else{let eb=eC.length,eH=eM(eC);for(let eV=0;eVclass em extends ew{constructor(em,eH,eV,ew,eM){super(eM),this._rate=em,this._capacity=eH,this._delimitedSuffix=eV,this._hashBitLength=ew,this._options=eM,this._state=new eb,this._state.initialize(em,eH),this._finalized=!1}_transform(eb,em,eH){let eV=null;try{this.update(eb,em)}catch(eb){eV=eb}eH(eV)}_flush(eb){let em=null;try{this.push(this.digest())}catch(eb){em=eb}eb(em)}update(eb,em){if(!eV.isBuffer(eb)&&"string"!=typeof eb)throw TypeError("Data must be a string or a buffer");if(this._finalized)throw Error("Digest already called");return eV.isBuffer(eb)||(eb=eV.from(eb,em)),this._state.absorb(eb),this}digest(eb){if(this._finalized)throw Error("Digest already called");this._finalized=!0,this._delimitedSuffix&&this._state.absorbLastFewBits(this._delimitedSuffix);let em=this._state.squeeze(this._hashBitLength/8);return void 0!==eb&&(em=em.toString(eb)),this._resetState(),em}_resetState(){return this._state.initialize(this._rate,this._capacity),this}_clone(){let eb=new em(this._rate,this._capacity,this._delimitedSuffix,this._hashBitLength,this._options);return this._state.copy(eb._state),eb._finalized=this._finalized,eb}}},5675:function(eb,em,eH){var eV=eH(48764).Buffer;let{Transform:ew}=eH(88473);eb.exports=eb=>class em extends ew{constructor(em,eH,eV,ew){super(ew),this._rate=em,this._capacity=eH,this._delimitedSuffix=eV,this._options=ew,this._state=new eb,this._state.initialize(em,eH),this._finalized=!1}_transform(eb,em,eH){let eV=null;try{this.update(eb,em)}catch(eb){eV=eb}eH(eV)}_flush(){}_read(eb){this.push(this.squeeze(eb))}update(eb,em){if(!eV.isBuffer(eb)&&"string"!=typeof eb)throw TypeError("Data must be a string or a buffer");if(this._finalized)throw Error("Squeeze already called");return eV.isBuffer(eb)||(eb=eV.from(eb,em)),this._state.absorb(eb),this}squeeze(eb,em){this._finalized||(this._finalized=!0,this._state.absorbLastFewBits(this._delimitedSuffix));let eH=this._state.squeeze(eb);return void 0!==em&&(eH=eH.toString(em)),eH}_resetState(){return this._state.initialize(this._rate,this._capacity),this}_clone(){let eb=new em(this._rate,this._capacity,this._delimitedSuffix,this._options);return this._state.copy(eb._state),eb._finalized=this._finalized,eb}}},34040:function(eb,em){let eH=[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];em.p1600=function(eb){for(let em=0;em<24;++em){let eV=eb[0]^eb[10]^eb[20]^eb[30]^eb[40],ew=eb[1]^eb[11]^eb[21]^eb[31]^eb[41],eM=eb[2]^eb[12]^eb[22]^eb[32]^eb[42],eC=eb[3]^eb[13]^eb[23]^eb[33]^eb[43],eT=eb[4]^eb[14]^eb[24]^eb[34]^eb[44],e_=eb[5]^eb[15]^eb[25]^eb[35]^eb[45],eS=eb[6]^eb[16]^eb[26]^eb[36]^eb[46],eE=eb[7]^eb[17]^eb[27]^eb[37]^eb[47],eA=eb[8]^eb[18]^eb[28]^eb[38]^eb[48],eN=eb[9]^eb[19]^eb[29]^eb[39]^eb[49],eI=eA^(eM<<1|eC>>>31),eD=eN^(eC<<1|eM>>>31),eP=eb[0]^eI,eO=eb[1]^eD,eR=eb[10]^eI,eB=eb[11]^eD,eF=eb[20]^eI,ej=eb[21]^eD,eU=eb[30]^eI,e$=eb[31]^eD,eW=eb[40]^eI,eZ=eb[41]^eD;eI=eV^(eT<<1|e_>>>31),eD=ew^(e_<<1|eT>>>31);let eG=eb[2]^eI,eK=eb[3]^eD,eY=eb[12]^eI,eX=eb[13]^eD,eJ=eb[22]^eI,eQ=eb[23]^eD,e0=eb[32]^eI,e6=eb[33]^eD,e4=eb[42]^eI,e3=eb[43]^eD;eI=eM^(eS<<1|eE>>>31),eD=eC^(eE<<1|eS>>>31);let e5=eb[4]^eI,e8=eb[5]^eD,e9=eb[14]^eI,e7=eb[15]^eD,tH=eb[24]^eI,tV=eb[25]^eD,tw=eb[34]^eI,tC=eb[35]^eD,tT=eb[44]^eI,t_=eb[45]^eD;eI=eT^(eA<<1|eN>>>31),eD=e_^(eN<<1|eA>>>31);let tS=eb[6]^eI,tE=eb[7]^eD,tA=eb[16]^eI,tN=eb[17]^eD,tI=eb[26]^eI,tD=eb[27]^eD,tP=eb[36]^eI,tO=eb[37]^eD,tR=eb[46]^eI,tB=eb[47]^eD;eI=eS^(eV<<1|ew>>>31),eD=eE^(ew<<1|eV>>>31);let tF=eb[8]^eI,tj=eb[9]^eD,tU=eb[18]^eI,tq=eb[19]^eD,t$=eb[28]^eI,tW=eb[29]^eD,tZ=eb[38]^eI,tG=eb[39]^eD,tK=eb[48]^eI,tY=eb[49]^eD,tX=eP,tJ=eO,tQ=eB<<4|eR>>>28,aH=eR<<4|eB>>>28,aV=eF<<3|ej>>>29,aM=ej<<3|eF>>>29,aC=e$<<9|eU>>>23,ak=eU<<9|e$>>>23,a_=eW<<18|eZ>>>14,aS=eZ<<18|eW>>>14,aE=eG<<1|eK>>>31,aN=eK<<1|eG>>>31,aI=eX<<12|eY>>>20,aD=eY<<12|eX>>>20,aP=eJ<<10|eQ>>>22,aO=eQ<<10|eJ>>>22,aR=e6<<13|e0>>>19,aF=e0<<13|e6>>>19,aj=e4<<2|e3>>>30,aU=e3<<2|e4>>>30,aq=e8<<30|e5>>>2,a$=e5<<30|e8>>>2,aW=e9<<6|e7>>>26,aZ=e7<<6|e9>>>26,aG=tV<<11|tH>>>21,aK=tH<<11|tV>>>21,aY=tw<<15|tC>>>17,aJ=tC<<15|tw>>>17,aQ=t_<<29|tT>>>3,nH=tT<<29|t_>>>3,nV=tS<<28|tE>>>4,nw=tE<<28|tS>>>4,nM=tN<<23|tA>>>9,nC=tA<<23|tN>>>9,nk=tI<<25|tD>>>7,nT=tD<<25|tI>>>7,n_=tP<<21|tO>>>11,nS=tO<<21|tP>>>11,nE=tB<<24|tR>>>8,nA=tR<<24|tB>>>8,nN=tF<<27|tj>>>5,nI=tj<<27|tF>>>5,nD=tU<<20|tq>>>12,nP=tq<<20|tU>>>12,nO=tW<<7|t$>>>25,nR=t$<<7|tW>>>25,nB=tZ<<8|tG>>>24,nF=tG<<8|tZ>>>24,nj=tK<<14|tY>>>18,nU=tY<<14|tK>>>18;eb[0]=tX^~aI&aG,eb[1]=tJ^~aD&aK,eb[10]=nV^~nD&aV,eb[11]=nw^~nP&aM,eb[20]=aE^~aW&nk,eb[21]=aN^~aZ&nT,eb[30]=nN^~tQ&aP,eb[31]=nI^~aH&aO,eb[40]=aq^~nM&nO,eb[41]=a$^~nC&nR,eb[2]=aI^~aG&n_,eb[3]=aD^~aK&nS,eb[12]=nD^~aV&aR,eb[13]=nP^~aM&aF,eb[22]=aW^~nk&nB,eb[23]=aZ^~nT&nF,eb[32]=tQ^~aP&aY,eb[33]=aH^~aO&aJ,eb[42]=nM^~nO&aC,eb[43]=nC^~nR&ak,eb[4]=aG^~n_&nj,eb[5]=aK^~nS&nU,eb[14]=aV^~aR&aQ,eb[15]=aM^~aF&nH,eb[24]=nk^~nB&a_,eb[25]=nT^~nF&aS,eb[34]=aP^~aY&nE,eb[35]=aO^~aJ&nA,eb[44]=nO^~aC&aj,eb[45]=nR^~ak&aU,eb[6]=n_^~nj&tX,eb[7]=nS^~nU&tJ,eb[16]=aR^~aQ&nV,eb[17]=aF^~nH&nw,eb[26]=nB^~a_&aE,eb[27]=nF^~aS&aN,eb[36]=aY^~nE&nN,eb[37]=aJ^~nA&nI,eb[46]=aC^~aj&aq,eb[47]=ak^~aU&a$,eb[8]=nj^~tX&aI,eb[9]=nU^~tJ&aD,eb[18]=aQ^~nV&nD,eb[19]=nH^~nw&nP,eb[28]=a_^~aE&aW,eb[29]=aS^~aN&aZ,eb[38]=nE^~nN&tQ,eb[39]=nA^~nI&aH,eb[48]=aj^~aq&nM,eb[49]=aU^~a$&nC,eb[0]^=eH[2*em],eb[1]^=eH[2*em+1]}}},79653:function(eb,em,eH){var eV=eH(48764).Buffer;let ew=eH(34040);function eM(){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}eM.prototype.initialize=function(eb,em){for(let eb=0;eb<50;++eb)this.state[eb]=0;this.blockSize=eb/8,this.count=0,this.squeezing=!1},eM.prototype.absorb=function(eb){for(let em=0;em>>8*(this.count%4)&255,this.count+=1,this.count===this.blockSize&&(ew.p1600(this.state),this.count=0);return em},eM.prototype.copy=function(eb){for(let em=0;em<50;++em)eb.state[em]=this.state[em];eb.blockSize=this.blockSize,eb.count=this.count,eb.squeezing=this.squeezing},eb.exports=eM},72307:function(eb,em,eH){eb=eH.nmd(eb);var eV=200,ew="__lodash_hash_undefined__",eM=1,eC=2,eT=9007199254740991,e_="[object Arguments]",eS="[object Array]",eE="[object AsyncFunction]",eA="[object Boolean]",eN="[object Date]",eI="[object Error]",eD="[object Function]",eP="[object GeneratorFunction]",eO="[object Map]",eR="[object Number]",eB="[object Null]",eF="[object Object]",ej="[object Promise]",eU="[object Proxy]",e$="[object RegExp]",eW="[object Set]",eZ="[object String]",eG="[object Symbol]",eK="[object Undefined]",eY="[object WeakMap]",eX="[object ArrayBuffer]",eJ="[object DataView]",eQ="[object Float64Array]",e0="[object Int8Array]",e6="[object Int16Array]",e4="[object Int32Array]",e3="[object Uint8Array]",e5="[object Uint8ClampedArray]",e8="[object Uint16Array]",e9="[object Uint32Array]",e7=/[\\^$.*+?()[\]{}|]/g,tH=/^\[object .+?Constructor\]$/,tV=/^(?:0|[1-9]\d*)$/,tw={};tw["[object Float32Array]"]=tw[eQ]=tw[e0]=tw[e6]=tw[e4]=tw[e3]=tw[e5]=tw[e8]=tw[e9]=!0,tw[e_]=tw[eS]=tw[eX]=tw[eA]=tw[eJ]=tw[eN]=tw[eI]=tw[eD]=tw[eO]=tw[eR]=tw[eF]=tw[e$]=tw[eW]=tw[eZ]=tw[eY]=!1;var tC="object"==typeof eH.g&&eH.g&&eH.g.Object===Object&&eH.g,tT="object"==typeof self&&self&&self.Object===Object&&self,t_=tC||tT||Function("return this")(),tS=em&&!em.nodeType&&em,tE=tS&&eb&&!eb.nodeType&&eb,tA=tE&&tE.exports===tS,tN=tA&&tC.process,tI=function(){try{return tN&&tN.binding&&tN.binding("util")}catch(eb){}}(),tD=tI&&tI.isTypedArray;function tP(eb,em){for(var eH=-1,eV=null==eb?0:eb.length,ew=0,eM=[];++eH-1}function nE(eb,em){var eH=this.__data__,eV=nK(eH,eb);return eV<0?(++this.size,eH.push([eb,em])):eH[eV][1]=em,this}function nA(eb){var em=-1,eH=null==eb?0:eb.length;for(this.clear();++emeS))return!1;var eA=eT.get(eb);if(eA&&eT.get(em))return eA==em;var eN=-1,eI=!0,eD=eH&eC?new nR:void 0;for(eT.set(eb,em),eT.set(em,eb);++eN-1&&eb%1==0&&eb-1&&eb%1==0&&eb<=eT}function rF(eb){var em=typeof eb;return null!=eb&&("object"==em||"function"==em)}function rj(eb){return null!=eb&&"object"==typeof eb}var rU=tD?tF(tD):n3;function rq(eb){return rD(eb)?nG(eb):n5(eb)}function r$(){return[]}function rW(){return!1}eb.exports=rO},96486:function(eb,em,eH){var eV;eb=eH.nmd(eb),(function(){var ew,eM="4.17.21",eC=200,eT="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",e_="Expected a function",eS="Invalid `variable` option passed into `_.template`",eE="__lodash_hash_undefined__",eA=500,eN="__lodash_placeholder__",eI=1,eD=2,eP=4,eO=1,eR=2,eB=1,eF=2,ej=4,eU=8,e$=16,eW=32,eZ=64,eG=128,eK=256,eY=512,eX=30,eJ="...",eQ=800,e0=16,e6=1,e4=2,e3=3,e5=1/0,e8=9007199254740991,e9=17976931348623157e292,e7=0/0,tH=4294967295,tV=4294967294,tw=2147483647,tC=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],tT="[object Arguments]",t_="[object Array]",tS="[object AsyncFunction]",tE="[object Boolean]",tA="[object Date]",tN="[object DOMException]",tI="[object Error]",tD="[object Function]",tP="[object GeneratorFunction]",tO="[object Map]",tR="[object Number]",tB="[object Null]",tF="[object Object]",tj="[object Promise]",tU="[object Proxy]",tq="[object RegExp]",t$="[object Set]",tW="[object String]",tZ="[object Symbol]",tG="[object Undefined]",tK="[object WeakMap]",tY="[object WeakSet]",tX="[object ArrayBuffer]",tJ="[object DataView]",tQ="[object Float32Array]",aH="[object Float64Array]",aV="[object Int8Array]",aM="[object Int16Array]",aC="[object Int32Array]",ak="[object Uint8Array]",a_="[object Uint8ClampedArray]",aS="[object Uint16Array]",aE="[object Uint32Array]",aN=/\b__p \+= '';/g,aI=/\b(__p \+=) '' \+/g,aD=/(__e\(.*?\)|\b__t\)) \+\n'';/g,aP=/&(?:amp|lt|gt|quot|#39);/g,aO=/[&<>"']/g,aR=RegExp(aP.source),aF=RegExp(aO.source),aj=/<%-([\s\S]+?)%>/g,aU=/<%([\s\S]+?)%>/g,aq=/<%=([\s\S]+?)%>/g,a$=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,aW=/^\w*$/,aZ=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,aG=/[\\^$.*+?()[\]{}|]/g,aK=RegExp(aG.source),aY=/^\s+/,aJ=/\s/,aQ=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,nH=/\{\n\/\* \[wrapped with (.+)\] \*/,nV=/,? & /,nw=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,nM=/[()=,{}\[\]\/\s]/,nC=/\\(\\)?/g,nk=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,nT=/\w*$/,n_=/^[-+]0x[0-9a-f]+$/i,nS=/^0b[01]+$/i,nE=/^\[object .+?Constructor\]$/,nA=/^0o[0-7]+$/i,nN=/^(?:0|[1-9]\d*)$/,nI=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,nD=/($^)/,nP=/['\n\r\u2028\u2029\\]/g,nO="\ud800-\udfff",nR="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",nB="\\u2700-\\u27bf",nF="a-z\\xdf-\\xf6\\xf8-\\xff",nj="A-Z\\xc0-\\xd6\\xd8-\\xde",nU="\\ufe0e\\ufe0f",nq="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\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",n$="['’]",nW="["+nO+"]",nZ="["+nq+"]",nG="["+nR+"]",nK="\\d+",nY="["+nB+"]",nX="["+nF+"]",nJ="[^"+nO+nq+nK+nB+nF+nj+"]",nQ="\ud83c[\udffb-\udfff]",n6="[^"+nO+"]",n4="(?:\ud83c[\udde6-\uddff]){2}",n3="[\ud800-\udbff][\udc00-\udfff]",n5="["+nj+"]",n8="\\u200d",n9="(?:"+nX+"|"+nJ+")",n7="(?:"+n5+"|"+nJ+")",ry="(?:"+n$+"(?:d|ll|m|re|s|t|ve))?",rz="(?:"+n$+"(?:D|LL|M|RE|S|T|VE))?",rH="(?:"+nG+"|"+nQ+")?",rV="["+nU+"]?",rw="(?:"+n8+"(?:"+[n6,n4,n3].join("|")+")"+rV+rH+")*",rM="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",rC="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",rk=rV+rH+rw,rT="(?:"+[nY,n4,n3].join("|")+")"+rk,r_="(?:"+[n6+nG+"?",nG,n4,n3,nW].join("|")+")",rS=RegExp(n$,"g"),rE=RegExp(nG,"g"),rA=RegExp(nQ+"(?="+nQ+")|"+r_+rk,"g"),rN=RegExp([n5+"?"+nX+"+"+ry+"(?="+[nZ,n5,"$"].join("|")+")",n7+"+"+rz+"(?="+[nZ,n5+n9,"$"].join("|")+")",n5+"?"+n9+"+"+ry,n5+"+"+rz,rC,rM,nK,rT].join("|"),"g"),rI=RegExp("["+n8+nO+nR+nU+"]"),rD=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,rP=["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"],rO=-1,rR={};rR[tQ]=rR[aH]=rR[aV]=rR[aM]=rR[aC]=rR[ak]=rR[a_]=rR[aS]=rR[aE]=!0,rR[tT]=rR[t_]=rR[tX]=rR[tE]=rR[tJ]=rR[tA]=rR[tI]=rR[tD]=rR[tO]=rR[tR]=rR[tF]=rR[tq]=rR[t$]=rR[tW]=rR[tK]=!1;var rB={};rB[tT]=rB[t_]=rB[tX]=rB[tJ]=rB[tE]=rB[tA]=rB[tQ]=rB[aH]=rB[aV]=rB[aM]=rB[aC]=rB[tO]=rB[tR]=rB[tF]=rB[tq]=rB[t$]=rB[tW]=rB[tZ]=rB[ak]=rB[a_]=rB[aS]=rB[aE]=!0,rB[tI]=rB[tD]=rB[tK]=!1;var rF={À:"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"},rj={"&":"&","<":"<",">":">",'"':""","'":"'"},rU={"&":"&","<":"<",">":">",""":'"',"'":"'"},rq={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},r$=parseFloat,rW=parseInt,rZ="object"==typeof eH.g&&eH.g&&eH.g.Object===Object&&eH.g,rG="object"==typeof self&&self&&self.Object===Object&&self,rK=rZ||rG||Function("return this")(),rY=em&&!em.nodeType&&em,rX=rY&&eb&&!eb.nodeType&&eb,rJ=rX&&rX.exports===rY,rQ=rJ&&rZ.process,ib=function(){try{var eb=rX&&rX.require&&rX.require("util").types;if(eb)return eb;return rQ&&rQ.binding&&rQ.binding("util")}catch(eb){}}(),iy=ib&&ib.isArrayBuffer,iH=ib&&ib.isDate,iV=ib&&ib.isMap,iw=ib&&ib.isRegExp,iM=ib&&ib.isSet,iC=ib&&ib.isTypedArray;function iT(eb,em,eH){switch(eH.length){case 0:return eb.call(em);case 1:return eb.call(em,eH[0]);case 2:return eb.call(em,eH[0],eH[1]);case 3:return eb.call(em,eH[0],eH[1],eH[2])}return eb.apply(em,eH)}function i_(eb,em,eH,eV){for(var ew=-1,eM=null==eb?0:eb.length;++ew-1}function iD(eb,em,eH){for(var eV=-1,ew=null==eb?0:eb.length;++eV-1;);return eH}function cw(eb,em){for(var eH=eb.length;eH--&&iZ(em,eb[eH],0)>-1;);return eH}function cM(eb,em){for(var eH=eb.length,eV=0;eH--;)eb[eH]===em&&++eV;return eV}var cC=i6(rF),ck=i6(rj);function cT(eb){return"\\"+rq[eb]}function c_(eb,em){return null==eb?ew:eb[em]}function cS(eb){return rI.test(eb)}function cE(eb){return rD.test(eb)}function cA(eb){for(var em,eH=[];!(em=eb.next()).done;)eH.push(em.value);return eH}function cN(eb){var em=-1,eH=Array(eb.size);return eb.forEach(function(eb,eV){eH[++em]=[eV,eb]}),eH}function cI(eb,em){return function(eH){return eb(em(eH))}}function cD(eb,em){for(var eH=-1,eV=eb.length,ew=0,eM=[];++eH-1}function sZ(eb,em){var eH=this.__data__,eV=oS(eH,eb);return eV<0?(++this.size,eH.push([eb,em])):eH[eV][1]=em,this}function sG(eb){var em=-1,eH=null==eb?0:eb.length;for(this.clear();++em=em?eb:em)),eb}function oO(eb,em,eH,eV,eM,eC){var eT,e_=em&eI,eS=em&eD,eE=em&eP;if(eH&&(eT=eM?eH(eb,eV,eM,eC):eH(eb)),ew!==eT)return eT;if(!yw(eb))return eb;var eA=mK(eb);if(eA){if(eT=uC(eb),!e_)return fY(eb,eT)}else{var eN=uH(eb),eO=eN==tD||eN==tP;if(m6(eb))return fB(eb,e_);if(eN==tF||eN==tT||eO&&!eM){if(eT=eS||eO?{}:ux(eb),!e_)return eS?fQ(eb,oN(eT,eb)):fJ(eb,oA(eT,eb))}else{if(!rB[eN])return eM?eb:{};eT=uk(eb,eN,e_)}}eC||(eC=new s8);var eR=eC.get(eb);if(eR)return eR;eC.set(eb,eT),yP(eb)?eb.forEach(function(eV){eT.add(oO(eV,em,eH,eV,eb,eC))}):yC(eb)&&eb.forEach(function(eV,ew){eT.set(ew,oO(eV,em,eH,ew,eb,eC))});var eB=eE?eS?dZ:dW:eS?gN:gA,eF=eA?ew:eB(eb);return iS(eF||eb,function(eV,ew){eF&&(eV=eb[ew=eV]),o_(eT,ew,oO(eV,em,eH,ew,eb,eC))}),eT}function oR(eb){var em=gA(eb);return function(eH){return oB(eH,eb,em)}}function oB(eb,em,eH){var eV=eH.length;if(null==eb)return!eV;for(eb=nR(eb);eV--;){var eM=eH[eV],eC=em[eM],eT=eb[eM];if(ew===eT&&!(eM in eb)||!eC(eT))return!1}return!0}function oF(eb,em,eH){if("function"!=typeof eb)throw new nj(e_);return uY(function(){eb.apply(ew,eH)},em)}function oj(eb,em,eH,eV){var ew=-1,eM=iI,eT=!0,e_=eb.length,eS=[],eE=em.length;if(!e_)return eS;eH&&(em=iP(em,cm(eH))),eV?(eM=iD,eT=!1):em.length>=eC&&(eM=cH,eT=!1,em=new s6(em));e:for(;++eweM?0:eM+eH),(eV=ew===eV||eV>eM?eM:yG(eV))<0&&(eV+=eM),eV=eH>eV?0:yK(eV);eH0&&eH(eT)?em>1?oK(eT,em-1,eH,eV,ew):iO(ew,eT):eV||(ew[ew.length]=eT)}return ew}var oJ=f3(),oQ=f3(!0);function o0(eb,em){return eb&&oJ(eb,em,gA)}function o6(eb,em){return eb&&oQ(eb,em,gA)}function o4(eb,em){return iN(em,function(em){return yv(eb[em])})}function o3(eb,em){em=fD(em,eb);for(var eH=0,eV=em.length;null!=eb&&eHem}function o7(eb,em){return null!=eb&&nG.call(eb,em)}function lb(eb,em){return null!=eb&&em in nR(eb)}function lm(eb,em,eH){return eb>=rq(em,eH)&&eb=120&&eN.length>=120)?new s6(e_&&eN):ew}eN=eb[0];var eI=-1,eD=eS[0];e:for(;++eI-1;)eT!==eb&&rz.call(eT,e_,1),rz.call(eb,e_,1);return eb}function lK(eb,em){for(var eH=eb?em.length:0,eV=eH-1;eH--;){var ew=em[eH];if(eH==eV||ew!==eM){var eM=ew;uS(ew)?rz.call(eb,ew,1):fk(eb,ew)}}return eb}function lY(eb,em){return eb+rA(rY()*(em-eb+1))}function lX(eb,em,eV,ew){for(var eM=-1,eC=rU(r_((em-eb)/(eV||1)),0),eT=eH(eC);eC--;)eT[ew?eC:++eM]=eb,eb+=eV;return eT}function lJ(eb,em){var eH="";if(!eb||em<1||em>e8)return eH;do em%2&&(eH+=eb),(em=rA(em/2))&&(eb+=eb);while(em);return eH}function lQ(eb,em){return uX(u$(eb,em,v8),eb+"")}function l6(eb){return ow(gJ(eb))}function l4(eb,em){var eH=gJ(eb);return u6(eH,oP(em,0,eH.length))}function l3(eb,em,eH,eV){if(!yw(eb))return eb;em=fD(em,eb);for(var eM=-1,eC=em.length,eT=eC-1,e_=eb;null!=e_&&++eMeM?0:eM+em),(eV=eV>eM?eM:eV)<0&&(eV+=eM),eM=em>eV?0:eV-em>>>0,em>>>=0;for(var eC=eH(eM);++ew>>1,eC=eb[eM];null!==eC&&!yR(eC)&&(eH?eC<=em:eC=eC){var eE=em?null:dD(eb);if(eE)return cP(eE);eT=!1,ew=cH,eS=new s6}else eS=em?[]:e_;e:for(;++eV=eV?eb:l7(eb,em,eH)}var fR=rC||function(eb){return rK.clearTimeout(eb)};function fB(eb,em){if(em)return eb.slice();var eH=eb.length,eV=n8?n8(eH):new eb.constructor(eH);return eb.copy(eV),eV}function fF(eb){var em=new eb.constructor(eb.byteLength);return new n5(em).set(new n5(eb)),em}function fj(eb,em){var eH=em?fF(eb.buffer):eb.buffer;return new eb.constructor(eH,eb.byteOffset,eb.byteLength)}function fU(eb){var em=new eb.constructor(eb.source,nT.exec(eb));return em.lastIndex=eb.lastIndex,em}function fq(eb){return sH?nR(sH.call(eb)):{}}function f$(eb,em){var eH=em?fF(eb.buffer):eb.buffer;return new eb.constructor(eH,eb.byteOffset,eb.length)}function fW(eb,em){if(eb!==em){var eH=ew!==eb,eV=null===eb,eM=eb==eb,eC=yR(eb),eT=ew!==em,e_=null===em,eS=em==em,eE=yR(em);if(!e_&&!eE&&!eC&&eb>em||eC&&eT&&eS&&!e_&&!eE||eV&&eT&&eS||!eH&&eS||!eM)return 1;if(!eV&&!eC&&!eE&&eb=eT)return e_;return e_*("desc"==eH[eV]?-1:1)}}return eb.index-em.index}function fG(eb,em,eV,ew){for(var eM=-1,eC=eb.length,eT=eV.length,e_=-1,eS=em.length,eE=rU(eC-eT,0),eA=eH(eS+eE),eN=!ew;++e_1?eH[eM-1]:ew,eT=eM>2?eH[2]:ew;for(eC=eb.length>3&&"function"==typeof eC?(eM--,eC):ew,eT&&uE(eH[0],eH[1],eT)&&(eC=eM<3?ew:eC,eM=1),em=nR(em);++eV-1?eM[eC?em[eT]:eT]:ew}}function dH(eb){return d$(function(em){var eH=em.length,eV=eH,eM=sS.prototype.thru;for(eb&&em.reverse();eV--;){var eC=em[eV];if("function"!=typeof eC)throw new nj(e_);if(eM&&!eT&&"wrapper"==dK(eC))var eT=new sS([],!0)}for(eV=eT?eV:eH;++eV1&&eB.reverse(),eN&&eEe_))return!1;var eE=eC.get(eb),eA=eC.get(em);if(eE&&eA)return eE==em&&eA==eb;var eN=-1,eI=!0,eD=eH&eR?new s6:ew;for(eC.set(eb,em),eC.set(em,eb);++eN1?"& ":"")+em[eV],em=em.join(eH>2?", ":" "),eb.replace(aQ,"{\n/* [wrapped with "+em+"] */\n")}function u_(eb){return mK(eb)||mG(eb)||!!(rH&&eb&&eb[rH])}function uS(eb,em){var eH=typeof eb;return!!(em=null==em?e8:em)&&("number"==eH||"symbol"!=eH&&nN.test(eb))&&eb>-1&&eb%1==0&&eb0){if(++em>=eQ)return arguments[0]}else em=0;return eb.apply(ew,arguments)}}function u6(eb,em){var eH=-1,eV=eb.length,eM=eV-1;for(em=ew===em?eV:em;++eH1?eb[em-1]:ew;return eH="function"==typeof eH?(eb.pop(),eH):ew,hD(eb,eH)});function h$(eb){var em=sM(eb);return em.__chain__=!0,em}function hW(eb,em){return em(eb),eb}function hZ(eb,em){return em(eb)}var hG=d$(function(eb){var em=eb.length,eH=em?eb[0]:0,eV=this.__wrapped__,eM=function(em){return oD(em,eb)};return!(em>1)&&!this.__actions__.length&&eV instanceof sE&&uS(eH)?((eV=eV.slice(eH,+eH+(em?1:0))).__actions__.push({func:hZ,args:[eM],thisArg:ew}),new sS(eV,this.__chain__).thru(function(eb){return em&&!eb.length&&eb.push(ew),eb})):this.thru(eM)});function hK(){return h$(this)}function hY(){return new sS(this.value(),this.__chain__)}function hX(){ew===this.__values__&&(this.__values__=yW(this.value()));var eb=this.__index__>=this.__values__.length,em=eb?ew:this.__values__[this.__index__++];return{done:eb,value:em}}function hJ(){return this}function hQ(eb){for(var em,eH=this;eH instanceof sT;){var eV=u7(eH);eV.__index__=0,eV.__values__=ew,em?eM.__wrapped__=eV:em=eV;var eM=eV;eH=eH.__wrapped__}return eM.__wrapped__=eb,em}function bm(){var eb=this.__wrapped__;if(eb instanceof sE){var em=eb;return this.__actions__.length&&(em=new sE(this)),(em=em.reverse()).__actions__.push({func:hZ,args:[p6],thisArg:ew}),new sS(em,this.__chain__)}return this.thru(p6)}function bv(){return fS(this.__wrapped__,this.__actions__)}var bH=f0(function(eb,em,eH){nG.call(eb,eH)?++eb[eH]:oI(eb,eH,1)});function bV(eb,em,eH){var eV=mK(eb)?iA:o$;return eH&&uE(eb,em,eH)&&(em=ew),eV(eb,dX(em,3))}function bM(eb,em){return(mK(eb)?iN:oG)(eb,dX(em,3))}var bC=dz(pE),bk=dz(pA);function bT(eb,em){return oK(bO(eb,em),1)}function b_(eb,em){return oK(bO(eb,em),e5)}function bS(eb,em,eH){return eH=ew===eH?1:yG(eH),oK(bO(eb,em),eH)}function bE(eb,em){return(mK(eb)?iS:oU)(eb,dX(em,3))}function bA(eb,em){return(mK(eb)?iE:oq)(eb,dX(em,3))}var bN=f0(function(eb,em,eH){nG.call(eb,eH)?eb[eH].push(em):oI(eb,eH,[em])});function bI(eb,em,eH,eV){eb=mX(eb)?eb:gJ(eb),eH=eH&&!eV?yG(eH):0;var ew=eb.length;return eH<0&&(eH=rU(ew+eH,0)),yO(eb)?eH<=ew&&eb.indexOf(em,eH)>-1:!!ew&&iZ(eb,em,eH)>-1}var bD=lQ(function(eb,em,eV){var ew=-1,eM="function"==typeof em,eC=mX(eb)?eH(eb.length):[];return oU(eb,function(eb){eC[++ew]=eM?iT(em,eb,eV):lz(eb,em,eV)}),eC}),bP=f0(function(eb,em,eH){oI(eb,eH,em)});function bO(eb,em){return(mK(eb)?iP:lO)(eb,dX(em,3))}function bR(eb,em,eH,eV){return null==eb?[]:(mK(em)||(em=null==em?[]:[em]),mK(eH=eV?ew:eH)||(eH=null==eH?[]:[eH]),lq(eb,em,eH))}var bB=f0(function(eb,em,eH){eb[eH?0:1].push(em)},function(){return[[],[]]});function bF(eb,em,eH){var eV=mK(eb)?iR:i4,ew=arguments.length<3;return eV(eb,dX(em,4),eH,ew,oU)}function bj(eb,em,eH){var eV=mK(eb)?iB:i4,ew=arguments.length<3;return eV(eb,dX(em,4),eH,ew,oq)}function bU(eb,em){return(mK(eb)?iN:oG)(eb,mx(dX(em,3)))}function bq(eb){return(mK(eb)?ow:l6)(eb)}function b$(eb,em,eH){return em=(eH?uE(eb,em,eH):ew===em)?1:yG(em),(mK(eb)?oM:l4)(eb,em)}function bW(eb){return(mK(eb)?oC:l9)(eb)}function bZ(eb){if(null==eb)return 0;if(mX(eb))return yO(eb)?cF(eb):eb.length;var em=uH(eb);return em==tO||em==t$?eb.size:lI(eb).length}function bG(eb,em,eH){var eV=mK(eb)?iF:fy;return eH&&uE(eb,em,eH)&&(em=ew),eV(eb,dX(em,3))}var bK=lQ(function(eb,em){if(null==eb)return[];var eH=em.length;return eH>1&&uE(eb,em[0],em[1])?em=[]:eH>2&&uE(em[0],em[1],em[2])&&(em=[em[0]]),lq(eb,oK(em,1),[])}),bY=rk||function(){return rK.Date.now()};function bX(eb,em){if("function"!=typeof em)throw new nj(e_);return eb=yG(eb),function(){if(--eb<1)return em.apply(this,arguments)}}function bJ(eb,em,eH){return em=eH?ew:em,em=eb&&null==em?eb.length:em,dO(eb,eG,ew,ew,ew,ew,em)}function bQ(eb,em){var eH;if("function"!=typeof em)throw new nj(e_);return eb=yG(eb),function(){return--eb>0&&(eH=em.apply(this,arguments)),eb<=1&&(em=ew),eH}}var mb=lQ(function(eb,em,eH){var eV=eB;if(eH.length){var ew=cD(eH,dY(mb));eV|=eW}return dO(eb,eV,em,eH,ew)}),my=lQ(function(eb,em,eH){var eV=eB|eF;if(eH.length){var ew=cD(eH,dY(my));eV|=eW}return dO(em,eV,eb,eH,ew)});function mv(eb,em,eH){em=eH?ew:em;var eV=dO(eb,eU,ew,ew,ew,ew,ew,em);return eV.placeholder=mv.placeholder,eV}function mz(eb,em,eH){em=eH?ew:em;var eV=dO(eb,e$,ew,ew,ew,ew,ew,em);return eV.placeholder=mz.placeholder,eV}function mH(eb,em,eH){var eV,eM,eC,eT,eS,eE,eA=0,eN=!1,eI=!1,eD=!0;if("function"!=typeof eb)throw new nj(e_);function eP(em){var eH=eV,eC=eM;return eV=eM=ew,eA=em,eT=eb.apply(eC,eH)}function eO(eb){return eA=eb,eS=uY(eF,em),eN?eP(eb):eT}function eR(eb){var eH=eb-eE,eV=eb-eA,ew=em-eH;return eI?rq(ew,eC-eV):ew}function eB(eb){var eH=eb-eE,eV=eb-eA;return ew===eE||eH>=em||eH<0||eI&&eV>=eC}function eF(){var eb=bY();if(eB(eb))return ej(eb);eS=uY(eF,eR(eb))}function ej(eb){return(eS=ew,eD&&eV)?eP(eb):(eV=eM=ew,eT)}function eU(){ew!==eS&&fR(eS),eA=0,eV=eE=eM=eS=ew}function e$(){return ew===eS?eT:ej(bY())}function eW(){var eb=bY(),eH=eB(eb);if(eV=arguments,eM=this,eE=eb,eH){if(ew===eS)return eO(eE);if(eI)return fR(eS),eS=uY(eF,em),eP(eE)}return ew===eS&&(eS=uY(eF,em)),eT}return em=yY(em)||0,yw(eH)&&(eN=!!eH.leading,eC=(eI="maxWait"in eH)?rU(yY(eH.maxWait)||0,em):eC,eD="trailing"in eH?!!eH.trailing:eD),eW.cancel=eU,eW.flush=e$,eW}var mV=lQ(function(eb,em){return oF(eb,1,em)}),mw=lQ(function(eb,em,eH){return oF(eb,yY(em)||0,eH)});function mM(eb){return dO(eb,eY)}function mC(eb,em){if("function"!=typeof eb||null!=em&&"function"!=typeof em)throw new nj(e_);var eH=function(){var eV=arguments,ew=em?em.apply(this,eV):eV[0],eM=eH.cache;if(eM.has(ew))return eM.get(ew);var eC=eb.apply(this,eV);return eH.cache=eM.set(ew,eC)||eM,eC};return eH.cache=new(mC.Cache||sG),eH}function mx(eb){if("function"!=typeof eb)throw new nj(e_);return function(){var em=arguments;switch(em.length){case 0:return!eb.call(this);case 1:return!eb.call(this,em[0]);case 2:return!eb.call(this,em[0],em[1]);case 3:return!eb.call(this,em[0],em[1],em[2])}return!eb.apply(this,em)}}function mk(eb){return bQ(2,eb)}mC.Cache=sG;var mT=fP(function(eb,em){var eH=(em=1==em.length&&mK(em[0])?iP(em[0],cm(dX())):iP(oK(em,1),cm(dX()))).length;return lQ(function(eV){for(var ew=-1,eM=rq(eV.length,eH);++ew=em}),mG=lH(function(){return arguments}())?lH:function(eb){return yM(eb)&&nG.call(eb,"callee")&&!ry.call(eb,"callee")},mK=eH.isArray,mY=iy?cm(iy):lV;function mX(eb){return null!=eb&&yV(eb.length)&&!yv(eb)}function mJ(eb){return yM(eb)&&mX(eb)}function mQ(eb){return!0===eb||!1===eb||yM(eb)&&o8(eb)==tE}var m6=rI||zI,m4=iH?cm(iH):lw;function m3(eb){return yM(eb)&&1===eb.nodeType&&!yN(eb)}function m5(eb){if(null==eb)return!0;if(mX(eb)&&(mK(eb)||"string"==typeof eb||"function"==typeof eb.splice||m6(eb)||yB(eb)||mG(eb)))return!eb.length;var em=uH(eb);if(em==tO||em==t$)return!eb.size;if(uO(eb))return!lI(eb).length;for(var eH in eb)if(nG.call(eb,eH))return!1;return!0}function m9(eb,em){return lM(eb,em)}function m7(eb,em,eH){var eV=(eH="function"==typeof eH?eH:ew)?eH(eb,em):ew;return ew===eV?lM(eb,em,ew,eH):!!eV}function yb(eb){if(!yM(eb))return!1;var em=o8(eb);return em==tI||em==tN||"string"==typeof eb.message&&"string"==typeof eb.name&&!yN(eb)}function ym(eb){return"number"==typeof eb&&rD(eb)}function yv(eb){if(!yw(eb))return!1;var em=o8(eb);return em==tD||em==tP||em==tS||em==tU}function yH(eb){return"number"==typeof eb&&eb==yG(eb)}function yV(eb){return"number"==typeof eb&&eb>-1&&eb%1==0&&eb<=e8}function yw(eb){var em=typeof eb;return null!=eb&&("object"==em||"function"==em)}function yM(eb){return null!=eb&&"object"==typeof eb}var yC=iV?cm(iV):lk;function yx(eb,em){return eb===em||lT(eb,em,dQ(em))}function yk(eb,em,eH){return eH="function"==typeof eH?eH:ew,lT(eb,em,dQ(em),eH)}function yT(eb){return yA(eb)&&eb!=+eb}function y_(eb){if(uP(eb))throw new aJ(eT);return l_(eb)}function yS(eb){return null===eb}function yE(eb){return null==eb}function yA(eb){return"number"==typeof eb||yM(eb)&&o8(eb)==tR}function yN(eb){if(!yM(eb)||o8(eb)!=tF)return!1;var em=n9(eb);if(null===em)return!0;var eH=nG.call(em,"constructor")&&em.constructor;return"function"==typeof eH&&eH instanceof eH&&nZ.call(eH)==nJ}var yI=iw?cm(iw):lS;function yD(eb){return yH(eb)&&eb>=-e8&&eb<=e8}var yP=iM?cm(iM):lE;function yO(eb){return"string"==typeof eb||!mK(eb)&&yM(eb)&&o8(eb)==tW}function yR(eb){return"symbol"==typeof eb||yM(eb)&&o8(eb)==tZ}var yB=iC?cm(iC):lA;function yF(eb){return ew===eb}function yj(eb){return yM(eb)&&uH(eb)==tK}function yU(eb){return yM(eb)&&o8(eb)==tY}var yq=dA(lP),y$=dA(function(eb,em){return eb<=em});function yW(eb){if(!eb)return[];if(mX(eb))return yO(eb)?cj(eb):fY(eb);if(rV&&eb[rV])return cA(eb[rV]());var em=uH(eb);return(em==tO?cN:em==t$?cP:gJ)(eb)}function yZ(eb){return eb?(eb=yY(eb))===e5||eb===-e5?(eb<0?-1:1)*e9:eb==eb?eb:0:0===eb?eb:0}function yG(eb){var em=yZ(eb),eH=em%1;return em==em?eH?em-eH:em:0}function yK(eb){return eb?oP(yG(eb),0,tH):0}function yY(eb){if("number"==typeof eb)return eb;if(yR(eb))return e7;if(yw(eb)){var em="function"==typeof eb.valueOf?eb.valueOf():eb;eb=yw(em)?em+"":em}if("string"!=typeof eb)return 0===eb?eb:+eb;eb=i7(eb);var eH=nS.test(eb);return eH||nA.test(eb)?rW(eb.slice(2),eH?2:8):n_.test(eb)?e7:+eb}function yX(eb){return fX(eb,gN(eb))}function yJ(eb){return eb?oP(yG(eb),-e8,e8):0===eb?eb:0}function yQ(eb){return null==eb?"":fC(eb)}var y6=f6(function(eb,em){if(uO(em)||mX(em)){fX(em,gA(em),eb);return}for(var eH in em)nG.call(em,eH)&&o_(eb,eH,em[eH])}),y4=f6(function(eb,em){fX(em,gN(em),eb)}),y5=f6(function(eb,em,eH,eV){fX(em,gN(em),eb,eV)}),y8=f6(function(eb,em,eH,eV){fX(em,gA(em),eb,eV)}),y9=d$(oD);function y7(eb,em){var eH=sC(eb);return null==em?eH:oA(eH,em)}var gb=lQ(function(eb,em){eb=nR(eb);var eH=-1,eV=em.length,eM=eV>2?em[2]:ew;for(eM&&uE(em[0],em[1],eM)&&(eV=1);++eH1),em}),fX(eb,dZ(eb),eH),eV&&(eH=oO(eH,eI|eD|eP,dF));for(var ew=em.length;ew--;)fk(eH,em[ew]);return eH});function gB(eb,em){return gj(eb,mx(dX(em)))}var gF=d$(function(eb,em){return null==eb?{}:l$(eb,em)});function gj(eb,em){if(null==eb)return{};var eH=iP(dZ(eb),function(eb){return[eb]});return em=dX(em),lW(eb,eH,function(eb,eH){return em(eb,eH[0])})}function gU(eb,em,eH){em=fD(em,eb);var eV=-1,eM=em.length;for(eM||(eM=1,eb=ew);++eVem){var eV=eb;eb=em,em=eV}if(eH||eb%1||em%1){var eM=rY();return rq(eb+eM*(em-eb+r$("1e-"+((eM+"").length-1))),em)}return lY(eb,em)}var g5=f9(function(eb,em,eH){return em=em.toLowerCase(),eb+(eH?g8(em):em)});function g8(eb){return vq(yQ(eb).toLowerCase())}function g9(eb){return(eb=yQ(eb))&&eb.replace(nI,cC).replace(rE,"")}function g7(eb,em,eH){eb=yQ(eb),em=fC(em);var eV=eb.length,eM=eH=ew===eH?eV:oP(yG(eH),0,eV);return(eH-=em.length)>=0&&eb.slice(eH,eM)==em}function vy(eb){return(eb=yQ(eb))&&aF.test(eb)?eb.replace(aO,ck):eb}function vv(eb){return(eb=yQ(eb))&&aK.test(eb)?eb.replace(aG,"\\$&"):eb}var vz=f9(function(eb,em,eH){return eb+(eH?"-":"")+em.toLowerCase()}),vH=f9(function(eb,em,eH){return eb+(eH?" ":"")+em.toLowerCase()}),vV=f8("toLowerCase");function vw(eb,em,eH){eb=yQ(eb);var eV=(em=yG(em))?cF(eb):0;if(!em||eV>=em)return eb;var ew=(em-eV)/2;return dT(rA(ew),eH)+eb+dT(r_(ew),eH)}function vM(eb,em,eH){eb=yQ(eb);var eV=(em=yG(em))?cF(eb):0;return em&&eV>>0)?(eb=yQ(eb))&&("string"==typeof em||null!=em&&!yI(em))&&!(em=fC(em))&&cS(eb)?fO(cj(eb),0,eH):eb.split(em,eH):[]}var vE=f9(function(eb,em,eH){return eb+(eH?" ":"")+vq(em)});function vA(eb,em,eH){return eb=yQ(eb),eH=null==eH?0:oP(yG(eH),0,eb.length),em=fC(em),eb.slice(eH,eH+em.length)==em}function vI(eb,em,eH){var eV=sM.templateSettings;eH&&uE(eb,em,eH)&&(em=ew),eb=yQ(eb),em=y5({},em,eV,dR);var eM,eC,eT=y5({},em.imports,eV.imports,dR),e_=gA(eT),eE=cz(eT,e_),eA=0,eN=em.interpolate||nD,eI="__p += '",eD=nB((em.escape||nD).source+"|"+eN.source+"|"+(eN===aq?nk:nD).source+"|"+(em.evaluate||nD).source+"|$","g"),eP="//# sourceURL="+(nG.call(em,"sourceURL")?(em.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++rO+"]")+"\n";eb.replace(eD,function(em,eH,eV,ew,eT,e_){return eV||(eV=ew),eI+=eb.slice(eA,e_).replace(nP,cT),eH&&(eM=!0,eI+="' +\n__e("+eH+") +\n'"),eT&&(eC=!0,eI+="';\n"+eT+";\n__p += '"),eV&&(eI+="' +\n((__t = ("+eV+")) == null ? '' : __t) +\n'"),eA=e_+em.length,em}),eI+="';\n";var eO=nG.call(em,"variable")&&em.variable;if(eO){if(nM.test(eO))throw new aJ(eS)}else eI="with (obj) {\n"+eI+"\n}\n";eI=(eC?eI.replace(aN,""):eI).replace(aI,"$1").replace(aD,"$1;"),eI="function("+(eO||"obj")+") {\n"+(eO?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(eM?", __e = _.escape":"")+(eC?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+eI+"return __p\n}";var eR=vW(function(){return nw(e_,eP+"return "+eI).apply(ew,eE)});if(eR.source=eI,yb(eR))throw eR;return eR}function vD(eb){return yQ(eb).toLowerCase()}function vP(eb){return yQ(eb).toUpperCase()}function vO(eb,em,eH){if((eb=yQ(eb))&&(eH||ew===em))return i7(eb);if(!eb||!(em=fC(em)))return eb;var eV=cj(eb),eM=cj(em),eC=cV(eV,eM),eT=cw(eV,eM)+1;return fO(eV,eC,eT).join("")}function vR(eb,em,eH){if((eb=yQ(eb))&&(eH||ew===em))return eb.slice(0,cU(eb)+1);if(!eb||!(em=fC(em)))return eb;var eV=cj(eb),eM=cw(eV,cj(em))+1;return fO(eV,0,eM).join("")}function vB(eb,em,eH){if((eb=yQ(eb))&&(eH||ew===em))return eb.replace(aY,"");if(!eb||!(em=fC(em)))return eb;var eV=cj(eb),eM=cV(eV,cj(em));return fO(eV,eM).join("")}function vF(eb,em){var eH=eX,eV=eJ;if(yw(em)){var eM="separator"in em?em.separator:eM;eH="length"in em?yG(em.length):eH,eV="omission"in em?fC(em.omission):eV}var eC=(eb=yQ(eb)).length;if(cS(eb)){var eT=cj(eb);eC=eT.length}if(eH>=eC)return eb;var e_=eH-cF(eV);if(e_<1)return eV;var eS=eT?fO(eT,0,e_).join(""):eb.slice(0,e_);if(ew===eM)return eS+eV;if(eT&&(e_+=eS.length-e_),yI(eM)){if(eb.slice(e_).search(eM)){var eE,eA=eS;for(eM.global||(eM=nB(eM.source,yQ(nT.exec(eM))+"g")),eM.lastIndex=0;eE=eM.exec(eA);)var eN=eE.index;eS=eS.slice(0,ew===eN?e_:eN)}}else if(eb.indexOf(fC(eM),e_)!=e_){var eI=eS.lastIndexOf(eM);eI>-1&&(eS=eS.slice(0,eI))}return eS+eV}function vj(eb){return(eb=yQ(eb))&&aR.test(eb)?eb.replace(aP,cq):eb}var vU=f9(function(eb,em,eH){return eb+(eH?" ":"")+em.toUpperCase()}),vq=f8("toUpperCase");function v$(eb,em,eH){return(eb=yQ(eb),em=eH?ew:em,ew===em)?cE(eb)?cZ(eb):iq(eb):eb.match(em)||[]}var vW=lQ(function(eb,em){try{return iT(eb,ew,em)}catch(eb){return yb(eb)?eb:new aJ(eb)}}),vZ=d$(function(eb,em){return iS(em,function(em){oI(eb,em=u3(em),mb(eb[em],eb))}),eb});function vG(eb){var em=null==eb?0:eb.length,eH=dX();return eb=em?iP(eb,function(eb){if("function"!=typeof eb[1])throw new nj(e_);return[eH(eb[0]),eb[1]]}):[],lQ(function(eH){for(var eV=-1;++eVe8)return[];var eH=tH,eV=rq(eb,tH);em=dX(em),eb-=tH;for(var ew=i8(eV,em);++eH0||em<0)?new sE(eH):(eb<0?eH=eH.takeRight(-eb):eb&&(eH=eH.drop(eb)),ew!==em&&(eH=(em=yG(em))<0?eH.dropRight(-em):eH.take(em-eb)),eH)},sE.prototype.takeRightWhile=function(eb){return this.reverse().takeWhile(eb).reverse()},sE.prototype.toArray=function(){return this.take(tH)},o0(sE.prototype,function(eb,em){var eH=/^(?:filter|find|map|reject)|While$/.test(em),eV=/^(?:head|last)$/.test(em),eM=sM[eV?"take"+("last"==em?"Right":""):em],eC=eV||/^find/.test(em);eM&&(sM.prototype[em]=function(){var em=this.__wrapped__,eT=eV?[1]:arguments,e_=em instanceof sE,eS=eT[0],eE=e_||mK(em),eA=function(eb){var em=eM.apply(sM,iO([eb],eT));return eV&&eN?em[0]:em};eE&&eH&&"function"==typeof eS&&1!=eS.length&&(e_=eE=!1);var eN=this.__chain__,eI=!!this.__actions__.length,eD=eC&&!eN,eP=e_&&!eI;if(!eC&&eE){em=eP?em:new sE(this);var eO=eb.apply(em,eT);return eO.__actions__.push({func:hZ,args:[eA],thisArg:ew}),new sS(eO,eN)}return eD&&eP?eb.apply(this,eT):(eO=this.thru(eA),eD?eV?eO.value()[0]:eO.value():eO)})}),iS(["pop","push","shift","sort","splice","unshift"],function(eb){var em=nU[eb],eH=/^(?:push|sort|unshift)$/.test(eb)?"tap":"thru",eV=/^(?:pop|shift)$/.test(eb);sM.prototype[eb]=function(){var eb=arguments;if(eV&&!this.__chain__){var ew=this.value();return em.apply(mK(ew)?ew:[],eb)}return this[eH](function(eH){return em.apply(mK(eH)?eH:[],eb)})}}),o0(sE.prototype,function(eb,em){var eH=sM[em];if(eH){var eV=eH.name+"";nG.call(cW,eV)||(cW[eV]=[]),cW[eV].push({name:em,func:eH})}}),cW[dV(ew,eF).name]=[{name:"wrapper",func:ew}],sE.prototype.clone=sA,sE.prototype.reverse=sN,sE.prototype.value=sI,sM.prototype.at=hG,sM.prototype.chain=hK,sM.prototype.commit=hY,sM.prototype.next=hX,sM.prototype.plant=hQ,sM.prototype.reverse=bm,sM.prototype.toJSON=sM.prototype.valueOf=sM.prototype.value=bv,sM.prototype.first=sM.prototype.head,rV&&(sM.prototype[rV]=hJ),sM}();rK._=cG,eV=(function(){return cG}).call(em,eH,em,eb),ew!==eV&&(eb.exports=eV)}).call(this)},69260:function(eb,em,eH){!function(eb,eV){eV(em,eH(11248),eH(67294))}(0,function(eb,em,eH){"use strict";function eV(eb){return eb&&"object"==typeof eb&&"default"in eb?eb:{default:eb}}var ew=eV(em),eM=eV(eH);function eC(eb,em){var eH=null==eb?null:"undefined"!=typeof Symbol&&eb[Symbol.iterator]||eb["@@iterator"];if(null!=eH){var eV,ew,eM,eC,eT=[],e_=!0,eS=!1;try{if(eM=(eH=eH.call(eb)).next,0===em){if(Object(eH)!==eH)return;e_=!1}else for(;!(e_=(eV=eM.call(eH)).done)&&(eT.push(eV.value),eT.length!==em);e_=!0);}catch(eb){eS=!0,ew=eb}finally{try{if(!e_&&null!=eH.return&&(eC=eH.return(),Object(eC)!==eC))return}finally{if(eS)throw ew}}return eT}}function eT(eb,em){var eH=Object.keys(eb);if(Object.getOwnPropertySymbols){var eV=Object.getOwnPropertySymbols(eb);em&&(eV=eV.filter(function(em){return Object.getOwnPropertyDescriptor(eb,em).enumerable})),eH.push.apply(eH,eV)}return eH}function e_(eb){for(var em=1;em=0||(ew[eH]=eb[eH]);return ew}function eA(eb,em){if(null==eb)return{};var eH,eV,ew=eE(eb,em);if(Object.getOwnPropertySymbols){var eM=Object.getOwnPropertySymbols(eb);for(eV=0;eV=0)&&Object.prototype.propertyIsEnumerable.call(eb,eH)&&(ew[eH]=eb[eH])}return ew}function eN(eb,em){return eI(eb)||eC(eb,em)||eD(eb,em)||eO()}function eI(eb){if(Array.isArray(eb))return eb}function eD(eb,em){if(eb){if("string"==typeof eb)return eP(eb,em);var eH=Object.prototype.toString.call(eb).slice(8,-1);if("Object"===eH&&eb.constructor&&(eH=eb.constructor.name),"Map"===eH||"Set"===eH)return Array.from(eb);if("Arguments"===eH||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(eH))return eP(eb,em)}}function eP(eb,em){(null==em||em>eb.length)&&(em=eb.length);for(var eH=0,eV=Array(em);eH0&&void 0!==arguments[0]?arguments[0]:{};if(eX.current){null===(em=eY.current)||void 0===em||em.destroy();var eV=e_(e_(e_({},eb),eH),{},{container:eX.current});return eY.current=ew.default.loadAnimation(eV),eK(!!eY.current),function(){var eb;null===(eb=eY.current)||void 0===eb||eb.destroy(),eY.current=void 0}}};return eH.useEffect(function(){var eb=tV();return function(){return null==eb?void 0:eb()}},[eV,eC]),eH.useEffect(function(){eY.current&&(eY.current.autoplay=!!eT)},[eT]),eH.useEffect(function(){if(eY.current){if(!eS){eY.current.resetSegments(!0);return}Array.isArray(eS)&&eS.length&&((eY.current.currentRawFrameeS[1])&&(eY.current.currentRawFrame=eS[0]),eY.current.setSegment(eS[0],eS[1]))}},[eS]),eH.useEffect(function(){var eb=[{name:"complete",handler:eE},{name:"loopComplete",handler:eI},{name:"enterFrame",handler:eD},{name:"segmentStart",handler:eP},{name:"config_ready",handler:eO},{name:"data_ready",handler:eR},{name:"data_failed",handler:eB},{name:"loaded_images",handler:ej},{name:"DOMLoaded",handler:eU},{name:"destroy",handler:e$}].filter(function(eb){return null!=eb.handler});if(eb.length){var em=eb.map(function(eb){var em;return null===(em=eY.current)||void 0===em||em.addEventListener(eb.name,eb.handler),function(){var em;null===(em=eY.current)||void 0===em||em.removeEventListener(eb.name,eb.handler)}});return function(){em.forEach(function(eb){return eb()})}}},[eE,eI,eD,eP,eO,eR,eB,ej,eU,e$]),{View:eM.default.createElement("div",e_({style:em,ref:eX},eW)),play:eJ,stop:eQ,pause:e0,setSpeed:e6,goToAndStop:e3,goToAndPlay:e4,setDirection:e5,playSegments:e8,setSubframe:e9,getDuration:e7,destroy:tH,animationContainerRef:eX,animationLoaded:eG,animationItem:eY.current}};function eU(eb){var em=eb.getBoundingClientRect(),eH=em.top,eV=em.height;return(window.innerHeight-eH)/(window.innerHeight+eV)}function e$(eb,em,eH){var eV=eb.getBoundingClientRect(),ew=eV.top;return{x:(em-eV.left)/eV.width,y:(eH-ew)/eV.height}}var eW=function(eb){var em=eb.wrapperRef,eV=eb.animationItem,ew=eb.mode,eM=eb.actions;eH.useEffect(function(){var eb=em.current;if(eb&&eV&&eM.length){eV.stop();var eH=function(){var em=null,eH=function(){var eH=eU(eb),ew=eM.find(function(eb){var em=eb.visibility;return em&&eH>=em[0]&&eH<=em[1]});if(ew){if("seek"===ew.type&&ew.visibility&&2===ew.frames.length){var eC=ew.frames[0]+Math.ceil((eH-ew.visibility[0])/(ew.visibility[1]-ew.visibility[0])*ew.frames[1]);//! goToAndStop must be relative to the start of the current segment -eV.goToAndStop(eC-eV.firstFrame-1,!0)}"loop"===ew.type&&(null===em?(eV.playSegments(ew.frames,!0),em=ew.frames):em!==ew.frames?(eV.playSegments(ew.frames,!0),em=ew.frames):eV.isPaused&&(eV.playSegments(ew.frames,!0),em=ew.frames)),"play"===ew.type&&eV.isPaused&&(eV.resetSegments(!0),eV.play()),"stop"===ew.type&&eV.goToAndStop(ew.frames[0]-eV.firstFrame-1,!0)}};return document.addEventListener("scroll",eH),function(){document.removeEventListener("scroll",eH)}},eC=function(){var em=function(em,eH){var ew=em,eC=eH;if(-1!==ew&&-1!==eC){var eT=e$(eb,ew,eC);ew=eT.x,eC=eT.y}var e_=eM.find(function(eb){var em=eb.position;return em&&Array.isArray(em.x)&&Array.isArray(em.y)?ew>=em.x[0]&&ew<=em.x[1]&&eC>=em.y[0]&&eC<=em.y[1]:!(!em||Number.isNaN(em.x)||Number.isNaN(em.y))&&ew===em.x&&eC===em.y});if(e_){if("seek"===e_.type&&e_.position&&Array.isArray(e_.position.x)&&Array.isArray(e_.position.y)&&2===e_.frames.length){var eS=(ew-e_.position.x[0])/(e_.position.x[1]-e_.position.x[0]),eE=(eC-e_.position.y[0])/(e_.position.y[1]-e_.position.y[0]);eV.playSegments(e_.frames,!0),eV.goToAndStop(Math.ceil((eS+eE)/2*(e_.frames[1]-e_.frames[0])),!0)}"loop"===e_.type&&eV.playSegments(e_.frames,!0),"play"===e_.type&&(eV.isPaused&&eV.resetSegments(!1),eV.playSegments(e_.frames)),"stop"===e_.type&&eV.goToAndStop(e_.frames[0],!0)}},eH=function(eb){em(eb.clientX,eb.clientY)},ew=function(){em(-1,-1)};return eb.addEventListener("mousemove",eH),eb.addEventListener("mouseout",ew),function(){eb.removeEventListener("mousemove",eH),eb.removeEventListener("mouseout",ew)}};switch(ew){case"scroll":return eH();case"cursor":return eC()}}},[ew,eV])},eZ=function(eb){var em=eb.actions,eH=eb.mode,eV=eb.lottieObj,ew=eV.animationItem,eM=eV.View;return eW({actions:em,animationItem:ew,mode:eH,wrapperRef:eV.animationContainerRef}),eM},eG=["style","interactivity"],eK=function(eb){var em,eV,ew,eM=eb.style,eC=eb.interactivity,eT=ej(eA(eb,eG),eM),e_=eT.View,eS=eT.play,eE=eT.stop,eN=eT.pause,eI=eT.setSpeed,eD=eT.goToAndStop,eP=eT.goToAndPlay,eO=eT.setDirection,eR=eT.playSegments,eB=eT.setSubframe,eF=eT.getDuration,eU=eT.destroy,e$=eT.animationContainerRef,eW=eT.animationLoaded,eK=eT.animationItem;return eH.useEffect(function(){eb.lottieRef&&(eb.lottieRef.current={play:eS,stop:eE,pause:eN,setSpeed:eI,goToAndPlay:eP,goToAndStop:eD,setDirection:eO,playSegments:eR,setSubframe:eB,getDuration:eF,destroy:eU,animationContainerRef:e$,animationLoaded:eW,animationItem:eK})},[null===(em=eb.lottieRef)||void 0===em?void 0:em.current]),eZ({lottieObj:{View:e_,play:eS,stop:eE,pause:eN,setSpeed:eI,goToAndStop:eD,goToAndPlay:eP,setDirection:eO,playSegments:eR,setSubframe:eB,getDuration:eF,destroy:eU,animationContainerRef:e$,animationLoaded:eW,animationItem:eK},actions:null!==(eV=null==eC?void 0:eC.actions)&&void 0!==eV?eV:[],mode:null!==(ew=null==eC?void 0:eC.mode)&&void 0!==ew?ew:"scroll"})};Object.defineProperty(eb,"LottiePlayer",{enumerable:!0,get:function(){return ew.default}}),eb.default=eK,eb.useLottie=ej,eb.useLottieInteractivity=eZ,Object.defineProperty(eb,"__esModule",{value:!0})})},11248:function(module,exports,__webpack_require__){"undefined"!=typeof navigator&&function(eb,em){module.exports=em()}(0,function(){"use strict";var svgNS="http://www.w3.org/2000/svg",locationHref="",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function(eb){_useWebWorker=!!eb},getWebWorker=function(){return _useWebWorker},setLocationHref=function(eb){locationHref=eb},getLocationHref=function(){return locationHref};function createTag(eb){return document.createElement(eb)}function extendPrototype(eb,em){var eH,eV,ew=eb.length;for(eH=0;eH1?eH[1]=1:eH[1]<=0&&(eH[1]=0),HSVtoRGB(eH[0],eH[1],eH[2])}function addBrightnessToRGB(eb,em){var eH=RGBtoHSV(255*eb[0],255*eb[1],255*eb[2]);return eH[2]+=em,eH[2]>1?eH[2]=1:eH[2]<0&&(eH[2]=0),HSVtoRGB(eH[0],eH[1],eH[2])}function addHueToRGB(eb,em){var eH=RGBtoHSV(255*eb[0],255*eb[1],255*eb[2]);return eH[0]+=em/360,eH[0]>1?eH[0]-=1:eH[0]<0&&(eH[0]+=1),HSVtoRGB(eH[0],eH[1],eH[2])}var rgbToHex=function(){var eb,em,eH=[];for(eb=0;eb<256;eb+=1)em=eb.toString(16),eH[eb]=1===em.length?"0"+em:em;return function(eb,em,eV){return eb<0&&(eb=0),em<0&&(em=0),eV<0&&(eV=0),"#"+eH[eb]+eH[em]+eH[eV]}}(),setSubframeEnabled=function(eb){subframeEnabled=!!eb},getSubframeEnabled=function(){return subframeEnabled},setExpressionsPlugin=function(eb){expressionsPlugin=eb},getExpressionsPlugin=function(){return expressionsPlugin},setExpressionInterfaces=function(eb){expressionsInterfaces=eb},getExpressionInterfaces=function(){return expressionsInterfaces},setDefaultCurveSegments=function(eb){defaultCurveSegments=eb},getDefaultCurveSegments=function(){return defaultCurveSegments},setIdPrefix=function(eb){idPrefix$1=eb},getIdPrefix=function(){return idPrefix$1};function createNS(eb){return document.createElementNS(svgNS,eb)}function _typeof$5(eb){return(_typeof$5="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(eb){return typeof eb}:function(eb){return eb&&"function"==typeof Symbol&&eb.constructor===Symbol&&eb!==Symbol.prototype?"symbol":typeof eb})(eb)}var dataManager=function(){var eb,em,eH=1,eV=[],ew={onmessage:function(){},postMessage:function(em){eb({data:em})}},eM={postMessage:function(eb){ew.onmessage({data:eb})}};function eC(em){if(window.Worker&&window.Blob&&getWebWorker()){var eH=new Blob(["var _workerSelf = self; self.onmessage = ",em.toString()],{type:"text/javascript"}),eV=URL.createObjectURL(eH);return new Worker(eV)}return eb=em,ew}function eT(){em||((em=eC(function(eb){function em(){function eb(em,eH){var eC,eT,e_,eS,eE,eA,eN=em.length;for(eT=0;eT=0;em-=1)if("sh"===eb[em].ty){if(eb[em].ks.k.i)eM(eb[em].ks.k);else for(eH=0,eV=eb[em].ks.k.length;eHeH[0]||!(eH[0]>eb[0])&&(eb[1]>eH[1]||!(eH[1]>eb[1])&&(eb[2]>eH[2]||!(eH[2]>eb[2])&&null))}var eT=function(){var eb=[4,4,14];function em(eb){var em=eb.t.d;eb.t.d={k:[{s:em,t:0}]}}function eH(eb){var eH,eV=eb.length;for(eH=0;eH=0;eH-=1)if("sh"===eb[eH].ty){if(eb[eH].ks.k.i)eb[eH].ks.k.c=eb[eH].closed;else for(eV=0,ew=eb[eH].ks.k.length;eV500)&&(this._imageLoaded(),clearInterval(eH)),em+=1}).bind(this),50)}function eM(em){var eH=eV(em,this.assetsPath,this.path),ew=createNS("image");isSafari?this.testImageLoaded(ew):ew.addEventListener("load",this._imageLoaded,!1),ew.addEventListener("error",(function(){eM.img=eb,this._imageLoaded()}).bind(this),!1),ew.setAttributeNS("http://www.w3.org/1999/xlink","href",eH),this._elementHelper.append?this._elementHelper.append(ew):this._elementHelper.appendChild(ew);var eM={img:ew,assetData:em};return eM}function eC(em){var eH=eV(em,this.assetsPath,this.path),ew=createTag("img");ew.crossOrigin="anonymous",ew.addEventListener("load",this._imageLoaded,!1),ew.addEventListener("error",(function(){eM.img=eb,this._imageLoaded()}).bind(this),!1),ew.src=eH;var eM={img:ew,assetData:em};return eM}function eT(eb){var em={assetData:eb},eH=eV(eb,this.assetsPath,this.path);return dataManager.loadData(eH,(function(eb){em.img=eb,this._footageLoaded()}).bind(this),(function(){em.img={},this._footageLoaded()}).bind(this)),em}function e_(eb,em){this.imagesLoadedCb=em;var eH,eV=eb.length;for(eH=0;eHthis.animationData.op&&(this.animationData.op=eb.op,this.totalFrames=Math.floor(eb.op-this.animationData.ip));var em,eH,eV=this.animationData.layers,ew=eV.length,eM=eb.layers,eC=eM.length;for(eH=0;eHthis.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame")},AnimationItem.prototype.renderFrame=function(){if(!1!==this.isLoaded&&this.renderer)try{this.expressionsPlugin&&this.expressionsPlugin.resetFrame(),this.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(eb){this.triggerRenderFrameError(eb)}},AnimationItem.prototype.play=function(eb){(!eb||this.name===eb)&&!0===this.isPaused&&(this.isPaused=!1,this.trigger("_play"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")))},AnimationItem.prototype.pause=function(eb){eb&&this.name!==eb||!1!==this.isPaused||(this.isPaused=!0,this.trigger("_pause"),this._idle=!0,this.trigger("_idle"),this.audioController.pause())},AnimationItem.prototype.togglePause=function(eb){eb&&this.name!==eb||(!0===this.isPaused?this.play():this.pause())},AnimationItem.prototype.stop=function(eb){eb&&this.name!==eb||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0))},AnimationItem.prototype.getMarkerData=function(eb){for(var em,eH=0;eH=this.totalFrames-1&&this.frameModifier>0?this.loop&&this.playCount!==this.loop?em>=this.totalFrames?(this.playCount+=1,this.checkSegments(em%this.totalFrames)||(this.setCurrentRawFrameValue(em%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(em):this.checkSegments(em>this.totalFrames?em%this.totalFrames:0)||(eH=!0,em=this.totalFrames-1):em<0?this.checkSegments(em%this.totalFrames)||(this.loop&&!(this.playCount--<=0&&!0!==this.loop)?(this.setCurrentRawFrameValue(this.totalFrames+em%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0):(eH=!0,em=0)):this.setCurrentRawFrameValue(em),eH&&(this.setCurrentRawFrameValue(em),this.pause(),this.trigger("complete"))}},AnimationItem.prototype.adjustSegment=function(eb,em){this.playCount=0,eb[1]0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=eb[0]-eb[1],this.timeCompleted=this.totalFrames,this.firstFrame=eb[1],this.setCurrentRawFrameValue(this.totalFrames-.001-em)):eb[1]>eb[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=eb[1]-eb[0],this.timeCompleted=this.totalFrames,this.firstFrame=eb[0],this.setCurrentRawFrameValue(.001+em)),this.trigger("segmentStart")},AnimationItem.prototype.setSegment=function(eb,em){var eH=-1;this.isPaused&&(this.currentRawFrame+this.firstFrameem&&(eH=em-eb)),this.firstFrame=eb,this.totalFrames=em-eb,this.timeCompleted=this.totalFrames,-1!==eH&&this.goToAndStop(eH,!0)},AnimationItem.prototype.playSegments=function(eb,em){if(em&&(this.segments.length=0),"object"===_typeof$4(eb[0])){var eH,eV=eb.length;for(eH=0;eH=0;eH-=1)em[eH].animation.destroy(eb)}function eZ(eb,em,eH){var eV,ew=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),eM=ew.length;for(eV=0;eV0?eH=e_:em=e_;while(Math.abs(eT)>eM&&++eS=ew?eO(eb,eE,em,eH):0===eA?eE:eP(eb,eM,eM+e_,em,eH)}},eb}(),pooling=function(){return{double:function(eb){return eb.concat(createSizedArray(eb.length))}}}(),poolFactory=function(){return function(eb,em,eH){var eV=0,ew=eb,eM=createSizedArray(ew);return{newElement:function(){var eb;return eV?(eV-=1,eb=eM[eV]):eb=em(),eb},release:function(eb){eV===ew&&(eM=pooling.double(eM),ew*=2),eH&&eH(eb),eM[eV]=eb,eV+=1}}}}(),bezierLengthPool=function(){return poolFactory(8,function(){return{addedLength:0,percents:createTypedArray("float32",getDefaultCurveSegments()),lengths:createTypedArray("float32",getDefaultCurveSegments())}})}(),segmentsLengthPool=function(){function eb(eb){var em,eH=eb.lengths.length;for(em=0;em-.001&&eC<.001}function eH(eH,eV,ew,eM,eC,eT,e_,eS,eE){if(0===ew&&0===eT&&0===eE)return em(eH,eV,eM,eC,e_,eS);var eA,eN=eb.sqrt(eb.pow(eM-eH,2)+eb.pow(eC-eV,2)+eb.pow(eT-ew,2)),eI=eb.sqrt(eb.pow(e_-eH,2)+eb.pow(eS-eV,2)+eb.pow(eE-ew,2)),eD=eb.sqrt(eb.pow(e_-eM,2)+eb.pow(eS-eC,2)+eb.pow(eE-eT,2));return(eA=eN>eI?eN>eD?eN-eI-eD:eD-eI-eN:eD>eI?eD-eI-eN:eI-eN-eD)>-.0001&&eA<1e-4}var eV=function(){return function(eb,em,eH,eV){var ew,eM,eC,eT,e_,eS,eE=getDefaultCurveSegments(),eA=0,eN=[],eI=[],eD=bezierLengthPool.newElement();for(ew=0,eC=eH.length;eweC?-1:1,eS=!0;eS;)if(eV[eM]<=eC&&eV[eM+1]>eC?(eT=(eC-eV[eM])/(eV[eM+1]-eV[eM]),eS=!1):eM+=e_,eM<0||eM>=ew-1){if(eM===ew-1)return eH[eM];eS=!1}return eH[eM]+(eH[eM+1]-eH[eM])*eT}function eS(em,eH,eV,ew,eM,eC){var eT=e_(eM,eC),eS=1-eT;return[eb.round((eS*eS*eS*em[0]+(eT*eS*eS+eS*eT*eS+eS*eS*eT)*eV[0]+(eT*eT*eS+eS*eT*eT+eT*eS*eT)*ew[0]+eT*eT*eT*eH[0])*1e3)/1e3,eb.round((eS*eS*eS*em[1]+(eT*eS*eS+eS*eT*eS+eS*eS*eT)*eV[1]+(eT*eT*eS+eS*eT*eT+eT*eS*eT)*ew[1]+eT*eT*eT*eH[1])*1e3)/1e3]}var eE=createTypedArray("float32",8);return{getSegmentsLength:ew,getNewSegment:function(em,eH,eV,ew,eM,eC,eT){eM<0?eM=0:eM>1&&(eM=1);var eS,eA=e_(eM,eT),eN=e_(eC=eC>1?1:eC,eT),eI=em.length,eD=1-eA,eP=1-eN,eO=eD*eD*eD,eR=eA*eD*eD*3,eB=eA*eA*eD*3,eF=eA*eA*eA,ej=eD*eD*eP,eU=eA*eD*eP+eD*eA*eP+eD*eD*eN,e$=eA*eA*eP+eD*eA*eN+eA*eD*eN,eW=eA*eA*eN,eZ=eD*eP*eP,eG=eA*eP*eP+eD*eN*eP+eD*eP*eN,eK=eA*eN*eP+eD*eN*eN+eA*eP*eN,eY=eA*eN*eN,eX=eP*eP*eP,eJ=eN*eP*eP+eP*eN*eP+eP*eP*eN,eQ=eN*eN*eP+eP*eN*eN+eN*eP*eN,e0=eN*eN*eN;for(eS=0;eS=eB.t-eT){eR.h&&(eR=eB),e_=0;break}if(eB.t-eT>eb){e_=eS;break}eS=eN||eb=eN?eD.points.length-1:0;for(ej=0,eU=eD.points[eP].point.length;ej=eJ&&eX=eN?(eO[0]=eK[0],eO[1]=eK[1],eO[2]=eK[2]):eb<=eI?(eO[0]=eR.s[0],eO[1]=eR.s[1],eO[2]=eR.s[2]):quaternionToEuler(eO,slerp(createQuaternion(eR.s),createQuaternion(eK),(eb-eI)/(eN-eI)));else for(eS=0;eS=eN?e$=1:eb1e-6?(eM=Math.sin(eV=Math.acos(ew)),eC=Math.sin((1-eH)*eV)/eM,eT=Math.sin(eH*eV)/eM):(eC=1-eH,eT=eH),e_[0]=eC*eS+eT*eI,e_[1]=eC*eE+eT*eD,e_[2]=eC*eA+eT*eP,e_[3]=eC*eN+eT*eO,e_}function quaternionToEuler(eb,em){var eH=em[0],eV=em[1],ew=em[2],eM=em[3],eC=Math.atan2(2*eV*eM-2*eH*ew,1-2*eV*eV-2*ew*ew),eT=Math.asin(2*eH*eV+2*ew*eM),e_=Math.atan2(2*eH*eM-2*eV*ew,1-2*eH*eH-2*ew*ew);eb[0]=eC/degToRads,eb[1]=eT/degToRads,eb[2]=e_/degToRads}function createQuaternion(eb){var em=eb[0]*degToRads,eH=eb[1]*degToRads,eV=eb[2]*degToRads,ew=Math.cos(em/2),eM=Math.cos(eH/2),eC=Math.cos(eV/2),eT=Math.sin(em/2),e_=Math.sin(eH/2),eS=Math.sin(eV/2),eE=ew*eM*eC-eT*e_*eS;return[eT*e_*eC+ew*eM*eS,eT*eM*eC+ew*e_*eS,ew*e_*eC-eT*eM*eS,eE]}function getValueAtCurrentTime(){var eb=this.comp.renderedFrame-this.offsetTime,em=this.keyframes[0].t-this.offsetTime,eH=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(eb===this._caching.lastFrame||this._caching.lastFrame!==initFrame&&(this._caching.lastFrame>=eH&&eb>=eH||this._caching.lastFrame=eb&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var eV=this.interpolateValue(eb,this._caching);this.pv=eV}return this._caching.lastFrame=eb,this.pv}function setVValue(eb){var em;if("unidimensional"===this.propType)em=eb*this.mult,mathAbs(this.v-em)>1e-5&&(this.v=em,this._mdf=!0);else for(var eH=0,eV=this.v.length;eH1e-5&&(this.v[eH]=em,this._mdf=!0),eH+=1}function processEffectsSequence(){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length){if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=this._isFirstFrame;var eb,em=this.effectsSequence.length,eH=this.kf?this.pv:this.data.k;for(eb=0;eb=this._maxLength&&this.doubleArrayLength(),eH){case"v":eM=this.v;break;case"i":eM=this.i;break;case"o":eM=this.o;break;default:eM=[]}eM[eV]&&(!eM[eV]||ew)||(eM[eV]=pointPool.newElement()),eM[eV][0]=eb,eM[eV][1]=em},ShapePath.prototype.setTripleAt=function(eb,em,eH,eV,ew,eM,eC,eT){this.setXYAt(eb,em,"v",eC,eT),this.setXYAt(eH,eV,"o",eC,eT),this.setXYAt(ew,eM,"i",eC,eT)},ShapePath.prototype.reverse=function(){var eb,em=new ShapePath;em.setPathData(this.c,this._length);var eH=this.v,eV=this.o,ew=this.i,eM=0;this.c&&(em.setTripleAt(eH[0][0],eH[0][1],ew[0][0],ew[0][1],eV[0][0],eV[0][1],0,!1),eM=1);var eC=this._length-1,eT=this._length;for(eb=eM;eb=ew[ew.length-1].t-this.offsetTime)eM=ew[ew.length-1].s?ew[ew.length-1].s[0]:ew[ew.length-2].e[0],eT=!0;else{for(var eM,eC,eT,e_,eS,eE,eA,eN,eI,eD,eP,eO,eR,eB=eV,eF=ew.length-1,ej=!0;ej&&(eD=ew[eB],!((eP=ew[eB+1]).t-this.offsetTime>eb));)eB=eP.t-this.offsetTime?eN=1:ebeV&&em>eV)||(this._caching.lastIndex=ew0||eb>-.000001&&eb<0?eV(eb*em)/em:eb}function e4(){var eb=this.props;return"matrix("+e6(eb[0])+","+e6(eb[1])+","+e6(eb[4])+","+e6(eb[5])+","+e6(eb[12])+","+e6(eb[13])+")"}return function(){this.reset=ew,this.rotate=eM,this.rotateX=eC,this.rotateY=eT,this.rotateZ=e_,this.skew=eE,this.skewFromAxis=eA,this.shear=eS,this.scale=eN,this.setTransform=eI,this.translate=eD,this.transform=eP,this.multiply=eO,this.applyToPoint=eU,this.applyToX=e$,this.applyToY=eW,this.applyToZ=eZ,this.applyToPointArray=eJ,this.applyToTriplePoints=eX,this.applyToPointStringified=eQ,this.toCSS=e0,this.to2dCSS=e4,this.clone=eF,this.cloneFromProps=ej,this.equals=eB,this.inversePoints=eY,this.inversePoint=eK,this.getInverseMatrix=eG,this._t=this.transform,this.isIdentity=eR,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset()}}();function _typeof$3(eb){return(_typeof$3="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(eb){return typeof eb}:function(eb){return eb&&"function"==typeof Symbol&&eb.constructor===Symbol&&eb!==Symbol.prototype?"symbol":typeof eb})(eb)}var lottie={},standalone="__[STANDALONE]__",animationData="__[ANIMATIONDATA]__",renderer="";function setLocation(eb){setLocationHref(eb)}function searchAnimations(){!0===standalone?animationManager.searchAnimations(animationData,standalone,renderer):animationManager.searchAnimations()}function setSubframeRendering(eb){setSubframeEnabled(eb)}function setPrefix(eb){setIdPrefix(eb)}function loadAnimation(eb){return!0===standalone&&(eb.animationData=JSON.parse(animationData)),animationManager.loadAnimation(eb)}function setQuality(eb){if("string"==typeof eb)switch(eb){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10)}else!isNaN(eb)&&eb>1&&setDefaultCurveSegments(eb);getDefaultCurveSegments()>=50?roundValues(!1):roundValues(!0)}function inBrowser(){return"undefined"!=typeof navigator}function installPlugin(eb,em){"expressions"===eb&&setExpressionsPlugin(em)}function getFactory(eb){switch(eb){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}function checkReady(){"complete"===document.readyState&&(clearInterval(readyStateCheckInterval),searchAnimations())}function getQueryVariable(eb){for(var em=queryString.split("&"),eH=0;eH=1?eT.push({s:eb-1,e:em-1}):(eT.push({s:eb,e:1}),eT.push({s:0,e:em-1}));var e_=[],eS=eT.length;for(eM=0;eMeV+eH||e_.push([eC.s*ew<=eV?0:(eC.s*ew-eV)/eH,eC.e*ew>=eV+eH?1:(eC.e*ew-eV)/eH]);return e_.length||e_.push([0,0]),e_},TrimModifier.prototype.releasePathsData=function(eb){var em,eH=eb.length;for(em=0;em1?1+em:this.s.v<0?0+em:this.s.v+em)>(eC=this.e.v>1?1+em:this.e.v<0?0+em:this.e.v+em)){var eH=eM;eM=eC,eC=eH}eM=1e-4*Math.round(1e4*eM),eC=1e-4*Math.round(1e4*eC),this.sValue=eM,this.eValue=eC}else eM=this.sValue,eC=this.eValue;var eV=this.shapes.length,ew=0;if(eC===eM)for(e_=0;e_=0;e_-=1)if((eD=this.shapes[e_]).shape._mdf){for((eP=eD.localShapeCollection).releaseShapes(),2===this.m&&eV>1?(eO=this.calculateShapeEdges(eM,eC,eD.totalShapeLength,ej,ew),ej+=eD.totalShapeLength):eO=[[eB,eF]],eE=eO.length,eS=0;eS=1?eR.push({s:eD.totalShapeLength*(eB-1),e:eD.totalShapeLength*(eF-1)}):(eR.push({s:eD.totalShapeLength*eB,e:eD.totalShapeLength}),eR.push({s:0,e:eD.totalShapeLength*(eF-1)}));var eU=this.addShapes(eD,eR[0]);if(eR[0].s!==eR[0].e){if(eR.length>1){if(eD.shape.paths.shapes[eD.shape.paths._length-1].c){var e$=eU.pop();this.addPaths(eU,eP),eU=this.addShapes(eD,eR[1],e$)}else this.addPaths(eU,eP),eU=this.addShapes(eD,eR[1])}this.addPaths(eU,eP)}}eD.shape.paths=eP}}},TrimModifier.prototype.addPaths=function(eb,em){var eH,eV=eb.length;for(eH=0;eHem.e){eH.c=!1;break}else em.s<=eD&&em.e>=eD+eC.addedLength?(this.addSegment(eN[eV].v[ew-1],eN[eV].o[ew-1],eN[eV].i[ew],eN[eV].v[ew],eH,eT,eO),eO=!1):(eS=bez.getNewSegment(eN[eV].v[ew-1],eN[eV].v[ew],eN[eV].o[ew-1],eN[eV].i[ew],(em.s-eD)/eC.addedLength,(em.e-eD)/eC.addedLength,e_[ew-1]),this.addSegmentFromArray(eS,eH,eT,eO),eO=!1,eH.c=!1),eD+=eC.addedLength,eT+=1;if(eN[eV].c&&e_.length){if(eC=e_[ew-1],eD<=em.e){var eR=e_[ew-1].addedLength;em.s<=eD&&em.e>=eD+eR?(this.addSegment(eN[eV].v[ew-1],eN[eV].o[ew-1],eN[eV].i[0],eN[eV].v[0],eH,eT,eO),eO=!1):(eS=bez.getNewSegment(eN[eV].v[ew-1],eN[eV].v[0],eN[eV].o[ew-1],eN[eV].i[0],(em.s-eD)/eR,(em.e-eD)/eR,e_[ew-1]),this.addSegmentFromArray(eS,eH,eT,eO),eO=!1,eH.c=!1)}else eH.c=!1;eD+=eC.addedLength,eT+=1}if(eH._length&&(eH.setXYAt(eH.v[eE][0],eH.v[eE][1],"i",eE),eH.setXYAt(eH.v[eH._length-1][0],eH.v[eH._length-1][1],"o",eH._length-1)),eD>em.e)break;eV=this.p.keyframes[this.p.keyframes.length-1].t?(eV=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/eH,0),ew=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/eH,0)):(eV=this.p.pv,ew=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/eH,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){eV=[],ew=[];var eV,ew,eM=this.px,eC=this.py;eM._caching.lastFrame+eM.offsetTime<=eM.keyframes[0].t?(eV[0]=eM.getValueAtTime((eM.keyframes[0].t+.01)/eH,0),eV[1]=eC.getValueAtTime((eC.keyframes[0].t+.01)/eH,0),ew[0]=eM.getValueAtTime(eM.keyframes[0].t/eH,0),ew[1]=eC.getValueAtTime(eC.keyframes[0].t/eH,0)):eM._caching.lastFrame+eM.offsetTime>=eM.keyframes[eM.keyframes.length-1].t?(eV[0]=eM.getValueAtTime(eM.keyframes[eM.keyframes.length-1].t/eH,0),eV[1]=eC.getValueAtTime(eC.keyframes[eC.keyframes.length-1].t/eH,0),ew[0]=eM.getValueAtTime((eM.keyframes[eM.keyframes.length-1].t-.01)/eH,0),ew[1]=eC.getValueAtTime((eC.keyframes[eC.keyframes.length-1].t-.01)/eH,0)):(eV=[eM.pv,eC.pv],ew[0]=eM.getValueAtTime((eM._caching.lastFrame+eM.offsetTime-.01)/eH,eM.offsetTime),ew[1]=eC.getValueAtTime((eC._caching.lastFrame+eC.offsetTime-.01)/eH,eC.offsetTime))}else eV=ew=eb;this.v.rotate(-Math.atan2(eV[1]-ew[1],eV[0]-ew[0]))}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}}function eV(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length&&(this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1,!this.s.effectsSequence.length)){if(this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2,this.sk){if(this.sk.effectsSequence.length||this.sa.effectsSequence.length)return;this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3}this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):this.rz.effectsSequence.length||this.ry.effectsSequence.length||this.rx.effectsSequence.length||this.or.effectsSequence.length||(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4)}}function ew(){}function eM(eb){this._addDynamicProperty(eb),this.elem.addDynamicProperty(eb),this._isDirty=!0}function eC(eb,em,eH){if(this.elem=eb,this.frameId=-1,this.propType="transform",this.data=em,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(eH||eb),em.p&&em.p.s?(this.px=PropertyFactory.getProp(eb,em.p.x,0,0,this),this.py=PropertyFactory.getProp(eb,em.p.y,0,0,this),em.p.z&&(this.pz=PropertyFactory.getProp(eb,em.p.z,0,0,this))):this.p=PropertyFactory.getProp(eb,em.p||{k:[0,0,0]},1,0,this),em.rx){if(this.rx=PropertyFactory.getProp(eb,em.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(eb,em.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(eb,em.rz,0,degToRads,this),em.or.k[0].ti){var eV,ew=em.or.k.length;for(eV=0;eV=Math.abs(eb)}function lerp(eb,em,eH){return eb*(1-eH)+em*eH}function lerpPoint(eb,em,eH){return[lerp(eb[0],em[0],eH),lerp(eb[1],em[1],eH)]}function quadRoots(eb,em,eH){if(0===eb)return[];var eV=em*em-4*eb*eH;if(eV<0)return[];var ew=-em/(2*eb);if(0===eV)return[ew];var eM=Math.sqrt(eV)/(2*eb);return[ew-eM,ew+eM]}function polynomialCoefficients(eb,em,eH,eV){return[-eb+3*em-3*eH+eV,3*eb-6*em+3*eH,-3*eb+3*em,eb]}function singlePoint(eb){return new PolynomialBezier(eb,eb,eb,eb,!1)}function PolynomialBezier(eb,em,eH,eV,ew){ew&&pointEqual(eb,em)&&(em=lerpPoint(eb,eV,1/3)),ew&&pointEqual(eH,eV)&&(eH=lerpPoint(eb,eV,2/3));var eM=polynomialCoefficients(eb[0],em[0],eH[0],eV[0]),eC=polynomialCoefficients(eb[1],em[1],eH[1],eV[1]);this.a=[eM[0],eC[0]],this.b=[eM[1],eC[1]],this.c=[eM[2],eC[2]],this.d=[eM[3],eC[3]],this.points=[eb,em,eH,eV]}function extrema(eb,em){var eH=eb.points[0][em],eV=eb.points[eb.points.length-1][em];if(eH>eV){var ew=eV;eV=eH,eH=ew}for(var eM=quadRoots(3*eb.a[em],2*eb.b[em],eb.c[em]),eC=0;eC0&&eM[eC]<1){var eT=eb.point(eM[eC])[em];eTeV&&(eV=eT)}return{min:eH,max:eV}}function intersectData(eb,em,eH){var eV=eb.boundingBox();return{cx:eV.cx,cy:eV.cy,width:eV.width,height:eV.height,bez:eb,t:(em+eH)/2,t1:em,t2:eH}}function splitData(eb){var em=eb.bez.split(.5);return[intersectData(em[0],eb.t1,eb.t),intersectData(em[1],eb.t,eb.t2)]}function boxIntersect(eb,em){return 2*Math.abs(eb.cx-em.cx)=eM||eb.width<=eV&&eb.height<=eV&&em.width<=eV&&em.height<=eV){ew.push([eb.t,em.t]);return}var eC=splitData(eb),eT=splitData(em);intersectsImpl(eC[0],eT[0],eH+1,eV,ew,eM),intersectsImpl(eC[0],eT[1],eH+1,eV,ew,eM),intersectsImpl(eC[1],eT[0],eH+1,eV,ew,eM),intersectsImpl(eC[1],eT[1],eH+1,eV,ew,eM)}}function crossProduct(eb,em){return[eb[1]*em[2]-eb[2]*em[1],eb[2]*em[0]-eb[0]*em[2],eb[0]*em[1]-eb[1]*em[0]]}function lineIntersection(eb,em,eH,eV){var ew=[eb[0],eb[1],1],eM=[em[0],em[1],1],eC=[eH[0],eH[1],1],eT=[eV[0],eV[1],1],e_=crossProduct(crossProduct(ew,eM),crossProduct(eC,eT));return floatZero(e_[2])?null:[e_[0]/e_[2],e_[1]/e_[2]]}function polarOffset(eb,em,eH){return[eb[0]+Math.cos(em)*eH,eb[1]-Math.sin(em)*eH]}function pointDistance(eb,em){return Math.hypot(eb[0]-em[0],eb[1]-em[1])}function pointEqual(eb,em){return floatEqual(eb[0],em[0])&&floatEqual(eb[1],em[1])}function ZigZagModifier(){}function setPoint(eb,em,eH,eV,ew,eM,eC){var eT=eH-Math.PI/2,e_=eH+Math.PI/2,eS=em[0]+Math.cos(eH)*eV*ew,eE=em[1]-Math.sin(eH)*eV*ew;eb.setTripleAt(eS,eE,eS+Math.cos(eT)*eM,eE-Math.sin(eT)*eM,eS+Math.cos(e_)*eC,eE-Math.sin(e_)*eC,eb.length())}function getPerpendicularVector(eb,em){var eH=[em[0]-eb[0],em[1]-eb[1]],eV=-(.5*Math.PI);return[Math.cos(eV)*eH[0]-Math.sin(eV)*eH[1],Math.sin(eV)*eH[0]+Math.cos(eV)*eH[1]]}function getProjectingAngle(eb,em){var eH=0===em?eb.length()-1:em-1,eV=(em+1)%eb.length(),ew=getPerpendicularVector(eb.v[eH],eb.v[eV]);return Math.atan2(0,1)-Math.atan2(ew[1],ew[0])}function zigZagCorner(eb,em,eH,eV,ew,eM,eC){var eT=getProjectingAngle(em,eH),e_=em.v[eH%em._length],eS=em.v[0===eH?em._length-1:eH-1],eE=em.v[(eH+1)%em._length],eA=2===eM?Math.sqrt(Math.pow(e_[0]-eS[0],2)+Math.pow(e_[1]-eS[1],2)):0,eN=2===eM?Math.sqrt(Math.pow(e_[0]-eE[0],2)+Math.pow(e_[1]-eE[1],2)):0;setPoint(eb,em.v[eH%em._length],eT,eC,eV,eN/((ew+1)*2),eA/((ew+1)*2),eM)}function zigZagSegment(eb,em,eH,eV,ew,eM){for(var eC=0;eC1&&em.length>1&&(ew=getIntersection(eb[0],em[em.length-1])))?[[eb[0].split(ew[0])[0]],[em[em.length-1].split(ew[1])[1]]]:[eH,eV]}function pruneIntersections(eb){for(var em,eH=1;eH1&&(em=pruneSegmentIntersection(eb[eb.length-1],eb[0]),eb[eb.length-1]=em[0],eb[0]=em[1]),eb}function offsetSegmentSplit(eb,em){var eH,eV,ew,eM,eC=eb.inflectionPoints();if(0===eC.length)return[offsetSegment(eb,em)];if(1===eC.length||floatEqual(eC[1],1))return eH=(ew=eb.split(eC[0]))[0],eV=ew[1],[offsetSegment(eH,em),offsetSegment(eV,em)];eH=(ew=eb.split(eC[0]))[0];var eT=(eC[1]-eC[0])/(1-eC[0]);return eM=(ew=ew[1].split(eT))[0],eV=ew[1],[offsetSegment(eH,em),offsetSegment(eM,em),offsetSegment(eV,em)]}function OffsetPathModifier(){}function getFontProperties(eb){for(var em=eb.fStyle?eb.fStyle.split(" "):[],eH="normal",eV="normal",ew=em.length,eM=0;eM0;)eH-=1,this._elements.unshift(em[eH]);this.dynamicProperties.length?this.k=!0:this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(eb){var em,eH=eb.length;for(em=0;em0?Math.floor(eD):Math.ceil(eD),eR=this.pMatrix.props,eB=this.rMatrix.props,eF=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var ej=0;if(eD>0){for(;ejeO;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),ej-=1;eP&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-eP,!0),ej-=eP)}for(ew=1===this.data.m?0:this._currentCopies-1,eM=1===this.data.m?1:-1,eC=this._currentCopies;eC;){if(eS=(eV=(eH=this.elemsData[ew].it)[eH.length-1].transform.mProps.v.props).length,eH[eH.length-1].transform.mProps._mdf=!0,eH[eH.length-1].transform.op._mdf=!0,eH[eH.length-1].transform.op.v=1===this._currentCopies?this.so.v:this.so.v+(this.eo.v-this.so.v)*(ew/(this._currentCopies-1)),0!==ej){for((0!==ew&&1===eM||ew!==this._currentCopies-1&&-1===eM)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(eB[0],eB[1],eB[2],eB[3],eB[4],eB[5],eB[6],eB[7],eB[8],eB[9],eB[10],eB[11],eB[12],eB[13],eB[14],eB[15]),this.matrix.transform(eF[0],eF[1],eF[2],eF[3],eF[4],eF[5],eF[6],eF[7],eF[8],eF[9],eF[10],eF[11],eF[12],eF[13],eF[14],eF[15]),this.matrix.transform(eR[0],eR[1],eR[2],eR[3],eR[4],eR[5],eR[6],eR[7],eR[8],eR[9],eR[10],eR[11],eR[12],eR[13],eR[14],eR[15]),e_=0;e_0&&eV<1?[em]:[]:[em-eV,em+eV].filter(function(eb){return eb>0&&eb<1})},PolynomialBezier.prototype.split=function(eb){if(eb<=0)return[singlePoint(this.points[0]),this];if(eb>=1)return[this,singlePoint(this.points[this.points.length-1])];var em=lerpPoint(this.points[0],this.points[1],eb),eH=lerpPoint(this.points[1],this.points[2],eb),eV=lerpPoint(this.points[2],this.points[3],eb),ew=lerpPoint(em,eH,eb),eM=lerpPoint(eH,eV,eb),eC=lerpPoint(ew,eM,eb);return[new PolynomialBezier(this.points[0],em,ew,eC,!0),new PolynomialBezier(eC,eM,eV,this.points[3],!0)]},PolynomialBezier.prototype.bounds=function(){return{x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var eb=this.bounds();return{left:eb.x.min,right:eb.x.max,top:eb.y.min,bottom:eb.y.max,width:eb.x.max-eb.x.min,height:eb.y.max-eb.y.min,cx:(eb.x.max+eb.x.min)/2,cy:(eb.y.max+eb.y.min)/2}},PolynomialBezier.prototype.intersections=function(eb,em,eH){void 0===em&&(em=2),void 0===eH&&(eH=7);var eV=[];return intersectsImpl(intersectData(this,0,1),intersectData(eb,0,1),0,em,eV,eH),eV},PolynomialBezier.shapeSegment=function(eb,em){var eH=(em+1)%eb.length();return new PolynomialBezier(eb.v[em],eb.o[em],eb.i[eH],eb.v[eH],!0)},PolynomialBezier.shapeSegmentInverted=function(eb,em){var eH=(em+1)%eb.length();return new PolynomialBezier(eb.v[eH],eb.i[eH],eb.o[em],eb.v[em],!0)},extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(eb,em){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(eb,em.s,0,null,this),this.frequency=PropertyFactory.getProp(eb,em.r,0,null,this),this.pointsType=PropertyFactory.getProp(eb,em.pt,0,null,this),this._isAnimated=0!==this.amplitude.effectsSequence.length||0!==this.frequency.effectsSequence.length||0!==this.pointsType.effectsSequence.length},ZigZagModifier.prototype.processPath=function(eb,em,eH,eV){var ew=eb._length,eM=shapePool.newElement();if(eM.c=eb.c,eb.c||(ew-=1),0===ew)return eM;var eC=-1,eT=PolynomialBezier.shapeSegment(eb,0);zigZagCorner(eM,eb,0,em,eH,eV,eC);for(var e_=0;e_=0;ew-=1)eC=PolynomialBezier.shapeSegmentInverted(eb,ew),eS.push(offsetSegmentSplit(eC,em));eS=pruneIntersections(eS);var eE=null,eA=null;for(ew=0;ew0&&(e_=!1),e_){var eS=createTag("style");eS.setAttribute("f-forigin",eH[eM].fOrigin),eS.setAttribute("f-origin",eH[eM].origin),eS.setAttribute("f-family",eH[eM].fFamily),eS.type="text/css",eS.innerText="@font-face {font-family: "+eH[eM].fFamily+"; font-style: normal; src: url('"+eH[eM].fPath+"');}",em.appendChild(eS)}}else if("g"===eH[eM].fOrigin||1===eH[eM].origin){for(eT=0,eC=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]');eT=55296&&eH<=56319){var eV=eb.charCodeAt(1);eV>=56320&&eV<=57343&&(em=(eH-55296)*1024+eV-56320+65536)}return em}function e$(eb,em){var eH=eb.toString(16)+em.toString(16);return -1!==eA.indexOf(eH)}function eW(eb){return eb===e_}function eZ(eb){return eb===eT}function eG(eb){var em=eU(eb);return em>=eS&&em<=eE}function eK(eb){return eG(eb.substr(0,2))&&eG(eb.substr(2,2))}function eY(eb){return -1!==eH.indexOf(eb)}function eX(eb,em){var eH=eU(eb.substr(em,2));if(eH!==eV)return!1;var eT=0;for(em+=2;eT<5;){if((eH=eU(eb.substr(em,2)))eC)return!1;eT+=1,em+=2}return eU(eb.substr(em,2))===ew}function eJ(){this.isLoaded=!0}var eQ=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this)};eQ.isModifier=e$,eQ.isZeroWidthJoiner=eW,eQ.isFlagEmoji=eK,eQ.isRegionalCode=eG,eQ.isCombinedCharacter=eY,eQ.isRegionalFlag=eX,eQ.isVariationSelector=eZ,eQ.BLACK_FLAG_CODE_POINT=eV;var e0={addChars:eR,addFonts:eO,getCharData:eB,getFontByName:ej,measureText:eF,checkLoadedFonts:eD,setIsLoaded:eJ};return eQ.prototype=e0,eQ}();function SlotManager(eb){this.animationData=eb}function slotFactory(eb){return new SlotManager(eb)}function RenderableElement(){}SlotManager.prototype.getProp=function(eb){return this.animationData.slots&&this.animationData.slots[eb.sid]?Object.assign(eb,this.animationData.slots[eb.sid].p):eb},RenderableElement.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function(eb){-1===this.renderableComponents.indexOf(eb)&&this.renderableComponents.push(eb)},removeRenderableComponent:function(eb){-1!==this.renderableComponents.indexOf(eb)&&this.renderableComponents.splice(this.renderableComponents.indexOf(eb),1)},prepareRenderableFrame:function(eb){this.checkLayerLimits(eb)},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show())},checkLayerLimits:function(eb){this.data.ip-this.data.st<=eb&&this.data.op-this.data.st>eb?!0!==this.isInRange&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):!1!==this.isInRange&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide())},renderRenderable:function(){var eb,em=this.renderableComponents.length;for(eb=0;eb.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0))},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},AudioElement.prototype.resume=function(){this._canPlay=!0},AudioElement.prototype.setRate=function(eb){this.audio.rate(eb)},AudioElement.prototype.volume=function(eb){this._volumeMultiplier=eb,this._previousVolume=eb*this._volume,this.audio.volume(this._previousVolume)},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){},BaseRenderer.prototype.checkLayers=function(eb){var em,eH,eV=this.layers.length;for(this.completeLayers=!0,em=eV-1;em>=0;em-=1)!this.elements[em]&&(eH=this.layers[em]).ip-eH.st<=eb-this.layers[em].st&&eH.op-eH.st>eb-this.layers[em].st&&this.buildItem(em),this.completeLayers=!!this.elements[em]&&this.completeLayers;this.checkPendingElements()},BaseRenderer.prototype.createItem=function(eb){switch(eb.ty){case 2:return this.createImage(eb);case 0:return this.createComp(eb);case 1:return this.createSolid(eb);case 3:default:return this.createNull(eb);case 4:return this.createShape(eb);case 5:return this.createText(eb);case 6:return this.createAudio(eb);case 13:return this.createCamera(eb);case 15:return this.createFootage(eb)}},BaseRenderer.prototype.createCamera=function(){throw Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(eb){return new AudioElement(eb,this.globalData,this)},BaseRenderer.prototype.createFootage=function(eb){return new FootageElement(eb,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var eb,em=this.layers.length;for(eb=0;eb0&&(this.maskElement.setAttribute("id",e_),this.element.maskedElement.setAttribute(eE,"url("+getLocationHref()+"#"+e_+")"),eV.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}TransformElement.prototype={initTransform:function(){var eb=new Matrix;this.finalTransform={mProp:this.data.ks?TransformPropertyFactory.getTransformProperty(this,this.data.ks,this):{o:0},_matMdf:!1,_localMatMdf:!1,_opMdf:!1,mat:eb,localMat:eb,localOpacity:1},this.data.ao&&(this.finalTransform.mProp.autoOriented=!0),this.data.ty},renderTransform:function(){if(this.finalTransform._opMdf=this.finalTransform.mProp.o._mdf||this._isFirstFrame,this.finalTransform._matMdf=this.finalTransform.mProp._mdf||this._isFirstFrame,this.hierarchy){var eb,em=this.finalTransform.mat,eH=0,eV=this.hierarchy.length;if(!this.finalTransform._matMdf)for(;eH1&&(eM+=" C"+em.o[eV-1][0]+","+em.o[eV-1][1]+" "+em.i[0][0]+","+em.i[0][1]+" "+em.v[0][0]+","+em.v[0][1]),eH.lastPath!==eM){var eC="";eH.elem&&(em.c&&(eC=eb.inv?this.solidPath+eM:eM),eH.elem.setAttribute("d",eC)),eH.lastPath=eM}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var filtersFactory=function(){var eb={};function em(eb,em){var eH=createNS("filter");return eH.setAttribute("id",eb),!0!==em&&(eH.setAttribute("filterUnits","objectBoundingBox"),eH.setAttribute("x","0%"),eH.setAttribute("y","0%"),eH.setAttribute("width","100%"),eH.setAttribute("height","100%")),eH}function eH(){var eb=createNS("feColorMatrix");return eb.setAttribute("type","matrix"),eb.setAttribute("color-interpolation-filters","sRGB"),eb.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),eb}return eb.createFilter=em,eb.createAlphaToLuminanceFilter=eH,eb}(),featureSupport=function(){var eb={maskType:!0,svgLumaHidden:!0,offscreenCanvas:"undefined"!=typeof OffscreenCanvas};return(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(eb.maskType=!1),/firefox/i.test(navigator.userAgent)&&(eb.svgLumaHidden=!1),eb}(),registeredEffects$1={},idPrefix="filter_result_";function SVGEffects(eb){var em,eH,eV="SourceGraphic",ew=eb.data.ef?eb.data.ef.length:0,eM=createElementID(),eC=filtersFactory.createFilter(eM,!0),eT=0;for(em=0,this.filters=[];em=0&&!this.shapeModifiers[eb].processShapes(this._isFirstFrame);eb-=1);}},searchProcessedElement:function(eb){for(var em=this.processedElements,eH=0,eV=em.length;eH.01)return!1;eH+=1}return!0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!=this.c.length/4)return!1;if(this.data.k.k[0].s)for(var eb=0,em=this.data.k.k.length;eb0;)e_=eV.transformers[eD].mProps._mdf||e_,eI-=1,eD-=1;if(e_)for(eI=eO-eV.styles[eE].lvl,eD=eV.transformers.length-1;eI>0;)eN.multiply(eV.transformers[eD].mProps.v),eI-=1,eD-=1}else eN=eb;if(eC=(eA=eV.sh.paths)._length,e_){for(eM=0,eT="";eM=1?eB=.99:eB<=-1&&(eB=-.99);var eF=eT*eB,ej=Math.cos(eR+em.a.v)*eF+eE[0],eU=Math.sin(eR+em.a.v)*eF+eE[1];e_.setAttribute("fx",ej),e_.setAttribute("fy",eU),eS&&!em.g._collapsable&&(em.of.setAttribute("fx",ej),em.of.setAttribute("fy",eU))}}function e_(eb,em,eH){var eV=em.style,ew=em.d;ew&&(ew._mdf||eH)&&ew.dashStr&&(eV.pElem.setAttribute("stroke-dasharray",ew.dashStr),eV.pElem.setAttribute("stroke-dashoffset",ew.dashoffset[0])),em.c&&(em.c._mdf||eH)&&eV.pElem.setAttribute("stroke","rgb("+bmFloor(em.c.v[0])+","+bmFloor(em.c.v[1])+","+bmFloor(em.c.v[2])+")"),(em.o._mdf||eH)&&eV.pElem.setAttribute("stroke-opacity",em.o.v),(em.w._mdf||eH)&&(eV.pElem.setAttribute("stroke-width",em.w.v),eV.msElem&&eV.msElem.setAttribute("stroke-width",em.w.v))}return{createRenderFunction:function(eb){switch(eb.ty){case"fl":return eM;case"gf":return eT;case"gs":return eC;case"st":return e_;case"sh":case"el":case"rc":case"sr":return ew;case"tr":return eH;case"no":return eV;default:return null}}}}();function SVGShapeElement(eb,em,eH){this.shapes=[],this.shapesData=eb.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(eb,em,eH),this.prevViewData=[]}function LetterProps(eb,em,eH,eV,ew,eM){this.o=eb,this.sw=em,this.sc=eH,this.fc=eV,this.m=ew,this.p=eM,this._mdf={o:!0,sw:!!em,sc:!!eH,fc:!!eV,m:!0,p:!0}}function TextProperty(eb,em){this._frameId=initialDefaultFrame,this.pv="",this.v="",this.kf=!1,this._isFirstFrame=!0,this._mdf=!1,em.d&&em.d.sid&&(em.d=eb.globalData.slotManager.getProp(em.d)),this.data=em,this.elem=eb,this.comp=this.elem.comp,this.keysIndex=0,this.canResize=!1,this.minimumFontSize=1,this.effectsSequence=[],this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:"",fStyle:"",fWeight:"",fc:"",j:"",justifyOffset:"",l:[],lh:0,lineWidths:[],ls:"",of:"",s:"",sc:"",sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1},this.copyData(this.currentData,this.data.d.k[0].s),this.searchProperty()||this.completeTextData(this.currentData)}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},SVGShapeElement.prototype.filterUniqueShapes=function(){var eb,em,eH,eV,ew=this.shapes.length,eM=this.stylesList.length,eC=[],eT=!1;for(eH=0;eH1&&eT&&this.setShapesAsAnimated(eC)}},SVGShapeElement.prototype.setShapesAsAnimated=function(eb){var em,eH=eb.length;for(em=0;em=0;eT-=1){if((eN=this.searchProcessedElement(eb[eT]))?em[eT]=eH[eN-1]:eb[eT]._render=eC,"fl"===eb[eT].ty||"st"===eb[eT].ty||"gf"===eb[eT].ty||"gs"===eb[eT].ty||"no"===eb[eT].ty)eN?em[eT].style.closed=!1:em[eT]=this.createStyleElement(eb[eT],ew),eb[eT]._render&&em[eT].style.pElem.parentNode!==eV&&eV.appendChild(em[eT].style.pElem),eP.push(em[eT].style);else if("gr"===eb[eT].ty){if(eN)for(e_=0,eS=em[eT].it.length;e_1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(eb){this.effectsSequence.push(eb),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(eb){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length||eb){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var em,eH=this.currentData,eV=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var ew=this.effectsSequence.length,eM=eb||this.data.d.k[this.keysIndex].s;for(em=0;emem);)eH+=1;return this.keysIndex!==eH&&(this.keysIndex=eH),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(eb){for(var em,eH,eV=[],ew=0,eM=eb.length,eC=!1,eT=!1,e_="";ew=55296&&em<=56319?FontManager.isRegionalFlag(eb,ew)?e_=eb.substr(ew,14):(eH=eb.charCodeAt(ew+1))>=56320&&eH<=57343&&(FontManager.isModifier(em,eH)?(e_=eb.substr(ew,2),eC=!0):e_=FontManager.isFlagEmoji(eb.substr(ew,4))?eb.substr(ew,4):eb.substr(ew,2)):em>56319?(eH=eb.charCodeAt(ew+1),FontManager.isVariationSelector(em)&&(eC=!0)):FontManager.isZeroWidthJoiner(em)&&(eC=!0,eT=!0),eC?(eV[eV.length-1]+=e_,eC=!1):eV.push(e_),ew+=e_.length;return eV},TextProperty.prototype.completeTextData=function(eb){eb.__complete=!0;var em=this.elem.globalData.fontManager,eH=this.data,eV=[],ew=0,eM=eH.m.g,eC=0,eT=0,e_=0,eS=[],eE=0,eA=0,eN=em.getFontByName(eb.f),eI=0,eD=getFontProperties(eN);eb.fWeight=eD.weight,eb.fStyle=eD.style,eb.finalSize=eb.s,eb.finalText=this.buildFinalText(eb.t),eR=eb.finalText.length,eb.finalLineHeight=eb.lh;var eP=eb.tr/1e3*eb.finalSize;if(eb.sz)for(var eO,eR,eB,eF,ej,eU,e$,eW,eZ,eG,eK=!0,eY=eb.sz[0],eX=eb.sz[1];eK;){eG=this.buildFinalText(eb.t),eZ=0,eE=0,eR=eG.length,eP=eb.tr/1e3*eb.finalSize;var eJ=-1;for(eO=0;eOeY&&" "!==eG[eO]?(-1===eJ?eR+=1:eO=eJ,eZ+=eb.finalLineHeight||1.2*eb.finalSize,eG.splice(eO,eJ===eO?1:0,"\r"),eJ=-1,eE=0):eE+=eI+eP;eZ+=eN.ascent*eb.finalSize/100,this.canResize&&eb.finalSize>this.minimumFontSize&&eXeA?eE:eA,eE=-2*eP,eF="",eB=!0,e_+=1):eF=e4,em.chars?(e$=em.getCharData(e4,eN.fStyle,em.getFontByName(eb.f).fFamily),eI=eB?0:e$.w*eb.finalSize/100):eI=em.measureText(eF,eb.f,eb.finalSize)," "===e4?eQ+=eI+eP:(eE+=eI+eP+eQ,eQ=0),eV.push({l:eI,an:eI,add:eC,n:eB,anIndexes:[],val:eF,line:e_,animatorJustifyOffset:0}),2==eM){if(eC+=eI,""===eF||" "===eF||eO===eR-1){for((""===eF||" "===eF)&&(eC-=eI);eT<=eO;)eV[eT].an=eC,eV[eT].ind=ew,eV[eT].extra=eI,eT+=1;ew+=1,eC=0}}else if(3==eM){if(eC+=eI,""===eF||eO===eR-1){for(""===eF&&(eC-=eI);eT<=eO;)eV[eT].an=eC,eV[eT].ind=ew,eV[eT].extra=eI,eT+=1;eC=0,ew+=1}}else eV[ew].ind=ew,eV[ew].extra=0,ew+=1;if(eb.l=eV,eA=eE>eA?eE:eA,eS.push(eE),eb.sz)eb.boxWidth=eb.sz[0],eb.justifyOffset=0;else switch(eb.boxWidth=eA,eb.j){case 1:eb.justifyOffset=-eb.boxWidth;break;case 2:eb.justifyOffset=-eb.boxWidth/2;break;default:eb.justifyOffset=0}eb.lineWidths=eS;var e0=eH.a;eU=e0.length;var e6=[];for(ej=0;ej0?ew=this.ne.v/100:eM=-this.ne.v/100,this.xe.v>0?eC=1-this.xe.v/100:eT=1+this.xe.v/100;var e_=BezierFactory.getBezierEasing(ew,eM,eC,eT).get,eS=0,eE=this.finalS,eA=this.finalE,eN=this.data.sh;if(2===eN)eS=e_(eS=eA===eE?eV>=eA?1:0:eb(0,em(.5/(eA-eE)+(eV-eE)/(eA-eE),1)));else if(3===eN)eS=e_(eS=eA===eE?eV>=eA?0:1:1-eb(0,em(.5/(eA-eE)+(eV-eE)/(eA-eE),1)));else if(4===eN)eA===eE?eS=0:(eS=eb(0,em(.5/(eA-eE)+(eV-eE)/(eA-eE),1)))<.5?eS*=2:eS=1-2*(eS-.5),eS=e_(eS);else if(5===eN){if(eA===eE)eS=0;else{var eI=eA-eE,eD=-eI/2+(eV=em(eb(0,eV+.5-eE),eA-eE)),eP=eI/2;eS=Math.sqrt(1-eD*eD/(eP*eP))}eS=e_(eS)}else 6===eN?eS=e_(eS=eA===eE?0:(1+Math.cos(Math.PI+2*Math.PI*(eV=em(eb(0,eV+.5-eE),eA-eE))/(eA-eE)))/2):(eV>=eH(eE)&&(eS=eV-eE<0?eb(0,em(em(eA,1)-(eE-eV),1)):eb(0,em(eA-eV,1))),eS=e_(eS));if(100!==this.sm.v){var eO=.01*this.sm.v;0===eO&&(eO=1e-8);var eR=.5-.5*eO;eS1&&(eS=1)}return eS*this.a.v},getValue:function(eb){this.iterateDynamicProperties(),this._mdf=eb||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,eb&&2===this.data.r&&(this.e.v=this._currentTextLength);var em=2===this.data.r?1:100/this.data.totalChars,eH=this.o.v/em,eV=this.s.v/em+eH,ew=this.e.v/em+eH;if(eV>ew){var eM=eV;eV=ew,ew=eM}this.finalS=eV,this.finalE=ew}},extendPrototype([DynamicPropertyContainer],eV),{getTextSelectorProp:function(eb,em,eH){return new eV(eb,em,eH)}}}();function TextAnimatorDataProperty(eb,em,eH){var eV={propType:!1},ew=PropertyFactory.getProp,eM=em.a;this.a={r:eM.r?ew(eb,eM.r,0,degToRads,eH):eV,rx:eM.rx?ew(eb,eM.rx,0,degToRads,eH):eV,ry:eM.ry?ew(eb,eM.ry,0,degToRads,eH):eV,sk:eM.sk?ew(eb,eM.sk,0,degToRads,eH):eV,sa:eM.sa?ew(eb,eM.sa,0,degToRads,eH):eV,s:eM.s?ew(eb,eM.s,1,.01,eH):eV,a:eM.a?ew(eb,eM.a,1,0,eH):eV,o:eM.o?ew(eb,eM.o,0,.01,eH):eV,p:eM.p?ew(eb,eM.p,1,0,eH):eV,sw:eM.sw?ew(eb,eM.sw,0,0,eH):eV,sc:eM.sc?ew(eb,eM.sc,1,0,eH):eV,fc:eM.fc?ew(eb,eM.fc,1,0,eH):eV,fh:eM.fh?ew(eb,eM.fh,0,0,eH):eV,fs:eM.fs?ew(eb,eM.fs,0,.01,eH):eV,fb:eM.fb?ew(eb,eM.fb,0,.01,eH):eV,t:eM.t?ew(eb,eM.t,0,0,eH):eV},this.s=TextSelectorProp.getTextSelectorProp(eb,em.s,eH),this.s.t=em.s.t}function TextAnimatorProperty(eb,em,eH){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=eb,this._renderType=em,this._elem=eH,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(eH)}function ITextElement(){}TextAnimatorProperty.prototype.searchProperties=function(){var eb,em,eH=this._textData.a.length,eV=PropertyFactory.getProp;for(eb=0;eb=e6+tZ||!tH?(tT=(e6+tZ-e3)/e4.partialLength,eS=e7.point[0]+(e4.point[0]-e7.point[0])*tT,eE=e7.point[1]+(e4.point[1]-e7.point[1])*tT,eW.translate(-ej[0]*eK[eJ].an*.005,-(.01*(ej[1]*tA))),e5=!1):tH&&(e3+=e4.partialLength,(e8+=1)>=tH.length&&(e8=0,tV[e9+=1]?tH=tV[e9].points:t_.v.c?(e8=0,tH=tV[e9=0].points):(e3-=e4.partialLength,tH=null)),tH&&(e7=e4,tw=(e4=tH[e8]).partialLength));e_=eK[eJ].an/2-eK[eJ].add,eW.translate(-e_,0,0)}else e_=eK[eJ].an/2-eK[eJ].add,eW.translate(-e_,0,0),eW.translate(-ej[0]*eK[eJ].an*.005,-ej[1]*tA*.01,0);for(ew=0;eweP?this.textSpans[eP].span:createNS(eM?"g":"text"),eI<=eP){if(eR.setAttribute("stroke-linecap","butt"),eR.setAttribute("stroke-linejoin","round"),eR.setAttribute("stroke-miterlimit","4"),this.textSpans[eP].span=eR,eM){var eD=createNS("g");eR.appendChild(eD),this.textSpans[eP].childSpan=eD}this.textSpans[eP].span=eR,this.layerElement.appendChild(eR)}eR.style.display="inherit"}if(eC.reset(),e_&&(ew[eP].n&&(eS=-eN,eE+=eb.yOffset+(eA?1:0),eA=!1),this.applyTextPropertiesToMatrix(eb,eC,ew[eP].line,eS,eE),eS+=(ew[eP].l||0)+eN),eM){if(1===(eB=this.globalData.fontManager.getCharData(eb.finalText[eP],em.fStyle,this.globalData.fontManager.getFontByName(eb.f).fFamily)).t)eF=new SVGCompElement(eB.data,this.globalData,this);else{var eP,eO,eR,eB,eF,ej=emptyShapeData;eB.data&&eB.data.shapes&&(ej=this.buildShapeData(eB.data,eb.finalSize)),eF=new SVGShapeElement(ej,this.globalData,this)}if(this.textSpans[eP].glyph){var eU=this.textSpans[eP].glyph;this.textSpans[eP].childSpan.removeChild(eU.layerElement),eU.destroy()}this.textSpans[eP].glyph=eF,eF._debug=!0,eF.prepareFrame(0),eF.renderFrame(),this.textSpans[eP].childSpan.appendChild(eF.layerElement),1===eB.t&&this.textSpans[eP].childSpan.setAttribute("transform","scale("+eb.finalSize/100+","+eb.finalSize/100+")")}else e_&&eR.setAttribute("transform","translate("+eC.props[12]+","+eC.props[13]+")"),eR.textContent=ew[eP].val,eR.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve")}e_&&eR&&eR.setAttribute("d",eT)}else{var e$=this.textContainer,eW="start";switch(eb.j){case 1:eW="end";break;case 2:eW="middle";break;default:eW="start"}e$.setAttribute("text-anchor",eW),e$.setAttribute("letter-spacing",eN);var eZ=this.buildTextContents(eb.finalText);for(eP=0,eO=eZ.length,eE=eb.ps?eb.ps[1]+eb.ascent:0;eP=0;em-=1)(this.completeLayers||this.elements[em])&&this.elements[em].prepareFrame(eb-this.layers[em].st);if(this.globalData._mdf)for(em=0;em=0;em-=1)(this.completeLayers||this.elements[em])&&(this.elements[em].prepareFrame(this.renderedFrame-this.layers[em].st),this.elements[em]._mdf&&(this._mdf=!0))}},ICompElement.prototype.renderInnerContent=function(){var eb,em=this.layers.length;for(eb=0;eb=0;eH-=1)eb.finalTransform.multiply(eb.transforms[eH].transform.mProps.v);eb._mdf=ew},processSequences:function(eb){var em,eH=this.sequenceList.length;for(em=0;em=1){this.buffers=[];var eb=this.globalData.canvasContext,em=assetLoader.createCanvas(eb.canvas.width,eb.canvas.height);this.buffers.push(em);var eH=assetLoader.createCanvas(eb.canvas.width,eb.canvas.height);this.buffers.push(eH),this.data.tt>=3&&!document._isProxy&&assetLoader.loadLumaCanvas()}this.canvasContext=this.globalData.canvasContext,this.transformCanvas=this.globalData.transformCanvas,this.renderableEffectsManager=new CVEffects(this),this.searchEffectTransforms()},createContent:function(){},setBlendMode:function(){var eb=this.globalData;if(eb.blendMode!==this.data.bm){eb.blendMode=this.data.bm;var em=getBlendMode(this.data.bm);eb.canvasContext.globalCompositeOperation=em}},createRenderableComponents:function(){this.maskManager=new CVMaskElement(this.data,this),this.transformEffects=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT)},hideElement:function(){this.hidden||this.isInRange&&!this.isTransparent||(this.hidden=!0)},showElement:function(){this.isInRange&&!this.isTransparent&&(this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0)},clearCanvas:function(eb){eb.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy)},prepareLayer:function(){if(this.data.tt>=1){var eb=this.buffers[0].getContext("2d");this.clearCanvas(eb),eb.drawImage(this.canvasContext.canvas,0,0),this.currentTransform=this.canvasContext.getTransform(),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform)}},exitLayer:function(){if(this.data.tt>=1){var eb=this.buffers[1],em=eb.getContext("2d");if(this.clearCanvas(em),em.drawImage(this.canvasContext.canvas,0,0),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform),this.comp.getElementById("tp"in this.data?this.data.tp:this.data.ind-1).renderFrame(!0),this.canvasContext.setTransform(1,0,0,1,0,0),this.data.tt>=3&&!document._isProxy){var eH=assetLoader.getLumaCanvas(this.canvasContext.canvas);eH.getContext("2d").drawImage(this.canvasContext.canvas,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.drawImage(eH,0,0)}this.canvasContext.globalCompositeOperation=operationsMap[this.data.tt],this.canvasContext.drawImage(eb,0,0),this.canvasContext.globalCompositeOperation="destination-over",this.canvasContext.drawImage(this.buffers[0],0,0),this.canvasContext.setTransform(this.currentTransform),this.canvasContext.globalCompositeOperation="source-over"}},renderFrame:function(eb){if(!this.hidden&&!this.data.hd&&(1!==this.data.td||eb)){this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.setBlendMode();var em=0===this.data.ty;this.prepareLayer(),this.globalData.renderer.save(em),this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity),this.renderInnerContent(),this.globalData.renderer.restore(em),this.exitLayer(),this.maskManager.hasMasks&&this.globalData.renderer.restore(!0),this._isFirstFrame&&(this._isFirstFrame=!1)}},destroy:function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy()},mHelper:new Matrix},CVBaseElement.prototype.hide=CVBaseElement.prototype.hideElement,CVBaseElement.prototype.show=CVBaseElement.prototype.showElement,CVShapeData.prototype.setAsAnimated=SVGShapeData.prototype.setAsAnimated,extendPrototype([BaseElement,TransformElement,CVBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableElement],CVShapeElement),CVShapeElement.prototype.initElement=RenderableDOMElement.prototype.initElement,CVShapeElement.prototype.transformHelper={opacity:1,_opMdf:!1},CVShapeElement.prototype.dashResetter=[],CVShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[])},CVShapeElement.prototype.createStyleElement=function(eb,em){var eH={data:eb,type:eb.ty,preTransforms:this.transformsManager.addTransformSequence(em),transforms:[],elements:[],closed:!0===eb.hd},eV={};if("fl"===eb.ty||"st"===eb.ty?(eV.c=PropertyFactory.getProp(this,eb.c,1,255,this),eV.c.k||(eH.co="rgb("+bmFloor(eV.c.v[0])+","+bmFloor(eV.c.v[1])+","+bmFloor(eV.c.v[2])+")")):("gf"===eb.ty||"gs"===eb.ty)&&(eV.s=PropertyFactory.getProp(this,eb.s,1,null,this),eV.e=PropertyFactory.getProp(this,eb.e,1,null,this),eV.h=PropertyFactory.getProp(this,eb.h||{k:0},0,.01,this),eV.a=PropertyFactory.getProp(this,eb.a||{k:0},0,degToRads,this),eV.g=new GradientProperty(this,eb.g,this)),eV.o=PropertyFactory.getProp(this,eb.o,0,.01,this),"st"===eb.ty||"gs"===eb.ty){if(eH.lc=lineCapEnum[eb.lc||2],eH.lj=lineJoinEnum[eb.lj||2],1==eb.lj&&(eH.ml=eb.ml),eV.w=PropertyFactory.getProp(this,eb.w,0,null,this),eV.w.k||(eH.wi=eV.w.v),eb.d){var ew=new DashProperty(this,eb.d,"canvas",this);eV.d=ew,eV.d.k||(eH.da=eV.d.dashArray,eH.do=eV.d.dashoffset[0])}}else eH.r=2===eb.r?"evenodd":"nonzero";return this.stylesList.push(eH),eV.style=eH,eV},CVShapeElement.prototype.createGroupElement=function(){return{it:[],prevViewData:[]}},CVShapeElement.prototype.createTransformElement=function(eb){return{transform:{opacity:1,_opMdf:!1,key:this.transformsManager.getNewKey(),op:PropertyFactory.getProp(this,eb.o,0,.01,this),mProps:TransformPropertyFactory.getTransformProperty(this,eb,this)}}},CVShapeElement.prototype.createShapeElement=function(eb){var em=new CVShapeData(this,eb,this.stylesList,this.transformsManager);return this.shapes.push(em),this.addShapeToModifiers(em),em},CVShapeElement.prototype.reloadShapes=function(){this._isFirstFrame=!0;var eb,em=this.itemsData.length;for(eb=0;eb=0;eM-=1){if((e_=this.searchProcessedElement(eb[eM]))?em[eM]=eH[e_-1]:eb[eM]._shouldRender=eV,"fl"===eb[eM].ty||"st"===eb[eM].ty||"gf"===eb[eM].ty||"gs"===eb[eM].ty)e_?em[eM].style.closed=!1:em[eM]=this.createStyleElement(eb[eM],eD),eN.push(em[eM].style);else if("gr"===eb[eM].ty){if(e_)for(eC=0,eT=em[eM].it.length;eC=0;ew-=1)"tr"===em[ew].ty?(eM=eH[ew].transform,this.renderShapeTransform(eb,eM)):"sh"===em[ew].ty||"el"===em[ew].ty||"rc"===em[ew].ty||"sr"===em[ew].ty?this.renderPath(em[ew],eH[ew]):"fl"===em[ew].ty?this.renderFill(em[ew],eH[ew],eM):"st"===em[ew].ty?this.renderStroke(em[ew],eH[ew],eM):"gf"===em[ew].ty||"gs"===em[ew].ty?this.renderGradientFill(em[ew],eH[ew],eM):"gr"===em[ew].ty?this.renderShape(eM,em[ew].it,eH[ew].it):em[ew].ty;eV&&this.drawLayer()},CVShapeElement.prototype.renderStyledShape=function(eb,em){if(this._isFirstFrame||em._mdf||eb.transforms._mdf){var eH,eV,ew,eM=eb.trNodes,eC=em.paths,eT=eC._length;eM.length=0;var e_=eb.transforms.finalTransform;for(ew=0;ew=1?eA=.99:eA<=-1&&(eA=-.99);var eN=eS*eA,eI=Math.cos(eE+em.a.v)*eN+eT[0],eD=Math.sin(eE+em.a.v)*eN+eT[1];ew=eC.createRadialGradient(eI,eD,0,eT[0],eT[1],eS)}var eP=eb.g.p,eO=em.g.c,eR=1;for(eM=0;eMeT&&"xMidYMid slice"===e_||eCew&&"meet"===eT||eMew&&"slice"===eT)?this.transformCanvas.tx=(eH-this.transformCanvas.w*(eV/this.transformCanvas.h))/2*this.renderConfig.dpr:"xMax"===eS&&(eMew&&"slice"===eT)?this.transformCanvas.tx=(eH-this.transformCanvas.w*(eV/this.transformCanvas.h))*this.renderConfig.dpr:this.transformCanvas.tx=0,"YMid"===eE&&(eM>ew&&"meet"===eT||eMew&&"meet"===eT||eM=0;eb-=1)this.elements[eb]&&this.elements[eb].destroy&&this.elements[eb].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRendererBase.prototype.renderFrame=function(eb,em){if((this.renderedFrame!==eb||!0!==this.renderConfig.clearCanvas||em)&&!this.destroyed&&-1!==eb){this.renderedFrame=eb,this.globalData.frameNum=eb-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||em,this.globalData.projectInterface.currentFrame=eb;var eH,eV=this.layers.length;for(this.completeLayers||this.checkLayers(eb),eH=eV-1;eH>=0;eH-=1)(this.completeLayers||this.elements[eH])&&this.elements[eH].prepareFrame(eb-this.layers[eH].st);if(this.globalData._mdf){for(!0===this.renderConfig.clearCanvas?this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h):this.save(),eH=eV-1;eH>=0;eH-=1)(this.completeLayers||this.elements[eH])&&this.elements[eH].renderFrame();!0!==this.renderConfig.clearCanvas&&this.restore()}}},CanvasRendererBase.prototype.buildItem=function(eb){var em=this.elements;if(!em[eb]&&99!==this.layers[eb].ty){var eH=this.createItem(this.layers[eb],this,this.globalData);em[eb]=eH,eH.initExpressions()}},CanvasRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;)this.pendingElements.pop().checkParenting()},CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display="none"},CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display="block"},CVContextData.prototype.duplicate=function(){var eb=2*this._length,em=0;for(em=this._length;em=0;eb-=1)(this.completeLayers||this.elements[eb])&&this.elements[eb].renderFrame()},CVCompElement.prototype.destroy=function(){var eb;for(eb=this.layers.length-1;eb>=0;eb-=1)this.elements[eb]&&this.elements[eb].destroy();this.layers=null,this.elements=null},CVCompElement.prototype.createComp=function(eb){return new CVCompElement(eb,this.globalData,this)},extendPrototype([CanvasRendererBase],CanvasRenderer),CanvasRenderer.prototype.createComp=function(eb){return new CVCompElement(eb,this.globalData,this)},HBaseElement.prototype={checkBlendMode:function(){},initRendererElement:function(){this.baseElement=createTag(this.data.tg||"div"),this.data.hasMask?(this.svgElement=createNS("svg"),this.layerElement=createNS("g"),this.maskedElement=this.layerElement,this.svgElement.appendChild(this.layerElement),this.baseElement.appendChild(this.svgElement)):this.layerElement=this.baseElement,styleDiv(this.baseElement)},createContainerElements:function(){this.renderableEffectsManager=new CVEffects(this),this.transformedElement=this.baseElement,this.maskedElement=this.layerElement,this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.data.cl&&this.layerElement.setAttribute("class",this.data.cl),0!==this.data.bm&&this.setBlendMode()},renderElement:function(){var eb=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var em=this.finalTransform.mat.toCSS();eb.transform=em,eb.webkitTransform=em}this.finalTransform._opMdf&&(eb.opacity=this.finalTransform.mProp.o.v)},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},destroy:function(){this.layerElement=null,this.transformedElement=null,this.matteElement&&(this.matteElement=null),this.maskManager&&(this.maskManager.destroy(),this.maskManager=null)},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData)},addEffects:function(){},setMatte:function(){}},HBaseElement.prototype.getBaseElement=SVGBaseElement.prototype.getBaseElement,HBaseElement.prototype.destroyBaseElement=HBaseElement.prototype.destroy,HBaseElement.prototype.buildElementParenting=BaseRenderer.prototype.buildElementParenting,extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement),HSolidElement.prototype.createContent=function(){var eb;this.data.hasMask?((eb=createNS("rect")).setAttribute("width",this.data.sw),eb.setAttribute("height",this.data.sh),eb.setAttribute("fill",this.data.sc),this.svgElement.setAttribute("width",this.data.sw),this.svgElement.setAttribute("height",this.data.sh)):((eb=createTag("div")).style.width=this.data.sw+"px",eb.style.height=this.data.sh+"px",eb.style.backgroundColor=this.data.sc),this.layerElement.appendChild(eb)},extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement),HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent,HShapeElement.prototype.createContent=function(){var eb;if(this.baseElement.style.fontSize=0,this.data.hasMask)this.layerElement.appendChild(this.shapesContainer),eb=this.svgElement;else{eb=createNS("svg");var em=this.comp.data?this.comp.data:this.globalData.compSize;eb.setAttribute("width",em.w),eb.setAttribute("height",em.h),eb.appendChild(this.shapesContainer),this.layerElement.appendChild(eb)}this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0),this.filterUniqueShapes(),this.shapeCont=eb},HShapeElement.prototype.getTransformedPoint=function(eb,em){var eH,eV=eb.length;for(eH=0;eH0&&eT<1&&eA[eN].push(this.calculateF(eT,eb,em,eH,eV,eN)):(e_=eM*eM-4*eC*ew)>=0&&((eS=(-eM+bmSqrt(e_))/(2*ew))>0&&eS<1&&eA[eN].push(this.calculateF(eS,eb,em,eH,eV,eN)),(eE=(-eM-bmSqrt(e_))/(2*ew))>0&&eE<1&&eA[eN].push(this.calculateF(eE,eb,em,eH,eV,eN))));this.shapeBoundingBox.left=bmMin.apply(null,eA[0]),this.shapeBoundingBox.top=bmMin.apply(null,eA[1]),this.shapeBoundingBox.right=bmMax.apply(null,eA[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,eA[1])},HShapeElement.prototype.calculateF=function(eb,em,eH,eV,ew,eM){return bmPow(1-eb,3)*em[eM]+3*bmPow(1-eb,2)*eb*eH[eM]+3*(1-eb)*bmPow(eb,2)*eV[eM]+bmPow(eb,3)*ew[eM]},HShapeElement.prototype.calculateBoundingBox=function(eb,em){var eH,eV=eb.length;for(eH=0;eHeH&&(eH=ew)}eH*=eb.mult}else eH=eb.v*eb.mult;em.x-=eH,em.xMax+=eH,em.y-=eH,em.yMax+=eH},HShapeElement.prototype.currentBoxContains=function(eb){return this.currentBBox.x<=eb.x&&this.currentBBox.y<=eb.y&&this.currentBBox.width+this.currentBBox.x>=eb.x+eb.width&&this.currentBBox.height+this.currentBBox.y>=eb.y+eb.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var eb=this.tempBoundingBox,em=999999;if(eb.x=em,eb.xMax=-em,eb.y=em,eb.yMax=-em,this.calculateBoundingBox(this.itemsData,eb),eb.width=eb.xMax=0;eH-=1){var em=this.hierarchy[eH].finalTransform.mProp;this.mat.translate(-em.p.v[0],-em.p.v[1],em.p.v[2]),this.mat.rotateX(-em.or.v[0]).rotateY(-em.or.v[1]).rotateZ(em.or.v[2]),this.mat.rotateX(-em.rx.v).rotateY(-em.ry.v).rotateZ(em.rz.v),this.mat.scale(1/em.s.v[0],1/em.s.v[1],1/em.s.v[2]),this.mat.translate(em.a.v[0],em.a.v[1],em.a.v[2])}if(this.p?this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]):this.mat.translate(-this.px.v,-this.py.v,this.pz.v),this.a){var eH,eV,ew,eM=Math.sqrt(Math.pow((ew=this.p?[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]]:[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]])[0],2)+Math.pow(ew[1],2)+Math.pow(ew[2],2)),eC=[ew[0]/eM,ew[1]/eM,ew[2]/eM],eT=Math.sqrt(eC[2]*eC[2]+eC[0]*eC[0]),e_=Math.atan2(eC[1],eT),eS=Math.atan2(eC[0],-eC[2]);this.mat.rotateY(eS).rotateX(-e_)}this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0),this.mat.translate(0,0,this.pe.v);var eE=!this._prevMat.equals(this.mat);if((eE||this.pe._mdf)&&this.comp.threeDElements){for(eH=0,eV=this.comp.threeDElements.length;eH=eb)return this.threeDElements[em].perspectiveElem;em+=1}return null},HybridRendererBase.prototype.createThreeDContainer=function(eb,em){var eH,eV,ew=createTag("div");styleDiv(ew);var eM=createTag("div");if(styleDiv(eM),"3d"===em){(eH=ew.style).width=this.globalData.compSize.w+"px",eH.height=this.globalData.compSize.h+"px";var eC="50% 50%";eH.webkitTransformOrigin=eC,eH.mozTransformOrigin=eC,eH.transformOrigin=eC;var eT="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";(eV=eM.style).transform=eT,eV.webkitTransform=eT}ew.appendChild(eM);var e_={container:eM,perspectiveElem:ew,startPos:eb,endPos:eb,type:em};return this.threeDElements.push(e_),e_},HybridRendererBase.prototype.build3dContainers=function(){var eb,em,eH=this.layers.length,eV="";for(eb=0;eb=0;eb-=1)this.resizerElem.appendChild(this.threeDElements[eb].perspectiveElem)},HybridRendererBase.prototype.addTo3dContainer=function(eb,em){for(var eH=0,eV=this.threeDElements.length;eHeC?(eb=ew/this.globalData.compSize.w,em=ew/this.globalData.compSize.w,eH=0,eV=(eM-this.globalData.compSize.h*(ew/this.globalData.compSize.w))/2):(eb=eM/this.globalData.compSize.h,em=eM/this.globalData.compSize.h,eH=(ew-this.globalData.compSize.w*(eM/this.globalData.compSize.h))/2,eV=0);var eT=this.resizerElem.style;eT.webkitTransform="matrix3d("+eb+",0,0,0,0,"+em+",0,0,0,0,1,0,"+eH+","+eV+",0,1)",eT.transform=eT.webkitTransform},HybridRendererBase.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRendererBase.prototype.hide=function(){this.resizerElem.style.display="none"},HybridRendererBase.prototype.show=function(){this.resizerElem.style.display="block"},HybridRendererBase.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else{var eb,em=this.globalData.compSize.w,eH=this.globalData.compSize.h,eV=this.threeDElements.length;for(eb=0;eb=eE;)eb/=2,em/=2,eH>>>=1;return(eb+eH)/em};return ej.int32=function(){return 0|eF.g(4)},ej.quick=function(){return eF.g(4)/4294967296},ej.double=ej,eO(eB(eF.S),eb),(eV.pass||eC||function(eb,eH,eV,ew){return(ew&&(ew.S&&eD(ew,eF),eb.state=function(){return eD(eF,{})}),eV)?(em[eT]=eb,eH):eb})(ej,eN,"global"in eV?eV.global:this==em,eV.state)}function eI(eb){var em,eH=eb.length,eV=this,eM=0,eC=eV.i=eV.j=0,eT=eV.S=[];for(eH||(eb=[eH++]);eMeH){var eV=eH;eH=em,em=eV}return Math.min(Math.max(eb,em),eH)}function radiansToDegrees(eb){return eb/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(eb){return eb*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(eb,em){if("number"==typeof eb||eb instanceof Number)return em=em||0,Math.abs(eb-em);em||(em=helperLengthArray);var eH,eV=Math.min(eb.length,em.length),ew=0;for(eH=0;eH.5?eS/(2-eC-eT):eS/(eC+eT),eC){case eV:em=(ew-eM)/eS+(ew1&&(eH-=1),eH<1/6)?eb+(em-eb)*6*eH:eH<.5?em:eH<2/3?eb+(em-eb)*(2/3-eH)*6:eb}function hslToRgb(eb){var em,eH,eV,ew=eb[0],eM=eb[1],eC=eb[2];if(0===eM)em=eC,eV=eC,eH=eC;else{var eT=eC<.5?eC*(1+eM):eC+eM-eC*eM,e_=2*eC-eT;em=hue2rgb(e_,eT,ew+1/3),eH=hue2rgb(e_,eT,ew),eV=hue2rgb(e_,eT,ew-1/3)}return[em,eH,eV,eb[3]]}function linear(eb,em,eH,eV,ew){if((void 0===eV||void 0===ew)&&(eV=em,ew=eH,em=0,eH=1),eH=eH)return ew;var eT=eH===em?0:(eb-em)/(eH-em);if(!eV.length)return eV+(ew-eV)*eT;var e_=eV.length,eS=createTypedArray("float32",e_);for(eM=0;eM1){for(eV=0;eV1?em=1:em<0&&(em=0);var eC=eb(em);if($bm_isInstanceOfArray(ew)){var eT,e_=ew.length,eS=createTypedArray("float32",e_);for(eT=0;eTdata.k[em].t&&ebdata.k[em+1].t-eb?(eH=em+2,eV=data.k[em+1].t):(eH=em+1,eV=data.k[em].t);break}}-1===eH&&(eH=em+1,eV=data.k[em].t)}}else eH=0,eV=0;var eM={};return eM.index=eH,eM.time=eV/elem.comp.globalData.frameRate,eM}function key(eb){if(!data.k.length||"number"==typeof data.k[0])throw Error("The property has no keyframe at index "+eb);eb-=1,em={time:data.k[eb].t/elem.comp.globalData.frameRate,value:[]};var em,eH,eV,ew=Object.prototype.hasOwnProperty.call(data.k[eb],"s")?data.k[eb].s:data.k[eb-1].e;for(eH=0,eV=ew.length;eHeS.length-1)&&(em=eS.length-1),eV=eE-(ew=eS[eS.length-1-em].t)),"pingpong"===eb){if(Math.floor((e_-ew)/eV)%2!=0)return this.getValueAtTime((eV-(e_-ew)%eV+ew)/this.comp.globalData.frameRate,0)}else if("offset"===eb){var eA=this.getValueAtTime(ew/this.comp.globalData.frameRate,0),eN=this.getValueAtTime(eE/this.comp.globalData.frameRate,0),eI=this.getValueAtTime(((e_-ew)%eV+ew)/this.comp.globalData.frameRate,0),eD=Math.floor((e_-ew)/eV);if(this.pv.length){for(eM=0,eC=(eT=Array(eA.length)).length;eM=eE)return this.pv;if(eH?(eV=em?Math.abs(this.elem.comp.globalData.frameRate*em):Math.max(0,this.elem.data.op-eE),ew=eE+eV):((!em||em>eS.length-1)&&(em=eS.length-1),eV=(ew=eS[em].t)-eE),"pingpong"===eb){if(Math.floor((eE-e_)/eV)%2==0)return this.getValueAtTime(((eE-e_)%eV+eE)/this.comp.globalData.frameRate,0)}else if("offset"===eb){var eA=this.getValueAtTime(eE/this.comp.globalData.frameRate,0),eN=this.getValueAtTime(ew/this.comp.globalData.frameRate,0),eI=this.getValueAtTime((eV-(eE-e_)%eV+eE)/this.comp.globalData.frameRate,0),eD=Math.floor((eE-e_)/eV)+1;if(this.pv.length){for(eM=0,eC=(eT=Array(eA.length)).length;eM1?(eC-eM)/(em-1):1,e_=0,eS=0;for(eH=this.pv.length?createTypedArray("float32",this.pv.length):0;e_eC){var eE=eT,eA=eV.c&&eT===e_-1?0:eT+1,eN=(eC-eS)/eM[eT].addedLength;eH=bez.getPointInSegment(eV.v[eE],eV.v[eA],eV.o[eE],eV.i[eA],eN,eM[eT]);break}eS+=eM[eT].addedLength,eT+=1}return eH||(eH=eV.c?[eV.v[0][0],eV.v[0][1]]:[eV.v[eV._length-1][0],eV.v[eV._length-1][1]]),eH},vectorOnPath:function(eb,em,eH){1==eb?eb=this.v.c:0==eb&&(eb=.999);var eV=this.pointOnPath(eb,em),ew=this.pointOnPath(eb+.001,em),eM=ew[0]-eV[0],eC=ew[1]-eV[1],eT=Math.sqrt(Math.pow(eM,2)+Math.pow(eC,2));return 0===eT?[0,0]:"tangent"===eH?[eM/eT,eC/eT]:[-eC/eT,eM/eT]},tangentOnPath:function(eb,em){return this.vectorOnPath(eb,em,"tangent")},normalOnPath:function(eb,em){return this.vectorOnPath(eb,em,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([eE],e_),extendPrototype([eE],eS),eS.prototype.getValueAtTime=eT,eS.prototype.initiateExpression=ExpressionManager.initiateExpression;var eA=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(eb,em,eH,eV,ew){var eM=eA(eb,em,eH,eV,ew);return eM.propertyIndex=em.ix,eM.lock=!1,3===eH?expressionHelpers.searchExpressions(eb,em.pt,eM):4===eH&&expressionHelpers.searchExpressions(eb,em.ks,eM),eM.k&&eb.addDynamicProperty(eM),eM}}function initialize$1(){addPropertyDecorator()}function addDecorator(){function eb(){return this.data.d.x?(this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this),this.addEffect(this.getExpressionValue.bind(this)),!0):null}TextProperty.prototype.getExpressionValue=function(eb,em){var eH=this.calculateExpression(em);if(eb.t!==eH){var eV={};return this.copyData(eV,eb),eV.t=eH.toString(),eV.__complete=!1,eV}return eb},TextProperty.prototype.searchProperty=function(){var eb=this.searchKeyframes(),em=this.searchExpressions();return this.kf=eb||em,this.kf},TextProperty.prototype.searchExpressions=eb}function initialize(){addDecorator()}function SVGComposableEffect(){}SVGComposableEffect.prototype={createMergeNode:function(eb,em){var eH,eV,ew=createNS("feMerge");for(ew.setAttribute("result",eb),eV=0;eV=eE?eD<0?eV:ew:eV+eI*Math.pow((eM-eb)/eD,1/eH),eA[eN]=eC,eN+=1,eT+=256/(e_-1);return eA.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(eb){if(eb||this.filterManager._mdf){var em,eH=this.filterManager.effectElements;this.feFuncRComposed&&(eb||eH[3].p._mdf||eH[4].p._mdf||eH[5].p._mdf||eH[6].p._mdf||eH[7].p._mdf)&&(em=this.getTableValue(eH[3].p.v,eH[4].p.v,eH[5].p.v,eH[6].p.v,eH[7].p.v),this.feFuncRComposed.setAttribute("tableValues",em),this.feFuncGComposed.setAttribute("tableValues",em),this.feFuncBComposed.setAttribute("tableValues",em)),this.feFuncR&&(eb||eH[10].p._mdf||eH[11].p._mdf||eH[12].p._mdf||eH[13].p._mdf||eH[14].p._mdf)&&(em=this.getTableValue(eH[10].p.v,eH[11].p.v,eH[12].p.v,eH[13].p.v,eH[14].p.v),this.feFuncR.setAttribute("tableValues",em)),this.feFuncG&&(eb||eH[17].p._mdf||eH[18].p._mdf||eH[19].p._mdf||eH[20].p._mdf||eH[21].p._mdf)&&(em=this.getTableValue(eH[17].p.v,eH[18].p.v,eH[19].p.v,eH[20].p.v,eH[21].p.v),this.feFuncG.setAttribute("tableValues",em)),this.feFuncB&&(eb||eH[24].p._mdf||eH[25].p._mdf||eH[26].p._mdf||eH[27].p._mdf||eH[28].p._mdf)&&(em=this.getTableValue(eH[24].p.v,eH[25].p.v,eH[26].p.v,eH[27].p.v,eH[28].p.v),this.feFuncB.setAttribute("tableValues",em)),this.feFuncA&&(eb||eH[31].p._mdf||eH[32].p._mdf||eH[33].p._mdf||eH[34].p._mdf||eH[35].p._mdf)&&(em=this.getTableValue(eH[31].p.v,eH[32].p.v,eH[33].p.v,eH[34].p.v,eH[35].p.v),this.feFuncA.setAttribute("tableValues",em))}},extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(eb){if(eb||this.filterManager._mdf){if((eb||this.filterManager.effectElements[4].p._mdf)&&this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4),eb||this.filterManager.effectElements[0].p._mdf){var em=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(255*em[0]),Math.round(255*em[1]),Math.round(255*em[2])))}if((eb||this.filterManager.effectElements[1].p._mdf)&&this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255),eb||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var eH=this.filterManager.effectElements[3].p.v,eV=(this.filterManager.effectElements[2].p.v-90)*degToRads,ew=eH*Math.cos(eV),eM=eH*Math.sin(eV);this.feOffset.setAttribute("dx",ew),this.feOffset.setAttribute("dy",eM)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(eb,em,eH){this.initialized=!1,this.filterManager=em,this.filterElem=eb,this.elem=eH,eH.matteElement=createNS("g"),eH.matteElement.appendChild(eH.layerElement),eH.matteElement.appendChild(eH.transformedElement),eH.baseElement=eH.matteElement}function SVGGaussianBlurEffect(eb,em,eH,eV){eb.setAttribute("x","-100%"),eb.setAttribute("y","-100%"),eb.setAttribute("width","300%"),eb.setAttribute("height","300%"),this.filterManager=em;var ew=createNS("feGaussianBlur");ew.setAttribute("result",eV),eb.appendChild(ew),this.feGaussianBlur=ew}function TransformEffect(){}function SVGTransformEffect(eb,em){this.init(em)}function CVTransformEffect(eb){this.init(eb)}return SVGMatte3Effect.prototype.findSymbol=function(eb){for(var em=0,eH=_svgMatteSymbols.length;em1;class eP{constructor(eb){if("number"==typeof eb&&(eb={max:eb}),eb||(eb={}),eb.max&&("number"!=typeof eb.max||eb.max<0))throw TypeError("max must be a non-negative number");this[ew]=eb.max||1/0;let em=eb.length||eD;if(this[eC]="function"!=typeof em?eD:em,this[eT]=eb.stale||!1,eb.maxAge&&"number"!=typeof eb.maxAge)throw TypeError("maxAge must be a number");this[e_]=eb.maxAge||0,this[eS]=eb.dispose,this[eE]=eb.noDisposeOnSet||!1,this[eI]=eb.updateAgeOnGet||!1,this.reset()}set max(eb){if("number"!=typeof eb||eb<0)throw TypeError("max must be a non-negative number");this[ew]=eb||1/0,eB(this)}get max(){return this[ew]}set allowStale(eb){this[eT]=!!eb}get allowStale(){return this[eT]}set maxAge(eb){if("number"!=typeof eb)throw TypeError("maxAge must be a non-negative number");this[e_]=eb,eB(this)}get maxAge(){return this[e_]}set lengthCalculator(eb){"function"!=typeof eb&&(eb=eD),eb!==this[eC]&&(this[eC]=eb,this[eM]=0,this[eA].forEach(eb=>{eb.length=this[eC](eb.value,eb.key),this[eM]+=eb.length})),eB(this)}get lengthCalculator(){return this[eC]}get length(){return this[eM]}get itemCount(){return this[eA].length}rforEach(eb,em){em=em||this;for(let eH=this[eA].tail;null!==eH;){let eV=eH.prev;eU(this,eb,eH,em),eH=eV}}forEach(eb,em){em=em||this;for(let eH=this[eA].head;null!==eH;){let eV=eH.next;eU(this,eb,eH,em),eH=eV}}keys(){return this[eA].toArray().map(eb=>eb.key)}values(){return this[eA].toArray().map(eb=>eb.value)}reset(){this[eS]&&this[eA]&&this[eA].length&&this[eA].forEach(eb=>this[eS](eb.key,eb.value)),this[eN]=new Map,this[eA]=new eV,this[eM]=0}dump(){return this[eA].map(eb=>!eR(this,eb)&&{k:eb.key,v:eb.value,e:eb.now+(eb.maxAge||0)}).toArray().filter(eb=>eb)}dumpLru(){return this[eA]}set(eb,em,eH){if((eH=eH||this[e_])&&"number"!=typeof eH)throw TypeError("maxAge must be a number");let eV=eH?Date.now():0,eT=this[eC](em,eb);if(this[eN].has(eb)){if(eT>this[ew])return eF(this,this[eN].get(eb)),!1;let eC=this[eN].get(eb),e_=eC.value;return this[eS]&&!this[eE]&&this[eS](eb,e_.value),e_.now=eV,e_.maxAge=eH,e_.value=em,this[eM]+=eT-e_.length,e_.length=eT,this.get(eb),eB(this),!0}let eI=new ej(eb,em,eT,eV,eH);return eI.length>this[ew]?(this[eS]&&this[eS](eb,em),!1):(this[eM]+=eI.length,this[eA].unshift(eI),this[eN].set(eb,this[eA].head),eB(this),!0)}has(eb){if(!this[eN].has(eb))return!1;let em=this[eN].get(eb).value;return!eR(this,em)}get(eb){return eO(this,eb,!0)}peek(eb){return eO(this,eb,!1)}pop(){let eb=this[eA].tail;return eb?(eF(this,eb),eb.value):null}del(eb){eF(this,this[eN].get(eb))}load(eb){this.reset();let em=Date.now();for(let eH=eb.length-1;eH>=0;eH--){let eV=eb[eH],ew=eV.e||0;if(0===ew)this.set(eV.k,eV.v);else{let eb=ew-em;eb>0&&this.set(eV.k,eV.v,eb)}}}prune(){this[eN].forEach((eb,em)=>eO(this,em,!1))}}let eO=(eb,em,eH)=>{let eV=eb[eN].get(em);if(eV){let em=eV.value;if(eR(eb,em)){if(eF(eb,eV),!eb[eT])return}else eH&&(eb[eI]&&(eV.value.now=Date.now()),eb[eA].unshiftNode(eV));return em.value}},eR=(eb,em)=>{if(!em||!em.maxAge&&!eb[e_])return!1;let eH=Date.now()-em.now;return em.maxAge?eH>em.maxAge:eb[e_]&&eH>eb[e_]},eB=eb=>{if(eb[eM]>eb[ew])for(let em=eb[eA].tail;eb[eM]>eb[ew]&&null!==em;){let eH=em.prev;eF(eb,em),em=eH}},eF=(eb,em)=>{if(em){let eH=em.value;eb[eS]&&eb[eS](eH.key,eH.value),eb[eM]-=eH.length,eb[eN].delete(eH.key),eb[eA].removeNode(em)}};class ej{constructor(eb,em,eH,eV,ew){this.key=eb,this.value=em,this.length=eH,this.now=eV,this.maxAge=ew||0}}let eU=(eb,em,eH,eV)=>{let ew=eH.value;eR(eb,ew)&&(eF(eb,eH),eb[eT]||(ew=void 0)),ew&&em.call(eV,ew.value,ew.key,eb)};eb.exports=eP},62318:function(eb,em,eH){"use strict";var eV=eH(35717),ew=eH(3349),eM=eH(89509).Buffer,eC=Array(16);function eT(){ew.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function e_(eb,em){return eb<>>32-em}function eS(eb,em,eH,eV,ew,eM,eC){return e_(eb+(em&eH|~em&eV)+ew+eM|0,eC)+em|0}function eE(eb,em,eH,eV,ew,eM,eC){return e_(eb+(em&eV|eH&~eV)+ew+eM|0,eC)+em|0}function eA(eb,em,eH,eV,ew,eM,eC){return e_(eb+(em^eH^eV)+ew+eM|0,eC)+em|0}function eN(eb,em,eH,eV,ew,eM,eC){return e_(eb+(eH^(em|~eV))+ew+eM|0,eC)+em|0}eV(eT,ew),eT.prototype._update=function(){for(var eb=eC,em=0;em<16;++em)eb[em]=this._block.readInt32LE(4*em);var eH=this._a,eV=this._b,ew=this._c,eM=this._d;eH=eS(eH,eV,ew,eM,eb[0],3614090360,7),eM=eS(eM,eH,eV,ew,eb[1],3905402710,12),ew=eS(ew,eM,eH,eV,eb[2],606105819,17),eV=eS(eV,ew,eM,eH,eb[3],3250441966,22),eH=eS(eH,eV,ew,eM,eb[4],4118548399,7),eM=eS(eM,eH,eV,ew,eb[5],1200080426,12),ew=eS(ew,eM,eH,eV,eb[6],2821735955,17),eV=eS(eV,ew,eM,eH,eb[7],4249261313,22),eH=eS(eH,eV,ew,eM,eb[8],1770035416,7),eM=eS(eM,eH,eV,ew,eb[9],2336552879,12),ew=eS(ew,eM,eH,eV,eb[10],4294925233,17),eV=eS(eV,ew,eM,eH,eb[11],2304563134,22),eH=eS(eH,eV,ew,eM,eb[12],1804603682,7),eM=eS(eM,eH,eV,ew,eb[13],4254626195,12),ew=eS(ew,eM,eH,eV,eb[14],2792965006,17),eV=eS(eV,ew,eM,eH,eb[15],1236535329,22),eH=eE(eH,eV,ew,eM,eb[1],4129170786,5),eM=eE(eM,eH,eV,ew,eb[6],3225465664,9),ew=eE(ew,eM,eH,eV,eb[11],643717713,14),eV=eE(eV,ew,eM,eH,eb[0],3921069994,20),eH=eE(eH,eV,ew,eM,eb[5],3593408605,5),eM=eE(eM,eH,eV,ew,eb[10],38016083,9),ew=eE(ew,eM,eH,eV,eb[15],3634488961,14),eV=eE(eV,ew,eM,eH,eb[4],3889429448,20),eH=eE(eH,eV,ew,eM,eb[9],568446438,5),eM=eE(eM,eH,eV,ew,eb[14],3275163606,9),ew=eE(ew,eM,eH,eV,eb[3],4107603335,14),eV=eE(eV,ew,eM,eH,eb[8],1163531501,20),eH=eE(eH,eV,ew,eM,eb[13],2850285829,5),eM=eE(eM,eH,eV,ew,eb[2],4243563512,9),ew=eE(ew,eM,eH,eV,eb[7],1735328473,14),eV=eE(eV,ew,eM,eH,eb[12],2368359562,20),eH=eA(eH,eV,ew,eM,eb[5],4294588738,4),eM=eA(eM,eH,eV,ew,eb[8],2272392833,11),ew=eA(ew,eM,eH,eV,eb[11],1839030562,16),eV=eA(eV,ew,eM,eH,eb[14],4259657740,23),eH=eA(eH,eV,ew,eM,eb[1],2763975236,4),eM=eA(eM,eH,eV,ew,eb[4],1272893353,11),ew=eA(ew,eM,eH,eV,eb[7],4139469664,16),eV=eA(eV,ew,eM,eH,eb[10],3200236656,23),eH=eA(eH,eV,ew,eM,eb[13],681279174,4),eM=eA(eM,eH,eV,ew,eb[0],3936430074,11),ew=eA(ew,eM,eH,eV,eb[3],3572445317,16),eV=eA(eV,ew,eM,eH,eb[6],76029189,23),eH=eA(eH,eV,ew,eM,eb[9],3654602809,4),eM=eA(eM,eH,eV,ew,eb[12],3873151461,11),ew=eA(ew,eM,eH,eV,eb[15],530742520,16),eV=eA(eV,ew,eM,eH,eb[2],3299628645,23),eH=eN(eH,eV,ew,eM,eb[0],4096336452,6),eM=eN(eM,eH,eV,ew,eb[7],1126891415,10),ew=eN(ew,eM,eH,eV,eb[14],2878612391,15),eV=eN(eV,ew,eM,eH,eb[5],4237533241,21),eH=eN(eH,eV,ew,eM,eb[12],1700485571,6),eM=eN(eM,eH,eV,ew,eb[3],2399980690,10),ew=eN(ew,eM,eH,eV,eb[10],4293915773,15),eV=eN(eV,ew,eM,eH,eb[1],2240044497,21),eH=eN(eH,eV,ew,eM,eb[8],1873313359,6),eM=eN(eM,eH,eV,ew,eb[15],4264355552,10),ew=eN(ew,eM,eH,eV,eb[6],2734768916,15),eV=eN(eV,ew,eM,eH,eb[13],1309151649,21),eH=eN(eH,eV,ew,eM,eb[4],4149444226,6),eM=eN(eM,eH,eV,ew,eb[11],3174756917,10),ew=eN(ew,eM,eH,eV,eb[2],718787259,15),eV=eN(eV,ew,eM,eH,eb[9],3951481745,21),this._a=this._a+eH|0,this._b=this._b+eV|0,this._c=this._c+ew|0,this._d=this._d+eM|0},eT.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 eb=eM.allocUnsafe(16);return eb.writeInt32LE(this._a,0),eb.writeInt32LE(this._b,4),eb.writeInt32LE(this._c,8),eb.writeInt32LE(this._d,12),eb},eb.exports=eT},64898:function(eb,em,eH){"use strict";var eV=eH(48764).Buffer,ew=eH(34155);Object.defineProperty(em,"__esModule",{value:!0}),em.InvalidStatusCodeError=em.InvalidCertError=void 0;let eM=Object.freeze({redirect:!0,expectStatusCode:200,headers:{},full:!1,keepAlive:!0,cors:!1,referrer:!1,sslAllowSelfSigned:!1,_redirectCount:0});class eC extends Error{constructor(eb,em){super(eb),this.fingerprint256=em}}em.InvalidCertError=eC;class eT extends Error{constructor(eb){super(`Request Failed. Status Code: ${eb}`),this.statusCode=eb}}function e_(eb,em){if(!em||"text"===em||"json"===em)try{let eH=new TextDecoder("utf8",{fatal:!0}).decode(eb);if("text"===em)return eH;try{return JSON.parse(eH)}catch(eb){if("json"===em)throw eb;return eH}}catch(eb){if("text"===em||"json"===em)throw eb}return eb}em.InvalidStatusCodeError=eT;let eS={};function eE(eb,em){let ew={...eM,...em},eA=eH(22321),eN=eH(78428),eI=eH(47715),{promisify:eD}=eH(89539),{resolve:eP}=eH(11987),eO=!!/^https/.test(eb),eR={method:ew.method||"GET",headers:{"Accept-Encoding":"gzip, deflate, br"}},eB=eb=>eb.replace(/:| /g,"").toLowerCase();if(ew.keepAlive){let eb={keepAlive:!0,keepAliveMsecs:3e4,maxFreeSockets:1024,maxCachedSessions:1024},em=[eO,eO&&ew.sslPinnedCertificates?.map(eb=>eB(eb)).sort()].join();eR.agent=eS[em]||(eS[em]=new(eO?eN:eA).Agent(eb))}"json"===ew.type&&(eR.headers["Content-Type"]="application/json"),ew.data&&(ew.method||(eR.method="POST"),eR.body="json"===ew.type?JSON.stringify(ew.data):ew.data),eR.headers={...eR.headers,...ew.headers},ew.sslAllowSelfSigned&&(eR.rejectUnauthorized=!1);let eF=async em=>{let eH=em.statusCode;if(ew.redirect&&300<=eH&&eH<400&&em.headers.location){if(10==ew._redirectCount)throw Error("Request failed. Too much redirects.");return ew._redirectCount+=1,await eE(eP(eb,em.headers.location),ew)}if(ew.expectStatusCode&&eH!==ew.expectStatusCode)throw em.resume(),new eT(eH);let eM=[];for await(let eb of em)eM.push(eb);let eC=eV.concat(eM),eS=em.headers["content-encoding"];"br"===eS&&(eC=await eD(eI.brotliDecompress)(eC)),("gzip"===eS||"deflate"===eS)&&(eC=await eD(eI.unzip)(eC));let eA=e_(eC,ew.type);return ew.full?{headers:em.headers,status:eH,body:eA}:eA};return new Promise((em,eH)=>{let eV=async em=>{if(em&&"DEPTH_ZERO_SELF_SIGNED_CERT"===em.code)try{await eE(eb,{...ew,sslAllowSelfSigned:!0,sslPinnedCertificates:[]})}catch(eb){eb&&eb.fingerprint256&&(em=new eC(`Self-signed SSL certificate: ${eb.fingerprint256}`,eb.fingerprint256))}eH(em)},eM=(eO?eN:eA).request(eb,eR,eb=>{eb.on("error",eV),(async()=>{try{em(await eF(eb))}catch(eb){eH(eb)}})()});eM.on("error",eV);let eT=ew.sslPinnedCertificates?.map(eb=>eB(eb)),e_=eb=>{let em=eB(eb.getPeerCertificate()?.fingerprint256||"");if(!(!em&&eb.isSessionReused())&&!eT.includes(em))return eM.emit("error",new eC(`Invalid SSL certificate: ${em} Expected: ${eT}`,em)),eM.abort()};ew.sslPinnedCertificates&&eM.on("socket",eb=>{let em=eb.listeners("secureConnect").map(eb=>(eb.name||"").replace("bound ","")).includes("mfetchSecureConnect");em||eb.on("secureConnect",e_.bind(null,eb))}),ew.keepAlive&&eM.setNoDelay(!0),eR.body&&eM.write(eR.body),eM.end()})}let eA=new Set(["Accept","Accept-Language","Content-Language","Content-Type"].map(eb=>eb.toLowerCase())),eN=new Set(["Accept-Charset","Accept-Encoding","Access-Control-Request-Headers","Access-Control-Request-Method","Connection","Content-Length","Cookie","Cookie2","Date","DNT","Expect","Host","Keep-Alive","Origin","Referer","TE","Trailer","Transfer-Encoding","Upgrade","Via"].map(eb=>eb.toLowerCase()));async function eI(eb,em){let eH={...eM,...em},eV=new Headers;"json"===eH.type&&eV.set("Content-Type","application/json");let ew=new URL(eb);if(ew.username){let eb=btoa(`${ew.username}:${ew.password}`);eV.set("Authorization",`Basic ${eb}`),ew.username="",ew.password=""}for(let em in eb=""+ew,eH.headers){let eb=em.toLowerCase();(eA.has(eb)||eH.cors&&!eN.has(eb))&&eV.set(em,eH.headers[em])}let eC={headers:eV,redirect:eH.redirect?"follow":"manual"};eH.referrer||(eC.referrerPolicy="no-referrer"),eH.cors&&(eC.mode="cors"),eH.data&&(eH.method||(eC.method="POST"),eC.body="json"===eH.type?JSON.stringify(eH.data):eH.data);let eS=await fetch(eb,eC);if(eH.expectStatusCode&&eS.status!==eH.expectStatusCode)throw new eT(eS.status);let eE=e_(new Uint8Array(await eS.arrayBuffer()),eH.type);return eH.full?{headers:Object.fromEntries(eS.headers.entries()),status:eS.status,body:eE}:eE}let eD=!!("object"==typeof ew&&ew.versions&&ew.versions.node&&ew.versions.v8);function eP(eb,em){let eH=eD?eE:eI;return eH(eb,em)}em.default=eP},79746:function(eb){function em(eb,em){if(!eb)throw Error(em||"Assertion failed")}eb.exports=em,em.equal=function(eb,em,eH){if(eb!=em)throw Error(eH||"Assertion failed: "+eb+" != "+em)}},34504:function(eb,em){"use strict";var eH=em;function eV(eb,em){if(Array.isArray(eb))return eb.slice();if(!eb)return[];var eH=[];if("string"!=typeof eb){for(var eV=0;eV>8,eC=255&ew;eM?eH.push(eM,eC):eH.push(eC)}return eH}function ew(eb){return 1===eb.length?"0"+eb:eb}function eM(eb){for(var em="",eH=0;eH100)){var eT=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(eb);if(eT){var e_=parseFloat(eT[1]);switch((eT[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return e_*eC;case"weeks":case"week":case"w":return e_*eM;case"days":case"day":case"d":return e_*ew;case"hours":case"hour":case"hrs":case"hr":case"h":return e_*eV;case"minutes":case"minute":case"mins":case"min":case"m":return e_*eH;case"seconds":case"second":case"secs":case"sec":case"s":return e_*em;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e_;default:return}}}}function e_(eb){var eM=Math.abs(eb);return eM>=ew?Math.round(eb/ew)+"d":eM>=eV?Math.round(eb/eV)+"h":eM>=eH?Math.round(eb/eH)+"m":eM>=em?Math.round(eb/em)+"s":eb+"ms"}function eS(eb){var eM=Math.abs(eb);return eM>=ew?eE(eb,eM,ew,"day"):eM>=eV?eE(eb,eM,eV,"hour"):eM>=eH?eE(eb,eM,eH,"minute"):eM>=em?eE(eb,eM,em,"second"):eb+" ms"}function eE(eb,em,eH,eV){var ew=em>=1.5*eH;return Math.round(eb/eH)+" "+eV+(ew?"s":"")}eb.exports=function(eb,em){em=em||{};var eH=typeof eb;if("string"===eH&&eb.length>0)return eT(eb);if("number"===eH&&isFinite(eb))return em.long?eS(eb):e_(eb);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(eb))}},63144:function(eb){"use strict";let em=self.fetch.bind(self);eb.exports=em,eb.exports.default=eb.exports},6840:function(eb,em,eH){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_app",function(){return eH(3859)}])},33445:function(eb,em,eH){"use strict";eH.d(em,{Z:function(){return eE}});var eV=eH(85893),ew=eH(67294),eM=eH(79632),eC=eH(19521);let eT=eC.ZP.div.withConfig({displayName:"styles__StyledSpinnerContainer",componentId:"sc-1y0oj0z-0"})(["",""],eb=>{let{theme:em,$fullScreen:eH,$show:eV,$center:ew}=eb;return(0,eC.iv)([""," position:",";backdrop-filter:blur(3px);border-radius:inherit;opacity:",";align-items:",";padding-top:",";z-index:99;transition:all ease-in-out 250ms 250ms;background-color:","0C;"],{inset:"0px",display:"flex",height:"100%",minHeight:"11rem",justifyContent:"center",paddingTop:"2.5rem",paddingBottom:"2.5rem"},eH?"fixed":"absolute",eV?"1":"0",ew?"center":"flex-start",ew?"2.5rem":"6rem",em.color.contentBackground)});var e_=eH(73935);let eS=eb=>{let{show:em,center:eH=!1,fullScreen:ew=!1,...eC}=eb,{shouldMount:eS,stage:eE}=(0,eM.Yz)(em,500),eA=(0,eV.jsx)(eV.Fragment,{children:eS&&(0,eV.jsx)(eT,{$show:"enter"===eE,$center:eH,$fullScreen:ew,children:(0,eV.jsx)(eM.$j,{...eC})})});return(0,eV.jsx)(eV.Fragment,{children:ew&&"object"==typeof document?(0,e_.createPortal)(eA,document.body):eA})};eS.displayName="SpinnerOverlay";var eE=(0,ew.memo)(eS)},94461:function(eb,em,eH){"use strict";eH.d(em,{WE:function(){return eD},mr:function(){return eP}});var eV=eH(85893),ew=eH(67294),eM=eH(96116),eC=eH(91421),eT=eH(89954),e_=eH(77767);function eS(eb){return(em,eH)=>{for(let[eV,ew]of Object.entries(eb)){let eb=em[eV],eM=ew(eb,eH);eM!==eb&&(em={...em,[eV]:eM})}return em}}function eE(eb){return eb({},{type:"INITIAL_STATE",payload:void 0})}let eA=eS({connection:(0,eM.RG)(),filter:(0,e_.rH)(),ccns:(0,eC.yf)("ccns","hash","virtual"),crns:(0,eC.yf)("crns","hash","virtual"),lastCRNVersion:(0,eT.mM)("lastCRNVersion"),lastCCNVersion:(0,eT.mM)("lastCCNVersion"),lastRewardsDistribution:(0,eT.mM)("lastRewardsDistribution"),lastRewardsCalculation:(0,eT.mM)("lastRewardsCalculation")}),eN=eE(eA),eI=(0,ew.createContext)([eN,()=>null]);function eD(eb){let{children:em}=eb,eH=(0,ew.useReducer)(eA,eN);return(0,eV.jsx)(eI.Provider,{value:eH,children:em})}function eP(){return(0,ew.useContext)(eI)}},4582:function(eb,em,eH){"use strict";let eV;eH.d(em,{q6:function(){return SR},Ek:function(){return e_.$O},F7:function(){return ew},DR:function(){return SP}});var ew,eM={};eH.r(eM),eH.d(eM,{abytes:function(){return nM},bitGet:function(){return nq},bitLen:function(){return nU},bitMask:function(){return nW},bitSet:function(){return n$},bytesToHex:function(){return nk},bytesToNumberBE:function(){return nN},bytesToNumberLE:function(){return nI},concatBytes:function(){return nB},createHmacDrbg:function(){return nK},ensureBytes:function(){return nR},equalBytes:function(){return nF},hexToBytes:function(){return nA},hexToNumber:function(){return n_},isBytes:function(){return nw},numberToBytesBE:function(){return nD},numberToBytesLE:function(){return nP},numberToHexUnpadded:function(){return nT},numberToVarBytesBE:function(){return nO},utf8ToBytes:function(){return nj},validateObject:function(){return nX}});var eC=eH(17187),eT=eH.n(eC),e_=eH(73603);eH(2153);var eS=eH(89706),eE=eH(241),eA=Object.defineProperty,eN=(eb,em,eH)=>em in eb?eA(eb,em,{enumerable:!0,configurable:!0,writable:!0,value:eH}):eb[em]=eH,eI=(eb,em,eH)=>(eN(eb,"symbol"!=typeof em?em+"":em,eH),eH);class eD{constructor(eb){eI(this,"address"),this.address=eb}}class eP extends eD{constructor(eb,em){super(eb),eI(this,"publicKey"),this.publicKey=em}}var eO=Object.defineProperty,eR=(eb,em,eH)=>em in eb?eO(eb,em,{enumerable:!0,configurable:!0,writable:!0,value:eH}):eb[em]=eH,eB=(eb,em,eH)=>(eR(eb,"symbol"!=typeof em?em+"":em,eH),eH);class eF{constructor(){eB(this,"provider")}}eH(51091),eH(48764).Buffer;var ej=Object.defineProperty,eU=(eb,em,eH)=>em in eb?ej(eb,em,{enumerable:!0,configurable:!0,writable:!0,value:eH}):eb[em]=eH,e$=(eb,em,eH)=>(eU(eb,"symbol"!=typeof em?em+"":em,eH),eH);let eW=`DEPRECATION WARNING: -Encryption/Decryption features may become obsolete, for more information: https://github.com/aleph-im/aleph-sdk-ts/issues/37`;var eZ=((kD=eZ||{})[kD.ETH=0]="ETH",kD[kD.ETH_FLASHBOTS=1]="ETH_FLASHBOTS",kD[kD.POLYGON=2]="POLYGON",kD[kD.BSC=3]="BSC",kD[kD.AVAX=4]="AVAX",kD[kD.AVAX_TESTNET=5]="AVAX_TESTNET",kD);function eG(eb){return"0x"+eb.toString(16)}let eK={4:{chainId:eG(43114),rpcUrls:["https://api.avax.network/ext/bc/C/rpc"],chainName:"Avalanche Mainnet",nativeCurrency:{name:"AVAX",symbol:"AVAX",decimals:18},blockExplorerUrls:["https://snowtrace.io/"]},5:{chainId:eG(43113),rpcUrls:["https://api.avax-test.network/ext/bc/C/rpc"],chainName:"Avalanche Testnet",nativeCurrency:{name:"AVAX",symbol:"AVAX",decimals:18},blockExplorerUrls:["https://testnet.snowtrace.io/"]},0:{chainId:eG(1),rpcUrls:["https://mainnet.infura.io/v3/"],chainName:"Ethereum Mainnet",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},blockExplorerUrls:["https://etherscan.io"]},1:{chainId:eG(1),rpcUrls:["https://rpc.flashbots.net/"],chainName:"Ethereum Mainnet - Flashbots",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},blockExplorerUrls:["https://etherscan.io"]},2:{chainId:eG(137),rpcUrls:["https://polygon-rpc.com/"],chainName:"Polygon Mainnet",nativeCurrency:{name:"MATIC",symbol:"MATIC",decimals:18},blockExplorerUrls:["https://polygonscan.com/"]},3:{chainId:eG(56),rpcUrls:["https://bsc-dataseed.binance.org/"],chainName:"Binance Smart Chain Mainnet",nativeCurrency:{name:"BNB",symbol:"BNB",decimals:18},blockExplorerUrls:["https://bscscan.com"]}};class eY extends eF{constructor(eb){super(),e$(this,"signer"),e$(this,"address"),e$(this,"publicKey"),this.provider=eb}async connect(){try{await this.isConnected()||await this.provider.send("wallet_requestPermissions",[{eth_accounts:{}}]),this.signer=this.provider.getSigner(),this.address=await this.signer.getAddress()}catch(eb){throw Error(`Could not connect to wallet: ${eb}`)}}async getPublicKey(){if(!this.publicKey&&(console.warn(eW),this.publicKey=await this.provider.send("eth_getEncryptionPublicKey",[this.address]),!this.publicKey||0===this.publicKey.length))throw Error("Could not retrieve public key");return this.publicKey}async signMessage(eb){if(!this.signer)throw Error("Wallet not connected");return this.signer.signMessage(eb)}async changeNetwork(eb=0){"number"==typeof eb?0===eb?await this.provider.send("wallet_switchEthereumChain",[{chainId:"0x1"}]):await this.provider.send("wallet_addEthereumChain",[eK[eb]]):await this.provider.send("wallet_addEthereumChain",[eb])}async getCurrentChainId(){return(await this.provider.getNetwork()).chainId}isMetamask(){return this.provider instanceof eE.Q&&!!this.provider?.provider.isMetaMask}async isConnected(){return 0!==(await this.provider.send("eth_accounts",[])).length}}var eX=Object.defineProperty,eJ=(eb,em,eH)=>em in eb?eX(eb,em,{enumerable:!0,configurable:!0,writable:!0,value:eH}):eb[em]=eH,eQ=(eb,em,eH)=>(eJ(eb,"symbol"!=typeof em?em+"":em,eH),eH);class e0 extends eP{constructor(){super(...arguments),eQ(this,"wallet")}async getChainId(){if(this.wallet instanceof eY)return this.wallet.provider.network.chainId;if(this.wallet instanceof eS.w5)return(await this.wallet.provider.getNetwork()).chainId;if(!this.wallet)throw Error("EVMAccount has no connected wallet");try{return this.wallet.provider.network.chainId}catch(eb){throw Error(`Could not get chainId: ${eb}`)}}getRpcUrl(){if(this.wallet instanceof eY)return this.wallet.provider.connection.url;throw this.wallet instanceof eS.w5?Error("Wallet has no connected provider"):Error("EVMAccount has no connected wallet")}async getRpcId(){let eb=await this.getChainId(),em=this.getRpcUrl();if(!eb&&!em)throw Error("No chainId or rpcUrl provided");for(let[eH,eV]of Object.entries(eK))if(!(em&&!eV.rpcUrls.includes(em))&&!(eb&&eV.chainId!==eG(eb)))return parseInt(eH);throw Error("ChainId and/or rpcUrl not found in preset chains")}async changeNetwork(eb=eZ.ETH){if(this.wallet instanceof eY&&await this.wallet.changeNetwork(eb),this.wallet instanceof eS.w5)throw Error("Not implemented for ethers.Wallet")}}var e6=Object.defineProperty,e4=(eb,em,eH)=>em in eb?e6(eb,em,{enumerable:!0,configurable:!0,writable:!0,value:eH}):eb[em]=eH,e3=(eb,em,eH)=>(e4(eb,"symbol"!=typeof em?em+"":em,eH),eH);class e5 extends e0{constructor(eb,em,eH){super(em,eH),e3(this,"wallet"),this.wallet=eb}getChain(){return e_.$O.ETH}async askPubKey(){if(!this.publicKey){if(!this.wallet)throw Error("PublicKey Error: No providers are setup");if(this.wallet instanceof eS.w5){this.publicKey=this.wallet.publicKey;return}this.publicKey=await this.wallet.getPublicKey()}}async sign(eb){let em=eb.getVerificationBuffer();return this.wallet.signMessage(em.toString())}}async function e8(eb,em=eZ.ETH){let eH=new eE.Q(eb),eV=new eY(eH);if(await eV.changeNetwork(em),await eV.connect(),eV.address)return new e5(eV,eV.address);throw Error("Insufficient permissions")}var e9=eH(48764);function e7(eb){if(!Number.isSafeInteger(eb)||eb<0)throw Error(`positive integer expected, not ${eb}`)}function tH(eb){return eb instanceof Uint8Array||null!=eb&&"object"==typeof eb&&"Uint8Array"===eb.constructor.name}function tV(eb,...em){if(!tH(eb))throw Error("Uint8Array expected");if(em.length>0&&!em.includes(eb.length))throw Error(`Uint8Array expected of length ${em}, not of length=${eb.length}`)}function tw(eb){if("function"!=typeof eb||"function"!=typeof eb.create)throw Error("Hash should be wrapped by utils.wrapConstructor");e7(eb.outputLen),e7(eb.blockLen)}function tC(eb,em=!0){if(eb.destroyed)throw Error("Hash instance has been destroyed");if(em&&eb.finished)throw Error("Hash#digest() has already been called")}function tT(eb,em){tV(eb);let eH=em.outputLen;if(eb.lengthnew Uint32Array(eb.buffer,eb.byteOffset,Math.floor(eb.byteLength/4)),tE=eb=>new DataView(eb.buffer,eb.byteOffset,eb.byteLength),tA=(eb,em)=>eb<<32-em|eb>>>em,tN=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0],tI=eb=>eb<<24&4278190080|eb<<8&16711680|eb>>>8&65280|eb>>>24&255;function tD(eb){for(let em=0;emem.toString(16).padStart(2,"0"));class tB{clone(){return this._cloneInto()}}function tF(eb){let em=em=>eb().update(tO(em)).digest(),eH=eb();return em.outputLen=eH.outputLen,em.blockLen=eH.blockLen,em.create=()=>eb(),em}function tj(eb=32){if(t_&&"function"==typeof t_.getRandomValues)return t_.getRandomValues(new Uint8Array(eb));throw Error("crypto.getRandomValues must be defined")}function tU(eb,em,eH,eV){if("function"==typeof eb.setBigUint64)return eb.setBigUint64(em,eH,eV);let ew=BigInt(32),eM=BigInt(4294967295),eC=Number(eH>>ew&eM),eT=Number(eH&eM),e_=eV?4:0,eS=eV?0:4;eb.setUint32(em+e_,eC,eV),eb.setUint32(em+eS,eT,eV)}let tq=(eb,em,eH)=>eb&em^~eb&eH,t$=(eb,em,eH)=>eb&em^eb&eH^em&eH;class tW extends tB{constructor(eb,em,eH,eV){super(),this.blockLen=eb,this.outputLen=em,this.padOffset=eH,this.isLE=eV,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(eb),this.view=tE(this.buffer)}update(eb){tC(this);let{view:em,buffer:eH,blockLen:eV}=this;eb=tO(eb);let ew=eb.length;for(let eM=0;eMeV-eM&&(this.process(eH,0),eM=0);for(let eb=eM;ebeS.length)throw Error("_sha2: outputLen bigger than state");for(let eb=0;eb>tG&tZ)}:{h:0|Number(eb>>tG&tZ),l:0|Number(eb&tZ)}}function tY(eb,em=!1){let eH=new Uint32Array(eb.length),eV=new Uint32Array(eb.length);for(let ew=0;ewBigInt(eb>>>0)<>>0),tJ=(eb,em,eH)=>eb>>>eH,tQ=(eb,em,eH)=>eb<<32-eH|em>>>eH,aH=(eb,em,eH)=>eb>>>eH|em<<32-eH,aV=(eb,em,eH)=>eb<<32-eH|em>>>eH,aM=(eb,em,eH)=>eb<<64-eH|em>>>eH-32,aC=(eb,em,eH)=>eb>>>eH-32|em<<64-eH,ak=(eb,em)=>em,a_=(eb,em)=>eb,aS=(eb,em,eH)=>eb<>>32-eH,aE=(eb,em,eH)=>em<>>32-eH,aN=(eb,em,eH)=>em<>>64-eH,aI=(eb,em,eH)=>eb<>>64-eH;function aD(eb,em,eH,eV){let ew=(em>>>0)+(eV>>>0);return{h:eb+eH+(ew/4294967296|0)|0,l:0|ew}}let aP=(eb,em,eH)=>(eb>>>0)+(em>>>0)+(eH>>>0),aO=(eb,em,eH,eV)=>em+eH+eV+(eb/4294967296|0)|0,aR=(eb,em,eH,eV)=>(eb>>>0)+(em>>>0)+(eH>>>0)+(eV>>>0),aF=(eb,em,eH,eV,ew)=>em+eH+eV+ew+(eb/4294967296|0)|0,aj=(eb,em,eH,eV,ew)=>(eb>>>0)+(em>>>0)+(eH>>>0)+(eV>>>0)+(ew>>>0),aU=(eb,em,eH,eV,ew,eM)=>em+eH+eV+ew+eM+(eb/4294967296|0)|0,aq={fromBig:tK,split:tY,toBig:tX,shrSH:tJ,shrSL:tQ,rotrSH:aH,rotrSL:aV,rotrBH:aM,rotrBL:aC,rotr32H:ak,rotr32L:a_,rotlSH:aS,rotlSL:aE,rotlBH:aN,rotlBL:aI,add:aD,add3L:aP,add3H:aO,add4L:aR,add4H:aF,add5H:aU,add5L:aj};var a$=aq;let[aW,aZ]=a$.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(eb=>BigInt(eb))),aG=new Uint32Array(80),aK=new Uint32Array(80);class aY extends tW{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(){let{Ah:eb,Al:em,Bh:eH,Bl:eV,Ch:ew,Cl:eM,Dh:eC,Dl:eT,Eh:e_,El:eS,Fh:eE,Fl:eA,Gh:eN,Gl:eI,Hh:eD,Hl:eP}=this;return[eb,em,eH,eV,ew,eM,eC,eT,e_,eS,eE,eA,eN,eI,eD,eP]}set(eb,em,eH,eV,ew,eM,eC,eT,e_,eS,eE,eA,eN,eI,eD,eP){this.Ah=0|eb,this.Al=0|em,this.Bh=0|eH,this.Bl=0|eV,this.Ch=0|ew,this.Cl=0|eM,this.Dh=0|eC,this.Dl=0|eT,this.Eh=0|e_,this.El=0|eS,this.Fh=0|eE,this.Fl=0|eA,this.Gh=0|eN,this.Gl=0|eI,this.Hh=0|eD,this.Hl=0|eP}process(eb,em){for(let eH=0;eH<16;eH++,em+=4)aG[eH]=eb.getUint32(em),aK[eH]=eb.getUint32(em+=4);for(let eb=16;eb<80;eb++){let em=0|aG[eb-15],eH=0|aK[eb-15],eV=a$.rotrSH(em,eH,1)^a$.rotrSH(em,eH,8)^a$.shrSH(em,eH,7),ew=a$.rotrSL(em,eH,1)^a$.rotrSL(em,eH,8)^a$.shrSL(em,eH,7),eM=0|aG[eb-2],eC=0|aK[eb-2],eT=a$.rotrSH(eM,eC,19)^a$.rotrBH(eM,eC,61)^a$.shrSH(eM,eC,6),e_=a$.rotrSL(eM,eC,19)^a$.rotrBL(eM,eC,61)^a$.shrSL(eM,eC,6),eS=a$.add4L(ew,e_,aK[eb-7],aK[eb-16]),eE=a$.add4H(eS,eV,eT,aG[eb-7],aG[eb-16]);aG[eb]=0|eE,aK[eb]=0|eS}let{Ah:eH,Al:eV,Bh:ew,Bl:eM,Ch:eC,Cl:eT,Dh:e_,Dl:eS,Eh:eE,El:eA,Fh:eN,Fl:eI,Gh:eD,Gl:eP,Hh:eO,Hl:eR}=this;for(let eb=0;eb<80;eb++){let em=a$.rotrSH(eE,eA,14)^a$.rotrSH(eE,eA,18)^a$.rotrBH(eE,eA,41),eB=a$.rotrSL(eE,eA,14)^a$.rotrSL(eE,eA,18)^a$.rotrBL(eE,eA,41),eF=eE&eN^~eE&eD,ej=eA&eI^~eA&eP,eU=a$.add5L(eR,eB,ej,aZ[eb],aK[eb]),e$=a$.add5H(eU,eO,em,eF,aW[eb],aG[eb]),eW=0|eU,eZ=a$.rotrSH(eH,eV,28)^a$.rotrBH(eH,eV,34)^a$.rotrBH(eH,eV,39),eG=a$.rotrSL(eH,eV,28)^a$.rotrBL(eH,eV,34)^a$.rotrBL(eH,eV,39),eK=eH&ew^eH&eC^ew&eC,eY=eV&eM^eV&eT^eM&eT;eO=0|eD,eR=0|eP,eD=0|eN,eP=0|eI,eN=0|eE,eI=0|eA,({h:eE,l:eA}=a$.add(0|e_,0|eS,0|e$,0|eW)),e_=0|eC,eS=0|eT,eC=0|ew,eT=0|eM,ew=0|eH,eM=0|eV;let eX=a$.add3L(eW,eG,eY);eH=a$.add3H(eX,e$,eZ,eK),eV=0|eX}({h:eH,l:eV}=a$.add(0|this.Ah,0|this.Al,0|eH,0|eV)),({h:ew,l:eM}=a$.add(0|this.Bh,0|this.Bl,0|ew,0|eM)),({h:eC,l:eT}=a$.add(0|this.Ch,0|this.Cl,0|eC,0|eT)),({h:e_,l:eS}=a$.add(0|this.Dh,0|this.Dl,0|e_,0|eS)),({h:eE,l:eA}=a$.add(0|this.Eh,0|this.El,0|eE,0|eA)),({h:eN,l:eI}=a$.add(0|this.Fh,0|this.Fl,0|eN,0|eI)),({h:eD,l:eP}=a$.add(0|this.Gh,0|this.Gl,0|eD,0|eP)),({h:eO,l:eR}=a$.add(0|this.Hh,0|this.Hl,0|eO,0|eR)),this.set(eH,eV,ew,eM,eC,eT,e_,eS,eE,eA,eN,eI,eD,eP,eO,eR)}roundClean(){aG.fill(0),aK.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)}}let aJ=tF(()=>new aY),aQ=BigInt(0),nH=BigInt(1),nV=BigInt(2);function nw(eb){return eb instanceof Uint8Array||null!=eb&&"object"==typeof eb&&"Uint8Array"===eb.constructor.name}function nM(eb){if(!nw(eb))throw Error("Uint8Array expected")}let nC=Array.from({length:256},(eb,em)=>em.toString(16).padStart(2,"0"));function nk(eb){nM(eb);let em="";for(let eH=0;eH=nS._0&&eb<=nS._9?eb-nS._0:eb>=nS._A&&eb<=nS._F?eb-(nS._A-10):eb>=nS._a&&eb<=nS._f?eb-(nS._a-10):void 0}function nA(eb){if("string"!=typeof eb)throw Error("hex string expected, got "+typeof eb);let em=eb.length,eH=em/2;if(em%2)throw Error("padded hex string expected, got unpadded hex of length "+em);let eV=new Uint8Array(eH);for(let em=0,ew=0;emaQ;eb>>=nH,em+=1);return em}function nq(eb,em){return eb>>BigInt(em)&nH}function n$(eb,em,eH){return eb|(eH?nH:aQ)<(nV<new Uint8Array(eb),nG=eb=>Uint8Array.from(eb);function nK(eb,em,eH){if("number"!=typeof eb||eb<2)throw Error("hashLen must be a number");if("number"!=typeof em||em<2)throw Error("qByteLen must be a number");if("function"!=typeof eH)throw Error("hmacFn must be a function");let eV=nZ(eb),ew=nZ(eb),eM=0,eC=()=>{eV.fill(1),ew.fill(0),eM=0},eT=(...eb)=>eH(ew,eV,...eb),e_=(eb=nZ())=>{ew=eT(nG([0]),eb),eV=eT(),0!==eb.length&&(ew=eT(nG([1]),eb),eV=eT())},eS=()=>{if(eM++>=1e3)throw Error("drbg: tried 1000 values");let eb=0,eH=[];for(;eb{let eH;for(eC(),e_(eb);!(eH=em(eS()));)e_();return eC(),eH};return eE}let nY={bigint:eb=>"bigint"==typeof eb,function:eb=>"function"==typeof eb,boolean:eb=>"boolean"==typeof eb,string:eb=>"string"==typeof eb,stringOrUint8Array:eb=>"string"==typeof eb||nw(eb),isSafeInteger:eb=>Number.isSafeInteger(eb),array:eb=>Array.isArray(eb),field:(eb,em)=>em.Fp.isValid(eb),hash:eb=>"function"==typeof eb&&Number.isSafeInteger(eb.outputLen)};function nX(eb,em,eH={}){let eV=(em,eH,eV)=>{let ew=nY[eH];if("function"!=typeof ew)throw Error(`Invalid validator "${eH}", expected function`);let eM=eb[em];if((!eV||void 0!==eM)&&!ew(eM,eb))throw Error(`Invalid param ${String(em)}=${eM} (${typeof eM}), expected ${eH}`)};for(let[eb,eH]of Object.entries(em))eV(eb,eH,!1);for(let[eb,em]of Object.entries(eH))eV(eb,em,!0);return eb}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let nJ=BigInt(0),nQ=BigInt(1),n6=BigInt(2),n4=BigInt(3),n3=BigInt(4),n5=BigInt(5),n8=BigInt(8);function n9(eb,em){let eH=eb%em;return eH>=nJ?eH:em+eH}function n7(eb,em,eH){if(eH<=nJ||em 0");if(eH===nQ)return nJ;let eV=nQ;for(;em>nJ;)em&nQ&&(eV=eV*eb%eH),eb=eb*eb%eH,em>>=nQ;return eV}function ry(eb,em,eH){let eV=eb;for(;em-- >nJ;)eV*=eV,eV%=eH;return eV}function rz(eb,em){if(eb===nJ||em<=nJ)throw Error(`invert: expected positive integers, got n=${eb} mod=${em}`);let eH=n9(eb,em),eV=em,ew=nJ,eM=nQ,eC=nQ,eT=nJ;for(;eH!==nJ;){let eb=eV/eH,em=eV%eH,e_=ew-eC*eb,eS=eM-eT*eb;eV=eH,eH=em,ew=eC,eM=eT,eC=e_,eT=eS}let e_=eV;if(e_!==nQ)throw Error("invert: does not exist");return n9(ew,em)}function rH(eb){let em,eH,eV;let ew=(eb-nQ)/n6;for(em=eb-nQ,eH=0;em%n6===nJ;em/=n6,eH++);for(eV=n6;eV(n9(eb,em)&nQ)===nQ,rM=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function rC(eb){let em={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},eH=rM.reduce((eb,em)=>(eb[em]="function",eb),em);return nX(eb,eH)}function rk(eb,em,eH){if(eH 0");if(eH===nJ)return eb.ONE;if(eH===nQ)return em;let eV=eb.ONE,ew=em;for(;eH>nJ;)eH&nQ&&(eV=eb.mul(eV,ew)),ew=eb.sqr(ew),eH>>=nQ;return eV}function rT(eb,em){let eH=Array(em.length),eV=em.reduce((em,eV,ew)=>eb.is0(eV)?em:(eH[ew]=em,eb.mul(em,eV)),eb.ONE),ew=eb.inv(eV);return em.reduceRight((em,eV,ew)=>eb.is0(eV)?em:(eH[ew]=eb.mul(em,eH[ew]),eb.mul(em,eV)),ew),eH}function r_(eb,em){let eH=void 0!==em?em:eb.toString(2).length,eV=Math.ceil(eH/8);return{nBitLength:eH,nByteLength:eV}}function rS(eb,em,eH=!1,eV={}){if(eb<=nJ)throw Error(`Expected Field ORDER > 0, got ${eb}`);let{nBitLength:ew,nByteLength:eM}=r_(eb,em);if(eM>2048)throw Error("Field lengths over 2048 bytes are not supported");let eC=rV(eb),eT=Object.freeze({ORDER:eb,BITS:ew,BYTES:eM,MASK:nW(ew),ZERO:nJ,ONE:nQ,create:em=>n9(em,eb),isValid:em=>{if("bigint"!=typeof em)throw Error(`Invalid field element: expected bigint, got ${typeof em}`);return nJ<=em&&emeb===nJ,isOdd:eb=>(eb&nQ)===nQ,neg:em=>n9(-em,eb),eql:(eb,em)=>eb===em,sqr:em=>n9(em*em,eb),add:(em,eH)=>n9(em+eH,eb),sub:(em,eH)=>n9(em-eH,eb),mul:(em,eH)=>n9(em*eH,eb),pow:(eb,em)=>rk(eT,eb,em),div:(em,eH)=>n9(em*rz(eH,eb),eb),sqrN:eb=>eb*eb,addN:(eb,em)=>eb+em,subN:(eb,em)=>eb-em,mulN:(eb,em)=>eb*em,inv:em=>rz(em,eb),sqrt:eV.sqrt||(eb=>eC(eT,eb)),invertBatch:eb=>rT(eT,eb),cmov:(eb,em,eH)=>eH?em:eb,toBytes:eb=>eH?nP(eb,eM):nD(eb,eM),fromBytes:eb=>{if(eb.length!==eM)throw Error(`Fp.fromBytes: expected ${eM}, got ${eb.length}`);return eH?nI(eb):nN(eb)}});return Object.freeze(eT)}function rE(eb,em){if(!eb.isOdd)throw Error("Field doesn't have isOdd");let eH=eb.sqrt(em);return eb.isOdd(eH)?eb.neg(eH):eH}function rA(eb){if("bigint"!=typeof eb)throw Error("field order must be bigint");let em=eb.toString(2).length;return Math.ceil(em/8)}function rN(eb){let em=rA(eb);return em+Math.ceil(em/2)}function rI(eb,em,eH=!1){let eV=eb.length,ew=rA(em),eM=rN(em);if(eV<16||eV1024)throw Error(`expected ${eM}-1024 bytes of input, got ${eV}`);let eC=eH?nN(eb):nI(eb),eT=n9(eC,em-nQ)+nQ;return eH?nP(eT,ew):nD(eT,ew)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let rD=BigInt(0),rP=BigInt(1);function rO(eb,em){let eH=(eb,em)=>{let eH=em.negate();return eb?eH:em},eV=eb=>{let eH=Math.ceil(em/eb)+1,eV=2**(eb-1);return{windows:eH,windowSize:eV}};return{constTimeNegate:eH,unsafeLadder(em,eH){let eV=eb.ZERO,ew=em;for(;eH>rD;)eH&rP&&(eV=eV.add(ew)),ew=ew.double(),eH>>=rP;return eV},precomputeWindow(eb,em){let{windows:eH,windowSize:ew}=eV(em),eM=[],eC=eb,eT=eC;for(let eb=0;eb>=eN,eV>eT&&(eV-=eA,eM+=rP);let eC=em,eI=em+Math.abs(eV)-1,eD=eb%2!=0,eP=eV<0;0===eV?eS=eS.add(eH(eD,ew[eC])):e_=e_.add(eH(eP,ew[eI]))}return{p:e_,f:eS}},wNAFCached(eb,em,eH,eV){let ew=eb._WINDOW_SIZE||1,eM=em.get(eb);return eM||(eM=this.precomputeWindow(eb,ew),1!==ew&&em.set(eb,eV(eM))),this.wNAF(ew,eM,eH)}}}function rR(eb){return rC(eb.Fp),nX(eb,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...r_(eb.n,eb.nBitLength),...eb,p:eb.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let rB=BigInt(0),rF=BigInt(1),rj=BigInt(2),rU=BigInt(8),rq={zip215:!0};function r$(eb){let em=rR(eb);return nX(eb,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...em})}function rW(eb){let em=r$(eb),{Fp:eH,n:eV,prehash:ew,hash:eM,randomBytes:eC,nByteLength:eT,h:e_}=em,eS=rj<{try{return{isValid:!0,value:eH.sqrt(eb*eH.inv(em))}}catch(eb){return{isValid:!1,value:rB}}}),eN=em.adjustScalarBytes||(eb=>eb),eI=em.domain||((eb,em,eH)=>{if(em.length||eH)throw Error("Contexts/pre-hash are not supported");return eb}),eD=eb=>"bigint"==typeof eb&&rBeD(eb)&&eD(em)&&ebeb===rB||eP(eb,eS);function eR(eb,em){if(eP(eb,em))return eb;throw Error(`Expected valid scalar < ${em}, got ${typeof eb} ${eb}`)}function eB(eb){return eb===rB?eb:eR(eb,eV)}let eF=new Map;function ej(eb){if(!(eb instanceof eU))throw Error("ExtendedPoint expected")}class eU{constructor(eb,em,eH,eV){if(this.ex=eb,this.ey=em,this.ez=eH,this.et=eV,!eO(eb))throw Error("x required");if(!eO(em))throw Error("y required");if(!eO(eH))throw Error("z required");if(!eO(eV))throw Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(eb){if(eb instanceof eU)throw Error("extended point not allowed");let{x:em,y:eH}=eb||{};if(!eO(em)||!eO(eH))throw Error("invalid affine point");return new eU(em,eH,rF,eE(em*eH))}static normalizeZ(eb){let em=eH.invertBatch(eb.map(eb=>eb.ez));return eb.map((eb,eH)=>eb.toAffine(em[eH])).map(eU.fromAffine)}_setWindowSize(eb){this._WINDOW_SIZE=eb,eF.delete(this)}assertValidity(){let{a:eb,d:eH}=em;if(this.is0())throw Error("bad point: ZERO");let{ex:eV,ey:ew,ez:eM,et:eC}=this,eT=eE(eV*eV),e_=eE(ew*ew),eS=eE(eM*eM),eA=eE(eS*eS),eN=eE(eT*eb),eI=eE(eS*eE(eN+e_)),eD=eE(eA+eE(eH*eE(eT*e_)));if(eI!==eD)throw Error("bad point: equation left != right (1)");let eP=eE(eV*ew),eO=eE(eM*eC);if(eP!==eO)throw Error("bad point: equation left != right (2)")}equals(eb){ej(eb);let{ex:em,ey:eH,ez:eV}=this,{ex:ew,ey:eM,ez:eC}=eb,eT=eE(em*eC),e_=eE(ew*eV),eS=eE(eH*eC),eA=eE(eM*eV);return eT===e_&&eS===eA}is0(){return this.equals(eU.ZERO)}negate(){return new eU(eE(-this.ex),this.ey,this.ez,eE(-this.et))}double(){let{a:eb}=em,{ex:eH,ey:eV,ez:ew}=this,eM=eE(eH*eH),eC=eE(eV*eV),eT=eE(rj*eE(ew*ew)),e_=eE(eb*eM),eS=eH+eV,eA=eE(eE(eS*eS)-eM-eC),eN=e_+eC,eI=eN-eT,eD=e_-eC,eP=eE(eA*eI),eO=eE(eN*eD),eR=eE(eA*eD),eB=eE(eI*eN);return new eU(eP,eO,eB,eR)}add(eb){ej(eb);let{a:eH,d:eV}=em,{ex:ew,ey:eM,ez:eC,et:eT}=this,{ex:e_,ey:eS,ez:eA,et:eN}=eb;if(eH===BigInt(-1)){let eb=eE((eM-ew)*(eS+e_)),em=eE((eM+ew)*(eS-e_)),eH=eE(em-eb);if(eH===rB)return this.double();let eV=eE(eC*rj*eN),eI=eE(eT*rj*eA),eD=eI+eV,eP=em+eb,eO=eI-eV,eR=eE(eD*eH),eB=eE(eP*eO),eF=eE(eD*eO),ej=eE(eH*eP);return new eU(eR,eB,ej,eF)}let eI=eE(ew*e_),eD=eE(eM*eS),eP=eE(eT*eV*eN),eO=eE(eC*eA),eR=eE((ew+eM)*(e_+eS)-eI-eD),eB=eO-eP,eF=eO+eP,e$=eE(eD-eH*eI),eW=eE(eR*eB),eZ=eE(eF*e$),eG=eE(eR*e$),eK=eE(eB*eF);return new eU(eW,eZ,eK,eG)}subtract(eb){return this.add(eb.negate())}wNAF(eb){return eZ.wNAFCached(this,eF,eb,eU.normalizeZ)}multiply(eb){let{p:em,f:eH}=this.wNAF(eR(eb,eV));return eU.normalizeZ([em,eH])[0]}multiplyUnsafe(eb){let em=eB(eb);return em===rB?eW:this.equals(eW)||em===rF?this:this.equals(e$)?this.wNAF(em).p:eZ.unsafeLadder(this,em)}isSmallOrder(){return this.multiplyUnsafe(e_).is0()}isTorsionFree(){return eZ.unsafeLadder(this,eV).is0()}toAffine(eb){let{ex:em,ey:eV,ez:ew}=this,eM=this.is0();null==eb&&(eb=eM?rU:eH.inv(ew));let eC=eE(em*eb),eT=eE(eV*eb),e_=eE(ew*eb);if(eM)return{x:rB,y:rF};if(e_!==rF)throw Error("invZ was invalid");return{x:eC,y:eT}}clearCofactor(){let{h:eb}=em;return eb===rF?this:this.multiplyUnsafe(eb)}static fromHex(eb,eV=!1){let{d:ew,a:eM}=em,eC=eH.BYTES;eb=nR("pointHex",eb,eC);let eT=eb.slice(),e_=eb[eC-1];eT[eC-1]=-129&e_;let eN=nI(eT);eN===rB||(eV?eR(eN,eS):eR(eN,eH.ORDER));let eI=eE(eN*eN),eD=eE(eI-rF),eP=eE(ew*eI-eM),{isValid:eO,value:eB}=eA(eD,eP);if(!eO)throw Error("Point.fromHex: invalid y coordinate");let eF=(eB&rF)===rF,ej=(128&e_)!=0;if(!eV&&eB===rB&&ej)throw Error("Point.fromHex: x=0 and x_0=1");return ej!==eF&&(eB=eE(-eB)),eU.fromAffine({x:eB,y:eN})}static fromPrivateKey(eb){return eY(eb).point}toRawBytes(){let{x:eb,y:em}=this.toAffine(),eV=nP(em,eH.BYTES);return eV[eV.length-1]|=eb&rF?128:0,eV}toHex(){return nk(this.toRawBytes())}}eU.BASE=new eU(em.Gx,em.Gy,rF,eE(em.Gx*em.Gy)),eU.ZERO=new eU(rB,rF,rF,rB);let{BASE:e$,ZERO:eW}=eU,eZ=rO(eU,8*eT);function eG(eb){return n9(eb,eV)}function eK(eb){return eG(nI(eb))}function eY(eb){let em=eT;eb=nR("private key",eb,em);let eH=nR("hashed private key",eM(eb),2*em),eV=eN(eH.slice(0,em)),ew=eH.slice(em,2*em),eC=eK(eV),e_=e$.multiply(eC),eS=e_.toRawBytes();return{head:eV,prefix:ew,scalar:eC,point:e_,pointBytes:eS}}function eX(eb){return eY(eb).pointBytes}function eJ(eb=new Uint8Array,...em){let eH=nB(...em);return eK(eM(eI(eH,nR("context",eb),!!ew)))}function eQ(eb,em,eV={}){eb=nR("message",eb),ew&&(eb=ew(eb));let{prefix:eM,scalar:eC,pointBytes:e_}=eY(em),eS=eJ(eV.context,eM,eb),eE=e$.multiply(eS).toRawBytes(),eA=eJ(eV.context,eE,e_,eb),eN=eG(eS+eA*eC);eB(eN);let eI=nB(eE,nP(eN,eH.BYTES));return nR("result",eI,2*eT)}let e0=rq;function e6(eb,em,eV,eM=e0){let eC,eT,e_;let{context:eS,zip215:eE}=eM,eA=eH.BYTES;eb=nR("signature",eb,2*eA),em=nR("message",em),ew&&(em=ew(em));let eN=nI(eb.slice(eA,2*eA));try{eC=eU.fromHex(eV,eE),eT=eU.fromHex(eb.slice(0,eA),eE),e_=e$.multiplyUnsafe(eN)}catch(eb){return!1}if(!eE&&eC.isSmallOrder())return!1;let eI=eJ(eS,eT.toRawBytes(),eC.toRawBytes(),em),eD=eT.add(eC.multiplyUnsafe(eI));return eD.subtract(e_).clearCofactor().equals(eU.ZERO)}e$._setWindowSize(8);let e4={getExtendedPublicKey:eY,randomPrivateKey:()=>eC(eH.BYTES),precompute:(eb=8,em=eU.BASE)=>(em._setWindowSize(eb),em.multiply(BigInt(3)),em)};return{CURVE:em,getPublicKey:eX,sign:eQ,verify:e6,ExtendedPoint:eU,utils:e4}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let rZ=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),rG=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),rK=BigInt(0),rY=BigInt(1),rX=BigInt(2),rJ=BigInt(5),rQ=BigInt(10),ib=BigInt(20),iy=BigInt(40),iH=BigInt(80);function iV(eb){let em=rZ,eH=eb*eb%em,eV=eH*eb%em,ew=ry(eV,rX,em)*eV%em,eM=ry(ew,rY,em)*eb%em,eC=ry(eM,rJ,em)*eM%em,eT=ry(eC,rQ,em)*eC%em,e_=ry(eT,ib,em)*eT%em,eS=ry(e_,iy,em)*e_%em,eE=ry(eS,iH,em)*eS%em,eA=ry(eE,iH,em)*eS%em,eN=ry(eA,rQ,em)*eC%em,eI=ry(eN,rX,em)*eb%em;return{pow_p_5_8:eI,b2:eV}}function iw(eb){return eb[0]&=248,eb[31]&=127,eb[31]|=64,eb}function iM(eb,em){let eH=rZ,eV=n9(em*em*em,eH),ew=n9(eV*eV*em,eH),eM=iV(eb*ew).pow_p_5_8,eC=n9(eb*eV*eM,eH),eT=n9(em*eC*eC,eH),e_=eC,eS=n9(eC*rG,eH),eE=eT===eb,eA=eT===n9(-eb,eH),eN=eT===n9(-eb*rG,eH);return eE&&(eC=e_),(eA||eN)&&(eC=eS),rw(eC,eH)&&(eC=n9(-eC,eH)),{isValid:eE||eA,value:eC}}let iC=rS(rZ,void 0,!0),iT={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:iC,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:aJ,randomBytes:tj,adjustScalarBytes:iw,uvRatio:iM},i_=rW(iT);function iS(eb,em,eH){if(em.length>255)throw Error("Context is too big");return tR(tP("SigEd25519 no Ed25519 collisions"),new Uint8Array([eH?1:0,em.length]),em,eb)}rW({...iT,domain:iS}),rW({...iT,domain:iS,prehash:aJ});let iE=(iC.ORDER+BigInt(3))/BigInt(8);function iA(eb){if(!(eb instanceof iU))throw Error("RistrettoPoint expected")}iC.pow(rX,iE),iC.sqrt(iC.neg(iC.ONE)),iC.ORDER,BigInt(5),BigInt(8),BigInt(486662),rE(iC,iC.neg(BigInt(486664)));let iN=null,iI=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),iD=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),iP=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),iO=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),iR=eb=>iM(rY,eb),iB=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),iF=eb=>i_.CURVE.Fp.create(bytesToNumberLE(eb)&iB);function ij(eb){let{d:em}=i_.CURVE,eH=i_.CURVE.Fp.ORDER,eV=i_.CURVE.Fp.create,ew=eV(iN*eb*eb),eM=eV((ew+rY)*iP),eC=BigInt(-1),eT=eV((eC-em*ew)*eV(ew+em)),{isValid:e_,value:eS}=iM(eM,eT),eE=eV(eS*eb);isNegativeLE(eE,eH)||(eE=eV(-eE)),e_||(eS=eE),e_||(eC=ew);let eA=eV(eC*(ew-rY)*iO-eT),eN=eS*eS,eI=eV((eS+eS)*eT),eD=eV(eA*iI),eP=eV(rY-eN),eO=eV(rY+eN);return new i_.ExtendedPoint(eV(eI*eO),eV(eP*eD),eV(eD*eO),eV(eI*eP))}class iU{constructor(eb){this.ep=eb}static fromAffine(eb){return new iU(i_.ExtendedPoint.fromAffine(eb))}static hashToCurve(eb){eb=ensureBytes("ristrettoHash",eb,64);let em=iF(eb.slice(0,32)),eH=ij(em),eV=iF(eb.slice(32,64)),ew=ij(eV);return new iU(eH.add(ew))}static fromHex(eb){eb=ensureBytes("ristrettoHex",eb,32);let{a:em,d:eH}=i_.CURVE,eV=i_.CURVE.Fp.ORDER,ew=i_.CURVE.Fp.create,eM="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",eC=iF(eb);if(!equalBytes(numberToBytesLE(eC,32),eb)||isNegativeLE(eC,eV))throw Error(eM);let eT=ew(eC*eC),e_=ew(rY+em*eT),eS=ew(rY-em*eT),eE=ew(e_*e_),eA=ew(eS*eS),eN=ew(em*eH*eE-eA),{isValid:eI,value:eD}=iR(ew(eN*eA)),eP=ew(eD*eS),eO=ew(eD*eP*eN),eR=ew((eC+eC)*eP);isNegativeLE(eR,eV)&&(eR=ew(-eR));let eB=ew(e_*eO),eF=ew(eR*eB);if(!eI||isNegativeLE(eF,eV)||eB===rK)throw Error(eM);return new iU(new i_.ExtendedPoint(eR,eB,rY,eF))}toRawBytes(){let eb,{ex:em,ey:eH,ez:eV,et:ew}=this.ep,eM=i_.CURVE.Fp.ORDER,eC=i_.CURVE.Fp.create,eT=eC(eC(eV+eH)*eC(eV-eH)),e_=eC(em*eH),eS=eC(e_*e_),{value:eE}=iR(eC(eT*eS)),eA=eC(eE*eT),eN=eC(eE*e_),eI=eC(eA*eN*ew);if(isNegativeLE(ew*eI,eM)){let eV=eC(eH*iN),ew=eC(em*iN);em=eV,eH=ew,eb=eC(eA*iD)}else eb=eN;isNegativeLE(em*eI,eM)&&(eH=eC(-eH));let eD=eC((eV-eH)*eb);return isNegativeLE(eD,eM)&&(eD=eC(-eD)),numberToBytesLE(eD,32)}toHex(){return bytesToHex(this.toRawBytes())}toString(){return this.toHex()}equals(eb){iA(eb);let{ex:em,ey:eH}=this.ep,{ex:eV,ey:ew}=eb.ep,eM=i_.CURVE.Fp.create,eC=eM(em*ew)===eM(eH*eV),eT=eM(eH*ew)===eM(em*eV);return eC||eT}add(eb){return iA(eb),new iU(this.ep.add(eb.ep))}subtract(eb){return iA(eb),new iU(this.ep.subtract(eb.ep))}multiply(eb){return new iU(this.ep.multiply(eb))}multiplyUnsafe(eb){return new iU(this.ep.multiplyUnsafe(eb))}double(){return new iU(this.ep.double())}negate(){return new iU(this.ep.negate())}}var iq=eH(13550),i$=eH.n(iq),iW=eH(77191),iZ=eH.n(iW);let iG=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]),iK=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),iJ=new Uint32Array(64);class iQ extends tW{constructor(){super(64,32,8,!1),this.A=0|iK[0],this.B=0|iK[1],this.C=0|iK[2],this.D=0|iK[3],this.E=0|iK[4],this.F=0|iK[5],this.G=0|iK[6],this.H=0|iK[7]}get(){let{A:eb,B:em,C:eH,D:eV,E:ew,F:eM,G:eC,H:eT}=this;return[eb,em,eH,eV,ew,eM,eC,eT]}set(eb,em,eH,eV,ew,eM,eC,eT){this.A=0|eb,this.B=0|em,this.C=0|eH,this.D=0|eV,this.E=0|ew,this.F=0|eM,this.G=0|eC,this.H=0|eT}process(eb,em){for(let eH=0;eH<16;eH++,em+=4)iJ[eH]=eb.getUint32(em,!1);for(let eb=16;eb<64;eb++){let em=iJ[eb-15],eH=iJ[eb-2],eV=tA(em,7)^tA(em,18)^em>>>3,ew=tA(eH,17)^tA(eH,19)^eH>>>10;iJ[eb]=ew+iJ[eb-7]+eV+iJ[eb-16]|0}let{A:eH,B:eV,C:ew,D:eM,E:eC,F:eT,G:e_,H:eS}=this;for(let eb=0;eb<64;eb++){let em=tA(eC,6)^tA(eC,11)^tA(eC,25),eE=eS+em+tq(eC,eT,e_)+iG[eb]+iJ[eb]|0,eA=tA(eH,2)^tA(eH,13)^tA(eH,22),eN=eA+t$(eH,eV,ew)|0;eS=e_,e_=eT,eT=eC,eC=eM+eE|0,eM=ew,ew=eV,eV=eH,eH=eE+eN|0}eH=eH+this.A|0,eV=eV+this.B|0,ew=ew+this.C|0,eM=eM+this.D|0,eC=eC+this.E|0,eT=eT+this.F|0,e_=e_+this.G|0,eS=eS+this.H|0,this.set(eH,eV,ew,eM,eC,eT,e_,eS)}roundClean(){iJ.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}let i6=tF(()=>new iQ);var i4=eH(25532),i3=eH(39386),i5=eH(40475);class i8 extends TypeError{constructor(eb,em){let eH;let{message:eV,...ew}=eb,{path:eM}=eb,eC=0===eM.length?eV:"At path: "+eM.join(".")+" -- "+eV;super(eC),Object.assign(this,ew),this.name=this.constructor.name,this.failures=()=>{var eV;return null!=(eV=eH)?eV:eH=[eb,...em()]}}}function i9(eb){return i7(eb)&&"function"==typeof eb[Symbol.iterator]}function i7(eb){return"object"==typeof eb&&null!=eb}function cm(eb){return"string"==typeof eb?JSON.stringify(eb):""+eb}function cz(eb){let{done:em,value:eH}=eb.next();return em?void 0:eH}function cH(eb,em,eH,eV){if(!0===eb)return;!1===eb?eb={}:"string"==typeof eb&&(eb={message:eb});let{path:ew,branch:eM}=em,{type:eC}=eH,{refinement:eT,message:e_="Expected a value of type `"+eC+"`"+(eT?" with refinement `"+eT+"`":"")+", but received: `"+cm(eV)+"`"}=eb;return{value:eV,type:eC,refinement:eT,key:ew[ew.length-1],path:ew,branch:eM,...eb,message:e_}}function*cV(eb,em,eH,eV){for(let ew of(i9(eb)||(eb=[eb]),eb)){let eb=cH(ew,em,eH,eV);eb&&(yield eb)}}function*cw(eb,em,eH={}){let{path:eV=[],branch:ew=[eb],coerce:eM=!1,mask:eC=!1}=eH,eT={path:eV,branch:ew};if(eM&&(eb=em.coercer(eb,eT),eC&&"type"!==em.type&&i7(em.schema)&&i7(eb)&&!Array.isArray(eb)))for(let eH in eb)void 0===em.schema[eH]&&delete eb[eH];let e_=!0;for(let eH of em.validator(eb,eT))e_=!1,yield[eH,void 0];for(let[eH,eS,eE]of em.entries(eb,eT)){let em=cw(eS,eE,{path:void 0===eH?eV:[...eV,eH],branch:void 0===eH?ew:[...ew,eS],coerce:eM,mask:eC});for(let eV of em)eV[0]?(e_=!1,yield[eV[0],void 0]):eM&&(eS=eV[1],void 0===eH?eb=eS:eb instanceof Map?eb.set(eH,eS):eb instanceof Set?eb.add(eS):i7(eb)&&(eb[eH]=eS))}if(e_)for(let eH of em.refiner(eb,eT))e_=!1,yield[eH,void 0];e_&&(yield[void 0,eb])}class cM{constructor(eb){let{type:em,schema:eH,validator:eV,refiner:ew,coercer:eM=eb=>eb,entries:eC=function*(){}}=eb;this.type=em,this.schema=eH,this.entries=eC,this.coercer=eM,eV?this.validator=(eb,em)=>{let eH=eV(eb,em);return cV(eH,em,this,eb)}:this.validator=()=>[],ew?this.refiner=(eb,em)=>{let eH=ew(eb,em);return cV(eH,em,this,eb)}:this.refiner=()=>[]}assert(eb){return cC(eb,this)}create(eb){return ck(eb,this)}is(eb){return c_(eb,this)}mask(eb){return cT(eb,this)}validate(eb,em={}){return cS(eb,this,em)}}function cC(eb,em){let eH=cS(eb,em);if(eH[0])throw eH[0]}function ck(eb,em){let eH=cS(eb,em,{coerce:!0});if(!eH[0])return eH[1];throw eH[0]}function cT(eb,em){let eH=cS(eb,em,{coerce:!0,mask:!0});if(!eH[0])return eH[1];throw eH[0]}function c_(eb,em){let eH=cS(eb,em);return!eH[0]}function cS(eb,em,eH={}){let eV=cw(eb,em,eH),ew=cz(eV);if(ew[0]){let eb=new i8(ew[0],function*(){for(let eb of eV)eb[0]&&(yield eb[0])});return[eb,void 0]}{let eb=ew[1];return[void 0,eb]}}function cE(eb,em){return new cM({type:eb,schema:null,validator:em})}function cA(){return cE("any",()=>!0)}function cN(eb){return new cM({type:"array",schema:eb,*entries(em){if(eb&&Array.isArray(em))for(let[eH,eV]of em.entries())yield[eH,eV,eb]},coercer:eb=>Array.isArray(eb)?eb.slice():eb,validator:eb=>Array.isArray(eb)||"Expected an array value, but received: "+cm(eb)})}function cI(){return cE("boolean",eb=>"boolean"==typeof eb)}function cD(eb){return cE("instance",em=>em instanceof eb||"Expected a `"+eb.name+"` instance, but received: "+cm(em))}function cP(eb){let em=cm(eb),eH=typeof eb;return new cM({type:"literal",schema:"string"===eH||"number"===eH||"boolean"===eH?eb:null,validator:eH=>eH===eb||"Expected the literal `"+em+"`, but received: "+cm(eH)})}function cO(){return cE("never",()=>!1)}function cR(eb){return new cM({...eb,validator:(em,eH)=>null===em||eb.validator(em,eH),refiner:(em,eH)=>null===em||eb.refiner(em,eH)})}function cB(){return cE("number",eb=>"number"==typeof eb&&!isNaN(eb)||"Expected a number, but received: "+cm(eb))}function cF(eb){return new cM({...eb,validator:(em,eH)=>void 0===em||eb.validator(em,eH),refiner:(em,eH)=>void 0===em||eb.refiner(em,eH)})}function cj(eb,em){return new cM({type:"record",schema:null,*entries(eH){if(i7(eH))for(let eV in eH){let ew=eH[eV];yield[eV,eV,eb],yield[eV,ew,em]}},validator:eb=>i7(eb)||"Expected an object, but received: "+cm(eb)})}function cU(){return cE("string",eb=>"string"==typeof eb||"Expected a string, but received: "+cm(eb))}function cq(eb){let em=cO();return new cM({type:"tuple",schema:null,*entries(eH){if(Array.isArray(eH)){let eV=Math.max(eb.length,eH.length);for(let ew=0;ewArray.isArray(eb)||"Expected an array, but received: "+cm(eb)})}function c$(eb){let em=Object.keys(eb);return new cM({type:"type",schema:eb,*entries(eH){if(i7(eH))for(let eV of em)yield[eV,eH[eV],eb[eV]]},validator:eb=>i7(eb)||"Expected an object, but received: "+cm(eb)})}function cW(eb){let em=eb.map(eb=>eb.type).join(" | ");return new cM({type:"union",schema:null,validator(eH,eV){let ew=[];for(let em of eb){let[...eb]=cw(eH,em,eV),[eM]=eb;if(!eM[0])return[];for(let[em]of eb)em&&ew.push(em)}return["Expected the value to satisfy a union of `"+em+"`, but received: "+cm(eH),...ew]}})}function cZ(){return cE("unknown",()=>!0)}function cG(eb,em,eH){return new cM({...eb,coercer:(eV,ew)=>c_(eV,em)?eb.coercer(eH(eV,ew),ew):eb.coercer(eV,ew)})}eH(31198),eH(66855),eH(89062);let cK=[],cY=[],cX=[],cJ=BigInt(0),cQ=BigInt(1),sb=BigInt(2),sH=BigInt(7),sV=BigInt(256),sM=BigInt(113);for(let eb=0,em=cQ,eH=1,eV=0;eb<24;eb++){[eH,eV]=[eV,(2*eH+3*eV)%5],cK.push(2*(5*eV+eH)),cY.push((eb+1)*(eb+2)/2%64);let ew=cJ;for(let eb=0;eb<7;eb++)(em=(em<>sH)*sM)%sV)&sb&&(ew^=cQ<<(cQ<eH>32?aN(eb,em,eH):aS(eb,em,eH),sE=(eb,em,eH)=>eH>32?aI(eb,em,eH):aE(eb,em,eH);function sA(eb,em=24){let eH=new Uint32Array(10);for(let eV=24-em;eV<24;eV++){for(let em=0;em<10;em++)eH[em]=eb[em]^eb[em+10]^eb[em+20]^eb[em+30]^eb[em+40];for(let em=0;em<10;em+=2){let eV=(em+8)%10,ew=(em+2)%10,eM=eH[ew],eC=eH[ew+1],eT=sS(eM,eC,1)^eH[eV],e_=sE(eM,eC,1)^eH[eV+1];for(let eH=0;eH<50;eH+=10)eb[em+eH]^=eT,eb[em+eH+1]^=e_}let em=eb[2],ew=eb[3];for(let eH=0;eH<24;eH++){let eV=cY[eH],eM=sS(em,ew,eV),eC=sE(em,ew,eV),eT=cK[eH];em=eb[eT],ew=eb[eT+1],eb[eT]=eM,eb[eT+1]=eC}for(let em=0;em<50;em+=10){for(let eV=0;eV<10;eV++)eH[eV]=eb[em+eV];for(let eV=0;eV<10;eV++)eb[em+eV]^=~eH[(eV+2)%10]&eH[(eV+4)%10]}eb[0]^=sC[eV],eb[1]^=sT[eV]}eH.fill(0)}class sN extends tB{constructor(eb,em,eH,eV=!1,ew=24){if(super(),this.blockLen=eb,this.suffix=em,this.outputLen=eH,this.enableXOF=eV,this.rounds=ew,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,e7(eH),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=tS(this.state)}keccak(){tN||tD(this.state32),sA(this.state32,this.rounds),tN||tD(this.state32),this.posOut=0,this.pos=0}update(eb){tC(this);let{blockLen:em,state:eH}=this;eb=tO(eb);let eV=eb.length;for(let ew=0;ew=eH&&this.keccak();let eM=Math.min(eH-this.posOut,ew-eV);eb.set(em.subarray(this.posOut,this.posOut+eM),eV),this.posOut+=eM,eV+=eM}return eb}xofInto(eb){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(eb)}xof(eb){return e7(eb),this.xofInto(new Uint8Array(eb))}digestInto(eb){if(tT(eb,this),this.finished)throw Error("digest() was already called");return this.writeInto(eb),this.destroy(),eb}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(eb){let{blockLen:em,suffix:eH,outputLen:eV,rounds:ew,enableXOF:eM}=this;return eb||(eb=new sN(em,eH,eV,eM,ew)),eb.state32.set(this.state32),eb.pos=this.pos,eb.posOut=this.posOut,eb.finished=this.finished,eb.rounds=ew,eb.suffix=eH,eb.outputLen=eV,eb.enableXOF=eM,eb.destroyed=this.destroyed,eb}}let sI=(eb,em,eH)=>tF(()=>new sN(em,eb,eH)),sD=sI(1,136,32);class sP extends tB{constructor(eb,em){super(),this.finished=!1,this.destroyed=!1,tw(eb);let eH=tO(em);if(this.iHash=eb.create(),"function"!=typeof this.iHash.update)throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let eV=this.blockLen,ew=new Uint8Array(eV);ew.set(eH.length>eV?eb.create().update(eH).digest():eH);for(let eb=0;ebnew sP(eb,em).update(eH).digest();/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function sR(eb){let em=rR(eb);nX(em,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:eH,Fp:eV,a:ew}=em;if(eH){if(!eV.eql(ew,eV.ZERO))throw Error("Endomorphism can only be defined for Koblitz curves that have a=0");if("object"!=typeof eH||"bigint"!=typeof eH.beta||"function"!=typeof eH.splitScalar)throw Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...em})}sO.create=(eb,em)=>new sP(eb,em);let{bytesToNumberBE:sB,hexToBytes:sF}=eM,sj={Err:class extends Error{constructor(eb=""){super(eb)}},_parseInt(eb){let{Err:em}=sj;if(eb.length<2||2!==eb[0])throw new em("Invalid signature integer tag");let eH=eb[1],eV=eb.subarray(2,eH+2);if(!eH||eV.length!==eH)throw new em("Invalid signature integer: wrong length");if(128&eV[0])throw new em("Invalid signature integer: negative");if(0===eV[0]&&!(128&eV[1]))throw new em("Invalid signature integer: unnecessary leading zero");return{d:sB(eV),l:eb.subarray(eH+2)}},toSig(eb){let{Err:em}=sj,eH="string"==typeof eb?sF(eb):eb;nM(eH);let eV=eH.length;if(eV<2||48!=eH[0])throw new em("Invalid signature tag");if(eH[1]!==eV-2)throw new em("Invalid signature: incorrect length");let{d:ew,l:eM}=sj._parseInt(eH.subarray(2)),{d:eC,l:eT}=sj._parseInt(eM);if(eT.length)throw new em("Invalid signature: left bytes after parsing");return{r:ew,s:eC}},hexFromSig(eb){let em=eb=>8&Number.parseInt(eb[0],16)?"00"+eb:eb,eH=eb=>{let em=eb.toString(16);return 1&em.length?`0${em}`:em},eV=em(eH(eb.s)),ew=em(eH(eb.r)),eM=eV.length/2,eC=ew.length/2,eT=eH(eM),e_=eH(eC);return`30${eH(eC+eM+4)}02${e_}${ew}02${eT}${eV}`}},sU=BigInt(0),sq=BigInt(1),s$=(BigInt(2),BigInt(3));function sW(eb){let em=sR(eb),{Fp:eH}=em,eV=em.toBytes||((eb,em,eV)=>{let ew=em.toAffine();return nB(Uint8Array.from([4]),eH.toBytes(ew.x),eH.toBytes(ew.y))}),ew=em.fromBytes||(eb=>{let em=eb.subarray(1),eV=eH.fromBytes(em.subarray(0,eH.BYTES)),ew=eH.fromBytes(em.subarray(eH.BYTES,2*eH.BYTES));return{x:eV,y:ew}});function eM(eb){let{a:eV,b:ew}=em,eM=eH.sqr(eb),eC=eH.mul(eM,eb);return eH.add(eH.add(eC,eH.mul(eb,eV)),ew)}if(!eH.eql(eH.sqr(em.Gy),eM(em.Gx)))throw Error("bad generator point: equation left != right");function eC(eb){return"bigint"==typeof eb&&sUeH.eql(eb,eH.ZERO);return ew(em)&&ew(eV)?eA.ZERO:new eA(em,eV,eH.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(eb){let em=eH.invertBatch(eb.map(eb=>eb.pz));return eb.map((eb,eH)=>eb.toAffine(em[eH])).map(eA.fromAffine)}static fromHex(eb){let em=eA.fromAffine(ew(nR("pointHex",eb)));return em.assertValidity(),em}static fromPrivateKey(eb){return eA.BASE.multiply(e_(eb))}_setWindowSize(eb){this._WINDOW_SIZE=eb,eS.delete(this)}assertValidity(){if(this.is0()){if(em.allowInfinityPoint&&!eH.is0(this.py))return;throw Error("bad point: ZERO")}let{x:eb,y:eV}=this.toAffine();if(!eH.isValid(eb)||!eH.isValid(eV))throw Error("bad point: x or y not FE");let ew=eH.sqr(eV),eC=eM(eb);if(!eH.eql(ew,eC))throw Error("bad point: equation left != right");if(!this.isTorsionFree())throw Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:eb}=this.toAffine();if(eH.isOdd)return!eH.isOdd(eb);throw Error("Field doesn't support isOdd")}equals(eb){eE(eb);let{px:em,py:eV,pz:ew}=this,{px:eM,py:eC,pz:eT}=eb,e_=eH.eql(eH.mul(em,eT),eH.mul(eM,ew)),eS=eH.eql(eH.mul(eV,eT),eH.mul(eC,ew));return e_&&eS}negate(){return new eA(this.px,eH.neg(this.py),this.pz)}double(){let{a:eb,b:eV}=em,ew=eH.mul(eV,s$),{px:eM,py:eC,pz:eT}=this,e_=eH.ZERO,eS=eH.ZERO,eE=eH.ZERO,eN=eH.mul(eM,eM),eI=eH.mul(eC,eC),eD=eH.mul(eT,eT),eP=eH.mul(eM,eC);return eP=eH.add(eP,eP),eE=eH.mul(eM,eT),eE=eH.add(eE,eE),e_=eH.mul(eb,eE),eS=eH.mul(ew,eD),eS=eH.add(e_,eS),e_=eH.sub(eI,eS),eS=eH.add(eI,eS),eS=eH.mul(e_,eS),e_=eH.mul(eP,e_),eE=eH.mul(ew,eE),eD=eH.mul(eb,eD),eP=eH.sub(eN,eD),eP=eH.mul(eb,eP),eP=eH.add(eP,eE),eE=eH.add(eN,eN),eN=eH.add(eE,eN),eN=eH.add(eN,eD),eN=eH.mul(eN,eP),eS=eH.add(eS,eN),eD=eH.mul(eC,eT),eD=eH.add(eD,eD),eN=eH.mul(eD,eP),e_=eH.sub(e_,eN),eE=eH.mul(eD,eI),eE=eH.add(eE,eE),eE=eH.add(eE,eE),new eA(e_,eS,eE)}add(eb){eE(eb);let{px:eV,py:ew,pz:eM}=this,{px:eC,py:eT,pz:e_}=eb,eS=eH.ZERO,eN=eH.ZERO,eI=eH.ZERO,eD=em.a,eP=eH.mul(em.b,s$),eO=eH.mul(eV,eC),eR=eH.mul(ew,eT),eB=eH.mul(eM,e_),eF=eH.add(eV,ew),ej=eH.add(eC,eT);eF=eH.mul(eF,ej),ej=eH.add(eO,eR),eF=eH.sub(eF,ej),ej=eH.add(eV,eM);let eU=eH.add(eC,e_);return ej=eH.mul(ej,eU),eU=eH.add(eO,eB),ej=eH.sub(ej,eU),eU=eH.add(ew,eM),eS=eH.add(eT,e_),eU=eH.mul(eU,eS),eS=eH.add(eR,eB),eU=eH.sub(eU,eS),eI=eH.mul(eD,ej),eS=eH.mul(eP,eB),eI=eH.add(eS,eI),eS=eH.sub(eR,eI),eI=eH.add(eR,eI),eN=eH.mul(eS,eI),eR=eH.add(eO,eO),eR=eH.add(eR,eO),eB=eH.mul(eD,eB),ej=eH.mul(eP,ej),eR=eH.add(eR,eB),eB=eH.sub(eO,eB),eB=eH.mul(eD,eB),ej=eH.add(ej,eB),eO=eH.mul(eR,ej),eN=eH.add(eN,eO),eO=eH.mul(eU,ej),eS=eH.mul(eF,eS),eS=eH.sub(eS,eO),eO=eH.mul(eF,eR),eI=eH.mul(eU,eI),eI=eH.add(eI,eO),new eA(eS,eN,eI)}subtract(eb){return this.add(eb.negate())}is0(){return this.equals(eA.ZERO)}wNAF(eb){return eI.wNAFCached(this,eS,eb,eb=>{let em=eH.invertBatch(eb.map(eb=>eb.pz));return eb.map((eb,eH)=>eb.toAffine(em[eH])).map(eA.fromAffine)})}multiplyUnsafe(eb){let eV=eA.ZERO;if(eb===sU)return eV;if(eT(eb),eb===sq)return this;let{endo:ew}=em;if(!ew)return eI.unsafeLadder(this,eb);let{k1neg:eM,k1:eC,k2neg:e_,k2:eS}=ew.splitScalar(eb),eE=eV,eN=eV,eD=this;for(;eC>sU||eS>sU;)eC&sq&&(eE=eE.add(eD)),eS&sq&&(eN=eN.add(eD)),eD=eD.double(),eC>>=sq,eS>>=sq;return eM&&(eE=eE.negate()),e_&&(eN=eN.negate()),eN=new eA(eH.mul(eN.px,ew.beta),eN.py,eN.pz),eE.add(eN)}multiply(eb){let eV,ew;eT(eb);let eM=eb,{endo:eC}=em;if(eC){let{k1neg:eb,k1:em,k2neg:eT,k2:e_}=eC.splitScalar(eM),{p:eS,f:eE}=this.wNAF(em),{p:eN,f:eD}=this.wNAF(e_);eS=eI.constTimeNegate(eb,eS),eN=eI.constTimeNegate(eT,eN),eN=new eA(eH.mul(eN.px,eC.beta),eN.py,eN.pz),eV=eS.add(eN),ew=eE.add(eD)}else{let{p:eb,f:em}=this.wNAF(eM);eV=eb,ew=em}return eA.normalizeZ([eV,ew])[0]}multiplyAndAddUnsafe(eb,em,eH){let eV=eA.BASE,ew=(eb,em)=>em!==sU&&em!==sq&&eb.equals(eV)?eb.multiply(em):eb.multiplyUnsafe(em),eM=ew(this,em).add(ew(eb,eH));return eM.is0()?void 0:eM}toAffine(eb){let{px:em,py:eV,pz:ew}=this,eM=this.is0();null==eb&&(eb=eM?eH.ONE:eH.inv(ew));let eC=eH.mul(em,eb),eT=eH.mul(eV,eb),e_=eH.mul(ew,eb);if(eM)return{x:eH.ZERO,y:eH.ZERO};if(!eH.eql(e_,eH.ONE))throw Error("invZ was invalid");return{x:eC,y:eT}}isTorsionFree(){let{h:eb,isTorsionFree:eH}=em;if(eb===sq)return!0;if(eH)return eH(eA,this);throw Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:eb,clearCofactor:eH}=em;return eb===sq?this:eH?eH(eA,this):this.multiplyUnsafe(em.h)}toRawBytes(eb=!0){return this.assertValidity(),eV(eA,this,eb)}toHex(eb=!0){return nk(this.toRawBytes(eb))}}eA.BASE=new eA(em.Gx,em.Gy,eH.ONE),eA.ZERO=new eA(eH.ZERO,eH.ONE,eH.ZERO);let eN=em.nBitLength,eI=rO(eA,em.endo?Math.ceil(eN/2):eN);return{CURVE:em,ProjectivePoint:eA,normPrivateKeyToScalar:e_,weierstrassEquation:eM,isWithinCurveOrder:eC}}function sZ(eb){let em=rR(eb);return nX(em,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...em})}function sG(eb){let em=sZ(eb),{Fp:eH,n:eV}=em,ew=eH.BYTES+1,eM=2*eH.BYTES+1;function eC(eb){return sUnk(nD(eb,em.nByteLength));function eD(eb){let em=eV>>sq;return eb>em}function eP(eb){return eD(eb)?eT(-eb):eb}let eO=(eb,em,eH)=>nN(eb.slice(em,eH));class eR{constructor(eb,em,eH){this.r=eb,this.s=em,this.recovery=eH,this.assertValidity()}static fromCompact(eb){let eH=em.nByteLength;return eb=nR("compactSignature",eb,2*eH),new eR(eO(eb,0,eH),eO(eb,eH,2*eH))}static fromDER(eb){let{r:em,s:eH}=sj.toSig(nR("DER",eb));return new eR(em,eH)}assertValidity(){if(!eN(this.r))throw Error("r must be 0 < r < CURVE.n");if(!eN(this.s))throw Error("s must be 0 < s < CURVE.n")}addRecoveryBit(eb){return new eR(this.r,this.s,eb)}recoverPublicKey(eb){let{r:eV,s:ew,recovery:eM}=this,eC=eW(nR("msgHash",eb));if(null==eM||![0,1,2,3].includes(eM))throw Error("recovery id invalid");let eE=2===eM||3===eM?eV+em.n:eV;if(eE>=eH.ORDER)throw Error("recovery id 2 or 3 invalid");let eA=(1&eM)==0?"02":"03",eN=eS.fromHex(eA+eI(eE)),eD=e_(eE),eP=eT(-eC*eD),eO=eT(ew*eD),eR=eS.BASE.multiplyAndAddUnsafe(eN,eP,eO);if(!eR)throw Error("point at infinify");return eR.assertValidity(),eR}hasHighS(){return eD(this.s)}normalizeS(){return this.hasHighS()?new eR(this.r,eT(-this.s),this.recovery):this}toDERRawBytes(){return nA(this.toDERHex())}toDERHex(){return sj.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return nA(this.toCompactHex())}toCompactHex(){return eI(this.r)+eI(this.s)}}let eB={isValidPrivateKey(eb){try{return eE(eb),!0}catch(eb){return!1}},normPrivateKeyToScalar:eE,randomPrivateKey:()=>{let eb=rN(em.n);return rI(em.randomBytes(eb),em.n)},precompute:(eb=8,em=eS.BASE)=>(em._setWindowSize(eb),em.multiply(BigInt(3)),em)};function eF(eb,em=!0){return eS.fromPrivateKey(eb).toRawBytes(em)}function ej(eb){let em=nw(eb),eH="string"==typeof eb,eV=(em||eH)&&eb.length;return em?eV===ew||eV===eM:eH?eV===2*ew||eV===2*eM:eb instanceof eS}function eU(eb,em,eH=!0){if(ej(eb))throw Error("first arg must be private key");if(!ej(em))throw Error("second arg must be public key");let eV=eS.fromHex(em);return eV.multiply(eE(eb)).toRawBytes(eH)}let e$=em.bits2int||function(eb){let eH=nN(eb),eV=8*eb.length-em.nBitLength;return eV>0?eH>>BigInt(eV):eH},eW=em.bits2int_modN||function(eb){return eT(e$(eb))},eZ=nW(em.nBitLength);function eG(eb){if("bigint"!=typeof eb)throw Error("bigint expected");if(!(sU<=eb&&ebeb in ew))throw Error("sign() legacy options not supported");let{hash:eM,randomBytes:eC}=em,{lowS:eA,prehash:eI,extraEntropy:eO}=ew;null==eA&&(eA=!0),eb=nR("msgHash",eb),eI&&(eb=nR("prehashed msgHash",eM(eb)));let eB=eW(eb),eF=eE(eV),ej=[eG(eF),eG(eB)];if(null!=eO&&!1!==eO){let eb=!0===eO?eC(eH.BYTES):eO;ej.push(nR("extraEntropy",eb))}let eU=nB(...ej),eZ=eB;return{seed:eU,k2sig:function(eb){let em=e$(eb);if(!eN(em))return;let eH=e_(em),eV=eS.BASE.multiply(em).toAffine(),ew=eT(eV.x);if(ew===sU)return;let eM=eT(eH*eT(eZ+ew*eF));if(eM===sU)return;let eC=(eV.x===ew?0:2)|Number(eV.y&sq),eE=eM;return eA&&eD(eM)&&(eE=eP(eM),eC^=1),new eR(ew,eE,eC)}}}let eY={lowS:em.lowS,prehash:!1},eX={lowS:em.lowS,prehash:!1};function eJ(eb,eH,eV=eY){let{seed:ew,k2sig:eM}=eK(eb,eH,eV),eC=em,eT=nK(eC.hash.outputLen,eC.nByteLength,eC.hmac);return eT(ew,eM)}return eS.BASE._setWindowSize(8),{CURVE:em,getPublicKey:eF,getSharedSecret:eU,sign:eJ,verify:function(eb,eH,eV,ew=eX){let eM,eC;let eE=eb;if(eH=nR("msgHash",eH),eV=nR("publicKey",eV),"strict"in ew)throw Error("options.strict was renamed to lowS");let{lowS:eA,prehash:eN}=ew;try{if("string"==typeof eE||nw(eE))try{eC=eR.fromDER(eE)}catch(eb){if(!(eb instanceof sj.Err))throw eb;eC=eR.fromCompact(eE)}else if("object"==typeof eE&&"bigint"==typeof eE.r&&"bigint"==typeof eE.s){let{r:eb,s:em}=eE;eC=new eR(eb,em)}else throw Error("PARSE");eM=eS.fromHex(eV)}catch(eb){if("PARSE"===eb.message)throw Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(eA&&eC.hasHighS())return!1;eN&&(eH=em.hash(eH));let{r:eI,s:eD}=eC,eP=eW(eH),eO=e_(eD),eB=eT(eP*eO),eF=eT(eI*eO),ej=eS.BASE.multiplyAndAddUnsafe(eM,eB,eF)?.toAffine();if(!ej)return!1;let eU=eT(ej.x);return eU===eI},ProjectivePoint:eS,Signature:eR,utils:eB}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function sK(eb){return{hash:eb,hmac:(em,...eH)=>sO(eb,em,tR(...eH)),randomBytes:tj}}function sY(eb,em){let eH=em=>sG({...eb,...sK(em)});return Object.freeze({...eH(em),create:eH})}BigInt(4);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let sX=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),sJ=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),sQ=BigInt(1),s6=BigInt(2),s4=(eb,em)=>(eb+em/s6)/em;function s5(eb){let em=sX,eH=BigInt(3),eV=BigInt(6),ew=BigInt(11),eM=BigInt(22),eC=BigInt(23),eT=BigInt(44),e_=BigInt(88),eS=eb*eb*eb%em,eE=eS*eS*eb%em,eA=ry(eE,eH,em)*eE%em,eN=ry(eA,eH,em)*eE%em,eI=ry(eN,s6,em)*eS%em,eD=ry(eI,ew,em)*eI%em,eP=ry(eD,eM,em)*eD%em,eO=ry(eP,eT,em)*eP%em,eR=ry(eO,e_,em)*eO%em,eB=ry(eR,eT,em)*eP%em,eF=ry(eB,eH,em)*eE%em,ej=ry(eF,eC,em)*eD%em,eU=ry(ej,eV,em)*eS%em,e$=ry(eU,s6,em);if(!s8.eql(s8.sqr(e$),eb))throw Error("Cannot find square root");return e$}let s8=rS(sX,void 0,void 0,{sqrt:s5}),s9=sY({a:BigInt(0),b:BigInt(7),Fp:s8,n:sJ,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:eb=>{let em=sJ,eH=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),eV=-sQ*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),ew=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),eM=eH,eC=BigInt("0x100000000000000000000000000000000"),eT=s4(eM*eb,em),e_=s4(-eV*eb,em),eS=n9(eb-eT*eH-e_*ew,em),eE=n9(-eT*eV-e_*eM,em),eA=eS>eC,eN=eE>eC;if(eA&&(eS=em-eS),eN&&(eE=em-eE),eS>eC||eE>eC)throw Error("splitScalar: Endomorphism failed, k="+eb);return{k1neg:eA,k1:eS,k2neg:eN,k2:eE}}}},i6),s7=BigInt(0),om=eb=>"bigint"==typeof eb&&s7eb.charCodeAt(0)));eH=concatBytes(em,em),oz[eb]=eH}return sha256(concatBytes(eH,...em))}let oV=eb=>mod(eb,sX),ow=eb=>mod(eb,sJ),oM=s9.ProjectivePoint;i_.utils.randomPrivateKey;let oC=()=>{let eb=i_.utils.randomPrivateKey(),em=oT(eb),eH=new Uint8Array(64);return eH.set(eb),eH.set(em,32),{publicKey:em,secretKey:eH}},oT=i_.getPublicKey;function o_(eb){try{return i_.ExtendedPoint.fromHex(eb),!0}catch{return!1}}let oS=(eb,em)=>i_.sign(eb,em.slice(0,32)),oE=i_.verify,oA=eb=>e9.Buffer.isBuffer(eb)?eb:eb instanceof Uint8Array?e9.Buffer.from(eb.buffer,eb.byteOffset,eb.byteLength):e9.Buffer.from(eb);class oN{constructor(eb){Object.assign(this,eb)}encode(){return e9.Buffer.from((0,i4.serialize)(oI,this))}static decode(eb){return(0,i4.deserialize)(oI,this,eb)}static decodeUnchecked(eb){return(0,i4.deserializeUnchecked)(oI,this,eb)}}let oI=new Map,oD=32,oP=32;function oO(eb){return void 0!==eb._bn}let oR=1;eV=Symbol.toStringTag;class oB extends oN{constructor(eb){if(super({}),this._bn=void 0,oO(eb))this._bn=eb._bn;else{if("string"==typeof eb){let em=iZ().decode(eb);if(em.length!=oP)throw Error("Invalid public key input");this._bn=new(i$())(em)}else this._bn=new(i$())(eb);if(this._bn.byteLength()>oP)throw Error("Invalid public key input")}}static unique(){let eb=new oB(oR);return oR+=1,new oB(eb.toBuffer())}equals(eb){return this._bn.eq(eb._bn)}toBase58(){return iZ().encode(this.toBytes())}toJSON(){return this.toBase58()}toBytes(){let eb=this.toBuffer();return new Uint8Array(eb.buffer,eb.byteOffset,eb.byteLength)}toBuffer(){let eb=this._bn.toArrayLike(e9.Buffer);if(eb.length===oP)return eb;let em=e9.Buffer.alloc(32);return eb.copy(em,32-eb.length),em}get[eV](){return`PublicKey(${this.toString()})`}toString(){return this.toBase58()}static async createWithSeed(eb,em,eH){let eV=e9.Buffer.concat([eb.toBuffer(),e9.Buffer.from(em),eH.toBuffer()]),ew=i6(eV);return new oB(ew)}static createProgramAddressSync(eb,em){let eH=e9.Buffer.alloc(0);eb.forEach(function(eb){if(eb.length>oD)throw TypeError("Max seed length exceeded");eH=e9.Buffer.concat([eH,oA(eb)])}),eH=e9.Buffer.concat([eH,em.toBuffer(),e9.Buffer.from("ProgramDerivedAddress")]);let eV=i6(eH);if(o_(eV))throw Error("Invalid seeds, address must fall off the curve");return new oB(eV)}static async createProgramAddress(eb,em){return this.createProgramAddressSync(eb,em)}static findProgramAddressSync(eb,em){let eH,eV=255;for(;0!=eV;){try{let ew=eb.concat(e9.Buffer.from([eV]));eH=this.createProgramAddressSync(ew,em)}catch(eb){if(eb instanceof TypeError)throw eb;eV--;continue}return[eH,eV]}throw Error("Unable to find a viable program address nonce")}static async findProgramAddress(eb,em){return this.findProgramAddressSync(eb,em)}static isOnCurve(eb){let em=new oB(eb);return o_(em.toBytes())}}kO=oB,oB.default=new kO("11111111111111111111111111111111"),oI.set(oB,{kind:"struct",fields:[["_bn","u256"]]}),new oB("BPFLoader1111111111111111111111111111111111");let oF=1232,oj=127,oU=64;class oq extends Error{constructor(eb){super(`Signature ${eb} has expired: block height exceeded.`),this.signature=void 0,this.signature=eb}}Object.defineProperty(oq.prototype,"name",{value:"TransactionExpiredBlockheightExceededError"});class o$ extends Error{constructor(eb,em){super(`Transaction was not confirmed in ${em.toFixed(2)} seconds. It is unknown if it succeeded or failed. Check signature ${eb} using the Solana Explorer or CLI tools.`),this.signature=void 0,this.signature=eb}}Object.defineProperty(o$.prototype,"name",{value:"TransactionExpiredTimeoutError"});class oW extends Error{constructor(eb){super(`Signature ${eb} has expired: the nonce is no longer valid.`),this.signature=void 0,this.signature=eb}}Object.defineProperty(oW.prototype,"name",{value:"TransactionExpiredNonceInvalidError"});class oZ{constructor(eb,em){this.staticAccountKeys=void 0,this.accountKeysFromLookups=void 0,this.staticAccountKeys=eb,this.accountKeysFromLookups=em}keySegments(){let eb=[this.staticAccountKeys];return this.accountKeysFromLookups&&(eb.push(this.accountKeysFromLookups.writable),eb.push(this.accountKeysFromLookups.readonly)),eb}get(eb){for(let em of this.keySegments()){if(ebem+1)throw Error("Account index overflow encountered during compilation");let eH=new Map;this.keySegments().flat().forEach((eb,em)=>{eH.set(eb.toBase58(),em)});let eV=eb=>{let em=eH.get(eb.toBase58());if(void 0===em)throw Error("Encountered an unknown instruction account key during compilation");return em};return eb.map(eb=>({programIdIndex:eV(eb.programId),accountKeyIndexes:eb.keys.map(eb=>eV(eb.pubkey)),data:eb.data}))}}let oG=(eb="publicKey")=>i3.Ik(32,eb),oK=(eb="string")=>{let em=i3.n_([i3.Jq("length"),i3.Jq("lengthPadding"),i3.Ik(i3.cv(i3.Jq(),-8),"chars")],eb),eH=em.decode.bind(em),eV=em.encode.bind(em),ew=em;return ew.decode=(eb,em)=>{let eV=eH(eb,em);return eV.chars.toString()},ew.encode=(eb,em,eH)=>{let ew={chars:e9.Buffer.from(eb,"utf8")};return eV(ew,em,eH)},ew.alloc=eb=>i3.Jq().span+i3.Jq().span+e9.Buffer.from(eb,"utf8").length,ew},oJ=(eb="authorized")=>i3.n_([oG("staker"),oG("withdrawer")],eb),oQ=(eb="lockup")=>i3.n_([i3.gM("unixTimestamp"),i3.gM("epoch"),oG("custodian")],eb),o0=(eb="voteInit")=>i3.n_([oG("nodePubkey"),oG("authorizedVoter"),oG("authorizedWithdrawer"),i3.u8("commission")],eb),o6=(eb="voteAuthorizeWithSeedArgs")=>i3.n_([i3.Jq("voteAuthorizationType"),oG("currentAuthorityDerivedKeyOwnerPubkey"),oK("currentAuthorityDerivedKeySeed"),oG("newAuthorized")],eb);function o4(eb,em){let eH=eb=>{if(eb.span>=0)return eb.span;if("function"==typeof eb.alloc)return eb.alloc(em[eb.property]);if("count"in eb&&"elementLayout"in eb){let eV=em[eb.property];if(Array.isArray(eV))return eV.length*eH(eb.elementLayout)}else if("fields"in eb)return o4({layout:eb},em[eb.property]);return 0},eV=0;return eb.layout.fields.forEach(eb=>{eV+=eH(eb)}),eV}function o3(eb){let em=0,eH=0;for(;;){let eV=eb.shift();if(em|=(127&eV)<<7*eH,eH+=1,(128&eV)==0)break}return em}function o5(eb,em){let eH=em;for(;;){let em=127&eH;if(0==(eH>>=7)){eb.push(em);break}em|=128,eb.push(em)}}function o8(eb,em){if(!eb)throw Error(em||"Assertion failed")}class o9{constructor(eb,em){this.payer=void 0,this.keyMetaMap=void 0,this.payer=eb,this.keyMetaMap=em}static compile(eb,em){let eH=new Map,eV=eb=>{let em=eb.toBase58(),eV=eH.get(em);return void 0===eV&&(eV={isSigner:!1,isWritable:!1,isInvoked:!1},eH.set(em,eV)),eV},ew=eV(em);for(let em of(ew.isSigner=!0,ew.isWritable=!0,eb))for(let eb of(eV(em.programId).isInvoked=!0,em.keys)){let em=eV(eb.pubkey);em.isSigner||=eb.isSigner,em.isWritable||=eb.isWritable}return new o9(em,eH)}getMessageComponents(){let eb=[...this.keyMetaMap.entries()];o8(eb.length<=256,"Max static account keys length exceeded");let em=eb.filter(([,eb])=>eb.isSigner&&eb.isWritable),eH=eb.filter(([,eb])=>eb.isSigner&&!eb.isWritable),eV=eb.filter(([,eb])=>!eb.isSigner&&eb.isWritable),ew=eb.filter(([,eb])=>!eb.isSigner&&!eb.isWritable),eM={numRequiredSignatures:em.length+eH.length,numReadonlySignedAccounts:eH.length,numReadonlyUnsignedAccounts:ew.length};{o8(em.length>0,"Expected at least one writable signer key");let[eb]=em[0];o8(eb===this.payer.toBase58(),"Expected first writable signer key to be the fee payer")}let eC=[...em.map(([eb])=>new oB(eb)),...eH.map(([eb])=>new oB(eb)),...eV.map(([eb])=>new oB(eb)),...ew.map(([eb])=>new oB(eb))];return[eM,eC]}extractTableLookup(eb){let[em,eH]=this.drainKeysFoundInLookupTable(eb.state.addresses,eb=>!eb.isSigner&&!eb.isInvoked&&eb.isWritable),[eV,ew]=this.drainKeysFoundInLookupTable(eb.state.addresses,eb=>!eb.isSigner&&!eb.isInvoked&&!eb.isWritable);if(0!==em.length||0!==eV.length)return[{accountKey:eb.key,writableIndexes:em,readonlyIndexes:eV},{writable:eH,readonly:ew}]}drainKeysFoundInLookupTable(eb,em){let eH=[],eV=[];for(let[ew,eM]of this.keyMetaMap.entries())if(em(eM)){let em=new oB(ew),eM=eb.findIndex(eb=>eb.equals(em));eM>=0&&(o8(eM<256,"Max lookup table index exceeded"),eH.push(eM),eV.push(em),this.keyMetaMap.delete(ew))}return[eH,eV]}}let o7="Reached end of buffer unexpectedly";function lb(eb){if(0===eb.length)throw Error(o7);return eb.shift()}function lm(eb,...em){let[eH]=em;if(2===em.length?eH+(em[1]??0)>eb.length:eH>=eb.length)throw Error(o7);return eb.splice(...em)}class ly{constructor(eb){this.header=void 0,this.accountKeys=void 0,this.recentBlockhash=void 0,this.instructions=void 0,this.indexToProgramIds=new Map,this.header=eb.header,this.accountKeys=eb.accountKeys.map(eb=>new oB(eb)),this.recentBlockhash=eb.recentBlockhash,this.instructions=eb.instructions,this.instructions.forEach(eb=>this.indexToProgramIds.set(eb.programIdIndex,this.accountKeys[eb.programIdIndex]))}get version(){return"legacy"}get staticAccountKeys(){return this.accountKeys}get compiledInstructions(){return this.instructions.map(eb=>({programIdIndex:eb.programIdIndex,accountKeyIndexes:eb.accounts,data:iZ().decode(eb.data)}))}get addressTableLookups(){return[]}getAccountKeys(){return new oZ(this.staticAccountKeys)}static compile(eb){let em=o9.compile(eb.instructions,eb.payerKey),[eH,eV]=em.getMessageComponents(),ew=new oZ(eV),eM=ew.compileInstructions(eb.instructions).map(eb=>({programIdIndex:eb.programIdIndex,accounts:eb.accountKeyIndexes,data:iZ().encode(eb.data)}));return new ly({header:eH,accountKeys:eV,recentBlockhash:eb.recentBlockhash,instructions:eM})}isAccountSigner(eb){return eb=this.header.numRequiredSignatures){let eH=eb-em,eV=this.accountKeys.length-em,ew=eV-this.header.numReadonlyUnsignedAccounts;return eH!this.isProgramId(em))}serialize(){let eb=this.accountKeys.length,em=[];o5(em,eb);let eH=this.instructions.map(eb=>{let{accounts:em,programIdIndex:eH}=eb,eV=Array.from(iZ().decode(eb.data)),ew=[];o5(ew,em.length);let eM=[];return o5(eM,eV.length),{programIdIndex:eH,keyIndicesCount:e9.Buffer.from(ew),keyIndices:em,dataLength:e9.Buffer.from(eM),data:eV}}),eV=[];o5(eV,eH.length);let ew=e9.Buffer.alloc(oF);e9.Buffer.from(eV).copy(ew);let eM=eV.length;eH.forEach(eb=>{let em=i3.n_([i3.u8("programIdIndex"),i3.Ik(eb.keyIndicesCount.length,"keyIndicesCount"),i3.A9(i3.u8("keyIndex"),eb.keyIndices.length,"keyIndices"),i3.Ik(eb.dataLength.length,"dataLength"),i3.A9(i3.u8("userdatum"),eb.data.length,"data")]),eH=em.encode(eb,ew,eM);eM+=eH}),ew=ew.slice(0,eM);let eC=i3.n_([i3.Ik(1,"numRequiredSignatures"),i3.Ik(1,"numReadonlySignedAccounts"),i3.Ik(1,"numReadonlyUnsignedAccounts"),i3.Ik(em.length,"keyCount"),i3.A9(oG("key"),eb,"keys"),oG("recentBlockhash")]),eT={numRequiredSignatures:e9.Buffer.from([this.header.numRequiredSignatures]),numReadonlySignedAccounts:e9.Buffer.from([this.header.numReadonlySignedAccounts]),numReadonlyUnsignedAccounts:e9.Buffer.from([this.header.numReadonlyUnsignedAccounts]),keyCount:e9.Buffer.from(em),keys:this.accountKeys.map(eb=>oA(eb.toBytes())),recentBlockhash:iZ().decode(this.recentBlockhash)},e_=e9.Buffer.alloc(2048),eS=eC.encode(eT,e_);return ew.copy(e_,eS),e_.slice(0,eS+ew.length)}static from(eb){let em=[...eb],eH=lb(em);if(eH!==(eH&oj))throw Error("Versioned messages must be deserialized with VersionedMessage.deserialize()");let eV=lb(em),ew=lb(em),eM=o3(em),eC=[];for(let eb=0;eb0)throw Error("Failed to get account keys because address table lookups were not resolved");return new oZ(this.staticAccountKeys,em)}isAccountSigner(eb){return eb=eH){let em=eb-eH,eV=this.addressTableLookups.reduce((eb,em)=>eb+em.writableIndexes.length,0);return em=this.header.numRequiredSignatures){let eV=eb-em,ew=eH-em,eM=ew-this.header.numReadonlyUnsignedAccounts;return eVeb.key.equals(eH.accountKey));if(!eV)throw Error(`Failed to find address lookup table account for table key ${eH.accountKey.toBase58()}`);for(let eb of eH.writableIndexes)if(ebeb.toBytes()),recentBlockhash:iZ().decode(this.recentBlockhash),instructionsLength:new Uint8Array(eH),serializedInstructions:em,addressTableLookupsLength:new Uint8Array(ew),serializedAddressTableLookups:eV},eC);return eC.slice(0,e_)}serializeInstructions(){let eb=0,em=new Uint8Array(oF);for(let eH of this.compiledInstructions){let eV=[];o5(eV,eH.accountKeyIndexes.length);let ew=[];o5(ew,eH.data.length);let eM=i3.n_([i3.u8("programIdIndex"),i3.Ik(eV.length,"encodedAccountKeyIndexesLength"),i3.A9(i3.u8(),eH.accountKeyIndexes.length,"accountKeyIndexes"),i3.Ik(ew.length,"encodedDataLength"),i3.Ik(eH.data.length,"data")]);eb+=eM.encode({programIdIndex:eH.programIdIndex,encodedAccountKeyIndexesLength:new Uint8Array(eV),accountKeyIndexes:eH.accountKeyIndexes,encodedDataLength:new Uint8Array(ew),data:eH.data},em,eb)}return em.slice(0,eb)}serializeAddressTableLookups(){let eb=0,em=new Uint8Array(oF);for(let eH of this.addressTableLookups){let eV=[];o5(eV,eH.writableIndexes.length);let ew=[];o5(ew,eH.readonlyIndexes.length);let eM=i3.n_([oG("accountKey"),i3.Ik(eV.length,"encodedWritableIndexesLength"),i3.A9(i3.u8(),eH.writableIndexes.length,"writableIndexes"),i3.Ik(ew.length,"encodedReadonlyIndexesLength"),i3.A9(i3.u8(),eH.readonlyIndexes.length,"readonlyIndexes")]);eb+=eM.encode({accountKey:eH.accountKey.toBytes(),encodedWritableIndexesLength:new Uint8Array(eV),writableIndexes:eH.writableIndexes,encodedReadonlyIndexesLength:new Uint8Array(ew),readonlyIndexes:eH.readonlyIndexes},em,eb)}return em.slice(0,eb)}static deserialize(eb){let em=[...eb],eH=lb(em),eV=eH&oj;o8(eH!==eV,"Expected versioned message but received legacy message");let ew=eV;o8(0===ew,`Expected versioned message with version 0 but found version ${ew}`);let eM={numRequiredSignatures:lb(em),numReadonlySignedAccounts:lb(em),numReadonlyUnsignedAccounts:lb(em)},eC=[],eT=o3(em);for(let eb=0;eb{let em=lz.deserializeMessageVersion(eb);if("legacy"===em)return ly.from(eb);if(0===em)return lv.deserialize(eb);throw Error(`Transaction message version ${em} deserialization is not supported`)}},lH=e9.Buffer.alloc(oU).fill(0);class lV{constructor(eb){this.keys=void 0,this.programId=void 0,this.data=e9.Buffer.alloc(0),this.programId=eb.programId,this.keys=eb.keys,eb.data&&(this.data=eb.data)}toJSON(){return{keys:this.keys.map(({pubkey:eb,isSigner:em,isWritable:eH})=>({pubkey:eb.toJSON(),isSigner:em,isWritable:eH})),programId:this.programId.toJSON(),data:[...this.data]}}}class lw{get signature(){return this.signatures.length>0?this.signatures[0].signature:null}constructor(eb){if(this.signatures=[],this.feePayer=void 0,this.instructions=[],this.recentBlockhash=void 0,this.lastValidBlockHeight=void 0,this.nonceInfo=void 0,this.minNonceContextSlot=void 0,this._message=void 0,this._json=void 0,!eb)return;if(eb.feePayer&&(this.feePayer=eb.feePayer),eb.signatures&&(this.signatures=eb.signatures),Object.prototype.hasOwnProperty.call(eb,"nonceInfo")){let{minContextSlot:em,nonceInfo:eH}=eb;this.minNonceContextSlot=em,this.nonceInfo=eH}else if(Object.prototype.hasOwnProperty.call(eb,"lastValidBlockHeight")){let{blockhash:em,lastValidBlockHeight:eH}=eb;this.recentBlockhash=em,this.lastValidBlockHeight=eH}else{let{recentBlockhash:em,nonceInfo:eH}=eb;eH&&(this.nonceInfo=eH),this.recentBlockhash=em}}toJSON(){return{recentBlockhash:this.recentBlockhash||null,feePayer:this.feePayer?this.feePayer.toJSON():null,nonceInfo:this.nonceInfo?{nonce:this.nonceInfo.nonce,nonceInstruction:this.nonceInfo.nonceInstruction.toJSON()}:null,instructions:this.instructions.map(eb=>eb.toJSON()),signers:this.signatures.map(({publicKey:eb})=>eb.toJSON())}}add(...eb){if(0===eb.length)throw Error("No instructions");return eb.forEach(eb=>{"instructions"in eb?this.instructions=this.instructions.concat(eb.instructions):"data"in eb&&"programId"in eb&&"keys"in eb?this.instructions.push(eb):this.instructions.push(new lV(eb))}),this}compileMessage(){let eb,em,eH;if(this._message&&JSON.stringify(this.toJSON())===JSON.stringify(this._json))return this._message;if(this.nonceInfo?(eb=this.nonceInfo.nonce,em=this.instructions[0]!=this.nonceInfo.nonceInstruction?[this.nonceInfo.nonceInstruction,...this.instructions]:this.instructions):(eb=this.recentBlockhash,em=this.instructions),!eb)throw Error("Transaction recentBlockhash required");if(em.length<1&&console.warn("No instructions provided"),this.feePayer)eH=this.feePayer;else if(this.signatures.length>0&&this.signatures[0].publicKey)eH=this.signatures[0].publicKey;else throw Error("Transaction fee payer required");for(let eb=0;eb{eb.keys.forEach(eb=>{ew.push({...eb})});let em=eb.programId.toString();eV.includes(em)||eV.push(em)}),eV.forEach(eb=>{ew.push({pubkey:new oB(eb),isSigner:!1,isWritable:!1})});let eM=[];ew.forEach(eb=>{let em=eb.pubkey.toString(),eH=eM.findIndex(eb=>eb.pubkey.toString()===em);eH>-1?(eM[eH].isWritable=eM[eH].isWritable||eb.isWritable,eM[eH].isSigner=eM[eH].isSigner||eb.isSigner):eM.push(eb)}),eM.sort(function(eb,em){if(eb.isSigner!==em.isSigner)return eb.isSigner?-1:1;if(eb.isWritable!==em.isWritable)return eb.isWritable?-1:1;let eH={localeMatcher:"best fit",usage:"sort",sensitivity:"variant",ignorePunctuation:!1,numeric:!1,caseFirst:"lower"};return eb.pubkey.toBase58().localeCompare(em.pubkey.toBase58(),"en",eH)});let eC=eM.findIndex(eb=>eb.pubkey.equals(eH));if(eC>-1){let[eb]=eM.splice(eC,1);eb.isSigner=!0,eb.isWritable=!0,eM.unshift(eb)}else eM.unshift({pubkey:eH,isSigner:!0,isWritable:!0});for(let eb of this.signatures){let em=eM.findIndex(em=>em.pubkey.equals(eb.publicKey));if(em>-1)eM[em].isSigner||(eM[em].isSigner=!0,console.warn("Transaction references a signature that is unnecessary, only the fee payer and instruction signer accounts should sign a transaction. This behavior is deprecated and will throw an error in the next major version release."));else throw Error(`unknown signer: ${eb.publicKey.toString()}`)}let eT=0,e_=0,eS=0,eE=[],eA=[];eM.forEach(({pubkey:eb,isSigner:em,isWritable:eH})=>{em?(eE.push(eb.toString()),eT+=1,eH||(e_+=1)):(eA.push(eb.toString()),eH||(eS+=1))});let eN=eE.concat(eA),eI=em.map(eb=>{let{data:em,programId:eH}=eb;return{programIdIndex:eN.indexOf(eH.toString()),accounts:eb.keys.map(eb=>eN.indexOf(eb.pubkey.toString())),data:iZ().encode(em)}});return eI.forEach(eb=>{o8(eb.programIdIndex>=0),eb.accounts.forEach(eb=>o8(eb>=0))}),new ly({header:{numRequiredSignatures:eT,numReadonlySignedAccounts:e_,numReadonlyUnsignedAccounts:eS},accountKeys:eN,recentBlockhash:eb,instructions:eI})}_compile(){let eb=this.compileMessage(),em=eb.accountKeys.slice(0,eb.header.numRequiredSignatures);if(this.signatures.length===em.length){let eH=this.signatures.every((eb,eH)=>em[eH].equals(eb.publicKey));if(eH)return eb}return this.signatures=em.map(eb=>({signature:null,publicKey:eb})),eb}serializeMessage(){return this._compile().serialize()}async getEstimatedFee(eb){return(await eb.getFeeForMessage(this.compileMessage())).value}setSigners(...eb){if(0===eb.length)throw Error("No signers");let em=new Set;this.signatures=eb.filter(eb=>{let eH=eb.toString();return!em.has(eH)&&(em.add(eH),!0)}).map(eb=>({signature:null,publicKey:eb}))}sign(...eb){if(0===eb.length)throw Error("No signers");let em=new Set,eH=[];for(let eV of eb){let eb=eV.publicKey.toString();em.has(eb)||(em.add(eb),eH.push(eV))}this.signatures=eH.map(eb=>({signature:null,publicKey:eb.publicKey}));let eV=this._compile();this._partialSign(eV,...eH)}partialSign(...eb){if(0===eb.length)throw Error("No signers");let em=new Set,eH=[];for(let eV of eb){let eb=eV.publicKey.toString();em.has(eb)||(em.add(eb),eH.push(eV))}let eV=this._compile();this._partialSign(eV,...eH)}_partialSign(eb,...em){let eH=eb.serialize();em.forEach(eb=>{let em=oS(eH,eb.secretKey);this._addSignature(eb.publicKey,oA(em))})}addSignature(eb,em){this._compile(),this._addSignature(eb,em)}_addSignature(eb,em){o8(64===em.length);let eH=this.signatures.findIndex(em=>eb.equals(em.publicKey));if(eH<0)throw Error(`unknown signer: ${eb.toString()}`);this.signatures[eH].signature=e9.Buffer.from(em)}verifySignatures(eb=!0){let em=this._getMessageSignednessErrors(this.serializeMessage(),eb);return!em}_getMessageSignednessErrors(eb,em){let eH={};for(let{signature:eV,publicKey:ew}of this.signatures)null===eV?em&&(eH.missing||=[]).push(ew):oE(eV,eb,ew.toBytes())||(eH.invalid||=[]).push(ew);return eH.invalid||eH.missing?eH:void 0}serialize(eb){let{requireAllSignatures:em,verifySignatures:eH}=Object.assign({requireAllSignatures:!0,verifySignatures:!0},eb),eV=this.serializeMessage();if(eH){let eb=this._getMessageSignednessErrors(eV,em);if(eb){let em="Signature verification failed.";throw eb.invalid&&(em+=` + */var ew="function"==typeof Symbol&&Symbol.for,eM=ew?Symbol.for("react.element"):60103,eC=ew?Symbol.for("react.portal"):60106,eT=ew?Symbol.for("react.fragment"):60107,e_=ew?Symbol.for("react.strict_mode"):60108,eE=ew?Symbol.for("react.profiler"):60114,eS=ew?Symbol.for("react.provider"):60109,eA=ew?Symbol.for("react.context"):60110,eN=ew?Symbol.for("react.async_mode"):60111,eI=ew?Symbol.for("react.concurrent_mode"):60111,eD=ew?Symbol.for("react.forward_ref"):60112,eO=ew?Symbol.for("react.suspense"):60113,eP=ew?Symbol.for("react.suspense_list"):60120,eR=ew?Symbol.for("react.memo"):60115,eB=ew?Symbol.for("react.lazy"):60116,eF=ew?Symbol.for("react.block"):60121,ej=ew?Symbol.for("react.fundamental"):60117,eU=ew?Symbol.for("react.responder"):60118,eV=ew?Symbol.for("react.scope"):60119;function eH(eb){if("object"==typeof eb&&null!==eb){var em=eb.$$typeof;switch(em){case eM:switch(eb=eb.type){case eN:case eI:case eT:case eE:case e_:case eO:return eb;default:switch(eb=eb&&eb.$$typeof){case eA:case eD:case eB:case eR:case eS:return eb;default:return em}}case eC:return em}}}function e$(eb){return eH(eb)===eI}em.AsyncMode=eN,em.ConcurrentMode=eI,em.ContextConsumer=eA,em.ContextProvider=eS,em.Element=eM,em.ForwardRef=eD,em.Fragment=eT,em.Lazy=eB,em.Memo=eR,em.Portal=eC,em.Profiler=eE,em.StrictMode=e_,em.Suspense=eO,em.isAsyncMode=function(eb){return e$(eb)||eH(eb)===eN},em.isConcurrentMode=e$,em.isContextConsumer=function(eb){return eH(eb)===eA},em.isContextProvider=function(eb){return eH(eb)===eS},em.isElement=function(eb){return"object"==typeof eb&&null!==eb&&eb.$$typeof===eM},em.isForwardRef=function(eb){return eH(eb)===eD},em.isFragment=function(eb){return eH(eb)===eT},em.isLazy=function(eb){return eH(eb)===eB},em.isMemo=function(eb){return eH(eb)===eR},em.isPortal=function(eb){return eH(eb)===eC},em.isProfiler=function(eb){return eH(eb)===eE},em.isStrictMode=function(eb){return eH(eb)===e_},em.isSuspense=function(eb){return eH(eb)===eO},em.isValidElementType=function(eb){return"string"==typeof eb||"function"==typeof eb||eb===eT||eb===eI||eb===eE||eb===e_||eb===eO||eb===eP||"object"==typeof eb&&null!==eb&&(eb.$$typeof===eB||eb.$$typeof===eR||eb.$$typeof===eS||eb.$$typeof===eA||eb.$$typeof===eD||eb.$$typeof===ej||eb.$$typeof===eU||eb.$$typeof===eV||eb.$$typeof===eF)},em.typeOf=eH},21296:function(eb,em,ew){"use strict";eb.exports=ew(96103)},80645:function(eb,em){/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */em.read=function(eb,em,ew,eM,eC){var eT,e_,eE=8*eC-eM-1,eS=(1<>1,eN=-7,eI=ew?eC-1:0,eD=ew?-1:1,eO=eb[em+eI];for(eI+=eD,eT=eO&(1<<-eN)-1,eO>>=-eN,eN+=eE;eN>0;eT=256*eT+eb[em+eI],eI+=eD,eN-=8);for(e_=eT&(1<<-eN)-1,eT>>=-eN,eN+=eM;eN>0;e_=256*e_+eb[em+eI],eI+=eD,eN-=8);if(0===eT)eT=1-eA;else{if(eT===eS)return e_?NaN:(eO?-1:1)*(1/0);e_+=Math.pow(2,eM),eT-=eA}return(eO?-1:1)*e_*Math.pow(2,eT-eM)},em.write=function(eb,em,ew,eM,eC,eT){var e_,eE,eS,eA=8*eT-eC-1,eN=(1<>1,eD=23===eC?5960464477539062e-23:0,eO=eM?0:eT-1,eP=eM?1:-1,eR=em<0||0===em&&1/em<0?1:0;for(isNaN(em=Math.abs(em))||em===1/0?(eE=isNaN(em)?1:0,e_=eN):(e_=Math.floor(Math.log(em)/Math.LN2),em*(eS=Math.pow(2,-e_))<1&&(e_--,eS*=2),e_+eI>=1?em+=eD/eS:em+=eD*Math.pow(2,1-eI),em*eS>=2&&(e_++,eS/=2),e_+eI>=eN?(eE=0,e_=eN):e_+eI>=1?(eE=(em*eS-1)*Math.pow(2,eC),e_+=eI):(eE=em*Math.pow(2,eI-1)*Math.pow(2,eC),e_=0));eC>=8;eb[ew+eO]=255&eE,eO+=eP,eE/=256,eC-=8);for(e_=e_<0;eb[ew+eO]=255&e_,eO+=eP,e_/=256,eA-=8);eb[ew+eO-eP]|=128*eR}},35717:function(eb){"function"==typeof Object.create?eb.exports=function(eb,em){em&&(eb.super_=em,eb.prototype=Object.create(em.prototype,{constructor:{value:eb,enumerable:!1,writable:!0,configurable:!0}}))}:eb.exports=function(eb,em){if(em){eb.super_=em;var ew=function(){};ew.prototype=em.prototype,eb.prototype=new ew,eb.prototype.constructor=eb}}},82584:function(eb,em,ew){"use strict";var eM=ew(96410)(),eC=ew(21924)("Object.prototype.toString"),eT=function(eb){return(!eM||!eb||"object"!=typeof eb||!(Symbol.toStringTag in eb))&&"[object Arguments]"===eC(eb)},e_=function(eb){return!!eT(eb)||null!==eb&&"object"==typeof eb&&"number"==typeof eb.length&&eb.length>=0&&"[object Array]"!==eC(eb)&&"[object Function]"===eC(eb.callee)},eE=function(){return eT(arguments)}();eT.isLegacyArguments=e_,eb.exports=eE?eT:e_},95320:function(eb){"use strict";var em,ew,eM=Function.prototype.toString,eC="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof eC&&"function"==typeof Object.defineProperty)try{em=Object.defineProperty({},"length",{get:function(){throw ew}}),ew={},eC(function(){throw 42},null,em)}catch(eb){eb!==ew&&(eC=null)}else eC=null;var eT=/^\s*class\b/,e_=function(eb){try{var em=eM.call(eb);return eT.test(em)}catch(eb){return!1}},eE=function(eb){try{if(e_(eb))return!1;return eM.call(eb),!0}catch(eb){return!1}},eS=Object.prototype.toString,eA="[object Object]",eN="[object Function]",eI="[object GeneratorFunction]",eD="[object HTMLAllCollection]",eO="[object HTML document.all class]",eP="[object HTMLCollection]",eR="function"==typeof Symbol&&!!Symbol.toStringTag,eB=!(0 in[,]),eF=function(){return!1};if("object"==typeof document){var ej=document.all;eS.call(ej)===eS.call(document.all)&&(eF=function(eb){if((eB||!eb)&&(void 0===eb||"object"==typeof eb))try{var em=eS.call(eb);return(em===eD||em===eO||em===eP||em===eA)&&null==eb("")}catch(eb){}return!1})}eb.exports=eC?function(eb){if(eF(eb))return!0;if(!eb||"function"!=typeof eb&&"object"!=typeof eb)return!1;try{eC(eb,null,em)}catch(eb){if(eb!==ew)return!1}return!e_(eb)&&eE(eb)}:function(eb){if(eF(eb))return!0;if(!eb||"function"!=typeof eb&&"object"!=typeof eb)return!1;if(eR)return eE(eb);if(e_(eb))return!1;var em=eS.call(eb);return!!(em===eN||em===eI||/^\[object HTML/.test(em))&&eE(eb)}},48662:function(eb,em,ew){"use strict";var eM,eC=Object.prototype.toString,eT=Function.prototype.toString,e_=/^\s*(?:function)?\*/,eE=ew(96410)(),eS=Object.getPrototypeOf,eA=function(){if(!eE)return!1;try{return Function("return function*() {}")()}catch(eb){}};eb.exports=function(eb){if("function"!=typeof eb)return!1;if(e_.test(eT.call(eb)))return!0;if(!eE)return"[object GeneratorFunction]"===eC.call(eb);if(!eS)return!1;if(void 0===eM){var em=eA();eM=!!em&&eS(em)}return eS(eb)===eM}},98611:function(eb){"use strict";eb.exports=function(eb){return eb!=eb}},20360:function(eb,em,ew){"use strict";var eM=ew(55559),eC=ew(4289),eT=ew(98611),e_=ew(29415),eE=ew(23194),eS=eM(e_(),Number);eC(eS,{getPolyfill:e_,implementation:eT,shim:eE}),eb.exports=eS},29415:function(eb,em,ew){"use strict";var eM=ew(98611);eb.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:eM}},23194:function(eb,em,ew){"use strict";var eM=ew(4289),eC=ew(29415);eb.exports=function(){var eb=eC();return eM(Number,{isNaN:eb},{isNaN:function(){return Number.isNaN!==eb}}),eb}},85692:function(eb,em,ew){"use strict";var eM=ew(94029),eC=ew(63083),eT=ew(21924),e_=eT("Object.prototype.toString"),eE=ew(96410)(),eS=ew(27296),eA="undefined"==typeof globalThis?ew.g:globalThis,eN=eC(),eI=eT("Array.prototype.indexOf",!0)||function(eb,em){for(var ew=0;ew-1)}},46792:function(eb,em,ew){"use strict";ew.r(em);var eM=null;"undefined"!=typeof WebSocket?eM=WebSocket:"undefined"!=typeof MozWebSocket?eM=MozWebSocket:void 0!==ew.g?eM=ew.g.WebSocket||ew.g.MozWebSocket:"undefined"!=typeof window?eM=window.WebSocket||window.MozWebSocket:"undefined"!=typeof self&&(eM=self.WebSocket||self.MozWebSocket),em.default=eM},31198:function(eb,em,ew){"use strict";let eM=ew(64667).v4,eC=ew(17741),eT=function(eb,em){if(!(this instanceof eT))return new eT(eb,em);em||(em={}),this.options={reviver:void 0!==em.reviver?em.reviver:null,replacer:void 0!==em.replacer?em.replacer:null,generator:void 0!==em.generator?em.generator:function(){return eM()},version:void 0!==em.version?em.version:2,notificationIdNull:"boolean"==typeof em.notificationIdNull&&em.notificationIdNull},this.callServer=eb};eb.exports=eT,eT.prototype.request=function(eb,em,ew,eM){let eT;let e_=this,eE=null,eS=Array.isArray(eb)&&"function"==typeof em;if(1===this.options.version&&eS)throw TypeError("JSON-RPC 1.0 does not support batching");let eA=!eS&&eb&&"object"==typeof eb&&"function"==typeof em;if(eS||eA)eM=em,eE=eb;else{"function"==typeof ew&&(eM=ew,ew=void 0);let eT="function"==typeof eM;try{eE=eC(eb,em,ew,{generator:this.options.generator,version:this.options.version,notificationIdNull:this.options.notificationIdNull})}catch(eb){if(eT)return eM(eb);throw eb}if(!eT)return eE}try{eT=JSON.stringify(eE,this.options.replacer)}catch(eb){return eM(eb)}return this.callServer(eT,function(eb,em){e_._parseResponse(eb,em,eM)}),eE},eT.prototype._parseResponse=function(eb,em,ew){let eM;if(eb){ew(eb);return}if(!em)return ew();try{eM=JSON.parse(em,this.options.reviver)}catch(eb){return ew(eb)}if(3===ew.length){if(!Array.isArray(eM))return ew(null,eM.error,eM.result);{let eb=function(eb){return void 0!==eb.error},em=function(em){return!eb(em)};return ew(null,eM.filter(eb),eM.filter(em))}}ew(null,eM)}},17741:function(eb,em,ew){"use strict";let eM=ew(64667).v4,eC=function(eb,em,ew,eC){if("string"!=typeof eb)throw TypeError(eb+" must be a string");eC=eC||{};let eT="number"==typeof eC.version?eC.version:2;if(1!==eT&&2!==eT)throw TypeError(eT+" must be 1 or 2");let e_={method:eb};if(2===eT&&(e_.jsonrpc="2.0"),em){if("object"!=typeof em&&!Array.isArray(em))throw TypeError(em+" must be an object, array or omitted");e_.params=em}if(void 0===ew){let eb="function"==typeof eC.generator?eC.generator:function(){return eM()};e_.id=eb(e_,eC)}else 2===eT&&null===ew?eC.notificationIdNull&&(e_.id=null):e_.id=ew;return e_};eb.exports=eC},64667:function(eb,em,ew){"use strict";ew.d(em,{v4:function(){return eI}});var eM,eC=new Uint8Array(16);function eT(){if(!eM&&!(eM="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return eM(eC)}for(var e_=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,eE=function(eb){return"string"==typeof eb&&e_.test(eb)},eS=[],eA=0;eA<256;++eA)eS.push((eA+256).toString(16).substr(1));var eN=function(eb){var em=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,ew=(eS[eb[em+0]]+eS[eb[em+1]]+eS[eb[em+2]]+eS[eb[em+3]]+"-"+eS[eb[em+4]]+eS[eb[em+5]]+"-"+eS[eb[em+6]]+eS[eb[em+7]]+"-"+eS[eb[em+8]]+eS[eb[em+9]]+"-"+eS[eb[em+10]]+eS[eb[em+11]]+eS[eb[em+12]]+eS[eb[em+13]]+eS[eb[em+14]]+eS[eb[em+15]]).toLowerCase();if(!eE(ew))throw TypeError("Stringified UUID is invalid");return ew},eI=function(eb,em,ew){var eM=(eb=eb||{}).random||(eb.rng||eT)();if(eM[6]=15&eM[6]|64,eM[8]=63&eM[8]|128,em){ew=ew||0;for(var eC=0;eC<16;++eC)em[ew+eC]=eM[eC];return em}return eN(eM)}},91094:function(eb,em,ew){var eM,eC=ew(34155);!function(){"use strict";var eT="input is invalid type",e_="finalize already called",eE="object"==typeof window,eS=eE?window:{};eS.JS_SHA3_NO_WINDOW&&(eE=!1);var eA=!eE&&"object"==typeof self;!eS.JS_SHA3_NO_NODE_JS&&"object"==typeof eC&&eC.versions&&eC.versions.node?eS=ew.g:eA&&(eS=self);var eN=!eS.JS_SHA3_NO_COMMON_JS&&eb.exports,eI=ew.amdO,eD=!eS.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,eO="0123456789abcdef".split(""),eP=[31,7936,2031616,520093696],eR=[4,1024,262144,67108864],eB=[1,256,65536,16777216],eF=[6,1536,393216,100663296],ej=[0,8,16,24],eU=[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],eV=[224,256,384,512],eH=[128,256],e$=["hex","buffer","arrayBuffer","array","digest"],eW={128:168,256:136};(eS.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(eb){return"[object Array]"===Object.prototype.toString.call(eb)}),eD&&(eS.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(eb){return"object"==typeof eb&&eb.buffer&&eb.buffer.constructor===ArrayBuffer});for(var eZ=function(eb,em,ew){return function(eM){return new tw(eb,em,eb).update(eM)[ew]()}},eK=function(eb,em,ew){return function(eM,eC){return new tw(eb,em,eC).update(eM)[ew]()}},eG=function(eb,em,ew){return function(em,eM,eC,eT){return e0["cshake"+eb].update(em,eM,eC,eT)[ew]()}},eY=function(eb,em,ew){return function(em,eM,eC,eT){return e0["kmac"+eb].update(em,eM,eC,eT)[ew]()}},eJ=function(eb,em,ew,eM){for(var eC=0;eC>5,this.byteCount=this.blockCount<<2,this.outputBlocks=ew>>5,this.extraBytes=(31&ew)>>3;for(var eM=0;eM<50;++eM)this.s[eM]=0}function tC(eb,em,ew){tw.call(this,eb,em,ew)}tw.prototype.update=function(eb){if(this.finalized)throw Error(e_);var em,ew=typeof eb;if("string"!==ew){if("object"===ew){if(null===eb)throw Error(eT);if(eD&&eb.constructor===ArrayBuffer)eb=new Uint8Array(eb);else if(!Array.isArray(eb)&&(!eD||!ArrayBuffer.isView(eb)))throw Error(eT)}else throw Error(eT);em=!0}for(var eM,eC,eE=this.blocks,eS=this.byteCount,eA=eb.length,eN=this.blockCount,eI=0,eO=this.s;eI>2]|=eb[eI]<>2]|=eC<>2]|=(192|eC>>6)<>2]|=(128|63&eC)<=57344?(eE[eM>>2]|=(224|eC>>12)<>2]|=(128|eC>>6&63)<>2]|=(128|63&eC)<>2]|=(240|eC>>18)<>2]|=(128|eC>>12&63)<>2]|=(128|eC>>6&63)<>2]|=(128|63&eC)<=eS){for(this.start=eM-eS,this.block=eE[eN],eM=0;eM>=8,ew=255&eb;ew>0;)eC.unshift(ew),eb>>=8,ew=255&eb,++eM;return em?eC.push(eM):eC.unshift(eM),this.update(eC),eC.length},tw.prototype.encodeString=function(eb){var em,ew=typeof eb;if("string"!==ew){if("object"===ew){if(null===eb)throw Error(eT);if(eD&&eb.constructor===ArrayBuffer)eb=new Uint8Array(eb);else if(!Array.isArray(eb)&&(!eD||!ArrayBuffer.isView(eb)))throw Error(eT)}else throw Error(eT);em=!0}var eM=0,eC=eb.length;if(em)eM=eC;else for(var e_=0;e_=57344?eM+=3:(eE=65536+((1023&eE)<<10|1023&eb.charCodeAt(++e_)),eM+=4)}return eM+=this.encode(8*eM),this.update(eb),eM},tw.prototype.bytepad=function(eb,em){for(var ew=this.encode(em),eM=0;eM>2]|=this.padding[3&em],this.lastByteIndex===this.byteCount)for(em=1,eb[0]=eb[ew];em>4&15]+eO[15&eb]+eO[eb>>12&15]+eO[eb>>8&15]+eO[eb>>20&15]+eO[eb>>16&15]+eO[eb>>28&15]+eO[eb>>24&15];e_%em==0&&(tT(ew),eT=0)}return eC&&(eE+=eO[(eb=ew[eT])>>4&15]+eO[15&eb],eC>1&&(eE+=eO[eb>>12&15]+eO[eb>>8&15]),eC>2&&(eE+=eO[eb>>20&15]+eO[eb>>16&15])),eE},tw.prototype.arrayBuffer=function(){this.finalize();var eb,em=this.blockCount,ew=this.s,eM=this.outputBlocks,eC=this.extraBytes,eT=0,e_=0,eE=this.outputBits>>3;eb=new ArrayBuffer(eC?eM+1<<2:eE);for(var eS=new Uint32Array(eb);e_>8&255,eS[eb+2]=em>>16&255,eS[eb+3]=em>>24&255;eE%ew==0&&tT(eM)}return eT&&(eb=eE<<2,em=eM[e_],eS[eb]=255&em,eT>1&&(eS[eb+1]=em>>8&255),eT>2&&(eS[eb+2]=em>>16&255)),eS},tC.prototype=new tw,tC.prototype.finalize=function(){return this.encode(this.outputBits,!0),tw.prototype.finalize.call(this)};var tT=function(eb){var em,ew,eM,eC,eT,e_,eE,eS,eA,eN,eI,eD,eO,eP,eR,eB,eF,ej,eV,eH,e$,eW,eZ,eK,eG,eY,eJ,eX,eQ,e0,e6,e4,e3,e5,e8,e9,e7,tw,tC,tT,t_,tE,tS,tA,tN,tI,tD,tO,tP,tR,tB,tF,tj,tU,tV,tH,t$,tq,tW,tZ,tK,tG,tY;for(eM=0;eM<48;eM+=2)eC=eb[0]^eb[10]^eb[20]^eb[30]^eb[40],eT=eb[1]^eb[11]^eb[21]^eb[31]^eb[41],e_=eb[2]^eb[12]^eb[22]^eb[32]^eb[42],eE=eb[3]^eb[13]^eb[23]^eb[33]^eb[43],eS=eb[4]^eb[14]^eb[24]^eb[34]^eb[44],eA=eb[5]^eb[15]^eb[25]^eb[35]^eb[45],eN=eb[6]^eb[16]^eb[26]^eb[36]^eb[46],eI=eb[7]^eb[17]^eb[27]^eb[37]^eb[47],eD=eb[8]^eb[18]^eb[28]^eb[38]^eb[48],eO=eb[9]^eb[19]^eb[29]^eb[39]^eb[49],em=eD^(e_<<1|eE>>>31),ew=eO^(eE<<1|e_>>>31),eb[0]^=em,eb[1]^=ew,eb[10]^=em,eb[11]^=ew,eb[20]^=em,eb[21]^=ew,eb[30]^=em,eb[31]^=ew,eb[40]^=em,eb[41]^=ew,em=eC^(eS<<1|eA>>>31),ew=eT^(eA<<1|eS>>>31),eb[2]^=em,eb[3]^=ew,eb[12]^=em,eb[13]^=ew,eb[22]^=em,eb[23]^=ew,eb[32]^=em,eb[33]^=ew,eb[42]^=em,eb[43]^=ew,em=e_^(eN<<1|eI>>>31),ew=eE^(eI<<1|eN>>>31),eb[4]^=em,eb[5]^=ew,eb[14]^=em,eb[15]^=ew,eb[24]^=em,eb[25]^=ew,eb[34]^=em,eb[35]^=ew,eb[44]^=em,eb[45]^=ew,em=eS^(eD<<1|eO>>>31),ew=eA^(eO<<1|eD>>>31),eb[6]^=em,eb[7]^=ew,eb[16]^=em,eb[17]^=ew,eb[26]^=em,eb[27]^=ew,eb[36]^=em,eb[37]^=ew,eb[46]^=em,eb[47]^=ew,em=eN^(eC<<1|eT>>>31),ew=eI^(eT<<1|eC>>>31),eb[8]^=em,eb[9]^=ew,eb[18]^=em,eb[19]^=ew,eb[28]^=em,eb[29]^=ew,eb[38]^=em,eb[39]^=ew,eb[48]^=em,eb[49]^=ew,eP=eb[0],eR=eb[1],tI=eb[11]<<4|eb[10]>>>28,tD=eb[10]<<4|eb[11]>>>28,eX=eb[20]<<3|eb[21]>>>29,eQ=eb[21]<<3|eb[20]>>>29,tZ=eb[31]<<9|eb[30]>>>23,tK=eb[30]<<9|eb[31]>>>23,tE=eb[40]<<18|eb[41]>>>14,tS=eb[41]<<18|eb[40]>>>14,e5=eb[2]<<1|eb[3]>>>31,e8=eb[3]<<1|eb[2]>>>31,eB=eb[13]<<12|eb[12]>>>20,eF=eb[12]<<12|eb[13]>>>20,tO=eb[22]<<10|eb[23]>>>22,tP=eb[23]<<10|eb[22]>>>22,e0=eb[33]<<13|eb[32]>>>19,e6=eb[32]<<13|eb[33]>>>19,tG=eb[42]<<2|eb[43]>>>30,tY=eb[43]<<2|eb[42]>>>30,tU=eb[5]<<30|eb[4]>>>2,tV=eb[4]<<30|eb[5]>>>2,e9=eb[14]<<6|eb[15]>>>26,e7=eb[15]<<6|eb[14]>>>26,ej=eb[25]<<11|eb[24]>>>21,eV=eb[24]<<11|eb[25]>>>21,tR=eb[34]<<15|eb[35]>>>17,tB=eb[35]<<15|eb[34]>>>17,e4=eb[45]<<29|eb[44]>>>3,e3=eb[44]<<29|eb[45]>>>3,eK=eb[6]<<28|eb[7]>>>4,eG=eb[7]<<28|eb[6]>>>4,tH=eb[17]<<23|eb[16]>>>9,t$=eb[16]<<23|eb[17]>>>9,tw=eb[26]<<25|eb[27]>>>7,tC=eb[27]<<25|eb[26]>>>7,eH=eb[36]<<21|eb[37]>>>11,e$=eb[37]<<21|eb[36]>>>11,tF=eb[47]<<24|eb[46]>>>8,tj=eb[46]<<24|eb[47]>>>8,tA=eb[8]<<27|eb[9]>>>5,tN=eb[9]<<27|eb[8]>>>5,eY=eb[18]<<20|eb[19]>>>12,eJ=eb[19]<<20|eb[18]>>>12,tq=eb[29]<<7|eb[28]>>>25,tW=eb[28]<<7|eb[29]>>>25,tT=eb[38]<<8|eb[39]>>>24,t_=eb[39]<<8|eb[38]>>>24,eW=eb[48]<<14|eb[49]>>>18,eZ=eb[49]<<14|eb[48]>>>18,eb[0]=eP^~eB&ej,eb[1]=eR^~eF&eV,eb[10]=eK^~eY&eX,eb[11]=eG^~eJ&eQ,eb[20]=e5^~e9&tw,eb[21]=e8^~e7&tC,eb[30]=tA^~tI&tO,eb[31]=tN^~tD&tP,eb[40]=tU^~tH&tq,eb[41]=tV^~t$&tW,eb[2]=eB^~ej&eH,eb[3]=eF^~eV&e$,eb[12]=eY^~eX&e0,eb[13]=eJ^~eQ&e6,eb[22]=e9^~tw&tT,eb[23]=e7^~tC&t_,eb[32]=tI^~tO&tR,eb[33]=tD^~tP&tB,eb[42]=tH^~tq&tZ,eb[43]=t$^~tW&tK,eb[4]=ej^~eH&eW,eb[5]=eV^~e$&eZ,eb[14]=eX^~e0&e4,eb[15]=eQ^~e6&e3,eb[24]=tw^~tT&tE,eb[25]=tC^~t_&tS,eb[34]=tO^~tR&tF,eb[35]=tP^~tB&tj,eb[44]=tq^~tZ&tG,eb[45]=tW^~tK&tY,eb[6]=eH^~eW&eP,eb[7]=e$^~eZ&eR,eb[16]=e0^~e4&eK,eb[17]=e6^~e3&eG,eb[26]=tT^~tE&e5,eb[27]=t_^~tS&e8,eb[36]=tR^~tF&tA,eb[37]=tB^~tj&tN,eb[46]=tZ^~tG&tU,eb[47]=tK^~tY&tV,eb[8]=eW^~eP&eB,eb[9]=eZ^~eR&eF,eb[18]=e4^~eK&eY,eb[19]=e3^~eG&eJ,eb[28]=tE^~e5&e9,eb[29]=tS^~e8&e7,eb[38]=tF^~tA&tI,eb[39]=tj^~tN&tD,eb[48]=tG^~tU&tH,eb[49]=tY^~tV&t$,eb[0]^=eU[eM],eb[1]^=eU[eM+1]};if(eN)eb.exports=e0;else{for(e4=0;e4{try{let[eC,eT,eE]=await e_._runAllMiddleware(eb,em,this._middleware);if(eT)return await e_._runReturnHandlers(eE),eM(eC);return ew(async eb=>{try{await e_._runReturnHandlers(eE)}catch(em){return eb(em)}return eb()})}catch(eb){return eM(eb)}}}async _handleBatch(eb,em){try{let ew=await Promise.all(eb.map(this._promiseHandle.bind(this)));if(em)return em(null,ew);return ew}catch(eb){if(em)return em(eb);throw eb}}_promiseHandle(eb){return new Promise(em=>{this._handle(eb,(eb,ew)=>{em(ew)})})}async _handle(eb,em){if(!eb||Array.isArray(eb)||"object"!=typeof eb){let ew=new eT.EthereumRpcError(eT.errorCodes.rpc.invalidRequest,`Requests must be plain objects. Received: ${typeof eb}`,{request:eb});return em(ew,{id:void 0,jsonrpc:"2.0",error:ew})}if("string"!=typeof eb.method){let ew=new eT.EthereumRpcError(eT.errorCodes.rpc.invalidRequest,`Must specify a string method. Received: ${typeof eb.method}`,{request:eb});return em(ew,{id:eb.id,jsonrpc:"2.0",error:ew})}let ew=Object.assign({},eb),eM={id:ew.id,jsonrpc:ew.jsonrpc},eC=null;try{await this._processRequest(ew,eM)}catch(eb){eC=eb}return eC&&(delete eM.result,eM.error||(eM.error=eT.serializeError(eC))),em(eC,eM)}async _processRequest(eb,em){let[ew,eM,eC]=await e_._runAllMiddleware(eb,em,this._middleware);if(e_._checkForCompletion(eb,em,eM),await e_._runReturnHandlers(eC),ew)throw ew}static async _runAllMiddleware(eb,em,ew){let eM=[],eC=null,eT=!1;for(let eE of ew)if([eC,eT]=await e_._runMiddleware(eb,em,eE,eM),eT)break;return[eC,eT,eM.reverse()]}static _runMiddleware(eb,em,ew,eM){return new Promise(eC=>{let e_=eb=>{let ew=eb||em.error;ew&&(em.error=eT.serializeError(ew)),eC([ew,!0])},eS=ew=>{em.error?e_(em.error):(ew&&("function"!=typeof ew&&e_(new eT.EthereumRpcError(eT.errorCodes.rpc.internal,`JsonRpcEngine: "next" return handlers must be functions. Received "${typeof ew}" for request: +${eE(eb)}`,{request:eb})),eM.push(ew)),eC([null,!1]))};try{ew(eb,em,eS,e_)}catch(eb){e_(eb)}})}static async _runReturnHandlers(eb){for(let em of eb)await new Promise((eb,ew)=>{em(em=>em?ew(em):eb())})}static _checkForCompletion(eb,em,ew){if(!("result"in em)&&!("error"in em))throw new eT.EthereumRpcError(eT.errorCodes.rpc.internal,`JsonRpcEngine: Response has no error or result for request: +${eE(eb)}`,{request:eb});if(!ew)throw new eT.EthereumRpcError(eT.errorCodes.rpc.internal,`JsonRpcEngine: Nothing ended request: +${eE(eb)}`,{request:eb})}}function eE(eb){return JSON.stringify(eb,null,2)}em.JsonRpcEngine=e_},31841:function(eb,em){"use strict";function ew(eb){return async(em,ew,eM,eC)=>{let eT;let e_=new Promise(eb=>{eT=eb}),eE=null,eS=!1,eA=async()=>{eS=!0,eM(eb=>{eE=eb,eT()}),await e_};try{await eb(em,ew,eA),eS?(await e_,eE(null)):eC(null)}catch(eb){eE?eE(eb):eC(eb)}}}Object.defineProperty(em,"__esModule",{value:!0}),em.createAsyncMiddleware=void 0,em.createAsyncMiddleware=ew},48508:function(eb,em){"use strict";function ew(eb){return(em,ew,eM,eC)=>{let eT=eb[em.method];return void 0===eT?eM():"function"==typeof eT?eT(em,ew,eM,eC):(ew.result=eT,eC())}}Object.defineProperty(em,"__esModule",{value:!0}),em.createScaffoldMiddleware=void 0,em.createScaffoldMiddleware=ew},33107:function(eb,em){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.getUniqueId=void 0;let ew=4294967295,eM=Math.floor(Math.random()*ew);function eC(){return eM=(eM+1)%ew}em.getUniqueId=eC},85086:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.createIdRemapMiddleware=void 0;let eM=ew(33107);function eC(){return(eb,em,ew,eC)=>{let eT=eb.id,e_=eM.getUniqueId();eb.id=e_,em.id=e_,ew(ew=>{eb.id=eT,em.id=eT,ew()})}}em.createIdRemapMiddleware=eC},88625:function(eb,em,ew){"use strict";var eM=this&&this.__createBinding||(Object.create?function(eb,em,ew,eM){void 0===eM&&(eM=ew),Object.defineProperty(eb,eM,{enumerable:!0,get:function(){return em[ew]}})}:function(eb,em,ew,eM){void 0===eM&&(eM=ew),eb[eM]=em[ew]}),eC=this&&this.__exportStar||function(eb,em){for(var ew in eb)"default"===ew||Object.prototype.hasOwnProperty.call(em,ew)||eM(em,eb,ew)};Object.defineProperty(em,"__esModule",{value:!0}),eC(ew(85086),em),eC(ew(31841),em),eC(ew(48508),em),eC(ew(33107),em),eC(ew(17398),em),eC(ew(79962),em)},79962:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0}),em.mergeMiddleware=void 0;let eM=ew(17398);function eC(eb){let em=new eM.JsonRpcEngine;return eb.forEach(eb=>em.push(eb)),em.asMiddleware()}em.mergeMiddleware=eC},60759:function(eb,em,ew){"use strict";Object.defineProperty(em,"__esModule",{value:!0});let eM=ew(17187);function eC(eb,em,ew){try{Reflect.apply(eb,em,ew)}catch(eb){setTimeout(()=>{throw eb})}}function eT(eb){let em=eb.length,ew=Array(em);for(let eM=0;eM0&&([eb]=em),eb instanceof Error)throw eb;let ew=Error(`Unhandled error.${eb?` (${eb.message})`:""}`);throw ew.context=eb,ew}let e_=eM[eb];if(void 0===e_)return!1;if("function"==typeof e_)eC(e_,this,em);else{let eb=e_.length,ew=eT(e_);for(let eM=0;eMclass em extends eC{constructor(em,ew,eM,eC,eT){super(eT),this._rate=em,this._capacity=ew,this._delimitedSuffix=eM,this._hashBitLength=eC,this._options=eT,this._state=new eb,this._state.initialize(em,ew),this._finalized=!1}_transform(eb,em,ew){let eM=null;try{this.update(eb,em)}catch(eb){eM=eb}ew(eM)}_flush(eb){let em=null;try{this.push(this.digest())}catch(eb){em=eb}eb(em)}update(eb,em){if(!eM.isBuffer(eb)&&"string"!=typeof eb)throw TypeError("Data must be a string or a buffer");if(this._finalized)throw Error("Digest already called");return eM.isBuffer(eb)||(eb=eM.from(eb,em)),this._state.absorb(eb),this}digest(eb){if(this._finalized)throw Error("Digest already called");this._finalized=!0,this._delimitedSuffix&&this._state.absorbLastFewBits(this._delimitedSuffix);let em=this._state.squeeze(this._hashBitLength/8);return void 0!==eb&&(em=em.toString(eb)),this._resetState(),em}_resetState(){return this._state.initialize(this._rate,this._capacity),this}_clone(){let eb=new em(this._rate,this._capacity,this._delimitedSuffix,this._hashBitLength,this._options);return this._state.copy(eb._state),eb._finalized=this._finalized,eb}}},5675:function(eb,em,ew){var eM=ew(48764).Buffer;let{Transform:eC}=ew(88473);eb.exports=eb=>class em extends eC{constructor(em,ew,eM,eC){super(eC),this._rate=em,this._capacity=ew,this._delimitedSuffix=eM,this._options=eC,this._state=new eb,this._state.initialize(em,ew),this._finalized=!1}_transform(eb,em,ew){let eM=null;try{this.update(eb,em)}catch(eb){eM=eb}ew(eM)}_flush(){}_read(eb){this.push(this.squeeze(eb))}update(eb,em){if(!eM.isBuffer(eb)&&"string"!=typeof eb)throw TypeError("Data must be a string or a buffer");if(this._finalized)throw Error("Squeeze already called");return eM.isBuffer(eb)||(eb=eM.from(eb,em)),this._state.absorb(eb),this}squeeze(eb,em){this._finalized||(this._finalized=!0,this._state.absorbLastFewBits(this._delimitedSuffix));let ew=this._state.squeeze(eb);return void 0!==em&&(ew=ew.toString(em)),ew}_resetState(){return this._state.initialize(this._rate,this._capacity),this}_clone(){let eb=new em(this._rate,this._capacity,this._delimitedSuffix,this._options);return this._state.copy(eb._state),eb._finalized=this._finalized,eb}}},34040:function(eb,em){let ew=[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];em.p1600=function(eb){for(let em=0;em<24;++em){let eM=eb[0]^eb[10]^eb[20]^eb[30]^eb[40],eC=eb[1]^eb[11]^eb[21]^eb[31]^eb[41],eT=eb[2]^eb[12]^eb[22]^eb[32]^eb[42],e_=eb[3]^eb[13]^eb[23]^eb[33]^eb[43],eE=eb[4]^eb[14]^eb[24]^eb[34]^eb[44],eS=eb[5]^eb[15]^eb[25]^eb[35]^eb[45],eA=eb[6]^eb[16]^eb[26]^eb[36]^eb[46],eN=eb[7]^eb[17]^eb[27]^eb[37]^eb[47],eI=eb[8]^eb[18]^eb[28]^eb[38]^eb[48],eD=eb[9]^eb[19]^eb[29]^eb[39]^eb[49],eO=eI^(eT<<1|e_>>>31),eP=eD^(e_<<1|eT>>>31),eR=eb[0]^eO,eB=eb[1]^eP,eF=eb[10]^eO,ej=eb[11]^eP,eU=eb[20]^eO,eV=eb[21]^eP,eH=eb[30]^eO,e$=eb[31]^eP,eW=eb[40]^eO,eZ=eb[41]^eP;eO=eM^(eE<<1|eS>>>31),eP=eC^(eS<<1|eE>>>31);let eK=eb[2]^eO,eG=eb[3]^eP,eY=eb[12]^eO,eJ=eb[13]^eP,eX=eb[22]^eO,eQ=eb[23]^eP,e0=eb[32]^eO,e6=eb[33]^eP,e4=eb[42]^eO,e3=eb[43]^eP;eO=eT^(eA<<1|eN>>>31),eP=e_^(eN<<1|eA>>>31);let e5=eb[4]^eO,e8=eb[5]^eP,e9=eb[14]^eO,e7=eb[15]^eP,tw=eb[24]^eO,tC=eb[25]^eP,tT=eb[34]^eO,t_=eb[35]^eP,tE=eb[44]^eO,tS=eb[45]^eP;eO=eE^(eI<<1|eD>>>31),eP=eS^(eD<<1|eI>>>31);let tA=eb[6]^eO,tN=eb[7]^eP,tI=eb[16]^eO,tD=eb[17]^eP,tO=eb[26]^eO,tP=eb[27]^eP,tR=eb[36]^eO,tB=eb[37]^eP,tF=eb[46]^eO,tj=eb[47]^eP;eO=eA^(eM<<1|eC>>>31),eP=eN^(eC<<1|eM>>>31);let tU=eb[8]^eO,tV=eb[9]^eP,tH=eb[18]^eO,t$=eb[19]^eP,tq=eb[28]^eO,tW=eb[29]^eP,tZ=eb[38]^eO,tK=eb[39]^eP,tG=eb[48]^eO,tY=eb[49]^eP,tJ=eR,tX=eB,tQ=ej<<4|eF>>>28,nw=eF<<4|ej>>>28,nM=eU<<3|eV>>>29,nC=eV<<3|eU>>>29,nk=e$<<9|eH>>>23,nT=eH<<9|e$>>>23,n_=eW<<18|eZ>>>14,nE=eZ<<18|eW>>>14,nS=eK<<1|eG>>>31,nA=eG<<1|eK>>>31,nN=eJ<<12|eY>>>20,nI=eY<<12|eJ>>>20,nD=eX<<10|eQ>>>22,nO=eQ<<10|eX>>>22,nP=e6<<13|e0>>>19,nR=e0<<13|e6>>>19,nB=e4<<2|e3>>>30,nF=e3<<2|e4>>>30,nj=e8<<30|e5>>>2,nU=e5<<30|e8>>>2,nV=e9<<6|e7>>>26,nH=e7<<6|e9>>>26,n$=tC<<11|tw>>>21,nq=tw<<11|tC>>>21,nW=tT<<15|t_>>>17,nZ=t_<<15|tT>>>17,nK=tS<<29|tE>>>3,nG=tE<<29|tS>>>3,nY=tA<<28|tN>>>4,nJ=tN<<28|tA>>>4,nX=tD<<23|tI>>>9,nQ=tI<<23|tD>>>9,n6=tO<<25|tP>>>7,n4=tP<<25|tO>>>7,n3=tR<<21|tB>>>11,n5=tB<<21|tR>>>11,n8=tj<<24|tF>>>8,n9=tF<<24|tj>>>8,n7=tU<<27|tV>>>5,ry=tV<<27|tU>>>5,rz=tH<<20|t$>>>12,rw=t$<<20|tH>>>12,rM=tW<<7|tq>>>25,rC=tq<<7|tW>>>25,rk=tZ<<8|tK>>>24,rT=tK<<8|tZ>>>24,r_=tG<<14|tY>>>18,rE=tY<<14|tG>>>18;eb[0]=tJ^~nN&n$,eb[1]=tX^~nI&nq,eb[10]=nY^~rz&nM,eb[11]=nJ^~rw&nC,eb[20]=nS^~nV&n6,eb[21]=nA^~nH&n4,eb[30]=n7^~tQ&nD,eb[31]=ry^~nw&nO,eb[40]=nj^~nX&rM,eb[41]=nU^~nQ&rC,eb[2]=nN^~n$&n3,eb[3]=nI^~nq&n5,eb[12]=rz^~nM&nP,eb[13]=rw^~nC&nR,eb[22]=nV^~n6&rk,eb[23]=nH^~n4&rT,eb[32]=tQ^~nD&nW,eb[33]=nw^~nO&nZ,eb[42]=nX^~rM&nk,eb[43]=nQ^~rC&nT,eb[4]=n$^~n3&r_,eb[5]=nq^~n5&rE,eb[14]=nM^~nP&nK,eb[15]=nC^~nR&nG,eb[24]=n6^~rk&n_,eb[25]=n4^~rT&nE,eb[34]=nD^~nW&n8,eb[35]=nO^~nZ&n9,eb[44]=rM^~nk&nB,eb[45]=rC^~nT&nF,eb[6]=n3^~r_&tJ,eb[7]=n5^~rE&tX,eb[16]=nP^~nK&nY,eb[17]=nR^~nG&nJ,eb[26]=rk^~n_&nS,eb[27]=rT^~nE&nA,eb[36]=nW^~n8&n7,eb[37]=nZ^~n9&ry,eb[46]=nk^~nB&nj,eb[47]=nT^~nF&nU,eb[8]=r_^~tJ&nN,eb[9]=rE^~tX&nI,eb[18]=nK^~nY&rz,eb[19]=nG^~nJ&rw,eb[28]=n_^~nS&nV,eb[29]=nE^~nA&nH,eb[38]=n8^~n7&tQ,eb[39]=n9^~ry&nw,eb[48]=nB^~nj&nX,eb[49]=nF^~nU&nQ,eb[0]^=ew[2*em],eb[1]^=ew[2*em+1]}}},79653:function(eb,em,ew){var eM=ew(48764).Buffer;let eC=ew(34040);function eT(){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}eT.prototype.initialize=function(eb,em){for(let eb=0;eb<50;++eb)this.state[eb]=0;this.blockSize=eb/8,this.count=0,this.squeezing=!1},eT.prototype.absorb=function(eb){for(let em=0;em>>8*(this.count%4)&255,this.count+=1,this.count===this.blockSize&&(eC.p1600(this.state),this.count=0);return em},eT.prototype.copy=function(eb){for(let em=0;em<50;++em)eb.state[em]=this.state[em];eb.blockSize=this.blockSize,eb.count=this.count,eb.squeezing=this.squeezing},eb.exports=eT},72307:function(eb,em,ew){eb=ew.nmd(eb);var eM=200,eC="__lodash_hash_undefined__",eT=1,e_=2,eE=9007199254740991,eS="[object Arguments]",eA="[object Array]",eN="[object AsyncFunction]",eI="[object Boolean]",eD="[object Date]",eO="[object Error]",eP="[object Function]",eR="[object GeneratorFunction]",eB="[object Map]",eF="[object Number]",ej="[object Null]",eU="[object Object]",eV="[object Promise]",eH="[object Proxy]",e$="[object RegExp]",eW="[object Set]",eZ="[object String]",eK="[object Symbol]",eG="[object Undefined]",eY="[object WeakMap]",eJ="[object ArrayBuffer]",eX="[object DataView]",eQ="[object Float64Array]",e0="[object Int8Array]",e6="[object Int16Array]",e4="[object Int32Array]",e3="[object Uint8Array]",e5="[object Uint8ClampedArray]",e8="[object Uint16Array]",e9="[object Uint32Array]",e7=/[\\^$.*+?()[\]{}|]/g,tw=/^\[object .+?Constructor\]$/,tC=/^(?:0|[1-9]\d*)$/,tT={};tT["[object Float32Array]"]=tT[eQ]=tT[e0]=tT[e6]=tT[e4]=tT[e3]=tT[e5]=tT[e8]=tT[e9]=!0,tT[eS]=tT[eA]=tT[eJ]=tT[eI]=tT[eX]=tT[eD]=tT[eO]=tT[eP]=tT[eB]=tT[eF]=tT[eU]=tT[e$]=tT[eW]=tT[eZ]=tT[eY]=!1;var t_="object"==typeof ew.g&&ew.g&&ew.g.Object===Object&&ew.g,tE="object"==typeof self&&self&&self.Object===Object&&self,tS=t_||tE||Function("return this")(),tA=em&&!em.nodeType&&em,tN=tA&&eb&&!eb.nodeType&&eb,tI=tN&&tN.exports===tA,tD=tI&&t_.process,tO=function(){try{return tD&&tD.binding&&tD.binding("util")}catch(eb){}}(),tP=tO&&tO.isTypedArray;function tR(eb,em){for(var ew=-1,eM=null==eb?0:eb.length,eC=0,eT=[];++ew-1}function n8(eb,em){var ew=this.__data__,eM=rO(ew,eb);return eM<0?(++this.size,ew.push([eb,em])):ew[eM][1]=em,this}function n9(eb){var em=-1,ew=null==eb?0:eb.length;for(this.clear();++emeA))return!1;var eI=eE.get(eb);if(eI&&eE.get(em))return eI==em;var eD=-1,eO=!0,eP=ew&e_?new rC:void 0;for(eE.set(eb,em),eE.set(em,eb);++eD-1&&eb%1==0&&eb-1&&eb%1==0&&eb<=eE}function aj(eb){var em=typeof eb;return null!=eb&&("object"==em||"function"==em)}function aU(eb){return null!=eb&&"object"==typeof eb}var aV=tP?tU(tP):rV;function aH(eb){return aD(eb)?rD(eb):rH(eb)}function a$(){return[]}function aq(){return!1}eb.exports=aP},96486:function(eb,em,ew){var eM;eb=ew.nmd(eb),(function(){var eC,eT="4.17.21",e_=200,eE="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",eS="Expected a function",eA="Invalid `variable` option passed into `_.template`",eN="__lodash_hash_undefined__",eI=500,eD="__lodash_placeholder__",eO=1,eP=2,eR=4,eB=1,eF=2,ej=1,eU=2,eV=4,eH=8,e$=16,eW=32,eZ=64,eK=128,eG=256,eY=512,eJ=30,eX="...",eQ=800,e0=16,e6=1,e4=2,e3=3,e5=1/0,e8=9007199254740991,e9=17976931348623157e292,e7=0/0,tw=4294967295,tC=4294967294,tT=2147483647,t_=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],tE="[object Arguments]",tS="[object Array]",tA="[object AsyncFunction]",tN="[object Boolean]",tI="[object Date]",tD="[object DOMException]",tO="[object Error]",tP="[object Function]",tR="[object GeneratorFunction]",tB="[object Map]",tF="[object Number]",tj="[object Null]",tU="[object Object]",tV="[object Promise]",tH="[object Proxy]",t$="[object RegExp]",tq="[object Set]",tW="[object String]",tZ="[object Symbol]",tK="[object Undefined]",tG="[object WeakMap]",tY="[object WeakSet]",tJ="[object ArrayBuffer]",tX="[object DataView]",tQ="[object Float32Array]",nw="[object Float64Array]",nM="[object Int8Array]",nC="[object Int16Array]",nk="[object Int32Array]",nT="[object Uint8Array]",n_="[object Uint8ClampedArray]",nE="[object Uint16Array]",nS="[object Uint32Array]",nA=/\b__p \+= '';/g,nN=/\b(__p \+=) '' \+/g,nI=/(__e\(.*?\)|\b__t\)) \+\n'';/g,nD=/&(?:amp|lt|gt|quot|#39);/g,nO=/[&<>"']/g,nP=RegExp(nD.source),nR=RegExp(nO.source),nB=/<%-([\s\S]+?)%>/g,nF=/<%([\s\S]+?)%>/g,nj=/<%=([\s\S]+?)%>/g,nU=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nV=/^\w*$/,nH=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,n$=/[\\^$.*+?()[\]{}|]/g,nq=RegExp(n$.source),nW=/^\s+/,nZ=/\s/,nK=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,nG=/\{\n\/\* \[wrapped with (.+)\] \*/,nY=/,? & /,nJ=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,nX=/[()=,{}\[\]\/\s]/,nQ=/\\(\\)?/g,n6=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,n4=/\w*$/,n3=/^[-+]0x[0-9a-f]+$/i,n5=/^0b[01]+$/i,n8=/^\[object .+?Constructor\]$/,n9=/^0o[0-7]+$/i,n7=/^(?:0|[1-9]\d*)$/,ry=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,rz=/($^)/,rw=/['\n\r\u2028\u2029\\]/g,rM="\ud800-\udfff",rC="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",rk="\\u2700-\\u27bf",rT="a-z\\xdf-\\xf6\\xf8-\\xff",r_="A-Z\\xc0-\\xd6\\xd8-\\xde",rE="\\ufe0e\\ufe0f",rS="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\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",rA="['’]",rN="["+rM+"]",rI="["+rS+"]",rD="["+rC+"]",rO="\\d+",rP="["+rk+"]",rR="["+rT+"]",rB="[^"+rM+rS+rO+rk+rT+r_+"]",rF="\ud83c[\udffb-\udfff]",rj="[^"+rM+"]",rU="(?:\ud83c[\udde6-\uddff]){2}",rV="[\ud800-\udbff][\udc00-\udfff]",rH="["+r_+"]",r$="\\u200d",rq="(?:"+rR+"|"+rB+")",rW="(?:"+rH+"|"+rB+")",rZ="(?:"+rA+"(?:d|ll|m|re|s|t|ve))?",rK="(?:"+rA+"(?:D|LL|M|RE|S|T|VE))?",rG="(?:"+rD+"|"+rF+")?",rY="["+rE+"]?",rJ="(?:"+r$+"(?:"+[rj,rU,rV].join("|")+")"+rY+rG+")*",rX="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",rQ="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",aM=rY+rG+rJ,aC="(?:"+[rP,rU,rV].join("|")+")"+aM,ak="(?:"+[rj+rD+"?",rD,rU,rV,rN].join("|")+")",a_=RegExp(rA,"g"),aE=RegExp(rD,"g"),aS=RegExp(rF+"(?="+rF+")|"+ak+aM,"g"),aN=RegExp([rH+"?"+rR+"+"+rZ+"(?="+[rI,rH,"$"].join("|")+")",rW+"+"+rK+"(?="+[rI,rH+rq,"$"].join("|")+")",rH+"?"+rq+"+"+rZ,rH+"+"+rK,rQ,rX,rO,aC].join("|"),"g"),aI=RegExp("["+r$+rM+rC+rE+"]"),aD=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,aO=["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"],aP=-1,aR={};aR[tQ]=aR[nw]=aR[nM]=aR[nC]=aR[nk]=aR[nT]=aR[n_]=aR[nE]=aR[nS]=!0,aR[tE]=aR[tS]=aR[tJ]=aR[tN]=aR[tX]=aR[tI]=aR[tO]=aR[tP]=aR[tB]=aR[tF]=aR[tU]=aR[t$]=aR[tq]=aR[tW]=aR[tG]=!1;var aF={};aF[tE]=aF[tS]=aF[tJ]=aF[tX]=aF[tN]=aF[tI]=aF[tQ]=aF[nw]=aF[nM]=aF[nC]=aF[nk]=aF[tB]=aF[tF]=aF[tU]=aF[t$]=aF[tq]=aF[tW]=aF[tZ]=aF[nT]=aF[n_]=aF[nE]=aF[nS]=!0,aF[tO]=aF[tP]=aF[tG]=!1;var aj={À:"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"},aU={"&":"&","<":"<",">":">",'"':""","'":"'"},aV={"&":"&","<":"<",">":">",""":'"',"'":"'"},aH={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},a$=parseFloat,aq=parseInt,aW="object"==typeof ew.g&&ew.g&&ew.g.Object===Object&&ew.g,aZ="object"==typeof self&&self&&self.Object===Object&&self,aK=aW||aZ||Function("return this")(),aG=em&&!em.nodeType&&em,aY=aG&&eb&&!eb.nodeType&&eb,aJ=aY&&aY.exports===aG,aQ=aJ&&aW.process,ib=function(){try{var eb=aY&&aY.require&&aY.require("util").types;if(eb)return eb;return aQ&&aQ.binding&&aQ.binding("util")}catch(eb){}}(),iy=ib&&ib.isArrayBuffer,iw=ib&&ib.isDate,iM=ib&&ib.isMap,iC=ib&&ib.isRegExp,iT=ib&&ib.isSet,i_=ib&&ib.isTypedArray;function iE(eb,em,ew){switch(ew.length){case 0:return eb.call(em);case 1:return eb.call(em,ew[0]);case 2:return eb.call(em,ew[0],ew[1]);case 3:return eb.call(em,ew[0],ew[1],ew[2])}return eb.apply(em,ew)}function iS(eb,em,ew,eM){for(var eC=-1,eT=null==eb?0:eb.length;++eC-1}function iP(eb,em,ew){for(var eM=-1,eC=null==eb?0:eb.length;++eM-1;);return ew}function ck(eb,em){for(var ew=eb.length;ew--&&iZ(em,eb[ew],0)>-1;);return ew}function cT(eb,em){for(var ew=eb.length,eM=0;ew--;)eb[ew]===em&&++eM;return eM}var c_=i6(aj),cE=i6(aU);function cS(eb){return"\\"+aH[eb]}function cA(eb,em){return null==eb?eC:eb[em]}function cN(eb){return aI.test(eb)}function cI(eb){return aD.test(eb)}function cD(eb){for(var em,ew=[];!(em=eb.next()).done;)ew.push(em.value);return ew}function cO(eb){var em=-1,ew=Array(eb.size);return eb.forEach(function(eb,eM){ew[++em]=[eM,eb]}),ew}function cP(eb,em){return function(ew){return eb(em(ew))}}function cR(eb,em){for(var ew=-1,eM=eb.length,eC=0,eT=[];++ew-1}function sK(eb,em){var ew=this.__data__,eM=oN(ew,eb);return eM<0?(++this.size,ew.push([eb,em])):ew[eM][1]=em,this}function sG(eb){var em=-1,ew=null==eb?0:eb.length;for(this.clear();++em=em?eb:em)),eb}function oF(eb,em,ew,eM,eT,e_){var eE,eS=em&eO,eA=em&eP,eN=em&eR;if(ew&&(eE=eT?ew(eb,eM,eT,e_):ew(eb)),eC!==eE)return eE;if(!yx(eb))return eb;var eI=mY(eb);if(eI){if(eE=uT(eb),!eS)return fJ(eb,eE)}else{var eD=uM(eb),eB=eD==tP||eD==tR;if(m4(eb))return fU(eb,eS);if(eD==tU||eD==tE||eB&&!eT){if(eE=eA||eB?{}:u_(eb),!eS)return eA?f0(eb,oO(eE,eb)):fQ(eb,oD(eE,eb))}else{if(!aF[eD])return eT?eb:{};eE=uE(eb,eD,eS)}}e_||(e_=new s9);var eF=e_.get(eb);if(eF)return eF;e_.set(eb,eE),yB(eb)?eb.forEach(function(eM){eE.add(oF(eM,em,ew,eM,eb,e_))}):yT(eb)&&eb.forEach(function(eM,eC){eE.set(eC,oF(eM,em,ew,eC,eb,e_))});var ej=eN?eA?dK:dZ:eA?gO:gD,eU=eI?eC:ej(eb);return iA(eU||eb,function(eM,eC){eU&&(eM=eb[eC=eM]),oA(eE,eC,oF(eM,em,ew,eC,eb,e_))}),eE}function oj(eb){var em=gD(eb);return function(ew){return oU(ew,eb,em)}}function oU(eb,em,ew){var eM=ew.length;if(null==eb)return!eM;for(eb=rC(eb);eM--;){var eT=ew[eM],e_=em[eT],eE=eb[eT];if(eC===eE&&!(eT in eb)||!e_(eE))return!1}return!0}function oV(eb,em,ew){if("function"!=typeof eb)throw new r_(eS);return uJ(function(){eb.apply(eC,ew)},em)}function oH(eb,em,ew,eM){var eC=-1,eT=iO,eE=!0,eS=eb.length,eA=[],eN=em.length;if(!eS)return eA;ew&&(em=iR(em,cz(ew))),eM?(eT=iP,eE=!1):em.length>=e_&&(eT=cM,eE=!1,em=new s4(em));e:for(;++eCeT?0:eT+ew),(eM=eC===eM||eM>eT?eT:yG(eM))<0&&(eM+=eT),eM=ew>eM?0:yY(eM);ew0&&ew(eE)?em>1?oJ(eE,em-1,ew,eM,eC):iB(eC,eE):eM||(eC[eC.length]=eE)}return eC}var oQ=f5(),o0=f5(!0);function o6(eb,em){return eb&&oQ(eb,em,gD)}function o4(eb,em){return eb&&o0(eb,em,gD)}function o3(eb,em){return iD(em,function(em){return yw(eb[em])})}function o5(eb,em){em=fR(em,eb);for(var ew=0,eM=em.length;null!=eb&&ewem}function lb(eb,em){return null!=eb&&rD.call(eb,em)}function lm(eb,em){return null!=eb&&em in rC(eb)}function ly(eb,em,ew){return eb>=aH(em,ew)&&eb=120&&eD.length>=120)?new s4(eS&&eD):eC}eD=eb[0];var eO=-1,eP=eA[0];e:for(;++eO-1;)eE!==eb&&rK.call(eE,eS,1),rK.call(eb,eS,1);return eb}function lY(eb,em){for(var ew=eb?em.length:0,eM=ew-1;ew--;){var eC=em[ew];if(ew==eM||eC!==eT){var eT=eC;uN(eC)?rK.call(eb,eC,1):fE(eb,eC)}}return eb}function lJ(eb,em){return eb+aS(aG()*(em-eb+1))}function lX(eb,em,eM,eC){for(var eT=-1,e_=aV(ak((em-eb)/(eM||1)),0),eE=ew(e_);e_--;)eE[eC?e_:++eT]=eb,eb+=eM;return eE}function lQ(eb,em){var ew="";if(!eb||em<1||em>e8)return ew;do em%2&&(ew+=eb),(em=aS(em/2))&&(eb+=eb);while(em);return ew}function l6(eb,em){return uX(uW(eb,em,LJ),eb+"")}function l4(eb){return oT(gQ(eb))}function l3(eb,em){var ew=gQ(eb);return u4(ew,oB(em,0,ew.length))}function l5(eb,em,ew,eM){if(!yx(eb))return eb;em=fR(em,eb);for(var eT=-1,e_=em.length,eE=e_-1,eS=eb;null!=eS&&++eTeT?0:eT+em),(eM=eM>eT?eT:eM)<0&&(eM+=eT),eT=em>eM?0:eM-em>>>0,em>>>=0;for(var e_=ew(eT);++eC>>1,e_=eb[eT];null!==e_&&!yj(e_)&&(ew?e_<=em:e_=e_){var eN=em?null:dR(eb);if(eN)return cB(eN);eE=!1,eC=cM,eA=new s4}else eA=em?[]:eS;e:for(;++eM=eM?eb:fy(eb,em,ew)}var fj=rQ||function(eb){return aK.clearTimeout(eb)};function fU(eb,em){if(em)return eb.slice();var ew=eb.length,eM=r$?r$(ew):new eb.constructor(ew);return eb.copy(eM),eM}function fV(eb){var em=new eb.constructor(eb.byteLength);return new rH(em).set(new rH(eb)),em}function fH(eb,em){var ew=em?fV(eb.buffer):eb.buffer;return new eb.constructor(ew,eb.byteOffset,eb.byteLength)}function f$(eb){var em=new eb.constructor(eb.source,n4.exec(eb));return em.lastIndex=eb.lastIndex,em}function fq(eb){return sC?rC(sC.call(eb)):{}}function fW(eb,em){var ew=em?fV(eb.buffer):eb.buffer;return new eb.constructor(ew,eb.byteOffset,eb.length)}function fZ(eb,em){if(eb!==em){var ew=eC!==eb,eM=null===eb,eT=eb==eb,e_=yj(eb),eE=eC!==em,eS=null===em,eA=em==em,eN=yj(em);if(!eS&&!eN&&!e_&&eb>em||e_&&eE&&eA&&!eS&&!eN||eM&&eE&&eA||!ew&&eA||!eT)return 1;if(!eM&&!e_&&!eN&&eb=eE)return eS;return eS*("desc"==ew[eM]?-1:1)}}return eb.index-em.index}function fG(eb,em,eM,eC){for(var eT=-1,e_=eb.length,eE=eM.length,eS=-1,eA=em.length,eN=aV(e_-eE,0),eI=ew(eA+eN),eD=!eC;++eS1?ew[eT-1]:eC,eE=eT>2?ew[2]:eC;for(e_=eb.length>3&&"function"==typeof e_?(eT--,e_):eC,eE&&uI(ew[0],ew[1],eE)&&(e_=eT<3?eC:e_,eT=1),em=rC(em);++eM-1?eT[e_?em[eE]:eE]:eC}}function dM(eb){return dW(function(em){var ew=em.length,eM=ew,eT=sN.prototype.thru;for(eb&&em.reverse();eM--;){var e_=em[eM];if("function"!=typeof e_)throw new r_(eS);if(eT&&!eE&&"wrapper"==dY(e_))var eE=new sN([],!0)}for(eM=eE?eM:ew;++eM1&&ej.reverse(),eD&&eNeS))return!1;var eN=e_.get(eb),eI=e_.get(em);if(eN&&eI)return eN==em&&eI==eb;var eD=-1,eO=!0,eP=ew&eF?new s4:eC;for(e_.set(eb,em),e_.set(em,eb);++eD1?"& ":"")+em[eM],em=em.join(ew>2?", ":" "),eb.replace(nK,"{\n/* [wrapped with "+em+"] */\n")}function uA(eb){return mY(eb)||mG(eb)||!!(rG&&eb&&eb[rG])}function uN(eb,em){var ew=typeof eb;return!!(em=null==em?e8:em)&&("number"==ew||"symbol"!=ew&&n7.test(eb))&&eb>-1&&eb%1==0&&eb0){if(++em>=eQ)return arguments[0]}else em=0;return eb.apply(eC,arguments)}}function u4(eb,em){var ew=-1,eM=eb.length,eT=eM-1;for(em=eC===em?eM:em;++ew1?eb[em-1]:eC;return ew="function"==typeof ew?(eb.pop(),ew):eC,bU(eb,ew)});function bY(eb){var em=sE(eb);return em.__chain__=!0,em}function bJ(eb,em){return em(eb),eb}function bX(eb,em){return em(eb)}var bQ=dW(function(eb){var em=eb.length,ew=em?eb[0]:0,eM=this.__wrapped__,eT=function(em){return oR(em,eb)};return!(em>1)&&!this.__actions__.length&&eM instanceof sI&&uN(ew)?((eM=eM.slice(ew,+ew+(em?1:0))).__actions__.push({func:bX,args:[eT],thisArg:eC}),new sN(eM,this.__chain__).thru(function(eb){return em&&!eb.length&&eb.push(eC),eb})):this.thru(eT)});function hb(){return bY(this)}function hm(){return new sN(this.value(),this.__chain__)}function hy(){eC===this.__values__&&(this.__values__=yZ(this.value()));var eb=this.__index__>=this.__values__.length,em=eb?eC:this.__values__[this.__index__++];return{done:eb,value:em}}function hz(){return this}function hw(eb){for(var em,ew=this;ew instanceof sA;){var eM=pb(ew);eM.__index__=0,eM.__values__=eC,em?eT.__wrapped__=eM:em=eM;var eT=eM;ew=ew.__wrapped__}return eT.__wrapped__=eb,em}function hM(){var eb=this.__wrapped__;if(eb instanceof sI){var em=eb;return this.__actions__.length&&(em=new sI(this)),(em=em.reverse()).__actions__.push({func:bX,args:[p8],thisArg:eC}),new sN(em,this.__chain__)}return this.thru(p8)}function hC(){return fN(this.__wrapped__,this.__actions__)}var hx=f6(function(eb,em,ew){rD.call(eb,ew)?++eb[ew]:oP(eb,ew,1)});function hk(eb,em,ew){var eM=mY(eb)?iI:oW;return ew&&uI(eb,em,ew)&&(em=eC),eM(eb,dX(em,3))}function hT(eb,em){return(mY(eb)?iD:oG)(eb,dX(em,3))}var h_=dw(pI),hE=dw(pD);function hS(eb,em){return oJ(hF(eb,em),1)}function hA(eb,em){return oJ(hF(eb,em),e5)}function hN(eb,em,ew){return ew=eC===ew?1:yG(ew),oJ(hF(eb,em),ew)}function hI(eb,em){return(mY(eb)?iA:o$)(eb,dX(em,3))}function hD(eb,em){return(mY(eb)?iN:oq)(eb,dX(em,3))}var hO=f6(function(eb,em,ew){rD.call(eb,ew)?eb[ew].push(em):oP(eb,ew,[em])});function hP(eb,em,ew,eM){eb=mX(eb)?eb:gQ(eb),ew=ew&&!eM?yG(ew):0;var eC=eb.length;return ew<0&&(ew=aV(eC+ew,0)),yF(eb)?ew<=eC&&eb.indexOf(em,ew)>-1:!!eC&&iZ(eb,em,ew)>-1}var hR=l6(function(eb,em,eM){var eC=-1,eT="function"==typeof em,e_=mX(eb)?ew(eb.length):[];return o$(eb,function(eb){e_[++eC]=eT?iE(em,eb,eM):lw(eb,em,eM)}),e_}),hB=f6(function(eb,em,ew){oP(eb,ew,em)});function hF(eb,em){return(mY(eb)?iR:lF)(eb,dX(em,3))}function hj(eb,em,ew,eM){return null==eb?[]:(mY(em)||(em=null==em?[]:[em]),mY(ew=eM?eC:ew)||(ew=null==ew?[]:[ew]),lq(eb,em,ew))}var hU=f6(function(eb,em,ew){eb[ew?0:1].push(em)},function(){return[[],[]]});function hV(eb,em,ew){var eM=mY(eb)?iF:i4,eC=arguments.length<3;return eM(eb,dX(em,4),ew,eC,o$)}function hH(eb,em,ew){var eM=mY(eb)?ij:i4,eC=arguments.length<3;return eM(eb,dX(em,4),ew,eC,oq)}function h$(eb,em){return(mY(eb)?iD:oG)(eb,m_(dX(em,3)))}function hq(eb){return(mY(eb)?oT:l4)(eb)}function hW(eb,em,ew){return em=(ew?uI(eb,em,ew):eC===em)?1:yG(em),(mY(eb)?o_:l3)(eb,em)}function hZ(eb){return(mY(eb)?oE:l7)(eb)}function hK(eb){if(null==eb)return 0;if(mX(eb))return yF(eb)?cV(eb):eb.length;var em=uM(eb);return em==tB||em==tq?eb.size:lP(eb).length}function hG(eb,em,ew){var eM=mY(eb)?iU:fz;return ew&&uI(eb,em,ew)&&(em=eC),eM(eb,dX(em,3))}var hY=l6(function(eb,em){if(null==eb)return[];var ew=em.length;return ew>1&&uI(eb,em[0],em[1])?em=[]:ew>2&&uI(em[0],em[1],em[2])&&(em=[em[0]]),lq(eb,oJ(em,1),[])}),hJ=aM||function(){return aK.Date.now()};function hX(eb,em){if("function"!=typeof em)throw new r_(eS);return eb=yG(eb),function(){if(--eb<1)return em.apply(this,arguments)}}function hQ(eb,em,ew){return em=ew?eC:em,em=eb&&null==em?eb.length:em,dF(eb,eK,eC,eC,eC,eC,em)}function mb(eb,em){var ew;if("function"!=typeof em)throw new r_(eS);return eb=yG(eb),function(){return--eb>0&&(ew=em.apply(this,arguments)),eb<=1&&(em=eC),ew}}var my=l6(function(eb,em,ew){var eM=ej;if(ew.length){var eC=cR(ew,dJ(my));eM|=eW}return dF(eb,eM,em,ew,eC)}),mv=l6(function(eb,em,ew){var eM=ej|eU;if(ew.length){var eC=cR(ew,dJ(mv));eM|=eW}return dF(em,eM,eb,ew,eC)});function mz(eb,em,ew){em=ew?eC:em;var eM=dF(eb,eH,eC,eC,eC,eC,eC,em);return eM.placeholder=mz.placeholder,eM}function mw(eb,em,ew){em=ew?eC:em;var eM=dF(eb,e$,eC,eC,eC,eC,eC,em);return eM.placeholder=mw.placeholder,eM}function mM(eb,em,ew){var eM,eT,e_,eE,eA,eN,eI=0,eD=!1,eO=!1,eP=!0;if("function"!=typeof eb)throw new r_(eS);function eR(em){var ew=eM,e_=eT;return eM=eT=eC,eI=em,eE=eb.apply(e_,ew)}function eB(eb){return eI=eb,eA=uJ(eU,em),eD?eR(eb):eE}function eF(eb){var ew=eb-eN,eM=eb-eI,eC=em-ew;return eO?aH(eC,e_-eM):eC}function ej(eb){var ew=eb-eN,eM=eb-eI;return eC===eN||ew>=em||ew<0||eO&&eM>=e_}function eU(){var eb=hJ();if(ej(eb))return eV(eb);eA=uJ(eU,eF(eb))}function eV(eb){return(eA=eC,eP&&eM)?eR(eb):(eM=eT=eC,eE)}function eH(){eC!==eA&&fj(eA),eI=0,eM=eN=eT=eA=eC}function e$(){return eC===eA?eE:eV(hJ())}function eW(){var eb=hJ(),ew=ej(eb);if(eM=arguments,eT=this,eN=eb,ew){if(eC===eA)return eB(eN);if(eO)return fj(eA),eA=uJ(eU,em),eR(eN)}return eC===eA&&(eA=uJ(eU,em)),eE}return em=yJ(em)||0,yx(ew)&&(eD=!!ew.leading,e_=(eO="maxWait"in ew)?aV(yJ(ew.maxWait)||0,em):e_,eP="trailing"in ew?!!ew.trailing:eP),eW.cancel=eH,eW.flush=e$,eW}var mC=l6(function(eb,em){return oV(eb,1,em)}),mx=l6(function(eb,em,ew){return oV(eb,yJ(em)||0,ew)});function mk(eb){return dF(eb,eY)}function mT(eb,em){if("function"!=typeof eb||null!=em&&"function"!=typeof em)throw new r_(eS);var ew=function(){var eM=arguments,eC=em?em.apply(this,eM):eM[0],eT=ew.cache;if(eT.has(eC))return eT.get(eC);var e_=eb.apply(this,eM);return ew.cache=eT.set(eC,e_)||eT,e_};return ew.cache=new(mT.Cache||sG),ew}function m_(eb){if("function"!=typeof eb)throw new r_(eS);return function(){var em=arguments;switch(em.length){case 0:return!eb.call(this);case 1:return!eb.call(this,em[0]);case 2:return!eb.call(this,em[0],em[1]);case 3:return!eb.call(this,em[0],em[1],em[2])}return!eb.apply(this,em)}}function mE(eb){return mb(2,eb)}mT.Cache=sG;var mS=fB(function(eb,em){var ew=(em=1==em.length&&mY(em[0])?iR(em[0],cz(dX())):iR(oJ(em,1),cz(dX()))).length;return l6(function(eM){for(var eC=-1,eT=aH(eM.length,ew);++eC=em}),mG=lM(function(){return arguments}())?lM:function(eb){return yk(eb)&&rD.call(eb,"callee")&&!rZ.call(eb,"callee")},mY=ew.isArray,mJ=iy?cz(iy):lx;function mX(eb){return null!=eb&&yC(eb.length)&&!yw(eb)}function mQ(eb){return yk(eb)&&mX(eb)}function m6(eb){return!0===eb||!1===eb||yk(eb)&&o9(eb)==tN}var m4=aI||vx,m3=iw?cz(iw):lk;function m5(eb){return yk(eb)&&1===eb.nodeType&&!yO(eb)}function m9(eb){if(null==eb)return!0;if(mX(eb)&&(mY(eb)||"string"==typeof eb||"function"==typeof eb.splice||m4(eb)||yU(eb)||mG(eb)))return!eb.length;var em=uM(eb);if(em==tB||em==tq)return!eb.size;if(uF(eb))return!lP(eb).length;for(var ew in eb)if(rD.call(eb,ew))return!1;return!0}function m7(eb,em){return lT(eb,em)}function yb(eb,em,ew){var eM=(ew="function"==typeof ew?ew:eC)?ew(eb,em):eC;return eC===eM?lT(eb,em,eC,ew):!!eM}function ym(eb){if(!yk(eb))return!1;var em=o9(eb);return em==tO||em==tD||"string"==typeof eb.message&&"string"==typeof eb.name&&!yO(eb)}function yv(eb){return"number"==typeof eb&&aD(eb)}function yw(eb){if(!yx(eb))return!1;var em=o9(eb);return em==tP||em==tR||em==tA||em==tH}function yM(eb){return"number"==typeof eb&&eb==yG(eb)}function yC(eb){return"number"==typeof eb&&eb>-1&&eb%1==0&&eb<=e8}function yx(eb){var em=typeof eb;return null!=eb&&("object"==em||"function"==em)}function yk(eb){return null!=eb&&"object"==typeof eb}var yT=iM?cz(iM):lE;function y_(eb,em){return eb===em||lS(eb,em,ub(em))}function yE(eb,em,ew){return ew="function"==typeof ew?ew:eC,lS(eb,em,ub(em),ew)}function yS(eb){return yD(eb)&&eb!=+eb}function yA(eb){if(uB(eb))throw new nZ(eE);return lA(eb)}function yN(eb){return null===eb}function yI(eb){return null==eb}function yD(eb){return"number"==typeof eb||yk(eb)&&o9(eb)==tF}function yO(eb){if(!yk(eb)||o9(eb)!=tU)return!1;var em=rq(eb);if(null===em)return!0;var ew=rD.call(em,"constructor")&&em.constructor;return"function"==typeof ew&&ew instanceof ew&&rI.call(ew)==rB}var yP=iC?cz(iC):lN;function yR(eb){return yM(eb)&&eb>=-e8&&eb<=e8}var yB=iT?cz(iT):lI;function yF(eb){return"string"==typeof eb||!mY(eb)&&yk(eb)&&o9(eb)==tW}function yj(eb){return"symbol"==typeof eb||yk(eb)&&o9(eb)==tZ}var yU=i_?cz(i_):lD;function yV(eb){return eC===eb}function yH(eb){return yk(eb)&&uM(eb)==tG}function y$(eb){return yk(eb)&&o9(eb)==tY}var yq=dD(lB),yW=dD(function(eb,em){return eb<=em});function yZ(eb){if(!eb)return[];if(mX(eb))return yF(eb)?cH(eb):fJ(eb);if(rY&&eb[rY])return cD(eb[rY]());var em=uM(eb);return(em==tB?cO:em==tq?cB:gQ)(eb)}function yK(eb){return eb?(eb=yJ(eb))===e5||eb===-e5?(eb<0?-1:1)*e9:eb==eb?eb:0:0===eb?eb:0}function yG(eb){var em=yK(eb),ew=em%1;return em==em?ew?em-ew:em:0}function yY(eb){return eb?oB(yG(eb),0,tw):0}function yJ(eb){if("number"==typeof eb)return eb;if(yj(eb))return e7;if(yx(eb)){var em="function"==typeof eb.valueOf?eb.valueOf():eb;eb=yx(em)?em+"":em}if("string"!=typeof eb)return 0===eb?eb:+eb;eb=i7(eb);var ew=n5.test(eb);return ew||n9.test(eb)?aq(eb.slice(2),ew?2:8):n3.test(eb)?e7:+eb}function yX(eb){return fX(eb,gO(eb))}function yQ(eb){return eb?oB(yG(eb),-e8,e8):0===eb?eb:0}function y6(eb){return null==eb?"":fT(eb)}var y4=f4(function(eb,em){if(uF(em)||mX(em)){fX(em,gD(em),eb);return}for(var ew in em)rD.call(em,ew)&&oA(eb,ew,em[ew])}),y5=f4(function(eb,em){fX(em,gO(em),eb)}),y8=f4(function(eb,em,ew,eM){fX(em,gO(em),eb,eM)}),y9=f4(function(eb,em,ew,eM){fX(em,gD(em),eb,eM)}),y7=dW(oR);function gb(eb,em){var ew=sS(eb);return null==em?ew:oD(ew,em)}var gm=l6(function(eb,em){eb=rC(eb);var ew=-1,eM=em.length,eT=eM>2?em[2]:eC;for(eT&&uI(em[0],em[1],eT)&&(eM=1);++ew1),em}),fX(eb,dK(eb),ew),eM&&(ew=oF(ew,eO|eP|eR,dV));for(var eC=em.length;eC--;)fE(ew,em[eC]);return ew});function gU(eb,em){return gH(eb,m_(dX(em)))}var gV=dW(function(eb,em){return null==eb?{}:lW(eb,em)});function gH(eb,em){if(null==eb)return{};var ew=iR(dK(eb),function(eb){return[eb]});return em=dX(em),lZ(eb,ew,function(eb,ew){return em(eb,ew[0])})}function g$(eb,em,ew){em=fR(em,eb);var eM=-1,eT=em.length;for(eT||(eT=1,eb=eC);++eMem){var eM=eb;eb=em,em=eM}if(ew||eb%1||em%1){var eT=aG();return aH(eb+eT*(em-eb+a$("1e-"+((eT+"").length-1))),em)}return lJ(eb,em)}var g8=f7(function(eb,em,ew){return em=em.toLowerCase(),eb+(ew?g9(em):em)});function g9(eb){return LU(y6(eb).toLowerCase())}function g7(eb){return(eb=y6(eb))&&eb.replace(ry,c_).replace(aE,"")}function Lb(eb,em,ew){eb=y6(eb),em=fT(em);var eM=eb.length,eT=ew=eC===ew?eM:oB(yG(ew),0,eM);return(ew-=em.length)>=0&&eb.slice(ew,eT)==em}function Lm(eb){return(eb=y6(eb))&&nR.test(eb)?eb.replace(nO,cE):eb}function Ly(eb){return(eb=y6(eb))&&nq.test(eb)?eb.replace(n$,"\\$&"):eb}var Lg=f7(function(eb,em,ew){return eb+(ew?"-":"")+em.toLowerCase()}),Lv=f7(function(eb,em,ew){return eb+(ew?" ":"")+em.toLowerCase()}),Lz=f9("toLowerCase");function Lw(eb,em,ew){eb=y6(eb);var eM=(em=yG(em))?cV(eb):0;if(!em||eM>=em)return eb;var eC=(em-eM)/2;return dA(aS(eC),ew)+eb+dA(ak(eC),ew)}function LM(eb,em,ew){eb=y6(eb);var eM=(em=yG(em))?cV(eb):0;return em&&eM>>0)?(eb=y6(eb))&&("string"==typeof em||null!=em&&!yP(em))&&!(em=fT(em))&&cN(eb)?fF(cH(eb),0,ew):eb.split(em,ew):[]}var LS=f7(function(eb,em,ew){return eb+(ew?" ":"")+LU(em)});function LA(eb,em,ew){return eb=y6(eb),ew=null==ew?0:oB(yG(ew),0,eb.length),em=fT(em),eb.slice(ew,ew+em.length)==em}function LN(eb,em,ew){var eM=sE.templateSettings;ew&&uI(eb,em,ew)&&(em=eC),eb=y6(eb),em=y8({},em,eM,dj);var eT,e_,eE=y8({},em.imports,eM.imports,dj),eS=gD(eE),eN=cw(eE,eS),eI=0,eD=em.interpolate||rz,eO="__p += '",eP=rk((em.escape||rz).source+"|"+eD.source+"|"+(eD===nj?n6:rz).source+"|"+(em.evaluate||rz).source+"|$","g"),eR="//# sourceURL="+(rD.call(em,"sourceURL")?(em.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++aP+"]")+"\n";eb.replace(eP,function(em,ew,eM,eC,eE,eS){return eM||(eM=eC),eO+=eb.slice(eI,eS).replace(rw,cS),ew&&(eT=!0,eO+="' +\n__e("+ew+") +\n'"),eE&&(e_=!0,eO+="';\n"+eE+";\n__p += '"),eM&&(eO+="' +\n((__t = ("+eM+")) == null ? '' : __t) +\n'"),eI=eS+em.length,em}),eO+="';\n";var eB=rD.call(em,"variable")&&em.variable;if(eB){if(nX.test(eB))throw new nZ(eA)}else eO="with (obj) {\n"+eO+"\n}\n";eO=(e_?eO.replace(nA,""):eO).replace(nN,"$1").replace(nI,"$1;"),eO="function("+(eB||"obj")+") {\n"+(eB?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(eT?", __e = _.escape":"")+(e_?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+eO+"return __p\n}";var eF=LH(function(){return nJ(eS,eR+"return "+eO).apply(eC,eN)});if(eF.source=eO,ym(eF))throw eF;return eF}function LI(eb){return y6(eb).toLowerCase()}function LD(eb){return y6(eb).toUpperCase()}function LO(eb,em,ew){if((eb=y6(eb))&&(ew||eC===em))return i7(eb);if(!eb||!(em=fT(em)))return eb;var eM=cH(eb),eT=cH(em),e_=cC(eM,eT),eE=ck(eM,eT)+1;return fF(eM,e_,eE).join("")}function LP(eb,em,ew){if((eb=y6(eb))&&(ew||eC===em))return eb.slice(0,c$(eb)+1);if(!eb||!(em=fT(em)))return eb;var eM=cH(eb),eT=ck(eM,cH(em))+1;return fF(eM,0,eT).join("")}function LR(eb,em,ew){if((eb=y6(eb))&&(ew||eC===em))return eb.replace(nW,"");if(!eb||!(em=fT(em)))return eb;var eM=cH(eb),eT=cC(eM,cH(em));return fF(eM,eT).join("")}function LB(eb,em){var ew=eJ,eM=eX;if(yx(em)){var eT="separator"in em?em.separator:eT;ew="length"in em?yG(em.length):ew,eM="omission"in em?fT(em.omission):eM}var e_=(eb=y6(eb)).length;if(cN(eb)){var eE=cH(eb);e_=eE.length}if(ew>=e_)return eb;var eS=ew-cV(eM);if(eS<1)return eM;var eA=eE?fF(eE,0,eS).join(""):eb.slice(0,eS);if(eC===eT)return eA+eM;if(eE&&(eS+=eA.length-eS),yP(eT)){if(eb.slice(eS).search(eT)){var eN,eI=eA;for(eT.global||(eT=rk(eT.source,y6(n4.exec(eT))+"g")),eT.lastIndex=0;eN=eT.exec(eI);)var eD=eN.index;eA=eA.slice(0,eC===eD?eS:eD)}}else if(eb.indexOf(fT(eT),eS)!=eS){var eO=eA.lastIndexOf(eT);eO>-1&&(eA=eA.slice(0,eO))}return eA+eM}function LF(eb){return(eb=y6(eb))&&nP.test(eb)?eb.replace(nD,cq):eb}var Lj=f7(function(eb,em,ew){return eb+(ew?" ":"")+em.toUpperCase()}),LU=f9("toUpperCase");function LV(eb,em,ew){return(eb=y6(eb),em=ew?eC:em,eC===em)?cI(eb)?cK(eb):i$(eb):eb.match(em)||[]}var LH=l6(function(eb,em){try{return iE(eb,eC,em)}catch(eb){return ym(eb)?eb:new nZ(eb)}}),L$=dW(function(eb,em){return iA(em,function(em){oP(eb,em=u5(em),my(eb[em],eb))}),eb});function Lq(eb){var em=null==eb?0:eb.length,ew=dX();return eb=em?iR(eb,function(eb){if("function"!=typeof eb[1])throw new r_(eS);return[ew(eb[0]),eb[1]]}):[],l6(function(ew){for(var eM=-1;++eMe8)return[];var ew=tw,eM=aH(eb,tw);em=dX(em),eb-=tw;for(var eC=i8(eM,em);++ew0||em<0)?new sI(ew):(eb<0?ew=ew.takeRight(-eb):eb&&(ew=ew.drop(eb)),eC!==em&&(ew=(em=yG(em))<0?ew.dropRight(-em):ew.take(em-eb)),ew)},sI.prototype.takeRightWhile=function(eb){return this.reverse().takeWhile(eb).reverse()},sI.prototype.toArray=function(){return this.take(tw)},o6(sI.prototype,function(eb,em){var ew=/^(?:filter|find|map|reject)|While$/.test(em),eM=/^(?:head|last)$/.test(em),eT=sE[eM?"take"+("last"==em?"Right":""):em],e_=eM||/^find/.test(em);eT&&(sE.prototype[em]=function(){var em=this.__wrapped__,eE=eM?[1]:arguments,eS=em instanceof sI,eA=eE[0],eN=eS||mY(em),eI=function(eb){var em=eT.apply(sE,iB([eb],eE));return eM&&eD?em[0]:em};eN&&ew&&"function"==typeof eA&&1!=eA.length&&(eS=eN=!1);var eD=this.__chain__,eO=!!this.__actions__.length,eP=e_&&!eD,eR=eS&&!eO;if(!e_&&eN){em=eR?em:new sI(this);var eB=eb.apply(em,eE);return eB.__actions__.push({func:bX,args:[eI],thisArg:eC}),new sN(eB,eD)}return eP&&eR?eb.apply(this,eE):(eB=this.thru(eI),eP?eM?eB.value()[0]:eB.value():eB)})}),iA(["pop","push","shift","sort","splice","unshift"],function(eb){var em=rE[eb],ew=/^(?:push|sort|unshift)$/.test(eb)?"tap":"thru",eM=/^(?:pop|shift)$/.test(eb);sE.prototype[eb]=function(){var eb=arguments;if(eM&&!this.__chain__){var eC=this.value();return em.apply(mY(eC)?eC:[],eb)}return this[ew](function(ew){return em.apply(mY(ew)?ew:[],eb)})}}),o6(sI.prototype,function(eb,em){var ew=sE[em];if(ew){var eM=ew.name+"";rD.call(cZ,eM)||(cZ[eM]=[]),cZ[eM].push({name:em,func:ew})}}),cZ[dC(eC,eU).name]=[{name:"wrapper",func:eC}],sI.prototype.clone=sD,sI.prototype.reverse=sO,sI.prototype.value=sP,sE.prototype.at=bQ,sE.prototype.chain=hb,sE.prototype.commit=hm,sE.prototype.next=hy,sE.prototype.plant=hw,sE.prototype.reverse=hM,sE.prototype.toJSON=sE.prototype.valueOf=sE.prototype.value=hC,sE.prototype.first=sE.prototype.head,rY&&(sE.prototype[rY]=hz),sE}();aK._=cG,eM=(function(){return cG}).call(em,ew,em,eb),eC!==eM&&(eb.exports=eM)}).call(this)},69260:function(eb,em,ew){!function(eb,eM){eM(em,ew(11248),ew(67294))}(0,function(eb,em,ew){"use strict";function eM(eb){return eb&&"object"==typeof eb&&"default"in eb?eb:{default:eb}}var eC=eM(em),eT=eM(ew);function e_(eb,em){var ew=null==eb?null:"undefined"!=typeof Symbol&&eb[Symbol.iterator]||eb["@@iterator"];if(null!=ew){var eM,eC,eT,e_,eE=[],eS=!0,eA=!1;try{if(eT=(ew=ew.call(eb)).next,0===em){if(Object(ew)!==ew)return;eS=!1}else for(;!(eS=(eM=eT.call(ew)).done)&&(eE.push(eM.value),eE.length!==em);eS=!0);}catch(eb){eA=!0,eC=eb}finally{try{if(!eS&&null!=ew.return&&(e_=ew.return(),Object(e_)!==e_))return}finally{if(eA)throw eC}}return eE}}function eE(eb,em){var ew=Object.keys(eb);if(Object.getOwnPropertySymbols){var eM=Object.getOwnPropertySymbols(eb);em&&(eM=eM.filter(function(em){return Object.getOwnPropertyDescriptor(eb,em).enumerable})),ew.push.apply(ew,eM)}return ew}function eS(eb){for(var em=1;em=0||(eC[ew]=eb[ew]);return eC}function eI(eb,em){if(null==eb)return{};var ew,eM,eC=eN(eb,em);if(Object.getOwnPropertySymbols){var eT=Object.getOwnPropertySymbols(eb);for(eM=0;eM=0)&&Object.prototype.propertyIsEnumerable.call(eb,ew)&&(eC[ew]=eb[ew])}return eC}function eD(eb,em){return eO(eb)||e_(eb,em)||eP(eb,em)||eB()}function eO(eb){if(Array.isArray(eb))return eb}function eP(eb,em){if(eb){if("string"==typeof eb)return eR(eb,em);var ew=Object.prototype.toString.call(eb).slice(8,-1);if("Object"===ew&&eb.constructor&&(ew=eb.constructor.name),"Map"===ew||"Set"===ew)return Array.from(eb);if("Arguments"===ew||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ew))return eR(eb,em)}}function eR(eb,em){(null==em||em>eb.length)&&(em=eb.length);for(var ew=0,eM=Array(em);ew0&&void 0!==arguments[0]?arguments[0]:{};if(eJ.current){null===(em=eY.current)||void 0===em||em.destroy();var eM=eS(eS(eS({},eb),ew),{},{container:eJ.current});return eY.current=eC.default.loadAnimation(eM),eG(!!eY.current),function(){var eb;null===(eb=eY.current)||void 0===eb||eb.destroy(),eY.current=void 0}}};return ew.useEffect(function(){var eb=tC();return function(){return null==eb?void 0:eb()}},[eM,e_]),ew.useEffect(function(){eY.current&&(eY.current.autoplay=!!eE)},[eE]),ew.useEffect(function(){if(eY.current){if(!eA){eY.current.resetSegments(!0);return}Array.isArray(eA)&&eA.length&&((eY.current.currentRawFrameeA[1])&&(eY.current.currentRawFrame=eA[0]),eY.current.setSegment(eA[0],eA[1]))}},[eA]),ew.useEffect(function(){var eb=[{name:"complete",handler:eN},{name:"loopComplete",handler:eO},{name:"enterFrame",handler:eP},{name:"segmentStart",handler:eR},{name:"config_ready",handler:eB},{name:"data_ready",handler:eF},{name:"data_failed",handler:ej},{name:"loaded_images",handler:eV},{name:"DOMLoaded",handler:eH},{name:"destroy",handler:e$}].filter(function(eb){return null!=eb.handler});if(eb.length){var em=eb.map(function(eb){var em;return null===(em=eY.current)||void 0===em||em.addEventListener(eb.name,eb.handler),function(){var em;null===(em=eY.current)||void 0===em||em.removeEventListener(eb.name,eb.handler)}});return function(){em.forEach(function(eb){return eb()})}}},[eN,eO,eP,eR,eB,eF,ej,eV,eH,e$]),{View:eT.default.createElement("div",eS({style:em,ref:eJ},eW)),play:eX,stop:eQ,pause:e0,setSpeed:e6,goToAndStop:e3,goToAndPlay:e4,setDirection:e5,playSegments:e8,setSubframe:e9,getDuration:e7,destroy:tw,animationContainerRef:eJ,animationLoaded:eK,animationItem:eY.current}};function eH(eb){var em=eb.getBoundingClientRect(),ew=em.top,eM=em.height;return(window.innerHeight-ew)/(window.innerHeight+eM)}function e$(eb,em,ew){var eM=eb.getBoundingClientRect(),eC=eM.top;return{x:(em-eM.left)/eM.width,y:(ew-eC)/eM.height}}var eW=function(eb){var em=eb.wrapperRef,eM=eb.animationItem,eC=eb.mode,eT=eb.actions;ew.useEffect(function(){var eb=em.current;if(eb&&eM&&eT.length){eM.stop();var ew=function(){var em=null,ew=function(){var ew=eH(eb),eC=eT.find(function(eb){var em=eb.visibility;return em&&ew>=em[0]&&ew<=em[1]});if(eC){if("seek"===eC.type&&eC.visibility&&2===eC.frames.length){var e_=eC.frames[0]+Math.ceil((ew-eC.visibility[0])/(eC.visibility[1]-eC.visibility[0])*eC.frames[1]);//! goToAndStop must be relative to the start of the current segment +eM.goToAndStop(e_-eM.firstFrame-1,!0)}"loop"===eC.type&&(null===em?(eM.playSegments(eC.frames,!0),em=eC.frames):em!==eC.frames?(eM.playSegments(eC.frames,!0),em=eC.frames):eM.isPaused&&(eM.playSegments(eC.frames,!0),em=eC.frames)),"play"===eC.type&&eM.isPaused&&(eM.resetSegments(!0),eM.play()),"stop"===eC.type&&eM.goToAndStop(eC.frames[0]-eM.firstFrame-1,!0)}};return document.addEventListener("scroll",ew),function(){document.removeEventListener("scroll",ew)}},e_=function(){var em=function(em,ew){var eC=em,e_=ew;if(-1!==eC&&-1!==e_){var eE=e$(eb,eC,e_);eC=eE.x,e_=eE.y}var eS=eT.find(function(eb){var em=eb.position;return em&&Array.isArray(em.x)&&Array.isArray(em.y)?eC>=em.x[0]&&eC<=em.x[1]&&e_>=em.y[0]&&e_<=em.y[1]:!(!em||Number.isNaN(em.x)||Number.isNaN(em.y))&&eC===em.x&&e_===em.y});if(eS){if("seek"===eS.type&&eS.position&&Array.isArray(eS.position.x)&&Array.isArray(eS.position.y)&&2===eS.frames.length){var eA=(eC-eS.position.x[0])/(eS.position.x[1]-eS.position.x[0]),eN=(e_-eS.position.y[0])/(eS.position.y[1]-eS.position.y[0]);eM.playSegments(eS.frames,!0),eM.goToAndStop(Math.ceil((eA+eN)/2*(eS.frames[1]-eS.frames[0])),!0)}"loop"===eS.type&&eM.playSegments(eS.frames,!0),"play"===eS.type&&(eM.isPaused&&eM.resetSegments(!1),eM.playSegments(eS.frames)),"stop"===eS.type&&eM.goToAndStop(eS.frames[0],!0)}},ew=function(eb){em(eb.clientX,eb.clientY)},eC=function(){em(-1,-1)};return eb.addEventListener("mousemove",ew),eb.addEventListener("mouseout",eC),function(){eb.removeEventListener("mousemove",ew),eb.removeEventListener("mouseout",eC)}};switch(eC){case"scroll":return ew();case"cursor":return e_()}}},[eC,eM])},eZ=function(eb){var em=eb.actions,ew=eb.mode,eM=eb.lottieObj,eC=eM.animationItem,eT=eM.View;return eW({actions:em,animationItem:eC,mode:ew,wrapperRef:eM.animationContainerRef}),eT},eK=["style","interactivity"],eG=function(eb){var em,eM,eC,eT=eb.style,e_=eb.interactivity,eE=eV(eI(eb,eK),eT),eS=eE.View,eA=eE.play,eN=eE.stop,eD=eE.pause,eO=eE.setSpeed,eP=eE.goToAndStop,eR=eE.goToAndPlay,eB=eE.setDirection,eF=eE.playSegments,ej=eE.setSubframe,eU=eE.getDuration,eH=eE.destroy,e$=eE.animationContainerRef,eW=eE.animationLoaded,eG=eE.animationItem;return ew.useEffect(function(){eb.lottieRef&&(eb.lottieRef.current={play:eA,stop:eN,pause:eD,setSpeed:eO,goToAndPlay:eR,goToAndStop:eP,setDirection:eB,playSegments:eF,setSubframe:ej,getDuration:eU,destroy:eH,animationContainerRef:e$,animationLoaded:eW,animationItem:eG})},[null===(em=eb.lottieRef)||void 0===em?void 0:em.current]),eZ({lottieObj:{View:eS,play:eA,stop:eN,pause:eD,setSpeed:eO,goToAndStop:eP,goToAndPlay:eR,setDirection:eB,playSegments:eF,setSubframe:ej,getDuration:eU,destroy:eH,animationContainerRef:e$,animationLoaded:eW,animationItem:eG},actions:null!==(eM=null==e_?void 0:e_.actions)&&void 0!==eM?eM:[],mode:null!==(eC=null==e_?void 0:e_.mode)&&void 0!==eC?eC:"scroll"})};Object.defineProperty(eb,"LottiePlayer",{enumerable:!0,get:function(){return eC.default}}),eb.default=eG,eb.useLottie=eV,eb.useLottieInteractivity=eZ,Object.defineProperty(eb,"__esModule",{value:!0})})},11248:function(module,exports,__webpack_require__){"undefined"!=typeof navigator&&function(eb,em){module.exports=em()}(0,function(){"use strict";var svgNS="http://www.w3.org/2000/svg",locationHref="",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function(eb){_useWebWorker=!!eb},getWebWorker=function(){return _useWebWorker},setLocationHref=function(eb){locationHref=eb},getLocationHref=function(){return locationHref};function createTag(eb){return document.createElement(eb)}function extendPrototype(eb,em){var ew,eM,eC=eb.length;for(ew=0;ew1?ew[1]=1:ew[1]<=0&&(ew[1]=0),HSVtoRGB(ew[0],ew[1],ew[2])}function addBrightnessToRGB(eb,em){var ew=RGBtoHSV(255*eb[0],255*eb[1],255*eb[2]);return ew[2]+=em,ew[2]>1?ew[2]=1:ew[2]<0&&(ew[2]=0),HSVtoRGB(ew[0],ew[1],ew[2])}function addHueToRGB(eb,em){var ew=RGBtoHSV(255*eb[0],255*eb[1],255*eb[2]);return ew[0]+=em/360,ew[0]>1?ew[0]-=1:ew[0]<0&&(ew[0]+=1),HSVtoRGB(ew[0],ew[1],ew[2])}var rgbToHex=function(){var eb,em,ew=[];for(eb=0;eb<256;eb+=1)em=eb.toString(16),ew[eb]=1===em.length?"0"+em:em;return function(eb,em,eM){return eb<0&&(eb=0),em<0&&(em=0),eM<0&&(eM=0),"#"+ew[eb]+ew[em]+ew[eM]}}(),setSubframeEnabled=function(eb){subframeEnabled=!!eb},getSubframeEnabled=function(){return subframeEnabled},setExpressionsPlugin=function(eb){expressionsPlugin=eb},getExpressionsPlugin=function(){return expressionsPlugin},setExpressionInterfaces=function(eb){expressionsInterfaces=eb},getExpressionInterfaces=function(){return expressionsInterfaces},setDefaultCurveSegments=function(eb){defaultCurveSegments=eb},getDefaultCurveSegments=function(){return defaultCurveSegments},setIdPrefix=function(eb){idPrefix$1=eb},getIdPrefix=function(){return idPrefix$1};function createNS(eb){return document.createElementNS(svgNS,eb)}function _typeof$5(eb){return(_typeof$5="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(eb){return typeof eb}:function(eb){return eb&&"function"==typeof Symbol&&eb.constructor===Symbol&&eb!==Symbol.prototype?"symbol":typeof eb})(eb)}var dataManager=function(){var eb,em,ew=1,eM=[],eC={onmessage:function(){},postMessage:function(em){eb({data:em})}},eT={postMessage:function(eb){eC.onmessage({data:eb})}};function e_(em){if(window.Worker&&window.Blob&&getWebWorker()){var ew=new Blob(["var _workerSelf = self; self.onmessage = ",em.toString()],{type:"text/javascript"}),eM=URL.createObjectURL(ew);return new Worker(eM)}return eb=em,eC}function eE(){em||((em=e_(function(eb){function em(){function eb(em,ew){var e_,eE,eS,eA,eN,eI,eD=em.length;for(eE=0;eE=0;em-=1)if("sh"===eb[em].ty){if(eb[em].ks.k.i)eT(eb[em].ks.k);else for(ew=0,eM=eb[em].ks.k.length;ewew[0]||!(ew[0]>eb[0])&&(eb[1]>ew[1]||!(ew[1]>eb[1])&&(eb[2]>ew[2]||!(ew[2]>eb[2])&&null))}var eE=function(){var eb=[4,4,14];function em(eb){var em=eb.t.d;eb.t.d={k:[{s:em,t:0}]}}function ew(eb){var ew,eM=eb.length;for(ew=0;ew=0;ew-=1)if("sh"===eb[ew].ty){if(eb[ew].ks.k.i)eb[ew].ks.k.c=eb[ew].closed;else for(eM=0,eC=eb[ew].ks.k.length;eM500)&&(this._imageLoaded(),clearInterval(ew)),em+=1}).bind(this),50)}function eT(em){var ew=eM(em,this.assetsPath,this.path),eC=createNS("image");isSafari?this.testImageLoaded(eC):eC.addEventListener("load",this._imageLoaded,!1),eC.addEventListener("error",(function(){eT.img=eb,this._imageLoaded()}).bind(this),!1),eC.setAttributeNS("http://www.w3.org/1999/xlink","href",ew),this._elementHelper.append?this._elementHelper.append(eC):this._elementHelper.appendChild(eC);var eT={img:eC,assetData:em};return eT}function e_(em){var ew=eM(em,this.assetsPath,this.path),eC=createTag("img");eC.crossOrigin="anonymous",eC.addEventListener("load",this._imageLoaded,!1),eC.addEventListener("error",(function(){eT.img=eb,this._imageLoaded()}).bind(this),!1),eC.src=ew;var eT={img:eC,assetData:em};return eT}function eE(eb){var em={assetData:eb},ew=eM(eb,this.assetsPath,this.path);return dataManager.loadData(ew,(function(eb){em.img=eb,this._footageLoaded()}).bind(this),(function(){em.img={},this._footageLoaded()}).bind(this)),em}function eS(eb,em){this.imagesLoadedCb=em;var ew,eM=eb.length;for(ew=0;ewthis.animationData.op&&(this.animationData.op=eb.op,this.totalFrames=Math.floor(eb.op-this.animationData.ip));var em,ew,eM=this.animationData.layers,eC=eM.length,eT=eb.layers,e_=eT.length;for(ew=0;ewthis.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame(),this.trigger("drawnFrame")},AnimationItem.prototype.renderFrame=function(){if(!1!==this.isLoaded&&this.renderer)try{this.expressionsPlugin&&this.expressionsPlugin.resetFrame(),this.renderer.renderFrame(this.currentFrame+this.firstFrame)}catch(eb){this.triggerRenderFrameError(eb)}},AnimationItem.prototype.play=function(eb){(!eb||this.name===eb)&&!0===this.isPaused&&(this.isPaused=!1,this.trigger("_play"),this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")))},AnimationItem.prototype.pause=function(eb){eb&&this.name!==eb||!1!==this.isPaused||(this.isPaused=!0,this.trigger("_pause"),this._idle=!0,this.trigger("_idle"),this.audioController.pause())},AnimationItem.prototype.togglePause=function(eb){eb&&this.name!==eb||(!0===this.isPaused?this.play():this.pause())},AnimationItem.prototype.stop=function(eb){eb&&this.name!==eb||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0))},AnimationItem.prototype.getMarkerData=function(eb){for(var em,ew=0;ew=this.totalFrames-1&&this.frameModifier>0?this.loop&&this.playCount!==this.loop?em>=this.totalFrames?(this.playCount+=1,this.checkSegments(em%this.totalFrames)||(this.setCurrentRawFrameValue(em%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(em):this.checkSegments(em>this.totalFrames?em%this.totalFrames:0)||(ew=!0,em=this.totalFrames-1):em<0?this.checkSegments(em%this.totalFrames)||(this.loop&&!(this.playCount--<=0&&!0!==this.loop)?(this.setCurrentRawFrameValue(this.totalFrames+em%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0):(ew=!0,em=0)):this.setCurrentRawFrameValue(em),ew&&(this.setCurrentRawFrameValue(em),this.pause(),this.trigger("complete"))}},AnimationItem.prototype.adjustSegment=function(eb,em){this.playCount=0,eb[1]0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=eb[0]-eb[1],this.timeCompleted=this.totalFrames,this.firstFrame=eb[1],this.setCurrentRawFrameValue(this.totalFrames-.001-em)):eb[1]>eb[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=eb[1]-eb[0],this.timeCompleted=this.totalFrames,this.firstFrame=eb[0],this.setCurrentRawFrameValue(.001+em)),this.trigger("segmentStart")},AnimationItem.prototype.setSegment=function(eb,em){var ew=-1;this.isPaused&&(this.currentRawFrame+this.firstFrameem&&(ew=em-eb)),this.firstFrame=eb,this.totalFrames=em-eb,this.timeCompleted=this.totalFrames,-1!==ew&&this.goToAndStop(ew,!0)},AnimationItem.prototype.playSegments=function(eb,em){if(em&&(this.segments.length=0),"object"===_typeof$4(eb[0])){var ew,eM=eb.length;for(ew=0;ew=0;ew-=1)em[ew].animation.destroy(eb)}function eZ(eb,em,ew){var eM,eC=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),eT=eC.length;for(eM=0;eM0?ew=eS:em=eS;while(Math.abs(eE)>eT&&++eA=eC?eB(eb,eN,em,ew):0===eI?eN:eR(eb,eT,eT+eS,em,ew)}},eb}(),pooling=function(){return{double:function(eb){return eb.concat(createSizedArray(eb.length))}}}(),poolFactory=function(){return function(eb,em,ew){var eM=0,eC=eb,eT=createSizedArray(eC);return{newElement:function(){var eb;return eM?(eM-=1,eb=eT[eM]):eb=em(),eb},release:function(eb){eM===eC&&(eT=pooling.double(eT),eC*=2),ew&&ew(eb),eT[eM]=eb,eM+=1}}}}(),bezierLengthPool=function(){return poolFactory(8,function(){return{addedLength:0,percents:createTypedArray("float32",getDefaultCurveSegments()),lengths:createTypedArray("float32",getDefaultCurveSegments())}})}(),segmentsLengthPool=function(){function eb(eb){var em,ew=eb.lengths.length;for(em=0;em-.001&&e_<.001}function ew(ew,eM,eC,eT,e_,eE,eS,eA,eN){if(0===eC&&0===eE&&0===eN)return em(ew,eM,eT,e_,eS,eA);var eI,eD=eb.sqrt(eb.pow(eT-ew,2)+eb.pow(e_-eM,2)+eb.pow(eE-eC,2)),eO=eb.sqrt(eb.pow(eS-ew,2)+eb.pow(eA-eM,2)+eb.pow(eN-eC,2)),eP=eb.sqrt(eb.pow(eS-eT,2)+eb.pow(eA-e_,2)+eb.pow(eN-eE,2));return(eI=eD>eO?eD>eP?eD-eO-eP:eP-eO-eD:eP>eO?eP-eO-eD:eO-eD-eP)>-.0001&&eI<1e-4}var eM=function(){return function(eb,em,ew,eM){var eC,eT,e_,eE,eS,eA,eN=getDefaultCurveSegments(),eI=0,eD=[],eO=[],eP=bezierLengthPool.newElement();for(eC=0,e_=ew.length;eCe_?-1:1,eA=!0;eA;)if(eM[eT]<=e_&&eM[eT+1]>e_?(eE=(e_-eM[eT])/(eM[eT+1]-eM[eT]),eA=!1):eT+=eS,eT<0||eT>=eC-1){if(eT===eC-1)return ew[eT];eA=!1}return ew[eT]+(ew[eT+1]-ew[eT])*eE}function eA(em,ew,eM,eC,eT,e_){var eE=eS(eT,e_),eA=1-eE;return[eb.round((eA*eA*eA*em[0]+(eE*eA*eA+eA*eE*eA+eA*eA*eE)*eM[0]+(eE*eE*eA+eA*eE*eE+eE*eA*eE)*eC[0]+eE*eE*eE*ew[0])*1e3)/1e3,eb.round((eA*eA*eA*em[1]+(eE*eA*eA+eA*eE*eA+eA*eA*eE)*eM[1]+(eE*eE*eA+eA*eE*eE+eE*eA*eE)*eC[1]+eE*eE*eE*ew[1])*1e3)/1e3]}var eN=createTypedArray("float32",8);return{getSegmentsLength:eC,getNewSegment:function(em,ew,eM,eC,eT,e_,eE){eT<0?eT=0:eT>1&&(eT=1);var eA,eI=eS(eT,eE),eD=eS(e_=e_>1?1:e_,eE),eO=em.length,eP=1-eI,eR=1-eD,eB=eP*eP*eP,eF=eI*eP*eP*3,ej=eI*eI*eP*3,eU=eI*eI*eI,eV=eP*eP*eR,eH=eI*eP*eR+eP*eI*eR+eP*eP*eD,e$=eI*eI*eR+eP*eI*eD+eI*eP*eD,eW=eI*eI*eD,eZ=eP*eR*eR,eK=eI*eR*eR+eP*eD*eR+eP*eR*eD,eG=eI*eD*eR+eP*eD*eD+eI*eR*eD,eY=eI*eD*eD,eJ=eR*eR*eR,eX=eD*eR*eR+eR*eD*eR+eR*eR*eD,eQ=eD*eD*eR+eR*eD*eD+eD*eR*eD,e0=eD*eD*eD;for(eA=0;eA=ej.t-eE){eF.h&&(eF=ej),eS=0;break}if(ej.t-eE>eb){eS=eA;break}eA=eD||eb=eD?eP.points.length-1:0;for(eV=0,eH=eP.points[eR].point.length;eV=eX&&eJ=eD?(eB[0]=eG[0],eB[1]=eG[1],eB[2]=eG[2]):eb<=eO?(eB[0]=eF.s[0],eB[1]=eF.s[1],eB[2]=eF.s[2]):quaternionToEuler(eB,slerp(createQuaternion(eF.s),createQuaternion(eG),(eb-eO)/(eD-eO)));else for(eA=0;eA=eD?e$=1:eb1e-6?(eT=Math.sin(eM=Math.acos(eC)),e_=Math.sin((1-ew)*eM)/eT,eE=Math.sin(ew*eM)/eT):(e_=1-ew,eE=ew),eS[0]=e_*eA+eE*eO,eS[1]=e_*eN+eE*eP,eS[2]=e_*eI+eE*eR,eS[3]=e_*eD+eE*eB,eS}function quaternionToEuler(eb,em){var ew=em[0],eM=em[1],eC=em[2],eT=em[3],e_=Math.atan2(2*eM*eT-2*ew*eC,1-2*eM*eM-2*eC*eC),eE=Math.asin(2*ew*eM+2*eC*eT),eS=Math.atan2(2*ew*eT-2*eM*eC,1-2*ew*ew-2*eC*eC);eb[0]=e_/degToRads,eb[1]=eE/degToRads,eb[2]=eS/degToRads}function createQuaternion(eb){var em=eb[0]*degToRads,ew=eb[1]*degToRads,eM=eb[2]*degToRads,eC=Math.cos(em/2),eT=Math.cos(ew/2),e_=Math.cos(eM/2),eE=Math.sin(em/2),eS=Math.sin(ew/2),eA=Math.sin(eM/2),eN=eC*eT*e_-eE*eS*eA;return[eE*eS*e_+eC*eT*eA,eE*eT*e_+eC*eS*eA,eC*eS*e_-eE*eT*eA,eN]}function getValueAtCurrentTime(){var eb=this.comp.renderedFrame-this.offsetTime,em=this.keyframes[0].t-this.offsetTime,ew=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(eb===this._caching.lastFrame||this._caching.lastFrame!==initFrame&&(this._caching.lastFrame>=ew&&eb>=ew||this._caching.lastFrame=eb&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var eM=this.interpolateValue(eb,this._caching);this.pv=eM}return this._caching.lastFrame=eb,this.pv}function setVValue(eb){var em;if("unidimensional"===this.propType)em=eb*this.mult,mathAbs(this.v-em)>1e-5&&(this.v=em,this._mdf=!0);else for(var ew=0,eM=this.v.length;ew1e-5&&(this.v[ew]=em,this._mdf=!0),ew+=1}function processEffectsSequence(){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length){if(this.lock){this.setVValue(this.pv);return}this.lock=!0,this._mdf=this._isFirstFrame;var eb,em=this.effectsSequence.length,ew=this.kf?this.pv:this.data.k;for(eb=0;eb=this._maxLength&&this.doubleArrayLength(),ew){case"v":eT=this.v;break;case"i":eT=this.i;break;case"o":eT=this.o;break;default:eT=[]}eT[eM]&&(!eT[eM]||eC)||(eT[eM]=pointPool.newElement()),eT[eM][0]=eb,eT[eM][1]=em},ShapePath.prototype.setTripleAt=function(eb,em,ew,eM,eC,eT,e_,eE){this.setXYAt(eb,em,"v",e_,eE),this.setXYAt(ew,eM,"o",e_,eE),this.setXYAt(eC,eT,"i",e_,eE)},ShapePath.prototype.reverse=function(){var eb,em=new ShapePath;em.setPathData(this.c,this._length);var ew=this.v,eM=this.o,eC=this.i,eT=0;this.c&&(em.setTripleAt(ew[0][0],ew[0][1],eC[0][0],eC[0][1],eM[0][0],eM[0][1],0,!1),eT=1);var e_=this._length-1,eE=this._length;for(eb=eT;eb=eC[eC.length-1].t-this.offsetTime)eT=eC[eC.length-1].s?eC[eC.length-1].s[0]:eC[eC.length-2].e[0],eE=!0;else{for(var eT,e_,eE,eS,eA,eN,eI,eD,eO,eP,eR,eB,eF,ej=eM,eU=eC.length-1,eV=!0;eV&&(eP=eC[ej],!((eR=eC[ej+1]).t-this.offsetTime>eb));)ej=eR.t-this.offsetTime?eD=1:ebeM&&em>eM)||(this._caching.lastIndex=eC0||eb>-.000001&&eb<0?eM(eb*em)/em:eb}function e4(){var eb=this.props;return"matrix("+e6(eb[0])+","+e6(eb[1])+","+e6(eb[4])+","+e6(eb[5])+","+e6(eb[12])+","+e6(eb[13])+")"}return function(){this.reset=eC,this.rotate=eT,this.rotateX=e_,this.rotateY=eE,this.rotateZ=eS,this.skew=eN,this.skewFromAxis=eI,this.shear=eA,this.scale=eD,this.setTransform=eO,this.translate=eP,this.transform=eR,this.multiply=eB,this.applyToPoint=eH,this.applyToX=e$,this.applyToY=eW,this.applyToZ=eZ,this.applyToPointArray=eX,this.applyToTriplePoints=eJ,this.applyToPointStringified=eQ,this.toCSS=e0,this.to2dCSS=e4,this.clone=eU,this.cloneFromProps=eV,this.equals=ej,this.inversePoints=eY,this.inversePoint=eG,this.getInverseMatrix=eK,this._t=this.transform,this.isIdentity=eF,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset()}}();function _typeof$3(eb){return(_typeof$3="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(eb){return typeof eb}:function(eb){return eb&&"function"==typeof Symbol&&eb.constructor===Symbol&&eb!==Symbol.prototype?"symbol":typeof eb})(eb)}var lottie={},standalone="__[STANDALONE]__",animationData="__[ANIMATIONDATA]__",renderer="";function setLocation(eb){setLocationHref(eb)}function searchAnimations(){!0===standalone?animationManager.searchAnimations(animationData,standalone,renderer):animationManager.searchAnimations()}function setSubframeRendering(eb){setSubframeEnabled(eb)}function setPrefix(eb){setIdPrefix(eb)}function loadAnimation(eb){return!0===standalone&&(eb.animationData=JSON.parse(animationData)),animationManager.loadAnimation(eb)}function setQuality(eb){if("string"==typeof eb)switch(eb){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10)}else!isNaN(eb)&&eb>1&&setDefaultCurveSegments(eb);getDefaultCurveSegments()>=50?roundValues(!1):roundValues(!0)}function inBrowser(){return"undefined"!=typeof navigator}function installPlugin(eb,em){"expressions"===eb&&setExpressionsPlugin(em)}function getFactory(eb){switch(eb){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}function checkReady(){"complete"===document.readyState&&(clearInterval(readyStateCheckInterval),searchAnimations())}function getQueryVariable(eb){for(var em=queryString.split("&"),ew=0;ew=1?eE.push({s:eb-1,e:em-1}):(eE.push({s:eb,e:1}),eE.push({s:0,e:em-1}));var eS=[],eA=eE.length;for(eT=0;eTeM+ew||eS.push([e_.s*eC<=eM?0:(e_.s*eC-eM)/ew,e_.e*eC>=eM+ew?1:(e_.e*eC-eM)/ew]);return eS.length||eS.push([0,0]),eS},TrimModifier.prototype.releasePathsData=function(eb){var em,ew=eb.length;for(em=0;em1?1+em:this.s.v<0?0+em:this.s.v+em)>(e_=this.e.v>1?1+em:this.e.v<0?0+em:this.e.v+em)){var ew=eT;eT=e_,e_=ew}eT=1e-4*Math.round(1e4*eT),e_=1e-4*Math.round(1e4*e_),this.sValue=eT,this.eValue=e_}else eT=this.sValue,e_=this.eValue;var eM=this.shapes.length,eC=0;if(e_===eT)for(eS=0;eS=0;eS-=1)if((eP=this.shapes[eS]).shape._mdf){for((eR=eP.localShapeCollection).releaseShapes(),2===this.m&&eM>1?(eB=this.calculateShapeEdges(eT,e_,eP.totalShapeLength,eV,eC),eV+=eP.totalShapeLength):eB=[[ej,eU]],eN=eB.length,eA=0;eA=1?eF.push({s:eP.totalShapeLength*(ej-1),e:eP.totalShapeLength*(eU-1)}):(eF.push({s:eP.totalShapeLength*ej,e:eP.totalShapeLength}),eF.push({s:0,e:eP.totalShapeLength*(eU-1)}));var eH=this.addShapes(eP,eF[0]);if(eF[0].s!==eF[0].e){if(eF.length>1){if(eP.shape.paths.shapes[eP.shape.paths._length-1].c){var e$=eH.pop();this.addPaths(eH,eR),eH=this.addShapes(eP,eF[1],e$)}else this.addPaths(eH,eR),eH=this.addShapes(eP,eF[1])}this.addPaths(eH,eR)}}eP.shape.paths=eR}}},TrimModifier.prototype.addPaths=function(eb,em){var ew,eM=eb.length;for(ew=0;ewem.e){ew.c=!1;break}else em.s<=eP&&em.e>=eP+e_.addedLength?(this.addSegment(eD[eM].v[eC-1],eD[eM].o[eC-1],eD[eM].i[eC],eD[eM].v[eC],ew,eE,eB),eB=!1):(eA=bez.getNewSegment(eD[eM].v[eC-1],eD[eM].v[eC],eD[eM].o[eC-1],eD[eM].i[eC],(em.s-eP)/e_.addedLength,(em.e-eP)/e_.addedLength,eS[eC-1]),this.addSegmentFromArray(eA,ew,eE,eB),eB=!1,ew.c=!1),eP+=e_.addedLength,eE+=1;if(eD[eM].c&&eS.length){if(e_=eS[eC-1],eP<=em.e){var eF=eS[eC-1].addedLength;em.s<=eP&&em.e>=eP+eF?(this.addSegment(eD[eM].v[eC-1],eD[eM].o[eC-1],eD[eM].i[0],eD[eM].v[0],ew,eE,eB),eB=!1):(eA=bez.getNewSegment(eD[eM].v[eC-1],eD[eM].v[0],eD[eM].o[eC-1],eD[eM].i[0],(em.s-eP)/eF,(em.e-eP)/eF,eS[eC-1]),this.addSegmentFromArray(eA,ew,eE,eB),eB=!1,ew.c=!1)}else ew.c=!1;eP+=e_.addedLength,eE+=1}if(ew._length&&(ew.setXYAt(ew.v[eN][0],ew.v[eN][1],"i",eN),ew.setXYAt(ew.v[ew._length-1][0],ew.v[ew._length-1][1],"o",ew._length-1)),eP>em.e)break;eM=this.p.keyframes[this.p.keyframes.length-1].t?(eM=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/ew,0),eC=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/ew,0)):(eM=this.p.pv,eC=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/ew,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){eM=[],eC=[];var eM,eC,eT=this.px,e_=this.py;eT._caching.lastFrame+eT.offsetTime<=eT.keyframes[0].t?(eM[0]=eT.getValueAtTime((eT.keyframes[0].t+.01)/ew,0),eM[1]=e_.getValueAtTime((e_.keyframes[0].t+.01)/ew,0),eC[0]=eT.getValueAtTime(eT.keyframes[0].t/ew,0),eC[1]=e_.getValueAtTime(e_.keyframes[0].t/ew,0)):eT._caching.lastFrame+eT.offsetTime>=eT.keyframes[eT.keyframes.length-1].t?(eM[0]=eT.getValueAtTime(eT.keyframes[eT.keyframes.length-1].t/ew,0),eM[1]=e_.getValueAtTime(e_.keyframes[e_.keyframes.length-1].t/ew,0),eC[0]=eT.getValueAtTime((eT.keyframes[eT.keyframes.length-1].t-.01)/ew,0),eC[1]=e_.getValueAtTime((e_.keyframes[e_.keyframes.length-1].t-.01)/ew,0)):(eM=[eT.pv,e_.pv],eC[0]=eT.getValueAtTime((eT._caching.lastFrame+eT.offsetTime-.01)/ew,eT.offsetTime),eC[1]=e_.getValueAtTime((e_._caching.lastFrame+e_.offsetTime-.01)/ew,e_.offsetTime))}else eM=eC=eb;this.v.rotate(-Math.atan2(eM[1]-eC[1],eM[0]-eC[0]))}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}}function eM(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length&&(this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1,!this.s.effectsSequence.length)){if(this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2,this.sk){if(this.sk.effectsSequence.length||this.sa.effectsSequence.length)return;this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3}this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):this.rz.effectsSequence.length||this.ry.effectsSequence.length||this.rx.effectsSequence.length||this.or.effectsSequence.length||(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4)}}function eC(){}function eT(eb){this._addDynamicProperty(eb),this.elem.addDynamicProperty(eb),this._isDirty=!0}function e_(eb,em,ew){if(this.elem=eb,this.frameId=-1,this.propType="transform",this.data=em,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(ew||eb),em.p&&em.p.s?(this.px=PropertyFactory.getProp(eb,em.p.x,0,0,this),this.py=PropertyFactory.getProp(eb,em.p.y,0,0,this),em.p.z&&(this.pz=PropertyFactory.getProp(eb,em.p.z,0,0,this))):this.p=PropertyFactory.getProp(eb,em.p||{k:[0,0,0]},1,0,this),em.rx){if(this.rx=PropertyFactory.getProp(eb,em.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(eb,em.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(eb,em.rz,0,degToRads,this),em.or.k[0].ti){var eM,eC=em.or.k.length;for(eM=0;eM=Math.abs(eb)}function lerp(eb,em,ew){return eb*(1-ew)+em*ew}function lerpPoint(eb,em,ew){return[lerp(eb[0],em[0],ew),lerp(eb[1],em[1],ew)]}function quadRoots(eb,em,ew){if(0===eb)return[];var eM=em*em-4*eb*ew;if(eM<0)return[];var eC=-em/(2*eb);if(0===eM)return[eC];var eT=Math.sqrt(eM)/(2*eb);return[eC-eT,eC+eT]}function polynomialCoefficients(eb,em,ew,eM){return[-eb+3*em-3*ew+eM,3*eb-6*em+3*ew,-3*eb+3*em,eb]}function singlePoint(eb){return new PolynomialBezier(eb,eb,eb,eb,!1)}function PolynomialBezier(eb,em,ew,eM,eC){eC&&pointEqual(eb,em)&&(em=lerpPoint(eb,eM,1/3)),eC&&pointEqual(ew,eM)&&(ew=lerpPoint(eb,eM,2/3));var eT=polynomialCoefficients(eb[0],em[0],ew[0],eM[0]),e_=polynomialCoefficients(eb[1],em[1],ew[1],eM[1]);this.a=[eT[0],e_[0]],this.b=[eT[1],e_[1]],this.c=[eT[2],e_[2]],this.d=[eT[3],e_[3]],this.points=[eb,em,ew,eM]}function extrema(eb,em){var ew=eb.points[0][em],eM=eb.points[eb.points.length-1][em];if(ew>eM){var eC=eM;eM=ew,ew=eC}for(var eT=quadRoots(3*eb.a[em],2*eb.b[em],eb.c[em]),e_=0;e_0&&eT[e_]<1){var eE=eb.point(eT[e_])[em];eEeM&&(eM=eE)}return{min:ew,max:eM}}function intersectData(eb,em,ew){var eM=eb.boundingBox();return{cx:eM.cx,cy:eM.cy,width:eM.width,height:eM.height,bez:eb,t:(em+ew)/2,t1:em,t2:ew}}function splitData(eb){var em=eb.bez.split(.5);return[intersectData(em[0],eb.t1,eb.t),intersectData(em[1],eb.t,eb.t2)]}function boxIntersect(eb,em){return 2*Math.abs(eb.cx-em.cx)=eT||eb.width<=eM&&eb.height<=eM&&em.width<=eM&&em.height<=eM){eC.push([eb.t,em.t]);return}var e_=splitData(eb),eE=splitData(em);intersectsImpl(e_[0],eE[0],ew+1,eM,eC,eT),intersectsImpl(e_[0],eE[1],ew+1,eM,eC,eT),intersectsImpl(e_[1],eE[0],ew+1,eM,eC,eT),intersectsImpl(e_[1],eE[1],ew+1,eM,eC,eT)}}function crossProduct(eb,em){return[eb[1]*em[2]-eb[2]*em[1],eb[2]*em[0]-eb[0]*em[2],eb[0]*em[1]-eb[1]*em[0]]}function lineIntersection(eb,em,ew,eM){var eC=[eb[0],eb[1],1],eT=[em[0],em[1],1],e_=[ew[0],ew[1],1],eE=[eM[0],eM[1],1],eS=crossProduct(crossProduct(eC,eT),crossProduct(e_,eE));return floatZero(eS[2])?null:[eS[0]/eS[2],eS[1]/eS[2]]}function polarOffset(eb,em,ew){return[eb[0]+Math.cos(em)*ew,eb[1]-Math.sin(em)*ew]}function pointDistance(eb,em){return Math.hypot(eb[0]-em[0],eb[1]-em[1])}function pointEqual(eb,em){return floatEqual(eb[0],em[0])&&floatEqual(eb[1],em[1])}function ZigZagModifier(){}function setPoint(eb,em,ew,eM,eC,eT,e_){var eE=ew-Math.PI/2,eS=ew+Math.PI/2,eA=em[0]+Math.cos(ew)*eM*eC,eN=em[1]-Math.sin(ew)*eM*eC;eb.setTripleAt(eA,eN,eA+Math.cos(eE)*eT,eN-Math.sin(eE)*eT,eA+Math.cos(eS)*e_,eN-Math.sin(eS)*e_,eb.length())}function getPerpendicularVector(eb,em){var ew=[em[0]-eb[0],em[1]-eb[1]],eM=-(.5*Math.PI);return[Math.cos(eM)*ew[0]-Math.sin(eM)*ew[1],Math.sin(eM)*ew[0]+Math.cos(eM)*ew[1]]}function getProjectingAngle(eb,em){var ew=0===em?eb.length()-1:em-1,eM=(em+1)%eb.length(),eC=getPerpendicularVector(eb.v[ew],eb.v[eM]);return Math.atan2(0,1)-Math.atan2(eC[1],eC[0])}function zigZagCorner(eb,em,ew,eM,eC,eT,e_){var eE=getProjectingAngle(em,ew),eS=em.v[ew%em._length],eA=em.v[0===ew?em._length-1:ew-1],eN=em.v[(ew+1)%em._length],eI=2===eT?Math.sqrt(Math.pow(eS[0]-eA[0],2)+Math.pow(eS[1]-eA[1],2)):0,eD=2===eT?Math.sqrt(Math.pow(eS[0]-eN[0],2)+Math.pow(eS[1]-eN[1],2)):0;setPoint(eb,em.v[ew%em._length],eE,e_,eM,eD/((eC+1)*2),eI/((eC+1)*2),eT)}function zigZagSegment(eb,em,ew,eM,eC,eT){for(var e_=0;e_1&&em.length>1&&(eC=getIntersection(eb[0],em[em.length-1])))?[[eb[0].split(eC[0])[0]],[em[em.length-1].split(eC[1])[1]]]:[ew,eM]}function pruneIntersections(eb){for(var em,ew=1;ew1&&(em=pruneSegmentIntersection(eb[eb.length-1],eb[0]),eb[eb.length-1]=em[0],eb[0]=em[1]),eb}function offsetSegmentSplit(eb,em){var ew,eM,eC,eT,e_=eb.inflectionPoints();if(0===e_.length)return[offsetSegment(eb,em)];if(1===e_.length||floatEqual(e_[1],1))return ew=(eC=eb.split(e_[0]))[0],eM=eC[1],[offsetSegment(ew,em),offsetSegment(eM,em)];ew=(eC=eb.split(e_[0]))[0];var eE=(e_[1]-e_[0])/(1-e_[0]);return eT=(eC=eC[1].split(eE))[0],eM=eC[1],[offsetSegment(ew,em),offsetSegment(eT,em),offsetSegment(eM,em)]}function OffsetPathModifier(){}function getFontProperties(eb){for(var em=eb.fStyle?eb.fStyle.split(" "):[],ew="normal",eM="normal",eC=em.length,eT=0;eT0;)ew-=1,this._elements.unshift(em[ew]);this.dynamicProperties.length?this.k=!0:this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(eb){var em,ew=eb.length;for(em=0;em0?Math.floor(eP):Math.ceil(eP),eF=this.pMatrix.props,ej=this.rMatrix.props,eU=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var eV=0;if(eP>0){for(;eVeB;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),eV-=1;eR&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-eR,!0),eV-=eR)}for(eC=1===this.data.m?0:this._currentCopies-1,eT=1===this.data.m?1:-1,e_=this._currentCopies;e_;){if(eA=(eM=(ew=this.elemsData[eC].it)[ew.length-1].transform.mProps.v.props).length,ew[ew.length-1].transform.mProps._mdf=!0,ew[ew.length-1].transform.op._mdf=!0,ew[ew.length-1].transform.op.v=1===this._currentCopies?this.so.v:this.so.v+(this.eo.v-this.so.v)*(eC/(this._currentCopies-1)),0!==eV){for((0!==eC&&1===eT||eC!==this._currentCopies-1&&-1===eT)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(ej[0],ej[1],ej[2],ej[3],ej[4],ej[5],ej[6],ej[7],ej[8],ej[9],ej[10],ej[11],ej[12],ej[13],ej[14],ej[15]),this.matrix.transform(eU[0],eU[1],eU[2],eU[3],eU[4],eU[5],eU[6],eU[7],eU[8],eU[9],eU[10],eU[11],eU[12],eU[13],eU[14],eU[15]),this.matrix.transform(eF[0],eF[1],eF[2],eF[3],eF[4],eF[5],eF[6],eF[7],eF[8],eF[9],eF[10],eF[11],eF[12],eF[13],eF[14],eF[15]),eS=0;eS0&&eM<1?[em]:[]:[em-eM,em+eM].filter(function(eb){return eb>0&&eb<1})},PolynomialBezier.prototype.split=function(eb){if(eb<=0)return[singlePoint(this.points[0]),this];if(eb>=1)return[this,singlePoint(this.points[this.points.length-1])];var em=lerpPoint(this.points[0],this.points[1],eb),ew=lerpPoint(this.points[1],this.points[2],eb),eM=lerpPoint(this.points[2],this.points[3],eb),eC=lerpPoint(em,ew,eb),eT=lerpPoint(ew,eM,eb),e_=lerpPoint(eC,eT,eb);return[new PolynomialBezier(this.points[0],em,eC,e_,!0),new PolynomialBezier(e_,eT,eM,this.points[3],!0)]},PolynomialBezier.prototype.bounds=function(){return{x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var eb=this.bounds();return{left:eb.x.min,right:eb.x.max,top:eb.y.min,bottom:eb.y.max,width:eb.x.max-eb.x.min,height:eb.y.max-eb.y.min,cx:(eb.x.max+eb.x.min)/2,cy:(eb.y.max+eb.y.min)/2}},PolynomialBezier.prototype.intersections=function(eb,em,ew){void 0===em&&(em=2),void 0===ew&&(ew=7);var eM=[];return intersectsImpl(intersectData(this,0,1),intersectData(eb,0,1),0,em,eM,ew),eM},PolynomialBezier.shapeSegment=function(eb,em){var ew=(em+1)%eb.length();return new PolynomialBezier(eb.v[em],eb.o[em],eb.i[ew],eb.v[ew],!0)},PolynomialBezier.shapeSegmentInverted=function(eb,em){var ew=(em+1)%eb.length();return new PolynomialBezier(eb.v[ew],eb.i[ew],eb.o[em],eb.v[em],!0)},extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(eb,em){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(eb,em.s,0,null,this),this.frequency=PropertyFactory.getProp(eb,em.r,0,null,this),this.pointsType=PropertyFactory.getProp(eb,em.pt,0,null,this),this._isAnimated=0!==this.amplitude.effectsSequence.length||0!==this.frequency.effectsSequence.length||0!==this.pointsType.effectsSequence.length},ZigZagModifier.prototype.processPath=function(eb,em,ew,eM){var eC=eb._length,eT=shapePool.newElement();if(eT.c=eb.c,eb.c||(eC-=1),0===eC)return eT;var e_=-1,eE=PolynomialBezier.shapeSegment(eb,0);zigZagCorner(eT,eb,0,em,ew,eM,e_);for(var eS=0;eS=0;eC-=1)e_=PolynomialBezier.shapeSegmentInverted(eb,eC),eA.push(offsetSegmentSplit(e_,em));eA=pruneIntersections(eA);var eN=null,eI=null;for(eC=0;eC0&&(eS=!1),eS){var eA=createTag("style");eA.setAttribute("f-forigin",ew[eT].fOrigin),eA.setAttribute("f-origin",ew[eT].origin),eA.setAttribute("f-family",ew[eT].fFamily),eA.type="text/css",eA.innerText="@font-face {font-family: "+ew[eT].fFamily+"; font-style: normal; src: url('"+ew[eT].fPath+"');}",em.appendChild(eA)}}else if("g"===ew[eT].fOrigin||1===ew[eT].origin){for(eE=0,e_=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]');eE=55296&&ew<=56319){var eM=eb.charCodeAt(1);eM>=56320&&eM<=57343&&(em=(ew-55296)*1024+eM-56320+65536)}return em}function e$(eb,em){var ew=eb.toString(16)+em.toString(16);return -1!==eI.indexOf(ew)}function eW(eb){return eb===eS}function eZ(eb){return eb===eE}function eK(eb){var em=eH(eb);return em>=eA&&em<=eN}function eG(eb){return eK(eb.substr(0,2))&&eK(eb.substr(2,2))}function eY(eb){return -1!==ew.indexOf(eb)}function eJ(eb,em){var ew=eH(eb.substr(em,2));if(ew!==eM)return!1;var eE=0;for(em+=2;eE<5;){if((ew=eH(eb.substr(em,2)))e_)return!1;eE+=1,em+=2}return eH(eb.substr(em,2))===eC}function eX(){this.isLoaded=!0}var eQ=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this)};eQ.isModifier=e$,eQ.isZeroWidthJoiner=eW,eQ.isFlagEmoji=eG,eQ.isRegionalCode=eK,eQ.isCombinedCharacter=eY,eQ.isRegionalFlag=eJ,eQ.isVariationSelector=eZ,eQ.BLACK_FLAG_CODE_POINT=eM;var e0={addChars:eF,addFonts:eB,getCharData:ej,getFontByName:eV,measureText:eU,checkLoadedFonts:eP,setIsLoaded:eX};return eQ.prototype=e0,eQ}();function SlotManager(eb){this.animationData=eb}function slotFactory(eb){return new SlotManager(eb)}function RenderableElement(){}SlotManager.prototype.getProp=function(eb){return this.animationData.slots&&this.animationData.slots[eb.sid]?Object.assign(eb,this.animationData.slots[eb.sid].p):eb},RenderableElement.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function(eb){-1===this.renderableComponents.indexOf(eb)&&this.renderableComponents.push(eb)},removeRenderableComponent:function(eb){-1!==this.renderableComponents.indexOf(eb)&&this.renderableComponents.splice(this.renderableComponents.indexOf(eb),1)},prepareRenderableFrame:function(eb){this.checkLayerLimits(eb)},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show())},checkLayerLimits:function(eb){this.data.ip-this.data.st<=eb&&this.data.op-this.data.st>eb?!0!==this.isInRange&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):!1!==this.isInRange&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide())},renderRenderable:function(){var eb,em=this.renderableComponents.length;for(eb=0;eb.1)&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0))},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},AudioElement.prototype.resume=function(){this._canPlay=!0},AudioElement.prototype.setRate=function(eb){this.audio.rate(eb)},AudioElement.prototype.volume=function(eb){this._volumeMultiplier=eb,this._previousVolume=eb*this._volume,this.audio.volume(this._previousVolume)},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){},BaseRenderer.prototype.checkLayers=function(eb){var em,ew,eM=this.layers.length;for(this.completeLayers=!0,em=eM-1;em>=0;em-=1)!this.elements[em]&&(ew=this.layers[em]).ip-ew.st<=eb-this.layers[em].st&&ew.op-ew.st>eb-this.layers[em].st&&this.buildItem(em),this.completeLayers=!!this.elements[em]&&this.completeLayers;this.checkPendingElements()},BaseRenderer.prototype.createItem=function(eb){switch(eb.ty){case 2:return this.createImage(eb);case 0:return this.createComp(eb);case 1:return this.createSolid(eb);case 3:default:return this.createNull(eb);case 4:return this.createShape(eb);case 5:return this.createText(eb);case 6:return this.createAudio(eb);case 13:return this.createCamera(eb);case 15:return this.createFootage(eb)}},BaseRenderer.prototype.createCamera=function(){throw Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(eb){return new AudioElement(eb,this.globalData,this)},BaseRenderer.prototype.createFootage=function(eb){return new FootageElement(eb,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var eb,em=this.layers.length;for(eb=0;eb0&&(this.maskElement.setAttribute("id",eS),this.element.maskedElement.setAttribute(eN,"url("+getLocationHref()+"#"+eS+")"),eM.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}TransformElement.prototype={initTransform:function(){var eb=new Matrix;this.finalTransform={mProp:this.data.ks?TransformPropertyFactory.getTransformProperty(this,this.data.ks,this):{o:0},_matMdf:!1,_localMatMdf:!1,_opMdf:!1,mat:eb,localMat:eb,localOpacity:1},this.data.ao&&(this.finalTransform.mProp.autoOriented=!0),this.data.ty},renderTransform:function(){if(this.finalTransform._opMdf=this.finalTransform.mProp.o._mdf||this._isFirstFrame,this.finalTransform._matMdf=this.finalTransform.mProp._mdf||this._isFirstFrame,this.hierarchy){var eb,em=this.finalTransform.mat,ew=0,eM=this.hierarchy.length;if(!this.finalTransform._matMdf)for(;ew1&&(eT+=" C"+em.o[eM-1][0]+","+em.o[eM-1][1]+" "+em.i[0][0]+","+em.i[0][1]+" "+em.v[0][0]+","+em.v[0][1]),ew.lastPath!==eT){var e_="";ew.elem&&(em.c&&(e_=eb.inv?this.solidPath+eT:eT),ew.elem.setAttribute("d",e_)),ew.lastPath=eT}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var filtersFactory=function(){var eb={};function em(eb,em){var ew=createNS("filter");return ew.setAttribute("id",eb),!0!==em&&(ew.setAttribute("filterUnits","objectBoundingBox"),ew.setAttribute("x","0%"),ew.setAttribute("y","0%"),ew.setAttribute("width","100%"),ew.setAttribute("height","100%")),ew}function ew(){var eb=createNS("feColorMatrix");return eb.setAttribute("type","matrix"),eb.setAttribute("color-interpolation-filters","sRGB"),eb.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),eb}return eb.createFilter=em,eb.createAlphaToLuminanceFilter=ew,eb}(),featureSupport=function(){var eb={maskType:!0,svgLumaHidden:!0,offscreenCanvas:"undefined"!=typeof OffscreenCanvas};return(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))&&(eb.maskType=!1),/firefox/i.test(navigator.userAgent)&&(eb.svgLumaHidden=!1),eb}(),registeredEffects$1={},idPrefix="filter_result_";function SVGEffects(eb){var em,ew,eM="SourceGraphic",eC=eb.data.ef?eb.data.ef.length:0,eT=createElementID(),e_=filtersFactory.createFilter(eT,!0),eE=0;for(em=0,this.filters=[];em=0&&!this.shapeModifiers[eb].processShapes(this._isFirstFrame);eb-=1);}},searchProcessedElement:function(eb){for(var em=this.processedElements,ew=0,eM=em.length;ew.01)return!1;ew+=1}return!0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!=this.c.length/4)return!1;if(this.data.k.k[0].s)for(var eb=0,em=this.data.k.k.length;eb0;)eS=eM.transformers[eP].mProps._mdf||eS,eO-=1,eP-=1;if(eS)for(eO=eB-eM.styles[eN].lvl,eP=eM.transformers.length-1;eO>0;)eD.multiply(eM.transformers[eP].mProps.v),eO-=1,eP-=1}else eD=eb;if(e_=(eI=eM.sh.paths)._length,eS){for(eT=0,eE="";eT=1?ej=.99:ej<=-1&&(ej=-.99);var eU=eE*ej,eV=Math.cos(eF+em.a.v)*eU+eN[0],eH=Math.sin(eF+em.a.v)*eU+eN[1];eS.setAttribute("fx",eV),eS.setAttribute("fy",eH),eA&&!em.g._collapsable&&(em.of.setAttribute("fx",eV),em.of.setAttribute("fy",eH))}}function eS(eb,em,ew){var eM=em.style,eC=em.d;eC&&(eC._mdf||ew)&&eC.dashStr&&(eM.pElem.setAttribute("stroke-dasharray",eC.dashStr),eM.pElem.setAttribute("stroke-dashoffset",eC.dashoffset[0])),em.c&&(em.c._mdf||ew)&&eM.pElem.setAttribute("stroke","rgb("+bmFloor(em.c.v[0])+","+bmFloor(em.c.v[1])+","+bmFloor(em.c.v[2])+")"),(em.o._mdf||ew)&&eM.pElem.setAttribute("stroke-opacity",em.o.v),(em.w._mdf||ew)&&(eM.pElem.setAttribute("stroke-width",em.w.v),eM.msElem&&eM.msElem.setAttribute("stroke-width",em.w.v))}return{createRenderFunction:function(eb){switch(eb.ty){case"fl":return eT;case"gf":return eE;case"gs":return e_;case"st":return eS;case"sh":case"el":case"rc":case"sr":return eC;case"tr":return ew;case"no":return eM;default:return null}}}}();function SVGShapeElement(eb,em,ew){this.shapes=[],this.shapesData=eb.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(eb,em,ew),this.prevViewData=[]}function LetterProps(eb,em,ew,eM,eC,eT){this.o=eb,this.sw=em,this.sc=ew,this.fc=eM,this.m=eC,this.p=eT,this._mdf={o:!0,sw:!!em,sc:!!ew,fc:!!eM,m:!0,p:!0}}function TextProperty(eb,em){this._frameId=initialDefaultFrame,this.pv="",this.v="",this.kf=!1,this._isFirstFrame=!0,this._mdf=!1,em.d&&em.d.sid&&(em.d=eb.globalData.slotManager.getProp(em.d)),this.data=em,this.elem=eb,this.comp=this.elem.comp,this.keysIndex=0,this.canResize=!1,this.minimumFontSize=1,this.effectsSequence=[],this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:"",fStyle:"",fWeight:"",fc:"",j:"",justifyOffset:"",l:[],lh:0,lineWidths:[],ls:"",of:"",s:"",sc:"",sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1},this.copyData(this.currentData,this.data.d.k[0].s),this.searchProperty()||this.completeTextData(this.currentData)}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},SVGShapeElement.prototype.filterUniqueShapes=function(){var eb,em,ew,eM,eC=this.shapes.length,eT=this.stylesList.length,e_=[],eE=!1;for(ew=0;ew1&&eE&&this.setShapesAsAnimated(e_)}},SVGShapeElement.prototype.setShapesAsAnimated=function(eb){var em,ew=eb.length;for(em=0;em=0;eE-=1){if((eD=this.searchProcessedElement(eb[eE]))?em[eE]=ew[eD-1]:eb[eE]._render=e_,"fl"===eb[eE].ty||"st"===eb[eE].ty||"gf"===eb[eE].ty||"gs"===eb[eE].ty||"no"===eb[eE].ty)eD?em[eE].style.closed=!1:em[eE]=this.createStyleElement(eb[eE],eC),eb[eE]._render&&em[eE].style.pElem.parentNode!==eM&&eM.appendChild(em[eE].style.pElem),eR.push(em[eE].style);else if("gr"===eb[eE].ty){if(eD)for(eS=0,eA=em[eE].it.length;eS1,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(eb){this.effectsSequence.push(eb),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(eb){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length||eb){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var em,ew=this.currentData,eM=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var eC=this.effectsSequence.length,eT=eb||this.data.d.k[this.keysIndex].s;for(em=0;emem);)ew+=1;return this.keysIndex!==ew&&(this.keysIndex=ew),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(eb){for(var em,ew,eM=[],eC=0,eT=eb.length,e_=!1,eE=!1,eS="";eC=55296&&em<=56319?FontManager.isRegionalFlag(eb,eC)?eS=eb.substr(eC,14):(ew=eb.charCodeAt(eC+1))>=56320&&ew<=57343&&(FontManager.isModifier(em,ew)?(eS=eb.substr(eC,2),e_=!0):eS=FontManager.isFlagEmoji(eb.substr(eC,4))?eb.substr(eC,4):eb.substr(eC,2)):em>56319?(ew=eb.charCodeAt(eC+1),FontManager.isVariationSelector(em)&&(e_=!0)):FontManager.isZeroWidthJoiner(em)&&(e_=!0,eE=!0),e_?(eM[eM.length-1]+=eS,e_=!1):eM.push(eS),eC+=eS.length;return eM},TextProperty.prototype.completeTextData=function(eb){eb.__complete=!0;var em=this.elem.globalData.fontManager,ew=this.data,eM=[],eC=0,eT=ew.m.g,e_=0,eE=0,eS=0,eA=[],eN=0,eI=0,eD=em.getFontByName(eb.f),eO=0,eP=getFontProperties(eD);eb.fWeight=eP.weight,eb.fStyle=eP.style,eb.finalSize=eb.s,eb.finalText=this.buildFinalText(eb.t),eF=eb.finalText.length,eb.finalLineHeight=eb.lh;var eR=eb.tr/1e3*eb.finalSize;if(eb.sz)for(var eB,eF,ej,eU,eV,eH,e$,eW,eZ,eK,eG=!0,eY=eb.sz[0],eJ=eb.sz[1];eG;){eK=this.buildFinalText(eb.t),eZ=0,eN=0,eF=eK.length,eR=eb.tr/1e3*eb.finalSize;var eX=-1;for(eB=0;eBeY&&" "!==eK[eB]?(-1===eX?eF+=1:eB=eX,eZ+=eb.finalLineHeight||1.2*eb.finalSize,eK.splice(eB,eX===eB?1:0,"\r"),eX=-1,eN=0):eN+=eO+eR;eZ+=eD.ascent*eb.finalSize/100,this.canResize&&eb.finalSize>this.minimumFontSize&&eJeI?eN:eI,eN=-2*eR,eU="",ej=!0,eS+=1):eU=e4,em.chars?(e$=em.getCharData(e4,eD.fStyle,em.getFontByName(eb.f).fFamily),eO=ej?0:e$.w*eb.finalSize/100):eO=em.measureText(eU,eb.f,eb.finalSize)," "===e4?eQ+=eO+eR:(eN+=eO+eR+eQ,eQ=0),eM.push({l:eO,an:eO,add:e_,n:ej,anIndexes:[],val:eU,line:eS,animatorJustifyOffset:0}),2==eT){if(e_+=eO,""===eU||" "===eU||eB===eF-1){for((""===eU||" "===eU)&&(e_-=eO);eE<=eB;)eM[eE].an=e_,eM[eE].ind=eC,eM[eE].extra=eO,eE+=1;eC+=1,e_=0}}else if(3==eT){if(e_+=eO,""===eU||eB===eF-1){for(""===eU&&(e_-=eO);eE<=eB;)eM[eE].an=e_,eM[eE].ind=eC,eM[eE].extra=eO,eE+=1;e_=0,eC+=1}}else eM[eC].ind=eC,eM[eC].extra=0,eC+=1;if(eb.l=eM,eI=eN>eI?eN:eI,eA.push(eN),eb.sz)eb.boxWidth=eb.sz[0],eb.justifyOffset=0;else switch(eb.boxWidth=eI,eb.j){case 1:eb.justifyOffset=-eb.boxWidth;break;case 2:eb.justifyOffset=-eb.boxWidth/2;break;default:eb.justifyOffset=0}eb.lineWidths=eA;var e0=ew.a;eH=e0.length;var e6=[];for(eV=0;eV0?eC=this.ne.v/100:eT=-this.ne.v/100,this.xe.v>0?e_=1-this.xe.v/100:eE=1+this.xe.v/100;var eS=BezierFactory.getBezierEasing(eC,eT,e_,eE).get,eA=0,eN=this.finalS,eI=this.finalE,eD=this.data.sh;if(2===eD)eA=eS(eA=eI===eN?eM>=eI?1:0:eb(0,em(.5/(eI-eN)+(eM-eN)/(eI-eN),1)));else if(3===eD)eA=eS(eA=eI===eN?eM>=eI?0:1:1-eb(0,em(.5/(eI-eN)+(eM-eN)/(eI-eN),1)));else if(4===eD)eI===eN?eA=0:(eA=eb(0,em(.5/(eI-eN)+(eM-eN)/(eI-eN),1)))<.5?eA*=2:eA=1-2*(eA-.5),eA=eS(eA);else if(5===eD){if(eI===eN)eA=0;else{var eO=eI-eN,eP=-eO/2+(eM=em(eb(0,eM+.5-eN),eI-eN)),eR=eO/2;eA=Math.sqrt(1-eP*eP/(eR*eR))}eA=eS(eA)}else 6===eD?eA=eS(eA=eI===eN?0:(1+Math.cos(Math.PI+2*Math.PI*(eM=em(eb(0,eM+.5-eN),eI-eN))/(eI-eN)))/2):(eM>=ew(eN)&&(eA=eM-eN<0?eb(0,em(em(eI,1)-(eN-eM),1)):eb(0,em(eI-eM,1))),eA=eS(eA));if(100!==this.sm.v){var eB=.01*this.sm.v;0===eB&&(eB=1e-8);var eF=.5-.5*eB;eA1&&(eA=1)}return eA*this.a.v},getValue:function(eb){this.iterateDynamicProperties(),this._mdf=eb||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,eb&&2===this.data.r&&(this.e.v=this._currentTextLength);var em=2===this.data.r?1:100/this.data.totalChars,ew=this.o.v/em,eM=this.s.v/em+ew,eC=this.e.v/em+ew;if(eM>eC){var eT=eM;eM=eC,eC=eT}this.finalS=eM,this.finalE=eC}},extendPrototype([DynamicPropertyContainer],eM),{getTextSelectorProp:function(eb,em,ew){return new eM(eb,em,ew)}}}();function TextAnimatorDataProperty(eb,em,ew){var eM={propType:!1},eC=PropertyFactory.getProp,eT=em.a;this.a={r:eT.r?eC(eb,eT.r,0,degToRads,ew):eM,rx:eT.rx?eC(eb,eT.rx,0,degToRads,ew):eM,ry:eT.ry?eC(eb,eT.ry,0,degToRads,ew):eM,sk:eT.sk?eC(eb,eT.sk,0,degToRads,ew):eM,sa:eT.sa?eC(eb,eT.sa,0,degToRads,ew):eM,s:eT.s?eC(eb,eT.s,1,.01,ew):eM,a:eT.a?eC(eb,eT.a,1,0,ew):eM,o:eT.o?eC(eb,eT.o,0,.01,ew):eM,p:eT.p?eC(eb,eT.p,1,0,ew):eM,sw:eT.sw?eC(eb,eT.sw,0,0,ew):eM,sc:eT.sc?eC(eb,eT.sc,1,0,ew):eM,fc:eT.fc?eC(eb,eT.fc,1,0,ew):eM,fh:eT.fh?eC(eb,eT.fh,0,0,ew):eM,fs:eT.fs?eC(eb,eT.fs,0,.01,ew):eM,fb:eT.fb?eC(eb,eT.fb,0,.01,ew):eM,t:eT.t?eC(eb,eT.t,0,0,ew):eM},this.s=TextSelectorProp.getTextSelectorProp(eb,em.s,ew),this.s.t=em.s.t}function TextAnimatorProperty(eb,em,ew){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=eb,this._renderType=em,this._elem=ew,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(ew)}function ITextElement(){}TextAnimatorProperty.prototype.searchProperties=function(){var eb,em,ew=this._textData.a.length,eM=PropertyFactory.getProp;for(eb=0;eb=e6+tZ||!tw?(tE=(e6+tZ-e3)/e4.partialLength,eA=e7.point[0]+(e4.point[0]-e7.point[0])*tE,eN=e7.point[1]+(e4.point[1]-e7.point[1])*tE,eW.translate(-eV[0]*eG[eX].an*.005,-(.01*(eV[1]*tI))),e5=!1):tw&&(e3+=e4.partialLength,(e8+=1)>=tw.length&&(e8=0,tC[e9+=1]?tw=tC[e9].points:tS.v.c?(e8=0,tw=tC[e9=0].points):(e3-=e4.partialLength,tw=null)),tw&&(e7=e4,tT=(e4=tw[e8]).partialLength));eS=eG[eX].an/2-eG[eX].add,eW.translate(-eS,0,0)}else eS=eG[eX].an/2-eG[eX].add,eW.translate(-eS,0,0),eW.translate(-eV[0]*eG[eX].an*.005,-eV[1]*tI*.01,0);for(eC=0;eCeR?this.textSpans[eR].span:createNS(eT?"g":"text"),eO<=eR){if(eF.setAttribute("stroke-linecap","butt"),eF.setAttribute("stroke-linejoin","round"),eF.setAttribute("stroke-miterlimit","4"),this.textSpans[eR].span=eF,eT){var eP=createNS("g");eF.appendChild(eP),this.textSpans[eR].childSpan=eP}this.textSpans[eR].span=eF,this.layerElement.appendChild(eF)}eF.style.display="inherit"}if(e_.reset(),eS&&(eC[eR].n&&(eA=-eD,eN+=eb.yOffset+(eI?1:0),eI=!1),this.applyTextPropertiesToMatrix(eb,e_,eC[eR].line,eA,eN),eA+=(eC[eR].l||0)+eD),eT){if(1===(ej=this.globalData.fontManager.getCharData(eb.finalText[eR],em.fStyle,this.globalData.fontManager.getFontByName(eb.f).fFamily)).t)eU=new SVGCompElement(ej.data,this.globalData,this);else{var eR,eB,eF,ej,eU,eV=emptyShapeData;ej.data&&ej.data.shapes&&(eV=this.buildShapeData(ej.data,eb.finalSize)),eU=new SVGShapeElement(eV,this.globalData,this)}if(this.textSpans[eR].glyph){var eH=this.textSpans[eR].glyph;this.textSpans[eR].childSpan.removeChild(eH.layerElement),eH.destroy()}this.textSpans[eR].glyph=eU,eU._debug=!0,eU.prepareFrame(0),eU.renderFrame(),this.textSpans[eR].childSpan.appendChild(eU.layerElement),1===ej.t&&this.textSpans[eR].childSpan.setAttribute("transform","scale("+eb.finalSize/100+","+eb.finalSize/100+")")}else eS&&eF.setAttribute("transform","translate("+e_.props[12]+","+e_.props[13]+")"),eF.textContent=eC[eR].val,eF.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve")}eS&&eF&&eF.setAttribute("d",eE)}else{var e$=this.textContainer,eW="start";switch(eb.j){case 1:eW="end";break;case 2:eW="middle";break;default:eW="start"}e$.setAttribute("text-anchor",eW),e$.setAttribute("letter-spacing",eD);var eZ=this.buildTextContents(eb.finalText);for(eR=0,eB=eZ.length,eN=eb.ps?eb.ps[1]+eb.ascent:0;eR=0;em-=1)(this.completeLayers||this.elements[em])&&this.elements[em].prepareFrame(eb-this.layers[em].st);if(this.globalData._mdf)for(em=0;em=0;em-=1)(this.completeLayers||this.elements[em])&&(this.elements[em].prepareFrame(this.renderedFrame-this.layers[em].st),this.elements[em]._mdf&&(this._mdf=!0))}},ICompElement.prototype.renderInnerContent=function(){var eb,em=this.layers.length;for(eb=0;eb=0;ew-=1)eb.finalTransform.multiply(eb.transforms[ew].transform.mProps.v);eb._mdf=eC},processSequences:function(eb){var em,ew=this.sequenceList.length;for(em=0;em=1){this.buffers=[];var eb=this.globalData.canvasContext,em=assetLoader.createCanvas(eb.canvas.width,eb.canvas.height);this.buffers.push(em);var ew=assetLoader.createCanvas(eb.canvas.width,eb.canvas.height);this.buffers.push(ew),this.data.tt>=3&&!document._isProxy&&assetLoader.loadLumaCanvas()}this.canvasContext=this.globalData.canvasContext,this.transformCanvas=this.globalData.transformCanvas,this.renderableEffectsManager=new CVEffects(this),this.searchEffectTransforms()},createContent:function(){},setBlendMode:function(){var eb=this.globalData;if(eb.blendMode!==this.data.bm){eb.blendMode=this.data.bm;var em=getBlendMode(this.data.bm);eb.canvasContext.globalCompositeOperation=em}},createRenderableComponents:function(){this.maskManager=new CVMaskElement(this.data,this),this.transformEffects=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT)},hideElement:function(){this.hidden||this.isInRange&&!this.isTransparent||(this.hidden=!0)},showElement:function(){this.isInRange&&!this.isTransparent&&(this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0)},clearCanvas:function(eb){eb.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy)},prepareLayer:function(){if(this.data.tt>=1){var eb=this.buffers[0].getContext("2d");this.clearCanvas(eb),eb.drawImage(this.canvasContext.canvas,0,0),this.currentTransform=this.canvasContext.getTransform(),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform)}},exitLayer:function(){if(this.data.tt>=1){var eb=this.buffers[1],em=eb.getContext("2d");if(this.clearCanvas(em),em.drawImage(this.canvasContext.canvas,0,0),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform),this.comp.getElementById("tp"in this.data?this.data.tp:this.data.ind-1).renderFrame(!0),this.canvasContext.setTransform(1,0,0,1,0,0),this.data.tt>=3&&!document._isProxy){var ew=assetLoader.getLumaCanvas(this.canvasContext.canvas);ew.getContext("2d").drawImage(this.canvasContext.canvas,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.drawImage(ew,0,0)}this.canvasContext.globalCompositeOperation=operationsMap[this.data.tt],this.canvasContext.drawImage(eb,0,0),this.canvasContext.globalCompositeOperation="destination-over",this.canvasContext.drawImage(this.buffers[0],0,0),this.canvasContext.setTransform(this.currentTransform),this.canvasContext.globalCompositeOperation="source-over"}},renderFrame:function(eb){if(!this.hidden&&!this.data.hd&&(1!==this.data.td||eb)){this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.setBlendMode();var em=0===this.data.ty;this.prepareLayer(),this.globalData.renderer.save(em),this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity),this.renderInnerContent(),this.globalData.renderer.restore(em),this.exitLayer(),this.maskManager.hasMasks&&this.globalData.renderer.restore(!0),this._isFirstFrame&&(this._isFirstFrame=!1)}},destroy:function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy()},mHelper:new Matrix},CVBaseElement.prototype.hide=CVBaseElement.prototype.hideElement,CVBaseElement.prototype.show=CVBaseElement.prototype.showElement,CVShapeData.prototype.setAsAnimated=SVGShapeData.prototype.setAsAnimated,extendPrototype([BaseElement,TransformElement,CVBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableElement],CVShapeElement),CVShapeElement.prototype.initElement=RenderableDOMElement.prototype.initElement,CVShapeElement.prototype.transformHelper={opacity:1,_opMdf:!1},CVShapeElement.prototype.dashResetter=[],CVShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[])},CVShapeElement.prototype.createStyleElement=function(eb,em){var ew={data:eb,type:eb.ty,preTransforms:this.transformsManager.addTransformSequence(em),transforms:[],elements:[],closed:!0===eb.hd},eM={};if("fl"===eb.ty||"st"===eb.ty?(eM.c=PropertyFactory.getProp(this,eb.c,1,255,this),eM.c.k||(ew.co="rgb("+bmFloor(eM.c.v[0])+","+bmFloor(eM.c.v[1])+","+bmFloor(eM.c.v[2])+")")):("gf"===eb.ty||"gs"===eb.ty)&&(eM.s=PropertyFactory.getProp(this,eb.s,1,null,this),eM.e=PropertyFactory.getProp(this,eb.e,1,null,this),eM.h=PropertyFactory.getProp(this,eb.h||{k:0},0,.01,this),eM.a=PropertyFactory.getProp(this,eb.a||{k:0},0,degToRads,this),eM.g=new GradientProperty(this,eb.g,this)),eM.o=PropertyFactory.getProp(this,eb.o,0,.01,this),"st"===eb.ty||"gs"===eb.ty){if(ew.lc=lineCapEnum[eb.lc||2],ew.lj=lineJoinEnum[eb.lj||2],1==eb.lj&&(ew.ml=eb.ml),eM.w=PropertyFactory.getProp(this,eb.w,0,null,this),eM.w.k||(ew.wi=eM.w.v),eb.d){var eC=new DashProperty(this,eb.d,"canvas",this);eM.d=eC,eM.d.k||(ew.da=eM.d.dashArray,ew.do=eM.d.dashoffset[0])}}else ew.r=2===eb.r?"evenodd":"nonzero";return this.stylesList.push(ew),eM.style=ew,eM},CVShapeElement.prototype.createGroupElement=function(){return{it:[],prevViewData:[]}},CVShapeElement.prototype.createTransformElement=function(eb){return{transform:{opacity:1,_opMdf:!1,key:this.transformsManager.getNewKey(),op:PropertyFactory.getProp(this,eb.o,0,.01,this),mProps:TransformPropertyFactory.getTransformProperty(this,eb,this)}}},CVShapeElement.prototype.createShapeElement=function(eb){var em=new CVShapeData(this,eb,this.stylesList,this.transformsManager);return this.shapes.push(em),this.addShapeToModifiers(em),em},CVShapeElement.prototype.reloadShapes=function(){this._isFirstFrame=!0;var eb,em=this.itemsData.length;for(eb=0;eb=0;eT-=1){if((eS=this.searchProcessedElement(eb[eT]))?em[eT]=ew[eS-1]:eb[eT]._shouldRender=eM,"fl"===eb[eT].ty||"st"===eb[eT].ty||"gf"===eb[eT].ty||"gs"===eb[eT].ty)eS?em[eT].style.closed=!1:em[eT]=this.createStyleElement(eb[eT],eP),eD.push(em[eT].style);else if("gr"===eb[eT].ty){if(eS)for(e_=0,eE=em[eT].it.length;e_=0;eC-=1)"tr"===em[eC].ty?(eT=ew[eC].transform,this.renderShapeTransform(eb,eT)):"sh"===em[eC].ty||"el"===em[eC].ty||"rc"===em[eC].ty||"sr"===em[eC].ty?this.renderPath(em[eC],ew[eC]):"fl"===em[eC].ty?this.renderFill(em[eC],ew[eC],eT):"st"===em[eC].ty?this.renderStroke(em[eC],ew[eC],eT):"gf"===em[eC].ty||"gs"===em[eC].ty?this.renderGradientFill(em[eC],ew[eC],eT):"gr"===em[eC].ty?this.renderShape(eT,em[eC].it,ew[eC].it):em[eC].ty;eM&&this.drawLayer()},CVShapeElement.prototype.renderStyledShape=function(eb,em){if(this._isFirstFrame||em._mdf||eb.transforms._mdf){var ew,eM,eC,eT=eb.trNodes,e_=em.paths,eE=e_._length;eT.length=0;var eS=eb.transforms.finalTransform;for(eC=0;eC=1?eI=.99:eI<=-1&&(eI=-.99);var eD=eA*eI,eO=Math.cos(eN+em.a.v)*eD+eE[0],eP=Math.sin(eN+em.a.v)*eD+eE[1];eC=e_.createRadialGradient(eO,eP,0,eE[0],eE[1],eA)}var eR=eb.g.p,eB=em.g.c,eF=1;for(eT=0;eTeE&&"xMidYMid slice"===eS||e_eC&&"meet"===eE||eTeC&&"slice"===eE)?this.transformCanvas.tx=(ew-this.transformCanvas.w*(eM/this.transformCanvas.h))/2*this.renderConfig.dpr:"xMax"===eA&&(eTeC&&"slice"===eE)?this.transformCanvas.tx=(ew-this.transformCanvas.w*(eM/this.transformCanvas.h))*this.renderConfig.dpr:this.transformCanvas.tx=0,"YMid"===eN&&(eT>eC&&"meet"===eE||eTeC&&"meet"===eE||eT=0;eb-=1)this.elements[eb]&&this.elements[eb].destroy&&this.elements[eb].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRendererBase.prototype.renderFrame=function(eb,em){if((this.renderedFrame!==eb||!0!==this.renderConfig.clearCanvas||em)&&!this.destroyed&&-1!==eb){this.renderedFrame=eb,this.globalData.frameNum=eb-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||em,this.globalData.projectInterface.currentFrame=eb;var ew,eM=this.layers.length;for(this.completeLayers||this.checkLayers(eb),ew=eM-1;ew>=0;ew-=1)(this.completeLayers||this.elements[ew])&&this.elements[ew].prepareFrame(eb-this.layers[ew].st);if(this.globalData._mdf){for(!0===this.renderConfig.clearCanvas?this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h):this.save(),ew=eM-1;ew>=0;ew-=1)(this.completeLayers||this.elements[ew])&&this.elements[ew].renderFrame();!0!==this.renderConfig.clearCanvas&&this.restore()}}},CanvasRendererBase.prototype.buildItem=function(eb){var em=this.elements;if(!em[eb]&&99!==this.layers[eb].ty){var ew=this.createItem(this.layers[eb],this,this.globalData);em[eb]=ew,ew.initExpressions()}},CanvasRendererBase.prototype.checkPendingElements=function(){for(;this.pendingElements.length;)this.pendingElements.pop().checkParenting()},CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display="none"},CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display="block"},CVContextData.prototype.duplicate=function(){var eb=2*this._length,em=0;for(em=this._length;em=0;eb-=1)(this.completeLayers||this.elements[eb])&&this.elements[eb].renderFrame()},CVCompElement.prototype.destroy=function(){var eb;for(eb=this.layers.length-1;eb>=0;eb-=1)this.elements[eb]&&this.elements[eb].destroy();this.layers=null,this.elements=null},CVCompElement.prototype.createComp=function(eb){return new CVCompElement(eb,this.globalData,this)},extendPrototype([CanvasRendererBase],CanvasRenderer),CanvasRenderer.prototype.createComp=function(eb){return new CVCompElement(eb,this.globalData,this)},HBaseElement.prototype={checkBlendMode:function(){},initRendererElement:function(){this.baseElement=createTag(this.data.tg||"div"),this.data.hasMask?(this.svgElement=createNS("svg"),this.layerElement=createNS("g"),this.maskedElement=this.layerElement,this.svgElement.appendChild(this.layerElement),this.baseElement.appendChild(this.svgElement)):this.layerElement=this.baseElement,styleDiv(this.baseElement)},createContainerElements:function(){this.renderableEffectsManager=new CVEffects(this),this.transformedElement=this.baseElement,this.maskedElement=this.layerElement,this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.data.cl&&this.layerElement.setAttribute("class",this.data.cl),0!==this.data.bm&&this.setBlendMode()},renderElement:function(){var eb=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var em=this.finalTransform.mat.toCSS();eb.transform=em,eb.webkitTransform=em}this.finalTransform._opMdf&&(eb.opacity=this.finalTransform.mProp.o.v)},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},destroy:function(){this.layerElement=null,this.transformedElement=null,this.matteElement&&(this.matteElement=null),this.maskManager&&(this.maskManager.destroy(),this.maskManager=null)},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData)},addEffects:function(){},setMatte:function(){}},HBaseElement.prototype.getBaseElement=SVGBaseElement.prototype.getBaseElement,HBaseElement.prototype.destroyBaseElement=HBaseElement.prototype.destroy,HBaseElement.prototype.buildElementParenting=BaseRenderer.prototype.buildElementParenting,extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement),HSolidElement.prototype.createContent=function(){var eb;this.data.hasMask?((eb=createNS("rect")).setAttribute("width",this.data.sw),eb.setAttribute("height",this.data.sh),eb.setAttribute("fill",this.data.sc),this.svgElement.setAttribute("width",this.data.sw),this.svgElement.setAttribute("height",this.data.sh)):((eb=createTag("div")).style.width=this.data.sw+"px",eb.style.height=this.data.sh+"px",eb.style.backgroundColor=this.data.sc),this.layerElement.appendChild(eb)},extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement),HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent,HShapeElement.prototype.createContent=function(){var eb;if(this.baseElement.style.fontSize=0,this.data.hasMask)this.layerElement.appendChild(this.shapesContainer),eb=this.svgElement;else{eb=createNS("svg");var em=this.comp.data?this.comp.data:this.globalData.compSize;eb.setAttribute("width",em.w),eb.setAttribute("height",em.h),eb.appendChild(this.shapesContainer),this.layerElement.appendChild(eb)}this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0),this.filterUniqueShapes(),this.shapeCont=eb},HShapeElement.prototype.getTransformedPoint=function(eb,em){var ew,eM=eb.length;for(ew=0;ew0&&eE<1&&eI[eD].push(this.calculateF(eE,eb,em,ew,eM,eD)):(eS=eT*eT-4*e_*eC)>=0&&((eA=(-eT+bmSqrt(eS))/(2*eC))>0&&eA<1&&eI[eD].push(this.calculateF(eA,eb,em,ew,eM,eD)),(eN=(-eT-bmSqrt(eS))/(2*eC))>0&&eN<1&&eI[eD].push(this.calculateF(eN,eb,em,ew,eM,eD))));this.shapeBoundingBox.left=bmMin.apply(null,eI[0]),this.shapeBoundingBox.top=bmMin.apply(null,eI[1]),this.shapeBoundingBox.right=bmMax.apply(null,eI[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,eI[1])},HShapeElement.prototype.calculateF=function(eb,em,ew,eM,eC,eT){return bmPow(1-eb,3)*em[eT]+3*bmPow(1-eb,2)*eb*ew[eT]+3*(1-eb)*bmPow(eb,2)*eM[eT]+bmPow(eb,3)*eC[eT]},HShapeElement.prototype.calculateBoundingBox=function(eb,em){var ew,eM=eb.length;for(ew=0;ewew&&(ew=eC)}ew*=eb.mult}else ew=eb.v*eb.mult;em.x-=ew,em.xMax+=ew,em.y-=ew,em.yMax+=ew},HShapeElement.prototype.currentBoxContains=function(eb){return this.currentBBox.x<=eb.x&&this.currentBBox.y<=eb.y&&this.currentBBox.width+this.currentBBox.x>=eb.x+eb.width&&this.currentBBox.height+this.currentBBox.y>=eb.y+eb.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var eb=this.tempBoundingBox,em=999999;if(eb.x=em,eb.xMax=-em,eb.y=em,eb.yMax=-em,this.calculateBoundingBox(this.itemsData,eb),eb.width=eb.xMax=0;ew-=1){var em=this.hierarchy[ew].finalTransform.mProp;this.mat.translate(-em.p.v[0],-em.p.v[1],em.p.v[2]),this.mat.rotateX(-em.or.v[0]).rotateY(-em.or.v[1]).rotateZ(em.or.v[2]),this.mat.rotateX(-em.rx.v).rotateY(-em.ry.v).rotateZ(em.rz.v),this.mat.scale(1/em.s.v[0],1/em.s.v[1],1/em.s.v[2]),this.mat.translate(em.a.v[0],em.a.v[1],em.a.v[2])}if(this.p?this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]):this.mat.translate(-this.px.v,-this.py.v,this.pz.v),this.a){var ew,eM,eC,eT=Math.sqrt(Math.pow((eC=this.p?[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]]:[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]])[0],2)+Math.pow(eC[1],2)+Math.pow(eC[2],2)),e_=[eC[0]/eT,eC[1]/eT,eC[2]/eT],eE=Math.sqrt(e_[2]*e_[2]+e_[0]*e_[0]),eS=Math.atan2(e_[1],eE),eA=Math.atan2(e_[0],-e_[2]);this.mat.rotateY(eA).rotateX(-eS)}this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0),this.mat.translate(0,0,this.pe.v);var eN=!this._prevMat.equals(this.mat);if((eN||this.pe._mdf)&&this.comp.threeDElements){for(ew=0,eM=this.comp.threeDElements.length;ew=eb)return this.threeDElements[em].perspectiveElem;em+=1}return null},HybridRendererBase.prototype.createThreeDContainer=function(eb,em){var ew,eM,eC=createTag("div");styleDiv(eC);var eT=createTag("div");if(styleDiv(eT),"3d"===em){(ew=eC.style).width=this.globalData.compSize.w+"px",ew.height=this.globalData.compSize.h+"px";var e_="50% 50%";ew.webkitTransformOrigin=e_,ew.mozTransformOrigin=e_,ew.transformOrigin=e_;var eE="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";(eM=eT.style).transform=eE,eM.webkitTransform=eE}eC.appendChild(eT);var eS={container:eT,perspectiveElem:eC,startPos:eb,endPos:eb,type:em};return this.threeDElements.push(eS),eS},HybridRendererBase.prototype.build3dContainers=function(){var eb,em,ew=this.layers.length,eM="";for(eb=0;eb=0;eb-=1)this.resizerElem.appendChild(this.threeDElements[eb].perspectiveElem)},HybridRendererBase.prototype.addTo3dContainer=function(eb,em){for(var ew=0,eM=this.threeDElements.length;ewe_?(eb=eC/this.globalData.compSize.w,em=eC/this.globalData.compSize.w,ew=0,eM=(eT-this.globalData.compSize.h*(eC/this.globalData.compSize.w))/2):(eb=eT/this.globalData.compSize.h,em=eT/this.globalData.compSize.h,ew=(eC-this.globalData.compSize.w*(eT/this.globalData.compSize.h))/2,eM=0);var eE=this.resizerElem.style;eE.webkitTransform="matrix3d("+eb+",0,0,0,0,"+em+",0,0,0,0,1,0,"+ew+","+eM+",0,1)",eE.transform=eE.webkitTransform},HybridRendererBase.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRendererBase.prototype.hide=function(){this.resizerElem.style.display="none"},HybridRendererBase.prototype.show=function(){this.resizerElem.style.display="block"},HybridRendererBase.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else{var eb,em=this.globalData.compSize.w,ew=this.globalData.compSize.h,eM=this.threeDElements.length;for(eb=0;eb=eN;)eb/=2,em/=2,ew>>>=1;return(eb+ew)/em};return eV.int32=function(){return 0|eU.g(4)},eV.quick=function(){return eU.g(4)/4294967296},eV.double=eV,eB(ej(eU.S),eb),(eM.pass||e_||function(eb,ew,eM,eC){return(eC&&(eC.S&&eP(eC,eU),eb.state=function(){return eP(eU,{})}),eM)?(em[eE]=eb,ew):eb})(eV,eD,"global"in eM?eM.global:this==em,eM.state)}function eO(eb){var em,ew=eb.length,eM=this,eT=0,e_=eM.i=eM.j=0,eE=eM.S=[];for(ew||(eb=[ew++]);eTew){var eM=ew;ew=em,em=eM}return Math.min(Math.max(eb,em),ew)}function radiansToDegrees(eb){return eb/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(eb){return eb*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(eb,em){if("number"==typeof eb||eb instanceof Number)return em=em||0,Math.abs(eb-em);em||(em=helperLengthArray);var ew,eM=Math.min(eb.length,em.length),eC=0;for(ew=0;ew.5?eA/(2-e_-eE):eA/(e_+eE),e_){case eM:em=(eC-eT)/eA+(eC1&&(ew-=1),ew<1/6)?eb+(em-eb)*6*ew:ew<.5?em:ew<2/3?eb+(em-eb)*(2/3-ew)*6:eb}function hslToRgb(eb){var em,ew,eM,eC=eb[0],eT=eb[1],e_=eb[2];if(0===eT)em=e_,eM=e_,ew=e_;else{var eE=e_<.5?e_*(1+eT):e_+eT-e_*eT,eS=2*e_-eE;em=hue2rgb(eS,eE,eC+1/3),ew=hue2rgb(eS,eE,eC),eM=hue2rgb(eS,eE,eC-1/3)}return[em,ew,eM,eb[3]]}function linear(eb,em,ew,eM,eC){if((void 0===eM||void 0===eC)&&(eM=em,eC=ew,em=0,ew=1),ew=ew)return eC;var eE=ew===em?0:(eb-em)/(ew-em);if(!eM.length)return eM+(eC-eM)*eE;var eS=eM.length,eA=createTypedArray("float32",eS);for(eT=0;eT1){for(eM=0;eM1?em=1:em<0&&(em=0);var e_=eb(em);if($bm_isInstanceOfArray(eC)){var eE,eS=eC.length,eA=createTypedArray("float32",eS);for(eE=0;eEdata.k[em].t&&ebdata.k[em+1].t-eb?(ew=em+2,eM=data.k[em+1].t):(ew=em+1,eM=data.k[em].t);break}}-1===ew&&(ew=em+1,eM=data.k[em].t)}}else ew=0,eM=0;var eT={};return eT.index=ew,eT.time=eM/elem.comp.globalData.frameRate,eT}function key(eb){if(!data.k.length||"number"==typeof data.k[0])throw Error("The property has no keyframe at index "+eb);eb-=1,em={time:data.k[eb].t/elem.comp.globalData.frameRate,value:[]};var em,ew,eM,eC=Object.prototype.hasOwnProperty.call(data.k[eb],"s")?data.k[eb].s:data.k[eb-1].e;for(ew=0,eM=eC.length;eweA.length-1)&&(em=eA.length-1),eM=eN-(eC=eA[eA.length-1-em].t)),"pingpong"===eb){if(Math.floor((eS-eC)/eM)%2!=0)return this.getValueAtTime((eM-(eS-eC)%eM+eC)/this.comp.globalData.frameRate,0)}else if("offset"===eb){var eI=this.getValueAtTime(eC/this.comp.globalData.frameRate,0),eD=this.getValueAtTime(eN/this.comp.globalData.frameRate,0),eO=this.getValueAtTime(((eS-eC)%eM+eC)/this.comp.globalData.frameRate,0),eP=Math.floor((eS-eC)/eM);if(this.pv.length){for(eT=0,e_=(eE=Array(eI.length)).length;eT=eN)return this.pv;if(ew?(eM=em?Math.abs(this.elem.comp.globalData.frameRate*em):Math.max(0,this.elem.data.op-eN),eC=eN+eM):((!em||em>eA.length-1)&&(em=eA.length-1),eM=(eC=eA[em].t)-eN),"pingpong"===eb){if(Math.floor((eN-eS)/eM)%2==0)return this.getValueAtTime(((eN-eS)%eM+eN)/this.comp.globalData.frameRate,0)}else if("offset"===eb){var eI=this.getValueAtTime(eN/this.comp.globalData.frameRate,0),eD=this.getValueAtTime(eC/this.comp.globalData.frameRate,0),eO=this.getValueAtTime((eM-(eN-eS)%eM+eN)/this.comp.globalData.frameRate,0),eP=Math.floor((eN-eS)/eM)+1;if(this.pv.length){for(eT=0,e_=(eE=Array(eI.length)).length;eT1?(e_-eT)/(em-1):1,eS=0,eA=0;for(ew=this.pv.length?createTypedArray("float32",this.pv.length):0;eSe_){var eN=eE,eI=eM.c&&eE===eS-1?0:eE+1,eD=(e_-eA)/eT[eE].addedLength;ew=bez.getPointInSegment(eM.v[eN],eM.v[eI],eM.o[eN],eM.i[eI],eD,eT[eE]);break}eA+=eT[eE].addedLength,eE+=1}return ew||(ew=eM.c?[eM.v[0][0],eM.v[0][1]]:[eM.v[eM._length-1][0],eM.v[eM._length-1][1]]),ew},vectorOnPath:function(eb,em,ew){1==eb?eb=this.v.c:0==eb&&(eb=.999);var eM=this.pointOnPath(eb,em),eC=this.pointOnPath(eb+.001,em),eT=eC[0]-eM[0],e_=eC[1]-eM[1],eE=Math.sqrt(Math.pow(eT,2)+Math.pow(e_,2));return 0===eE?[0,0]:"tangent"===ew?[eT/eE,e_/eE]:[-e_/eE,eT/eE]},tangentOnPath:function(eb,em){return this.vectorOnPath(eb,em,"tangent")},normalOnPath:function(eb,em){return this.vectorOnPath(eb,em,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([eN],eS),extendPrototype([eN],eA),eA.prototype.getValueAtTime=eE,eA.prototype.initiateExpression=ExpressionManager.initiateExpression;var eI=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(eb,em,ew,eM,eC){var eT=eI(eb,em,ew,eM,eC);return eT.propertyIndex=em.ix,eT.lock=!1,3===ew?expressionHelpers.searchExpressions(eb,em.pt,eT):4===ew&&expressionHelpers.searchExpressions(eb,em.ks,eT),eT.k&&eb.addDynamicProperty(eT),eT}}function initialize$1(){addPropertyDecorator()}function addDecorator(){function eb(){return this.data.d.x?(this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this),this.addEffect(this.getExpressionValue.bind(this)),!0):null}TextProperty.prototype.getExpressionValue=function(eb,em){var ew=this.calculateExpression(em);if(eb.t!==ew){var eM={};return this.copyData(eM,eb),eM.t=ew.toString(),eM.__complete=!1,eM}return eb},TextProperty.prototype.searchProperty=function(){var eb=this.searchKeyframes(),em=this.searchExpressions();return this.kf=eb||em,this.kf},TextProperty.prototype.searchExpressions=eb}function initialize(){addDecorator()}function SVGComposableEffect(){}SVGComposableEffect.prototype={createMergeNode:function(eb,em){var ew,eM,eC=createNS("feMerge");for(eC.setAttribute("result",eb),eM=0;eM=eN?eP<0?eM:eC:eM+eO*Math.pow((eT-eb)/eP,1/ew),eI[eD]=e_,eD+=1,eE+=256/(eS-1);return eI.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(eb){if(eb||this.filterManager._mdf){var em,ew=this.filterManager.effectElements;this.feFuncRComposed&&(eb||ew[3].p._mdf||ew[4].p._mdf||ew[5].p._mdf||ew[6].p._mdf||ew[7].p._mdf)&&(em=this.getTableValue(ew[3].p.v,ew[4].p.v,ew[5].p.v,ew[6].p.v,ew[7].p.v),this.feFuncRComposed.setAttribute("tableValues",em),this.feFuncGComposed.setAttribute("tableValues",em),this.feFuncBComposed.setAttribute("tableValues",em)),this.feFuncR&&(eb||ew[10].p._mdf||ew[11].p._mdf||ew[12].p._mdf||ew[13].p._mdf||ew[14].p._mdf)&&(em=this.getTableValue(ew[10].p.v,ew[11].p.v,ew[12].p.v,ew[13].p.v,ew[14].p.v),this.feFuncR.setAttribute("tableValues",em)),this.feFuncG&&(eb||ew[17].p._mdf||ew[18].p._mdf||ew[19].p._mdf||ew[20].p._mdf||ew[21].p._mdf)&&(em=this.getTableValue(ew[17].p.v,ew[18].p.v,ew[19].p.v,ew[20].p.v,ew[21].p.v),this.feFuncG.setAttribute("tableValues",em)),this.feFuncB&&(eb||ew[24].p._mdf||ew[25].p._mdf||ew[26].p._mdf||ew[27].p._mdf||ew[28].p._mdf)&&(em=this.getTableValue(ew[24].p.v,ew[25].p.v,ew[26].p.v,ew[27].p.v,ew[28].p.v),this.feFuncB.setAttribute("tableValues",em)),this.feFuncA&&(eb||ew[31].p._mdf||ew[32].p._mdf||ew[33].p._mdf||ew[34].p._mdf||ew[35].p._mdf)&&(em=this.getTableValue(ew[31].p.v,ew[32].p.v,ew[33].p.v,ew[34].p.v,ew[35].p.v),this.feFuncA.setAttribute("tableValues",em))}},extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(eb){if(eb||this.filterManager._mdf){if((eb||this.filterManager.effectElements[4].p._mdf)&&this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4),eb||this.filterManager.effectElements[0].p._mdf){var em=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(255*em[0]),Math.round(255*em[1]),Math.round(255*em[2])))}if((eb||this.filterManager.effectElements[1].p._mdf)&&this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255),eb||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var ew=this.filterManager.effectElements[3].p.v,eM=(this.filterManager.effectElements[2].p.v-90)*degToRads,eC=ew*Math.cos(eM),eT=ew*Math.sin(eM);this.feOffset.setAttribute("dx",eC),this.feOffset.setAttribute("dy",eT)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(eb,em,ew){this.initialized=!1,this.filterManager=em,this.filterElem=eb,this.elem=ew,ew.matteElement=createNS("g"),ew.matteElement.appendChild(ew.layerElement),ew.matteElement.appendChild(ew.transformedElement),ew.baseElement=ew.matteElement}function SVGGaussianBlurEffect(eb,em,ew,eM){eb.setAttribute("x","-100%"),eb.setAttribute("y","-100%"),eb.setAttribute("width","300%"),eb.setAttribute("height","300%"),this.filterManager=em;var eC=createNS("feGaussianBlur");eC.setAttribute("result",eM),eb.appendChild(eC),this.feGaussianBlur=eC}function TransformEffect(){}function SVGTransformEffect(eb,em){this.init(em)}function CVTransformEffect(eb){this.init(eb)}return SVGMatte3Effect.prototype.findSymbol=function(eb){for(var em=0,ew=_svgMatteSymbols.length;em1;class eR{constructor(eb){if("number"==typeof eb&&(eb={max:eb}),eb||(eb={}),eb.max&&("number"!=typeof eb.max||eb.max<0))throw TypeError("max must be a non-negative number");this[eC]=eb.max||1/0;let em=eb.length||eP;if(this[e_]="function"!=typeof em?eP:em,this[eE]=eb.stale||!1,eb.maxAge&&"number"!=typeof eb.maxAge)throw TypeError("maxAge must be a number");this[eS]=eb.maxAge||0,this[eA]=eb.dispose,this[eN]=eb.noDisposeOnSet||!1,this[eO]=eb.updateAgeOnGet||!1,this.reset()}set max(eb){if("number"!=typeof eb||eb<0)throw TypeError("max must be a non-negative number");this[eC]=eb||1/0,ej(this)}get max(){return this[eC]}set allowStale(eb){this[eE]=!!eb}get allowStale(){return this[eE]}set maxAge(eb){if("number"!=typeof eb)throw TypeError("maxAge must be a non-negative number");this[eS]=eb,ej(this)}get maxAge(){return this[eS]}set lengthCalculator(eb){"function"!=typeof eb&&(eb=eP),eb!==this[e_]&&(this[e_]=eb,this[eT]=0,this[eI].forEach(eb=>{eb.length=this[e_](eb.value,eb.key),this[eT]+=eb.length})),ej(this)}get lengthCalculator(){return this[e_]}get length(){return this[eT]}get itemCount(){return this[eI].length}rforEach(eb,em){em=em||this;for(let ew=this[eI].tail;null!==ew;){let eM=ew.prev;eH(this,eb,ew,em),ew=eM}}forEach(eb,em){em=em||this;for(let ew=this[eI].head;null!==ew;){let eM=ew.next;eH(this,eb,ew,em),ew=eM}}keys(){return this[eI].toArray().map(eb=>eb.key)}values(){return this[eI].toArray().map(eb=>eb.value)}reset(){this[eA]&&this[eI]&&this[eI].length&&this[eI].forEach(eb=>this[eA](eb.key,eb.value)),this[eD]=new Map,this[eI]=new eM,this[eT]=0}dump(){return this[eI].map(eb=>!eF(this,eb)&&{k:eb.key,v:eb.value,e:eb.now+(eb.maxAge||0)}).toArray().filter(eb=>eb)}dumpLru(){return this[eI]}set(eb,em,ew){if((ew=ew||this[eS])&&"number"!=typeof ew)throw TypeError("maxAge must be a number");let eM=ew?Date.now():0,eE=this[e_](em,eb);if(this[eD].has(eb)){if(eE>this[eC])return eU(this,this[eD].get(eb)),!1;let e_=this[eD].get(eb),eS=e_.value;return this[eA]&&!this[eN]&&this[eA](eb,eS.value),eS.now=eM,eS.maxAge=ew,eS.value=em,this[eT]+=eE-eS.length,eS.length=eE,this.get(eb),ej(this),!0}let eO=new eV(eb,em,eE,eM,ew);return eO.length>this[eC]?(this[eA]&&this[eA](eb,em),!1):(this[eT]+=eO.length,this[eI].unshift(eO),this[eD].set(eb,this[eI].head),ej(this),!0)}has(eb){if(!this[eD].has(eb))return!1;let em=this[eD].get(eb).value;return!eF(this,em)}get(eb){return eB(this,eb,!0)}peek(eb){return eB(this,eb,!1)}pop(){let eb=this[eI].tail;return eb?(eU(this,eb),eb.value):null}del(eb){eU(this,this[eD].get(eb))}load(eb){this.reset();let em=Date.now();for(let ew=eb.length-1;ew>=0;ew--){let eM=eb[ew],eC=eM.e||0;if(0===eC)this.set(eM.k,eM.v);else{let eb=eC-em;eb>0&&this.set(eM.k,eM.v,eb)}}}prune(){this[eD].forEach((eb,em)=>eB(this,em,!1))}}let eB=(eb,em,ew)=>{let eM=eb[eD].get(em);if(eM){let em=eM.value;if(eF(eb,em)){if(eU(eb,eM),!eb[eE])return}else ew&&(eb[eO]&&(eM.value.now=Date.now()),eb[eI].unshiftNode(eM));return em.value}},eF=(eb,em)=>{if(!em||!em.maxAge&&!eb[eS])return!1;let ew=Date.now()-em.now;return em.maxAge?ew>em.maxAge:eb[eS]&&ew>eb[eS]},ej=eb=>{if(eb[eT]>eb[eC])for(let em=eb[eI].tail;eb[eT]>eb[eC]&&null!==em;){let ew=em.prev;eU(eb,em),em=ew}},eU=(eb,em)=>{if(em){let ew=em.value;eb[eA]&&eb[eA](ew.key,ew.value),eb[eT]-=ew.length,eb[eD].delete(ew.key),eb[eI].removeNode(em)}};class eV{constructor(eb,em,ew,eM,eC){this.key=eb,this.value=em,this.length=ew,this.now=eM,this.maxAge=eC||0}}let eH=(eb,em,ew,eM)=>{let eC=ew.value;eF(eb,eC)&&(eU(eb,ew),eb[eE]||(eC=void 0)),eC&&em.call(eM,eC.value,eC.key,eb)};eb.exports=eR},62318:function(eb,em,ew){"use strict";var eM=ew(35717),eC=ew(3349),eT=ew(89509).Buffer,e_=Array(16);function eE(){eC.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function eS(eb,em){return eb<>>32-em}function eA(eb,em,ew,eM,eC,eT,e_){return eS(eb+(em&ew|~em&eM)+eC+eT|0,e_)+em|0}function eN(eb,em,ew,eM,eC,eT,e_){return eS(eb+(em&eM|ew&~eM)+eC+eT|0,e_)+em|0}function eI(eb,em,ew,eM,eC,eT,e_){return eS(eb+(em^ew^eM)+eC+eT|0,e_)+em|0}function eD(eb,em,ew,eM,eC,eT,e_){return eS(eb+(ew^(em|~eM))+eC+eT|0,e_)+em|0}eM(eE,eC),eE.prototype._update=function(){for(var eb=e_,em=0;em<16;++em)eb[em]=this._block.readInt32LE(4*em);var ew=this._a,eM=this._b,eC=this._c,eT=this._d;ew=eA(ew,eM,eC,eT,eb[0],3614090360,7),eT=eA(eT,ew,eM,eC,eb[1],3905402710,12),eC=eA(eC,eT,ew,eM,eb[2],606105819,17),eM=eA(eM,eC,eT,ew,eb[3],3250441966,22),ew=eA(ew,eM,eC,eT,eb[4],4118548399,7),eT=eA(eT,ew,eM,eC,eb[5],1200080426,12),eC=eA(eC,eT,ew,eM,eb[6],2821735955,17),eM=eA(eM,eC,eT,ew,eb[7],4249261313,22),ew=eA(ew,eM,eC,eT,eb[8],1770035416,7),eT=eA(eT,ew,eM,eC,eb[9],2336552879,12),eC=eA(eC,eT,ew,eM,eb[10],4294925233,17),eM=eA(eM,eC,eT,ew,eb[11],2304563134,22),ew=eA(ew,eM,eC,eT,eb[12],1804603682,7),eT=eA(eT,ew,eM,eC,eb[13],4254626195,12),eC=eA(eC,eT,ew,eM,eb[14],2792965006,17),eM=eA(eM,eC,eT,ew,eb[15],1236535329,22),ew=eN(ew,eM,eC,eT,eb[1],4129170786,5),eT=eN(eT,ew,eM,eC,eb[6],3225465664,9),eC=eN(eC,eT,ew,eM,eb[11],643717713,14),eM=eN(eM,eC,eT,ew,eb[0],3921069994,20),ew=eN(ew,eM,eC,eT,eb[5],3593408605,5),eT=eN(eT,ew,eM,eC,eb[10],38016083,9),eC=eN(eC,eT,ew,eM,eb[15],3634488961,14),eM=eN(eM,eC,eT,ew,eb[4],3889429448,20),ew=eN(ew,eM,eC,eT,eb[9],568446438,5),eT=eN(eT,ew,eM,eC,eb[14],3275163606,9),eC=eN(eC,eT,ew,eM,eb[3],4107603335,14),eM=eN(eM,eC,eT,ew,eb[8],1163531501,20),ew=eN(ew,eM,eC,eT,eb[13],2850285829,5),eT=eN(eT,ew,eM,eC,eb[2],4243563512,9),eC=eN(eC,eT,ew,eM,eb[7],1735328473,14),eM=eN(eM,eC,eT,ew,eb[12],2368359562,20),ew=eI(ew,eM,eC,eT,eb[5],4294588738,4),eT=eI(eT,ew,eM,eC,eb[8],2272392833,11),eC=eI(eC,eT,ew,eM,eb[11],1839030562,16),eM=eI(eM,eC,eT,ew,eb[14],4259657740,23),ew=eI(ew,eM,eC,eT,eb[1],2763975236,4),eT=eI(eT,ew,eM,eC,eb[4],1272893353,11),eC=eI(eC,eT,ew,eM,eb[7],4139469664,16),eM=eI(eM,eC,eT,ew,eb[10],3200236656,23),ew=eI(ew,eM,eC,eT,eb[13],681279174,4),eT=eI(eT,ew,eM,eC,eb[0],3936430074,11),eC=eI(eC,eT,ew,eM,eb[3],3572445317,16),eM=eI(eM,eC,eT,ew,eb[6],76029189,23),ew=eI(ew,eM,eC,eT,eb[9],3654602809,4),eT=eI(eT,ew,eM,eC,eb[12],3873151461,11),eC=eI(eC,eT,ew,eM,eb[15],530742520,16),eM=eI(eM,eC,eT,ew,eb[2],3299628645,23),ew=eD(ew,eM,eC,eT,eb[0],4096336452,6),eT=eD(eT,ew,eM,eC,eb[7],1126891415,10),eC=eD(eC,eT,ew,eM,eb[14],2878612391,15),eM=eD(eM,eC,eT,ew,eb[5],4237533241,21),ew=eD(ew,eM,eC,eT,eb[12],1700485571,6),eT=eD(eT,ew,eM,eC,eb[3],2399980690,10),eC=eD(eC,eT,ew,eM,eb[10],4293915773,15),eM=eD(eM,eC,eT,ew,eb[1],2240044497,21),ew=eD(ew,eM,eC,eT,eb[8],1873313359,6),eT=eD(eT,ew,eM,eC,eb[15],4264355552,10),eC=eD(eC,eT,ew,eM,eb[6],2734768916,15),eM=eD(eM,eC,eT,ew,eb[13],1309151649,21),ew=eD(ew,eM,eC,eT,eb[4],4149444226,6),eT=eD(eT,ew,eM,eC,eb[11],3174756917,10),eC=eD(eC,eT,ew,eM,eb[2],718787259,15),eM=eD(eM,eC,eT,ew,eb[9],3951481745,21),this._a=this._a+ew|0,this._b=this._b+eM|0,this._c=this._c+eC|0,this._d=this._d+eT|0},eE.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 eb=eT.allocUnsafe(16);return eb.writeInt32LE(this._a,0),eb.writeInt32LE(this._b,4),eb.writeInt32LE(this._c,8),eb.writeInt32LE(this._d,12),eb},eb.exports=eE},64898:function(eb,em,ew){"use strict";var eM=ew(48764).Buffer,eC=ew(34155);Object.defineProperty(em,"__esModule",{value:!0}),em.InvalidStatusCodeError=em.InvalidCertError=void 0;let eT=Object.freeze({redirect:!0,expectStatusCode:200,headers:{},full:!1,keepAlive:!0,cors:!1,referrer:!1,sslAllowSelfSigned:!1,_redirectCount:0});class e_ extends Error{constructor(eb,em){super(eb),this.fingerprint256=em}}em.InvalidCertError=e_;class eE extends Error{constructor(eb){super(`Request Failed. Status Code: ${eb}`),this.statusCode=eb}}function eS(eb,em){if(!em||"text"===em||"json"===em)try{let ew=new TextDecoder("utf8",{fatal:!0}).decode(eb);if("text"===em)return ew;try{return JSON.parse(ew)}catch(eb){if("json"===em)throw eb;return ew}}catch(eb){if("text"===em||"json"===em)throw eb}return eb}em.InvalidStatusCodeError=eE;let eA={};function eN(eb,em){let eC={...eT,...em},eI=ew(22321),eD=ew(78428),eO=ew(47715),{promisify:eP}=ew(89539),{resolve:eR}=ew(11987),eB=!!/^https/.test(eb),eF={method:eC.method||"GET",headers:{"Accept-Encoding":"gzip, deflate, br"}},ej=eb=>eb.replace(/:| /g,"").toLowerCase();if(eC.keepAlive){let eb={keepAlive:!0,keepAliveMsecs:3e4,maxFreeSockets:1024,maxCachedSessions:1024},em=[eB,eB&&eC.sslPinnedCertificates?.map(eb=>ej(eb)).sort()].join();eF.agent=eA[em]||(eA[em]=new(eB?eD:eI).Agent(eb))}"json"===eC.type&&(eF.headers["Content-Type"]="application/json"),eC.data&&(eC.method||(eF.method="POST"),eF.body="json"===eC.type?JSON.stringify(eC.data):eC.data),eF.headers={...eF.headers,...eC.headers},eC.sslAllowSelfSigned&&(eF.rejectUnauthorized=!1);let eU=async em=>{let ew=em.statusCode;if(eC.redirect&&300<=ew&&ew<400&&em.headers.location){if(10==eC._redirectCount)throw Error("Request failed. Too much redirects.");return eC._redirectCount+=1,await eN(eR(eb,em.headers.location),eC)}if(eC.expectStatusCode&&ew!==eC.expectStatusCode)throw em.resume(),new eE(ew);let eT=[];for await(let eb of em)eT.push(eb);let e_=eM.concat(eT),eA=em.headers["content-encoding"];"br"===eA&&(e_=await eP(eO.brotliDecompress)(e_)),("gzip"===eA||"deflate"===eA)&&(e_=await eP(eO.unzip)(e_));let eI=eS(e_,eC.type);return eC.full?{headers:em.headers,status:ew,body:eI}:eI};return new Promise((em,ew)=>{let eM=async em=>{if(em&&"DEPTH_ZERO_SELF_SIGNED_CERT"===em.code)try{await eN(eb,{...eC,sslAllowSelfSigned:!0,sslPinnedCertificates:[]})}catch(eb){eb&&eb.fingerprint256&&(em=new e_(`Self-signed SSL certificate: ${eb.fingerprint256}`,eb.fingerprint256))}ew(em)},eT=(eB?eD:eI).request(eb,eF,eb=>{eb.on("error",eM),(async()=>{try{em(await eU(eb))}catch(eb){ew(eb)}})()});eT.on("error",eM);let eE=eC.sslPinnedCertificates?.map(eb=>ej(eb)),eS=eb=>{let em=ej(eb.getPeerCertificate()?.fingerprint256||"");if(!(!em&&eb.isSessionReused())&&!eE.includes(em))return eT.emit("error",new e_(`Invalid SSL certificate: ${em} Expected: ${eE}`,em)),eT.abort()};eC.sslPinnedCertificates&&eT.on("socket",eb=>{let em=eb.listeners("secureConnect").map(eb=>(eb.name||"").replace("bound ","")).includes("mfetchSecureConnect");em||eb.on("secureConnect",eS.bind(null,eb))}),eC.keepAlive&&eT.setNoDelay(!0),eF.body&&eT.write(eF.body),eT.end()})}let eI=new Set(["Accept","Accept-Language","Content-Language","Content-Type"].map(eb=>eb.toLowerCase())),eD=new Set(["Accept-Charset","Accept-Encoding","Access-Control-Request-Headers","Access-Control-Request-Method","Connection","Content-Length","Cookie","Cookie2","Date","DNT","Expect","Host","Keep-Alive","Origin","Referer","TE","Trailer","Transfer-Encoding","Upgrade","Via"].map(eb=>eb.toLowerCase()));async function eO(eb,em){let ew={...eT,...em},eM=new Headers;"json"===ew.type&&eM.set("Content-Type","application/json");let eC=new URL(eb);if(eC.username){let eb=btoa(`${eC.username}:${eC.password}`);eM.set("Authorization",`Basic ${eb}`),eC.username="",eC.password=""}for(let em in eb=""+eC,ew.headers){let eb=em.toLowerCase();(eI.has(eb)||ew.cors&&!eD.has(eb))&&eM.set(em,ew.headers[em])}let e_={headers:eM,redirect:ew.redirect?"follow":"manual"};ew.referrer||(e_.referrerPolicy="no-referrer"),ew.cors&&(e_.mode="cors"),ew.data&&(ew.method||(e_.method="POST"),e_.body="json"===ew.type?JSON.stringify(ew.data):ew.data);let eA=await fetch(eb,e_);if(ew.expectStatusCode&&eA.status!==ew.expectStatusCode)throw new eE(eA.status);let eN=eS(new Uint8Array(await eA.arrayBuffer()),ew.type);return ew.full?{headers:Object.fromEntries(eA.headers.entries()),status:eA.status,body:eN}:eN}let eP=!!("object"==typeof eC&&eC.versions&&eC.versions.node&&eC.versions.v8);function eR(eb,em){let ew=eP?eN:eO;return ew(eb,em)}em.default=eR},79746:function(eb){function em(eb,em){if(!eb)throw Error(em||"Assertion failed")}eb.exports=em,em.equal=function(eb,em,ew){if(eb!=em)throw Error(ew||"Assertion failed: "+eb+" != "+em)}},34504:function(eb,em){"use strict";var ew=em;function eM(eb,em){if(Array.isArray(eb))return eb.slice();if(!eb)return[];var ew=[];if("string"!=typeof eb){for(var eM=0;eM>8,e_=255&eC;eT?ew.push(eT,e_):ew.push(e_)}return ew}function eC(eb){return 1===eb.length?"0"+eb:eb}function eT(eb){for(var em="",ew=0;ew100)){var eE=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(eb);if(eE){var eS=parseFloat(eE[1]);switch((eE[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return eS*e_;case"weeks":case"week":case"w":return eS*eT;case"days":case"day":case"d":return eS*eC;case"hours":case"hour":case"hrs":case"hr":case"h":return eS*eM;case"minutes":case"minute":case"mins":case"min":case"m":return eS*ew;case"seconds":case"second":case"secs":case"sec":case"s":return eS*em;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return eS;default:return}}}}function eS(eb){var eT=Math.abs(eb);return eT>=eC?Math.round(eb/eC)+"d":eT>=eM?Math.round(eb/eM)+"h":eT>=ew?Math.round(eb/ew)+"m":eT>=em?Math.round(eb/em)+"s":eb+"ms"}function eA(eb){var eT=Math.abs(eb);return eT>=eC?eN(eb,eT,eC,"day"):eT>=eM?eN(eb,eT,eM,"hour"):eT>=ew?eN(eb,eT,ew,"minute"):eT>=em?eN(eb,eT,em,"second"):eb+" ms"}function eN(eb,em,ew,eM){var eC=em>=1.5*ew;return Math.round(eb/ew)+" "+eM+(eC?"s":"")}eb.exports=function(eb,em){em=em||{};var ew=typeof eb;if("string"===ew&&eb.length>0)return eE(eb);if("number"===ew&&isFinite(eb))return em.long?eA(eb):eS(eb);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(eb))}},63144:function(eb){"use strict";let em=self.fetch.bind(self);eb.exports=em,eb.exports.default=eb.exports},6840:function(eb,em,ew){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_app",function(){return ew(3859)}])},33445:function(eb,em,ew){"use strict";ew.d(em,{Z:function(){return eN}});var eM=ew(85893),eC=ew(67294),eT=ew(31515),e_=ew(19521);let eE=e_.ZP.div.withConfig({displayName:"styles__StyledSpinnerContainer",componentId:"sc-1y0oj0z-0"})(["",""],eb=>{let{theme:em,$fullScreen:ew,$show:eM,$center:eC}=eb;return(0,e_.iv)([""," position:",";backdrop-filter:blur(3px);border-radius:inherit;opacity:",";align-items:",";padding-top:",";z-index:99;transition:all ease-in-out 250ms 250ms;background-color:","0C;"],{inset:"0px",display:"flex",height:"100%",minHeight:"11rem",justifyContent:"center",paddingTop:"2.5rem",paddingBottom:"2.5rem"},ew?"fixed":"absolute",eM?"1":"0",eC?"center":"flex-start",eC?"2.5rem":"6rem",em.color.contentBackground)});var eS=ew(73935);let eA=eb=>{let{show:em,center:ew=!1,fullScreen:eC=!1,...e_}=eb,{shouldMount:eA,stage:eN}=(0,eT.Yz)(em,500),eI=(0,eM.jsx)(eM.Fragment,{children:eA&&(0,eM.jsx)(eE,{$show:"enter"===eN,$center:ew,$fullScreen:eC,children:(0,eM.jsx)(eT.$j,{...e_})})});return(0,eM.jsx)(eM.Fragment,{children:eC&&"object"==typeof document?(0,eS.createPortal)(eI,document.body):eI})};eA.displayName="SpinnerOverlay";var eN=(0,eC.memo)(eA)},94461:function(eb,em,ew){"use strict";ew.d(em,{WE:function(){return eP},mr:function(){return eR}});var eM=ew(85893),eC=ew(67294),eT=ew(96116),e_=ew(91421),eE=ew(89954),eS=ew(77767);function eA(eb){return(em,ew)=>{for(let[eM,eC]of Object.entries(eb)){let eb=em[eM],eT=eC(eb,ew);eT!==eb&&(em={...em,[eM]:eT})}return em}}function eN(eb){return eb({},{type:"INITIAL_STATE",payload:void 0})}let eI=eA({connection:(0,eT.RG)(),filter:(0,eS.rH)(),ccns:(0,e_.yf)("ccns","hash","virtual"),crns:(0,e_.yf)("crns","hash","virtual"),lastCRNVersion:(0,eE.mM)("lastCRNVersion"),lastCCNVersion:(0,eE.mM)("lastCCNVersion"),lastRewardsDistribution:(0,eE.mM)("lastRewardsDistribution"),lastRewardsCalculation:(0,eE.mM)("lastRewardsCalculation")}),eD=eN(eI),eO=(0,eC.createContext)([eD,()=>null]);function eP(eb){let{children:em}=eb,ew=(0,eC.useReducer)(eI,eD);return(0,eM.jsx)(eO.Provider,{value:ew,children:em})}function eR(){return(0,eC.useContext)(eO)}},82927:function(eb,em,ew){"use strict";ew.d(em,{q6:function(){return E3},Ek:function(){return eF.$O},F7:function(){return eO},DR:function(){return E6}});var eM,eC,eT,e_,eE,eS,eA,eN,eI,eD,eO,eP={};ew.r(eP),ew.d(eP,{aInRange:function(){return n9},abool:function(){return nj},abytes:function(){return nF},bitGet:function(){return ry},bitLen:function(){return n7},bitMask:function(){return rw},bitSet:function(){return rz},bytesToHex:function(){return nV},bytesToNumberBE:function(){return nK},bytesToNumberLE:function(){return nG},concatBytes:function(){return n6},createHmacDrbg:function(){return rk},ensureBytes:function(){return nQ},equalBytes:function(){return n4},hexToBytes:function(){return nZ},hexToNumber:function(){return n$},inRange:function(){return n8},isBytes:function(){return nB},memoized:function(){return rS},notImplemented:function(){return rE},numberToBytesBE:function(){return nY},numberToBytesLE:function(){return nJ},numberToHexUnpadded:function(){return nH},numberToVarBytesBE:function(){return nX},utf8ToBytes:function(){return n3},validateObject:function(){return r_}});var eR=ew(17187),eB=ew.n(eR),eF=ew(73603),ej=ew(62283);ew(2153);var eU=ew(89706),eV=ew(82169),eH=ew(241),e$=Object.defineProperty,eW=(eb,em,ew)=>em in eb?e$(eb,em,{enumerable:!0,configurable:!0,writable:!0,value:ew}):eb[em]=ew,eZ=(eb,em,ew)=>(eW(eb,"symbol"!=typeof em?em+"":em,ew),ew);class eK extends ej.TM{constructor(eb,em,ew,eM){if(super(em,ew),eZ(this,"wallet"),this.selectedRpcId=eM||ej.Nd.ETH,eb instanceof eU.w5&&!eb.provider){let em=ej.l2[eM||this.selectedRpcId],ew=new eV.r(em.rpcUrls.at(0),{name:em.chainName,chainId:(0,ej.RW)(em.chainId)});this.wallet=new ej.u6(eb.connect(ew))}else this.wallet=eb}getChain(){return eF.$O.ETH}async askPubKey(){if(!this.publicKey){if(!this.wallet)throw Error("PublicKey Error: No providers are setup");if(this.wallet instanceof eU.w5){this.publicKey=this.wallet.publicKey;return}this.publicKey=await this.wallet.getPublicKey()}}async sign(eb){let em=eb.getVerificationBuffer();return this.wallet.signMessage(em.toString())}}async function eG(eb,em=ej.Nd.ETH){let ew=eb instanceof eH.Q?eb:new eH.Q(eb),eM=new ej.u6(ew);if((0,ej.RW)(("number"==typeof em?ej.l2[em]:em).chainId)!==await eM.getCurrentChainId()&&await eM.changeNetwork(em),await eM.connect(),eM.address)return new eK(eM,eM.address,void 0,"number"==typeof em?em:void 0);throw Error("Insufficient permissions")}var eY=ew(62570),eJ=ew(48764);function eX(eb){if(!Number.isSafeInteger(eb)||eb<0)throw Error("positive integer expected, got "+eb)}function eQ(eb){return eb instanceof Uint8Array||ArrayBuffer.isView(eb)&&"Uint8Array"===eb.constructor.name}function e0(eb,...em){if(!eQ(eb))throw Error("Uint8Array expected");if(em.length>0&&!em.includes(eb.length))throw Error("Uint8Array expected of length "+em+", got length="+eb.length)}function e6(eb){if("function"!=typeof eb||"function"!=typeof eb.create)throw Error("Hash should be wrapped by utils.wrapConstructor");eX(eb.outputLen),eX(eb.blockLen)}function e4(eb,em=!0){if(eb.destroyed)throw Error("Hash instance has been destroyed");if(em&&eb.finished)throw Error("Hash#digest() has already been called")}function e3(eb,em){e0(eb);let ew=em.outputLen;if(eb.lengthnew DataView(eb.buffer,eb.byteOffset,eb.byteLength),e9=(eb,em)=>eb<<32-em|eb>>>em;function e7(eb){if("string"!=typeof eb)throw Error("utf8ToBytes expected string, got "+typeof eb);return new Uint8Array(new TextEncoder().encode(eb))}function tw(eb){return"string"==typeof eb&&(eb=e7(eb)),e0(eb),eb}function tC(...eb){let em=0;for(let ew=0;ewem.toString(16).padStart(2,"0"));class tT{clone(){return this._cloneInto()}}function t_(eb){let em=em=>eb().update(tw(em)).digest(),ew=eb();return em.outputLen=ew.outputLen,em.blockLen=ew.blockLen,em.create=()=>eb(),em}function tE(eb=32){if(e5&&"function"==typeof e5.getRandomValues)return e5.getRandomValues(new Uint8Array(eb));if(e5&&"function"==typeof e5.randomBytes)return e5.randomBytes(eb);throw Error("crypto.getRandomValues must be defined")}function tS(eb,em,ew,eM){if("function"==typeof eb.setBigUint64)return eb.setBigUint64(em,ew,eM);let eC=BigInt(32),eT=BigInt(4294967295),e_=Number(ew>>eC&eT),eE=Number(ew&eT),eS=eM?4:0,eA=eM?0:4;eb.setUint32(em+eS,e_,eM),eb.setUint32(em+eA,eE,eM)}let tA=(eb,em,ew)=>eb&em^~eb&ew,tN=(eb,em,ew)=>eb&em^eb&ew^em&ew;class tI extends tT{constructor(eb,em,ew,eM){super(),this.blockLen=eb,this.outputLen=em,this.padOffset=ew,this.isLE=eM,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(eb),this.view=e8(this.buffer)}update(eb){e4(this);let{view:em,buffer:ew,blockLen:eM}=this;eb=tw(eb);let eC=eb.length;for(let eT=0;eTeM-eT&&(this.process(ew,0),eT=0);for(let eb=eT;ebeA.length)throw Error("_sha2: outputLen bigger than state");for(let eb=0;eb>tO&tD)}:{h:0|Number(eb>>tO&tD),l:0|Number(eb&tD)}}function tR(eb,em=!1){let ew=new Uint32Array(eb.length),eM=new Uint32Array(eb.length);for(let eC=0;eCBigInt(eb>>>0)<>>0),tF=(eb,em,ew)=>eb>>>ew,tj=(eb,em,ew)=>eb<<32-ew|em>>>ew,tU=(eb,em,ew)=>eb>>>ew|em<<32-ew,tV=(eb,em,ew)=>eb<<32-ew|em>>>ew,tH=(eb,em,ew)=>eb<<64-ew|em>>>ew-32,t$=(eb,em,ew)=>eb>>>ew-32|em<<64-ew,tq=(eb,em)=>em,tW=(eb,em)=>eb,tZ=(eb,em,ew)=>eb<>>32-ew,tK=(eb,em,ew)=>em<>>32-ew,tG=(eb,em,ew)=>em<>>64-ew,tY=(eb,em,ew)=>eb<>>64-ew;function tJ(eb,em,ew,eM){let eC=(em>>>0)+(eM>>>0);return{h:eb+ew+(eC/4294967296|0)|0,l:0|eC}}let tX=(eb,em,ew)=>(eb>>>0)+(em>>>0)+(ew>>>0),tQ=(eb,em,ew,eM)=>em+ew+eM+(eb/4294967296|0)|0,nw=(eb,em,ew,eM)=>(eb>>>0)+(em>>>0)+(ew>>>0)+(eM>>>0),nM=(eb,em,ew,eM,eC)=>em+ew+eM+eC+(eb/4294967296|0)|0,nC=(eb,em,ew,eM,eC)=>(eb>>>0)+(em>>>0)+(ew>>>0)+(eM>>>0)+(eC>>>0),nk=(eb,em,ew,eM,eC,eT)=>em+ew+eM+eC+eT+(eb/4294967296|0)|0,nT={fromBig:tP,split:tR,toBig:tB,shrSH:tF,shrSL:tj,rotrSH:tU,rotrSL:tV,rotrBH:tH,rotrBL:t$,rotr32H:tq,rotr32L:tW,rotlSH:tZ,rotlSL:tK,rotlBH:tG,rotlBL:tY,add:tJ,add3L:tX,add3H:tQ,add4L:nw,add4H:nM,add5H:nk,add5L:nC};var n_=nT;let[nE,nS]=n_.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(eb=>BigInt(eb))),nA=new Uint32Array(80),nN=new Uint32Array(80);class nI extends tI{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(){let{Ah:eb,Al:em,Bh:ew,Bl:eM,Ch:eC,Cl:eT,Dh:e_,Dl:eE,Eh:eS,El:eA,Fh:eN,Fl:eI,Gh:eD,Gl:eO,Hh:eP,Hl:eR}=this;return[eb,em,ew,eM,eC,eT,e_,eE,eS,eA,eN,eI,eD,eO,eP,eR]}set(eb,em,ew,eM,eC,eT,e_,eE,eS,eA,eN,eI,eD,eO,eP,eR){this.Ah=0|eb,this.Al=0|em,this.Bh=0|ew,this.Bl=0|eM,this.Ch=0|eC,this.Cl=0|eT,this.Dh=0|e_,this.Dl=0|eE,this.Eh=0|eS,this.El=0|eA,this.Fh=0|eN,this.Fl=0|eI,this.Gh=0|eD,this.Gl=0|eO,this.Hh=0|eP,this.Hl=0|eR}process(eb,em){for(let ew=0;ew<16;ew++,em+=4)nA[ew]=eb.getUint32(em),nN[ew]=eb.getUint32(em+=4);for(let eb=16;eb<80;eb++){let em=0|nA[eb-15],ew=0|nN[eb-15],eM=n_.rotrSH(em,ew,1)^n_.rotrSH(em,ew,8)^n_.shrSH(em,ew,7),eC=n_.rotrSL(em,ew,1)^n_.rotrSL(em,ew,8)^n_.shrSL(em,ew,7),eT=0|nA[eb-2],e_=0|nN[eb-2],eE=n_.rotrSH(eT,e_,19)^n_.rotrBH(eT,e_,61)^n_.shrSH(eT,e_,6),eS=n_.rotrSL(eT,e_,19)^n_.rotrBL(eT,e_,61)^n_.shrSL(eT,e_,6),eA=n_.add4L(eC,eS,nN[eb-7],nN[eb-16]),eN=n_.add4H(eA,eM,eE,nA[eb-7],nA[eb-16]);nA[eb]=0|eN,nN[eb]=0|eA}let{Ah:ew,Al:eM,Bh:eC,Bl:eT,Ch:e_,Cl:eE,Dh:eS,Dl:eA,Eh:eN,El:eI,Fh:eD,Fl:eO,Gh:eP,Gl:eR,Hh:eB,Hl:eF}=this;for(let eb=0;eb<80;eb++){let em=n_.rotrSH(eN,eI,14)^n_.rotrSH(eN,eI,18)^n_.rotrBH(eN,eI,41),ej=n_.rotrSL(eN,eI,14)^n_.rotrSL(eN,eI,18)^n_.rotrBL(eN,eI,41),eU=eN&eD^~eN&eP,eV=eI&eO^~eI&eR,eH=n_.add5L(eF,ej,eV,nS[eb],nN[eb]),e$=n_.add5H(eH,eB,em,eU,nE[eb],nA[eb]),eW=0|eH,eZ=n_.rotrSH(ew,eM,28)^n_.rotrBH(ew,eM,34)^n_.rotrBH(ew,eM,39),eK=n_.rotrSL(ew,eM,28)^n_.rotrBL(ew,eM,34)^n_.rotrBL(ew,eM,39),eG=ew&eC^ew&e_^eC&e_,eY=eM&eT^eM&eE^eT&eE;eB=0|eP,eF=0|eR,eP=0|eD,eR=0|eO,eD=0|eN,eO=0|eI,({h:eN,l:eI}=n_.add(0|eS,0|eA,0|e$,0|eW)),eS=0|e_,eA=0|eE,e_=0|eC,eE=0|eT,eC=0|ew,eT=0|eM;let eJ=n_.add3L(eW,eK,eY);ew=n_.add3H(eJ,e$,eZ,eG),eM=0|eJ}({h:ew,l:eM}=n_.add(0|this.Ah,0|this.Al,0|ew,0|eM)),({h:eC,l:eT}=n_.add(0|this.Bh,0|this.Bl,0|eC,0|eT)),({h:e_,l:eE}=n_.add(0|this.Ch,0|this.Cl,0|e_,0|eE)),({h:eS,l:eA}=n_.add(0|this.Dh,0|this.Dl,0|eS,0|eA)),({h:eN,l:eI}=n_.add(0|this.Eh,0|this.El,0|eN,0|eI)),({h:eD,l:eO}=n_.add(0|this.Fh,0|this.Fl,0|eD,0|eO)),({h:eP,l:eR}=n_.add(0|this.Gh,0|this.Gl,0|eP,0|eR)),({h:eB,l:eF}=n_.add(0|this.Hh,0|this.Hl,0|eB,0|eF)),this.set(ew,eM,eC,eT,e_,eE,eS,eA,eN,eI,eD,eO,eP,eR,eB,eF)}roundClean(){nA.fill(0),nN.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)}}let nD=t_(()=>new nI),nO=BigInt(0),nP=BigInt(1),nR=BigInt(2);function nB(eb){return eb instanceof Uint8Array||ArrayBuffer.isView(eb)&&"Uint8Array"===eb.constructor.name}function nF(eb){if(!nB(eb))throw Error("Uint8Array expected")}function nj(eb,em){if("boolean"!=typeof em)throw Error(eb+" boolean expected, got "+em)}let nU=Array.from({length:256},(eb,em)=>em.toString(16).padStart(2,"0"));function nV(eb){nF(eb);let em="";for(let ew=0;ew=nq._0&&eb<=nq._9?eb-nq._0:eb>=nq.A&&eb<=nq.F?eb-(nq.A-10):eb>=nq.a&&eb<=nq.f?eb-(nq.a-10):void 0}function nZ(eb){if("string"!=typeof eb)throw Error("hex string expected, got "+typeof eb);let em=eb.length,ew=em/2;if(em%2)throw Error("hex string expected, got unpadded hex of length "+em);let eM=new Uint8Array(ew);for(let em=0,eC=0;em"bigint"==typeof eb&&nO<=eb;function n8(eb,em,ew){return n5(eb)&&n5(em)&&n5(ew)&&em<=eb&&ebnO;eb>>=nP,em+=1);return em}function ry(eb,em){return eb>>BigInt(em)&nP}function rz(eb,em,ew){return eb|(ew?nP:nO)<(nR<new Uint8Array(eb),rC=eb=>Uint8Array.from(eb);function rk(eb,em,ew){if("number"!=typeof eb||eb<2)throw Error("hashLen must be a number");if("number"!=typeof em||em<2)throw Error("qByteLen must be a number");if("function"!=typeof ew)throw Error("hmacFn must be a function");let eM=rM(eb),eC=rM(eb),eT=0,e_=()=>{eM.fill(1),eC.fill(0),eT=0},eE=(...eb)=>ew(eC,eM,...eb),eS=(eb=rM())=>{eC=eE(rC([0]),eb),eM=eE(),0!==eb.length&&(eC=eE(rC([1]),eb),eM=eE())},eA=()=>{if(eT++>=1e3)throw Error("drbg: tried 1000 values");let eb=0,ew=[];for(;eb{let ew;for(e_(),eS(eb);!(ew=em(eA()));)eS();return e_(),ew};return eN}let rT={bigint:eb=>"bigint"==typeof eb,function:eb=>"function"==typeof eb,boolean:eb=>"boolean"==typeof eb,string:eb=>"string"==typeof eb,stringOrUint8Array:eb=>"string"==typeof eb||nB(eb),isSafeInteger:eb=>Number.isSafeInteger(eb),array:eb=>Array.isArray(eb),field:(eb,em)=>em.Fp.isValid(eb),hash:eb=>"function"==typeof eb&&Number.isSafeInteger(eb.outputLen)};function r_(eb,em,ew={}){let eM=(em,ew,eM)=>{let eC=rT[ew];if("function"!=typeof eC)throw Error("invalid validator function");let eT=eb[em];if((!eM||void 0!==eT)&&!eC(eT,eb))throw Error("param "+String(em)+" is invalid. Expected "+ew+", got "+eT)};for(let[eb,ew]of Object.entries(em))eM(eb,ew,!1);for(let[eb,em]of Object.entries(ew))eM(eb,em,!0);return eb}let rE=()=>{throw Error("not implemented")};function rS(eb){let em=new WeakMap;return(ew,...eM)=>{let eC=em.get(ew);if(void 0!==eC)return eC;let eT=eb(ew,...eM);return em.set(ew,eT),eT}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let rA=BigInt(0),rN=BigInt(1),rI=BigInt(2),rD=BigInt(3),rO=BigInt(4),rP=BigInt(5),rR=BigInt(8);function rB(eb,em){let ew=eb%em;return ew>=rA?ew:em+ew}function rF(eb,em,ew){if(emrA;)em&rN&&(eM=eM*eb%ew),eb=eb*eb%ew,em>>=rN;return eM}function rj(eb,em,ew){let eM=eb;for(;em-- >rA;)eM*=eM,eM%=ew;return eM}function rU(eb,em){if(eb===rA)throw Error("invert: expected non-zero number");if(em<=rA)throw Error("invert: expected positive modulus, got "+em);let ew=rB(eb,em),eM=em,eC=rA,eT=rN,e_=rN,eE=rA;for(;ew!==rA;){let eb=eM/ew,em=eM%ew,eS=eC-e_*eb,eA=eT-eE*eb;eM=ew,ew=em,eC=e_,eT=eE,e_=eS,eE=eA}let eS=eM;if(eS!==rN)throw Error("invert: does not exist");return rB(eC,em)}function rV(eb){let em,ew,eM;let eC=(eb-rN)/rI;for(em=eb-rN,ew=0;em%rI===rA;em/=rI,ew++);for(eM=rI;eM1e3)throw Error("Cannot find square root: likely non-prime P");if(1===ew){let em=(eb+rN)/rO;return function(eb,ew){let eM=eb.pow(ew,em);if(!eb.eql(eb.sqr(eM),ew))throw Error("Cannot find square root");return eM}}let eT=(em+rN)/rI;return function(eb,e_){if(eb.pow(e_,eC)===eb.neg(eb.ONE))throw Error("Cannot find square root");let eE=ew,eS=eb.pow(eb.mul(eb.ONE,eM),em),eA=eb.pow(e_,eT),eN=eb.pow(e_,em);for(;!eb.eql(eN,eb.ONE);){if(eb.eql(eN,eb.ZERO))return eb.ZERO;let em=1;for(let ew=eb.sqr(eN);em(rB(eb,em)&rN)===rN,rq=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function rW(eb){let em={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},ew=rq.reduce((eb,em)=>(eb[em]="function",eb),em);return r_(eb,ew)}function rZ(eb,em,ew){if(ewrA;)ew&rN&&(eM=eb.mul(eM,eC)),eC=eb.sqr(eC),ew>>=rN;return eM}function rK(eb,em){let ew=Array(em.length),eM=em.reduce((em,eM,eC)=>eb.is0(eM)?em:(ew[eC]=em,eb.mul(em,eM)),eb.ONE),eC=eb.inv(eM);return em.reduceRight((em,eM,eC)=>eb.is0(eM)?em:(ew[eC]=eb.mul(em,ew[eC]),eb.mul(em,eM)),eC),ew}function rG(eb,em){let ew=void 0!==em?em:eb.toString(2).length,eM=Math.ceil(ew/8);return{nBitLength:ew,nByteLength:eM}}function rY(eb,em,ew=!1,eM={}){let eC;if(eb<=rA)throw Error("invalid field: expected ORDER > 0, got "+eb);let{nBitLength:eT,nByteLength:e_}=rG(eb,em);if(e_>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");let eE=Object.freeze({ORDER:eb,BITS:eT,BYTES:e_,MASK:rw(eT),ZERO:rA,ONE:rN,create:em=>rB(em,eb),isValid:em=>{if("bigint"!=typeof em)throw Error("invalid field element: expected bigint, got "+typeof em);return rA<=em&&emeb===rA,isOdd:eb=>(eb&rN)===rN,neg:em=>rB(-em,eb),eql:(eb,em)=>eb===em,sqr:em=>rB(em*em,eb),add:(em,ew)=>rB(em+ew,eb),sub:(em,ew)=>rB(em-ew,eb),mul:(em,ew)=>rB(em*ew,eb),pow:(eb,em)=>rZ(eE,eb,em),div:(em,ew)=>rB(em*rU(ew,eb),eb),sqrN:eb=>eb*eb,addN:(eb,em)=>eb+em,subN:(eb,em)=>eb-em,mulN:(eb,em)=>eb*em,inv:em=>rU(em,eb),sqrt:eM.sqrt||(em=>(eC||(eC=rH(eb)),eC(eE,em))),invertBatch:eb=>rK(eE,eb),cmov:(eb,em,ew)=>ew?em:eb,toBytes:eb=>ew?nJ(eb,e_):nY(eb,e_),fromBytes:eb=>{if(eb.length!==e_)throw Error("Field.fromBytes: expected "+e_+" bytes, got "+eb.length);return ew?nG(eb):nK(eb)}});return Object.freeze(eE)}function rJ(eb){if("bigint"!=typeof eb)throw Error("field order must be bigint");let em=eb.toString(2).length;return Math.ceil(em/8)}function rX(eb){let em=rJ(eb);return em+Math.ceil(em/2)}function rQ(eb,em,ew=!1){let eM=eb.length,eC=rJ(em),eT=rX(em);if(eM<16||eM1024)throw Error("expected "+eT+"-1024 bytes of input, got "+eM);let e_=ew?nK(eb):nG(eb),eE=rB(e_,em-rN)+rN;return ew?nJ(eE,eC):nY(eE,eC)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let aM=BigInt(0),aC=BigInt(1);function ak(eb,em){let ew=em.negate();return eb?ew:em}function a_(eb,em){if(!Number.isSafeInteger(eb)||eb<=0||eb>em)throw Error("invalid window size, expected [1.."+em+"], got W="+eb)}function aE(eb,em){a_(eb,em);let ew=Math.ceil(em/eb)+1,eM=2**(eb-1);return{windows:ew,windowSize:eM}}function aS(eb,em){if(!Array.isArray(eb))throw Error("array expected");eb.forEach((eb,ew)=>{if(!(eb instanceof em))throw Error("invalid point at index "+ew)})}function aN(eb,em){if(!Array.isArray(eb))throw Error("array of scalars expected");eb.forEach((eb,ew)=>{if(!em.isValid(eb))throw Error("invalid scalar at index "+ew)})}let aI=new WeakMap,aD=new WeakMap;function aO(eb){return aD.get(eb)||1}function aP(eb,em){return{constTimeNegate:ak,hasPrecomputes:eb=>1!==aO(eb),unsafeLadder(em,ew,eM=eb.ZERO){let eC=em;for(;ew>aM;)ew&aC&&(eM=eM.add(eC)),eC=eC.double(),ew>>=aC;return eM},precomputeWindow(eb,ew){let{windows:eM,windowSize:eC}=aE(ew,em),eT=[],e_=eb,eE=e_;for(let eb=0;eb>=eI,ew>e_&&(ew-=eN,eC+=aC);let eT=em,eD=em+Math.abs(ew)-1,eO=eb%2!=0,eP=ew<0;0===ew?eS=eS.add(ak(eO,eM[eT])):eE=eE.add(ak(eP,eM[eD]))}return{p:eE,f:eS}},wNAFUnsafe(ew,eM,eC,eT=eb.ZERO){let{windows:e_,windowSize:eE}=aE(ew,em),eS=BigInt(2**ew-1),eA=2**ew,eN=BigInt(ew);for(let eb=0;eb>=eN,ew>eE&&(ew-=eA,eC+=aC),0===ew)continue;let e_=eM[em+Math.abs(ew)-1];ew<0&&(e_=e_.negate()),eT=eT.add(e_)}return eT},getPrecomputes(eb,em,ew){let eM=aI.get(em);return eM||(eM=this.precomputeWindow(em,eb),1!==eb&&aI.set(em,ew(eM))),eM},wNAFCached(eb,em,ew){let eM=aO(eb);return this.wNAF(eM,this.getPrecomputes(eM,eb,ew),em)},wNAFCachedUnsafe(eb,em,ew,eM){let eC=aO(eb);return 1===eC?this.unsafeLadder(eb,em,eM):this.wNAFUnsafe(eC,this.getPrecomputes(eC,eb,ew),em,eM)},setWindowSize(eb,ew){a_(ew,em),aD.set(eb,ew),aI.delete(eb)}}}function aR(eb,em,ew,eM){if(aS(ew,eb),aN(eM,em),ew.length!==eM.length)throw Error("arrays of points and scalars must have equal length");let eC=eb.ZERO,eT=n7(BigInt(ew.length)),e_=eT>12?eT-3:eT>4?eT-2:eT?2:1,eE=(1<=0;eb-=e_){eS.fill(eC);for(let em=0;em>BigInt(eb)&BigInt(eE));eS[eT]=eS[eT].add(ew[em])}let em=eC;for(let eb=eS.length-1,ew=eC;eb>0;eb--)ew=ew.add(eS[eb]),em=em.add(ew);if(eN=eN.add(em),0!==eb)for(let eb=0;eb{try{return{isValid:!0,value:ew.sqrt(eb*ew.inv(em))}}catch(eb){return{isValid:!1,value:aj}}}),eO=em.adjustScalarBytes||(eb=>eb),eP=em.domain||((eb,em,ew)=>{if(nj("phflag",ew),em.length||ew)throw Error("Contexts/pre-hash are not supported");return eb});function eR(eb,em){n9("coordinate "+eb,em,aj,eA)}function eB(eb){if(!(eb instanceof eU))throw Error("ExtendedPoint expected")}let eF=rS((eb,em)=>{let{ex:eM,ey:eC,ez:eT}=eb,e_=eb.is0();null==em&&(em=e_?aH:ew.inv(eT));let eE=eN(eM*em),eS=eN(eC*em),eA=eN(eT*em);if(e_)return{x:aj,y:aU};if(eA!==aU)throw Error("invZ was invalid");return{x:eE,y:eS}}),ej=rS(eb=>{let{a:ew,d:eM}=em;if(eb.is0())throw Error("bad point: ZERO");let{ex:eC,ey:eT,ez:e_,et:eE}=eb,eS=eN(eC*eC),eA=eN(eT*eT),eI=eN(e_*e_),eD=eN(eI*eI),eO=eN(eS*ew),eP=eN(eI*eN(eO+eA)),eR=eN(eD+eN(eM*eN(eS*eA)));if(eP!==eR)throw Error("bad point: equation left != right (1)");let eB=eN(eC*eT),eF=eN(e_*eE);if(eB!==eF)throw Error("bad point: equation left != right (2)");return!0});class eU{constructor(eb,em,ew,eM){this.ex=eb,this.ey=em,this.ez=ew,this.et=eM,eR("x",eb),eR("y",em),eR("z",ew),eR("t",eM),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(eb){if(eb instanceof eU)throw Error("extended point not allowed");let{x:em,y:ew}=eb||{};return eR("x",em),eR("y",ew),new eU(em,ew,aU,eN(em*ew))}static normalizeZ(eb){let em=ew.invertBatch(eb.map(eb=>eb.ez));return eb.map((eb,ew)=>eb.toAffine(em[ew])).map(eU.fromAffine)}static msm(eb,em){return aR(eU,eI,eb,em)}_setWindowSize(eb){e$.setWindowSize(this,eb)}assertValidity(){ej(this)}equals(eb){eB(eb);let{ex:em,ey:ew,ez:eM}=this,{ex:eC,ey:eT,ez:e_}=eb,eE=eN(em*e_),eS=eN(eC*eM),eA=eN(ew*e_),eI=eN(eT*eM);return eE===eS&&eA===eI}is0(){return this.equals(eU.ZERO)}negate(){return new eU(eN(-this.ex),this.ey,this.ez,eN(-this.et))}double(){let{a:eb}=em,{ex:ew,ey:eM,ez:eC}=this,eT=eN(ew*ew),e_=eN(eM*eM),eE=eN(aV*eN(eC*eC)),eS=eN(eb*eT),eA=ew+eM,eI=eN(eN(eA*eA)-eT-e_),eD=eS+e_,eO=eD-eE,eP=eS-e_,eR=eN(eI*eO),eB=eN(eD*eP),eF=eN(eI*eP),ej=eN(eO*eD);return new eU(eR,eB,ej,eF)}add(eb){eB(eb);let{a:ew,d:eM}=em,{ex:eC,ey:eT,ez:e_,et:eE}=this,{ex:eS,ey:eA,ez:eI,et:eD}=eb;if(ew===BigInt(-1)){let eb=eN((eT-eC)*(eA+eS)),em=eN((eT+eC)*(eA-eS)),ew=eN(em-eb);if(ew===aj)return this.double();let eM=eN(e_*aV*eD),eO=eN(eE*aV*eI),eP=eO+eM,eR=em+eb,eB=eO-eM,eF=eN(eP*ew),ej=eN(eR*eB),eV=eN(eP*eB),eH=eN(ew*eR);return new eU(eF,ej,eH,eV)}let eO=eN(eC*eS),eP=eN(eT*eA),eR=eN(eE*eM*eD),eF=eN(e_*eI),ej=eN((eC+eT)*(eS+eA)-eO-eP),eV=eF-eR,eH=eF+eR,e$=eN(eP-ew*eO),eW=eN(ej*eV),eZ=eN(eH*e$),eK=eN(ej*e$),eG=eN(eV*eH);return new eU(eW,eZ,eG,eK)}subtract(eb){return this.add(eb.negate())}wNAF(eb){return e$.wNAFCached(this,eb,eU.normalizeZ)}multiply(eb){let em=eb;n9("scalar",em,aU,eM);let{p:ew,f:eC}=this.wNAF(em);return eU.normalizeZ([ew,eC])[0]}multiplyUnsafe(eb,em=eU.ZERO){let ew=eb;return(n9("scalar",ew,aj,eM),ew===aj)?eH:this.is0()||ew===aU?this:e$.wNAFCachedUnsafe(this,ew,eU.normalizeZ,em)}isSmallOrder(){return this.multiplyUnsafe(eS).is0()}isTorsionFree(){return e$.unsafeLadder(this,eM).is0()}toAffine(eb){return eF(this,eb)}clearCofactor(){let{h:eb}=em;return eb===aU?this:this.multiplyUnsafe(eb)}static fromHex(eb,eM=!1){let{d:eC,a:eT}=em,e_=ew.BYTES;eb=nQ("pointHex",eb,e_),nj("zip215",eM);let eE=eb.slice(),eS=eb[e_-1];eE[e_-1]=-129&eS;let eI=nG(eE),eO=eM?eA:ew.ORDER;n9("pointHex.y",eI,aj,eO);let eP=eN(eI*eI),eR=eN(eP-aU),eB=eN(eC*eP-eT),{isValid:eF,value:ej}=eD(eR,eB);if(!eF)throw Error("Point.fromHex: invalid y coordinate");let eV=(ej&aU)===aU,eH=(128&eS)!=0;if(!eM&&ej===aj&&eH)throw Error("Point.fromHex: x=0 and x_0=1");return eH!==eV&&(ej=eN(-ej)),eU.fromAffine({x:ej,y:eI})}static fromPrivateKey(eb){return eK(eb).point}toRawBytes(){let{x:eb,y:em}=this.toAffine(),eM=nJ(em,ew.BYTES);return eM[eM.length-1]|=eb&aU?128:0,eM}toHex(){return nV(this.toRawBytes())}}eU.BASE=new eU(em.Gx,em.Gy,aU,eN(em.Gx*em.Gy)),eU.ZERO=new eU(aj,aU,aU,aj);let{BASE:eV,ZERO:eH}=eU,e$=aP(eU,8*eE);function eW(eb){return rB(eb,eM)}function eZ(eb){return eW(nG(eb))}function eK(eb){let em=ew.BYTES;eb=nQ("private key",eb,em);let eM=nQ("hashed private key",eT(eb),2*em),eC=eO(eM.slice(0,em)),e_=eM.slice(em,2*em),eE=eZ(eC),eS=eV.multiply(eE),eA=eS.toRawBytes();return{head:eC,prefix:e_,scalar:eE,point:eS,pointBytes:eA}}function eG(eb){return eK(eb).pointBytes}function eY(eb=new Uint8Array,...em){let ew=n6(...em);return eZ(eT(eP(ew,nQ("context",eb),!!eC)))}function eJ(eb,em,eT={}){eb=nQ("message",eb),eC&&(eb=eC(eb));let{prefix:e_,scalar:eE,pointBytes:eS}=eK(em),eA=eY(eT.context,e_,eb),eN=eV.multiply(eA).toRawBytes(),eI=eY(eT.context,eN,eS,eb),eD=eW(eA+eI*eE);n9("signature.s",eD,aj,eM);let eO=n6(eN,nJ(eD,ew.BYTES));return nQ("result",eO,2*ew.BYTES)}let eX=a$;function eQ(eb,em,eM,eT=eX){let e_,eE,eS;let{context:eA,zip215:eN}=eT,eI=ew.BYTES;eb=nQ("signature",eb,2*eI),em=nQ("message",em),eM=nQ("publicKey",eM,eI),void 0!==eN&&nj("zip215",eN),eC&&(em=eC(em));let eD=nG(eb.slice(eI,2*eI));try{e_=eU.fromHex(eM,eN),eE=eU.fromHex(eb.slice(0,eI),eN),eS=eV.multiplyUnsafe(eD)}catch(eb){return!1}if(!eN&&e_.isSmallOrder())return!1;let eO=eY(eA,eE.toRawBytes(),e_.toRawBytes(),em),eP=eE.add(e_.multiplyUnsafe(eO));return eP.subtract(eS).clearCofactor().equals(eU.ZERO)}eV._setWindowSize(8);let e0={getExtendedPublicKey:eK,randomPrivateKey:()=>e_(ew.BYTES),precompute:(eb=8,em=eU.BASE)=>(em._setWindowSize(eb),em.multiply(BigInt(3)),em)};return{CURVE:em,getPublicKey:eG,sign:eJ,verify:eQ,ExtendedPoint:eU,utils:e0}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let aZ=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),aK=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),aG=BigInt(0),aY=BigInt(1),aJ=BigInt(2);BigInt(3);let aQ=BigInt(5),ib=BigInt(8);function iy(eb){let em=BigInt(10),ew=BigInt(20),eM=BigInt(40),eC=BigInt(80),eT=aZ,e_=eb*eb%eT,eE=e_*eb%eT,eS=rj(eE,aJ,eT)*eE%eT,eA=rj(eS,aY,eT)*eb%eT,eN=rj(eA,aQ,eT)*eA%eT,eI=rj(eN,em,eT)*eN%eT,eD=rj(eI,ew,eT)*eI%eT,eO=rj(eD,eM,eT)*eD%eT,eP=rj(eO,eC,eT)*eO%eT,eR=rj(eP,eC,eT)*eO%eT,eB=rj(eR,em,eT)*eN%eT,eF=rj(eB,aJ,eT)*eb%eT;return{pow_p_5_8:eF,b2:eE}}function iw(eb){return eb[0]&=248,eb[31]&=127,eb[31]|=64,eb}function iM(eb,em){let ew=aZ,eM=rB(em*em*em,ew),eC=rB(eM*eM*em,ew),eT=iy(eb*eC).pow_p_5_8,e_=rB(eb*eM*eT,ew),eE=rB(em*e_*e_,ew),eS=e_,eA=rB(e_*aK,ew),eN=eE===eb,eI=eE===rB(-eb,ew),eD=eE===rB(-eb*aK,ew);return eN&&(e_=eS),(eI||eD)&&(e_=eA),r$(e_,ew)&&(e_=rB(-e_,ew)),{isValid:eN||eI,value:e_}}let iC=rY(aZ,void 0,!0),iT={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:iC,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:ib,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:nD,randomBytes:tE,adjustScalarBytes:iw,uvRatio:iM},i_=aW(iT);function iE(eb){if(!(eb instanceof iF))throw Error("RistrettoPoint expected")}let iS=null,iA=null,iN=null,iI=null,iD=null,iO=eb=>iM(aY,eb),iP=null,iR=eb=>i_.CURVE.Fp.create(bytesToNumberLE(eb)&iP);function iB(eb){let{d:em}=i_.CURVE,ew=i_.CURVE.Fp.ORDER,eM=i_.CURVE.Fp.create,eC=eM(iS*eb*eb),eT=eM((eC+aY)*iI),e_=BigInt(-1),eE=eM((e_-em*eC)*eM(eC+em)),{isValid:eS,value:eA}=iM(eT,eE),eN=eM(eA*eb);isNegativeLE(eN,ew)||(eN=eM(-eN)),eS||(eA=eN),eS||(e_=eC);let eI=eM(e_*(eC-aY)*iD-eE),eD=eA*eA,eO=eM((eA+eA)*eE),eP=eM(eI*iA),eR=eM(aY-eD),eB=eM(aY+eD);return new i_.ExtendedPoint(eM(eO*eB),eM(eR*eP),eM(eP*eB),eM(eO*eR))}class iF{constructor(eb){this.ep=eb}static fromAffine(eb){return new iF(i_.ExtendedPoint.fromAffine(eb))}static hashToCurve(eb){eb=ensureBytes("ristrettoHash",eb,64);let em=iR(eb.slice(0,32)),ew=iB(em),eM=iR(eb.slice(32,64)),eC=iB(eM);return new iF(ew.add(eC))}static fromHex(eb){eb=ensureBytes("ristrettoHex",eb,32);let{a:em,d:ew}=i_.CURVE,eM=i_.CURVE.Fp.ORDER,eC=i_.CURVE.Fp.create,eT="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",e_=iR(eb);if(!equalBytes(numberToBytesLE(e_,32),eb)||isNegativeLE(e_,eM))throw Error(eT);let eE=eC(e_*e_),eS=eC(aY+em*eE),eA=eC(aY-em*eE),eN=eC(eS*eS),eI=eC(eA*eA),eD=eC(em*ew*eN-eI),{isValid:eO,value:eP}=iO(eC(eD*eI)),eR=eC(eP*eA),eB=eC(eP*eR*eD),eF=eC((e_+e_)*eR);isNegativeLE(eF,eM)&&(eF=eC(-eF));let ej=eC(eS*eB),eU=eC(eF*ej);if(!eO||isNegativeLE(eU,eM)||ej===aG)throw Error(eT);return new iF(new i_.ExtendedPoint(eF,ej,aY,eU))}toRawBytes(){let eb,{ex:em,ey:ew,ez:eM,et:eC}=this.ep,eT=i_.CURVE.Fp.ORDER,e_=i_.CURVE.Fp.create,eE=e_(e_(eM+ew)*e_(eM-ew)),eS=e_(em*ew),eA=e_(eS*eS),{value:eN}=iO(e_(eE*eA)),eI=e_(eN*eE),eD=e_(eN*eS),eO=e_(eI*eD*eC);if(isNegativeLE(eC*eO,eT)){let eM=e_(ew*iS),eC=e_(em*iS);em=eM,ew=eC,eb=e_(eI*iN)}else eb=eD;isNegativeLE(em*eO,eT)&&(ew=e_(-ew));let eP=e_((eM-ew)*eb);return isNegativeLE(eP,eT)&&(eP=e_(-eP)),numberToBytesLE(eP,32)}toHex(){return bytesToHex(this.toRawBytes())}toString(){return this.toHex()}equals(eb){iE(eb);let{ex:em,ey:ew}=this.ep,{ex:eM,ey:eC}=eb.ep,eT=i_.CURVE.Fp.create,e_=eT(em*eC)===eT(ew*eM),eE=eT(ew*eC)===eT(em*eM);return e_||eE}add(eb){return iE(eb),new iF(this.ep.add(eb.ep))}subtract(eb){return iE(eb),new iF(this.ep.subtract(eb.ep))}multiply(eb){return new iF(this.ep.multiply(eb))}multiplyUnsafe(eb){return new iF(this.ep.multiplyUnsafe(eb))}double(){return new iF(this.ep.double())}negate(){return new iF(this.ep.negate())}}var ij=ew(13550),iU=ew.n(ij),iV=ew(10011),iH=ew.n(iV);function i$(eb){if(!Number.isSafeInteger(eb)||eb<0)throw Error("positive integer expected, got "+eb)}function iq(eb){return eb instanceof Uint8Array||ArrayBuffer.isView(eb)&&"Uint8Array"===eb.constructor.name}function iW(eb,...em){if(!iq(eb))throw Error("Uint8Array expected");if(em.length>0&&!em.includes(eb.length))throw Error("Uint8Array expected of length "+em+", got length="+eb.length)}function iZ(eb,em=!0){if(eb.destroyed)throw Error("Hash instance has been destroyed");if(em&&eb.finished)throw Error("Hash#digest() has already been called")}function iK(eb,em){iW(eb);let ew=em.outputLen;if(eb.lengthnew Uint32Array(eb.buffer,eb.byteOffset,Math.floor(eb.byteLength/4)),iJ=eb=>new DataView(eb.buffer,eb.byteOffset,eb.byteLength),iQ=(eb,em)=>eb<<32-em|eb>>>em,i6=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0],i4=eb=>eb<<24&4278190080|eb<<8&16711680|eb>>>8&65280|eb>>>24&255;function i3(eb){for(let em=0;emem.toString(16).padStart(2,"0"));class i9{clone(){return this._cloneInto()}}function i7(eb){let em=em=>eb().update(i8(em)).digest(),ew=eb();return em.outputLen=ew.outputLen,em.blockLen=ew.blockLen,em.create=()=>eb(),em}function cz(eb,em,ew,eM){if("function"==typeof eb.setBigUint64)return eb.setBigUint64(em,ew,eM);let eC=BigInt(32),eT=BigInt(4294967295),e_=Number(ew>>eC&eT),eE=Number(ew&eT),eS=eM?4:0,eA=eM?0:4;eb.setUint32(em+eS,e_,eM),eb.setUint32(em+eA,eE,eM)}let cw=(eb,em,ew)=>eb&em^~eb&ew,cM=(eb,em,ew)=>eb&em^eb&ew^em&ew;class cC extends i9{constructor(eb,em,ew,eM){super(),this.blockLen=eb,this.outputLen=em,this.padOffset=ew,this.isLE=eM,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(eb),this.view=iJ(this.buffer)}update(eb){iZ(this);let{view:em,buffer:ew,blockLen:eM}=this;eb=i8(eb);let eC=eb.length;for(let eT=0;eTeM-eT&&(this.process(ew,0),eT=0);for(let eb=eT;ebeA.length)throw Error("_sha2: outputLen bigger than state");for(let eb=0;eb>>3,eC=iQ(ew,17)^iQ(ew,19)^ew>>>10;c_[eb]=eC+c_[eb-7]+eM+c_[eb-16]|0}let{A:ew,B:eM,C:eC,D:eT,E:e_,F:eE,G:eS,H:eA}=this;for(let eb=0;eb<64;eb++){let em=iQ(e_,6)^iQ(e_,11)^iQ(e_,25),eN=eA+em+cw(e_,eE,eS)+ck[eb]+c_[eb]|0,eI=iQ(ew,2)^iQ(ew,13)^iQ(ew,22),eD=eI+cM(ew,eM,eC)|0;eA=eS,eS=eE,eE=e_,e_=eT+eN|0,eT=eC,eC=eM,eM=ew,ew=eN+eD|0}ew=ew+this.A|0,eM=eM+this.B|0,eC=eC+this.C|0,eT=eT+this.D|0,e_=e_+this.E|0,eE=eE+this.F|0,eS=eS+this.G|0,eA=eA+this.H|0,this.set(ew,eM,eC,eT,e_,eE,eS,eA)}roundClean(){c_.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}let cS=i7(()=>new cE);var cA=ew(25532),cN=ew(39386),cI=ew(40475);class cD extends TypeError{constructor(eb,em){let ew;let{message:eM,explanation:eC,...eT}=eb,{path:e_}=eb,eE=0===e_.length?eM:`At path: ${e_.join(".")} -- ${eM}`;super(eC??eE),null!=eC&&(this.cause=eE),Object.assign(this,eT),this.name=this.constructor.name,this.failures=()=>ew??(ew=[eb,...em()])}}function cO(eb){return cP(eb)&&"function"==typeof eb[Symbol.iterator]}function cP(eb){return"object"==typeof eb&&null!=eb}function cR(eb){return cP(eb)&&!Array.isArray(eb)}function cB(eb){return"symbol"==typeof eb?eb.toString():"string"==typeof eb?JSON.stringify(eb):`${eb}`}function cF(eb){let{done:em,value:ew}=eb.next();return em?void 0:ew}function cj(eb,em,ew,eM){if(!0===eb)return;!1===eb?eb={}:"string"==typeof eb&&(eb={message:eb});let{path:eC,branch:eT}=em,{type:e_}=ew,{refinement:eE,message:eS=`Expected a value of type \`${e_}\`${eE?` with refinement \`${eE}\``:""}, but received: \`${cB(eM)}\``}=eb;return{value:eM,type:e_,refinement:eE,key:eC[eC.length-1],path:eC,branch:eT,...eb,message:eS}}function*cU(eb,em,ew,eM){for(let eC of(cO(eb)||(eb=[eb]),eb)){let eb=cj(eC,em,ew,eM);eb&&(yield eb)}}function*cV(eb,em,ew={}){let{path:eM=[],branch:eC=[eb],coerce:eT=!1,mask:e_=!1}=ew,eE={path:eM,branch:eC,mask:e_};eT&&(eb=em.coercer(eb,eE));let eS="valid";for(let eM of em.validator(eb,eE))eM.explanation=ew.message,eS="not_valid",yield[eM,void 0];for(let[eA,eN,eI]of em.entries(eb,eE)){let em=cV(eN,eI,{path:void 0===eA?eM:[...eM,eA],branch:void 0===eA?eC:[...eC,eN],coerce:eT,mask:e_,message:ew.message});for(let ew of em)ew[0]?(eS=null!=ew[0].refinement?"not_refined":"not_valid",yield[ew[0],void 0]):eT&&(eN=ew[1],void 0===eA?eb=eN:eb instanceof Map?eb.set(eA,eN):eb instanceof Set?eb.add(eN):cP(eb)&&(void 0!==eN||eA in eb)&&(eb[eA]=eN))}if("not_valid"!==eS)for(let eM of em.refiner(eb,eE))eM.explanation=ew.message,eS="not_refined",yield[eM,void 0];"valid"===eS&&(yield[void 0,eb])}class cH{constructor(eb){let{type:em,schema:ew,validator:eM,refiner:eC,coercer:eT=eb=>eb,entries:e_=function*(){}}=eb;this.type=em,this.schema=ew,this.entries=e_,this.coercer=eT,eM?this.validator=(eb,em)=>{let ew=eM(eb,em);return cU(ew,em,this,eb)}:this.validator=()=>[],eC?this.refiner=(eb,em)=>{let ew=eC(eb,em);return cU(ew,em,this,eb)}:this.refiner=()=>[]}assert(eb,em){return c$(eb,this,em)}create(eb,em){return cq(eb,this,em)}is(eb){return cZ(eb,this)}mask(eb,em){return cW(eb,this,em)}validate(eb,em={}){return cK(eb,this,em)}}function c$(eb,em,ew){let eM=cK(eb,em,{message:ew});if(eM[0])throw eM[0]}function cq(eb,em,ew){let eM=cK(eb,em,{coerce:!0,message:ew});if(!eM[0])return eM[1];throw eM[0]}function cW(eb,em,ew){let eM=cK(eb,em,{coerce:!0,mask:!0,message:ew});if(!eM[0])return eM[1];throw eM[0]}function cZ(eb,em){let ew=cK(eb,em);return!ew[0]}function cK(eb,em,ew={}){let eM=cV(eb,em,ew),eC=cF(eM);if(eC[0]){let eb=new cD(eC[0],function*(){for(let eb of eM)eb[0]&&(yield eb[0])});return[eb,void 0]}{let eb=eC[1];return[void 0,eb]}}function cG(eb,em){return new cH({type:eb,schema:null,validator:em})}function cY(){return cG("any",()=>!0)}function cJ(eb){return new cH({type:"array",schema:eb,*entries(em){if(eb&&Array.isArray(em))for(let[ew,eM]of em.entries())yield[ew,eM,eb]},coercer:eb=>Array.isArray(eb)?eb.slice():eb,validator:eb=>Array.isArray(eb)||`Expected an array value, but received: ${cB(eb)}`})}function cX(){return cG("boolean",eb=>"boolean"==typeof eb)}function cQ(eb){return cG("instance",em=>em instanceof eb||`Expected a \`${eb.name}\` instance, but received: ${cB(em)}`)}function sb(eb){let em=cB(eb),ew=typeof eb;return new cH({type:"literal",schema:"string"===ew||"number"===ew||"boolean"===ew?eb:null,validator:ew=>ew===eb||`Expected the literal \`${em}\`, but received: ${cB(ew)}`})}function sM(){return cG("never",()=>!1)}function sC(eb){return new cH({...eb,validator:(em,ew)=>null===em||eb.validator(em,ew),refiner:(em,ew)=>null===em||eb.refiner(em,ew)})}function sT(){return cG("number",eb=>"number"==typeof eb&&!isNaN(eb)||`Expected a number, but received: ${cB(eb)}`)}function sE(eb){return new cH({...eb,validator:(em,ew)=>void 0===em||eb.validator(em,ew),refiner:(em,ew)=>void 0===em||eb.refiner(em,ew)})}function sS(eb,em){return new cH({type:"record",schema:null,*entries(ew){if(cP(ew))for(let eM in ew){let eC=ew[eM];yield[eM,eM,eb],yield[eM,eC,em]}},validator:eb=>cR(eb)||`Expected an object, but received: ${cB(eb)}`,coercer:eb=>cR(eb)?{...eb}:eb})}function sA(){return cG("string",eb=>"string"==typeof eb||`Expected a string, but received: ${cB(eb)}`)}function sN(eb){let em=sM();return new cH({type:"tuple",schema:null,*entries(ew){if(Array.isArray(ew)){let eM=Math.max(eb.length,ew.length);for(let eC=0;eCArray.isArray(eb)||`Expected an array, but received: ${cB(eb)}`,coercer:eb=>Array.isArray(eb)?eb.slice():eb})}function sI(eb){let em=Object.keys(eb);return new cH({type:"type",schema:eb,*entries(ew){if(cP(ew))for(let eM of em)yield[eM,ew[eM],eb[eM]]},validator:eb=>cR(eb)||`Expected an object, but received: ${cB(eb)}`,coercer:eb=>cR(eb)?{...eb}:eb})}function sD(eb){let em=eb.map(eb=>eb.type).join(" | ");return new cH({type:"union",schema:null,coercer(em,ew){for(let eM of eb){let[eb,eC]=eM.validate(em,{coerce:!0,mask:ew.mask});if(!eb)return eC}return em},validator(ew,eM){let eC=[];for(let em of eb){let[...eb]=cV(ew,em,eM),[eT]=eb;if(!eT[0])return[];for(let[em]of eb)em&&eC.push(em)}return[`Expected the value to satisfy a union of \`${em}\`, but received: ${cB(ew)}`,...eC]}})}function sO(){return cG("unknown",()=>!0)}function sP(eb,em,ew){return new cH({...eb,coercer:(eM,eC)=>cZ(eM,em)?eb.coercer(ew(eM,eC),eC):eb.coercer(eM,eC)})}ew(31198),ew(84790);let sR=BigInt(4294967296-1),sB=BigInt(32);function sF(eb,em=!1){return em?{h:Number(eb&sR),l:Number(eb>>sB&sR)}:{h:0|Number(eb>>sB&sR),l:0|Number(eb&sR)}}function sj(eb,em=!1){let ew=new Uint32Array(eb.length),eM=new Uint32Array(eb.length);for(let eC=0;eCeb<>>32-ew,sV=(eb,em,ew)=>em<>>32-ew,sH=(eb,em,ew)=>em<>>64-ew,s$=(eb,em,ew)=>eb<>>64-ew,sq=[],sW=[],sZ=[],sK=BigInt(0),sG=BigInt(1),sY=BigInt(2),sJ=BigInt(7),sX=BigInt(256),sQ=BigInt(113);for(let eb=0,em=sG,ew=1,eM=0;eb<24;eb++){[ew,eM]=[eM,(2*ew+3*eM)%5],sq.push(2*(5*eM+ew)),sW.push((eb+1)*(eb+2)/2%64);let eC=sK;for(let eb=0;eb<7;eb++)(em=(em<>sJ)*sQ)%sX)&sY&&(eC^=sG<<(sG<ew>32?sH(eb,em,ew):sU(eb,em,ew),s8=(eb,em,ew)=>ew>32?s$(eb,em,ew):sV(eb,em,ew);function s9(eb,em=24){let ew=new Uint32Array(10);for(let eM=24-em;eM<24;eM++){for(let em=0;em<10;em++)ew[em]=eb[em]^eb[em+10]^eb[em+20]^eb[em+30]^eb[em+40];for(let em=0;em<10;em+=2){let eM=(em+8)%10,eC=(em+2)%10,eT=ew[eC],e_=ew[eC+1],eE=s5(eT,e_,1)^ew[eM],eS=s8(eT,e_,1)^ew[eM+1];for(let ew=0;ew<50;ew+=10)eb[em+ew]^=eE,eb[em+ew+1]^=eS}let em=eb[2],eC=eb[3];for(let ew=0;ew<24;ew++){let eM=sW[ew],eT=s5(em,eC,eM),e_=s8(em,eC,eM),eE=sq[ew];em=eb[eE],eC=eb[eE+1],eb[eE]=eT,eb[eE+1]=e_}for(let em=0;em<50;em+=10){for(let eM=0;eM<10;eM++)ew[eM]=eb[em+eM];for(let eM=0;eM<10;eM++)eb[em+eM]^=~ew[(eM+2)%10]&ew[(eM+4)%10]}eb[0]^=s6[eM],eb[1]^=s4[eM]}ew.fill(0)}class s7 extends i9{constructor(eb,em,ew,eM=!1,eC=24){if(super(),this.blockLen=eb,this.suffix=em,this.outputLen=ew,this.enableXOF=eM,this.rounds=eC,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,i$(ew),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=iG(this.state)}keccak(){i6||i3(this.state32),s9(this.state32,this.rounds),i6||i3(this.state32),this.posOut=0,this.pos=0}update(eb){iZ(this);let{blockLen:em,state:ew}=this;eb=i8(eb);let eM=eb.length;for(let eC=0;eC=ew&&this.keccak();let eT=Math.min(ew-this.posOut,eC-eM);eb.set(em.subarray(this.posOut,this.posOut+eT),eM),this.posOut+=eT,eM+=eT}return eb}xofInto(eb){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(eb)}xof(eb){return i$(eb),this.xofInto(new Uint8Array(eb))}digestInto(eb){if(iK(eb,this),this.finished)throw Error("digest() was already called");return this.writeInto(eb),this.destroy(),eb}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(eb){let{blockLen:em,suffix:ew,outputLen:eM,rounds:eC,enableXOF:eT}=this;return eb||(eb=new s7(em,ew,eM,eT,eC)),eb.state32.set(this.state32),eb.pos=this.pos,eb.posOut=this.posOut,eb.finished=this.finished,eb.rounds=eC,eb.suffix=ew,eb.outputLen=eM,eb.enableXOF=eT,eb.destroyed=this.destroyed,eb}}let om=(eb,em,ew)=>i7(()=>new s7(em,eb,ew)),oz=om(1,136,32),ow=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]),oM=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),oC=new Uint32Array(64);class oT extends tI{constructor(){super(64,32,8,!1),this.A=0|oM[0],this.B=0|oM[1],this.C=0|oM[2],this.D=0|oM[3],this.E=0|oM[4],this.F=0|oM[5],this.G=0|oM[6],this.H=0|oM[7]}get(){let{A:eb,B:em,C:ew,D:eM,E:eC,F:eT,G:e_,H:eE}=this;return[eb,em,ew,eM,eC,eT,e_,eE]}set(eb,em,ew,eM,eC,eT,e_,eE){this.A=0|eb,this.B=0|em,this.C=0|ew,this.D=0|eM,this.E=0|eC,this.F=0|eT,this.G=0|e_,this.H=0|eE}process(eb,em){for(let ew=0;ew<16;ew++,em+=4)oC[ew]=eb.getUint32(em,!1);for(let eb=16;eb<64;eb++){let em=oC[eb-15],ew=oC[eb-2],eM=e9(em,7)^e9(em,18)^em>>>3,eC=e9(ew,17)^e9(ew,19)^ew>>>10;oC[eb]=eC+oC[eb-7]+eM+oC[eb-16]|0}let{A:ew,B:eM,C:eC,D:eT,E:e_,F:eE,G:eS,H:eA}=this;for(let eb=0;eb<64;eb++){let em=e9(e_,6)^e9(e_,11)^e9(e_,25),eN=eA+em+tA(e_,eE,eS)+ow[eb]+oC[eb]|0,eI=e9(ew,2)^e9(ew,13)^e9(ew,22),eD=eI+tN(ew,eM,eC)|0;eA=eS,eS=eE,eE=e_,e_=eT+eN|0,eT=eC,eC=eM,eM=ew,ew=eN+eD|0}ew=ew+this.A|0,eM=eM+this.B|0,eC=eC+this.C|0,eT=eT+this.D|0,e_=e_+this.E|0,eE=eE+this.F|0,eS=eS+this.G|0,eA=eA+this.H|0,this.set(ew,eM,eC,eT,e_,eE,eS,eA)}roundClean(){oC.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}let o_=t_(()=>new oT);class oE extends tT{constructor(eb,em){super(),this.finished=!1,this.destroyed=!1,e6(eb);let ew=tw(em);if(this.iHash=eb.create(),"function"!=typeof this.iHash.update)throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let eM=this.blockLen,eC=new Uint8Array(eM);eC.set(ew.length>eM?eb.create().update(ew).digest():ew);for(let eb=0;ebnew oE(eb,em).update(ew).digest();/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function oA(eb){void 0!==eb.lowS&&nj("lowS",eb.lowS),void 0!==eb.prehash&&nj("prehash",eb.prehash)}function oN(eb){let em=aF(eb);r_(em,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:ew,Fp:eM,a:eC}=em;if(ew){if(!eM.eql(eC,eM.ZERO))throw Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if("object"!=typeof ew||"bigint"!=typeof ew.beta||"function"!=typeof ew.splitScalar)throw Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...em})}oS.create=(eb,em)=>new oE(eb,em);let{bytesToNumberBE:oI,hexToBytes:oD}=eP,oO={Err:class extends Error{constructor(eb=""){super(eb)}},_tlv:{encode:(eb,em)=>{let{Err:ew}=oO;if(eb<0||eb>256)throw new ew("tlv.encode: wrong tag");if(1&em.length)throw new ew("tlv.encode: unpadded data");let eM=em.length/2,eC=nH(eM);if(eC.length/2&128)throw new ew("tlv.encode: long form length too big");let eT=eM>127?nH(eC.length/2|128):"",e_=nH(eb);return e_+eT+eC+em},decode(eb,em){let{Err:ew}=oO,eM=0;if(eb<0||eb>256)throw new ew("tlv.encode: wrong tag");if(em.length<2||em[eM++]!==eb)throw new ew("tlv.decode: wrong tlv");let eC=em[eM++],eT=!!(128&eC),e_=0;if(eT){let eb=127&eC;if(!eb)throw new ew("tlv.decode(long): indefinite length not supported");if(eb>4)throw new ew("tlv.decode(long): byte length is too big");let eT=em.subarray(eM,eM+eb);if(eT.length!==eb)throw new ew("tlv.decode: length bytes not complete");if(0===eT[0])throw new ew("tlv.decode(long): zero leftmost byte");for(let eb of eT)e_=e_<<8|eb;if(eM+=eb,e_<128)throw new ew("tlv.decode(long): not minimal encoding")}else e_=eC;let eE=em.subarray(eM,eM+e_);if(eE.length!==e_)throw new ew("tlv.decode: wrong value length");return{v:eE,l:em.subarray(eM+e_)}}},_int:{encode(eb){let{Err:em}=oO;if(eb{let eC=em.toAffine();return n6(Uint8Array.from([4]),ew.toBytes(eC.x),ew.toBytes(eC.y))}),eT=em.fromBytes||(eb=>{let em=eb.subarray(1),eM=ew.fromBytes(em.subarray(0,ew.BYTES)),eC=ew.fromBytes(em.subarray(ew.BYTES,2*ew.BYTES));return{x:eM,y:eC}});function e_(eb){let{a:eM,b:eC}=em,eT=ew.sqr(eb),e_=ew.mul(eT,eb);return ew.add(ew.add(e_,ew.mul(eb,eM)),eC)}if(!ew.eql(ew.sqr(em.Gy),e_(em.Gx)))throw Error("bad generator point: equation left != right");function eE(eb){return n8(eb,oR,em.n)}function eS(eb){let ew;let{allowedPrivateKeyLengths:eM,nByteLength:eC,wrapPrivateKey:eT,n:e_}=em;if(eM&&"bigint"!=typeof eb){if(nB(eb)&&(eb=nV(eb)),"string"!=typeof eb||!eM.includes(eb.length))throw Error("invalid private key");eb=eb.padStart(2*eC,"0")}try{ew="bigint"==typeof eb?eb:nK(nQ("private key",eb,eC))}catch(em){throw Error("invalid private key, expected hex or "+eC+" bytes, got "+typeof eb)}return eT&&(ew=rB(ew,e_)),n9("private key",ew,oR,e_),ew}function eA(eb){if(!(eb instanceof eD))throw Error("ProjectivePoint expected")}let eN=rS((eb,em)=>{let{px:eM,py:eC,pz:eT}=eb;if(ew.eql(eT,ew.ONE))return{x:eM,y:eC};let e_=eb.is0();null==em&&(em=e_?ew.ONE:ew.inv(eT));let eE=ew.mul(eM,em),eS=ew.mul(eC,em),eA=ew.mul(eT,em);if(e_)return{x:ew.ZERO,y:ew.ZERO};if(!ew.eql(eA,ew.ONE))throw Error("invZ was invalid");return{x:eE,y:eS}}),eI=rS(eb=>{if(eb.is0()){if(em.allowInfinityPoint&&!ew.is0(eb.py))return;throw Error("bad point: ZERO")}let{x:eM,y:eC}=eb.toAffine();if(!ew.isValid(eM)||!ew.isValid(eC))throw Error("bad point: x or y not FE");let eT=ew.sqr(eC),eE=e_(eM);if(!ew.eql(eT,eE))throw Error("bad point: equation left != right");if(!eb.isTorsionFree())throw Error("bad point: not in prime-order subgroup");return!0});class eD{constructor(eb,em,eM){if(this.px=eb,this.py=em,this.pz=eM,null==eb||!ew.isValid(eb))throw Error("x required");if(null==em||!ew.isValid(em))throw Error("y required");if(null==eM||!ew.isValid(eM))throw Error("z required");Object.freeze(this)}static fromAffine(eb){let{x:em,y:eM}=eb||{};if(!eb||!ew.isValid(em)||!ew.isValid(eM))throw Error("invalid affine point");if(eb instanceof eD)throw Error("projective point not allowed");let eC=eb=>ew.eql(eb,ew.ZERO);return eC(em)&&eC(eM)?eD.ZERO:new eD(em,eM,ew.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(eb){let em=ew.invertBatch(eb.map(eb=>eb.pz));return eb.map((eb,ew)=>eb.toAffine(em[ew])).map(eD.fromAffine)}static fromHex(eb){let em=eD.fromAffine(eT(nQ("pointHex",eb)));return em.assertValidity(),em}static fromPrivateKey(eb){return eD.BASE.multiply(eS(eb))}static msm(eb,em){return aR(eD,eM,eb,em)}_setWindowSize(eb){eP.setWindowSize(this,eb)}assertValidity(){eI(this)}hasEvenY(){let{y:eb}=this.toAffine();if(ew.isOdd)return!ew.isOdd(eb);throw Error("Field doesn't support isOdd")}equals(eb){eA(eb);let{px:em,py:eM,pz:eC}=this,{px:eT,py:e_,pz:eE}=eb,eS=ew.eql(ew.mul(em,eE),ew.mul(eT,eC)),eN=ew.eql(ew.mul(eM,eE),ew.mul(e_,eC));return eS&&eN}negate(){return new eD(this.px,ew.neg(this.py),this.pz)}double(){let{a:eb,b:eM}=em,eC=ew.mul(eM,oB),{px:eT,py:e_,pz:eE}=this,eS=ew.ZERO,eA=ew.ZERO,eN=ew.ZERO,eI=ew.mul(eT,eT),eO=ew.mul(e_,e_),eP=ew.mul(eE,eE),eR=ew.mul(eT,e_);return eR=ew.add(eR,eR),eN=ew.mul(eT,eE),eN=ew.add(eN,eN),eS=ew.mul(eb,eN),eA=ew.mul(eC,eP),eA=ew.add(eS,eA),eS=ew.sub(eO,eA),eA=ew.add(eO,eA),eA=ew.mul(eS,eA),eS=ew.mul(eR,eS),eN=ew.mul(eC,eN),eP=ew.mul(eb,eP),eR=ew.sub(eI,eP),eR=ew.mul(eb,eR),eR=ew.add(eR,eN),eN=ew.add(eI,eI),eI=ew.add(eN,eI),eI=ew.add(eI,eP),eI=ew.mul(eI,eR),eA=ew.add(eA,eI),eP=ew.mul(e_,eE),eP=ew.add(eP,eP),eI=ew.mul(eP,eR),eS=ew.sub(eS,eI),eN=ew.mul(eP,eO),eN=ew.add(eN,eN),eN=ew.add(eN,eN),new eD(eS,eA,eN)}add(eb){eA(eb);let{px:eM,py:eC,pz:eT}=this,{px:e_,py:eE,pz:eS}=eb,eN=ew.ZERO,eI=ew.ZERO,eO=ew.ZERO,eP=em.a,eR=ew.mul(em.b,oB),eB=ew.mul(eM,e_),eF=ew.mul(eC,eE),ej=ew.mul(eT,eS),eU=ew.add(eM,eC),eV=ew.add(e_,eE);eU=ew.mul(eU,eV),eV=ew.add(eB,eF),eU=ew.sub(eU,eV),eV=ew.add(eM,eT);let eH=ew.add(e_,eS);return eV=ew.mul(eV,eH),eH=ew.add(eB,ej),eV=ew.sub(eV,eH),eH=ew.add(eC,eT),eN=ew.add(eE,eS),eH=ew.mul(eH,eN),eN=ew.add(eF,ej),eH=ew.sub(eH,eN),eO=ew.mul(eP,eV),eN=ew.mul(eR,ej),eO=ew.add(eN,eO),eN=ew.sub(eF,eO),eO=ew.add(eF,eO),eI=ew.mul(eN,eO),eF=ew.add(eB,eB),eF=ew.add(eF,eB),ej=ew.mul(eP,ej),eV=ew.mul(eR,eV),eF=ew.add(eF,ej),ej=ew.sub(eB,ej),ej=ew.mul(eP,ej),eV=ew.add(eV,ej),eB=ew.mul(eF,eV),eI=ew.add(eI,eB),eB=ew.mul(eH,eV),eN=ew.mul(eU,eN),eN=ew.sub(eN,eB),eB=ew.mul(eU,eF),eO=ew.mul(eH,eO),eO=ew.add(eO,eB),new eD(eN,eI,eO)}subtract(eb){return this.add(eb.negate())}is0(){return this.equals(eD.ZERO)}wNAF(eb){return eP.wNAFCached(this,eb,eD.normalizeZ)}multiplyUnsafe(eb){let{endo:eM,n:eC}=em;n9("scalar",eb,oP,eC);let eT=eD.ZERO;if(eb===oP)return eT;if(this.is0()||eb===oR)return this;if(!eM||eP.hasPrecomputes(this))return eP.wNAFCachedUnsafe(this,eb,eD.normalizeZ);let{k1neg:e_,k1:eE,k2neg:eS,k2:eA}=eM.splitScalar(eb),eN=eT,eI=eT,eO=this;for(;eE>oP||eA>oP;)eE&oR&&(eN=eN.add(eO)),eA&oR&&(eI=eI.add(eO)),eO=eO.double(),eE>>=oR,eA>>=oR;return e_&&(eN=eN.negate()),eS&&(eI=eI.negate()),eI=new eD(ew.mul(eI.px,eM.beta),eI.py,eI.pz),eN.add(eI)}multiply(eb){let eM,eC;let{endo:eT,n:e_}=em;if(n9("scalar",eb,oR,e_),eT){let{k1neg:em,k1:e_,k2neg:eE,k2:eS}=eT.splitScalar(eb),{p:eA,f:eN}=this.wNAF(e_),{p:eI,f:eO}=this.wNAF(eS);eA=eP.constTimeNegate(em,eA),eI=eP.constTimeNegate(eE,eI),eI=new eD(ew.mul(eI.px,eT.beta),eI.py,eI.pz),eM=eA.add(eI),eC=eN.add(eO)}else{let{p:em,f:ew}=this.wNAF(eb);eM=em,eC=ew}return eD.normalizeZ([eM,eC])[0]}multiplyAndAddUnsafe(eb,em,ew){let eM=eD.BASE,eC=(eb,em)=>em!==oP&&em!==oR&&eb.equals(eM)?eb.multiply(em):eb.multiplyUnsafe(em),eT=eC(this,em).add(eC(eb,ew));return eT.is0()?void 0:eT}toAffine(eb){return eN(this,eb)}isTorsionFree(){let{h:eb,isTorsionFree:ew}=em;if(eb===oR)return!0;if(ew)return ew(eD,this);throw Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:eb,clearCofactor:ew}=em;return eb===oR?this:ew?ew(eD,this):this.multiplyUnsafe(em.h)}toRawBytes(eb=!0){return nj("isCompressed",eb),this.assertValidity(),eC(eD,this,eb)}toHex(eb=!0){return nj("isCompressed",eb),nV(this.toRawBytes(eb))}}eD.BASE=new eD(em.Gx,em.Gy,ew.ONE),eD.ZERO=new eD(ew.ZERO,ew.ONE,ew.ZERO);let eO=em.nBitLength,eP=aP(eD,em.endo?Math.ceil(eO/2):eO);return{CURVE:em,ProjectivePoint:eD,normPrivateKeyToScalar:eS,weierstrassEquation:e_,isWithinCurveOrder:eE}}function oj(eb){let em=aF(eb);return r_(em,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...em})}function oU(eb){let em=oj(eb),{Fp:ew,n:eM}=em,eC=ew.BYTES+1,eT=2*ew.BYTES+1;function e_(eb){return rB(eb,eM)}function eE(eb){return rU(eb,eM)}let{ProjectivePoint:eS,normPrivateKeyToScalar:eA,weierstrassEquation:eN,isWithinCurveOrder:eI}=oF({...em,toBytes(eb,em,eM){let eC=em.toAffine(),eT=ew.toBytes(eC.x),e_=n6;return(nj("isCompressed",eM),eM)?e_(Uint8Array.from([em.hasEvenY()?2:3]),eT):e_(Uint8Array.from([4]),eT,ew.toBytes(eC.y))},fromBytes(eb){let em=eb.length,eM=eb[0],e_=eb.subarray(1);if(em===eC&&(2===eM||3===eM)){let eb;let em=nK(e_);if(!n8(em,oR,ew.ORDER))throw Error("Point is not on curve");let eC=eN(em);try{eb=ew.sqrt(eC)}catch(em){let eb=em instanceof Error?": "+em.message:"";throw Error("Point is not on curve"+eb)}let eT=(eb&oR)===oR,eE=(1&eM)==1;return eE!==eT&&(eb=ew.neg(eb)),{x:em,y:eb}}if(em===eT&&4===eM){let eb=ew.fromBytes(e_.subarray(0,ew.BYTES)),em=ew.fromBytes(e_.subarray(ew.BYTES,2*ew.BYTES));return{x:eb,y:em}}{let eb=eC,ew=eT;throw Error("invalid Point, expected length of "+eb+", or uncompressed "+ew+", got "+em)}}}),eD=eb=>nV(nY(eb,em.nByteLength));function eO(eb){let em=eM>>oR;return eb>em}function eP(eb){return eO(eb)?e_(-eb):eb}let eR=(eb,em,ew)=>nK(eb.slice(em,ew));class eB{constructor(eb,em,ew){this.r=eb,this.s=em,this.recovery=ew,this.assertValidity()}static fromCompact(eb){let ew=em.nByteLength;return eb=nQ("compactSignature",eb,2*ew),new eB(eR(eb,0,ew),eR(eb,ew,2*ew))}static fromDER(eb){let{r:em,s:ew}=oO.toSig(nQ("DER",eb));return new eB(em,ew)}assertValidity(){n9("r",this.r,oR,eM),n9("s",this.s,oR,eM)}addRecoveryBit(eb){return new eB(this.r,this.s,eb)}recoverPublicKey(eb){let{r:eM,s:eC,recovery:eT}=this,eA=e$(nQ("msgHash",eb));if(null==eT||![0,1,2,3].includes(eT))throw Error("recovery id invalid");let eN=2===eT||3===eT?eM+em.n:eM;if(eN>=ew.ORDER)throw Error("recovery id 2 or 3 invalid");let eI=(1&eT)==0?"02":"03",eO=eS.fromHex(eI+eD(eN)),eP=eE(eN),eR=e_(-eA*eP),eB=e_(eC*eP),eF=eS.BASE.multiplyAndAddUnsafe(eO,eR,eB);if(!eF)throw Error("point at infinify");return eF.assertValidity(),eF}hasHighS(){return eO(this.s)}normalizeS(){return this.hasHighS()?new eB(this.r,e_(-this.s),this.recovery):this}toDERRawBytes(){return nZ(this.toDERHex())}toDERHex(){return oO.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return nZ(this.toCompactHex())}toCompactHex(){return eD(this.r)+eD(this.s)}}let eF={isValidPrivateKey(eb){try{return eA(eb),!0}catch(eb){return!1}},normPrivateKeyToScalar:eA,randomPrivateKey:()=>{let eb=rX(em.n);return rQ(em.randomBytes(eb),em.n)},precompute:(eb=8,em=eS.BASE)=>(em._setWindowSize(eb),em.multiply(BigInt(3)),em)};function ej(eb,em=!0){return eS.fromPrivateKey(eb).toRawBytes(em)}function eU(eb){let em=nB(eb),ew="string"==typeof eb,eM=(em||ew)&&eb.length;return em?eM===eC||eM===eT:ew?eM===2*eC||eM===2*eT:eb instanceof eS}function eV(eb,em,ew=!0){if(eU(eb))throw Error("first arg must be private key");if(!eU(em))throw Error("second arg must be public key");let eM=eS.fromHex(em);return eM.multiply(eA(eb)).toRawBytes(ew)}let eH=em.bits2int||function(eb){if(eb.length>8192)throw Error("input is too large");let ew=nK(eb),eM=8*eb.length-em.nBitLength;return eM>0?ew>>BigInt(eM):ew},e$=em.bits2int_modN||function(eb){return e_(eH(eb))},eW=rw(em.nBitLength);function eZ(eb){return n9("num < 2^"+em.nBitLength,eb,oP,eW),nY(eb,em.nByteLength)}function eK(eb,eM,eC=eG){if(["recovered","canonical"].some(eb=>eb in eC))throw Error("sign() legacy options not supported");let{hash:eT,randomBytes:eN}=em,{lowS:eD,prehash:eR,extraEntropy:eF}=eC;null==eD&&(eD=!0),eb=nQ("msgHash",eb),oA(eC),eR&&(eb=nQ("prehashed msgHash",eT(eb)));let ej=e$(eb),eU=eA(eM),eV=[eZ(eU),eZ(ej)];if(null!=eF&&!1!==eF){let eb=!0===eF?eN(ew.BYTES):eF;eV.push(nQ("extraEntropy",eb))}let eW=n6(...eV),eK=ej;return{seed:eW,k2sig:function(eb){let em=eH(eb);if(!eI(em))return;let ew=eE(em),eM=eS.BASE.multiply(em).toAffine(),eC=e_(eM.x);if(eC===oP)return;let eT=e_(ew*e_(eK+eC*eU));if(eT===oP)return;let eA=(eM.x===eC?0:2)|Number(eM.y&oR),eN=eT;return eD&&eO(eT)&&(eN=eP(eT),eA^=1),new eB(eC,eN,eA)}}}let eG={lowS:em.lowS,prehash:!1},eY={lowS:em.lowS,prehash:!1};function eJ(eb,ew,eM=eG){let{seed:eC,k2sig:eT}=eK(eb,ew,eM),e_=em,eE=rk(e_.hash.outputLen,e_.nByteLength,e_.hmac);return eE(eC,eT)}return eS.BASE._setWindowSize(8),{CURVE:em,getPublicKey:ej,getSharedSecret:eV,sign:eJ,verify:function(eb,ew,eM,eC=eY){let eT,eA;let eN=eb;ew=nQ("msgHash",ew),eM=nQ("publicKey",eM);let{lowS:eI,prehash:eD,format:eO}=eC;if(oA(eC),"strict"in eC)throw Error("options.strict was renamed to lowS");if(void 0!==eO&&"compact"!==eO&&"der"!==eO)throw Error("format must be compact or der");let eP="string"==typeof eN||nB(eN),eR=!eP&&!eO&&"object"==typeof eN&&null!==eN&&"bigint"==typeof eN.r&&"bigint"==typeof eN.s;if(!eP&&!eR)throw Error("invalid signature, expected Uint8Array, hex string or Signature instance");try{if(eR&&(eA=new eB(eN.r,eN.s)),eP){try{"compact"!==eO&&(eA=eB.fromDER(eN))}catch(eb){if(!(eb instanceof oO.Err))throw eb}eA||"der"===eO||(eA=eB.fromCompact(eN))}eT=eS.fromHex(eM)}catch(eb){return!1}if(!eA||eI&&eA.hasHighS())return!1;eD&&(ew=em.hash(ew));let{r:eF,s:ej}=eA,eU=e$(ew),eV=eE(ej),eH=e_(eU*eV),eW=e_(eF*eV),eZ=eS.BASE.multiplyAndAddUnsafe(eT,eH,eW)?.toAffine();if(!eZ)return!1;let eK=e_(eZ.x);return eK===eF},ProjectivePoint:eS,Signature:eB,utils:eF}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function oV(eb){return{hash:eb,hmac:(em,...ew)=>oS(eb,em,tC(...ew)),randomBytes:tE}}function oH(eb,em){let ew=em=>oU({...eb,...oV(em)});return Object.freeze({...ew(em),create:ew})}BigInt(4);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */let o$=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),oq=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),oW=BigInt(1),oZ=BigInt(2),oK=(eb,em)=>(eb+em/oZ)/em;function oG(eb){let em=o$,ew=BigInt(3),eM=BigInt(6),eC=BigInt(11),eT=BigInt(22),e_=BigInt(23),eE=BigInt(44),eS=BigInt(88),eA=eb*eb*eb%em,eN=eA*eA*eb%em,eI=rj(eN,ew,em)*eN%em,eD=rj(eI,ew,em)*eN%em,eO=rj(eD,oZ,em)*eA%em,eP=rj(eO,eC,em)*eO%em,eR=rj(eP,eT,em)*eP%em,eB=rj(eR,eE,em)*eR%em,eF=rj(eB,eS,em)*eB%em,ej=rj(eF,eE,em)*eR%em,eU=rj(ej,ew,em)*eN%em,eV=rj(eU,e_,em)*eP%em,eH=rj(eV,eM,em)*eA%em,e$=rj(eH,oZ,em);if(!oJ.eql(oJ.sqr(e$),eb))throw Error("Cannot find square root");return e$}let oJ=rY(o$,void 0,void 0,{sqrt:oG}),oQ=oH({a:BigInt(0),b:BigInt(7),Fp:oJ,n:oq,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:eb=>{let em=oq,ew=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),eM=-oW*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),eC=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),eT=ew,e_=BigInt("0x100000000000000000000000000000000"),eE=oK(eT*eb,em),eS=oK(-eM*eb,em),eA=rB(eb-eE*ew-eS*eC,em),eN=rB(-eE*eM-eS*eT,em),eI=eA>e_,eD=eN>e_;if(eI&&(eA=em-eA),eD&&(eN=em-eN),eA>e_||eN>e_)throw Error("splitScalar: Endomorphism failed, k="+eb);return{k1neg:eI,k1:eA,k2neg:eD,k2:eN}}}},o_),o0=BigInt(0),o6={};function o4(eb,...em){let ew=o6[eb];if(void 0===ew){let em=sha256(Uint8Array.from(eb,eb=>eb.charCodeAt(0)));ew=concatBytes(em,em),o6[eb]=ew}return sha256(concatBytes(ew,...em))}let o3=eb=>mod(eb,o$),o5=eb=>mod(eb,oq),o8=oQ.ProjectivePoint,o9=null;i_.utils.randomPrivateKey;let o7=()=>{let eb=i_.utils.randomPrivateKey(),em=lb(eb),ew=new Uint8Array(64);return ew.set(eb),ew.set(em,32),{publicKey:em,secretKey:ew}},lb=i_.getPublicKey;function lm(eb){try{return i_.ExtendedPoint.fromHex(eb),!0}catch{return!1}}let ly=(eb,em)=>i_.sign(eb,em.slice(0,32)),lv=i_.verify,lz=eb=>eJ.Buffer.isBuffer(eb)?eb:eb instanceof Uint8Array?eJ.Buffer.from(eb.buffer,eb.byteOffset,eb.byteLength):eJ.Buffer.from(eb);class lw{constructor(eb){Object.assign(this,eb)}encode(){return eJ.Buffer.from((0,cA.serialize)(lM,this))}static decode(eb){return(0,cA.deserialize)(lM,this,eb)}static decodeUnchecked(eb){return(0,cA.deserializeUnchecked)(lM,this,eb)}}let lM=new Map,lx=32,lk=32;function lT(eb){return void 0!==eb._bn}let l_=1;class lE extends lw{constructor(eb){if(super({}),this._bn=void 0,lT(eb))this._bn=eb._bn;else{if("string"==typeof eb){let em=iH().decode(eb);if(em.length!=lk)throw Error("Invalid public key input");this._bn=new(iU())(em)}else this._bn=new(iU())(eb);if(this._bn.byteLength()>lk)throw Error("Invalid public key input")}}static unique(){let eb=new lE(l_);return l_+=1,new lE(eb.toBuffer())}equals(eb){return this._bn.eq(eb._bn)}toBase58(){return iH().encode(this.toBytes())}toJSON(){return this.toBase58()}toBytes(){let eb=this.toBuffer();return new Uint8Array(eb.buffer,eb.byteOffset,eb.byteLength)}toBuffer(){let eb=this._bn.toArrayLike(eJ.Buffer);if(eb.length===lk)return eb;let em=eJ.Buffer.alloc(32);return eb.copy(em,32-eb.length),em}get[Symbol.toStringTag](){return`PublicKey(${this.toString()})`}toString(){return this.toBase58()}static async createWithSeed(eb,em,ew){let eM=eJ.Buffer.concat([eb.toBuffer(),eJ.Buffer.from(em),ew.toBuffer()]),eC=cS(eM);return new lE(eC)}static createProgramAddressSync(eb,em){let ew=eJ.Buffer.alloc(0);eb.forEach(function(eb){if(eb.length>lx)throw TypeError("Max seed length exceeded");ew=eJ.Buffer.concat([ew,lz(eb)])}),ew=eJ.Buffer.concat([ew,em.toBuffer(),eJ.Buffer.from("ProgramDerivedAddress")]);let eM=cS(ew);if(lm(eM))throw Error("Invalid seeds, address must fall off the curve");return new lE(eM)}static async createProgramAddress(eb,em){return this.createProgramAddressSync(eb,em)}static findProgramAddressSync(eb,em){let ew,eM=255;for(;0!=eM;){try{let eC=eb.concat(eJ.Buffer.from([eM]));ew=this.createProgramAddressSync(eC,em)}catch(eb){if(eb instanceof TypeError)throw eb;eM--;continue}return[ew,eM]}throw Error("Unable to find a viable program address nonce")}static async findProgramAddress(eb,em){return this.findProgramAddressSync(eb,em)}static isOnCurve(eb){let em=new lE(eb);return lm(em.toBytes())}}eC=lE,lE.default=new eC("11111111111111111111111111111111"),lM.set(lE,{kind:"struct",fields:[["_bn","u256"]]}),new lE("BPFLoader1111111111111111111111111111111111");let lS=1232,lA=127,lN=64;class lI extends Error{constructor(eb){super(`Signature ${eb} has expired: block height exceeded.`),this.signature=void 0,this.signature=eb}}Object.defineProperty(lI.prototype,"name",{value:"TransactionExpiredBlockheightExceededError"});class lD extends Error{constructor(eb,em){super(`Transaction was not confirmed in ${em.toFixed(2)} seconds. It is unknown if it succeeded or failed. Check signature ${eb} using the Solana Explorer or CLI tools.`),this.signature=void 0,this.signature=eb}}Object.defineProperty(lD.prototype,"name",{value:"TransactionExpiredTimeoutError"});class lO extends Error{constructor(eb){super(`Signature ${eb} has expired: the nonce is no longer valid.`),this.signature=void 0,this.signature=eb}}Object.defineProperty(lO.prototype,"name",{value:"TransactionExpiredNonceInvalidError"});class lP{constructor(eb,em){this.staticAccountKeys=void 0,this.accountKeysFromLookups=void 0,this.staticAccountKeys=eb,this.accountKeysFromLookups=em}keySegments(){let eb=[this.staticAccountKeys];return this.accountKeysFromLookups&&(eb.push(this.accountKeysFromLookups.writable),eb.push(this.accountKeysFromLookups.readonly)),eb}get(eb){for(let em of this.keySegments()){if(ebem+1)throw Error("Account index overflow encountered during compilation");let ew=new Map;this.keySegments().flat().forEach((eb,em)=>{ew.set(eb.toBase58(),em)});let eM=eb=>{let em=ew.get(eb.toBase58());if(void 0===em)throw Error("Encountered an unknown instruction account key during compilation");return em};return eb.map(eb=>({programIdIndex:eM(eb.programId),accountKeyIndexes:eb.keys.map(eb=>eM(eb.pubkey)),data:eb.data}))}}let lR=(eb="publicKey")=>cN.Ik(32,eb),lB=(eb="string")=>{let em=cN.n_([cN.Jq("length"),cN.Jq("lengthPadding"),cN.Ik(cN.cv(cN.Jq(),-8),"chars")],eb),ew=em.decode.bind(em),eM=em.encode.bind(em),eC=em;return eC.decode=(eb,em)=>{let eM=ew(eb,em);return eM.chars.toString()},eC.encode=(eb,em,ew)=>{let eC={chars:eJ.Buffer.from(eb,"utf8")};return eM(eC,em,ew)},eC.alloc=eb=>cN.Jq().span+cN.Jq().span+eJ.Buffer.from(eb,"utf8").length,eC},lF=(eb="authorized")=>cN.n_([lR("staker"),lR("withdrawer")],eb),lj=(eb="lockup")=>cN.n_([cN.gM("unixTimestamp"),cN.gM("epoch"),lR("custodian")],eb),lU=(eb="voteInit")=>cN.n_([lR("nodePubkey"),lR("authorizedVoter"),lR("authorizedWithdrawer"),cN.u8("commission")],eb),lV=(eb="voteAuthorizeWithSeedArgs")=>cN.n_([cN.Jq("voteAuthorizationType"),lR("currentAuthorityDerivedKeyOwnerPubkey"),lB("currentAuthorityDerivedKeySeed"),lR("newAuthorized")],eb);function lH(eb,em){let ew=eb=>{if(eb.span>=0)return eb.span;if("function"==typeof eb.alloc)return eb.alloc(em[eb.property]);if("count"in eb&&"elementLayout"in eb){let eM=em[eb.property];if(Array.isArray(eM))return eM.length*ew(eb.elementLayout)}else if("fields"in eb)return lH({layout:eb},em[eb.property]);return 0},eM=0;return eb.layout.fields.forEach(eb=>{eM+=ew(eb)}),eM}function l$(eb){let em=0,ew=0;for(;;){let eM=eb.shift();if(em|=(127&eM)<<7*ew,ew+=1,(128&eM)==0)break}return em}function lq(eb,em){let ew=em;for(;;){let em=127&ew;if(0==(ew>>=7)){eb.push(em);break}em|=128,eb.push(em)}}function lW(eb,em){if(!eb)throw Error(em||"Assertion failed")}class lZ{constructor(eb,em){this.payer=void 0,this.keyMetaMap=void 0,this.payer=eb,this.keyMetaMap=em}static compile(eb,em){let ew=new Map,eM=eb=>{let em=eb.toBase58(),eM=ew.get(em);return void 0===eM&&(eM={isSigner:!1,isWritable:!1,isInvoked:!1},ew.set(em,eM)),eM},eC=eM(em);for(let em of(eC.isSigner=!0,eC.isWritable=!0,eb))for(let eb of(eM(em.programId).isInvoked=!0,em.keys)){let em=eM(eb.pubkey);em.isSigner||=eb.isSigner,em.isWritable||=eb.isWritable}return new lZ(em,ew)}getMessageComponents(){let eb=[...this.keyMetaMap.entries()];lW(eb.length<=256,"Max static account keys length exceeded");let em=eb.filter(([,eb])=>eb.isSigner&&eb.isWritable),ew=eb.filter(([,eb])=>eb.isSigner&&!eb.isWritable),eM=eb.filter(([,eb])=>!eb.isSigner&&eb.isWritable),eC=eb.filter(([,eb])=>!eb.isSigner&&!eb.isWritable),eT={numRequiredSignatures:em.length+ew.length,numReadonlySignedAccounts:ew.length,numReadonlyUnsignedAccounts:eC.length};{lW(em.length>0,"Expected at least one writable signer key");let[eb]=em[0];lW(eb===this.payer.toBase58(),"Expected first writable signer key to be the fee payer")}let e_=[...em.map(([eb])=>new lE(eb)),...ew.map(([eb])=>new lE(eb)),...eM.map(([eb])=>new lE(eb)),...eC.map(([eb])=>new lE(eb))];return[eT,e_]}extractTableLookup(eb){let[em,ew]=this.drainKeysFoundInLookupTable(eb.state.addresses,eb=>!eb.isSigner&&!eb.isInvoked&&eb.isWritable),[eM,eC]=this.drainKeysFoundInLookupTable(eb.state.addresses,eb=>!eb.isSigner&&!eb.isInvoked&&!eb.isWritable);if(0!==em.length||0!==eM.length)return[{accountKey:eb.key,writableIndexes:em,readonlyIndexes:eM},{writable:ew,readonly:eC}]}drainKeysFoundInLookupTable(eb,em){let ew=[],eM=[];for(let[eC,eT]of this.keyMetaMap.entries())if(em(eT)){let em=new lE(eC),eT=eb.findIndex(eb=>eb.equals(em));eT>=0&&(lW(eT<256,"Max lookup table index exceeded"),ew.push(eT),eM.push(em),this.keyMetaMap.delete(eC))}return[ew,eM]}}let lK="Reached end of buffer unexpectedly";function lG(eb){if(0===eb.length)throw Error(lK);return eb.shift()}function lY(eb,...em){let[ew]=em;if(2===em.length?ew+(em[1]??0)>eb.length:ew>=eb.length)throw Error(lK);return eb.splice(...em)}class lJ{constructor(eb){this.header=void 0,this.accountKeys=void 0,this.recentBlockhash=void 0,this.instructions=void 0,this.indexToProgramIds=new Map,this.header=eb.header,this.accountKeys=eb.accountKeys.map(eb=>new lE(eb)),this.recentBlockhash=eb.recentBlockhash,this.instructions=eb.instructions,this.instructions.forEach(eb=>this.indexToProgramIds.set(eb.programIdIndex,this.accountKeys[eb.programIdIndex]))}get version(){return"legacy"}get staticAccountKeys(){return this.accountKeys}get compiledInstructions(){return this.instructions.map(eb=>({programIdIndex:eb.programIdIndex,accountKeyIndexes:eb.accounts,data:iH().decode(eb.data)}))}get addressTableLookups(){return[]}getAccountKeys(){return new lP(this.staticAccountKeys)}static compile(eb){let em=lZ.compile(eb.instructions,eb.payerKey),[ew,eM]=em.getMessageComponents(),eC=new lP(eM),eT=eC.compileInstructions(eb.instructions).map(eb=>({programIdIndex:eb.programIdIndex,accounts:eb.accountKeyIndexes,data:iH().encode(eb.data)}));return new lJ({header:ew,accountKeys:eM,recentBlockhash:eb.recentBlockhash,instructions:eT})}isAccountSigner(eb){return eb=this.header.numRequiredSignatures){let ew=eb-em,eM=this.accountKeys.length-em,eC=eM-this.header.numReadonlyUnsignedAccounts;return ew!this.isProgramId(em))}serialize(){let eb=this.accountKeys.length,em=[];lq(em,eb);let ew=this.instructions.map(eb=>{let{accounts:em,programIdIndex:ew}=eb,eM=Array.from(iH().decode(eb.data)),eC=[];lq(eC,em.length);let eT=[];return lq(eT,eM.length),{programIdIndex:ew,keyIndicesCount:eJ.Buffer.from(eC),keyIndices:em,dataLength:eJ.Buffer.from(eT),data:eM}}),eM=[];lq(eM,ew.length);let eC=eJ.Buffer.alloc(lS);eJ.Buffer.from(eM).copy(eC);let eT=eM.length;ew.forEach(eb=>{let em=cN.n_([cN.u8("programIdIndex"),cN.Ik(eb.keyIndicesCount.length,"keyIndicesCount"),cN.A9(cN.u8("keyIndex"),eb.keyIndices.length,"keyIndices"),cN.Ik(eb.dataLength.length,"dataLength"),cN.A9(cN.u8("userdatum"),eb.data.length,"data")]),ew=em.encode(eb,eC,eT);eT+=ew}),eC=eC.slice(0,eT);let e_=cN.n_([cN.Ik(1,"numRequiredSignatures"),cN.Ik(1,"numReadonlySignedAccounts"),cN.Ik(1,"numReadonlyUnsignedAccounts"),cN.Ik(em.length,"keyCount"),cN.A9(lR("key"),eb,"keys"),lR("recentBlockhash")]),eE={numRequiredSignatures:eJ.Buffer.from([this.header.numRequiredSignatures]),numReadonlySignedAccounts:eJ.Buffer.from([this.header.numReadonlySignedAccounts]),numReadonlyUnsignedAccounts:eJ.Buffer.from([this.header.numReadonlyUnsignedAccounts]),keyCount:eJ.Buffer.from(em),keys:this.accountKeys.map(eb=>lz(eb.toBytes())),recentBlockhash:iH().decode(this.recentBlockhash)},eS=eJ.Buffer.alloc(2048),eA=e_.encode(eE,eS);return eC.copy(eS,eA),eS.slice(0,eA+eC.length)}static from(eb){let em=[...eb],ew=lG(em);if(ew!==(ew&lA))throw Error("Versioned messages must be deserialized with VersionedMessage.deserialize()");let eM=lG(em),eC=lG(em),eT=l$(em),e_=[];for(let eb=0;eb0)throw Error("Failed to get account keys because address table lookups were not resolved");return new lP(this.staticAccountKeys,em)}isAccountSigner(eb){return eb=ew){let em=eb-ew,eM=this.addressTableLookups.reduce((eb,em)=>eb+em.writableIndexes.length,0);return em=this.header.numRequiredSignatures){let eM=eb-em,eC=ew-em,eT=eC-this.header.numReadonlyUnsignedAccounts;return eMeb.key.equals(ew.accountKey));if(!eM)throw Error(`Failed to find address lookup table account for table key ${ew.accountKey.toBase58()}`);for(let eb of ew.writableIndexes)if(ebeb.toBytes()),recentBlockhash:iH().decode(this.recentBlockhash),instructionsLength:new Uint8Array(ew),serializedInstructions:em,addressTableLookupsLength:new Uint8Array(eC),serializedAddressTableLookups:eM},e_);return e_.slice(0,eS)}serializeInstructions(){let eb=0,em=new Uint8Array(lS);for(let ew of this.compiledInstructions){let eM=[];lq(eM,ew.accountKeyIndexes.length);let eC=[];lq(eC,ew.data.length);let eT=cN.n_([cN.u8("programIdIndex"),cN.Ik(eM.length,"encodedAccountKeyIndexesLength"),cN.A9(cN.u8(),ew.accountKeyIndexes.length,"accountKeyIndexes"),cN.Ik(eC.length,"encodedDataLength"),cN.Ik(ew.data.length,"data")]);eb+=eT.encode({programIdIndex:ew.programIdIndex,encodedAccountKeyIndexesLength:new Uint8Array(eM),accountKeyIndexes:ew.accountKeyIndexes,encodedDataLength:new Uint8Array(eC),data:ew.data},em,eb)}return em.slice(0,eb)}serializeAddressTableLookups(){let eb=0,em=new Uint8Array(lS);for(let ew of this.addressTableLookups){let eM=[];lq(eM,ew.writableIndexes.length);let eC=[];lq(eC,ew.readonlyIndexes.length);let eT=cN.n_([lR("accountKey"),cN.Ik(eM.length,"encodedWritableIndexesLength"),cN.A9(cN.u8(),ew.writableIndexes.length,"writableIndexes"),cN.Ik(eC.length,"encodedReadonlyIndexesLength"),cN.A9(cN.u8(),ew.readonlyIndexes.length,"readonlyIndexes")]);eb+=eT.encode({accountKey:ew.accountKey.toBytes(),encodedWritableIndexesLength:new Uint8Array(eM),writableIndexes:ew.writableIndexes,encodedReadonlyIndexesLength:new Uint8Array(eC),readonlyIndexes:ew.readonlyIndexes},em,eb)}return em.slice(0,eb)}static deserialize(eb){let em=[...eb],ew=lG(em),eM=ew&lA;lW(ew!==eM,"Expected versioned message but received legacy message");let eC=eM;lW(0===eC,`Expected versioned message with version 0 but found version ${eC}`);let eT={numRequiredSignatures:lG(em),numReadonlySignedAccounts:lG(em),numReadonlyUnsignedAccounts:lG(em)},e_=[],eE=l$(em);for(let eb=0;eb{let em=lQ.deserializeMessageVersion(eb);if("legacy"===em)return lJ.from(eb);if(0===em)return lX.deserialize(eb);throw Error(`Transaction message version ${em} deserialization is not supported`)}},l6=eJ.Buffer.alloc(lN).fill(0);class l4{constructor(eb){this.keys=void 0,this.programId=void 0,this.data=eJ.Buffer.alloc(0),this.programId=eb.programId,this.keys=eb.keys,eb.data&&(this.data=eb.data)}toJSON(){return{keys:this.keys.map(({pubkey:eb,isSigner:em,isWritable:ew})=>({pubkey:eb.toJSON(),isSigner:em,isWritable:ew})),programId:this.programId.toJSON(),data:[...this.data]}}}class l3{get signature(){return this.signatures.length>0?this.signatures[0].signature:null}constructor(eb){if(this.signatures=[],this.feePayer=void 0,this.instructions=[],this.recentBlockhash=void 0,this.lastValidBlockHeight=void 0,this.nonceInfo=void 0,this.minNonceContextSlot=void 0,this._message=void 0,this._json=void 0,!eb)return;if(eb.feePayer&&(this.feePayer=eb.feePayer),eb.signatures&&(this.signatures=eb.signatures),Object.prototype.hasOwnProperty.call(eb,"nonceInfo")){let{minContextSlot:em,nonceInfo:ew}=eb;this.minNonceContextSlot=em,this.nonceInfo=ew}else if(Object.prototype.hasOwnProperty.call(eb,"lastValidBlockHeight")){let{blockhash:em,lastValidBlockHeight:ew}=eb;this.recentBlockhash=em,this.lastValidBlockHeight=ew}else{let{recentBlockhash:em,nonceInfo:ew}=eb;ew&&(this.nonceInfo=ew),this.recentBlockhash=em}}toJSON(){return{recentBlockhash:this.recentBlockhash||null,feePayer:this.feePayer?this.feePayer.toJSON():null,nonceInfo:this.nonceInfo?{nonce:this.nonceInfo.nonce,nonceInstruction:this.nonceInfo.nonceInstruction.toJSON()}:null,instructions:this.instructions.map(eb=>eb.toJSON()),signers:this.signatures.map(({publicKey:eb})=>eb.toJSON())}}add(...eb){if(0===eb.length)throw Error("No instructions");return eb.forEach(eb=>{"instructions"in eb?this.instructions=this.instructions.concat(eb.instructions):"data"in eb&&"programId"in eb&&"keys"in eb?this.instructions.push(eb):this.instructions.push(new l4(eb))}),this}compileMessage(){let eb,em,ew;if(this._message&&JSON.stringify(this.toJSON())===JSON.stringify(this._json))return this._message;if(this.nonceInfo?(eb=this.nonceInfo.nonce,em=this.instructions[0]!=this.nonceInfo.nonceInstruction?[this.nonceInfo.nonceInstruction,...this.instructions]:this.instructions):(eb=this.recentBlockhash,em=this.instructions),!eb)throw Error("Transaction recentBlockhash required");if(em.length<1&&console.warn("No instructions provided"),this.feePayer)ew=this.feePayer;else if(this.signatures.length>0&&this.signatures[0].publicKey)ew=this.signatures[0].publicKey;else throw Error("Transaction fee payer required");for(let eb=0;eb{eb.keys.forEach(eb=>{eC.push({...eb})});let em=eb.programId.toString();eM.includes(em)||eM.push(em)}),eM.forEach(eb=>{eC.push({pubkey:new lE(eb),isSigner:!1,isWritable:!1})});let eT=[];eC.forEach(eb=>{let em=eb.pubkey.toString(),ew=eT.findIndex(eb=>eb.pubkey.toString()===em);ew>-1?(eT[ew].isWritable=eT[ew].isWritable||eb.isWritable,eT[ew].isSigner=eT[ew].isSigner||eb.isSigner):eT.push(eb)}),eT.sort(function(eb,em){if(eb.isSigner!==em.isSigner)return eb.isSigner?-1:1;if(eb.isWritable!==em.isWritable)return eb.isWritable?-1:1;let ew={localeMatcher:"best fit",usage:"sort",sensitivity:"variant",ignorePunctuation:!1,numeric:!1,caseFirst:"lower"};return eb.pubkey.toBase58().localeCompare(em.pubkey.toBase58(),"en",ew)});let e_=eT.findIndex(eb=>eb.pubkey.equals(ew));if(e_>-1){let[eb]=eT.splice(e_,1);eb.isSigner=!0,eb.isWritable=!0,eT.unshift(eb)}else eT.unshift({pubkey:ew,isSigner:!0,isWritable:!0});for(let eb of this.signatures){let em=eT.findIndex(em=>em.pubkey.equals(eb.publicKey));if(em>-1)eT[em].isSigner||(eT[em].isSigner=!0,console.warn("Transaction references a signature that is unnecessary, only the fee payer and instruction signer accounts should sign a transaction. This behavior is deprecated and will throw an error in the next major version release."));else throw Error(`unknown signer: ${eb.publicKey.toString()}`)}let eE=0,eS=0,eA=0,eN=[],eI=[];eT.forEach(({pubkey:eb,isSigner:em,isWritable:ew})=>{em?(eN.push(eb.toString()),eE+=1,ew||(eS+=1)):(eI.push(eb.toString()),ew||(eA+=1))});let eD=eN.concat(eI),eO=em.map(eb=>{let{data:em,programId:ew}=eb;return{programIdIndex:eD.indexOf(ew.toString()),accounts:eb.keys.map(eb=>eD.indexOf(eb.pubkey.toString())),data:iH().encode(em)}});return eO.forEach(eb=>{lW(eb.programIdIndex>=0),eb.accounts.forEach(eb=>lW(eb>=0))}),new lJ({header:{numRequiredSignatures:eE,numReadonlySignedAccounts:eS,numReadonlyUnsignedAccounts:eA},accountKeys:eD,recentBlockhash:eb,instructions:eO})}_compile(){let eb=this.compileMessage(),em=eb.accountKeys.slice(0,eb.header.numRequiredSignatures);if(this.signatures.length===em.length){let ew=this.signatures.every((eb,ew)=>em[ew].equals(eb.publicKey));if(ew)return eb}return this.signatures=em.map(eb=>({signature:null,publicKey:eb})),eb}serializeMessage(){return this._compile().serialize()}async getEstimatedFee(eb){return(await eb.getFeeForMessage(this.compileMessage())).value}setSigners(...eb){if(0===eb.length)throw Error("No signers");let em=new Set;this.signatures=eb.filter(eb=>{let ew=eb.toString();return!em.has(ew)&&(em.add(ew),!0)}).map(eb=>({signature:null,publicKey:eb}))}sign(...eb){if(0===eb.length)throw Error("No signers");let em=new Set,ew=[];for(let eM of eb){let eb=eM.publicKey.toString();em.has(eb)||(em.add(eb),ew.push(eM))}this.signatures=ew.map(eb=>({signature:null,publicKey:eb.publicKey}));let eM=this._compile();this._partialSign(eM,...ew)}partialSign(...eb){if(0===eb.length)throw Error("No signers");let em=new Set,ew=[];for(let eM of eb){let eb=eM.publicKey.toString();em.has(eb)||(em.add(eb),ew.push(eM))}let eM=this._compile();this._partialSign(eM,...ew)}_partialSign(eb,...em){let ew=eb.serialize();em.forEach(eb=>{let em=ly(ew,eb.secretKey);this._addSignature(eb.publicKey,lz(em))})}addSignature(eb,em){this._compile(),this._addSignature(eb,em)}_addSignature(eb,em){lW(64===em.length);let ew=this.signatures.findIndex(em=>eb.equals(em.publicKey));if(ew<0)throw Error(`unknown signer: ${eb.toString()}`);this.signatures[ew].signature=eJ.Buffer.from(em)}verifySignatures(eb=!0){let em=this._getMessageSignednessErrors(this.serializeMessage(),eb);return!em}_getMessageSignednessErrors(eb,em){let ew={};for(let{signature:eM,publicKey:eC}of this.signatures)null===eM?em&&(ew.missing||=[]).push(eC):lv(eM,eb,eC.toBytes())||(ew.invalid||=[]).push(eC);return ew.invalid||ew.missing?ew:void 0}serialize(eb){let{requireAllSignatures:em,verifySignatures:ew}=Object.assign({requireAllSignatures:!0,verifySignatures:!0},eb),eM=this.serializeMessage();if(ew){let eb=this._getMessageSignednessErrors(eM,em);if(eb){let em="Signature verification failed.";throw eb.invalid&&(em+=` Invalid signature for public key${1===eb.invalid.length?"":"(s)"} [\`${eb.invalid.map(eb=>eb.toBase58()).join("`, `")}\`].`),eb.missing&&(em+=` -Missing signature for public key${1===eb.missing.length?"":"(s)"} [\`${eb.missing.map(eb=>eb.toBase58()).join("`, `")}\`].`),Error(em)}}return this._serialize(eV)}_serialize(eb){let{signatures:em}=this,eH=[];o5(eH,em.length);let eV=eH.length+64*em.length+eb.length,ew=e9.Buffer.alloc(eV);return o8(em.length<256),e9.Buffer.from(eH).copy(ew,0),em.forEach(({signature:eb},em)=>{null!==eb&&(o8(64===eb.length,"signature has invalid length"),e9.Buffer.from(eb).copy(ew,eH.length+64*em))}),eb.copy(ew,eH.length+64*em.length),o8(ew.length<=oF,`Transaction too large: ${ew.length} > ${oF}`),ew}get keys(){return o8(1===this.instructions.length),this.instructions[0].keys.map(eb=>eb.pubkey)}get programId(){return o8(1===this.instructions.length),this.instructions[0].programId}get data(){return o8(1===this.instructions.length),this.instructions[0].data}static from(eb){let em=[...eb],eH=o3(em),eV=[];for(let eb=0;eb0&&(eH.feePayer=eb.accountKeys[0]),em.forEach((em,eV)=>{let ew={signature:em==iZ().encode(lH)?null:iZ().decode(em),publicKey:eb.accountKeys[eV]};eH.signatures.push(ew)}),eb.instructions.forEach(em=>{let eV=em.accounts.map(em=>{let eV=eb.accountKeys[em];return{pubkey:eV,isSigner:eH.signatures.some(eb=>eb.publicKey.toString()===eV.toString())||eb.isAccountSigner(em),isWritable:eb.isAccountWritable(em)}});eH.instructions.push(new lV({keys:eV,programId:eb.accountKeys[em.programIdIndex],data:iZ().decode(em.data)}))}),eH._message=eb,eH._json=eH.toJSON(),eH}}let lM=160,lx=64,lk=lM/lx,lT=1e3/lk,l_=new oB("SysvarC1ock11111111111111111111111111111111");new oB("SysvarEpochSchedu1e111111111111111111111111"),new oB("Sysvar1nstructions1111111111111111111111111");let lS=new oB("SysvarRecentB1ockHashes11111111111111111111"),lE=new oB("SysvarRent111111111111111111111111111111111");new oB("SysvarRewards111111111111111111111111111111"),new oB("SysvarS1otHashes111111111111111111111111111"),new oB("SysvarS1otHistory11111111111111111111111111");let lA=new oB("SysvarStakeHistory1111111111111111111111111");async function lN(eb,em,eH,eV){let ew;let eM=eV&&{skipPreflight:eV.skipPreflight,preflightCommitment:eV.preflightCommitment||eV.commitment,maxRetries:eV.maxRetries,minContextSlot:eV.minContextSlot},eC=await eb.sendTransaction(em,eH,eM);if(null!=em.recentBlockhash&&null!=em.lastValidBlockHeight)ew=(await eb.confirmTransaction({abortSignal:eV?.abortSignal,signature:eC,blockhash:em.recentBlockhash,lastValidBlockHeight:em.lastValidBlockHeight},eV&&eV.commitment)).value;else if(null!=em.minNonceContextSlot&&null!=em.nonceInfo){let{nonceInstruction:eH}=em.nonceInfo,eM=eH.keys[0].pubkey;ew=(await eb.confirmTransaction({abortSignal:eV?.abortSignal,minContextSlot:em.minNonceContextSlot,nonceAccountPubkey:eM,nonceValue:em.nonceInfo.nonce,signature:eC},eV&&eV.commitment)).value}else eV?.abortSignal!=null&&console.warn("sendAndConfirmTransaction(): A transaction with a deprecated confirmation strategy was supplied along with an `abortSignal`. Only transactions having `lastValidBlockHeight` or a combination of `nonceInfo` and `minNonceContextSlot` are abortable."),ew=(await eb.confirmTransaction(eC,eV&&eV.commitment)).value;if(ew.err)throw Error(`Transaction ${eC} failed (${JSON.stringify(ew)})`);return eC}function lI(eb){return new Promise(em=>setTimeout(em,eb))}function lD(eb,em){let eH=eb.layout.span>=0?eb.layout.span:o4(eb,em),eV=e9.Buffer.alloc(eH),ew=Object.assign({instruction:eb.index},em);return eb.layout.encode(ew,eV),eV}let lP=i3._O("lamportsPerSignature"),lO=i3.n_([i3.Jq("version"),i3.Jq("state"),oG("authorizedPubkey"),oG("nonce"),i3.n_([lP],"feeCalculator")]),lR=lO.span,lB=eb=>{let em=eb.decode.bind(eb),eH=eb.encode.bind(eb);return{decode:em,encode:eH}},lF=eb=>em=>{let eH=(0,i3.Ik)(eb,em),{encode:eV,decode:ew}=lB(eH),eM=eH;return eM.decode=(eb,em)=>{let eH=ew(eb,em);return(0,i5.oU)(e9.Buffer.from(eH))},eM.encode=(em,eH,ew)=>{let eM=(0,i5.k$)(em,eb);return eV(eM,eH,ew)},eM},lj=lF(8),lU=Object.freeze({Create:{index:0,layout:i3.n_([i3.Jq("instruction"),i3.gM("lamports"),i3.gM("space"),oG("programId")])},Assign:{index:1,layout:i3.n_([i3.Jq("instruction"),oG("programId")])},Transfer:{index:2,layout:i3.n_([i3.Jq("instruction"),lj("lamports")])},CreateWithSeed:{index:3,layout:i3.n_([i3.Jq("instruction"),oG("base"),oK("seed"),i3.gM("lamports"),i3.gM("space"),oG("programId")])},AdvanceNonceAccount:{index:4,layout:i3.n_([i3.Jq("instruction")])},WithdrawNonceAccount:{index:5,layout:i3.n_([i3.Jq("instruction"),i3.gM("lamports")])},InitializeNonceAccount:{index:6,layout:i3.n_([i3.Jq("instruction"),oG("authorized")])},AuthorizeNonceAccount:{index:7,layout:i3.n_([i3.Jq("instruction"),oG("authorized")])},Allocate:{index:8,layout:i3.n_([i3.Jq("instruction"),i3.gM("space")])},AllocateWithSeed:{index:9,layout:i3.n_([i3.Jq("instruction"),oG("base"),oK("seed"),i3.gM("space"),oG("programId")])},AssignWithSeed:{index:10,layout:i3.n_([i3.Jq("instruction"),oG("base"),oK("seed"),oG("programId")])},TransferWithSeed:{index:11,layout:i3.n_([i3.Jq("instruction"),lj("lamports"),oK("seed"),oG("programId")])},UpgradeNonceAccount:{index:12,layout:i3.n_([i3.Jq("instruction")])}});class lq{constructor(){}static createAccount(eb){let em=lU.Create,eH=lD(em,{lamports:eb.lamports,space:eb.space,programId:oA(eb.programId.toBuffer())});return new lV({keys:[{pubkey:eb.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:eb.newAccountPubkey,isSigner:!0,isWritable:!0}],programId:this.programId,data:eH})}static transfer(eb){let em,eH;if("basePubkey"in eb){let eV=lU.TransferWithSeed;em=lD(eV,{lamports:BigInt(eb.lamports),seed:eb.seed,programId:oA(eb.programId.toBuffer())}),eH=[{pubkey:eb.fromPubkey,isSigner:!1,isWritable:!0},{pubkey:eb.basePubkey,isSigner:!0,isWritable:!1},{pubkey:eb.toPubkey,isSigner:!1,isWritable:!0}]}else{let eV=lU.Transfer;em=lD(eV,{lamports:BigInt(eb.lamports)}),eH=[{pubkey:eb.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:eb.toPubkey,isSigner:!1,isWritable:!0}]}return new lV({keys:eH,programId:this.programId,data:em})}static assign(eb){let em,eH;if("basePubkey"in eb){let eV=lU.AssignWithSeed;em=lD(eV,{base:oA(eb.basePubkey.toBuffer()),seed:eb.seed,programId:oA(eb.programId.toBuffer())}),eH=[{pubkey:eb.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:eb.basePubkey,isSigner:!0,isWritable:!1}]}else{let eV=lU.Assign;em=lD(eV,{programId:oA(eb.programId.toBuffer())}),eH=[{pubkey:eb.accountPubkey,isSigner:!0,isWritable:!0}]}return new lV({keys:eH,programId:this.programId,data:em})}static createAccountWithSeed(eb){let em=lU.CreateWithSeed,eH=lD(em,{base:oA(eb.basePubkey.toBuffer()),seed:eb.seed,lamports:eb.lamports,space:eb.space,programId:oA(eb.programId.toBuffer())}),eV=[{pubkey:eb.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:eb.newAccountPubkey,isSigner:!1,isWritable:!0}];return eb.basePubkey!=eb.fromPubkey&&eV.push({pubkey:eb.basePubkey,isSigner:!0,isWritable:!1}),new lV({keys:eV,programId:this.programId,data:eH})}static createNonceAccount(eb){let em=new lw;"basePubkey"in eb&&"seed"in eb?em.add(lq.createAccountWithSeed({fromPubkey:eb.fromPubkey,newAccountPubkey:eb.noncePubkey,basePubkey:eb.basePubkey,seed:eb.seed,lamports:eb.lamports,space:lR,programId:this.programId})):em.add(lq.createAccount({fromPubkey:eb.fromPubkey,newAccountPubkey:eb.noncePubkey,lamports:eb.lamports,space:lR,programId:this.programId}));let eH={noncePubkey:eb.noncePubkey,authorizedPubkey:eb.authorizedPubkey};return em.add(this.nonceInitialize(eH)),em}static nonceInitialize(eb){let em=lU.InitializeNonceAccount,eH=lD(em,{authorized:oA(eb.authorizedPubkey.toBuffer())}),eV={keys:[{pubkey:eb.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:lS,isSigner:!1,isWritable:!1},{pubkey:lE,isSigner:!1,isWritable:!1}],programId:this.programId,data:eH};return new lV(eV)}static nonceAdvance(eb){let em=lU.AdvanceNonceAccount,eH=lD(em),eV={keys:[{pubkey:eb.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:lS,isSigner:!1,isWritable:!1},{pubkey:eb.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:eH};return new lV(eV)}static nonceWithdraw(eb){let em=lU.WithdrawNonceAccount,eH=lD(em,{lamports:eb.lamports});return new lV({keys:[{pubkey:eb.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:eb.toPubkey,isSigner:!1,isWritable:!0},{pubkey:lS,isSigner:!1,isWritable:!1},{pubkey:lE,isSigner:!1,isWritable:!1},{pubkey:eb.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:eH})}static nonceAuthorize(eb){let em=lU.AuthorizeNonceAccount,eH=lD(em,{authorized:oA(eb.newAuthorizedPubkey.toBuffer())});return new lV({keys:[{pubkey:eb.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:eb.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:eH})}static allocate(eb){let em,eH;if("basePubkey"in eb){let eV=lU.AllocateWithSeed;em=lD(eV,{base:oA(eb.basePubkey.toBuffer()),seed:eb.seed,space:eb.space,programId:oA(eb.programId.toBuffer())}),eH=[{pubkey:eb.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:eb.basePubkey,isSigner:!0,isWritable:!1}]}else{let eV=lU.Allocate;em=lD(eV,{space:eb.space}),eH=[{pubkey:eb.accountPubkey,isSigner:!0,isWritable:!0}]}return new lV({keys:eH,programId:this.programId,data:em})}}lq.programId=new oB("11111111111111111111111111111111");let l$=oF-300;class lW{constructor(){}static getMinNumSignatures(eb){return 2*(Math.ceil(eb/lW.chunkSize)+1+1)}static async load(eb,em,eH,eV,ew){{let eM=await eb.getMinimumBalanceForRentExemption(ew.length),eC=await eb.getAccountInfo(eH.publicKey,"confirmed"),eT=null;if(null!==eC){if(eC.executable)return console.error("Program load failed, account is already executable"),!1;eC.data.length!==ew.length&&(eT=eT||new lw).add(lq.allocate({accountPubkey:eH.publicKey,space:ew.length})),eC.owner.equals(eV)||(eT=eT||new lw).add(lq.assign({accountPubkey:eH.publicKey,programId:eV})),eC.lamports0?eM:1,space:ew.length,programId:eV}));null!==eT&&await lN(eb,eT,[em,eH],{commitment:"confirmed"})}let eM=i3.n_([i3.Jq("instruction"),i3.Jq("offset"),i3.Jq("bytesLength"),i3.Jq("bytesLengthPadding"),i3.A9(i3.u8("byte"),i3.cv(i3.Jq(),-8),"bytes")]),eC=lW.chunkSize,eT=0,e_=ew,eS=[];for(;e_.length>0;){let ew=e_.slice(0,eC),eE=e9.Buffer.alloc(eC+16);eM.encode({instruction:0,offset:eT,bytes:ew,bytesLength:0,bytesLengthPadding:0},eE);let eA=new lw().add({keys:[{pubkey:eH.publicKey,isSigner:!0,isWritable:!0}],programId:eV,data:eE});if(eS.push(lN(eb,eA,[em,eH],{commitment:"confirmed"})),eb._rpcEndpoint.includes("solana.com")){let eb=4;await lI(1e3/eb)}eT+=eC,e_=e_.slice(eC)}await Promise.all(eS);{let ew=i3.n_([i3.Jq("instruction")]),eM=e9.Buffer.alloc(ew.span);ew.encode({instruction:1},eM);let eC=new lw().add({keys:[{pubkey:eH.publicKey,isSigner:!0,isWritable:!0},{pubkey:lE,isSigner:!1,isWritable:!1}],programId:eV,data:eM}),eT="processed",e_=await eb.sendTransaction(eC,[em,eH],{preflightCommitment:eT}),{context:eS,value:eE}=await eb.confirmTransaction({signature:e_,lastValidBlockHeight:eC.lastValidBlockHeight,blockhash:eC.recentBlockhash},eT);if(eE.err)throw Error(`Transaction ${e_} failed (${JSON.stringify(eE)})`);for(;;){try{let em=await eb.getSlot({commitment:eT});if(em>eS.slot)break}catch{}await new Promise(eb=>setTimeout(eb,Math.round(lT/2)))}}return!0}}lW.chunkSize=l$,new oB("BPFLoader2111111111111111111111111111111111"),Object.prototype.toString,i3.n_([i3.Jq("typeIndex"),lj("deactivationSlot"),i3._O("lastExtendedSlot"),i3.u8("lastExtendedStartIndex"),i3.u8(),i3.A9(oG(),i3.cv(i3.u8(),-1),"authority")]);let lZ=cG(cD(oB),cU(),eb=>new oB(eb)),lG=cq([cU(),cP("base64")]),lK=cG(cD(e9.Buffer),lG,eb=>e9.Buffer.from(eb[0],"base64"));function lY(eb){return cW([c$({jsonrpc:cP("2.0"),id:cU(),result:eb}),c$({jsonrpc:cP("2.0"),id:cU(),error:c$({code:cZ(),message:cU(),data:cF(cA())})})])}let lX=lY(cZ());function lJ(eb){return cG(lY(eb),lX,em=>"error"in em?em:{...em,result:ck(em.result,eb)})}function lQ(eb){return lJ(c$({context:c$({slot:cB()}),value:eb}))}function l6(eb){return c$({context:c$({slot:cB()}),value:eb})}let l4=c$({foundation:cB(),foundationTerm:cB(),initial:cB(),taper:cB(),terminal:cB()});lJ(cN(cR(c$({epoch:cB(),effectiveSlot:cB(),amount:cB(),postBalance:cB(),commission:cF(cR(cB()))}))));let l3=cN(c$({slot:cB(),prioritizationFee:cB()})),l5=c$({total:cB(),validator:cB(),foundation:cB(),epoch:cB()}),l8=c$({epoch:cB(),slotIndex:cB(),slotsInEpoch:cB(),absoluteSlot:cB(),blockHeight:cF(cB()),transactionCount:cF(cB())}),l9=c$({slotsPerEpoch:cB(),leaderScheduleSlotOffset:cB(),warmup:cI(),firstNormalEpoch:cB(),firstNormalSlot:cB()}),l7=cj(cU(),cN(cB())),fy=cR(cW([c$({}),cU()])),fz=c$({err:fy}),fH=cP("receivedSignature");c$({"solana-core":cU(),"feature-set":cF(cB())}),lQ(c$({err:cR(cW([c$({}),cU()])),logs:cR(cN(cU())),accounts:cF(cR(cN(cR(c$({executable:cI(),owner:cU(),lamports:cB(),data:cN(cU()),rentEpoch:cF(cB())}))))),unitsConsumed:cF(cB()),returnData:cF(cR(c$({programId:cU(),data:cq([cU(),cP("base64")])})))})),lQ(c$({byIdentity:cj(cU(),cN(cB())),range:c$({firstSlot:cB(),lastSlot:cB()})})),lJ(l4),lJ(l5),lJ(l3),lJ(l8),lJ(l9),lJ(l7),lJ(cB()),lQ(c$({total:cB(),circulating:cB(),nonCirculating:cB(),nonCirculatingAccounts:cN(lZ)}));let fV=c$({amount:cU(),uiAmount:cR(cB()),decimals:cB(),uiAmountString:cF(cU())});lQ(cN(c$({address:lZ,amount:cU(),uiAmount:cR(cB()),decimals:cB(),uiAmountString:cF(cU())}))),lQ(cN(c$({pubkey:lZ,account:c$({executable:cI(),owner:lZ,lamports:cB(),data:lK,rentEpoch:cB()})})));let fw=c$({program:cU(),parsed:cZ(),space:cB()});lQ(cN(c$({pubkey:lZ,account:c$({executable:cI(),owner:lZ,lamports:cB(),data:fw,rentEpoch:cB()})}))),lQ(cN(c$({lamports:cB(),address:lZ})));let fC=c$({executable:cI(),owner:lZ,lamports:cB(),data:lK,rentEpoch:cB()});c$({pubkey:lZ,account:fC});let fx=cG(cW([cD(e9.Buffer),fw]),cW([lG,fw]),eb=>Array.isArray(eb)?ck(eb,lK):eb),fk=c$({executable:cI(),owner:lZ,lamports:cB(),data:fx,rentEpoch:cB()});c$({pubkey:lZ,account:fk}),c$({state:cW([cP("active"),cP("inactive"),cP("activating"),cP("deactivating")]),active:cB(),inactive:cB()}),lJ(cN(c$({signature:cU(),slot:cB(),err:fy,memo:cR(cU()),blockTime:cF(cR(cB()))}))),lJ(cN(c$({signature:cU(),slot:cB(),err:fy,memo:cR(cU()),blockTime:cF(cR(cB()))}))),c$({subscription:cB(),result:l6(fC)});let fT=c$({pubkey:lZ,account:fC});c$({subscription:cB(),result:l6(fT)});let f_=c$({parent:cB(),slot:cB(),root:cB()});c$({subscription:cB(),result:f_});let fS=cW([c$({type:cW([cP("firstShredReceived"),cP("completed"),cP("optimisticConfirmation"),cP("root")]),slot:cB(),timestamp:cB()}),c$({type:cP("createdBank"),parent:cB(),slot:cB(),timestamp:cB()}),c$({type:cP("frozen"),slot:cB(),timestamp:cB(),stats:c$({numTransactionEntries:cB(),numSuccessfulTransactions:cB(),numFailedTransactions:cB(),maxTransactionsPerEntry:cB()})}),c$({type:cP("dead"),slot:cB(),timestamp:cB(),err:cU()})]);c$({subscription:cB(),result:fS}),c$({subscription:cB(),result:l6(cW([fz,fH]))}),c$({subscription:cB(),result:cB()}),c$({pubkey:cU(),gossip:cR(cU()),tpu:cR(cU()),rpc:cR(cU()),version:cR(cU())});let fE=c$({votePubkey:cU(),nodePubkey:cU(),activatedStake:cB(),epochVoteAccount:cI(),epochCredits:cN(cq([cB(),cB(),cB()])),commission:cB(),lastVote:cB(),rootSlot:cR(cB())});lJ(c$({current:cN(fE),delinquent:cN(fE)}));let fA=cW([cP("processed"),cP("confirmed"),cP("finalized")]),fN=c$({slot:cB(),confirmations:cR(cB()),err:fy,confirmationStatus:cF(fA)});lQ(cN(cR(fN))),lJ(cB());let fI=c$({accountKey:lZ,writableIndexes:cN(cB()),readonlyIndexes:cN(cB())}),fD=c$({signatures:cN(cU()),message:c$({accountKeys:cN(cU()),header:c$({numRequiredSignatures:cB(),numReadonlySignedAccounts:cB(),numReadonlyUnsignedAccounts:cB()}),instructions:cN(c$({accounts:cN(cB()),data:cU(),programIdIndex:cB()})),recentBlockhash:cU(),addressTableLookups:cF(cN(fI))})}),fP=c$({pubkey:lZ,signer:cI(),writable:cI(),source:cF(cW([cP("transaction"),cP("lookupTable")]))}),fO=c$({accountKeys:cN(fP),signatures:cN(cU())}),fR=c$({parsed:cZ(),program:cU(),programId:lZ}),fB=c$({accounts:cN(lZ),data:cU(),programId:lZ}),fF=cW([fB,fR]),fj=cW([c$({parsed:cZ(),program:cU(),programId:cU()}),c$({accounts:cN(cU()),data:cU(),programId:cU()})]),fU=cG(fF,fj,eb=>"accounts"in eb?ck(eb,fB):ck(eb,fR)),fq=c$({signatures:cN(cU()),message:c$({accountKeys:cN(fP),instructions:cN(fU),recentBlockhash:cU(),addressTableLookups:cF(cR(cN(fI)))})}),f$=c$({accountIndex:cB(),mint:cU(),owner:cF(cU()),uiTokenAmount:fV}),fW=c$({writable:cN(lZ),readonly:cN(lZ)}),fZ=c$({err:fy,fee:cB(),innerInstructions:cF(cR(cN(c$({index:cB(),instructions:cN(c$({accounts:cN(cB()),data:cU(),programIdIndex:cB()}))})))),preBalances:cN(cB()),postBalances:cN(cB()),logMessages:cF(cR(cN(cU()))),preTokenBalances:cF(cR(cN(f$))),postTokenBalances:cF(cR(cN(f$))),loadedAddresses:cF(fW),computeUnitsConsumed:cF(cB())}),fG=c$({err:fy,fee:cB(),innerInstructions:cF(cR(cN(c$({index:cB(),instructions:cN(fU)})))),preBalances:cN(cB()),postBalances:cN(cB()),logMessages:cF(cR(cN(cU()))),preTokenBalances:cF(cR(cN(f$))),postTokenBalances:cF(cR(cN(f$))),loadedAddresses:cF(fW),computeUnitsConsumed:cF(cB())}),fK=cW([cP(0),cP("legacy")]),fY=c$({pubkey:cU(),lamports:cB(),postBalance:cR(cB()),rewardType:cR(cU()),commission:cF(cR(cB()))});lJ(cR(c$({blockhash:cU(),previousBlockhash:cU(),parentSlot:cB(),transactions:cN(c$({transaction:fD,meta:cR(fZ),version:cF(fK)})),rewards:cF(cN(fY)),blockTime:cR(cB()),blockHeight:cR(cB())}))),lJ(cR(c$({blockhash:cU(),previousBlockhash:cU(),parentSlot:cB(),rewards:cF(cN(fY)),blockTime:cR(cB()),blockHeight:cR(cB())}))),lJ(cR(c$({blockhash:cU(),previousBlockhash:cU(),parentSlot:cB(),transactions:cN(c$({transaction:fO,meta:cR(fZ),version:cF(fK)})),rewards:cF(cN(fY)),blockTime:cR(cB()),blockHeight:cR(cB())}))),lJ(cR(c$({blockhash:cU(),previousBlockhash:cU(),parentSlot:cB(),transactions:cN(c$({transaction:fq,meta:cR(fG),version:cF(fK)})),rewards:cF(cN(fY)),blockTime:cR(cB()),blockHeight:cR(cB())}))),lJ(cR(c$({blockhash:cU(),previousBlockhash:cU(),parentSlot:cB(),transactions:cN(c$({transaction:fO,meta:cR(fG),version:cF(fK)})),rewards:cF(cN(fY)),blockTime:cR(cB()),blockHeight:cR(cB())}))),lJ(cR(c$({blockhash:cU(),previousBlockhash:cU(),parentSlot:cB(),rewards:cF(cN(fY)),blockTime:cR(cB()),blockHeight:cR(cB())}))),lJ(cR(c$({blockhash:cU(),previousBlockhash:cU(),parentSlot:cB(),transactions:cN(c$({transaction:fD,meta:cR(fZ)})),rewards:cF(cN(fY)),blockTime:cR(cB())}))),lJ(cR(c$({blockhash:cU(),previousBlockhash:cU(),parentSlot:cB(),signatures:cN(cU()),blockTime:cR(cB())}))),lJ(cR(c$({slot:cB(),meta:cR(fZ),blockTime:cF(cR(cB())),transaction:fD,version:cF(fK)}))),lJ(cR(c$({slot:cB(),transaction:fq,meta:cR(fG),blockTime:cF(cR(cB())),version:cF(fK)}))),lQ(c$({blockhash:cU(),feeCalculator:c$({lamportsPerSignature:cB()})})),lQ(c$({blockhash:cU(),lastValidBlockHeight:cB()})),lQ(cI());let fX=c$({slot:cB(),numTransactions:cB(),numSlots:cB(),samplePeriodSecs:cB()});lJ(cN(fX)),lQ(cR(c$({feeCalculator:c$({lamportsPerSignature:cB()})}))),lJ(cU()),lJ(cU());let fJ=c$({err:fy,logs:cN(cU()),signature:cU()});c$({result:l6(fJ),subscription:cB()});class fQ{constructor(eb){this._keypair=void 0,this._keypair=eb??oC()}static generate(){return new fQ(oC())}static fromSecretKey(eb,em){if(64!==eb.byteLength)throw Error("bad secret key size");let eH=eb.slice(32,64);if(!em||!em.skipValidation){let em=eb.slice(0,32),eV=oT(em);for(let eb=0;eb<32;eb++)if(eH[eb]!==eV[eb])throw Error("provided secretKey is invalid")}return new fQ({publicKey:eH,secretKey:eb})}static fromSeed(eb){let em=oT(eb),eH=new Uint8Array(64);return eH.set(eb),eH.set(em,32),new fQ({publicKey:em,secretKey:eH})}get publicKey(){return new oB(this._keypair.publicKey)}get secretKey(){return new Uint8Array(this._keypair.secretKey)}}let f0=Object.freeze({CreateLookupTable:{index:0,layout:i3.n_([i3.Jq("instruction"),lj("recentSlot"),i3.u8("bumpSeed")])},FreezeLookupTable:{index:1,layout:i3.n_([i3.Jq("instruction")])},ExtendLookupTable:{index:2,layout:i3.n_([i3.Jq("instruction"),lj(),i3.A9(oG(),i3.cv(i3.Jq(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:i3.n_([i3.Jq("instruction")])},CloseLookupTable:{index:4,layout:i3.n_([i3.Jq("instruction")])}});class f6{constructor(){}static createLookupTable(eb){let[em,eH]=oB.findProgramAddressSync([eb.authority.toBuffer(),(0,i5.k$)(BigInt(eb.recentSlot),8)],this.programId),eV=f0.CreateLookupTable,ew=lD(eV,{recentSlot:BigInt(eb.recentSlot),bumpSeed:eH}),eM=[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:eb.authority,isSigner:!0,isWritable:!1},{pubkey:eb.payer,isSigner:!0,isWritable:!0},{pubkey:lq.programId,isSigner:!1,isWritable:!1}];return[new lV({programId:this.programId,keys:eM,data:ew}),em]}static freezeLookupTable(eb){let em=f0.FreezeLookupTable,eH=lD(em),eV=[{pubkey:eb.lookupTable,isSigner:!1,isWritable:!0},{pubkey:eb.authority,isSigner:!0,isWritable:!1}];return new lV({programId:this.programId,keys:eV,data:eH})}static extendLookupTable(eb){let em=f0.ExtendLookupTable,eH=lD(em,{addresses:eb.addresses.map(eb=>eb.toBytes())}),eV=[{pubkey:eb.lookupTable,isSigner:!1,isWritable:!0},{pubkey:eb.authority,isSigner:!0,isWritable:!1}];return eb.payer&&eV.push({pubkey:eb.payer,isSigner:!0,isWritable:!0},{pubkey:lq.programId,isSigner:!1,isWritable:!1}),new lV({programId:this.programId,keys:eV,data:eH})}static deactivateLookupTable(eb){let em=f0.DeactivateLookupTable,eH=lD(em),eV=[{pubkey:eb.lookupTable,isSigner:!1,isWritable:!0},{pubkey:eb.authority,isSigner:!0,isWritable:!1}];return new lV({programId:this.programId,keys:eV,data:eH})}static closeLookupTable(eb){let em=f0.CloseLookupTable,eH=lD(em),eV=[{pubkey:eb.lookupTable,isSigner:!1,isWritable:!0},{pubkey:eb.authority,isSigner:!0,isWritable:!1},{pubkey:eb.recipient,isSigner:!1,isWritable:!0}];return new lV({programId:this.programId,keys:eV,data:eH})}}f6.programId=new oB("AddressLookupTab1e1111111111111111111111111");let f4=Object.freeze({RequestUnits:{index:0,layout:i3.n_([i3.u8("instruction"),i3.Jq("units"),i3.Jq("additionalFee")])},RequestHeapFrame:{index:1,layout:i3.n_([i3.u8("instruction"),i3.Jq("bytes")])},SetComputeUnitLimit:{index:2,layout:i3.n_([i3.u8("instruction"),i3.Jq("units")])},SetComputeUnitPrice:{index:3,layout:i3.n_([i3.u8("instruction"),lj("microLamports")])}});class f3{constructor(){}static requestUnits(eb){let em=f4.RequestUnits,eH=lD(em,eb);return new lV({keys:[],programId:this.programId,data:eH})}static requestHeapFrame(eb){let em=f4.RequestHeapFrame,eH=lD(em,eb);return new lV({keys:[],programId:this.programId,data:eH})}static setComputeUnitLimit(eb){let em=f4.SetComputeUnitLimit,eH=lD(em,eb);return new lV({keys:[],programId:this.programId,data:eH})}static setComputeUnitPrice(eb){let em=f4.SetComputeUnitPrice,eH=lD(em,{microLamports:BigInt(eb.microLamports)});return new lV({keys:[],programId:this.programId,data:eH})}}f3.programId=new oB("ComputeBudget111111111111111111111111111111");let f5=64,f8=32,f9=64,f7=i3.n_([i3.u8("numSignatures"),i3.u8("padding"),i3.KB("signatureOffset"),i3.KB("signatureInstructionIndex"),i3.KB("publicKeyOffset"),i3.KB("publicKeyInstructionIndex"),i3.KB("messageDataOffset"),i3.KB("messageDataSize"),i3.KB("messageInstructionIndex")]);class dv{constructor(){}static createInstructionWithPublicKey(eb){let{publicKey:em,message:eH,signature:eV,instructionIndex:ew}=eb;o8(em.length===f8,`Public Key must be ${f8} bytes but received ${em.length} bytes`),o8(eV.length===f9,`Signature must be ${f9} bytes but received ${eV.length} bytes`);let eM=f7.span,eC=eM+em.length,eT=eC+eV.length,e_=1,eS=e9.Buffer.alloc(eT+eH.length),eE=null==ew?65535:ew;return f7.encode({numSignatures:e_,padding:0,signatureOffset:eC,signatureInstructionIndex:eE,publicKeyOffset:eM,publicKeyInstructionIndex:eE,messageDataOffset:eT,messageDataSize:eH.length,messageInstructionIndex:eE},eS),eS.fill(em,eM),eS.fill(eV,eC),eS.fill(eH,eT),new lV({keys:[],programId:dv.programId,data:eS})}static createInstructionWithPrivateKey(eb){let{privateKey:em,message:eH,instructionIndex:eV}=eb;o8(em.length===f5,`Private key must be ${f5} bytes but received ${em.length} bytes`);try{let eb=fQ.fromSecretKey(em),ew=eb.publicKey.toBytes(),eM=oS(eH,eb.secretKey);return this.createInstructionWithPublicKey({publicKey:ew,message:eH,signature:eM,instructionIndex:eV})}catch(eb){throw Error(`Error creating instruction; ${eb}`)}}}dv.programId=new oB("Ed25519SigVerify111111111111111111111111111");let dz=(eb,em)=>{let eH=s9.sign(eb,em);return[eH.toCompactRawBytes(),eH.recovery]};s9.utils.isValidPrivateKey;let dH=s9.getPublicKey,dV=32,dw=20,dM=64,dC=11,dT=i3.n_([i3.u8("numSignatures"),i3.KB("signatureOffset"),i3.u8("signatureInstructionIndex"),i3.KB("ethAddressOffset"),i3.u8("ethAddressInstructionIndex"),i3.KB("messageDataOffset"),i3.KB("messageDataSize"),i3.u8("messageInstructionIndex"),i3.Ik(20,"ethAddress"),i3.Ik(64,"signature"),i3.u8("recoveryId")]);class dS{constructor(){}static publicKeyToEthAddress(eb){o8(eb.length===dM,`Public key must be ${dM} bytes but received ${eb.length} bytes`);try{return e9.Buffer.from(sD(oA(eb))).slice(-dw)}catch(eb){throw Error(`Error constructing Ethereum address: ${eb}`)}}static createInstructionWithPublicKey(eb){let{publicKey:em,message:eH,signature:eV,recoveryId:ew,instructionIndex:eM}=eb;return dS.createInstructionWithEthAddress({ethAddress:dS.publicKeyToEthAddress(em),message:eH,signature:eV,recoveryId:ew,instructionIndex:eM})}static createInstructionWithEthAddress(eb){let em;let{ethAddress:eH,message:eV,signature:ew,recoveryId:eM,instructionIndex:eC=0}=eb;o8((em="string"==typeof eH?eH.startsWith("0x")?e9.Buffer.from(eH.substr(2),"hex"):e9.Buffer.from(eH,"hex"):eH).length===dw,`Address must be ${dw} bytes but received ${em.length} bytes`);let eT=1+dC,e_=eT,eS=eT+em.length,eE=eS+ew.length+1,eA=1,eN=e9.Buffer.alloc(dT.span+eV.length);return dT.encode({numSignatures:eA,signatureOffset:eS,signatureInstructionIndex:eC,ethAddressOffset:e_,ethAddressInstructionIndex:eC,messageDataOffset:eE,messageDataSize:eV.length,messageInstructionIndex:eC,signature:oA(ew),ethAddress:oA(em),recoveryId:eM},eN),eN.fill(oA(eV),dT.span),new lV({keys:[],programId:dS.programId,data:eN})}static createInstructionWithPrivateKey(eb){let{privateKey:em,message:eH,instructionIndex:eV}=eb;o8(em.length===dV,`Private key must be ${dV} bytes but received ${em.length} bytes`);try{let eb=oA(em),ew=dH(eb,!1).slice(1),eM=e9.Buffer.from(sD(oA(eH))),[eC,eT]=dz(eM,eb);return this.createInstructionWithPublicKey({publicKey:ew,message:eH,signature:eC,recoveryId:eT,instructionIndex:eV})}catch(eb){throw Error(`Error creating instruction; ${eb}`)}}}dS.programId=new oB("KeccakSecp256k11111111111111111111111111111");let dE=new oB("StakeConfig11111111111111111111111111111111");class dA{constructor(eb,em,eH){this.unixTimestamp=void 0,this.epoch=void 0,this.custodian=void 0,this.unixTimestamp=eb,this.epoch=em,this.custodian=eH}}kR=dA,dA.default=new kR(0,0,oB.default);let dN=Object.freeze({Initialize:{index:0,layout:i3.n_([i3.Jq("instruction"),oJ(),oQ()])},Authorize:{index:1,layout:i3.n_([i3.Jq("instruction"),oG("newAuthorized"),i3.Jq("stakeAuthorizationType")])},Delegate:{index:2,layout:i3.n_([i3.Jq("instruction")])},Split:{index:3,layout:i3.n_([i3.Jq("instruction"),i3.gM("lamports")])},Withdraw:{index:4,layout:i3.n_([i3.Jq("instruction"),i3.gM("lamports")])},Deactivate:{index:5,layout:i3.n_([i3.Jq("instruction")])},Merge:{index:7,layout:i3.n_([i3.Jq("instruction")])},AuthorizeWithSeed:{index:8,layout:i3.n_([i3.Jq("instruction"),oG("newAuthorized"),i3.Jq("stakeAuthorizationType"),oK("authoritySeed"),oG("authorityOwner")])}});Object.freeze({Staker:{index:0},Withdrawer:{index:1}});class dI{constructor(){}static initialize(eb){let{stakePubkey:em,authorized:eH,lockup:eV}=eb,ew=eV||dA.default,eM=dN.Initialize,eC=lD(eM,{authorized:{staker:oA(eH.staker.toBuffer()),withdrawer:oA(eH.withdrawer.toBuffer())},lockup:{unixTimestamp:ew.unixTimestamp,epoch:ew.epoch,custodian:oA(ew.custodian.toBuffer())}}),eT={keys:[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:lE,isSigner:!1,isWritable:!1}],programId:this.programId,data:eC};return new lV(eT)}static createAccountWithSeed(eb){let em=new lw;em.add(lq.createAccountWithSeed({fromPubkey:eb.fromPubkey,newAccountPubkey:eb.stakePubkey,basePubkey:eb.basePubkey,seed:eb.seed,lamports:eb.lamports,space:this.space,programId:this.programId}));let{stakePubkey:eH,authorized:eV,lockup:ew}=eb;return em.add(this.initialize({stakePubkey:eH,authorized:eV,lockup:ew}))}static createAccount(eb){let em=new lw;em.add(lq.createAccount({fromPubkey:eb.fromPubkey,newAccountPubkey:eb.stakePubkey,lamports:eb.lamports,space:this.space,programId:this.programId}));let{stakePubkey:eH,authorized:eV,lockup:ew}=eb;return em.add(this.initialize({stakePubkey:eH,authorized:eV,lockup:ew}))}static delegate(eb){let{stakePubkey:em,authorizedPubkey:eH,votePubkey:eV}=eb,ew=dN.Delegate,eM=lD(ew);return new lw().add({keys:[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:eV,isSigner:!1,isWritable:!1},{pubkey:l_,isSigner:!1,isWritable:!1},{pubkey:lA,isSigner:!1,isWritable:!1},{pubkey:dE,isSigner:!1,isWritable:!1},{pubkey:eH,isSigner:!0,isWritable:!1}],programId:this.programId,data:eM})}static authorize(eb){let{stakePubkey:em,authorizedPubkey:eH,newAuthorizedPubkey:eV,stakeAuthorizationType:ew,custodianPubkey:eM}=eb,eC=dN.Authorize,eT=lD(eC,{newAuthorized:oA(eV.toBuffer()),stakeAuthorizationType:ew.index}),e_=[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:l_,isSigner:!1,isWritable:!0},{pubkey:eH,isSigner:!0,isWritable:!1}];return eM&&e_.push({pubkey:eM,isSigner:!0,isWritable:!1}),new lw().add({keys:e_,programId:this.programId,data:eT})}static authorizeWithSeed(eb){let{stakePubkey:em,authorityBase:eH,authoritySeed:eV,authorityOwner:ew,newAuthorizedPubkey:eM,stakeAuthorizationType:eC,custodianPubkey:eT}=eb,e_=dN.AuthorizeWithSeed,eS=lD(e_,{newAuthorized:oA(eM.toBuffer()),stakeAuthorizationType:eC.index,authoritySeed:eV,authorityOwner:oA(ew.toBuffer())}),eE=[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:eH,isSigner:!0,isWritable:!1},{pubkey:l_,isSigner:!1,isWritable:!1}];return eT&&eE.push({pubkey:eT,isSigner:!0,isWritable:!1}),new lw().add({keys:eE,programId:this.programId,data:eS})}static splitInstruction(eb){let{stakePubkey:em,authorizedPubkey:eH,splitStakePubkey:eV,lamports:ew}=eb,eM=dN.Split,eC=lD(eM,{lamports:ew});return new lV({keys:[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:eV,isSigner:!1,isWritable:!0},{pubkey:eH,isSigner:!0,isWritable:!1}],programId:this.programId,data:eC})}static split(eb,em){let eH=new lw;return eH.add(lq.createAccount({fromPubkey:eb.authorizedPubkey,newAccountPubkey:eb.splitStakePubkey,lamports:em,space:this.space,programId:this.programId})),eH.add(this.splitInstruction(eb))}static splitWithSeed(eb,em){let{stakePubkey:eH,authorizedPubkey:eV,splitStakePubkey:ew,basePubkey:eM,seed:eC,lamports:eT}=eb,e_=new lw;return e_.add(lq.allocate({accountPubkey:ew,basePubkey:eM,seed:eC,space:this.space,programId:this.programId})),em&&em>0&&e_.add(lq.transfer({fromPubkey:eb.authorizedPubkey,toPubkey:ew,lamports:em})),e_.add(this.splitInstruction({stakePubkey:eH,authorizedPubkey:eV,splitStakePubkey:ew,lamports:eT}))}static merge(eb){let{stakePubkey:em,sourceStakePubKey:eH,authorizedPubkey:eV}=eb,ew=dN.Merge,eM=lD(ew);return new lw().add({keys:[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:eH,isSigner:!1,isWritable:!0},{pubkey:l_,isSigner:!1,isWritable:!1},{pubkey:lA,isSigner:!1,isWritable:!1},{pubkey:eV,isSigner:!0,isWritable:!1}],programId:this.programId,data:eM})}static withdraw(eb){let{stakePubkey:em,authorizedPubkey:eH,toPubkey:eV,lamports:ew,custodianPubkey:eM}=eb,eC=dN.Withdraw,eT=lD(eC,{lamports:ew}),e_=[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:eV,isSigner:!1,isWritable:!0},{pubkey:l_,isSigner:!1,isWritable:!1},{pubkey:lA,isSigner:!1,isWritable:!1},{pubkey:eH,isSigner:!0,isWritable:!1}];return eM&&e_.push({pubkey:eM,isSigner:!0,isWritable:!1}),new lw().add({keys:e_,programId:this.programId,data:eT})}static deactivate(eb){let{stakePubkey:em,authorizedPubkey:eH}=eb,eV=dN.Deactivate,ew=lD(eV);return new lw().add({keys:[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:l_,isSigner:!1,isWritable:!1},{pubkey:eH,isSigner:!0,isWritable:!1}],programId:this.programId,data:ew})}}dI.programId=new oB("Stake11111111111111111111111111111111111111"),dI.space=200;let dD=Object.freeze({InitializeAccount:{index:0,layout:i3.n_([i3.Jq("instruction"),o0()])},Authorize:{index:1,layout:i3.n_([i3.Jq("instruction"),oG("newAuthorized"),i3.Jq("voteAuthorizationType")])},Withdraw:{index:3,layout:i3.n_([i3.Jq("instruction"),i3.gM("lamports")])},UpdateValidatorIdentity:{index:4,layout:i3.n_([i3.Jq("instruction")])},AuthorizeWithSeed:{index:10,layout:i3.n_([i3.Jq("instruction"),o6()])}});Object.freeze({Voter:{index:0},Withdrawer:{index:1}});class dP{constructor(){}static initializeAccount(eb){let{votePubkey:em,nodePubkey:eH,voteInit:eV}=eb,ew=dD.InitializeAccount,eM=lD(ew,{voteInit:{nodePubkey:oA(eV.nodePubkey.toBuffer()),authorizedVoter:oA(eV.authorizedVoter.toBuffer()),authorizedWithdrawer:oA(eV.authorizedWithdrawer.toBuffer()),commission:eV.commission}}),eC={keys:[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:lE,isSigner:!1,isWritable:!1},{pubkey:l_,isSigner:!1,isWritable:!1},{pubkey:eH,isSigner:!0,isWritable:!1}],programId:this.programId,data:eM};return new lV(eC)}static createAccount(eb){let em=new lw;return em.add(lq.createAccount({fromPubkey:eb.fromPubkey,newAccountPubkey:eb.votePubkey,lamports:eb.lamports,space:this.space,programId:this.programId})),em.add(this.initializeAccount({votePubkey:eb.votePubkey,nodePubkey:eb.voteInit.nodePubkey,voteInit:eb.voteInit}))}static authorize(eb){let{votePubkey:em,authorizedPubkey:eH,newAuthorizedPubkey:eV,voteAuthorizationType:ew}=eb,eM=dD.Authorize,eC=lD(eM,{newAuthorized:oA(eV.toBuffer()),voteAuthorizationType:ew.index}),eT=[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:l_,isSigner:!1,isWritable:!1},{pubkey:eH,isSigner:!0,isWritable:!1}];return new lw().add({keys:eT,programId:this.programId,data:eC})}static authorizeWithSeed(eb){let{currentAuthorityDerivedKeyBasePubkey:em,currentAuthorityDerivedKeyOwnerPubkey:eH,currentAuthorityDerivedKeySeed:eV,newAuthorizedPubkey:ew,voteAuthorizationType:eM,votePubkey:eC}=eb,eT=dD.AuthorizeWithSeed,e_=lD(eT,{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:oA(eH.toBuffer()),currentAuthorityDerivedKeySeed:eV,newAuthorized:oA(ew.toBuffer()),voteAuthorizationType:eM.index}}),eS=[{pubkey:eC,isSigner:!1,isWritable:!0},{pubkey:l_,isSigner:!1,isWritable:!1},{pubkey:em,isSigner:!0,isWritable:!1}];return new lw().add({keys:eS,programId:this.programId,data:e_})}static withdraw(eb){let{votePubkey:em,authorizedWithdrawerPubkey:eH,lamports:eV,toPubkey:ew}=eb,eM=dD.Withdraw,eC=lD(eM,{lamports:eV}),eT=[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:ew,isSigner:!1,isWritable:!0},{pubkey:eH,isSigner:!0,isWritable:!1}];return new lw().add({keys:eT,programId:this.programId,data:eC})}static safeWithdraw(eb,em,eH){if(eb.lamports>em-eH)throw Error("Withdraw will leave vote account with insufficient funds.");return dP.withdraw(eb)}static updateValidatorIdentity(eb){let{votePubkey:em,authorizedWithdrawerPubkey:eH,nodePubkey:eV}=eb,ew=dD.UpdateValidatorIdentity,eM=lD(ew),eC=[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:eV,isSigner:!0,isWritable:!1},{pubkey:eH,isSigner:!0,isWritable:!1}];return new lw().add({keys:eC,programId:this.programId,data:eM})}}dP.programId=new oB("Vote111111111111111111111111111111111111111"),dP.space=3762,new oB("Va1idator1nfo111111111111111111111111111111"),c$({name:cU(),website:cF(cU()),details:cF(cU()),keybaseUsername:cF(cU())}),new oB("Vote111111111111111111111111111111111111111"),i3.n_([oG("nodePubkey"),oG("authorizedWithdrawer"),i3.u8("commission"),i3._O(),i3.A9(i3.n_([i3._O("slot"),i3.Jq("confirmationCount")]),i3.cv(i3.Jq(),-8),"votes"),i3.u8("rootSlotValid"),i3._O("rootSlot"),i3._O(),i3.A9(i3.n_([i3._O("epoch"),oG("authorizedVoter")]),i3.cv(i3.Jq(),-8),"authorizedVoters"),i3.n_([i3.A9(i3.n_([oG("authorizedPubkey"),i3._O("epochOfLastAuthorizedSwitch"),i3._O("targetEpoch")]),32,"buf"),i3._O("idx"),i3.u8("isEmpty")],"priorVoters"),i3._O(),i3.A9(i3.n_([i3._O("epoch"),i3._O("credits"),i3._O("prevCredits")]),i3.cv(i3.Jq(),-8),"epochCredits"),i3.n_([i3._O("slot"),i3._O("timestamp")],"lastTimestamp")]);var dO=eH(42115),dR=eH(50780);function dB(eb,em){if(!(eb instanceof Uint8Array)){if("function"==typeof eb?.getVerificationBuffer)eb=eb.getVerificationBuffer();else throw Error(`Cannot sign message: ${eb}`)}let{signature:eH,publicKey:eV}=JSON.parse(em);try{return dR.sign.detached.verify(eb,dO.decode(eH),dO.decode(eV))}catch{return!1}}var dF=Object.defineProperty,dj=(eb,em,eH)=>em in eb?dF(eb,em,{enumerable:!0,configurable:!0,writable:!0,value:eH}):eb[em]=eH,dU=(eb,em,eH)=>(dj(eb,"symbol"!=typeof em?em+"":em,eH),eH);class dq extends eD{constructor(eb,em){super(eb.toString()),dU(this,"wallet"),dU(this,"keypair"),dU(this,"isKeypair"),em instanceof fQ?(this.keypair=em,this.isKeypair=!0):(this.wallet=em,this.isKeypair=!1)}getChain(){return e_.$O.SOL}async sign(eb){let em;let eH=eb.getVerificationBuffer();if(this.wallet){let eb=await this.wallet.signMessage(eH);em=eb instanceof Uint8Array?eb:eb.signature}else if(this.keypair)em=dO.encode(dR.sign.detached(eH,this.keypair.secretKey));else throw Error("Cannot sign message");if(dB(eH,JSON.stringify({signature:em,publicKey:this.address})))return JSON.stringify({signature:em,publicKey:this.address});throw Error("Cannot proof the integrity of the signature")}}async function d$(eb){if(eb.connected||await eb.connect(),!eb.publicKey)throw Error("This wallet does not provide a public key");return new dq(eb.publicKey,eb)}var dW=eH(98223),dZ=eH(74294),dG=eH(36969),dK=eH(82169);eH(22751);var dY=eH(89072),dX=eH(48764).Buffer;function dJ(eb){let em=dX.alloc(4);em.writeUInt32BE(eb.length,0);let eH=dX.from(eb).toString("utf-8"),eV=dX.from(`Avalanche Signed Message: -${em}${eH}`,"utf8");return new dY.sha256().update(eV).digest()}async function dQ(eb,em,eH){if(!(eb instanceof Uint8Array)){if("function"==typeof eb?.getVerificationBuffer)eb=eb.getVerificationBuffer();else throw Error(`Cannot sign message: ${eb}`)}let eV=new dW.Avalanche().XChain().keyChain().makeKey(),ew=dW.BinTools.getInstance().cb58Decode(em),eM=dX.from(await dJ(eb)).toString("hex"),eC=dW.Buffer.from(eM,"hex"),eT=eV.recover(eC,ew);return eH===eT.toString("hex")}var ub=Object.defineProperty,um=(eb,em,eH)=>em in eb?ub(eb,em,{enumerable:!0,configurable:!0,writable:!0,value:eH}):eb[em]=eH,uy=(eb,em,eH)=>(um(eb,"symbol"!=typeof em?em+"":em,eH),eH);class uz extends e0{constructor(eb,em,eH){super(em,eH),uy(this,"keyPair"),eb instanceof dK.r?this.wallet=new eY(eb):eb instanceof dZ.KeyPair||eb instanceof dG.KeyPair?this.keyPair=eb:this.wallet=eb}getChain(){if(this.keyPair)return e_.$O.AVAX;if(this.wallet)return e_.$O.ETH;throw Error("Cannot determine chain")}async askPubKey(){if(!this.publicKey){if(!this.wallet)throw Error("PublicKey Error: No providers are setup");this.publicKey=await this.wallet.getPublicKey()}}async sign(eb){let em=eb.getVerificationBuffer(),eH=dJ(em);if(this.keyPair){let eb=eH.toString("hex"),eV=dW.Buffer.from(eb,"hex"),ew=this.keyPair?.sign(eV);if(!ew)throw Error("Cannot sign message");let eM=dW.BinTools.getInstance().cb58Encode(ew);if(await dQ(em,eM,this.keyPair.getPublicKey().toString("hex")))return eM;throw Error("Cannot proof the integrity of the signature")}if(this.wallet)return await this.wallet.signMessage(em);throw Error("Cannot sign message")}}var uH=((kP=uH||{}).C_CHAIN="C",kP.X_CHAIN="X",kP);async function uV(eb,em=eZ.AVAX){let eH=new eE.Q(eb),eV=new eY(eH);if(await eV.changeNetwork(em),await eV.connect(),eV.address)return new uz(eV,eV.address);throw Error("Insufficient permissions")}var uw=eH(64146),uM=eH(38197),uC=eH(84243);let ux=["name","code","message"],uk=eb=>{if("object"==typeof eb&&null!==eb){let em={};for(let eH of ux)"string"==typeof eb[eH]&&(em[eH]=eb[eH]);return em}return{message:String(eb)}},uT=new Map([["FRAMEWORK_INITIALIZATION","Framework Initialization"],["SUPERTOKEN_INITIALIZATION","SuperToken Initialization"],["CREATE_SIGNER","Create Signer"],["SUPERTOKEN_READ","SuperToken Read"],["CFAV1_READ","ConstantFlowAgreementV1 Read"],["IDAV1_READ","InstantDistributionAgreementV1 Read"],["INVALID_ADDRESS","Invalid Address"],["INVALID_OBJECT","Invalid Object"],["UNSUPPORTED_OPERATION","Unsupported Batch Call Operation"],["MISSING_TRANSACTION_PROPERTIES","Missing Transaction Properties"],["BATCH_CALL_ERROR","Batch Call"],["NETWORK_MISMATCH","Network Mismatch"],["UNCLEAN_PERMISSIONS","Unclean Permissions"],["NEGATIVE_FLOW_ALLOWANCE","Negative Flow Rate Allowance"]]),u_=eb=>{try{let em=uk(eb),eH=JSON.stringify(em,null,2);return eH.replace(/\\"/g,'"')}catch{return console.error("SFError caused by: ",eb),"[Couldn't serialize internal error. Error logged to console instead.]"}};class uS extends Error{constructor({type:eb,message:em,cause:eH}){let eV=`${uT.get(eb)} Error: ${em}${eH?` -Caused by: ${u_(eH)}`:""}`;super(eV,eH?{cause:eH}:{}),eH&&!this.cause&&(this.cause=eH),this.type=eb,this.name="SFError",Object.setPrototypeOf(this,new.target.prototype)}}var uE=eH(2593);function uA(eb,em){let eH=uE.O$.from(eb),eV=100,ew=1===em?eH:eH.div(eV).mul(Math.round(em*eV));return ew}var uN=eH(8198);let uI=[{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];class uD{static createInterface(){return new uN.vU(uI)}static connect(eb,em){return new uw.CH(eb,uI,em)}}uD.abi=uI;let uP=[{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"uint256",name:"index",type:"uint256"}],name:"getRoleMember",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleMemberCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];class uO{static createInterface(){return new uN.vU(uP)}static connect(eb,em){return new uw.CH(eb,uP,em)}}uO.abi=uP;let uR=[{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"}];class uB{static createInterface(){return new uN.vU(uR)}static connect(eb,em){return new uw.CH(eb,uR,em)}}uB.abi=uR;let uF=[{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"uint256",name:"index",type:"uint256"}],name:"getRoleMember",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleMemberCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"}];class uj{static createInterface(){return new uN.vU(uF)}static connect(eb,em){return new uw.CH(eb,uF,em)}}uj.abi=uF;let uU=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}];class uq{static createInterface(){return new uN.vU(uU)}static connect(eb,em){return new uw.CH(eb,uU,em)}}uq.abi=uU;let u$=[{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];class uW{static createInterface(){return new uN.vU(u$)}static connect(eb,em){return new uw.CH(eb,u$,em)}}uW.abi=u$;let uZ=[{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"}];class uG{static createInterface(){return new uN.vU(uZ)}static connect(eb,em){return new uw.CH(eb,uZ,em)}}uG.abi=uZ;let uK=[{stateMutability:"payable",type:"fallback"},{stateMutability:"payable",type:"receive"}];class uY{static createInterface(){return new uN.vU(uK)}static connect(eb,em){return new uw.CH(eb,uK,em)}}uY.abi=uK;let uX=[{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",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:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",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:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}];class uJ{static createInterface(){return new uN.vU(uX)}static connect(eb,em){return new uw.CH(eb,uX,em)}}uJ.abi=uX;let uQ=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",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:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}];class u6{static createInterface(){return new uN.vU(uQ)}static connect(eb,em){return new uw.CH(eb,uQ,em)}}u6.abi=uQ;let u4=[{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"}];class u3{static createInterface(){return new uN.vU(u4)}static connect(eb,em){return new uw.CH(eb,u4,em)}}u3.abi=u4;let u5=[{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",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:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}],u9="0x60806040523480156200001157600080fd5b5060405162000b4638038062000b4683398101604081905262000034916200011f565b600362000042838262000218565b50600462000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61085280620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610706565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610730565b61024c565b604051601281526020016100c3565b6100df610131366004610706565b610270565b6100f361014436600461076c565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610706565b6102a1565b6100df610188366004610706565b610321565b6100f361019b36600461078e565b61032f565b6060600380546101af906107c1565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c1565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fb565b61035a565b6060600480546101af906107c1565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b600060208083528351808285015260005b818110156106c9578581018301518582016040015282016106ad565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070157600080fd5b919050565b6000806040838503121561071957600080fd5b610722836106ea565b946020939093013593505050565b60008060006060848603121561074557600080fd5b61074e846106ea565b925061075c602085016106ea565b9150604084013590509250925092565b60006020828403121561077e57600080fd5b610787826106ea565b9392505050565b600080604083850312156107a157600080fd5b6107aa836106ea565b91506107b8602084016106ea565b90509250929050565b600181811c908216806107d557607f821691505b6020821081036107f557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea2646970667358221220ce6fd47ad0ad2679809533356ee07301f943af2a2adf872539c601007319177364736f6c63430008130033",u7=eb=>eb.length>1;class pb extends uw.lV{constructor(...eb){u7(eb)?super(...eb):super(u5,u9,eb[0])}deploy(eb,em,eH){return super.deploy(eb,em,eH||{})}getDeployTransaction(eb,em,eH){return super.getDeployTransaction(eb,em,eH||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(u5)}static connect(eb,em){return new uw.CH(eb,u5,em)}}pb.bytecode=u9,pb.abi=u5;let pm=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}];class pv{static createInterface(){return new uN.vU(pm)}static connect(eb,em){return new uw.CH(eb,pm,em)}}pv.abi=pm;let pH=[{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:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{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:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"operator",type:"address"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"owner",type:"address"}],stateMutability:"view",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:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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"}];class pV{static createInterface(){return new uN.vU(pH)}static connect(eb,em){return new uw.CH(eb,pH,em)}}pV.abi=pH;let pw=[{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:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{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:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"operator",type:"address"}],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:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"owner",type:"address"}],stateMutability:"view",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:[{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"}];class pM{static createInterface(){return new uN.vU(pw)}static connect(eb,em){return new uw.CH(eb,pw,em)}}pM.abi=pw;let pC=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"AuthorizedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Burned",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Minted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"RevokedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Sent",type:"event"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"authorizeOperator",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:"amount",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultOperators",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"granularity",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"tokenHolder",type:"address"}],name:"isOperatorFor",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:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"revokeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"send",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}];class pT{static createInterface(){return new uN.vU(pC)}static connect(eb,em){return new uw.CH(eb,pC,em)}}pT.abi=pC;let p_=[{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"tokensReceived",outputs:[],stateMutability:"nonpayable",type:"function"}];class pS{static createInterface(){return new uN.vU(p_)}static connect(eb,em){return new uw.CH(eb,p_,em)}}pS.abi=p_;let pE=[{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"tokensToSend",outputs:[],stateMutability:"nonpayable",type:"function"}];class pA{static createInterface(){return new uN.vU(pE)}static connect(eb,em){return new uw.CH(eb,pE,em)}}pA.abi=pE;let pN=[{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];class pI{static createInterface(){return new uN.vU(pN)}static connect(eb,em){return new uw.CH(eb,pN,em)}}pI.abi=pN;let pD=[{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];class pP{static createInterface(){return new uN.vU(pD)}static connect(eb,em){return new uw.CH(eb,pD,em)}}pP.abi=pD;let pO=[{inputs:[{internalType:"bytes32",name:"interfaceHash",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"canImplementInterfaceForAddress",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"}],pR="0x608060405234801561001057600080fd5b50610114806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063249cb3fa14602d575b600080fd5b603c603836600460a4565b604e565b60405190815260200160405180910390f35b6000828152602081815260408083206001600160a01b038516845290915281205460ff16607b576000609d565b7fa2ef4600d742022d532d4747cb3547474667d6f13804902513b2ec01c848f4b45b9392505050565b6000806040838503121560b657600080fd5b8235915060208301356001600160a01b038116811460d357600080fd5b80915050925092905056fea264697066735822122006ff1b573197860a53ce71de2ccf4f76535fa2c003b79e61e97f91332c20a8a864736f6c63430008130033",pB=eb=>eb.length>1;class pF extends uw.lV{constructor(...eb){pB(eb)?super(...eb):super(pO,pR,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(pO)}static connect(eb,em){return new uw.CH(eb,pO,em)}}pF.bytecode=pR,pF.abi=pO;let pj=[{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];class pU{static createInterface(){return new uN.vU(pj)}static connect(eb,em){return new uw.CH(eb,pj,em)}}pU.abi=pj;let pq=[{inputs:[{internalType:"bytes32",name:"interfaceHash",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"canImplementInterfaceForAddress",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"}];class p${static createInterface(){return new uN.vU(pq)}static connect(eb,em){return new uw.CH(eb,pq,em)}}p$.abi=pq;let pW=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"bytes32",name:"interfaceHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"implementer",type:"address"}],name:"InterfaceImplementerSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"newManager",type:"address"}],name:"ManagerChanged",type:"event"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes32",name:"_interfaceHash",type:"bytes32"}],name:"getInterfaceImplementer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getManager",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"implementsERC165Interface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"implementsERC165InterfaceNoCache",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"interfaceName",type:"string"}],name:"interfaceHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes32",name:"_interfaceHash",type:"bytes32"},{internalType:"address",name:"implementer",type:"address"}],name:"setInterfaceImplementer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"newManager",type:"address"}],name:"setManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"updateERC165Cache",outputs:[],stateMutability:"nonpayable",type:"function"}];class pZ{static createInterface(){return new uN.vU(pW)}static connect(eb,em){return new uw.CH(eb,pW,em)}}pZ.abi=pW;let pG=[{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"}],pK="0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122061590f6cd635a06290c02b99def67baf87094bf1650d78eeb998755045f1522764736f6c63430008130033",pY=eb=>eb.length>1;class pX extends uw.lV{constructor(...eb){pY(eb)?super(...eb):super(pG,pK,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(pG)}static connect(eb,em){return new uw.CH(eb,pG,em)}}pX.bytecode=pK,pX.abi=pG;let pJ=[{inputs:[],name:"AGREEMENT_BASE_ONLY_HOST",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{inputs:[],name:"agreementType",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"time",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"dynamicBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}];class pQ{static createInterface(){return new uN.vU(pJ)}static connect(eb,em){return new uw.CH(eb,pJ,em)}}pQ.abi=pJ;let p6=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AGREEMENT_BASE_ONLY_HOST",type:"error"},{inputs:[{internalType:"uint256",name:"_code",type:"uint256"}],name:"APP_RULE",type:"error"},{inputs:[],name:"CFA_ACL_FLOW_RATE_ALLOWANCE_EXCEEDED",type:"error"},{inputs:[],name:"CFA_ACL_NO_NEGATIVE_ALLOWANCE",type:"error"},{inputs:[],name:"CFA_ACL_NO_SENDER_CREATE",type:"error"},{inputs:[],name:"CFA_ACL_NO_SENDER_FLOW_OPERATOR",type:"error"},{inputs:[],name:"CFA_ACL_NO_SENDER_UPDATE",type:"error"},{inputs:[],name:"CFA_ACL_OPERATOR_NO_CREATE_PERMISSIONS",type:"error"},{inputs:[],name:"CFA_ACL_OPERATOR_NO_DELETE_PERMISSIONS",type:"error"},{inputs:[],name:"CFA_ACL_OPERATOR_NO_UPDATE_PERMISSIONS",type:"error"},{inputs:[],name:"CFA_ACL_UNCLEAN_PERMISSIONS",type:"error"},{inputs:[],name:"CFA_DEPOSIT_TOO_BIG",type:"error"},{inputs:[],name:"CFA_FLOW_ALREADY_EXISTS",type:"error"},{inputs:[],name:"CFA_FLOW_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"CFA_FLOW_RATE_TOO_BIG",type:"error"},{inputs:[],name:"CFA_HOOK_OUT_OF_GAS",type:"error"},{inputs:[],name:"CFA_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"CFA_INVALID_FLOW_RATE",type:"error"},{inputs:[],name:"CFA_NON_CRITICAL_SENDER",type:"error"},{inputs:[],name:"CFA_NO_SELF_FLOW",type:"error"},{inputs:[],name:"CFA_ZERO_ADDRESS_RECEIVER",type:"error"},{inputs:[],name:"CFA_ZERO_ADDRESS_SENDER",type:"error"},{inputs:[],name:"OUT_OF_GAS",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"flowOperator",type:"address"},{indexed:!1,internalType:"uint8",name:"permissions",type:"uint8"},{indexed:!1,internalType:"int96",name:"flowRateAllowance",type:"int96"}],name:"FlowOperatorUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"int96",name:"flowRate",type:"int96"},{indexed:!1,internalType:"int256",name:"totalSenderFlowRate",type:"int256"},{indexed:!1,internalType:"int256",name:"totalReceiverFlowRate",type:"int256"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"FlowUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"flowOperator",type:"address"},{indexed:!1,internalType:"uint256",name:"deposit",type:"uint256"}],name:"FlowUpdatedExtension",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{inputs:[],name:"CFA_HOOK_GAS_LIMIT",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_MINIMUM_DEPOSIT",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAXIMUM_DEPOSIT",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAXIMUM_FLOW_RATE",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8",name:"existingPermissions",type:"uint8"},{internalType:"uint8",name:"permissionDelta",type:"uint8"}],name:"addPermissions",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"pure",type:"function"},{inputs:[],name:"agreementType",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"authorizeFlowOperatorWithFullControl",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"createFlow",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"createFlowByOperator",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"int96",name:"subtractedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"decreaseFlowRateAllowance",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissionsToRemove",type:"uint8"},{internalType:"int96",name:"subtractedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"decreaseFlowRateAllowanceWithPermissions",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"deleteFlow",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"deleteFlowByOperator",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"getAccountFlowInfo",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"getDepositRequiredForFlowRate",outputs:[{internalType:"uint256",name:"deposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getFlow",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"flowId",type:"bytes32"}],name:"getFlowByID",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"flowOperator",type:"address"}],name:"getFlowOperatorData",outputs:[{internalType:"bytes32",name:"flowOperatorId",type:"bytes32"},{internalType:"uint8",name:"permissions",type:"uint8"},{internalType:"int96",name:"flowRateAllowance",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"flowOperatorId",type:"bytes32"}],name:"getFlowOperatorDataByID",outputs:[{internalType:"uint8",name:"permissions",type:"uint8"},{internalType:"int96",name:"flowRateAllowance",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint256",name:"deposit",type:"uint256"}],name:"getMaximumFlowRateFromDeposit",outputs:[{internalType:"int96",name:"flowRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"getNetFlow",outputs:[{internalType:"int96",name:"flowRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"int96",name:"addedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"increaseFlowRateAllowance",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissionsToAdd",type:"uint8"},{internalType:"int96",name:"addedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"increaseFlowRateAllowanceWithPermissions",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isPatricianPeriod",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"isPatricianPeriodNow",outputs:[{internalType:"bool",name:"isCurrentlyPatricianPeriod",type:"bool"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"time",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"dynamicBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8",name:"existingPermissions",type:"uint8"},{internalType:"uint8",name:"permissionDelta",type:"uint8"}],name:"removePermissions",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"revokeFlowOperatorWithFullControl",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateFlow",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateFlowByOperator",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissions",type:"uint8"},{internalType:"int96",name:"flowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateFlowOperatorPermissions",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"}],p8="0x60a06040523480156200001157600080fd5b506040516200555e3803806200555e833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b6080516154a0620000be6000396000818161083601528181610a4701528181610e8b01528181610f2001528181610fd5015281816117df015261187401526154a06000f3fe608060405234801561001057600080fd5b50600436106102105760003560e01c80635f51fb23116101255780639cb28b72116100ad578063bf3fbc281161007c578063bf3fbc2814610521578063da6b5f3014610544578063e6a1e88814610557578063e8e7e2d11461056a578063f31f88f01461057d57600080fd5b80639cb28b7214610337578063aabd2668146104e8578063ac5f5d00146104fb578063b4b333c61461050e57600080fd5b8063811b3d40116100f4578063811b3d40146104795780638d997f6e1461048c57806394229ecb1461049f5780639903ad38146104b25780639b2e48bc146104ba57600080fd5b80635f51fb231461041b57806362fc305e1461042e57806372976490146104415780637730599e1461045357600080fd5b8063354b9590116101a85780634fe9c291116101775780634fe9c291146103a357806350209a62146103cd57806350d75d25146103e057806352d1902d1461040057806354b770e31461040857600080fd5b8063354b95901461034557806346951954146103585780634b839e0b1461036d5780634c8b181f1461039057600080fd5b806309d256ef116101e457806309d256ef146102ad5780630f1ac495146102dc5780632567f5781461031257806326b0f5361461033757600080fd5b8062422bbe1461021557806304aafa491461024d5780630602f7db14610267578063062e56ec1461028d575b600080fd5b6102286102233660046147ea565b610590565b6040805193845260ff9092166020840152600b0b908201526060015b60405180910390f35b61025964010000000081565b604051908152602001610244565b61027a610275366004614835565b6105c6565b604051600b9190910b8152602001610244565b6102a061029b3660046148a3565b6105e7565b6040516102449190614958565b6102c06102bb366004614835565b610601565b6040805160ff9093168352600b9190910b602083015201610244565b6102ef6102ea36600461496b565b610625565b60408051948552600b9390930b6020850152918301526060820152608001610244565b6103256103203660046149b3565b61065b565b60405160ff9091168152602001610244565b61025960016001605f1b0381565b6102a06103533660046149f3565b610666565b61036b610366366004614a7f565b61082b565b005b61038061037b366004614a9c565b610880565b6040519015158152602001610244565b6102a061039e366004614add565b610957565b6103b66103b136600461496b565b610a42565b604080519215158352602083019190915201610244565b6102a06103db366004614b59565b610add565b6103e8610bb0565b6040516001600160a01b039091168152602001610244565b610259610bdf565b6102a06104163660046148a3565b610c43565b6102a0610429366004614b59565b610c5b565b6102a061043c366004614b59565b610c76565b61032561044f3660046149b3565b1790565b7fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3610259565b6102a0610487366004614b9a565b610d29565b61025961049a366004614bde565b610e72565b6102a06104ad3660046149f3565b611098565b61036b61121b565b6104cd6104c8366004614a9c565b611329565b60408051938452602084019290925290820152606001610244565b6102ef6104f6366004614835565b611383565b6102a0610509366004614b59565b611395565b6102a061051c366004614add565b6113a6565b61052b6203d09081565b60405167ffffffffffffffff9091168152602001610244565b6102a0610552366004614b9a565b61143a565b6102ef6105653660046147ea565b61156a565b61027a61057836600461496b565b6115a5565b6102a061058b366004614b9a565b6115bf565b600080600061059f85856116a8565b925060006105ad8785611713565b8051602090910151959990985094965093945050505050565b6000806105d2846117d8565b5090506105df818461192c565b949350505050565b60606105f885856000808787610d29565b95945050505050565b60008060006106108585611713565b80516020909101519097909650945050505050565b6000806000806000610637878761196c565b805160208201516040830151606090930151919b909a509198509650945050505050565b801982165b92915050565b606060006106aa8885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2592505050565b9050866001600160a01b031681606001516001600160a01b0316036106e25760405163edfa0d3b60e01b815260040160405180910390fd5b6000806106f88a6106f38b8b611be9565b611c11565b9150915060008060006107108d8d8860600151610590565b925092509250610721826001611c58565b61073e5760405163ac434b5f60e01b815260040160405180910390fd5b6000600b82900b60016001605f1b03148061076357508a600b0b8560200151600b0b12155b610785576020850151610776908c614c29565b6107809083614c29565b610787565b815b9050600081600b0b12156107ae5760405163a0645c1f60e01b815260040160405180910390fd5b6107ba8e858584611cb3565b505050506107e860408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b03808c1682528a8116602083015289166040820152600b88900b606082015261081c8183858a8a89611d3c565b9b9a5050505050505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461087457604051630b00ec8f60e11b815260040160405180910390fd5b61087d81611ea7565b50565b604051633acd4df360e21b81526001600160a01b03838116600483015260248201839052600091829186169063eb3537cc90604401606060405180830381865afa1580156108d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f69190614c5b565b505090506000811261090c576001915050610950565b600080610918876117d8565b915091506000610928888861196c565b915050600061093a82604001516120af565b90506109488582868661211d565b955050505050505b9392505050565b6060600061099b8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2592505050565b905060006109ae88888460600151610590565b5091505060006109bf826002611c58565b9050806109df5760405163e30f1bff60e01b815260040160405180910390fd5b6040805160808101825260008082526020820181905291810182905260608101919091525b6001600160a01b03808b16825289811660208301528816604082015260006060820152610a34818389898861216b565b9a9950505050505050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac79190614c89565b9050610ad4848483610880565b91509250929050565b60606000610b218785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2592505050565b9050610b4d60408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b03808916825260608084015182166020840181905291891660408401819052600b89900b91840191909152600091610b8b91611be9565b9050600080610b9e846000015184611c11565b9150915061081c8482848b8b8a611d3c565b6000610bda7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000306001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bda9190614c89565b60606105f88585600760016001605f1b038787610d29565b6060610c6c8686600087878761143a565b9695505050505050565b60606000610cba8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2592505050565b9050610ce660408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b038089168252606080840151821660208401529088166040830152600b87900b90820152610d1d8186868561285d565b98975050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939450610d7492508a9150899050888888886129de565b6040805180820190915260ff88168152600b87900b6020820152606082015191925090600090610da4908a6116a8565b9050896001600160a01b031663a1b2bf8b82610dbf85612aa5565b6040518363ffffffff1660e01b8152600401610ddc929190614cdd565b600060405180830381600087803b158015610df657600080fd5b505af1158015610e0a573d6000803e3d6000fd5b50505060608401516040805160ff8c168152600b8b900b60208201526001600160a01b03808e169450928316928e16917fc0d5d3a6ac18cc1769788c925e6e7fc89cd47e4270a42884736fa9b3ec09f3a8910160405180910390a45050509695505050505050565b600081600b0b600003610e8757506000610660565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0b9190614cf6565b90506000816001600160a01b03166380f70cba7f0000000000000000000000000000000000000000000000000000000000000000877feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc46040518463ffffffff1660e01b8152600401610f7f93929190614d13565b602060405180830381865afa158015610f9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc09190614c89565b90506000826001600160a01b03166380f70cba7f0000000000000000000000000000000000000000000000000000000000000000887fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f786040518463ffffffff1660e01b815260040161103493929190614d13565b602060405180830381865afa158015611051573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110759190614c89565b9050602081901c63ffffffff1661108d838288612b1b565b979650505050505050565b606060006110dc8885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2592505050565b9050866001600160a01b031681606001516001600160a01b031603611114576040516325cc989b60e11b815260040160405180910390fd5b60008060006111288b8b8660600151610590565b925092509250611139826000611c58565b611156576040516328faadab60e21b815260040160405180910390fd5b6000600b82900b60016001605f1b0314611179576111748983614c29565b61117b565b815b9050600081600b0b12156111a25760405163a0645c1f60e01b815260040160405180910390fd5b6111ae8c858584611cb3565b505050506111dc60408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b03808a168252888116602083015287166040820152600b86900b606082015261120e8186868561285d565b9998505050505050505050565b600054610100900460ff161580801561123b5750600054600160ff909116105b806112555750303b158015611255575060005460ff166001145b6112bd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156112e0576000805461ff0019166101001790555b801561087d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b600080600080600061133b888861196c565b915091508115611378578060200151600b0b81600001518761135d9190614d37565b6113679190614d5e565b945080604001519350806060015192505b505093509350939050565b60008060008060006106378787611c11565b6060610c6c868660008787876115bf565b606060006113ea8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2592505050565b905060006113fd88888460600151610590565b50915050600061140e826002611c58565b9050610a0460408051608081018252600080825260208201819052918101829052606081019190915290565b606082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093945061148592508a9150899050888888886129de565b9050600080600061149b8b85606001518c610590565b92509250925060006114ad838b61065b565b905060006114bb8a84614c29565b9050600081600b0b12156114e2576040516386e0377d60e01b815260040160405180910390fd5b6114ee8d868484611cb3565b8b6001600160a01b031686606001516001600160a01b03168e6001600160a01b03167fc0d5d3a6ac18cc1769788c925e6e7fc89cd47e4270a42884736fa9b3ec09f3a8858560405161155292919060ff929092168252600b0b602082015260400190565b60405180910390a45050505050509695505050505050565b6000806000806000611580886106f38989611be9565b805160208201516040830151606090930151919c909b50919950975095505050505050565b6000806115b2848461196c565b6020015195945050505050565b606082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093945061160a92508a9150899050888888886129de565b905060008060006116208b85606001518c610590565b9194509250905060006116338983614d8e565b9050828a176116448d868385611cb3565b8b6001600160a01b031686606001516001600160a01b03168e6001600160a01b03167fc0d5d3a6ac18cc1769788c925e6e7fc89cd47e4270a42884736fa9b3ec09f3a8848660405161155292919060ff929092168252600b0b602082015260400190565b600082826040516020016116f59291906060808252600c908201526b333637bba7b832b930ba37b960a11b60808201526001600160a01b0392831660208201529116604082015260a00190565b60405160208183030381529060405280519060200120905092915050565b6040805180820182526000808252602082018190529151636c2d9f2f60e01b8152306004820152602481018490526001604482015282906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa15801561177b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117a39190810190614e31565b90506117cb816000815181106117bb576117bb614ecb565b602002602001015160001c612b8e565b92509250505b9250929050565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561183b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185f9190614cf6565b90506000816001600160a01b03166380f70cba7f0000000000000000000000000000000000000000000000000000000000000000877fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f786040518463ffffffff1660e01b81526004016118d393929190614d13565b602060405180830381865afa1580156118f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119149190614c89565b63ffffffff602082901c811697911695509350505050565b600060016001605f1b0382111561195657604051631d4b0ae760e21b815260040160405180910390fd5b63ffffffff198216915060006105df8484614ef7565b6000611976614723565b604051634b61cc3360e01b81523060048201526001600160a01b038481166024830152600060448301819052600160648401529190861690634b61cc33906084015b600060405180830381865afa1580156119d5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119fd9190810190614e31565b90506117cb81600081518110611a1557611a15614ecb565b602002602001015160001c612bce565b611a2d61474e565b336001600160a01b0316836001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a999190614cf6565b6001600160a01b031614611ae35760405162461bcd60e51b81526020600482015260116024820152701d5b985d5d1a1bdc9a5e9959081a1bdcdd607a1b60448201526064016112b4565b604051632fd0a1cd60e21b8152339063bf42873490611b06908590600401614958565b602060405180830381865afa158015611b23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b479190614f26565b611b815760405162461bcd60e51b815260206004820152600b60248201526a0d2dcecc2d8d2c840c6e8f60ab1b60448201526064016112b4565b604051631fb6491d60e11b81523390633f6c923a90611ba4908590600401614958565b600060405180830381865afa158015611bc1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109509190810190614fc8565b604080516001600160a01b0380851660208301528316918101919091526000906060016116f5565b6000611c1b614723565b604051636c2d9f2f60e01b815230600482015260248101849052600160448201526000906001600160a01b03861690636c2d9f2f906064016119b8565b600080826002811115611c6d57611c6d6150cf565b03611c7e5750600182811614610660565b6001826002811115611c9257611c926150cf565b03611ca55750600182811c811614610660565b505060021c60019081161490565b6040805180820190915260ff83168152600b82900b60208201526001600160a01b03851663a1b2bf8b85611ce684612aa5565b6040518363ffffffff1660e01b8152600401611d03929190614cdd565b600060405180830381600087803b158015611d1d57600080fd5b505af1158015611d31573d6000803e3d6000fd5b505050505050505050565b60606000611d4a8884612c2e565b91505085611d6b5760405163168cafc960e21b815260040160405180910390fd5b6040888101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015611db5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd99190614f26565b15611e3557611e2e88604001518960000151838a89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508b925060019150612d2f9050565b9150611e80565b611e7d8860000151828988888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a92506134d5915050565b91505b611e9388600001518960200151856135a8565b611e9c88613682565b509695505050505050565b6000611ed17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603611f275760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016112b4565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f899190614c89565b611f91610bdf565b14611fea5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016112b4565b6001600160a01b03811630036120425760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016112b4565b61206a817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc612093610bdf565b604080519182526001600160a01b03841660208301520161131e565b60006001600160ff1b038211156121195760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016112b4565b5090565b60008360000361212f575060006105df565b600061213b85876150e5565b90506000612149858761510d565b9050612155848661513b565b61215f828461510d565b13979650505050505050565b6040805160c0810182526000808252602082018190529181018290526060818101839052608082019290925260a0810182905260208701516001600160a01b03166121c957604051631ce9b06760e01b815260040160405180910390fd5b60408701516001600160a01b03166121f457604051633c70159560e11b815260040160405180910390fd5b61220687602001518860400151611be9565b8082526020808901516001600160a01b03908116918401919091526040808a01518216908401526060808601519091169083015260006080830181905260a0808601519084015288519091829161225c91611c11565b915091508161227e5760405163168cafc960e21b815260040160405180910390fd5b885160208a01516040808801519051633acd4df360e21b81526000936001600160a01b03169263eb3537cc926122ca926004016001600160a01b03929092168252602082015260400190565b606060405180830381865afa1580156122e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230b9190614c5b565b5050905089602001516001600160a01b031686606001516001600160a01b031614158015612353575089604001516001600160a01b031686606001516001600160a01b031614155b801561235d575088155b1561246e5760208a0151604051636b4f333560e01b81526001600160a01b0390911660048201523390636b4f333590602401602060405180830381865afa1580156123ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d09190614f26565b158015612448575060408a8101519051636b4f333560e01b81526001600160a01b0390911660048201523390636b4f333590602401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124469190614f26565b155b1561246e576000811261246e5760405163ce11b5d160e01b815260040160405180910390fd5b600081121561248c5761248c8a600001518286858a60600151613725565b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060208b015160608801519196506001600160a01b039081169116036125825760408a8101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa15801561252b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061254f9190614f26565b156125735761256c8a604001518b600001518685898b6002612d2f565b9450612847565b895161256c908584888a6134d5565b89604001516001600160a01b031686606001516001600160a01b0316036126b65760208a0151604051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156125ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126119190614f26565b1561262e5761256c8a602001518b600001518685898b6002612d2f565b60408a8101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015612678573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269c9190614f26565b156125735761256c60008b600001518685898b6002612d2f565b60208a0151604051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015612700573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127249190614f26565b80156127305750600081125b156127aa5760208a0151604051635b92108f60e11b8152339163b724211e91612760918991600b9060040161514e565b6000604051808303816000875af115801561277f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526127a7919081019061517c565b94505b60408a8101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156127f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128189190614f26565b156128355761256c8a604001518b600001518685898b6002612d2f565b8951612844908584888a6134d5565b94505b6128508a613931565b5050505095945050505050565b606060008061286c8785612c2e565b91509150600080612881896000015185611c11565b9150915081156128a45760405163801b686360e01b815260040160405180910390fd5b6040898101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156128ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129129190614f26565b1561296b5761296489604001518a6000015185848c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052508f93509150612d2f9050565b94506129b6565b6129b3896000015184838b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508d92506134d5915050565b94505b6129c989600001518a60200151886135a8565b6129d2896139a0565b50505050949350505050565b6129e661474e565b60f8851615612a0857604051631e4e759b60e21b815260040160405180910390fd5b612a488784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2592505050565b9050856001600160a01b031681606001516001600160a01b031603612a805760405163b0ed394d60e01b815260040160405180910390fd5b600084600b0b1215610c6c576040516386e0377d60e01b815260040160405180910390fd5b606060008260200151600b0b1215612abf57612abf6151b1565b60408051600180825281830190925290602080830190803683370190505090508160200151600b0b6080836000015160ff16901b1760001b81600081518110612b0a57612b0a614ecb565b602002602001018181525050919050565b60008082600b0b1215612b41576040516348d6568b60e11b815260040160405180910390fd5b60016001605f1b03612b5784600b85900b6151c7565b1115612b7657604051630c9c55c160e01b815260040160405180910390fd5b6000612b828385613a0f565b90506105f88582613a53565b6040805180820190915260008082526020820152811580159190612bc95760016001605f1b038316600b0b6020820152608083901c60ff1681525b915091565b6000612bd8614723565b821580159250612bc95760e083901c8152608083901c6bffffffffffffffffffffffff16600b0b6020808301919091526bffffffffffffffff0000000084821c811660408401529084901b166060820152915091565b6040805160c08101825260008082526020820181905291810182905260608082018390526080820183905260a082015260408401516001600160a01b0316612c8957604051633c70159560e11b815260040160405180910390fd5b612c9b84602001518560400151611be9565b8082526020808601516001600160a01b0390811691840182905260408088015182169085018190526060808801519092168286015290870151600b0b608085015260a0808701519085015291935003612d075760405163a47338ef60e01b815260040160405180910390fd5b60008160800151600b0b136117d1576040516348d6568b60e11b815260040160405180910390fd5b82612d386147a9565b6001600160a01b0389161561303c576000612dcd898b8a600001518b602001518c60400151604051602001612d839291906001600160a01b0392831681529116602082015260400190565b60408051601f1981840301815260e08301825260006080840181905260a0840181905260c08401526001600160a01b03958616835293909416602082015292830152606082015290565b90506000846002811115612de357612de36150cf565b03612df85764010000000060c0820152612e2d565b6001846002811115612e0c57612e0c6150cf565b03612e215764040000000060c0820152612e2d565b64100000000060c08201525b612e378187613a69565b82600001819052506000336001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ea39190614cf6565b9050612ebb86604001518761014001518c8c8c613c20565b5060808401525060405163407b865d60e11b81526000906001600160a01b038316906380f70cba90612f159033908f907feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc490600401614d13565b602060405180830381865afa158015612f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f569190614c89565b905060008360800151600014612f7a57612f7564010000000083613a53565b612f7d565b60005b9050808460800151612f8f91906151de565b608085015260608a0151612fa2906120af565b60a08501526000876002811115612fbb57612fbb6150cf565b03612fd05764020000000060c0850152613005565b6001876002811115612fe457612fe46150cf565b03612ff95764080000000060c0850152613005565b64200000000060c08501525b61301484866000015188614004565b60408701919091528b5190965061302c908d90611c11565b60208701525061305a9350505050565b61305284604001518561014001518a8a8a613c20565b602084015250505b600061306987606001516120af565b8260400151610100015161307d9190614d37565b90506130a3816130948460200151604001516120af565b61309e91906150e5565b614250565b826020015160400181815250506130c5816130948460200151606001516120af565b60208301805160600191909152885190516001600160a01b038b169163a1b2bf8b916130f0906142a2565b6040518363ffffffff1660e01b815260040161310d929190614cdd565b600060405180830381600087803b15801561312757600080fd5b505af115801561313b573d6000803e3d6000fd5b5050505061315789896020015160008460008a60400151614313565b5061316f898960400151600080858a60400151614313565b506101408501516001600160a01b031615806131a15750886001600160a01b03168561014001516001600160a01b0316145b15613215576040516359a2914160e01b815233906359a29141906131cb90869085906004016151f1565b6000604051808303816000875af11580156131ea573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613212919081019061517c565b92505b6040888101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa15801561325f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132839190614f26565b156134c857604088810151868201519151633acd4df360e21b81526001600160a01b0391821660048201526024810192909252600091908b169063eb3537cc90604401606060405180830381865afa1580156132e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133079190614c5b565b509091505060008112156134c6576002856002811115613329576133296150cf565b036134aa576040808a01519051635b92108f60e11b8152339163b724211e91613359918891600c9060040161514e565b6000604051808303816000875af1158015613378573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526133a0919081019061517c565b935060006133be6133b083615213565b6133b985615213565b614484565b90508a6001600160a01b031663cf97256d8b60200151836133de90615213565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561342457600080fd5b505af1158015613438573d6000803e3d6000fd5b5050505060408a810151905163cf97256d60e01b81526001600160a01b03918216600482015260248101839052908c169063cf97256d90604401600060405180830381600087803b15801561348c57600080fd5b505af11580156134a0573d6000803e3d6000fd5b50505050506134c6565b60405163a85ba64f60e01b8152600c60048201526024016112b4565b505b5050979650505050505050565b606083810151156134e8576134e86151b1565b60006134f2614723565b61350884604001518561014001518a8a8a613c20565b6101408701519294509250506001600160a01b03808a16911603613599576040516359a2914160e01b815233906359a291419061354b90889086906004016151f1565b6000604051808303816000875af115801561356a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613592919081019061517c565b925061359d565b8492505b505095945050505050565b602081015160ff1660031415806135d65750826001600160a01b03168161014001516001600160a01b031614155b1561367d576040808201519051633acd4df360e21b81526001600160a01b038481166004830152602482019290925260009185169063eb3537cc90604401606060405180830381865afa158015613631573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136559190614c5b565b50509050600081121561367b5760405163ea76c9b360e01b815260040160405180910390fd5b505b505050565b60005a905060006136968360000151614499565b90506001600160a01b0381161561367d578251602084015160408086015190516375aa53e560e11b81526001600160a01b0393841660048201529183166024830152821660448201529082169063eb54a7ca906064015b600060405180830381600087803b15801561370757600080fd5b505af1925050508015613718575060015b61367d5761367d82614548565b600061373586856020015161196c565b915050600061374784604001516120af565b9050600061375883604001516120af565b90506060600080613769848b6150e5565b90506000806137778d6117d8565b915091506137878c87848461211d565b9350505060008112613872576000846137a08388614d5e565b6137aa919061510d565b90506001836137ba5760016137bd565b60005b6040805160ff9384166020820152929091169082015260600160405160208183030381529060405293508b6001600160a01b0316631863e8098b60000151868b878f6020015161380c88614250565b61381889600019614d5e565b6040518863ffffffff1660e01b815260040161383a979695949392919061522f565b600060405180830381600087803b15801561385457600080fd5b505af1158015613868573d6000803e3d6000fd5b5050505050613924565b6040805160016020820152600291810191909152859060600160405160208183030381529060405293508b6001600160a01b0316631863e8098b60000151868b60008f602001516138c288614250565b6138ce8a600019614d5e565b6040518863ffffffff1660e01b81526004016138f0979695949392919061522f565b600060405180830381600087803b15801561390a57600080fd5b505af115801561391e573d6000803e3d6000fd5b50505050505b5050505050505050505050565b60005a905060006139458360000151614499565b90506001600160a01b0381161561367d5782516020840151604080860151905163ef1f023760e01b81526001600160a01b0393841660048201529183166024830152821660448201529082169063ef1f0237906064016136ed565b60005a905060006139b48360000151614499565b90506001600160a01b0381161561367d5782516020840151604080860151905163f7e3d98360e01b81526001600160a01b0393841660048201529183166024830152821660448201529082169063f7e3d983906064016136ed565b600082600b0b600003613a2457506000610660565b60016001605f1b03821115613a3b57613a3b6151b1565b613a45828461527c565b600b0b90506109508161456f565b6000818311613a625781610950565b5090919050565b6020820151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015613abd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ae1919061529c565b91945092509050828015613af3575081155b15613c17576000613b0486886145a3565b90508660c001518216600003613c09576000613b238860c00151614621565b88516040808b015160608c015182516000815260208101909352613b4f939230929190604481016152d8565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918a015160c08b01519251633a020f0160e11b815291935033926374041e0292613bbe929186916410000000009190911490889060040161531d565b6000604051808303816000875af1158015613bdd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c05919081019061517c565b9550505b613c148660006146b8565b50505b50505092915050565b600080613c2b614723565b6000806000613c39896117d8565b5090506000336001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ca09190614cf6565b60405163407b865d60e11b81529091506001600160a01b038216906380f70cba90613cf39033908e907feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc490600401614d13565b602060405180830381865afa158015613d10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d349190614c89565b9250613d44896080015183613a0f565b95505050613d5586606001516120af565b613d6287604001516120af565b613d6b866120af565b613d759190614d37565b613d7f91906150e5565b9450613d928561309488604001516120af565b91508082108015613daa575060008760800151600b0b135b15613dec57613dbc86606001516120af565b613dc987604001516120af565b613dd2836120af565b613ddc9190614d37565b613de691906150e5565b94508091505b6001600160a01b03891615801590613e165750876001600160a01b0316896001600160a01b031614155b15613e2057600093505b604051806080016040528060008960800151600b0b13613e41576000613e43565b8b5b81526020018860800151600b0b815260200183815260200187606001518152509250876001600160a01b031663a1b2bf8b8860000151613e82866142a2565b6040518363ffffffff1660e01b8152600401613e9f929190614cdd565b600060405180830381600087803b158015613eb957600080fd5b505af1158015613ecd573d6000803e3d6000fd5b505060408051808201909152600080825260208201529250613eed915050565b613f1388886020015189608001518960200151613f0a9190614c29565b8860008f614313565b600b0b8152604087015160208701516080890151613f42928b929091613f399190614c29565b6000808f614313565b600b0b60208083018290526040808a0151918a015160808b0151855160a08d015193516001600160a01b0395861696938616958f16947f57269d2ebcccecdcc0d9d2c0a0b80ead95f344e28ec20f50f709811f209d4e0e94613fa894939290919061535b565b60405180910390a486606001516001600160a01b03167f71e0c98e270fc3084227b473f176924d5303ece8c639e679998a2d7dc8e70f7483604051613fef91815260200190565b60405180910390a25050955095509592505050565b61400c61474e565b6020840151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015614060573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614084919061529c565b88965091945092509050828015614099575081155b15614245576140a884896145a3565b93508760c0015181166000036142335760006140c78960c00151614621565b89516040808c015160608d0151825160008152602081019093526140f59392309291908e9060448101615389565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918b015160c08c0151925163079b42a160e21b81529193503392631e6d0a84926141649291869164200000000091909114908b9060040161531d565b6000604051808303816000875af1158015614183573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526141ab919081019061517c565b604051631fb6491d60e11b81529095503390633f6c923a906141d1908890600401614958565b600060405180830381865afa1580156141ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526142169190810190614fc8565b955061422b89608001518761010001516146e0565b610100870152505b614242868661010001516146b8565b93505b505050935093915050565b6000808212156121195760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f73697469766560448201526064016112b4565b6040805160018082528183019092526060916020808301908036833701905050905060208260600151901c604060208460400151901c901b608084602001516bffffffffffffffffffffffff16901b60e08560000151901b17171760001b81600081518110612b0a57612b0a614ecb565b600080614320888861196c565b91505060008160200151600b0b614345836000015186614340919061513b565b6120af565b61434f9190614d5e565b905080156143ba5760405163cf97256d60e01b81526001600160a01b038981166004830152602482018390528a169063cf97256d90604401600060405180830381600087803b1580156143a157600080fd5b505af11580156143b5573d6000803e3d6000fd5b505050505b8682602001516143ca9190614d8e565b600b0b602083015283825260408201516143e9908790613094906120af565b60408301526060820151614402908690613094906120af565b60608301526001600160a01b03891663090c415e896000614422866142a2565b6040518463ffffffff1660e01b8152600401614440939291906153e2565b600060405180830381600087803b15801561445a57600080fd5b505af115801561446e573d6000803e3d6000fd5b5050506020909201519998505050505050505050565b60008183136144935782610950565b50919050565b60408051600481526024810182526020810180516001600160e01b03166377a1e96360e11b1790529051600091829182916001600160a01b038616916144df9190615409565b600060405180830381855afa9150503d806000811461451a576040519150601f19603f3d011682016040523d82523d6000602084013e61451f565b606091505b50915091508115614541578080602001905181019061453e9190614cf6565b92505b5050919050565b614551816146fe565b1561087d576040516320afada560e01b815260040160405180910390fd5b60008063ffffffff8316614584576000614587565b60015b60ff169050602061459a8285831c6151de565b901b9392505050565b6020810151608082015160a08301518351604051630768fabb60e41b8152606094339463768fabb0946145da948a94600401615425565b6000604051808303816000875af11580156145f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610950919081019061517c565b6000640100000000820361463d57506330d9c91560e01b919050565b64040000000082036146575750630221347d60e61b919050565b64100000000082036146715750635f9e7d7760e01b919050565b640200000000820361468b575063d86ed3e560e01b919050565b64080000000082036146a5575063230dbd2960e01b919050565b506353c11f9960e01b919050565b919050565b604051634c4d861f60e11b8152606090339063989b0c3e906145da90869086906004016151f1565b600061095060006146f96146f3866120af565b85614484565b614714565b600061470b603f83614ef7565b5a111592915050565b6000818313613a625781610950565b6040518060800160405280600081526020016000600b0b815260200160008152602001600081525090565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6040518060600160405280606081526020016147c3614723565b81526020016147d061474e565b905290565b6001600160a01b038116811461087d57600080fd5b6000806000606084860312156147ff57600080fd5b833561480a816147d5565b9250602084013561481a816147d5565b9150604084013561482a816147d5565b809150509250925092565b6000806040838503121561484857600080fd5b8235614853816147d5565b946020939093013593505050565b60008083601f84011261487357600080fd5b50813567ffffffffffffffff81111561488b57600080fd5b6020830191508360208285010111156117d157600080fd5b600080600080606085870312156148b957600080fd5b84356148c4816147d5565b935060208501356148d4816147d5565b9250604085013567ffffffffffffffff8111156148f057600080fd5b6148fc87828801614861565b95989497509550505050565b60005b8381101561492357818101518382015260200161490b565b50506000910152565b60008151808452614944816020860160208601614908565b601f01601f19169290920160200192915050565b602081526000610950602083018461492c565b6000806040838503121561497e57600080fd5b8235614989816147d5565b91506020830135614999816147d5565b809150509250929050565b60ff8116811461087d57600080fd5b600080604083850312156149c657600080fd5b82356149d1816149a4565b91506020830135614999816149a4565b8035600b81900b81146146b357600080fd5b60008060008060008060a08789031215614a0c57600080fd5b8635614a17816147d5565b95506020870135614a27816147d5565b94506040870135614a37816147d5565b9350614a45606088016149e1565b9250608087013567ffffffffffffffff811115614a6157600080fd5b614a6d89828a01614861565b979a9699509497509295939492505050565b600060208284031215614a9157600080fd5b8135610950816147d5565b600080600060608486031215614ab157600080fd5b8335614abc816147d5565b92506020840135614acc816147d5565b929592945050506040919091013590565b600080600080600060808688031215614af557600080fd5b8535614b00816147d5565b94506020860135614b10816147d5565b93506040860135614b20816147d5565b9250606086013567ffffffffffffffff811115614b3c57600080fd5b614b4888828901614861565b969995985093965092949392505050565b600080600080600060808688031215614b7157600080fd5b8535614b7c816147d5565b94506020860135614b8c816147d5565b9350614b20604087016149e1565b60008060008060008060a08789031215614bb357600080fd5b8635614bbe816147d5565b95506020870135614bce816147d5565b94506040870135614a37816149a4565b60008060408385031215614bf157600080fd5b8235614bfc816147d5565b9150614c0a602084016149e1565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600b82810b9082900b036b7fffffffffffffffffffffff19811260016001605f1b038213171561066057610660614c13565b600080600060608486031215614c7057600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215614c9b57600080fd5b5051919050565b600081518084526020808501945080840160005b83811015614cd257815187529582019590820190600101614cb6565b509495945050505050565b8281526040602082015260006105df6040830184614ca2565b600060208284031215614d0857600080fd5b8151610950816147d5565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8181036000831280158383131683831282161715614d5757614d57614c13565b5092915050565b80820260008212600160ff1b84141615614d7a57614d7a614c13565b818105831482151761066057610660614c13565b600b81810b9083900b0160016001605f1b0381136b7fffffffffffffffffffffff198212171561066057610660614c13565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff81118282101715614dfa57614dfa614dc0565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715614e2957614e29614dc0565b604052919050565b60006020808385031215614e4457600080fd5b825167ffffffffffffffff80821115614e5c57600080fd5b818501915085601f830112614e7057600080fd5b815181811115614e8257614e82614dc0565b8060051b9150614e93848301614e00565b8181529183018401918481019088841115614ead57600080fd5b938501935b83851015610d1d57845182529385019390850190614eb2565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b600082614f0657614f06614ee1565b500490565b80516146b3816147d5565b805180151581146146b357600080fd5b600060208284031215614f3857600080fd5b61095082614f16565b80516146b3816149a4565b80516001600160e01b0319811681146146b357600080fd5b600082601f830112614f7557600080fd5b815167ffffffffffffffff811115614f8f57614f8f614dc0565b614fa2601f8201601f1916602001614e00565b818152846020838601011115614fb757600080fd5b6105df826020830160208701614908565b600060208284031215614fda57600080fd5b815167ffffffffffffffff80821115614ff257600080fd5b90830190610160828603121561500757600080fd5b61500f614dd6565b61501883614f41565b815261502660208401614f41565b60208201526040830151604082015261504160608401614f0b565b606082015261505260808401614f4c565b608082015260a08301518281111561506957600080fd5b61507587828601614f64565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506150ac828401614f0b565b8282015261014091506150c0828401614f0b565b91810191909152949350505050565b634e487b7160e01b600052602160045260246000fd5b808201828112600083128015821682158216171561510557615105614c13565b505092915050565b60008261511c5761511c614ee1565b600160ff1b82146000198414161561513657615136614c13565b500590565b8181038181111561066057610660614c13565b606081526000615161606083018661492c565b6001600160a01b039490941660208301525060400152919050565b60006020828403121561518e57600080fd5b815167ffffffffffffffff8111156151a557600080fd5b6105df84828501614f64565b634e487b7160e01b600052600160045260246000fd5b808202811582820484141761066057610660614c13565b8082018082111561066057610660614c13565b604081526000615204604083018561492c565b90508260208301529392505050565b6000600160ff1b820161522857615228614c13565b5060000390565b87815260e06020820152600061524860e083018961492c565b6001600160a01b03978816604084015295151560608301525092909416608083015260a082015260c0019190915292915050565b600082600b0b82600b0b0280600b0b9150808214614d5757614d57614c13565b6000806000606084860312156152b157600080fd5b6152ba84614f16565b92506152c860208501614f16565b9150604084015190509250925092565b6001600160a01b038681168252851660208201526040810184905260a06060820181905260009061530b9083018561492c565b8281036080840152610d1d818561492c565b6001600160a01b03851681526080602082018190526000906153419083018661492c565b8415156040840152828103606084015261108d818561492c565b84600b0b815283600b0b602082015282600b0b6040820152608060608201526000610c6c608083018461492c565b6001600160a01b038781168252861660208201526040810185905260c0606082018190526000906153bc9083018661492c565b82810360808401526153ce818661492c565b905082810360a084015261120e818561492c565b60018060a01b03841681528260208201526060604082015260006105f86060830184614ca2565b6000825161541b818460208701614908565b9190910192915050565b60a08152600061543860a083018861492c565b6001600160a01b039687166020840152604083019590955250606081019290925290921660809092019190915291905056fea2646970667358221220df95955a9a4a83272e61764064a710399af3ba5e66b62cfbdbcf1ad1feff4c5864736f6c63430008130033",p9=eb=>eb.length>1;class p7 extends uw.lV{constructor(...eb){p9(eb)?super(...eb):super(p6,p8,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(p6)}static connect(eb,em){return new uw.CH(eb,p6,em)}}p7.bytecode=p8,p7.abi=p6;let hb=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AGREEMENT_BASE_ONLY_HOST",type:"error"},{inputs:[],name:"IDA_INDEX_ALREADY_EXISTS",type:"error"},{inputs:[],name:"IDA_INDEX_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"IDA_INDEX_SHOULD_GROW",type:"error"},{inputs:[],name:"IDA_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"IDA_OPERATION_NOT_ALLOWED",type:"error"},{inputs:[],name:"IDA_SUBSCRIPTION_ALREADY_APPROVED",type:"error"},{inputs:[],name:"IDA_SUBSCRIPTION_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"IDA_SUBSCRIPTION_IS_NOT_APPROVED",type:"error"},{inputs:[],name:"IDA_ZERO_ADDRESS_SUBSCRIBER",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"IndexDistributionClaimed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexSubscribed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"uint128",name:"units",type:"uint128"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexUnitsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexUnsubscribed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"uint128",name:"oldIndexValue",type:"uint128"},{indexed:!1,internalType:"uint128",name:"newIndexValue",type:"uint128"},{indexed:!1,internalType:"uint128",name:"totalUnitsPending",type:"uint128"},{indexed:!1,internalType:"uint128",name:"totalUnitsApproved",type:"uint128"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"SubscriptionApproved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"SubscriptionDistributionClaimed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"SubscriptionRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"uint128",name:"units",type:"uint128"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"SubscriptionUnitsUpdated",type:"event"},{inputs:[],name:"MAX_NUM_SUBSCRIPTIONS",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"SLOTS_BITMAP_LIBRARY_ADDRESS",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"agreementType",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"approveSubscription",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"calculateDistribution",outputs:[{internalType:"uint256",name:"actualAmount",type:"uint256"},{internalType:"uint128",name:"newIndexValue",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"claim",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"createIndex",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"deleteSubscription",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"distribute",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"getIndex",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"uint128",name:"totalUnitsApproved",type:"uint128"},{internalType:"uint128",name:"totalUnitsPending",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"getSubscription",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"}],name:"getSubscriptionByID",outputs:[{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"subscriber",type:"address"}],name:"listSubscriptions",outputs:[{internalType:"address[]",name:"publishers",type:"address[]"},{internalType:"uint32[]",name:"indexIds",type:"uint32[]"},{internalType:"uint128[]",name:"unitsList",type:"uint128[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"dynamicBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"revokeSubscription",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateIndex",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateSubscription",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"}],hm="0x60a06040523480156200001157600080fd5b506040516200531638038062005316833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b6080516152826200009460003960006110f301526152826000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80637fbc7639116100b8578063acafa1b81161007c578063acafa1b814610336578063acf4a6c214610349578063b6dacdb81461035c578063b96731c21461037e578063cd7245c514610391578063d787840a146103e957600080fd5b80637fbc76391461029f578063899baaec146102b25780639903ad38146102e25780639b2e48bc146102ea578063a5653ced1461031857600080fd5b806350d75d25116100ff57806350d75d251461020457806352d1902d1461020c5780635b534051146102225780636041ae96146102665780637730599e1461027957600080fd5b8063232d2b581461013c57806323fc23f3146101655780632e5e74c6146101a95780633fd4176a146101bc57806346951954146101ef575b600080fd5b61014f61014a3660046143b8565b6103fc565b60405161015c9190614493565b60405180910390f35b6101786101733660046144a6565b610b16565b6040805194151585526001600160801b0393841660208601529183169184019190915216606082015260800161015c565b61014f6101b73660046144f1565b610b81565b6101d773__$97ed594b3f931187fb739dcb88a7dff641$__81565b6040516001600160a01b03909116815260200161015c565b6102026101fd366004614545565b6110e8565b005b6101d761113d565b61021461116c565b60405190815260200161015c565b610235610230366004614569565b6111d0565b60405161015c9493929190931515845291151560208401526001600160801b03166040830152606082015260800190565b61014f6102743660046145c5565b6112a6565b7f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a674610214565b61014f6102ad366004614640565b6116cb565b6102c56102c0366004614681565b6117b8565b604080519283526001600160801b0390911660208301520161015c565b61020261185d565b6102fd6102f83660046146d2565b61196b565b6040805193845260208401929092529082015260600161015c565b61032161010081565b60405163ffffffff909116815260200161015c565b61014f6103443660046144f1565b611b76565b61014f6103573660046145c5565b611f7b565b61036f61036a366004614713565b612535565b60405161015c93929190614790565b61014f61038c36600461482d565b61278a565b6103a461039f366004614882565b61288a565b604080516001600160a01b03909616865263ffffffff9094166020860152911515928401929092526001600160801b039091166060830152608082015260a00161015c565b61014f6103f73660046148ae565b61298c565b60606001600160a01b03851661042557604051633242919d60e21b815260040160405180910390fd5b61042d614210565b61043561426e565b606060008061047a8c89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b90508060a00151925080606001519150506104998b828b8d6000612d14565b60808901521515602080890191909152606088019190915260408088018390529287528251908101909252600082526104d5918d918c91612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050602086015191965050156105395764040000000060c084015261052f8386612e35565b60a0850152610554565b64010000000060c084015261054e8386612e35565b60a08501525b83602001518015610571575060808401515163ffffffff90811614155b1561064c576105c08460800151608001516001600160801b0316896001600160801b03168660600151602001516001600160801b03166105b19190614928565b6105bb919061493b565b612fec565b6060850180516001600160801b03909216602090920191909152845190516001600160a01b038d169163a1b2bf8b916105f890613059565b6040518363ffffffff1660e01b815260040161061592919061497e565b600060405180830381600087803b15801561062f57600080fd5b505af1158015610643573d6000803e3d6000fd5b50505050610833565b8360200151156106c9576106918460800151608001516001600160801b0316896001600160801b03168660600151604001516001600160801b03166105b19190614928565b6060850180516001600160801b03909216604090920191909152845190516001600160a01b038d169163a1b2bf8b916105f890613059565b6040518060a0016040528063ffffffff80168152602001826001600160a01b031681526020018b63ffffffff1681526020018560600151600001516001600160801b03168152602001896001600160801b031681525084608001819052508a6001600160a01b03166312a6a3f8856040015161074887608001516130f7565b6040518363ffffffff1660e01b815260040161076592919061497e565b600060405180830381600087803b15801561077f57600080fd5b505af1158015610793573d6000803e3d6000fd5b50505050878460600151604001516107ab9190614997565b6060850180516001600160801b03909216604090920191909152845190516001600160a01b038d169163a1b2bf8b916107e390613059565b6040518363ffffffff1660e01b815260040161080092919061497e565b600060405180830381600087803b15801561081a57600080fd5b505af115801561082e573d6000803e3d6000fd5b505050505b60008460800151608001516001600160801b031685608001516060015186606001516000015161086391906149be565b6001600160801b031661087691906149de565b905063ffffffff801685608001516000015163ffffffff160361090f576108a68c836108a184614a0e565b61319e565b6001600160a01b038c1663cf97256d836108bf84614a0e565b6040518363ffffffff1660e01b81526004016108dc929190614a2a565b600060405180830381600087803b1580156108f657600080fd5b505af115801561090a573d6000803e3d6000fd5b505050505b60405163cf97256d60e01b81526001600160a01b038d169063cf97256d9061093d908d908590600401614a2a565b600060405180830381600087803b15801561095757600080fd5b505af115801561096b573d6000803e3d6000fd5b50505050846020015115610a115760608086015151608080880180516001600160801b039384169401939093528251918c16910152604086015190516001600160a01b038e169163a1b2bf8b916109c1906130f7565b6040518363ffffffff1660e01b81526004016109de92919061497e565b600060405180830381600087803b1580156109f857600080fd5b505af1158015610a0c573d6000803e3d6000fd5b505050505b846020015115610a405764080000000060c085015260a0850151610a37908590886132ec565b9650610a609050565b64020000000060c085015260a0850151610a5c908590886132ec565b9650505b8a63ffffffff16826001600160a01b03168d6001600160a01b03167f0115987243fd19d615b5ea62a80372a06a2b37fec378b148ee7a507c5c4c0a398d8d88604051610aae93929190614a43565b60405180910390a4896001600160a01b03168c6001600160a01b03167fe0707ac7efb8b59c22189af8d004ed17dc9e4379e71b9066119b62c182524977848e8d88604051610aff9493929190614a7f565b60405180910390a350505050509695505050505050565b600080600080610b3f604080516060810182526000808252602082018190529181019190915290565b6000610b4b8888613538565b9050610b57898261359f565b90965091508515610b7657815160208301516040840151919650945092505b505093509350935093565b6060610b8b614210565b610b9361426e565b600060606000610bd98c89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b606081015160a0909101519093509150506001600160a01b038816610c1157604051633242919d60e21b815260040160405180910390fd5b896001600160a01b0316826001600160a01b031614610c43576040516392da6d1760e01b815260040160405180910390fd5b610c518b8b8a8c6001612d14565b6080890152506060870152604080870182905291865281516020810190925260008252610c81918d918b91612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505064100000000060c087015250909550610cd290508386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b0390921691610d04916149be565b6001600160801b0316610d1791906149de565b60808601515190915063ffffffff90811614610d6457846080015160800151856060015160200151610d4991906149be565b60608601516001600160801b03909116602090910152610d97565b846080015160800151856060015160400151610d8091906149be565b60608601516001600160801b039091166040909101525b8b6001600160a01b031663a1b2bf8b8660000151610db88860600151613059565b6040518363ffffffff1660e01b8152600401610dd592919061497e565b600060405180830381600087803b158015610def57600080fd5b505af1158015610e03573d6000803e3d6000fd5b5050505060808501515163ffffffff90811614610e2d57610e2d8c8a8760800151600001516136b3565b60808501515163ffffffff1663fffffffe1901610ebb57610e528c8c6108a184614a0e565b6001600160a01b038c1663cf97256d8c610e6b84614a0e565b6040518363ffffffff1660e01b8152600401610e88929190614a2a565b600060405180830381600087803b158015610ea257600080fd5b505af1158015610eb6573d6000803e3d6000fd5b505050505b6040858101519051632704839760e01b81526004810191909152600260248201526001600160a01b038d1690632704839790604401600060405180830381600087803b158015610f0a57600080fd5b505af1158015610f1e573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038f16925063cf97256d9150610f50908c908590600401614a2a565b600060405180830381600087803b158015610f6a57600080fd5b505af1158015610f7e573d6000803e3d6000fd5b505064200000000060c0870152505060a0850151610f9e908590886132ec565b9050809650508963ffffffff168b6001600160a01b03168d6001600160a01b03167fe1f8e9cd8061e5b251769965bda6ca9ef1674bc6541fb9131039fa53f024d1428c86604051610ff0929190614ac8565b60405180910390a4886001600160a01b03168c6001600160a01b03167f9e02127550b99adc8cc6ee332a36f31338facdbc396cebefce9a047247cd04558d8d8660405161103f93929190614aec565b60405180910390a38963ffffffff168b6001600160a01b03168d6001600160a01b03167f0115987243fd19d615b5ea62a80372a06a2b37fec378b148ee7a507c5c4c0a398c60008760405161109693929190614a43565b60405180910390a4886001600160a01b03168c6001600160a01b03167fe0707ac7efb8b59c22189af8d004ed17dc9e4379e71b9066119b62c1825249778d8d600087604051610aff9493929190614a7f565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461113157604051630b00ec8f60e11b815260040160405180910390fd5b61113a8161373e565b50565b60006111677f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000306001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111679190614b1c565b6000806000806000806111fc604080516060810182526000808252602082018190529181019190915290565b6112046142a9565b6112128c8c8b8d6000612d14565b909b50929650909450925090508761123b5760008060008097509750975097505050505061129b565b8051608082015163ffffffff9182169091141597509550866112915780608001516001600160801b03168160600151836000015161127991906149be565b6001600160801b031661128c9190614b35565b611294565b60005b9450505050505b945094509450949050565b60606112b0614210565b6112b861426e565b6000606060006112fe8b89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b9050806060015192508060a0015191505061131d8a8a848b6001612d14565b6080890181905260608901929092525060408701919091529085525163ffffffff1663fffffffe190161136357604051633741257360e01b815260040160405180910390fd5b6113828a8a866040015160405180602001604052806000815250612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505064100000000060c0870152509095506113d390508386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b0390921691611405916149be565b6001600160801b031661141891906149de565b905084608001516080015185606001516020015161143691906149be565b6060860180516001600160801b0390921660209092019190915260808087015101519051604001516114689190614997565b6060860180516001600160801b03909216604090920191909152855190516001600160a01b038d169163a1b2bf8b916114a090613059565b6040518363ffffffff1660e01b81526004016114bd92919061497e565b600060405180830381600087803b1580156114d757600080fd5b505af11580156114eb573d6000803e3d6000fd5b505050506115028b848760800151600001516136b3565b606080860151516080870180516001600160801b039092169190920152805163ffffffff9052604086015190516001600160a01b038d169163a1b2bf8b91611549906130f7565b6040518363ffffffff1660e01b815260040161156692919061497e565b600060405180830381600087803b15801561158057600080fd5b505af1158015611594573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038e16925063cf97256d91506115c69086908590600401614a2a565b600060405180830381600087803b1580156115e057600080fd5b505af11580156115f4573d6000803e3d6000fd5b505064200000000060c0870152505060a0850151611614908590886132ec565b9050809650508863ffffffff168a6001600160a01b03168c6001600160a01b03167fe1f8e9cd8061e5b251769965bda6ca9ef1674bc6541fb9131039fa53f024d1428686604051611666929190614ac8565b60405180910390a4826001600160a01b03168b6001600160a01b03167f9e02127550b99adc8cc6ee332a36f31338facdbc396cebefce9a047247cd04558c8c866040516116b593929190614aec565b60405180910390a3505050505095945050505050565b6060600061170f8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b60608101519091506000806117258a848b613946565b9150915080600001516001600160801b0316886001600160801b031610156117605760405163cfdca72560e01b815260040160405180910390fd5b6117738a848b85858d8a60a001516139a5565b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929d9c50505050505050505050505050565b60008060006117c78686613538565b90506000806117d6898461359f565b91509150816117f85760405163edeaa63b60e01b815260040160405180910390fd5b60008160400151826020015161180e9190614997565b6001600160801b0316905060006118286105bb838a614b4c565b8351909150611838908290614997565b955061184d826001600160801b038316614b35565b9650505050505094509492505050565b600054610100900460ff161580801561187d5750600054600160ff909116105b806118975750303b158015611897575060005460ff166001145b6118ff5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611922576000805461ff0019166101001790555b801561113a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b600080600060608061197d8888613bd4565b909250905060005b81518163ffffffff161015611b5a57600061199e6142a9565b600080868563ffffffff16815181106119b9576119b9614b6e565b602002602001015190506119ec8d878763ffffffff16815181106119df576119df614b6e565b6020026020010151613cc7565b9094509250836119fe576119fe614b84565b8063ffffffff16836000015163ffffffff1614611a1d57611a1d614b84565b6001600160a01b038d16634b61cc33308e611a4263ffffffff8616600160801b614928565b60016040518563ffffffff1660e01b8152600401611a639493929190614b9a565b600060405180830381865afa158015611a80573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611aa89190810190614cc0565b600081518110611aba57611aba614b6e565b6020026020010151915050611ae8604080516060810182526000808252602082018190529181019190915290565b611af28d8361359f565b909450905083611b0457611b04614b84565b82608001516001600160801b031683606001518260000151611b2691906149be565b6001600160801b0316611b3991906149de565b611b43908b614cf4565b99505050505080611b5390614d1c565b9050611985565b50611b658888613de3565b935060009250505093509350939050565b6060611bb88784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b506001600160a01b038416611be057604051633242919d60e21b815260040160405180910390fd5b611be8614210565b611bf061426e565b611bfe8989888a6001612d14565b6080870181905260608701929092525060408501919091529083525163ffffffff90811614611c4057604051633eb2f84960e01b815260040160405180910390fd5b60008260800151608001516001600160801b0316836080015160600151846060015160000151611c7091906149be565b6001600160801b0316611c839190614b35565b9050611ca48a8a856040015160405180602001604052806000815250612e07565b915085858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505082159150611f3490505764040000000060c0830152611cfc8285612e35565b60a0840152611d0f8a8a6108a184614a0e565b6001600160a01b038a1663cf97256d8a611d2884614a0e565b6040518363ffffffff1660e01b8152600401611d45929190614a2a565b600060405180830381600087803b158015611d5f57600080fd5b505af1158015611d73573d6000803e3d6000fd5b50505050606083810151516080850180516001600160801b039092169190920152604084015190516001600160a01b038c169163a1b2bf8b91611db5906130f7565b6040518363ffffffff1660e01b8152600401611dd292919061497e565b600060405180830381600087803b158015611dec57600080fd5b505af1158015611e00573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038d16925063cf97256d9150611e32908a908590600401614a2a565b600060405180830381600087803b158015611e4c57600080fd5b505af1158015611e60573d6000803e3d6000fd5b505050508763ffffffff16896001600160a01b03168b6001600160a01b03167f467eccd248ef31c8bcef16d94856855799a8783aeef10f3759e43614059a6bb18a85604051611eb0929190614a2a565b60405180910390a4604080516001600160a01b038b8116825263ffffffff8b166020830152918101839052818916918c16907f48a3d91d4a07e4982b081260e24f922bd33bb965882772d6de19c922c3eabdea9060600160405180910390a364080000000060c083015260a0830151611f2b908390866132ec565b9450611f6e9050565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b6060611f85614210565b611f8d61426e565b600060606000611fd38b89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b9050806060015192508060a00151915050611ff28a8a848b6000612d14565b60808901521580156020890152606088019190915260408701919091529085526120425760808401515163ffffffff9081161461204257604051633eb2f84960e01b815260040160405180910390fd5b86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040808a015181516020810190925291815294995061209b948f94508e9350909150612e07565b925083602001516121c45764010000000060c08401526120bb8386612e35565b60a08086019190915260408051918201815260008083526001600160a01b038c16602084015263ffffffff8b1691830191909152606080870151516001600160801b031690830152608080830191909152850152835161211e908b908490613e8c565b60808501805163ffffffff909216909152604085015190516001600160a01b038c16916312a6a3f891612150906130f7565b6040518363ffffffff1660e01b815260040161216d92919061497e565b600060405180830381600087803b15801561218757600080fd5b505af115801561219b573d6000803e3d6000fd5b505064020000000060c0860152505060a08401516121bb908490876132ec565b95506124859050565b64040000000060c08401526121d98386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b039092169161220b916149be565b6001600160801b031661221e91906149de565b9050846080015160800151856060015160200181815161223e9190614997565b6001600160801b03169052506080808601510151606086015160400180516122679083906149be565b6001600160801b0316905250845160608601516001600160a01b038d169163a1b2bf8b9161229490613059565b6040518363ffffffff1660e01b81526004016122b192919061497e565b600060405180830381600087803b1580156122cb57600080fd5b505af11580156122df573d6000803e3d6000fd5b505050506122f28b8b836108a190614a0e565b6001600160a01b038b1663cf97256d8b61230b84614a0e565b6040518363ffffffff1660e01b8152600401612328929190614a2a565b600060405180830381600087803b15801561234257600080fd5b505af1158015612356573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038e16925063cf97256d91506123889086908590600401614a2a565b600060405180830381600087803b1580156123a257600080fd5b505af11580156123b6573d6000803e3d6000fd5b5050506060808701515160808801516001600160801b039091169101525084516123e3908c908590613e8c565b60808601805163ffffffff909216909152604086015190516001600160a01b038d169163a1b2bf8b91612415906130f7565b6040518363ffffffff1660e01b815260040161243292919061497e565b600060405180830381600087803b15801561244c57600080fd5b505af1158015612460573d6000803e3d6000fd5b505064080000000060c0870152505060a0850151612480908590886132ec565b965050505b8763ffffffff16896001600160a01b03168b6001600160a01b03167f492d2641617cfaf24ac7328f85bc5bdf5113537d78dc7671afa4f49a73f053c285856040516124d1929190614ac8565b60405180910390a4816001600160a01b03168a6001600160a01b03167fc0b8396b655615cdb85fe462a9a1792480816f909cd46d9517a940b386dfbf6b8b8b8560405161252093929190614aec565b60405180910390a35050505095945050505050565b60608060608060606125478787613bd4565b909250905060006125566142a9565b82516001600160401b0381111561256f5761256f614bc3565b604051908082528060200260200182016040528015612598578160200160208202803683370190505b50965082516001600160401b038111156125b4576125b4614bc3565b6040519080825280602002602001820160405280156125dd578160200160208202803683370190505b50955082516001600160401b038111156125f9576125f9614bc3565b604051908082528060200260200182016040528015612622578160200160208202803683370190505b50945060005b83518163ffffffff16101561277e576000858263ffffffff168151811061265157612651614b6e565b602002602001015190506000858363ffffffff168151811061267557612675614b6e565b602002602001015190506126898c82613cc7565b90955093508461269b5761269b614b84565b8163ffffffff16846000015163ffffffff16146126ba576126ba614b84565b83602001518a8463ffffffff16815181106126d7576126d7614b6e565b60200260200101906001600160a01b031690816001600160a01b0316815250508360400151898463ffffffff168151811061271457612714614b6e565b602002602001019063ffffffff16908163ffffffff16815250508360800151888463ffffffff168151811061274b5761274b614b6e565b60200260200101906001600160801b031690816001600160801b03168152505050508061277790614d1c565b9050612628565b50505050509250925092565b606060006127ce8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b60608101519091506000806127e48a848b613946565b915091506000816040015182602001516127fe9190614997565b6001600160801b03169050801561284457600061281e6105bb838c614b4c565b90506128428c868d87878689600001516128389190614997565b8c60a001516139a5565b505b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929e9d5050505050505050505050505050565b60008060008060008060006128b8604080516060810182526000808252602082018190529181019190915290565b6128c06142a9565b6128ca8b8b613cc7565b9094509050836128ed5760405163016d919360e71b815260040160405180910390fd5b80602001519850806040015197506129058989613538565b92506129118b8461359f565b90945091508361292357612923614b84565b8051608082015163ffffffff9182169091141597509550866129795780608001516001600160801b03168160600151836000015161296191906149be565b6001600160801b03166129749190614b35565b61297c565b60005b9450505050509295509295909350565b606060006129d08685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b606081015190915060006129e48288613538565b90506129f08882613f33565b15612a0e57604051635c02a51760e01b815260040160405180910390fd5b876001600160a01b03166312a6a3f882612a5f604051806060016040528060006001600160801b0316815260200160006001600160801b0316815260200160006001600160801b0316815250613059565b6040518363ffffffff1660e01b8152600401612a7c92919061497e565b600060405180830381600087803b158015612a9657600080fd5b505af1158015612aaa573d6000803e3d6000fd5b505050508663ffffffff16826001600160a01b0316896001600160a01b03167f01ab8663165edfb7390d9e5f75d960a66dacf4f01fa9787e3a731c870d0da9218660a00151604051612afc9190614493565b60405180910390a485858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929b9a5050505050505050505050565b612b4f6142d7565b336001600160a01b0316836001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bbb9190614d4a565b6001600160a01b031614612c055760405162461bcd60e51b81526020600482015260116024820152701d5b985d5d1a1bdc9a5e9959081a1bdcdd607a1b60448201526064016118f6565b604051632fd0a1cd60e21b8152339063bf42873490612c28908590600401614493565b602060405180830381865afa158015612c45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c699190614d77565b612ca35760405162461bcd60e51b815260206004820152600b60248201526a0d2dcecc2d8d2c840c6e8f60ab1b60448201526064016118f6565b604051631fb6491d60e11b81523390633f6c923a90612cc6908590600401614493565b600060405180830381865afa158015612ce3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d0b9190810190614e1e565b90505b92915050565b6040805160608101825260008082526020820181905291810182905281906000612d3c6142a9565b6000612d488a89613538565b9550612d548987613fdf565b9450612d608b8761359f565b9450905080612d825760405163edeaa63b60e01b815260040160405180910390fd5b612d8c8b86613cc7565b90935091508615612df95782612db55760405163016d919360e71b815260040160405180910390fd5b896001600160a01b031682602001516001600160a01b031614612dda57612dda614b84565b8763ffffffff16826040015163ffffffff1614612df957612df9614b84565b509550955095509550959050565b612e0f61426e565b6001600160a01b0394851681529290931660208301526040820152606081019190915290565b6020820151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015612e89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ead9190614f24565b91945092509050828015612ebf575081155b15612fe3576000612ed08688614020565b90508660c001518216600003612fd5576000612eef8860c0015161409e565b88516040808b015160608c015182516000815260208101909352612f1b93923092919060448101614f60565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918a015160c08b01519251633a020f0160e11b815291935033926374041e0292612f8a9291869164100000000091909114908890600401614fa5565b6000604051808303816000875af1158015612fa9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fd19190810190614fee565b9550505b612fe0866000614135565b50505b50505092915050565b60006001600160801b038211156130555760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016118f6565b5090565b604080516002808252606080830184529260208301908036833701905050905081600001516001600160801b0316600160801b1760001b816000815181106130a3576130a3614b6e565b602002602001018181525050608082604001516001600160801b0316901b82602001516001600160801b03161760001b816001815181106130e6576130e6614b6e565b602002602001018181525050919050565b6040805160028082526060808301845292602083019080368337019050509050816000015163ffffffff166020836040015163ffffffff16901b606084602001516001600160a01b0316901b171760001b8160008151811061315b5761315b614b6e565b602002602001018181525050608082608001516001600160801b0316901b82606001516001600160801b03161760001b816001815181106130e6576130e6614b6e565b806000036131ab57505050565b604051634b61cc3360e01b81526000906001600160a01b03851690634b61cc33906131e6903090879064010000000090600190600401614b9a565b600060405180830381865afa158015613203573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261322b9190810190614cc0565b9050816132548260008151811061324457613244614b6e565b602002602001015160001c61415d565b61325e9190614cf4565b60001b8160008151811061327457613274614b6e565b602090810291909101015260405163048620af60e11b81526001600160a01b0385169063090c415e906132b4908690640100000000908690600401615022565b600060405180830381600087803b1580156132ce57600080fd5b505af11580156132e2573d6000803e3d6000fd5b5050505050505050565b6132f46142d7565b6020840151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015613348573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061336c9190614f24565b88965091945092509050828015613381575081155b1561352d576133908489614020565b93508760c00151811660000361351b5760006133af8960c0015161409e565b89516040808c015160608d0151825160008152602081019093526133dd9392309291908e9060448101615049565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918b015160c08c0151925163079b42a160e21b81529193503392631e6d0a849261344c9291869164200000000091909114908b90600401614fa5565b6000604051808303816000875af115801561346b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134939190810190614fee565b604051631fb6491d60e11b81529095503390633f6c923a906134b9908890600401614493565b600060405180830381865afa1580156134d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134fe9190810190614e1e565b955061351389608001518761010001516141c7565b610100870152505b61352a86866101000151614135565b93505b505050935093915050565b60405168383ab13634b9b432b960b91b60208201526bffffffffffffffffffffffff19606084901b1660298201526001600160e01b031960e083901b16603d8201526000906041015b60405160208183030381529060405280519060200120905092915050565b60408051606081018252600080825260208201819052918101829052604051636c2d9f2f60e01b815230600482015260248101849052600260448201526000906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa158015613610573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136389190810190614cc0565b905060008160008151811061364f5761364f614b6e565b602002602001015160001c905060008260018151811061367157613671614b6e565b602002602001015160001c905060008211945084156136a9576001600160801b03808316855281166020850152608081901c60408501525b5050509250929050565b604051631528e57f60e31b81526001600160a01b038085166004830152831660248201526000604482015263ffffffff8216606482015273__$97ed594b3f931187fb739dcb88a7dff641$__9063a9472bf89060840160006040518083038186803b15801561372157600080fd5b505af4158015613735573d6000803e3d6000fd5b50505050505050565b60006137687f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036137be5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016118f6565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138209190614b1c565b61382861116c565b146138815760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016118f6565b6001600160a01b03811630036138d95760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016118f6565b613901817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc61392a61116c565b604080519182526001600160a01b038416602083015201611960565b60408051606081018252600080825260208201819052918101829052600061396e8585613538565b925061397a868461359f565b925090508061399c5760405163edeaa63b60e01b815260040160405180910390fd5b50935093915050565b866001600160a01b031663cf97256d8785602001516001600160801b03168660000151866139d391906149be565b6001600160801b03166139e590614a0e565b6139ef91906149de565b6040518363ffffffff1660e01b8152600401613a0c929190614a2a565b600060405180830381600087803b158015613a2657600080fd5b505af1158015613a3a573d6000803e3d6000fd5b50505050613a74878785604001516001600160801b0316866000015186613a6191906149be565b6001600160801b03166108a191906149de565b82516001600160801b03831684526001600160a01b03881663a1b2bf8b86613a9b87613059565b6040518363ffffffff1660e01b8152600401613ab892919061497e565b600060405180830381600087803b158015613ad257600080fd5b505af1158015613ae6573d6000803e3d6000fd5b505050508563ffffffff16876001600160a01b0316896001600160a01b03167f81e37f3d9f16cbf29a62d6a1c21d79b23ef29b54124ec44af43a50fffb9304f3848789604001518a6020015189604051613b449594939291906150af565b60405180910390a46040516379359f6f60e01b81526001600160a01b0388811660048301528916906379359f6f90602401602060405180830381865afa158015613b92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bb69190614d77565b156132e2576040516316e759bb60e01b815260040160405180910390fd5b60608073__$97ed594b3f931187fb739dcb88a7dff641$__6306967a8c85856000600160801b6040518563ffffffff1660e01b8152600401613c199493929190614b9a565b600060405180830381865af4158015613c36573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c5e91908101906150eb565b909250905060005b8151811015613cbf57613c9284838381518110613c8557613c85614b6e565b6020026020010151613fdf565b828281518110613ca457613ca4614b6e565b6020908102919091010152613cb8816151af565b9050613c66565b509250929050565b6000613cd16142a9565b604051636c2d9f2f60e01b815230600482015260248101849052600260448201526000906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa158015613d26573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613d4e9190810190614cc0565b9050600081600081518110613d6557613d65614b6e565b602002602001015160001c9050600082600181518110613d8757613d87614b6e565b602002602001015160001c905060008211945084156136a957606082811c60208087019190915283901c63ffffffff9081166040870152831685526001600160801b03821690850152608081811c908501525050509250929050565b600080836001600160a01b0316634b61cc33308564010000000060016040518563ffffffff1660e01b8152600401613e1e9493929190614b9a565b600060405180830381865afa158015613e3b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613e639190810190614cc0565b905080600081518110613e7857613e78614b6e565b602002602001015160001c91505092915050565b604051630a32470160e41b81526001600160a01b03808516600483015283166024820152600060448201819052600160801b6064830152608482018390529073__$97ed594b3f931187fb739dcb88a7dff641$__9063a32470109060a401602060405180830381865af4158015613f07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f2b91906151c8565b949350505050565b604051636c2d9f2f60e01b8152306004820152602481018290526002604482015260009081906001600160a01b03851690636c2d9f2f90606401600060405180830381865afa158015613f8a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613fb29190810190614cc0565b9050600081600081518110613fc957613fc9614b6e565b6020908102919091010151151595945050505050565b604080516b39bab139b1b934b83a34b7b760a11b6020820152606084811b6bffffffffffffffffffffffff1916602c83015291810183905260009101613581565b6020810151608082015160a08301518351604051630768fabb60e41b8152606094339463768fabb094614057948a946004016151e5565b6000604051808303816000875af1158015614076573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d0b9190810190614fee565b600064010000000082036140ba57506330d9c91560e01b919050565b64040000000082036140d45750630221347d60e61b919050565b64100000000082036140ee5750635f9e7d7760e01b919050565b6402000000008203614108575063d86ed3e560e01b919050565b6408000000008203614122575063230dbd2960e01b919050565b506353c11f9960e01b919050565b919050565b604051634c4d861f60e11b8152606090339063989b0c3e90614057908690869060040161522a565b60006001600160ff1b038211156130555760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016118f6565b6000612d0b60006141e06141da8661415d565b856141e5565b6141fa565b60008183136141f45782612d0b565b50919050565b60008183136142095781612d0b565b5090919050565b6040805160c0810182526000808252602082018190529181019190915260608101614254604080516060810182526000808252602082018190529181019190915290565b81526020016142616142a9565b8152602001606081525090565b6040805160e0810182526000808252602082018190529181018290526060808201526080810182905260a0810182905260c081019190915290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461113a57600080fd5b63ffffffff8116811461113a57600080fd5b80356001600160801b038116811461413057600080fd5b60008083601f84011261438257600080fd5b5081356001600160401b0381111561439957600080fd5b6020830191508360208285010111156143b157600080fd5b9250929050565b60008060008060008060a087890312156143d157600080fd5b86356143dc81614332565b955060208701356143ec81614347565b945060408701356143fc81614332565b935061440a60608801614359565b925060808701356001600160401b0381111561442557600080fd5b61443189828a01614370565b979a9699509497509295939492505050565b60005b8381101561445e578181015183820152602001614446565b50506000910152565b6000815180845261447f816020860160208601614443565b601f01601f19169290920160200192915050565b602081526000612d0b6020830184614467565b6000806000606084860312156144bb57600080fd5b83356144c681614332565b925060208401356144d681614332565b915060408401356144e681614347565b809150509250925092565b60008060008060008060a0878903121561450a57600080fd5b863561451581614332565b9550602087013561452581614332565b9450604087013561453581614347565b9350606087013561440a81614332565b60006020828403121561455757600080fd5b813561456281614332565b9392505050565b6000806000806080858703121561457f57600080fd5b843561458a81614332565b9350602085013561459a81614332565b925060408501356145aa81614347565b915060608501356145ba81614332565b939692955090935050565b6000806000806000608086880312156145dd57600080fd5b85356145e881614332565b945060208601356145f881614332565b9350604086013561460881614347565b925060608601356001600160401b0381111561462357600080fd5b61462f88828901614370565b969995985093965092949392505050565b60008060008060006080868803121561465857600080fd5b853561466381614332565b9450602086013561467381614347565b935061460860408701614359565b6000806000806080858703121561469757600080fd5b84356146a281614332565b935060208501356146b281614332565b925060408501356146c281614347565b9396929550929360600135925050565b6000806000606084860312156146e757600080fd5b83356146f281614332565b9250602084013561470281614332565b929592945050506040919091013590565b6000806040838503121561472657600080fd5b823561473181614332565b9150602083013561474181614332565b809150509250929050565b600081518084526020808501945080840160005b838110156147855781516001600160801b031687529582019590820190600101614760565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b828110156147d25781516001600160a01b0316845292840192908401906001016147ad565b5050508381038285015285518082528683019183019060005b8181101561480d57835163ffffffff16835292840192918401916001016147eb565b50508481036040860152614821818761474c565b98975050505050505050565b60008060008060006080868803121561484557600080fd5b853561485081614332565b9450602086013561486081614347565b93506040860135925060608601356001600160401b0381111561462357600080fd5b6000806040838503121561489557600080fd5b82356148a081614332565b946020939093013593505050565b600080600080606085870312156148c457600080fd5b84356148cf81614332565b935060208501356148df81614347565b925060408501356001600160401b038111156148fa57600080fd5b61490687828801614370565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115612d0e57612d0e614912565b81810381811115612d0e57612d0e614912565b600081518084526020808501945080840160005b8381101561478557815187529582019590820190600101614962565b828152604060208201526000613f2b604083018461494e565b6001600160801b038181168382160190808211156149b7576149b7614912565b5092915050565b6001600160801b038281168282160390808211156149b7576149b7614912565b80820260008212600160ff1b841416156149fa576149fa614912565b8181058314821517612d0e57612d0e614912565b6000600160ff1b8201614a2357614a23614912565b5060000390565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03841681526001600160801b0383166020820152606060408201819052600090614a7690830184614467565b95945050505050565b6001600160a01b038516815263ffffffff841660208201526001600160801b0383166040820152608060608201819052600090614abe90830184614467565b9695505050505050565b6001600160a01b0383168152604060208201819052600090613f2b90830184614467565b6001600160a01b038416815263ffffffff83166020820152606060408201819052600090614a7690830184614467565b600060208284031215614b2e57600080fd5b5051919050565b8082028115828204841417612d0e57612d0e614912565b600082614b6957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715614bfc57614bfc614bc3565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614c2a57614c2a614bc3565b604052919050565b60006001600160401b03821115614c4b57614c4b614bc3565b5060051b60200190565b600082601f830112614c6657600080fd5b81516020614c7b614c7683614c32565b614c02565b82815260059290921b84018101918181019086841115614c9a57600080fd5b8286015b84811015614cb55780518352918301918301614c9e565b509695505050505050565b600060208284031215614cd257600080fd5b81516001600160401b03811115614ce857600080fd5b613f2b84828501614c55565b8082018281126000831280158216821582161715614d1457614d14614912565b505092915050565b600063ffffffff808316818103614d3557614d35614912565b6001019392505050565b805161413081614332565b600060208284031215614d5c57600080fd5b815161456281614332565b8051801515811461413057600080fd5b600060208284031215614d8957600080fd5b612d0b82614d67565b805160ff8116811461413057600080fd5b80516001600160e01b03198116811461413057600080fd5b600082601f830112614dcc57600080fd5b81516001600160401b03811115614de557614de5614bc3565b614df8601f8201601f1916602001614c02565b818152846020838601011115614e0d57600080fd5b613f2b826020830160208701614443565b600060208284031215614e3057600080fd5b81516001600160401b0380821115614e4757600080fd5b908301906101608286031215614e5c57600080fd5b614e64614bd9565b614e6d83614d92565b8152614e7b60208401614d92565b602082015260408301516040820152614e9660608401614d3f565b6060820152614ea760808401614da3565b608082015260a083015182811115614ebe57600080fd5b614eca87828601614dbb565b60a08301525060c083015160c082015260e083015160e0820152610100915081830151828201526101209150614f01828401614d3f565b828201526101409150614f15828401614d3f565b91810191909152949350505050565b600080600060608486031215614f3957600080fd5b614f4284614d67565b9250614f5060208501614d67565b9150604084015190509250925092565b6001600160a01b038681168252851660208201526040810184905260a060608201819052600090614f9390830185614467565b82810360808401526148218185614467565b6001600160a01b0385168152608060208201819052600090614fc990830186614467565b84151560408401528281036060840152614fe38185614467565b979650505050505050565b60006020828403121561500057600080fd5b81516001600160401b0381111561501657600080fd5b613f2b84828501614dbb565b60018060a01b0384168152826020820152606060408201526000614a76606083018461494e565b6001600160a01b038781168252861660208201526040810185905260c06060820181905260009061507c90830186614467565b828103608084015261508e8186614467565b905082810360a08401526150a28185614467565b9998505050505050505050565b60006001600160801b0380881683528087166020840152808616604084015280851660608401525060a06080830152614fe360a0830184614467565b600080604083850312156150fe57600080fd5b82516001600160401b038082111561511557600080fd5b818501915085601f83011261512957600080fd5b81516020615139614c7683614c32565b82815260059290921b8401810191818101908984111561515857600080fd5b948201945b8386101561517f57855161517081614347565b8252948201949082019061515d565b9188015191965090935050508082111561519857600080fd5b506151a585828601614c55565b9150509250929050565b6000600182016151c1576151c1614912565b5060010190565b6000602082840312156151da57600080fd5b815161456281614347565b60a0815260006151f860a0830188614467565b6001600160a01b0396871660208401526040830195909552506060810192909252909216608090920191909152919050565b60408152600061523d6040830185614467565b9050826020830152939250505056fea264697066735822122022e73ac6297a9505905157a298582411ab8841ce33a1e924818361a627ffb96164736f6c63430008130033",hy=eb=>"string"==typeof eb[0]||Array.isArray(eb[0])||"_isInterface"in eb[0];class hz extends uw.lV{constructor(...eb){if(hy(eb))super(...eb);else{let[em,eH]=eb;super(hb,hz.linkBytecode(em),eH)}}static linkBytecode(eb){return hm.replace(RegExp("__\\$97ed594b3f931187fb739dcb88a7dff641\\$__","g"),eb["contracts/libs/SlotsBitmapLibrary.sol:SlotsBitmapLibrary"].replace(/^0x/,"").toLowerCase())}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(hb)}static connect(eb,em){return new uw.CH(eb,hb,em)}}hz.bytecode=hm,hz.abi=hb;let hH=[{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"}];class hV{static createInterface(){return new uN.vU(hH)}static connect(eb,em){return new uw.CH(eb,hH,em)}}hV.abi=hH;let hw=[{inputs:[],name:"NotAcceptedSuperToken",type:"error"},{inputs:[],name:"NotImplemented",type:"error"},{inputs:[],name:"UnauthorizedHost",type:"error"},{inputs:[],name:"CFAV1_TYPE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],name:"isAcceptedSuperToken",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];class hM{static createInterface(){return new uN.vU(hw)}static connect(eb,em){return new uw.CH(eb,hw,em)}}hM.abi=hw;let hC=[{inputs:[],name:"UnsupportedNetwork",type:"error"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],hx="0x6102cd61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806320bc44251461003a575b600080fd5b61004261005e565b6040516001600160a01b03909116815260200160405180910390f35b6000600146036100815750734e583d9390082b65bef884b629dfa426114ced6d90565b600a46036100a2575073567c4b141ed61923967ca25ef4906c8781069a1090565b603846036100c3575073d1e2cfb6441680002eb7a44223160ab9b67d7e6e90565b606446036100e45750732dfe937cd98ab92e59cf3139138f18c823a4efe790565b608946036101055750733e14dc1b13c488a8d5d310918780c983bd5982e790565b61a4b14603610127575073cf8acb4ef033eff16e8080aed4c7d5b9285d219290565b61a4ec4603610149575073a4ff07cf81c02cfd356184879d953970ca95758590565b61a86a460361016b57507360377c7016e4cdb03c87ef474896c11cb560752c90565b6005460361018c57507322ff293e14f1ec3a09b137e9e06084afd63addf990565b62066eed46036101af575073e40983c2476032a0915600b9472b3141aa5b5ba990565b6101a446036101d1575073e40983c2476032a0915600b9472b3141aa5b5ba990565b61a86946036101f357507385fe79b998509b77bf10a8bd4001d58475d2938690565b620138814603610216575073eb796bdb90ffa0f28255275e16936d25d341860390565b62aa36a74603610239575073109412e3c84f0539b43d39db691b08c90f58dc7c90565b62014a33460361025c575073507c3a7c6ccc253884a2e3a3ee2a211cc7e796a690565b6105a2460361027e575073e64f81d5ddda1c7172e5c6d964e8ef1bd82d870490565b604051633732a25760e11b815260040160405180910390fdfea2646970667358221220114465fd8371389b109b18e5e19f7e2c31b95dd500a0c97369fb43b1804da50064736f6c63430008130033",hk=eb=>eb.length>1;class hT extends uw.lV{constructor(...eb){hk(eb)?super(...eb):super(hC,hx,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(hC)}static connect(eb,em){return new uw.CH(eb,hC,em)}}hT.bytecode=hx,hT.abi=hC;let h_=[{inputs:[],name:"SF_GOV_II_ONLY_OWNER",type:"error"},{inputs:[],name:"SF_GOV_INVALID_LIQUIDATION_OR_PATRICIAN_PERIOD",type:"error"},{inputs:[],name:"SF_GOV_MUST_BE_CONTRACT",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"address",name:"factory",type:"address"},{indexed:!1,internalType:"bool",name:"authorized",type:"bool"}],name:"AppFactoryAuthorizationChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"address",name:"deployer",type:"address"},{indexed:!1,internalType:"string",name:"appRegistrationKey",type:"string"},{indexed:!1,internalType:"uint256",name:"expirationTs",type:"uint256"}],name:"AppRegistrationKeyChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"liquidationPeriod",type:"uint256"}],name:"CFAv1LiquidationPeriodChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"ConfigChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",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:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{indexed:!1,internalType:"uint256",name:"patricianPeriod",type:"uint256"}],name:"PPPConfigurationChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"address",name:"rewardAddress",type:"address"}],name:"RewardAddressChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"minimumDeposit",type:"uint256"}],name:"SuperTokenMinimumDepositChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"address",name:"forwarder",type:"address"},{indexed:!1,internalType:"bool",name:"enabled",type:"bool"}],name:"TrustedForwarderChanged",type:"event"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"authorizeAppFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"token",type:"address[]"},{internalType:"address[]",name:"newAdmins",type:"address[]"}],name:"batchChangeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"},{internalType:"address[]",name:"tokenLogics",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"},{internalType:"uint256[]",name:"minimumDeposits",type:"uint256[]"}],name:"batchUpdateSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newAdmin",type:"address"}],name:"changeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"}],name:"clearAppRegistrationKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"clearConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"clearPPPConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"clearRewardAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"superToken",type:"address"}],name:"clearSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"disableTrustedForwarder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"enableTrustedForwarder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsAddress",outputs:[{internalType:"address",name:"value",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsUint256",outputs:[{internalType:"uint256",name:"period",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getPPPConfig",outputs:[{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getRewardAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getSuperTokenMinimumDeposit",outputs:[{internalType:"uint256",name:"value",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"isAuthorizedAppFactory",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"isTrustedForwarder",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"agreementClass",type:"address"}],name:"registerAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"newGov",type:"address"}],name:"replaceGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"},{internalType:"uint256",name:"expirationTs",type:"uint256"}],name:"setAppRegistrationKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"address",name:"value",type:"address"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"uint256",name:"value",type:"uint256"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"}],name:"setPPPConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"rewardAddress",type:"address"}],name:"setRewardAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"setSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"unauthorizeAppFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"hostNewLogic",type:"address"},{internalType:"address[]",name:"agreementClassNewLogics",type:"address[]"},{internalType:"address",name:"superTokenFactoryNewLogic",type:"address"}],name:"updateContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"}],name:"verifyAppRegistrationKey",outputs:[{internalType:"bool",name:"validNow",type:"bool"},{internalType:"uint256",name:"expirationTs",type:"uint256"}],stateMutability:"view",type:"function"}],hS="0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6122188061007e6000396000f3fe608060405234801561001057600080fd5b50600436106102315760003560e01c80637f0558e411610130578063948eda5e116100b8578063d099b6a01161007c578063d099b6a0146104f9578063e447cc1d1461050c578063f047a2d91461051f578063f2fde38b14610532578063f79a8e631461054557600080fd5b8063948eda5e146104a55780639903ad38146104b8578063ab846f1a146104c0578063c9615a98146104d3578063cadf8f85146104e657600080fd5b80638a7ff2f7116100ff5780638a7ff2f7146104385780638abe04e91461044b5780638b93b3f51461046e5780638da5cb5b146104815780638ecbd87b1461049257600080fd5b80637f0558e4146103f157806380f70cba146104045780638369a0f114610417578063870299c01461042557600080fd5b8063427942a4116101be57806352d1902d1161018257806352d1902d14610380578063640b6cc9146103b0578063715018a6146103c357806378707cb8146103cb5780637dce4f81146103de57600080fd5b8063427942a41461031757806344864b251461032a578063452282351461033d578063469519541461036557806350d75d251461037857600080fd5b8063219644731161020557806321964473146102b8578063256b5173146102cb57806325c955c3146102de57806332552908146102f157806342148deb1461030457600080fd5b806286d5551461023657806301a06b971461024b57806311cf00f11461025e57806319df62ab1461028d575b600080fd5b610249610244366004611bf6565b610558565b005b610249610259366004611c3c565b610625565b61027161026c366004611d18565b6106a9565b6040805192151583526020830191909152015b60405180910390f35b6102a061029b366004611c3c565b6106d9565b6040516001600160a01b039091168152602001610284565b6102496102c6366004611dc6565b61070d565b6102496102d9366004611e49565b610788565b6102496102ec366004611c3c565b6107fb565b6102496102ff366004611e49565b610857565b610249610312366004611e94565b6108d4565b610249610325366004611ee9565b610997565b610249610338366004611c3c565b610c47565b61035061034b366004611c3c565b610cb2565b60408051928352602083019190915201610284565b610249610373366004611f66565b610cfa565b6102a0610d0e565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb23830542395b604051908152602001610284565b6102496103be366004611f83565b610d3d565b610249610d4d565b6102496103d9366004611fc4565b610d61565b6102496103ec366004611e49565b610d73565b6102496103ff366004611f83565b610dd3565b6103a2610412366004611f83565b610e46565b6102a0610412366004611f83565b610249610433366004611dc6565b610eb7565b6103a2610446366004611c3c565b610fa9565b61045e610459366004611c3c565b610fd6565b6040519015158152602001610284565b61024961047c366004611c3c565b610ff1565b6000546001600160a01b03166102a0565b6102496104a0366004611c3c565b611074565b6102496104b3366004611d18565b6110e5565b610249611153565b6102496104ce366004611e49565b61127c565b6102496104e1366004611dc6565b6112d8565b6102496104f4366004611c3c565b6113ca565b610249610507366004612017565b611402565b61024961051a366004611c3c565b611462565b61045e61052d366004611e49565b6114d3565b610249610540366004611f66565b6114ee565b610249610553366004611bf6565b611564565b808211158061056b575063ffffffff8210155b8061057a575063ffffffff8110155b15610598576040516370b8cc0560e11b815260040160405180910390fd5b602082901b81176105cb85857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f788461156c565b6040805160018152602081018590529081018390526001600160a01b0380861691908716907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050505050565b61065082827fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f7861161f565b60408051600080825260208201819052918101919091526001600160a01b0380831691908416907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050565b60008060006106b885856116e0565b905060006106c887600084610e46565b428110159890975095505050505050565b600061070683837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09610e46565b9392505050565b82811461071c5761071c612081565b60005b81811015610780576107708686868481811061073d5761073d612097565b90506020020160208101906107529190611f66565b85858581811061076457610764612097565b90506020020135610dd3565b610779816120ad565b905061071f565b505050505050565b8261079281611713565b604051630c56507560e01b81526001600160a01b0384811660048301528381166024830152851690630c56507590604401600060405180830381600087803b1580156107dd57600080fd5b505af11580156107f1573d6000803e3d6000fd5b5050505050505050565b61080f82600061080a8461171b565b61161f565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d600060405161069d911515815260200190565b61088383837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09846117ae565b60408051600181526001600160a01b03838116602083015280851692908616917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91015b60405180910390a3505050565b826108de81611713565b60005b8281101561099057846001600160a01b031663fa6e0cfe85858481811061090a5761090a612097565b905060200201602081019061091f9190611f66565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260006024820152604401600060405180830381600087803b15801561096757600080fd5b505af115801561097b573d6000803e3d6000fd5b5050505080610989906120ad565b90506108e1565b5050505050565b846109a181611713565b6001600160a01b03851615610a5f576040516311a5465560e21b81526001600160a01b038681166004830152871690634695195490602401600060405180830381600087803b1580156109f357600080fd5b505af1158015610a07573d6000803e3d6000fd5b50505050846001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a4657600080fd5b505af1158015610a5a573d6000803e3d6000fd5b505050505b60005b83811015610b8357866001600160a01b03166306cecba8868684818110610a8b57610a8b612097565b9050602002016020810190610aa09190611f66565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015610ae157600080fd5b505af1158015610af5573d6000803e3d6000fd5b50505050848482818110610b0b57610b0b612097565b9050602002016020810190610b209190611f66565b6001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b5a57600080fd5b505af1158015610b6e573d6000803e3d6000fd5b5050505080610b7c906120ad565b9050610a62565b506001600160a01b03821615610780576040516354fbc49360e01b81526001600160a01b0383811660048301528716906354fbc49390602401600060405180830381600087803b158015610bd657600080fd5b505af1158015610bea573d6000803e3d6000fd5b50505050816001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c2957600080fd5b505af1925050508015610c3a575060015b1561078057505050505050565b81610c5181611713565b604051631ca0c40360e21b81526001600160a01b038381166004830152841690637283100c906024015b600060405180830381600087803b158015610c9557600080fd5b505af1158015610ca9573d6000803e3d6000fd5b50505050505050565b6000806000610ce285857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78610e46565b63ffffffff602082901c811697911695509350505050565b610d02611863565b610d0b8161188e565b50565b6000610d387f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b610d4883838361161f565b505050565b610d55611ac8565b610d5f6000611b22565b565b610d6d848484846117ae565b50505050565b610d81838361080a84611b72565b60408051600181526001600160a01b038381166020830152600092820192909252818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108c7565b610dff83837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc48461156c565b6040805160018152602081018390526001600160a01b0380851692908616917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a5391016108c7565b6001600160a01b03808416600090815260016020908152604080832093861683529281528282208483529052908120805460ff16610eab57506001600160a01b0384166000908152600160209081526040808320838052825280832085845290915290205b60010154949350505050565b84610ec181611713565b838214610ed057610ed0612081565b60005b84811015610ca957866001600160a01b031663fa6e0cfe878784818110610efc57610efc612097565b9050602002016020810190610f119190611f66565b868685818110610f2357610f23612097565b9050602002016020810190610f389190611f66565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b158015610f8057600080fd5b505af1158015610f94573d6000803e3d6000fd5b5050505080610fa2906120ad565b9050610ed3565b600061070683837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4610e46565b6000610fe78360006104128561171b565b6001149392505050565b803b6000819003611015576040516380dddd7360e01b815260040160405180910390fd5b5061102c8260006110258461171b565b600161156c565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d600160405161069d911515815260200190565b61109f82827feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc461161f565b60408051600080825260208201526001600160a01b0380841692908516917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a53910161069d565b60006110f183836116e0565b90506110ff8460008361161f565b826001600160a01b0316846001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc84600060405161114592919061211a565b60405180910390a350505050565b600054600160a81b900460ff161580801561117b57506000546001600160a01b90910460ff16105b8061119c5750303b15801561119c5750600054600160a01b900460ff166001145b6112045760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff60a01b1916600160a01b1790558015611231576000805460ff60a81b1916600160a81b1790555b8015610d0b576000805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61128a838361102584611b72565b6040805160018082526001600160a01b03848116602084015292820152818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108c7565b846112e281611713565b8382146112f1576112f1612081565b60005b84811015610ca957866001600160a01b0316630c56507587878481811061131d5761131d612097565b90506020020160208101906113329190611f66565b86868581811061134457611344612097565b90506020020160208101906113599190611f66565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b1580156113a157600080fd5b505af11580156113b5573d6000803e3d6000fd5b50505050806113c3906120ad565b90506112f4565b816113d481611713565b6040516315a024e160e01b81526001600160a01b0383811660048301528416906315a024e190602401610c7b565b600061140e84846116e0565b905061141d856000838561156c565b836001600160a01b0316856001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc858560405161061692919061211a565b61148d82827f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d0961161f565b60408051600080825260208201526001600160a01b0380841692908516917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb910161069d565b60006114e3848461041285611b72565b600114949350505050565b6114f6611ac8565b6001600160a01b03811661155b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016111fb565b610d0b81611b22565b610d6d848484845b8361157681611713565b60408051848152600160208201529081018390526001600160a01b0380861691908716907f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e3909060600160405180910390a350604080518082018252600180825260208083019485526001600160a01b039788166000908152828252848120979098168852958652828720948752939094529093209151825460ff19169015151782559151910155565b8261162981611713565b826001600160a01b0316846001600160a01b03167f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e39084600080604051611682939291909283529015156020830152604082015260600190565b60405180910390a350604080518082018252600080825260208083018281526001600160a01b03978816835260018083528584209790981683529581528382209482529390935291209051815460ff19169015151781559051910155565b600082826040516020016116f592919061213c565b60405160208183030381529060405280519060200120905092915050565b610d0b611863565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b836117b881611713565b60408051848152600160208201526001600160a01b03848116828401529151868316928816917f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e390919081900360600190a35060408051808201825260018082526001600160a01b03938416602080840191825297851660009081528289528481209790951685529587528284209484529390955290209251835460ff19169015151783559051910155565b6000546001600160a01b03163314610d5f57604051638c809f9b60e01b815260040160405180910390fd5b60006118b87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b03160361190e5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016111fb565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561194c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197091906121c9565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb2383054239146119ea5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016111fb565b6001600160a01b0381163003611a425760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016111fb565b611a6a817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb2383054239604080519182526001600160a01b038416602083015201611271565b6000546001600160a01b03163314610d5f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016111fb565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c001611791565b6001600160a01b0381168114610d0b57600080fd5b60008060008060808587031215611c0c57600080fd5b8435611c1781611be1565b93506020850135611c2781611be1565b93969395505050506040820135916060013590565b60008060408385031215611c4f57600080fd5b8235611c5a81611be1565b91506020830135611c6a81611be1565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611c9c57600080fd5b813567ffffffffffffffff80821115611cb757611cb7611c75565b604051601f8301601f19908116603f01168101908282118183101715611cdf57611cdf611c75565b81604052838152866020858801011115611cf857600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215611d2d57600080fd5b8335611d3881611be1565b92506020840135611d4881611be1565b9150604084013567ffffffffffffffff811115611d6457600080fd5b611d7086828701611c8b565b9150509250925092565b60008083601f840112611d8c57600080fd5b50813567ffffffffffffffff811115611da457600080fd5b6020830191508360208260051b8501011115611dbf57600080fd5b9250929050565b600080600080600060608688031215611dde57600080fd5b8535611de981611be1565b9450602086013567ffffffffffffffff80821115611e0657600080fd5b611e1289838a01611d7a565b90965094506040880135915080821115611e2b57600080fd5b50611e3888828901611d7a565b969995985093965092949392505050565b600080600060608486031215611e5e57600080fd5b8335611e6981611be1565b92506020840135611e7981611be1565b91506040840135611e8981611be1565b809150509250925092565b600080600060408486031215611ea957600080fd5b8335611eb481611be1565b9250602084013567ffffffffffffffff811115611ed057600080fd5b611edc86828701611d7a565b9497909650939450505050565b600080600080600060808688031215611f0157600080fd5b8535611f0c81611be1565b94506020860135611f1c81611be1565b9350604086013567ffffffffffffffff811115611f3857600080fd5b611f4488828901611d7a565b9094509250506060860135611f5881611be1565b809150509295509295909350565b600060208284031215611f7857600080fd5b813561070681611be1565b600080600060608486031215611f9857600080fd5b8335611fa381611be1565b92506020840135611fb381611be1565b929592945050506040919091013590565b60008060008060808587031215611fda57600080fd5b8435611fe581611be1565b93506020850135611ff581611be1565b925060408501359150606085013561200c81611be1565b939692955090935050565b6000806000806080858703121561202d57600080fd5b843561203881611be1565b9350602085013561204881611be1565b9250604085013567ffffffffffffffff81111561206457600080fd5b61207087828801611c8b565b949793965093946060013593505050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000600182016120cd57634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b818110156120fa576020818501810151868301820152016120de565b506000602082860101526020601f19601f83011685010191505092915050565b60408152600061212d60408301856120d4565b90508260208301529392505050565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e0604082015260006121c160e08301846120d4565b949350505050565b6000602082840312156121db57600080fd5b505191905056fea26469706673582212205b47bb8e510e16416c7494da5b9283774a0d75dd7c329c518ca95da069b17ba064736f6c63430008130033",hE=eb=>eb.length>1;class hA extends uw.lV{constructor(...eb){hE(eb)?super(...eb):super(h_,hS,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(h_)}static connect(eb,em){return new uw.CH(eb,h_,em)}}hA.bytecode=hS,hA.abi=h_;let hN=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{stateMutability:"payable",type:"fallback"},{inputs:[{internalType:"address",name:"initialAddress",type:"address"}],name:"initializeProxy",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],hI="0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6103de8061007e6000396000f3fe6080604052600436106100435760003560e01c80634a0687ef1461005a578063715018a61461007a5780638da5cb5b1461008f578063f2fde38b146100bb57610052565b36610052576100506100db565b005b6100506100db565b34801561006657600080fd5b50610050610075366004610378565b6100ed565b34801561008657600080fd5b506100506101f3565b34801561009b57600080fd5b50600054604080516001600160a01b039092168252519081900360200190f35b3480156100c757600080fd5b506100506100d6366004610378565b610205565b6100eb6100e661027b565b6102aa565b565b6001600160a01b0381166101485760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006101727f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101c85760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a65640000604482015260640161013f565b6101f0817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b6101fb6102ce565b6100eb6000610328565b61020d6102ce565b6001600160a01b0381166102725760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161013f565b6101f081610328565b60006102a57f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156102c9573d6000f35b3d6000fd5b6000546001600160a01b031633146100eb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161013f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561038a57600080fd5b81356001600160a01b03811681146103a157600080fd5b939250505056fea264697066735822122013c43d3da054c8f134fcf229dcee80be810c5b9fde0407159fe9e6158b0b1b9b64736f6c63430008130033",hD=eb=>eb.length>1;class hP extends uw.lV{constructor(...eb){hD(eb)?super(...eb):super(hN,hI,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(hN)}static connect(eb,em){return new uw.CH(eb,hN,em)}}hP.bytecode=hI,hP.abi=hN;let hO=[{inputs:[],name:"SF_GOV_INVALID_LIQUIDATION_OR_PATRICIAN_PERIOD",type:"error"},{inputs:[],name:"SF_GOV_MUST_BE_CONTRACT",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"address",name:"factory",type:"address"},{indexed:!1,internalType:"bool",name:"authorized",type:"bool"}],name:"AppFactoryAuthorizationChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"address",name:"deployer",type:"address"},{indexed:!1,internalType:"string",name:"appRegistrationKey",type:"string"},{indexed:!1,internalType:"uint256",name:"expirationTs",type:"uint256"}],name:"AppRegistrationKeyChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"liquidationPeriod",type:"uint256"}],name:"CFAv1LiquidationPeriodChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"ConfigChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{indexed:!1,internalType:"uint256",name:"patricianPeriod",type:"uint256"}],name:"PPPConfigurationChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"address",name:"rewardAddress",type:"address"}],name:"RewardAddressChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"minimumDeposit",type:"uint256"}],name:"SuperTokenMinimumDepositChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"address",name:"forwarder",type:"address"},{indexed:!1,internalType:"bool",name:"enabled",type:"bool"}],name:"TrustedForwarderChanged",type:"event"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"authorizeAppFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"token",type:"address[]"},{internalType:"address[]",name:"newAdmins",type:"address[]"}],name:"batchChangeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"},{internalType:"address[]",name:"tokenLogics",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"},{internalType:"uint256[]",name:"minimumDeposits",type:"uint256[]"}],name:"batchUpdateSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newAdmin",type:"address"}],name:"changeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"}],name:"clearAppRegistrationKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"clearConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"clearPPPConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"clearRewardAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"superToken",type:"address"}],name:"clearSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"disableTrustedForwarder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"enableTrustedForwarder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsAddress",outputs:[{internalType:"address",name:"value",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsUint256",outputs:[{internalType:"uint256",name:"period",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getPPPConfig",outputs:[{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getRewardAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getSuperTokenMinimumDeposit",outputs:[{internalType:"uint256",name:"value",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"isAuthorizedAppFactory",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"isTrustedForwarder",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"agreementClass",type:"address"}],name:"registerAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"newGov",type:"address"}],name:"replaceGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"},{internalType:"uint256",name:"expirationTs",type:"uint256"}],name:"setAppRegistrationKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"address",name:"value",type:"address"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"uint256",name:"value",type:"uint256"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"}],name:"setPPPConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"rewardAddress",type:"address"}],name:"setRewardAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"setSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"unauthorizeAppFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"hostNewLogic",type:"address"},{internalType:"address[]",name:"agreementClassNewLogics",type:"address[]"},{internalType:"address",name:"superTokenFactoryNewLogic",type:"address"}],name:"updateContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"}],name:"verifyAppRegistrationKey",outputs:[{internalType:"bool",name:"validNow",type:"bool"},{internalType:"uint256",name:"expirationTs",type:"uint256"}],stateMutability:"view",type:"function"}];class hR{static createInterface(){return new uN.vU(hO)}static connect(eb,em){return new uw.CH(eb,hO,em)}}hR.abi=hO;let hB=[{inputs:[],name:"CFA_ACL_FLOW_RATE_ALLOWANCE_EXCEEDED",type:"error"},{inputs:[],name:"CFA_ACL_NO_NEGATIVE_ALLOWANCE",type:"error"},{inputs:[],name:"CFA_ACL_NO_SENDER_CREATE",type:"error"},{inputs:[],name:"CFA_ACL_NO_SENDER_FLOW_OPERATOR",type:"error"},{inputs:[],name:"CFA_ACL_NO_SENDER_UPDATE",type:"error"},{inputs:[],name:"CFA_ACL_OPERATOR_NO_CREATE_PERMISSIONS",type:"error"},{inputs:[],name:"CFA_ACL_OPERATOR_NO_DELETE_PERMISSIONS",type:"error"},{inputs:[],name:"CFA_ACL_OPERATOR_NO_UPDATE_PERMISSIONS",type:"error"},{inputs:[],name:"CFA_ACL_UNCLEAN_PERMISSIONS",type:"error"},{inputs:[],name:"CFA_DEPOSIT_TOO_BIG",type:"error"},{inputs:[],name:"CFA_FLOW_ALREADY_EXISTS",type:"error"},{inputs:[],name:"CFA_FLOW_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"CFA_FLOW_RATE_TOO_BIG",type:"error"},{inputs:[],name:"CFA_HOOK_OUT_OF_GAS",type:"error"},{inputs:[],name:"CFA_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"CFA_INVALID_FLOW_RATE",type:"error"},{inputs:[],name:"CFA_NON_CRITICAL_SENDER",type:"error"},{inputs:[],name:"CFA_NO_SELF_FLOW",type:"error"},{inputs:[],name:"CFA_ZERO_ADDRESS_RECEIVER",type:"error"},{inputs:[],name:"CFA_ZERO_ADDRESS_SENDER",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"flowOperator",type:"address"},{indexed:!1,internalType:"uint8",name:"permissions",type:"uint8"},{indexed:!1,internalType:"int96",name:"flowRateAllowance",type:"int96"}],name:"FlowOperatorUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"int96",name:"flowRate",type:"int96"},{indexed:!1,internalType:"int256",name:"totalSenderFlowRate",type:"int256"},{indexed:!1,internalType:"int256",name:"totalReceiverFlowRate",type:"int256"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"FlowUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"flowOperator",type:"address"},{indexed:!1,internalType:"uint256",name:"deposit",type:"uint256"}],name:"FlowUpdatedExtension",type:"event"},{inputs:[],name:"agreementType",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"authorizeFlowOperatorWithFullControl",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"createFlow",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"createFlowByOperator",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"int96",name:"subtractedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"decreaseFlowRateAllowance",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissionsToRemove",type:"uint8"},{internalType:"int96",name:"subtractedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"decreaseFlowRateAllowanceWithPermissions",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"deleteFlow",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"deleteFlowByOperator",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"getAccountFlowInfo",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"getDepositRequiredForFlowRate",outputs:[{internalType:"uint256",name:"deposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getFlow",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"}],name:"getFlowByID",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"flowOperator",type:"address"}],name:"getFlowOperatorData",outputs:[{internalType:"bytes32",name:"flowOperatorId",type:"bytes32"},{internalType:"uint8",name:"permissions",type:"uint8"},{internalType:"int96",name:"flowRateAllowance",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"flowOperatorId",type:"bytes32"}],name:"getFlowOperatorDataByID",outputs:[{internalType:"uint8",name:"permissions",type:"uint8"},{internalType:"int96",name:"flowRateAllowance",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint256",name:"deposit",type:"uint256"}],name:"getMaximumFlowRateFromDeposit",outputs:[{internalType:"int96",name:"flowRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"getNetFlow",outputs:[{internalType:"int96",name:"flowRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"int96",name:"addedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"increaseFlowRateAllowance",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissionsToAdd",type:"uint8"},{internalType:"int96",name:"addedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"increaseFlowRateAllowanceWithPermissions",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isPatricianPeriod",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"isPatricianPeriodNow",outputs:[{internalType:"bool",name:"isCurrentlyPatricianPeriod",type:"bool"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"time",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"dynamicBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"revokeFlowOperatorWithFullControl",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateFlow",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateFlowByOperator",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissions",type:"uint8"},{internalType:"int96",name:"flowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateFlowOperatorPermissions",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"}];class hF{static createInterface(){return new uN.vU(hB)}static connect(eb,em){return new uw.CH(eb,hB,em)}}hF.abi=hB;let hj=[{inputs:[],name:"IDA_INDEX_ALREADY_EXISTS",type:"error"},{inputs:[],name:"IDA_INDEX_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"IDA_INDEX_SHOULD_GROW",type:"error"},{inputs:[],name:"IDA_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"IDA_OPERATION_NOT_ALLOWED",type:"error"},{inputs:[],name:"IDA_SUBSCRIPTION_ALREADY_APPROVED",type:"error"},{inputs:[],name:"IDA_SUBSCRIPTION_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"IDA_SUBSCRIPTION_IS_NOT_APPROVED",type:"error"},{inputs:[],name:"IDA_ZERO_ADDRESS_SUBSCRIBER",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"IndexDistributionClaimed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexSubscribed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"uint128",name:"units",type:"uint128"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexUnitsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexUnsubscribed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"uint128",name:"oldIndexValue",type:"uint128"},{indexed:!1,internalType:"uint128",name:"newIndexValue",type:"uint128"},{indexed:!1,internalType:"uint128",name:"totalUnitsPending",type:"uint128"},{indexed:!1,internalType:"uint128",name:"totalUnitsApproved",type:"uint128"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"SubscriptionApproved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"SubscriptionDistributionClaimed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"SubscriptionRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"uint128",name:"units",type:"uint128"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"SubscriptionUnitsUpdated",type:"event"},{inputs:[],name:"agreementType",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"approveSubscription",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"calculateDistribution",outputs:[{internalType:"uint256",name:"actualAmount",type:"uint256"},{internalType:"uint128",name:"newIndexValue",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"claim",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"createIndex",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"deleteSubscription",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"distribute",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"getIndex",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"uint128",name:"totalUnitsApproved",type:"uint128"},{internalType:"uint128",name:"totalUnitsPending",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"getSubscription",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"}],name:"getSubscriptionByID",outputs:[{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"subscriber",type:"address"}],name:"listSubscriptions",outputs:[{internalType:"address[]",name:"publishers",type:"address[]"},{internalType:"uint32[]",name:"indexIds",type:"uint32[]"},{internalType:"uint128[]",name:"unitsList",type:"uint128[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"time",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"dynamicBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"revokeSubscription",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateIndex",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateSubscription",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"}];class hU{static createInterface(){return new uN.vU(hj)}static connect(eb,em){return new uw.CH(eb,hj,em)}}hU.abi=hj;let hq=[{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"CIF_NFT_ONLY_CONSTANT_OUTFLOW",type:"error"},{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:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{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:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"operator",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"newTokenId",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"owner",type:"address"}],stateMutability:"view",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:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"}];class h${static createInterface(){return new uN.vU(hq)}static connect(eb,em){return new uw.CH(eb,hq,em)}}h$.abi=hq;let hW=[{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"COF_NFT_INVALID_SUPER_TOKEN",type:"error"},{inputs:[],name:"COF_NFT_MINT_TO_AND_FLOW_RECEIVER_SAME",type:"error"},{inputs:[],name:"COF_NFT_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"COF_NFT_ONLY_CONSTANT_INFLOW",type:"error"},{inputs:[],name:"COF_NFT_ONLY_FLOW_AGREEMENTS",type:"error"},{inputs:[],name:"COF_NFT_TOKEN_ALREADY_EXISTS",type:"error"},{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:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{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:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"operator",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onCreate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onDelete",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"owner",type:"address"}],stateMutability:"view",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:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"}];class hZ{static createInterface(){return new uN.vU(hW)}static connect(eb,em){return new uw.CH(eb,hW,em)}}hZ.abi=hW;let hG=[{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{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:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{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:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"operator",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"owner",type:"address"}],stateMutability:"view",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:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"}];class hK{static createInterface(){return new uN.vU(hG)}static connect(eb,em){return new uw.CH(eb,hG,em)}}hK.abi=hG;let hY=[{inputs:[],name:"agreementType",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"time",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"dynamicBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"}];class hX{static createInterface(){return new uN.vU(hY)}static connect(eb,em){return new uw.CH(eb,hY,em)}}hX.abi=hY;let hJ=[{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"cbdata",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"cbdata",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"cbdata",type:"bytes"}],stateMutability:"view",type:"function"}];class hQ{static createInterface(){return new uN.vU(hJ)}static connect(eb,em){return new uw.CH(eb,hJ,em)}}hQ.abi=hJ;let bm=[{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER",type:"error"},{inputs:[],name:"SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED",type:"error"},{inputs:[],name:"SUPER_TOKEN_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_NFT_PROXY_ADDRESS_CHANGED",type:"error"},{inputs:[],name:"SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_NO_UNDERLYING_TOKEN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_ADMIN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_GOV_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_SELF",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAdmin",type:"address"},{indexed:!0,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"AuthorizedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Burned",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],name:"ConstantInflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],name:"ConstantOutflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Minted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"RevokedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Sent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenDowngraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"authorizeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"changeAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultOperators",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"activeAgreements",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAdmin",outputs:[{internalType:"address",name:"admin",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingDecimals",outputs:[{internalType:"uint8",name:"underlyingDecimals",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingToken",outputs:[{internalType:"address",name:"tokenAddr",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"granularity",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"initializeWithAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"tokenHolder",type:"address"}],name:"isOperatorFor",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationApprove",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"operationDecreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationDowngrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"operationIncreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"operationSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationUpgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"revokeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"send",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"toUnderlyingAmount",outputs:[{internalType:"uint256",name:"underlyingAmount",type:"uint256"},{internalType:"uint256",name:"adjustedAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"}],name:"transferAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"upgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"}];class bv{static createInterface(){return new uN.vU(bm)}static connect(eb,em){return new uw.CH(eb,bm,em)}}bv.abi=bm;let bH=[{inputs:[],name:"SUPER_TOKEN_FACTORY_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_NON_UPGRADEABLE_IS_DEPRECATED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_HOST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_UNINITIALIZED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"CustomSuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"SuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"tokenLogic",type:"address"}],name:"SuperTokenLogicCreated",type:"event"},{inputs:[{internalType:"address",name:"_underlyingToken",type:"address"}],name:"computeCanonicalERC20WrapperAddress",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"},{internalType:"bool",name:"isDeployed",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"_underlyingToken",type:"address"}],name:"createCanonicalERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingTokenAddress",type:"address"}],name:"getCanonicalERC20Wrapper",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenLogic",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"customSuperTokenProxy",type:"address"}],name:"initializeCustomSuperToken",outputs:[],stateMutability:"nonpayable",type:"function"}];class bV{static createInterface(){return new uN.vU(bH)}static connect(eb,em){return new uw.CH(eb,bH,em)}}bV.abi=bH;let bM=[{inputs:[{internalType:"uint256",name:"_code",type:"uint256"}],name:"APP_RULE",type:"error"},{inputs:[],name:"HOST_AGREEMENT_ALREADY_REGISTERED",type:"error"},{inputs:[],name:"HOST_AGREEMENT_CALLBACK_IS_NOT_ACTION",type:"error"},{inputs:[],name:"HOST_AGREEMENT_IS_NOT_REGISTERED",type:"error"},{inputs:[],name:"HOST_CALL_AGREEMENT_WITH_CTX_FROM_WRONG_ADDRESS",type:"error"},{inputs:[],name:"HOST_CALL_APP_ACTION_WITH_CTX_FROM_WRONG_ADDRESS",type:"error"},{inputs:[],name:"HOST_CANNOT_DOWNGRADE_TO_NON_UPGRADEABLE",type:"error"},{inputs:[],name:"HOST_INVALID_CONFIG_WORD",type:"error"},{inputs:[],name:"HOST_MAX_256_AGREEMENTS",type:"error"},{inputs:[],name:"HOST_MUST_BE_CONTRACT",type:"error"},{inputs:[],name:"HOST_NEED_MORE_GAS",type:"error"},{inputs:[],name:"HOST_NON_UPGRADEABLE",type:"error"},{inputs:[],name:"HOST_NON_ZERO_LENGTH_PLACEHOLDER_CTX",type:"error"},{inputs:[],name:"HOST_NOT_A_SUPER_APP",type:"error"},{inputs:[],name:"HOST_NO_APP_REGISTRATION_PERMISSION",type:"error"},{inputs:[],name:"HOST_ONLY_GOVERNANCE",type:"error"},{inputs:[],name:"HOST_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"HOST_RECEIVER_IS_NOT_SUPER_APP",type:"error"},{inputs:[],name:"HOST_SENDER_IS_NOT_SUPER_APP",type:"error"},{inputs:[],name:"HOST_SOURCE_APP_NEEDS_HIGHER_APP_LEVEL",type:"error"},{inputs:[],name:"HOST_SUPER_APP_ALREADY_REGISTERED",type:"error"},{inputs:[],name:"HOST_SUPER_APP_IS_JAILED",type:"error"},{inputs:[],name:"HOST_UNKNOWN_BATCH_CALL_OPERATION_TYPE",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"agreementType",type:"bytes32"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"AgreementClassRegistered",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"agreementType",type:"bytes32"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"AgreementClassUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperApp",name:"app",type:"address"}],name:"AppRegistered",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract ISuperfluidGovernance",name:"oldGov",type:"address"},{indexed:!1,internalType:"contract ISuperfluidGovernance",name:"newGov",type:"address"}],name:"GovernanceReplaced",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperApp",name:"app",type:"address"},{indexed:!1,internalType:"uint256",name:"reason",type:"uint256"}],name:"Jail",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract ISuperTokenFactory",name:"newFactory",type:"address"}],name:"SuperTokenFactoryUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"SuperTokenLogicUpdated",type:"event"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"},{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"addToAgreementClassesBitmap",outputs:[{internalType:"uint256",name:"newBitmap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"targetApp",type:"address"}],name:"allowCompositeApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"int256",name:"appCreditUsedDelta",type:"int256"}],name:"appCallbackPop",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"appCreditGranted",type:"uint256"},{internalType:"int256",name:"appCreditUsed",type:"int256"},{internalType:"contract ISuperfluidToken",name:"appCreditToken",type:"address"}],name:"appCallbackPush",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"operationType",type:"uint32"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ISuperfluid.Operation[]",name:"operations",type:"tuple[]"}],name:"batchCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"callAgreement",outputs:[{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAgreementWithContext",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"},{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],name:"callAppAction",outputs:[{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppActionWithContext",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bool",name:"isTermination",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppAfterCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bool",name:"isTermination",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppBeforeCallback",outputs:[{internalType:"bytes",name:"cbdata",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newAdmin",type:"address"}],name:"changeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"int256",name:"appCreditUsedMore",type:"int256"}],name:"ctxUseCredit",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"decodeCtx",outputs:[{components:[{internalType:"uint8",name:"appCallbackLevel",type:"uint8"},{internalType:"uint8",name:"callType",type:"uint8"},{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"address",name:"msgSender",type:"address"},{internalType:"bytes4",name:"agreementSelector",type:"bytes4"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"uint256",name:"appCreditGranted",type:"uint256"},{internalType:"uint256",name:"appCreditWantedDeprecated",type:"uint256"},{internalType:"int256",name:"appCreditUsed",type:"int256"},{internalType:"address",name:"appAddress",type:"address"},{internalType:"contract ISuperfluidToken",name:"appCreditToken",type:"address"}],internalType:"struct ISuperfluid.Context",name:"context",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"operationType",type:"uint32"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ISuperfluid.Operation[]",name:"operations",type:"tuple[]"}],name:"forwardBatchCall",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"getAgreementClass",outputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"getAppCallbackLevel",outputs:[{internalType:"uint8",name:"appCallbackLevel",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"getAppManifest",outputs:[{internalType:"bool",name:"isSuperApp",type:"bool"},{internalType:"bool",name:"isJailed",type:"bool"},{internalType:"uint256",name:"noopMask",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getGovernance",outputs:[{internalType:"contract ISuperfluidGovernance",name:"governance",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getNow",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenFactory",outputs:[{internalType:"contract ISuperTokenFactory",name:"factory",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenFactoryLogic",outputs:[{internalType:"address",name:"logic",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"}],name:"isAgreementClassListed",outputs:[{internalType:"bool",name:"yes",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"isAgreementTypeListed",outputs:[{internalType:"bool",name:"yes",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"isApp",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"isAppJailed",outputs:[{internalType:"bool",name:"isJail",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"contract ISuperApp",name:"targetApp",type:"address"}],name:"isCompositeAppAllowed",outputs:[{internalType:"bool",name:"isAppAllowed",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"isCtxValid",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"reason",type:"uint256"}],name:"jailApp",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"}],name:"mapAgreementClasses",outputs:[{internalType:"contract ISuperAgreement[]",name:"agreementClasses",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClassLogic",type:"address"}],name:"registerAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerAppByFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"configWord",type:"uint256"},{internalType:"string",name:"registrationKey",type:"string"}],name:"registerAppWithKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"},{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"removeFromAgreementClassesBitmap",outputs:[{internalType:"uint256",name:"newBitmap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidGovernance",name:"newGov",type:"address"}],name:"replaceGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClassLogic",type:"address"}],name:"updateAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperTokenFactory",name:"newFactory",type:"address"}],name:"updateSuperTokenFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newLogicOverride",type:"address"}],name:"updateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"}];class bC{static createInterface(){return new uN.vU(bM)}static connect(eb,em){return new uw.CH(eb,bM,em)}}bC.abi=bM;let bk=[{inputs:[],name:"SF_GOV_INVALID_LIQUIDATION_OR_PATRICIAN_PERIOD",type:"error"},{inputs:[],name:"SF_GOV_MUST_BE_CONTRACT",type:"error"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"},{internalType:"address[]",name:"tokenLogics",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"clearConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsAddress",outputs:[{internalType:"address",name:"value",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsUint256",outputs:[{internalType:"uint256",name:"value",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"agreementClass",type:"address"}],name:"registerAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"newGov",type:"address"}],name:"replaceGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"address",name:"value",type:"address"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"uint256",name:"value",type:"uint256"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"hostNewLogic",type:"address"},{internalType:"address[]",name:"agreementClassNewLogics",type:"address[]"},{internalType:"address",name:"superTokenFactoryNewLogic",type:"address"}],name:"updateContracts",outputs:[],stateMutability:"nonpayable",type:"function"}];class bT{static createInterface(){return new uN.vU(bk)}static connect(eb,em){return new uw.CH(eb,bk,em)}}bT.abi=bk;let b_=[{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"activeAgreements",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"}];class bS{static createInterface(){return new uN.vU(b_)}static connect(eb,em){return new uw.CH(eb,b_,em)}}bS.abi=b_;let bE=[{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER",type:"error"},{inputs:[],name:"SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED",type:"error"},{inputs:[],name:"SUPER_TOKEN_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_NFT_PROXY_ADDRESS_CHANGED",type:"error"},{inputs:[],name:"SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_NO_UNDERLYING_TOKEN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_ADMIN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_GOV_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_SELF",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAdmin",type:"address"},{indexed:!0,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"AuthorizedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Burned",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],name:"ConstantInflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],name:"ConstantOutflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Minted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"RevokedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Sent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenDowngraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"authorizeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"changeAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultOperators",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"activeAgreements",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAdmin",outputs:[{internalType:"address",name:"admin",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingDecimals",outputs:[{internalType:"uint8",name:"underlyingDecimals",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingToken",outputs:[{internalType:"address",name:"tokenAddr",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"granularity",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"uint256",name:"initialSupply",type:"uint256"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"initializeWithAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"tokenHolder",type:"address"}],name:"isOperatorFor",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationApprove",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"operationDecreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationDowngrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"operationIncreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"operationSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationUpgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"revokeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"send",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"toUnderlyingAmount",outputs:[{internalType:"uint256",name:"underlyingAmount",type:"uint256"},{internalType:"uint256",name:"adjustedAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"}],name:"transferAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"upgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"}];class bA{static createInterface(){return new uN.vU(bE)}static connect(eb,em){return new uw.CH(eb,bE,em)}}bA.abi=bE;let bN=[{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"uint256",name:"initialSupply",type:"uint256"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"}];class bI{static createInterface(){return new uN.vU(bN)}static connect(eb,em){return new uw.CH(eb,bN,em)}}bI.abi=bN;let bD=[{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER",type:"error"},{inputs:[],name:"SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED",type:"error"},{inputs:[],name:"SUPER_TOKEN_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_NFT_PROXY_ADDRESS_CHANGED",type:"error"},{inputs:[],name:"SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_NO_UNDERLYING_TOKEN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_ADMIN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_GOV_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_SELF",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAdmin",type:"address"},{indexed:!0,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"AuthorizedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Burned",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],name:"ConstantInflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],name:"ConstantOutflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Minted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"RevokedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Sent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenDowngraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"authorizeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"changeAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultOperators",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"wad",type:"uint256"}],name:"downgradeToETH",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"activeAgreements",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAdmin",outputs:[{internalType:"address",name:"admin",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingDecimals",outputs:[{internalType:"uint8",name:"underlyingDecimals",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingToken",outputs:[{internalType:"address",name:"tokenAddr",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"granularity",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"initializeWithAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"tokenHolder",type:"address"}],name:"isOperatorFor",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationApprove",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"operationDecreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationDowngrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"operationIncreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"operationSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationUpgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"revokeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"send",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"toUnderlyingAmount",outputs:[{internalType:"uint256",name:"underlyingAmount",type:"uint256"},{internalType:"uint256",name:"adjustedAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"}],name:"transferAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"upgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"upgradeByETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"}],name:"upgradeByETHTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"}];class bP{static createInterface(){return new uN.vU(bD)}static connect(eb,em){return new uw.CH(eb,bD,em)}}bP.abi=bD;let bO=[{inputs:[{internalType:"uint256",name:"wad",type:"uint256"}],name:"downgradeToETH",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"upgradeByETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"}],name:"upgradeByETHTo",outputs:[],stateMutability:"payable",type:"function"}];class bR{static createInterface(){return new uN.vU(bO)}static connect(eb,em){return new uw.CH(eb,bO,em)}}bR.abi=bO;let bB=[{inputs:[],name:"required",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"destination",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"submitTransaction",outputs:[{internalType:"uint256",name:"transactionId",type:"uint256"}],stateMutability:"nonpayable",type:"function"}];class bF{static createInterface(){return new uN.vU(bB)}static connect(eb,em){return new uw.CH(eb,bB,em)}}bF.abi=bB;let bj=[{inputs:[{internalType:"address",name:"forwarder",type:"address"}],name:"isTrustedForwarder",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"versionRecipient",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}];class bU{static createInterface(){return new uN.vU(bj)}static connect(eb,em){return new uw.CH(eb,bj,em)}}bU.abi=bj;let bq=[{anonymous:!1,inputs:[{indexed:!0,internalType:"string",name:"name",type:"string"},{indexed:!1,internalType:"address",name:"target",type:"address"}],name:"Set",type:"event"},{inputs:[{internalType:"string",name:"name",type:"string"}],name:"get",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"address",name:"target",type:"address"}],name:"set",outputs:[],stateMutability:"nonpayable",type:"function"}];class b${static createInterface(){return new uN.vU(bq)}static connect(eb,em){return new uw.CH(eb,bq,em)}}b$.abi=bq;let bW=[{inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint8",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"}],name:"getTransactionHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"nonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}];class bZ{static createInterface(){return new uN.vU(bW)}static connect(eb,em){return new uw.CH(eb,bW,em)}}bZ.abi=bW;let bG=[{inputs:[{internalType:"address",name:"forwarder",type:"address"}],name:"isTrustedForwarder",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"versionRecipient",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}];class bK{static createInterface(){return new uN.vU(bG)}static connect(eb,em){return new uw.CH(eb,bG,em)}}bK.abi=bG;let bY=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"}],bX="0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d4f035db208db60e270656614cb3fb29ef439bcb20f1d90af31ee90f27ac847364736f6c63430008130033",bJ=eb=>eb.length>1;class bQ extends uw.lV{constructor(...eb){bJ(eb)?super(...eb):super(bY,bX,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(bY)}static connect(eb,em){return new uw.CH(eb,bY,em)}}bQ.bytecode=bX,bQ.abi=bY;let mb=[{inputs:[],name:"OUT_OF_GAS",type:"error"}],my="0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220784510cd69808ad2c4a5bcb1683a3accafb6358d6eec93735914640b5ca5986264736f6c63430008130033",mv=eb=>eb.length>1;class mz extends uw.lV{constructor(...eb){mv(eb)?super(...eb):super(mb,my,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(mb)}static connect(eb,em){return new uw.CH(eb,mb,em)}}mz.bytecode=my,mz.abi=mb;let mH=[{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"ISuperfluidToken"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"bitmapStateSlotId",type:"uint256"},{internalType:"uint256",name:"dataStateSlotIDStart",type:"uint256"}],name:"listData",outputs:[{internalType:"uint32[]",name:"slotIds",type:"uint32[]"},{internalType:"bytes32[]",name:"dataList",type:"bytes32[]"}],stateMutability:"view",type:"function"}],mV="0x610a9a61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806306967a8c14610050578063a32470101461007a578063a9472bf8146100af575b600080fd5b61006361005e3660046106ff565b6100d1565b604051610071929190610745565b60405180910390f35b81801561008657600080fd5b5061009a6100953660046107c6565b6102f7565b60405163ffffffff9091168152602001610071565b8180156100bb57600080fd5b506100cf6100ca366004610817565b610577565b005b6060806000866001600160a01b0316634b61cc3330888860016040518563ffffffff1660e01b81526004016101099493929190610873565b600060405180830381865afa158015610126573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261014e91908101906108b2565b60008151811061016057610160610970565b60209081029190910101516040805161010080825261202082019092529192508160200160208202803683375050604080516101008082526120208201909252929550905060208201612000803683370190505091506000805b61010063ffffffff821610156102e557600163ffffffff821684901c16156102d557808583815181106101ef576101ef610970565b602002602001019063ffffffff16908163ffffffff1681525050886001600160a01b0316634b61cc33308a8463ffffffff168a61022c919061099c565b60016040518563ffffffff1660e01b815260040161024d9493929190610873565b600060405180830381865afa15801561026a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261029291908101906108b2565b6000815181106102a4576102a4610970565b60200260200101518483815181106102be576102be610970565b60209081029190910101526102d2826109b5565b91505b6102de816109ce565b90506101ba565b50808452808352505094509492505050565b600080866001600160a01b0316634b61cc3330888860016040518563ffffffff1660e01b815260040161032d9493929190610873565b600060405180830381865afa15801561034a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261037291908101906108b2565b60008151811061038457610384610970565b602002602001015160001c9050600091505b61010063ffffffff83161015610512578163ffffffff1681901c600116600003610502576040805160018082528183019092526000916020808301908036833701905050905083816000815181106103f0576103f0610970565b60209081029190910101526001600160a01b03881663090c415e8861041b63ffffffff87168961099c565b846040518463ffffffff1660e01b815260040161043a939291906109f1565b600060405180830381600087803b15801561045457600080fd5b505af1158015610468573d6000803e3d6000fd5b505050508263ffffffff166001901b821760001b8160008151811061048f5761048f610970565b602090810291909101015260405163048620af60e11b81526001600160a01b0389169063090c415e906104ca908a908a9086906004016109f1565b600060405180830381600087803b1580156104e457600080fd5b505af11580156104f8573d6000803e3d6000fd5b5050505050610512565b61050b826109ce565b9150610396565b61010063ffffffff83161061056d5760405162461bcd60e51b815260206004820152601760248201527f536c6f744269746d6170206f7574206f6620626f756e64000000000000000000604482015260640160405180910390fd5b5095945050505050565b604051634b61cc3360e01b81526000906001600160a01b03861690634b61cc33906105ad90309088908890600190600401610873565b600060405180830381865afa1580156105ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105f291908101906108b2565b60008151811061060457610604610970565b6020908102919091018101516040805160018082528183019092529193506000928281019080368337019050509050600163ffffffff84161b821660000361064e5761064e610a4e565b8263ffffffff166001901b19821660001b8160008151811061067257610672610970565b602090810291909101015260405163048620af60e11b81526001600160a01b0387169063090c415e906106ad908890889086906004016109f1565b600060405180830381600087803b1580156106c757600080fd5b505af11580156106db573d6000803e3d6000fd5b50505050505050505050565b6001600160a01b03811681146106fc57600080fd5b50565b6000806000806080858703121561071557600080fd5b8435610720816106e7565b93506020850135610730816106e7565b93969395505050506040820135916060013590565b604080825283519082018190526000906020906060840190828701845b8281101561078457815163ffffffff1684529284019290840190600101610762565b5050508381038285015284518082528583019183019060005b818110156107b95783518352928401929184019160010161079d565b5090979650505050505050565b600080600080600060a086880312156107de57600080fd5b85356107e9816106e7565b945060208601356107f9816106e7565b94979496505050506040830135926060810135926080909101359150565b6000806000806080858703121561082d57600080fd5b8435610838816106e7565b93506020850135610848816106e7565b925060408501359150606085013563ffffffff8116811461086857600080fd5b939692955090935050565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156108c557600080fd5b825167ffffffffffffffff808211156108dd57600080fd5b818501915085601f8301126108f157600080fd5b8151818111156109035761090361089c565b8060051b604051601f19603f830116810181811085821117156109285761092861089c565b60405291825284820192508381018501918883111561094657600080fd5b938501935b828510156109645784518452938501939285019261094b565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156109af576109af610986565b92915050565b6000600182016109c7576109c7610986565b5060010190565b600063ffffffff8083168181036109e7576109e7610986565b6001019392505050565b6001600160a01b038416815260208082018490526060604083018190528351908301819052600091848101916080850190845b81811015610a4057845183529383019391830191600101610a24565b509098975050505050505050565b634e487b7160e01b600052600160045260246000fdfea2646970667358221220e94bb5722ca3f4906fadd61dcef10df3de6c3aac175a5f8bf2f3a4d0478c2ce864736f6c63430008130033",mw=eb=>eb.length>1;class mM extends uw.lV{constructor(...eb){mw(eb)?super(...eb):super(mH,mV,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(mH)}static connect(eb,em){return new uw.CH(eb,mH,em)}}mM.bytecode=mV,mM.abi=mH;let mC=[{inputs:[{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"},{internalType:"contract ISuperfluid",name:"superfluid",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"}],mx="0x608060405234801561001057600080fd5b50604051610c08380380610c0883398101604081905261002f91610117565b6001600160a01b03821661004557610045610151565b6001600160a01b03811661005b5761005b610151565b600080546001600160a01b038085166001600160a01b03199283161790925560018054928416929091168217905560405163bd1c448b60e01b8152643700000001919063bd1c448b906100c590849060040190815260406020820181905260009082015260600190565b600060405180830381600087803b1580156100df57600080fd5b505af11580156100f3573d6000803e3d6000fd5b50505050505050610167565b6001600160a01b038116811461011457600080fd5b50565b6000806040838503121561012a57600080fd5b8251610135816100ff565b6020840151909250610146816100ff565b809150509250929050565b634e487b7160e01b600052600160045260246000fd5b610a92806101766000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063230dbd291461006757806330d9c9151461009057806353c11f99146100a35780635f9e7d77146100b6578063884d1f40146100c9578063d86ed3e5146100dc575b600080fd5b61007a610075366004610564565b6100ef565b604051610087919061067f565b60405180910390f35b61007a61009e366004610699565b61030a565b61007a6100b1366004610564565b610372565b61007a6100c4366004610699565b6103d7565b61007a6100d7366004610699565b61043e565b61007a6100ea366004610564565b6104a1565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250600154604051631fb6491d60e11b815295965090946001600160a01b039091169350633f6c923a925061015d915087908790600401610738565b600060405180830381865afa15801561017a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101a29190810190610868565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316634329d29360008054906101000a90046001600160a01b031660008054906101000a90046001600160a01b03166001600160a01b031663b4b333c68f866060015130600067ffffffffffffffff81111561021f5761021f610767565b6040519080825280601f01601f191660200182016040528015610249576020820181803683370190505b5060405160240161025d949392919061096f565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526102b39392509087602482016109a3565b6000604051808303816000875af11580156102d2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102fa91908101906109f8565b509b9a5050505050505050505050565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b60648201526060906084015b60405180910390fd5b60405162461bcd60e51b815260206004820152603160248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201527019595b595b9d0815195c9b5a5b985d1959607a1b6064820152606090608401610369565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b6064820152606090608401610369565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b6064820152606090608401610369565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d0810dc99585d195960921b6064820152606090608401610369565b6001600160a01b038116811461051857600080fd5b50565b60008083601f84011261052d57600080fd5b50813567ffffffffffffffff81111561054557600080fd5b60208301915083602082850101111561055d57600080fd5b9250929050565b600080600080600080600080600060c08a8c03121561058257600080fd5b893561058d81610503565b985060208a013561059d81610503565b975060408a0135965060608a013567ffffffffffffffff808211156105c157600080fd5b6105cd8d838e0161051b565b909850965060808c01359150808211156105e657600080fd5b6105f28d838e0161051b565b909650945060a08c013591508082111561060b57600080fd5b506106188c828d0161051b565b915080935050809150509295985092959850929598565b60005b8381101561064a578181015183820152602001610632565b50506000910152565b6000815180845261066b81602086016020860161062f565b601f01601f19169290920160200192915050565b6020815260006106926020830184610653565b9392505050565b600080600080600080600060a0888a0312156106b457600080fd5b87356106bf81610503565b965060208801356106cf81610503565b955060408801359450606088013567ffffffffffffffff808211156106f357600080fd5b6106ff8b838c0161051b565b909650945060808a013591508082111561071857600080fd5b506107258a828b0161051b565b989b979a50959850939692959293505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff811182821017156107a1576107a1610767565b60405290565b805160ff811681146107b857600080fd5b919050565b80516107b881610503565b80516001600160e01b0319811681146107b857600080fd5b600082601f8301126107f157600080fd5b815167ffffffffffffffff8082111561080c5761080c610767565b604051601f8301601f19908116603f0116810190828211818310171561083457610834610767565b8160405283815286602085880101111561084d57600080fd5b61085e84602083016020890161062f565b9695505050505050565b60006020828403121561087a57600080fd5b815167ffffffffffffffff8082111561089257600080fd5b9083019061016082860312156108a757600080fd5b6108af61077d565b6108b8836107a7565b81526108c6602084016107a7565b6020820152604083015160408201526108e1606084016107bd565b60608201526108f2608084016107c8565b608082015260a08301518281111561090957600080fd5b610915878286016107e0565b60a08301525060c083015160c082015260e083015160e082015261010091508183015182820152610120915061094c8284016107bd565b8282015261014091506109608284016107bd565b91810191909152949350505050565b6001600160a01b03858116825284811660208301528316604082015260806060820181905260009061085e90830184610653565b6001600160a01b03851681526080602082018190526000906109c790830186610653565b82810360408401526109d98186610653565b905082810360608401526109ed8185610653565b979650505050505050565b60008060408385031215610a0b57600080fd5b825167ffffffffffffffff80821115610a2357600080fd5b610a2f868387016107e0565b93506020850151915080821115610a4557600080fd5b50610a52858286016107e0565b915050925092905056fea26469706673582212204255f6592dd36e8091cc53af0d49c884161b0dc330dfa1cfb7a90658aefc09dc64736f6c63430008130033",mk=eb=>eb.length>1;class mT extends uw.lV{constructor(...eb){mk(eb)?super(...eb):super(mC,mx,eb[0])}deploy(eb,em,eH){return super.deploy(eb,em,eH||{})}getDeployTransaction(eb,em,eH){return super.getDeployTransaction(eb,em,eH||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(mC)}static connect(eb,em){return new uw.CH(eb,mC,em)}}mT.bytecode=mx,mT.abi=mC;let m_=[{inputs:[{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"},{internalType:"contract ISuperfluid",name:"superfluid",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"}],mS="0x608060405234801561001057600080fd5b50604051610c6e380380610c6e83398101604081905261002f91610117565b6001600160a01b03821661004557610045610151565b6001600160a01b03811661005b5761005b610151565b600080546001600160a01b038085166001600160a01b03199283161790925560018054928416929091168217905560405163bd1c448b60e01b8152641d00000001919063bd1c448b906100c590849060040190815260406020820181905260009082015260600190565b600060405180830381600087803b1580156100df57600080fd5b505af11580156100f3573d6000803e3d6000fd5b50505050505050610167565b6001600160a01b038116811461011457600080fd5b50565b6000806040838503121561012a57600080fd5b8251610135816100ff565b6020840151909250610146816100ff565b809150509250929050565b634e487b7160e01b600052600160045260246000fd5b610af8806101766000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063230dbd291461006757806330d9c9151461009057806353c11f99146100a35780635f9e7d77146100b6578063884d1f40146100c9578063d86ed3e5146100dc575b600080fd5b61007a61007536600461057b565b6100ef565b6040516100879190610696565b60405180910390f35b61007a61009e3660046106b0565b610156565b61007a6100b136600461057b565b6101b9565b61007a6100c43660046106b0565b61023e565b61007a6100d73660046106b0565b6102a5565b61007a6100ea36600461057b565b610308565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d08155c19185d195960921b60648201526060906084015b60405180910390fd5b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b606482015260609060840161014d565b606060006101c98789018961074f565b506002549091506001600160a01b038083169116146101ea576101ea610788565b600280546001600160a01b0319169055604080516020601f8601819004810282018101909252848152908590859081908401838280828437600092019190915250929e9d5050505050505050505050505050565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b606482015260609060840161014d565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b606482015260609060840161014d565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250600154604051631fb6491d60e11b815295965090946001600160a01b039091169350633f6c923a925061037691508790879060040161079e565b600060405180830381865afa158015610393573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103bb91908101906108ce565b6002549091506001600160a01b0316156104ea57600080546002546001600160a01b039182169163b4b333c6918f911630856040519080825280601f01601f191660200182016040528015610417576020820181803683370190505b5060405160240161042b94939291906109d5565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b9490941790935260015460008054835191825294810192839052634329d29360e01b9092529194506001600160a01b039182169350634329d2939261049e92169085908860248201610a09565b6000604051808303816000875af11580156104bd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104e59190810190610a5e565b509250505b60600151600280546001600160a01b0319166001600160a01b039092169190911790559998505050505050505050565b6001600160a01b038116811461052f57600080fd5b50565b60008083601f84011261054457600080fd5b50813567ffffffffffffffff81111561055c57600080fd5b60208301915083602082850101111561057457600080fd5b9250929050565b600080600080600080600080600060c08a8c03121561059957600080fd5b89356105a48161051a565b985060208a01356105b48161051a565b975060408a0135965060608a013567ffffffffffffffff808211156105d857600080fd5b6105e48d838e01610532565b909850965060808c01359150808211156105fd57600080fd5b6106098d838e01610532565b909650945060a08c013591508082111561062257600080fd5b5061062f8c828d01610532565b915080935050809150509295985092959850929598565b60005b83811015610661578181015183820152602001610649565b50506000910152565b60008151808452610682816020860160208601610646565b601f01601f19169290920160200192915050565b6020815260006106a9602083018461066a565b9392505050565b600080600080600080600060a0888a0312156106cb57600080fd5b87356106d68161051a565b965060208801356106e68161051a565b955060408801359450606088013567ffffffffffffffff8082111561070a57600080fd5b6107168b838c01610532565b909650945060808a013591508082111561072f57600080fd5b5061073c8a828b01610532565b989b979a50959850939692959293505050565b6000806040838503121561076257600080fd5b823561076d8161051a565b9150602083013561077d8161051a565b809150509250929050565b634e487b7160e01b600052600160045260246000fd5b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff81118282101715610807576108076107cd565b60405290565b805160ff8116811461081e57600080fd5b919050565b805161081e8161051a565b80516001600160e01b03198116811461081e57600080fd5b600082601f83011261085757600080fd5b815167ffffffffffffffff80821115610872576108726107cd565b604051601f8301601f19908116603f0116810190828211818310171561089a5761089a6107cd565b816040528381528660208588010111156108b357600080fd5b6108c4846020830160208901610646565b9695505050505050565b6000602082840312156108e057600080fd5b815167ffffffffffffffff808211156108f857600080fd5b90830190610160828603121561090d57600080fd5b6109156107e3565b61091e8361080d565b815261092c6020840161080d565b60208201526040830151604082015261094760608401610823565b60608201526109586080840161082e565b608082015260a08301518281111561096f57600080fd5b61097b87828601610846565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506109b2828401610823565b8282015261014091506109c6828401610823565b91810191909152949350505050565b6001600160a01b0385811682528481166020830152831660408201526080606082018190526000906108c49083018461066a565b6001600160a01b0385168152608060208201819052600090610a2d9083018661066a565b8281036040840152610a3f818661066a565b90508281036060840152610a53818561066a565b979650505050505050565b60008060408385031215610a7157600080fd5b825167ffffffffffffffff80821115610a8957600080fd5b610a9586838701610846565b93506020850151915080821115610aab57600080fd5b50610ab885828601610846565b915050925092905056fea2646970667358221220a30050f8a5faf9d990bb6aaf58a6c68601754762ef1e338c01f106c9d3ad864864736f6c63430008130033",mE=eb=>eb.length>1;class mN extends uw.lV{constructor(...eb){mE(eb)?super(...eb):super(m_,mS,eb[0])}deploy(eb,em,eH){return super.deploy(eb,em,eH||{})}getDeployTransaction(eb,em,eH){return super.getDeployTransaction(eb,em,eH||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(m_)}static connect(eb,em){return new uw.CH(eb,m_,em)}}mN.bytecode=mS,mN.abi=m_;let mI=[{inputs:[{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"},{internalType:"contract ISuperfluid",name:"superfluid",type:"address"},{internalType:"contract ISuperToken",name:"targetToken",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"}],mD="0x608060405234801561001057600080fd5b50604051610cb9380380610cb983398101604081905261002f91610129565b6001600160a01b03831661004557610045610176565b6001600160a01b03821661005b5761005b610176565b600080546001600160a01b038086166001600160a01b031992831617909255600180548584169083168117909155600280549385169390921692909217905560405163bd1c448b60e01b8152643d00000001919063bd1c448b906100d690849060040190815260406020820181905260009082015260600190565b600060405180830381600087803b1580156100f057600080fd5b505af1158015610104573d6000803e3d6000fd5b505050505050505061018c565b6001600160a01b038116811461012657600080fd5b50565b60008060006060848603121561013e57600080fd5b835161014981610111565b602085015190935061015a81610111565b604085015190925061016b81610111565b809150509250925092565b634e487b7160e01b600052600160045260246000fd5b610b1e8061019b6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063230dbd291461006757806330d9c9151461009057806353c11f99146100a35780635f9e7d77146100b6578063884d1f40146100c9578063d86ed3e5146100dc575b600080fd5b61007a6100753660046105aa565b6100ef565b60405161008791906106c5565b60405180910390f35b61007a61009e3660046106df565b610156565b61007a6100b13660046105aa565b6101b9565b61007a6100c43660046106df565b61021e565b61007a6100d73660046106df565b610285565b61007a6100ea3660046105aa565b6102e8565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d08155c19185d195960921b60648201526060906084015b60405180910390fd5b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b606482015260609060840161014d565b60405162461bcd60e51b815260206004820152603160248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201527019595b595b9d0815195c9b5a5b985d1959607a1b606482015260609060840161014d565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b606482015260609060840161014d565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b606482015260609060840161014d565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250600154604051631fb6491d60e11b815295965090946001600160a01b039091169350633f6c923a925061035691508790879060040161077e565b600060405180830381865afa158015610373573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261039b91908101906108ae565b905060008060009054906101000a90046001600160a01b03166001600160a01b031663e6a1e8888d8460600151306040518463ffffffff1660e01b8152600401610405939291906001600160a01b0393841681529183166020830152909116604082015260600190565b608060405180830381865afa158015610422573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044691906109b5565b5050600154600080546002546060880151604080519485526020850190529496506001600160a01b039384169550634329d293949184169384936362fc305e9361049b939290921691908990604481016109f9565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526104f1939250908860248201610a2f565b6000604051808303816000875af1158015610510573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105389190810190610a84565b509c9b505050505050505050505050565b6001600160a01b038116811461055e57600080fd5b50565b60008083601f84011261057357600080fd5b50813567ffffffffffffffff81111561058b57600080fd5b6020830191508360208285010111156105a357600080fd5b9250929050565b600080600080600080600080600060c08a8c0312156105c857600080fd5b89356105d381610549565b985060208a01356105e381610549565b975060408a0135965060608a013567ffffffffffffffff8082111561060757600080fd5b6106138d838e01610561565b909850965060808c013591508082111561062c57600080fd5b6106388d838e01610561565b909650945060a08c013591508082111561065157600080fd5b5061065e8c828d01610561565b915080935050809150509295985092959850929598565b60005b83811015610690578181015183820152602001610678565b50506000910152565b600081518084526106b1816020860160208601610675565b601f01601f19169290920160200192915050565b6020815260006106d86020830184610699565b9392505050565b600080600080600080600060a0888a0312156106fa57600080fd5b873561070581610549565b9650602088013561071581610549565b955060408801359450606088013567ffffffffffffffff8082111561073957600080fd5b6107458b838c01610561565b909650945060808a013591508082111561075e57600080fd5b5061076b8a828b01610561565b989b979a50959850939692959293505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff811182821017156107e7576107e76107ad565b60405290565b805160ff811681146107fe57600080fd5b919050565b80516107fe81610549565b80516001600160e01b0319811681146107fe57600080fd5b600082601f83011261083757600080fd5b815167ffffffffffffffff80821115610852576108526107ad565b604051601f8301601f19908116603f0116810190828211818310171561087a5761087a6107ad565b8160405283815286602085880101111561089357600080fd5b6108a4846020830160208901610675565b9695505050505050565b6000602082840312156108c057600080fd5b815167ffffffffffffffff808211156108d857600080fd5b9083019061016082860312156108ed57600080fd5b6108f56107c3565b6108fe836107ed565b815261090c602084016107ed565b60208201526040830151604082015261092760608401610803565b60608201526109386080840161080e565b608082015260a08301518281111561094f57600080fd5b61095b87828601610826565b60a08301525060c083015160c082015260e083015160e0820152610100915081830151828201526101209150610992828401610803565b8282015261014091506109a6828401610803565b91810191909152949350505050565b600080600080608085870312156109cb57600080fd5b84519350602085015180600b0b81146109e357600080fd5b6040860151606090960151949790965092505050565b6001600160a01b03858116825284166020820152600b83900b60408201526080606082018190526000906108a490830184610699565b6001600160a01b0385168152608060208201819052600090610a5390830186610699565b8281036040840152610a658186610699565b90508281036060840152610a798185610699565b979650505050505050565b60008060408385031215610a9757600080fd5b825167ffffffffffffffff80821115610aaf57600080fd5b610abb86838701610826565b93506020850151915080821115610ad157600080fd5b50610ade85828601610826565b915050925092905056fea2646970667358221220220b36d8e04f4e93db549ade2fd203964d5f9ea61b734b9e53a249c20a599f3864736f6c63430008130033",mP=eb=>eb.length>1;class mO extends uw.lV{constructor(...eb){mP(eb)?super(...eb):super(mI,mD,eb[0])}deploy(eb,em,eH,eV){return super.deploy(eb,em,eH,eV||{})}getDeployTransaction(eb,em,eH,eV){return super.getDeployTransaction(eb,em,eH,eV||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(mI)}static connect(eb,em){return new uw.CH(eb,mI,em)}}mO.bytecode=mD,mO.abi=mI;let mR=[{inputs:[{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"},{internalType:"contract ISuperfluid",name:"superfluid",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"setupOutflow",outputs:[],stateMutability:"nonpayable",type:"function"}],mB="0x608060405234801561001057600080fd5b50604051610c2b380380610c2b83398101604081905261002f91610117565b6001600160a01b03821661004557610045610151565b6001600160a01b03811661005b5761005b610151565b600080546001600160a01b038085166001600160a01b03199283161790925560018054928416929091168217905560405163bd1c448b60e01b8152641f00000001919063bd1c448b906100c590849060040190815260406020820181905260009082015260600190565b600060405180830381600087803b1580156100df57600080fd5b505af11580156100f3573d6000803e3d6000fd5b50505050505050610167565b6001600160a01b038116811461011457600080fd5b50565b6000806040838503121561012a57600080fd5b8251610135816100ff565b6020840151909250610146816100ff565b809150509250929050565b634e487b7160e01b600052600160045260246000fd5b610ab5806101766000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80635f9e7d771161005b5780635f9e7d77146100d1578063884d1f40146100e4578063b9e1323d146100f7578063d86ed3e51461010c57600080fd5b8063230dbd291461008257806330d9c915146100ab57806353c11f99146100be575b600080fd5b6100956100903660046105ea565b61011f565b6040516100a29190610705565b60405180910390f35b6100956100b936600461071f565b610186565b6100956100cc3660046105ea565b6101e9565b6100956100df36600461071f565b61035c565b6100956100f236600461071f565b6103c3565b61010a6101053660046107be565b610426565b005b61009561011a3660046105ea565b610527565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d08155c19185d195960921b60648201526060906084015b60405180910390fd5b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b606482015260609060840161017d565b60606000806101fa888a018a610810565b90925090506001600160a01b038216301461021757610217610849565b6002546001600160a01b0382811691161461023457610234610849565b600080546002546001600160a01b03909116906362fc305e908f908590600160a01b9004600b0b856040519080825280601f01601f191660200182016040528015610286576020820181803683370190505b5060405160240161029a9493929190610875565b60408051601f198184030181529181526020820180516001600160e01b031660e09490941b939093179092526001546000549251634329d29360e01b81529194506001600160a01b039081169350634329d293926103039291169085908b908b906004016108b5565b6000604051808303816000875af1158015610322573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261034a91908101906109a8565b509d9c50505050505050505050505050565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b606482015260609060840161017d565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b606482015260609060840161017d565b6001600160a01b03828116600160a01b6bffffffffffffffffffffffff841602176002556001546000805460408051928352602083019052918316926339255d5b92169081906362fc305e906104859089908990899060448101610875565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526104da9392509060248101610a0c565b6000604051808303816000875af11580156104f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105219190810190610a42565b50505050565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d0810dc99585d195960921b606482015260609060840161017d565b6001600160a01b038116811461059e57600080fd5b50565b60008083601f8401126105b357600080fd5b50813567ffffffffffffffff8111156105cb57600080fd5b6020830191508360208285010111156105e357600080fd5b9250929050565b600080600080600080600080600060c08a8c03121561060857600080fd5b893561061381610589565b985060208a013561062381610589565b975060408a0135965060608a013567ffffffffffffffff8082111561064757600080fd5b6106538d838e016105a1565b909850965060808c013591508082111561066c57600080fd5b6106788d838e016105a1565b909650945060a08c013591508082111561069157600080fd5b5061069e8c828d016105a1565b915080935050809150509295985092959850929598565b60005b838110156106d05781810151838201526020016106b8565b50506000910152565b600081518084526106f18160208601602086016106b5565b601f01601f19169290920160200192915050565b60208152600061071860208301846106d9565b9392505050565b600080600080600080600060a0888a03121561073a57600080fd5b873561074581610589565b9650602088013561075581610589565b955060408801359450606088013567ffffffffffffffff8082111561077957600080fd5b6107858b838c016105a1565b909650945060808a013591508082111561079e57600080fd5b506107ab8a828b016105a1565b989b979a50959850939692959293505050565b6000806000606084860312156107d357600080fd5b83356107de81610589565b925060208401356107ee81610589565b91506040840135600b81900b811461080557600080fd5b809150509250925092565b6000806040838503121561082357600080fd5b823561082e81610589565b9150602083013561083e81610589565b809150509250929050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03858116825284166020820152600b83900b60408201526080606082018190526000906108ab908301846106d9565b9695505050505050565b6001600160a01b03851681526080602082018190526000906108d9908301866106d9565b8281038060408501526002825261060f60f31b602083015260408101606085015250836040820152838560608301376000606085830101526060601f19601f86011682010191505095945050505050565b600082601f83011261093b57600080fd5b815167ffffffffffffffff808211156109565761095661085f565b604051601f8301601f19908116603f0116810190828211818310171561097e5761097e61085f565b8160405283815286602085880101111561099757600080fd5b6108ab8460208301602089016106b5565b600080604083850312156109bb57600080fd5b825167ffffffffffffffff808211156109d357600080fd5b6109df8683870161092a565b935060208501519150808211156109f557600080fd5b50610a028582860161092a565b9150509250929050565b6001600160a01b0384168152606060208201819052600090610a30908301856106d9565b82810360408401526108ab81856106d9565b600060208284031215610a5457600080fd5b815167ffffffffffffffff811115610a6b57600080fd5b610a778482850161092a565b94935050505056fea26469706673582212203c4d7103fda4d84b381050006bc4b88d658408024343753525850ce5d85e00f964736f6c63430008130033",mF=eb=>eb.length>1;class mj extends uw.lV{constructor(...eb){mF(eb)?super(...eb):super(mR,mB,eb[0])}deploy(eb,em,eH){return super.deploy(eb,em,eH||{})}getDeployTransaction(eb,em,eH){return super.getDeployTransaction(eb,em,eH||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(mR)}static connect(eb,em){return new uw.CH(eb,mR,em)}}mj.bytecode=mB,mj.abi=mR;let mU=[{inputs:[{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"},{internalType:"contract ISuperfluid",name:"superfluid",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"}],mq="0x608060405234801561001057600080fd5b50604051610c08380380610c0883398101604081905261002f91610117565b6001600160a01b03821661004557610045610151565b6001600160a01b03811661005b5761005b610151565b600080546001600160a01b038085166001600160a01b03199283161790925560018054928416929091168217905560405163bd1c448b60e01b8152643d00000001919063bd1c448b906100c590849060040190815260406020820181905260009082015260600190565b600060405180830381600087803b1580156100df57600080fd5b505af11580156100f3573d6000803e3d6000fd5b50505050505050610167565b6001600160a01b038116811461011457600080fd5b50565b6000806040838503121561012a57600080fd5b8251610135816100ff565b6020840151909250610146816100ff565b809150509250929050565b634e487b7160e01b600052600160045260246000fd5b610a92806101766000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063230dbd291461006757806330d9c9151461009057806353c11f99146100a35780635f9e7d77146100b6578063884d1f40146100c9578063d86ed3e5146100dc575b600080fd5b61007a610075366004610564565b6100ef565b604051610087919061067f565b60405180910390f35b61007a61009e366004610699565b610156565b61007a6100b1366004610564565b6101b9565b61007a6100c4366004610699565b61021e565b61007a6100d7366004610699565b610285565b61007a6100ea366004610564565b6102e8565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d08155c19185d195960921b60648201526060906084015b60405180910390fd5b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b606482015260609060840161014d565b60405162461bcd60e51b815260206004820152603160248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201527019595b595b9d0815195c9b5a5b985d1959607a1b606482015260609060840161014d565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b606482015260609060840161014d565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b606482015260609060840161014d565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250600154604051631fb6491d60e11b815295965090946001600160a01b039091169350633f6c923a9250610356915087908790600401610738565b600060405180830381865afa158015610373573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261039b9190810190610868565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316634329d29360008054906101000a90046001600160a01b031660008054906101000a90046001600160a01b03166001600160a01b031663b4b333c68f866060015130600067ffffffffffffffff81111561041857610418610767565b6040519080825280601f01601f191660200182016040528015610442576020820181803683370190505b50604051602401610456949392919061096f565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526104ac9392509087602482016109a3565b6000604051808303816000875af11580156104cb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104f391908101906109f8565b509b9a5050505050505050505050565b6001600160a01b038116811461051857600080fd5b50565b60008083601f84011261052d57600080fd5b50813567ffffffffffffffff81111561054557600080fd5b60208301915083602082850101111561055d57600080fd5b9250929050565b600080600080600080600080600060c08a8c03121561058257600080fd5b893561058d81610503565b985060208a013561059d81610503565b975060408a0135965060608a013567ffffffffffffffff808211156105c157600080fd5b6105cd8d838e0161051b565b909850965060808c01359150808211156105e657600080fd5b6105f28d838e0161051b565b909650945060a08c013591508082111561060b57600080fd5b506106188c828d0161051b565b915080935050809150509295985092959850929598565b60005b8381101561064a578181015183820152602001610632565b50506000910152565b6000815180845261066b81602086016020860161062f565b601f01601f19169290920160200192915050565b6020815260006106926020830184610653565b9392505050565b600080600080600080600060a0888a0312156106b457600080fd5b87356106bf81610503565b965060208801356106cf81610503565b955060408801359450606088013567ffffffffffffffff808211156106f357600080fd5b6106ff8b838c0161051b565b909650945060808a013591508082111561071857600080fd5b506107258a828b0161051b565b989b979a50959850939692959293505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff811182821017156107a1576107a1610767565b60405290565b805160ff811681146107b857600080fd5b919050565b80516107b881610503565b80516001600160e01b0319811681146107b857600080fd5b600082601f8301126107f157600080fd5b815167ffffffffffffffff8082111561080c5761080c610767565b604051601f8301601f19908116603f0116810190828211818310171561083457610834610767565b8160405283815286602085880101111561084d57600080fd5b61085e84602083016020890161062f565b9695505050505050565b60006020828403121561087a57600080fd5b815167ffffffffffffffff8082111561089257600080fd5b9083019061016082860312156108a757600080fd5b6108af61077d565b6108b8836107a7565b81526108c6602084016107a7565b6020820152604083015160408201526108e1606084016107bd565b60608201526108f2608084016107c8565b608082015260a08301518281111561090957600080fd5b610915878286016107e0565b60a08301525060c083015160c082015260e083015160e082015261010091508183015182820152610120915061094c8284016107bd565b8282015261014091506109608284016107bd565b91810191909152949350505050565b6001600160a01b03858116825284811660208301528316604082015260806060820181905260009061085e90830184610653565b6001600160a01b03851681526080602082018190526000906109c790830186610653565b82810360408401526109d98186610653565b905082810360608401526109ed8185610653565b979650505050505050565b60008060408385031215610a0b57600080fd5b825167ffffffffffffffff80821115610a2357600080fd5b610a2f868387016107e0565b93506020850151915080821115610a4557600080fd5b50610a52858286016107e0565b915050925092905056fea264697066735822122053f3dba4e677e33b5dbe4e9f3254aa751b05032b0062b25d313e4a8b1c25f05064736f6c63430008130033",m$=eb=>eb.length>1;class mW extends uw.lV{constructor(...eb){m$(eb)?super(...eb):super(mU,mq,eb[0])}deploy(eb,em,eH){return super.deploy(eb,em,eH||{})}getDeployTransaction(eb,em,eH){return super.getDeployTransaction(eb,em,eH||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(mU)}static connect(eb,em){return new uw.CH(eb,mU,em)}}mW.bytecode=mq,mW.abi=mU;let mZ=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"address",name:"flowOperator",type:"address"},{internalType:"contract ISuperfluidToken",name:"token",type:"address"}],name:"authorizeFlowOperatorWithFullControlTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"cfaV1",outputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"createFlowByOperatorTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"createFlowTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"contract ISuperfluidToken",name:"token",type:"address"}],name:"deleteFlowByOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"deleteFlowTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"flowOperator",type:"address"},{internalType:"contract ISuperfluidToken",name:"token",type:"address"}],name:"revokeFlowOperatorWithFullControlTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"updateFlowByOperatorTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"flowOperator",type:"address"},{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint8",name:"permissions",type:"uint8"},{internalType:"int96",name:"flowRateAllowance",type:"int96"}],name:"updateFlowOperatorPermissionsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"updateFlowTest",outputs:[],stateMutability:"nonpayable",type:"function"}],mG="0x608060405234801561001057600080fd5b50604051610dde380380610dde83398101604081905261002f91610121565b6040805180820182526001600160a01b0383168082529151635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201529091602083019163b6d200de90602401602060405180830381865afa1580156100a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100c89190610121565b6001600160a01b039081169091528151600080546001600160a01b031990811692841692909217905560209092015160018054909316911617905550610145565b6001600160a01b038116811461011e57600080fd5b50565b60006020828403121561013357600080fd5b815161013e81610109565b9392505050565b610c8a806101546000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a9014c0011610066578063a9014c0014610104578063ab0c1e5f14610117578063c5eb59de1461012a578063d3112b2e1461013d578063ef7074901461017b57600080fd5b80632cc1e970146100a35780635a8e0f5a146100b857806380f742fa146100cb5780638aaf4513146100de5780638e33f761146100f1575b600080fd5b6100b66100b1366004610880565b61018e565b005b6100b66100c6366004610880565b61019f565b6100b66100d93660046108d0565b6101ab565b6100b66100ec3660046108d0565b6101c0565b6100b66100ff36600461092a565b6101ce565b6100b6610112366004610971565b6101db565b6100b661012536600461092a565b6101e9565b6100b6610138366004610880565b6101f6565b600054600154610157916001600160a01b03908116911682565b604080516001600160a01b0393841681529290911660208301520160405180910390f35b6100b66101893660046109b8565b610207565b61019a6000838361021a565b505050565b61019a60008383610323565b6101b960008585858561034f565b5050505050565b6101b960008585858561037e565b61019a60008385846103a3565b6101b96000858585856103c3565b61019a60008385846104c7565b61020360003083856104e7565b5050565b6102146000848484610507565b50505050565b825460018401546060916001600160a01b03908116916339255d5b91168063062e56ec868860005b6040519080825280601f01601f19166020018201604052801561026c576020820181803683370190505b5060405160240161027f93929190610a69565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526102d49392509060248101610a95565b6000604051808303816000875af11580156102f3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261031b9190810190610acb565b949350505050565b825460018401546060916001600160a01b03908116916339255d5b9116806354b770e386886000610242565b6040805160008152602081019091526060906103749087908790879087908790610533565b9695505050505050565b6040805160008152602081019091526060906103749087908790879087908790610639565b604080516000815260208101909152610214908590859085908590610667565b845460018601546060916001600160a01b03908116916339255d5b91168063811b3d40888a898960006040519080825280601f01601f191660200182016040528015610416576020820181803683370190505b5060405160240161042b959493929190610b6d565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526104809392509060248101610a95565b6000604051808303816000875af115801561049f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103749190810190610acb565b604080516000815260208101909152610214908590859085908590610765565b60408051600081526020810190915261021490859085908590859061078f565b60408051600081526020810190915260609061052a9086908690869086906107d4565b95945050505050565b855460018701546060916001600160a01b03908116916339255d5b91168063354b9590888b8b8a60005b6040519080825280601f01601f191660200182016040528015610587576020820181803683370190505b5060405160240161059c959493929190610bac565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526105e7939250908790600401610a95565b6000604051808303816000875af1158015610606573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261062e9190810190610acb565b979650505050505050565b855460018701546060916001600160a01b03908116916339255d5b9116806394229ecb888b8b8a600061055d565b845460018601546001600160a01b03918216916339255d5b9116806350209a6287898860005b6040519080825280601f01601f1916602001820160405280156106b7576020820181803683370190505b506040516024016106cb9493929190610bea565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610716939250908690600401610a95565b6000604051808303816000875af1158015610735573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261075d9190810190610acb565b505050505050565b845460018601546001600160a01b03918216916339255d5b9116806362fc305e878988600061068d565b845460018601546040805160008152602081019091526001600160a01b03928316926339255d5b921690819063b4b333c6906106cb9088908b908b9060448101610c20565b845460018601546040805160008152602081019091526060926001600160a01b03908116926339255d5b929116908190634c8b181f9061081d9089908c908c9060448101610c20565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610480939250908790600401610a95565b6001600160a01b038116811461087d57600080fd5b50565b6000806040838503121561089357600080fd5b823561089e81610868565b915060208301356108ae81610868565b809150509250929050565b8035600b81900b81146108cb57600080fd5b919050565b600080600080608085870312156108e657600080fd5b84356108f181610868565b9350602085013561090181610868565b9250604085013561091181610868565b915061091f606086016108b9565b905092959194509250565b60008060006060848603121561093f57600080fd5b833561094a81610868565b9250602084013561095a81610868565b9150610968604085016108b9565b90509250925092565b6000806000806080858703121561098757600080fd5b843561099281610868565b935060208501356109a281610868565b9250604085013560ff8116811461091157600080fd5b6000806000606084860312156109cd57600080fd5b83356109d881610868565b925060208401356109e881610868565b915060408401356109f881610868565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60005b83811015610a34578181015183820152602001610a1c565b50506000910152565b60008151808452610a55816020860160208601610a19565b601f01601f19169290920160200192915050565b6001600160a01b0384811682528316602082015260606040820181905260009061052a90830184610a3d565b6001600160a01b0384168152606060208201819052600090610ab990830185610a3d565b82810360408401526103748185610a3d565b600060208284031215610add57600080fd5b815167ffffffffffffffff80821115610af557600080fd5b818401915084601f830112610b0957600080fd5b815181811115610b1b57610b1b610a03565b604051601f8201601f19908116603f01168101908382118183101715610b4357610b43610a03565b81604052828152876020848701011115610b5c57600080fd5b61062e836020830160208801610a19565b6001600160a01b0386811682528516602082015260ff84166040820152600b83900b606082015260a06080820181905260009061062e90830184610a3d565b6001600160a01b038681168252858116602083015284166040820152600b83900b606082015260a06080820181905260009061062e90830184610a3d565b6001600160a01b03858116825284166020820152600b83900b604082015260806060820181905260009061037490830184610a3d565b6001600160a01b03858116825284811660208301528316604082015260806060820181905260009061037490830184610a3d56fea26469706673582212208079c4a8808d657be5cfa441f21bb081ca406b73b9d30eb38be08cbca1db3cc764736f6c63430008130033",mK=eb=>eb.length>1;class mY extends uw.lV{constructor(...eb){mK(eb)?super(...eb):super(mZ,mG,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(mZ)}static connect(eb,em){return new uw.CH(eb,mZ,em)}}mY.bytecode=mG,mY.abi=mZ;let mX=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"defaultSender",type:"address"},{internalType:"address",name:"defaultReceiver",type:"address"},{internalType:"address",name:"defaultFlowOperator",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"authorizeFlowOperatorWithFullControl",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"createFlow",outputs:[],stateMutability:"nonpayable",type:"function"}],mJ="0x60e06040523480156200001157600080fd5b5060405162001ba938038062001ba98339810160408190526200003491620001b4565b6040805180820182526001600160a01b0386168082529151635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201529091602083019163b6d200de90602401602060405180830381865afa158015620000aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d091906200021c565b6001600160a01b039081169091528151600080549183166001600160a01b031992831617905560209092015160018054918316919093161790915583811660805282811660a05281811660c05260405163bd1c448b60e01b8152643d000000019186169063bd1c448b906200015c90849060040190815260406020820181905260009082015260600190565b600060405180830381600087803b1580156200017757600080fd5b505af11580156200018c573d6000803e3d6000fd5b50505050505050505062000243565b6001600160a01b0381168114620001b157600080fd5b50565b60008060008060808587031215620001cb57600080fd5b8451620001d8816200019b565b6020860151909450620001eb816200019b565b6040860151909350620001fe816200019b565b606086015190925062000211816200019b565b939692955090935050565b6000602082840312156200022f57600080fd5b81516200023c816200019b565b9392505050565b60805160a05160c0516118e9620002c06000396000818161030f01528181610844015281816108d6015261095e015260008181610273015281816104850152818161051d015281816105ae015281816106580152818161070901526107bb015260008181610637015281816106e8015261079a01526118e96000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80635f9e7d771161005b5780635f9e7d77146100f15780637d5b08de14610104578063884d1f4014610117578063d86ed3e51461012a57600080fd5b8063230dbd291461008d57806330d9c915146100b657806353c11f99146100c9578063558aea25146100dc575b600080fd5b6100a061009b366004611245565b61013d565b6040516100ad9190611360565b60405180910390f35b6100a06100c436600461137a565b6101a4565b6100a06100d7366004611245565b610207565b6100ef6100ea366004611419565b61026c565b005b6100a06100ff36600461137a565b6102a1565b6100ef610112366004611419565b610308565b6100a061012536600461137a565b610338565b6100a0610138366004611245565b61039b565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d08155c19185d195960921b60648201526060906084015b60405180910390fd5b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b606482015260609060840161019b565b60405162461bcd60e51b815260206004820152603160248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201527019595b595b9d0815195c9b5a5b985d1959607a1b606482015260609060840161019b565b61029e60007f00000000000000000000000000000000000000000000000000000000000000008364e8d4a510006109de565b50565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b606482015260609060840161019b565b61033460007f000000000000000000000000000000000000000000000000000000000000000083610a04565b5050565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b606482015260609060840161019b565b60008054604051631fb6491d60e11b8152606092916001600160a01b031690633f6c923a906103d09087908790600401611436565b600060405180830381865afa1580156103ed573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610415919081019061155c565b60a0015190506000818060200190518101906104319190611663565b905060ff81166104c7576104be85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050507f00000000000000000000000000000000000000000000000000000000000000008e64e8d4a510006000610aef90949392919063ffffffff16565b925050506109d1565b60001960ff821601610557576104be85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050507f00000000000000000000000000000000000000000000000000000000000000008e6501d1a94a20006000610b1e90949392919063ffffffff16565b60011960ff8216016105e1576104be85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050307f00000000000000000000000000000000000000000000000000000000000000008f6000610b4390949392919063ffffffff16565b60021960ff821601610692576104be85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008f64e8d4a510006000610b689095949392919063ffffffff16565b60031960ff821601610744576104be85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008f6501d1a94a20006000610bb09095949392919063ffffffff16565b60041960ff8216016107ee576104be85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008f6000610bed90949392919063ffffffff16565b60051960ff821601610880576104be85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050507f00000000000000000000000000000000000000000000000000000000000000008e600764e8d4a510006000610c129095949392919063ffffffff16565b60061960ff821601610908576104be85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050507f00000000000000000000000000000000000000000000000000000000000000008e6000610d23909392919063ffffffff16565b60071960ff821601610990576104be85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050507f00000000000000000000000000000000000000000000000000000000000000008e6000610e2f909392919063ffffffff16565b60405162461bcd60e51b81526020600482015260166024820152750d2dcecc2d8d2c840cceadcc6e8d2dedc40d2dcc8caf60531b604482015260640161019b565b9998505050505050505050565b6040805160008152602081019091526109fe908590859085908590610e5b565b50505050565b825460018401546040805160008152602081019091526060926001600160a01b03908116926339255d5b9291169081906354b770e390610a4b9088908a906044810161167e565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052610aa093925090602481016116b3565b6000604051808303816000875af1158015610abf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ae791908101906116e9565b949350505050565b604080516000815260208101909152606090610b149087908790879087908790610f3a565b9695505050505050565b604080516000815260208101909152606090610b149087908790879087908790610fee565b604080516000815260208101909152606090610b14908790879087908790879061101b565b6060610ba587878787878760006040519080825280601f01601f191660200182016040528015610b9f576020820181803683370190505b50611082565b979650505050505050565b6060610ba587878787878760006040519080825280601f01601f191660200182016040528015610be7576020820181803683370190505b5061118c565b604080516000815260208101909152606090610b1490879087908790879087906111ba565b855460018701546060916001600160a01b0390811691634329d29391168063811b3d40888a898960006040519080825280601f01601f191660200182016040528015610c65576020820181803683370190505b50604051602401610c7a95949392919061171e565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052610cd0939250908b6024820161175d565b6000604051808303816000875af1158015610cef573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d1791908101906117a7565b50979650505050505050565b835460018501546060916001600160a01b0390811691634329d2939116806354b770e3868860005b6040519080825280601f01601f191660200182016040528015610d75576020820181803683370190505b50604051602401610d889392919061167e565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052610dde93925090896024820161175d565b6000604051808303816000875af1158015610dfd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e2591908101906117a7565b5095945050505050565b835460018501546060916001600160a01b0390811691634329d29391168063062e56ec86886000610d4b565b845460018601546040805160008152602081019091526001600160a01b03928316926339255d5b92169081906362fc305e90610ea09089908b908a906044810161180b565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610eeb9392509086906004016116b3565b6000604051808303816000875af1158015610f0a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f3291908101906116e9565b505050505050565b855460018701546060916001600160a01b0390811691634329d2939116806362fc305e888a8960005b6040519080825280601f01601f191660200182016040528015610f8d576020820181803683370190505b50604051602401610fa1949392919061180b565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610cd09392509087908c9060040161175d565b855460018701546060916001600160a01b0390811691634329d2939116806350209a62888a896000610f63565b855460018701546060916001600160a01b0390811691634329d29391168063b4b333c6878a8a60005b6040519080825280601f01601f19166020018201604052801561106e576020820181803683370190505b50604051602401610fa19493929190611841565b865460018801546060916001600160a01b0390811691634329d2939116806394229ecb888b8b8a60005b6040519080825280601f01601f1916602001820160405280156110d6576020820181803683370190505b506040516024016110eb959493929190611875565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526111389392509087908d9060040161175d565b6000604051808303816000875af1158015611157573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261117f91908101906117a7565b5098975050505050505050565b865460018801546060916001600160a01b0390811691634329d29391168063354b9590888b8b8a60006110ac565b855460018701546060916001600160a01b0390811691634329d293911680634c8b181f878a8a6000611044565b6001600160a01b038116811461029e57600080fd5b60008083601f84011261120e57600080fd5b50813567ffffffffffffffff81111561122657600080fd5b60208301915083602082850101111561123e57600080fd5b9250929050565b600080600080600080600080600060c08a8c03121561126357600080fd5b893561126e816111e7565b985060208a013561127e816111e7565b975060408a0135965060608a013567ffffffffffffffff808211156112a257600080fd5b6112ae8d838e016111fc565b909850965060808c01359150808211156112c757600080fd5b6112d38d838e016111fc565b909650945060a08c01359150808211156112ec57600080fd5b506112f98c828d016111fc565b915080935050809150509295985092959850929598565b60005b8381101561132b578181015183820152602001611313565b50506000910152565b6000815180845261134c816020860160208601611310565b601f01601f19169290920160200192915050565b6020815260006113736020830184611334565b9392505050565b600080600080600080600060a0888a03121561139557600080fd5b87356113a0816111e7565b965060208801356113b0816111e7565b955060408801359450606088013567ffffffffffffffff808211156113d457600080fd5b6113e08b838c016111fc565b909650945060808a01359150808211156113f957600080fd5b506114068a828b016111fc565b989b979a50959850939692959293505050565b60006020828403121561142b57600080fd5b8135611373816111e7565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff8111828210171561149f5761149f611465565b60405290565b805160ff811681146114b657600080fd5b919050565b80516114b6816111e7565b80516001600160e01b0319811681146114b657600080fd5b600082601f8301126114ef57600080fd5b815167ffffffffffffffff8082111561150a5761150a611465565b604051601f8301601f19908116603f0116810190828211818310171561153257611532611465565b8160405283815286602085880101111561154b57600080fd5b610b14846020830160208901611310565b60006020828403121561156e57600080fd5b815167ffffffffffffffff8082111561158657600080fd5b90830190610160828603121561159b57600080fd5b6115a361147b565b6115ac836114a5565b81526115ba602084016114a5565b6020820152604083015160408201526115d5606084016114bb565b60608201526115e6608084016114c6565b608082015260a0830151828111156115fd57600080fd5b611609878286016114de565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506116408284016114bb565b8282015261014091506116548284016114bb565b91810191909152949350505050565b60006020828403121561167557600080fd5b611373826114a5565b6001600160a01b038481168252831660208201526060604082018190526000906116aa90830184611334565b95945050505050565b6001600160a01b03841681526060602082018190526000906116d790830185611334565b8281036040840152610b148185611334565b6000602082840312156116fb57600080fd5b815167ffffffffffffffff81111561171257600080fd5b610ae7848285016114de565b6001600160a01b0386811682528516602082015260ff84166040820152600b83900b606082015260a060808201819052600090610ba590830184611334565b6001600160a01b038516815260806020820181905260009061178190830186611334565b82810360408401526117938186611334565b90508281036060840152610ba58185611334565b600080604083850312156117ba57600080fd5b825167ffffffffffffffff808211156117d257600080fd5b6117de868387016114de565b935060208501519150808211156117f457600080fd5b50611801858286016114de565b9150509250929050565b6001600160a01b03858116825284166020820152600b83900b6040820152608060608201819052600090610b1490830184611334565b6001600160a01b038581168252848116602083015283166040820152608060608201819052600090610b1490830184611334565b6001600160a01b038681168252858116602083015284166040820152600b83900b606082015260a060808201819052600090610ba59083018461133456fea2646970667358221220e87dc7f9e6b3c16259823127e9f59d86c7369af2850d8e586a5b5745295d39bf64736f6c63430008130033",mQ=eb=>eb.length>1;class m6 extends uw.lV{constructor(...eb){mQ(eb)?super(...eb):super(mX,mJ,eb[0])}deploy(eb,em,eH,eV,ew){return super.deploy(eb,em,eH,eV,ew||{})}getDeployTransaction(eb,em,eH,eV,ew){return super.getDeployTransaction(eb,em,eH,eV,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(mX)}static connect(eb,em){return new uw.CH(eb,mX,em)}}m6.bytecode=mJ,m6.abi=mX;let m4=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"CIF_NFT_ONLY_CONSTANT_OUTFLOW",type:"error"},{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:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{inputs:[],name:"CONSTANT_FLOW_AGREEMENT_V1",outputs:[{internalType:"contract IConstantFlowAgreementV1",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_BASE_URI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],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:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"newTokenId",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"mockBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"mockFlowNFTDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"mockGetApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_to",type:"address"},{internalType:"uint256",name:"_newTokenId",type:"uint256"}],name:"mockMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"mockOwnerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],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:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",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:"pure",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}],m3="0x60e06040523480156200001157600080fd5b506040516200229c3803806200229c833981016040819052620000349162000103565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201528391839183919063b6d200de90602401602060405180830381865afa158015620000a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ca919062000142565b6001600160a01b039081166080529190911660c052506200016992505050565b6001600160a01b03811681146200010057600080fd5b50565b600080604083850312156200011757600080fd5b82516200012481620000ea565b60208401519092506200013781620000ea565b809150509250929050565b6000602082840312156200015557600080fd5b81516200016281620000ea565b9392505050565b60805160a05160c0516120e0620001bc6000396000818161050101528181610711015281816107750152610a7601526000818161036a01526107c001526000818161028201526111b701526120e06000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c806350d75d251161011a57806395d89b41116100ad578063b88d4fde1161007c578063b88d4fde146104b0578063bcba52b0146104c3578063c87b56dd146104d6578063e985e9c5146104e9578063ef43d2c6146104fc57600080fd5b806395d89b41146104855780639903ad381461048d578063a22cb46514610495578063a497325b146104a857600080fd5b80636c0360eb116100e95780636c0360eb146103fd57806370a082311461040557806389f71d2d146104195780638d47859e1461042c57600080fd5b806350d75d251461039f57806352d1902d146103a75780635dff7d90146103d75780636352211e146103ea57600080fd5b806340c10f19116101925780634695195411610161578063469519541461033f578063480954c31461035257806349f289dc146103655780634cd88b761461038c57600080fd5b806340c10f19146102dd57806340d3597d146102f057806342842e0e1461031957806342966c681461032c57600080fd5b806318156101116101ce578063181561011461027d57806323b872dd146102a45780632f388560146102b7578063378934b4146102ca57600080fd5b806301ffc9a71461020057806306fdde0314610228578063081812fc1461023d578063095ea7b314610268575b600080fd5b61021361020e366004611768565b610523565b60405190151581526020015b60405180910390f35b610230610575565b60405161021f91906117b6565b61025061024b3660046117e9565b610607565b6040516001600160a01b03909116815260200161021f565b61027b610276366004611817565b61062e565b005b6102507f000000000000000000000000000000000000000000000000000000000000000081565b61027b6102b2366004611843565b6106ba565b61027b6102c53660046117e9565b6106ec565b61027b6102d8366004611817565b6106f8565b61027b6102eb366004611817565b610706565b6102506102fe3660046117e9565b6000908152600360205260409020546001600160a01b031690565b61027b610327366004611843565b61074f565b61027b61033a3660046117e9565b61076a565b61027b61034d366004611884565b6107bc565b61027b6103603660046117e9565b6107b3565b6102507f000000000000000000000000000000000000000000000000000000000000000081565b61027b61039a36600461196e565b610874565b61025061095a565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e5b60405190815260200161021f565b6102506103e53660046117e9565b610989565b6102506103f83660046117e9565b610994565b6102306109c9565b6103c9610413366004611884565b50600190565b6103c96104273660046119d2565b6109e9565b61043f61043a3660046117e9565b610a3c565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff169181019190915260800161021f565b610230610ae9565b61027b610af8565b61027b6104a3366004611a1d565b610bba565b610230610bc5565b61027b6104be366004611a5b565b610be1565b61043f6104d13660046117e9565b610c1a565b6102306104e43660046117e9565b610c47565b6102136104f7366004611adb565b610c54565b6102507f000000000000000000000000000000000000000000000000000000000000000081565b60006301ffc9a760e01b6001600160e01b03198316148061055457506380ac58cd60e01b6001600160e01b03198316145b8061056f5750635b5e139f60e01b6001600160e01b03198316145b92915050565b60606001805461058490611b09565b80601f01602080910402602001604051908101604052809291908181526020018280546105b090611b09565b80156105fd5780601f106105d2576101008083540402835291602001916105fd565b820191906000526020600020905b8154815290600101906020018083116105e057829003601f168201915b5050505050905090565b600061061282610c82565b506000908152600360205260409020546001600160a01b031690565b600061063982610994565b9050806001600160a01b0316836001600160a01b03160361066d5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b0382161480159061068d575061068b8133610c54565b155b156106ab5760405163519a92c160e11b815260040160405180910390fd5b6106b58383610ca8565b505050565b6106c43382610d16565b6106e1576040516312a8eb0360e11b815260040160405180910390fd5b6106b5838383610d74565b6106f581610d8d565b50565b6107028282610dbd565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106f85760405163740f7abd60e11b815260040160405180910390fd5b6106b583838360405180602001604052806000815250610be1565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107b35760405163740f7abd60e11b815260040160405180910390fd5b6106f581610df9565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561081c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108409190611b43565b9050336001600160a01b0382161461086b5760405163ebb7505b60e01b815260040160405180910390fd5b61070282610e6c565b600054610100900460ff16158080156108945750600054600160ff909116105b806108ae5750303b1580156108ae575060005460ff166001145b6108d35760405162461bcd60e51b81526004016108ca90611b60565b60405180910390fd5b6000805460ff1916600117905580156108f6576000805461ff0019166101001790555b60016109028482611bfc565b50600261090f8382611bfc565b5080156106b5576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60006109847f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b600061056f826110a6565b6000806109a0836110a6565b90506001600160a01b03811661056f5760405163eab95e3b60e01b815260040160405180910390fd5b60606040518060600160405280602d815260200161207e602d9139905090565b60408051466020808301919091526001600160a01b0380871683850152808616606084015284166080808401919091528351808403909101815260a090920190925280519101206000905b949350505050565b6040805160808101825260008082526020820181905291810182905260608101919091526040516346a3c2cf60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638d47859e90602401608060405180830381865afa158015610ac5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056f9190611cbc565b60606002805461058490611b09565b600054610100900460ff1615808015610b185750600054600160ff909116105b80610b325750303b158015610b32575060005460ff166001145b610b4e5760405162461bcd60e51b81526004016108ca90611b60565b6000805460ff191660011790558015610b71576000805461ff0019166101001790555b80156106f5576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6107023383836110bd565b6040518060600160405280602d815260200161207e602d913981565b610beb3383610d16565b610c08576040516312a8eb0360e11b815260040160405180910390fd5b610c148484848461115c565b50505050565b60408051608081018252600080825260208201819052918101829052606081019190915261056f82610a3c565b606061056f826001611167565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b610c8b816112c2565b6106f55760405163eab95e3b60e01b815260040160405180910390fd5b600081815260036020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610cdd826110a6565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610d2283610994565b9050806001600160a01b0316846001600160a01b03161480610d495750610d498185610c54565b80610a345750836001600160a01b0316610d6284610607565b6001600160a01b031614949350505050565b60405163553a3f6560e11b815260040160405180910390fd5b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce790602001610baf565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000610e0482610a3c565b600083815260036020526040902080546001600160a01b031916905590508160006001600160a01b031682604001516001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000610e967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610eec5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016108ca565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4e9190611d4a565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e14610fc85760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016108ca565b6001600160a01b03811630036110205760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016108ca565b611048817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e604080519182526001600160a01b038416602083015201610baf565b6000806110b283610a3c565b604001519392505050565b816001600160a01b0316836001600160a01b0316036110ef5760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610c14848484610d74565b6060600061117484610a3c565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa1580156111fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112229190611d63565b505091505061122f6109c9565b611246826bffffffffffffffffffffffff166112df565b8661126d57604051806040016040528060048152602001637472756560e01b81525061128c565b6040518060400160405280600581526020016466616c736560d81b8152505b61129589611372565b6040516020016112a89493929190611dc3565b604051602081830303815290604052935050505092915050565b6000806112ce836110a6565b6001600160a01b0316141592915050565b606060006112ec836114ed565b600101905060008167ffffffffffffffff81111561130c5761130c6118a1565b6040519080825280601f01601f191660200182016040528015611336576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461134057509392505050565b6060600061137f83610a3c565b905061139981600001516001600160a01b031660146115c5565b6113a2466112df565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156113e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261140c9190810190611e4b565b61142484602001516001600160a01b031660146115c5565b61143c85604001516001600160a01b031660146115c5565b6114ad86600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611481573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a59190611ec2565b60ff166112df565b6114c0876060015163ffffffff166112df565b6040516020016114d69796959493929190611ee5565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061152c5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611558576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061157657662386f26fc10000830492506010015b6305f5e100831061158e576305f5e100830492506008015b61271083106115a257612710830492506004015b606483106115b4576064830492506002015b600a831061056f5760010192915050565b606060006115d4836002612026565b6115df90600261203d565b67ffffffffffffffff8111156115f7576115f76118a1565b6040519080825280601f01601f191660200182016040528015611621576020820181803683370190505b509050600360fc1b8160008151811061163c5761163c612050565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061166b5761166b612050565b60200101906001600160f81b031916908160001a905350600061168f846002612026565b61169a90600161203d565b90505b6001811115611712576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106116ce576116ce612050565b1a60f81b8282815181106116e4576116e4612050565b60200101906001600160f81b031916908160001a90535060049490941c9361170b81612066565b905061169d565b5083156117615760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016108ca565b9392505050565b60006020828403121561177a57600080fd5b81356001600160e01b03198116811461176157600080fd5b60005b838110156117ad578181015183820152602001611795565b50506000910152565b60208152600082518060208401526117d5816040850160208701611792565b601f01601f19169190910160400192915050565b6000602082840312156117fb57600080fd5b5035919050565b6001600160a01b03811681146106f557600080fd5b6000806040838503121561182a57600080fd5b823561183581611802565b946020939093013593505050565b60008060006060848603121561185857600080fd5b833561186381611802565b9250602084013561187381611802565b929592945050506040919091013590565b60006020828403121561189657600080fd5b813561176181611802565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156118e0576118e06118a1565b604052919050565b600067ffffffffffffffff821115611902576119026118a1565b50601f01601f191660200190565b600061192361191e846118e8565b6118b7565b905082815283838301111561193757600080fd5b828260208301376000602084830101529392505050565b600082601f83011261195f57600080fd5b61176183833560208501611910565b6000806040838503121561198157600080fd5b823567ffffffffffffffff8082111561199957600080fd5b6119a58683870161194e565b935060208501359150808211156119bb57600080fd5b506119c88582860161194e565b9150509250929050565b6000806000606084860312156119e757600080fd5b83356119f281611802565b92506020840135611a0281611802565b91506040840135611a1281611802565b809150509250925092565b60008060408385031215611a3057600080fd5b8235611a3b81611802565b915060208301358015158114611a5057600080fd5b809150509250929050565b60008060008060808587031215611a7157600080fd5b8435611a7c81611802565b93506020850135611a8c81611802565b925060408501359150606085013567ffffffffffffffff811115611aaf57600080fd5b8501601f81018713611ac057600080fd5b611acf87823560208401611910565b91505092959194509250565b60008060408385031215611aee57600080fd5b8235611af981611802565b91506020830135611a5081611802565b600181811c90821680611b1d57607f821691505b602082108103611b3d57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611b5557600080fd5b815161176181611802565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f8211156106b557600081815260208120601f850160051c81016020861015611bd55750805b601f850160051c820191505b81811015611bf457828155600101611be1565b505050505050565b815167ffffffffffffffff811115611c1657611c166118a1565b611c2a81611c248454611b09565b84611bae565b602080601f831160018114611c5f5760008415611c475750858301515b600019600386901b1c1916600185901b178555611bf4565b600085815260208120601f198616915b82811015611c8e57888601518255948401946001909101908401611c6f565b5085821015611cac5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060808284031215611cce57600080fd5b6040516080810181811067ffffffffffffffff82111715611cf157611cf16118a1565b6040528251611cff81611802565b81526020830151611d0f81611802565b60208201526040830151611d2281611802565b6040820152606083015163ffffffff81168114611d3e57600080fd5b60608201529392505050565b600060208284031215611d5c57600080fd5b5051919050565b60008060008060808587031215611d7957600080fd5b84519350602085015180600b0b8114611d9157600080fd5b6040860151606090960151949790965092505050565b60008151611db9818560208601611792565b9290920192915050565b60008551611dd5818460208a01611792565b693f666c6f77526174653d60b01b9083019081528551611dfc81600a840160208a01611792565b69266f7574676f696e673d60b01b600a92909101918201528451611e27816014840160208901611792565b8451910190611e3d816014840160208801611792565b016014019695505050505050565b600060208284031215611e5d57600080fd5b815167ffffffffffffffff811115611e7457600080fd5b8201601f81018413611e8557600080fd5b8051611e9361191e826118e8565b818152856020838501011115611ea857600080fd5b611eb9826020830160208601611792565b95945050505050565b600060208284031215611ed457600080fd5b815160ff8116811461176157600080fd5b6e26746f6b656e5f616464726573733d60881b815260008851611f0f81600f850160208d01611792565b6926636861696e5f69643d60b01b600f918401918201528851611f39816019840160208d01611792565b6d26746f6b656e5f73796d626f6c3d60901b601992909101918201528751611f68816027840160208c01611792565b672673656e6465723d60c01b602792909101918201528651611f9181602f840160208b01611792565b692672656365697665723d60b01b602f9290910191820152612002611ffc611fe4611fde611fc2603986018b611da7565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b88611da7565b6b2673746172745f646174653d60a01b8152600c0190565b85611da7565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761056f5761056f612010565b8082018082111561056f5761056f612010565b634e487b7160e01b600052603260045260246000fd5b60008161207557612075612010565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a2646970667358221220706085efd339b42ff59270c22b9a47cfbca96daf2fd27747bfcdd3f2a08a059564736f6c63430008130033",m5=eb=>eb.length>1;class m9 extends uw.lV{constructor(...eb){m5(eb)?super(...eb):super(m4,m3,eb[0])}deploy(eb,em,eH){return super.deploy(eb,em,eH||{})}getDeployTransaction(eb,em,eH){return super.getDeployTransaction(eb,em,eH||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(m4)}static connect(eb,em){return new uw.CH(eb,m4,em)}}m9.bytecode=m3,m9.abi=m4;let m7=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"COF_NFT_INVALID_SUPER_TOKEN",type:"error"},{inputs:[],name:"COF_NFT_MINT_TO_AND_FLOW_RECEIVER_SAME",type:"error"},{inputs:[],name:"COF_NFT_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"COF_NFT_ONLY_CONSTANT_INFLOW",type:"error"},{inputs:[],name:"COF_NFT_ONLY_FLOW_AGREEMENTS",type:"error"},{inputs:[],name:"COF_NFT_TOKEN_ALREADY_EXISTS",type:"error"},{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:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{inputs:[],name:"CONSTANT_FLOW_AGREEMENT_V1",outputs:[{internalType:"contract IConstantFlowAgreementV1",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_BASE_URI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],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:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"mockBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"mockGetApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_superToken",type:"address"},{internalType:"address",name:"_to",type:"address"},{internalType:"address",name:"_flowReceiver",type:"address"},{internalType:"uint256",name:"_newTokenId",type:"uint256"}],name:"mockMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"mockOwnerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onCreate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onDelete",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",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:"pure",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}],yb="0x60e06040523480156200001157600080fd5b506040516200259838038062002598833981016040819052620000349162000103565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201528391839183919063b6d200de90602401602060405180830381865afa158015620000a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ca919062000142565b6001600160a01b039081166080529190911660c052506200016992505050565b6001600160a01b03811681146200010057600080fd5b50565b600080604083850312156200011757600080fd5b82516200012481620000ea565b60208401519092506200013781620000ea565b809150509250929050565b6000602082840312156200015557600080fd5b81516200016281620000ea565b9392505050565b60805160a05160c0516123c7620001d16000396000818161035801528181610bf301528181610ced0152610e04015260008181610331015261071701526000818161028201528181610b6601528181610c6901528181610d6501526114c501526123c76000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80635dff7d901161011a578063a22cb465116100ad578063c87b56dd1161007c578063c87b56dd146104c4578063e985e9c5146104d7578063eb54a7ca146104ea578063ef1f0237146104fd578063f7e3d9831461051057600080fd5b8063a22cb46514610483578063a497325b14610496578063b7e21b121461049e578063b88d4fde146104b157600080fd5b806389f71d2d116100e957806389f71d2d146104075780638d47859e1461041a57806395d89b41146104735780639903ad381461047b57600080fd5b80635dff7d90146103c55780636352211e146103d85780636c0360eb146103eb57806370a08231146103f357600080fd5b806342842e0e116101925780634c5c0c85116101615780634c5c0c85146103535780634cd88b761461037a57806350d75d251461038d57806352d1902d1461039557600080fd5b806342842e0e146102f35780634695195414610306578063480954c31461031957806349f289dc1461032c57600080fd5b806318156101116101ce578063181561011461027d57806323b872dd146102a45780632f388560146102b757806340d3597d146102ca57600080fd5b806301ffc9a71461020057806306fdde0314610228578063081812fc1461023d578063095ea7b314610268575b600080fd5b61021361020e366004611a76565b610523565b60405190151581526020015b60405180910390f35b610230610575565b60405161021f9190611ac4565b61025061024b366004611af7565b610607565b6040516001600160a01b03909116815260200161021f565b61027b610276366004611b25565b61062e565b005b6102507f000000000000000000000000000000000000000000000000000000000000000081565b61027b6102b2366004611b51565b6106ba565b61027b6102c5366004611af7565b6106ec565b6102506102d8366004611af7565b6000908152600360205260409020546001600160a01b031690565b61027b610301366004611b51565b6106f8565b61027b610314366004611b92565b610713565b61027b610327366004611af7565b6107cf565b6102507f000000000000000000000000000000000000000000000000000000000000000081565b6102507f000000000000000000000000000000000000000000000000000000000000000081565b61027b610388366004611c7c565b6107d8565b6102506108be565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b7845b60405190815260200161021f565b6102506103d3366004611af7565b6108ed565b6102506103e6366004611af7565b6108f8565b61023061092d565b6103b7610401366004611b92565b50600190565b6103b7610415366004611ce0565b61094d565b61042d610428366004611af7565b610962565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff169181019190915260800161021f565b6102306109e3565b61027b6109f2565b61027b610491366004611d2b565b610ab4565b610230610abf565b61027b6104ac366004611d69565b610adb565b61027b6104bf366004611dba565b610aed565b6102306104d2366004611af7565b610b20565b6102136104e5366004611e3a565b610b2d565b61027b6104f8366004611ce0565b610b5b565b61027b61050b366004611ce0565b610c5e565b61027b61051e366004611ce0565b610d5a565b60006301ffc9a760e01b6001600160e01b03198316148061055457506380ac58cd60e01b6001600160e01b03198316145b8061056f5750635b5e139f60e01b6001600160e01b03198316145b92915050565b60606001805461058490611e68565b80601f01602080910402602001604051908101604052809291908181526020018280546105b090611e68565b80156105fd5780601f106105d2576101008083540402835291602001916105fd565b820191906000526020600020905b8154815290600101906020018083116105e057829003601f168201915b5050505050905090565b600061061282610e33565b506000908152600360205260409020546001600160a01b031690565b6000610639826108f8565b9050806001600160a01b0316836001600160a01b03160361066d5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b0382161480159061068d575061068b8133610b2d565b155b156106ab5760405163519a92c160e11b815260040160405180910390fd5b6106b58383610e59565b505050565b6106c43382610ec7565b6106e1576040516312a8eb0360e11b815260040160405180910390fd5b6106b5838383610f25565b6106f581610f3e565b50565b6106b583838360405180602001604052806000815250610aed565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610773573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107979190611ea2565b9050336001600160a01b038216146107c25760405163ebb7505b60e01b815260040160405180910390fd5b6107cb82610f6e565b5050565b6106f5816111a8565b600054610100900460ff16158080156107f85750600054600160ff909116105b806108125750303b158015610812575060005460ff166001145b6108375760405162461bcd60e51b815260040161082e90611ebf565b60405180910390fd5b6000805460ff19166001179055801561085a576000805461ff0019166101001790555b60016108668482611f5b565b5060026108738382611f5b565b5080156106b5576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60006108e87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b600061056f82611244565b60008061090483611244565b90506001600160a01b03811661056f5760405163eab95e3b60e01b815260040160405180910390fd5b60606040518060600160405280602d8152602001612365602d9139905090565b600061095a848484611262565b949350505050565b60408051608081018252600080825260208201819052918101829052606081019190915250600090815260166020908152604091829020825160808101845281546001600160a01b039081168252600183015481169382019390935260029091015491821692810192909252600160a01b900463ffffffff16606082015290565b60606002805461058490611e68565b600054610100900460ff1615808015610a125750600054600160ff909116105b80610a2c5750303b158015610a2c575060005460ff166001145b610a485760405162461bcd60e51b815260040161082e90611ebf565b6000805460ff191660011790558015610a6b576000805461ff0019166101001790555b80156106f5576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6107cb3383836112ae565b6040518060600160405280602d8152602001612365602d913981565b610ae78484848461134d565b50505050565b610af73383610ec7565b610b14576040516312a8eb0360e11b815260040160405180910390fd5b610ae78484848461146a565b606061056f826000611475565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ba45760405163d367b64f60e01b815260040160405180910390fd5b6000610bb1848484611262565b6000818152601660205260409020600101549091506001600160a01b031615610ae757610bdd81610f3e565b604051630179c42b60e51b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632f388560906024015b600060405180830381600087803b158015610c4057600080fd5b505af1158015610c54573d6000803e3d6000fd5b5050505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ca75760405163d367b64f60e01b815260040160405180910390fd5b6000610cb4848484611262565b6000818152601660205260409020600101549091506001600160a01b031615610ae757604051630852cd8d60e31b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c6890602401600060405180830381600087803b158015610d3957600080fd5b505af1158015610d4d573d6000803e3d6000fd5b50505050610ae7816111a8565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610da35760405163d367b64f60e01b815260040160405180910390fd5b6000610db0848484611262565b6000818152601660205260409020600101549091506001600160a01b0316610ae757610dde8484848461134d565b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401610c26565b610e3c816115d0565b6106f55760405163eab95e3b60e01b815260040160405180910390fd5b600081815260036020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610e8e82611244565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610ed3836108f8565b9050806001600160a01b0316846001600160a01b03161480610efa5750610efa8185610b2d565b8061095a5750836001600160a01b0316610f1384610607565b6001600160a01b031614949350505050565b60405163553a3f6560e11b815260040160405180910390fd5b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce790602001610aa9565b6000610f987f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610fee5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c65000000604482015260640161082e565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561102c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611050919061201b565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b784146110ca5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b606482015260840161082e565b6001600160a01b03811630036111225760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f7000000000000000604482015260640161082e565b61114a817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b784604080519182526001600160a01b038416602083015201610aa9565b60006111b382611244565b600083815260036020526040902080546001600160a01b0319169055905060008281526016602052604080822080546001600160a01b03199081168255600182018054909116905560020180546001600160c01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6000908152601660205260409020600101546001600160a01b031690565b60408051466020808301919091526001600160a01b03958616828401529385166060820152919093166080808301919091528351808303909101815260a0909101909252815191012090565b816001600160a01b0316836001600160a01b0316036112e05760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b03831661136357611363612034565b816001600160a01b0316836001600160a01b03160361138457611384612034565b61138d816115d0565b1561139a5761139a612034565b604080516080810182526001600160a01b038087168252858116602080840182815287841685870190815263ffffffff4281166060880190815260008a81526016909552888520975188549088166001600160a01b0319918216178955935160018901805491891691909516179093559051600290960180549251909116600160a01b026001600160c01b03199092169590941694909417939093179091559151839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a450505050565b610ae7848484610f25565b6060600061148284610962565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa15801561150c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611530919061204a565b505091505061153d61092d565b611554826bffffffffffffffffffffffff166115ed565b8661157b57604051806040016040528060048152602001637472756560e01b81525061159a565b6040518060400160405280600581526020016466616c736560d81b8152505b6115a389611680565b6040516020016115b694939291906120aa565b604051602081830303815290604052935050505092915050565b6000806115dc83611244565b6001600160a01b0316141592915050565b606060006115fa836117fb565b600101905060008167ffffffffffffffff81111561161a5761161a611baf565b6040519080825280601f01601f191660200182016040528015611644576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461164e57509392505050565b6060600061168d83610962565b90506116a781600001516001600160a01b031660146118d3565b6116b0466115ed565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156116f2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261171a9190810190612132565b61173284602001516001600160a01b031660146118d3565b61174a85604001516001600160a01b031660146118d3565b6117bb86600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b391906121a9565b60ff166115ed565b6117ce876060015163ffffffff166115ed565b6040516020016117e497969594939291906121cc565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061183a5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611866576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061188457662386f26fc10000830492506010015b6305f5e100831061189c576305f5e100830492506008015b61271083106118b057612710830492506004015b606483106118c2576064830492506002015b600a831061056f5760010192915050565b606060006118e283600261230d565b6118ed906002612324565b67ffffffffffffffff81111561190557611905611baf565b6040519080825280601f01601f19166020018201604052801561192f576020820181803683370190505b509050600360fc1b8160008151811061194a5761194a612337565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061197957611979612337565b60200101906001600160f81b031916908160001a905350600061199d84600261230d565b6119a8906001612324565b90505b6001811115611a20576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106119dc576119dc612337565b1a60f81b8282815181106119f2576119f2612337565b60200101906001600160f81b031916908160001a90535060049490941c93611a198161234d565b90506119ab565b508315611a6f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161082e565b9392505050565b600060208284031215611a8857600080fd5b81356001600160e01b031981168114611a6f57600080fd5b60005b83811015611abb578181015183820152602001611aa3565b50506000910152565b6020815260008251806020840152611ae3816040850160208701611aa0565b601f01601f19169190910160400192915050565b600060208284031215611b0957600080fd5b5035919050565b6001600160a01b03811681146106f557600080fd5b60008060408385031215611b3857600080fd5b8235611b4381611b10565b946020939093013593505050565b600080600060608486031215611b6657600080fd5b8335611b7181611b10565b92506020840135611b8181611b10565b929592945050506040919091013590565b600060208284031215611ba457600080fd5b8135611a6f81611b10565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611bee57611bee611baf565b604052919050565b600067ffffffffffffffff821115611c1057611c10611baf565b50601f01601f191660200190565b6000611c31611c2c84611bf6565b611bc5565b9050828152838383011115611c4557600080fd5b828260208301376000602084830101529392505050565b600082601f830112611c6d57600080fd5b611a6f83833560208501611c1e565b60008060408385031215611c8f57600080fd5b823567ffffffffffffffff80821115611ca757600080fd5b611cb386838701611c5c565b93506020850135915080821115611cc957600080fd5b50611cd685828601611c5c565b9150509250929050565b600080600060608486031215611cf557600080fd5b8335611d0081611b10565b92506020840135611d1081611b10565b91506040840135611d2081611b10565b809150509250925092565b60008060408385031215611d3e57600080fd5b8235611d4981611b10565b915060208301358015158114611d5e57600080fd5b809150509250929050565b60008060008060808587031215611d7f57600080fd5b8435611d8a81611b10565b93506020850135611d9a81611b10565b92506040850135611daa81611b10565b9396929550929360600135925050565b60008060008060808587031215611dd057600080fd5b8435611ddb81611b10565b93506020850135611deb81611b10565b925060408501359150606085013567ffffffffffffffff811115611e0e57600080fd5b8501601f81018713611e1f57600080fd5b611e2e87823560208401611c1e565b91505092959194509250565b60008060408385031215611e4d57600080fd5b8235611e5881611b10565b91506020830135611d5e81611b10565b600181811c90821680611e7c57607f821691505b602082108103611e9c57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611eb457600080fd5b8151611a6f81611b10565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f8211156106b557600081815260208120601f850160051c81016020861015611f345750805b601f850160051c820191505b81811015611f5357828155600101611f40565b505050505050565b815167ffffffffffffffff811115611f7557611f75611baf565b611f8981611f838454611e68565b84611f0d565b602080601f831160018114611fbe5760008415611fa65750858301515b600019600386901b1c1916600185901b178555611f53565b600085815260208120601f198616915b82811015611fed57888601518255948401946001909101908401611fce565b508582101561200b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561202d57600080fd5b5051919050565b634e487b7160e01b600052600160045260246000fd5b6000806000806080858703121561206057600080fd5b84519350602085015180600b0b811461207857600080fd5b6040860151606090960151949790965092505050565b600081516120a0818560208601611aa0565b9290920192915050565b600085516120bc818460208a01611aa0565b693f666c6f77526174653d60b01b90830190815285516120e381600a840160208a01611aa0565b69266f7574676f696e673d60b01b600a9290910191820152845161210e816014840160208901611aa0565b8451910190612124816014840160208801611aa0565b016014019695505050505050565b60006020828403121561214457600080fd5b815167ffffffffffffffff81111561215b57600080fd5b8201601f8101841361216c57600080fd5b805161217a611c2c82611bf6565b81815285602083850101111561218f57600080fd5b6121a0826020830160208601611aa0565b95945050505050565b6000602082840312156121bb57600080fd5b815160ff81168114611a6f57600080fd5b6e26746f6b656e5f616464726573733d60881b8152600088516121f681600f850160208d01611aa0565b6926636861696e5f69643d60b01b600f918401918201528851612220816019840160208d01611aa0565b6d26746f6b656e5f73796d626f6c3d60901b60199290910191820152875161224f816027840160208c01611aa0565b672673656e6465723d60c01b60279290910191820152865161227881602f840160208b01611aa0565b692672656365697665723d60b01b602f92909101918201526122e96122e36122cb6122c56122a9603986018b61208e565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b8861208e565b6b2673746172745f646174653d60a01b8152600c0190565b8561208e565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761056f5761056f6122f7565b8082018082111561056f5761056f6122f7565b634e487b7160e01b600052603260045260246000fd5b60008161235c5761235c6122f7565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a2646970667358221220491ba89227feec3c4b18e96587c22beb6bffb9b3bf4526fd22263566f81c10ee64736f6c63430008130033",ym=eb=>eb.length>1;class yv extends uw.lV{constructor(...eb){ym(eb)?super(...eb):super(m7,yb,eb[0])}deploy(eb,em,eH){return super.deploy(eb,em,eH||{})}getDeployTransaction(eb,em,eH){return super.getDeployTransaction(eb,em,eH||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(m7)}static connect(eb,em){return new uw.CH(eb,m7,em)}}yv.bytecode=yb,yv.abi=m7;let yH=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"upgrade",outputs:[],stateMutability:"nonpayable",type:"function"}],yV="0x60a06040523480156200001157600080fd5b506040516200269b3803806200269b833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b6080516125cf620000cc600039600081816101840152818161052a015281816108590152818161092801528181610ba501528181610de901528181610e7e0152818161112d01526111c401526125cf6000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806350d75d25116100b8578063a1b2bf8b1161007c578063a1b2bf8b146102f2578063b84cdd4a14610305578063bb0d196e14610318578063cf97256d1461032b578063d9d078d61461033e578063eb3537cc1461035157600080fd5b806350d75d251461027e57806352d1902d146102865780636c2d9f2f146102b457806379359f6f146102c75780639903ad38146102ea57600080fd5b80632ec8eec71161010a5780632ec8eec7146101d4578063386fa2211461020757806342fe09801461022757806345977d031461023a578063469519541461024d5780634b61cc331461025e57600080fd5b8063090c415e1461014757806312a6a3f81461015c5780631863e8091461016f57806320bc44251461018257806327048397146101c1575b600080fd5b61015a610155366004611ae1565b61037f565b005b61015a61016a366004611b3d565b610432565b61015a61017d366004611be9565b610515565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b61015a6101cf366004611ccd565b6107b5565b6101e76101e2366004611cef565b610851565b6040805194855260208501939093529183015260608201526080016101b8565b61021a610215366004611cef565b6108f4565b6040516101b89190611d13565b61015a610235366004611da2565b61099d565b61015a610248366004611e3d565b610abb565b61015a61025b366004611cef565b50565b61027161026c366004611e56565b610ae7565b6040516101b89190611e9c565b6101a4610b2c565b6040517f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001981526020016101b8565b6102716102c2366004611ed4565b610b5b565b6102da6102d5366004611cef565b610b9d565b60405190151581526020016101b8565b61015a610c25565b61015a610300366004611b3d565b610ce6565b6102da610313366004611f09565b610d90565b6102da610326366004611cef565b610de1565b61015a610339366004611f09565b610e69565b6102da61034c366004611f09565b610f52565b61036461035f366004611f09565b610f6c565b604080519384526020840192909252908201526060016101b8565b600033858560405160200161039693929190611f35565b6040516020818303038152906040528051906020012090506103eb818484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506110a692505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b604051339060009061044a9083908790602001611f7e565b60408051601f198184030181529190528051602090910120905061046e81846110ec565b1561048c5760405163782a90fb60e11b815260040160405180910390fd5b6104c9818585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506110a692505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d86868660405161050693929190611fbb565b60405180910390a25050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610579573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059d9190611ffc565b6105ba5760405163327fd99160e21b815260040160405180910390fd5b60006105c4611128565b90506001600160a01b0381166105d75750845b6000856105e457866105e6565b815b905060008313610683576105f98361202f565b6106028561126d565b1461060f5761060f61204b565b6106188461126d565b6001600160a01b03821660009081526002602052604081208054909190610640908490612061565b90915550506001600160a01b0385166000908152600260205260408120805485929061066d908490612061565b9091555061067e90508582866112db565b61074d565b85156106915761069161204b565b8261069b8561126d565b6106a59190612061565b6001600160a01b038316600090815260026020526040812080549091906106cd908490612089565b909155506106dc90508461126d565b6001600160a01b03881660009081526002602052604081208054909190610704908490612061565b90915550506001600160a01b03851660009081526002602052604081208054859290610731908490612061565b9091555061074290508288866112db565b61074d8286856112db565b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f6040516107a29594939291906120f9565b60405180910390a4505050505050505050565b60405133906000906107cd9083908690602001611f7e565b6040516020818303038152906040528051906020012090506107ef81846110ec565b61080c5760405163dae1880960e01b815260040160405180910390fd5b610816818461132d565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d9919061212c565b90506108e58582610f6c565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa15801561096f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109979190810190612145565b92915050565b600054610100900460ff16158080156109bd5750600054600160ff909116105b806109d75750303b1580156109d7575060005460ff166001145b6109fc5760405162461bcd60e51b81526004016109f3906121f7565b60405180910390fd5b6000805460ff191660011790558015610a1f576000805461ff0019166101001790555b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f610a548587836122c5565b506010610a628385836122c5565b50610a6c3061134e565b8015610ab2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b61025b333333846040518060200160405280600081525060405180602001604052806000815250611483565b60606000858585604051602001610b0093929190611f35565b604051602081830303815290604052805190602001209050610b2281846115dd565b9695505050505050565b6000610b567f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b606060008484604051602001610b72929190611f7e565b604051602081830303815290604052805190602001209050610b9481846115dd565b95945050505050565b6000610997827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c01573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034c919061212c565b600054610100900460ff1615808015610c455750600054600160ff909116105b80610c5f5750303b158015610c5f575060005460ff166001145b610c7b5760405162461bcd60e51b81526004016109f3906121f7565b6000805460ff191660011790558015610c9e576000805461ff0019166101001790555b801561025b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6040513390600090610cfe9083908790602001611f7e565b604051602081830303815290604052805190602001209050610d53818585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506110a692505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca86868660405161050693929190611fbb565b600080600080610da08686610f6c565b9250925092506000610dc8828411610db957600061126d565b610dc38385612385565b61126d565b610dd29085612061565b60001315979650505050505050565b6000610997827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610313919061212c565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610ecd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef19190611ffc565b610f0e5760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040902054610f32908290612061565b6001600160a01b0390921660009081526002602052604090209190915550565b600080610f5f8484610f6c565b5050600013949350505050565b6001600160a01b038216600090815260026020526040812054908080610f91866108f4565b905060005b815181101561109d576000806000848481518110610fb657610fb6612398565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa158015611015573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103991906123ae565b9194509250905061104a82886123dc565b965061105681876123dc565b955061107381831161106957600061126d565b610dc38284612385565b61107d848a612061565b6110879190612089565b975050505080611096906123ef565b9050610f96565b50509250925092565b60005b81518110156110e75760008282815181106110c6576110c6612398565b60200260200101519050808285015550806110e0906123ef565b90506110a9565b505050565b6000805b8281101561111e5783810154801561110d57600192505050610997565b50611117816123ef565b90506110f0565b5060009392505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611189573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ad9190612408565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa158015611243573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112679190612408565b91505090565b60006001600160ff1b038211156112d75760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016109f3565b5090565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161132091815260200190565b60405180910390a3505050565b60005b818110156110e757600083820155611347816123ef565b9050611330565b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b1580156113cf57600080fd5b505af11580156113e3573d6000803e3d6000fd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b15801561146857600080fd5b505af115801561147c573d6000803e3d6000fd5b5050505050565b600e546001600160a01b031661149857600080fd5b6000806114a48561166d565b600e546040516370a0823160e01b81523060048201529294509092506000916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156114f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611519919061212c565b600e54909150611534906001600160a01b031689308661172c565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa15801561157d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a1919061212c565b905060006115af8383612385565b90508085146115bd57600080fd5b6115d08b8a868a51600014158b8b61178c565b5050505050505050505050565b60608167ffffffffffffffff8111156115f8576115f8611b89565b604051908082528060200260200182016040528015611621578160200160208202803683370190505b50905060005b828110156116665760008185015490508083838151811061164a5761164a612398565b60209081029190910101525061165f816123ef565b9050611627565b5092915050565b60008060006012600e60149054906101000a900460ff1660ff1610156116cf57600e546116a590600160a01b900460ff166012612425565b6116b090600a612522565b90506116bc8185612531565b92506116c88184612553565b9150611726565b600e546012600160a01b90910460ff16111561171f57600e546116fe90601290600160a01b900460ff16612425565b61170990600a612522565b90506117158185612553565b9250839150611726565b8391508192505b50915091565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526117869085906117b1565b50505050565b6001600160a01b03851661179f57600080fd5b6117a98585611886565b505050505050565b6000611806826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166118e09092919063ffffffff16565b90508051600014806118275750808060200190518101906118279190611ffc565b6110e75760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016109f3565b61188f8161126d565b6001600160a01b0383166000908152600260205260409020546118b29190612061565b6001600160a01b0383166000908152600260205260409020556003546118d99082906123dc565b6003555050565b60606118ef84846000856118f7565b949350505050565b6060824710156119585760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016109f3565b600080866001600160a01b03168587604051611974919061256a565b60006040518083038185875af1925050503d80600081146119b1576040519150601f19603f3d011682016040523d82523d6000602084013e6119b6565b606091505b50915091506119c7878383876119d2565b979650505050505050565b60608315611a41578251600003611a3a576001600160a01b0385163b611a3a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016109f3565b50816118ef565b6118ef8383815115611a565781518083602001fd5b8060405162461bcd60e51b81526004016109f39190612586565b6001600160a01b038116811461025b57600080fd5b8035611a9081611a70565b919050565b60008083601f840112611aa757600080fd5b50813567ffffffffffffffff811115611abf57600080fd5b6020830191508360208260051b8501011115611ada57600080fd5b9250929050565b60008060008060608587031215611af757600080fd5b8435611b0281611a70565b935060208501359250604085013567ffffffffffffffff811115611b2557600080fd5b611b3187828801611a95565b95989497509550505050565b600080600060408486031215611b5257600080fd5b83359250602084013567ffffffffffffffff811115611b7057600080fd5b611b7c86828701611a95565b9497909650939450505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611bc857611bc8611b89565b604052919050565b801515811461025b57600080fd5b8035611a9081611bd0565b600080600080600080600060e0888a031215611c0457600080fd5b8735965060208089013567ffffffffffffffff80821115611c2457600080fd5b818b0191508b601f830112611c3857600080fd5b813581811115611c4a57611c4a611b89565b611c5c601f8201601f19168501611b9f565b91508082528c84828501011115611c7257600080fd5b8084840185840137600084828401015250809850505050611c9560408901611a85565b9450611ca360608901611bde565b9350611cb160808901611a85565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215611ce057600080fd5b50508035926020909101359150565b600060208284031215611d0157600080fd5b8135611d0c81611a70565b9392505050565b6020808252825182820181905260009190848201906040850190845b81811015611d545783516001600160a01b031683529284019291840191600101611d2f565b50909695505050505050565b60008083601f840112611d7257600080fd5b50813567ffffffffffffffff811115611d8a57600080fd5b602083019150836020828501011115611ada57600080fd5b60008060008060008060808789031215611dbb57600080fd5b8635611dc681611a70565b9550602087013560ff81168114611ddc57600080fd5b9450604087013567ffffffffffffffff80821115611df957600080fd5b611e058a838b01611d60565b90965094506060890135915080821115611e1e57600080fd5b50611e2b89828a01611d60565b979a9699509497509295939492505050565b600060208284031215611e4f57600080fd5b5035919050565b60008060008060808587031215611e6c57600080fd5b8435611e7781611a70565b93506020850135611e8781611a70565b93969395505050506040820135916060013590565b6020808252825182820181905260009190848201906040850190845b81811015611d5457835183529284019291840191600101611eb8565b600080600060608486031215611ee957600080fd5b8335611ef481611a70565b95602085013595506040909401359392505050565b60008060408385031215611f1c57600080fd5b8235611f2781611a70565b946020939093013593505050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b03831115611fe257600080fd5b8260051b8085606085013791909101606001949350505050565b60006020828403121561200e57600080fd5b8151611d0c81611bd0565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b820161204457612044612019565b5060000390565b634e487b7160e01b600052600160045260246000fd5b808201828112600083128015821682158216171561208157612081612019565b505092915050565b818103600083128015838313168383128216171561166657611666612019565b60005b838110156120c45781810151838201526020016120ac565b50506000910152565b600081518084526120e58160208601602086016120a9565b601f01601f19169290920160200192915050565b85815260018060a01b038516602082015283604082015282606082015260a0608082015260006119c760a08301846120cd565b60006020828403121561213e57600080fd5b5051919050565b6000602080838503121561215857600080fd5b825167ffffffffffffffff8082111561217057600080fd5b818501915085601f83011261218457600080fd5b81518181111561219657612196611b89565b8060051b91506121a7848301611b9f565b81815291830184019184810190888411156121c157600080fd5b938501935b838510156121eb57845192506121db83611a70565b82825293850193908501906121c6565b98975050505050505050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600181811c9082168061225957607f821691505b60208210810361227957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156110e757600081815260208120601f850160051c810160208610156122a65750805b601f850160051c820191505b818110156117a9578281556001016122b2565b67ffffffffffffffff8311156122dd576122dd611b89565b6122f1836122eb8354612245565b8361227f565b6000601f841160018114612325576000851561230d5750838201355b600019600387901b1c1916600186901b17835561147c565b600083815260209020601f19861690835b828110156123565786850135825560209485019460019092019101612336565b50868210156123735760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8181038181111561099757610997612019565b634e487b7160e01b600052603260045260246000fd5b6000806000606084860312156123c357600080fd5b8351925060208401519150604084015190509250925092565b8082018082111561099757610997612019565b60006001820161240157612401612019565b5060010190565b60006020828403121561241a57600080fd5b8151611d0c81611a70565b60ff828116828216039081111561099757610997612019565b600181815b8085111561247957816000190482111561245f5761245f612019565b8085161561246c57918102915b93841c9390800290612443565b509250929050565b60008261249057506001610997565b8161249d57506000610997565b81600181146124b357600281146124bd576124d9565b6001915050610997565b60ff8411156124ce576124ce612019565b50506001821b610997565b5060208310610133831016604e8410600b84101617156124fc575081810a610997565b612506838361243e565b806000190482111561251a5761251a612019565b029392505050565b6000611d0c60ff841683612481565b60008261254e57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761099757610997612019565b6000825161257c8184602087016120a9565b9190910192915050565b602081526000611d0c60208301846120cd56fea26469706673582212200d22364608a1c3087bc3c267d957a814cda7c212c5a0b8735ed088a8c96cf57b64736f6c63430008130033",yw=eb=>eb.length>1;class yM extends uw.lV{constructor(...eb){yw(eb)?super(...eb):super(yH,yV,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(yH)}static connect(eb,em){return new uw.CH(eb,yH,em)}}yM.bytecode=yV,yM.abi=yH;let yC=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"CIF_NFT_ONLY_CONSTANT_OUTFLOW",type:"error"},{inputs:[{internalType:"string",name:"_name",type:"string"}],name:"STORAGE_LOCATION_CHANGED",type:"error"},{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:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{inputs:[],name:"CONSTANT_FLOW_AGREEMENT_V1",outputs:[{internalType:"contract IConstantFlowAgreementV1",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_BASE_URI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],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:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"newTokenId",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],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:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",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:"pure",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"validateStorageLayout",outputs:[],stateMutability:"nonpayable",type:"function"}],yx="0x60e06040523480156200001157600080fd5b506040516200212638038062002126833981016040819052620000349162000103565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201528391839183919063b6d200de90602401602060405180830381865afa158015620000a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ca919062000142565b6001600160a01b039081166080529190911660c052506200016992505050565b6001600160a01b03811681146200010057600080fd5b50565b600080604083850312156200011757600080fd5b82516200012481620000ea565b60208401519092506200013781620000ea565b809150509250929050565b6000602082840312156200015557600080fd5b81516200016281620000ea565b9392505050565b60805160a05160c051611f6a620001bc6000396000818161046001528181610657015281816106c901526109aa0152600081816102ef0152610714015260008181610256015261105e0152611f6a6000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806352d1902d116101045780639903ad38116100a2578063c87b56dd11610071578063c87b56dd14610435578063e985e9c514610448578063ef43d2c61461045b578063f99a38c41461024f57600080fd5b80639903ad38146103ff578063a22cb46514610407578063a497325b1461041a578063b88d4fde1461042257600080fd5b806370a08231116100de57806370a082311461037757806389f71d2d1461038b5780638d47859e1461039e57806395d89b41146103f757600080fd5b806352d1902d1461032c5780636352211e1461035c5780636c0360eb1461036f57600080fd5b806340c10f1911610171578063469519541161014b57806346951954146102d757806349f289dc146102ea5780634cd88b761461031157806350d75d251461032457600080fd5b806340c10f191461029e57806342842e0e146102b157806342966c68146102c457600080fd5b8063095ea7b3116101ad578063095ea7b31461023c578063181561011461025157806323b872dd146102785780632f3885601461028b57600080fd5b806301ffc9a7146101d457806306fdde03146101fc578063081812fc14610211575b600080fd5b6101e76101e23660046115f2565b610482565b60405190151581526020015b60405180910390f35b6102046104d4565b6040516101f39190611640565b61022461021f366004611673565b610566565b6040516001600160a01b0390911681526020016101f3565b61024f61024a3660046116a1565b61058d565b005b6102247f000000000000000000000000000000000000000000000000000000000000000081565b61024f6102863660046116cd565b610619565b61024f610299366004611673565b610640565b61024f6102ac3660046116a1565b61064c565b61024f6102bf3660046116cd565b6106a3565b61024f6102d2366004611673565b6106be565b61024f6102e536600461170e565b610710565b6102247f000000000000000000000000000000000000000000000000000000000000000081565b61024f61031f3660046117f8565b6107c8565b6102246108ae565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e5b6040519081526020016101f3565b61022461036a366004611673565b6108dd565b6102046108f9565b61034e61038536600461170e565b50600190565b61034e61039936600461185c565b610919565b6103b16103ac366004611673565b61096c565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff16918101919091526080016101f3565b610204610a15565b61024f610a24565b61024f6104153660046118a7565b610ae6565b610204610af1565b61024f6104303660046118e5565b610b0d565b610204610443366004611673565b610b46565b6101e7610456366004611965565b610b53565b6102247f000000000000000000000000000000000000000000000000000000000000000081565b60006301ffc9a760e01b6001600160e01b0319831614806104b357506380ac58cd60e01b6001600160e01b03198316145b806104ce5750635b5e139f60e01b6001600160e01b03198316145b92915050565b6060600180546104e390611993565b80601f016020809104026020016040519081016040528092919081815260200182805461050f90611993565b801561055c5780601f106105315761010080835404028352916020019161055c565b820191906000526020600020905b81548152906001019060200180831161053f57829003601f168201915b5050505050905090565b600061057182610b81565b506000908152600360205260409020546001600160a01b031690565b6000610598826108dd565b9050806001600160a01b0316836001600160a01b0316036105cc5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b038216148015906105ec57506105ea8133610b53565b155b1561060a5760405163519a92c160e11b815260040160405180910390fd5b6106148383610b9a565b505050565b6106233382610bf3565b610614576040516312a8eb0360e11b815260040160405180910390fd5b61064981610c51565b50565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106955760405163740f7abd60e11b815260040160405180910390fd5b61069f8282610c81565b5050565b61061483838360405180602001604052806000815250610b0d565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107075760405163740f7abd60e11b815260040160405180910390fd5b61064981610cbd565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079491906119cd565b9050336001600160a01b038216146107bf5760405163ebb7505b60e01b815260040160405180910390fd5b61069f82610d30565b600054610100900460ff16158080156107e85750600054600160ff909116105b806108025750303b158015610802575060005460ff166001145b6108275760405162461bcd60e51b815260040161081e906119ea565b60405180910390fd5b6000805460ff19166001179055801561084a576000805461ff0019166101001790555b60016108568482611a86565b5060026108638382611a86565b508015610614576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60006108d87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b60008060405163eab95e3b60e01b815260040160405180910390fd5b60606040518060600160405280602d8152602001611f08602d9139905090565b60408051466020808301919091526001600160a01b0380871683850152808616606084015284166080808401919091528351808403909101815260a090920190925280519101206000905b949350505050565b60408051608081018252600080825260208201819052818301819052606082015290516346a3c2cf60e11b8152600481018390526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638d47859e90602401608060405180830381865afa1580156109f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ce9190611b46565b6060600280546104e390611993565b600054610100900460ff1615808015610a445750600054600160ff909116105b80610a5e5750303b158015610a5e575060005460ff166001145b610a7a5760405162461bcd60e51b815260040161081e906119ea565b6000805460ff191660011790558015610a9d576000805461ff0019166101001790555b8015610649576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61069f338383610f6a565b6040518060600160405280602d8152602001611f08602d913981565b610b173383610bf3565b610b34576040516312a8eb0360e11b815260040160405180910390fd5b610b4084848484611009565b50505050565b60606104ce82600161100e565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b60405163eab95e3b60e01b815260040160405180910390fd5b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925908290a45050565b600080610bff836108dd565b9050806001600160a01b0316846001600160a01b03161480610c265750610c268185610b53565b806109645750836001600160a01b0316610c3f84610566565b6001600160a01b031614949350505050565b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce790602001610adb565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000610cc88261096c565b600083815260036020526040902080546001600160a01b031916905590508160006001600160a01b031682604001516001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000610d5a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610db05760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c65000000604482015260640161081e565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e129190611bd4565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e14610e8c5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b606482015260840161081e565b6001600160a01b0381163003610ee45760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f7000000000000000604482015260640161081e565b610f0c817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e604080519182526001600160a01b038416602083015201610adb565b816001600160a01b0316836001600160a01b031603610f9c5760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610b40565b6060600061101b8461096c565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa1580156110a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c99190611bed565b50509150506110d66108f9565b6110ed826bffffffffffffffffffffffff16611169565b8661111457604051806040016040528060048152602001637472756560e01b815250611133565b6040518060400160405280600581526020016466616c736560d81b8152505b61113c896111fc565b60405160200161114f9493929190611c4d565b604051602081830303815290604052935050505092915050565b6060600061117683611377565b600101905060008167ffffffffffffffff8111156111965761119661172b565b6040519080825280601f01601f1916602001820160405280156111c0576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846111ca57509392505050565b606060006112098361096c565b905061122381600001516001600160a01b0316601461144f565b61122c46611169565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561126e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112969190810190611cd5565b6112ae84602001516001600160a01b0316601461144f565b6112c685604001516001600160a01b0316601461144f565b61133786600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561130b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132f9190611d4c565b60ff16611169565b61134a876060015163ffffffff16611169565b6040516020016113609796959493929190611d6f565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106113b65772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106113e2576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061140057662386f26fc10000830492506010015b6305f5e1008310611418576305f5e100830492506008015b612710831061142c57612710830492506004015b6064831061143e576064830492506002015b600a83106104ce5760010192915050565b6060600061145e836002611eb0565b611469906002611ec7565b67ffffffffffffffff8111156114815761148161172b565b6040519080825280601f01601f1916602001820160405280156114ab576020820181803683370190505b509050600360fc1b816000815181106114c6576114c6611eda565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106114f5576114f5611eda565b60200101906001600160f81b031916908160001a9053506000611519846002611eb0565b611524906001611ec7565b90505b600181111561159c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061155857611558611eda565b1a60f81b82828151811061156e5761156e611eda565b60200101906001600160f81b031916908160001a90535060049490941c9361159581611ef0565b9050611527565b5083156115eb5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161081e565b9392505050565b60006020828403121561160457600080fd5b81356001600160e01b0319811681146115eb57600080fd5b60005b8381101561163757818101518382015260200161161f565b50506000910152565b602081526000825180602084015261165f81604085016020870161161c565b601f01601f19169190910160400192915050565b60006020828403121561168557600080fd5b5035919050565b6001600160a01b038116811461064957600080fd5b600080604083850312156116b457600080fd5b82356116bf8161168c565b946020939093013593505050565b6000806000606084860312156116e257600080fd5b83356116ed8161168c565b925060208401356116fd8161168c565b929592945050506040919091013590565b60006020828403121561172057600080fd5b81356115eb8161168c565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561176a5761176a61172b565b604052919050565b600067ffffffffffffffff82111561178c5761178c61172b565b50601f01601f191660200190565b60006117ad6117a884611772565b611741565b90508281528383830111156117c157600080fd5b828260208301376000602084830101529392505050565b600082601f8301126117e957600080fd5b6115eb8383356020850161179a565b6000806040838503121561180b57600080fd5b823567ffffffffffffffff8082111561182357600080fd5b61182f868387016117d8565b9350602085013591508082111561184557600080fd5b50611852858286016117d8565b9150509250929050565b60008060006060848603121561187157600080fd5b833561187c8161168c565b9250602084013561188c8161168c565b9150604084013561189c8161168c565b809150509250925092565b600080604083850312156118ba57600080fd5b82356118c58161168c565b9150602083013580151581146118da57600080fd5b809150509250929050565b600080600080608085870312156118fb57600080fd5b84356119068161168c565b935060208501356119168161168c565b925060408501359150606085013567ffffffffffffffff81111561193957600080fd5b8501601f8101871361194a57600080fd5b6119598782356020840161179a565b91505092959194509250565b6000806040838503121561197857600080fd5b82356119838161168c565b915060208301356118da8161168c565b600181811c908216806119a757607f821691505b6020821081036119c757634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156119df57600080fd5b81516115eb8161168c565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f82111561061457600081815260208120601f850160051c81016020861015611a5f5750805b601f850160051c820191505b81811015611a7e57828155600101611a6b565b505050505050565b815167ffffffffffffffff811115611aa057611aa061172b565b611ab481611aae8454611993565b84611a38565b602080601f831160018114611ae95760008415611ad15750858301515b600019600386901b1c1916600185901b178555611a7e565b600085815260208120601f198616915b82811015611b1857888601518255948401946001909101908401611af9565b5085821015611b365787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060808284031215611b5857600080fd5b6040516080810181811067ffffffffffffffff82111715611b7b57611b7b61172b565b6040528251611b898161168c565b81526020830151611b998161168c565b60208201526040830151611bac8161168c565b6040820152606083015163ffffffff81168114611bc857600080fd5b60608201529392505050565b600060208284031215611be657600080fd5b5051919050565b60008060008060808587031215611c0357600080fd5b84519350602085015180600b0b8114611c1b57600080fd5b6040860151606090960151949790965092505050565b60008151611c4381856020860161161c565b9290920192915050565b60008551611c5f818460208a0161161c565b693f666c6f77526174653d60b01b9083019081528551611c8681600a840160208a0161161c565b69266f7574676f696e673d60b01b600a92909101918201528451611cb181601484016020890161161c565b8451910190611cc781601484016020880161161c565b016014019695505050505050565b600060208284031215611ce757600080fd5b815167ffffffffffffffff811115611cfe57600080fd5b8201601f81018413611d0f57600080fd5b8051611d1d6117a882611772565b818152856020838501011115611d3257600080fd5b611d4382602083016020860161161c565b95945050505050565b600060208284031215611d5e57600080fd5b815160ff811681146115eb57600080fd5b6e26746f6b656e5f616464726573733d60881b815260008851611d9981600f850160208d0161161c565b6926636861696e5f69643d60b01b600f918401918201528851611dc3816019840160208d0161161c565b6d26746f6b656e5f73796d626f6c3d60901b601992909101918201528751611df2816027840160208c0161161c565b672673656e6465723d60c01b602792909101918201528651611e1b81602f840160208b0161161c565b692672656365697665723d60b01b602f9290910191820152611e8c611e86611e6e611e68611e4c603986018b611c31565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b88611c31565b6b2673746172745f646174653d60a01b8152600c0190565b85611c31565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104ce576104ce611e9a565b808201808211156104ce576104ce611e9a565b634e487b7160e01b600052603260045260246000fd5b600081611eff57611eff611e9a565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a264697066735822122028d55c4a9bbf0b79218af3c60c2e8a30e043c0fda37aeee31eb16e931ba9cb9164736f6c63430008130033",yk=eb=>eb.length>1;class yT extends uw.lV{constructor(...eb){yk(eb)?super(...eb):super(yC,yx,eb[0])}deploy(eb,em,eH){return super.deploy(eb,em,eH||{})}getDeployTransaction(eb,em,eH){return super.getDeployTransaction(eb,em,eH||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(yC)}static connect(eb,em){return new uw.CH(eb,yC,em)}}yT.bytecode=yx,yT.abi=yC;let y_=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"COF_NFT_INVALID_SUPER_TOKEN",type:"error"},{inputs:[],name:"COF_NFT_MINT_TO_AND_FLOW_RECEIVER_SAME",type:"error"},{inputs:[],name:"COF_NFT_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"COF_NFT_ONLY_CONSTANT_INFLOW",type:"error"},{inputs:[],name:"COF_NFT_ONLY_FLOW_AGREEMENTS",type:"error"},{inputs:[],name:"COF_NFT_TOKEN_ALREADY_EXISTS",type:"error"},{inputs:[{internalType:"string",name:"_name",type:"string"}],name:"STORAGE_LOCATION_CHANGED",type:"error"},{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:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{inputs:[],name:"CONSTANT_FLOW_AGREEMENT_V1",outputs:[{internalType:"contract IConstantFlowAgreementV1",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_BASE_URI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],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:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onCreate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onDelete",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",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:"pure",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"validateStorageLayout",outputs:[],stateMutability:"nonpayable",type:"function"}],yS="0x60e06040523480156200001157600080fd5b50604051620023d1380380620023d1833981016040819052620000349162000103565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201528391839183919063b6d200de90602401602060405180830381865afa158015620000a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ca919062000142565b6001600160a01b039081166080529190911660c052506200016992505050565b6001600160a01b03811681146200010057600080fd5b50565b600080604083850312156200011757600080fd5b82516200012481620000ea565b60208401519092506200013781620000ea565b809150509250929050565b6000602082840312156200015557600080fd5b81516200016281620000ea565b9392505050565b60805160a05160c051612200620001d1600039600081816102fb01528181610b2c01528181610c260152610d3d0152600081816102d4015261068901526000818161026101528181610a9f01528181610ba201528181610c9e01526111e601526122006000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80636c0360eb11610104578063a497325b116100a2578063eb54a7ca11610071578063eb54a7ca14610467578063ef1f02371461047a578063f7e3d9831461048d578063f99a38c41461025a57600080fd5b8063a497325b14610426578063b88d4fde1461042e578063c87b56dd14610441578063e985e9c51461045457600080fd5b80638d47859e116100de5780638d47859e146103aa57806395d89b41146104035780639903ad381461040b578063a22cb4651461041357600080fd5b80636c0360eb1461037b57806370a082311461038357806389f71d2d1461039757600080fd5b806342842e0e1161017c5780634cd88b761161014b5780634cd88b761461031d57806350d75d251461033057806352d1902d146103385780636352211e1461036857600080fd5b806342842e0e146102a957806346951954146102bc57806349f289dc146102cf5780634c5c0c85146102f657600080fd5b8063095ea7b3116101b8578063095ea7b314610247578063181561011461025c57806323b872dd146102835780632f3885601461029657600080fd5b806301ffc9a7146101df57806306fdde0314610207578063081812fc1461021c575b600080fd5b6101f26101ed366004611900565b6104a0565b60405190151581526020015b60405180910390f35b61020f6104f2565b6040516101fe919061194e565b61022f61022a366004611981565b610584565b6040516001600160a01b0390911681526020016101fe565b61025a6102553660046119af565b6105ab565b005b61022f7f000000000000000000000000000000000000000000000000000000000000000081565b61025a6102913660046119db565b610637565b61025a6102a4366004611981565b61065e565b61025a6102b73660046119db565b61066a565b61025a6102ca366004611a1c565b610685565b61022f7f000000000000000000000000000000000000000000000000000000000000000081565b61022f7f000000000000000000000000000000000000000000000000000000000000000081565b61025a61032b366004611b06565b610741565b61022f610827565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b7845b6040519081526020016101fe565b61022f610376366004611981565b610856565b61020f610872565b61035a610391366004611a1c565b50600190565b61035a6103a5366004611b6a565b610892565b6103bd6103b8366004611981565b6108a7565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff16918101919091526080016101fe565b61020f610928565b61025a610937565b61025a610421366004611bb5565b6109f9565b61020f610a04565b61025a61043c366004611bf3565b610a20565b61020f61044f366004611981565b610a59565b6101f2610462366004611c73565b610a66565b61025a610475366004611b6a565b610a94565b61025a610488366004611b6a565b610b97565b61025a61049b366004611b6a565b610c93565b60006301ffc9a760e01b6001600160e01b0319831614806104d157506380ac58cd60e01b6001600160e01b03198316145b806104ec5750635b5e139f60e01b6001600160e01b03198316145b92915050565b60606001805461050190611ca1565b80601f016020809104026020016040519081016040528092919081815260200182805461052d90611ca1565b801561057a5780601f1061054f5761010080835404028352916020019161057a565b820191906000526020600020905b81548152906001019060200180831161055d57829003601f168201915b5050505050905090565b600061058f82610d6c565b506000908152600360205260409020546001600160a01b031690565b60006105b682610856565b9050806001600160a01b0316836001600160a01b0316036105ea5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b0382161480159061060a57506106088133610a66565b155b156106285760405163519a92c160e11b815260040160405180910390fd5b6106328383610d85565b505050565b6106413382610dde565b610632576040516312a8eb0360e11b815260040160405180910390fd5b61066781610e3c565b50565b61063283838360405180602001604052806000815250610a20565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107099190611cdb565b9050336001600160a01b038216146107345760405163ebb7505b60e01b815260040160405180910390fd5b61073d82610e6c565b5050565b600054610100900460ff16158080156107615750600054600160ff909116105b8061077b5750303b15801561077b575060005460ff166001145b6107a05760405162461bcd60e51b815260040161079790611cf8565b60405180910390fd5b6000805460ff1916600117905580156107c3576000805461ff0019166101001790555b60016107cf8482611d94565b5060026107dc8382611d94565b508015610632576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60006108517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b60008060405163eab95e3b60e01b815260040160405180910390fd5b60606040518060600160405280602d815260200161219e602d9139905090565b600061089f8484846110a6565b949350505050565b60408051608081018252600080825260208201819052918101829052606081019190915250600090815260166020908152604091829020825160808101845281546001600160a01b039081168252600183015481169382019390935260029091015491821692810192909252600160a01b900463ffffffff16606082015290565b60606002805461050190611ca1565b600054610100900460ff16158080156109575750600054600160ff909116105b806109715750303b158015610971575060005460ff166001145b61098d5760405162461bcd60e51b815260040161079790611cf8565b6000805460ff1916600117905580156109b0576000805461ff0019166101001790555b8015610667576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61073d3383836110f2565b6040518060600160405280602d815260200161219e602d913981565b610a2a3383610dde565b610a47576040516312a8eb0360e11b815260040160405180910390fd5b610a5384848484611191565b50505050565b60606104ec826000611196565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610add5760405163d367b64f60e01b815260040160405180910390fd5b6000610aea8484846110a6565b6000818152601660205260409020600101549091506001600160a01b031615610a5357610b1681610e3c565b604051630179c42b60e51b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632f388560906024015b600060405180830381600087803b158015610b7957600080fd5b505af1158015610b8d573d6000803e3d6000fd5b5050505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610be05760405163d367b64f60e01b815260040160405180910390fd5b6000610bed8484846110a6565b6000818152601660205260409020600101549091506001600160a01b031615610a5357604051630852cd8d60e31b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c6890602401600060405180830381600087803b158015610c7257600080fd5b505af1158015610c86573d6000803e3d6000fd5b50505050610a53816112f1565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cdc5760405163d367b64f60e01b815260040160405180910390fd5b6000610ce98484846110a6565b6000818152601660205260409020600101549091506001600160a01b0316610a5357610d1784848484611370565b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401610b5f565b60405163eab95e3b60e01b815260040160405180910390fd5b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925908290a45050565b600080610dea83610856565b9050806001600160a01b0316846001600160a01b03161480610e115750610e118185610a66565b8061089f5750836001600160a01b0316610e2a84610584565b6001600160a01b031614949350505050565b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7906020016109ee565b6000610e967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610eec5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610797565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4e9190611e54565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b78414610fc85760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610797565b6001600160a01b03811630036110205760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610797565b611048817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b784604080519182526001600160a01b0384166020830152016109ee565b60408051466020808301919091526001600160a01b03958616828401529385166060820152919093166080808301919091528351808303909101815260a0909101909252815191012090565b816001600160a01b0316836001600160a01b0316036111245760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610a53565b606060006111a3846108a7565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa15801561122d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112519190611e6d565b505091505061125e610872565b611275826bffffffffffffffffffffffff16611477565b8661129c57604051806040016040528060048152602001637472756560e01b8152506112bb565b6040518060400160405280600581526020016466616c736560d81b8152505b6112c48961150a565b6040516020016112d79493929190611ecd565b604051602081830303815290604052935050505092915050565b600081815260036020908152604080832080546001600160a01b03199081169091556016909252808320805483168155600181018054909316909255600290910180546001600160c01b0319169055518290829081907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160a01b03831661138657611386611f55565b816001600160a01b0316836001600160a01b0316036113a7576113a7611f55565b604080516080810182526001600160a01b038087168252858116602080840182815287841685870190815263ffffffff4281166060880190815260008a81526016909552888520975188549088166001600160a01b0319918216178955935160018901805491891691909516179093559051600290960180549251909116600160a01b026001600160c01b03199092169590941694909417939093179091559151839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a450505050565b6060600061148483611685565b600101905060008167ffffffffffffffff8111156114a4576114a4611a39565b6040519080825280601f01601f1916602001820160405280156114ce576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846114d857509392505050565b60606000611517836108a7565b905061153181600001516001600160a01b0316601461175d565b61153a46611477565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561157c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115a49190810190611f6b565b6115bc84602001516001600160a01b0316601461175d565b6115d485604001516001600160a01b0316601461175d565b61164586600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163d9190611fe2565b60ff16611477565b611658876060015163ffffffff16611477565b60405160200161166e9796959493929190612005565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106116c45772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106116f0576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061170e57662386f26fc10000830492506010015b6305f5e1008310611726576305f5e100830492506008015b612710831061173a57612710830492506004015b6064831061174c576064830492506002015b600a83106104ec5760010192915050565b6060600061176c836002612146565b61177790600261215d565b67ffffffffffffffff81111561178f5761178f611a39565b6040519080825280601f01601f1916602001820160405280156117b9576020820181803683370190505b509050600360fc1b816000815181106117d4576117d4612170565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061180357611803612170565b60200101906001600160f81b031916908160001a9053506000611827846002612146565b61183290600161215d565b90505b60018111156118aa576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061186657611866612170565b1a60f81b82828151811061187c5761187c612170565b60200101906001600160f81b031916908160001a90535060049490941c936118a381612186565b9050611835565b5083156118f95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610797565b9392505050565b60006020828403121561191257600080fd5b81356001600160e01b0319811681146118f957600080fd5b60005b8381101561194557818101518382015260200161192d565b50506000910152565b602081526000825180602084015261196d81604085016020870161192a565b601f01601f19169190910160400192915050565b60006020828403121561199357600080fd5b5035919050565b6001600160a01b038116811461066757600080fd5b600080604083850312156119c257600080fd5b82356119cd8161199a565b946020939093013593505050565b6000806000606084860312156119f057600080fd5b83356119fb8161199a565b92506020840135611a0b8161199a565b929592945050506040919091013590565b600060208284031215611a2e57600080fd5b81356118f98161199a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611a7857611a78611a39565b604052919050565b600067ffffffffffffffff821115611a9a57611a9a611a39565b50601f01601f191660200190565b6000611abb611ab684611a80565b611a4f565b9050828152838383011115611acf57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611af757600080fd5b6118f983833560208501611aa8565b60008060408385031215611b1957600080fd5b823567ffffffffffffffff80821115611b3157600080fd5b611b3d86838701611ae6565b93506020850135915080821115611b5357600080fd5b50611b6085828601611ae6565b9150509250929050565b600080600060608486031215611b7f57600080fd5b8335611b8a8161199a565b92506020840135611b9a8161199a565b91506040840135611baa8161199a565b809150509250925092565b60008060408385031215611bc857600080fd5b8235611bd38161199a565b915060208301358015158114611be857600080fd5b809150509250929050565b60008060008060808587031215611c0957600080fd5b8435611c148161199a565b93506020850135611c248161199a565b925060408501359150606085013567ffffffffffffffff811115611c4757600080fd5b8501601f81018713611c5857600080fd5b611c6787823560208401611aa8565b91505092959194509250565b60008060408385031215611c8657600080fd5b8235611c918161199a565b91506020830135611be88161199a565b600181811c90821680611cb557607f821691505b602082108103611cd557634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611ced57600080fd5b81516118f98161199a565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f82111561063257600081815260208120601f850160051c81016020861015611d6d5750805b601f850160051c820191505b81811015611d8c57828155600101611d79565b505050505050565b815167ffffffffffffffff811115611dae57611dae611a39565b611dc281611dbc8454611ca1565b84611d46565b602080601f831160018114611df75760008415611ddf5750858301515b600019600386901b1c1916600185901b178555611d8c565b600085815260208120601f198616915b82811015611e2657888601518255948401946001909101908401611e07565b5085821015611e445787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215611e6657600080fd5b5051919050565b60008060008060808587031215611e8357600080fd5b84519350602085015180600b0b8114611e9b57600080fd5b6040860151606090960151949790965092505050565b60008151611ec381856020860161192a565b9290920192915050565b60008551611edf818460208a0161192a565b693f666c6f77526174653d60b01b9083019081528551611f0681600a840160208a0161192a565b69266f7574676f696e673d60b01b600a92909101918201528451611f3181601484016020890161192a565b8451910190611f4781601484016020880161192a565b016014019695505050505050565b634e487b7160e01b600052600160045260246000fd5b600060208284031215611f7d57600080fd5b815167ffffffffffffffff811115611f9457600080fd5b8201601f81018413611fa557600080fd5b8051611fb3611ab682611a80565b818152856020838501011115611fc857600080fd5b611fd982602083016020860161192a565b95945050505050565b600060208284031215611ff457600080fd5b815160ff811681146118f957600080fd5b6e26746f6b656e5f616464726573733d60881b81526000885161202f81600f850160208d0161192a565b6926636861696e5f69643d60b01b600f918401918201528851612059816019840160208d0161192a565b6d26746f6b656e5f73796d626f6c3d60901b601992909101918201528751612088816027840160208c0161192a565b672673656e6465723d60c01b6027929091019182015286516120b181602f840160208b0161192a565b692672656365697665723d60b01b602f929091019182015261212261211c6121046120fe6120e2603986018b611eb1565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b88611eb1565b6b2673746172745f646174653d60a01b8152600c0190565b85611eb1565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104ec576104ec612130565b808201808211156104ec576104ec612130565b634e487b7160e01b600052603260045260246000fd5b60008161219557612195612130565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a2646970667358221220bae73b32b96d11a393102562e7fd07027644bc26ec463d472ffc22532e03147764736f6c63430008130033",yE=eb=>eb.length>1;class yA extends uw.lV{constructor(...eb){yE(eb)?super(...eb):super(y_,yS,eb[0])}deploy(eb,em,eH){return super.deploy(eb,em,eH||{})}getDeployTransaction(eb,em,eH){return super.getDeployTransaction(eb,em,eH||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(y_)}static connect(eb,em){return new uw.CH(eb,y_,em)}}yA.bytecode=yS,yA.abi=y_;let yN=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{inputs:[{internalType:"string",name:"_name",type:"string"}],name:"STORAGE_LOCATION_CHANGED",type:"error"},{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:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{inputs:[],name:"CONSTANT_FLOW_AGREEMENT_V1",outputs:[{internalType:"contract IConstantFlowAgreementV1",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_BASE_URI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],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:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",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:"pure",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"validateStorageLayout",outputs:[],stateMutability:"nonpayable",type:"function"}],yI="0x60c060405234801561001057600080fd5b5060405161148e38038061148e83398101604081905261002f916100ea565b6001600160a01b03811660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015282919063b6d200de90602401602060405180830381865afa15801561009a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100be91906100ea565b6001600160a01b03166080525061010e9050565b6001600160a01b03811681146100e757600080fd5b50565b6000602082840312156100fc57600080fd5b8151610107816100d2565b9392505050565b60805160a05161135461013a60003960008181610288015261060e0152600061021501526113546000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80636352211e116100de5780639903ad3811610097578063b88d4fde11610071578063b88d4fde146103de578063c87b56dd146103f1578063e985e9c514610412578063f99a38c41461020e57600080fd5b80639903ad38146103bb578063a22cb465146103c3578063a497325b146103d657600080fd5b80636352211e146102f55780636c0360eb1461030857806370a082311461031057806389f71d2d146103245780638d47859e1461033757806395d89b41146103b357600080fd5b80632f3885601161014b57806349f289dc1161012557806349f289dc146102835780634cd88b76146102aa57806350d75d25146102bd57806352d1902d146102c557600080fd5b80632f3885601461024a57806342842e0e1461025d578063469519541461027057600080fd5b806301ffc9a71461019357806306fdde03146101bb578063081812fc146101d0578063095ea7b3146101fb578063181561011461021057806323b872dd14610237575b600080fd5b6101a66101a1366004610da7565b610425565b60405190151581526020015b60405180910390f35b6101c3610477565b6040516101b29190610dd8565b6101e36101de366004610e26565b610509565b6040516001600160a01b0390911681526020016101b2565b61020e610209366004610e54565b610530565b005b6101e37f000000000000000000000000000000000000000000000000000000000000000081565b61020e610245366004610e80565b6105bc565b61020e610258366004610e26565b6105e3565b61020e61026b366004610e80565b6105ef565b61020e61027e366004610ec1565b61060a565b6101e37f000000000000000000000000000000000000000000000000000000000000000081565b61020e6102b8366004610f8a565b6106c6565b6101e36107ac565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4705b6040519081526020016101b2565b6101e3610303366004610e26565b6107db565b6101c36107f7565b6102e761031e366004610ec1565b50600190565b6102e7610332366004610fee565b610817565b61036d610345366004610e26565b5060408051608081018252600080825260208201819052918101829052606081019190915290565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff16918101919091526080016101b2565b6101c361086a565b61020e610879565b61020e6103d1366004611039565b61093b565b6101c3610946565b61020e6103ec366004611077565b610962565b6101c36103ff366004610e26565b5060408051602081019091526000815290565b6101a66104203660046110f7565b61099b565b60006301ffc9a760e01b6001600160e01b03198316148061045657506380ac58cd60e01b6001600160e01b03198316145b806104715750635b5e139f60e01b6001600160e01b03198316145b92915050565b60606001805461048690611125565b80601f01602080910402602001604051908101604052809291908181526020018280546104b290611125565b80156104ff5780601f106104d4576101008083540402835291602001916104ff565b820191906000526020600020905b8154815290600101906020018083116104e257829003601f168201915b5050505050905090565b6000610514826109c9565b506000908152600360205260409020546001600160a01b031690565b600061053b826107db565b9050806001600160a01b0316836001600160a01b03160361056f5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b0382161480159061058f575061058d813361099b565b155b156105ad5760405163519a92c160e11b815260040160405180910390fd5b6105b783836109e2565b505050565b6105c63382610a3b565b6105b7576040516312a8eb0360e11b815260040160405180910390fd5b6105ec81610a99565b50565b6105b783838360405180602001604052806000815250610962565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561066a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068e919061115f565b9050336001600160a01b038216146106b95760405163ebb7505b60e01b815260040160405180910390fd5b6106c282610ac9565b5050565b600054610100900460ff16158080156106e65750600054600160ff909116105b806107005750303b158015610700575060005460ff166001145b6107255760405162461bcd60e51b815260040161071c9061117c565b60405180910390fd5b6000805460ff191660011790558015610748576000805461ff0019166101001790555b60016107548482611218565b5060026107618382611218565b5080156105b7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60006107d67f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b60008060405163eab95e3b60e01b815260040160405180910390fd5b60606040518060600160405280602d81526020016112f2602d9139905090565b60408051466020808301919091526001600160a01b0380871683850152808616606084015284166080808401919091528351808403909101815260a090920190925280519101206000905b949350505050565b60606002805461048690611125565b600054610100900460ff16158080156108995750600054600160ff909116105b806108b35750303b1580156108b3575060005460ff166001145b6108cf5760405162461bcd60e51b815260040161071c9061117c565b6000805460ff1916600117905580156108f2576000805461ff0019166101001790555b80156105ec576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6106c2338383610d03565b6040518060600160405280602d81526020016112f2602d913981565b61096c3383610a3b565b610989576040516312a8eb0360e11b815260040160405180910390fd5b61099584848484610da2565b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b60405163eab95e3b60e01b815260040160405180910390fd5b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925908290a45050565b600080610a47836107db565b9050806001600160a01b0316846001600160a01b03161480610a6e5750610a6e818561099b565b806108625750836001600160a01b0316610a8784610509565b6001600160a01b031614949350505050565b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce790602001610930565b6000610af37f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610b495760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c65000000604482015260640161071c565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bab91906112d8565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47014610c255760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b606482015260840161071c565b6001600160a01b0381163003610c7d5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f7000000000000000604482015260640161071c565b610ca5817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470604080519182526001600160a01b038416602083015201610930565b816001600160a01b0316836001600160a01b031603610d355760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610995565b600060208284031215610db957600080fd5b81356001600160e01b031981168114610dd157600080fd5b9392505050565b600060208083528351808285015260005b81811015610e0557858101830151858201604001528201610de9565b506000604082860101526040601f19601f8301168501019250505092915050565b600060208284031215610e3857600080fd5b5035919050565b6001600160a01b03811681146105ec57600080fd5b60008060408385031215610e6757600080fd5b8235610e7281610e3f565b946020939093013593505050565b600080600060608486031215610e9557600080fd5b8335610ea081610e3f565b92506020840135610eb081610e3f565b929592945050506040919091013590565b600060208284031215610ed357600080fd5b8135610dd181610e3f565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115610f0f57610f0f610ede565b604051601f8501601f19908116603f01168101908282118183101715610f3757610f37610ede565b81604052809350858152868686011115610f5057600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112610f7b57600080fd5b610dd183833560208501610ef4565b60008060408385031215610f9d57600080fd5b823567ffffffffffffffff80821115610fb557600080fd5b610fc186838701610f6a565b93506020850135915080821115610fd757600080fd5b50610fe485828601610f6a565b9150509250929050565b60008060006060848603121561100357600080fd5b833561100e81610e3f565b9250602084013561101e81610e3f565b9150604084013561102e81610e3f565b809150509250925092565b6000806040838503121561104c57600080fd5b823561105781610e3f565b91506020830135801515811461106c57600080fd5b809150509250929050565b6000806000806080858703121561108d57600080fd5b843561109881610e3f565b935060208501356110a881610e3f565b925060408501359150606085013567ffffffffffffffff8111156110cb57600080fd5b8501601f810187136110dc57600080fd5b6110eb87823560208401610ef4565b91505092959194509250565b6000806040838503121561110a57600080fd5b823561111581610e3f565b9150602083013561106c81610e3f565b600181811c9082168061113957607f821691505b60208210810361115957634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561117157600080fd5b8151610dd181610e3f565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f8211156105b757600081815260208120601f850160051c810160208610156111f15750805b601f850160051c820191505b81811015611210578281556001016111fd565b505050505050565b815167ffffffffffffffff81111561123257611232610ede565b611246816112408454611125565b846111ca565b602080601f83116001811461127b57600084156112635750858301515b600019600386901b1c1916600185901b178555611210565b600085815260208120601f198616915b828110156112aa5788860151825594840194600190910190840161128b565b50858210156112c85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156112ea57600080fd5b505191905056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a2646970667358221220877a205347773f5fcc98d7d3586fe8459739e2a1b2347f0fc2ce37916edbb77864736f6c63430008130033",yD=eb=>eb.length>1;class yP extends uw.lV{constructor(...eb){yD(eb)?super(...eb):super(yN,yI,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(yN)}static connect(eb,em){return new uw.CH(eb,yN,em)}}yP.bytecode=yI,yP.abi=yN;let yO=[{inputs:[{internalType:"string",name:"_name",type:"string"}],name:"STORAGE_LOCATION_CHANGED",type:"error"}];class yR{static createInterface(){return new uN.vU(yO)}static connect(eb,em){return new uw.CH(eb,yO,em)}}yR.abi=yO;let yB=[{stateMutability:"payable",type:"fallback"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"callSelfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"callSelfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"callSelfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getFirstCustomTokenStorageSlot",outputs:[{internalType:"uint256",name:"slot",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"initialAddress",type:"address"}],name:"initializeProxy",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}];class yF{static createInterface(){return new uN.vU(yB)}static connect(eb,em){return new uw.CH(eb,yB,em)}}yF.abi=yB;let yj=[{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER",type:"error"},{inputs:[],name:"SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED",type:"error"},{inputs:[],name:"SUPER_TOKEN_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_NFT_PROXY_ADDRESS_CHANGED",type:"error"},{inputs:[],name:"SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_NO_UNDERLYING_TOKEN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_ADMIN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_GOV_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_SELF",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAdmin",type:"address"},{indexed:!0,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"AuthorizedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Burned",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],name:"ConstantInflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],name:"ConstantOutflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Minted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"RevokedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Sent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenDowngraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{stateMutability:"payable",type:"fallback"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"authorizeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"callSelfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"callSelfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"callSelfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"changeAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultOperators",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"activeAgreements",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAdmin",outputs:[{internalType:"address",name:"admin",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFirstCustomTokenStorageSlot",outputs:[{internalType:"uint256",name:"slot",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingDecimals",outputs:[{internalType:"uint8",name:"underlyingDecimals",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingToken",outputs:[{internalType:"address",name:"tokenAddr",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"granularity",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"initialAddress",type:"address"}],name:"initializeProxy",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"initializeWithAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"tokenHolder",type:"address"}],name:"isOperatorFor",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationApprove",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"operationDecreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationDowngrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"operationIncreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"operationSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationUpgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"revokeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"send",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"toUnderlyingAmount",outputs:[{internalType:"uint256",name:"underlyingAmount",type:"uint256"},{internalType:"uint256",name:"adjustedAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"}],name:"transferAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"upgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}];class yU{static createInterface(){return new uN.vU(yj)}static connect(eb,em){return new uw.CH(eb,yj,em)}}yU.abi=yj;let yq=[{stateMutability:"payable",type:"fallback"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"callSelfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"callSelfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"callSelfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"delegatecallSelfMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getFirstCustomTokenStorageSlot",outputs:[{internalType:"uint256",name:"slot",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"initialAddress",type:"address"}],name:"initializeProxy",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfMint",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],y$="0x608060405234801561001057600080fd5b50610754806100206000396000f3fe6080604052600436106100745760003560e01c80634c6491d21161004e5780634c6491d2146100ec5780637549c15f1461010c578063c68d42831461012c578063e27c15861461014c57610083565b80633c5441aa1461008b57806347399a7f146100ab5780634a0687ef146100cc57610083565b366100835761008161016c565b005b61008161016c565b34801561009757600080fd5b506100816100a636600461050b565b61017e565b3480156100b757600080fd5b50602060405190815260200160405180910390f35b3480156100d857600080fd5b506100816100e73660046105d6565b61024a565b3480156100f857600080fd5b506100816101073660046105f8565b610350565b34801561011857600080fd5b5061008161012736600461050b565b6103c6565b34801561013857600080fd5b5061008161014736600461050b565b610424565b34801561015857600080fd5b50610081610167366004610643565b61044b565b61017c610177610486565b6104b5565b565b6000610188610486565b90506000816001600160a01b0316306001600160a01b031663c68d42838787876040516024016101ba939291906106a3565b60408051601f198184030181529181526020820180516001600160e01b031660e09490941b9390931790925290516101f292506106ec565b600060405180830381855af49150503d806000811461022d576040519150601f19603f3d011682016040523d82523d6000602084013e610232565b606091505b505090508061024357610243610708565b5050505050565b6001600160a01b0381166102a55760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006102cf7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146103255760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a65640000604482015260640161029c565b61034d817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b6040516320db835f60e11b81526001600160a01b0380861660048301528085166024830152831660448201526064810182905230906341b706be90608401600060405180830381600087803b1580156103a857600080fd5b505af11580156103bc573d6000803e3d6000fd5b5050505050505050565b604051639d87674160e01b81523090639d876741906103ed908690869086906004016106a3565b600060405180830381600087803b15801561040757600080fd5b505af115801561041b573d6000803e3d6000fd5b50505050505050565b604051631e2a20d560e11b81523090633c5441aa906103ed908690869086906004016106a3565b60405163335097db60e11b81526001600160a01b038085166004830152831660248201526044810182905230906366a12fb6906064016103ed565b60006104b07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156104d4573d6000f35b3d6000fd5b80356001600160a01b03811681146104f057600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561052057600080fd5b610529846104d9565b925060208401359150604084013567ffffffffffffffff8082111561054d57600080fd5b818601915086601f83011261056157600080fd5b813581811115610573576105736104f5565b604051601f8201601f19908116603f0116810190838211818310171561059b5761059b6104f5565b816040528281528960208487010111156105b457600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156105e857600080fd5b6105f1826104d9565b9392505050565b6000806000806080858703121561060e57600080fd5b610617856104d9565b9350610625602086016104d9565b9250610633604086016104d9565b9396929550929360600135925050565b60008060006060848603121561065857600080fd5b610661846104d9565b925061066f602085016104d9565b9150604084013590509250925092565b60005b8381101561069a578181015183820152602001610682565b50506000910152565b60018060a01b038416815282602082015260606040820152600082518060608401526106d681608085016020870161067f565b601f01601f191691909101608001949350505050565b600082516106fe81846020870161067f565b9190910192915050565b634e487b7160e01b600052600160045260246000fdfea26469706673582212208bca18e0b1adbec045675907ebbf6ce932b3e517c88178623440e6f4ea3a7e9b64736f6c63430008130033",yW=eb=>eb.length>1;class yZ extends uw.lV{constructor(...eb){yW(eb)?super(...eb):super(yq,y$,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(yq)}static connect(eb,em){return new uw.CH(eb,yq,em)}}yZ.bytecode=y$,yZ.abi=yq;let yG=[{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"allowance",type:"uint256"},{indexed:!1,internalType:"uint256",name:"burned",type:"uint256"}],name:"DrainedGas",type:"event"},{inputs:[{internalType:"bytes32",name:"interfaceHash",type:"bytes32"},{internalType:"address",name:"",type:"address"}],name:"canImplementInterfaceForAddress",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"tokensReceived",outputs:[],stateMutability:"nonpayable",type:"function"}],yK="0x6080604052600160005534801561001557600080fd5b506102ed806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c806223de291461003a578063249cb3fa1461004f575b600080fd5b61004d6100483660046101b9565b610074565b005b61006261005d366004610264565b6100e3565b60405190815260200160405180910390f35b60005a90505b6175305a111561009d5760008054908061009383610290565b919050555061007a565b7fe69a071efa597f7995dc49d165ad809dd15393f0b95e75d7089498028bb673d9815a6040805192835260208301919091520160405180910390a1505050505050505050565b60007fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b831461011357600061014d565b60405173455243313832305f4143434550545f4d4147494360601b6020820152603401604051602081830303815290604052805190602001205b9392505050565b80356001600160a01b038116811461016b57600080fd5b919050565b60008083601f84011261018257600080fd5b50813567ffffffffffffffff81111561019a57600080fd5b6020830191508360208285010111156101b257600080fd5b9250929050565b60008060008060008060008060c0898b0312156101d557600080fd5b6101de89610154565b97506101ec60208a01610154565b96506101fa60408a01610154565b955060608901359450608089013567ffffffffffffffff8082111561021e57600080fd5b61022a8c838d01610170565b909650945060a08b013591508082111561024357600080fd5b506102508b828c01610170565b999c989b5096995094979396929594505050565b6000806040838503121561027757600080fd5b8235915061028760208401610154565b90509250929050565b6000600182016102b057634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220bbf1734aa4105c4cb158f777b37032af8260781e9bc8b53d2ceecc3f16a2afd064736f6c63430008130033",yY=eb=>eb.length>1;class yX extends uw.lV{constructor(...eb){yY(eb)?super(...eb):super(yG,yK,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(yG)}static connect(eb,em){return new uw.CH(eb,yG,em)}}yX.bytecode=yK,yX.abi=yG;let yJ=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"bytes32",name:"interfaceHash",type:"bytes32"},{internalType:"address",name:"",type:"address"}],name:"canImplementInterfaceForAddress",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"tokensReceived",outputs:[],stateMutability:"pure",type:"function"}],yQ="0x608060405234801561001057600080fd5b506040516329965a1d60e01b815230600482018190527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad249081906329965a1d90606401600060405180830381600087803b15801561008c57600080fd5b505af11580156100a0573d6000803e3d6000fd5b5050505050610299806100b46000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c806223de291461003a578063249cb3fa1461004f575b600080fd5b61004d61004836600461018c565b610074565b005b61006261005d366004610237565b6100b6565b60405190815260200160405180910390f35b60405162461bcd60e51b815260206004820152601360248201527274686579207368616c6c206e6f74207061737360681b604482015260640160405180910390fd5b60007fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b83146100e6576000610120565b60405173455243313832305f4143434550545f4d4147494360601b6020820152603401604051602081830303815290604052805190602001205b9392505050565b80356001600160a01b038116811461013e57600080fd5b919050565b60008083601f84011261015557600080fd5b50813567ffffffffffffffff81111561016d57600080fd5b60208301915083602082850101111561018557600080fd5b9250929050565b60008060008060008060008060c0898b0312156101a857600080fd5b6101b189610127565b97506101bf60208a01610127565b96506101cd60408a01610127565b955060608901359450608089013567ffffffffffffffff808211156101f157600080fd5b6101fd8c838d01610143565b909650945060a08b013591508082111561021657600080fd5b506102238b828c01610143565b999c989b5096995094979396929594505050565b6000806040838503121561024a57600080fd5b8235915061025a60208401610127565b9050925092905056fea2646970667358221220a6fe74f6583b08380d0f3a05d022b49142e3edf619986f11030695aa0015cf7164736f6c63430008130033",y6=eb=>eb.length>1;class y4 extends uw.lV{constructor(...eb){y6(eb)?super(...eb):super(yJ,yQ,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(yJ)}static connect(eb,em){return new uw.CH(eb,yJ,em)}}y4.bytecode=yQ,y4.abi=yJ;let y5=[{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"fromBalance",type:"uint256"},{indexed:!1,internalType:"uint256",name:"toBalance",type:"uint256"}],name:"TokensReceivedCalled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"fromBalance",type:"uint256"},{indexed:!1,internalType:"uint256",name:"toBalance",type:"uint256"}],name:"TokensToSendCalled",type:"event"},{inputs:[{internalType:"contract IERC777",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"interfaceHash",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"canImplementInterfaceForAddress",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"recipientFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"}],name:"registerRecipient",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"registerSender",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC777",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"send",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"senderFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"shouldRevert",type:"bool"}],name:"setShouldRevertReceive",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"shouldRevert",type:"bool"}],name:"setShouldRevertSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"tokensReceived",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"tokensToSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"upgradeAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"upgradeAllToSelf",outputs:[],stateMutability:"nonpayable",type:"function"}],y8="0x60806040526001805462010000600160b01b031916751820a4b7618bde71dce8cdc73aab6c95905fad24000017905534801561003a57600080fd5b50610f918061004a6000396000f3fe608060405234801561001057600080fd5b50600436106100ce5760003560e01c8063780329301161008c578063c97e18fc11610066578063c97e18fc146101a0578063d2de6474146101c8578063e0eb2180146101db578063e1ecbd30146101ee57600080fd5b80637803293014610167578063833a2fe01461017a578063a8badaa51461018d57600080fd5b806223de29146100d3578063249cb3fa146100e85780633836ef891461010d57806344d17187146101205780634e4ae5a51461013357806375ab978214610154575b600080fd5b6100e66100e1366004610b40565b610201565b005b6100fb6100f6366004610bf1565b610392565b60405190815260200160405180910390f35b6100e661011b366004610cc4565b6103ea565b6100e661012e366004610d30565b610452565b6100e6610141366004610d97565b6001805460ff1916911515919091179055565b6100e6610162366004610b40565b6104b7565b6100e6610175366004610db4565b610626565b6100e6610188366004610db4565b6107b1565b6100e661019b366004610db4565b610928565b6100e66101ae366004610d97565b600180549115156101000261ff0019909216919091179055565b6100e66101d6366004610db4565b6109be565b6100e66101e9366004610db4565b610a07565b6100e66101fc366004610db4565b610a4c565b600154610100900460ff16156102555760405162461bcd60e51b81526020600482015260146024820152735f73686f756c645265766572745265636569766560601b60448201526064015b60405180910390fd5b6000336040516370a0823160e01b81526001600160a01b038a811660048301529192506000918316906370a0823190602401602060405180830381865afa1580156102a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c89190610dd1565b6040516370a0823160e01b81526001600160a01b038a811660048301529192506000918416906370a0823190602401602060405180830381865afa158015610314573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103389190610dd1565b90507f47e915878c47f3ec4d7ff646a2becb229f64fd2abe4d2b5e2bb4275b0cf50d4e8b8b8b8b8b8b8b8b8b8b8b60405161037d9b9a99989796959493929190610e13565b60405180910390a15050505050505050505050565b6000828152602081815260408083206001600160a01b038516845290915281205460ff166103c15760006103e3565b7fa2ef4600d742022d532d4747cb3547474667d6f13804902513b2ec01c848f4b45b9392505050565b604051634decdde360e11b81526001600160a01b03851690639bd9bbc69061041a90869086908690600401610ed0565b600060405180830381600087803b15801561043457600080fd5b505af1158015610448573d6000803e3d6000fd5b5050505050505050565b60405163fe9d930360e01b81526001600160a01b0384169063fe9d9303906104809085908590600401610f00565b600060405180830381600087803b15801561049a57600080fd5b505af11580156104ae573d6000803e3d6000fd5b50505050505050565b60015460ff16156104fe5760405162461bcd60e51b815260206004820152601160248201527017dcda1bdd5b1914995d995c9d14d95b99607a1b604482015260640161024c565b6000336040516370a0823160e01b81526001600160a01b038a811660048301529192506000918316906370a0823190602401602060405180830381865afa15801561054d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105719190610dd1565b6040516370a0823160e01b81526001600160a01b038a811660048301529192506000918416906370a0823190602401602060405180830381865afa1580156105bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e19190610dd1565b90507faa3e88aca472e90221daf7d3d601abafb62b120319089d7a2c2f63588da855298b8b8b8b8b8b8b8b8b8b8b60405161037d9b9a99989796959493929190610e13565b6000816001600160a01b031663ee719bc86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610666573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068a9190610f21565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156106d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f89190610dd1565b60405163095ea7b360e01b81526001600160a01b038581166004830152602482018390529192509083169063095ea7b3906044016020604051808303816000875af115801561074b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076f9190610f3e565b506040516316e7427360e21b81523060048201526024810182905260606044820152600060648201526001600160a01b03841690635b9d09cc90608401610480565b6000816001600160a01b031663ee719bc86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108159190610f21565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561085f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108839190610dd1565b60405163095ea7b360e01b81526001600160a01b038581166004830152602482018390529192509083169063095ea7b3906044016020604051808303816000875af11580156108d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fa9190610f3e565b506040516345977d0360e01b8152600481018290526001600160a01b038416906345977d0390602401610480565b6001546040516329965a1d60e01b81523060048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248201526001600160a01b03838116604483015262010000909204909116906329965a1d906064015b600060405180830381600087803b1580156109a357600080fd5b505af11580156109b7573d6000803e3d6000fd5b5050505050565b6109e87f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89582610ab1565b306001600160a01b038216819003610a0357610a0381610a4c565b5050565b610a317fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b82610ab1565b306001600160a01b038216819003610a0357610a0381610928565b6001546040516329965a1d60e01b81523060048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89560248201526001600160a01b03838116604483015262010000909204909116906329965a1d90606401610989565b6000918252602082815260408084206001600160a01b0390931684529190529020805460ff19166001179055565b6001600160a01b0381168114610af457600080fd5b50565b60008083601f840112610b0957600080fd5b50813567ffffffffffffffff811115610b2157600080fd5b602083019150836020828501011115610b3957600080fd5b9250929050565b60008060008060008060008060c0898b031215610b5c57600080fd5b8835610b6781610adf565b97506020890135610b7781610adf565b96506040890135610b8781610adf565b955060608901359450608089013567ffffffffffffffff80821115610bab57600080fd5b610bb78c838d01610af7565b909650945060a08b0135915080821115610bd057600080fd5b50610bdd8b828c01610af7565b999c989b5096995094979396929594505050565b60008060408385031215610c0457600080fd5b823591506020830135610c1681610adf565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610c4857600080fd5b813567ffffffffffffffff80821115610c6357610c63610c21565b604051601f8301601f19908116603f01168101908282118183101715610c8b57610c8b610c21565b81604052838152866020858801011115610ca457600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215610cda57600080fd5b8435610ce581610adf565b93506020850135610cf581610adf565b925060408501359150606085013567ffffffffffffffff811115610d1857600080fd5b610d2487828801610c37565b91505092959194509250565b600080600060608486031215610d4557600080fd5b8335610d5081610adf565b925060208401359150604084013567ffffffffffffffff811115610d7357600080fd5b610d7f86828701610c37565b9150509250925092565b8015158114610af457600080fd5b600060208284031215610da957600080fd5b81356103e381610d89565b600060208284031215610dc657600080fd5b81356103e381610adf565b600060208284031215610de357600080fd5b5051919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038c811682528b811660208301528a81166040830152606082018a905261012060808301819052600091610e518483018b8d610dea565b915083820360a0850152610e6682898b610dea565b961660c0840152505060e08101929092526101009091015298975050505050505050565b6000815180845260005b81811015610eb057602081850181015186830182015201610e94565b506000602082860101526020601f19601f83011685010191505092915050565b60018060a01b0384168152826020820152606060408201526000610ef76060830184610e8a565b95945050505050565b828152604060208201526000610f196040830184610e8a565b949350505050565b600060208284031215610f3357600080fd5b81516103e381610adf565b600060208284031215610f5057600080fd5b81516103e381610d8956fea2646970667358221220795af87d9067095e349215dcadae1d15961612a434804335014774c91b8c99ca64736f6c63430008130033",y9=eb=>eb.length>1;class y7 extends uw.lV{constructor(...eb){y9(eb)?super(...eb):super(y5,y8,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(y5)}static connect(eb,em){return new uw.CH(eb,y5,em)}}y7.bytecode=y8,y7.abi=y5;let gb=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"approveSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"approveSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"calculateDistributionTest",outputs:[{internalType:"uint256",name:"actualAmount",type:"uint256"},{internalType:"uint128",name:"newIndexValue",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"claimTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"claimWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"createIndexTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"createIndexWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"deleteSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"deleteSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"distributeTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"distributeWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"getIndexTest",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"uint128",name:"totalUnitsApproved",type:"uint128"},{internalType:"uint128",name:"totalUnitsPending",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"}],name:"getSubscriptionByIDTest",outputs:[{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"getSubscriptionTest",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"subscriber",type:"address"}],name:"listSubscriptionsTest",outputs:[{internalType:"address[]",name:"publishers",type:"address[]"},{internalType:"uint32[]",name:"indexIds",type:"uint32[]"},{internalType:"uint128[]",name:"unitsList",type:"uint128[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"revokeSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"revokeSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"}],name:"updateIndexValueTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateIndexValueWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"}],name:"updateSubscriptionUnitsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateSubscriptionUnitsWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"}],gm="0x60806040523480156200001157600080fd5b5060405162001ad638038062001ad683398101604081905262000034916200012b565b6040805180820182526001600160a01b0383168082529151635b69006f60e11b81527f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a67460048201529091602083019163b6d200de90602401602060405180830381865afa158015620000aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d091906200012b565b6001600160a01b039081169091528151600080546001600160a01b03199081169284169290921790556020909201516001805490931691161790555062000152565b6001600160a01b03811681146200012857600080fd5b50565b6000602082840312156200013e57600080fd5b81516200014b8162000112565b9392505050565b61197480620001626000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80635158472c116100b85780639cdf4d671161007c5780639cdf4d6714610302578063c9869ed014610315578063c9b8a2f614610328578063d39363c01461036c578063eadc45511461037f578063fe134e9f1461039257600080fd5b80635158472c146102a35780636436e3d3146102b65780636ddb6798146102c95780637489c503146102dc57806378bb14ea146102ef57600080fd5b80633939709e116100ff5780633939709e146102045780634018cb64146102175780634277b78f146102395780635002bb091461024c57806350c8da8f1461025f57600080fd5b8063068f3d191461013c57806306f75d2e1461015157806316dfe9271461016457806325a108af146101775780632a722c06146101d4575b600080fd5b61014f61014a366004610e1c565b6103a5565b005b61014f61015f366004610ea4565b6103bb565b61014f610172366004610f19565b6103cf565b61018a610185366004610f7b565b6103e1565b604080516001600160a01b03909616865263ffffffff9094166020860152911515928401929092526001600160801b039091166060830152608082015260a0015b60405180910390f35b6101e76101e2366004610fa7565b610405565b604080519283526001600160801b039091166020830152016101cb565b61014f61021236600461100d565b610422565b61022a61022536600461104e565b610430565b6040516101cb939291906110cb565b61014f610247366004611168565b61044d565b61014f61025a3660046111bb565b61045c565b61027261026d366004611217565b61046a565b6040805194151585526001600160801b039384166020860152918316918401919091521660608201526080016101cb565b61014f6102b1366004610e1c565b61048c565b61014f6102c4366004610ea4565b61049b565b61014f6102d7366004611217565b6104a9565b61014f6102ea366004611262565b6104b6565b61014f6102fd3660046112a3565b6104c3565b61014f6103103660046112e3565b6104d0565b61014f6103233660046111bb565b6104de565b61033b6103363660046111bb565b6104ec565b6040516101cb9493929190931515845291151560208401526001600160801b03166040830152606082015260800190565b61014f61037a366004611217565b610510565b61014f61038d366004611334565b61051d565b61014f6103a0366004611362565b61052d565b6103b46000868686868661053b565b5050505050565b6103c960008585858561063c565b50505050565b6103dc600084848461073a565b505050565b6000808080806103f281888861080f565b939b929a50909850965090945092505050565b60008061041581878787876108a4565b9150915094509492505050565b6103c9600085858585610940565b6060808061044060008686610985565b9250925092509250925092565b6103b460008686868686610a17565b6103c9600085858585610a5e565b600080808061047b81888888610a80565b935093509350935093509350935093565b6103b460008686868686610b0b565b6103c9600085858585610b36565b6103dc6000848484610b60565b6103dc6000848484610b80565b6103dc6000848484610ba0565b6103c9600085858585610bc0565b6103c9600085858585610be2565b60008080806104fe8189898989610c04565b929b919a509850909650945050505050565b6103dc6000848484610caa565b61052960008383610cca565b5050565b6103c9600085858585610ce8565b855460018701546001600160a01b03918216916339255d5b91168063acafa1b88989898960005b6040519080825280601f01601f19166020018201604052801561058c576020820181803683370190505b506040516024016105a1959493929190611406565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526105ec939250908690600401611451565b6000604051808303816000875af115801561060b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106339190810190611491565b50505050505050565b845460018601546001600160a01b03918216916339255d5b911680636041ae9688888860005b6040519080825280601f01601f19166020018201604052801561068c576020820181803683370190505b506040516024016106a09493929190611508565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526106eb939250908690600401611451565b6000604051808303816000875af115801561070a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107329190810190611491565b505050505050565b835460018501546040805160008152602081019091526001600160a01b03928316926339255d5b921690819063d787840a9061077d908990899060448101611540565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526107c8939250908690600401611451565b6000604051808303816000875af11580156107e7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103b49190810190611491565b600183015460405163cd7245c560e01b81526001600160a01b03848116600483015260248201849052600092839283928392839291169063cd7245c59060440160a060405180830381865afa15801561086c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108909190611585565b939c929b5090995097509095509350505050565b6001850154604051632266eabb60e21b81526001600160a01b038681166004830152858116602483015263ffffffff8516604483015260648201849052600092839291169063899baaec906084016040805180830381865afa15801561090e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093291906115ec565b915091509550959350505050565b845460018601546040805160008152602081019091526001600160a01b03928316926339255d5b9216908190637fbc7639906106a0908a908a908a9060448101611611565b60018301546040516316db59b760e31b81526001600160a01b0384811660048301528381166024830152606092839283929091169063b6dacdb890604401600060405180830381865afa1580156109e0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a089190810190611747565b92509250925093509350939050565b855460018701546040805160008152602081019091526001600160a01b03928316926339255d5b921690819063232d2b58906105a1908b908b908b908b9060448101611826565b6040805160008152602081019091526103b49086908690869086908690610b0b565b60018401546040516323fc23f360e01b81526001600160a01b038581166004830152848116602483015263ffffffff8416604483015260009283928392839216906323fc23f390606401608060405180830381865afa158015610ae7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fe919061186d565b855460018701546001600160a01b03918216916339255d5b911680632e5e74c6898989896000610562565b845460018601546001600160a01b03918216916339255d5b91168063acf4a6c28888886000610662565b6040805160008152602081019091526103c9908590859085908590610b36565b6040805160008152602081019091526103c9908590859085908590610ce8565b6040805160008152602081019091526103c9908590859085908590610940565b6040805160008152602081019091526103b49086908690869086908690610a17565b6040805160008152602081019091526103b4908690869086908690869061053b565b6001850154604051635b53405160e01b81526001600160a01b038681166004830152858116602483015263ffffffff8516604483015283811660648301526000928392839283921690635b53405190608401608060405180830381865afa158015610c73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9791906118be565b929c919b50995090975095505050505050565b6040805160008152602081019091526103c990859085908590859061063c565b6040805160008152602081019091526103dc9084908490849061073a565b845460018601546040805160008152602081019091526001600160a01b03928316926339255d5b921690819063b96731c2906106a0908a908a908a906044810161190b565b6001600160a01b0381168114610d4257600080fd5b50565b63ffffffff81168114610d4257600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610d9657610d96610d57565b604052919050565b600067ffffffffffffffff821115610db857610db8610d57565b50601f01601f191660200190565b600082601f830112610dd757600080fd5b8135610dea610de582610d9e565b610d6d565b818152846020838601011115610dff57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215610e3457600080fd5b8535610e3f81610d2d565b94506020860135610e4f81610d2d565b93506040860135610e5f81610d45565b92506060860135610e6f81610d2d565b9150608086013567ffffffffffffffff811115610e8b57600080fd5b610e9788828901610dc6565b9150509295509295909350565b60008060008060808587031215610eba57600080fd5b8435610ec581610d2d565b93506020850135610ed581610d2d565b92506040850135610ee581610d45565b9150606085013567ffffffffffffffff811115610f0157600080fd5b610f0d87828801610dc6565b91505092959194509250565b600080600060608486031215610f2e57600080fd5b8335610f3981610d2d565b92506020840135610f4981610d45565b9150604084013567ffffffffffffffff811115610f6557600080fd5b610f7186828701610dc6565b9150509250925092565b60008060408385031215610f8e57600080fd5b8235610f9981610d2d565b946020939093013593505050565b60008060008060808587031215610fbd57600080fd5b8435610fc881610d2d565b93506020850135610fd881610d2d565b92506040850135610fe881610d45565b9396929550929360600135925050565b6001600160801b0381168114610d4257600080fd5b6000806000806080858703121561102357600080fd5b843561102e81610d2d565b9350602085013561103e81610d45565b92506040850135610ee581610ff8565b6000806040838503121561106157600080fd5b823561106c81610d2d565b9150602083013561107c81610d2d565b809150509250929050565b600081518084526020808501945080840160005b838110156110c05781516001600160801b03168752958201959082019060010161109b565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b8281101561110d5781516001600160a01b0316845292840192908401906001016110e8565b5050508381038285015285518082528683019183019060005b8181101561114857835163ffffffff1683529284019291840191600101611126565b5050848103604086015261115c8187611087565b98975050505050505050565b600080600080600060a0868803121561118057600080fd5b853561118b81610d2d565b9450602086013561119b81610d45565b935060408601356111ab81610d2d565b92506060860135610e6f81610ff8565b600080600080608085870312156111d157600080fd5b84356111dc81610d2d565b935060208501356111ec81610d2d565b925060408501356111fc81610d45565b9150606085013561120c81610d2d565b939692955090935050565b60008060006060848603121561122c57600080fd5b833561123781610d2d565b9250602084013561124781610d2d565b9150604084013561125781610d45565b809150509250925092565b60008060006060848603121561127757600080fd5b833561128281610d2d565b9250602084013561129281610d45565b929592945050506040919091013590565b6000806000606084860312156112b857600080fd5b83356112c381610d2d565b925060208401356112d381610d45565b9150604084013561125781610ff8565b600080600080608085870312156112f957600080fd5b843561130481610d2d565b9350602085013561131481610d45565b9250604085013561132481610d2d565b9150606085013561120c81610ff8565b6000806040838503121561134757600080fd5b823561135281610d2d565b9150602083013561107c81610d45565b6000806000806080858703121561137857600080fd5b843561138381610d2d565b9350602085013561139381610d45565b925060408501359150606085013567ffffffffffffffff811115610f0157600080fd5b60005b838110156113d15781810151838201526020016113b9565b50506000910152565b600081518084526113f28160208601602086016113b6565b601f01601f19169290920160200192915050565b6001600160a01b038681168252858116602083015263ffffffff851660408301528316606082015260a060808201819052600090611446908301846113da565b979650505050505050565b6001600160a01b0384168152606060208201819052600090611475908301856113da565b828103604084015261148781856113da565b9695505050505050565b6000602082840312156114a357600080fd5b815167ffffffffffffffff8111156114ba57600080fd5b8201601f810184136114cb57600080fd5b80516114d9610de582610d9e565b8181528560208385010111156114ee57600080fd5b6114ff8260208301602086016113b6565b95945050505050565b6001600160a01b0385811682528416602082015263ffffffff83166040820152608060608201819052600090611487908301846113da565b6001600160a01b038416815263ffffffff831660208201526060604082018190526000906114ff908301846113da565b8051801515811461158057600080fd5b919050565b600080600080600060a0868803121561159d57600080fd5b85516115a881610d2d565b60208701519095506115b981610d45565b93506115c760408701611570565b925060608601516115d781610ff8565b80925050608086015190509295509295909350565b600080604083850312156115ff57600080fd5b82519150602083015161107c81610ff8565b6001600160a01b038516815263ffffffff841660208201526001600160801b0383166040820152608060608201819052600090611487908301846113da565b600067ffffffffffffffff82111561166a5761166a610d57565b5060051b60200190565b600082601f83011261168557600080fd5b81516020611695610de583611650565b82815260059290921b840181019181810190868411156116b457600080fd5b8286015b848110156116d85780516116cb81610d45565b83529183019183016116b8565b509695505050505050565b600082601f8301126116f457600080fd5b81516020611704610de583611650565b82815260059290921b8401810191818101908684111561172357600080fd5b8286015b848110156116d857805161173a81610ff8565b8352918301918301611727565b60008060006060848603121561175c57600080fd5b835167ffffffffffffffff8082111561177457600080fd5b818601915086601f83011261178857600080fd5b81516020611798610de583611650565b82815260059290921b8401810191818101908a8411156117b757600080fd5b948201945b838610156117de5785516117cf81610d2d565b825294820194908201906117bc565b918901519197509093505050808211156117f757600080fd5b61180387838801611674565b9350604086015191508082111561181957600080fd5b50610f71868287016116e3565b6001600160a01b03868116825263ffffffff86166020830152841660408201526001600160801b038316606082015260a060808201819052600090611446908301846113da565b6000806000806080858703121561188357600080fd5b61188c85611570565b9350602085015161189c81610ff8565b60408601519093506118ad81610ff8565b606086015190925061120c81610ff8565b600080600080608085870312156118d457600080fd5b6118dd85611570565b93506118eb60208601611570565b925060408501516118fb81610ff8565b6060959095015193969295505050565b60018060a01b038516815263ffffffff8416602082015282604082015260806060820152600061148760808301846113da56fea264697066735822122058ea4810ef77ebe0e518a0364fbbb3851cde2bdf391e99410403f70f947e18ea64736f6c63430008130033",gy=eb=>eb.length>1;class gv extends uw.lV{constructor(...eb){gy(eb)?super(...eb):super(gb,gm,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(gb)}static connect(eb,em){return new uw.CH(eb,gb,em)}}gv.bytecode=gm,gv.abi=gb;let gz=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"approveSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"approveSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"calculateDistributionTest",outputs:[{internalType:"uint256",name:"actualAmount",type:"uint256"},{internalType:"uint128",name:"newIndexValue",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"claimTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"claimWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"createIndexTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"createIndexWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"deleteSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"deleteSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"distributeTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"distributeWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"getIndexTest",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"uint128",name:"totalUnitsApproved",type:"uint128"},{internalType:"uint128",name:"totalUnitsPending",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"}],name:"getSubscriptionByIDTest",outputs:[{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"getSubscriptionTest",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"subscriber",type:"address"}],name:"listSubscriptionsTest",outputs:[{internalType:"address[]",name:"publishers",type:"address[]"},{internalType:"uint32[]",name:"indexIds",type:"uint32[]"},{internalType:"uint128[]",name:"unitsList",type:"uint128[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"revokeSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"revokeSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"}],name:"updateIndexValueTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateIndexValueWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"}],name:"updateSubscriptionUnitsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateSubscriptionUnitsWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"}],gH="0x60806040523480156200001157600080fd5b5060405162002bf738038062002bf78339810160408190526200003491620001a1565b6040805180820182526001600160a01b0383168082529151635b69006f60e11b81527f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a67460048201528392602083019163b6d200de90602401602060405180830381865afa158015620000aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d09190620001a1565b6001600160a01b039081169091528151600080549183166001600160a01b031992831617905560209092015160018054918316919093161790915560405163bd1c448b60e01b815264350000000192509083169063bd1c448b906200014c90849060040190815260406020820181905260009082015260600190565b600060405180830381600087803b1580156200016757600080fd5b505af11580156200017c573d6000803e3d6000fd5b505050505050620001c8565b6001600160a01b03811681146200019e57600080fd5b50565b600060208284031215620001b457600080fd5b8151620001c18162000188565b9392505050565b612a1f80620001d86000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806353c11f99116100f95780639cdf4d6711610097578063d39363c011610071578063d39363c01461044e578063d86ed3e5146101e9578063eadc455114610461578063fe134e9f1461047457600080fd5b80639cdf4d67146103e4578063c9869ed0146103f7578063c9b8a2f61461040a57600080fd5b80636ddb6798116100d35780636ddb6798146103985780637489c503146103ab57806378bb14ea146103be578063884d1f40146103d157600080fd5b806353c11f991461035f5780635f9e7d77146103725780636436e3d31461038557600080fd5b806330d9c915116101665780634277b78f116101405780634277b78f146102e25780635002bb09146102f557806350c8da8f146103085780635158472c1461034c57600080fd5b806330d9c9151461029a5780633939709e146102ad5780634018cb64146102c057600080fd5b8063068f3d19146101ae57806306f75d2e146101c357806316dfe927146101d6578063230dbd29146101e957806325a108af146102125780632a722c061461026a575b600080fd5b6101c16101bc366004611a9e565b610487565b005b6101c16101d1366004611b25565b61049d565b6101c16101e4366004611b99565b6104b1565b6101fc6101f7366004611c42565b6104c3565b6040516102099190611d5c565b60405180910390f35b610225610220366004611d76565b610513565b604080516001600160a01b03909616865263ffffffff9094166020860152911515928401929092526001600160801b039091166060830152608082015260a001610209565b61027d610278366004611da2565b610537565b604080519283526001600160801b03909116602083015201610209565b6101fc6102a8366004611df3565b610554565b6101c16102bb366004611ea6565b6105bc565b6102d36102ce366004611ee7565b6105ca565b60405161020993929190611f64565b6101c16102f0366004612001565b6105e7565b6101c1610303366004612054565b6105f6565b61031b6103163660046120b0565b610604565b6040805194151585526001600160801b03938416602086015291831691840191909152166060820152608001610209565b6101c161035a366004611a9e565b610626565b6101fc61036d366004611c42565b610635565b6101fc610380366004611df3565b61069a565b6101c1610393366004611b25565b610701565b6101c16103a63660046120b0565b61070f565b6101c16103b93660046120fb565b61071c565b6101c16103cc36600461213c565b610729565b6101fc6103df366004611df3565b610736565b6101c16103f236600461217c565b610799565b6101c1610405366004612054565b6107a7565b61041d610418366004612054565b6107b5565b6040516102099493929190931515845291151560208401526001600160801b03166040830152606082015260800190565b6101c161045c3660046120b0565b6107d9565b6101c161046f3660046121cd565b6107e6565b6101c16104823660046121fb565b6107f6565b61049660008686868686610804565b5050505050565b6104ab600085858585610905565b50505050565b6104be6000848484610a03565b505050565b60606105058a84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ad892505050565b9a9950505050505050505050565b600080808080610524818888610ea6565b939b929a50909850965090945092505050565b6000806105478187878787610f3b565b9150915094509492505050565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b60648201526060906084015b60405180910390fd5b6104ab600085858585610fd7565b606080806105da6000868661101c565b9250925092509250925092565b610496600086868686866110ae565b6104ab6000858585856110f5565b600080808061061581888888611117565b935093509350935093509350935093565b610496600086868686866111a2565b60405162461bcd60e51b815260206004820152603160248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201527019595b595b9d0815195c9b5a5b985d1959607a1b60648201526060906084016105b3565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b60648201526060906084016105b3565b6104ab6000858585856111cd565b6104be60008484846111f7565b6104be6000848484611217565b6104be6000848484611237565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b60648201526060906084016105b3565b6104ab600085858585611257565b6104ab600085858585611279565b60008080806107c7818989898961129b565b929b919a509850909650945050505050565b6104be6000848484611341565b6107f260008383611361565b5050565b6104ab60008585858561137f565b855460018701546001600160a01b03918216916339255d5b91168063acafa1b88989898960005b6040519080825280601f01601f191660200182016040528015610855576020820181803683370190505b5060405160240161086a95949392919061224e565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526108b593925090869060040161228e565b6000604051808303816000875af11580156108d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108fc9190810190612311565b50505050505050565b845460018601546001600160a01b03918216916339255d5b911680636041ae9688888860005b6040519080825280601f01601f191660200182016040528015610955576020820181803683370190505b506040516024016109699493929190612345565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526109b493925090869060040161228e565b6000604051808303816000875af11580156109d3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109fb9190810190612311565b505050505050565b835460018501546040805160008152602081019091526001600160a01b03928316926339255d5b921690819063d787840a90610a4690899089906044810161237d565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610a9193925090869060040161228e565b6000604051808303816000875af1158015610ab0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104969190810190612311565b60008054604051631fb6491d60e11b8152606092916001600160a01b031690633f6c923a90610b0b908690600401611d5c565b600060405180830381865afa158015610b28573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b5091908101906123e6565b60a001519050600080600080600085806020019051810190610b7291906124ec565b93985091965094509250905060ff8516610ba057610b936000898b876113c4565b9650505050505050610ea0565b60001960ff861601610bdc57610b93888a86604051602001610bc19061255e565b60408051601f198184030181529190526000939291906113f0565b60011960ff861601610bf657610b936000898b87856114d6565b60021960ff861601610c3457610b93888a8684604051602001610c189061255e565b60408051601f1981840301815291905260009493929190611505565b60031960ff861601610c5757610b936000898b876001600160801b0386166115ee565b60041960ff861601610c9e57610b93888a86846001600160801b0316604051602001610c829061255e565b60408051601f198184030181529190526000949392919061160f565b60051960ff861601610cb857610b936000898b8688611658565b60061960ff861601610cf657610b93888a8587604051602001610cda9061255e565b60408051601f1981840301815291905260009493929190611679565b60071960ff861601610d1057610b936000898b86886116e0565b60081960ff861601610d4e57610b93888a8587604051602001610d329061255e565b60408051601f1981840301815291905260009493929190611701565b60091960ff861601610d6957610b936000898b87868661172e565b600a1960ff861601610da957610b93888a868585604051602001610d8c9061255e565b60408051601f198184030181529190526000959493929190611776565b600b1960ff861601610dc457610b936000898b86888761187f565b600c1960ff861601610e0457610b93888a858786604051602001610de79061255e565b60408051601f1981840301815291905260009594939291906118b8565b600d1960ff861601610e1f57610b936000898b868887611921565b600e1960ff861601610e5f57610b93888a858786604051602001610e429061255e565b60408051601f19818403018152919052600095949392919061195a565b60405162461bcd60e51b81526020600482015260166024820152750d2dcecc2d8d2c840cceadcc6e8d2dedc40d2dcc8caf60531b60448201526064016105b3565b92915050565b600183015460405163cd7245c560e01b81526001600160a01b03848116600483015260248201849052600092839283928392839291169063cd7245c59060440160a060405180830381865afa158015610f03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f279190612590565b939c929b5090995097509095509350505050565b6001850154604051632266eabb60e21b81526001600160a01b038681166004830152858116602483015263ffffffff8516604483015260648201849052600092839291169063899baaec906084016040805180830381865afa158015610fa5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc991906125f7565b915091509550959350505050565b845460018601546040805160008152602081019091526001600160a01b03928316926339255d5b9216908190637fbc763990610969908a908a908a906044810161261c565b60018301546040516316db59b760e31b81526001600160a01b0384811660048301528381166024830152606092839283929091169063b6dacdb890604401600060405180830381865afa158015611077573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261109f9190810190612746565b92509250925093509350939050565b855460018701546040805160008152602081019091526001600160a01b03928316926339255d5b921690819063232d2b589061086a908b908b908b908b9060448101612824565b60408051600081526020810190915261049690869086908690869086906111a2565b60018401546040516323fc23f360e01b81526001600160a01b038581166004830152848116602483015263ffffffff8416604483015260009283928392839216906323fc23f390606401608060405180830381865afa15801561117e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c7919061286b565b855460018701546001600160a01b03918216916339255d5b911680632e5e74c689898989600061082b565b845460018601546001600160a01b03918216916339255d5b91168063acf4a6c2888888600061092b565b6040805160008152602081019091526104ab9085908590859085906111cd565b6040805160008152602081019091526104ab90859085908590859061137f565b6040805160008152602081019091526104ab908590859085908590610fd7565b60408051600081526020810190915261049690869086908690869086906110ae565b6040805160008152602081019091526104969086908690869086908690610804565b6001850154604051635b53405160e01b81526001600160a01b038681166004830152858116602483015263ffffffff8516604483015283811660648301526000928392839283921690635b53405190608401608060405180830381865afa15801561130a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132e91906128bc565b929c919b50995090975095505050505050565b6040805160008152602081019091526104ab908590859085908590610905565b6040805160008152602081019091526104be90849084908490610a03565b845460018601546040805160008152602081019091526001600160a01b03928316926339255d5b921690819063b96731c290610969908a908a908a9060448101612909565b6040805160008152602081019091526060906113e79086908690869086906113f0565b95945050505050565b845460018601546040805160008152602081019091526060926001600160a01b0390811692634329d29392911690819063d787840a90611437908a908a906044810161237d565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526114849392509087908b9060040161293c565b6000604051808303816000875af11580156114a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114cb9190810190612986565b509695505050505050565b6040805160008152602081019091526060906114fb9087908790879087908790611505565b9695505050505050565b855460018701546040805160008152602081019091526060926001600160a01b0390811692634329d293929116908190637fbc76399061154e908b908b908b906044810161261c565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b031916825261159b9392509087908c9060040161293c565b6000604051808303816000875af11580156115ba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115e29190810190612986565b50979650505050505050565b6040805160008152602081019091526060906114fb90879087908790879087905b855460018701546040805160008152602081019091526060926001600160a01b0390811692634329d29392911690819063b96731c29061154e908b908b908b9060448101612909565b6040805160008152602081019091526060906114fb90879087908790879087905b855460018701546060916001600160a01b0390811691634329d29391168063acf4a6c289898960005b6040519080825280601f01601f1916602001820160405280156116cc576020820181803683370190505b5060405160240161154e9493929190612345565b6040805160008152602081019091526060906114fb90879087908790879087905b855460018701546060916001600160a01b0390811691634329d293911680636041ae9689898960006116a2565b606061176b87878787878760006040519080825280601f01601f191660200182016040528015611765576020820181803683370190505b50611776565b979650505050505050565b865460018801546060916001600160a01b0390811691634329d29391168063232d2b588a8a8a8a60006040519080825280601f01601f1916602001820160405280156117c9576020820181803683370190505b506040516024016117de959493929190612824565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b031916825261182b9392509087908d9060040161293c565b6000604051808303816000875af115801561184a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118729190810190612986565b5098975050505050505050565b606061176b87878787878760006040519080825280601f01601f1916602001820160405280156118b6576020820181803683370190505b505b865460018801546060916001600160a01b0390811691634329d293911680632e5e74c68a8a8a8a60005b6040519080825280601f01601f19166020018201604052801561190c576020820181803683370190505b506040516024016117de95949392919061224e565b606061176b87878787878760006040519080825280601f01601f191660200182016040528015611958576020820181803683370190505b505b865460018801546060916001600160a01b0390811691634329d29391168063acafa1b88a8a8a8a60006118e2565b6001600160a01b038116811461199d57600080fd5b50565b63ffffffff8116811461199d57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b03811182821017156119eb576119eb6119b2565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611a1957611a196119b2565b604052919050565b60006001600160401b03821115611a3a57611a3a6119b2565b50601f01601f191660200190565b600082601f830112611a5957600080fd5b8135611a6c611a6782611a21565b6119f1565b818152846020838601011115611a8157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611ab657600080fd5b8535611ac181611988565b94506020860135611ad181611988565b93506040860135611ae1816119a0565b92506060860135611af181611988565b915060808601356001600160401b03811115611b0c57600080fd5b611b1888828901611a48565b9150509295509295909350565b60008060008060808587031215611b3b57600080fd5b8435611b4681611988565b93506020850135611b5681611988565b92506040850135611b66816119a0565b915060608501356001600160401b03811115611b8157600080fd5b611b8d87828801611a48565b91505092959194509250565b600080600060608486031215611bae57600080fd5b8335611bb981611988565b92506020840135611bc9816119a0565b915060408401356001600160401b03811115611be457600080fd5b611bf086828701611a48565b9150509250925092565b60008083601f840112611c0c57600080fd5b5081356001600160401b03811115611c2357600080fd5b602083019150836020828501011115611c3b57600080fd5b9250929050565b600080600080600080600080600060c08a8c031215611c6057600080fd5b8935611c6b81611988565b985060208a0135611c7b81611988565b975060408a0135965060608a01356001600160401b0380821115611c9e57600080fd5b611caa8d838e01611bfa565b909850965060808c0135915080821115611cc357600080fd5b611ccf8d838e01611bfa565b909650945060a08c0135915080821115611ce857600080fd5b50611cf58c828d01611bfa565b915080935050809150509295985092959850929598565b60005b83811015611d27578181015183820152602001611d0f565b50506000910152565b60008151808452611d48816020860160208601611d0c565b601f01601f19169290920160200192915050565b602081526000611d6f6020830184611d30565b9392505050565b60008060408385031215611d8957600080fd5b8235611d9481611988565b946020939093013593505050565b60008060008060808587031215611db857600080fd5b8435611dc381611988565b93506020850135611dd381611988565b92506040850135611de3816119a0565b9396929550929360600135925050565b600080600080600080600060a0888a031215611e0e57600080fd5b8735611e1981611988565b96506020880135611e2981611988565b95506040880135945060608801356001600160401b0380821115611e4c57600080fd5b611e588b838c01611bfa565b909650945060808a0135915080821115611e7157600080fd5b50611e7e8a828b01611bfa565b989b979a50959850939692959293505050565b6001600160801b038116811461199d57600080fd5b60008060008060808587031215611ebc57600080fd5b8435611ec781611988565b93506020850135611ed7816119a0565b92506040850135611b6681611e91565b60008060408385031215611efa57600080fd5b8235611f0581611988565b91506020830135611f1581611988565b809150509250929050565b600081518084526020808501945080840160005b83811015611f595781516001600160801b031687529582019590820190600101611f34565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b82811015611fa65781516001600160a01b031684529284019290840190600101611f81565b5050508381038285015285518082528683019183019060005b81811015611fe157835163ffffffff1683529284019291840191600101611fbf565b50508481036040860152611ff58187611f20565b98975050505050505050565b600080600080600060a0868803121561201957600080fd5b853561202481611988565b94506020860135612034816119a0565b9350604086013561204481611988565b92506060860135611af181611e91565b6000806000806080858703121561206a57600080fd5b843561207581611988565b9350602085013561208581611988565b92506040850135612095816119a0565b915060608501356120a581611988565b939692955090935050565b6000806000606084860312156120c557600080fd5b83356120d081611988565b925060208401356120e081611988565b915060408401356120f0816119a0565b809150509250925092565b60008060006060848603121561211057600080fd5b833561211b81611988565b9250602084013561212b816119a0565b929592945050506040919091013590565b60008060006060848603121561215157600080fd5b833561215c81611988565b9250602084013561216c816119a0565b915060408401356120f081611e91565b6000806000806080858703121561219257600080fd5b843561219d81611988565b935060208501356121ad816119a0565b925060408501356121bd81611988565b915060608501356120a581611e91565b600080604083850312156121e057600080fd5b82356121eb81611988565b91506020830135611f15816119a0565b6000806000806080858703121561221157600080fd5b843561221c81611988565b9350602085013561222c816119a0565b92506040850135915060608501356001600160401b03811115611b8157600080fd5b6001600160a01b038681168252858116602083015263ffffffff851660408301528316606082015260a06080820181905260009061176b90830184611d30565b6001600160a01b03841681526060602082018190526000906122b290830185611d30565b82810360408401526114fb8185611d30565b600082601f8301126122d557600080fd5b81516122e3611a6782611a21565b8181528460208386010111156122f857600080fd5b612309826020830160208701611d0c565b949350505050565b60006020828403121561232357600080fd5b81516001600160401b0381111561233957600080fd5b612309848285016122c4565b6001600160a01b0385811682528416602082015263ffffffff831660408201526080606082018190526000906114fb90830184611d30565b6001600160a01b038416815263ffffffff831660208201526060604082018190526000906113e790830184611d30565b805160ff811681146123be57600080fd5b919050565b80516123be81611988565b80516001600160e01b0319811681146123be57600080fd5b6000602082840312156123f857600080fd5b81516001600160401b038082111561240f57600080fd5b90830190610160828603121561242457600080fd5b61242c6119c8565b612435836123ad565b8152612443602084016123ad565b60208201526040830151604082015261245e606084016123c3565b606082015261246f608084016123ce565b608082015260a08301518281111561248657600080fd5b612492878286016122c4565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506124c98284016123c3565b8282015261014091506124dd8284016123c3565b91810191909152949350505050565b600080600080600060a0868803121561250457600080fd5b61250d866123ad565b9450602086015161251d816119a0565b604087015190945061252e81611988565b606087015190935061253f81611988565b608087015190925061255081611e91565b809150509295509295909350565b6020808252600890820152676f682068656c6c6f60c01b604082015260600190565b805180151581146123be57600080fd5b600080600080600060a086880312156125a857600080fd5b85516125b381611988565b60208701519095506125c4816119a0565b93506125d260408701612580565b925060608601516125e281611e91565b80925050608086015190509295509295909350565b6000806040838503121561260a57600080fd5b825191506020830151611f1581611e91565b6001600160a01b038516815263ffffffff841660208201526001600160801b03831660408201526080606082018190526000906114fb90830184611d30565b60006001600160401b03821115612674576126746119b2565b5060051b60200190565b600082601f83011261268f57600080fd5b8151602061269f611a678361265b565b82815260059290921b840181019181810190868411156126be57600080fd5b8286015b848110156114cb5780516126d5816119a0565b83529183019183016126c2565b600082601f8301126126f357600080fd5b81516020612703611a678361265b565b82815260059290921b8401810191818101908684111561272257600080fd5b8286015b848110156114cb57805161273981611e91565b8352918301918301612726565b60008060006060848603121561275b57600080fd5b83516001600160401b038082111561277257600080fd5b818601915086601f83011261278657600080fd5b81516020612796611a678361265b565b82815260059290921b8401810191818101908a8411156127b557600080fd5b948201945b838610156127dc5785516127cd81611988565b825294820194908201906127ba565b918901519197509093505050808211156127f557600080fd5b6128018783880161267e565b9350604086015191508082111561281757600080fd5b50611bf0868287016126e2565b6001600160a01b03868116825263ffffffff86166020830152841660408201526001600160801b038316606082015260a06080820181905260009061176b90830184611d30565b6000806000806080858703121561288157600080fd5b61288a85612580565b9350602085015161289a81611e91565b60408601519093506128ab81611e91565b60608601519092506120a581611e91565b600080600080608085870312156128d257600080fd5b6128db85612580565b93506128e960208601612580565b925060408501516128f981611e91565b6060959095015193969295505050565b60018060a01b038516815263ffffffff841660208201528260408201526080606082015260006114fb6080830184611d30565b6001600160a01b038516815260806020820181905260009061296090830186611d30565b82810360408401526129728186611d30565b9050828103606084015261176b8185611d30565b6000806040838503121561299957600080fd5b82516001600160401b03808211156129b057600080fd5b6129bc868387016122c4565b935060208501519150808211156129d257600080fd5b506129df858286016122c4565b915050925092905056fea2646970667358221220540c670f6b54e43c83744d665322887cd125696eb93f00572c0c6d752f05f4ce64736f6c63430008130033",gV=eb=>eb.length>1;class gw extends uw.lV{constructor(...eb){gV(eb)?super(...eb):super(gz,gH,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(gz)}static connect(eb,em){return new uw.CH(eb,gz,em)}}gw.bytecode=gH,gw.abi=gz;let gM=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerAppWithHost",outputs:[],stateMutability:"nonpayable",type:"function"}],gC="0x608060405234801561001057600080fd5b5061012c806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063ad88671d14602d575b600080fd5b603c603836600460ba565b603e565b005b6040516379b9982960e11b81526001600160a01b0383811660048301526024820183905284169063f373305290604401600060405180830381600087803b158015608757600080fd5b505af1158015609a573d6000803e3d6000fd5b50505050505050565b6001600160a01b038116811460b757600080fd5b50565b60008060006060848603121560ce57600080fd5b833560d78160a3565b9250602084013560e58160a3565b92959294505050604091909101359056fea26469706673582212209d1aa54def2a7911131c670eab564d0de4f81530d4ff9780c8d61da748c5019e64736f6c63430008130033",gx=eb=>eb.length>1;class gk extends uw.lV{constructor(...eb){gx(eb)?super(...eb):super(gM,gC,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(gM)}static connect(eb,em){return new uw.CH(eb,gM,em)}}gk.bytecode=gC,gk.abi=gM;let gT=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"},{internalType:"bool",name:"doubleRegistration",type:"bool"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"appLevel",type:"uint8"},{indexed:!1,internalType:"uint8",name:"callType",type:"uint8"},{indexed:!1,internalType:"bytes4",name:"agreementSelector",type:"bytes4"}],name:"NoopEvent",type:"event"},{inputs:[{internalType:"contract AgreementMock",name:"agreement",type:"address"},{internalType:"string",name:"reason",type:"string"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionAgreementRevert",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionAlteringCtx",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionAssert",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallActionNoop",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallActionNoopThroughAux",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"reason",type:"string"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallActionRevert",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"reason",type:"string"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallActionWithInvalidCtx",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract AgreementMock",name:"agreement",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallAgreementWithInvalidCtx",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallAgreementWithoutCtx",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallAppActionWithoutCtx",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallBadAction",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallPayable",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"expectedMsgSender",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionExpectMsgSender",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionNoop",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract AgreementMock",name:"agreement",type:"address"},{internalType:"uint256",name:"ping",type:"uint256"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionPingAgreement",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract AgreementMock",name:"agreement",type:"address"},{internalType:"uint256",name:"ping",type:"uint256"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionPingAgreementThroughAux",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionReturnEmptyCtx",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionRevert",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"reason",type:"string"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionRevertWithReason",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"target",type:"address"}],name:"allowCompositeApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"enum SuperAppMock.NextCallbackActionType",name:"actionType",type:"uint8"},{internalType:"bytes",name:"data",type:"bytes"}],name:"setNextCallbackAction",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"configWord",type:"uint256"}],name:"tryRegisterApp",outputs:[],stateMutability:"nonpayable",type:"function"}],g_="0x60806040523480156200001157600080fd5b506040516200341d3803806200341d833981016040819052620000349162000190565b600080546001600160a01b0319166001600160a01b03851690811782556040805163bd1c448b60e01b815260048101869052602481019190915260448101929092529063bd1c448b90606401600060405180830381600087803b1580156200009b57600080fd5b505af1158015620000b0573d6000803e3d6000fd5b5050505080156200012c57600080546040805163bd1c448b60e01b815260048101869052602481019190915260448101929092526001600160a01b03169063bd1c448b90606401600060405180830381600087803b1580156200011257600080fd5b505af115801562000127573d6000803e3d6000fd5b505050505b6040516200013a9062000182565b604051809103906000f08015801562000157573d6000803e3d6000fd5b50600180546001600160a01b0319166001600160a01b039290921691909117905550620001e7915050565b6106478062002dd683390190565b600080600060608486031215620001a657600080fd5b83516001600160a01b0381168114620001be57600080fd5b6020850151604086015191945092508015158114620001dc57600080fd5b809150509250925092565b612bdf80620001f76000396000f3fe6080604052600436106101b75760003560e01c80636affc782116100ec578063b88bd14f1161008a578063dc1ce9cb11610064578063dc1ce9cb14610454578063e772ecc114610467578063ecdccfd914610487578063fe5f2b9b146104a757600080fd5b8063b88bd14f14610414578063bc90ea3c14610434578063d86ed3e51461025457600080fd5b8063884d1f40116100c6578063884d1f401461029457806390d4b672146103b4578063a6b71066146103d4578063b88a2483146103f457600080fd5b80636affc78214610354578063772ce847146103745780637a7675a01461039457600080fd5b80633b790ac81161015957806357121e0c1161013357806357121e0c146102f457806358b0d33d146103145780635f9e7d7714610294578063602e48cd1461033457600080fd5b80633b790ac8146102b45780633fc3b0f7146102d457806353c11f991461025457600080fd5b80630bfe0f20116101955780630bfe0f201461021e578063230dbd291461025457806328fd0b471461027457806330d9c9151461029457600080fd5b80630769a69b146101bc57806308c95b5d146101de5780630a00b52d146101fe575b600080fd5b3480156101c857600080fd5b506101dc6101d736600461203c565b6104c7565b005b3480156101ea57600080fd5b506101dc6101f9366004612095565b6105e7565b34801561020a57600080fd5b506101dc61021936600461203c565b6106e3565b34801561022a57600080fd5b5061023e6102393660046120f0565b610844565b60405161024b9190612194565b60405180910390f35b34801561026057600080fd5b5061023e61026f3660046121ae565b6109cc565b34801561028057600080fd5b506101dc61028f366004612278565b610aa4565b3480156102a057600080fd5b5061023e6102af366004612291565b610aff565b3480156102c057600080fd5b506101dc6102cf36600461203c565b610b9e565b3480156102e057600080fd5b5061023e6102ef36600461232f565b610c24565b34801561030057600080fd5b506101dc61030f36600461238e565b610d9d565b34801561032057600080fd5b506101dc61032f36600461203c565b610dcf565b34801561034057600080fd5b5061023e61034f3660046120f0565b610ec7565b34801561036057600080fd5b5061023e61036f36600461203c565b61106d565b34801561038057600080fd5b506101dc61038f3660046123ab565b61111b565b3480156103a057600080fd5b506101dc6103af36600461203c565b61114c565b3480156103c057600080fd5b5061023e6103cf3660046123cf565b6111d2565b3480156103e057600080fd5b5061023e6103ef366004612095565b611346565b34801561040057600080fd5b506101dc61040f36600461203c565b6114b9565b34801561042057600080fd5b506101dc61042f36600461203c565b61157d565b34801561044057600080fd5b5061023e61044f36600461203c565b61160b565b61023e61046236600461203c565b611769565b34801561047357600080fd5b5061023e61048236600461203c565b6117a9565b34801561049357600080fd5b5061023e6104a236600461232f565b611929565b3480156104b357600080fd5b506101dc6104c236600461232f565b611a3b565b604051632fd0a1cd60e21b815282908290339063bf428734906104f0908590859060040161247a565b602060405180830381865afa15801561050d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105319190612496565b6105565760405162461bcd60e51b815260040161054d906124b8565b60405180910390fd5b600080546040805183815260208101848152818301928390526339255d5b60e01b9092526001600160a01b03909216926339255d5b926105999260448201612511565b6000604051808303816000875af11580156105b8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105e0919081019061260d565b5050505050565b604051632fd0a1cd60e21b815282908290339063bf42873490610610908590859060040161247a565b602060405180830381865afa15801561062d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106519190612496565b61066d5760405162461bcd60e51b815260040161054d906124b8565b600154600054604051630a1bcfa560e11b81526001600160a01b03928316926314379f4a926106a9929116908a908a908a908a90600401612641565b600060405180830381600087803b1580156106c357600080fd5b505af11580156106d7573d6000803e3d6000fd5b50505050505050505050565b604051632fd0a1cd60e21b815282908290339063bf4287349061070c908590859060040161247a565b602060405180830381865afa158015610729573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074d9190612496565b6107695760405162461bcd60e51b815260040161054d906124b8565b60008054604080519283526020830190526001600160a01b03169063ba48b5f89030908190636affc782906107a19060448101612194565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526107ee9392509089908990600401612675565b6000604051808303816000875af115801561080d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610835919081019061260d565b5061083e6126ac565b50505050565b604051632fd0a1cd60e21b815260609083908390339063bf42873490610870908590859060040161247a565b602060405180830381865afa15801561088d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b19190612496565b6108cd5760405162461bcd60e51b815260040161054d906124b8565b60008054604080519283526020830190526001600160a01b0390811691634329d29391899190821690638e6b27499061090e903090602a90604481016126c2565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b1790528151600081529081018252602a8183015281518082038301815260608201928390529387901b6001600160e01b03191690915261097a9493509091606482016126e9565b6000604051808303816000875af1158015610999573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109c19190810190612733565b509695505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf428734906109f8908590859060040161247a565b602060405180830381865afa158015610a15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a399190612496565b610a555760405162461bcd60e51b815260040161054d906124b8565b610a9485858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611add92505050565b9c9b505050505050505050505050565b6000546040516315a722b960e31b8152600481018390526001600160a01b039091169063ad3915c8906024015b600060405180830381600087803b158015610aeb57600080fd5b505af11580156105e0573d6000803e3d6000fd5b604051632fd0a1cd60e21b815260609083908390339063bf42873490610b2b908590859060040161247a565b602060405180830381865afa158015610b48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6c9190612496565b610b885760405162461bcd60e51b815260040161054d906124b8565b610b90611e33565b9a9950505050505050505050565b604051632fd0a1cd60e21b815282908290339063bf42873490610bc7908590859060040161247a565b602060405180830381865afa158015610be4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c089190612496565b61083e5760405162461bcd60e51b815260040161054d906124b8565b604051632fd0a1cd60e21b815260609083908390339063bf42873490610c50908590859060040161247a565b602060405180830381865afa158015610c6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c919190612496565b610cad5760405162461bcd60e51b815260040161054d906124b8565b60008054604080519283526020830190526001600160a01b03169063ba48b5f8903090819063fe5f2b9b90610ce9908d908d9060448101612796565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b1790528151602a8183015282518082039092018252808301928390529387901b6001600160e01b031916909152610d4b9493509091604401612511565b6000604051808303816000875af1158015610d6a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d92919081019061260d565b979650505050505050565b6000546040516315c4878360e21b81526001600160a01b038381166004830152909116906357121e0c90602401610ad1565b604051632fd0a1cd60e21b815282908290339063bf42873490610df8908590859060040161247a565b602060405180830381865afa158015610e15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e399190612496565b610e555760405162461bcd60e51b815260040161054d906124b8565b60015460005460405163131e7b7560e21b81526001600160a01b0392831692634c79edd492610e8f929116903090899089906004016127bc565b600060405180830381600087803b158015610ea957600080fd5b505af1158015610ebd573d6000803e3d6000fd5b5050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf42873490610ef3908590859060040161247a565b602060405180830381865afa158015610f10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f349190612496565b610f505760405162461bcd60e51b815260040161054d906124b8565b604051631fb6491d60e11b81526000903390633f6c923a90610f78908990899060040161247a565b600060405180830381865afa158015610f95573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fbd9190810190612822565b9050866001600160a01b031681606001516001600160a01b031614610fe457610fe46126ac565b7f5d497a0f141d2596bd23602421f1cc06c3b9ad6c29b51997cf62ca3f84754e1381600001518260200151836080015160405161102393929190612928565b60405180910390a185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929a9950505050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf42873490611099908590859060040161247a565b602060405180830381865afa1580156110b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110da9190612496565b6110f65760405162461bcd60e51b815260040161054d906124b8565b60408051602a6020820152016040516020818303038152906040529250505092915050565b6002805484919060ff1916600183600681111561113a5761113a61294f565b0217905550600361083e8284836129e7565b604051632fd0a1cd60e21b815282908290339063bf42873490611175908590859060040161247a565b602060405180830381865afa158015611192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b69190612496565b6101b75760405162461bcd60e51b815260040161054d906124b8565b604051632fd0a1cd60e21b815260609083908390339063bf428734906111fe908590859060040161247a565b602060405180830381865afa15801561121b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123f9190612496565b61125b5760405162461bcd60e51b815260040161054d906124b8565b60008054604080519283526020830190526001600160a01b0390811691634329d293918b919082169063edf02c4e9061129b908d908d9060448101612796565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526112f2939250908a8a60248301612aa6565b6000604051808303816000875af1158015611311573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113399190810190612733565b5098975050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf42873490611372908590859060040161247a565b602060405180830381865afa15801561138f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b39190612496565b6113cf5760405162461bcd60e51b815260040161054d906124b8565b60008054604080519283526020830190526001600160a01b0390811691634329d293918a9190821690638e6b27499061140f9030908d90604481016126c2565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052611466939250908a8a60248301612aa6565b6000604051808303816000875af1158015611485573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114ad9190810190612733565b50979650505050505050565b604051632fd0a1cd60e21b815282908290339063bf428734906114e2908590859060040161247a565b602060405180830381865afa1580156114ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115239190612496565b61153f5760405162461bcd60e51b815260040161054d906124b8565b60008054604080518381526020810191829052631e855cf360e01b9091526001600160a01b0390911691631e855cf391610599919060248101612afd565b604051632fd0a1cd60e21b815282908290339063bf428734906115a6908590859060040161247a565b602060405180830381865afa1580156115c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e79190612496565b6116035760405162461bcd60e51b815260040161054d906124b8565b61083e6126ac565b604051632fd0a1cd60e21b815260609083908390339063bf42873490611637908590859060040161247a565b602060405180830381865afa158015611654573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116789190612496565b6116945760405162461bcd60e51b815260040161054d906124b8565b60008054604080519283526020830190526001600160a01b03169063ba48b5f8903090819063e772ecc1906116cc9060448101612194565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252611719939250908a908a90600401612675565b6000604051808303816000875af1158015611738573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611760919081019061260d565b95945050505050565b606082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929695505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf428734906117d5908590859060040161247a565b602060405180830381865afa1580156117f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118169190612496565b6118325760405162461bcd60e51b815260040161054d906124b8565b604051631fb6491d60e11b81526000903390633f6c923a9061185a908990899060040161247a565b600060405180830381865afa158015611877573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261189f9190810190612822565b90507f5d497a0f141d2596bd23602421f1cc06c3b9ad6c29b51997cf62ca3f84754e138160000151826020015183608001516040516118e093929190612928565b60405180910390a185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929998505050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf42873490611955908590859060040161247a565b602060405180830381865afa158015611972573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119969190612496565b6119b25760405162461bcd60e51b815260040161054d906124b8565b60008054604080519283526020830190526001600160a01b03169063ba48b5f8903090819063fe5f2b9b906119ee908d908d9060448101612796565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610d4b939250908a908a90600401612675565b604051632fd0a1cd60e21b815282908290339063bf42873490611a64908590859060040161247a565b602060405180830381865afa158015611a81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa59190612496565b611ac15760405162461bcd60e51b815260040161054d906124b8565b858560405162461bcd60e51b815260040161054d92919061247a565b604051631fb6491d60e11b81526060906000903390633f6c923a90611b06908690600401612194565b600060405180830381865afa158015611b23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b4b9190810190612822565b9050600060025460ff166006811115611b6657611b6661294f565b03611bb9577f5d497a0f141d2596bd23602421f1cc06c3b9ad6c29b51997cf62ca3f84754e13816000015182602001518360800151604051611baa93929190612928565b60405180910390a15090919050565b600160025460ff166006811115611bd257611bd261294f565b03611be457611bdf6126ac565b611e2d565b6002805460ff166006811115611bfc57611bfc61294f565b03611c0657600080fd5b600360025460ff166006811115611c1f57611c1f61294f565b03611cdb5760038054611c3190612965565b80601f0160208091040260200160405190810160405280929190818152602001828054611c5d90612965565b8015611caa5780601f10611c7f57610100808354040283529160200191611caa565b820191906000526020600020905b815481529060010190602001808311611c8d57829003601f168201915b5050505050806020019051810190611cc29190612b21565b60405162461bcd60e51b815260040161054d9190612194565b600460025460ff166006811115611cf457611cf461294f565b03611d2e57602a5b6040519080825280601f01601f191660200182016040528015611d26576020820181803683370190505b509392505050565b600560025460ff166006811115611d4757611d4761294f565b03611e0057600060026001018054611d5e90612965565b80601f0160208091040260200160405190810160405280929190818152602001828054611d8a90612965565b8015611dd75780601f10611dac57610100808354040283529160200191611dd7565b820191906000526020600020905b815481529060010190602001808311611dba57829003601f168201915b5050505050806020019051810190611def9190612b69565b9050611dfa81611fc0565b50611e2d565b600660025460ff166006811115611e1957611e1961294f565b03611e25576000611cfc565b611e2d6126ac565b50919050565b6060600060025460ff166006811115611e4e57611e4e61294f565b03611e72575060408051808201909152600481526304e6f6f760e41b602082015290565b600160025460ff166006811115611e8b57611e8b61294f565b03611e9b57611e986126ac565b90565b6002805460ff166006811115611eb357611eb361294f565b03611ebd57600080fd5b600360025460ff166006811115611ed657611ed661294f565b03611ee85760038054611c3190612965565b600560025460ff166006811115611f0157611f0161294f565b03611fb857600060026001018054611f1890612965565b80601f0160208091040260200160405190810160405280929190818152602001828054611f4490612965565b8015611f915780601f10611f6657610100808354040283529160200191611f91565b820191906000526020600020905b815481529060010190602001808311611f7457829003601f168201915b5050505050806020019051810190611fa99190612b69565b9050611fb481611fc0565b5090565b611e986126ac565b60005a905060005a90505b611fd76103e884612b82565b611fe18284612b82565b1015611fef575a9050611fcb565b505050565b60008083601f84011261200657600080fd5b5081356001600160401b0381111561201d57600080fd5b60208301915083602082850101111561203557600080fd5b9250929050565b6000806020838503121561204f57600080fd5b82356001600160401b0381111561206557600080fd5b61207185828601611ff4565b90969095509350505050565b6001600160a01b038116811461209257600080fd5b50565b600080600080606085870312156120ab57600080fd5b84356120b68161207d565b93506020850135925060408501356001600160401b038111156120d857600080fd5b6120e487828801611ff4565b95989497509550505050565b60008060006040848603121561210557600080fd5b83356121108161207d565b925060208401356001600160401b0381111561212b57600080fd5b61213786828701611ff4565b9497909650939450505050565b60005b8381101561215f578181015183820152602001612147565b50506000910152565b60008151808452612180816020860160208601612144565b601f01601f19169290920160200192915050565b6020815260006121a76020830184612168565b9392505050565b600080600080600080600080600060c08a8c0312156121cc57600080fd5b89356121d78161207d565b985060208a01356121e78161207d565b975060408a0135965060608a01356001600160401b038082111561220a57600080fd5b6122168d838e01611ff4565b909850965060808c013591508082111561222f57600080fd5b61223b8d838e01611ff4565b909650945060a08c013591508082111561225457600080fd5b506122618c828d01611ff4565b915080935050809150509295985092959850929598565b60006020828403121561228a57600080fd5b5035919050565b600080600080600080600060a0888a0312156122ac57600080fd5b87356122b78161207d565b965060208801356122c78161207d565b95506040880135945060608801356001600160401b03808211156122ea57600080fd5b6122f68b838c01611ff4565b909650945060808a013591508082111561230f57600080fd5b5061231c8a828b01611ff4565b989b979a50959850939692959293505050565b6000806000806040858703121561234557600080fd5b84356001600160401b038082111561235c57600080fd5b61236888838901611ff4565b9096509450602087013591508082111561238157600080fd5b506120e487828801611ff4565b6000602082840312156123a057600080fd5b81356121a78161207d565b6000806000604084860312156123c057600080fd5b83356007811061211057600080fd5b6000806000806000606086880312156123e757600080fd5b85356123f28161207d565b945060208601356001600160401b038082111561240e57600080fd5b61241a89838a01611ff4565b9096509450604088013591508082111561243357600080fd5b5061244088828901611ff4565b969995985093965092949392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152600061248e602083018486612451565b949350505050565b6000602082840312156124a857600080fd5b815180151581146121a757600080fd5b60208082526023908201527f41677265656d656e744d6f636b3a20637478206e6f742076616c6964206265666040820152626f726560e81b606082015260800190565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038416815260606020820181905260009061253590830185612168565b82810360408401526125478185612168565b9695505050505050565b60405161016081016001600160401b0381118282101715612574576125746124fb565b60405290565b60006001600160401b0380841115612594576125946124fb565b604051601f8501601f19908116603f011681019082821181831017156125bc576125bc6124fb565b816040528093508581528686860111156125d557600080fd5b6125e3866020830187612144565b5050509392505050565b600082601f8301126125fe57600080fd5b6121a78383516020850161257a565b60006020828403121561261f57600080fd5b81516001600160401b0381111561263557600080fd5b61248e848285016125ed565b6001600160a01b0386811682528516602082015260408101849052608060608201819052600090610d929083018486612451565b6001600160a01b038516815260606020820181905260009061269990830186612168565b8281036040840152610d92818587612451565b634e487b7160e01b600052600160045260246000fd5b60018060a01b03841681528260208201526060604082015260006117606060830184612168565b6001600160a01b038516815260806020820181905260009061270d90830186612168565b828103604084015261271f8186612168565b90508281036060840152610d928185612168565b6000806040838503121561274657600080fd5b82516001600160401b038082111561275d57600080fd5b612769868387016125ed565b9350602085015191508082111561277f57600080fd5b5061278c858286016125ed565b9150509250929050565b6040815260006127aa604083018587612451565b82810360208401526125478185612168565b6001600160a01b038581168252841660208201526060604082018190526000906125479083018486612451565b805160ff811681146127fa57600080fd5b919050565b80516127fa8161207d565b80516001600160e01b0319811681146127fa57600080fd5b60006020828403121561283457600080fd5b81516001600160401b038082111561284b57600080fd5b90830190610160828603121561286057600080fd5b612868612551565b612871836127e9565b815261287f602084016127e9565b60208201526040830151604082015261289a606084016127ff565b60608201526128ab6080840161280a565b608082015260a0830151828111156128c257600080fd5b6128ce878286016125ed565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506129058284016127ff565b8282015261014091506129198284016127ff565b91810191909152949350505050565b60ff93841681529190921660208201526001600160e01b0319909116604082015260600190565b634e487b7160e01b600052602160045260246000fd5b600181811c9082168061297957607f821691505b602082108103611e2d57634e487b7160e01b600052602260045260246000fd5b601f821115611fef57600081815260208120601f850160051c810160208610156129c05750805b601f850160051c820191505b818110156129df578281556001016129cc565b505050505050565b6001600160401b038311156129fe576129fe6124fb565b612a1283612a0c8354612965565b83612999565b6000601f841160018114612a465760008515612a2e5750838201355b600019600387901b1c1916600186901b1783556105e0565b600083815260209020601f19861690835b82811015612a775786850135825560209485019460019092019101612a57565b5086821015612a945760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6001600160a01b0386168152608060208201819052600090612aca90830187612168565b8281036040840152612adc8187612168565b90508281036060840152612af1818587612451565b98975050505050505050565b6001600160a01b038316815260406020820181905260009061248e90830184612168565b600060208284031215612b3357600080fd5b81516001600160401b03811115612b4957600080fd5b8201601f81018413612b5a57600080fd5b61248e8482516020840161257a565b600060208284031215612b7b57600080fd5b5051919050565b81810381811115612ba357634e487b7160e01b600052601160045260246000fd5b9291505056fea2646970667358221220861a3043cdcfb5d426309395ff2d94b16d4c195da794639afcb11e88acac0d5e64736f6c63430008130033608060405234801561001057600080fd5b50610627806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806314379f4a1461003b5780634c79edd414610050575b600080fd5b61004e61004936600461027e565b610063565b005b61004e61005e3660046102f1565b610148565b6040805160008152602081019091526001600160a01b0386811691634329d29391879190821690638e6b2749906100a19030908a90604481016103bc565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526100f893925090878760248301610415565b6000604051808303816000875af1158015610117573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261013f91908101906104f4565b50505050505050565b6040805160008152602081019091526001600160a01b038581169163ba48b5f89186919082169063e772ecc1906101829060448101610558565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526101cf9392509087908790600401610572565b6000604051808303816000875af11580156101ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261021691908101906105b4565b5050505050565b6001600160a01b038116811461023257600080fd5b50565b60008083601f84011261024757600080fd5b50813567ffffffffffffffff81111561025f57600080fd5b60208301915083602082850101111561027757600080fd5b9250929050565b60008060008060006080868803121561029657600080fd5b85356102a18161021d565b945060208601356102b18161021d565b935060408601359250606086013567ffffffffffffffff8111156102d457600080fd5b6102e088828901610235565b969995985093965092949392505050565b6000806000806060858703121561030757600080fd5b84356103128161021d565b935060208501356103228161021d565b9250604085013567ffffffffffffffff81111561033e57600080fd5b61034a87828801610235565b95989497509550505050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561038757818101518382015260200161036f565b50506000910152565b600081518084526103a881602086016020860161036c565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006103e36060830184610390565b95945050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038616815260806020820181905260009061043990830187610390565b828103604084015261044b8187610390565b905082810360608401526104608185876103ec565b98975050505050505050565b600082601f83011261047d57600080fd5b815167ffffffffffffffff8082111561049857610498610356565b604051601f8301601f19908116603f011681019082821181831017156104c0576104c0610356565b816040528381528660208588010111156104d957600080fd5b6104ea84602083016020890161036c565b9695505050505050565b6000806040838503121561050757600080fd5b825167ffffffffffffffff8082111561051f57600080fd5b61052b8683870161046c565b9350602085015191508082111561054157600080fd5b5061054e8582860161046c565b9150509250929050565b60208152600061056b6020830184610390565b9392505050565b6001600160a01b038516815260606020820181905260009061059690830186610390565b82810360408401526105a98185876103ec565b979650505050505050565b6000602082840312156105c657600080fd5b815167ffffffffffffffff8111156105dd57600080fd5b6105e98482850161046c565b94935050505056fea2646970667358221220585666bf2941bbeb18a3d67d1bfbbc3898d9d4eeda51c346ccd255e8aa72138a64736f6c63430008130033",gS=eb=>eb.length>1;class gE extends uw.lV{constructor(...eb){gS(eb)?super(...eb):super(gT,g_,eb[0])}deploy(eb,em,eH,eV){return super.deploy(eb,em,eH,eV||{})}getDeployTransaction(eb,em,eH,eV){return super.getDeployTransaction(eb,em,eH,eV||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(gT)}static connect(eb,em){return new uw.CH(eb,gT,em)}}gE.bytecode=g_,gE.abi=gT;let gA=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract SuperAppMock",name:"app",type:"address"},{internalType:"contract AgreementMock",name:"agreement",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"allowCompositeApp",outputs:[],stateMutability:"nonpayable",type:"function"}],gN="0x608060405234801561001057600080fd5b5060405161068338038061068383398101604081905261002f916100fc565b600080546001600160a01b0319166001600160a01b03851690811782556040805163bd1c448b60e01b815260026004820152602481019190915260448101929092529063bd1c448b90606401600060405180830381600087803b15801561009557600080fd5b505af11580156100a9573d6000803e3d6000fd5b5050600180546001600160a01b039586166001600160a01b031991821617909155600280549490951693169290921790925550610149915050565b6001600160a01b03811681146100f957600080fd5b50565b60008060006060848603121561011157600080fd5b835161011c816100e4565b602085015190935061012d816100e4565b604085015190925061013e816100e4565b809150509250925092565b61052b806101586000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80631727b0fa1461003b578063d86ed3e514610045575b600080fd5b61004361006e565b005b610058610053366004610225565b6100d1565b6040516100659190610340565b60405180910390f35b6000546001546040516315c4878360e21b81526001600160a01b0391821660048201529116906357121e0c90602401600060405180830381600087803b1580156100b757600080fd5b505af11580156100cb573d6000803e3d6000fd5b50505050565b60008054600254600154604080519485526020850190526060936001600160a01b0393841693634329d29393811692839263546588739261011792169060448101610370565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b031916905261016e9392509088886024830161039c565b6000604051808303816000875af115801561018d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101b59190810190610491565b509a9950505050505050505050565b6001600160a01b03811681146101d957600080fd5b50565b60008083601f8401126101ee57600080fd5b50813567ffffffffffffffff81111561020657600080fd5b60208301915083602082850101111561021e57600080fd5b9250929050565b600080600080600080600080600060c08a8c03121561024357600080fd5b893561024e816101c4565b985060208a013561025e816101c4565b975060408a0135965060608a013567ffffffffffffffff8082111561028257600080fd5b61028e8d838e016101dc565b909850965060808c01359150808211156102a757600080fd5b6102b38d838e016101dc565b909650945060a08c01359150808211156102cc57600080fd5b506102d98c828d016101dc565b915080935050809150509295985092959850929598565b60005b8381101561030b5781810151838201526020016102f3565b50506000910152565b6000815180845261032c8160208601602086016102f0565b601f01601f19169290920160200192915050565b6020815260006103536020830184610314565b9392505050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038316815260406020820181905260009061039490830184610314565b949350505050565b6001600160a01b03861681526080602082018190526000906103c090830187610314565b82810360408401526103d28187610314565b90508281036060840152838152838560208301376000602085830101526020601f19601f8601168201019150509695505050505050565b600082601f83011261041a57600080fd5b815167ffffffffffffffff808211156104355761043561035a565b604051601f8301601f19908116603f0116810190828211818310171561045d5761045d61035a565b8160405283815286602085880101111561047657600080fd5b6104878460208301602089016102f0565b9695505050505050565b600080604083850312156104a457600080fd5b825167ffffffffffffffff808211156104bc57600080fd5b6104c886838701610409565b935060208501519150808211156104de57600080fd5b506104eb85828601610409565b915050925092905056fea2646970667358221220a34ea7ec2ef6a12d74facb1484b34fd4851ed71b8d9925b6354b256352c4b28c64736f6c63430008130033",gI=eb=>eb.length>1;class gD extends uw.lV{constructor(...eb){gI(eb)?super(...eb):super(gA,gN,eb[0])}deploy(eb,em,eH,eV){return super.deploy(eb,em,eH,eV||{})}getDeployTransaction(eb,em,eH,eV){return super.getDeployTransaction(eb,em,eH,eV||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(gA)}static connect(eb,em){return new uw.CH(eb,gA,em)}}gD.bytecode=gN,gD.abi=gA;let gP=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract SuperAppMock",name:"app",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallActionNoop",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract AgreementMock",name:"agreement",type:"address"},{internalType:"uint256",name:"ping",type:"uint256"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionPingAgreement",outputs:[],stateMutability:"nonpayable",type:"function"}],gO="0x608060405234801561001057600080fd5b50610627806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806314379f4a1461003b5780634c79edd414610050575b600080fd5b61004e61004936600461027e565b610063565b005b61004e61005e3660046102f1565b610148565b6040805160008152602081019091526001600160a01b0386811691634329d29391879190821690638e6b2749906100a19030908a90604481016103bc565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526100f893925090878760248301610415565b6000604051808303816000875af1158015610117573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261013f91908101906104f4565b50505050505050565b6040805160008152602081019091526001600160a01b038581169163ba48b5f89186919082169063e772ecc1906101829060448101610558565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526101cf9392509087908790600401610572565b6000604051808303816000875af11580156101ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261021691908101906105b4565b5050505050565b6001600160a01b038116811461023257600080fd5b50565b60008083601f84011261024757600080fd5b50813567ffffffffffffffff81111561025f57600080fd5b60208301915083602082850101111561027757600080fd5b9250929050565b60008060008060006080868803121561029657600080fd5b85356102a18161021d565b945060208601356102b18161021d565b935060408601359250606086013567ffffffffffffffff8111156102d457600080fd5b6102e088828901610235565b969995985093965092949392505050565b6000806000806060858703121561030757600080fd5b84356103128161021d565b935060208501356103228161021d565b9250604085013567ffffffffffffffff81111561033e57600080fd5b61034a87828801610235565b95989497509550505050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561038757818101518382015260200161036f565b50506000910152565b600081518084526103a881602086016020860161036c565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006103e36060830184610390565b95945050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038616815260806020820181905260009061043990830187610390565b828103604084015261044b8187610390565b905082810360608401526104608185876103ec565b98975050505050505050565b600082601f83011261047d57600080fd5b815167ffffffffffffffff8082111561049857610498610356565b604051601f8301601f19908116603f011681019082821181831017156104c0576104c0610356565b816040528381528660208588010111156104d957600080fd5b6104ea84602083016020890161036c565b9695505050505050565b6000806040838503121561050757600080fd5b825167ffffffffffffffff8082111561051f57600080fd5b61052b8683870161046c565b9350602085015191508082111561054157600080fd5b5061054e8582860161046c565b9150509250929050565b60208152600061056b6020830184610390565b9392505050565b6001600160a01b038516815260606020820181905260009061059690830186610390565b82810360408401526105a98185876103ec565b979650505050505050565b6000602082840312156105c657600080fd5b815167ffffffffffffffff8111156105dd57600080fd5b6105e98482850161046c565b94935050505056fea2646970667358221220585666bf2941bbeb18a3d67d1bfbbc3898d9d4eeda51c346ccd255e8aa72138a64736f6c63430008130033",gR=eb=>eb.length>1;class gB extends uw.lV{constructor(...eb){gR(eb)?super(...eb):super(gP,gO,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(gP)}static connect(eb,em){return new uw.CH(eb,gP,em)}}gB.bytecode=gO,gB.abi=gP;let gF=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementCreated",outputs:[],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[],stateMutability:"pure",type:"function"}],gj="0x608060405234801561001057600080fd5b5060405161037638038061037683398101604081905261002f916100b3565b600080546001600160a01b0319166001600160a01b03831690811782556040805163bd1c448b60e01b815260016004820152602481019190915260448101929092529063bd1c448b90606401600060405180830381600087803b15801561009557600080fd5b505af11580156100a9573d6000803e3d6000fd5b50505050506100e3565b6000602082840312156100c557600080fd5b81516001600160a01b03811681146100dc57600080fd5b9392505050565b610284806100f26000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806330d9c9151461005157806353c11f991461006a5780635f9e7d7714610051578063d86ed3e51461006a575b600080fd5b61006861005f3660046100e4565b50505050505050565b005b610068610078366004610183565b505050505050505050565b6001600160a01b038116811461009857600080fd5b50565b60008083601f8401126100ad57600080fd5b50813567ffffffffffffffff8111156100c557600080fd5b6020830191508360208285010111156100dd57600080fd5b9250929050565b600080600080600080600060a0888a0312156100ff57600080fd5b873561010a81610083565b9650602088013561011a81610083565b955060408801359450606088013567ffffffffffffffff8082111561013e57600080fd5b61014a8b838c0161009b565b909650945060808a013591508082111561016357600080fd5b506101708a828b0161009b565b989b979a50959850939692959293505050565b600080600080600080600080600060c08a8c0312156101a157600080fd5b89356101ac81610083565b985060208a01356101bc81610083565b975060408a0135965060608a013567ffffffffffffffff808211156101e057600080fd5b6101ec8d838e0161009b565b909850965060808c013591508082111561020557600080fd5b6102118d838e0161009b565b909650945060a08c013591508082111561022a57600080fd5b506102378c828d0161009b565b91508093505080915050929598509295985092959856fea2646970667358221220928d3badbea72c78d28879ab2e396b4d98d714f4a57f1a7baa30743d7073e67064736f6c63430008130033",gU=eb=>eb.length>1;class gq extends uw.lV{constructor(...eb){gU(eb)?super(...eb):super(gF,gj,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(gF)}static connect(eb,em){return new uw.CH(eb,gF,em)}}gq.bytecode=gj,gq.abi=gF;let g$=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"}],gW="0x608060405234801561001057600080fd5b506040516102be3803806102be83398101604081905261002f916100b3565b600080546001600160a01b0319166001600160a01b03831690811782556040805163bd1c448b60e01b815260016004820152602481019190915260448101929092529063bd1c448b90606401600060405180830381600087803b15801561009557600080fd5b505af11580156100a9573d6000803e3d6000fd5b50505050506100e3565b6000602082840312156100c557600080fd5b81516001600160a01b03811681146100dc57600080fd5b9392505050565b6101cc806100f26000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806353c11f991461003b578063d86ed3e51461003b575b600080fd5b6100586100493660046100cb565b602a9998505050505050505050565b60405190815260200160405180910390f35b6001600160a01b038116811461007f57600080fd5b50565b60008083601f84011261009457600080fd5b50813567ffffffffffffffff8111156100ac57600080fd5b6020830191508360208285010111156100c457600080fd5b9250929050565b600080600080600080600080600060c08a8c0312156100e957600080fd5b89356100f48161006a565b985060208a01356101048161006a565b975060408a0135965060608a013567ffffffffffffffff8082111561012857600080fd5b6101348d838e01610082565b909850965060808c013591508082111561014d57600080fd5b6101598d838e01610082565b909650945060a08c013591508082111561017257600080fd5b5061017f8c828d01610082565b91508093505080915050929598509295985092959856fea2646970667358221220ae9e55f1252767e4093061ca0d586a569800693cd0cb0a9b8cc24e52ff6990ff64736f6c63430008130033",gZ=eb=>eb.length>1;class gG extends uw.lV{constructor(...eb){gZ(eb)?super(...eb):super(g$,gW,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(g$)}static connect(eb,em){return new uw.CH(eb,g$,em)}}gG.bytecode=gW,gG.abi=g$;let gK=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"}],gY="0x6080604052348015600f57600080fd5b5060405161010f38038061010f833981016040819052602c91608a565b6040516315a722b960e31b8152600481018290526001600160a01b0383169063ad3915c890602401600060405180830381600087803b158015606d57600080fd5b505af11580156080573d6000803e3d6000fd5b50505050505060c2565b60008060408385031215609c57600080fd5b82516001600160a01b038116811460b257600080fd5b6020939093015192949293505050565b603f806100d06000396000f3fe6080604052600080fdfea2646970667358221220237ff68f2012f03170d97fb09b28735389f67ff1d95f2e441d5041982818fc9764736f6c63430008130033",gX=eb=>eb.length>1;class gJ extends uw.lV{constructor(...eb){gX(eb)?super(...eb):super(gK,gY,eb[0])}deploy(eb,em,eH){return super.deploy(eb,em,eH||{})}getDeployTransaction(eb,em,eH){return super.getDeployTransaction(eb,em,eH||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(gK)}static connect(eb,em){return new uw.CH(eb,gK,em)}}gJ.bytecode=gY,gJ.abi=gK;let gQ=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"},{internalType:"string",name:"registrationKey",type:"string"}],stateMutability:"nonpayable",type:"constructor"}],g6="0x608060405234801561001057600080fd5b5060405161022f38038061022f83398101604081905261002f916100d1565b60405163bd1c448b60e01b81526001600160a01b0384169063bd1c448b9061005d90859085906004016101a8565b600060405180830381600087803b15801561007757600080fd5b505af115801561008b573d6000803e3d6000fd5b505050505050506101e2565b634e487b7160e01b600052604160045260246000fd5b60005b838110156100c85781810151838201526020016100b0565b50506000910152565b6000806000606084860312156100e657600080fd5b83516001600160a01b03811681146100fd57600080fd5b6020850151604086015191945092506001600160401b038082111561012157600080fd5b818601915086601f83011261013557600080fd5b81518181111561014757610147610097565b604051601f8201601f19908116603f0116810190838211818310171561016f5761016f610097565b8160405282815289602084870101111561018857600080fd5b6101998360208301602088016100ad565b80955050505050509250925092565b82815260406020820152600082518060408401526101cd8160608501602087016100ad565b601f01601f1916919091016060019392505050565b603f806101f06000396000f3fe6080604052600080fdfea26469706673582212201ec3435856d0aa036ac13fc39fc9f7f2c45e38e6f89ac6783597919f6a2a712664736f6c63430008130033",g4=eb=>eb.length>1;class g3 extends uw.lV{constructor(...eb){g4(eb)?super(...eb):super(gQ,g6,eb[0])}deploy(eb,em,eH,eV){return super.deploy(eb,em,eH,eV||{})}getDeployTransaction(eb,em,eH,eV){return super.getDeployTransaction(eb,em,eH,eV||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(gQ)}static connect(eb,em){return new uw.CH(eb,gQ,em)}}g3.bytecode=g6,g3.abi=gQ;let g5=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"superTokenLogic",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_NON_UPGRADEABLE_IS_DEPRECATED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_GOVERNANCE_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_HOST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_UNINITIALIZED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"CustomSuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"SuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"tokenLogic",type:"address"}],name:"SuperTokenLogicCreated",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"_SUPER_TOKEN_LOGIC",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingToken",type:"address"}],name:"computeCanonicalERC20WrapperAddress",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"},{internalType:"bool",name:"isDeployed",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"_underlyingToken",type:"address"}],name:"createCanonicalERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingTokenAddress",type:"address"}],name:"getCanonicalERC20Wrapper",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenLogic",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"underlyingToken",type:"address"},{internalType:"address",name:"superToken",type:"address"}],internalType:"struct SuperTokenFactoryBase.InitializeData[]",name:"_data",type:"tuple[]"}],name:"initializeCanonicalWrapperSuperTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"customSuperTokenProxy",type:"address"}],name:"initializeCustomSuperToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}],g8="0x6101006040523480156200001257600080fd5b506040516200221d3803806200221d833981016040819052620000359162000107565b6001600160a01b0380851660a052831660808190526040805163132075a760e31b81529051869286928692869291639903ad3891600480830192600092919082900301818387803b1580156200008a57600080fd5b505af19250505080156200009c575060015b506001600160a01b0380831660c05281811660e0526080516040519116907fc13fb19d60857980e565bf5dae406b8802d3c1cec50c6156b30b12b87402978390600090a250505050505050506200016f565b6001600160a01b03811681146200010457600080fd5b50565b600080600080608085870312156200011e57600080fd5b84516200012b81620000ee565b60208601519094506200013e81620000ee565b60408601519093506200015181620000ee565b60608601519092506200016481620000ee565b939692955090935050565b60805160a05160c05160e05161202e620001ef6000396000818161020601526109b40152600081816101df015261089b015260008181610158015281816107770152610c88015260008181610245015281816102c601528181610465015281816108ca015281816109e301528181610fc00152611115015261202e6000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80638129fc1c116100ad578063bab74c8911610071578063bab74c891461028f578063cbf927b3146102c1578063d412d344146102e8578063e094be24146102fb578063eff0a89d1461030e57600080fd5b80638129fc1c1461023b5780639470a5b21461024357806397e011ed146102695780639903ad381461023b578063a6d0c5341461027c57600080fd5b806350d75d25116100f457806350d75d25146101a457806352d1902d146101ac5780635365d19f146101da5780635a7792df146102015780636c684bb01461022857600080fd5b8063151188dc1461012657806320bc442514610156578063431f14811461017c578063469519541461018f575b600080fd5b61013961013436600461151d565b61033a565b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610139565b61013961018a36600461159e565b6106ed565b6101a261019d36600461151d565b61076c565b005b610139610ac7565b6040517fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620815260200161014d565b6101397f000000000000000000000000000000000000000000000000000000000000000081565b6101397f000000000000000000000000000000000000000000000000000000000000000081565b610139610236366004611631565b610af6565b6101a2610b75565b7f0000000000000000000000000000000000000000000000000000000000000000610139565b6101a26102773660046116d8565b610c84565b61013961028a36600461175c565b610e93565b6102a261029d36600461151d565b610ea6565b604080516001600160a01b03909316835290151560208301520161014d565b6101397f000000000000000000000000000000000000000000000000000000000000000081565b6101a26102f636600461151d565b610fa9565b610139610309366004611802565b61105f565b61013961031c36600461151d565b6001600160a01b039081166000908152600160205260409020541690565b600080805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b031661038c576040516306ce6e6d60e21b815260040160405180910390fd5b6001600160a01b0380831660009081526001602052604090205483911680156103c8576040516348eb3cb960e11b815260040160405180910390fd5b604080516001600160a01b038416602082015260009101604051602081830303815290604052805190602001209050600081604051610406906114ee565b8190604051809103906000f5905080158015610426573d6000803e3d6000fd5b506001600160a01b038581166000908152600160205260409081902080546001600160a01b0319168484169081179091559051634a0687ef60e01b81527f00000000000000000000000000000000000000000000000000000000000000009092166004830152919250634a0687ef90602401600060405180830381600087803b1580156104b257600080fd5b505af11580156104c6573d6000803e3d6000fd5b5050505060008190506000876001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053391906118bb565b90506000886001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610575573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261059d9190810190611912565b90506000896001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106079190810190611912565b9050836001600160a01b03166342fe09808b858560405160200161062b91906119b4565b6040516020818303038152906040528560405160200161064b91906119e2565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016106799493929190611a33565b600060405180830381600087803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b50506040516001600160a01b03871692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a2509198975050505050505050565b600061076187886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075591906118bb565b8888888888600061105f565b979650505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107b55760405163478b8e8360e01b815260040160405180910390fd5b6107be816112b4565b60008190506000816001600160a01b0316635365d19f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108279190611a72565b90506000826001600160a01b0316635a7792df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610869573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088d9190611a72565b9050816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146109a8577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef43d2c66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610926573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094a9190611a72565b6040516311a5465560e21b81526001600160a01b0384811660048301529190911690634695195490602401600060405180830381600087803b15801561098f57600080fd5b505af11580156109a3573d6000803e3d6000fd5b505050505b806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614610ac1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634c5c0c856040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a639190611a72565b6040516311a5465560e21b81526001600160a01b0383811660048301529190911690634695195490602401600060405180830381600087803b158015610aa857600080fd5b505af1158015610abc573d6000803e3d6000fd5b505050505b50505050565b6000610af17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000610b6988896001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5e91906118bb565b89898989898961105f565b98975050505050505050565b600054610100900460ff1615808015610b955750600054600160ff909116105b80610baf5750303b158015610baf575060005460ff166001145b610c175760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610c3a576000805461ff0019166101001790555b8015610c81576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b50565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ce4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d089190611a72565b9050806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6c9190611a72565b6001600160a01b0316336001600160a01b031614610d9d57604051632bf2a63360e21b815260040160405180910390fd5b6000805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b031615610def576040516348eb3cb960e11b815260040160405180910390fd5b60005b82811015610ac157838382818110610e0c57610e0c611a8f565b9050604002016020016020810190610e24919061151d565b60016000868685818110610e3a57610e3a611a8f565b610e50926020604090920201908101915061151d565b6001600160a01b039081168252602082019290925260400160002080546001600160a01b0319169290911691909117905580610e8b81611aa5565b915050610df2565b6000610b6988888888888888600061105f565b6001600160a01b0380821660009081526001602052604081205490918291168015610ed75780925060019150610fa3565b600060405180602001610ee9906114ee565b601f1982820381018352601f9091011660408181526001600160a01b03881660208301529192506001600160f81b031991309101604051602081830303815290604052805190602001208380519060200120604051602001610f8294939291906001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b6040516020818303038152906040528051906020012060001c935060009250505b50915091565b604051634a0687ef60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152829190821690634a0687ef90602401600060405180830381600087803b15801561100f57600080fd5b505af1158015611023573d6000803e3d6000fd5b50506040516001600160a01b03851692507f437790724a6e97b75d23117f28cdd4b1beeafc34f7a0911ef256e9334f4369a59150600090a25050565b60006001600160a01b0389166110885760405163182e4f4160e11b815260040160405180910390fd5b600087600281111561109c5761109c611acc565b036110ba5760405163c4901a4360e01b815260040160405180910390fd5b60018760028111156110ce576110ce611acc565b036111865760006040516110e1906114ee565b604051809103906000f0801580156110fd573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015291925090821690634a0687ef90602401600060405180830381600087803b15801561116557600080fd5b505af1158015611179573d6000803e3d6000fd5b505050508091505061120a565b6000604051611194906114fb565b604051809103906000f0801580156111b0573d6000803e3d6000fd5b509050806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156111ee57600080fd5b505af1158015611202573d6000803e3d6000fd5b509293505050505b60405163ec0d634360e01b81526001600160a01b0382169063ec0d634390611242908c908c908b908b908b908b908b90600401611b0b565b600060405180830381600087803b15801561125c57600080fd5b505af1158015611270573d6000803e3d6000fd5b50506040516001600160a01b03841692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a298975050505050505050565b60006112de7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036113345760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610c0e565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611372573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113969190611b62565b7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620146114105760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610c0e565b6001600160a01b03811630036114685760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610c0e565b611490817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620604080519182526001600160a01b038416602083015201610c78565b61024a80611b7c83390190565b61023380611dc683390190565b6001600160a01b0381168114610c8157600080fd5b60006020828403121561152f57600080fd5b813561153a81611508565b9392505050565b80356003811061155057600080fd5b919050565b60008083601f84011261156757600080fd5b50813567ffffffffffffffff81111561157f57600080fd5b60208301915083602082850101111561159757600080fd5b9250929050565b600080600080600080608087890312156115b757600080fd5b86356115c281611508565b95506115d060208801611541565b9450604087013567ffffffffffffffff808211156115ed57600080fd5b6115f98a838b01611555565b9096509450606089013591508082111561161257600080fd5b5061161f89828a01611555565b979a9699509497509295939492505050565b600080600080600080600060a0888a03121561164c57600080fd5b873561165781611508565b965061166560208901611541565b9550604088013567ffffffffffffffff8082111561168257600080fd5b61168e8b838c01611555565b909750955060608a01359150808211156116a757600080fd5b506116b48a828b01611555565b90945092505060808801356116c881611508565b8091505092959891949750929550565b600080602083850312156116eb57600080fd5b823567ffffffffffffffff8082111561170357600080fd5b818501915085601f83011261171757600080fd5b81358181111561172657600080fd5b8660208260061b850101111561173b57600080fd5b60209290920196919550909350505050565b60ff81168114610c8157600080fd5b600080600080600080600060a0888a03121561177757600080fd5b873561178281611508565b965060208801356117928161174d565b95506117a060408901611541565b9450606088013567ffffffffffffffff808211156117bd57600080fd5b6117c98b838c01611555565b909650945060808a01359150808211156117e257600080fd5b506117ef8a828b01611555565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561181e57600080fd5b883561182981611508565b975060208901356118398161174d565b965061184760408a01611541565b9550606089013567ffffffffffffffff8082111561186457600080fd5b6118708c838d01611555565b909750955060808b013591508082111561188957600080fd5b506118968b828c01611555565b90945092505060a08901356118aa81611508565b809150509295985092959890939650565b6000602082840312156118cd57600080fd5b815161153a8161174d565b634e487b7160e01b600052604160045260246000fd5b60005b838110156119095781810151838201526020016118f1565b50506000910152565b60006020828403121561192457600080fd5b815167ffffffffffffffff8082111561193c57600080fd5b818401915084601f83011261195057600080fd5b815181811115611962576119626118d8565b604051601f8201601f19908116603f0116810190838211818310171561198a5761198a6118d8565b816040528281528760208487010111156119a357600080fd5b6107618360208301602088016118ee565b65029bab832b9160d51b8152600082516119d58160068501602087016118ee565b9190910160060192915050565b600082516119f48184602087016118ee565b600f60fb1b920191825250600101919050565b60008151808452611a1f8160208601602086016118ee565b601f01601f19169290920160200192915050565b6001600160a01b038516815260ff84166020820152608060408201819052600090611a6090830185611a07565b82810360608401526107618185611a07565b600060208284031215611a8457600080fd5b815161153a81611508565b634e487b7160e01b600052603260045260246000fd5b600060018201611ac557634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052602160045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600060018060a01b03808a16835260ff8916602084015260a06040840152611b3760a08401888a611ae2565b8381036060850152611b4a818789611ae2565b92505080841660808401525098975050505050505050565b600060208284031215611b7457600080fd5b505191905056fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033608060405234801561001057600080fd5b50610213806100206000396000f3fe6080604052600436106100225760003560e01c80638129fc1c1461003957610031565b366100315761002f61004e565b005b61002f61004e565b34801561004557600080fd5b5061002f610060565b61005e6100596100d0565b610173565b565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546001600160a01b038116156100aa576040516305c5d81960e01b815260040160405180910390fd5b50337fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a055565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546000906001600160a01b03811661010b5761010b610197565b806001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016d91906101ad565b91505090565b3660008037600080366000845af43d6000803e808015610192573d6000f35b3d6000fd5b634e487b7160e01b600052600160045260246000fd5b6000602082840312156101bf57600080fd5b81516001600160a01b03811681146101d657600080fd5b939250505056fea26469706673582212208aedd930463a9ef04ca914601becd18e8316234054a71d6de40ce23faac57e5064736f6c63430008130033a264697066735822122078d134fb340396b66f521ad0d7632e8ac78ac65c49ca40180fa6387d582244b664736f6c63430008130033",g9=eb=>eb.length>1;class g7 extends uw.lV{constructor(...eb){g9(eb)?super(...eb):super(g5,g8,eb[0])}deploy(eb,em,eH,eV,ew){return super.deploy(eb,em,eH,eV,ew||{})}getDeployTransaction(eb,em,eH,eV,ew){return super.getDeployTransaction(eb,em,eH,eV,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(g5)}static connect(eb,em){return new uw.CH(eb,g5,em)}}g7.bytecode=g8,g7.abi=g5;let vy=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"superTokenLogic",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_NON_UPGRADEABLE_IS_DEPRECATED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_GOVERNANCE_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_HOST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_UNINITIALIZED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"CustomSuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"SuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"tokenLogic",type:"address"}],name:"SuperTokenLogicCreated",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"_SUPER_TOKEN_LOGIC",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingToken",type:"address"}],name:"computeCanonicalERC20WrapperAddress",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"},{internalType:"bool",name:"isDeployed",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"_underlyingToken",type:"address"}],name:"createCanonicalERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingTokenAddress",type:"address"}],name:"getCanonicalERC20Wrapper",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenLogic",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"underlyingToken",type:"address"},{internalType:"address",name:"superToken",type:"address"}],internalType:"struct SuperTokenFactoryBase.InitializeData[]",name:"_data",type:"tuple[]"}],name:"initializeCanonicalWrapperSuperTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"customSuperTokenProxy",type:"address"}],name:"initializeCustomSuperToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}],vv="0x6101006040523480156200001257600080fd5b506040516200221d3803806200221d833981016040819052620000359162000107565b6001600160a01b0380851660a052831660808190526040805163132075a760e31b81529051869286928692869291639903ad3891600480830192600092919082900301818387803b1580156200008a57600080fd5b505af19250505080156200009c575060015b506001600160a01b0380831660c05281811660e0526080516040519116907fc13fb19d60857980e565bf5dae406b8802d3c1cec50c6156b30b12b87402978390600090a250505050505050506200016f565b6001600160a01b03811681146200010457600080fd5b50565b600080600080608085870312156200011e57600080fd5b84516200012b81620000ee565b60208601519094506200013e81620000ee565b60408601519093506200015181620000ee565b60608601519092506200016481620000ee565b939692955090935050565b60805160a05160c05160e05161202e620001ef6000396000818161020601526109b40152600081816101df015261089b015260008181610158015281816107770152610c88015260008181610245015281816102c601528181610465015281816108ca015281816109e301528181610fc00152611115015261202e6000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80638129fc1c116100ad578063bab74c8911610071578063bab74c891461028f578063cbf927b3146102c1578063d412d344146102e8578063e094be24146102fb578063eff0a89d1461030e57600080fd5b80638129fc1c1461023b5780639470a5b21461024357806397e011ed146102695780639903ad381461023b578063a6d0c5341461027c57600080fd5b806350d75d25116100f457806350d75d25146101a457806352d1902d146101ac5780635365d19f146101da5780635a7792df146102015780636c684bb01461022857600080fd5b8063151188dc1461012657806320bc442514610156578063431f14811461017c578063469519541461018f575b600080fd5b61013961013436600461151d565b61033a565b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610139565b61013961018a36600461159e565b6106ed565b6101a261019d36600461151d565b61076c565b005b610139610ac7565b6040517fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620815260200161014d565b6101397f000000000000000000000000000000000000000000000000000000000000000081565b6101397f000000000000000000000000000000000000000000000000000000000000000081565b610139610236366004611631565b610af6565b6101a2610b75565b7f0000000000000000000000000000000000000000000000000000000000000000610139565b6101a26102773660046116d8565b610c84565b61013961028a36600461175c565b610e93565b6102a261029d36600461151d565b610ea6565b604080516001600160a01b03909316835290151560208301520161014d565b6101397f000000000000000000000000000000000000000000000000000000000000000081565b6101a26102f636600461151d565b610fa9565b610139610309366004611802565b61105f565b61013961031c36600461151d565b6001600160a01b039081166000908152600160205260409020541690565b600080805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b031661038c576040516306ce6e6d60e21b815260040160405180910390fd5b6001600160a01b0380831660009081526001602052604090205483911680156103c8576040516348eb3cb960e11b815260040160405180910390fd5b604080516001600160a01b038416602082015260009101604051602081830303815290604052805190602001209050600081604051610406906114ee565b8190604051809103906000f5905080158015610426573d6000803e3d6000fd5b506001600160a01b038581166000908152600160205260409081902080546001600160a01b0319168484169081179091559051634a0687ef60e01b81527f00000000000000000000000000000000000000000000000000000000000000009092166004830152919250634a0687ef90602401600060405180830381600087803b1580156104b257600080fd5b505af11580156104c6573d6000803e3d6000fd5b5050505060008190506000876001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053391906118bb565b90506000886001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610575573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261059d9190810190611912565b90506000896001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106079190810190611912565b9050836001600160a01b03166342fe09808b858560405160200161062b91906119b4565b6040516020818303038152906040528560405160200161064b91906119e2565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016106799493929190611a33565b600060405180830381600087803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b50506040516001600160a01b03871692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a2509198975050505050505050565b600061076187886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075591906118bb565b8888888888600061105f565b979650505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107b55760405163478b8e8360e01b815260040160405180910390fd5b6107be816112b4565b60008190506000816001600160a01b0316635365d19f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108279190611a72565b90506000826001600160a01b0316635a7792df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610869573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088d9190611a72565b9050816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146109a8577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef43d2c66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610926573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094a9190611a72565b6040516311a5465560e21b81526001600160a01b0384811660048301529190911690634695195490602401600060405180830381600087803b15801561098f57600080fd5b505af11580156109a3573d6000803e3d6000fd5b505050505b806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614610ac1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634c5c0c856040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a639190611a72565b6040516311a5465560e21b81526001600160a01b0383811660048301529190911690634695195490602401600060405180830381600087803b158015610aa857600080fd5b505af1158015610abc573d6000803e3d6000fd5b505050505b50505050565b6000610af17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000610b6988896001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5e91906118bb565b89898989898961105f565b98975050505050505050565b600054610100900460ff1615808015610b955750600054600160ff909116105b80610baf5750303b158015610baf575060005460ff166001145b610c175760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610c3a576000805461ff0019166101001790555b8015610c81576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b50565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ce4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d089190611a72565b9050806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6c9190611a72565b6001600160a01b0316336001600160a01b031614610d9d57604051632bf2a63360e21b815260040160405180910390fd5b6000805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b031615610def576040516348eb3cb960e11b815260040160405180910390fd5b60005b82811015610ac157838382818110610e0c57610e0c611a8f565b9050604002016020016020810190610e24919061151d565b60016000868685818110610e3a57610e3a611a8f565b610e50926020604090920201908101915061151d565b6001600160a01b039081168252602082019290925260400160002080546001600160a01b0319169290911691909117905580610e8b81611aa5565b915050610df2565b6000610b6988888888888888600061105f565b6001600160a01b0380821660009081526001602052604081205490918291168015610ed75780925060019150610fa3565b600060405180602001610ee9906114ee565b601f1982820381018352601f9091011660408181526001600160a01b03881660208301529192506001600160f81b031991309101604051602081830303815290604052805190602001208380519060200120604051602001610f8294939291906001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b6040516020818303038152906040528051906020012060001c935060009250505b50915091565b604051634a0687ef60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152829190821690634a0687ef90602401600060405180830381600087803b15801561100f57600080fd5b505af1158015611023573d6000803e3d6000fd5b50506040516001600160a01b03851692507f437790724a6e97b75d23117f28cdd4b1beeafc34f7a0911ef256e9334f4369a59150600090a25050565b60006001600160a01b0389166110885760405163182e4f4160e11b815260040160405180910390fd5b600087600281111561109c5761109c611acc565b036110ba5760405163c4901a4360e01b815260040160405180910390fd5b60018760028111156110ce576110ce611acc565b036111865760006040516110e1906114ee565b604051809103906000f0801580156110fd573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015291925090821690634a0687ef90602401600060405180830381600087803b15801561116557600080fd5b505af1158015611179573d6000803e3d6000fd5b505050508091505061120a565b6000604051611194906114fb565b604051809103906000f0801580156111b0573d6000803e3d6000fd5b509050806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156111ee57600080fd5b505af1158015611202573d6000803e3d6000fd5b509293505050505b60405163ec0d634360e01b81526001600160a01b0382169063ec0d634390611242908c908c908b908b908b908b908b90600401611b0b565b600060405180830381600087803b15801561125c57600080fd5b505af1158015611270573d6000803e3d6000fd5b50506040516001600160a01b03841692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a298975050505050505050565b60006112de7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036113345760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610c0e565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611372573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113969190611b62565b7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620146114105760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610c0e565b6001600160a01b03811630036114685760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610c0e565b611490817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620604080519182526001600160a01b038416602083015201610c78565b61024a80611b7c83390190565b61023380611dc683390190565b6001600160a01b0381168114610c8157600080fd5b60006020828403121561152f57600080fd5b813561153a81611508565b9392505050565b80356003811061155057600080fd5b919050565b60008083601f84011261156757600080fd5b50813567ffffffffffffffff81111561157f57600080fd5b60208301915083602082850101111561159757600080fd5b9250929050565b600080600080600080608087890312156115b757600080fd5b86356115c281611508565b95506115d060208801611541565b9450604087013567ffffffffffffffff808211156115ed57600080fd5b6115f98a838b01611555565b9096509450606089013591508082111561161257600080fd5b5061161f89828a01611555565b979a9699509497509295939492505050565b600080600080600080600060a0888a03121561164c57600080fd5b873561165781611508565b965061166560208901611541565b9550604088013567ffffffffffffffff8082111561168257600080fd5b61168e8b838c01611555565b909750955060608a01359150808211156116a757600080fd5b506116b48a828b01611555565b90945092505060808801356116c881611508565b8091505092959891949750929550565b600080602083850312156116eb57600080fd5b823567ffffffffffffffff8082111561170357600080fd5b818501915085601f83011261171757600080fd5b81358181111561172657600080fd5b8660208260061b850101111561173b57600080fd5b60209290920196919550909350505050565b60ff81168114610c8157600080fd5b600080600080600080600060a0888a03121561177757600080fd5b873561178281611508565b965060208801356117928161174d565b95506117a060408901611541565b9450606088013567ffffffffffffffff808211156117bd57600080fd5b6117c98b838c01611555565b909650945060808a01359150808211156117e257600080fd5b506117ef8a828b01611555565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561181e57600080fd5b883561182981611508565b975060208901356118398161174d565b965061184760408a01611541565b9550606089013567ffffffffffffffff8082111561186457600080fd5b6118708c838d01611555565b909750955060808b013591508082111561188957600080fd5b506118968b828c01611555565b90945092505060a08901356118aa81611508565b809150509295985092959890939650565b6000602082840312156118cd57600080fd5b815161153a8161174d565b634e487b7160e01b600052604160045260246000fd5b60005b838110156119095781810151838201526020016118f1565b50506000910152565b60006020828403121561192457600080fd5b815167ffffffffffffffff8082111561193c57600080fd5b818401915084601f83011261195057600080fd5b815181811115611962576119626118d8565b604051601f8201601f19908116603f0116810190838211818310171561198a5761198a6118d8565b816040528281528760208487010111156119a357600080fd5b6107618360208301602088016118ee565b65029bab832b9160d51b8152600082516119d58160068501602087016118ee565b9190910160060192915050565b600082516119f48184602087016118ee565b600f60fb1b920191825250600101919050565b60008151808452611a1f8160208601602086016118ee565b601f01601f19169290920160200192915050565b6001600160a01b038516815260ff84166020820152608060408201819052600090611a6090830185611a07565b82810360608401526107618185611a07565b600060208284031215611a8457600080fd5b815161153a81611508565b634e487b7160e01b600052603260045260246000fd5b600060018201611ac557634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052602160045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600060018060a01b03808a16835260ff8916602084015260a06040840152611b3760a08401888a611ae2565b8381036060850152611b4a818789611ae2565b92505080841660808401525098975050505050505050565b600060208284031215611b7457600080fd5b505191905056fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033608060405234801561001057600080fd5b50610213806100206000396000f3fe6080604052600436106100225760003560e01c80638129fc1c1461003957610031565b366100315761002f61004e565b005b61002f61004e565b34801561004557600080fd5b5061002f610060565b61005e6100596100d0565b610173565b565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546001600160a01b038116156100aa576040516305c5d81960e01b815260040160405180910390fd5b50337fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a055565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546000906001600160a01b03811661010b5761010b610197565b806001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016d91906101ad565b91505090565b3660008037600080366000845af43d6000803e808015610192573d6000f35b3d6000fd5b634e487b7160e01b600052600160045260246000fd5b6000602082840312156101bf57600080fd5b81516001600160a01b03811681146101d657600080fd5b939250505056fea26469706673582212208aedd930463a9ef04ca914601becd18e8316234054a71d6de40ce23faac57e5064736f6c63430008130033a26469706673582212204f138a96d28f1d41cbdadb87e50a3bdf9f3df471e850dc0f9a46bc6396ee637364736f6c63430008130033",vz=eb=>eb.length>1;class vH extends uw.lV{constructor(...eb){vz(eb)?super(...eb):super(vy,vv,eb[0])}deploy(eb,em,eH,eV,ew){return super.deploy(eb,em,eH,eV,ew||{})}getDeployTransaction(eb,em,eH,eV,ew){return super.getDeployTransaction(eb,em,eH,eV,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(vy)}static connect(eb,em){return new uw.CH(eb,vy,em)}}vH.bytecode=vv,vH.abi=vy;let vV=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"superTokenLogic",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_NON_UPGRADEABLE_IS_DEPRECATED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_GOVERNANCE_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_HOST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_UNINITIALIZED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"CustomSuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"SuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"tokenLogic",type:"address"}],name:"SuperTokenLogicCreated",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"_SUPER_TOKEN_LOGIC",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingToken",type:"address"}],name:"computeCanonicalERC20WrapperAddress",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"},{internalType:"bool",name:"isDeployed",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"_underlyingToken",type:"address"}],name:"createCanonicalERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingTokenAddress",type:"address"}],name:"getCanonicalERC20Wrapper",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenLogic",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"underlyingToken",type:"address"},{internalType:"address",name:"superToken",type:"address"}],internalType:"struct SuperTokenFactoryBase.InitializeData[]",name:"_data",type:"tuple[]"}],name:"initializeCanonicalWrapperSuperTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"customSuperTokenProxy",type:"address"}],name:"initializeCustomSuperToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"validateStorageLayout",outputs:[],stateMutability:"pure",type:"function"}],vw="0x6101006040523480156200001257600080fd5b506040516200222838038062002228833981016040819052620000359162000107565b6001600160a01b0380851660a052831660808190526040805163132075a760e31b81529051869286928692869291639903ad3891600480830192600092919082900301818387803b1580156200008a57600080fd5b505af19250505080156200009c575060015b506001600160a01b0380831660c05281811660e0526080516040519116907fc13fb19d60857980e565bf5dae406b8802d3c1cec50c6156b30b12b87402978390600090a250505050505050506200016f565b6001600160a01b03811681146200010457600080fd5b50565b600080600080608085870312156200011e57600080fd5b84516200012b81620000ee565b60208601519094506200013e81620000ee565b60408601519093506200015181620000ee565b60608601519092506200016481620000ee565b939692955090935050565b60805160a05160c05160e051612039620001ef6000396000818161021101526109bf0152600081816101ea01526108a6015260008181610163015281816107820152610c93015260008181610250015281816102d101528181610470015281816108d5015281816109ee01528181610fcb015261112001526120396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80639470a5b2116100ad578063cbf927b311610071578063cbf927b3146102cc578063d412d344146102f3578063e094be2414610306578063eff0a89d14610319578063f99a38c4146101ad57600080fd5b80639470a5b21461024e57806397e011ed146102745780639903ad3814610246578063a6d0c53414610287578063bab74c891461029a57600080fd5b806352d1902d116100f457806352d1902d146101b75780635365d19f146101e55780635a7792df1461020c5780636c684bb0146102335780638129fc1c1461024657600080fd5b8063151188dc1461013157806320bc442514610161578063431f148114610187578063469519541461019a57806350d75d25146101af575b600080fd5b61014461013f366004611528565b610345565b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610144565b6101446101953660046115a9565b6106f8565b6101ad6101a8366004611528565b610777565b005b610144610ad2565b6040517fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b6208152602001610158565b6101447f000000000000000000000000000000000000000000000000000000000000000081565b6101447f000000000000000000000000000000000000000000000000000000000000000081565b61014461024136600461163c565b610b01565b6101ad610b80565b7f0000000000000000000000000000000000000000000000000000000000000000610144565b6101ad6102823660046116e3565b610c8f565b610144610295366004611767565b610e9e565b6102ad6102a8366004611528565b610eb1565b604080516001600160a01b039093168352901515602083015201610158565b6101447f000000000000000000000000000000000000000000000000000000000000000081565b6101ad610301366004611528565b610fb4565b61014461031436600461180d565b61106a565b610144610327366004611528565b6001600160a01b039081166000908152600160205260409020541690565b600080805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b0316610397576040516306ce6e6d60e21b815260040160405180910390fd5b6001600160a01b0380831660009081526001602052604090205483911680156103d3576040516348eb3cb960e11b815260040160405180910390fd5b604080516001600160a01b038416602082015260009101604051602081830303815290604052805190602001209050600081604051610411906114f9565b8190604051809103906000f5905080158015610431573d6000803e3d6000fd5b506001600160a01b038581166000908152600160205260409081902080546001600160a01b0319168484169081179091559051634a0687ef60e01b81527f00000000000000000000000000000000000000000000000000000000000000009092166004830152919250634a0687ef90602401600060405180830381600087803b1580156104bd57600080fd5b505af11580156104d1573d6000803e3d6000fd5b5050505060008190506000876001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053e91906118c6565b90506000886001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610580573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105a8919081019061191d565b90506000896001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105ea573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610612919081019061191d565b9050836001600160a01b03166342fe09808b858560405160200161063691906119bf565b6040516020818303038152906040528560405160200161065691906119ed565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016106849493929190611a3e565b600060405180830381600087803b15801561069e57600080fd5b505af11580156106b2573d6000803e3d6000fd5b50506040516001600160a01b03871692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a2509198975050505050505050565b600061076c87886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076091906118c6565b8888888888600061106a565b979650505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107c05760405163478b8e8360e01b815260040160405180910390fd5b6107c9816112bf565b60008190506000816001600160a01b0316635365d19f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561080e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108329190611a7d565b90506000826001600160a01b0316635a7792df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610874573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108989190611a7d565b9050816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146109b3577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef43d2c66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610931573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109559190611a7d565b6040516311a5465560e21b81526001600160a01b0384811660048301529190911690634695195490602401600060405180830381600087803b15801561099a57600080fd5b505af11580156109ae573d6000803e3d6000fd5b505050505b806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614610acc577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634c5c0c856040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6e9190611a7d565b6040516311a5465560e21b81526001600160a01b0383811660048301529190911690634695195490602401600060405180830381600087803b158015610ab357600080fd5b505af1158015610ac7573d6000803e3d6000fd5b505050505b50505050565b6000610afc7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000610b7488896001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6991906118c6565b89898989898961106a565b98975050505050505050565b600054610100900460ff1615808015610ba05750600054600160ff909116105b80610bba5750303b158015610bba575060005460ff166001145b610c225760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610c45576000805461ff0019166101001790555b8015610c8c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b50565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d139190611a7d565b9050806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d779190611a7d565b6001600160a01b0316336001600160a01b031614610da857604051632bf2a63360e21b815260040160405180910390fd5b6000805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b031615610dfa576040516348eb3cb960e11b815260040160405180910390fd5b60005b82811015610acc57838382818110610e1757610e17611a9a565b9050604002016020016020810190610e2f9190611528565b60016000868685818110610e4557610e45611a9a565b610e5b9260206040909202019081019150611528565b6001600160a01b039081168252602082019290925260400160002080546001600160a01b0319169290911691909117905580610e9681611ab0565b915050610dfd565b6000610b7488888888888888600061106a565b6001600160a01b0380821660009081526001602052604081205490918291168015610ee25780925060019150610fae565b600060405180602001610ef4906114f9565b601f1982820381018352601f9091011660408181526001600160a01b03881660208301529192506001600160f81b031991309101604051602081830303815290604052805190602001208380519060200120604051602001610f8d94939291906001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b6040516020818303038152906040528051906020012060001c935060009250505b50915091565b604051634a0687ef60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152829190821690634a0687ef90602401600060405180830381600087803b15801561101a57600080fd5b505af115801561102e573d6000803e3d6000fd5b50506040516001600160a01b03851692507f437790724a6e97b75d23117f28cdd4b1beeafc34f7a0911ef256e9334f4369a59150600090a25050565b60006001600160a01b0389166110935760405163182e4f4160e11b815260040160405180910390fd5b60008760028111156110a7576110a7611ad7565b036110c55760405163c4901a4360e01b815260040160405180910390fd5b60018760028111156110d9576110d9611ad7565b036111915760006040516110ec906114f9565b604051809103906000f080158015611108573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015291925090821690634a0687ef90602401600060405180830381600087803b15801561117057600080fd5b505af1158015611184573d6000803e3d6000fd5b5050505080915050611215565b600060405161119f90611506565b604051809103906000f0801580156111bb573d6000803e3d6000fd5b509050806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156111f957600080fd5b505af115801561120d573d6000803e3d6000fd5b509293505050505b60405163ec0d634360e01b81526001600160a01b0382169063ec0d63439061124d908c908c908b908b908b908b908b90600401611b16565b600060405180830381600087803b15801561126757600080fd5b505af115801561127b573d6000803e3d6000fd5b50506040516001600160a01b03841692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a298975050505050505050565b60006112e97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b03160361133f5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610c19565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561137d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a19190611b6d565b7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b6201461141b5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610c19565b6001600160a01b03811630036114735760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610c19565b61149b817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620604080519182526001600160a01b038416602083015201610c83565b61024a80611b8783390190565b61023380611dd183390190565b6001600160a01b0381168114610c8c57600080fd5b60006020828403121561153a57600080fd5b813561154581611513565b9392505050565b80356003811061155b57600080fd5b919050565b60008083601f84011261157257600080fd5b50813567ffffffffffffffff81111561158a57600080fd5b6020830191508360208285010111156115a257600080fd5b9250929050565b600080600080600080608087890312156115c257600080fd5b86356115cd81611513565b95506115db6020880161154c565b9450604087013567ffffffffffffffff808211156115f857600080fd5b6116048a838b01611560565b9096509450606089013591508082111561161d57600080fd5b5061162a89828a01611560565b979a9699509497509295939492505050565b600080600080600080600060a0888a03121561165757600080fd5b873561166281611513565b96506116706020890161154c565b9550604088013567ffffffffffffffff8082111561168d57600080fd5b6116998b838c01611560565b909750955060608a01359150808211156116b257600080fd5b506116bf8a828b01611560565b90945092505060808801356116d381611513565b8091505092959891949750929550565b600080602083850312156116f657600080fd5b823567ffffffffffffffff8082111561170e57600080fd5b818501915085601f83011261172257600080fd5b81358181111561173157600080fd5b8660208260061b850101111561174657600080fd5b60209290920196919550909350505050565b60ff81168114610c8c57600080fd5b600080600080600080600060a0888a03121561178257600080fd5b873561178d81611513565b9650602088013561179d81611758565b95506117ab6040890161154c565b9450606088013567ffffffffffffffff808211156117c857600080fd5b6117d48b838c01611560565b909650945060808a01359150808211156117ed57600080fd5b506117fa8a828b01611560565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561182957600080fd5b883561183481611513565b9750602089013561184481611758565b965061185260408a0161154c565b9550606089013567ffffffffffffffff8082111561186f57600080fd5b61187b8c838d01611560565b909750955060808b013591508082111561189457600080fd5b506118a18b828c01611560565b90945092505060a08901356118b581611513565b809150509295985092959890939650565b6000602082840312156118d857600080fd5b815161154581611758565b634e487b7160e01b600052604160045260246000fd5b60005b838110156119145781810151838201526020016118fc565b50506000910152565b60006020828403121561192f57600080fd5b815167ffffffffffffffff8082111561194757600080fd5b818401915084601f83011261195b57600080fd5b81518181111561196d5761196d6118e3565b604051601f8201601f19908116603f01168101908382118183101715611995576119956118e3565b816040528281528760208487010111156119ae57600080fd5b61076c8360208301602088016118f9565b65029bab832b9160d51b8152600082516119e08160068501602087016118f9565b9190910160060192915050565b600082516119ff8184602087016118f9565b600f60fb1b920191825250600101919050565b60008151808452611a2a8160208601602086016118f9565b601f01601f19169290920160200192915050565b6001600160a01b038516815260ff84166020820152608060408201819052600090611a6b90830185611a12565b828103606084015261076c8185611a12565b600060208284031215611a8f57600080fd5b815161154581611513565b634e487b7160e01b600052603260045260246000fd5b600060018201611ad057634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052602160045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600060018060a01b03808a16835260ff8916602084015260a06040840152611b4260a08401888a611aed565b8381036060850152611b55818789611aed565b92505080841660808401525098975050505050505050565b600060208284031215611b7f57600080fd5b505191905056fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033608060405234801561001057600080fd5b50610213806100206000396000f3fe6080604052600436106100225760003560e01c80638129fc1c1461003957610031565b366100315761002f61004e565b005b61002f61004e565b34801561004557600080fd5b5061002f610060565b61005e6100596100d0565b610173565b565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546001600160a01b038116156100aa576040516305c5d81960e01b815260040160405180910390fd5b50337fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a055565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546000906001600160a01b03811661010b5761010b610197565b806001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016d91906101ad565b91505090565b3660008037600080366000845af43d6000803e808015610192573d6000f35b3d6000fd5b634e487b7160e01b600052600160045260246000fd5b6000602082840312156101bf57600080fd5b81516001600160a01b03811681146101d657600080fd5b939250505056fea26469706673582212208aedd930463a9ef04ca914601becd18e8316234054a71d6de40ce23faac57e5064736f6c63430008130033a2646970667358221220ec9c766f6e249fe1ce5e86053fb8dc0d6b5feb1a502021cd7b71c0cc258c7c6064736f6c63430008130033",vM=eb=>eb.length>1;class vC extends uw.lV{constructor(...eb){vM(eb)?super(...eb):super(vV,vw,eb[0])}deploy(eb,em,eH,eV,ew){return super.deploy(eb,em,eH,eV,ew||{})}getDeployTransaction(eb,em,eH,eV,ew){return super.getDeployTransaction(eb,em,eH,eV,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(vV)}static connect(eb,em){return new uw.CH(eb,vV,em)}}vC.bytecode=vw,vC.abi=vV;let vx=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"superTokenLogic",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_NON_UPGRADEABLE_IS_DEPRECATED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_GOVERNANCE_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_HOST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_UNINITIALIZED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"CustomSuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"SuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"tokenLogic",type:"address"}],name:"SuperTokenLogicCreated",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"_SUPER_TOKEN_LOGIC",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingToken",type:"address"}],name:"computeCanonicalERC20WrapperAddress",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"},{internalType:"bool",name:"isDeployed",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"_underlyingToken",type:"address"}],name:"createCanonicalERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingTokenAddress",type:"address"}],name:"getCanonicalERC20Wrapper",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenLogic",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"underlyingToken",type:"address"},{internalType:"address",name:"superToken",type:"address"}],internalType:"struct SuperTokenFactoryBase.InitializeData[]",name:"_data",type:"tuple[]"}],name:"initializeCanonicalWrapperSuperTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"customSuperTokenProxy",type:"address"}],name:"initializeCustomSuperToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"newVariable",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}],vk="0x6101006040523480156200001257600080fd5b506040516200223338038062002233833981016040819052620000359162000107565b6001600160a01b0380851660a052831660808190526040805163132075a760e31b81529051869286928692869291639903ad3891600480830192600092919082900301818387803b1580156200008a57600080fd5b505af19250505080156200009c575060015b506001600160a01b0380831660c05281811660e0526080516040519116907fc13fb19d60857980e565bf5dae406b8802d3c1cec50c6156b30b12b87402978390600090a250505050505050506200016f565b6001600160a01b03811681146200010457600080fd5b50565b600080600080608085870312156200011e57600080fd5b84516200012b81620000ee565b60208601519094506200013e81620000ee565b60408601519093506200015181620000ee565b60608601519092506200016481620000ee565b939692955090935050565b60805160a05160c05160e051612044620001ef6000396000818161021301526109ca0152600081816101ec01526108b10152600081816101630152818161078d0152610c9e01526000818161025b015281816102dc0152818161047b015281816108e0015281816109f901528181610fd6015261112b01526120446000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80638d7a72f3116100ad578063bab74c8911610071578063bab74c89146102a5578063cbf927b3146102d7578063d412d344146102fe578063e094be2414610311578063eff0a89d1461032457600080fd5b80638d7a72f3146102505780639470a5b21461025957806397e011ed1461027f5780639903ad3814610248578063a6d0c5341461029257600080fd5b806352d1902d116100f457806352d1902d146101b75780635365d19f146101e75780635a7792df1461020e5780636c684bb0146102355780638129fc1c1461024857600080fd5b8063151188dc1461013157806320bc442514610161578063431f148114610187578063469519541461019a57806350d75d25146101af575b600080fd5b61014461013f366004611533565b610350565b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610144565b6101446101953660046115b4565b610703565b6101ad6101a8366004611533565b610782565b005b610144610add565b7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b6205b604051908152602001610158565b6101447f000000000000000000000000000000000000000000000000000000000000000081565b6101447f000000000000000000000000000000000000000000000000000000000000000081565b610144610243366004611647565b610b0c565b6101ad610b8b565b6101d960025481565b7f0000000000000000000000000000000000000000000000000000000000000000610144565b6101ad61028d3660046116ee565b610c9a565b6101446102a0366004611772565b610ea9565b6102b86102b3366004611533565b610ebc565b604080516001600160a01b039093168352901515602083015201610158565b6101447f000000000000000000000000000000000000000000000000000000000000000081565b6101ad61030c366004611533565b610fbf565b61014461031f366004611818565b611075565b610144610332366004611533565b6001600160a01b039081166000908152600160205260409020541690565b600080805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b03166103a2576040516306ce6e6d60e21b815260040160405180910390fd5b6001600160a01b0380831660009081526001602052604090205483911680156103de576040516348eb3cb960e11b815260040160405180910390fd5b604080516001600160a01b03841660208201526000910160405160208183030381529060405280519060200120905060008160405161041c90611504565b8190604051809103906000f590508015801561043c573d6000803e3d6000fd5b506001600160a01b038581166000908152600160205260409081902080546001600160a01b0319168484169081179091559051634a0687ef60e01b81527f00000000000000000000000000000000000000000000000000000000000000009092166004830152919250634a0687ef90602401600060405180830381600087803b1580156104c857600080fd5b505af11580156104dc573d6000803e3d6000fd5b5050505060008190506000876001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610525573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054991906118d1565b90506000886001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801561058b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105b39190810190611928565b90506000896001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105f5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261061d9190810190611928565b9050836001600160a01b03166342fe09808b858560405160200161064191906119ca565b6040516020818303038152906040528560405160200161066191906119f8565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161068f9493929190611a49565b600060405180830381600087803b1580156106a957600080fd5b505af11580156106bd573d6000803e3d6000fd5b50506040516001600160a01b03871692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a2509198975050505050505050565b600061077787886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076b91906118d1565b88888888886000611075565b979650505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107cb5760405163478b8e8360e01b815260040160405180910390fd5b6107d4816112ca565b60008190506000816001600160a01b0316635365d19f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083d9190611a88565b90506000826001600160a01b0316635a7792df6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561087f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a39190611a88565b9050816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146109be577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef43d2c66040518163ffffffff1660e01b8152600401602060405180830381865afa15801561093c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109609190611a88565b6040516311a5465560e21b81526001600160a01b0384811660048301529190911690634695195490602401600060405180830381600087803b1580156109a557600080fd5b505af11580156109b9573d6000803e3d6000fd5b505050505b806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614610ad7577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634c5c0c856040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a799190611a88565b6040516311a5465560e21b81526001600160a01b0383811660048301529190911690634695195490602401600060405180830381600087803b158015610abe57600080fd5b505af1158015610ad2573d6000803e3d6000fd5b505050505b50505050565b6000610b077f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000610b7f88896001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7491906118d1565b898989898989611075565b98975050505050505050565b600054610100900460ff1615808015610bab5750600054600160ff909116105b80610bc55750303b158015610bc5575060005460ff166001145b610c2d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610c50576000805461ff0019166101001790555b8015610c97576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b50565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1e9190611a88565b9050806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d829190611a88565b6001600160a01b0316336001600160a01b031614610db357604051632bf2a63360e21b815260040160405180910390fd5b6000805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b031615610e05576040516348eb3cb960e11b815260040160405180910390fd5b60005b82811015610ad757838382818110610e2257610e22611aa5565b9050604002016020016020810190610e3a9190611533565b60016000868685818110610e5057610e50611aa5565b610e669260206040909202019081019150611533565b6001600160a01b039081168252602082019290925260400160002080546001600160a01b0319169290911691909117905580610ea181611abb565b915050610e08565b6000610b7f888888888888886000611075565b6001600160a01b0380821660009081526001602052604081205490918291168015610eed5780925060019150610fb9565b600060405180602001610eff90611504565b601f1982820381018352601f9091011660408181526001600160a01b03881660208301529192506001600160f81b031991309101604051602081830303815290604052805190602001208380519060200120604051602001610f9894939291906001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b6040516020818303038152906040528051906020012060001c935060009250505b50915091565b604051634a0687ef60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152829190821690634a0687ef90602401600060405180830381600087803b15801561102557600080fd5b505af1158015611039573d6000803e3d6000fd5b50506040516001600160a01b03851692507f437790724a6e97b75d23117f28cdd4b1beeafc34f7a0911ef256e9334f4369a59150600090a25050565b60006001600160a01b03891661109e5760405163182e4f4160e11b815260040160405180910390fd5b60008760028111156110b2576110b2611ae2565b036110d05760405163c4901a4360e01b815260040160405180910390fd5b60018760028111156110e4576110e4611ae2565b0361119c5760006040516110f790611504565b604051809103906000f080158015611113573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015291925090821690634a0687ef90602401600060405180830381600087803b15801561117b57600080fd5b505af115801561118f573d6000803e3d6000fd5b5050505080915050611220565b60006040516111aa90611511565b604051809103906000f0801580156111c6573d6000803e3d6000fd5b509050806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561120457600080fd5b505af1158015611218573d6000803e3d6000fd5b509293505050505b60405163ec0d634360e01b81526001600160a01b0382169063ec0d634390611258908c908c908b908b908b908b908b90600401611b21565b600060405180830381600087803b15801561127257600080fd5b505af1158015611286573d6000803e3d6000fd5b50506040516001600160a01b03841692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a298975050505050505050565b60006112f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b03160361134a5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610c24565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ac9190611b78565b7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620146114265760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610c24565b6001600160a01b038116300361147e5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610c24565b6114a6817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620604080519182526001600160a01b038416602083015201610c8e565b61024a80611b9283390190565b61023380611ddc83390190565b6001600160a01b0381168114610c9757600080fd5b60006020828403121561154557600080fd5b81356115508161151e565b9392505050565b80356003811061156657600080fd5b919050565b60008083601f84011261157d57600080fd5b50813567ffffffffffffffff81111561159557600080fd5b6020830191508360208285010111156115ad57600080fd5b9250929050565b600080600080600080608087890312156115cd57600080fd5b86356115d88161151e565b95506115e660208801611557565b9450604087013567ffffffffffffffff8082111561160357600080fd5b61160f8a838b0161156b565b9096509450606089013591508082111561162857600080fd5b5061163589828a0161156b565b979a9699509497509295939492505050565b600080600080600080600060a0888a03121561166257600080fd5b873561166d8161151e565b965061167b60208901611557565b9550604088013567ffffffffffffffff8082111561169857600080fd5b6116a48b838c0161156b565b909750955060608a01359150808211156116bd57600080fd5b506116ca8a828b0161156b565b90945092505060808801356116de8161151e565b8091505092959891949750929550565b6000806020838503121561170157600080fd5b823567ffffffffffffffff8082111561171957600080fd5b818501915085601f83011261172d57600080fd5b81358181111561173c57600080fd5b8660208260061b850101111561175157600080fd5b60209290920196919550909350505050565b60ff81168114610c9757600080fd5b600080600080600080600060a0888a03121561178d57600080fd5b87356117988161151e565b965060208801356117a881611763565b95506117b660408901611557565b9450606088013567ffffffffffffffff808211156117d357600080fd5b6117df8b838c0161156b565b909650945060808a01359150808211156117f857600080fd5b506118058a828b0161156b565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561183457600080fd5b883561183f8161151e565b9750602089013561184f81611763565b965061185d60408a01611557565b9550606089013567ffffffffffffffff8082111561187a57600080fd5b6118868c838d0161156b565b909750955060808b013591508082111561189f57600080fd5b506118ac8b828c0161156b565b90945092505060a08901356118c08161151e565b809150509295985092959890939650565b6000602082840312156118e357600080fd5b815161155081611763565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561191f578181015183820152602001611907565b50506000910152565b60006020828403121561193a57600080fd5b815167ffffffffffffffff8082111561195257600080fd5b818401915084601f83011261196657600080fd5b815181811115611978576119786118ee565b604051601f8201601f19908116603f011681019083821181831017156119a0576119a06118ee565b816040528281528760208487010111156119b957600080fd5b610777836020830160208801611904565b65029bab832b9160d51b8152600082516119eb816006850160208701611904565b9190910160060192915050565b60008251611a0a818460208701611904565b600f60fb1b920191825250600101919050565b60008151808452611a35816020860160208601611904565b601f01601f19169290920160200192915050565b6001600160a01b038516815260ff84166020820152608060408201819052600090611a7690830185611a1d565b82810360608401526107778185611a1d565b600060208284031215611a9a57600080fd5b81516115508161151e565b634e487b7160e01b600052603260045260246000fd5b600060018201611adb57634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052602160045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600060018060a01b03808a16835260ff8916602084015260a06040840152611b4d60a08401888a611af8565b8381036060850152611b60818789611af8565b92505080841660808401525098975050505050505050565b600060208284031215611b8a57600080fd5b505191905056fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033608060405234801561001057600080fd5b50610213806100206000396000f3fe6080604052600436106100225760003560e01c80638129fc1c1461003957610031565b366100315761002f61004e565b005b61002f61004e565b34801561004557600080fd5b5061002f610060565b61005e6100596100d0565b610173565b565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546001600160a01b038116156100aa576040516305c5d81960e01b815260040160405180910390fd5b50337fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a055565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546000906001600160a01b03811661010b5761010b610197565b806001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016d91906101ad565b91505090565b3660008037600080366000845af43d6000803e808015610192573d6000f35b3d6000fd5b634e487b7160e01b600052600160045260246000fd5b6000602082840312156101bf57600080fd5b81516001600160a01b03811681146101d657600080fd5b939250505056fea26469706673582212208aedd930463a9ef04ca914601becd18e8316234054a71d6de40ce23faac57e5064736f6c63430008130033a2646970667358221220bb5292f0839806836f43d0207bc2d095cd9562eaaf9b59e1a46e482f389d73b264736f6c63430008130033",vT=eb=>eb.length>1;class v_ extends uw.lV{constructor(...eb){vT(eb)?super(...eb):super(vx,vk,eb[0])}deploy(eb,em,eH,eV,ew){return super.deploy(eb,em,eH,eV,ew||{})}getDeployTransaction(eb,em,eH,eV,ew){return super.getDeployTransaction(eb,em,eH,eV,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(vx)}static connect(eb,em){return new uw.CH(eb,vx,em)}}v_.bytecode=vk,v_.abi=vx;let vS=[{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"createFlowFromTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"createFlowFromWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"createFlowTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"createFlowWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"int96",name:"subtractedFlowRateAllowance",type:"int96"}],name:"decreaseFlowRateAllowanceTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissionsToRemove",type:"uint8"},{internalType:"int96",name:"subtractedFlowRateAllowance",type:"int96"}],name:"decreaseFlowRateAllowanceWithPermissionsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissionsToRemove",type:"uint8"},{internalType:"int96",name:"subtractedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"decreaseFlowRateAllowanceWithPermissionsWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"int96",name:"subtractedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"decreaseFlowRateAllowanceWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"deleteFlowFromTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"deleteFlowFromWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"deleteFlowTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"deleteFlowWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"getBufferAmountByFlowRateTest",outputs:[{internalType:"uint256",name:"bufferAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getFlowInfoTest",outputs:[{internalType:"uint256",name:"lastUpdated",type:"uint256"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"flowOperator",type:"address"}],name:"getFlowPermissionsTest",outputs:[{internalType:"bool",name:"allowCreate",type:"bool"},{internalType:"bool",name:"allowUpdate",type:"bool"},{internalType:"bool",name:"allowDelete",type:"bool"},{internalType:"int96",name:"flowRateAllowance",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getFlowRateTest",outputs:[{internalType:"int96",name:"rate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"getNetFlowInfoTest",outputs:[{internalType:"uint256",name:"lastUpdated",type:"uint256"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"getNetFlowRateTest",outputs:[{internalType:"int96",name:"netFlowRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"int96",name:"addedFlowRateAllowance",type:"int96"}],name:"increaseFlowRateAllowanceTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissionsToAdd",type:"uint8"},{internalType:"int96",name:"addedFlowRateAllowance",type:"int96"}],name:"increaseFlowRateAllowanceWithPermissionsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissionsToAdd",type:"uint8"},{internalType:"int96",name:"addedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"increaseFlowRateAllowanceWithPermissionsWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"int96",name:"addedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"increaseFlowRateAllowanceWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"flowOperator",type:"address"},{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"revokeFlowPermissionsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"bool",name:"allowCreate",type:"bool"},{internalType:"bool",name:"allowUpdate",type:"bool"},{internalType:"bool",name:"allowDelete",type:"bool"},{internalType:"int96",name:"flowRateAllowance",type:"int96"}],name:"setFlowPermissionsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"flowOperator",type:"address"},{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"setMaxFlowPermissionsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"updateFlowFromTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateFlowFromWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"updateFlowTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateFlowWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"}],vE="0x608060405234801561001057600080fd5b50611f1a806100206000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638e33f76111610104578063d22d20aa116100a2578063ed86036611610071578063ed86036614610425578063f0447f3a14610438578063f5691f731461044b578063f9c134121461045e57600080fd5b8063d22d20aa146103d9578063dc197868146103ec578063e7295e55146103ff578063ebd3eac11461041257600080fd5b8063b85f67bf116100de578063b85f67bf1461037f578063c3c4f07a14610392578063c9929fc4146103a5578063cf86457a146103b857600080fd5b80638e33f76114610323578063ab0c1e5f14610336578063b076afff1461034957600080fd5b806350b027fc11610171578063778907a61161014b578063778907a6146102d7578063780808cd146102ea57806384213a28146102fd5780638713495c1461031057600080fd5b806350b027fc1461029e57806350bb295c146102b15780636b26d42d146102c457600080fd5b80631dd85401116101ad5780631dd854011461023f578063245bc59a146102525780633b556516146102655780635034dd411461028b57600080fd5b8063136e27d6146101d45780631aa2e8dc146101e95780631abea240146101fc575b600080fd5b6101e76101e236600461184b565b610471565b005b6101e76101f73660046118d2565b61048f565b61020f61020a3660046118d2565b6104a9565b604080519415158552921515602085015290151591830191909152600b0b60608201526080015b60405180910390f35b6101e761024d36600461191d565b6104d3565b6101e7610260366004611991565b6104ef565b6102786102733660046118d2565b610507565b604051600b9190910b8152602001610236565b6101e76102993660046119ca565b610525565b6101e76102ac366004611a0d565b61053b565b6101e76102bf366004611a69565b610550565b6101e76102d236600461191d565b610564565b6101e76102e5366004611aa9565b610579565b6102786102f8366004611991565b61058e565b6101e761030b366004611aea565b6105aa565b6101e761031e36600461191d565b6105bf565b6101e7610331366004611a69565b6105d4565b6101e7610344366004611a69565b6105e8565b61035c6103573660046118d2565b6105fc565b60408051948552600b9390930b6020850152918301526060820152608001610236565b61035c61038d366004611991565b610615565b6101e76103a03660046118d2565b61063d565b6101e76103b3366004611991565b610651565b6103cb6103c6366004611b2b565b610664565b604051908152602001610236565b6101e76103e736600461191d565b610679565b6101e76103fa366004611b6e565b61068e565b6101e761040d366004611aea565b6106ae565b6101e7610420366004611a69565b6106c3565b6101e76104333660046119ca565b6106d7565b6101e761044636600461184b565b6106ed565b6101e7610459366004611a0d565b610703565b6101e761046c366004611aa9565b610718565b6104876001600160a01b0386168585858561072d565b505050505050565b6104a36001600160a01b038416838361085b565b50505050565b60008080806104c26001600160a01b038816878761087a565b935093509350935093509350935093565b6104e86001600160a01b038516848484610933565b5050505050565b6105026001600160a01b03821683610a5e565b505050565b600061051d6001600160a01b0385168484610b8f565b949350505050565b6104876001600160a01b03861685858585610c27565b6104e86001600160a01b038516848484610cb4565b6104a36001600160a01b0384168383610cde565b6104e86001600160a01b038516848484610cfd565b6104e86001600160a01b038516848484610d4a565b60006105a36001600160a01b03841683610d6b565b9392505050565b6104e86001600160a01b038516848484610dee565b6104e86001600160a01b038516848484610e79565b6104a36001600160a01b0384168383610ec6565b6104a36001600160a01b0384168383610ee5565b60008080806104c26001600160a01b0388168787610f04565b600080808061062d6001600160a01b03871686610fa6565b9299919850965090945092505050565b6104a36001600160a01b038416838361103f565b6105026001600160a01b0382168361105e565b60006105a36001600160a01b038416836110aa565b6104e86001600160a01b03851684848461112f565b6106a56001600160a01b038716868686868661117c565b50505050505050565b6104e86001600160a01b0385168484846112dc565b6104a36001600160a01b0384168383611329565b6104876001600160a01b03861685858585611348565b6104876001600160a01b03861685858585611396565b6104e86001600160a01b0385168484846113e4565b6104e86001600160a01b038516848484611405565b600080600061073b88611426565b91509150816001600160a01b03166339255d5b82836001600160a01b031663da6b5f308c8c8c8c60006001600160401b0381111561077b5761077b611788565b6040519080825280601f01601f1916602001820160405280156107a5576020820181803683370190505b506040516024016107ba959493929190611c3a565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610805939250908990600401611c84565b6000604051808303816000875af1158015610824573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261084c9190810190611cc4565b50600198975050505050505050565b6040805160008082526020820190925261051d90859085908590610dee565b600080600080600061088b886115ed565b604051622115df60e11b81526001600160a01b038b811660048301528a811660248301528981166044830152919350600092509083169062422bbe90606401606060405180830381865afa1580156108e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090b9190611d31565b600180831681149d83821c821682149d5060029390931c8116149a5098509650505050505050565b600080600061094187611426565b91509150816001600160a01b03166339255d5b82836001600160a01b0316635f51fb238b8b8b60006001600160401b0381111561098057610980611788565b6040519080825280601f01601f1916602001820160405280156109aa576020820181803683370190505b506040516024016109be9493929190611d69565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610a09939250908990600401611c84565b6000604051808303816000875af1158015610a28573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a509190810190611cc4565b506001979650505050505050565b6000806000610a6c85611426565b91509150816001600160a01b03166339255d5b82836001600160a01b031663062e56ec898960006001600160401b03811115610aaa57610aaa611788565b6040519080825280601f01601f191660200182016040528015610ad4576020820181803683370190505b50604051602401610ae793929190611d9f565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052610b3c9392509060248101611c84565b6000604051808303816000875af1158015610b5b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b839190810190611cc4565b50600195945050505050565b600080610b9b856115ed565b604051631cd43d1160e31b81526001600160a01b03888116600483015287811660248301528681166044830152919350908316915063e6a1e88890606401608060405180830381865afa158015610bf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1a9190611dcb565b5090979650505050505050565b6000806000610c3588611426565b91509150816001600160a01b03166339255d5b82836001600160a01b031663354b95908c8c8c8c60006001600160401b03811115610c7557610c75611788565b6040519080825280601f01601f191660200182016040528015610c9f576020820181803683370190505b506040516024016107ba959493929190611e09565b60408051600080825260208201909252610cd5908690869086908690611348565b95945050505050565b6040805160008082526020820190925261051d90859085908590610933565b6000806000610d0b87611426565b91509150816001600160a01b03166339255d5b82836001600160a01b03166362fc305e8b8b8b60006001600160401b0381111561098057610980611788565b60408051600080825260208201909252610cd590869086908690869061072d565b600080610d77846115ed565b60405163e8e7e2d160e01b81526001600160a01b0387811660048301528681166024830152919350908316915063e8e7e2d190604401602060405180830381865afa158015610dca573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051d9190611e47565b6000806000610dfc87611426565b91509150816001600160a01b03166339255d5b82836001600160a01b0316634c8b181f8b8b8b60006001600160401b03811115610e3b57610e3b611788565b6040519080825280601f01601f191660200182016040528015610e65576020820181803683370190505b506040516024016109be9493929190611e64565b6000806000610e8787611426565b91509150816001600160a01b03166339255d5b82836001600160a01b031663ac5f5d008b8b8b60006001600160401b0381111561098057610980611788565b6040805160008082526020820190925261051d9085908590859061112f565b6040805160008082526020820190925261051d90859085908590610cfd565b6000806000806000610f15886115ed565b604051631cd43d1160e31b81526001600160a01b038b811660048301528a811660248301528981166044830152919350908316915063e6a1e88890606401608060405180830381865afa158015610f70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f949190611dcb565b929b919a509850909650945050505050565b6000806000806000610fb7876115ed565b604051630f1ac49560e01b81526001600160a01b038a8116600483015289811660248301529193509083169150630f1ac49590604401608060405180830381865afa15801561100a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102e9190611dcb565b929a91995097509095509350505050565b6040805160008082526020820190925261051d908590859085906112dc565b600080600061106c85611426565b91509150816001600160a01b03166339255d5b82836001600160a01b03166354b770e3898960006001600160401b03811115610aaa57610aaa611788565b6000806110b6846115ed565b6040516346ccbfb760e11b81526001600160a01b038781166004830152600b87900b60248301529193509083169150638d997f6e90604401602060405180830381865afa15801561110b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051d9190611e98565b600080600061113d87611426565b91509150816001600160a01b03166339255d5b82836001600160a01b03166350209a628b8b8b60006001600160401b0381111561098057610980611788565b600080600061118a89611426565b91509150600060028661119e5760006111a1565b60015b60ff16901b6001886111b45760006111b7565b60015b60ff16901b896111c85760006111cb565b60015b171790506001600160a01b03808416906339255d5b908490811663811b3d408e8e878c60006040519080825280601f01601f19166020018201604052801561121a576020820181803683370190505b5060405160240161122f959493929190611c3a565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526112849392509060248101611c84565b6000604051808303816000875af11580156112a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112cb9190810190611cc4565b5060019a9950505050505050505050565b60008060006112ea87611426565b91509150816001600160a01b03166339255d5b82836001600160a01b031663b4b333c68b8b8b60006001600160401b03811115610e3b57610e3b611788565b6040805160008082526020820190925261051d90859085908590610e79565b600080600061135688611426565b91509150816001600160a01b03166339255d5b82836001600160a01b03166394229ecb8c8c8c8c60006001600160401b03811115610c7557610c75611788565b60008060006113a488611426565b91509150816001600160a01b03166339255d5b82836001600160a01b031663f31f88f08c8c8c8c60006001600160401b0381111561077b5761077b611788565b60408051600080825260208201909252610cd5908690869086908690610c27565b60408051600080825260208201909252610cd5908690869086908690611396565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b0381166115bc576001600160a01b0382166114eb57826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e89190611eb1565b91505b604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa15801561154f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115739190611eb1565b9050817f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea83755807fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a555b6001600160a01b0382166115d2576115d2611ece565b6001600160a01b0381166115e8576115e8611ece565b915091565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b0381166115bc576001600160a01b0382166116b257826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116af9190611eb1565b91505b604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015611716573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173a9190611eb1565b90506001600160a01b0382166115d2576115d2611ece565b6001600160a01b038116811461176757600080fd5b50565b60ff8116811461176757600080fd5b80600b0b811461176757600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156117c6576117c6611788565b604052919050565b60006001600160401b038211156117e7576117e7611788565b50601f01601f191660200190565b600082601f83011261180657600080fd5b8135611819611814826117ce565b61179e565b81815284602083860101111561182e57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561186357600080fd5b853561186e81611752565b9450602086013561187e81611752565b9350604086013561188e8161176a565b9250606086013561189e81611779565b915060808601356001600160401b038111156118b957600080fd5b6118c5888289016117f5565b9150509295509295909350565b6000806000606084860312156118e757600080fd5b83356118f281611752565b9250602084013561190281611752565b9150604084013561191281611752565b809150509250925092565b6000806000806080858703121561193357600080fd5b843561193e81611752565b9350602085013561194e81611752565b9250604085013561195e81611779565b915060608501356001600160401b0381111561197957600080fd5b611985878288016117f5565b91505092959194509250565b600080604083850312156119a457600080fd5b82356119af81611752565b915060208301356119bf81611752565b809150509250929050565b600080600080600060a086880312156119e257600080fd5b85356119ed81611752565b945060208601356119fd81611752565b9350604086013561188e81611752565b60008060008060808587031215611a2357600080fd5b8435611a2e81611752565b93506020850135611a3e81611752565b92506040850135611a4e81611752565b91506060850135611a5e81611779565b939692955090935050565b600080600060608486031215611a7e57600080fd5b8335611a8981611752565b92506020840135611a9981611752565b9150604084013561191281611779565b60008060008060808587031215611abf57600080fd5b8435611aca81611752565b93506020850135611ada81611752565b92506040850135611a4e8161176a565b60008060008060808587031215611b0057600080fd5b8435611b0b81611752565b93506020850135611b1b81611752565b9250604085013561195e81611752565b60008060408385031215611b3e57600080fd5b8235611b4981611752565b915060208301356119bf81611779565b80358015158114611b6957600080fd5b919050565b60008060008060008060c08789031215611b8757600080fd5b8635611b9281611752565b95506020870135611ba281611752565b9450611bb060408801611b59565b9350611bbe60608801611b59565b9250611bcc60808801611b59565b915060a0870135611bdc81611779565b809150509295509295509295565b60005b83811015611c05578181015183820152602001611bed565b50506000910152565b60008151808452611c26816020860160208601611bea565b601f01601f19169290920160200192915050565b6001600160a01b0386811682528516602082015260ff84166040820152600b83900b606082015260a060808201819052600090611c7990830184611c0e565b979650505050505050565b6001600160a01b0384168152606060208201819052600090611ca890830185611c0e565b8281036040840152611cba8185611c0e565b9695505050505050565b600060208284031215611cd657600080fd5b81516001600160401b03811115611cec57600080fd5b8201601f81018413611cfd57600080fd5b8051611d0b611814826117ce565b818152856020838501011115611d2057600080fd5b610cd5826020830160208601611bea565b600080600060608486031215611d4657600080fd5b835192506020840151611d588161176a565b604085015190925061191281611779565b6001600160a01b03858116825284166020820152600b83900b6040820152608060608201819052600090611cba90830184611c0e565b6001600160a01b03848116825283166020820152606060408201819052600090610cd590830184611c0e565b60008060008060808587031215611de157600080fd5b845193506020850151611df381611779565b6040860151606090960151949790965092505050565b6001600160a01b038681168252858116602083015284166040820152600b83900b606082015260a060808201819052600090611c7990830184611c0e565b600060208284031215611e5957600080fd5b81516105a381611779565b6001600160a01b038581168252848116602083015283166040820152608060608201819052600090611cba90830184611c0e565b600060208284031215611eaa57600080fd5b5051919050565b600060208284031215611ec357600080fd5b81516105a381611752565b634e487b7160e01b600052600160045260246000fdfea26469706673582212207885e6ee18262d9c477d6c47020cf987e129187c43cc8d8e183e3972bb52a6b564736f6c63430008130033",vA=eb=>eb.length>1;class vI extends uw.lV{constructor(...eb){vA(eb)?super(...eb):super(vS,vE,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(vS)}static connect(eb,em){return new uw.CH(eb,vS,em)}}vI.bytecode=vE,vI.abi=vS;let vD=[{inputs:[{internalType:"contract ISuperfluid",name:"_host",type:"address"},{internalType:"address",name:"defaultSender",type:"address"},{internalType:"address",name:"defaultReceiver",type:"address"},{internalType:"address",name:"defaultFlowOperator",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"authorizeFlowOperatorWithFullControl",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"createFlow",outputs:[],stateMutability:"nonpayable",type:"function"}],vP="0x60e06040523480156200001157600080fd5b5060405162001b6338038062001b638339810160408190526200003491620000f0565b600080546001600160a01b0319166001600160a01b03868116918217835585811660805284811660a052831660c0526040805163bd1c448b60e01b8152643d0000000160048201819052602482019290925260448101939093529163bd1c448b90606401600060405180830381600087803b158015620000b357600080fd5b505af1158015620000c8573d6000803e3d6000fd5b50505050505050505062000158565b6001600160a01b0381168114620000ed57600080fd5b50565b600080600080608085870312156200010757600080fd5b84516200011481620000d7565b60208601519094506200012781620000d7565b60408601519093506200013a81620000d7565b60608601519092506200014d81620000d7565b939692955090935050565b60805160a05160c05161198e620001d56000396000818161031f015281816107fe01528181610848015261088801526000818161027b015281816105f8015281816106460152818161068e015281816106ef0152818161075601526107be0152600081816106ce01528181610735015261079d015261198e6000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80635f9e7d771161005b5780635f9e7d77146100f15780637d5b08de14610104578063884d1f4014610117578063d86ed3e51461012a57600080fd5b8063230dbd291461008d57806330d9c915146100b657806353c11f99146100c9578063558aea25146100dc575b600080fd5b6100a061009b3660046112cf565b61013d565b6040516100ad91906113e9565b60405180910390f35b6100a06100c4366004611403565b6101a4565b6100a06100d73660046112cf565b610207565b6100ef6100ea3660046114a1565b61026c565b005b6100a06100ff366004611403565b6102a9565b6100ef6101123660046114a1565b610310565b6100a0610125366004611403565b610343565b6100a06101383660046112cf565b6103a6565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d08155c19185d195960921b60648201526060906084015b60405180910390fd5b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b606482015260609060840161019b565b60405162461bcd60e51b815260206004820152603160248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201527019595b595b9d0815195c9b5a5b985d1959607a1b606482015260609060840161019b565b6102a56001600160a01b0382167f000000000000000000000000000000000000000000000000000000000000000064e8d4a510006103f6565b5050565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b606482015260609060840161019b565b6102a56001600160a01b0382167f000000000000000000000000000000000000000000000000000000000000000061041d565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b606482015260609060840161019b565b60606103e88a84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061055092505050565b9a9950505050505050505050565b60408051600080825260208201909252610415908590859085906108ee565b949350505050565b600080600061042b85610a19565b91509150816001600160a01b03166339255d5b82836001600160a01b03166354b770e3898960006001600160401b03811115610469576104696114be565b6040519080825280601f01601f191660200182016040528015610493576020820181803683370190505b506040516024016104a6939291906114d4565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526104fb9392509060248101611509565b6000604051808303816000875af115801561051a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261054291908101906115ef565b506001925050505b92915050565b60008054604051631fb6491d60e11b8152606092916001600160a01b031690633f6c923a906105839086906004016113e9565b600060405180830381865afa1580156105a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105c8919081019061165c565b60a001518060200190518101906105df9190611762565b905060ff811661062b576106236001600160a01b0385167f000000000000000000000000000000000000000000000000000000000000000064e8d4a5100086610be0565b91505061054a565b60001960ff821601610672576106236001600160a01b0385167f00000000000000000000000000000000000000000000000000000000000000006501d1a94a200086610d09565b60011960ff8216016106b3576106236001600160a01b038516307f000000000000000000000000000000000000000000000000000000000000000086610d56565b60021960ff82160161071a576106236001600160a01b0385167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000064e8d4a5100087610de1565b60031960ff821601610782576106236001600160a01b0385167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006501d1a94a200087610f0d565b60041960ff8216016107e3576106236001600160a01b0385167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000086610f5b565b60051960ff82160161082d576106236001600160a01b0385167f00000000000000000000000000000000000000000000000000000000000000006001808064e8d4a5100089610fa8565b60061960ff82160161086d576106236001600160a01b0385167f0000000000000000000000000000000000000000000000000000000000000000856110fd565b60071960ff8216016108ad576106236001600160a01b0385167f000000000000000000000000000000000000000000000000000000000000000085611223565b60405162461bcd60e51b81526020600482015260166024820152750d2dcecc2d8d2c840cceadcc6e8d2dedc40d2dcc8caf60531b604482015260640161019b565b60008060006108fc87610a19565b91509150816001600160a01b03166339255d5b82836001600160a01b03166362fc305e8b8b8b60006001600160401b0381111561093b5761093b6114be565b6040519080825280601f01601f191660200182016040528015610965576020820181803683370190505b50604051602401610979949392919061177d565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526109c4939250908990600401611509565b6000604051808303816000875af11580156109e3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a0b91908101906115ef565b506001979650505050505050565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b038116610baf576001600160a01b038216610ade57826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610adb91906117b3565b91505b604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015610b42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6691906117b3565b9050817f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea83755807fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a555b6001600160a01b038216610bc557610bc56117d0565b6001600160a01b038116610bdb57610bdb6117d0565b915091565b6060600080610bee87610a19565b91509150816001600160a01b0316634329d29382836001600160a01b03166362fc305e8b8b8b60006001600160401b03811115610c2d57610c2d6114be565b6040519080825280601f01601f191660200182016040528015610c57576020820181803683370190505b50604051602401610c6b949392919061177d565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610cb69392509089906004016117e6565b6000604051808303816000875af1158015610cd5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cfd9190810190611839565b50979650505050505050565b6060600080610d1787610a19565b91509150816001600160a01b0316634329d29382836001600160a01b03166350209a628b8b8b60006001600160401b03811115610c2d57610c2d6114be565b6060600080610d6487610a19565b91509150816001600160a01b0316634329d29382836001600160a01b031663b4b333c68b8b8b60006001600160401b03811115610da357610da36114be565b6040519080825280601f01601f191660200182016040528015610dcd576020820181803683370190505b50604051602401610c6b949392919061189c565b6060600080610def88610a19565b91509150816001600160a01b0316634329d29382836001600160a01b03166394229ecb8c8c8c8c60006001600160401b03811115610e2f57610e2f6114be565b6040519080825280601f01601f191660200182016040528015610e59576020820181803683370190505b50604051602401610e6e9594939291906118d0565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610eb99392509089906004016117e6565b6000604051808303816000875af1158015610ed8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f009190810190611839565b5098975050505050505050565b6060600080610f1b88610a19565b91509150816001600160a01b0316634329d29382836001600160a01b031663354b95908c8c8c8c60006001600160401b03811115610e2f57610e2f6114be565b6060600080610f6987610a19565b91509150816001600160a01b0316634329d29382836001600160a01b0316634c8b181f8b8b8b60006001600160401b03811115610da357610da36114be565b6060600080610fb68a610a19565b915091506000600287610fca576000610fcd565b60015b60ff16901b600189610fe0576000610fe3565b60015b60ff16901b8a610ff4576000610ff7565b60015b171790506001600160a01b0380841690634329d293908490811663811b3d408f8f878d60006040519080825280601f01601f191660200182016040528015611046576020820181803683370190505b5060405160240161105b959493929190611919565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526110a6939250908a906004016117e6565b6000604051808303816000875af11580156110c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110ed9190810190611839565b509b9a5050505050505050505050565b606060008061110b86610a19565b91509150816001600160a01b0316634329d29382836001600160a01b03166354b770e38a8a60006001600160401b03811115611149576111496114be565b6040519080825280601f01601f191660200182016040528015611173576020820181803683370190505b50604051602401611186939291906114d4565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526111d19392509089906004016117e6565b6000604051808303816000875af11580156111f0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112189190810190611839565b509695505050505050565b606060008061123186610a19565b91509150816001600160a01b0316634329d29382836001600160a01b031663062e56ec8a8a60006001600160401b03811115611149576111496114be565b6001600160a01b038116811461128457600080fd5b50565b60008083601f84011261129957600080fd5b5081356001600160401b038111156112b057600080fd5b6020830191508360208285010111156112c857600080fd5b9250929050565b600080600080600080600080600060c08a8c0312156112ed57600080fd5b89356112f88161126f565b985060208a01356113088161126f565b975060408a0135965060608a01356001600160401b038082111561132b57600080fd5b6113378d838e01611287565b909850965060808c013591508082111561135057600080fd5b61135c8d838e01611287565b909650945060a08c013591508082111561137557600080fd5b506113828c828d01611287565b915080935050809150509295985092959850929598565b60005b838110156113b457818101518382015260200161139c565b50506000910152565b600081518084526113d5816020860160208601611399565b601f01601f19169290920160200192915050565b6020815260006113fc60208301846113bd565b9392505050565b600080600080600080600060a0888a03121561141e57600080fd5b87356114298161126f565b965060208801356114398161126f565b95506040880135945060608801356001600160401b038082111561145c57600080fd5b6114688b838c01611287565b909650945060808a013591508082111561148157600080fd5b5061148e8a828b01611287565b989b979a50959850939692959293505050565b6000602082840312156114b357600080fd5b81356113fc8161126f565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03848116825283166020820152606060408201819052600090611500908301846113bd565b95945050505050565b6001600160a01b038416815260606020820181905260009061152d908301856113bd565b828103604084015261153f81856113bd565b9695505050505050565b60405161016081016001600160401b038111828210171561156c5761156c6114be565b60405290565b600082601f83011261158357600080fd5b81516001600160401b038082111561159d5761159d6114be565b604051601f8301601f19908116603f011681019082821181831017156115c5576115c56114be565b816040528381528660208588010111156115de57600080fd5b61153f846020830160208901611399565b60006020828403121561160157600080fd5b81516001600160401b0381111561161757600080fd5b61041584828501611572565b805160ff8116811461163457600080fd5b919050565b80516116348161126f565b80516001600160e01b03198116811461163457600080fd5b60006020828403121561166e57600080fd5b81516001600160401b038082111561168557600080fd5b90830190610160828603121561169a57600080fd5b6116a2611549565b6116ab83611623565b81526116b960208401611623565b6020820152604083015160408201526116d460608401611639565b60608201526116e560808401611644565b608082015260a0830151828111156116fc57600080fd5b61170887828601611572565b60a08301525060c083015160c082015260e083015160e082015261010091508183015182820152610120915061173f828401611639565b828201526101409150611753828401611639565b91810191909152949350505050565b60006020828403121561177457600080fd5b6113fc82611623565b6001600160a01b03858116825284166020820152600b83900b604082015260806060820181905260009061153f908301846113bd565b6000602082840312156117c557600080fd5b81516113fc8161126f565b634e487b7160e01b600052600160045260246000fd5b6001600160a01b038416815260806020820181905260009061180a908301856113bd565b8281038060408501526002825261060f60f31b60208301526040810160608501525061153f60408201856113bd565b6000806040838503121561184c57600080fd5b82516001600160401b038082111561186357600080fd5b61186f86838701611572565b9350602085015191508082111561188557600080fd5b5061189285828601611572565b9150509250929050565b6001600160a01b03858116825284811660208301528316604082015260806060820181905260009061153f908301846113bd565b6001600160a01b038681168252858116602083015284166040820152600b83900b606082015260a06080820181905260009061190e908301846113bd565b979650505050505050565b6001600160a01b0386811682528516602082015260ff84166040820152600b83900b606082015260a06080820181905260009061190e908301846113bd56fea2646970667358221220f1214a77af9acb659a09feb0b727a56f14459fc773d1108c8db1f73198ed3a9064736f6c63430008130033",vO=eb=>eb.length>1;class vR extends uw.lV{constructor(...eb){vO(eb)?super(...eb):super(vD,vP,eb[0])}deploy(eb,em,eH,eV,ew){return super.deploy(eb,em,eH,eV,ew||{})}getDeployTransaction(eb,em,eH,eV,ew){return super.getDeployTransaction(eb,em,eH,eV,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(vD)}static connect(eb,em){return new uw.CH(eb,vD,em)}}vR.bytecode=vP,vR.abi=vD;let vB=[{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"approveSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"approveSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"calculateDistributionTest",outputs:[{internalType:"uint256",name:"actualAmount",type:"uint256"},{internalType:"uint128",name:"newIndexValue",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"claimTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"claimWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"createIndexTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"createIndexWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"deleteSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"deleteSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"distributeTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"distributeWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"getIndexTest",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"uint128",name:"totalUnitsApproved",type:"uint128"},{internalType:"uint128",name:"totalUnitsPending",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"}],name:"getSubscriptionByIDTest",outputs:[{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"getSubscriptionTest",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"subscriber",type:"address"}],name:"listSubscriptionsTest",outputs:[{internalType:"address[]",name:"publishers",type:"address[]"},{internalType:"uint32[]",name:"indexIds",type:"uint32[]"},{internalType:"uint128[]",name:"unitsList",type:"uint128[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"revokeSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"revokeSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"}],name:"updateIndexValueTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateIndexValueWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"}],name:"updateSubscriptionUnitsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateSubscriptionUnitsWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"}],vF="0x608060405234801561001057600080fd5b50611f6c806100206000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80635158472c116100b85780639cdf4d671161007c5780639cdf4d6714610302578063c9869ed014610315578063c9b8a2f614610328578063d39363c01461036c578063eadc45511461037f578063fe134e9f1461039257600080fd5b80635158472c146102a35780636436e3d3146102b65780636ddb6798146102c95780637489c503146102dc57806378bb14ea146102ef57600080fd5b80633939709e116100ff5780633939709e146102045780634018cb64146102175780634277b78f146102395780635002bb091461024c57806350c8da8f1461025f57600080fd5b8063068f3d191461013c57806306f75d2e1461015157806316dfe9271461016457806325a108af146101775780632a722c06146101d4575b600080fd5b61014f61014a3660046113f1565b6103a5565b005b61014f61015f366004611478565b6103c3565b61014f6101723660046114ec565b6103df565b61018a61018536600461154d565b6103f9565b604080516001600160a01b03909616865263ffffffff9094166020860152911515928401929092526001600160801b039091166060830152608082015260a0015b60405180910390f35b6101e76101e2366004611579565b610425565b604080519283526001600160801b039091166020830152016101cb565b61014f6102123660046115df565b61044a565b61022a610225366004611620565b61045f565b6040516101cb9392919061169d565b61014f61024736600461173a565b610483565b61014f61025a36600461178d565b610499565b61027261026d3660046117e9565b6104ae565b6040805194151585526001600160801b039384166020860152918316918401919091521660608201526080016101cb565b61014f6102b13660046113f1565b6104d8565b61014f6102c4366004611478565b6104ee565b61014f6102d73660046117e9565b610503565b61014f6102ea366004611834565b610517565b61014f6102fd366004611875565b61052b565b61014f6103103660046118b5565b61053f565b61014f61032336600461178d565b610554565b61033b61033636600461178d565b610569565b6040516101cb9493929190931515845291151560208401526001600160801b03166040830152606082015260800190565b61014f61037a3660046117e9565b610595565b61014f61038d366004611906565b6105a9565b61014f6103a0366004611934565b6105c1565b6103bb6001600160a01b038616858585856105d6565b505050505050565b6103d86001600160a01b038516848484610704565b5050505050565b6103f36001600160a01b038416838361082f565b50505050565b6000808080806104126001600160a01b03881687610957565b939b929a50909850965090945092505050565b60008061043d6001600160a01b0387168686866109f3565b9150915094509492505050565b6103d86001600160a01b038516848484610a98565b606080806104766001600160a01b03861685610b23565b9250925092509250925092565b6103bb6001600160a01b03861685858585610bbc565b6103d86001600160a01b038516848484610c49565b60008080806104c76001600160a01b0388168787610c73565b935093509350935093509350935093565b6103bb6001600160a01b03861685858585610d19565b6103d86001600160a01b038516848484610d67565b6103f36001600160a01b0384168383610db4565b6103f36001600160a01b0384168383610ddb565b6103f36001600160a01b0384168383610dfa565b6103d86001600160a01b038516848484610e19565b6103d86001600160a01b038516848484610e3a565b60008080806105836001600160a01b038916888888610e5b565b929b919a509850909650945050505050565b6103f36001600160a01b0384168383610f0a565b6105bc6001600160a01b03831682610f29565b505050565b6103d86001600160a01b038516848484610f4d565b60008060006105e488610fd8565b91509150816001600160a01b03166339255d5b82836001600160a01b031663acafa1b88c8c8c8c60006001600160401b038111156106245761062461132e565b6040519080825280601f01601f19166020018201604052801561064e576020820181803683370190505b506040516024016106639594939291906119d7565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526106ae939250908990600401611a22565b6000604051808303816000875af11580156106cd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106f59190810190611a62565b50600198975050505050505050565b600080600061071287610fd8565b91509150816001600160a01b03166339255d5b82836001600160a01b0316636041ae968b8b8b60006001600160401b038111156107515761075161132e565b6040519080825280601f01601f19166020018201604052801561077b576020820181803683370190505b5060405160240161078f9493929190611acf565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526107da939250908990600401611a22565b6000604051808303816000875af11580156107f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108219190810190611a62565b506001979650505050505050565b600080600061083d86610fd8565b91509150816001600160a01b03166339255d5b82836001600160a01b031663d787840a8a8a60006001600160401b0381111561087b5761087b61132e565b6040519080825280601f01601f1916602001820160405280156108a5576020820181803683370190505b506040516024016108b893929190611b07565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610903939250908990600401611a22565b6000604051808303816000875af1158015610922573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261094a9190810190611a62565b5060019695505050505050565b6000806000806000806109698861119f565b60405163cd7245c560e01b81526001600160a01b038b81166004830152602482018b9052919350908316915063cd7245c59060440160a060405180830381865afa1580156109bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109df9190611b4c565b939c929b5090995097509095509350505050565b6000806000610a018761119f565b604051632266eabb60e21b81526001600160a01b038a81166004830152898116602483015263ffffffff8916604483015260648201889052919350908316915063899baaec906084016040805180830381865afa158015610a66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8a9190611bb3565b925092505094509492505050565b6000806000610aa687610fd8565b91509150816001600160a01b03166339255d5b82836001600160a01b0316637fbc76398b8b8b60006001600160401b03811115610ae557610ae561132e565b6040519080825280601f01601f191660200182016040528015610b0f576020820181803683370190505b5060405160240161078f9493929190611bd8565b60608060606000610b338661119f565b6040516316db59b760e31b81526001600160a01b0389811660048301528881166024830152919350908316915063b6dacdb890604401600060405180830381865afa158015610b86573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bae9190810190611d0d565b935093509350509250925092565b6000806000610bca88610fd8565b91509150816001600160a01b03166339255d5b82836001600160a01b031663232d2b588c8c8c8c60006001600160401b03811115610c0a57610c0a61132e565b6040519080825280601f01601f191660200182016040528015610c34576020820181803683370190505b50604051602401610663959493929190611deb565b60408051600080825260208201909252610c6a908690869086908690610d19565b95945050505050565b6000806000806000610c848861119f565b6040516323fc23f360e01b81526001600160a01b038b811660048301528a8116602483015263ffffffff8a16604483015291935090831691506323fc23f390606401608060405180830381865afa158015610ce3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d079190611e32565b94509450945094505093509350935093565b6000806000610d2788610fd8565b91509150816001600160a01b03166339255d5b82836001600160a01b0316632e5e74c68c8c8c8c60006001600160401b038111156106245761062461132e565b6000806000610d7587610fd8565b91509150816001600160a01b03166339255d5b82836001600160a01b031663acf4a6c28b8b8b60006001600160401b038111156107515761075161132e565b60408051600080825260208201909252610dd390859085908590610d67565b949350505050565b60408051600080825260208201909252610dd390859085908590610f4d565b60408051600080825260208201909252610dd390859085908590610a98565b60408051600080825260208201909252610c6a908690869086908690610bbc565b60408051600080825260208201909252610c6a9086908690869086906105d6565b6000806000806000610e6c8961119f565b604051635b53405160e01b81526001600160a01b038c811660048301528b8116602483015263ffffffff8b16604483015289811660648301529193509083169150635b53405190608401608060405180830381865afa158015610ed3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef79190611e83565b929c919b50995090975095505050505050565b60408051600080825260208201909252610dd390859085908590610704565b60408051600080825260208201909252610f46908490849061082f565b9392505050565b6000806000610f5b87610fd8565b91509150816001600160a01b03166339255d5b82836001600160a01b031663b96731c28b8b8b60006001600160401b03811115610f9a57610f9a61132e565b6040519080825280601f01601f191660200182016040528015610fc4576020820181803683370190505b5060405160240161078f9493929190611ed0565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fa832ee1924ea960211af2df07d65d166232018f613ac6708043cd8f8773eddeb546001600160a01b03811661116e576001600160a01b03821661109d57826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015611076573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109a9190611f03565b91505b604051635b69006f60e11b81527f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a67460048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015611101573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111259190611f03565b9050817f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea83755807fa832ee1924ea960211af2df07d65d166232018f613ac6708043cd8f8773eddeb555b6001600160a01b03821661118457611184611f20565b6001600160a01b03811661119a5761119a611f20565b915091565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fa832ee1924ea960211af2df07d65d166232018f613ac6708043cd8f8773eddeb546001600160a01b03811661116e576001600160a01b03821661126457826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa15801561123d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112619190611f03565b91505b604051635b69006f60e11b81527f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a67460048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa1580156112c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ec9190611f03565b90506001600160a01b03821661118457611184611f20565b6001600160a01b038116811461131957600080fd5b50565b63ffffffff8116811461131957600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561136c5761136c61132e565b604052919050565b60006001600160401b0382111561138d5761138d61132e565b50601f01601f191660200190565b600082601f8301126113ac57600080fd5b81356113bf6113ba82611374565b611344565b8181528460208386010111156113d457600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561140957600080fd5b853561141481611304565b9450602086013561142481611304565b935060408601356114348161131c565b9250606086013561144481611304565b915060808601356001600160401b0381111561145f57600080fd5b61146b8882890161139b565b9150509295509295909350565b6000806000806080858703121561148e57600080fd5b843561149981611304565b935060208501356114a981611304565b925060408501356114b98161131c565b915060608501356001600160401b038111156114d457600080fd5b6114e08782880161139b565b91505092959194509250565b60008060006060848603121561150157600080fd5b833561150c81611304565b9250602084013561151c8161131c565b915060408401356001600160401b0381111561153757600080fd5b6115438682870161139b565b9150509250925092565b6000806040838503121561156057600080fd5b823561156b81611304565b946020939093013593505050565b6000806000806080858703121561158f57600080fd5b843561159a81611304565b935060208501356115aa81611304565b925060408501356115ba8161131c565b9396929550929360600135925050565b6001600160801b038116811461131957600080fd5b600080600080608085870312156115f557600080fd5b843561160081611304565b935060208501356116108161131c565b925060408501356114b9816115ca565b6000806040838503121561163357600080fd5b823561163e81611304565b9150602083013561164e81611304565b809150509250929050565b600081518084526020808501945080840160005b838110156116925781516001600160801b03168752958201959082019060010161166d565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b828110156116df5781516001600160a01b0316845292840192908401906001016116ba565b5050508381038285015285518082528683019183019060005b8181101561171a57835163ffffffff16835292840192918401916001016116f8565b5050848103604086015261172e8187611659565b98975050505050505050565b600080600080600060a0868803121561175257600080fd5b853561175d81611304565b9450602086013561176d8161131c565b9350604086013561177d81611304565b92506060860135611444816115ca565b600080600080608085870312156117a357600080fd5b84356117ae81611304565b935060208501356117be81611304565b925060408501356117ce8161131c565b915060608501356117de81611304565b939692955090935050565b6000806000606084860312156117fe57600080fd5b833561180981611304565b9250602084013561181981611304565b915060408401356118298161131c565b809150509250925092565b60008060006060848603121561184957600080fd5b833561185481611304565b925060208401356118648161131c565b929592945050506040919091013590565b60008060006060848603121561188a57600080fd5b833561189581611304565b925060208401356118a58161131c565b91506040840135611829816115ca565b600080600080608085870312156118cb57600080fd5b84356118d681611304565b935060208501356118e68161131c565b925060408501356118f681611304565b915060608501356117de816115ca565b6000806040838503121561191957600080fd5b823561192481611304565b9150602083013561164e8161131c565b6000806000806080858703121561194a57600080fd5b843561195581611304565b935060208501356119658161131c565b92506040850135915060608501356001600160401b038111156114d457600080fd5b60005b838110156119a257818101518382015260200161198a565b50506000910152565b600081518084526119c3816020860160208601611987565b601f01601f19169290920160200192915050565b6001600160a01b038681168252858116602083015263ffffffff851660408301528316606082015260a060808201819052600090611a17908301846119ab565b979650505050505050565b6001600160a01b0384168152606060208201819052600090611a46908301856119ab565b8281036040840152611a5881856119ab565b9695505050505050565b600060208284031215611a7457600080fd5b81516001600160401b03811115611a8a57600080fd5b8201601f81018413611a9b57600080fd5b8051611aa96113ba82611374565b818152856020838501011115611abe57600080fd5b610c6a826020830160208601611987565b6001600160a01b0385811682528416602082015263ffffffff83166040820152608060608201819052600090611a58908301846119ab565b6001600160a01b038416815263ffffffff83166020820152606060408201819052600090610c6a908301846119ab565b80518015158114611b4757600080fd5b919050565b600080600080600060a08688031215611b6457600080fd5b8551611b6f81611304565b6020870151909550611b808161131c565b9350611b8e60408701611b37565b92506060860151611b9e816115ca565b80925050608086015190509295509295909350565b60008060408385031215611bc657600080fd5b82519150602083015161164e816115ca565b6001600160a01b038516815263ffffffff841660208201526001600160801b0383166040820152608060608201819052600090611a58908301846119ab565b60006001600160401b03821115611c3057611c3061132e565b5060051b60200190565b600082601f830112611c4b57600080fd5b81516020611c5b6113ba83611c17565b82815260059290921b84018101918181019086841115611c7a57600080fd5b8286015b84811015611c9e578051611c918161131c565b8352918301918301611c7e565b509695505050505050565b600082601f830112611cba57600080fd5b81516020611cca6113ba83611c17565b82815260059290921b84018101918181019086841115611ce957600080fd5b8286015b84811015611c9e578051611d00816115ca565b8352918301918301611ced565b600080600060608486031215611d2257600080fd5b83516001600160401b0380821115611d3957600080fd5b818601915086601f830112611d4d57600080fd5b81516020611d5d6113ba83611c17565b82815260059290921b8401810191818101908a841115611d7c57600080fd5b948201945b83861015611da3578551611d9481611304565b82529482019490820190611d81565b91890151919750909350505080821115611dbc57600080fd5b611dc887838801611c3a565b93506040860151915080821115611dde57600080fd5b5061154386828701611ca9565b6001600160a01b03868116825263ffffffff86166020830152841660408201526001600160801b038316606082015260a060808201819052600090611a17908301846119ab565b60008060008060808587031215611e4857600080fd5b611e5185611b37565b93506020850151611e61816115ca565b6040860151909350611e72816115ca565b60608601519092506117de816115ca565b60008060008060808587031215611e9957600080fd5b611ea285611b37565b9350611eb060208601611b37565b92506040850151611ec0816115ca565b6060959095015193969295505050565b60018060a01b038516815263ffffffff84166020820152826040820152608060608201526000611a5860808301846119ab565b600060208284031215611f1557600080fd5b8151610f4681611304565b634e487b7160e01b600052600160045260246000fdfea2646970667358221220003a693934e4c7a8d0989dbc66364c06cf9b870aad81d6bffee0ed92e5eb880c64736f6c63430008130033",vj=eb=>eb.length>1;class vU extends uw.lV{constructor(...eb){vj(eb)?super(...eb):super(vB,vF,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(vB)}static connect(eb,em){return new uw.CH(eb,vB,em)}}vU.bytecode=vF,vU.abi=vB;let vq=[{inputs:[{internalType:"contract ISuperfluid",name:"_host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"approveSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"approveSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"calculateDistributionTest",outputs:[{internalType:"uint256",name:"actualAmount",type:"uint256"},{internalType:"uint128",name:"newIndexValue",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"claimTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"claimWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"createIndexTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"createIndexWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"deleteSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"deleteSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"distributeTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"distributeWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"getIndexTest",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"uint128",name:"totalUnitsApproved",type:"uint128"},{internalType:"uint128",name:"totalUnitsPending",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"}],name:"getSubscriptionByIDTest",outputs:[{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"getSubscriptionTest",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"subscriber",type:"address"}],name:"listSubscriptionsTest",outputs:[{internalType:"address[]",name:"publishers",type:"address[]"},{internalType:"uint32[]",name:"indexIds",type:"uint32[]"},{internalType:"uint128[]",name:"unitsList",type:"uint128[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"revokeSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"revokeSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"}],name:"updateIndexValueTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateIndexValueWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"}],name:"updateSubscriptionUnitsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateSubscriptionUnitsWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"}],v$="0x60806040523480156200001157600080fd5b506040516200305d3803806200305d8339810160408190526200003491620000c2565b600080546001600160a01b0319166001600160a01b03831690811782556040805163bd1c448b60e01b815264350000000160048201819052602482019290925260448101939093529163bd1c448b90606401600060405180830381600087803b158015620000a157600080fd5b505af1158015620000b6573d6000803e3d6000fd5b505050505050620000f4565b600060208284031215620000d557600080fd5b81516001600160a01b0381168114620000ed57600080fd5b9392505050565b612f5980620001046000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806353c11f99116100f95780639cdf4d6711610097578063d39363c011610071578063d39363c01461044e578063d86ed3e5146101e9578063eadc455114610461578063fe134e9f1461047457600080fd5b80639cdf4d67146103e4578063c9869ed0146103f7578063c9b8a2f61461040a57600080fd5b80636ddb6798116100d35780636ddb6798146103985780637489c503146103ab57806378bb14ea146103be578063884d1f40146103d157600080fd5b806353c11f991461035f5780635f9e7d77146103725780636436e3d31461038557600080fd5b806330d9c915116101665780634277b78f116101405780634277b78f146102e25780635002bb09146102f557806350c8da8f146103085780635158472c1461034c57600080fd5b806330d9c9151461029a5780633939709e146102ad5780634018cb64146102c057600080fd5b8063068f3d19146101ae57806306f75d2e146101c357806316dfe927146101d6578063230dbd29146101e957806325a108af146102125780632a722c061461026a575b600080fd5b6101c16101bc366004611fb8565b610487565b005b6101c16101d136600461203f565b6104a5565b6101c16101e43660046120b3565b6104c1565b6101fc6101f736600461215c565b6104db565b6040516102099190612276565b60405180910390f35b610225610220366004612289565b61052b565b604080516001600160a01b03909616865263ffffffff9094166020860152911515928401929092526001600160801b039091166060830152608082015260a001610209565b61027d6102783660046122b5565b610557565b604080519283526001600160801b03909116602083015201610209565b6101fc6102a8366004612306565b61057c565b6101c16102bb3660046123b9565b6105e4565b6102d36102ce3660046123fa565b6105f9565b60405161020993929190612477565b6101c16102f0366004612514565b61061d565b6101c1610303366004612567565b610633565b61031b6103163660046125c3565b610648565b6040805194151585526001600160801b03938416602086015291831691840191909152166060820152608001610209565b6101c161035a366004611fb8565b610672565b6101fc61036d36600461215c565b610688565b6101fc610380366004612306565b6106ed565b6101c161039336600461203f565b610754565b6101c16103a63660046125c3565b610769565b6101c16103b936600461260e565b61077d565b6101c16103cc36600461264f565b610791565b6101fc6103df366004612306565b6107a5565b6101c16103f236600461268f565b610808565b6101c1610405366004612567565b61081d565b61041d610418366004612567565b610832565b6040516102099493929190931515845291151560208401526001600160801b03166040830152606082015260800190565b6101c161045c3660046125c3565b61085e565b6101c161046f3660046126e0565b610872565b6101c161048236600461270e565b61088a565b61049d6001600160a01b0386168585858561089f565b505050505050565b6104ba6001600160a01b0385168484846109cd565b5050505050565b6104d56001600160a01b0384168383610af8565b50505050565b606061051d8a84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c2092505050565b9a9950505050505050505050565b6000808080806105446001600160a01b03881687610f3c565b939b929a50909850965090945092505050565b60008061056f6001600160a01b038716868686610fd8565b9150915094509492505050565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b60648201526060906084015b60405180910390fd5b6104ba6001600160a01b03851684848461107d565b606080806106106001600160a01b03861685611108565b9250925092509250925092565b61049d6001600160a01b038616858585856111a1565b6104ba6001600160a01b03851684848461122e565b60008080806106616001600160a01b0388168787611258565b935093509350935093509350935093565b61049d6001600160a01b038616858585856112fe565b60405162461bcd60e51b815260206004820152603160248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201527019595b595b9d0815195c9b5a5b985d1959607a1b60648201526060906084016105db565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b60648201526060906084016105db565b6104ba6001600160a01b03851684848461134c565b6104d56001600160a01b0384168383611399565b6104d56001600160a01b03841683836113c0565b6104d56001600160a01b03841683836113df565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b60648201526060906084016105db565b6104ba6001600160a01b0385168484846113fe565b6104ba6001600160a01b03851684848461141f565b600080808061084c6001600160a01b038916888888611440565b929b919a509850909650945050505050565b6104d56001600160a01b03841683836114ef565b6108856001600160a01b0383168261150e565b505050565b6104ba6001600160a01b038516848484611532565b60008060006108ad886115bd565b91509150816001600160a01b03166339255d5b82836001600160a01b031663acafa1b88c8c8c8c60006001600160401b038111156108ed576108ed611ecc565b6040519080825280601f01601f191660200182016040528015610917576020820181803683370190505b5060405160240161092c959493929190612761565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526109779392509089906004016127ac565b6000604051808303816000875af1158015610996573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109be9190810190612831565b50600198975050505050505050565b60008060006109db876115bd565b91509150816001600160a01b03166339255d5b82836001600160a01b0316636041ae968b8b8b60006001600160401b03811115610a1a57610a1a611ecc565b6040519080825280601f01601f191660200182016040528015610a44576020820181803683370190505b50604051602401610a589493929190612865565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610aa39392509089906004016127ac565b6000604051808303816000875af1158015610ac2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610aea9190810190612831565b506001979650505050505050565b6000806000610b06866115bd565b91509150816001600160a01b03166339255d5b82836001600160a01b031663d787840a8a8a60006001600160401b03811115610b4457610b44611ecc565b6040519080825280601f01601f191660200182016040528015610b6e576020820181803683370190505b50604051602401610b819392919061289d565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610bcc9392509089906004016127ac565b6000604051808303816000875af1158015610beb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c139190810190612831565b5060019695505050505050565b60008054604051631fb6491d60e11b8152606092916001600160a01b031690633f6c923a90610c53908690600401612276565b600060405180830381865afa158015610c70573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c989190810190612906565b60a001519050600080600080600085806020019051810190610cba9190612a0c565b93985091965094509250905060ff8516610cef57610ce26001600160a01b038a16858a611784565b9650505050505050610f36565b60001960ff861601610d0f57610ce26001600160a01b038a16858a611784565b60011960ff861601610d3057610ce26001600160a01b038a1685838b6118aa565b60021960ff861601610d5157610ce26001600160a01b038a1685838b6118aa565b60031960ff861601610d7b57610ce26001600160a01b038a16856001600160801b0384168b6119d3565b60041960ff861601610da557610ce26001600160a01b038a16856001600160801b0384168b6119d3565b60051960ff861601610dc657610ce26001600160a01b038a1684868b611a5e565b60061960ff861601610de757610ce26001600160a01b038a1684868b611a5e565b60071960ff861601610e0857610ce26001600160a01b038a1684868b611ae9565b60081960ff861601610e2957610ce26001600160a01b038a1684868b611ae9565b60091960ff861601610e4b57610ce26001600160a01b038a168584848c611b36565b600a1960ff861601610e6d57610ce26001600160a01b038a168584848c611b36565b600b1960ff861601610e8f57610ce26001600160a01b038a168486858c611c62565b600c1960ff861601610eb157610ce26001600160a01b038a168486858c611c62565b600d1960ff861601610ed357610ce26001600160a01b038a168486858c611cef565b600e1960ff861601610ef557610ce26001600160a01b038a168486858c611cef565b60405162461bcd60e51b81526020600482015260166024820152750d2dcecc2d8d2c840cceadcc6e8d2dedc40d2dcc8caf60531b60448201526064016105db565b92915050565b600080600080600080610f4e88611d3d565b60405163cd7245c560e01b81526001600160a01b038b81166004830152602482018b9052919350908316915063cd7245c59060440160a060405180830381865afa158015610fa0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc49190612a8e565b939c929b5090995097509095509350505050565b6000806000610fe687611d3d565b604051632266eabb60e21b81526001600160a01b038a81166004830152898116602483015263ffffffff8916604483015260648201889052919350908316915063899baaec906084016040805180830381865afa15801561104b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106f9190612af5565b925092505094509492505050565b600080600061108b876115bd565b91509150816001600160a01b03166339255d5b82836001600160a01b0316637fbc76398b8b8b60006001600160401b038111156110ca576110ca611ecc565b6040519080825280601f01601f1916602001820160405280156110f4576020820181803683370190505b50604051602401610a589493929190612b1a565b6060806060600061111886611d3d565b6040516316db59b760e31b81526001600160a01b0389811660048301528881166024830152919350908316915063b6dacdb890604401600060405180830381865afa15801561116b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111939190810190612c44565b935093509350509250925092565b60008060006111af886115bd565b91509150816001600160a01b03166339255d5b82836001600160a01b031663232d2b588c8c8c8c60006001600160401b038111156111ef576111ef611ecc565b6040519080825280601f01601f191660200182016040528015611219576020820181803683370190505b5060405160240161092c959493929190612d22565b6040805160008082526020820190925261124f9086908690869086906112fe565b95945050505050565b600080600080600061126988611d3d565b6040516323fc23f360e01b81526001600160a01b038b811660048301528a8116602483015263ffffffff8a16604483015291935090831691506323fc23f390606401608060405180830381865afa1580156112c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ec9190612d69565b94509450945094505093509350935093565b600080600061130c886115bd565b91509150816001600160a01b03166339255d5b82836001600160a01b0316632e5e74c68c8c8c8c60006001600160401b038111156108ed576108ed611ecc565b600080600061135a876115bd565b91509150816001600160a01b03166339255d5b82836001600160a01b031663acf4a6c28b8b8b60006001600160401b03811115610a1a57610a1a611ecc565b604080516000808252602082019092526113b89085908590859061134c565b949350505050565b604080516000808252602082019092526113b890859085908590611532565b604080516000808252602082019092526113b89085908590859061107d565b6040805160008082526020820190925261124f9086908690869086906111a1565b6040805160008082526020820190925261124f90869086908690869061089f565b600080600080600061145189611d3d565b604051635b53405160e01b81526001600160a01b038c811660048301528b8116602483015263ffffffff8b16604483015289811660648301529193509083169150635b53405190608401608060405180830381865afa1580156114b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114dc9190612dba565b929c919b50995090975095505050505050565b604080516000808252602082019092526113b8908590859085906109cd565b6040805160008082526020820190925261152b9084908490610af8565b9392505050565b6000806000611540876115bd565b91509150816001600160a01b03166339255d5b82836001600160a01b031663b96731c28b8b8b60006001600160401b0381111561157f5761157f611ecc565b6040519080825280601f01601f1916602001820160405280156115a9576020820181803683370190505b50604051602401610a589493929190612e07565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fa832ee1924ea960211af2df07d65d166232018f613ac6708043cd8f8773eddeb546001600160a01b038116611753576001600160a01b03821661168257826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa15801561165b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167f9190612e3a565b91505b604051635b69006f60e11b81527f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a67460048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa1580156116e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170a9190612e3a565b9050817f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea83755807fa832ee1924ea960211af2df07d65d166232018f613ac6708043cd8f8773eddeb555b6001600160a01b03821661176957611769612e57565b6001600160a01b03811661177f5761177f612e57565b915091565b6060600080611792866115bd565b91509150816001600160a01b0316634329d29382836001600160a01b031663d787840a8a8a60006001600160401b038111156117d0576117d0611ecc565b6040519080825280601f01601f1916602001820160405280156117fa576020820181803683370190505b5060405160240161180d9392919061289d565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252611858939250908990600401612e6d565b6000604051808303816000875af1158015611877573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261189f9190810190612ec0565b509695505050505050565b60606000806118b8876115bd565b91509150816001600160a01b0316634329d29382836001600160a01b0316637fbc76398b8b8b60006001600160401b038111156118f7576118f7611ecc565b6040519080825280601f01601f191660200182016040528015611921576020820181803683370190505b506040516024016119359493929190612b1a565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252611980939250908990600401612e6d565b6000604051808303816000875af115801561199f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119c79190810190612ec0565b50979650505050505050565b60606000806119e1876115bd565b91509150816001600160a01b0316634329d29382836001600160a01b031663b96731c28b8b8b60006001600160401b03811115611a2057611a20611ecc565b6040519080825280601f01601f191660200182016040528015611a4a576020820181803683370190505b506040516024016119359493929190612e07565b6060600080611a6c876115bd565b91509150816001600160a01b0316634329d29382836001600160a01b031663acf4a6c28b8b8b60006001600160401b03811115611aab57611aab611ecc565b6040519080825280601f01601f191660200182016040528015611ad5576020820181803683370190505b506040516024016119359493929190612865565b6060600080611af7876115bd565b91509150816001600160a01b0316634329d29382836001600160a01b0316636041ae968b8b8b60006001600160401b03811115611aab57611aab611ecc565b6060600080611b44886115bd565b91509150816001600160a01b0316634329d29382836001600160a01b031663232d2b588c8c8c8c60006001600160401b03811115611b8457611b84611ecc565b6040519080825280601f01601f191660200182016040528015611bae576020820181803683370190505b50604051602401611bc3959493929190612d22565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252611c0e939250908990600401612e6d565b6000604051808303816000875af1158015611c2d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c559190810190612ec0565b5098975050505050505050565b6060600080611c70886115bd565b91509150816001600160a01b0316634329d29382836001600160a01b0316632e5e74c68c8c8c8c60006001600160401b03811115611cb057611cb0611ecc565b6040519080825280601f01601f191660200182016040528015611cda576020820181803683370190505b50604051602401611bc3959493929190612761565b6060600080611cfd886115bd565b91509150816001600160a01b0316634329d29382836001600160a01b031663acafa1b88c8c8c8c60006001600160401b03811115611cb057611cb0611ecc565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fa832ee1924ea960211af2df07d65d166232018f613ac6708043cd8f8773eddeb546001600160a01b038116611753576001600160a01b038216611e0257826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ddb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dff9190612e3a565b91505b604051635b69006f60e11b81527f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a67460048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015611e66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e8a9190612e3a565b90506001600160a01b03821661176957611769612e57565b6001600160a01b0381168114611eb757600080fd5b50565b63ffffffff81168114611eb757600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715611f0557611f05611ecc565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611f3357611f33611ecc565b604052919050565b60006001600160401b03821115611f5457611f54611ecc565b50601f01601f191660200190565b600082601f830112611f7357600080fd5b8135611f86611f8182611f3b565b611f0b565b818152846020838601011115611f9b57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611fd057600080fd5b8535611fdb81611ea2565b94506020860135611feb81611ea2565b93506040860135611ffb81611eba565b9250606086013561200b81611ea2565b915060808601356001600160401b0381111561202657600080fd5b61203288828901611f62565b9150509295509295909350565b6000806000806080858703121561205557600080fd5b843561206081611ea2565b9350602085013561207081611ea2565b9250604085013561208081611eba565b915060608501356001600160401b0381111561209b57600080fd5b6120a787828801611f62565b91505092959194509250565b6000806000606084860312156120c857600080fd5b83356120d381611ea2565b925060208401356120e381611eba565b915060408401356001600160401b038111156120fe57600080fd5b61210a86828701611f62565b9150509250925092565b60008083601f84011261212657600080fd5b5081356001600160401b0381111561213d57600080fd5b60208301915083602082850101111561215557600080fd5b9250929050565b600080600080600080600080600060c08a8c03121561217a57600080fd5b893561218581611ea2565b985060208a013561219581611ea2565b975060408a0135965060608a01356001600160401b03808211156121b857600080fd5b6121c48d838e01612114565b909850965060808c01359150808211156121dd57600080fd5b6121e98d838e01612114565b909650945060a08c013591508082111561220257600080fd5b5061220f8c828d01612114565b915080935050809150509295985092959850929598565b60005b83811015612241578181015183820152602001612229565b50506000910152565b60008151808452612262816020860160208601612226565b601f01601f19169290920160200192915050565b60208152600061152b602083018461224a565b6000806040838503121561229c57600080fd5b82356122a781611ea2565b946020939093013593505050565b600080600080608085870312156122cb57600080fd5b84356122d681611ea2565b935060208501356122e681611ea2565b925060408501356122f681611eba565b9396929550929360600135925050565b600080600080600080600060a0888a03121561232157600080fd5b873561232c81611ea2565b9650602088013561233c81611ea2565b95506040880135945060608801356001600160401b038082111561235f57600080fd5b61236b8b838c01612114565b909650945060808a013591508082111561238457600080fd5b506123918a828b01612114565b989b979a50959850939692959293505050565b6001600160801b0381168114611eb757600080fd5b600080600080608085870312156123cf57600080fd5b84356123da81611ea2565b935060208501356123ea81611eba565b92506040850135612080816123a4565b6000806040838503121561240d57600080fd5b823561241881611ea2565b9150602083013561242881611ea2565b809150509250929050565b600081518084526020808501945080840160005b8381101561246c5781516001600160801b031687529582019590820190600101612447565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b828110156124b95781516001600160a01b031684529284019290840190600101612494565b5050508381038285015285518082528683019183019060005b818110156124f457835163ffffffff16835292840192918401916001016124d2565b505084810360408601526125088187612433565b98975050505050505050565b600080600080600060a0868803121561252c57600080fd5b853561253781611ea2565b9450602086013561254781611eba565b9350604086013561255781611ea2565b9250606086013561200b816123a4565b6000806000806080858703121561257d57600080fd5b843561258881611ea2565b9350602085013561259881611ea2565b925060408501356125a881611eba565b915060608501356125b881611ea2565b939692955090935050565b6000806000606084860312156125d857600080fd5b83356125e381611ea2565b925060208401356125f381611ea2565b9150604084013561260381611eba565b809150509250925092565b60008060006060848603121561262357600080fd5b833561262e81611ea2565b9250602084013561263e81611eba565b929592945050506040919091013590565b60008060006060848603121561266457600080fd5b833561266f81611ea2565b9250602084013561267f81611eba565b91506040840135612603816123a4565b600080600080608085870312156126a557600080fd5b84356126b081611ea2565b935060208501356126c081611eba565b925060408501356126d081611ea2565b915060608501356125b8816123a4565b600080604083850312156126f357600080fd5b82356126fe81611ea2565b9150602083013561242881611eba565b6000806000806080858703121561272457600080fd5b843561272f81611ea2565b9350602085013561273f81611eba565b92506040850135915060608501356001600160401b0381111561209b57600080fd5b6001600160a01b038681168252858116602083015263ffffffff851660408301528316606082015260a0608082018190526000906127a19083018461224a565b979650505050505050565b6001600160a01b03841681526060602082018190526000906127d09083018561224a565b82810360408401526127e2818561224a565b9695505050505050565b600082601f8301126127fd57600080fd5b815161280b611f8182611f3b565b81815284602083860101111561282057600080fd5b6113b8826020830160208701612226565b60006020828403121561284357600080fd5b81516001600160401b0381111561285957600080fd5b6113b8848285016127ec565b6001600160a01b0385811682528416602082015263ffffffff831660408201526080606082018190526000906127e29083018461224a565b6001600160a01b038416815263ffffffff8316602082015260606040820181905260009061124f9083018461224a565b805160ff811681146128de57600080fd5b919050565b80516128de81611ea2565b80516001600160e01b0319811681146128de57600080fd5b60006020828403121561291857600080fd5b81516001600160401b038082111561292f57600080fd5b90830190610160828603121561294457600080fd5b61294c611ee2565b612955836128cd565b8152612963602084016128cd565b60208201526040830151604082015261297e606084016128e3565b606082015261298f608084016128ee565b608082015260a0830151828111156129a657600080fd5b6129b2878286016127ec565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506129e98284016128e3565b8282015261014091506129fd8284016128e3565b91810191909152949350505050565b600080600080600060a08688031215612a2457600080fd5b612a2d866128cd565b94506020860151612a3d81611eba565b6040870151909450612a4e81611ea2565b6060870151909350612a5f81611ea2565b6080870151909250612a70816123a4565b809150509295509295909350565b805180151581146128de57600080fd5b600080600080600060a08688031215612aa657600080fd5b8551612ab181611ea2565b6020870151909550612ac281611eba565b9350612ad060408701612a7e565b92506060860151612ae0816123a4565b80925050608086015190509295509295909350565b60008060408385031215612b0857600080fd5b825191506020830151612428816123a4565b6001600160a01b038516815263ffffffff841660208201526001600160801b03831660408201526080606082018190526000906127e29083018461224a565b60006001600160401b03821115612b7257612b72611ecc565b5060051b60200190565b600082601f830112612b8d57600080fd5b81516020612b9d611f8183612b59565b82815260059290921b84018101918181019086841115612bbc57600080fd5b8286015b8481101561189f578051612bd381611eba565b8352918301918301612bc0565b600082601f830112612bf157600080fd5b81516020612c01611f8183612b59565b82815260059290921b84018101918181019086841115612c2057600080fd5b8286015b8481101561189f578051612c37816123a4565b8352918301918301612c24565b600080600060608486031215612c5957600080fd5b83516001600160401b0380821115612c7057600080fd5b818601915086601f830112612c8457600080fd5b81516020612c94611f8183612b59565b82815260059290921b8401810191818101908a841115612cb357600080fd5b948201945b83861015612cda578551612ccb81611ea2565b82529482019490820190612cb8565b91890151919750909350505080821115612cf357600080fd5b612cff87838801612b7c565b93506040860151915080821115612d1557600080fd5b5061210a86828701612be0565b6001600160a01b03868116825263ffffffff86166020830152841660408201526001600160801b038316606082015260a0608082018190526000906127a19083018461224a565b60008060008060808587031215612d7f57600080fd5b612d8885612a7e565b93506020850151612d98816123a4565b6040860151909350612da9816123a4565b60608601519092506125b8816123a4565b60008060008060808587031215612dd057600080fd5b612dd985612a7e565b9350612de760208601612a7e565b92506040850151612df7816123a4565b6060959095015193969295505050565b60018060a01b038516815263ffffffff841660208201528260408201526080606082015260006127e2608083018461224a565b600060208284031215612e4c57600080fd5b815161152b81611ea2565b634e487b7160e01b600052600160045260246000fd5b6001600160a01b0384168152608060208201819052600090612e919083018561224a565b8281038060408501526002825261060f60f31b6020830152604081016060850152506127e2604082018561224a565b60008060408385031215612ed357600080fd5b82516001600160401b0380821115612eea57600080fd5b612ef6868387016127ec565b93506020850151915080821115612f0c57600080fd5b50612f19858286016127ec565b915050925092905056fea26469706673582212205b22222c3b55fb6e8c0a659eeee1bedb3fb2d71c1ac1c346e2a282556384ef3e64736f6c63430008130033",vW=eb=>eb.length>1;class vZ extends uw.lV{constructor(...eb){vW(eb)?super(...eb):super(vq,v$,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(vq)}static connect(eb,em){return new uw.CH(eb,vq,em)}}vZ.bytecode=v$,vZ.abi=vq;let vG=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"uint256",name:"w",type:"uint256"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFTProxy",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFTProxy",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER",type:"error"},{inputs:[],name:"SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED",type:"error"},{inputs:[],name:"SUPER_TOKEN_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_NFT_PROXY_ADDRESS_CHANGED",type:"error"},{inputs:[],name:"SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_NO_UNDERLYING_TOKEN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_ADMIN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_GOV_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_SELF",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAdmin",type:"address"},{indexed:!0,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"AuthorizedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Burned",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],name:"ConstantInflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],name:"ConstantOutflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Minted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"RevokedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Sent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenDowngraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approveInternal",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"authorizeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"changeAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultOperators",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAdmin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingDecimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"granularity",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"initializeWithAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"tokenHolder",type:"address"}],name:"isOperatorFor",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"mintInternal",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationApprove",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"operationDecreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationDowngrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"operationIncreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"operationSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationUpgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"revokeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"send",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"operators",type:"address[]"}],name:"setupDefaultOperators",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"toUnderlyingAmount",outputs:[{internalType:"uint256",name:"underlyingAmount",type:"uint256"},{internalType:"uint256",name:"adjustedAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"}],name:"transferAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferInternal",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"upgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"waterMark",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],vK="0x6101006040523480156200001257600080fd5b50604051620052e7380380620052e78339810160408190526200003591620000e1565b6001600160a01b0380851660805280831660a081905290821660c052604051859184918491907fcf554eb342edf010a94e07701ae91e99e90b769f649f03aeb1153654ddd43c0190600090a26040516001600160a01b038216907f8837af285f4d380af9227df9ebafa13d992b487fa6d7a4366bd4154576085b8990600090a250505060e092909252506200013d915050565b6001600160a01b0381168114620000de57600080fd5b50565b60008060008060808587031215620000f857600080fd5b84516200010581620000c8565b6020860151604087015191955093506200011f81620000c8565b60608601519092506200013281620000c8565b939692955090935050565b60805160a05160c05160e0516150dd6200020a600039600061071501526000818161069301526115490152600081816109cc01526114ac0152600081816104e201528181610ca801528181610d1701528181610fcc015281816110fc015281816111cb015281816113eb01528181611599015281816116e6015281816118860152818161196501528181611d6601528181611e3001528181611ec801528181611f3001528181611fb8015281816128800152818161291701528181613ae30152613d2201526150dd6000f3fe608060405234801561001057600080fd5b50600436106104125760003560e01c806366a12fb611610220578063b1f0b5be11610130578063d9d078d6116100b8578063ee719bc811610087578063ee719bc8146109b6578063ef43d2c6146109c7578063fad8b32a146109ee578063fc673c4f14610a01578063fe9d930314610a1457600080fd5b8063d9d078d614610929578063dd62ed3e1461093c578063eb3537cc14610975578063ec0d6343146109a357600080fd5b8063c780fd82116100ff578063c780fd82146108ca578063ca0c1e7f146108dd578063ca789464146108f0578063cf97256d14610903578063d95b63711461091657600080fd5b8063b1f0b5be1461087e578063b84cdd4a14610891578063bb0d196e146108a4578063c68d4283146108b757600080fd5b8063959b8c3f116101b35780639d876741116101825780639d8767411461081f578063a1b2bf8b14610832578063a3a7e7f314610845578063a457c2d714610858578063a9059cbb1461086b57600080fd5b8063959b8c3f146107e957806395d89b41146107fc5780639903ad38146108045780639bd9bbc61461080c57600080fd5b806379359f6f116101ef57806379359f6f1461079e57806383ba2525146107b15780638f283970146107c457806392081a47146107d757600080fd5b806366a12fb61461075d5780636c2d9f2f146107705780636e9960c31461078357806370a082311461078b57600080fd5b8063386fa221116103265780634c5c0c85116102ae57806356189cb41161027d57806356189cb4146106ea5780635b9d09cc146106fd5780636154b1021461071057806362aa52871461073757806362ad1b831461074a57600080fd5b80634c5c0c851461068e57806350d75d25146106b557806352d1902d146106bd578063556f0dc7146106e357600080fd5b806342fe0980116102f557806342fe09801461062257806345977d031461063557806346951954146106485780634b2763b31461065b5780634b61cc331461066e57600080fd5b8063386fa221146105d657806339509351146105e9578063397be931146105fc57806341b706be1461060f57600080fd5b80631863e809116103a9578063245887fc11610378578063245887fc146105405780632704839714610553578063282a050b146105665780632ec8eec71461058e578063313ce567146105c157600080fd5b80631863e809146104cd57806320bc4425146104e0578063222f5be01461051a57806323b872dd1461052d57600080fd5b806311bcc81e116103e557806311bcc81e1461048257806312a6a3f81461049557806316d055d6146104a857806318160ddd146104bb57600080fd5b806306e485381461041757806306fdde0314610435578063090c415e1461044a578063095ea7b31461045f575b600080fd5b61041f610a27565b60405161042c9190613fad565b60405180910390f35b61043d610a38565b60405161042c919061404a565b61045d6104583660046140bd565b610aca565b005b61047261046d366004614118565b610b7d565b604051901515815260200161042c565b61045d610490366004614144565b610b94565b61045d6104a336600461415d565b610bc3565b61045d6104b63660046141a8565b610ca6565b6003545b60405190815260200161042c565b61045d6104db3660046142bc565b610d02565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161042c565b61045d61052836600461434e565b610fa2565b61047261053b36600461434e565b610fb4565b61045d61054e366004614118565b610fca565b61045d61056136600461438f565b611043565b610579610574366004614144565b6110df565b6040805192835260208301919091520161042c565b6105a161059c3660046143b1565b6110f4565b60408051948552602085019390935291830152606082015260800161042c565b60125b60405160ff909116815260200161042c565b61041f6105e43660046143b1565b611197565b6104726105f7366004614118565b61123a565b61045d61060a3660046143f1565b611276565b61045d61061d3660046141a8565b61127f565b61045d6106303660046144db565b6112ab565b61045d610643366004614144565b61138c565b61045d6106563660046143b1565b6113b8565b61045d61066936600461434e565b611597565b61068161067c36600461456d565b611619565b60405161042c91906145b3565b6105027f000000000000000000000000000000000000000000000000000000000000000081565b61050261165e565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb00196104bf565b60016104bf565b61045d6106f836600461434e565b611688565b61045d61070b3660046145eb565b611693565b6104bf7f000000000000000000000000000000000000000000000000000000000000000081565b61045d61074536600461434e565b6116e4565b61045d61075836600461463a565b61172d565b61045d61076b36600461434e565b6117db565b61068161077e3660046146d8565b6117fb565b61050261183d565b6104bf6107993660046143b1565b611855565b6104726107ac3660046143b1565b61187e565b61045d6107bf366004614118565b611906565b61045d6107d23660046143b1565b611932565b600e54600160a01b900460ff166105c4565b61045d6107f73660046143b1565b611a26565b61043d611a77565b61045d611a86565b61045d61081a3660046145eb565b611b48565b61045d61082d36600461470d565b611b9c565b61045d61084036600461415d565b611be2565b61045d6108533660046143b1565b611c8c565b610472610866366004614118565b611ca0565b610472610879366004614118565b611cef565b61045d61088c366004614765565b611cfd565b61047261089f366004614118565b611d0d565b6104726108b23660046143b1565b611d5e565b61045d6108c536600461470d565b611de6565b61045d6108d836600461434e565b611e2e565b61045d6108eb3660046147e4565b611ec6565b61045d6108fe366004614118565b611f2e565b61045d610911366004614118565b611fa3565b610472610924366004614843565b61208c565b610472610937366004614118565b61209a565b6104bf61094a366004614843565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b610988610983366004614118565b6120b4565b6040805193845260208401929092529082015260600161042c565b61045d6109b136600461487c565b6121ee565b600e546001600160a01b0316610502565b6105027f000000000000000000000000000000000000000000000000000000000000000081565b61045d6109fc3660046143b1565b6122c5565b61045d610a0f366004614922565b612316565b61045d610a22366004614969565b6123b7565b6060610a336012612408565b905090565b6060600f8054610a47906149a7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a73906149a7565b8015610ac05780601f10610a9557610100808354040283529160200191610ac0565b820191906000526020600020905b815481529060010190602001808311610aa357829003601f168201915b5050505050905090565b6000338585604051602001610ae1939291906149e1565b604051602081830303815290604052805190602001209050610b368184848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061246e92505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b6000610b8a3384846124af565b5060015b92915050565b610bc033333384604051806020016040528060008152506040518060200160405280600081525061255f565b50565b6040513390600090610bdb9083908790602001614a2a565b60408051601f1981840301815291905280516020909101209050610bff818461271f565b15610c1d5760405163782a90fb60e11b815260040160405180910390fd5b610c5a8185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061246e92505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051610c9793929190614a67565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610cef5760405163c51efddd60e01b815260040160405180910390fd5b610cfb8484848461275b565b5050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610d66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a9190614aa8565b610da75760405163327fd99160e21b815260040160405180910390fd5b6000610db161287b565b90506001600160a01b038116610dc45750845b600085610dd15786610dd3565b815b905060008313610e7057610de683614adb565b610def856129c0565b14610dfc57610dfc614af7565b610e05846129c0565b6001600160a01b03821660009081526002602052604081208054909190610e2d908490614b0d565b90915550506001600160a01b03851660009081526002602052604081208054859290610e5a908490614b0d565b90915550610e6b9050858286612a2e565b610f3a565b8515610e7e57610e7e614af7565b82610e88856129c0565b610e929190614b0d565b6001600160a01b03831660009081526002602052604081208054909190610eba908490614b35565b90915550610ec99050846129c0565b6001600160a01b03881660009081526002602052604081208054909190610ef1908490614b0d565b90915550506001600160a01b03851660009081526002602052604081208054859290610f1e908490614b0d565b90915550610f2f9050828886612a2e565b610f3a828685612a2e565b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f604051610f8f959493929190614b55565b60405180910390a4505050505050505050565b610fae8384848461275b565b50505050565b6000610fc23385858561275b565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146110135760405163c51efddd60e01b815260040160405180910390fd5b61103f33838484604051806020016040528060008152506040518060200160405280600081525061255f565b5050565b604051339060009061105b9083908690602001614a2a565b60405160208183030381529060405280519060200120905061107d818461271f565b61109a5760405163dae1880960e01b815260040160405180910390fd5b6110a48184612a61565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b6000806110eb83612a82565b91509150915091565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117c9190614b88565b905061118885826120b4565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa158015611212573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b8e9190810190614ba1565b3360008181526011602090815260408083206001600160a01b03871684529091528120549091610b8a918590611271908690614c2f565b6124af565b610bc081612b3e565b33301461129f57604051630fff4cc960e31b815260040160405180910390fd5b610cfb8385848461275b565b600054610100900460ff16158080156112cb5750600054600160ff909116105b806112e55750303b1580156112e5575060005460ff166001145b61130a5760405162461bcd60e51b815260040161130190614c42565b60405180910390fd5b6000805460ff19166001179055801561132d576000805461ff0019166101001790555b61133d8787878787876000612b49565b8015611383576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610bc0333333846040518060200160405280600081525060405180602001604052806000815250612c11565b60006113d06000805160206150118339815191525490565b905060006001600160a01b038216156113e9578161140b565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b0382161461143657604051630484acab60e01b815260040160405180910390fd5b61143f83612dc4565b826001600160a01b031663ef43d2c66040518163ffffffff1660e01b8152600401602060405180830381865afa15801561147d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a19190614c90565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806115745750826001600160a01b0316634c5c0c856040518163ffffffff1660e01b8152600401602060405180830381865afa15801561151a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153e9190614c90565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614155b156115925760405163ef1b6ddf60e01b815260040160405180910390fd5b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146115e05760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084166000908152601160209081526040808320938616835292905220546115929084908490611271908590614c2f565b60606000858585604051602001611632939291906149e1565b6040516020818303038152906040528051906020012090506116548184612ffe565b9695505050505050565b6000610a337f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6115928383836124af565b610fae3333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612c11915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146116885760405163c51efddd60e01b815260040160405180910390fd5b3361173a6012828a61308d565b6117575760405163f7f0222760e01b815260040160405180910390fd5b6117d18189898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a908190840183828082843760009201919091525060019250613136915050565b5050505050505050565b33301461168857604051630fff4cc960e31b815260040160405180910390fd5b606060008484604051602001611812929190614a2a565b6040516020818303038152906040528051906020012090506118348184612ffe565b95945050505050565b6000610a336000805160206150118339815191525490565b600080611861836110f4565b5050509050600081126118745780611877565b60005b9392505050565b6000610b8e827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109379190614b88565b61103f33338484604051806020016040528060008152506040518060200160405280600081525061255f565b600061194a6000805160206150118339815191525490565b905060006001600160a01b038216156119635781611985565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146119b057604051630484acab60e01b815260040160405180910390fd5b60006119c86000805160206150118339815191525490565b90506119e08460008051602061501183398151915255565b836001600160a01b0316816001600160a01b03167f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f60405160405180910390a350505050565b33611a33601282846131af565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b606060108054610a47906149a7565b600054610100900460ff1615808015611aa65750600054600160ff909116105b80611ac05750303b158015611ac0575060005460ff166001145b611adc5760405162461bcd60e51b815260040161130190614c42565b6000805460ff191660011790558015611aff576000805461ff0019166101001790555b8015610bc0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b610fae3333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250600191506131369050565b333014611bbc57604051630fff4cc960e31b815260040160405180910390fd5b8051604080516000815260208101909152611592913391869186919015159086906132b3565b6040513390600090611bfa9083908790602001614a2a565b604051602081830303815290604052805190602001209050611c4f8185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061246e92505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051610c9793929190614a67565b61103f333383611c9b33611855565b61275b565b6000610b8a3384611271856040518060600160405280602a8152602001615031602a91393360009081526011602090815260408083206001600160a01b038d1684529091529020549190613380565b60006118773333858561275b565b610fae33858560018087876133ac565b600080600080611d1d86866120b4565b9250925092506000611d45828411611d365760006129c0565b611d408385614cad565b6129c0565b611d4f9085614b0d565b60001315979650505050505050565b6000610b8e827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dc2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089f9190614b88565b333014611e0657604051630fff4cc960e31b815260040160405180910390fd5b80516040805160008152602081019091526115929133918691869190151590819087906133ac565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611e775760405163c51efddd60e01b815260040160405180910390fd5b6115928383611271846040518060600160405280602a8152602001615031602a91396001600160a01b03808a166000908152601160209081526040808320938c16835292905220549190613380565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611f0f5760405163c51efddd60e01b815260040160405180910390fd5b610fae3385858585604051806020016040528060008152506001613136565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611f775760405163c51efddd60e01b815260040160405180910390fd5b61103f338384846040518060200160405280600081525060405180602001604052806000815250612c11565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015612007573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202b9190614aa8565b6120485760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b03821660009081526002602052604090205461206c908290614b0d565b6001600160a01b0390921660009081526002602052604090209190915550565b60006118776012848461308d565b6000806120a784846120b4565b5050600013949350505050565b6001600160a01b0382166000908152600260205260408120549080806120d986611197565b905060005b81518110156121e55760008060008484815181106120fe576120fe614cc0565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa15801561215d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121819190614cd6565b919450925090506121928288614c2f565b965061219e8187614c2f565b95506121bb8183116121b15760006129c0565b611d408284614cad565b6121c5848a614b0d565b6121cf9190614b35565b9750505050806121de90614d04565b90506120de565b50509250925092565b600054610100900460ff161580801561220e5750600054600160ff909116105b806122285750303b158015612228575060005460ff166001145b6122445760405162461bcd60e51b815260040161130190614c42565b6000805460ff191660011790558015612267576000805461ff0019166101001790555b61227688888888888888612b49565b80156117d1576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050565b336122d26012828461347a565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b336123236012828961308d565b6123405760405163f7f0222760e01b815260040160405180910390fd5b6113838188898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a908190840183828082843760009201919091525061255f92505050565b6115923333338686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040805160208101909152908152925061255f915050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561246257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612444575b50505050509050919050565b60005b815181101561159257600082828151811061248e5761248e614cc0565b60200260200101519050808285015550806124a890614d04565b9050612471565b6001600160a01b0383166124d657604051638163862760e01b815260040160405180910390fd5b6001600160a01b0382166124fd576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600e546001600160a01b031661258857604051637bce7b2b60e11b815260040160405180910390fd5b60008061259485612a82565b915091506125ab88888387516000141588886132b3565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156125f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126189190614b88565b600e54909150612632906001600160a01b03168885613572565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa15801561267b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269f9190614b88565b905060006126ad8284614cad565b90508085146126cf57604051631c7c26d360e31b815260040160405180910390fd5b896001600160a01b03167f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d8560405161270a91815260200190565b60405180910390a25050505050505050505050565b6000805b828110156127515783810154801561274057600192505050610b8e565b5061274a81614d04565b9050612723565b5060009392505050565b60006001600160a01b0384166127845760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0383166127ab5760405163e219bd3960e01b815260040160405180910390fd5b60003390506127dc8186868660405180602001604052806000815250604051806020016040528060008152506135d5565b846001600160a01b0316866001600160a01b03161461286f5761286f8587611271866040518060600160405280602d815260200161507b602d9139601160008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b03168152602001908152602001600020546133809092919063ffffffff16565b50600195945050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129009190614c90565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa158015612996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ba9190614c90565b91505090565b60006001600160ff1b03821115612a2a5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401611301565b5090565b816001600160a01b0316836001600160a01b031660008051602061505b8339815191528360405161255291815260200190565b60005b8181101561159257600083820155612a7b81614d04565b9050612a64565b600e54600090819081906012600160a01b90910460ff161015612ae157600e54612ab790600160a01b900460ff166012614d1d565b612ac290600a614e1a565b9050612ace8185614e29565b9250612ada8184614e4b565b9150612b38565b600e546012600160a01b90910460ff161115612b3157600e54612b1090601290600160a01b900460ff16614d1d565b612b1b90600a614e1a565b9050612b278185614e4b565b9250839150612b38565b8391508192505b50915091565b610bc0601282613674565b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f612b7e858783614eb0565b506010612b8c838583614eb0565b50612ba38160008051602061501183398151915255565b612bac306136fe565b604051600080825290819060008051602061505b8339815191529060200160405180910390a36040516001600160a01b038216906000907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a350505050505050565b600e546001600160a01b0316612c3a57604051637bce7b2b60e11b815260040160405180910390fd5b600080612c4685612a82565b600e546040516370a0823160e01b81523060048201529294509092506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015612c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbb9190614b88565b600e54909150612cd6906001600160a01b031689308661382c565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612d1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d439190614b88565b90506000612d518383614cad565b9050808514612d7357604051631c7c26d360e31b815260040160405180910390fd5b8651612d89908c908b9087901515808c8c6133ac565b886001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df8560405161270a91815260200190565b6000612dee7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603612e445760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611301565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ea69190614b88565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001914612f205760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611301565b6001600160a01b0381163003612f785760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611301565b612fa0817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019604080519182526001600160a01b038416602083015201611b3d565b6060816001600160401b03811115613018576130186141f9565b604051908082528060200260200182016040528015613041578160200160208202803683370190505b50905060005b828110156130865760008185015490508083838151811061306a5761306a614cc0565b60209081029190910101525061307f81614d04565b9050613047565b5092915050565b6000816001600160a01b0316836001600160a01b031614806130fc57506001600160a01b038316600090815260018501602052604090205460ff1680156130fc57506001600160a01b03808316600090815260038601602090815260408083209387168352929052205460ff16155b80610fc257506001600160a01b03808316600090815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b03861661315d5760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0385166131845760405163e219bd3960e01b815260040160405180910390fd5b613192878787878787613864565b6131a08787878787876135d5565b6113838787878787878761398b565b806001600160a01b0316826001600160a01b0316036132265760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b6064820152608401611301565b6001600160a01b038116600090815260018401602052604090205460ff161561327c576001600160a01b03918216600090815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b0380831660009081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b0385166132da57604051632e8aac6160e21b815260040160405180910390fd5b82156132ef576132ef86866000878686613864565b6132f98585613adb565b846001600160a01b0316866001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a409886858560405161334093929190614f6f565b60405180910390a36040518481526000906001600160a01b0387169060008051602061505b833981519152906020015b60405180910390a3505050505050565b600081848411156133a45760405162461bcd60e51b8152600401611301919061404a565b505050900390565b6001600160a01b0386166133d357604051630d24315760e01b815260040160405180910390fd5b6133dd8686613beb565b83156133f3576133f3876000888886868961398b565b856001600160a01b0316876001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d87858560405161343a93929190614f6f565b60405180910390a36040518581526001600160a01b0387169060009060008051602061505b8339815191529060200160405180910390a350505050505050565b336001600160a01b038216036134e55760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b6064820152608401611301565b6001600160a01b038116600090815260018401602052604090205460ff161561353f576001600160a01b0380831660009081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03918216600090815260029390930160209081526040808520929093168452529020805460ff19169055565b6040516001600160a01b03831660248201526044810182905261159290849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613c45565b6135e885856135e3866129c0565b613d1a565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc8261467798786868660405161363993929190614f6f565b60405180910390a4836001600160a01b0316856001600160a01b031660008051602061505b8339815191528560405161337091815260200190565b81541561368357613683614af7565b80516136959083906020840190613f3c565b5060005b81518110156115925760018360010160008484815181106136bc576136bc614cc0565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556136f781614d04565b9050613699565b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b15801561377f57600080fd5b505af1158015613793573d6000803e3d6000fd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b15801561381857600080fd5b505af1158015610cfb573d6000803e3d6000fd5b6040516001600160a01b0380851660248301528316604482015260648101829052610fae9085906323b872dd60e01b9060840161359e565b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe8956024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa1580156138e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139099190614c90565b90506001600160a01b0381161561138357604051633ad5cbc160e11b81526001600160a01b038216906375ab978290613950908a908a908a908a908a908a90600401614f9a565b600060405180830381600087803b15801561396a57600080fd5b505af115801561397e573d6000803e3d6000fd5b5050505050505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015613a0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a309190614c90565b90506001600160a01b03811615613aac576040516223de2960e01b81526001600160a01b038216906223de2990613a75908b908b908b908b908b908b90600401614f9a565b600060405180830381600087803b158015613a8f57600080fd5b505af1158015613aa3573d6000803e3d6000fd5b505050506117d1565b81156117d1576001600160a01b0386163b156117d15760405163fe737d0560e01b815260040160405180910390fd5b6000613b63837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015613b3f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109839190614b88565b50509050613b70826129c0565b811215613b905760405163043b37d160e21b815260040160405180910390fd5b613b99826129c0565b6001600160a01b038416600090815260026020526040902054613bbc9190614b35565b6001600160a01b038416600090815260026020526040902055600354613be3908390614cad565b600355505050565b613bf4816129c0565b6001600160a01b038316600090815260026020526040902054613c179190614b0d565b6001600160a01b038316600090815260026020526040902055600354613c3e908290614c2f565b6003555050565b6000613c9a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613e199092919063ffffffff16565b9050805160001480613cbb575080806020019051810190613cbb9190614aa8565b6115925760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401611301565b6000613d7e847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015613b3f573d6000803e3d6000fd5b5050905081811215613da357604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b038416600090815260026020526040902054613dc7908390614b35565b6001600160a01b038086166000908152600260205260408082209390935590851681522054613df7908390614b0d565b6001600160a01b03909316600090815260026020526040902092909255505050565b6060610fc2848460008585600080866001600160a01b03168587604051613e409190614ff4565b60006040518083038185875af1925050503d8060008114613e7d576040519150601f19603f3d011682016040523d82523d6000602084013e613e82565b606091505b5091509150613e9387838387613e9e565b979650505050505050565b60608315613f0d578251600003613f06576001600160a01b0385163b613f065760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611301565b5081610fc2565b610fc28383815115613f225781518083602001fd5b8060405162461bcd60e51b8152600401611301919061404a565b828054828255906000526020600020908101928215613f91579160200282015b82811115613f9157825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613f5c565b50612a2a9291505b80821115612a2a5760008155600101613f99565b6020808252825182820181905260009190848201906040850190845b81811015613fee5783516001600160a01b031683529284019291840191600101613fc9565b50909695505050505050565b60005b83811015614015578181015183820152602001613ffd565b50506000910152565b60008151808452614036816020860160208601613ffa565b601f01601f19169290920160200192915050565b602081526000611877602083018461401e565b6001600160a01b0381168114610bc057600080fd5b60008083601f84011261408457600080fd5b5081356001600160401b0381111561409b57600080fd5b6020830191508360208260051b85010111156140b657600080fd5b9250929050565b600080600080606085870312156140d357600080fd5b84356140de8161405d565b93506020850135925060408501356001600160401b0381111561410057600080fd5b61410c87828801614072565b95989497509550505050565b6000806040838503121561412b57600080fd5b82356141368161405d565b946020939093013593505050565b60006020828403121561415657600080fd5b5035919050565b60008060006040848603121561417257600080fd5b8335925060208401356001600160401b0381111561418f57600080fd5b61419b86828701614072565b9497909650939450505050565b600080600080608085870312156141be57600080fd5b84356141c98161405d565b935060208501356141d98161405d565b925060408501356141e98161405d565b9396929550929360600135925050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614237576142376141f9565b604052919050565b600082601f83011261425057600080fd5b81356001600160401b03811115614269576142696141f9565b61427c601f8201601f191660200161420f565b81815284602083860101111561429157600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114610bc057600080fd5b600080600080600080600060e0888a0312156142d757600080fd5b8735965060208801356001600160401b038111156142f457600080fd5b6143008a828b0161423f565b96505060408801356143118161405d565b94506060880135614321816142ae565b935060808801356143318161405d565b9699959850939692959460a0840135945060c09093013592915050565b60008060006060848603121561436357600080fd5b833561436e8161405d565b9250602084013561437e8161405d565b929592945050506040919091013590565b600080604083850312156143a257600080fd5b50508035926020909101359150565b6000602082840312156143c357600080fd5b81356118778161405d565b60006001600160401b038211156143e7576143e76141f9565b5060051b60200190565b6000602080838503121561440457600080fd5b82356001600160401b0381111561441a57600080fd5b8301601f8101851361442b57600080fd5b803561443e614439826143ce565b61420f565b81815260059190911b8201830190838101908783111561445d57600080fd5b928401925b82841015613e935783356144758161405d565b82529284019290840190614462565b803560ff8116811461449557600080fd5b919050565b60008083601f8401126144ac57600080fd5b5081356001600160401b038111156144c357600080fd5b6020830191508360208285010111156140b657600080fd5b600080600080600080608087890312156144f457600080fd5b86356144ff8161405d565b955061450d60208801614484565b945060408701356001600160401b038082111561452957600080fd5b6145358a838b0161449a565b9096509450606089013591508082111561454e57600080fd5b5061455b89828a0161449a565b979a9699509497509295939492505050565b6000806000806080858703121561458357600080fd5b843561458e8161405d565b9350602085013561459e8161405d565b93969395505050506040820135916060013590565b6020808252825182820181905260009190848201906040850190845b81811015613fee578351835292840192918401916001016145cf565b6000806000806060858703121561460157600080fd5b843561460c8161405d565b93506020850135925060408501356001600160401b0381111561462e57600080fd5b61410c8782880161449a565b600080600080600080600060a0888a03121561465557600080fd5b87356146608161405d565b965060208801356146708161405d565b95506040880135945060608801356001600160401b038082111561469357600080fd5b61469f8b838c0161449a565b909650945060808a01359150808211156146b857600080fd5b506146c58a828b0161449a565b989b979a50959850939692959293505050565b6000806000606084860312156146ed57600080fd5b83356146f88161405d565b95602085013595506040909401359392505050565b60008060006060848603121561472257600080fd5b833561472d8161405d565b92506020840135915060408401356001600160401b0381111561474f57600080fd5b61475b8682870161423f565b9150509250925092565b6000806000806080858703121561477b57600080fd5b84356147868161405d565b93506020850135925060408501356001600160401b03808211156147a957600080fd5b6147b58883890161423f565b935060608701359150808211156147cb57600080fd5b506147d88782880161423f565b91505092959194509250565b600080600080608085870312156147fa57600080fd5b84356148058161405d565b935060208501356148158161405d565b92506040850135915060608501356001600160401b0381111561483757600080fd5b6147d88782880161423f565b6000806040838503121561485657600080fd5b82356148618161405d565b915060208301356148718161405d565b809150509250929050565b600080600080600080600060a0888a03121561489757600080fd5b87356148a28161405d565b96506148b060208901614484565b955060408801356001600160401b03808211156148cc57600080fd5b6148d88b838c0161449a565b909750955060608a01359150808211156148f157600080fd5b506148fe8a828b0161449a565b90945092505060808801356149128161405d565b8091505092959891949750929550565b6000806000806000806080878903121561493b57600080fd5b86356149468161405d565b95506020870135945060408701356001600160401b038082111561452957600080fd5b60008060006040848603121561497e57600080fd5b8335925060208401356001600160401b0381111561499b57600080fd5b61419b8682870161449a565b600181811c908216806149bb57607f821691505b6020821081036149db57634e487b7160e01b600052602260045260246000fd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b03831115614a8e57600080fd5b8260051b8085606085013791909101606001949350505050565b600060208284031215614aba57600080fd5b8151611877816142ae565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b8201614af057614af0614ac5565b5060000390565b634e487b7160e01b600052600160045260246000fd5b8082018281126000831280158216821582161715614b2d57614b2d614ac5565b505092915050565b818103600083128015838313168383128216171561308657613086614ac5565b85815260018060a01b038516602082015283604082015282606082015260a060808201526000613e9360a083018461401e565b600060208284031215614b9a57600080fd5b5051919050565b60006020808385031215614bb457600080fd5b82516001600160401b03811115614bca57600080fd5b8301601f81018513614bdb57600080fd5b8051614be9614439826143ce565b81815260059190911b82018301908381019087831115614c0857600080fd5b928401925b82841015613e93578351614c208161405d565b82529284019290840190614c0d565b80820180821115610b8e57610b8e614ac5565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600060208284031215614ca257600080fd5b81516118778161405d565b81810381811115610b8e57610b8e614ac5565b634e487b7160e01b600052603260045260246000fd5b600080600060608486031215614ceb57600080fd5b8351925060208401519150604084015190509250925092565b600060018201614d1657614d16614ac5565b5060010190565b60ff8281168282160390811115610b8e57610b8e614ac5565b600181815b80851115614d71578160001904821115614d5757614d57614ac5565b80851615614d6457918102915b93841c9390800290614d3b565b509250929050565b600082614d8857506001610b8e565b81614d9557506000610b8e565b8160018114614dab5760028114614db557614dd1565b6001915050610b8e565b60ff841115614dc657614dc6614ac5565b50506001821b610b8e565b5060208310610133831016604e8410600b8410161715614df4575081810a610b8e565b614dfe8383614d36565b8060001904821115614e1257614e12614ac5565b029392505050565b600061187760ff841683614d79565b600082614e4657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610b8e57610b8e614ac5565b601f82111561159257600081815260208120601f850160051c81016020861015614e895750805b601f850160051c820191505b81811015614ea857828155600101614e95565b505050505050565b6001600160401b03831115614ec757614ec76141f9565b614edb83614ed583546149a7565b83614e62565b6000601f841160018114614f0f5760008515614ef75750838201355b600019600387901b1c1916600186901b178355610cfb565b600083815260209020601f19861690835b82811015614f405786850135825560209485019460019092019101614f20565b5086821015614f5d5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152606060208201526000614f88606083018561401e565b8281036040840152611654818561401e565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c060808201819052600090614fd59083018561401e565b82810360a0840152614fe7818561401e565b9998505050505050505050565b60008251615006818460208701613ffa565b919091019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e4531ce90c07f64fb538b191d41db41073ad2ad145dfda6b10584c6e2848d03964736f6c63430008130033",vJ=eb=>eb.length>1;class vQ extends uw.lV{constructor(...eb){vJ(eb)?super(...eb):super(vG,vK,eb[0])}deploy(eb,em,eH,eV,ew){return super.deploy(eb,em,eH,eV,ew||{})}getDeployTransaction(eb,em,eH,eV,ew){return super.getDeployTransaction(eb,em,eH,eV,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(vG)}static connect(eb,em){return new uw.CH(eb,vG,em)}}vQ.bytecode=vK,vQ.abi=vG;let v6=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFTProxy",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFTProxy",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER",type:"error"},{inputs:[],name:"SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED",type:"error"},{inputs:[],name:"SUPER_TOKEN_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_NFT_PROXY_ADDRESS_CHANGED",type:"error"},{inputs:[],name:"SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_NO_UNDERLYING_TOKEN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_ADMIN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_GOV_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_SELF",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAdmin",type:"address"},{indexed:!0,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"AuthorizedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Burned",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],name:"ConstantInflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],name:"ConstantOutflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Minted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"RevokedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Sent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenDowngraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"authorizeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"changeAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultOperators",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAdmin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastSuperTokenStorageSlot",outputs:[{internalType:"uint256",name:"slot",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getUnderlyingDecimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"granularity",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"initializeWithAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"tokenHolder",type:"address"}],name:"isOperatorFor",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationApprove",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"operationDecreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationDowngrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"operationIncreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"operationSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationUpgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"revokeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"send",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"toUnderlyingAmount",outputs:[{internalType:"uint256",name:"underlyingAmount",type:"uint256"},{internalType:"uint256",name:"adjustedAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"}],name:"transferAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"upgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"validateStorageLayout",outputs:[],stateMutability:"pure",type:"function"}],v5="0x60e06040523480156200001157600080fd5b506040516200500f3803806200500f8339810160408190526200003491620000d9565b6001600160a01b0380841660805280831660a081905290821660c052604051849184918491907fcf554eb342edf010a94e07701ae91e99e90b769f649f03aeb1153654ddd43c0190600090a26040516001600160a01b038216907f8837af285f4d380af9227df9ebafa13d992b487fa6d7a4366bd4154576085b8990600090a25050505050506200012d565b6001600160a01b0381168114620000d657600080fd5b50565b600080600060608486031215620000ef57600080fd5b8351620000fc81620000c0565b60208501519093506200010f81620000c0565b60408501519092506200012281620000c0565b809150509250925092565b60805160a05160c051614e1f620001f06000396000818161064c01526114a101526000818161093f01526114040152600081816104c101528181610c1b01528181610c8a01528181610f2d0152818161105d0152818161112c01528181611343015281816114f101528181611639015281816117e4015281816118c301528181611cb401528181611d7e01528181611e1601528181611e7e01528181611f06015281816127ce015281816128650152818161399c0152613bdb0152614e1f6000f3fe608060405234801561001057600080fd5b50600436106103f15760003560e01c80636e9960c311610215578063bb0d196e11610125578063dd62ed3e116100b8578063ef43d2c611610087578063ef43d2c61461093a578063f99a38c41461043c578063fad8b32a14610961578063fc673c4f14610974578063fe9d93031461098757600080fd5b8063dd62ed3e146108af578063eb3537cc146108e8578063ec0d634314610916578063ee719bc81461092957600080fd5b8063ca789464116100f4578063ca78946414610863578063cf97256d14610876578063d95b637114610889578063d9d078d61461089c57600080fd5b8063bb0d196e14610817578063c68d42831461082a578063c780fd821461083d578063ca0c1e7f1461085057600080fd5b806395d89b41116101a8578063a1b2bf8b11610177578063a1b2bf8b146107b8578063a3a7e7f3146107cb578063a457c2d7146107de578063a9059cbb146107f1578063b84cdd4a1461080457600080fd5b806395d89b41146107825780639903ad381461078a5780639bd9bbc6146107925780639d876741146107a557600080fd5b806383ba2525116101e457806383ba2525146107375780638f2839701461074a57806392081a471461075d578063959b8c3f1461076f57600080fd5b80636e9960c3146107025780636fed61fc1461070a57806370a082311461071157806379359f6f1461072457600080fd5b8063386fa221116103105780634c5c0c85116102a35780635b9d09cc116102725780635b9d09cc146106a357806362aa5287146106b657806362ad1b83146106c957806366a12fb6146106dc5780636c2d9f2f146106ef57600080fd5b80634c5c0c851461064757806350d75d251461066e57806352d1902d14610676578063556f0dc71461069c57600080fd5b806345977d03116102df57806345977d03146105ee57806346951954146106015780634b2763b3146106145780634b61cc331461062757600080fd5b8063386fa221146105a257806339509351146105b557806341b706be146105c857806342fe0980146105db57600080fd5b80631863e809116103885780632704839711610357578063270483971461051f578063282a050b146105325780632ec8eec71461055a578063313ce5671461058d57600080fd5b80631863e809146104ac57806320bc4425146104bf57806323b872dd146104f9578063245887fc1461050c57600080fd5b806311bcc81e116103c457806311bcc81e1461046157806312a6a3f81461047457806316d055d61461048757806318160ddd1461049a57600080fd5b806306e48538146103f657806306fdde0314610414578063090c415e14610429578063095ea7b31461043e575b600080fd5b6103fe61099a565b60405161040b9190613df5565b60405180910390f35b61041c6109ab565b60405161040b9190613e92565b61043c610437366004613f05565b610a3d565b005b61045161044c366004613f60565b610af0565b604051901515815260200161040b565b61043c61046f366004613f8c565b610b07565b61043c610482366004613fa5565b610b36565b61043c610495366004613ff0565b610c19565b6003545b60405190815260200161040b565b61043c6104ba366004614104565b610c75565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161040b565b610451610507366004614196565b610f15565b61043c61051a366004613f60565b610f2b565b61043c61052d3660046141d7565b610fa4565b610545610540366004613f8c565b611040565b6040805192835260208301919091520161040b565b61056d6105683660046141f9565b611055565b60408051948552602085019390935291830152606082015260800161040b565b60125b60405160ff909116815260200161040b565b6103fe6105b03660046141f9565b6110f8565b6104516105c3366004613f60565b61119b565b61043c6105d6366004613ff0565b6111d7565b61043c6105e936600461426d565b611203565b61043c6105fc366004613f8c565b6112e4565b61043c61060f3660046141f9565b611310565b61043c610622366004614196565b6114ef565b61063a6106353660046142ff565b611571565b60405161040b9190614345565b6104e17f000000000000000000000000000000000000000000000000000000000000000081565b6104e16115b6565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001961049e565b600161049e565b61043c6106b136600461437d565b6115e0565b61043c6106c4366004614196565b611637565b61043c6106d73660046143cc565b61168b565b61043c6106ea366004614196565b611739565b61063a6106fd36600461446a565b611759565b6104e161179b565b601f61049e565b61049e61071f3660046141f9565b6117b3565b6104516107323660046141f9565b6117dc565b61043c610745366004613f60565b611864565b61043c6107583660046141f9565b611890565b600e54600160a01b900460ff16610590565b61043c61077d3660046141f9565b611984565b61041c6119d5565b61043c6119e4565b61043c6107a036600461437d565b611aa6565b61043c6107b336600461449f565b611afa565b61043c6107c6366004613fa5565b611b40565b61043c6107d93660046141f9565b611bea565b6104516107ec366004613f60565b611bfe565b6104516107ff366004613f60565b611c4d565b610451610812366004613f60565b611c5b565b6104516108253660046141f9565b611cac565b61043c61083836600461449f565b611d34565b61043c61084b366004614196565b611d7c565b61043c61085e3660046144f7565b611e14565b61043c610871366004613f60565b611e7c565b61043c610884366004613f60565b611ef1565b610451610897366004614562565b611fda565b6104516108aa366004613f60565b611fe8565b61049e6108bd366004614562565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b6108fb6108f6366004613f60565b612002565b6040805193845260208401929092529082015260600161040b565b61043c61092436600461459b565b61213c565b600e546001600160a01b03166104e1565b6104e17f000000000000000000000000000000000000000000000000000000000000000081565b61043c61096f3660046141f9565b612213565b61043c610982366004614641565b612264565b61043c610995366004614688565b612305565b60606109a66012612356565b905090565b6060600f80546109ba906146c6565b80601f01602080910402602001604051908101604052809291908181526020018280546109e6906146c6565b8015610a335780601f10610a0857610100808354040283529160200191610a33565b820191906000526020600020905b815481529060010190602001808311610a1657829003601f168201915b5050505050905090565b6000338585604051602001610a5493929190614700565b604051602081830303815290604052805190602001209050610aa9818484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506123bc92505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b6000610afd3384846123fd565b5060015b92915050565b610b333333338460405180602001604052806000815250604051806020016040528060008152506124ad565b50565b6040513390600090610b4e9083908790602001614749565b60408051601f1981840301815291905280516020909101209050610b72818461266d565b15610b905760405163782a90fb60e11b815260040160405180910390fd5b610bcd818585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506123bc92505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051610c0a93929190614786565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610c625760405163c51efddd60e01b815260040160405180910390fd5b610c6e848484846126a9565b5050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfd91906147c7565b610d1a5760405163327fd99160e21b815260040160405180910390fd5b6000610d246127c9565b90506001600160a01b038116610d375750845b600085610d445786610d46565b815b905060008313610de357610d59836147fa565b610d628561290e565b14610d6f57610d6f614816565b610d788461290e565b6001600160a01b03821660009081526002602052604081208054909190610da090849061482c565b90915550506001600160a01b03851660009081526002602052604081208054859290610dcd90849061482c565b90915550610dde905085828661297c565b610ead565b8515610df157610df1614816565b82610dfb8561290e565b610e05919061482c565b6001600160a01b03831660009081526002602052604081208054909190610e2d908490614854565b90915550610e3c90508461290e565b6001600160a01b03881660009081526002602052604081208054909190610e6490849061482c565b90915550506001600160a01b03851660009081526002602052604081208054859290610e9190849061482c565b90915550610ea2905082888661297c565b610ead82868561297c565b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f604051610f02959493929190614874565b60405180910390a4505050505050505050565b6000610f23338585856126a9565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610f745760405163c51efddd60e01b815260040160405180910390fd5b610fa03383848460405180602001604052806000815250604051806020016040528060008152506124ad565b5050565b6040513390600090610fbc9083908690602001614749565b604051602081830303815290604052805190602001209050610fde818461266d565b610ffb5760405163dae1880960e01b815260040160405180910390fd5b61100581846129af565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b60008061104c836129d0565b91509150915091565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110dd91906148a7565b90506110e98582612002565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa158015611173573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b0191908101906148c0565b3360008181526011602090815260408083206001600160a01b03871684529091528120549091610afd9185906111d2908690614971565b6123fd565b3330146111f757604051630fff4cc960e31b815260040160405180910390fd5b610c6e838584846126a9565b600054610100900460ff16158080156112235750600054600160ff909116105b8061123d5750303b15801561123d575060005460ff166001145b6112625760405162461bcd60e51b815260040161125990614984565b60405180910390fd5b6000805460ff191660011790558015611285576000805461ff0019166101001790555b6112958787878787876000612a8c565b80156112db576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610b33333333846040518060200160405280600081525060405180602001604052806000815250612b54565b6000611328600080516020614d538339815191525490565b905060006001600160a01b038216156113415781611363565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b0382161461138e57604051630484acab60e01b815260040160405180910390fd5b61139783612d07565b826001600160a01b031663ef43d2c66040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f991906149d2565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806114cc5750826001600160a01b0316634c5c0c856040518163ffffffff1660e01b8152600401602060405180830381865afa158015611472573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149691906149d2565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614155b156114ea5760405163ef1b6ddf60e01b815260040160405180910390fd5b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146115385760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084166000908152601160209081526040808320938616835292905220546114ea90849084906111d2908590614971565b6060600085858560405160200161158a93929190614700565b6040516020818303038152906040528051906020012090506115ac8184612f41565b9695505050505050565b60006109a67f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6116313333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612b54915050565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146116805760405163c51efddd60e01b815260040160405180910390fd5b6114ea8383836123fd565b336116986012828a612fd0565b6116b55760405163f7f0222760e01b815260040160405180910390fd5b61172f8189898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a908190840183828082843760009201919091525060019250613079915050565b5050505050505050565b33301461168057604051630fff4cc960e31b815260040160405180910390fd5b606060008484604051602001611770929190614749565b6040516020818303038152906040528051906020012090506117928184612f41565b95945050505050565b60006109a6600080516020614d538339815191525490565b6000806117bf83611055565b5050509050600081126117d257806117d5565b60005b9392505050565b6000610b01827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611840573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108aa91906148a7565b610fa03333848460405180602001604052806000815250604051806020016040528060008152506124ad565b60006118a8600080516020614d538339815191525490565b905060006001600160a01b038216156118c157816118e3565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b0382161461190e57604051630484acab60e01b815260040160405180910390fd5b6000611926600080516020614d538339815191525490565b905061193e84600080516020614d5383398151915255565b836001600160a01b0316816001600160a01b03167f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f60405160405180910390a350505050565b33611991601282846130f2565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b6060601080546109ba906146c6565b600054610100900460ff1615808015611a045750600054600160ff909116105b80611a1e5750303b158015611a1e575060005460ff166001145b611a3a5760405162461bcd60e51b815260040161125990614984565b6000805460ff191660011790558015611a5d576000805461ff0019166101001790555b8015610b33576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6116313333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250600191506130799050565b333014611b1a57604051630fff4cc960e31b815260040160405180910390fd5b80516040805160008152602081019091526114ea913391869186919015159086906131f6565b6040513390600090611b589083908790602001614749565b604051602081830303815290604052805190602001209050611bad818585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506123bc92505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051610c0a93929190614786565b610fa0333383611bf9336117b3565b6126a9565b6000610afd33846111d2856040518060600160405280602a8152602001614d73602a91393360009081526011602090815260408083206001600160a01b038d16845290915290205491906132c3565b60006117d5333385856126a9565b600080600080611c6b8686612002565b9250925092506000611c93828411611c8457600061290e565b611c8e83856149ef565b61290e565b611c9d908561482c565b60001315979650505050505050565b6000610b01827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d10573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081291906148a7565b333014611d5457604051630fff4cc960e31b815260040160405180910390fd5b80516040805160008152602081019091526114ea9133918691869190151590819087906132ef565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611dc55760405163c51efddd60e01b815260040160405180910390fd5b6114ea83836111d2846040518060600160405280602a8152602001614d73602a91396001600160a01b03808a166000908152601160209081526040808320938c168352929052205491906132c3565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611e5d5760405163c51efddd60e01b815260040160405180910390fd5b6116313385858585604051806020016040528060008152506001613079565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611ec55760405163c51efddd60e01b815260040160405180910390fd5b610fa0338384846040518060200160405280600081525060405180602001604052806000815250612b54565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015611f55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f7991906147c7565b611f965760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040902054611fba90829061482c565b6001600160a01b0390921660009081526002602052604090209190915550565b60006117d560128484612fd0565b600080611ff58484612002565b5050600013949350505050565b6001600160a01b038216600090815260026020526040812054908080612027866110f8565b905060005b815181101561213357600080600084848151811061204c5761204c614a02565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa1580156120ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cf9190614a18565b919450925090506120e08288614971565b96506120ec8187614971565b95506121098183116120ff57600061290e565b611c8e82846149ef565b612113848a61482c565b61211d9190614854565b97505050508061212c90614a46565b905061202c565b50509250925092565b600054610100900460ff161580801561215c5750600054600160ff909116105b806121765750303b158015612176575060005460ff166001145b6121925760405162461bcd60e51b815260040161125990614984565b6000805460ff1916600117905580156121b5576000805461ff0019166101001790555b6121c488888888888888612a8c565b801561172f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050565b33612220601282846133bd565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b3361227160128289612fd0565b61228e5760405163f7f0222760e01b815260040160405180910390fd5b6112db8188898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284376000920191909152506124ad92505050565b6114ea3333338686868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020810190915290815292506124ad915050565b6060816000018054806020026020016040519081016040528092919081815260200182805480156123b057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612392575b50505050509050919050565b60005b81518110156114ea5760008282815181106123dc576123dc614a02565b60200260200101519050808285015550806123f690614a46565b90506123bf565b6001600160a01b03831661242457604051638163862760e01b815260040160405180910390fd5b6001600160a01b03821661244b576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600e546001600160a01b03166124d657604051637bce7b2b60e11b815260040160405180910390fd5b6000806124e2856129d0565b915091506124f988888387516000141588886131f6565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612542573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256691906148a7565b600e54909150612580906001600160a01b031688856134b5565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156125c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ed91906148a7565b905060006125fb82846149ef565b905080851461261d57604051631c7c26d360e31b815260040160405180910390fd5b896001600160a01b03167f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d8560405161265891815260200190565b60405180910390a25050505050505050505050565b6000805b8281101561269f5783810154801561268e57600192505050610b01565b5061269881614a46565b9050612671565b5060009392505050565b60006001600160a01b0384166126d25760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0383166126f95760405163e219bd3960e01b815260040160405180910390fd5b600033905061272a818686866040518060200160405280600081525060405180602001604052806000815250613518565b846001600160a01b0316866001600160a01b0316146127bd576127bd85876111d2866040518060600160405280602d8152602001614dbd602d9139601160008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b03168152602001908152602001600020546132c39092919063ffffffff16565b50600195945050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561282a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061284e91906149d2565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa1580156128e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061290891906149d2565b91505090565b60006001600160ff1b038211156129785760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401611259565b5090565b816001600160a01b0316836001600160a01b0316600080516020614d9d833981519152836040516124a091815260200190565b60005b818110156114ea576000838201556129c981614a46565b90506129b2565b600e54600090819081906012600160a01b90910460ff161015612a2f57600e54612a0590600160a01b900460ff166012614a5f565b612a1090600a614b5c565b9050612a1c8185614b6b565b9250612a288184614b8d565b9150612a86565b600e546012600160a01b90910460ff161115612a7f57600e54612a5e90601290600160a01b900460ff16614a5f565b612a6990600a614b5c565b9050612a758185614b8d565b9250839150612a86565b8391508192505b50915091565b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f612ac1858783614bf2565b506010612acf838583614bf2565b50612ae681600080516020614d5383398151915255565b612aef306135b7565b6040516000808252908190600080516020614d9d8339815191529060200160405180910390a36040516001600160a01b038216906000907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a350505050505050565b600e546001600160a01b0316612b7d57604051637bce7b2b60e11b815260040160405180910390fd5b600080612b89856129d0565b600e546040516370a0823160e01b81523060048201529294509092506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015612bda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bfe91906148a7565b600e54909150612c19906001600160a01b03168930866136e5565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612c62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c8691906148a7565b90506000612c9483836149ef565b9050808514612cb657604051631c7c26d360e31b815260040160405180910390fd5b8651612ccc908c908b9087901515808c8c6132ef565b886001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df8560405161265891815260200190565b6000612d317f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603612d875760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611259565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612dc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de991906148a7565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001914612e635760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611259565b6001600160a01b0381163003612ebb5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611259565b612ee3817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019604080519182526001600160a01b038416602083015201611a9b565b6060816001600160401b03811115612f5b57612f5b614041565b604051908082528060200260200182016040528015612f84578160200160208202803683370190505b50905060005b82811015612fc957600081850154905080838381518110612fad57612fad614a02565b602090810291909101015250612fc281614a46565b9050612f8a565b5092915050565b6000816001600160a01b0316836001600160a01b0316148061303f57506001600160a01b038316600090815260018501602052604090205460ff16801561303f57506001600160a01b03808316600090815260038601602090815260408083209387168352929052205460ff16155b80610f2357506001600160a01b03808316600090815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b0386166130a05760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0385166130c75760405163e219bd3960e01b815260040160405180910390fd5b6130d587878787878761371d565b6130e3878787878787613518565b6112db87878787878787613844565b806001600160a01b0316826001600160a01b0316036131695760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b6064820152608401611259565b6001600160a01b038116600090815260018401602052604090205460ff16156131bf576001600160a01b03918216600090815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b0380831660009081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03851661321d57604051632e8aac6160e21b815260040160405180910390fd5b8215613232576132328686600087868661371d565b61323c8585613994565b846001600160a01b0316866001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a409886858560405161328393929190614cb1565b60405180910390a36040518481526000906001600160a01b03871690600080516020614d9d833981519152906020015b60405180910390a3505050505050565b600081848411156132e75760405162461bcd60e51b81526004016112599190613e92565b505050900390565b6001600160a01b03861661331657604051630d24315760e01b815260040160405180910390fd5b6133208686613aa4565b8315613336576133368760008888868689613844565b856001600160a01b0316876001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d87858560405161337d93929190614cb1565b60405180910390a36040518581526001600160a01b03871690600090600080516020614d9d8339815191529060200160405180910390a350505050505050565b336001600160a01b038216036134285760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b6064820152608401611259565b6001600160a01b038116600090815260018401602052604090205460ff1615613482576001600160a01b0380831660009081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03918216600090815260029390930160209081526040808520929093168452529020805460ff19169055565b6040516001600160a01b0383166024820152604481018290526114ea90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613afe565b61352b85856135268661290e565b613bd3565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc8261467798786868660405161357c93929190614cb1565b60405180910390a4836001600160a01b0316856001600160a01b0316600080516020614d9d833981519152856040516132b391815260200190565b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b15801561363857600080fd5b505af115801561364c573d6000803e3d6000fd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b1580156136d157600080fd5b505af1158015610c6e573d6000803e3d6000fd5b6040516001600160a01b03808516602483015283166044820152606481018290526116319085906323b872dd60e01b906084016134e1565b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe8956024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa15801561379e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137c291906149d2565b90506001600160a01b038116156112db57604051633ad5cbc160e11b81526001600160a01b038216906375ab978290613809908a908a908a908a908a908a90600401614cdc565b600060405180830381600087803b15801561382357600080fd5b505af1158015613837573d6000803e3d6000fd5b5050505050505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa1580156138c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138e991906149d2565b90506001600160a01b03811615613965576040516223de2960e01b81526001600160a01b038216906223de299061392e908b908b908b908b908b908b90600401614cdc565b600060405180830381600087803b15801561394857600080fd5b505af115801561395c573d6000803e3d6000fd5b5050505061172f565b811561172f576001600160a01b0386163b1561172f5760405163fe737d0560e01b815260040160405180910390fd5b6000613a1c837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156139f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f691906148a7565b50509050613a298261290e565b811215613a495760405163043b37d160e21b815260040160405180910390fd5b613a528261290e565b6001600160a01b038416600090815260026020526040902054613a759190614854565b6001600160a01b038416600090815260026020526040902055600354613a9c9083906149ef565b600355505050565b613aad8161290e565b6001600160a01b038316600090815260026020526040902054613ad0919061482c565b6001600160a01b038316600090815260026020526040902055600354613af7908290614971565b6003555050565b6000613b53826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613cd29092919063ffffffff16565b9050805160001480613b74575080806020019051810190613b7491906147c7565b6114ea5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401611259565b6000613c37847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156139f8573d6000803e3d6000fd5b5050905081811215613c5c57604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b038416600090815260026020526040902054613c80908390614854565b6001600160a01b038086166000908152600260205260408082209390935590851681522054613cb090839061482c565b6001600160a01b03909316600090815260026020526040902092909255505050565b6060610f23848460008585600080866001600160a01b03168587604051613cf99190614d36565b60006040518083038185875af1925050503d8060008114613d36576040519150601f19603f3d011682016040523d82523d6000602084013e613d3b565b606091505b5091509150613d4c87838387613d57565b979650505050505050565b60608315613dc6578251600003613dbf576001600160a01b0385163b613dbf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611259565b5081610f23565b610f238383815115613ddb5781518083602001fd5b8060405162461bcd60e51b81526004016112599190613e92565b6020808252825182820181905260009190848201906040850190845b81811015613e365783516001600160a01b031683529284019291840191600101613e11565b50909695505050505050565b60005b83811015613e5d578181015183820152602001613e45565b50506000910152565b60008151808452613e7e816020860160208601613e42565b601f01601f19169290920160200192915050565b6020815260006117d56020830184613e66565b6001600160a01b0381168114610b3357600080fd5b60008083601f840112613ecc57600080fd5b5081356001600160401b03811115613ee357600080fd5b6020830191508360208260051b8501011115613efe57600080fd5b9250929050565b60008060008060608587031215613f1b57600080fd5b8435613f2681613ea5565b93506020850135925060408501356001600160401b03811115613f4857600080fd5b613f5487828801613eba565b95989497509550505050565b60008060408385031215613f7357600080fd5b8235613f7e81613ea5565b946020939093013593505050565b600060208284031215613f9e57600080fd5b5035919050565b600080600060408486031215613fba57600080fd5b8335925060208401356001600160401b03811115613fd757600080fd5b613fe386828701613eba565b9497909650939450505050565b6000806000806080858703121561400657600080fd5b843561401181613ea5565b9350602085013561402181613ea5565b9250604085013561403181613ea5565b9396929550929360600135925050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561407f5761407f614041565b604052919050565b600082601f83011261409857600080fd5b81356001600160401b038111156140b1576140b1614041565b6140c4601f8201601f1916602001614057565b8181528460208386010111156140d957600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114610b3357600080fd5b600080600080600080600060e0888a03121561411f57600080fd5b8735965060208801356001600160401b0381111561413c57600080fd5b6141488a828b01614087565b965050604088013561415981613ea5565b94506060880135614169816140f6565b9350608088013561417981613ea5565b9699959850939692959460a0840135945060c09093013592915050565b6000806000606084860312156141ab57600080fd5b83356141b681613ea5565b925060208401356141c681613ea5565b929592945050506040919091013590565b600080604083850312156141ea57600080fd5b50508035926020909101359150565b60006020828403121561420b57600080fd5b81356117d581613ea5565b803560ff8116811461422757600080fd5b919050565b60008083601f84011261423e57600080fd5b5081356001600160401b0381111561425557600080fd5b602083019150836020828501011115613efe57600080fd5b6000806000806000806080878903121561428657600080fd5b863561429181613ea5565b955061429f60208801614216565b945060408701356001600160401b03808211156142bb57600080fd5b6142c78a838b0161422c565b909650945060608901359150808211156142e057600080fd5b506142ed89828a0161422c565b979a9699509497509295939492505050565b6000806000806080858703121561431557600080fd5b843561432081613ea5565b9350602085013561433081613ea5565b93969395505050506040820135916060013590565b6020808252825182820181905260009190848201906040850190845b81811015613e3657835183529284019291840191600101614361565b6000806000806060858703121561439357600080fd5b843561439e81613ea5565b93506020850135925060408501356001600160401b038111156143c057600080fd5b613f548782880161422c565b600080600080600080600060a0888a0312156143e757600080fd5b87356143f281613ea5565b9650602088013561440281613ea5565b95506040880135945060608801356001600160401b038082111561442557600080fd5b6144318b838c0161422c565b909650945060808a013591508082111561444a57600080fd5b506144578a828b0161422c565b989b979a50959850939692959293505050565b60008060006060848603121561447f57600080fd5b833561448a81613ea5565b95602085013595506040909401359392505050565b6000806000606084860312156144b457600080fd5b83356144bf81613ea5565b92506020840135915060408401356001600160401b038111156144e157600080fd5b6144ed86828701614087565b9150509250925092565b6000806000806080858703121561450d57600080fd5b843561451881613ea5565b9350602085013561452881613ea5565b92506040850135915060608501356001600160401b0381111561454a57600080fd5b61455687828801614087565b91505092959194509250565b6000806040838503121561457557600080fd5b823561458081613ea5565b9150602083013561459081613ea5565b809150509250929050565b600080600080600080600060a0888a0312156145b657600080fd5b87356145c181613ea5565b96506145cf60208901614216565b955060408801356001600160401b03808211156145eb57600080fd5b6145f78b838c0161422c565b909750955060608a013591508082111561461057600080fd5b5061461d8a828b0161422c565b909450925050608088013561463181613ea5565b8091505092959891949750929550565b6000806000806000806080878903121561465a57600080fd5b863561466581613ea5565b95506020870135945060408701356001600160401b03808211156142bb57600080fd5b60008060006040848603121561469d57600080fd5b8335925060208401356001600160401b038111156146ba57600080fd5b613fe38682870161422c565b600181811c908216806146da57607f821691505b6020821081036146fa57634e487b7160e01b600052602260045260246000fd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b038311156147ad57600080fd5b8260051b8085606085013791909101606001949350505050565b6000602082840312156147d957600080fd5b81516117d5816140f6565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b820161480f5761480f6147e4565b5060000390565b634e487b7160e01b600052600160045260246000fd5b808201828112600083128015821682158216171561484c5761484c6147e4565b505092915050565b8181036000831280158383131683831282161715612fc957612fc96147e4565b85815260018060a01b038516602082015283604082015282606082015260a060808201526000613d4c60a0830184613e66565b6000602082840312156148b957600080fd5b5051919050565b600060208083850312156148d357600080fd5b82516001600160401b03808211156148ea57600080fd5b818501915085601f8301126148fe57600080fd5b81518181111561491057614910614041565b8060051b9150614921848301614057565b818152918301840191848101908884111561493b57600080fd5b938501935b83851015614965578451925061495583613ea5565b8282529385019390850190614940565b98975050505050505050565b80820180821115610b0157610b016147e4565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000602082840312156149e457600080fd5b81516117d581613ea5565b81810381811115610b0157610b016147e4565b634e487b7160e01b600052603260045260246000fd5b600080600060608486031215614a2d57600080fd5b8351925060208401519150604084015190509250925092565b600060018201614a5857614a586147e4565b5060010190565b60ff8281168282160390811115610b0157610b016147e4565b600181815b80851115614ab3578160001904821115614a9957614a996147e4565b80851615614aa657918102915b93841c9390800290614a7d565b509250929050565b600082614aca57506001610b01565b81614ad757506000610b01565b8160018114614aed5760028114614af757614b13565b6001915050610b01565b60ff841115614b0857614b086147e4565b50506001821b610b01565b5060208310610133831016604e8410600b8410161715614b36575081810a610b01565b614b408383614a78565b8060001904821115614b5457614b546147e4565b029392505050565b60006117d560ff841683614abb565b600082614b8857634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610b0157610b016147e4565b601f8211156114ea57600081815260208120601f850160051c81016020861015614bcb5750805b601f850160051c820191505b81811015614bea57828155600101614bd7565b505050505050565b6001600160401b03831115614c0957614c09614041565b614c1d83614c1783546146c6565b83614ba4565b6000601f841160018114614c515760008515614c395750838201355b600019600387901b1c1916600186901b178355610c6e565b600083815260209020601f19861690835b82811015614c825786850135825560209485019460019092019101614c62565b5086821015614c9f5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152606060208201526000614cca6060830185613e66565b82810360408401526115ac8185613e66565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c060808201819052600090614d1790830185613e66565b82810360a0840152614d298185613e66565b9998505050505050505050565b60008251614d48818460208701613e42565b919091019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201b0f07fb8111bc61d4559d9530077ede9cc91f70af54c0881fc9af719afe0e8764736f6c63430008130033",v8=eb=>eb.length>1;class v9 extends uw.lV{constructor(...eb){v8(eb)?super(...eb):super(v6,v5,eb[0])}deploy(eb,em,eH,eV){return super.deploy(eb,em,eH,eV||{})}getDeployTransaction(eb,em,eH,eV){return super.getDeployTransaction(eb,em,eH,eV||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(v6)}static connect(eb,em){return new uw.CH(eb,v6,em)}}v9.bytecode=v5,v9.abi=v6;let zm=[{inputs:[],name:"SF_GOV_II_ONLY_OWNER",type:"error"},{inputs:[],name:"SF_GOV_INVALID_LIQUIDATION_OR_PATRICIAN_PERIOD",type:"error"},{inputs:[],name:"SF_GOV_MUST_BE_CONTRACT",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"address",name:"factory",type:"address"},{indexed:!1,internalType:"bool",name:"authorized",type:"bool"}],name:"AppFactoryAuthorizationChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"address",name:"deployer",type:"address"},{indexed:!1,internalType:"string",name:"appRegistrationKey",type:"string"},{indexed:!1,internalType:"uint256",name:"expirationTs",type:"uint256"}],name:"AppRegistrationKeyChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"liquidationPeriod",type:"uint256"}],name:"CFAv1LiquidationPeriodChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"ConfigChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",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:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{indexed:!1,internalType:"uint256",name:"patricianPeriod",type:"uint256"}],name:"PPPConfigurationChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"address",name:"rewardAddress",type:"address"}],name:"RewardAddressChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"minimumDeposit",type:"uint256"}],name:"SuperTokenMinimumDepositChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"address",name:"forwarder",type:"address"},{indexed:!1,internalType:"bool",name:"enabled",type:"bool"}],name:"TrustedForwarderChanged",type:"event"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"authorizeAppFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"token",type:"address[]"},{internalType:"address[]",name:"newAdmins",type:"address[]"}],name:"batchChangeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"},{internalType:"address[]",name:"tokenLogics",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"},{internalType:"uint256[]",name:"minimumDeposits",type:"uint256[]"}],name:"batchUpdateSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newAdmin",type:"address"}],name:"changeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"}],name:"clearAppRegistrationKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"clearConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"clearPPPConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"clearRewardAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"superToken",type:"address"}],name:"clearSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"disableTrustedForwarder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"enableTrustedForwarder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsAddress",outputs:[{internalType:"address",name:"value",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsUint256",outputs:[{internalType:"uint256",name:"period",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getPPPConfig",outputs:[{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getRewardAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getSuperTokenMinimumDeposit",outputs:[{internalType:"uint256",name:"value",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"isAuthorizedAppFactory",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"isTrustedForwarder",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"agreementClass",type:"address"}],name:"registerAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"newGov",type:"address"}],name:"replaceGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"},{internalType:"uint256",name:"expirationTs",type:"uint256"}],name:"setAppRegistrationKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"address",name:"value",type:"address"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"uint256",name:"value",type:"uint256"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"}],name:"setPPPConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"rewardAddress",type:"address"}],name:"setRewardAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"setSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"unauthorizeAppFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"hostNewLogic",type:"address"},{internalType:"address[]",name:"agreementClassNewLogics",type:"address[]"},{internalType:"address",name:"superTokenFactoryNewLogic",type:"address"}],name:"updateContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"validateStorageLayout",outputs:[],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"}],name:"verifyAppRegistrationKey",outputs:[{internalType:"bool",name:"validNow",type:"bool"},{internalType:"uint256",name:"expirationTs",type:"uint256"}],stateMutability:"view",type:"function"}],zy="0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6122238061007e6000396000f3fe608060405234801561001057600080fd5b506004361061023c5760003560e01c80637f0558e41161013b5780639903ad38116100b8578063e447cc1d1161007c578063e447cc1d14610517578063f047a2d91461052a578063f2fde38b1461053d578063f79a8e6314610550578063f99a38c41461025457600080fd5b80639903ad38146104c3578063ab846f1a146104cb578063c9615a98146104de578063cadf8f85146104f1578063d099b6a01461050457600080fd5b80638abe04e9116100ff5780638abe04e9146104565780638b93b3f5146104795780638da5cb5b1461048c5780638ecbd87b1461049d578063948eda5e146104b057600080fd5b80637f0558e4146103fc57806380f70cba1461040f5780638369a0f114610422578063870299c0146104305780638a7ff2f71461044357600080fd5b8063427942a4116101c957806352d1902d1161018d57806352d1902d1461038b578063640b6cc9146103bb578063715018a6146103ce57806378707cb8146103d65780637dce4f81146103e957600080fd5b8063427942a41461032257806344864b25146103355780634522823514610348578063469519541461037057806350d75d251461038357600080fd5b8063219644731161021057806321964473146102c3578063256b5173146102d657806325c955c3146102e957806332552908146102fc57806342148deb1461030f57600080fd5b806286d5551461024157806301a06b971461025657806311cf00f11461026957806319df62ab14610298575b600080fd5b61025461024f366004611c01565b610563565b005b610254610264366004611c47565b610630565b61027c610277366004611d23565b6106b4565b6040805192151583526020830191909152015b60405180910390f35b6102ab6102a6366004611c47565b6106e4565b6040516001600160a01b03909116815260200161028f565b6102546102d1366004611dd1565b610718565b6102546102e4366004611e54565b610793565b6102546102f7366004611c47565b610806565b61025461030a366004611e54565b610862565b61025461031d366004611e9f565b6108df565b610254610330366004611ef4565b6109a2565b610254610343366004611c47565b610c52565b61035b610356366004611c47565b610cbd565b6040805192835260208301919091520161028f565b61025461037e366004611f71565b610d05565b6102ab610d19565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb23830542395b60405190815260200161028f565b6102546103c9366004611f8e565b610d48565b610254610d58565b6102546103e4366004611fcf565b610d6c565b6102546103f7366004611e54565b610d7e565b61025461040a366004611f8e565b610dde565b6103ad61041d366004611f8e565b610e51565b6102ab61041d366004611f8e565b61025461043e366004611dd1565b610ec2565b6103ad610451366004611c47565b610fb4565b610469610464366004611c47565b610fe1565b604051901515815260200161028f565b610254610487366004611c47565b610ffc565b6000546001600160a01b03166102ab565b6102546104ab366004611c47565b61107f565b6102546104be366004611d23565b6110f0565b61025461115e565b6102546104d9366004611e54565b611287565b6102546104ec366004611dd1565b6112e3565b6102546104ff366004611c47565b6113d5565b610254610512366004612022565b61140d565b610254610525366004611c47565b61146d565b610469610538366004611e54565b6114de565b61025461054b366004611f71565b6114f9565b61025461055e366004611c01565b61156f565b8082111580610576575063ffffffff8210155b80610585575063ffffffff8110155b156105a3576040516370b8cc0560e11b815260040160405180910390fd5b602082901b81176105d685857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f7884611577565b6040805160018152602081018590529081018390526001600160a01b0380861691908716907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050505050565b61065b82827fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f7861162a565b60408051600080825260208201819052918101919091526001600160a01b0380831691908416907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050565b60008060006106c385856116eb565b905060006106d387600084610e51565b428110159890975095505050505050565b600061071183837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09610e51565b9392505050565b8281146107275761072761208c565b60005b8181101561078b5761077b86868684818110610748576107486120a2565b905060200201602081019061075d9190611f71565b85858581811061076f5761076f6120a2565b90506020020135610dde565b610784816120b8565b905061072a565b505050505050565b8261079d8161171e565b604051630c56507560e01b81526001600160a01b0384811660048301528381166024830152851690630c56507590604401600060405180830381600087803b1580156107e857600080fd5b505af11580156107fc573d6000803e3d6000fd5b5050505050505050565b61081a82600061081584611726565b61162a565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d60006040516106a8911515815260200190565b61088e83837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09846117b9565b60408051600181526001600160a01b03838116602083015280851692908616917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91015b60405180910390a3505050565b826108e98161171e565b60005b8281101561099b57846001600160a01b031663fa6e0cfe858584818110610915576109156120a2565b905060200201602081019061092a9190611f71565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260006024820152604401600060405180830381600087803b15801561097257600080fd5b505af1158015610986573d6000803e3d6000fd5b5050505080610994906120b8565b90506108ec565b5050505050565b846109ac8161171e565b6001600160a01b03851615610a6a576040516311a5465560e21b81526001600160a01b038681166004830152871690634695195490602401600060405180830381600087803b1580156109fe57600080fd5b505af1158015610a12573d6000803e3d6000fd5b50505050846001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a5157600080fd5b505af1158015610a65573d6000803e3d6000fd5b505050505b60005b83811015610b8e57866001600160a01b03166306cecba8868684818110610a9657610a966120a2565b9050602002016020810190610aab9190611f71565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015610aec57600080fd5b505af1158015610b00573d6000803e3d6000fd5b50505050848482818110610b1657610b166120a2565b9050602002016020810190610b2b9190611f71565b6001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b6557600080fd5b505af1158015610b79573d6000803e3d6000fd5b5050505080610b87906120b8565b9050610a6d565b506001600160a01b0382161561078b576040516354fbc49360e01b81526001600160a01b0383811660048301528716906354fbc49390602401600060405180830381600087803b158015610be157600080fd5b505af1158015610bf5573d6000803e3d6000fd5b50505050816001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c3457600080fd5b505af1925050508015610c45575060015b1561078b57505050505050565b81610c5c8161171e565b604051631ca0c40360e21b81526001600160a01b038381166004830152841690637283100c906024015b600060405180830381600087803b158015610ca057600080fd5b505af1158015610cb4573d6000803e3d6000fd5b50505050505050565b6000806000610ced85857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78610e51565b63ffffffff602082901c811697911695509350505050565b610d0d61186e565b610d1681611899565b50565b6000610d437f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b610d5383838361162a565b505050565b610d60611ad3565b610d6a6000611b2d565b565b610d78848484846117b9565b50505050565b610d8c838361081584611b7d565b60408051600181526001600160a01b038381166020830152600092820192909252818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108d2565b610e0a83837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc484611577565b6040805160018152602081018390526001600160a01b0380851692908616917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a5391016108d2565b6001600160a01b03808416600090815260016020908152604080832093861683529281528282208483529052908120805460ff16610eb657506001600160a01b0384166000908152600160209081526040808320838052825280832085845290915290205b60010154949350505050565b84610ecc8161171e565b838214610edb57610edb61208c565b60005b84811015610cb457866001600160a01b031663fa6e0cfe878784818110610f0757610f076120a2565b9050602002016020810190610f1c9190611f71565b868685818110610f2e57610f2e6120a2565b9050602002016020810190610f439190611f71565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b158015610f8b57600080fd5b505af1158015610f9f573d6000803e3d6000fd5b5050505080610fad906120b8565b9050610ede565b600061071183837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4610e51565b6000610ff283600061041d85611726565b6001149392505050565b803b6000819003611020576040516380dddd7360e01b815260040160405180910390fd5b5061103782600061103084611726565b6001611577565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d60016040516106a8911515815260200190565b6110aa82827feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc461162a565b60408051600080825260208201526001600160a01b0380841692908516917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a5391016106a8565b60006110fc83836116eb565b905061110a8460008361162a565b826001600160a01b0316846001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc846000604051611150929190612125565b60405180910390a350505050565b600054600160a81b900460ff161580801561118657506000546001600160a01b90910460ff16105b806111a75750303b1580156111a75750600054600160a01b900460ff166001145b61120f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff60a01b1916600160a01b179055801561123c576000805460ff60a81b1916600160a81b1790555b8015610d16576000805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b611295838361103084611b7d565b6040805160018082526001600160a01b03848116602084015292820152818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108d2565b846112ed8161171e565b8382146112fc576112fc61208c565b60005b84811015610cb457866001600160a01b0316630c565075878784818110611328576113286120a2565b905060200201602081019061133d9190611f71565b86868581811061134f5761134f6120a2565b90506020020160208101906113649190611f71565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b50505050806113ce906120b8565b90506112ff565b816113df8161171e565b6040516315a024e160e01b81526001600160a01b0383811660048301528416906315a024e190602401610c86565b600061141984846116eb565b90506114288560008385611577565b836001600160a01b0316856001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc8585604051610621929190612125565b61149882827f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d0961162a565b60408051600080825260208201526001600160a01b0380841692908516917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91016106a8565b60006114ee848461041d85611b7d565b600114949350505050565b611501611ad3565b6001600160a01b0381166115665760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401611206565b610d1681611b2d565b610d78848484845b836115818161171e565b60408051848152600160208201529081018390526001600160a01b0380861691908716907f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e3909060600160405180910390a350604080518082018252600180825260208083019485526001600160a01b039788166000908152828252848120979098168852958652828720948752939094529093209151825460ff19169015151782559151910155565b826116348161171e565b826001600160a01b0316846001600160a01b03167f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e3908460008060405161168d939291909283529015156020830152604082015260600190565b60405180910390a350604080518082018252600080825260208083018281526001600160a01b03978816835260018083528584209790981683529581528382209482529390935291209051815460ff19169015151781559051910155565b60008282604051602001611700929190612147565b60405160208183030381529060405280519060200120905092915050565b610d1661186e565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b836117c38161171e565b60408051848152600160208201526001600160a01b03848116828401529151868316928816917f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e390919081900360600190a35060408051808201825260018082526001600160a01b03938416602080840191825297851660009081528289528481209790951685529587528284209484529390955290209251835460ff19169015151783559051910155565b6000546001600160a01b03163314610d6a57604051638c809f9b60e01b815260040160405180910390fd5b60006118c37f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036119195760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611206565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197b91906121d4565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb2383054239146119f55760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611206565b6001600160a01b0381163003611a4d5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611206565b611a75817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb2383054239604080519182526001600160a01b03841660208301520161127c565b6000546001600160a01b03163314610d6a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611206565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c00161179c565b6001600160a01b0381168114610d1657600080fd5b60008060008060808587031215611c1757600080fd5b8435611c2281611bec565b93506020850135611c3281611bec565b93969395505050506040820135916060013590565b60008060408385031215611c5a57600080fd5b8235611c6581611bec565b91506020830135611c7581611bec565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611ca757600080fd5b813567ffffffffffffffff80821115611cc257611cc2611c80565b604051601f8301601f19908116603f01168101908282118183101715611cea57611cea611c80565b81604052838152866020858801011115611d0357600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215611d3857600080fd5b8335611d4381611bec565b92506020840135611d5381611bec565b9150604084013567ffffffffffffffff811115611d6f57600080fd5b611d7b86828701611c96565b9150509250925092565b60008083601f840112611d9757600080fd5b50813567ffffffffffffffff811115611daf57600080fd5b6020830191508360208260051b8501011115611dca57600080fd5b9250929050565b600080600080600060608688031215611de957600080fd5b8535611df481611bec565b9450602086013567ffffffffffffffff80821115611e1157600080fd5b611e1d89838a01611d85565b90965094506040880135915080821115611e3657600080fd5b50611e4388828901611d85565b969995985093965092949392505050565b600080600060608486031215611e6957600080fd5b8335611e7481611bec565b92506020840135611e8481611bec565b91506040840135611e9481611bec565b809150509250925092565b600080600060408486031215611eb457600080fd5b8335611ebf81611bec565b9250602084013567ffffffffffffffff811115611edb57600080fd5b611ee786828701611d85565b9497909650939450505050565b600080600080600060808688031215611f0c57600080fd5b8535611f1781611bec565b94506020860135611f2781611bec565b9350604086013567ffffffffffffffff811115611f4357600080fd5b611f4f88828901611d85565b9094509250506060860135611f6381611bec565b809150509295509295909350565b600060208284031215611f8357600080fd5b813561071181611bec565b600080600060608486031215611fa357600080fd5b8335611fae81611bec565b92506020840135611fbe81611bec565b929592945050506040919091013590565b60008060008060808587031215611fe557600080fd5b8435611ff081611bec565b9350602085013561200081611bec565b925060408501359150606085013561201781611bec565b939692955090935050565b6000806000806080858703121561203857600080fd5b843561204381611bec565b9350602085013561205381611bec565b9250604085013567ffffffffffffffff81111561206f57600080fd5b61207b87828801611c96565b949793965093946060013593505050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000600182016120d857634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b81811015612105576020818501810151868301820152016120e9565b506000602082860101526020601f19601f83011685010191505092915050565b60408152600061213860408301856120df565b90508260208301529392505050565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e0604082015260006121cc60e08301846120df565b949350505050565b6000602082840312156121e657600080fd5b505191905056fea26469706673582212204727525aa9e4b271f790534101e1a04ebf48cfec594e5e617232d4ff5202347364736f6c63430008130033",zv=eb=>eb.length>1;class zH extends uw.lV{constructor(...eb){zv(eb)?super(...eb):super(zm,zy,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(zm)}static connect(eb,em){return new uw.CH(eb,zm,em)}}zH.bytecode=zy,zH.abi=zm;let zV=[{inputs:[{internalType:"bool",name:"nonUpgradable",type:"bool"},{internalType:"bool",name:"appWhiteListingEnabled",type:"bool"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"uint256",name:"_code",type:"uint256"}],name:"APP_RULE",type:"error"},{inputs:[],name:"HOST_AGREEMENT_ALREADY_REGISTERED",type:"error"},{inputs:[],name:"HOST_AGREEMENT_CALLBACK_IS_NOT_ACTION",type:"error"},{inputs:[],name:"HOST_AGREEMENT_IS_NOT_REGISTERED",type:"error"},{inputs:[],name:"HOST_CALL_AGREEMENT_WITH_CTX_FROM_WRONG_ADDRESS",type:"error"},{inputs:[],name:"HOST_CALL_APP_ACTION_WITH_CTX_FROM_WRONG_ADDRESS",type:"error"},{inputs:[],name:"HOST_CANNOT_DOWNGRADE_TO_NON_UPGRADEABLE",type:"error"},{inputs:[],name:"HOST_INVALID_CONFIG_WORD",type:"error"},{inputs:[],name:"HOST_MAX_256_AGREEMENTS",type:"error"},{inputs:[],name:"HOST_MUST_BE_CONTRACT",type:"error"},{inputs:[],name:"HOST_NEED_MORE_GAS",type:"error"},{inputs:[],name:"HOST_NON_UPGRADEABLE",type:"error"},{inputs:[],name:"HOST_NON_ZERO_LENGTH_PLACEHOLDER_CTX",type:"error"},{inputs:[],name:"HOST_NOT_A_SUPER_APP",type:"error"},{inputs:[],name:"HOST_NO_APP_REGISTRATION_PERMISSION",type:"error"},{inputs:[],name:"HOST_ONLY_GOVERNANCE",type:"error"},{inputs:[],name:"HOST_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"HOST_RECEIVER_IS_NOT_SUPER_APP",type:"error"},{inputs:[],name:"HOST_SENDER_IS_NOT_SUPER_APP",type:"error"},{inputs:[],name:"HOST_SOURCE_APP_NEEDS_HIGHER_APP_LEVEL",type:"error"},{inputs:[],name:"HOST_SUPER_APP_ALREADY_REGISTERED",type:"error"},{inputs:[],name:"HOST_SUPER_APP_IS_JAILED",type:"error"},{inputs:[],name:"HOST_UNKNOWN_BATCH_CALL_OPERATION_TYPE",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"agreementType",type:"bytes32"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"AgreementClassRegistered",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"agreementType",type:"bytes32"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"AgreementClassUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperApp",name:"app",type:"address"}],name:"AppRegistered",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract ISuperfluidGovernance",name:"oldGov",type:"address"},{indexed:!1,internalType:"contract ISuperfluidGovernance",name:"newGov",type:"address"}],name:"GovernanceReplaced",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperApp",name:"app",type:"address"},{indexed:!1,internalType:"uint256",name:"reason",type:"uint256"}],name:"Jail",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract ISuperTokenFactory",name:"newFactory",type:"address"}],name:"SuperTokenFactoryUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"SuperTokenLogicUpdated",type:"event"},{inputs:[],name:"APP_WHITE_LISTING_ENABLED",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"CALLBACK_GAS_LIMIT",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_APP_CALLBACK_LEVEL",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_NUM_AGREEMENTS",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"NON_UPGRADABLE_DEPLOYMENT",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"},{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"addToAgreementClassesBitmap",outputs:[{internalType:"uint256",name:"newBitmap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"targetApp",type:"address"}],name:"allowCompositeApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"int256",name:"appCreditUsedDelta",type:"int256"}],name:"appCallbackPop",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"appCreditGranted",type:"uint256"},{internalType:"int256",name:"appCreditUsed",type:"int256"},{internalType:"contract ISuperfluidToken",name:"appCreditToken",type:"address"}],name:"appCallbackPush",outputs:[{internalType:"bytes",name:"appCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"operationType",type:"uint32"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ISuperfluid.Operation[]",name:"operations",type:"tuple[]"}],name:"batchCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"callAgreement",outputs:[{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAgreementWithContext",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"},{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],name:"callAppAction",outputs:[{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppActionWithContext",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bool",name:"isTermination",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppAfterCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bool",name:"isTermination",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppBeforeCallback",outputs:[{internalType:"bytes",name:"cbdata",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newAdmin",type:"address"}],name:"changeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"n",type:"uint256"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"ctxFunc1",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"ctxFunc2",outputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"int256",name:"appCreditUsedMore",type:"int256"}],name:"ctxUseCredit",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"decodeCtx",outputs:[{components:[{internalType:"uint8",name:"appCallbackLevel",type:"uint8"},{internalType:"uint8",name:"callType",type:"uint8"},{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"address",name:"msgSender",type:"address"},{internalType:"bytes4",name:"agreementSelector",type:"bytes4"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"uint256",name:"appCreditGranted",type:"uint256"},{internalType:"uint256",name:"appCreditWantedDeprecated",type:"uint256"},{internalType:"int256",name:"appCreditUsed",type:"int256"},{internalType:"address",name:"appAddress",type:"address"},{internalType:"contract ISuperfluidToken",name:"appCreditToken",type:"address"}],internalType:"struct ISuperfluid.Context",name:"context",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"operationType",type:"uint32"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ISuperfluid.Operation[]",name:"operations",type:"tuple[]"}],name:"forwardBatchCall",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"getAgreementClass",outputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"appAddr",type:"address"}],name:"getAppCallbackLevel",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"getAppManifest",outputs:[{internalType:"bool",name:"isSuperApp",type:"bool"},{internalType:"bool",name:"isJailed",type:"bool"},{internalType:"uint256",name:"noopMask",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getGovernance",outputs:[{internalType:"contract ISuperfluidGovernance",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getNow",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenFactory",outputs:[{internalType:"contract ISuperTokenFactory",name:"factory",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenFactoryLogic",outputs:[{internalType:"address",name:"logic",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidGovernance",name:"gov",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"}],name:"isAgreementClassListed",outputs:[{internalType:"bool",name:"yes",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"isAgreementTypeListed",outputs:[{internalType:"bool",name:"yes",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"isApp",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"isAppJailed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"contract ISuperApp",name:"targetApp",type:"address"}],name:"isCompositeAppAllowed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"isCtxValid",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"forwarder",type:"address"}],name:"isTrustedForwarder",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"jailApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"reason",type:"uint256"}],name:"jailApp",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"}],name:"mapAgreementClasses",outputs:[{internalType:"contract ISuperAgreement[]",name:"agreementClasses",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClassLogic",type:"address"}],name:"registerAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerAppByFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"configWord",type:"uint256"},{internalType:"string",name:"registrationKey",type:"string"}],name:"registerAppWithKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"},{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"removeFromAgreementClassesBitmap",outputs:[{internalType:"uint256",name:"newBitmap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidGovernance",name:"newGov",type:"address"}],name:"replaceGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"dataWithPlaceHolderCtx",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"testCtxFuncX",outputs:[{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClassLogic",type:"address"}],name:"updateAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperTokenFactory",name:"newFactory",type:"address"}],name:"updateSuperTokenFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newLogicOverride",type:"address"}],name:"updateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"versionRecipient",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"}],zw="0x60c06040523480156200001157600080fd5b5060405162005b3438038062005b3483398101604081905262000034916200005b565b901515608052151560a05262000093565b805180151581146200005657600080fd5b919050565b600080604083850312156200006f57600080fd5b6200007a8362000045565b91506200008a6020840162000045565b90509250929050565b60805160a051615a35620000ff60003960008181610824015281816121300152818161260c015281816128bc0152612b3c015260008181610a6801528181610bcc01528181610eed015281816115260152818161165e015281816117bd0152612a640152615a356000f3fe60806040526004361061036b5760003560e01c80638ceddd7a116101c6578063bd3252c8116100f7578063e8dccb7d11610095578063f37330521161006f578063f373305214610afc578063f539866114610b1c578063f9f522f414610b3c578063fa6e0cfe14610b7957600080fd5b8063e8dccb7d14610a8a578063eb5bf90114610ab9578063f2e55caf14610ae757600080fd5b8063c56a069d116100d1578063c56a069d146109d7578063c60944a614610a04578063c6ae797314610a24578063cd312ec414610a5657600080fd5b8063bd3252c814610982578063bf42873414610997578063c4d66de8146109b757600080fd5b8063b6d200de11610164578063bb84cfa11161013e578063bb84cfa1146108e6578063bbe4fd501461092f578063bced3ddc14610942578063bd1c448b1461096257600080fd5b8063b6d200de14610886578063b724211e146108a6578063ba48b5f8146108c657600080fd5b80639903ad38116101a05780639903ad38146107fd5780639d297e3014610812578063a5dbbbcd14610846578063ad3915c81461086657600080fd5b80638ceddd7a146107805780639378fa13146107ab578063989b0c3e146107dd57600080fd5b806350d75d25116102a05780636ad3ca7d1161023e578063731aed6e11610218578063731aed6e1461070257806374041e0214610720578063768fabb0146107405780638ca484841461076057600080fd5b80636ad3ca7d146106af5780636b4f3335146106c25780637283100c146106e257600080fd5b806357121e0c1161027a57806357121e0c1461062f578063572b6c051461064f57806359a291411461066f578063670e77e31461068f57600080fd5b806350d75d25146105bd57806352d1902d146105d257806354fbc4931461060f57600080fd5b806333d608f11161030d5780633f6c923a116102e75780633f6c923a146105175780634329d293146105445780634695195414610572578063486ff0cd1461059257600080fd5b806333d608f11461048057806339255d5b146104af5780633ca3ad4e146104cf57600080fd5b80631e6d0a84116103495780631e6d0a84146103d25780631e855cf314610408578063289b3c0d14610428578063335118631461046057600080fd5b806306cecba8146103705780630c5650751461039257806315a024e1146103b2575b600080fd5b34801561037c57600080fd5b5061039061038b36600461475d565b610b99565b005b34801561039e57600080fd5b506103906103ad366004614781565b610d70565b3480156103be57600080fd5b506103906103cd36600461475d565b610e00565b3480156103de57600080fd5b506103f26103ed366004614810565b611050565b6040516103ff91906148f6565b60405180910390f35b34801561041457600080fd5b506103f26104233660046149cc565b61129c565b34801561043457600080fd5b506000546201000090046001600160a01b03165b6040516001600160a01b0390911681526020016103ff565b34801561046c57600080fd5b5061039061047b36600461475d565b6112b4565b34801561048c57600080fd5b50610497622dc6c081565b6040516001600160401b0390911681526020016103ff565b3480156104bb57600080fd5b506103f26104ca366004614a1b565b6112c3565b3480156104db57600080fd5b506105076104ea36600461475d565b6001600160a01b0316600090815260046020526040902054151590565b60405190151581526020016103ff565b34801561052357600080fd5b50610537610532366004614a90565b6112d9565b6040516103ff9190614ac4565b34801561055057600080fd5b5061056461055f366004614ba5565b6112ea565b6040516103ff929190614c51565b34801561057e57600080fd5b5061039061058d36600461475d565b6114f3565b34801561059e57600080fd5b50604080518082019091526002815261763160f01b60208201526103f2565b3480156105c957600080fd5b506104486115ec565b3480156105de57600080fd5b507fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba745b6040519081526020016103ff565b34801561061b57600080fd5b5061039061062a36600461475d565b61161b565b34801561063b57600080fd5b5061039061064a36600461475d565b61189e565b34801561065b57600080fd5b5061050761066a36600461475d565b61196c565b34801561067b57600080fd5b506103f261068a366004614c76565b6119f6565b34801561069b57600080fd5b506103906106aa366004614cc1565b611ad8565b6103906106bd366004614cc1565b611aee565b3480156106ce57600080fd5b506105076106dd36600461475d565b611af9565b3480156106ee57600080fd5b506103906106fd36600461475d565b611b1d565b34801561070e57600080fd5b506003546001600160a01b0316610448565b34801561072c57600080fd5b506103f261073b366004614810565b611bc5565b34801561074c57600080fd5b506103f261075b366004614d35565b611d14565b34801561076c57600080fd5b5061050761077b36600461475d565b611eb0565b34801561078c57600080fd5b5061079661010081565b60405163ffffffff90911681526020016103ff565b3480156107b757600080fd5b506107cb6107c636600461475d565b611f75565b60405160ff90911681526020016103ff565b3480156107e957600080fd5b506103f26107f8366004614c76565b611f96565b34801561080957600080fd5b50610390612029565b34801561081e57600080fd5b506105077f000000000000000000000000000000000000000000000000000000000000000081565b34801561085257600080fd5b50610601610861366004614db0565b6120e4565b34801561087257600080fd5b50610390610881366004614dd2565b61212e565b34801561089257600080fd5b506104486108a1366004614dd2565b612182565b3480156108b257600080fd5b506103f26108c1366004614deb565b6121e9565b3480156108d257600080fd5b506103f26108e1366004614e47565b6122aa565b3480156108f257600080fd5b50610507610901366004614781565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561093b57600080fd5b5042610601565b34801561094e57600080fd5b5061060161095d366004614db0565b6125c1565b34801561096e57600080fd5b5061039061097d366004614ec9565b61260a565b34801561098e57600080fd5b50610601600181565b3480156109a357600080fd5b506105076109b2366004614f14565b612680565b3480156109c357600080fd5b506103906109d236600461475d565b6126c1565b3480156109e357600080fd5b506109f76109f2366004614dd2565b6127a5565b6040516103ff9190614f55565b348015610a1057600080fd5b50610390610a1f366004614fa2565b61288f565b348015610a3057600080fd5b50610a44610a3f366004614fce565b61290e565b6040516103ff96959493929190615098565b348015610a6257600080fd5b506105077f000000000000000000000000000000000000000000000000000000000000000081565b348015610a9657600080fd5b50610507610aa5366004614dd2565b600090815260026020526040902054151590565b348015610ac557600080fd5b50610ad9610ad4366004614ec9565b6129fb565b6040516103ff9291906150f1565b348015610af357600080fd5b50610448612a47565b348015610b0857600080fd5b50610390610b17366004614fa2565b612b0f565b348015610b2857600080fd5b506103f2610b3736600461510a565b612c1a565b348015610b4857600080fd5b50610b5c610b5736600461475d565b612d12565b6040805193151584529115156020840152908201526060016103ff565b348015610b8557600080fd5b50610390610b94366004614781565b612d61565b6000546201000090046001600160a01b03163314610bca576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610c09576040516314f72c9f60e01b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6d9190615175565b600081815260026020526040812054919250819003610c9f57604051630e4f4df560e11b815260040160405180910390fd5b60006001610cad81846151a4565b81548110610cbd57610cbd6151b7565b6000918252602090912001546040516311a5465560e21b81526001600160a01b03868116600483015290911691508190634695195490602401600060405180830381600087803b158015610d1057600080fd5b505af1158015610d24573d6000803e3d6000fd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b6000546201000090046001600160a01b03163314610da1576040516362e9152760e11b815260040160405180910390fd5b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f28397090602401600060405180830381600087803b158015610de457600080fd5b505af1158015610df8573d6000803e3d6000fd5b505050505050565b6000546201000090046001600160a01b03163314610e31576040516362e9152760e11b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e959190615175565b60008181526002602052604090205490915015610ec557604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610ee957604051630f85034f60e31b815260040160405180910390fd5b60007f0000000000000000000000000000000000000000000000000000000000000000610fa3576000604051610f1e906146e0565b604051809103906000f080158015610f3a573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef90602401600060405180830381600087803b158015610f8257600080fd5b505af1158015610f96573d6000803e3d6000fd5b5050505080915050610fa6565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055546000838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d19061104390849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b606061105b33611eb0565b6110785760405163619c535960e01b815260040160405180910390fd5b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110ba9250839150612ec49050565b6110c6576110c66151cd565b6000806111408a6000898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612ee492505050565b9150915081156112555761115381613036565b156111ed578080602001905181019061116c9190615228565b935061117784612ec4565b6111e857866111a15760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296506111e892508c91506014905061308a565b61128f565b8661120e5760405163a85ba64f60e01b815260166004820152602401611198565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296506111e892508c91506016905061308a565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b60606112ab338460008561310b565b90505b92915050565b6112c081611b1e61308a565b50565b60606112d133858585613348565b949350505050565b6112e16146ed565b6112ae82613459565b60608083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061132f9250839150612ec49050565b61134f5760405163a85ba64f60e01b815260146004820152602401611198565b8961135981611eb0565b6113765760405163619c535960e01b815260040160405180910390fd5b60006113b787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506112d992505050565b6101208101519091506001600160a01b031633146113e85760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b908190840183828082843760009201919091525050505060a083015261143482613524565b9550600061147a8e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508c91506136589050565b9650905080156114d957858060200190518101906114989190615228565b96506114a387612ec4565b6114af576114af6151cd565b6114b8876112d9565b6001600160a01b038316606082015292506114d283613524565b96506114e2565b6114e286613713565b505050505097509795505050505050565b6000546201000090046001600160a01b03163314611524576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015611563576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c5919061525c565b156115e35760405163474e764160e01b815260040160405180910390fd5b6112c08161381e565b60006116167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000546201000090046001600160a01b0316331461164c576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b03166117bb577f000000000000000000000000000000000000000000000000000000000000000061173257600060405161168f906146e0565b604051809103906000f0801580156116ab573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef90602401600060405180830381600087803b1580156116f357600080fd5b505af1158015611707573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b0394909416939093179092555061174e9050565b600380546001600160a01b0319166001600160a01b0383161790555b600360009054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561179e57600080fd5b505af11580156117b2573d6000803e3d6000fd5b5050505061185a565b7f0000000000000000000000000000000000000000000000000000000000000000156117fa576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b03838116600483015290911690634695195490602401600060405180830381600087803b15801561184157600080fd5b505af1158015611855573d6000803e3d6000fd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b336000818152600460205260409020546118cb576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b03821660009081526004602052604090205461190157604051634b5518af60e11b815260040160405180910390fd5b61190a82611f75565b60ff1661191682611f75565b60ff161161193757604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081166000908152600560209081526040808320949093168252929092529020805460ff19166001179055565b600080546201000090046001600160a01b03166380f70cba308361198f86613a58565b6040518463ffffffff1660e01b81526004016119ad93929190615279565b602060405180830381865afa1580156119ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ee9190615175565b151592915050565b6060611a0133611eb0565b611a1e5760405163619c535960e01b815260040160405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a609250839150612ec49050565b611a6c57611a6c6151cd565b6000611aad86868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506112d992505050565b9050838161010001818151611ac2919061529d565b905250611ace81613524565b9695505050505050565b611aea611ae3613ae0565b8383613b48565b5050565b611aea338383613b48565b6001600160a01b0381166000908152600460205260408120546180001615156112ae565b6000546201000090046001600160a01b03163314611b4e576040516362e9152760e11b815260040160405180910390fd5b600054604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a1600080546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6060611bd033611eb0565b611bed5760405163619c535960e01b815260040160405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611c2f9250839150612ec49050565b611c3b57611c3b6151cd565b600080611cb58a6001898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612ee492505050565b91509150811561128f57611cc881613036565b15611ce85780806020019051810190611ce19190615228565b935061128f565b86611d095760405163a85ba64f60e01b815260166004820152602401611198565b61128f8a601661308a565b6060611d1f33611eb0565b611d3c5760405163619c535960e01b815260040160405180910390fd5b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d7e9250839150612ec49050565b611d8a57611d8a6151cd565b6000611dcb89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506112d992505050565b9050611df281606001516001600160a01b0316600090815260046020526040902054151590565b8015611e0657506001816000015160ff1610155b15611e595760608101516001600160a01b039081166000908152600560209081526040808320938b168352929052205460ff16611e595760405163a85ba64f60e01b8152601e6004820152602401611198565b805181611e65826152c5565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b038088166101208301528416610140820152611ea381613524565b9998505050505050505050565b600080826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ef1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f159190615175565b60008181526002602052604090205490915080158015906112d157506001600160a01b0384166001611f4781846151a4565b81548110611f5757611f576151b7565b6000918252602090912001546001600160a01b031614949350505050565b6001600160a01b03811660009081526004602052604081205460ff166112ae565b6060611fa133611eb0565b611fbe5760405163619c535960e01b815260040160405180910390fd5b6000611fff85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506112d992505050565b9050828161010001818151612014919061529d565b90525061202081613524565b95945050505050565b600054610100900460ff16158080156120495750600054600160ff909116105b806120635750303b158015612063575060005460ff166001145b61207f5760405162461bcd60e51b8152600401611198906152e4565b6000805460ff1916600117905580156120a2576000805461ff0019166101001790555b80156112c0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611893565b60008181526002602052604081205480820361211357604051630e4f4df560e11b815260040160405180910390fd5b61211e6001826151a4565b6001901b19841691505092915050565b7f00000000000000000000000000000000000000000000000000000000000000001561217857612178604051806040016040528060028152602001616b3160f01b815250326142ec565b6112c03382614395565b6000818152600260205260408120548082036121b157604051630e4f4df560e11b815260040160405180910390fd5b60016121bd81836151a4565b815481106121cd576121cd6151b7565b6000918252602090912001546001600160a01b03169392505050565b60606121f433611eb0565b6122115760405163619c535960e01b815260040160405180910390fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122539250839150612ec49050565b61225f5761225f6151cd565b612269848461308a565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929998505050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122ee9250839150612ec49050565b61230e5760405163a85ba64f60e01b815260146004820152602401611198565b6001600160a01b03871660009081526004602052604081205488918190036123495760405163163cbe4360e01b815260040160405180910390fd5b61800081161561236b57604051628e12d960e21b815260040160405180910390fd5b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092506123ac9150839050614464565b90506001600160e01b031981166330d9c91560e01b14806123dd57506001600160e01b0319811663d86ed3e560e01b145b806123f857506001600160e01b03198116630221347d60e61b145b8061241357506001600160e01b0319811663230dbd2960e01b145b8061242e57506001600160e01b03198116635f9e7d7760e01b145b8061244957506001600160e01b031981166353c11f9960e01b145b15612467576040516377a14afb60e11b815260040160405180910390fd5b60006124a889898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506112d992505050565b6101208101519091506001600160a01b031633146124d9576040516311cfdef560e21b815260040160405180910390fd5b606081018051339091526124ec82613524565b97506000806125338f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508f91506136589050565b9150915081156125a657808060200190518101906125519190615228565b995061255c8a612ec4565b61257c5760405163a85ba64f60e01b815260146004820152602401611198565b6125858a6112d9565b6001600160a01b0384166060820152935061259f84613524565b99506125af565b6125af81613713565b50505050505050505095945050505050565b6000818152600260205260408120548082036125f057604051630e4f4df560e11b815260040160405180910390fd5b6125fb6001826151a4565b6001901b841791505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156126715761267182828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152503292506142ec915050565b61267b3384614395565b505050565b60006112ab83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612ec492505050565b600054610100900460ff16158080156126e15750600054600160ff909116105b806126fb5750303b1580156126fb575060005460ff166001145b6127175760405162461bcd60e51b8152600401611198906152e4565b6000805460ff19166001179055801561273a576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015611aea576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60606000806001805490506001600160401b038111156127c7576127c7614909565b6040519080825280602002602001820160405280156127f0578160200160208202803683370190505b50925060009050600091505b600154821015612887576001821b8416156128775760018281548110612824576128246151b7565b6000918252602090912001546001600160a01b0316838261284481615332565b935081518110612856576128566151b7565b60200260200101906001600160a01b031690816001600160a01b0316815250505b61288082615332565b91506127fc565b825250919050565b816001600160a01b03163b6000036128ba5760405163353dacc360e21b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000001561290457612904604051806040016040528060028152602001616b3160f01b815250336142ec565b611aea8282614395565b600080600060608060608e8e8e8e8e8e8e8e8e85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f890181900481028201810190925287815293995096975094959394509192909150859085908190840183828082843760009201919091525050604080516020601f87018190048102820181019092528581529397509495509293919250849184915081908401838280828437600092019190915250999f50979d50959b50939950919750919550505050505099509950995099509950999350505050565b6000606084848481818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b929a509198505050505050505050565b6003546000906001600160a01b0316612a6257612a626151cd565b7f000000000000000000000000000000000000000000000000000000000000000015612a9857506003546001600160a01b031690565b600360009054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611616919061534b565b816001600160a01b03163b600003612b3a5760405163353dacc360e21b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015612904576000612b6b336144c0565b6000805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba90612baa90309085908790600401615279565b602060405180830381865afa158015612bc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612beb9190615175565b600114905080612c0e57604051630b56455f60e41b815260040160405180910390fd5b5050611aea8282614395565b60606000612c9186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a01819004810282018101909252888152925088915087908190840183828082843760009201919091525061453a92505050565b90506000306001600160a01b031682604051612cad9190615368565b600060405180830381855afa9150503d8060008114612ce8576040519150601f19603f3d011682016040523d82523d6000602084013e612ced565b606091505b50935090508015612cff5750506112d1565b612d0883613713565b5050949350505050565b6001600160a01b038116600090815260046020908152604080832081519283019091525480825215801592918291612d5957805161800081161515935064ff000000001691505b509193909250565b6000546201000090046001600160a01b03163314612d92576040516362e9152760e11b815260040160405180910390fd5b60006001600160a01b038216612e1e57600360009054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612df5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e19919061534b565b612e20565b815b6040516311a5465560e21b81526001600160a01b03808316600483015291925090841690634695195490602401600060405180830381600087803b158015612e6757600080fd5b505af1158015612e7b573d6000803e3d6000fd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd3915060200160405180910390a2505050565b600081516000141580156112ae5750600654825160208401201492915050565b600060606001600160a01b038716612efe57612efe6151cd565b612f08848461453a565b9350622dc6c060005a90508715612f7e57886001600160a01b03168287604051612f329190615368565b6000604051808303818686fa925050503d8060008114612f6e576040519150601f19603f3d011682016040523d82523d6000602084013e612f73565b606091505b509094509250612fe1565b886001600160a01b03168287604051612f979190615368565b60006040518083038160008787f1925050503d8060008114612fd5576040519150601f19603f3d011682016040523d82523d6000602084013e612fda565b606091505b5090945092505b8361302a57612fef816145f1565b61301157866130065761300183613713565b61302a565b61300189600a61308a565b604051636a7aea4b60e11b815260040160405180910390fd5b50509550959350505050565b600060408251101561304a57506000919050565b602082810151906000908214613064575060009392505050565b50604083015161307381614607565b61307e906040615384565b84511492505050919050565b6001600160a01b038216600090815260046020526040812054618000169003611aea576001600160a01b038216600081815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b906130ff9084815260200190565b60405180910390a25050565b600654606090156131325760405163a85ba64f60e01b815260156004820152602401611198565b6001600160a01b038416600090815260046020526040812054859181900361316d5760405163163cbe4360e01b815260040160405180910390fd5b61800081161561318f57604051628e12d960e21b815260040160405180910390fd5b83600061319b82614464565b90506001600160e01b031981166330d9c91560e01b14806131cc57506001600160e01b0319811663d86ed3e560e01b145b806131e757506001600160e01b03198116630221347d60e61b145b8061320257506001600160e01b0319811663230dbd2960e01b145b8061321d57506001600160e01b03198116635f9e7d7760e01b145b8061323857506001600160e01b031981166353c11f9960e01b145b15613256576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182526000808252600260208084019190915242838501526001600160a01b03808e16606085015260808401839052845191820190945281815260a083015260c0820181905260e082018190526101008201819052918a1661012082015261014081018290526132cd90613524565b905060006132dd8a898b85613658565b97509050801561332b57868060200190518101906132fb9190615228565b915061330682612ec4565b6133265760405163a85ba64f60e01b815260146004820152602401611198565b613334565b61333487613713565b505060006006555092979650505050505050565b6006546060901561336f5760405163a85ba64f60e01b815260156004820152602401611198565b8361337981611eb0565b6133965760405163619c535960e01b815260040160405180910390fd5b60006133a185614464565b60408051610160810182526000808252600160208301529293506134249181014281526020018a6001600160a01b03168152602001846001600160e01b031916815260200187815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815250613524565b905060006134358888600085613658565b95509050806134475761344785613713565b50506000600655509095945050505050565b6134616146ed565b606080838060200190518101906134789190615397565b8151919350915060009061349590840160209081019085016153f0565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff90911685528251600092506134e6919084018101908401615474565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b60606001826000015160ff1611156135525760405163a85ba64f60e01b815260286004820152602401611198565b815160208084015160009260ff1664ff000000009190921b161790506000608061357f8560e00151614640565b6001600160801b0316901b6135978560c00151614640565b6001600160801b0316179050818460400151856060015186608001518760a001516040516020016135cc9594939291906154bf565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f19818403018152908290526136369291602001614c51565b60408051601f1981840301815291905280516020820120600655949350505050565b600060606001600160a01b038616613672576136726151cd565b61367c858461453a565b9450856001600160a01b031684866040516136979190615368565b60006040518083038185875af1925050503d80600081146136d4576040519150601f19603f3d011682016040523d82523d6000602084013e6136d9565b606091505b509092509050811561370a57805160000361370a5760405163a85ba64f60e01b815260166004820152602401611198565b94509492505050565b6004815110156137655760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a207461726765742072657665727428290000000000006044820152606401611198565b602081015163b1b7848f60e01b6001600160e01b03198216016138155760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b8152919291611198918491016148f6565b81518060208401fd5b60006138487f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b03160361389e5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611198565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156138dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139009190615175565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba741461397a5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611198565b6001600160a01b03811630036139d25760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611198565b6139fa817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b038416602083015201611893565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b600060183610801590613af75750613af73361196c565b613b3b5760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b6044820152606401611198565b5060131936013560601c90565b6000805b828110156142a5576000848483818110613b6857613b686151b7565b9050602002810190613b7a919061550b565b613b88906020810190615521565b905060001963ffffffff821601613c7c57600080868685818110613bae57613bae6151b7565b9050602002810190613bc0919061550b565b613bce906040810190615547565b810190613bdb9190614fa2565b91509150868685818110613bf157613bf16151b7565b9050602002810190613c03919061550b565b613c1490604081019060200161475d565b6001600160a01b03166362aa52878984846040518463ffffffff1660e01b8152600401613c4393929190615279565b600060405180830381600087803b158015613c5d57600080fd5b505af1158015613c71573d6000803e3d6000fd5b505050505050614294565b60011963ffffffff821601613d87576000806000878786818110613ca257613ca26151b7565b9050602002810190613cb4919061550b565b613cc2906040810190615547565b810190613ccf919061558d565b925092509250878786818110613ce757613ce76151b7565b9050602002810190613cf9919061550b565b613d0a90604081019060200161475d565b604051630b682aeb60e11b81526001600160a01b038b81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b600060405180830381600087803b158015613d6757600080fd5b505af1158015613d7b573d6000803e3d6000fd5b50505050505050614294565b60021963ffffffff821601613e46576000806000878786818110613dad57613dad6151b7565b9050602002810190613dbf919061550b565b613dcd906040810190615547565b810190613dda91906155ce565b925092509250878786818110613df257613df26151b7565b9050602002810190613e04919061550b565b613e1590604081019060200161475d565b6001600160a01b031663ca0c1e7f8a8585856040518563ffffffff1660e01b8152600401613d4d949392919061561c565b60031963ffffffff821601613eff57600080868685818110613e6a57613e6a6151b7565b9050602002810190613e7c919061550b565b613e8a906040810190615547565b810190613e979190614fa2565b91509150868685818110613ead57613ead6151b7565b9050602002810190613ebf919061550b565b613ed090604081019060200161475d565b6001600160a01b0316634b2763b38984846040518463ffffffff1660e01b8152600401613c4393929190615279565b60041963ffffffff821601613fb857600080868685818110613f2357613f236151b7565b9050602002810190613f35919061550b565b613f43906040810190615547565b810190613f509190614fa2565b91509150868685818110613f6657613f666151b7565b9050602002810190613f78919061550b565b613f8990604081019060200161475d565b6001600160a01b031663c780fd828984846040518463ffffffff1660e01b8152600401613c4393929190615279565b60641963ffffffff8216016140ad57848483818110613fd957613fd96151b7565b9050602002810190613feb919061550b565b613ffc90604081019060200161475d565b6001600160a01b031663ca7894648787878681811061401d5761401d6151b7565b905060200281019061402f919061550b565b61403d906040810190615547565b81019061404a9190614dd2565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561409057600080fd5b505af11580156140a4573d6000803e3d6000fd5b50505050614294565b60651963ffffffff821601614112578484838181106140ce576140ce6151b7565b90506020028101906140e0919061550b565b6140f190604081019060200161475d565b6001600160a01b031663245887fc8787878681811061401d5761401d6151b7565b60c81963ffffffff8216016141af57600080868685818110614136576141366151b7565b9050602002810190614148919061550b565b614156906040810190615547565b810190614163919061564f565b915091506141a78888888781811061417d5761417d6151b7565b905060200281019061418f919061550b565b6141a090604081019060200161475d565b8484613348565b505050614294565b60c91963ffffffff82160161427b57614271868686858181106141d4576141d46151b7565b90506020028101906141e6919061550b565b6141f790604081019060200161475d565b856142025734614205565b60005b888887818110614217576142176151b7565b9050602002810190614229919061550b565b614237906040810190615547565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061310b92505050565b5060019250614294565b60405163b477011560e01b815260040160405180910390fd5b5061429e81615332565b9050613b4c565b5034158015906142b3575080155b156142e65760405133903480156108fc02916000818181858888f193505050501580156142e4573d6000803e3d6000fd5b505b50505050565b60006142f882846146ad565b6000805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba916143359130918790600401615279565b602060405180830381865afa158015614352573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143769190615175565b101561267b57604051630b56455f60e41b815260040160405180910390fd5b64ff000080ff1981161515806143ac575060ff8116155b806143ba5750618000811615155b156143d857604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b0382166000908152600460205260409020541561440f576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528382526001600160a01b038516600081815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a25050565b60006004825110156144b85760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c4461746100000000006044820152606401611198565b506020015190565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c001613ac3565b815180830151606091908015614563576040516367e9985b60e01b815260040160405180910390fd5b50601f198101845282518490848161457a81614607565b61458491906151a4565b6001600160401b0381111561459b5761459b614909565b6040519080825280601f01601f1916602001820160405280156145c5576020820181803683370190505b506040516020016145d994939291906156a8565b60405160208183030381529060405291505092915050565b60006145fe603f836156f7565b5a111592915050565b60008082601f161161461a57600061461d565b60015b60ff1661462b6020846156f7565b6146359190615384565b6112ae906020615719565b60006001600160801b038211156146a95760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401611198565b5090565b600082826040516020016146c2929190615730565b60405160208183030381529060405280519060200120905092915050565b61024a806157b683390190565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b03811681146112c057600080fd5b60006020828403121561476f57600080fd5b813561477a81614748565b9392505050565b6000806040838503121561479457600080fd5b823561479f81614748565b915060208301356147af81614748565b809150509250929050565b60008083601f8401126147cc57600080fd5b5081356001600160401b038111156147e357600080fd5b6020830191508360208285010111156147fb57600080fd5b9250929050565b80151581146112c057600080fd5b6000806000806000806080878903121561482957600080fd5b863561483481614748565b955060208701356001600160401b038082111561485057600080fd5b61485c8a838b016147ba565b90975095506040890135915061487182614802565b9093506060880135908082111561488757600080fd5b5061489489828a016147ba565b979a9699509497509295939492505050565b60005b838110156148c15781810151838201526020016148a9565b50506000910152565b600081518084526148e28160208601602086016148a6565b601f01601f19169290920160200192915050565b6020815260006112ab60208301846148ca565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561494757614947614909565b604052919050565b60006001600160401b0382111561496857614968614909565b50601f01601f191660200190565b600082601f83011261498757600080fd5b813561499a6149958261494f565b61491f565b8181528460208386010111156149af57600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156149df57600080fd5b82356149ea81614748565b915060208301356001600160401b03811115614a0557600080fd5b614a1185828601614976565b9150509250929050565b600080600060608486031215614a3057600080fd5b8335614a3b81614748565b925060208401356001600160401b0380821115614a5757600080fd5b614a6387838801614976565b93506040860135915080821115614a7957600080fd5b50614a8686828701614976565b9150509250925092565b600060208284031215614aa257600080fd5b81356001600160401b03811115614ab857600080fd5b6112d184828501614976565b60208152614ad860208201835160ff169052565b60006020830151614aee604084018260ff169052565b50604083015160608301526060830151614b1360808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a08301516101608060c0850152614b466101808501836148ca565b915060c085015160e085015260e0850151610100818187015280870151915050610120818187015280870151915050610140614b8c818701836001600160a01b03169052565b909501516001600160a01b031693019290925250919050565b60008060008060008060006080888a031215614bc057600080fd5b8735614bcb81614748565b965060208801356001600160401b0380821115614be757600080fd5b614bf38b838c016147ba565b909850965060408a0135915080821115614c0c57600080fd5b614c188b838c016147ba565b909650945060608a0135915080821115614c3157600080fd5b50614c3e8a828b016147ba565b989b979a50959850939692959293505050565b604081526000614c6460408301856148ca565b828103602084015261202081856148ca565b600080600060408486031215614c8b57600080fd5b83356001600160401b03811115614ca157600080fd5b614cad868287016147ba565b909790965060209590950135949350505050565b60008060208385031215614cd457600080fd5b82356001600160401b0380821115614ceb57600080fd5b818501915085601f830112614cff57600080fd5b813581811115614d0e57600080fd5b8660208260051b8501011115614d2357600080fd5b60209290920196919550909350505050565b60008060008060008060a08789031215614d4e57600080fd5b86356001600160401b03811115614d6457600080fd5b614d7089828a016147ba565b9097509550506020870135614d8481614748565b935060408701359250606087013591506080870135614da281614748565b809150509295509295509295565b60008060408385031215614dc357600080fd5b50508035926020909101359150565b600060208284031215614de457600080fd5b5035919050565b60008060008060608587031215614e0157600080fd5b84356001600160401b03811115614e1757600080fd5b614e23878288016147ba565b9095509350506020850135614e3781614748565b9396929550929360400135925050565b600080600080600060608688031215614e5f57600080fd5b8535614e6a81614748565b945060208601356001600160401b0380821115614e8657600080fd5b614e9289838a016147ba565b90965094506040880135915080821115614eab57600080fd5b50614eb8888289016147ba565b969995985093965092949392505050565b600080600060408486031215614ede57600080fd5b8335925060208401356001600160401b03811115614efb57600080fd5b614f07868287016147ba565b9497909650939450505050565b60008060208385031215614f2757600080fd5b82356001600160401b03811115614f3d57600080fd5b614f49858286016147ba565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b81811015614f965783516001600160a01b031683529284019291840191600101614f71565b50909695505050505050565b60008060408385031215614fb557600080fd5b8235614fc081614748565b946020939093013593505050565b600080600080600080600080600060c08a8c031215614fec57600080fd5b8935614ff781614748565b985060208a013561500781614748565b975060408a0135965060608a01356001600160401b038082111561502a57600080fd5b6150368d838e016147ba565b909850965060808c013591508082111561504f57600080fd5b61505b8d838e016147ba565b909650945060a08c013591508082111561507457600080fd5b506150818c828d016147ba565b915080935050809150509295985092959850929598565b6001600160a01b038781168252861660208201526040810185905260c0606082018190526000906150cb908301866148ca565b82810360808401526150dd81866148ca565b905082810360a0840152611ea381856148ca565b8281526040602082015260006112d160408301846148ca565b6000806000806040858703121561512057600080fd5b84356001600160401b038082111561513757600080fd5b615143888389016147ba565b9096509450602087013591508082111561515c57600080fd5b50615169878288016147ba565b95989497509550505050565b60006020828403121561518757600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156112ae576112ae61518e565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b600082601f8301126151f457600080fd5b81516152026149958261494f565b81815284602083860101111561521757600080fd5b6112d18260208301602087016148a6565b60006020828403121561523a57600080fd5b81516001600160401b0381111561525057600080fd5b6112d1848285016151e3565b60006020828403121561526e57600080fd5b815161477a81614802565b6001600160a01b039384168152919092166020820152604081019190915260600190565b80820182811260008312801582168215821617156152bd576152bd61518e565b505092915050565b600060ff821660ff81036152db576152db61518e565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000600182016153445761534461518e565b5060010190565b60006020828403121561535d57600080fd5b815161477a81614748565b6000825161537a8184602087016148a6565b9190910192915050565b808201808211156112ae576112ae61518e565b600080604083850312156153aa57600080fd5b82516001600160401b03808211156153c157600080fd5b6153cd868387016151e3565b935060208501519150808211156153e357600080fd5b50614a11858286016151e3565b600080600080600060a0868803121561540857600080fd5b8551945060208601519350604086015161542181614748565b60608701519093506001600160e01b03198116811461543f57600080fd5b60808701519092506001600160401b0381111561545b57600080fd5b615467888289016151e3565b9150509295509295909350565b6000806000806080858703121561548a57600080fd5b845193506020850151925060408501516154a381614748565b60608601519092506154b481614748565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a060808201819052600090615500908301846148ca565b979650505050505050565b60008235605e1983360301811261537a57600080fd5b60006020828403121561553357600080fd5b813563ffffffff8116811461477a57600080fd5b6000808335601e1984360301811261555e57600080fd5b8301803591506001600160401b0382111561557857600080fd5b6020019150368190038213156147fb57600080fd5b6000806000606084860312156155a257600080fd5b83356155ad81614748565b925060208401356155bd81614748565b929592945050506040919091013590565b6000806000606084860312156155e357600080fd5b83356155ee81614748565b92506020840135915060408401356001600160401b0381111561561057600080fd5b614a8686828701614976565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611ace908301846148ca565b6000806040838503121561566257600080fd5b82356001600160401b038082111561567957600080fd5b61568586838701614976565b9350602085013591508082111561569b57600080fd5b50614a1185828601614976565b6000855160206156bb8285838b016148a6565b818401915086825285516156d481838501848a016148a6565b85519201916156e8818385018489016148a6565b91909101019695505050505050565b60008261571457634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176112ae576112ae61518e565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e0604082015260006112d160e08301846148ca56fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033a26469706673582212203faeef86de72d15e4348a83a911e01bcb17e2a9b6365e46d4775e9558b51f12664736f6c63430008130033",zM=eb=>eb.length>1;class zC extends uw.lV{constructor(...eb){zM(eb)?super(...eb):super(zV,zw,eb[0])}deploy(eb,em,eH){return super.deploy(eb,em,eH||{})}getDeployTransaction(eb,em,eH){return super.getDeployTransaction(eb,em,eH||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(zV)}static connect(eb,em){return new uw.CH(eb,zV,em)}}zC.bytecode=zw,zC.abi=zV;let zx=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"uint256",name:"_code",type:"uint256"}],name:"APP_RULE",type:"error"},{inputs:[],name:"HOST_AGREEMENT_ALREADY_REGISTERED",type:"error"},{inputs:[],name:"HOST_AGREEMENT_CALLBACK_IS_NOT_ACTION",type:"error"},{inputs:[],name:"HOST_AGREEMENT_IS_NOT_REGISTERED",type:"error"},{inputs:[],name:"HOST_CALL_AGREEMENT_WITH_CTX_FROM_WRONG_ADDRESS",type:"error"},{inputs:[],name:"HOST_CALL_APP_ACTION_WITH_CTX_FROM_WRONG_ADDRESS",type:"error"},{inputs:[],name:"HOST_CANNOT_DOWNGRADE_TO_NON_UPGRADEABLE",type:"error"},{inputs:[],name:"HOST_INVALID_CONFIG_WORD",type:"error"},{inputs:[],name:"HOST_MAX_256_AGREEMENTS",type:"error"},{inputs:[],name:"HOST_MUST_BE_CONTRACT",type:"error"},{inputs:[],name:"HOST_NEED_MORE_GAS",type:"error"},{inputs:[],name:"HOST_NON_UPGRADEABLE",type:"error"},{inputs:[],name:"HOST_NON_ZERO_LENGTH_PLACEHOLDER_CTX",type:"error"},{inputs:[],name:"HOST_NOT_A_SUPER_APP",type:"error"},{inputs:[],name:"HOST_NO_APP_REGISTRATION_PERMISSION",type:"error"},{inputs:[],name:"HOST_ONLY_GOVERNANCE",type:"error"},{inputs:[],name:"HOST_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"HOST_RECEIVER_IS_NOT_SUPER_APP",type:"error"},{inputs:[],name:"HOST_SENDER_IS_NOT_SUPER_APP",type:"error"},{inputs:[],name:"HOST_SOURCE_APP_NEEDS_HIGHER_APP_LEVEL",type:"error"},{inputs:[],name:"HOST_SUPER_APP_ALREADY_REGISTERED",type:"error"},{inputs:[],name:"HOST_SUPER_APP_IS_JAILED",type:"error"},{inputs:[],name:"HOST_UNKNOWN_BATCH_CALL_OPERATION_TYPE",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"agreementType",type:"bytes32"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"AgreementClassRegistered",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"agreementType",type:"bytes32"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"AgreementClassUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperApp",name:"app",type:"address"}],name:"AppRegistered",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract ISuperfluidGovernance",name:"oldGov",type:"address"},{indexed:!1,internalType:"contract ISuperfluidGovernance",name:"newGov",type:"address"}],name:"GovernanceReplaced",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperApp",name:"app",type:"address"},{indexed:!1,internalType:"uint256",name:"reason",type:"uint256"}],name:"Jail",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract ISuperTokenFactory",name:"newFactory",type:"address"}],name:"SuperTokenFactoryUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"SuperTokenLogicUpdated",type:"event"},{inputs:[],name:"APP_WHITE_LISTING_ENABLED",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"CALLBACK_GAS_LIMIT",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_APP_CALLBACK_LEVEL",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_NUM_AGREEMENTS",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"NON_UPGRADABLE_DEPLOYMENT",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"},{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"addToAgreementClassesBitmap",outputs:[{internalType:"uint256",name:"newBitmap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"targetApp",type:"address"}],name:"allowCompositeApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"int256",name:"appCreditUsedDelta",type:"int256"}],name:"appCallbackPop",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"appCreditGranted",type:"uint256"},{internalType:"int256",name:"appCreditUsed",type:"int256"},{internalType:"contract ISuperfluidToken",name:"appCreditToken",type:"address"}],name:"appCallbackPush",outputs:[{internalType:"bytes",name:"appCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"operationType",type:"uint32"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ISuperfluid.Operation[]",name:"operations",type:"tuple[]"}],name:"batchCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"callAgreement",outputs:[{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAgreementWithContext",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"},{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],name:"callAppAction",outputs:[{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppActionWithContext",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bool",name:"isTermination",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppAfterCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bool",name:"isTermination",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppBeforeCallback",outputs:[{internalType:"bytes",name:"cbdata",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newAdmin",type:"address"}],name:"changeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"int256",name:"appCreditUsedMore",type:"int256"}],name:"ctxUseCredit",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"decodeCtx",outputs:[{components:[{internalType:"uint8",name:"appCallbackLevel",type:"uint8"},{internalType:"uint8",name:"callType",type:"uint8"},{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"address",name:"msgSender",type:"address"},{internalType:"bytes4",name:"agreementSelector",type:"bytes4"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"uint256",name:"appCreditGranted",type:"uint256"},{internalType:"uint256",name:"appCreditWantedDeprecated",type:"uint256"},{internalType:"int256",name:"appCreditUsed",type:"int256"},{internalType:"address",name:"appAddress",type:"address"},{internalType:"contract ISuperfluidToken",name:"appCreditToken",type:"address"}],internalType:"struct ISuperfluid.Context",name:"context",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"operationType",type:"uint32"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ISuperfluid.Operation[]",name:"operations",type:"tuple[]"}],name:"forwardBatchCall",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"getAgreementClass",outputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"appAddr",type:"address"}],name:"getAppCallbackLevel",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"getAppManifest",outputs:[{internalType:"bool",name:"isSuperApp",type:"bool"},{internalType:"bool",name:"isJailed",type:"bool"},{internalType:"uint256",name:"noopMask",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getGovernance",outputs:[{internalType:"contract ISuperfluidGovernance",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getNow",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenFactory",outputs:[{internalType:"contract ISuperTokenFactory",name:"factory",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenFactoryLogic",outputs:[{internalType:"address",name:"logic",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidGovernance",name:"gov",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"}],name:"isAgreementClassListed",outputs:[{internalType:"bool",name:"yes",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"isAgreementTypeListed",outputs:[{internalType:"bool",name:"yes",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"isApp",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"isAppJailed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"contract ISuperApp",name:"targetApp",type:"address"}],name:"isCompositeAppAllowed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"isCtxValid",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"forwarder",type:"address"}],name:"isTrustedForwarder",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"reason",type:"uint256"}],name:"jailApp",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"}],name:"mapAgreementClasses",outputs:[{internalType:"contract ISuperAgreement[]",name:"agreementClasses",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClassLogic",type:"address"}],name:"registerAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerAppByFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"configWord",type:"uint256"},{internalType:"string",name:"registrationKey",type:"string"}],name:"registerAppWithKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"},{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"removeFromAgreementClassesBitmap",outputs:[{internalType:"uint256",name:"newBitmap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidGovernance",name:"newGov",type:"address"}],name:"replaceGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClassLogic",type:"address"}],name:"updateAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperTokenFactory",name:"newFactory",type:"address"}],name:"updateSuperTokenFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newLogicOverride",type:"address"}],name:"updateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"validateContextStructLayout",outputs:[],stateMutability:"pure",type:"function"},{inputs:[],name:"validateStorageLayout",outputs:[],stateMutability:"pure",type:"function"},{inputs:[],name:"versionRecipient",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"}],zk="0x60c060405234801561001057600080fd5b506000608081905260a0819052806157156100828239600081816107ce0152818161206f0152818161254b015281816127fb01526129420152600081816109e001528181610b1701528181610e38015281816114620152818161159d015281816116fc015261286a01526157156000f3fe6080604052600436106103355760003560e01c80638ceddd7a116101ab578063bd1c448b116100f7578063e8dccb7d11610095578063f99a38c41161006f578063f99a38c414610a66578063f9f522f414610a72578063fa6e0cfe14610aaf578063fbdb0ee214610acf57600080fd5b8063e8dccb7d14610a02578063f2e55caf14610a31578063f373305214610a4657600080fd5b8063c4d66de8116100d1578063c4d66de814610961578063c56a069d14610981578063c60944a6146109ae578063cd312ec4146109ce57600080fd5b8063bd1c448b1461090c578063bd3252c81461092c578063bf4287341461094157600080fd5b8063ad3915c811610164578063ba48b5f81161013e578063ba48b5f814610870578063bb84cfa114610890578063bbe4fd50146108d9578063bced3ddc146108ec57600080fd5b8063ad3915c814610810578063b6d200de14610830578063b724211e1461085057600080fd5b80638ceddd7a1461072a5780639378fa1314610755578063989b0c3e146107875780639903ad38146107a75780639d297e30146107bc578063a5dbbbcd146107f057600080fd5b806350d75d25116102855780636ad3ca7d11610223578063731aed6e116101fd578063731aed6e146106ac57806374041e02146106ca578063768fabb0146106ea5780638ca484841461070a57600080fd5b80636ad3ca7d146106595780636b4f33351461066c5780637283100c1461068c57600080fd5b806357121e0c1161025f57806357121e0c146105d9578063572b6c05146105f957806359a2914114610619578063670e77e31461063957600080fd5b806350d75d251461056757806352d1902d1461057c57806354fbc493146105b957600080fd5b806333d608f1116102f25780633f6c923a116102cc5780633f6c923a146104c15780634329d293146104ee578063469519541461051c578063486ff0cd1461053c57600080fd5b806333d608f11461042a57806339255d5b146104595780633ca3ad4e1461047957600080fd5b806306cecba81461033a5780630c5650751461035c57806315a024e11461037c5780631e6d0a841461039c5780631e855cf3146103d2578063289b3c0d146103f2575b600080fd5b34801561034657600080fd5b5061035a6103553660046145e4565b610ae4565b005b34801561036857600080fd5b5061035a610377366004614608565b610cbb565b34801561038857600080fd5b5061035a6103973660046145e4565b610d4b565b3480156103a857600080fd5b506103bc6103b7366004614697565b610f9b565b6040516103c9919061477d565b60405180910390f35b3480156103de57600080fd5b506103bc6103ed366004614853565b6111e7565b3480156103fe57600080fd5b506000546201000090046001600160a01b03165b6040516001600160a01b0390911681526020016103c9565b34801561043657600080fd5b50610441622dc6c081565b6040516001600160401b0390911681526020016103c9565b34801561046557600080fd5b506103bc6104743660046148a2565b6111ff565b34801561048557600080fd5b506104b16104943660046145e4565b6001600160a01b0316600090815260046020526040902054151590565b60405190151581526020016103c9565b3480156104cd57600080fd5b506104e16104dc366004614917565b611215565b6040516103c9919061494b565b3480156104fa57600080fd5b5061050e610509366004614a2c565b611226565b6040516103c9929190614ad8565b34801561052857600080fd5b5061035a6105373660046145e4565b61142f565b34801561054857600080fd5b50604080518082019091526002815261763160f01b60208201526103bc565b34801561057357600080fd5b5061041261152b565b34801561058857600080fd5b507fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba745b6040519081526020016103c9565b3480156105c557600080fd5b5061035a6105d43660046145e4565b61155a565b3480156105e557600080fd5b5061035a6105f43660046145e4565b6117dd565b34801561060557600080fd5b506104b16106143660046145e4565b6118ab565b34801561062557600080fd5b506103bc610634366004614afd565b611935565b34801561064557600080fd5b5061035a610654366004614b48565b611a17565b61035a610667366004614b48565b611a2d565b34801561067857600080fd5b506104b16106873660046145e4565b611a38565b34801561069857600080fd5b5061035a6106a73660046145e4565b611a5c565b3480156106b857600080fd5b506003546001600160a01b0316610412565b3480156106d657600080fd5b506103bc6106e5366004614697565b611b04565b3480156106f657600080fd5b506103bc610705366004614bbc565b611c53565b34801561071657600080fd5b506104b16107253660046145e4565b611def565b34801561073657600080fd5b5061074061010081565b60405163ffffffff90911681526020016103c9565b34801561076157600080fd5b506107756107703660046145e4565b611eb4565b60405160ff90911681526020016103c9565b34801561079357600080fd5b506103bc6107a2366004614afd565b611ed5565b3480156107b357600080fd5b5061035a611f68565b3480156107c857600080fd5b506104b17f000000000000000000000000000000000000000000000000000000000000000081565b3480156107fc57600080fd5b506105ab61080b366004614c37565b612023565b34801561081c57600080fd5b5061035a61082b366004614c59565b61206d565b34801561083c57600080fd5b5061041261084b366004614c59565b6120c1565b34801561085c57600080fd5b506103bc61086b366004614c72565b612128565b34801561087c57600080fd5b506103bc61088b366004614cce565b6121e9565b34801561089c57600080fd5b506104b16108ab366004614608565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b3480156108e557600080fd5b50426105ab565b3480156108f857600080fd5b506105ab610907366004614c37565b612500565b34801561091857600080fd5b5061035a610927366004614d50565b612549565b34801561093857600080fd5b506105ab600181565b34801561094d57600080fd5b506104b161095c366004614d9b565b6125bf565b34801561096d57600080fd5b5061035a61097c3660046145e4565b612600565b34801561098d57600080fd5b506109a161099c366004614c59565b6126e4565b6040516103c99190614ddc565b3480156109ba57600080fd5b5061035a6109c9366004614e29565b6127ce565b3480156109da57600080fd5b506104b17f000000000000000000000000000000000000000000000000000000000000000081565b348015610a0e57600080fd5b506104b1610a1d366004614c59565b600090815260026020526040902054151590565b348015610a3d57600080fd5b5061041261284d565b348015610a5257600080fd5b5061035a610a61366004614e29565b612915565b34801561035a57600080fd5b348015610a7e57600080fd5b50610a92610a8d3660046145e4565b612a20565b6040805193151584529115156020840152908201526060016103c9565b348015610abb57600080fd5b5061035a610aca366004614608565b612a6f565b348015610adb57600080fd5b5061035a612bd2565b6000546201000090046001600160a01b03163314610b15576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610b54576040516314f72c9f60e01b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb89190614e55565b600081815260026020526040812054919250819003610bea57604051630e4f4df560e11b815260040160405180910390fd5b60006001610bf88184614e84565b81548110610c0857610c08614e97565b6000918252602090912001546040516311a5465560e21b81526001600160a01b03868116600483015290911691508190634695195490602401600060405180830381600087803b158015610c5b57600080fd5b505af1158015610c6f573d6000803e3d6000fd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b6000546201000090046001600160a01b03163314610cec576040516362e9152760e11b815260040160405180910390fd5b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f28397090602401600060405180830381600087803b158015610d2f57600080fd5b505af1158015610d43573d6000803e3d6000fd5b505050505050565b6000546201000090046001600160a01b03163314610d7c576040516362e9152760e11b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de09190614e55565b60008181526002602052604090205490915015610e1057604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610e3457604051630f85034f60e31b815260040160405180910390fd5b60007f0000000000000000000000000000000000000000000000000000000000000000610eee576000604051610e6990614567565b604051809103906000f080158015610e85573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef90602401600060405180830381600087803b158015610ecd57600080fd5b505af1158015610ee1573d6000803e3d6000fd5b5050505080915050610ef1565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055546000838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d190610f8e90849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b6060610fa633611def565b610fc35760405163619c535960e01b815260040160405180910390fd5b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110059250839150612d4b9050565b61101157611011614ead565b60008061108b8a6000898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612d6b92505050565b9150915081156111a05761109e81612ebd565b1561113857808060200190518101906110b79190614f08565b93506110c284612d4b565b61113357866110ec5760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092965061113392508c915060149050612f11565b6111da565b866111595760405163a85ba64f60e01b8152601660048201526024016110e3565b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092965061113392508c915060169050612f11565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b60606111f63384600085612f92565b90505b92915050565b606061120d338585856131cf565b949350505050565b61121d614574565b6111f9826132e0565b60608083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061126b9250839150612d4b9050565b61128b5760405163a85ba64f60e01b8152601460048201526024016110e3565b8961129581611def565b6112b25760405163619c535960e01b815260040160405180910390fd5b60006112f387878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061121592505050565b6101208101519091506001600160a01b031633146113245760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b908190840183828082843760009201919091525050505060a0830152611370826133ab565b955060006113b68e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508c91506134df9050565b96509050801561141557858060200190518101906113d49190614f08565b96506113df87612d4b565b6113eb576113eb614ead565b6113f487611215565b6001600160a01b0383166060820152925061140e836133ab565b965061141e565b61141e8661359a565b505050505097509795505050505050565b6000546201000090046001600160a01b03163314611460576040516362e9152760e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000001561149f576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115019190614f3c565b1561151f5760405163474e764160e01b815260040160405180910390fd5b611528816136a5565b50565b60006115557f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000546201000090046001600160a01b0316331461158b576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b03166116fa577f00000000000000000000000000000000000000000000000000000000000000006116715760006040516115ce90614567565b604051809103906000f0801580156115ea573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef90602401600060405180830381600087803b15801561163257600080fd5b505af1158015611646573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b0394909416939093179092555061168d9050565b600380546001600160a01b0319166001600160a01b0383161790555b600360009054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156116dd57600080fd5b505af11580156116f1573d6000803e3d6000fd5b50505050611799565b7f000000000000000000000000000000000000000000000000000000000000000015611739576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b03838116600483015290911690634695195490602401600060405180830381600087803b15801561178057600080fd5b505af1158015611794573d6000803e3d6000fd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b3360008181526004602052604090205461180a576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b03821660009081526004602052604090205461184057604051634b5518af60e11b815260040160405180910390fd5b61184982611eb4565b60ff1661185582611eb4565b60ff161161187657604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081166000908152600560209081526040808320949093168252929092529020805460ff19166001179055565b600080546201000090046001600160a01b03166380f70cba30836118ce866138df565b6040518463ffffffff1660e01b81526004016118ec93929190614f59565b602060405180830381865afa158015611909573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061192d9190614e55565b151592915050565b606061194033611def565b61195d5760405163619c535960e01b815260040160405180910390fd5b83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061199f9250839150612d4b9050565b6119ab576119ab614ead565b60006119ec86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061121592505050565b9050838161010001818151611a019190614f7d565b905250611a0d816133ab565b9695505050505050565b611a29611a22613967565b83836139cf565b5050565b611a293383836139cf565b6001600160a01b0381166000908152600460205260408120546180001615156111f9565b6000546201000090046001600160a01b03163314611a8d576040516362e9152760e11b815260040160405180910390fd5b600054604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a1600080546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6060611b0f33611def565b611b2c5760405163619c535960e01b815260040160405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b6e9250839150612d4b9050565b611b7a57611b7a614ead565b600080611bf48a6001898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612d6b92505050565b9150915081156111da57611c0781612ebd565b15611c275780806020019051810190611c209190614f08565b93506111da565b86611c485760405163a85ba64f60e01b8152601660048201526024016110e3565b6111da8a6016612f11565b6060611c5e33611def565b611c7b5760405163619c535960e01b815260040160405180910390fd5b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611cbd9250839150612d4b9050565b611cc957611cc9614ead565b6000611d0a89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061121592505050565b9050611d3181606001516001600160a01b0316600090815260046020526040902054151590565b8015611d4557506001816000015160ff1610155b15611d985760608101516001600160a01b039081166000908152600560209081526040808320938b168352929052205460ff16611d985760405163a85ba64f60e01b8152601e60048201526024016110e3565b805181611da482614fa5565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b038088166101208301528416610140820152611de2816133ab565b9998505050505050505050565b600080826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e549190614e55565b600081815260026020526040902054909150801580159061120d57506001600160a01b0384166001611e868184614e84565b81548110611e9657611e96614e97565b6000918252602090912001546001600160a01b031614949350505050565b6001600160a01b03811660009081526004602052604081205460ff166111f9565b6060611ee033611def565b611efd5760405163619c535960e01b815260040160405180910390fd5b6000611f3e85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061121592505050565b9050828161010001818151611f539190614f7d565b905250611f5f816133ab565b95945050505050565b600054610100900460ff1615808015611f885750600054600160ff909116105b80611fa25750303b158015611fa2575060005460ff166001145b611fbe5760405162461bcd60e51b81526004016110e390614fc4565b6000805460ff191660011790558015611fe1576000805461ff0019166101001790555b8015611528576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016117d2565b60008181526002602052604081205480820361205257604051630e4f4df560e11b815260040160405180910390fd5b61205d600182614e84565b6001901b19841691505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156120b7576120b7604051806040016040528060028152602001616b3160f01b81525032614173565b611528338261421c565b6000818152600260205260408120548082036120f057604051630e4f4df560e11b815260040160405180910390fd5b60016120fc8183614e84565b8154811061210c5761210c614e97565b6000918252602090912001546001600160a01b03169392505050565b606061213333611def565b6121505760405163619c535960e01b815260040160405180910390fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121929250839150612d4b9050565b61219e5761219e614ead565b6121a88484612f11565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929998505050505050505050565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061222d9250839150612d4b9050565b61224d5760405163a85ba64f60e01b8152601460048201526024016110e3565b6001600160a01b03871660009081526004602052604081205488918190036122885760405163163cbe4360e01b815260040160405180910390fd5b6180008116156122aa57604051628e12d960e21b815260040160405180910390fd5b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092506122eb91508390506142eb565b90506001600160e01b031981166330d9c91560e01b148061231c57506001600160e01b0319811663d86ed3e560e01b145b8061233757506001600160e01b03198116630221347d60e61b145b8061235257506001600160e01b0319811663230dbd2960e01b145b8061236d57506001600160e01b03198116635f9e7d7760e01b145b8061238857506001600160e01b031981166353c11f9960e01b145b156123a6576040516377a14afb60e11b815260040160405180910390fd5b60006123e789898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061121592505050565b6101208101519091506001600160a01b03163314612418576040516311cfdef560e21b815260040160405180910390fd5b6060810180513390915261242b826133ab565b97506000806124728f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508f91506134df9050565b9150915081156124e557808060200190518101906124909190614f08565b995061249b8a612d4b565b6124bb5760405163a85ba64f60e01b8152601460048201526024016110e3565b6124c48a611215565b6001600160a01b038416606082015293506124de846133ab565b99506124ee565b6124ee8161359a565b50505050505050505095945050505050565b60008181526002602052604081205480820361252f57604051630e4f4df560e11b815260040160405180910390fd5b61253a600182614e84565b6001901b841791505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156125b0576125b082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250329250614173915050565b6125ba338461421c565b505050565b60006111f683838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612d4b92505050565b600054610100900460ff16158080156126205750600054600160ff909116105b8061263a5750303b15801561263a575060005460ff166001145b6126565760405162461bcd60e51b81526004016110e390614fc4565b6000805460ff191660011790558015612679576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015611a29576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60606000806001805490506001600160401b0381111561270657612706614790565b60405190808252806020026020018201604052801561272f578160200160208202803683370190505b50925060009050600091505b6001548210156127c6576001821b8416156127b6576001828154811061276357612763614e97565b6000918252602090912001546001600160a01b0316838261278381615012565b93508151811061279557612795614e97565b60200260200101906001600160a01b031690816001600160a01b0316815250505b6127bf82615012565b915061273b565b825250919050565b816001600160a01b03163b6000036127f95760405163353dacc360e21b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000001561284357612843604051806040016040528060028152602001616b3160f01b81525033614173565b611a29828261421c565b6003546000906001600160a01b031661286857612868614ead565b7f00000000000000000000000000000000000000000000000000000000000000001561289e57506003546001600160a01b031690565b600360009054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611555919061502b565b816001600160a01b03163b6000036129405760405163353dacc360e21b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000001561284357600061297133614347565b6000805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba906129b090309085908790600401614f59565b602060405180830381865afa1580156129cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f19190614e55565b600114905080612a1457604051630b56455f60e41b815260040160405180910390fd5b5050611a29828261421c565b6001600160a01b038116600090815260046020908152604080832081519283019091525480825215801592918291612a6757805161800081161515935064ff000000001691505b509193909250565b6000546201000090046001600160a01b03163314612aa0576040516362e9152760e11b815260040160405180910390fd5b60006001600160a01b038216612b2c57600360009054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b27919061502b565b612b2e565b815b6040516311a5465560e21b81526001600160a01b03808316600483015291925090841690634695195490602401600060405180830381600087803b158015612b7557600080fd5b505af1158015612b89573d6000803e3d6000fd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd3915060200160405180910390a2505050565b612bda614574565b602a9052612be6614574565b602a602082015250612bf6614574565b602a604082015250612c06614574565b602a606082015250612c16614574565b63deadbeef60e01b608082015250612c2c614574565b60408051602a808252606082019092529060208201818036833750505060a082018190526000819003612ca15760405162461bcd60e51b815260206004820152601760248201527f7573657244617461206f6666736574206973207a65726f00000000000000000060448201526064016110e3565b8051602a8114612cf35760405162461bcd60e51b815260206004820152601960248201527f7573657244617461206368616e676564206c6f636174696f6e0000000000000060448201526064016110e3565b505050612cfe614574565b602a60c082015250612d0e614574565b602a60e082015250612d1e614574565b602a61010082015250612d2f614574565b602a61012082015250612d40614574565b602a61014082015250565b600081516000141580156111f95750600654825160208401201492915050565b600060606001600160a01b038716612d8557612d85614ead565b612d8f84846143c1565b9350622dc6c060005a90508715612e0557886001600160a01b03168287604051612db99190615048565b6000604051808303818686fa925050503d8060008114612df5576040519150601f19603f3d011682016040523d82523d6000602084013e612dfa565b606091505b509094509250612e68565b886001600160a01b03168287604051612e1e9190615048565b60006040518083038160008787f1925050503d8060008114612e5c576040519150601f19603f3d011682016040523d82523d6000602084013e612e61565b606091505b5090945092505b83612eb157612e7681614478565b612e985786612e8d57612e888361359a565b612eb1565b612e8889600a612f11565b604051636a7aea4b60e11b815260040160405180910390fd5b50509550959350505050565b6000604082511015612ed157506000919050565b602082810151906000908214612eeb575060009392505050565b506040830151612efa8161448e565b612f05906040615064565b84511492505050919050565b6001600160a01b038216600090815260046020526040812054618000169003611a29576001600160a01b038216600081815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b90612f869084815260200190565b60405180910390a25050565b60065460609015612fb95760405163a85ba64f60e01b8152601560048201526024016110e3565b6001600160a01b0384166000908152600460205260408120548591819003612ff45760405163163cbe4360e01b815260040160405180910390fd5b61800081161561301657604051628e12d960e21b815260040160405180910390fd5b836000613022826142eb565b90506001600160e01b031981166330d9c91560e01b148061305357506001600160e01b0319811663d86ed3e560e01b145b8061306e57506001600160e01b03198116630221347d60e61b145b8061308957506001600160e01b0319811663230dbd2960e01b145b806130a457506001600160e01b03198116635f9e7d7760e01b145b806130bf57506001600160e01b031981166353c11f9960e01b145b156130dd576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182526000808252600260208084019190915242838501526001600160a01b03808e16606085015260808401839052845191820190945281815260a083015260c0820181905260e082018190526101008201819052918a166101208201526101408101829052613154906133ab565b905060006131648a898b856134df565b9750905080156131b257868060200190518101906131829190614f08565b915061318d82612d4b565b6131ad5760405163a85ba64f60e01b8152601460048201526024016110e3565b6131bb565b6131bb8761359a565b505060006006555092979650505050505050565b600654606090156131f65760405163a85ba64f60e01b8152601560048201526024016110e3565b8361320081611def565b61321d5760405163619c535960e01b815260040160405180910390fd5b6000613228856142eb565b60408051610160810182526000808252600160208301529293506132ab9181014281526020018a6001600160a01b03168152602001846001600160e01b031916815260200187815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b03168152506133ab565b905060006132bc88886000856134df565b95509050806132ce576132ce8561359a565b50506000600655509095945050505050565b6132e8614574565b606080838060200190518101906132ff9190615077565b8151919350915060009061331c90840160209081019085016150d0565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff909116855282516000925061336d919084018101908401615154565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b60606001826000015160ff1611156133d95760405163a85ba64f60e01b8152602860048201526024016110e3565b815160208084015160009260ff1664ff000000009190921b16179050600060806134068560e001516144c7565b6001600160801b0316901b61341e8560c001516144c7565b6001600160801b0316179050818460400151856060015186608001518760a0015160405160200161345395949392919061519f565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f19818403018152908290526134bd9291602001614ad8565b60408051601f1981840301815291905280516020820120600655949350505050565b600060606001600160a01b0386166134f9576134f9614ead565b61350385846143c1565b9450856001600160a01b0316848660405161351e9190615048565b60006040518083038185875af1925050503d806000811461355b576040519150601f19603f3d011682016040523d82523d6000602084013e613560565b606091505b50909250905081156135915780516000036135915760405163a85ba64f60e01b8152601660048201526024016110e3565b94509492505050565b6004815110156135ec5760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a2074617267657420726576657274282900000000000060448201526064016110e3565b602081015163b1b7848f60e01b6001600160e01b031982160161369c5760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b81529192916110e39184910161477d565b81518060208401fd5b60006136cf7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036137255760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016110e3565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613763573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137879190614e55565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74146138015760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016110e3565b6001600160a01b03811630036138595760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016110e3565b613881817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b0384166020830152016117d2565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b60006018361080159061397e575061397e336118ab565b6139c25760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b60448201526064016110e3565b5060131936013560601c90565b6000805b8281101561412c5760008484838181106139ef576139ef614e97565b9050602002810190613a0191906151eb565b613a0f906020810190615201565b905060001963ffffffff821601613b0357600080868685818110613a3557613a35614e97565b9050602002810190613a4791906151eb565b613a55906040810190615227565b810190613a629190614e29565b91509150868685818110613a7857613a78614e97565b9050602002810190613a8a91906151eb565b613a9b9060408101906020016145e4565b6001600160a01b03166362aa52878984846040518463ffffffff1660e01b8152600401613aca93929190614f59565b600060405180830381600087803b158015613ae457600080fd5b505af1158015613af8573d6000803e3d6000fd5b50505050505061411b565b60011963ffffffff821601613c0e576000806000878786818110613b2957613b29614e97565b9050602002810190613b3b91906151eb565b613b49906040810190615227565b810190613b56919061526d565b925092509250878786818110613b6e57613b6e614e97565b9050602002810190613b8091906151eb565b613b919060408101906020016145e4565b604051630b682aeb60e11b81526001600160a01b038b81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b600060405180830381600087803b158015613bee57600080fd5b505af1158015613c02573d6000803e3d6000fd5b5050505050505061411b565b60021963ffffffff821601613ccd576000806000878786818110613c3457613c34614e97565b9050602002810190613c4691906151eb565b613c54906040810190615227565b810190613c6191906152ae565b925092509250878786818110613c7957613c79614e97565b9050602002810190613c8b91906151eb565b613c9c9060408101906020016145e4565b6001600160a01b031663ca0c1e7f8a8585856040518563ffffffff1660e01b8152600401613bd494939291906152fc565b60031963ffffffff821601613d8657600080868685818110613cf157613cf1614e97565b9050602002810190613d0391906151eb565b613d11906040810190615227565b810190613d1e9190614e29565b91509150868685818110613d3457613d34614e97565b9050602002810190613d4691906151eb565b613d579060408101906020016145e4565b6001600160a01b0316634b2763b38984846040518463ffffffff1660e01b8152600401613aca93929190614f59565b60041963ffffffff821601613e3f57600080868685818110613daa57613daa614e97565b9050602002810190613dbc91906151eb565b613dca906040810190615227565b810190613dd79190614e29565b91509150868685818110613ded57613ded614e97565b9050602002810190613dff91906151eb565b613e109060408101906020016145e4565b6001600160a01b031663c780fd828984846040518463ffffffff1660e01b8152600401613aca93929190614f59565b60641963ffffffff821601613f3457848483818110613e6057613e60614e97565b9050602002810190613e7291906151eb565b613e839060408101906020016145e4565b6001600160a01b031663ca78946487878786818110613ea457613ea4614e97565b9050602002810190613eb691906151eb565b613ec4906040810190615227565b810190613ed19190614c59565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015613f1757600080fd5b505af1158015613f2b573d6000803e3d6000fd5b5050505061411b565b60651963ffffffff821601613f9957848483818110613f5557613f55614e97565b9050602002810190613f6791906151eb565b613f789060408101906020016145e4565b6001600160a01b031663245887fc87878786818110613ea457613ea4614e97565b60c81963ffffffff82160161403657600080868685818110613fbd57613fbd614e97565b9050602002810190613fcf91906151eb565b613fdd906040810190615227565b810190613fea919061532f565b9150915061402e8888888781811061400457614004614e97565b905060200281019061401691906151eb565b6140279060408101906020016145e4565b84846131cf565b50505061411b565b60c91963ffffffff821601614102576140f88686868581811061405b5761405b614e97565b905060200281019061406d91906151eb565b61407e9060408101906020016145e4565b85614089573461408c565b60005b88888781811061409e5761409e614e97565b90506020028101906140b091906151eb565b6140be906040810190615227565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612f9292505050565b506001925061411b565b60405163b477011560e01b815260040160405180910390fd5b5061412581615012565b90506139d3565b50341580159061413a575080155b1561416d5760405133903480156108fc02916000818181858888f1935050505015801561416b573d6000803e3d6000fd5b505b50505050565b600061417f8284614534565b6000805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba916141bc9130918790600401614f59565b602060405180830381865afa1580156141d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141fd9190614e55565b10156125ba57604051630b56455f60e41b815260040160405180910390fd5b64ff000080ff198116151580614233575060ff8116155b806142415750618000811615155b1561425f57604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b03821660009081526004602052604090205415614296576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528382526001600160a01b038516600081815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a25050565b600060048251101561433f5760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c44617461000000000060448201526064016110e3565b506020015190565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c00161394a565b8151808301516060919080156143ea576040516367e9985b60e01b815260040160405180910390fd5b50601f19810184528251849084816144018161448e565b61440b9190614e84565b6001600160401b0381111561442257614422614790565b6040519080825280601f01601f19166020018201604052801561444c576020820181803683370190505b506040516020016144609493929190615388565b60405160208183030381529060405291505092915050565b6000614485603f836153d7565b5a111592915050565b60008082601f16116144a15760006144a4565b60015b60ff166144b26020846153d7565b6144bc9190615064565b6111f99060206153f9565b60006001600160801b038211156145305760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016110e3565b5090565b60008282604051602001614549929190615410565b60405160208183030381529060405280519060200120905092915050565b61024a8061549683390190565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461152857600080fd5b6000602082840312156145f657600080fd5b8135614601816145cf565b9392505050565b6000806040838503121561461b57600080fd5b8235614626816145cf565b91506020830135614636816145cf565b809150509250929050565b60008083601f84011261465357600080fd5b5081356001600160401b0381111561466a57600080fd5b60208301915083602082850101111561468257600080fd5b9250929050565b801515811461152857600080fd5b600080600080600080608087890312156146b057600080fd5b86356146bb816145cf565b955060208701356001600160401b03808211156146d757600080fd5b6146e38a838b01614641565b9097509550604089013591506146f882614689565b9093506060880135908082111561470e57600080fd5b5061471b89828a01614641565b979a9699509497509295939492505050565b60005b83811015614748578181015183820152602001614730565b50506000910152565b6000815180845261476981602086016020860161472d565b601f01601f19169290920160200192915050565b6020815260006111f66020830184614751565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156147ce576147ce614790565b604052919050565b60006001600160401b038211156147ef576147ef614790565b50601f01601f191660200190565b600082601f83011261480e57600080fd5b813561482161481c826147d6565b6147a6565b81815284602083860101111561483657600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561486657600080fd5b8235614871816145cf565b915060208301356001600160401b0381111561488c57600080fd5b614898858286016147fd565b9150509250929050565b6000806000606084860312156148b757600080fd5b83356148c2816145cf565b925060208401356001600160401b03808211156148de57600080fd5b6148ea878388016147fd565b9350604086013591508082111561490057600080fd5b5061490d868287016147fd565b9150509250925092565b60006020828403121561492957600080fd5b81356001600160401b0381111561493f57600080fd5b61120d848285016147fd565b6020815261495f60208201835160ff169052565b60006020830151614975604084018260ff169052565b5060408301516060830152606083015161499a60808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a08301516101608060c08501526149cd610180850183614751565b915060c085015160e085015260e0850151610100818187015280870151915050610120818187015280870151915050610140614a13818701836001600160a01b03169052565b909501516001600160a01b031693019290925250919050565b60008060008060008060006080888a031215614a4757600080fd5b8735614a52816145cf565b965060208801356001600160401b0380821115614a6e57600080fd5b614a7a8b838c01614641565b909850965060408a0135915080821115614a9357600080fd5b614a9f8b838c01614641565b909650945060608a0135915080821115614ab857600080fd5b50614ac58a828b01614641565b989b979a50959850939692959293505050565b604081526000614aeb6040830185614751565b8281036020840152611f5f8185614751565b600080600060408486031215614b1257600080fd5b83356001600160401b03811115614b2857600080fd5b614b3486828701614641565b909790965060209590950135949350505050565b60008060208385031215614b5b57600080fd5b82356001600160401b0380821115614b7257600080fd5b818501915085601f830112614b8657600080fd5b813581811115614b9557600080fd5b8660208260051b8501011115614baa57600080fd5b60209290920196919550909350505050565b60008060008060008060a08789031215614bd557600080fd5b86356001600160401b03811115614beb57600080fd5b614bf789828a01614641565b9097509550506020870135614c0b816145cf565b935060408701359250606087013591506080870135614c29816145cf565b809150509295509295509295565b60008060408385031215614c4a57600080fd5b50508035926020909101359150565b600060208284031215614c6b57600080fd5b5035919050565b60008060008060608587031215614c8857600080fd5b84356001600160401b03811115614c9e57600080fd5b614caa87828801614641565b9095509350506020850135614cbe816145cf565b9396929550929360400135925050565b600080600080600060608688031215614ce657600080fd5b8535614cf1816145cf565b945060208601356001600160401b0380821115614d0d57600080fd5b614d1989838a01614641565b90965094506040880135915080821115614d3257600080fd5b50614d3f88828901614641565b969995985093965092949392505050565b600080600060408486031215614d6557600080fd5b8335925060208401356001600160401b03811115614d8257600080fd5b614d8e86828701614641565b9497909650939450505050565b60008060208385031215614dae57600080fd5b82356001600160401b03811115614dc457600080fd5b614dd085828601614641565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b81811015614e1d5783516001600160a01b031683529284019291840191600101614df8565b50909695505050505050565b60008060408385031215614e3c57600080fd5b8235614e47816145cf565b946020939093013593505050565b600060208284031215614e6757600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156111f9576111f9614e6e565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b600082601f830112614ed457600080fd5b8151614ee261481c826147d6565b818152846020838601011115614ef757600080fd5b61120d82602083016020870161472d565b600060208284031215614f1a57600080fd5b81516001600160401b03811115614f3057600080fd5b61120d84828501614ec3565b600060208284031215614f4e57600080fd5b815161460181614689565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8082018281126000831280158216821582161715614f9d57614f9d614e6e565b505092915050565b600060ff821660ff8103614fbb57614fbb614e6e565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60006001820161502457615024614e6e565b5060010190565b60006020828403121561503d57600080fd5b8151614601816145cf565b6000825161505a81846020870161472d565b9190910192915050565b808201808211156111f9576111f9614e6e565b6000806040838503121561508a57600080fd5b82516001600160401b03808211156150a157600080fd5b6150ad86838701614ec3565b935060208501519150808211156150c357600080fd5b5061489885828601614ec3565b600080600080600060a086880312156150e857600080fd5b85519450602086015193506040860151615101816145cf565b60608701519093506001600160e01b03198116811461511f57600080fd5b60808701519092506001600160401b0381111561513b57600080fd5b61514788828901614ec3565b9150509295509295909350565b6000806000806080858703121561516a57600080fd5b84519350602085015192506040850151615183816145cf565b6060860151909250615194816145cf565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a0608082018190526000906151e090830184614751565b979650505050505050565b60008235605e1983360301811261505a57600080fd5b60006020828403121561521357600080fd5b813563ffffffff8116811461460157600080fd5b6000808335601e1984360301811261523e57600080fd5b8301803591506001600160401b0382111561525857600080fd5b60200191503681900382131561468257600080fd5b60008060006060848603121561528257600080fd5b833561528d816145cf565b9250602084013561529d816145cf565b929592945050506040919091013590565b6000806000606084860312156152c357600080fd5b83356152ce816145cf565b92506020840135915060408401356001600160401b038111156152f057600080fd5b61490d868287016147fd565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611a0d90830184614751565b6000806040838503121561534257600080fd5b82356001600160401b038082111561535957600080fd5b615365868387016147fd565b9350602085013591508082111561537b57600080fd5b50614898858286016147fd565b60008551602061539b8285838b0161472d565b818401915086825285516153b481838501848a0161472d565b85519201916153c88183850184890161472d565b91909101019695505050505050565b6000826153f457634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176111f9576111f9614e6e565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e06040820152600061120d60e083018461475156fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033a2646970667358221220d0d2b4cadf067e6139f550d35a65dcd5426102bae5d56ebbf81cccdbf02ae47864736f6c63430008130033",zT=eb=>eb.length>1;class z_ extends uw.lV{constructor(...eb){zT(eb)?super(...eb):super(zx,zk,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(zx)}static connect(eb,em){return new uw.CH(eb,zx,em)}}z_.bytecode=zk,z_.abi=zx;let zS=[{inputs:[{internalType:"address",name:"host",type:"address"},{internalType:"bytes32",name:"t",type:"bytes32"},{internalType:"uint256",name:"v",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AGREEMENT_BASE_ONLY_HOST",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"appLevel",type:"uint8"},{indexed:!1,internalType:"uint8",name:"callType",type:"uint8"},{indexed:!1,internalType:"bytes4",name:"agreementSelector",type:"bytes4"}],name:"AppAfterCallbackResult",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"appLevel",type:"uint8"},{indexed:!1,internalType:"uint8",name:"callType",type:"uint8"},{indexed:!1,internalType:"bytes4",name:"agreementSelector",type:"bytes4"},{indexed:!1,internalType:"bytes",name:"cbdata",type:"bytes"}],name:"AppBeforeCallbackResult",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"ping",type:"uint256"}],name:"Pong",type:"event"},{inputs:[],name:"agreementType",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppAfterAgreementCreatedCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppAfterAgreementTerminatedCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppAfterAgreementUpdatedCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppBeforeAgreementCreatedCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppBeforeAgreementTerminatedCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppBeforeAgreementUpdatedCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreementFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"reason",type:"string"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"doRevert",outputs:[],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"liquidator",type:"address"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"expectedMsgSender",type:"address"},{internalType:"uint256",name:"ping",type:"uint256"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"pingMe",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"dynamicBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"dynamicBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],name:"setRealtimeBalanceFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalanceFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreementFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"tryAppCallbackPop",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperApp",name:"appMock",type:"address"},{internalType:"bool",name:"hackCtx",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"tryAppCallbackPush",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperApp",name:"appMock",type:"address"},{internalType:"bool",name:"hackCtx",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"tryCallAppAfterCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperApp",name:"appMock",type:"address"},{internalType:"bool",name:"hackCtx",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"tryCallAppBeforeCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"bool",name:"hackCtx",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"tryCtxUseCredit",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperApp",name:"appMock",type:"address"},{internalType:"bool",name:"hackCtx",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"tryJailApp",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementDataFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlotFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],zE="0x60e06040523480156200001157600080fd5b5060405162002fed38038062002fed83398101604081905262000034916200004e565b6001600160a01b0390921660805260a05260c05262000093565b6000806000606084860312156200006457600080fd5b83516001600160a01b03811681146200007c57600080fd5b602085015160409095015190969495509392505050565b60805160a05160c051612f2a620000c3600039600061028b015260006102ea015260006106470152612f2a6000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806383e68452116100f9578063c3598c4a11610097578063d227a99311610071578063d227a993146103ef578063d8f72cf914610402578063edf02c4e14610415578063f602dc5c1461042857600080fd5b8063c3598c4a146103b6578063c4ab263b146103c9578063ca519d17146103dc57600080fd5b80639903ad38116100d35780639903ad381461035a5780639b2e48bc146103625780639d69476f14610390578063c1b7dde5146103a357600080fd5b806383e68452146103215780638e6b27491461033457806396ac5e9d1461034757600080fd5b806354658873116101665780636e3bfc5e116101405780636e3bfc5e146102c257806371272f8c146102d55780637730599e146102e85780637c0af83b1461030e57600080fd5b8063546588731461027657806354fd4d5014610289578063667fc9ad146102af57600080fd5b806346951954116101a2578063469519541461021a5780634b4649dd1461022d57806350d75d251461024057806352d1902d1461026057600080fd5b80631a8721e9146101c95780633c012f4d146101f2578063430fce1e14610207575b600080fd5b6101dc6101d7366004612358565b61043b565b6040516101e9919061240c565b60405180910390f35b61020561020036600461241f565b61050c565b005b6102056102153660046124dd565b6105d4565b61020561022836600461252c565b61063c565b61020561023b3660046124dd565b610691565b6102486106c1565b6040516001600160a01b0390911681526020016101e9565b6102686106f0565b6040519081526020016101e9565b6101dc610284366004612549565b610754565b7f0000000000000000000000000000000000000000000000000000000000000000610268565b6102056102bd36600461259d565b610826565b6102056102d03660046125de565b61088e565b6101dc6102e3366004612650565b6108f9565b7f0000000000000000000000000000000000000000000000000000000000000000610268565b6101dc61031c366004612549565b610a32565b61020561032f3660046126ba565b610b3b565b6101dc6103423660046126ef565b610b6f565b6101dc610355366004612650565b610d30565b610205610d7e565b61037561037036600461259d565b610e87565b604080519384526020840192909252908201526060016101e9565b6101dc61039e366004612650565b610f89565b6101dc6103b1366004612650565b611011565b6101dc6103c4366004612549565b611094565b6101dc6103d7366004612549565b61115d565b6102056103ea366004612732565b611226565b6101dc6103fd366004612549565b61131f565b6101dc610410366004612549565b6113e8565b610205610423366004612783565b61146b565b6101dc610436366004612549565b61153d565b6060846001600160a01b03166359a291418561048d5784848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061049d92505050565b6040805160008152602081019091525b60006040518363ffffffff1660e01b81526004016104bc9291906127f8565b6000604051808303816000875af11580156104db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261050391908101906128d6565b95945050505050565b60008561053a576040805160016020820152600281830152815180820383018152606090910190915261055d565b604080516001602082015260008183015281518082038301815260609091019091525b604051631863e80960e01b81529091506001600160a01b03891690631863e80990610598908a9085908a908c908b908b908b9060040161290a565b600060405180830381600087803b1580156105b257600080fd5b505af11580156105c6573d6000803e3d6000fd5b505050505050505050505050565b604051630254d47f60e31b81526001600160a01b038516906312a6a3f89061060490869086908690600401612989565b600060405180830381600087803b15801561061e57600080fd5b505af1158015610632573d6000803e3d6000fd5b5050505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461068557604051630b00ec8f60e11b815260040160405180910390fd5b61068e81611606565b50565b60405163a1b2bf8b60e01b81526001600160a01b0385169063a1b2bf8b9061060490869086908690600401612989565b60006106eb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000306001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106eb91906129a3565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051632fd0a1cd60e21b815233925063bf42873491506107af90849060040161240c565b602060405180830381865afa1580156107cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f091906129bc565b6108155760405162461bcd60e51b815260040161080c906129d9565b60405180910390fd5b61050385640200000000868661180e565b60405163cf97256d60e01b81526001600160a01b0383811660048301526024820183905284169063cf97256d906044015b600060405180830381600087803b15801561087157600080fd5b505af1158015610885573d6000803e3d6000fd5b50505050505050565b60405163048620af60e11b81526001600160a01b0386169063090c415e906108c0908790879087908790600401612a25565b600060405180830381600087803b1580156108da57600080fd5b505af11580156108ee573d6000803e3d6000fd5b505050505050505050565b604080516000808252602082018181528284019093526060926001600160a01b03898116936374041e02938a93928416926330d9c9159261094292913091839160648201612a4d565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506001886109b25787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506109c292505050565b6040805160008152602081019091525b6040518563ffffffff1660e01b81526004016109e19493929190612a9e565b6000604051808303816000875af1158015610a00573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a2891908101906128d6565b9695505050505050565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051632fd0a1cd60e21b815233925063bf4287349150610a8d90849060040161240c565b602060405180830381865afa158015610aaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ace91906129bc565b610aea5760405162461bcd60e51b815260040161080c906129d9565b610afb856401000000008686611b1e565b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509298975050505050505050565b604051632704839760e01b815260048101839052602481018290526001600160a01b03841690632704839790604401610857565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051632fd0a1cd60e21b815233925063bf4287349150610bca90849060040161240c565b602060405180830381865afa158015610be7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0b91906129bc565b610c275760405162461bcd60e51b815260040161080c906129d9565b604051631fb6491d60e11b81526000903390633f6c923a90610c4f9088908890600401612b10565b600060405180830381865afa158015610c6c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c949190810190612b58565b9050866001600160a01b031681606001516001600160a01b031614610cbb57610cbb612c5e565b6040518681527f58b69f57828e6962d216502094c54f6562f3bf082ba758966c3454f9e37b15259060200160405180910390a184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929a9950505050505050505050565b6040805160008082526020820181815282840182815260608085019095526001600160a01b038a811694631e6d0a84948b949285169363d86ed3e59361094293309284929060848301612c74565b600054610100900460ff1615808015610d9e5750600054600160ff909116105b80610db85750303b158015610db8575060005460ff166001145b610e1b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161080c565b6000805460ff191660011790558015610e3e576000805461ff0019166101001790555b801561068e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b604051634b61cc3360e01b81523060048201526001600160a01b0383811660248301526303e83e99604483015260036064830152600091829182918291881690634b61cc3390608401600060405180830381865afa158015610eed573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f159190810190612cda565b9050610f3d81600081518110610f2d57610f2d612d73565b602002602001015160001c611c50565b81600181518110610f5057610f50612d73565b602002602001015160001c82600281518110610f6e57610f6e612d73565b602002602001015160001c9350935093505093509350939050565b6060856001600160a01b031663768fabb085610fdb5784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610feb92505050565b6040805160008152602081019091525b8760008060006040518663ffffffff1660e01b81526004016109e1959493929190612d89565b6060856001600160a01b031663b724211e856110635784848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061107392505050565b6040805160008152602081019091525b8760006040518463ffffffff1660e01b81526004016109e193929190612dce565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051632fd0a1cd60e21b815233925063bf42873491506110ef90849060040161240c565b602060405180830381865afa15801561110c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113091906129bc565b61114c5760405162461bcd60e51b815260040161080c906129d9565b610afb856410000000008686611b1e565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051632fd0a1cd60e21b815233925063bf42873491506111b890849060040161240c565b602060405180830381865afa1580156111d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f991906129bc565b6112155760405162461bcd60e51b815260040161080c906129d9565b61050385640800000000868661180e565b60408051600380825260808201909252600091602082016060803683370190505090508360001b8160008151811061126057611260612d73565b6020026020010181815250508260001b8160018151811061128357611283612d73565b6020026020010181815250508160001b816002815181106112a6576112a6612d73565b602090810291909101015260405163048620af60e11b81526001600160a01b0387169063090c415e906112e59088906303e83e99908690600401612dfc565b600060405180830381600087803b1580156112ff57600080fd5b505af1158015611313573d6000803e3d6000fd5b50505050505050505050565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051632fd0a1cd60e21b815233925063bf428734915061137a90849060040161240c565b602060405180830381865afa158015611397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113bb91906129bc565b6113d75760405162461bcd60e51b815260040161080c906129d9565b610afb856404000000008686611b1e565b604051634c4d861f60e11b81526060906001600160a01b0385169063989b0c3e9061141c9086908690600090600401612e59565b6000604051808303816000875af115801561143b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261146391908101906128d6565b949350505050565b81818080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051632fd0a1cd60e21b815233925063bf42873491506114c490849060040161240c565b602060405180830381865afa1580156114e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150591906129bc565b6115215760405162461bcd60e51b815260040161080c906129d9565b848460405162461bcd60e51b815260040161080c929190612b10565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051632fd0a1cd60e21b815233925063bf428734915061159890849060040161240c565b602060405180830381865afa1580156115b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d991906129bc565b6115f55760405162461bcd60e51b815260040161080c906129d9565b61050385642000000000868661180e565b60006116307f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036116865760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c65000000604482015260640161080c565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e891906129a3565b6116f06106f0565b146117495760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b606482015260840161080c565b6001600160a01b03811630036117a15760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f7000000000000000604482015260640161080c565b6117c9817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc6117f26106f0565b604080519182526001600160a01b038416602083015201610e7c565b604051636b4f333560e01b81526001600160a01b03851660048201526060906000903390636b4f333590602401602060405180830381865afa158015611858573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187c91906129bc565b604051631fb6491d60e11b81529091506000903390633f6c923a906118a79088908890600401612b10565b600060405180830381865afa1580156118c4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118ec9190810190612b58565b9050600061190f6000896000801b60405180602001604052806000815250611cbe565b60c081018890529050611920612292565b611970826040518060200160405280600081525089898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d0292505050565b9550905083156119f057602081015160ff16156119eb5760405162461bcd60e51b815260206004820152603360248201527f41677265656d656e744d6f636b3a2063616c6c6261636b2073686f756c64206e60448201527206f74207265616368206a61696c65642061707606c1b606482015260840161080c565b611ab4565b604051632fd0a1cd60e21b8152339063bf42873490611a1390889060040161240c565b602060405180830381865afa158015611a30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5491906129bc565b611ab45760405162461bcd60e51b815260206004820152602b60248201527f41677265656d656e744d6f636b3a20637478206e6f742076616c69642061667460448201526a65722063616c6c6261636b60a81b606482015260840161080c565b825160208085015160808601516040805160ff958616815294909216928401929092526001600160e01b031990911682820152517fbebfa520000ac6154adc3325e12aab81b1e37b21a779c68db565a7db91de76949181900360600190a150505050949350505050565b604051631fb6491d60e11b81526000903390633f6c923a90611b469086908690600401612b10565b600060405180830381865afa158015611b63573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8b9190810190612b58565b90506000611bae6000876000801b60405180602001604052806000815250611cbe565b9050848160c00181815250506000611bfc8286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611f4e92505050565b90507f8d9bcf46f17f82759c79ab71d4382eb5a73791d05b176ea38f61b4c6d7315fe383600001518460200151856080015184604051611c3f9493929190612e7d565b60405180910390a150505050505050565b60006001600160ff1b03821115611cba5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b606482015260840161080c565b5090565b6040805160e08101825260006080820181905260a0820181905260c08201526001600160a01b03958616815293909416602084015292820152606081019190915290565b611d0a612292565b6020840151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015611d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d829190612eb1565b88965091945092509050828015611d97575081155b15611f4357611da68489612105565b93508760c001518116600003611f31576000611dc58960c0015161218a565b89516040808c015160608d015182516000815260208101909352611df39392309291908e9060448101612c74565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918b015160c08c0151925163079b42a160e21b81529193503392631e6d0a8492611e629291869164200000000091909114908b90600401612a9e565b6000604051808303816000875af1158015611e81573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ea991908101906128d6565b604051631fb6491d60e11b81529095503390633f6c923a90611ecf90889060040161240c565b600060405180830381865afa158015611eec573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f149190810190612b58565b9550611f298960800151876101000151612221565b610100870152505b611f408686610100015161223f565b93505b505050935093915050565b6020820151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015611fa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc69190612eb1565b91945092509050828015611fd8575081155b156120fc576000611fe98688612105565b90508660c0015182166000036120ee5760006120088860c0015161218a565b88516040808b015160608c01518251600081526020810190935261203493923092919060448101612a4d565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918a015160c08b01519251633a020f0160e11b815291935033926374041e02926120a39291869164100000000091909114908890600401612a9e565b6000604051808303816000875af11580156120c2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120ea91908101906128d6565b9550505b6120f986600061223f565b50505b50505092915050565b6020810151608082015160a08301518351604051630768fabb60e41b8152606094339463768fabb09461213c948a94600401612d89565b6000604051808303816000875af115801561215b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261218391908101906128d6565b9392505050565b600064010000000082036121a657506330d9c91560e01b919050565b64040000000082036121c05750630221347d60e61b919050565b64100000000082036121da5750635f9e7d7760e01b919050565b64020000000082036121f4575063d86ed3e560e01b919050565b640800000000820361220e575063230dbd2960e01b919050565b506353c11f9960e01b919050565b919050565b6000612183600061223a61223486611c50565b85612267565b61227c565b604051634c4d861f60e11b8152606090339063989b0c3e9061213c90869086906004016127f8565b60008183136122765782612183565b50919050565b600081831361228b5781612183565b5090919050565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461068e57600080fd5b801515811461068e57600080fd5b60008083601f84011261232257600080fd5b5081356001600160401b0381111561233957600080fd5b60208301915083602082850101111561235157600080fd5b9250929050565b6000806000806060858703121561236e57600080fd5b8435612379816122ed565b9350602085013561238981612302565b925060408501356001600160401b038111156123a457600080fd5b6123b087828801612310565b95989497509550505050565b60005b838110156123d75781810151838201526020016123bf565b50506000910152565b600081518084526123f88160208601602086016123bc565b601f01601f19169290920160200192915050565b60208152600061218360208301846123e0565b600080600080600080600060e0888a03121561243a57600080fd5b8735612445816122ed565b965060208801359550604088013561245c81612302565b9450606088013561246c816122ed565b9350608088013561247c816122ed565b9699959850939692959460a0840135945060c09093013592915050565b60008083601f8401126124ab57600080fd5b5081356001600160401b038111156124c257600080fd5b6020830191508360208260051b850101111561235157600080fd5b600080600080606085870312156124f357600080fd5b84356124fe816122ed565b93506020850135925060408501356001600160401b0381111561252057600080fd5b6123b087828801612499565b60006020828403121561253e57600080fd5b8135612183816122ed565b60008060006040848603121561255e57600080fd5b8335612569816122ed565b925060208401356001600160401b0381111561258457600080fd5b61259086828701612310565b9497909650939450505050565b6000806000606084860312156125b257600080fd5b83356125bd816122ed565b925060208401356125cd816122ed565b929592945050506040919091013590565b6000806000806000608086880312156125f657600080fd5b8535612601816122ed565b94506020860135612611816122ed565b93506040860135925060608601356001600160401b0381111561263357600080fd5b61263f88828901612499565b969995985093965092949392505050565b60008060008060006080868803121561266857600080fd5b8535612673816122ed565b94506020860135612683816122ed565b9350604086013561269381612302565b925060608601356001600160401b038111156126ae57600080fd5b61263f88828901612310565b6000806000606084860312156126cf57600080fd5b83356126da816122ed565b95602085013595506040909401359392505050565b6000806000806060858703121561270557600080fd5b8435612710816122ed565b93506020850135925060408501356001600160401b038111156123a457600080fd5b600080600080600060a0868803121561274a57600080fd5b8535612755816122ed565b94506020860135612765816122ed565b94979496505050506040830135926060810135926080909101359150565b6000806000806040858703121561279957600080fd5b84356001600160401b03808211156127b057600080fd5b6127bc88838901612310565b909650945060208701359150808211156127d557600080fd5b506123b087828801612310565b634e487b7160e01b600052604160045260246000fd5b60408152600061280b60408301856123e0565b90508260208301529392505050565b60405161016081016001600160401b038111828210171561283d5761283d6127e2565b60405290565b604051601f8201601f191681016001600160401b038111828210171561286b5761286b6127e2565b604052919050565b600082601f83011261288457600080fd5b81516001600160401b0381111561289d5761289d6127e2565b6128b0601f8201601f1916602001612843565b8181528460208386010111156128c557600080fd5b6114638260208301602087016123bc565b6000602082840312156128e857600080fd5b81516001600160401b038111156128fe57600080fd5b61146384828501612873565b87815260e06020820152600061292360e08301896123e0565b6001600160a01b03978816604084015295151560608301525092909416608083015260a082015260c0019190915292915050565b81835260006001600160fb1b0383111561297057600080fd5b8260051b80836020870137939093016020019392505050565b838152604060208201526000610503604083018486612957565b6000602082840312156129b557600080fd5b5051919050565b6000602082840312156129ce57600080fd5b815161218381612302565b6020808252602c908201527f41677265656d656e744d6f636b3a20637478206e6f742076616c69642067697660408201526b656e20627920686f73743f2160a01b606082015260800190565b60018060a01b0385168152836020820152606060408201526000610a28606083018486612957565b6001600160a01b038681168252851660208201526040810184905260a060608201819052600090612a80908301856123e0565b8281036080840152612a9281856123e0565b98975050505050505050565b6001600160a01b0385168152608060208201819052600090612ac2908301866123e0565b84151560408401528281036060840152612adc81856123e0565b979650505050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000611463602083018486612ae7565b805160ff8116811461221c57600080fd5b805161221c816122ed565b80516001600160e01b03198116811461221c57600080fd5b600060208284031215612b6a57600080fd5b81516001600160401b0380821115612b8157600080fd5b908301906101608286031215612b9657600080fd5b612b9e61281a565b612ba783612b24565b8152612bb560208401612b24565b602082015260408301516040820152612bd060608401612b35565b6060820152612be160808401612b40565b608082015260a083015182811115612bf857600080fd5b612c0487828601612873565b60a08301525060c083015160c082015260e083015160e0820152610100915081830151828201526101209150612c3b828401612b35565b828201526101409150612c4f828401612b35565b91810191909152949350505050565b634e487b7160e01b600052600160045260246000fd5b6001600160a01b038781168252861660208201526040810185905260c060608201819052600090612ca7908301866123e0565b8281036080840152612cb981866123e0565b905082810360a0840152612ccd81856123e0565b9998505050505050505050565b60006020808385031215612ced57600080fd5b82516001600160401b0380821115612d0457600080fd5b818501915085601f830112612d1857600080fd5b815181811115612d2a57612d2a6127e2565b8060051b9150612d3b848301612843565b8181529183018401918481019088841115612d5557600080fd5b938501935b83851015612a9257845182529385019390850190612d5a565b634e487b7160e01b600052603260045260246000fd5b60a081526000612d9c60a08301886123e0565b6001600160a01b0396871660208401526040830195909552506060810192909252909216608090920191909152919050565b606081526000612de160608301866123e0565b6001600160a01b039490941660208301525060400152919050565b6001600160a01b038416815260208082018490526060604083018190528351908301819052600091848101916080850190845b81811015612e4b57845183529383019391830191600101612e2f565b509098975050505050505050565b604081526000612e6d604083018587612ae7565b9050826020830152949350505050565b60ff8516815260ff8416602082015263ffffffff60e01b83166040820152608060608201526000610a2860808301846123e0565b600080600060608486031215612ec657600080fd5b8351612ed181612302565b6020850151909350612ee281612302565b8092505060408401519050925092509256fea26469706673582212205905d3b9fc1cbfd409fb4e500f480ada43b06594281379df84e617f30d7e78ab64736f6c63430008130033",zA=eb=>eb.length>1;class zN extends uw.lV{constructor(...eb){zA(eb)?super(...eb):super(zS,zE,eb[0])}deploy(eb,em,eH,eV){return super.deploy(eb,em,eH,eV||{})}getDeployTransaction(eb,em,eH,eV){return super.getDeployTransaction(eb,em,eH,eV||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(zS)}static connect(eb,em){return new uw.CH(eb,zS,em)}}zN.bytecode=zE,zN.abi=zS;let zI=[{inputs:[],name:"Custom",type:"error"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"CustomVal",type:"error"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"a",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"revertArrayAccess",outputs:[],stateMutability:"view",type:"function"},{inputs:[],name:"revertAssert",outputs:[],stateMutability:"pure",type:"function"},{inputs:[],name:"revertBigArray",outputs:[{internalType:"uint8[]",name:"",type:"uint8[]"}],stateMutability:"pure",type:"function"},{inputs:[],name:"revertCustom",outputs:[],stateMutability:"pure",type:"function"},{inputs:[],name:"revertCustomVal",outputs:[],stateMutability:"pure",type:"function"},{inputs:[],name:"revertDivByZero",outputs:[],stateMutability:"pure",type:"function"},{inputs:[],name:"revertEmpty",outputs:[],stateMutability:"pure",type:"function"},{inputs:[],name:"revertEnum",outputs:[],stateMutability:"pure",type:"function"},{inputs:[],name:"revertOverflow",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"revertPop",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"revertString",outputs:[],stateMutability:"pure",type:"function"},{inputs:[{internalType:"string",name:"funcSig",type:"string"}],name:"revertTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"revertZeroInitializedFunctionPointer",outputs:[{internalType:"int256",name:"",type:"int256"}],stateMutability:"pure",type:"function"}],zD="0x608060405234801561001057600080fd5b5061075b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639bd610371161008c578063d7700b1211610066578063d7700b121461016c578063e7f7145b14610174578063e9f0a1471461017c578063f0fdf8341461018457600080fd5b80639bd6103714610149578063b505890314610151578063c89d62881461016457600080fd5b80637114b8eb116100c85780637114b8eb1461011c578063784cbc4e146101245780638211b89d1461012c57806382b246641461013457600080fd5b80631ed106b8146100ef578063335b221e146100f95780634926c4c614610114575b600080fd5b6100f7610197565b005b6101016101b0565b6040519081526020015b60405180910390f35b6100f7600080fd5b6100f76101c6565b6100f76101d9565b6100f76101fa565b61013c610223565b60405161010b91906104b8565b6100f7610262565b6100f761015f366004610515565b61028f565b610101610342565b6100f761035d565b6100f7610367565b6100f7610377565b6101016101923660046105c6565b610384565b6040516366fd620d60e01b815260040160405180910390fd5b6000806101c060001960016105f5565b92915050565b60006000196101d3610608565b50600052565b604051630b84f91760e31b8152601a60048201526024015b60405180910390fd5b600080548061020b5761020b61061e565b60019003818190600052602060002001600090559055565b606060006000196102326104ff565b60405190808252806020026020018201604052801561025b578160200160208202803683370190505b5092915050565b60405162461bcd60e51b8152602060048201526002602482015261676d60f01b60448201526064016101f1565b60408051600481526024810191829052600091829130916102b1908690610658565b60408051918290039091206020830180516001600160e01b03166001600160e01b0319909216919091179052516102e89190610658565b6000604051808303816000865af19150503d8060008114610325576040519150601f19603f3d011682016040523d82523d6000602084013e61032a565b606091505b50915091508161033d5761033d816103a5565b505050565b60006104b0610357600460058363ffffffff16565b91505090565b610365610674565b565b6000198061037361068a565b5050565b60008061033d81806106a0565b6000818154811061039457600080fd5b600091825260209091200154905081565b6004815110156103f75760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a2074617267657420726576657274282900000000000060448201526064016101f1565b602081015163b1b7848f60e01b6001600160e01b03198216016104a75760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b81529192916101f1918491016106dc565b81518060208401fd5b61036561070f565b6020808252825182820181905260009190848201906040850190845b818110156104f357835160ff16835292840192918401916001016104d4565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561052757600080fd5b813567ffffffffffffffff8082111561053f57600080fd5b818401915084601f83011261055357600080fd5b813581811115610565576105656104ff565b604051601f8201601f19908116603f0116810190838211818310171561058d5761058d6104ff565b816040528281528760208487010111156105a657600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000602082840312156105d857600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101c0576101c06105df565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b60005b8381101561064f578181015183820152602001610637565b50506000910152565b6000825161066a818460208701610634565b9190910192915050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b6000826106bd57634e487b7160e01b600052601260045260246000fd5b600160ff1b8214600019841416156106d7576106d76105df565b500590565b60208152600082518060208401526106fb816040850160208701610634565b601f01601f19169190910160400192915050565b634e487b7160e01b600052605160045260246000fdfea2646970667358221220fa0c96d54d23356445a03746db799b27babe7e9ace18a770c2742e5c811311b164736f6c63430008130033",zP=eb=>eb.length>1;class zO extends uw.lV{constructor(...eb){zP(eb)?super(...eb):super(zI,zD,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(zI)}static connect(eb,em){return new uw.CH(eb,zI,em)}}zO.bytecode=zD,zO.abi=zI;let zR=[{inputs:[],name:"testIsValidAbiEncodedBytes",outputs:[],stateMutability:"pure",type:"function"}],zB="0x608060405234801561001057600080fd5b5061034a806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ba89c9eb14610030575b600080fd5b61003861003a565b005b604080516001602082015260029181019190915260036060820152610071906080015b6040516020818303038152906040526101d1565b156100ae5760405162461bcd60e51b8152602060048201526008602482015267626164206461746160c01b60448201526064015b60405180910390fd5b6100ef60005b6040519080825280601f01601f1916602001820160405280156100de576020820181803683370190505b5060405160200161005d9190610264565b61011f5760405162461bcd60e51b81526020600482015260016024820152600360fc1b60448201526064016100a5565b61012960016100b4565b6101595760405162461bcd60e51b81526020600482015260016024820152603160f81b60448201526064016100a5565b61016360206100b4565b6101945760405162461bcd60e51b8152602060048201526002602482015261199960f11b60448201526064016100a5565b61019e60216100b4565b6101cf5760405162461bcd60e51b8152602060048201526002602482015261333360f01b60448201526064016100a5565b565b60006040825110156101e557506000919050565b6020828101519060009082146101ff575060009392505050565b50604083015161020e81610225565b6102199060406102c8565b84511492505050919050565b60008082601f161161023857600061023b565b60015b60ff166102496020846102db565b61025391906102c8565b61025e9060206102fd565b92915050565b600060208083528351808285015260005b8181101561029157858101830151858201604001528201610275565b506000604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561025e5761025e6102b2565b6000826102f857634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761025e5761025e6102b256fea2646970667358221220a2c6922265b8f1de12deb5223703f02499897fc1ea252d88c05a9bb5bdddfec264736f6c63430008130033",zF=eb=>eb.length>1;class zj extends uw.lV{constructor(...eb){zF(eb)?super(...eb):super(zR,zB,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(zR)}static connect(eb,em){return new uw.CH(eb,zR,em)}}zj.bytecode=zB,zj.abi=zR;let zU=[{inputs:[{internalType:"address",name:"agreement",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],name:"callAgreement",outputs:[],stateMutability:"nonpayable",type:"function"}],zq="0x608060405234801561001057600080fd5b50610314806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806361d164d314610030575b600080fd5b61004361003e3660046101d9565b610045565b005b60006060846001600160a01b0316848460405161006392919061026a565b6000604051808303816000865af19150503d80600081146100a0576040519150601f19603f3d011682016040523d82523d6000602084013e6100a5565b606091505b50909250905081156100b9576100b961027a565b6100c2816100c9565b5050505050565b6004815110156101205760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a2074617267657420726576657274282900000000000060448201526064015b60405180910390fd5b602081015163b1b7848f60e01b6001600160e01b03198216016101d05760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b815291929161011791849101610290565b81518060208401fd5b6000806000604084860312156101ee57600080fd5b83356001600160a01b038116811461020557600080fd5b9250602084013567ffffffffffffffff8082111561022257600080fd5b818601915086601f83011261023657600080fd5b81358181111561024557600080fd5b87602082850101111561025757600080fd5b6020830194508093505050509250925092565b8183823760009101908152919050565b634e487b7160e01b600052600160045260246000fd5b600060208083528351808285015260005b818110156102bd578581018301518582016040015282016102a1565b506000604082860101526040601f19601f830116850101925050509291505056fea26469706673582212204471c8eb2da18277960e5528737335bea11819d256d7edc9d06bcbb6e555c6fb64736f6c63430008130033",z$=eb=>eb.length>1;class zW extends uw.lV{constructor(...eb){z$(eb)?super(...eb):super(zU,zq,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(zU)}static connect(eb,em){return new uw.CH(eb,zU,em)}}zW.bytecode=zq,zW.abi=zU;let zZ=[{inputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"gas",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ForwarderMock.ForwardRequest",name:"req",type:"tuple"}],name:"execute",outputs:[],stateMutability:"payable",type:"function"}],zG="0x608060405234801561001057600080fd5b506105f8806100206000396000f3fe60806040526004361061001e5760003560e01c8063ffb26a7b14610023575b600080fd5b6100366100313660046103b8565b610038565b005b600060607f0984d5efd47d99151ae1be065a709e56c602102f24c1abc4008eb3f815a8d21783602001516001600160a01b031663486ff0cd6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561009f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526100c791908101906104c5565b6040516020016100d7919061053c565b60405160208183030381529060405280519060200120146101505760405162461bcd60e51b815260206004820152602860248201527f756e6b6e6f776e204952656c6179526563697069656e742e76657273696f6e526044820152671958da5c1a595b9d60c21b60648201526084015b60405180910390fd5b82602001516001600160a01b03168360600151846040015185608001518660000151604051602001610183929190610558565b60408051601f198184030181529082905261019d9161053c565b600060405180830381858888f193505050503d80600081146101db576040519150601f19603f3d011682016040523d82523d6000602084013e6101e0565b606091505b509092509050816101f4576101f4816101f9565b505050565b60048151101561024b5760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a207461726765742072657665727428290000000000006044820152606401610147565b602081015163b1b7848f60e01b6001600160e01b03198216016102fb5760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b81529192916101479184910161058f565b81518060208401fd5b634e487b7160e01b600052604160045260246000fd5b60405160a0810167ffffffffffffffff8111828210171561033d5761033d610304565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561036c5761036c610304565b604052919050565b80356001600160a01b038116811461038b57600080fd5b919050565b600067ffffffffffffffff8211156103aa576103aa610304565b50601f01601f191660200190565b600060208083850312156103cb57600080fd5b823567ffffffffffffffff808211156103e357600080fd5b9084019060a082870312156103f757600080fd5b6103ff61031a565b61040883610374565b8152610415848401610374565b84820152604083013560408201526060830135606082015260808301358281111561043f57600080fd5b80840193505086601f84011261045457600080fd5b8235915061046961046483610390565b610343565b828152878584860101111561047d57600080fd5b82858501868301376000858483010152806080830152508094505050505092915050565b60005b838110156104bc5781810151838201526020016104a4565b50506000910152565b6000602082840312156104d757600080fd5b815167ffffffffffffffff8111156104ee57600080fd5b8201601f810184136104ff57600080fd5b805161050d61046482610390565b81815285602083850101111561052257600080fd5b6105338260208301602086016104a1565b95945050505050565b6000825161054e8184602087016104a1565b9190910192915050565b6000835161056a8184602088016104a1565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b60208152600082518060208401526105ae8160408501602087016104a1565b601f01601f1916919091016040019291505056fea264697066735822122019f76a66dded34b808bb70df2086b663b22cb6e5ad09152f8eee6e9f5787e49f64736f6c63430008130033",zK=eb=>eb.length>1;class zY extends uw.lV{constructor(...eb){zK(eb)?super(...eb):super(zZ,zG,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(zZ)}static connect(eb,em){return new uw.CH(eb,zZ,em)}}zY.bytecode=zG,zY.abi=zZ;let zX=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"},{internalType:"contract IInstantDistributionAgreementV1",name:"ida",type:"address"},{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"},{indexed:!1,internalType:"uint128",name:"units",type:"uint128"},{indexed:!1,internalType:"uint256",name:"pendingDistribution",type:"uint256"}],name:"SubscriptionDataAfter",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"},{indexed:!1,internalType:"uint128",name:"units",type:"uint128"},{indexed:!1,internalType:"uint256",name:"pendingDistribution",type:"uint256"}],name:"SubscriptionDataBefore",type:"event"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"cbdata",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint128",name:"amount",type:"uint128"}],name:"distribute",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"setForceGetSubscriptionByID",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"}],name:"updateSubscription",outputs:[],stateMutability:"nonpayable",type:"function"}],zJ="0x60806040526002805460ff60c01b191690553480156200001e57600080fd5b5060405162001b5938038062001b5983398101604081905262000041916200020e565b600080546001600160a01b0319166001600160a01b03871690811782556040805163bd1c448b60e01b815260048101889052602481019190915260448101929092529063bd1c448b90606401600060405180830381600087803b158015620000a857600080fd5b505af1158015620000bd573d6000803e3d6000fd5b5050600180546001600160a01b0319166001600160a01b03878116918217909255600280548784166001600160c01b031990911617600160a01b63ffffffff888116820292909217928390556000805460408051928352602083019052861697506339255d5b96509394859463d787840a9462000148949281169390049091169060448101620002f4565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526200019f93925090602481016200032f565b6000604051808303816000875af1158015620001bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620001e9919081019062000373565b5050505050506200042b565b6001600160a01b03811681146200020b57600080fd5b50565b600080600080600060a086880312156200022757600080fd5b85516200023481620001f5565b6020870151604088015191965094506200024e81620001f5565b60608701519093506200026181620001f5565b608087015190925063ffffffff811681146200027c57600080fd5b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620002bd578181015183820152602001620002a3565b50506000910152565b60008151808452620002e0816020860160208601620002a0565b601f01601f19169290920160200192915050565b6001600160a01b038416815263ffffffff831660208201526060604082018190526000906200032690830184620002c6565b95945050505050565b6001600160a01b03841681526060602082018190526000906200035590830185620002c6565b8281036040840152620003698185620002c6565b9695505050505050565b6000602082840312156200038657600080fd5b81516001600160401b03808211156200039e57600080fd5b818401915084601f830112620003b357600080fd5b815181811115620003c857620003c86200028a565b604051601f8201601f19908116603f01168101908382118183101715620003f357620003f36200028a565b816040528281528760208487010111156200040d57600080fd5b62000420836020830160208801620002a0565b979650505050505050565b61171e806200043b6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806353c11f991161006657806353c11f99146101015780635f9e7d7714610114578063884d1f4014610127578063d86ed3e51461013a578063fbd6c5311461014d57600080fd5b8063230dbd291461009857806330d9c915146100c157806334cdedda146100d457806334e5a692146100ee575b600080fd5b6100ab6100a6366004610f93565b610160565b6040516100b891906110ae565b60405180910390f35b6100ab6100cf3660046110c8565b610317565b6100ec6002805460ff60c01b1916600160c01b179055565b005b6100ec6100fc36600461117c565b6104d9565b6100ab61010f366004610f93565b6105ce565b6100ab6101223660046110c8565b610732565b6100ab6101353660046110c8565b61085f565b6100ab610148366004610f93565b610973565b6100ec61015b366004611199565b610a87565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061018c90859085906004016111d2565b602060405180830381865afa1580156101a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cd9190611216565b6101f25760405162461bcd60e51b81526004016101e990611231565b60405180910390fd5b6002548c908c906001600160a01b038084169116146102235760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146102505760405162461bcd60e51b81526004016101e9906112a4565b61027d87877fe8403962000fb7c84477d736a9f7580bce08b91a50c982d183fa44077a9ce9108e8e610b7f565b6102cd89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d6000610d25565b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929750505050505050509998505050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061034390859085906004016111d2565b602060405180830381865afa158015610360573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103849190611216565b6103a05760405162461bcd60e51b81526004016101e990611231565b6002548a908a906001600160a01b038084169116146103d15760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146103fe5760405162461bcd60e51b81526004016101e9906112a4565b61042b87877f76253669260cf524e3db8d89857f289f85025242f93be69d3ee9d284788037688c8c610b7f565b600254600160c01b900460ff16156104ba5760015460025460405163cd7245c560e01b81526001600160a01b039182166004820152602481018d905291169063cd7245c59060440160a060405180830381865afa158015610490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b491906112e4565b50505050505b50506040805160008152602081019091529a9950505050505050505050565b60008054600154600254604080519485526020850190526001600160a01b03928316936339255d5b9392831692839263b96731c29261052e92821691600160a01b900463ffffffff169089906044810161135e565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b031916905261058393925090602481016113a7565b6000604051808303816000875af11580156105a2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105ca9190810190611485565b5050565b604051632fd0a1cd60e21b815260609083908390339063bf428734906105fa90859085906004016111d2565b602060405180830381865afa158015610617573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063b9190611216565b6106575760405162461bcd60e51b81526004016101e990611231565b6002548c908c906001600160a01b038084169116146106885760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146106b55760405162461bcd60e51b81526004016101e9906112a4565b6106e287877ffec91ad4a0d3a97a5aa5d0b8b79f71ff5a63866a2be7950c6bac67bce785d7088e8e610b7f565b6102cd89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d6001610d25565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061075e90859085906004016111d2565b602060405180830381865afa15801561077b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079f9190611216565b6107bb5760405162461bcd60e51b81526004016101e990611231565b6002548a908a906001600160a01b038084169116146107ec5760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146108195760405162461bcd60e51b81526004016101e9906112a4565b61084687877ffec91ad4a0d3a97a5aa5d0b8b79f71ff5a63866a2be7950c6bac67bce785d7088c8c610b7f565b61084f8a610e6c565b9c9b505050505050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061088b90859085906004016111d2565b602060405180830381865afa1580156108a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cc9190611216565b6108e85760405162461bcd60e51b81526004016101e990611231565b6002548a908a906001600160a01b038084169116146109195760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146109465760405162461bcd60e51b81526004016101e9906112a4565b61084687877fe8403962000fb7c84477d736a9f7580bce08b91a50c982d183fa44077a9ce9108c8c610b7f565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061099f90859085906004016111d2565b602060405180830381865afa1580156109bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e09190611216565b6109fc5760405162461bcd60e51b81526004016101e990611231565b6002548c908c906001600160a01b03808416911614610a2d5760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b03828116911614610a5a5760405162461bcd60e51b81526004016101e9906112a4565b61027d87877f76253669260cf524e3db8d89857f289f85025242f93be69d3ee9d284788037688e8e610b7f565b60008054600154600254604080519485526020850190526001600160a01b03928316936339255d5b9392831692839263232d2b5892610ade92821691600160a01b900463ffffffff16908a908a90604481016114c2565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052610b3393925090602481016113a7565b6000604051808303816000875af1158015610b52573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7a9190810190611485565b505050565b604051631fb6491d60e11b81526000903390633f6c923a90610ba790899089906004016111d2565b600060405180830381865afa158015610bc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bec919081019061153d565b905060008060608360a00151806020019051810190610c0b9190611644565b91945092509050868314610c565760405162461bcd60e51b815260206004820152601260248201527177726f6e672063616c6c6261636b5479706560701b60448201526064016101e9565b60808401516001600160e01b0319838116911614610cb65760405162461bcd60e51b815260206004820152601760248201527f77726f6e672061677265656d656e7453656c6563746f7200000000000000000060448201526064016101e9565b8585604051610cc692919061169b565b6040518091039020818051906020012014610d1a5760405162461bcd60e51b815260206004820152601460248201527377726f6e67206141677265656d656e744461746160601b60448201526064016101e9565b505050505050505050565b60008060008060008088511115610d985787806020019051810190610d4a91906112e4565b604051949950929750909550935091507f2454540e0875d1db1518bd2e89c610a09e41eb24b53620d5cf7f43cc5112d53590610d8f90879087908790879087906116ab565b60405180910390a15b85610e625760015460025460405163cd7245c560e01b81526001600160a01b039182166004820152602481018a905291169063cd7245c59060440160a060405180830381865afa158015610df0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1491906112e4565b604051949950929750909550935091507fca5ab0cc93ce90dc74e03f000eb2f1bf6fe2af97ef814ed740d1eafc597da90490610e5990879087908790879087906116ab565b60405180910390a15b5050505050505050565b60015460025460405163cd7245c560e01b81526001600160a01b03918216600482015260248101849052606092600092839283928392839291169063cd7245c59060440160a060405180830381865afa158015610ecd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef191906112e4565b60405194995092975090955093509150610f1790869086908690869086906020016116ab565b60405160208183030381529060405295505050505050919050565b6001600160a01b0381168114610f4757600080fd5b50565b60008083601f840112610f5c57600080fd5b50813567ffffffffffffffff811115610f7457600080fd5b602083019150836020828501011115610f8c57600080fd5b9250929050565b600080600080600080600080600060c08a8c031215610fb157600080fd5b8935610fbc81610f32565b985060208a0135610fcc81610f32565b975060408a0135965060608a013567ffffffffffffffff80821115610ff057600080fd5b610ffc8d838e01610f4a565b909850965060808c013591508082111561101557600080fd5b6110218d838e01610f4a565b909650945060a08c013591508082111561103a57600080fd5b506110478c828d01610f4a565b915080935050809150509295985092959850929598565b60005b83811015611079578181015183820152602001611061565b50506000910152565b6000815180845261109a81602086016020860161105e565b601f01601f19169290920160200192915050565b6020815260006110c16020830184611082565b9392505050565b600080600080600080600060a0888a0312156110e357600080fd5b87356110ee81610f32565b965060208801356110fe81610f32565b955060408801359450606088013567ffffffffffffffff8082111561112257600080fd5b61112e8b838c01610f4a565b909650945060808a013591508082111561114757600080fd5b506111548a828b01610f4a565b989b979a50959850939692959293505050565b6001600160801b0381168114610f4757600080fd5b60006020828403121561118e57600080fd5b81356110c181611167565b600080604083850312156111ac57600080fd5b82356111b781610f32565b915060208301356111c781611167565b809150509250929050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b8051801515811461121157600080fd5b919050565b60006020828403121561122857600080fd5b6110c182611201565b60208082526027908201527f49444153757065724170705465737465723a20637478206e6f742076616c6964604082015266206265666f726560c81b606082015260800190565b6020808252601290820152713737ba1030b1b1b2b83a32b2103a37b5b2b760711b604082015260600190565b6020808252600790820152666e6f742069646160c81b604082015260600190565b805161121181610f32565b805163ffffffff8116811461121157600080fd5b600080600080600060a086880312156112fc57600080fd5b855161130781610f32565b9450611315602087016112d0565b935061132360408701611201565b9250606086015161133381611167565b80925050608086015190509295509295909350565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038516815263ffffffff841660208201526001600160801b038316604082015260806060820181905260009061139d90830184611082565b9695505050505050565b6001600160a01b03841681526060602082018190526000906113cb90830185611082565b828103604084015261139d8185611082565b604051610160810167ffffffffffffffff8111828210171561140157611401611348565b60405290565b600082601f83011261141857600080fd5b815167ffffffffffffffff8082111561143357611433611348565b604051601f8301601f19908116603f0116810190828211818310171561145b5761145b611348565b8160405283815286602085880101111561147457600080fd5b61139d84602083016020890161105e565b60006020828403121561149757600080fd5b815167ffffffffffffffff8111156114ae57600080fd5b6114ba84828501611407565b949350505050565b6001600160a01b03868116825263ffffffff86166020830152841660408201526001600160801b038316606082015260a06080820181905260009061150990830184611082565b979650505050505050565b805160ff8116811461121157600080fd5b80516001600160e01b03198116811461121157600080fd5b60006020828403121561154f57600080fd5b815167ffffffffffffffff8082111561156757600080fd5b90830190610160828603121561157c57600080fd5b6115846113dd565b61158d83611514565b815261159b60208401611514565b6020820152604083015160408201526115b6606084016112c5565b60608201526115c760808401611525565b608082015260a0830151828111156115de57600080fd5b6115ea87828601611407565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506116218284016112c5565b8282015261014091506116358284016112c5565b91810191909152949350505050565b60008060006060848603121561165957600080fd5b8351925061166960208501611525565b9150604084015167ffffffffffffffff81111561168557600080fd5b61169186828701611407565b9150509250925092565b8183823760009101908152919050565b6001600160a01b0395909516855263ffffffff93909316602085015290151560408401526001600160801b03166060830152608082015260a0019056fea2646970667358221220df160c6b368b4c8d195f897b120219cf5391ad9a12da4aa634b85529c735fef464736f6c63430008130033",zQ=eb=>eb.length>1;class z6 extends uw.lV{constructor(...eb){zQ(eb)?super(...eb):super(zX,zJ,eb[0])}deploy(eb,em,eH,eV,ew,eM){return super.deploy(eb,em,eH,eV,ew,eM||{})}getDeployTransaction(eb,em,eH,eV,ew,eM){return super.getDeployTransaction(eb,em,eH,eV,ew,eM||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(zX)}static connect(eb,em){return new uw.CH(eb,zX,em)}}z6.bytecode=zJ,z6.abi=zX;let z4=[{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approveTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradeToTest",outputs:[],stateMutability:"nonpayable",type:"function"}],z5="0x608060405234801561001057600080fd5b506102e6806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80632ed8c4b91461003b578063eefa3cde14610050575b600080fd5b61004e61004936600461015f565b610063565b005b61004e61005e3660046101fe565b6100ce565b6040516316e7427360e21b81526001600160a01b03861690635b9d09cc9061009590879087908790879060040161023f565b600060405180830381600087803b1580156100af57600080fd5b505af11580156100c3573d6000803e3d6000fd5b505050505050505050565b60405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905284169063095ea7b3906044016020604051808303816000875af115801561011d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101419190610287565b50505050565b6001600160a01b038116811461015c57600080fd5b50565b60008060008060006080868803121561017757600080fd5b853561018281610147565b9450602086013561019281610147565b935060408601359250606086013567ffffffffffffffff808211156101b657600080fd5b818801915088601f8301126101ca57600080fd5b8135818111156101d957600080fd5b8960208285010111156101eb57600080fd5b9699959850939650602001949392505050565b60008060006060848603121561021357600080fd5b833561021e81610147565b9250602084013561022e81610147565b929592945050506040919091013590565b6001600160a01b0385168152602081018490526060604082018190528101829052818360808301376000818301608090810191909152601f909201601f191601019392505050565b60006020828403121561029957600080fd5b815180151581146102a957600080fd5b939250505056fea2646970667358221220437d2a2ccf4fedf160827a617f10e5dbb1434d06b461a94bcef8dd235be57a3e64736f6c63430008130033",z8=eb=>eb.length>1;class z9 extends uw.lV{constructor(...eb){z8(eb)?super(...eb):super(z4,z5,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(z4)}static connect(eb,em){return new uw.CH(eb,z4,em)}}z9.bytecode=z5,z9.abi=z4;let z7=[{inputs:[{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"},{internalType:"contract ISuperfluid",name:"superfluid",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"cbdata",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"createFlow",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"}],Hb="0x60806040523480156200001157600080fd5b5060405162001fc738038062001fc7833981016040819052620000349162000127565b6001600160a01b0382166200004d576200004d62000166565b6001600160a01b03811662000066576200006662000166565b600080546001600160a01b038085166001600160a01b03199283161790925560018054928416929091168217905560405163bd1c448b60e01b8152641100000001919063bd1c448b90620000d190849060040190815260406020820181905260009082015260600190565b600060405180830381600087803b158015620000ec57600080fd5b505af115801562000101573d6000803e3d6000fd5b505050505050506200017c565b6001600160a01b03811681146200012457600080fd5b50565b600080604083850312156200013b57600080fd5b825162000148816200010e565b60208401519092506200015b816200010e565b809150509250929050565b634e487b7160e01b600052600160045260246000fd5b611e3b806200018c6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80635f9e7d771161005b5780635f9e7d77146100d157806362fc305e146100e4578063884d1f40146100f7578063d86ed3e51461010a57600080fd5b8063230dbd291461008257806330d9c915146100ab57806353c11f99146100be575b600080fd5b610095610090366004611445565b61011d565b6040516100a2919061155f565b60405180910390f35b6100956100b9366004611579565b610312565b6100956100cc366004611445565b61037a565b6100956100df366004611579565b6108f5565b6100956100f2366004611626565b61095c565b610095610105366004611579565b610a5c565b610095610118366004611445565b610b44565b6001546060906001600160a01b0316331461013a5761013a6116a1565b6000546001600160a01b038a8116911614610157576101576116a1565b61015f611350565b600154604051631fb6491d60e11b81526001600160a01b0390911690633f6c923a9061019190879087906004016116e0565b600060405180830381865afa1580156101ae573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101d69190810190611807565b80825260a001516101e690610d29565b60408301526001600160a01b031660208201526102058789018961190d565b6001600160a01b03908116608084015290811660608084018290528351015190911614610234576102346116a1565b60808101516001600160a01b03163014610250576102506116a1565b805160c00151610262576102626116a1565b60008054604051631557a4cd60e31b81526001600160a01b038e81166004830152602482018d90529091169063aabd266890604401608060405180830381865afa1580156102b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d89190611946565b50506040840151845160c001519193506103029250908e906328104d3160e11b9085908a8a610e9f565b9c9b505050505050505050505050565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b60648201526060906084015b60405180910390fd5b6001546060906001600160a01b03163314610397576103976116a1565b6000546001600160a01b038a81169116146103b4576103b46116a1565b6103bc611350565b600154604051631fb6491d60e11b81526001600160a01b0390911690633f6c923a906103ee90879087906004016116e0565b600060405180830381865afa15801561040b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104339190810190611807565b80825260a0015161044390610d29565b60408301526001600160a01b031660208201526104628789018961190d565b6001600160a01b0390811660808401521660608201819052301480610493575060808101516001600160a01b031630145b61049f5761049f6116a1565b606084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506080830151909350306001600160a01b039091160361063e5760005b826040015160200151518110156106385760008054906101000a90046001600160a01b03166001600160a01b031663b4b333c68e30866040015160200151858151811061054257610542611984565b602090810291909101810151516040805160008152928301905261056b9392916044810161199a565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b9490941790935260015460008054835191825294810192839052634329d29360e01b9092529195506001600160a01b039182169350634329d293926105de921690869089602482016119d8565b6000604051808303816000875af11580156105fd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106259190810190611a2d565b50935061063181611aa6565b90506104f3565b506108e6565b60005b826040015160200151518110156107ca5782608001516001600160a01b0316836040015160200151828151811061067a5761067a611984565b6020026020010151600001516001600160a01b031603156107ba5760008054906101000a90046001600160a01b03166001600160a01b031663b4b333c68e3086604001516020015185815181106106d3576106d3611984565b60209081029190910181015151604080516000815292830190526106fc9392916044810161199a565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b9490941790935260015460008054835191825294810192839052634329d29360e01b9092529195506001600160a01b039182169350634329d2939261076f921690869089602482016119d8565b6000604051808303816000875af115801561078e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107b69190810190611a2d565b5093505b6107c381611aa6565b9050610641565b506000805460208401516001600160a01b039091169163b4b333c6918f9130906040519080825280601f01601f191660200182016040528015610814576020820181803683370190505b50604051602401610828949392919061199a565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b9490941790935260015460008054835191825294810192839052634329d29360e01b9092529194506001600160a01b039182169350634329d2939261089b921690859088602482016119d8565b6000604051808303816000875af11580156108ba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108e29190810190611a2d565b5092505b50509998505050505050505050565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b6064820152606090608401610371565b600080546040805183815260208101909152606092916001600160a01b0316906362fc305e90610995908a908a908a9060448101611abf565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b9490941790935260015460008054835191825294810192839052634329d29360e01b9092529194506001600160a01b039182169350634329d29392610a099216908590898960248301611af5565b6000604051808303816000875af1158015610a28573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a509190810190611a2d565b50979650505050505050565b6001546060906001600160a01b03163314610a7957610a796116a1565b6000546001600160a01b03888116911614610a9657610a966116a1565b60008054604051631557a4cd60e31b81526001600160a01b038b81166004830152602482018a90529091169063aabd266890604401608060405180830381865afa158015610ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0c9190611946565b5050600b0b91505080604051602001610b2791815260200190565b604051602081830303815290604052915050979650505050505050565b6001546060906001600160a01b03163314610b6157610b616116a1565b6000546001600160a01b038a8116911614610b7e57610b7e6116a1565b610b86611350565b600154604051631fb6491d60e11b81526001600160a01b0390911690633f6c923a90610bb890879087906004016116e0565b600060405180830381865afa158015610bd5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bfd9190810190611807565b80825260a00151610c0d90610d29565b60408301526001600160a01b03166020820152610c2c8789018961190d565b6001600160a01b03908116608084015290811660608084018290528351015190911614610c5b57610c5b6116a1565b60808101516001600160a01b03163014610c7757610c776116a1565b805160c00151610c8957610c896116a1565b60008054604051631557a4cd60e31b81526001600160a01b038e81166004830152602482018d90529091169063aabd266890604401608060405180830381865afa158015610cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cff9190611946565b50506040840151845160c001519193506103029250908e9063317e182f60e11b9085908a8a610e9f565b6040805180820190915260008082526060602083015290600060608085806020019051810190610d599190611bda565b80518251949950929650909450925014610d7557610d756116a1565b60ff8316845281516001600160401b03811115610d9457610d946116fc565b604051908082528060200260200182016040528015610dd957816020015b6040805180820190915260008082526020820152815260200190600190039081610db25790505b50602085015260005b8251811015610e9657818181518110610dfd57610dfd611984565b6020026020010151600003610e1457610e146116a1565b6040518060400160405280848381518110610e3157610e31611984565b60200260200101516001600160a01b03168152602001838381518110610e5957610e59611984565b602002602001015181525085602001518281518110610e7a57610e7a611984565b602002602001018190525080610e8f90611aa6565b9050610de2565b50505050915091565b60606000610eb08960200151611302565b905083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525080546040516346ccbfb760e11b81526001600160a01b038f81166004830152600b8e900b60248301529698509195169350638d997f6e92506044019050602060405180830381865afa158015610f3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f629190611cc1565b60008054919250906001600160a01b0316630602f7db8b610f84600186611cda565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381865afa158015610fcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff19190611cf3565b6000546040516346ccbfb760e11b81526001600160a01b038d81166004830152600b84900b6024830152929350911690638d997f6e90604401602060405180830381865afa158015611047573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106b9190611cc1565b8b519097506064906110809060ff1689611d10565b61108a9190611d3d565b8b5190975060649061109f9060ff168a611d51565b6110a99190611d78565b975060005b8b60200151518110156112df5760008c6020015182815181106110d3576110d3611984565b6020026020010151905060008582602001518b6110f09190611d10565b6110fa9190611d3d565b905060008060009054906101000a90046001600160a01b03166001600160a01b0316630602f7db8f846040518363ffffffff1660e01b81526004016111549291906001600160a01b03929092168252602082015260400190565b602060405180830381865afa158015611171573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111959190611cf3565b90506111a1818d611dbb565b9b5060008d8f85600001518460006001600160401b038111156111c6576111c66116fc565b6040519080825280601f01601f1916602001820160405280156111f0576020820181803683370190505b506040516024016112049493929190611abf565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b0319959095169490941790935260015460008054835191825294810192839052634329d29360e01b9092529193506001600160a01b0391821692634329d2939261127e9291169085908e602482016119d8565b6000604051808303816000875af115801561129d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112c59190810190611a2d565b508099505050505050806112d890611aa6565b90506110ae565b50600088600b0b12156112f4576112f46116a1565b505050979650505050505050565b6000805b825181101561134a5782818151811061132157611321611984565b602002602001015160200151826113389190611df2565b915061134381611aa6565b9050611306565b50919050565b6040805161020081018252600060a0820181815260c0830182905260e083018290526101008301829052610120830182905260606101408401819052610160840183905261018084018390526101a084018390526101c084018390526101e084018390529083526020808401839052845180860186529283528201529091820190815260006020820181905260409091015290565b6001600160a01b03811681146113fa57600080fd5b50565b60008083601f84011261140f57600080fd5b5081356001600160401b0381111561142657600080fd5b60208301915083602082850101111561143e57600080fd5b9250929050565b600080600080600080600080600060c08a8c03121561146357600080fd5b893561146e816113e5565b985060208a013561147e816113e5565b975060408a0135965060608a01356001600160401b03808211156114a157600080fd5b6114ad8d838e016113fd565b909850965060808c01359150808211156114c657600080fd5b6114d28d838e016113fd565b909650945060a08c01359150808211156114eb57600080fd5b506114f88c828d016113fd565b915080935050809150509295985092959850929598565b60005b8381101561152a578181015183820152602001611512565b50506000910152565b6000815180845261154b81602086016020860161150f565b601f01601f19169290920160200192915050565b6020815260006115726020830184611533565b9392505050565b600080600080600080600060a0888a03121561159457600080fd5b873561159f816113e5565b965060208801356115af816113e5565b95506040880135945060608801356001600160401b03808211156115d257600080fd5b6115de8b838c016113fd565b909650945060808a01359150808211156115f757600080fd5b506116048a828b016113fd565b989b979a50959850939692959293505050565b80600b0b81146113fa57600080fd5b60008060008060006080868803121561163e57600080fd5b8535611649816113e5565b94506020860135611659816113e5565b9350604086013561166981611617565b925060608601356001600160401b0381111561168457600080fd5b611690888289016113fd565b969995985093965092949392505050565b634e487b7160e01b600052600160045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6020815260006116f46020830184866116b7565b949350505050565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715611735576117356116fc565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611763576117636116fc565b604052919050565b805160ff8116811461177c57600080fd5b919050565b805161177c816113e5565b80516001600160e01b03198116811461177c57600080fd5b600082601f8301126117b557600080fd5b81516001600160401b038111156117ce576117ce6116fc565b6117e1601f8201601f191660200161173b565b8181528460208386010111156117f657600080fd5b6116f482602083016020870161150f565b60006020828403121561181957600080fd5b81516001600160401b038082111561183057600080fd5b90830190610160828603121561184557600080fd5b61184d611712565b6118568361176b565b81526118646020840161176b565b60208201526040830151604082015261187f60608401611781565b60608201526118906080840161178c565b608082015260a0830151828111156118a757600080fd5b6118b3878286016117a4565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506118ea828401611781565b8282015261014091506118fe828401611781565b91810191909152949350505050565b6000806040838503121561192057600080fd5b823561192b816113e5565b9150602083013561193b816113e5565b809150509250929050565b6000806000806080858703121561195c57600080fd5b84519350602085015161196e81611617565b6040860151606090960151949790965092505050565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0385811682528481166020830152831660408201526080606082018190526000906119ce90830184611533565b9695505050505050565b6001600160a01b03851681526080602082018190526000906119fc90830186611533565b8281036040840152611a0e8186611533565b90508281036060840152611a228185611533565b979650505050505050565b60008060408385031215611a4057600080fd5b82516001600160401b0380821115611a5757600080fd5b611a63868387016117a4565b93506020850151915080821115611a7957600080fd5b50611a86858286016117a4565b9150509250929050565b634e487b7160e01b600052601160045260246000fd5b600060018201611ab857611ab8611a90565b5060010190565b6001600160a01b03858116825284166020820152600b83900b60408201526080606082018190526000906119ce90830184611533565b6001600160a01b0386168152608060208201819052600090611b1990830187611533565b8281036040840152611b2b8187611533565b90508281036060840152611b408185876116b7565b98975050505050505050565b60006001600160401b03821115611b6557611b656116fc565b5060051b60200190565b600082601f830112611b8057600080fd5b81516020611b95611b9083611b4c565b61173b565b82815260059290921b84018101918181019086841115611bb457600080fd5b8286015b84811015611bcf5780518352918301918301611bb8565b509695505050505050565b60008060008060808587031215611bf057600080fd5b8451611bfb816113e5565b93506020611c0a86820161176b565b935060408601516001600160401b0380821115611c2657600080fd5b818801915088601f830112611c3a57600080fd5b8151611c48611b9082611b4c565b81815260059190911b8301840190848101908b831115611c6757600080fd5b938501935b82851015611c8e578451611c7f816113e5565b82529385019390850190611c6c565b60608b01519097509450505080831115611ca757600080fd5b5050611cb587828801611b6f565b91505092959194509250565b600060208284031215611cd357600080fd5b5051919050565b81810381811115611ced57611ced611a90565b92915050565b600060208284031215611d0557600080fd5b815161157281611617565b8082028115828204841417611ced57611ced611a90565b634e487b7160e01b600052601260045260246000fd5b600082611d4c57611d4c611d27565b500490565b600082600b0b82600b0b0280600b0b9150808214611d7157611d71611a90565b5092915050565b600081600b0b83600b0b80611d8f57611d8f611d27565b6b7fffffffffffffffffffffff19821460001982141615611db257611db2611a90565b90059392505050565b600b82810b9082900b036b7fffffffffffffffffffffff1981126b7fffffffffffffffffffffff82131715611ced57611ced611a90565b80820180821115611ced57611ced611a9056fea2646970667358221220ca9ef8197f669f00632641ee4b5615b512c0759839c09bb655731a96656ac85264736f6c63430008130033",Hm=eb=>eb.length>1;class Hy extends uw.lV{constructor(...eb){Hm(eb)?super(...eb):super(z7,Hb,eb[0])}deploy(eb,em,eH){return super.deploy(eb,em,eH||{})}getDeployTransaction(eb,em,eH){return super.getDeployTransaction(eb,em,eH||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(z7)}static connect(eb,em){return new uw.CH(eb,z7,em)}}Hy.bytecode=Hb,Hy.abi=z7;let Hg=[{inputs:[{internalType:"contract ISuperfluid",name:"_host",type:"address"},{internalType:"contract ISuperToken",name:"_token",type:"address"},{internalType:"address",name:"_receiver",type:"address"},{internalType:"uint256",name:"_appLevel",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"OnlyCFA",type:"error"},{inputs:[],name:"OnlyHost",type:"error"},{inputs:[],name:"UnsupportedToken",type:"error"},{inputs:[],name:"CFA_ID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"_superToken",type:"address"},{internalType:"address",name:"_agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"_ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"_superToken",type:"address"},{internalType:"address",name:"_agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"_ctx",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_targetApp",type:"address"}],name:"allowCompositeApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"cfaV1",outputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"host",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"receiver",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_originAccount",type:"address"},{internalType:"int96",name:"_flowRate",type:"int96"}],name:"startStreamToSelf",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_superApp",type:"address"},{internalType:"int96",name:"_flowRate",type:"int96"}],name:"startStreamToSuperApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_originAccount",type:"address"}],name:"stopStreamToSelf",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_sender",type:"address"},{internalType:"address",name:"_receiver",type:"address"}],name:"stopStreamToSuperApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"token",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"}],Hv="0x60806040523480156200001157600080fd5b50604051620016da380380620016da83398101604081905262000034916200021c565b6001600160a01b0383166200004d576200004d62000276565b6001600160a01b03821662000066576200006662000276565b6001600160a01b0384166200007f576200007f62000276565b600280546001600160a01b0319166001600160a01b0386169081179091556040805180820182528281529051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201529091602083019163b6d200de90602401602060405180830381865afa15801562000109573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012f91906200028c565b6001600160a01b039081169091528151600080546001600160a01b031990811692841692909217815560209093015160018054831691841691909117905560048054821687841617815560038054909216868416179091556002546040805163bd1c448b60e01b8152641100000000871793810184905260248101919091526044810194909452909291169063bd1c448b90606401600060405180830381600087803b158015620001df57600080fd5b505af1158015620001f4573d6000803e3d6000fd5b505050505050505050620002b3565b6001600160a01b03811681146200021957600080fd5b50565b600080600080608085870312156200023357600080fd5b8451620002408162000203565b6020860151909450620002538162000203565b6040860151909350620002668162000203565b6060959095015193969295505050565b634e487b7160e01b600052600160045260246000fd5b6000602082840312156200029f57600080fd5b8151620002ac8162000203565b9392505050565b61141780620002c36000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063b6e1b56111610097578063f437bc5911610066578063f437bc5914610246578063f7260d3e14610271578063fae7e7e414610284578063fc0c546a1461029757600080fd5b8063b6e1b561146101d3578063bddd7ec3146101e6578063d3112b2e146101f9578063d86ed3e51461023357600080fd5b806353c11f99116100d357806353c11f991461018757806357121e0c1461019a5780635f9e7d77146101ad578063884d1f40146101c057600080fd5b80631d5ae1b514610105578063215eed021461011a578063230dbd291461015457806330d9c91514610174575b600080fd5b610118610113366004610e60565b6102aa565b005b6101417fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd381565b6040519081526020015b60405180910390f35b610167610162366004610ee2565b6102ca565b60405161014b9190610ffd565b610167610182366004611017565b610331565b610167610195366004610ee2565b610394565b6101186101a83660046110b6565b61056c565b6101676101bb366004611017565b6105ce565b6101676101ce366004611017565b610635565b6101186101e13660046110e2565b610698565b6101186101f43660046110e2565b6106b3565b600054600154610213916001600160a01b03908116911682565b604080516001600160a01b0393841681529290911660208301520161014b565b610167610241366004610ee2565b6106d5565b600254610259906001600160a01b031681565b6040516001600160a01b03909116815260200161014b565b600354610259906001600160a01b031681565b6101186102923660046110b6565b61087f565b600454610259906001600160a01b031681565b6004546102c690600090849084906001600160a01b031661089b565b5050565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d08155c19185d195960921b60648201526060906084015b60405180910390fd5b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b6064820152606090608401610328565b6002546060906001600160a01b031633146103c157604051620f491b60e11b815260040160405180910390fd5b6103ca896108c1565b15806103e457506004546001600160a01b038b8116911614155b156104285782828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092935061055f92505050565b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050905060008060010160009054906101000a90046001600160a01b03166001600160a01b031663e6a1e8888c30600360009054906101000a90046001600160a01b03166040518463ffffffff1660e01b81526004016104eb939291906001600160a01b0393841681529183166020830152909116604082015260600190565b608060405180830381865afa158015610508573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052c9190611110565b5050915050600081600b0b131561055d5760035461055a90600090849030906001600160a01b03168f61094d565b91505b505b9998505050505050505050565b6002546040516315c4878360e21b81526001600160a01b038381166004830152909116906357121e0c90602401600060405180830381600087803b1580156105b357600080fd5b505af11580156105c7573d6000803e3d6000fd5b5050505050565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b6064820152606090608401610328565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b6064820152606090608401610328565b6004546102c69060009084906001600160a01b03168461097c565b6004546106d090600090849030906001600160a01b03168561099c565b505050565b6002546060906001600160a01b0316331461070257604051620f491b60e11b815260040160405180910390fd5b6004548a906001600160a01b038083169116146107325760405163350b944160e11b815260040160405180910390fd5b8961073c816108c1565b6107595760405163d191999160e01b815260040160405180910390fd5b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050925060008060010160009054906101000a90046001600160a01b03166001600160a01b031663e8e7e2d18e306040518363ffffffff1660e01b81526004016107fc9291906001600160a01b0392831681529116602082015260400190565b602060405180830381865afa158015610819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083d919061114e565b905061086e84600360009054906101000a90046001600160a01b03168f8460006109c190949392919063ffffffff16565b9d9c50505050505050505050505050565b6004546102c690600090839030906001600160a01b03166109e6565b6040805160008152602081019091526108bb908590859085908590610a12565b50505050565b60007fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610922573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109469190611181565b1492915050565b6040805160008152602081019091526060906109729087908790879087908790610af1565b9695505050505050565b6040805160008152602081019091526108bb908590859085908590610bda565b6040805160008152602081019091526060906109729087908790879087908790610c1f565b6040805160008152602081019091526060906109729087908790879087908790610d24565b604080516000815260208101909152606090610a09908690869086908690610d6d565b95945050505050565b845460018601546040805160008152602081019091526001600160a01b03928316926339255d5b921690819063b4b333c690610a579088908b908b906044810161119a565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610aa29392509086906004016111ce565b6000604051808303816000875af1158015610ac1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ae99190810190611282565b505050505050565b855460018701546040805160008152602081019091526060926001600160a01b0390811692634329d29392911690819063b4b333c690610b3a9089908c908c906044810161119a565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610b879392509087908c906004016112bf565b6000604051808303816000875af1158015610ba6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bce9190810190611309565b50979650505050505050565b845460018601546040805160008152602081019091526001600160a01b03928316926339255d5b92169081906362fc305e90610a579089908b908a906044810161136d565b855460018701546060916001600160a01b03908116916339255d5b9116806394229ecb888b8b8a60006040519080825280601f01601f191660200182016040528015610c72576020820181803683370190505b50604051602401610c879594939291906113a3565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610cd29392509087906004016111ce565b6000604051808303816000875af1158015610cf1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d199190810190611282565b979650505050505050565b855460018701546040805160008152602081019091526060926001600160a01b0390811692634329d2939291169081906362fc305e90610b3a908a908c908b906044810161136d565b845460018601546040805160008152602081019091526060926001600160a01b03908116926339255d5b929116908190634c8b181f90610db69089908c908c906044810161119a565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610e019392509087906004016111ce565b6000604051808303816000875af1158015610e20573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109729190810190611282565b6001600160a01b0381168114610e5d57600080fd5b50565b60008060408385031215610e7357600080fd5b8235610e7e81610e48565b91506020830135610e8e81610e48565b809150509250929050565b60008083601f840112610eab57600080fd5b50813567ffffffffffffffff811115610ec357600080fd5b602083019150836020828501011115610edb57600080fd5b9250929050565b600080600080600080600080600060c08a8c031215610f0057600080fd5b8935610f0b81610e48565b985060208a0135610f1b81610e48565b975060408a0135965060608a013567ffffffffffffffff80821115610f3f57600080fd5b610f4b8d838e01610e99565b909850965060808c0135915080821115610f6457600080fd5b610f708d838e01610e99565b909650945060a08c0135915080821115610f8957600080fd5b50610f968c828d01610e99565b915080935050809150509295985092959850929598565b60005b83811015610fc8578181015183820152602001610fb0565b50506000910152565b60008151808452610fe9816020860160208601610fad565b601f01601f19169290920160200192915050565b6020815260006110106020830184610fd1565b9392505050565b600080600080600080600060a0888a03121561103257600080fd5b873561103d81610e48565b9650602088013561104d81610e48565b955060408801359450606088013567ffffffffffffffff8082111561107157600080fd5b61107d8b838c01610e99565b909650945060808a013591508082111561109657600080fd5b506110a38a828b01610e99565b989b979a50959850939692959293505050565b6000602082840312156110c857600080fd5b813561101081610e48565b80600b0b8114610e5d57600080fd5b600080604083850312156110f557600080fd5b823561110081610e48565b91506020830135610e8e816110d3565b6000806000806080858703121561112657600080fd5b845193506020850151611138816110d3565b6040860151606090960151949790965092505050565b60006020828403121561116057600080fd5b8151611010816110d3565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561119357600080fd5b5051919050565b6001600160a01b03858116825284811660208301528316604082015260806060820181905260009061097290830184610fd1565b6001600160a01b03841681526060602082018190526000906111f290830185610fd1565b82810360408401526109728185610fd1565b600082601f83011261121557600080fd5b815167ffffffffffffffff808211156112305761123061116b565b604051601f8301601f19908116603f011681019082821181831017156112585761125861116b565b8160405283815286602085880101111561127157600080fd5b610972846020830160208901610fad565b60006020828403121561129457600080fd5b815167ffffffffffffffff8111156112ab57600080fd5b6112b784828501611204565b949350505050565b6001600160a01b03851681526080602082018190526000906112e390830186610fd1565b82810360408401526112f58186610fd1565b90508281036060840152610d198185610fd1565b6000806040838503121561131c57600080fd5b825167ffffffffffffffff8082111561133457600080fd5b61134086838701611204565b9350602085015191508082111561135657600080fd5b5061136385828601611204565b9150509250929050565b6001600160a01b03858116825284166020820152600b83900b604082015260806060820181905260009061097290830184610fd1565b6001600160a01b038681168252858116602083015284166040820152600b83900b606082015260a060808201819052600090610d1990830184610fd156fea26469706673582212201a0d2799caa6f5537204bda88f05f29182ed2be32e8441b6eed2d102b563e8b764736f6c63430008130033",Hz=eb=>eb.length>1;class HH extends uw.lV{constructor(...eb){Hz(eb)?super(...eb):super(Hg,Hv,eb[0])}deploy(eb,em,eH,eV,ew){return super.deploy(eb,em,eH,eV,ew||{})}getDeployTransaction(eb,em,eH,eV,ew){return super.getDeployTransaction(eb,em,eH,eV,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(Hg)}static connect(eb,em){return new uw.CH(eb,Hg,em)}}HH.bytecode=Hv,HH.abi=Hg;let HV=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"bool",name:"activateOnCreated",type:"bool"},{internalType:"bool",name:"activateOnUpdated",type:"bool"},{internalType:"bool",name:"activateOnDeleted",type:"bool"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"NotAcceptedSuperToken",type:"error"},{inputs:[],name:"NotImplemented",type:"error"},{inputs:[],name:"UnauthorizedHost",type:"error"},{inputs:[],name:"CFAV1_TYPE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"afterReceiverHolder",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"afterSenderHolder",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],name:"isAcceptedSuperToken",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"lastUpdateHolder",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"oldFlowRateHolder",outputs:[{internalType:"int96",name:"",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"acceptedSuperToken",type:"address"},{internalType:"bool",name:"accepted",type:"bool"}],name:"setAcceptedSuperToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"startStream",outputs:[],stateMutability:"nonpayable",type:"function"}],Hw="0x60a06040523480156200001157600080fd5b506040516200168038038062001680833981016040819052620000349162000118565b6040805160208101909152600081526001600160a01b0385166080528490849084908490640100000001846200006c57640200000000175b836200007a57640c00000000175b826200008857643000000000175b60405163bd1c448b60e01b81526001600160a01b0387169063bd1c448b90620000b8908490869060040162000182565b600060405180830381600087803b158015620000d357600080fd5b505af1158015620000e8573d6000803e3d6000fd5b5050600060015550620001da9a5050505050505050505050565b805180151581146200011357600080fd5b919050565b600080600080608085870312156200012f57600080fd5b84516001600160a01b03811681146200014757600080fd5b9350620001576020860162000102565b9250620001676040860162000102565b9150620001776060860162000102565b905092959194509250565b82815260006020604081840152835180604085015260005b81811015620001b8578581018301518582016060015282016200019a565b506000606082860101526060601f19601f830116850101925050509392505050565b6080516114606200022060003960008181610172015281816102bd015281816103e4015281816104c1015281816105f7015281816106f401526107f601526114606000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806372ca8a3e11610097578063d86ed3e511610066578063d86ed3e514610232578063de83f18814610245578063e4776b3314610258578063e5d719581461026b57600080fd5b806372ca8a3e146101d257806381596a24146101f5578063884d1f401461020a578063bcb4546f1461021d57600080fd5b806330d9c915116100d357806330d9c9151461015a57806349f289dc1461016d57806353c11f99146101ac5780635f9e7d77146101bf57600080fd5b8063230dbd29146100fa578063284c578114610123578063303a0cf51461013a575b600080fd5b61010d610108366004610f63565b6102b0565b60405161011a919061107e565b60405180910390f35b61012c60015481565b60405190815260200161011a565b60005461014790600b0b81565b604051600b9190910b815260200161011a565b61010d610168366004611098565b6103b2565b6101947f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011a565b61010d6101ba366004610f63565b6103d7565b61010d6101cd366004611098565b6104b4565b6101e56101e0366004611137565b610599565b604051901515815260200161011a565b610208610203366004611163565b6105d0565b005b61010d610218366004611098565b6105ea565b61012c60008051602061140b83398151915281565b61010d610240366004610f63565b6106e7565b600254610194906001600160a01b031681565b600354610194906001600160a01b031681565b6102086102793660046111ae565b6005805460ff199081166001179091556001600160a01b039092166000908152600460205260409020805491151591909216179055565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102fb57604051632f2d36a760e01b815260040160405180910390fd5b610304896107d0565b6103475782828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293506103a592505050565b6103508a610599565b61036d57604051631ea25bab60e31b815260040160405180910390fd5b600061037b878901896111ec565b50905060008061038d8789018961121a565b9150915061039f8d8484848a8a610884565b93505050505b9998505050505050505050565b604080518082019091526002815261060f60f31b60208201525b979650505050505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415806104175750610415896107d0565b155b8061042857506104268a610599565b155b1561046c5782828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293506103a592505050565b60008061047b888a018a6111ec565b909250905060008061048f888a018a611246565b915091506104a28e858584868c8c61090b565b9e9d5050505050505050505050505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415806104f457506104f2876107d0565b155b80610505575061050388610599565b155b156105295750604080518082019091526002815261060f60f31b60208201526103cc565b600080610538868801886111ec565b90925090506000806105546001600160a01b038d1685856109aa565b5050915091508181604051602001610579929190918252600b0b602082015260400190565b604051602081830303815290604052945050505050979650505050505050565b60055460009060ff166105ad5760016105ca565b6001600160a01b03821660009081526004602052604090205460ff165b92915050565b6105e46001600160a01b0384168383610a4c565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461063557604051632f2d36a760e01b815260040160405180910390fd5b61063e876107d0565b6106615750604080518082019091526002815261060f60f31b60208201526103cc565b61066a88610599565b61068757604051631ea25bab60e31b815260040160405180910390fd5b6000610695858701876111ec565b5090506000806106af6001600160a01b038c1684306109aa565b505060408051600b9290920b60208301528181019290925281518082038301815260609091019091529b9a5050505050505050505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073257604051632f2d36a760e01b815260040160405180910390fd5b61073b896107d0565b61077e5782828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293506103a592505050565b6107878a610599565b6107a457604051631ea25bab60e31b815260040160405180910390fd5b60006107b2878901896111ec565b5090506107c18b828686610a73565b9b9a5050505050505050505050565b604051635b69006f60e11b815260008051602061140b83398151915260048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6d200de90602401602060405180830381865afa158015610845573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610869919061126b565b6001600160a01b0316826001600160a01b0316149050919050565b6001839055600080546bffffffffffffffffffffffff19166bffffffffffffffffffffffff8616179055600280546001600160a01b0319166001600160a01b038716179055604080516020601f84018190048102820181019092528281526060918490849081908401838280828437600092019190915250929a9950505050505050505050565b6001839055600080546bffffffffffffffffffffffff86166bffffffffffffffffffffffff19909116179055600280546001600160a01b038089166001600160a01b0319928316179092556003805492881692909116919091179055604080516020601f84018190048102820181019092528281526060918490849081908401838280828437600092019190915250929b9a5050505050505050505050565b60008060008060006109bb88610ace565b604051631cd43d1160e31b81526001600160a01b038b811660048301528a811660248301528981166044830152919350908316915063e6a1e88890606401608060405180830381865afa158015610a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3a9190611288565b929b919a509850909650945050505050565b60408051600080825260208201909252610a6b90859085908590610c3d565b949350505050565b600280546001600160a01b0319166001600160a01b038516179055604080516020601f840181900481028201810190925282815260609184908490819084018382808284376000920191909152509298975050505050505050565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b038116610c0c576001600160a01b038216610b9357826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b90919061126b565b91505b604051635b69006f60e11b815260008051602061140b83398151915260048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015610be5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c09919061126b565b90505b6001600160a01b038216610c2257610c226112dc565b6001600160a01b038116610c3857610c386112dc565b915091565b6000806000610c4b87610d69565b91509150816001600160a01b03166339255d5b82836001600160a01b03166362fc305e8b8b8b600067ffffffffffffffff811115610c8b57610c8b6112c6565b6040519080825280601f01601f191660200182016040528015610cb5576020820181803683370190505b50604051602401610cc994939291906112f2565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610d14939250908990600401611332565b6000604051808303816000875af1158015610d33573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d5b9190810190611368565b506001979650505050505050565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b038116610c0c576001600160a01b038216610e2e57826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2b919061126b565b91505b604051635b69006f60e11b815260008051602061140b83398151915260048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015610e80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea4919061126b565b9050817f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea83755807fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a556001600160a01b038216610c2257610c226112dc565b6001600160a01b0381168114610f1757600080fd5b50565b60008083601f840112610f2c57600080fd5b50813567ffffffffffffffff811115610f4457600080fd5b602083019150836020828501011115610f5c57600080fd5b9250929050565b600080600080600080600080600060c08a8c031215610f8157600080fd5b8935610f8c81610f02565b985060208a0135610f9c81610f02565b975060408a0135965060608a013567ffffffffffffffff80821115610fc057600080fd5b610fcc8d838e01610f1a565b909850965060808c0135915080821115610fe557600080fd5b610ff18d838e01610f1a565b909650945060a08c013591508082111561100a57600080fd5b506110178c828d01610f1a565b915080935050809150509295985092959850929598565b60005b83811015611049578181015183820152602001611031565b50506000910152565b6000815180845261106a81602086016020860161102e565b601f01601f19169290920160200192915050565b6020815260006110916020830184611052565b9392505050565b600080600080600080600060a0888a0312156110b357600080fd5b87356110be81610f02565b965060208801356110ce81610f02565b955060408801359450606088013567ffffffffffffffff808211156110f257600080fd5b6110fe8b838c01610f1a565b909650945060808a013591508082111561111757600080fd5b506111248a828b01610f1a565b989b979a50959850939692959293505050565b60006020828403121561114957600080fd5b813561109181610f02565b80600b0b8114610f1757600080fd5b60008060006060848603121561117857600080fd5b833561118381610f02565b9250602084013561119381610f02565b915060408401356111a381611154565b809150509250925092565b600080604083850312156111c157600080fd5b82356111cc81610f02565b9150602083013580151581146111e157600080fd5b809150509250929050565b600080604083850312156111ff57600080fd5b823561120a81610f02565b915060208301356111e181610f02565b6000806040838503121561122d57600080fd5b823561123881611154565b946020939093013593505050565b6000806040838503121561125957600080fd5b8235915060208301356111e181611154565b60006020828403121561127d57600080fd5b815161109181610f02565b6000806000806080858703121561129e57600080fd5b8451935060208501516112b081611154565b6040860151606090960151949790965092505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b03858116825284166020820152600b83900b604082015260806060820181905260009061132890830184611052565b9695505050505050565b6001600160a01b038416815260606020820181905260009061135690830185611052565b82810360408401526113288185611052565b60006020828403121561137a57600080fd5b815167ffffffffffffffff8082111561139257600080fd5b818401915084601f8301126113a657600080fd5b8151818111156113b8576113b86112c6565b604051601f8201601f19908116603f011681019083821181831017156113e0576113e06112c6565b816040528281528760208487010111156113f957600080fd5b6103cc83602083016020880161102e56fea9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3a2646970667358221220b5c43502fa5f2886ec493d879ffea8f43311468b63a4af985e3950b5120ab54364736f6c63430008130033",HM=eb=>eb.length>1;class HC extends uw.lV{constructor(...eb){HM(eb)?super(...eb):super(HV,Hw,eb[0])}deploy(eb,em,eH,eV,ew){return super.deploy(eb,em,eH,eV,ew||{})}getDeployTransaction(eb,em,eH,eV,ew){return super.getDeployTransaction(eb,em,eH,eV,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(HV)}static connect(eb,em){return new uw.CH(eb,HV,em)}}HC.bytecode=Hw,HC.abi=HV;let Hx=[{stateMutability:"nonpayable",type:"fallback"},{inputs:[],name:"NON_UPGRADABLE_DEPLOYMENT",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],Hk="0x60a06040526000608052348015601457600080fd5b50608051609c61002d600039600060300152609c6000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063cd312ec414602c575b6000ff5b60527f000000000000000000000000000000000000000000000000000000000000000081565b604051901515815260200160405180910390f3fea264697066735822122065028e6cc3a1447f60610dded44e58a413f3848e4b4a34b86a10c0987bdfac5764736f6c63430008130033",HT=eb=>eb.length>1;class H_ extends uw.lV{constructor(...eb){HT(eb)?super(...eb):super(Hx,Hk,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(Hx)}static connect(eb,em){return new uw.CH(eb,Hx,em)}}H_.bytecode=Hk,H_.abi=Hx;let HS=[{inputs:[{internalType:"bytes32",name:"uuid",type:"bytes32"},{internalType:"uint256",name:"w",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"waterMark",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],HE="0x60c060405234801561001057600080fd5b5060405161059438038061059483398101604081905261002f9161003d565b60809190915260a052610061565b6000806040838503121561005057600080fd5b505080516020909101519092909150565b60805160a051610502610092600039600060d601526000818160a30152818161032d015261044801526105026000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063469519541461006757806350d75d251461007c57806352d1902d146100a15780636154b102146100d15780638129fc1c146100f85780639903ad38146100f8575b600080fd5b61007a610075366004610483565b610100565b005b61008461010c565b6040516001600160a01b0390911681526020015b60405180910390f35b7f00000000000000000000000000000000000000000000000000000000000000005b604051908152602001610098565b6100c37f000000000000000000000000000000000000000000000000000000000000000081565b61007a61013b565b61010981610249565b50565b60006101367f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b600054610100900460ff161580801561015b5750600054600160ff909116105b806101755750303b158015610175575060005460ff166001145b6101dd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610200576000805461ff0019166101001790555b8015610109576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b60006102737f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036102c95760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016101d4565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610307573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032b91906104b3565b7f0000000000000000000000000000000000000000000000000000000000000000146103a55760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016101d4565b6001600160a01b03811630036103fd5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016101d4565b610425817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f0000000000000000000000000000000000000000000000000000000000000000604080519182526001600160a01b03841660208301520161023e565b60006020828403121561049557600080fd5b81356001600160a01b03811681146104ac57600080fd5b9392505050565b6000602082840312156104c557600080fd5b505191905056fea2646970667358221220bb9a4c735200a5f550b43f719616e88f330f378b36c178fde8ae74e7dcd5f17c64736f6c63430008130033",HA=eb=>eb.length>1;class HN extends uw.lV{constructor(...eb){HA(eb)?super(...eb):super(HS,HE,eb[0])}deploy(eb,em,eH){return super.deploy(eb,em,eH||{})}getDeployTransaction(eb,em,eH){return super.getDeployTransaction(eb,em,eH||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(HS)}static connect(eb,em){return new uw.CH(eb,HS,em)}}HN.bytecode=HE,HN.abi=HS;let HI=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"superTokenLogic",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFTLogic",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFTLogic",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_NON_UPGRADEABLE_IS_DEPRECATED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_GOVERNANCE_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_HOST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_UNINITIALIZED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"CustomSuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"SuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"tokenLogic",type:"address"}],name:"SuperTokenLogicCreated",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"_SUPER_TOKEN_LOGIC",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingToken",type:"address"}],name:"computeCanonicalERC20WrapperAddress",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"},{internalType:"bool",name:"isDeployed",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"_underlyingToken",type:"address"}],name:"createCanonicalERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingTokenAddress",type:"address"}],name:"getCanonicalERC20Wrapper",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenLogic",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"underlyingToken",type:"address"},{internalType:"address",name:"superToken",type:"address"}],internalType:"struct SuperTokenFactoryBase.InitializeData[]",name:"_data",type:"tuple[]"}],name:"initializeCanonicalWrapperSuperTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"customSuperTokenProxy",type:"address"}],name:"initializeCustomSuperToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}],HD="0x6101006040523480156200001257600080fd5b506040516200221d3803806200221d833981016040819052620000359162000107565b6001600160a01b0380851660a052831660808190526040805163132075a760e31b81529051869286928692869291639903ad3891600480830192600092919082900301818387803b1580156200008a57600080fd5b505af19250505080156200009c575060015b506001600160a01b0380831660c05281811660e0526080516040519116907fc13fb19d60857980e565bf5dae406b8802d3c1cec50c6156b30b12b87402978390600090a250505050505050506200016f565b6001600160a01b03811681146200010457600080fd5b50565b600080600080608085870312156200011e57600080fd5b84516200012b81620000ee565b60208601519094506200013e81620000ee565b60408601519093506200015181620000ee565b60608601519092506200016481620000ee565b939692955090935050565b60805160a05160c05160e05161202e620001ef6000396000818161020601526109b40152600081816101df015261089b015260008181610158015281816107770152610c88015260008181610245015281816102c601528181610465015281816108ca015281816109e301528181610fc00152611115015261202e6000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80638129fc1c116100ad578063bab74c8911610071578063bab74c891461028f578063cbf927b3146102c1578063d412d344146102e8578063e094be24146102fb578063eff0a89d1461030e57600080fd5b80638129fc1c1461023b5780639470a5b21461024357806397e011ed146102695780639903ad381461023b578063a6d0c5341461027c57600080fd5b806350d75d25116100f457806350d75d25146101a457806352d1902d146101ac5780635365d19f146101da5780635a7792df146102015780636c684bb01461022857600080fd5b8063151188dc1461012657806320bc442514610156578063431f14811461017c578063469519541461018f575b600080fd5b61013961013436600461151d565b61033a565b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610139565b61013961018a36600461159e565b6106ed565b6101a261019d36600461151d565b61076c565b005b610139610ac7565b6040517fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620815260200161014d565b6101397f000000000000000000000000000000000000000000000000000000000000000081565b6101397f000000000000000000000000000000000000000000000000000000000000000081565b610139610236366004611631565b610af6565b6101a2610b75565b7f0000000000000000000000000000000000000000000000000000000000000000610139565b6101a26102773660046116d8565b610c84565b61013961028a36600461175c565b610e93565b6102a261029d36600461151d565b610ea6565b604080516001600160a01b03909316835290151560208301520161014d565b6101397f000000000000000000000000000000000000000000000000000000000000000081565b6101a26102f636600461151d565b610fa9565b610139610309366004611802565b61105f565b61013961031c36600461151d565b6001600160a01b039081166000908152600160205260409020541690565b600080805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b031661038c576040516306ce6e6d60e21b815260040160405180910390fd5b6001600160a01b0380831660009081526001602052604090205483911680156103c8576040516348eb3cb960e11b815260040160405180910390fd5b604080516001600160a01b038416602082015260009101604051602081830303815290604052805190602001209050600081604051610406906114ee565b8190604051809103906000f5905080158015610426573d6000803e3d6000fd5b506001600160a01b038581166000908152600160205260409081902080546001600160a01b0319168484169081179091559051634a0687ef60e01b81527f00000000000000000000000000000000000000000000000000000000000000009092166004830152919250634a0687ef90602401600060405180830381600087803b1580156104b257600080fd5b505af11580156104c6573d6000803e3d6000fd5b5050505060008190506000876001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053391906118bb565b90506000886001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610575573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261059d9190810190611912565b90506000896001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106079190810190611912565b9050836001600160a01b03166342fe09808b858560405160200161062b91906119b4565b6040516020818303038152906040528560405160200161064b91906119e2565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016106799493929190611a33565b600060405180830381600087803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b50506040516001600160a01b03871692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a2509198975050505050505050565b600061076187886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075591906118bb565b8888888888600061105f565b979650505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107b55760405163478b8e8360e01b815260040160405180910390fd5b6107be816112b4565b60008190506000816001600160a01b0316635365d19f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108279190611a72565b90506000826001600160a01b0316635a7792df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610869573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088d9190611a72565b9050816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146109a8577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef43d2c66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610926573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094a9190611a72565b6040516311a5465560e21b81526001600160a01b0384811660048301529190911690634695195490602401600060405180830381600087803b15801561098f57600080fd5b505af11580156109a3573d6000803e3d6000fd5b505050505b806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614610ac1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634c5c0c856040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a639190611a72565b6040516311a5465560e21b81526001600160a01b0383811660048301529190911690634695195490602401600060405180830381600087803b158015610aa857600080fd5b505af1158015610abc573d6000803e3d6000fd5b505050505b50505050565b6000610af17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000610b6988896001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5e91906118bb565b89898989898961105f565b98975050505050505050565b600054610100900460ff1615808015610b955750600054600160ff909116105b80610baf5750303b158015610baf575060005460ff166001145b610c175760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610c3a576000805461ff0019166101001790555b8015610c81576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b50565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ce4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d089190611a72565b9050806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6c9190611a72565b6001600160a01b0316336001600160a01b031614610d9d57604051632bf2a63360e21b815260040160405180910390fd5b6000805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b031615610def576040516348eb3cb960e11b815260040160405180910390fd5b60005b82811015610ac157838382818110610e0c57610e0c611a8f565b9050604002016020016020810190610e24919061151d565b60016000868685818110610e3a57610e3a611a8f565b610e50926020604090920201908101915061151d565b6001600160a01b039081168252602082019290925260400160002080546001600160a01b0319169290911691909117905580610e8b81611aa5565b915050610df2565b6000610b6988888888888888600061105f565b6001600160a01b0380821660009081526001602052604081205490918291168015610ed75780925060019150610fa3565b600060405180602001610ee9906114ee565b601f1982820381018352601f9091011660408181526001600160a01b03881660208301529192506001600160f81b031991309101604051602081830303815290604052805190602001208380519060200120604051602001610f8294939291906001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b6040516020818303038152906040528051906020012060001c935060009250505b50915091565b604051634a0687ef60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152829190821690634a0687ef90602401600060405180830381600087803b15801561100f57600080fd5b505af1158015611023573d6000803e3d6000fd5b50506040516001600160a01b03851692507f437790724a6e97b75d23117f28cdd4b1beeafc34f7a0911ef256e9334f4369a59150600090a25050565b60006001600160a01b0389166110885760405163182e4f4160e11b815260040160405180910390fd5b600087600281111561109c5761109c611acc565b036110ba5760405163c4901a4360e01b815260040160405180910390fd5b60018760028111156110ce576110ce611acc565b036111865760006040516110e1906114ee565b604051809103906000f0801580156110fd573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015291925090821690634a0687ef90602401600060405180830381600087803b15801561116557600080fd5b505af1158015611179573d6000803e3d6000fd5b505050508091505061120a565b6000604051611194906114fb565b604051809103906000f0801580156111b0573d6000803e3d6000fd5b509050806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156111ee57600080fd5b505af1158015611202573d6000803e3d6000fd5b509293505050505b60405163ec0d634360e01b81526001600160a01b0382169063ec0d634390611242908c908c908b908b908b908b908b90600401611b0b565b600060405180830381600087803b15801561125c57600080fd5b505af1158015611270573d6000803e3d6000fd5b50506040516001600160a01b03841692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a298975050505050505050565b60006112de7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036113345760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610c0e565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611372573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113969190611b62565b7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620146114105760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610c0e565b6001600160a01b03811630036114685760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610c0e565b611490817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620604080519182526001600160a01b038416602083015201610c78565b61024a80611b7c83390190565b61023380611dc683390190565b6001600160a01b0381168114610c8157600080fd5b60006020828403121561152f57600080fd5b813561153a81611508565b9392505050565b80356003811061155057600080fd5b919050565b60008083601f84011261156757600080fd5b50813567ffffffffffffffff81111561157f57600080fd5b60208301915083602082850101111561159757600080fd5b9250929050565b600080600080600080608087890312156115b757600080fd5b86356115c281611508565b95506115d060208801611541565b9450604087013567ffffffffffffffff808211156115ed57600080fd5b6115f98a838b01611555565b9096509450606089013591508082111561161257600080fd5b5061161f89828a01611555565b979a9699509497509295939492505050565b600080600080600080600060a0888a03121561164c57600080fd5b873561165781611508565b965061166560208901611541565b9550604088013567ffffffffffffffff8082111561168257600080fd5b61168e8b838c01611555565b909750955060608a01359150808211156116a757600080fd5b506116b48a828b01611555565b90945092505060808801356116c881611508565b8091505092959891949750929550565b600080602083850312156116eb57600080fd5b823567ffffffffffffffff8082111561170357600080fd5b818501915085601f83011261171757600080fd5b81358181111561172657600080fd5b8660208260061b850101111561173b57600080fd5b60209290920196919550909350505050565b60ff81168114610c8157600080fd5b600080600080600080600060a0888a03121561177757600080fd5b873561178281611508565b965060208801356117928161174d565b95506117a060408901611541565b9450606088013567ffffffffffffffff808211156117bd57600080fd5b6117c98b838c01611555565b909650945060808a01359150808211156117e257600080fd5b506117ef8a828b01611555565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561181e57600080fd5b883561182981611508565b975060208901356118398161174d565b965061184760408a01611541565b9550606089013567ffffffffffffffff8082111561186457600080fd5b6118708c838d01611555565b909750955060808b013591508082111561188957600080fd5b506118968b828c01611555565b90945092505060a08901356118aa81611508565b809150509295985092959890939650565b6000602082840312156118cd57600080fd5b815161153a8161174d565b634e487b7160e01b600052604160045260246000fd5b60005b838110156119095781810151838201526020016118f1565b50506000910152565b60006020828403121561192457600080fd5b815167ffffffffffffffff8082111561193c57600080fd5b818401915084601f83011261195057600080fd5b815181811115611962576119626118d8565b604051601f8201601f19908116603f0116810190838211818310171561198a5761198a6118d8565b816040528281528760208487010111156119a357600080fd5b6107618360208301602088016118ee565b65029bab832b9160d51b8152600082516119d58160068501602087016118ee565b9190910160060192915050565b600082516119f48184602087016118ee565b600f60fb1b920191825250600101919050565b60008151808452611a1f8160208601602086016118ee565b601f01601f19169290920160200192915050565b6001600160a01b038516815260ff84166020820152608060408201819052600090611a6090830185611a07565b82810360608401526107618185611a07565b600060208284031215611a8457600080fd5b815161153a81611508565b634e487b7160e01b600052603260045260246000fd5b600060018201611ac557634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052602160045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600060018060a01b03808a16835260ff8916602084015260a06040840152611b3760a08401888a611ae2565b8381036060850152611b4a818789611ae2565b92505080841660808401525098975050505050505050565b600060208284031215611b7457600080fd5b505191905056fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033608060405234801561001057600080fd5b50610213806100206000396000f3fe6080604052600436106100225760003560e01c80638129fc1c1461003957610031565b366100315761002f61004e565b005b61002f61004e565b34801561004557600080fd5b5061002f610060565b61005e6100596100d0565b610173565b565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546001600160a01b038116156100aa576040516305c5d81960e01b815260040160405180910390fd5b50337fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a055565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546000906001600160a01b03811661010b5761010b610197565b806001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016d91906101ad565b91505090565b3660008037600080366000845af43d6000803e808015610192573d6000f35b3d6000fd5b634e487b7160e01b600052600160045260246000fd5b6000602082840312156101bf57600080fd5b81516001600160a01b03811681146101d657600080fd5b939250505056fea26469706673582212208aedd930463a9ef04ca914601becd18e8316234054a71d6de40ce23faac57e5064736f6c63430008130033a2646970667358221220f157cc92906aed971b52d2aaacb2fb29714c922a65b8381e0e16fb7a9ea6e51264736f6c63430008130033",HP=eb=>eb.length>1;class HO extends uw.lV{constructor(...eb){HP(eb)?super(...eb):super(HI,HD,eb[0])}deploy(eb,em,eH,eV,ew){return super.deploy(eb,em,eH,eV,ew||{})}getDeployTransaction(eb,em,eH,eV,ew){return super.getDeployTransaction(eb,em,eH,eV,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(HI)}static connect(eb,em){return new uw.CH(eb,HI,em)}}HO.bytecode=HD,HO.abi=HI;let HR=[{inputs:[],name:"SUPER_TOKEN_FACTORY_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_NON_UPGRADEABLE_IS_DEPRECATED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_GOVERNANCE_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_HOST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_UNINITIALIZED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"CustomSuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"SuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"tokenLogic",type:"address"}],name:"SuperTokenLogicCreated",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"_SUPER_TOKEN_LOGIC",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingToken",type:"address"}],name:"computeCanonicalERC20WrapperAddress",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"},{internalType:"bool",name:"isDeployed",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"_underlyingToken",type:"address"}],name:"createCanonicalERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingTokenAddress",type:"address"}],name:"getCanonicalERC20Wrapper",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenLogic",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"underlyingToken",type:"address"},{internalType:"address",name:"superToken",type:"address"}],internalType:"struct SuperTokenFactoryBase.InitializeData[]",name:"_data",type:"tuple[]"}],name:"initializeCanonicalWrapperSuperTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"customSuperTokenProxy",type:"address"}],name:"initializeCustomSuperToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}];class HB{static createInterface(){return new uN.vU(HR)}static connect(eb,em){return new uw.CH(eb,HR,em)}}HB.abi=HR;let HF=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"CIF_NFT_ONLY_CONSTANT_OUTFLOW",type:"error"},{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:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{inputs:[],name:"CONSTANT_FLOW_AGREEMENT_V1",outputs:[{internalType:"contract IConstantFlowAgreementV1",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_BASE_URI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],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:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"newTokenId",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],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:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",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:"pure",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}],Hj="0x60e06040523480156200001157600080fd5b50604051620021ae380380620021ae8339810160408190526200003491620000fd565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015283919063b6d200de90602401602060405180830381865afa158015620000a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c691906200013c565b6001600160a01b039081166080529190911660c05250620001639050565b6001600160a01b0381168114620000fa57600080fd5b50565b600080604083850312156200011157600080fd5b82516200011e81620000e4565b60208401519092506200013181620000e4565b809150509250929050565b6000602082840312156200014f57600080fd5b81516200015c81620000e4565b9392505050565b60805160a05160c051611ff8620001b66000396000818161045501528181610657015281816106c901526109c30152600081816102e4015261071401526000818161024b01526110cf0152611ff86000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806352d1902d116100f95780639903ad3811610097578063b88d4fde11610071578063b88d4fde14610417578063c87b56dd1461042a578063e985e9c51461043d578063ef43d2c61461045057600080fd5b80639903ad38146103f4578063a22cb465146103fc578063a497325b1461040f57600080fd5b806370a08231116100d357806370a082311461036c57806389f71d2d146103805780638d47859e1461039357806395d89b41146103ec57600080fd5b806352d1902d146103215780636352211e146103515780636c0360eb1461036457600080fd5b806340c10f1911610166578063469519541161014057806346951954146102cc57806349f289dc146102df5780634cd88b761461030657806350d75d251461031957600080fd5b806340c10f191461029357806342842e0e146102a657806342966c68146102b957600080fd5b8063095ea7b3116101a2578063095ea7b314610231578063181561011461024657806323b872dd1461026d5780632f3885601461028057600080fd5b806301ffc9a7146101c957806306fdde03146101f1578063081812fc14610206575b600080fd5b6101dc6101d7366004611680565b610477565b60405190151581526020015b60405180910390f35b6101f96104c9565b6040516101e891906116ce565b610219610214366004611701565b61055b565b6040516001600160a01b0390911681526020016101e8565b61024461023f36600461172f565b610582565b005b6102197f000000000000000000000000000000000000000000000000000000000000000081565b61024461027b36600461175b565b61060e565b61024461028e366004611701565b610640565b6102446102a136600461172f565b61064c565b6102446102b436600461175b565b6106a3565b6102446102c7366004611701565b6106be565b6102446102da36600461179c565b610710565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b610244610314366004611886565b6107c8565b6102196108ae565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e5b6040519081526020016101e8565b61021961035f366004611701565b6108dd565b6101f9610912565b61034361037a36600461179c565b50600190565b61034361038e3660046118ea565b610932565b6103a66103a1366004611701565b610985565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff16918101919091526080016101e8565b6101f9610a2e565b610244610a3d565b61024461040a366004611935565b610aff565b6101f9610b0a565b610244610425366004611973565b610b26565b6101f9610438366004611701565b610b5f565b6101dc61044b3660046119f3565b610b6c565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b60006301ffc9a760e01b6001600160e01b0319831614806104a857506380ac58cd60e01b6001600160e01b03198316145b806104c35750635b5e139f60e01b6001600160e01b03198316145b92915050565b6060600180546104d890611a21565b80601f016020809104026020016040519081016040528092919081815260200182805461050490611a21565b80156105515780601f1061052657610100808354040283529160200191610551565b820191906000526020600020905b81548152906001019060200180831161053457829003601f168201915b5050505050905090565b600061056682610b9a565b506000908152600360205260409020546001600160a01b031690565b600061058d826108dd565b9050806001600160a01b0316836001600160a01b0316036105c15760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b038216148015906105e157506105df8133610b6c565b155b156105ff5760405163519a92c160e11b815260040160405180910390fd5b6106098383610bc0565b505050565b6106183382610c2e565b610635576040516312a8eb0360e11b815260040160405180910390fd5b610609838383610c8c565b61064981610ca5565b50565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106955760405163740f7abd60e11b815260040160405180910390fd5b61069f8282610cd5565b5050565b61060983838360405180602001604052806000815250610b26565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107075760405163740f7abd60e11b815260040160405180910390fd5b61064981610d11565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107949190611a5b565b9050336001600160a01b038216146107bf5760405163ebb7505b60e01b815260040160405180910390fd5b61069f82610d84565b600054610100900460ff16158080156107e85750600054600160ff909116105b806108025750303b158015610802575060005460ff166001145b6108275760405162461bcd60e51b815260040161081e90611a78565b60405180910390fd5b6000805460ff19166001179055801561084a576000805461ff0019166101001790555b60016108568482611b14565b5060026108638382611b14565b508015610609576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60006108d87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000806108e983610fbe565b90506001600160a01b0381166104c35760405163eab95e3b60e01b815260040160405180910390fd5b60606040518060600160405280602d8152602001611f96602d9139905090565b60408051466020808301919091526001600160a01b0380871683850152808616606084015284166080808401919091528351808403909101815260a090920190925280519101206000905b949350505050565b60408051608081018252600080825260208201819052818301819052606082015290516346a3c2cf60e11b8152600481018390526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638d47859e90602401608060405180830381865afa158015610a0a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c39190611bd4565b6060600280546104d890611a21565b600054610100900460ff1615808015610a5d5750600054600160ff909116105b80610a775750303b158015610a77575060005460ff166001145b610a935760405162461bcd60e51b815260040161081e90611a78565b6000805460ff191660011790558015610ab6576000805461ff0019166101001790555b8015610649576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61069f338383610fd5565b6040518060600160405280602d8152602001611f96602d913981565b610b303383610c2e565b610b4d576040516312a8eb0360e11b815260040160405180910390fd5b610b5984848484611074565b50505050565b60606104c382600161107f565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b610ba3816111da565b6106495760405163eab95e3b60e01b815260040160405180910390fd5b600081815260036020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610bf582610fbe565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610c3a836108dd565b9050806001600160a01b0316846001600160a01b03161480610c615750610c618185610b6c565b8061097d5750836001600160a01b0316610c7a8461055b565b6001600160a01b031614949350505050565b60405163553a3f6560e11b815260040160405180910390fd5b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce790602001610af4565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000610d1c82610985565b600083815260036020526040902080546001600160a01b031916905590508160006001600160a01b031682604001516001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000610dae7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610e045760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c65000000604482015260640161081e565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e669190611c62565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e14610ee05760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b606482015260840161081e565b6001600160a01b0381163003610f385760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f7000000000000000604482015260640161081e565b610f60817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e604080519182526001600160a01b038416602083015201610af4565b600080610fca83610985565b604001519392505050565b816001600160a01b0316836001600160a01b0316036110075760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610b59848484610c8c565b6060600061108c84610985565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa158015611116573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113a9190611c7b565b5050915050611147610912565b61115e826bffffffffffffffffffffffff166111f7565b8661118557604051806040016040528060048152602001637472756560e01b8152506111a4565b6040518060400160405280600581526020016466616c736560d81b8152505b6111ad8961128a565b6040516020016111c09493929190611cdb565b604051602081830303815290604052935050505092915050565b6000806111e683610fbe565b6001600160a01b0316141592915050565b6060600061120483611405565b600101905060008167ffffffffffffffff811115611224576112246117b9565b6040519080825280601f01601f19166020018201604052801561124e576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461125857509392505050565b6060600061129783610985565b90506112b181600001516001600160a01b031660146114dd565b6112ba466111f7565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156112fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113249190810190611d63565b61133c84602001516001600160a01b031660146114dd565b61135485604001516001600160a01b031660146114dd565b6113c586600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113bd9190611dda565b60ff166111f7565b6113d8876060015163ffffffff166111f7565b6040516020016113ee9796959493929190611dfd565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106114445772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611470576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061148e57662386f26fc10000830492506010015b6305f5e10083106114a6576305f5e100830492506008015b61271083106114ba57612710830492506004015b606483106114cc576064830492506002015b600a83106104c35760010192915050565b606060006114ec836002611f3e565b6114f7906002611f55565b67ffffffffffffffff81111561150f5761150f6117b9565b6040519080825280601f01601f191660200182016040528015611539576020820181803683370190505b509050600360fc1b8160008151811061155457611554611f68565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061158357611583611f68565b60200101906001600160f81b031916908160001a90535060006115a7846002611f3e565b6115b2906001611f55565b90505b600181111561162a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106115e6576115e6611f68565b1a60f81b8282815181106115fc576115fc611f68565b60200101906001600160f81b031916908160001a90535060049490941c9361162381611f7e565b90506115b5565b5083156116795760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161081e565b9392505050565b60006020828403121561169257600080fd5b81356001600160e01b03198116811461167957600080fd5b60005b838110156116c55781810151838201526020016116ad565b50506000910152565b60208152600082518060208401526116ed8160408501602087016116aa565b601f01601f19169190910160400192915050565b60006020828403121561171357600080fd5b5035919050565b6001600160a01b038116811461064957600080fd5b6000806040838503121561174257600080fd5b823561174d8161171a565b946020939093013593505050565b60008060006060848603121561177057600080fd5b833561177b8161171a565b9250602084013561178b8161171a565b929592945050506040919091013590565b6000602082840312156117ae57600080fd5b81356116798161171a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156117f8576117f86117b9565b604052919050565b600067ffffffffffffffff82111561181a5761181a6117b9565b50601f01601f191660200190565b600061183b61183684611800565b6117cf565b905082815283838301111561184f57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261187757600080fd5b61167983833560208501611828565b6000806040838503121561189957600080fd5b823567ffffffffffffffff808211156118b157600080fd5b6118bd86838701611866565b935060208501359150808211156118d357600080fd5b506118e085828601611866565b9150509250929050565b6000806000606084860312156118ff57600080fd5b833561190a8161171a565b9250602084013561191a8161171a565b9150604084013561192a8161171a565b809150509250925092565b6000806040838503121561194857600080fd5b82356119538161171a565b91506020830135801515811461196857600080fd5b809150509250929050565b6000806000806080858703121561198957600080fd5b84356119948161171a565b935060208501356119a48161171a565b925060408501359150606085013567ffffffffffffffff8111156119c757600080fd5b8501601f810187136119d857600080fd5b6119e787823560208401611828565b91505092959194509250565b60008060408385031215611a0657600080fd5b8235611a118161171a565b915060208301356119688161171a565b600181811c90821680611a3557607f821691505b602082108103611a5557634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611a6d57600080fd5b81516116798161171a565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f82111561060957600081815260208120601f850160051c81016020861015611aed5750805b601f850160051c820191505b81811015611b0c57828155600101611af9565b505050505050565b815167ffffffffffffffff811115611b2e57611b2e6117b9565b611b4281611b3c8454611a21565b84611ac6565b602080601f831160018114611b775760008415611b5f5750858301515b600019600386901b1c1916600185901b178555611b0c565b600085815260208120601f198616915b82811015611ba657888601518255948401946001909101908401611b87565b5085821015611bc45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060808284031215611be657600080fd5b6040516080810181811067ffffffffffffffff82111715611c0957611c096117b9565b6040528251611c178161171a565b81526020830151611c278161171a565b60208201526040830151611c3a8161171a565b6040820152606083015163ffffffff81168114611c5657600080fd5b60608201529392505050565b600060208284031215611c7457600080fd5b5051919050565b60008060008060808587031215611c9157600080fd5b84519350602085015180600b0b8114611ca957600080fd5b6040860151606090960151949790965092505050565b60008151611cd18185602086016116aa565b9290920192915050565b60008551611ced818460208a016116aa565b693f666c6f77526174653d60b01b9083019081528551611d1481600a840160208a016116aa565b69266f7574676f696e673d60b01b600a92909101918201528451611d3f8160148401602089016116aa565b8451910190611d558160148401602088016116aa565b016014019695505050505050565b600060208284031215611d7557600080fd5b815167ffffffffffffffff811115611d8c57600080fd5b8201601f81018413611d9d57600080fd5b8051611dab61183682611800565b818152856020838501011115611dc057600080fd5b611dd18260208301602086016116aa565b95945050505050565b600060208284031215611dec57600080fd5b815160ff8116811461167957600080fd5b6e26746f6b656e5f616464726573733d60881b815260008851611e2781600f850160208d016116aa565b6926636861696e5f69643d60b01b600f918401918201528851611e51816019840160208d016116aa565b6d26746f6b656e5f73796d626f6c3d60901b601992909101918201528751611e80816027840160208c016116aa565b672673656e6465723d60c01b602792909101918201528651611ea981602f840160208b016116aa565b692672656365697665723d60b01b602f9290910191820152611f1a611f14611efc611ef6611eda603986018b611cbf565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b88611cbf565b6b2673746172745f646174653d60a01b8152600c0190565b85611cbf565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104c3576104c3611f28565b808201808211156104c3576104c3611f28565b634e487b7160e01b600052603260045260246000fd5b600081611f8d57611f8d611f28565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a2646970667358221220b1712174b00d0496404090493c8a89e33bfa8a4ce567ae086415054ae915149b64736f6c63430008130033",HU=eb=>eb.length>1;class Hq extends uw.lV{constructor(...eb){HU(eb)?super(...eb):super(HF,Hj,eb[0])}deploy(eb,em,eH){return super.deploy(eb,em,eH||{})}getDeployTransaction(eb,em,eH){return super.getDeployTransaction(eb,em,eH||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(HF)}static connect(eb,em){return new uw.CH(eb,HF,em)}}Hq.bytecode=Hj,Hq.abi=HF;let H$=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"COF_NFT_INVALID_SUPER_TOKEN",type:"error"},{inputs:[],name:"COF_NFT_MINT_TO_AND_FLOW_RECEIVER_SAME",type:"error"},{inputs:[],name:"COF_NFT_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"COF_NFT_ONLY_CONSTANT_INFLOW",type:"error"},{inputs:[],name:"COF_NFT_ONLY_FLOW_AGREEMENTS",type:"error"},{inputs:[],name:"COF_NFT_TOKEN_ALREADY_EXISTS",type:"error"},{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:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{inputs:[],name:"CONSTANT_FLOW_AGREEMENT_V1",outputs:[{internalType:"contract IConstantFlowAgreementV1",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_BASE_URI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],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:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onCreate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onDelete",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",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:"pure",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}],HW="0x60e06040523480156200001157600080fd5b506040516200246f3803806200246f8339810160408190526200003491620000fd565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015283919063b6d200de90602401602060405180830381865afa158015620000a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c691906200013c565b6001600160a01b039081166080529190911660c05250620001639050565b6001600160a01b0381168114620000fa57600080fd5b50565b600080604083850312156200011157600080fd5b82516200011e81620000e4565b60208401519092506200013181620000e4565b809150509250929050565b6000602082840312156200014f57600080fd5b81516200015c81620000e4565b9392505050565b60805160a05160c0516122a4620001cb600039600081816102f001528181610b4901528181610c430152610d5a0152600081816102c9015261068901526000818161025601528181610abc01528181610bbf01528181610cbb015261125201526122a46000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80636352211e11610104578063a22cb465116100a2578063e985e9c511610071578063e985e9c514610449578063eb54a7ca1461045c578063ef1f02371461046f578063f7e3d9831461048257600080fd5b8063a22cb46514610408578063a497325b1461041b578063b88d4fde14610423578063c87b56dd1461043657600080fd5b806389f71d2d116100de57806389f71d2d1461038c5780638d47859e1461039f57806395d89b41146103f85780639903ad381461040057600080fd5b80636352211e1461035d5780636c0360eb1461037057806370a082311461037857600080fd5b806342842e0e116101715780634c5c0c851161014b5780634c5c0c85146102eb5780634cd88b761461031257806350d75d251461032557806352d1902d1461032d57600080fd5b806342842e0e1461029e57806346951954146102b157806349f289dc146102c457600080fd5b8063095ea7b3116101ad578063095ea7b31461023c578063181561011461025157806323b872dd146102785780632f3885601461028b57600080fd5b806301ffc9a7146101d457806306fdde03146101fc578063081812fc14610211575b600080fd5b6101e76101e23660046119a4565b610495565b60405190151581526020015b60405180910390f35b6102046104e7565b6040516101f391906119f2565b61022461021f366004611a25565b610579565b6040516001600160a01b0390911681526020016101f3565b61024f61024a366004611a53565b6105a0565b005b6102247f000000000000000000000000000000000000000000000000000000000000000081565b61024f610286366004611a7f565b61062c565b61024f610299366004611a25565b61065e565b61024f6102ac366004611a7f565b61066a565b61024f6102bf366004611ac0565b610685565b6102247f000000000000000000000000000000000000000000000000000000000000000081565b6102247f000000000000000000000000000000000000000000000000000000000000000081565b61024f610320366004611baa565b610741565b610224610827565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b7845b6040519081526020016101f3565b61022461036b366004611a25565b610856565b61020461088f565b61034f610386366004611ac0565b50600190565b61034f61039a366004611c0e565b6108af565b6103b26103ad366004611a25565b6108c4565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff16918101919091526080016101f3565b610204610945565b61024f610954565b61024f610416366004611c59565b610a16565b610204610a21565b61024f610431366004611c97565b610a3d565b610204610444366004611a25565b610a76565b6101e7610457366004611d17565b610a83565b61024f61046a366004611c0e565b610ab1565b61024f61047d366004611c0e565b610bb4565b61024f610490366004611c0e565b610cb0565b60006301ffc9a760e01b6001600160e01b0319831614806104c657506380ac58cd60e01b6001600160e01b03198316145b806104e15750635b5e139f60e01b6001600160e01b03198316145b92915050565b6060600180546104f690611d45565b80601f016020809104026020016040519081016040528092919081815260200182805461052290611d45565b801561056f5780601f106105445761010080835404028352916020019161056f565b820191906000526020600020905b81548152906001019060200180831161055257829003601f168201915b5050505050905090565b600061058482610d89565b506000908152600360205260409020546001600160a01b031690565b60006105ab82610856565b9050806001600160a01b0316836001600160a01b0316036105df5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b038216148015906105ff57506105fd8133610a83565b155b1561061d5760405163519a92c160e11b815260040160405180910390fd5b6106278383610dc1565b505050565b6106363382610e2b565b610653576040516312a8eb0360e11b815260040160405180910390fd5b610627838383610e89565b61066781610ea2565b50565b61062783838360405180602001604052806000815250610a3d565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107099190611d7f565b9050336001600160a01b038216146107345760405163ebb7505b60e01b815260040160405180910390fd5b61073d82610ed2565b5050565b600054610100900460ff16158080156107615750600054600160ff909116105b8061077b5750303b15801561077b575060005460ff166001145b6107a05760405162461bcd60e51b815260040161079790611d9c565b60405180910390fd5b6000805460ff1916600117905580156107c3576000805461ff0019166101001790555b60016107cf8482611e38565b5060026107dc8382611e38565b508015610627576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60006108517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000818152601660205260408120600101546001600160a01b0316806104e15760405163eab95e3b60e01b815260040160405180910390fd5b60606040518060600160405280602d8152602001612242602d9139905090565b60006108bc84848461110c565b949350505050565b60408051608081018252600080825260208201819052918101829052606081019190915250600090815260166020908152604091829020825160808101845281546001600160a01b039081168252600183015481169382019390935260029091015491821692810192909252600160a01b900463ffffffff16606082015290565b6060600280546104f690611d45565b600054610100900460ff16158080156109745750600054600160ff909116105b8061098e5750303b15801561098e575060005460ff166001145b6109aa5760405162461bcd60e51b815260040161079790611d9c565b6000805460ff1916600117905580156109cd576000805461ff0019166101001790555b8015610667576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61073d338383611158565b6040518060600160405280602d8152602001612242602d913981565b610a473383610e2b565b610a64576040516312a8eb0360e11b815260040160405180910390fd5b610a70848484846111f7565b50505050565b60606104e1826000611202565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610afa5760405163d367b64f60e01b815260040160405180910390fd5b6000610b0784848461110c565b6000818152601660205260409020600101549091506001600160a01b031615610a7057610b3381610ea2565b604051630179c42b60e51b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632f388560906024015b600060405180830381600087803b158015610b9657600080fd5b505af1158015610baa573d6000803e3d6000fd5b5050505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bfd5760405163d367b64f60e01b815260040160405180910390fd5b6000610c0a84848461110c565b6000818152601660205260409020600101549091506001600160a01b031615610a7057604051630852cd8d60e31b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c6890602401600060405180830381600087803b158015610c8f57600080fd5b505af1158015610ca3573d6000803e3d6000fd5b50505050610a708161135d565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cf95760405163d367b64f60e01b815260040160405180910390fd5b6000610d0684848461110c565b6000818152601660205260409020600101549091506001600160a01b0316610a7057610d34848484846113ec565b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401610b7c565b6000818152601660205260409020600101546001600160a01b03166106675760405163eab95e3b60e01b815260040160405180910390fd5b600081815260036020908152604080832080546001600160a01b0319166001600160a01b038781169182179092556016909352818420600101549151859492909116917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a45050565b600080610e3783610856565b9050806001600160a01b0316846001600160a01b03161480610e5e5750610e5e8185610a83565b806108bc5750836001600160a01b0316610e7784610579565b6001600160a01b031614949350505050565b60405163553a3f6560e11b815260040160405180910390fd5b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce790602001610a0b565b6000610efc7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610f525760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610797565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb49190611ef8565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b7841461102e5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610797565b6001600160a01b03811630036110865760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610797565b6110ae817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b784604080519182526001600160a01b038416602083015201610a0b565b60408051466020808301919091526001600160a01b03958616828401529385166060820152919093166080808301919091528351808303909101815260a0909101909252815191012090565b816001600160a01b0316836001600160a01b03160361118a5760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610a70848484610e89565b6060600061120f846108c4565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa158015611299573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bd9190611f11565b50509150506112ca61088f565b6112e1826bffffffffffffffffffffffff1661151b565b8661130857604051806040016040528060048152602001637472756560e01b815250611327565b6040518060400160405280600581526020016466616c736560d81b8152505b611330896115ae565b6040516020016113439493929190611f71565b604051602081830303815290604052935050505092915050565b60008181526016602081815260408084206001810180546003855283872080546001600160a01b0319908116909155959094528154851682558054909416909355600290920180546001600160c01b031916905590516001600160a01b0390911691839183907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6001600160a01b03831661140257611402611ff9565b816001600160a01b0316836001600160a01b03160361142357611423611ff9565b6000818152601660205260409020600101546001600160a01b03161561144b5761144b611ff9565b604080516080810182526001600160a01b038087168252858116602080840182815287841685870190815263ffffffff4281166060880190815260008a81526016909552888520975188549088166001600160a01b0319918216178955935160018901805491891691909516179093559051600290960180549251909116600160a01b026001600160c01b03199092169590941694909417939093179091559151839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a450505050565b6060600061152883611729565b600101905060008167ffffffffffffffff81111561154857611548611add565b6040519080825280601f01601f191660200182016040528015611572576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461157c57509392505050565b606060006115bb836108c4565b90506115d581600001516001600160a01b03166014611801565b6115de4661151b565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015611620573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611648919081019061200f565b61166084602001516001600160a01b03166014611801565b61167885604001516001600160a01b03166014611801565b6116e986600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e19190612086565b60ff1661151b565b6116fc876060015163ffffffff1661151b565b60405160200161171297969594939291906120a9565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106117685772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611794576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106117b257662386f26fc10000830492506010015b6305f5e10083106117ca576305f5e100830492506008015b61271083106117de57612710830492506004015b606483106117f0576064830492506002015b600a83106104e15760010192915050565b606060006118108360026121ea565b61181b906002612201565b67ffffffffffffffff81111561183357611833611add565b6040519080825280601f01601f19166020018201604052801561185d576020820181803683370190505b509050600360fc1b8160008151811061187857611878612214565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106118a7576118a7612214565b60200101906001600160f81b031916908160001a90535060006118cb8460026121ea565b6118d6906001612201565b90505b600181111561194e576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061190a5761190a612214565b1a60f81b82828151811061192057611920612214565b60200101906001600160f81b031916908160001a90535060049490941c936119478161222a565b90506118d9565b50831561199d5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610797565b9392505050565b6000602082840312156119b657600080fd5b81356001600160e01b03198116811461199d57600080fd5b60005b838110156119e95781810151838201526020016119d1565b50506000910152565b6020815260008251806020840152611a118160408501602087016119ce565b601f01601f19169190910160400192915050565b600060208284031215611a3757600080fd5b5035919050565b6001600160a01b038116811461066757600080fd5b60008060408385031215611a6657600080fd5b8235611a7181611a3e565b946020939093013593505050565b600080600060608486031215611a9457600080fd5b8335611a9f81611a3e565b92506020840135611aaf81611a3e565b929592945050506040919091013590565b600060208284031215611ad257600080fd5b813561199d81611a3e565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611b1c57611b1c611add565b604052919050565b600067ffffffffffffffff821115611b3e57611b3e611add565b50601f01601f191660200190565b6000611b5f611b5a84611b24565b611af3565b9050828152838383011115611b7357600080fd5b828260208301376000602084830101529392505050565b600082601f830112611b9b57600080fd5b61199d83833560208501611b4c565b60008060408385031215611bbd57600080fd5b823567ffffffffffffffff80821115611bd557600080fd5b611be186838701611b8a565b93506020850135915080821115611bf757600080fd5b50611c0485828601611b8a565b9150509250929050565b600080600060608486031215611c2357600080fd5b8335611c2e81611a3e565b92506020840135611c3e81611a3e565b91506040840135611c4e81611a3e565b809150509250925092565b60008060408385031215611c6c57600080fd5b8235611c7781611a3e565b915060208301358015158114611c8c57600080fd5b809150509250929050565b60008060008060808587031215611cad57600080fd5b8435611cb881611a3e565b93506020850135611cc881611a3e565b925060408501359150606085013567ffffffffffffffff811115611ceb57600080fd5b8501601f81018713611cfc57600080fd5b611d0b87823560208401611b4c565b91505092959194509250565b60008060408385031215611d2a57600080fd5b8235611d3581611a3e565b91506020830135611c8c81611a3e565b600181811c90821680611d5957607f821691505b602082108103611d7957634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611d9157600080fd5b815161199d81611a3e565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f82111561062757600081815260208120601f850160051c81016020861015611e115750805b601f850160051c820191505b81811015611e3057828155600101611e1d565b505050505050565b815167ffffffffffffffff811115611e5257611e52611add565b611e6681611e608454611d45565b84611dea565b602080601f831160018114611e9b5760008415611e835750858301515b600019600386901b1c1916600185901b178555611e30565b600085815260208120601f198616915b82811015611eca57888601518255948401946001909101908401611eab565b5085821015611ee85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215611f0a57600080fd5b5051919050565b60008060008060808587031215611f2757600080fd5b84519350602085015180600b0b8114611f3f57600080fd5b6040860151606090960151949790965092505050565b60008151611f678185602086016119ce565b9290920192915050565b60008551611f83818460208a016119ce565b693f666c6f77526174653d60b01b9083019081528551611faa81600a840160208a016119ce565b69266f7574676f696e673d60b01b600a92909101918201528451611fd58160148401602089016119ce565b8451910190611feb8160148401602088016119ce565b016014019695505050505050565b634e487b7160e01b600052600160045260246000fd5b60006020828403121561202157600080fd5b815167ffffffffffffffff81111561203857600080fd5b8201601f8101841361204957600080fd5b8051612057611b5a82611b24565b81815285602083850101111561206c57600080fd5b61207d8260208301602086016119ce565b95945050505050565b60006020828403121561209857600080fd5b815160ff8116811461199d57600080fd5b6e26746f6b656e5f616464726573733d60881b8152600088516120d381600f850160208d016119ce565b6926636861696e5f69643d60b01b600f9184019182015288516120fd816019840160208d016119ce565b6d26746f6b656e5f73796d626f6c3d60901b60199290910191820152875161212c816027840160208c016119ce565b672673656e6465723d60c01b60279290910191820152865161215581602f840160208b016119ce565b692672656365697665723d60b01b602f92909101918201526121c66121c06121a86121a2612186603986018b611f55565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b88611f55565b6b2673746172745f646174653d60a01b8152600c0190565b85611f55565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104e1576104e16121d4565b808201808211156104e1576104e16121d4565b634e487b7160e01b600052603260045260246000fd5b600081612239576122396121d4565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a26469706673582212203b9dd6a02755f03637386b7713c3b09e3c44c27052a37308197045810e69bb5664736f6c63430008130033",HZ=eb=>eb.length>1;class HG extends uw.lV{constructor(...eb){HZ(eb)?super(...eb):super(H$,HW,eb[0])}deploy(eb,em,eH){return super.deploy(eb,em,eH||{})}getDeployTransaction(eb,em,eH){return super.getDeployTransaction(eb,em,eH||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(H$)}static connect(eb,em){return new uw.CH(eb,H$,em)}}HG.bytecode=HW,HG.abi=H$;let HK=[{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{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:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{inputs:[],name:"CONSTANT_FLOW_AGREEMENT_V1",outputs:[{internalType:"contract IConstantFlowAgreementV1",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_BASE_URI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],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:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",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:"pure",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}];class HY{static createInterface(){return new uN.vU(HK)}static connect(eb,em){return new uw.CH(eb,HK,em)}}HY.abi=HK;let HX=[{inputs:[],name:"FUSTP_ALREADY_INITIALIZED",type:"error"},{stateMutability:"payable",type:"fallback"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],HJ="0x608060405234801561001057600080fd5b50610213806100206000396000f3fe6080604052600436106100225760003560e01c80638129fc1c1461003957610031565b366100315761002f61004e565b005b61002f61004e565b34801561004557600080fd5b5061002f610060565b61005e6100596100d0565b610173565b565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546001600160a01b038116156100aa576040516305c5d81960e01b815260040160405180910390fd5b50337fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a055565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546000906001600160a01b03811661010b5761010b610197565b806001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016d91906101ad565b91505090565b3660008037600080366000845af43d6000803e808015610192573d6000f35b3d6000fd5b634e487b7160e01b600052600160045260246000fd5b6000602082840312156101bf57600080fd5b81516001600160a01b03811681146101d657600080fd5b939250505056fea26469706673582212208aedd930463a9ef04ca914601becd18e8316234054a71d6de40ce23faac57e5064736f6c63430008130033",HQ=eb=>eb.length>1;class H1 extends uw.lV{constructor(...eb){HQ(eb)?super(...eb):super(HX,HJ,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(HX)}static connect(eb,em){return new uw.CH(eb,HX,em)}}H1.bytecode=HJ,H1.abi=HX;let H2=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER",type:"error"},{inputs:[],name:"SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED",type:"error"},{inputs:[],name:"SUPER_TOKEN_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_NFT_PROXY_ADDRESS_CHANGED",type:"error"},{inputs:[],name:"SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_NO_UNDERLYING_TOKEN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_ADMIN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_GOV_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_SELF",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAdmin",type:"address"},{indexed:!0,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"AuthorizedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Burned",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],name:"ConstantInflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],name:"ConstantOutflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Minted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"RevokedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Sent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenDowngraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"authorizeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"changeAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultOperators",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAdmin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingDecimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"granularity",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"initializeWithAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"tokenHolder",type:"address"}],name:"isOperatorFor",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationApprove",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"operationDecreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationDowngrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"operationIncreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"operationSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationUpgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"revokeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"send",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"toUnderlyingAmount",outputs:[{internalType:"uint256",name:"underlyingAmount",type:"uint256"},{internalType:"uint256",name:"adjustedAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"}],name:"transferAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"upgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"}],H6="0x60e06040523480156200001157600080fd5b5060405162004fe838038062004fe88339810160408190526200003491620000cf565b6001600160a01b0380841660805282811660a081905290821660c0526040517fcf554eb342edf010a94e07701ae91e99e90b769f649f03aeb1153654ddd43c0190600090a26040516001600160a01b038216907f8837af285f4d380af9227df9ebafa13d992b487fa6d7a4366bd4154576085b8990600090a250505062000123565b6001600160a01b0381168114620000cc57600080fd5b50565b600080600060608486031215620000e557600080fd5b8351620000f281620000b6565b60208501519093506200010581620000b6565b60408501519092506200011881620000b6565b809150509250925092565b60805160a05160c051614e02620001e660003960008181610636015261148401526000818161092201526113e70152600081816104ab01528181610bfe01528181610c6d01528181610f10015281816110400152818161110f01528181611326015281816114d40152818161161c015281816117c7015281816118a601528181611c9701528181611d6101528181611df901528181611e6101528181611ee9015281816127b1015281816128480152818161397f0152613bbe0152614e026000f3fe608060405234801561001057600080fd5b50600436106103db5760003560e01c80636c2d9f2f1161020a578063b84cdd4a11610125578063d9d078d6116100b8578063ee719bc811610087578063ee719bc81461090c578063ef43d2c61461091d578063fad8b32a14610944578063fc673c4f14610957578063fe9d93031461096a57600080fd5b8063d9d078d61461087f578063dd62ed3e14610892578063eb3537cc146108cb578063ec0d6343146108f957600080fd5b8063ca0c1e7f116100f4578063ca0c1e7f14610833578063ca78946414610846578063cf97256d14610859578063d95b63711461086c57600080fd5b8063b84cdd4a146107e7578063bb0d196e146107fa578063c68d42831461080d578063c780fd821461082057600080fd5b806395d89b411161019d578063a1b2bf8b1161016c578063a1b2bf8b1461079b578063a3a7e7f3146107ae578063a457c2d7146107c1578063a9059cbb146107d457600080fd5b806395d89b41146107655780639903ad381461076d5780639bd9bbc6146107755780639d8767411461078857600080fd5b806383ba2525116101d957806383ba25251461071a5780638f2839701461072d57806392081a4714610740578063959b8c3f1461075257600080fd5b80636c2d9f2f146106d95780636e9960c3146106ec57806370a08231146106f457806379359f6f1461070757600080fd5b8063386fa221116102fa5780634c5c0c851161028d5780635b9d09cc1161025c5780635b9d09cc1461068d57806362aa5287146106a057806362ad1b83146106b357806366a12fb6146106c657600080fd5b80634c5c0c851461063157806350d75d251461065857806352d1902d14610660578063556f0dc71461068657600080fd5b806345977d03116102c957806345977d03146105d857806346951954146105eb5780634b2763b3146105fe5780634b61cc331461061157600080fd5b8063386fa2211461058c578063395093511461059f57806341b706be146105b257806342fe0980146105c557600080fd5b80631863e8091161037257806327048397116103415780632704839714610509578063282a050b1461051c5780632ec8eec714610544578063313ce5671461057757600080fd5b80631863e8091461049657806320bc4425146104a957806323b872dd146104e3578063245887fc146104f657600080fd5b806311bcc81e116103ae57806311bcc81e1461044b57806312a6a3f81461045e57806316d055d61461047157806318160ddd1461048457600080fd5b806306e48538146103e057806306fdde03146103fe578063090c415e14610413578063095ea7b314610428575b600080fd5b6103e861097d565b6040516103f59190613dd8565b60405180910390f35b61040661098e565b6040516103f59190613e75565b610426610421366004613ee8565b610a20565b005b61043b610436366004613f43565b610ad3565b60405190151581526020016103f5565b610426610459366004613f6f565b610aea565b61042661046c366004613f88565b610b19565b61042661047f366004613fd3565b610bfc565b6003545b6040519081526020016103f5565b6104266104a43660046140e7565b610c58565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103f5565b61043b6104f1366004614179565b610ef8565b610426610504366004613f43565b610f0e565b6104266105173660046141ba565b610f87565b61052f61052a366004613f6f565b611023565b604080519283526020830191909152016103f5565b6105576105523660046141dc565b611038565b6040805194855260208501939093529183015260608201526080016103f5565b60125b60405160ff90911681526020016103f5565b6103e861059a3660046141dc565b6110db565b61043b6105ad366004613f43565b61117e565b6104266105c0366004613fd3565b6111ba565b6104266105d3366004614250565b6111e6565b6104266105e6366004613f6f565b6112c7565b6104266105f93660046141dc565b6112f3565b61042661060c366004614179565b6114d2565b61062461061f3660046142e2565b611554565b6040516103f59190614328565b6104cb7f000000000000000000000000000000000000000000000000000000000000000081565b6104cb611599565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019610488565b6001610488565b61042661069b366004614360565b6115c3565b6104266106ae366004614179565b61161a565b6104266106c13660046143af565b61166e565b6104266106d4366004614179565b61171c565b6106246106e736600461444d565b61173c565b6104cb61177e565b6104886107023660046141dc565b611796565b61043b6107153660046141dc565b6117bf565b610426610728366004613f43565b611847565b61042661073b3660046141dc565b611873565b600e54600160a01b900460ff1661057a565b6104266107603660046141dc565b611967565b6104066119b8565b6104266119c7565b610426610783366004614360565b611a89565b610426610796366004614482565b611add565b6104266107a9366004613f88565b611b23565b6104266107bc3660046141dc565b611bcd565b61043b6107cf366004613f43565b611be1565b61043b6107e2366004613f43565b611c30565b61043b6107f5366004613f43565b611c3e565b61043b6108083660046141dc565b611c8f565b61042661081b366004614482565b611d17565b61042661082e366004614179565b611d5f565b6104266108413660046144da565b611df7565b610426610854366004613f43565b611e5f565b610426610867366004613f43565b611ed4565b61043b61087a366004614545565b611fbd565b61043b61088d366004613f43565b611fcb565b6104886108a0366004614545565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b6108de6108d9366004613f43565b611fe5565b604080519384526020840192909252908201526060016103f5565b61042661090736600461457e565b61211f565b600e546001600160a01b03166104cb565b6104cb7f000000000000000000000000000000000000000000000000000000000000000081565b6104266109523660046141dc565b6121f6565b610426610965366004614624565b612247565b61042661097836600461466b565b6122e8565b60606109896012612339565b905090565b6060600f805461099d906146a9565b80601f01602080910402602001604051908101604052809291908181526020018280546109c9906146a9565b8015610a165780601f106109eb57610100808354040283529160200191610a16565b820191906000526020600020905b8154815290600101906020018083116109f957829003601f168201915b5050505050905090565b6000338585604051602001610a37939291906146e3565b604051602081830303815290604052805190602001209050610a8c8184848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061239f92505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b6000610ae03384846123e0565b5060015b92915050565b610b16333333846040518060200160405280600081525060405180602001604052806000815250612490565b50565b6040513390600090610b31908390879060200161472c565b60408051601f1981840301815291905280516020909101209050610b558184612650565b15610b735760405163782a90fb60e11b815260040160405180910390fd5b610bb08185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061239f92505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051610bed93929190614769565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610c455760405163c51efddd60e01b815260040160405180910390fd5b610c518484848461268c565b5050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610cbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce091906147aa565b610cfd5760405163327fd99160e21b815260040160405180910390fd5b6000610d076127ac565b90506001600160a01b038116610d1a5750845b600085610d275786610d29565b815b905060008313610dc657610d3c836147dd565b610d45856128f1565b14610d5257610d526147f9565b610d5b846128f1565b6001600160a01b03821660009081526002602052604081208054909190610d8390849061480f565b90915550506001600160a01b03851660009081526002602052604081208054859290610db090849061480f565b90915550610dc1905085828661295f565b610e90565b8515610dd457610dd46147f9565b82610dde856128f1565b610de8919061480f565b6001600160a01b03831660009081526002602052604081208054909190610e10908490614837565b90915550610e1f9050846128f1565b6001600160a01b03881660009081526002602052604081208054909190610e4790849061480f565b90915550506001600160a01b03851660009081526002602052604081208054859290610e7490849061480f565b90915550610e85905082888661295f565b610e9082868561295f565b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f604051610ee5959493929190614857565b60405180910390a4505050505050505050565b6000610f063385858561268c565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610f575760405163c51efddd60e01b815260040160405180910390fd5b610f83338384846040518060200160405280600081525060405180602001604052806000815250612490565b5050565b6040513390600090610f9f908390869060200161472c565b604051602081830303815290604052805190602001209050610fc18184612650565b610fde5760405163dae1880960e01b815260040160405180910390fd5b610fe88184612992565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b60008061102f836129b3565b91509150915091565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561109c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c0919061488a565b90506110cc8582611fe5565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa158015611156573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ae491908101906148a3565b3360008181526011602090815260408083206001600160a01b03871684529091528120549091610ae09185906111b5908690614954565b6123e0565b3330146111da57604051630fff4cc960e31b815260040160405180910390fd5b610c518385848461268c565b600054610100900460ff16158080156112065750600054600160ff909116105b806112205750303b158015611220575060005460ff166001145b6112455760405162461bcd60e51b815260040161123c90614967565b60405180910390fd5b6000805460ff191660011790558015611268576000805461ff0019166101001790555b6112788787878787876000612a6f565b80156112be576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610b16333333846040518060200160405280600081525060405180602001604052806000815250612b37565b600061130b600080516020614d368339815191525490565b905060006001600160a01b038216156113245781611346565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b0382161461137157604051630484acab60e01b815260040160405180910390fd5b61137a83612cea565b826001600160a01b031663ef43d2c66040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113dc91906149b5565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806114af5750826001600160a01b0316634c5c0c856040518163ffffffff1660e01b8152600401602060405180830381865afa158015611455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147991906149b5565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614155b156114cd5760405163ef1b6ddf60e01b815260040160405180910390fd5b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461151b5760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084166000908152601160209081526040808320938616835292905220546114cd90849084906111b5908590614954565b6060600085858560405160200161156d939291906146e3565b60405160208183030381529060405280519060200120905061158f8184612f24565b9695505050505050565b60006109897f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6116143333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612b37915050565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146116635760405163c51efddd60e01b815260040160405180910390fd5b6114cd8383836123e0565b3361167b6012828a612fb3565b6116985760405163f7f0222760e01b815260040160405180910390fd5b6117128189898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284376000920191909152506001925061305c915050565b5050505050505050565b33301461166357604051630fff4cc960e31b815260040160405180910390fd5b60606000848460405160200161175392919061472c565b6040516020818303038152906040528051906020012090506117758184612f24565b95945050505050565b6000610989600080516020614d368339815191525490565b6000806117a283611038565b5050509050600081126117b557806117b8565b60005b9392505050565b6000610ae4827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611823573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088d919061488a565b610f83333384846040518060200160405280600081525060405180602001604052806000815250612490565b600061188b600080516020614d368339815191525490565b905060006001600160a01b038216156118a457816118c6565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146118f157604051630484acab60e01b815260040160405180910390fd5b6000611909600080516020614d368339815191525490565b905061192184600080516020614d3683398151915255565b836001600160a01b0316816001600160a01b03167f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f60405160405180910390a350505050565b33611974601282846130d5565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b60606010805461099d906146a9565b600054610100900460ff16158080156119e75750600054600160ff909116105b80611a015750303b158015611a01575060005460ff166001145b611a1d5760405162461bcd60e51b815260040161123c90614967565b6000805460ff191660011790558015611a40576000805461ff0019166101001790555b8015610b16576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6116143333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020810190915290815292506001915061305c9050565b333014611afd57604051630fff4cc960e31b815260040160405180910390fd5b80516040805160008152602081019091526114cd913391869186919015159086906131d9565b6040513390600090611b3b908390879060200161472c565b604051602081830303815290604052805190602001209050611b908185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061239f92505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051610bed93929190614769565b610f83333383611bdc33611796565b61268c565b6000610ae033846111b5856040518060600160405280602a8152602001614d56602a91393360009081526011602090815260408083206001600160a01b038d16845290915290205491906132a6565b60006117b83333858561268c565b600080600080611c4e8686611fe5565b9250925092506000611c76828411611c675760006128f1565b611c7183856149d2565b6128f1565b611c80908561480f565b60001315979650505050505050565b6000610ae4827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cf3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f5919061488a565b333014611d3757604051630fff4cc960e31b815260040160405180910390fd5b80516040805160008152602081019091526114cd9133918691869190151590819087906132d2565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611da85760405163c51efddd60e01b815260040160405180910390fd5b6114cd83836111b5846040518060600160405280602a8152602001614d56602a91396001600160a01b03808a166000908152601160209081526040808320938c168352929052205491906132a6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611e405760405163c51efddd60e01b815260040160405180910390fd5b611614338585858560405180602001604052806000815250600161305c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611ea85760405163c51efddd60e01b815260040160405180910390fd5b610f83338384846040518060200160405280600081525060405180602001604052806000815250612b37565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015611f38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5c91906147aa565b611f795760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040902054611f9d90829061480f565b6001600160a01b0390921660009081526002602052604090209190915550565b60006117b860128484612fb3565b600080611fd88484611fe5565b5050600013949350505050565b6001600160a01b03821660009081526002602052604081205490808061200a866110db565b905060005b815181101561211657600080600084848151811061202f5761202f6149e5565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa15801561208e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b291906149fb565b919450925090506120c38288614954565b96506120cf8187614954565b95506120ec8183116120e25760006128f1565b611c7182846149d2565b6120f6848a61480f565b6121009190614837565b97505050508061210f90614a29565b905061200f565b50509250925092565b600054610100900460ff161580801561213f5750600054600160ff909116105b806121595750303b158015612159575060005460ff166001145b6121755760405162461bcd60e51b815260040161123c90614967565b6000805460ff191660011790558015612198576000805461ff0019166101001790555b6121a788888888888888612a6f565b8015611712576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050565b33612203601282846133a0565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b3361225460128289612fb3565b6122715760405163f7f0222760e01b815260040160405180910390fd5b6112be8188898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a908190840183828082843760009201919091525061249092505050565b6114cd3333338686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612490915050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561239357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612375575b50505050509050919050565b60005b81518110156114cd5760008282815181106123bf576123bf6149e5565b60200260200101519050808285015550806123d990614a29565b90506123a2565b6001600160a01b03831661240757604051638163862760e01b815260040160405180910390fd5b6001600160a01b03821661242e576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600e546001600160a01b03166124b957604051637bce7b2b60e11b815260040160405180910390fd5b6000806124c5856129b3565b915091506124dc88888387516000141588886131d9565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612525573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612549919061488a565b600e54909150612563906001600160a01b03168885613498565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156125ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125d0919061488a565b905060006125de82846149d2565b905080851461260057604051631c7c26d360e31b815260040160405180910390fd5b896001600160a01b03167f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d8560405161263b91815260200190565b60405180910390a25050505050505050505050565b6000805b828110156126825783810154801561267157600192505050610ae4565b5061267b81614a29565b9050612654565b5060009392505050565b60006001600160a01b0384166126b55760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0383166126dc5760405163e219bd3960e01b815260040160405180910390fd5b600033905061270d8186868660405180602001604052806000815250604051806020016040528060008152506134fb565b846001600160a01b0316866001600160a01b0316146127a0576127a085876111b5866040518060600160405280602d8152602001614da0602d9139601160008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b03168152602001908152602001600020546132a69092919063ffffffff16565b50600195945050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561280d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061283191906149b5565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa1580156128c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128eb91906149b5565b91505090565b60006001600160ff1b0382111561295b5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b606482015260840161123c565b5090565b816001600160a01b0316836001600160a01b0316600080516020614d808339815191528360405161248391815260200190565b60005b818110156114cd576000838201556129ac81614a29565b9050612995565b600e54600090819081906012600160a01b90910460ff161015612a1257600e546129e890600160a01b900460ff166012614a42565b6129f390600a614b3f565b90506129ff8185614b4e565b9250612a0b8184614b70565b9150612a69565b600e546012600160a01b90910460ff161115612a6257600e54612a4190601290600160a01b900460ff16614a42565b612a4c90600a614b3f565b9050612a588185614b70565b9250839150612a69565b8391508192505b50915091565b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f612aa4858783614bd5565b506010612ab2838583614bd5565b50612ac981600080516020614d3683398151915255565b612ad23061359a565b6040516000808252908190600080516020614d808339815191529060200160405180910390a36040516001600160a01b038216906000907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a350505050505050565b600e546001600160a01b0316612b6057604051637bce7b2b60e11b815260040160405180910390fd5b600080612b6c856129b3565b600e546040516370a0823160e01b81523060048201529294509092506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015612bbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612be1919061488a565b600e54909150612bfc906001600160a01b03168930866136c8565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612c45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c69919061488a565b90506000612c7783836149d2565b9050808514612c9957604051631c7c26d360e31b815260040160405180910390fd5b8651612caf908c908b9087901515808c8c6132d2565b886001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df8560405161263b91815260200190565b6000612d147f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603612d6a5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c65000000604482015260640161123c565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612da8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dcc919061488a565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001914612e465760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b606482015260840161123c565b6001600160a01b0381163003612e9e5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f7000000000000000604482015260640161123c565b612ec6817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019604080519182526001600160a01b038416602083015201611a7e565b6060816001600160401b03811115612f3e57612f3e614024565b604051908082528060200260200182016040528015612f67578160200160208202803683370190505b50905060005b82811015612fac57600081850154905080838381518110612f9057612f906149e5565b602090810291909101015250612fa581614a29565b9050612f6d565b5092915050565b6000816001600160a01b0316836001600160a01b0316148061302257506001600160a01b038316600090815260018501602052604090205460ff16801561302257506001600160a01b03808316600090815260038601602090815260408083209387168352929052205460ff16155b80610f0657506001600160a01b03808316600090815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b0386166130835760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0385166130aa5760405163e219bd3960e01b815260040160405180910390fd5b6130b8878787878787613700565b6130c68787878787876134fb565b6112be87878787878787613827565b806001600160a01b0316826001600160a01b03160361314c5760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b606482015260840161123c565b6001600160a01b038116600090815260018401602052604090205460ff16156131a2576001600160a01b03918216600090815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b0380831660009081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03851661320057604051632e8aac6160e21b815260040160405180910390fd5b82156132155761321586866000878686613700565b61321f8585613977565b846001600160a01b0316866001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a409886858560405161326693929190614c94565b60405180910390a36040518481526000906001600160a01b03871690600080516020614d80833981519152906020015b60405180910390a3505050505050565b600081848411156132ca5760405162461bcd60e51b815260040161123c9190613e75565b505050900390565b6001600160a01b0386166132f957604051630d24315760e01b815260040160405180910390fd5b6133038686613a87565b8315613319576133198760008888868689613827565b856001600160a01b0316876001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d87858560405161336093929190614c94565b60405180910390a36040518581526001600160a01b03871690600090600080516020614d808339815191529060200160405180910390a350505050505050565b336001600160a01b0382160361340b5760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b606482015260840161123c565b6001600160a01b038116600090815260018401602052604090205460ff1615613465576001600160a01b0380831660009081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03918216600090815260029390930160209081526040808520929093168452529020805460ff19169055565b6040516001600160a01b0383166024820152604481018290526114cd90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613ae1565b61350e8585613509866128f1565b613bb6565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc8261467798786868660405161355f93929190614c94565b60405180910390a4836001600160a01b0316856001600160a01b0316600080516020614d808339815191528560405161329691815260200190565b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b15801561361b57600080fd5b505af115801561362f573d6000803e3d6000fd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b1580156136b457600080fd5b505af1158015610c51573d6000803e3d6000fd5b6040516001600160a01b03808516602483015283166044820152606481018290526116149085906323b872dd60e01b906084016134c4565b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe8956024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015613781573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137a591906149b5565b90506001600160a01b038116156112be57604051633ad5cbc160e11b81526001600160a01b038216906375ab9782906137ec908a908a908a908a908a908a90600401614cbf565b600060405180830381600087803b15801561380657600080fd5b505af115801561381a573d6000803e3d6000fd5b5050505050505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa1580156138a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138cc91906149b5565b90506001600160a01b03811615613948576040516223de2960e01b81526001600160a01b038216906223de2990613911908b908b908b908b908b908b90600401614cbf565b600060405180830381600087803b15801561392b57600080fd5b505af115801561393f573d6000803e3d6000fd5b50505050611712565b8115611712576001600160a01b0386163b156117125760405163fe737d0560e01b815260040160405180910390fd5b60006139ff837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156139db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d9919061488a565b50509050613a0c826128f1565b811215613a2c5760405163043b37d160e21b815260040160405180910390fd5b613a35826128f1565b6001600160a01b038416600090815260026020526040902054613a589190614837565b6001600160a01b038416600090815260026020526040902055600354613a7f9083906149d2565b600355505050565b613a90816128f1565b6001600160a01b038316600090815260026020526040902054613ab3919061480f565b6001600160a01b038316600090815260026020526040902055600354613ada908290614954565b6003555050565b6000613b36826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613cb59092919063ffffffff16565b9050805160001480613b57575080806020019051810190613b5791906147aa565b6114cd5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161123c565b6000613c1a847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156139db573d6000803e3d6000fd5b5050905081811215613c3f57604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b038416600090815260026020526040902054613c63908390614837565b6001600160a01b038086166000908152600260205260408082209390935590851681522054613c9390839061480f565b6001600160a01b03909316600090815260026020526040902092909255505050565b6060610f06848460008585600080866001600160a01b03168587604051613cdc9190614d19565b60006040518083038185875af1925050503d8060008114613d19576040519150601f19603f3d011682016040523d82523d6000602084013e613d1e565b606091505b5091509150613d2f87838387613d3a565b979650505050505050565b60608315613da9578251600003613da2576001600160a01b0385163b613da25760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161123c565b5081610f06565b610f068383815115613dbe5781518083602001fd5b8060405162461bcd60e51b815260040161123c9190613e75565b6020808252825182820181905260009190848201906040850190845b81811015613e195783516001600160a01b031683529284019291840191600101613df4565b50909695505050505050565b60005b83811015613e40578181015183820152602001613e28565b50506000910152565b60008151808452613e61816020860160208601613e25565b601f01601f19169290920160200192915050565b6020815260006117b86020830184613e49565b6001600160a01b0381168114610b1657600080fd5b60008083601f840112613eaf57600080fd5b5081356001600160401b03811115613ec657600080fd5b6020830191508360208260051b8501011115613ee157600080fd5b9250929050565b60008060008060608587031215613efe57600080fd5b8435613f0981613e88565b93506020850135925060408501356001600160401b03811115613f2b57600080fd5b613f3787828801613e9d565b95989497509550505050565b60008060408385031215613f5657600080fd5b8235613f6181613e88565b946020939093013593505050565b600060208284031215613f8157600080fd5b5035919050565b600080600060408486031215613f9d57600080fd5b8335925060208401356001600160401b03811115613fba57600080fd5b613fc686828701613e9d565b9497909650939450505050565b60008060008060808587031215613fe957600080fd5b8435613ff481613e88565b9350602085013561400481613e88565b9250604085013561401481613e88565b9396929550929360600135925050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561406257614062614024565b604052919050565b600082601f83011261407b57600080fd5b81356001600160401b0381111561409457614094614024565b6140a7601f8201601f191660200161403a565b8181528460208386010111156140bc57600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114610b1657600080fd5b600080600080600080600060e0888a03121561410257600080fd5b8735965060208801356001600160401b0381111561411f57600080fd5b61412b8a828b0161406a565b965050604088013561413c81613e88565b9450606088013561414c816140d9565b9350608088013561415c81613e88565b9699959850939692959460a0840135945060c09093013592915050565b60008060006060848603121561418e57600080fd5b833561419981613e88565b925060208401356141a981613e88565b929592945050506040919091013590565b600080604083850312156141cd57600080fd5b50508035926020909101359150565b6000602082840312156141ee57600080fd5b81356117b881613e88565b803560ff8116811461420a57600080fd5b919050565b60008083601f84011261422157600080fd5b5081356001600160401b0381111561423857600080fd5b602083019150836020828501011115613ee157600080fd5b6000806000806000806080878903121561426957600080fd5b863561427481613e88565b9550614282602088016141f9565b945060408701356001600160401b038082111561429e57600080fd5b6142aa8a838b0161420f565b909650945060608901359150808211156142c357600080fd5b506142d089828a0161420f565b979a9699509497509295939492505050565b600080600080608085870312156142f857600080fd5b843561430381613e88565b9350602085013561431381613e88565b93969395505050506040820135916060013590565b6020808252825182820181905260009190848201906040850190845b81811015613e1957835183529284019291840191600101614344565b6000806000806060858703121561437657600080fd5b843561438181613e88565b93506020850135925060408501356001600160401b038111156143a357600080fd5b613f378782880161420f565b600080600080600080600060a0888a0312156143ca57600080fd5b87356143d581613e88565b965060208801356143e581613e88565b95506040880135945060608801356001600160401b038082111561440857600080fd5b6144148b838c0161420f565b909650945060808a013591508082111561442d57600080fd5b5061443a8a828b0161420f565b989b979a50959850939692959293505050565b60008060006060848603121561446257600080fd5b833561446d81613e88565b95602085013595506040909401359392505050565b60008060006060848603121561449757600080fd5b83356144a281613e88565b92506020840135915060408401356001600160401b038111156144c457600080fd5b6144d08682870161406a565b9150509250925092565b600080600080608085870312156144f057600080fd5b84356144fb81613e88565b9350602085013561450b81613e88565b92506040850135915060608501356001600160401b0381111561452d57600080fd5b6145398782880161406a565b91505092959194509250565b6000806040838503121561455857600080fd5b823561456381613e88565b9150602083013561457381613e88565b809150509250929050565b600080600080600080600060a0888a03121561459957600080fd5b87356145a481613e88565b96506145b2602089016141f9565b955060408801356001600160401b03808211156145ce57600080fd5b6145da8b838c0161420f565b909750955060608a01359150808211156145f357600080fd5b506146008a828b0161420f565b909450925050608088013561461481613e88565b8091505092959891949750929550565b6000806000806000806080878903121561463d57600080fd5b863561464881613e88565b95506020870135945060408701356001600160401b038082111561429e57600080fd5b60008060006040848603121561468057600080fd5b8335925060208401356001600160401b0381111561469d57600080fd5b613fc68682870161420f565b600181811c908216806146bd57607f821691505b6020821081036146dd57634e487b7160e01b600052602260045260246000fd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b0383111561479057600080fd5b8260051b8085606085013791909101606001949350505050565b6000602082840312156147bc57600080fd5b81516117b8816140d9565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b82016147f2576147f26147c7565b5060000390565b634e487b7160e01b600052600160045260246000fd5b808201828112600083128015821682158216171561482f5761482f6147c7565b505092915050565b8181036000831280158383131683831282161715612fac57612fac6147c7565b85815260018060a01b038516602082015283604082015282606082015260a060808201526000613d2f60a0830184613e49565b60006020828403121561489c57600080fd5b5051919050565b600060208083850312156148b657600080fd5b82516001600160401b03808211156148cd57600080fd5b818501915085601f8301126148e157600080fd5b8151818111156148f3576148f3614024565b8060051b915061490484830161403a565b818152918301840191848101908884111561491e57600080fd5b938501935b83851015614948578451925061493883613e88565b8282529385019390850190614923565b98975050505050505050565b80820180821115610ae457610ae46147c7565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000602082840312156149c757600080fd5b81516117b881613e88565b81810381811115610ae457610ae46147c7565b634e487b7160e01b600052603260045260246000fd5b600080600060608486031215614a1057600080fd5b8351925060208401519150604084015190509250925092565b600060018201614a3b57614a3b6147c7565b5060010190565b60ff8281168282160390811115610ae457610ae46147c7565b600181815b80851115614a96578160001904821115614a7c57614a7c6147c7565b80851615614a8957918102915b93841c9390800290614a60565b509250929050565b600082614aad57506001610ae4565b81614aba57506000610ae4565b8160018114614ad05760028114614ada57614af6565b6001915050610ae4565b60ff841115614aeb57614aeb6147c7565b50506001821b610ae4565b5060208310610133831016604e8410600b8410161715614b19575081810a610ae4565b614b238383614a5b565b8060001904821115614b3757614b376147c7565b029392505050565b60006117b860ff841683614a9e565b600082614b6b57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610ae457610ae46147c7565b601f8211156114cd57600081815260208120601f850160051c81016020861015614bae5750805b601f850160051c820191505b81811015614bcd57828155600101614bba565b505050505050565b6001600160401b03831115614bec57614bec614024565b614c0083614bfa83546146a9565b83614b87565b6000601f841160018114614c345760008515614c1c5750838201355b600019600387901b1c1916600186901b178355610c51565b600083815260209020601f19861690835b82811015614c655786850135825560209485019460019092019101614c45565b5086821015614c825760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152606060208201526000614cad6060830185613e49565b828103604084015261158f8185613e49565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c060808201819052600090614cfa90830185613e49565b82810360a0840152614d0c8185613e49565b9998505050505050505050565b60008251614d2b818460208701613e25565b919091019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220523559b97fb8fd905f8955b687b98b4bb82b2966a9c72809980bf8e936abd12164736f6c63430008130033",H4=eb=>eb.length>1;class H3 extends uw.lV{constructor(...eb){H4(eb)?super(...eb):super(H2,H6,eb[0])}deploy(eb,em,eH,eV){return super.deploy(eb,em,eH,eV||{})}getDeployTransaction(eb,em,eH,eV){return super.getDeployTransaction(eb,em,eH,eV||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(H2)}static connect(eb,em){return new uw.CH(eb,H2,em)}}H3.bytecode=H6,H3.abi=H2;let H5=[{inputs:[{internalType:"bool",name:"nonUpgradable",type:"bool"},{internalType:"bool",name:"appWhiteListingEnabled",type:"bool"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"uint256",name:"_code",type:"uint256"}],name:"APP_RULE",type:"error"},{inputs:[],name:"HOST_AGREEMENT_ALREADY_REGISTERED",type:"error"},{inputs:[],name:"HOST_AGREEMENT_CALLBACK_IS_NOT_ACTION",type:"error"},{inputs:[],name:"HOST_AGREEMENT_IS_NOT_REGISTERED",type:"error"},{inputs:[],name:"HOST_CALL_AGREEMENT_WITH_CTX_FROM_WRONG_ADDRESS",type:"error"},{inputs:[],name:"HOST_CALL_APP_ACTION_WITH_CTX_FROM_WRONG_ADDRESS",type:"error"},{inputs:[],name:"HOST_CANNOT_DOWNGRADE_TO_NON_UPGRADEABLE",type:"error"},{inputs:[],name:"HOST_INVALID_CONFIG_WORD",type:"error"},{inputs:[],name:"HOST_MAX_256_AGREEMENTS",type:"error"},{inputs:[],name:"HOST_MUST_BE_CONTRACT",type:"error"},{inputs:[],name:"HOST_NEED_MORE_GAS",type:"error"},{inputs:[],name:"HOST_NON_UPGRADEABLE",type:"error"},{inputs:[],name:"HOST_NON_ZERO_LENGTH_PLACEHOLDER_CTX",type:"error"},{inputs:[],name:"HOST_NOT_A_SUPER_APP",type:"error"},{inputs:[],name:"HOST_NO_APP_REGISTRATION_PERMISSION",type:"error"},{inputs:[],name:"HOST_ONLY_GOVERNANCE",type:"error"},{inputs:[],name:"HOST_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"HOST_RECEIVER_IS_NOT_SUPER_APP",type:"error"},{inputs:[],name:"HOST_SENDER_IS_NOT_SUPER_APP",type:"error"},{inputs:[],name:"HOST_SOURCE_APP_NEEDS_HIGHER_APP_LEVEL",type:"error"},{inputs:[],name:"HOST_SUPER_APP_ALREADY_REGISTERED",type:"error"},{inputs:[],name:"HOST_SUPER_APP_IS_JAILED",type:"error"},{inputs:[],name:"HOST_UNKNOWN_BATCH_CALL_OPERATION_TYPE",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"agreementType",type:"bytes32"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"AgreementClassRegistered",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"agreementType",type:"bytes32"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"AgreementClassUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperApp",name:"app",type:"address"}],name:"AppRegistered",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract ISuperfluidGovernance",name:"oldGov",type:"address"},{indexed:!1,internalType:"contract ISuperfluidGovernance",name:"newGov",type:"address"}],name:"GovernanceReplaced",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperApp",name:"app",type:"address"},{indexed:!1,internalType:"uint256",name:"reason",type:"uint256"}],name:"Jail",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract ISuperTokenFactory",name:"newFactory",type:"address"}],name:"SuperTokenFactoryUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"SuperTokenLogicUpdated",type:"event"},{inputs:[],name:"APP_WHITE_LISTING_ENABLED",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"CALLBACK_GAS_LIMIT",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_APP_CALLBACK_LEVEL",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_NUM_AGREEMENTS",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"NON_UPGRADABLE_DEPLOYMENT",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"},{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"addToAgreementClassesBitmap",outputs:[{internalType:"uint256",name:"newBitmap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"targetApp",type:"address"}],name:"allowCompositeApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"int256",name:"appCreditUsedDelta",type:"int256"}],name:"appCallbackPop",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"appCreditGranted",type:"uint256"},{internalType:"int256",name:"appCreditUsed",type:"int256"},{internalType:"contract ISuperfluidToken",name:"appCreditToken",type:"address"}],name:"appCallbackPush",outputs:[{internalType:"bytes",name:"appCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"operationType",type:"uint32"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ISuperfluid.Operation[]",name:"operations",type:"tuple[]"}],name:"batchCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"callAgreement",outputs:[{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAgreementWithContext",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"},{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],name:"callAppAction",outputs:[{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppActionWithContext",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bool",name:"isTermination",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppAfterCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bool",name:"isTermination",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppBeforeCallback",outputs:[{internalType:"bytes",name:"cbdata",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newAdmin",type:"address"}],name:"changeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"int256",name:"appCreditUsedMore",type:"int256"}],name:"ctxUseCredit",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"decodeCtx",outputs:[{components:[{internalType:"uint8",name:"appCallbackLevel",type:"uint8"},{internalType:"uint8",name:"callType",type:"uint8"},{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"address",name:"msgSender",type:"address"},{internalType:"bytes4",name:"agreementSelector",type:"bytes4"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"uint256",name:"appCreditGranted",type:"uint256"},{internalType:"uint256",name:"appCreditWantedDeprecated",type:"uint256"},{internalType:"int256",name:"appCreditUsed",type:"int256"},{internalType:"address",name:"appAddress",type:"address"},{internalType:"contract ISuperfluidToken",name:"appCreditToken",type:"address"}],internalType:"struct ISuperfluid.Context",name:"context",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"operationType",type:"uint32"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ISuperfluid.Operation[]",name:"operations",type:"tuple[]"}],name:"forwardBatchCall",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"getAgreementClass",outputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"appAddr",type:"address"}],name:"getAppCallbackLevel",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"getAppManifest",outputs:[{internalType:"bool",name:"isSuperApp",type:"bool"},{internalType:"bool",name:"isJailed",type:"bool"},{internalType:"uint256",name:"noopMask",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getGovernance",outputs:[{internalType:"contract ISuperfluidGovernance",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getNow",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenFactory",outputs:[{internalType:"contract ISuperTokenFactory",name:"factory",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenFactoryLogic",outputs:[{internalType:"address",name:"logic",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidGovernance",name:"gov",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"}],name:"isAgreementClassListed",outputs:[{internalType:"bool",name:"yes",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"isAgreementTypeListed",outputs:[{internalType:"bool",name:"yes",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"isApp",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"isAppJailed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"contract ISuperApp",name:"targetApp",type:"address"}],name:"isCompositeAppAllowed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"isCtxValid",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"forwarder",type:"address"}],name:"isTrustedForwarder",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"reason",type:"uint256"}],name:"jailApp",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"}],name:"mapAgreementClasses",outputs:[{internalType:"contract ISuperAgreement[]",name:"agreementClasses",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClassLogic",type:"address"}],name:"registerAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerAppByFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"configWord",type:"uint256"},{internalType:"string",name:"registrationKey",type:"string"}],name:"registerAppWithKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"},{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"removeFromAgreementClassesBitmap",outputs:[{internalType:"uint256",name:"newBitmap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidGovernance",name:"newGov",type:"address"}],name:"replaceGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClassLogic",type:"address"}],name:"updateAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperTokenFactory",name:"newFactory",type:"address"}],name:"updateSuperTokenFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newLogicOverride",type:"address"}],name:"updateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"versionRecipient",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"}],H8="0x60c06040523480156200001157600080fd5b50604051620056443803806200564483398101604081905262000034916200005b565b901515608052151560a05262000093565b805180151581146200005657600080fd5b919050565b600080604083850312156200006f57600080fd5b6200007a8362000045565b91506200008a6020840162000045565b90509250929050565b60805160a051615545620000ff6000396000818161079801528181612018015281816124f4015281816127a401526128eb0152600081816109aa01528181610ac001528181610de10152818161140b01528181611546015281816116a5015261281301526155456000f3fe6080604052600436106102ff5760003560e01c80638ca4848411610190578063bced3ddc116100dc578063c60944a611610095578063f2e55caf1161006f578063f2e55caf146109fb578063f373305214610a10578063f9f522f414610a30578063fa6e0cfe14610a6d57600080fd5b8063c60944a614610978578063cd312ec414610998578063e8dccb7d146109cc57600080fd5b8063bced3ddc146108b6578063bd1c448b146108d6578063bd3252c8146108f6578063bf4287341461090b578063c4d66de81461092b578063c56a069d1461094b57600080fd5b8063a5dbbbcd11610149578063b724211e11610123578063b724211e1461081a578063ba48b5f81461083a578063bb84cfa11461085a578063bbe4fd50146108a357600080fd5b8063a5dbbbcd146107ba578063ad3915c8146107da578063b6d200de146107fa57600080fd5b80638ca48484146106d45780638ceddd7a146106f45780639378fa131461071f578063989b0c3e146107515780639903ad38146107715780639d297e301461078657600080fd5b806350d75d251161024f578063670e77e3116102085780637283100c116101e25780637283100c14610656578063731aed6e1461067657806374041e0214610694578063768fabb0146106b457600080fd5b8063670e77e3146106035780636ad3ca7d146106235780636b4f33351461063657600080fd5b806350d75d251461053157806352d1902d1461054657806354fbc4931461058357806357121e0c146105a3578063572b6c05146105c357806359a29141146105e357600080fd5b806333d608f1116102bc5780633f6c923a116102965780633f6c923a1461048b5780634329d293146104b857806346951954146104e6578063486ff0cd1461050657600080fd5b806333d608f1146103f457806339255d5b146104235780633ca3ad4e1461044357600080fd5b806306cecba8146103045780630c5650751461032657806315a024e1146103465780631e6d0a84146103665780631e855cf31461039c578063289b3c0d146103bc575b600080fd5b34801561031057600080fd5b5061032461031f366004614414565b610a8d565b005b34801561033257600080fd5b50610324610341366004614438565b610c64565b34801561035257600080fd5b50610324610361366004614414565b610cf4565b34801561037257600080fd5b506103866103813660046144c7565b610f44565b60405161039391906145ad565b60405180910390f35b3480156103a857600080fd5b506103866103b7366004614683565b611190565b3480156103c857600080fd5b506000546201000090046001600160a01b03165b6040516001600160a01b039091168152602001610393565b34801561040057600080fd5b5061040b622dc6c081565b6040516001600160401b039091168152602001610393565b34801561042f57600080fd5b5061038661043e3660046146d2565b6111a8565b34801561044f57600080fd5b5061047b61045e366004614414565b6001600160a01b0316600090815260046020526040902054151590565b6040519015158152602001610393565b34801561049757600080fd5b506104ab6104a6366004614747565b6111be565b604051610393919061477b565b3480156104c457600080fd5b506104d86104d336600461485c565b6111cf565b604051610393929190614908565b3480156104f257600080fd5b50610324610501366004614414565b6113d8565b34801561051257600080fd5b50604080518082019091526002815261763160f01b6020820152610386565b34801561053d57600080fd5b506103dc6114d4565b34801561055257600080fd5b507fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba745b604051908152602001610393565b34801561058f57600080fd5b5061032461059e366004614414565b611503565b3480156105af57600080fd5b506103246105be366004614414565b611786565b3480156105cf57600080fd5b5061047b6105de366004614414565b611854565b3480156105ef57600080fd5b506103866105fe36600461492d565b6118de565b34801561060f57600080fd5b5061032461061e366004614978565b6119c0565b610324610631366004614978565b6119d6565b34801561064257600080fd5b5061047b610651366004614414565b6119e1565b34801561066257600080fd5b50610324610671366004614414565b611a05565b34801561068257600080fd5b506003546001600160a01b03166103dc565b3480156106a057600080fd5b506103866106af3660046144c7565b611aad565b3480156106c057600080fd5b506103866106cf3660046149ec565b611bfc565b3480156106e057600080fd5b5061047b6106ef366004614414565b611d98565b34801561070057600080fd5b5061070a61010081565b60405163ffffffff9091168152602001610393565b34801561072b57600080fd5b5061073f61073a366004614414565b611e5d565b60405160ff9091168152602001610393565b34801561075d57600080fd5b5061038661076c36600461492d565b611e7e565b34801561077d57600080fd5b50610324611f11565b34801561079257600080fd5b5061047b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107c657600080fd5b506105756107d5366004614a67565b611fcc565b3480156107e657600080fd5b506103246107f5366004614a89565b612016565b34801561080657600080fd5b506103dc610815366004614a89565b61206a565b34801561082657600080fd5b50610386610835366004614aa2565b6120d1565b34801561084657600080fd5b50610386610855366004614afe565b612192565b34801561086657600080fd5b5061047b610875366004614438565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b3480156108af57600080fd5b5042610575565b3480156108c257600080fd5b506105756108d1366004614a67565b6124a9565b3480156108e257600080fd5b506103246108f1366004614b80565b6124f2565b34801561090257600080fd5b50610575600181565b34801561091757600080fd5b5061047b610926366004614bcb565b612568565b34801561093757600080fd5b50610324610946366004614414565b6125a9565b34801561095757600080fd5b5061096b610966366004614a89565b61268d565b6040516103939190614c0c565b34801561098457600080fd5b50610324610993366004614c59565b612777565b3480156109a457600080fd5b5061047b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156109d857600080fd5b5061047b6109e7366004614a89565b600090815260026020526040902054151590565b348015610a0757600080fd5b506103dc6127f6565b348015610a1c57600080fd5b50610324610a2b366004614c59565b6128be565b348015610a3c57600080fd5b50610a50610a4b366004614414565b6129c9565b604080519315158452911515602084015290820152606001610393565b348015610a7957600080fd5b50610324610a88366004614438565b612a18565b6000546201000090046001600160a01b03163314610abe576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610afd576040516314f72c9f60e01b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b619190614c85565b600081815260026020526040812054919250819003610b9357604051630e4f4df560e11b815260040160405180910390fd5b60006001610ba18184614cb4565b81548110610bb157610bb1614cc7565b6000918252602090912001546040516311a5465560e21b81526001600160a01b03868116600483015290911691508190634695195490602401600060405180830381600087803b158015610c0457600080fd5b505af1158015610c18573d6000803e3d6000fd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b6000546201000090046001600160a01b03163314610c95576040516362e9152760e11b815260040160405180910390fd5b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f28397090602401600060405180830381600087803b158015610cd857600080fd5b505af1158015610cec573d6000803e3d6000fd5b505050505050565b6000546201000090046001600160a01b03163314610d25576040516362e9152760e11b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d899190614c85565b60008181526002602052604090205490915015610db957604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610ddd57604051630f85034f60e31b815260040160405180910390fd5b60007f0000000000000000000000000000000000000000000000000000000000000000610e97576000604051610e1290614397565b604051809103906000f080158015610e2e573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef90602401600060405180830381600087803b158015610e7657600080fd5b505af1158015610e8a573d6000803e3d6000fd5b5050505080915050610e9a565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055546000838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d190610f3790849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b6060610f4f33611d98565b610f6c5760405163619c535960e01b815260040160405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fae9250839150612b7b9050565b610fba57610fba614cdd565b6000806110348a6000898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612b9b92505050565b9150915081156111495761104781612ced565b156110e157808060200190518101906110609190614d38565b935061106b84612b7b565b6110dc57866110955760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296506110dc92508c915060149050612d41565b611183565b866111025760405163a85ba64f60e01b81526016600482015260240161108c565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296506110dc92508c915060169050612d41565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b606061119f3384600085612dc2565b90505b92915050565b60606111b633858585612fff565b949350505050565b6111c66143a4565b6111a282613110565b60608083838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506112149250839150612b7b9050565b6112345760405163a85ba64f60e01b81526014600482015260240161108c565b8961123e81611d98565b61125b5760405163619c535960e01b815260040160405180910390fd5b600061129c87878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111be92505050565b6101208101519091506001600160a01b031633146112cd5760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b908190840183828082843760009201919091525050505060a0830152611319826131db565b9550600061135f8e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508c915061330f9050565b9650905080156113be578580602001905181019061137d9190614d38565b965061138887612b7b565b61139457611394614cdd565b61139d876111be565b6001600160a01b038316606082015292506113b7836131db565b96506113c7565b6113c7866133ca565b505050505097509795505050505050565b6000546201000090046001600160a01b03163314611409576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015611448576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611486573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114aa9190614d6c565b156114c85760405163474e764160e01b815260040160405180910390fd5b6114d1816134d5565b50565b60006114fe7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000546201000090046001600160a01b03163314611534576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b03166116a3577f000000000000000000000000000000000000000000000000000000000000000061161a57600060405161157790614397565b604051809103906000f080158015611593573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef90602401600060405180830381600087803b1580156115db57600080fd5b505af11580156115ef573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b039490941693909317909255506116369050565b600380546001600160a01b0319166001600160a01b0383161790555b600360009054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561168657600080fd5b505af115801561169a573d6000803e3d6000fd5b50505050611742565b7f0000000000000000000000000000000000000000000000000000000000000000156116e2576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b03838116600483015290911690634695195490602401600060405180830381600087803b15801561172957600080fd5b505af115801561173d573d6000803e3d6000fd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b336000818152600460205260409020546117b3576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b0382166000908152600460205260409020546117e957604051634b5518af60e11b815260040160405180910390fd5b6117f282611e5d565b60ff166117fe82611e5d565b60ff161161181f57604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081166000908152600560209081526040808320949093168252929092529020805460ff19166001179055565b600080546201000090046001600160a01b03166380f70cba30836118778661370f565b6040518463ffffffff1660e01b815260040161189593929190614d89565b602060405180830381865afa1580156118b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d69190614c85565b151592915050565b60606118e933611d98565b6119065760405163619c535960e01b815260040160405180910390fd5b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506119489250839150612b7b9050565b61195457611954614cdd565b600061199586868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111be92505050565b90508381610100018181516119aa9190614dad565b9052506119b6816131db565b9695505050505050565b6119d26119cb613797565b83836137ff565b5050565b6119d23383836137ff565b6001600160a01b0381166000908152600460205260408120546180001615156111a2565b6000546201000090046001600160a01b03163314611a36576040516362e9152760e11b815260040160405180910390fd5b600054604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a1600080546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6060611ab833611d98565b611ad55760405163619c535960e01b815260040160405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b179250839150612b7b9050565b611b2357611b23614cdd565b600080611b9d8a6001898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612b9b92505050565b91509150811561118357611bb081612ced565b15611bd05780806020019051810190611bc99190614d38565b9350611183565b86611bf15760405163a85ba64f60e01b81526016600482015260240161108c565b6111838a6016612d41565b6060611c0733611d98565b611c245760405163619c535960e01b815260040160405180910390fd5b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611c669250839150612b7b9050565b611c7257611c72614cdd565b6000611cb389898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111be92505050565b9050611cda81606001516001600160a01b0316600090815260046020526040902054151590565b8015611cee57506001816000015160ff1610155b15611d415760608101516001600160a01b039081166000908152600560209081526040808320938b168352929052205460ff16611d415760405163a85ba64f60e01b8152601e600482015260240161108c565b805181611d4d82614dd5565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b038088166101208301528416610140820152611d8b816131db565b9998505050505050505050565b600080826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dfd9190614c85565b60008181526002602052604090205490915080158015906111b657506001600160a01b0384166001611e2f8184614cb4565b81548110611e3f57611e3f614cc7565b6000918252602090912001546001600160a01b031614949350505050565b6001600160a01b03811660009081526004602052604081205460ff166111a2565b6060611e8933611d98565b611ea65760405163619c535960e01b815260040160405180910390fd5b6000611ee785858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111be92505050565b9050828161010001818151611efc9190614dad565b905250611f08816131db565b95945050505050565b600054610100900460ff1615808015611f315750600054600160ff909116105b80611f4b5750303b158015611f4b575060005460ff166001145b611f675760405162461bcd60e51b815260040161108c90614df4565b6000805460ff191660011790558015611f8a576000805461ff0019166101001790555b80156114d1576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200161177b565b600081815260026020526040812054808203611ffb57604051630e4f4df560e11b815260040160405180910390fd5b612006600182614cb4565b6001901b19841691505092915050565b7f00000000000000000000000000000000000000000000000000000000000000001561206057612060604051806040016040528060028152602001616b3160f01b81525032613fa3565b6114d1338261404c565b60008181526002602052604081205480820361209957604051630e4f4df560e11b815260040160405180910390fd5b60016120a58183614cb4565b815481106120b5576120b5614cc7565b6000918252602090912001546001600160a01b03169392505050565b60606120dc33611d98565b6120f95760405163619c535960e01b815260040160405180910390fd5b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061213b9250839150612b7b9050565b61214757612147614cdd565b6121518484612d41565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929998505050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121d69250839150612b7b9050565b6121f65760405163a85ba64f60e01b81526014600482015260240161108c565b6001600160a01b03871660009081526004602052604081205488918190036122315760405163163cbe4360e01b815260040160405180910390fd5b61800081161561225357604051628e12d960e21b815260040160405180910390fd5b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250612294915083905061411b565b90506001600160e01b031981166330d9c91560e01b14806122c557506001600160e01b0319811663d86ed3e560e01b145b806122e057506001600160e01b03198116630221347d60e61b145b806122fb57506001600160e01b0319811663230dbd2960e01b145b8061231657506001600160e01b03198116635f9e7d7760e01b145b8061233157506001600160e01b031981166353c11f9960e01b145b1561234f576040516377a14afb60e11b815260040160405180910390fd5b600061239089898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111be92505050565b6101208101519091506001600160a01b031633146123c1576040516311cfdef560e21b815260040160405180910390fd5b606081018051339091526123d4826131db565b975060008061241b8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508f915061330f9050565b91509150811561248e57808060200190518101906124399190614d38565b99506124448a612b7b565b6124645760405163a85ba64f60e01b81526014600482015260240161108c565b61246d8a6111be565b6001600160a01b03841660608201529350612487846131db565b9950612497565b612497816133ca565b50505050505050505095945050505050565b6000818152600260205260408120548082036124d857604051630e4f4df560e11b815260040160405180910390fd5b6124e3600182614cb4565b6001901b841791505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156125595761255982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250329250613fa3915050565b612563338461404c565b505050565b600061119f83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b7b92505050565b600054610100900460ff16158080156125c95750600054600160ff909116105b806125e35750303b1580156125e3575060005460ff166001145b6125ff5760405162461bcd60e51b815260040161108c90614df4565b6000805460ff191660011790558015612622576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b0385160217905580156119d2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60606000806001805490506001600160401b038111156126af576126af6145c0565b6040519080825280602002602001820160405280156126d8578160200160208202803683370190505b50925060009050600091505b60015482101561276f576001821b84161561275f576001828154811061270c5761270c614cc7565b6000918252602090912001546001600160a01b0316838261272c81614e42565b93508151811061273e5761273e614cc7565b60200260200101906001600160a01b031690816001600160a01b0316815250505b61276882614e42565b91506126e4565b825250919050565b816001600160a01b03163b6000036127a25760405163353dacc360e21b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000156127ec576127ec604051806040016040528060028152602001616b3160f01b81525033613fa3565b6119d2828261404c565b6003546000906001600160a01b031661281157612811614cdd565b7f00000000000000000000000000000000000000000000000000000000000000001561284757506003546001600160a01b031690565b600360009054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa15801561289a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fe9190614e5b565b816001600160a01b03163b6000036128e95760405163353dacc360e21b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000156127ec57600061291a33614177565b6000805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba9061295990309085908790600401614d89565b602060405180830381865afa158015612976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061299a9190614c85565b6001149050806129bd57604051630b56455f60e41b815260040160405180910390fd5b50506119d2828261404c565b6001600160a01b038116600090815260046020908152604080832081519283019091525480825215801592918291612a1057805161800081161515935064ff000000001691505b509193909250565b6000546201000090046001600160a01b03163314612a49576040516362e9152760e11b815260040160405180910390fd5b60006001600160a01b038216612ad557600360009054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612aac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ad09190614e5b565b612ad7565b815b6040516311a5465560e21b81526001600160a01b03808316600483015291925090841690634695195490602401600060405180830381600087803b158015612b1e57600080fd5b505af1158015612b32573d6000803e3d6000fd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd3915060200160405180910390a2505050565b600081516000141580156111a25750600654825160208401201492915050565b600060606001600160a01b038716612bb557612bb5614cdd565b612bbf84846141f1565b9350622dc6c060005a90508715612c3557886001600160a01b03168287604051612be99190614e78565b6000604051808303818686fa925050503d8060008114612c25576040519150601f19603f3d011682016040523d82523d6000602084013e612c2a565b606091505b509094509250612c98565b886001600160a01b03168287604051612c4e9190614e78565b60006040518083038160008787f1925050503d8060008114612c8c576040519150601f19603f3d011682016040523d82523d6000602084013e612c91565b606091505b5090945092505b83612ce157612ca6816142a8565b612cc85786612cbd57612cb8836133ca565b612ce1565b612cb889600a612d41565b604051636a7aea4b60e11b815260040160405180910390fd5b50509550959350505050565b6000604082511015612d0157506000919050565b602082810151906000908214612d1b575060009392505050565b506040830151612d2a816142be565b612d35906040614e94565b84511492505050919050565b6001600160a01b0382166000908152600460205260408120546180001690036119d2576001600160a01b038216600081815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b90612db69084815260200190565b60405180910390a25050565b60065460609015612de95760405163a85ba64f60e01b81526015600482015260240161108c565b6001600160a01b0384166000908152600460205260408120548591819003612e245760405163163cbe4360e01b815260040160405180910390fd5b618000811615612e4657604051628e12d960e21b815260040160405180910390fd5b836000612e528261411b565b90506001600160e01b031981166330d9c91560e01b1480612e8357506001600160e01b0319811663d86ed3e560e01b145b80612e9e57506001600160e01b03198116630221347d60e61b145b80612eb957506001600160e01b0319811663230dbd2960e01b145b80612ed457506001600160e01b03198116635f9e7d7760e01b145b80612eef57506001600160e01b031981166353c11f9960e01b145b15612f0d576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182526000808252600260208084019190915242838501526001600160a01b03808e16606085015260808401839052845191820190945281815260a083015260c0820181905260e082018190526101008201819052918a166101208201526101408101829052612f84906131db565b90506000612f948a898b8561330f565b975090508015612fe25786806020019051810190612fb29190614d38565b9150612fbd82612b7b565b612fdd5760405163a85ba64f60e01b81526014600482015260240161108c565b612feb565b612feb876133ca565b505060006006555092979650505050505050565b600654606090156130265760405163a85ba64f60e01b81526015600482015260240161108c565b8361303081611d98565b61304d5760405163619c535960e01b815260040160405180910390fd5b60006130588561411b565b60408051610160810182526000808252600160208301529293506130db9181014281526020018a6001600160a01b03168152602001846001600160e01b031916815260200187815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b03168152506131db565b905060006130ec888860008561330f565b95509050806130fe576130fe856133ca565b50506000600655509095945050505050565b6131186143a4565b6060808380602001905181019061312f9190614ea7565b8151919350915060009061314c9084016020908101908501614f00565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff909116855282516000925061319d919084018101908401614f84565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b60606001826000015160ff1611156132095760405163a85ba64f60e01b81526028600482015260240161108c565b815160208084015160009260ff1664ff000000009190921b16179050600060806132368560e001516142f7565b6001600160801b0316901b61324e8560c001516142f7565b6001600160801b0316179050818460400151856060015186608001518760a00151604051602001613283959493929190614fcf565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f19818403018152908290526132ed9291602001614908565b60408051601f1981840301815291905280516020820120600655949350505050565b600060606001600160a01b03861661332957613329614cdd565b61333385846141f1565b9450856001600160a01b0316848660405161334e9190614e78565b60006040518083038185875af1925050503d806000811461338b576040519150601f19603f3d011682016040523d82523d6000602084013e613390565b606091505b50909250905081156133c15780516000036133c15760405163a85ba64f60e01b81526016600482015260240161108c565b94509492505050565b60048151101561341c5760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a20746172676574207265766572742829000000000000604482015260640161108c565b602081015163b1b7848f60e01b6001600160e01b03198216016134cc5760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b815291929161108c918491016145ad565b81518060208401fd5b60006134ff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036135555760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c65000000604482015260640161108c565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613593573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135b79190614c85565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74146136315760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b606482015260840161108c565b6001600160a01b03811630036136895760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f7000000000000000604482015260640161108c565b6136b1817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b03841660208301520161177b565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b6000601836108015906137ae57506137ae33611854565b6137f25760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b604482015260640161108c565b5060131936013560601c90565b6000805b82811015613f5c57600084848381811061381f5761381f614cc7565b9050602002810190613831919061501b565b61383f906020810190615031565b905060001963ffffffff8216016139335760008086868581811061386557613865614cc7565b9050602002810190613877919061501b565b613885906040810190615057565b8101906138929190614c59565b915091508686858181106138a8576138a8614cc7565b90506020028101906138ba919061501b565b6138cb906040810190602001614414565b6001600160a01b03166362aa52878984846040518463ffffffff1660e01b81526004016138fa93929190614d89565b600060405180830381600087803b15801561391457600080fd5b505af1158015613928573d6000803e3d6000fd5b505050505050613f4b565b60011963ffffffff821601613a3e57600080600087878681811061395957613959614cc7565b905060200281019061396b919061501b565b613979906040810190615057565b810190613986919061509d565b92509250925087878681811061399e5761399e614cc7565b90506020028101906139b0919061501b565b6139c1906040810190602001614414565b604051630b682aeb60e11b81526001600160a01b038b81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b600060405180830381600087803b158015613a1e57600080fd5b505af1158015613a32573d6000803e3d6000fd5b50505050505050613f4b565b60021963ffffffff821601613afd576000806000878786818110613a6457613a64614cc7565b9050602002810190613a76919061501b565b613a84906040810190615057565b810190613a9191906150de565b925092509250878786818110613aa957613aa9614cc7565b9050602002810190613abb919061501b565b613acc906040810190602001614414565b6001600160a01b031663ca0c1e7f8a8585856040518563ffffffff1660e01b8152600401613a04949392919061512c565b60031963ffffffff821601613bb657600080868685818110613b2157613b21614cc7565b9050602002810190613b33919061501b565b613b41906040810190615057565b810190613b4e9190614c59565b91509150868685818110613b6457613b64614cc7565b9050602002810190613b76919061501b565b613b87906040810190602001614414565b6001600160a01b0316634b2763b38984846040518463ffffffff1660e01b81526004016138fa93929190614d89565b60041963ffffffff821601613c6f57600080868685818110613bda57613bda614cc7565b9050602002810190613bec919061501b565b613bfa906040810190615057565b810190613c079190614c59565b91509150868685818110613c1d57613c1d614cc7565b9050602002810190613c2f919061501b565b613c40906040810190602001614414565b6001600160a01b031663c780fd828984846040518463ffffffff1660e01b81526004016138fa93929190614d89565b60641963ffffffff821601613d6457848483818110613c9057613c90614cc7565b9050602002810190613ca2919061501b565b613cb3906040810190602001614414565b6001600160a01b031663ca78946487878786818110613cd457613cd4614cc7565b9050602002810190613ce6919061501b565b613cf4906040810190615057565b810190613d019190614a89565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015613d4757600080fd5b505af1158015613d5b573d6000803e3d6000fd5b50505050613f4b565b60651963ffffffff821601613dc957848483818110613d8557613d85614cc7565b9050602002810190613d97919061501b565b613da8906040810190602001614414565b6001600160a01b031663245887fc87878786818110613cd457613cd4614cc7565b60c81963ffffffff821601613e6657600080868685818110613ded57613ded614cc7565b9050602002810190613dff919061501b565b613e0d906040810190615057565b810190613e1a919061515f565b91509150613e5e88888887818110613e3457613e34614cc7565b9050602002810190613e46919061501b565b613e57906040810190602001614414565b8484612fff565b505050613f4b565b60c91963ffffffff821601613f3257613f2886868685818110613e8b57613e8b614cc7565b9050602002810190613e9d919061501b565b613eae906040810190602001614414565b85613eb95734613ebc565b60005b888887818110613ece57613ece614cc7565b9050602002810190613ee0919061501b565b613eee906040810190615057565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612dc292505050565b5060019250613f4b565b60405163b477011560e01b815260040160405180910390fd5b50613f5581614e42565b9050613803565b503415801590613f6a575080155b15613f9d5760405133903480156108fc02916000818181858888f19350505050158015613f9b573d6000803e3d6000fd5b505b50505050565b6000613faf8284614364565b6000805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba91613fec9130918790600401614d89565b602060405180830381865afa158015614009573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061402d9190614c85565b101561256357604051630b56455f60e41b815260040160405180910390fd5b64ff000080ff198116151580614063575060ff8116155b806140715750618000811615155b1561408f57604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b038216600090815260046020526040902054156140c6576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528382526001600160a01b038516600081815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a25050565b600060048251101561416f5760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c446174610000000000604482015260640161108c565b506020015190565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c00161377a565b81518083015160609190801561421a576040516367e9985b60e01b815260040160405180910390fd5b50601f1981018452825184908481614231816142be565b61423b9190614cb4565b6001600160401b03811115614252576142526145c0565b6040519080825280601f01601f19166020018201604052801561427c576020820181803683370190505b5060405160200161429094939291906151b8565b60405160208183030381529060405291505092915050565b60006142b5603f83615207565b5a111592915050565b60008082601f16116142d15760006142d4565b60015b60ff166142e2602084615207565b6142ec9190614e94565b6111a2906020615229565b60006001600160801b038211156143605760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b606482015260840161108c565b5090565b60008282604051602001614379929190615240565b60405160208183030381529060405280519060200120905092915050565b61024a806152c683390190565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b03811681146114d157600080fd5b60006020828403121561442657600080fd5b8135614431816143ff565b9392505050565b6000806040838503121561444b57600080fd5b8235614456816143ff565b91506020830135614466816143ff565b809150509250929050565b60008083601f84011261448357600080fd5b5081356001600160401b0381111561449a57600080fd5b6020830191508360208285010111156144b257600080fd5b9250929050565b80151581146114d157600080fd5b600080600080600080608087890312156144e057600080fd5b86356144eb816143ff565b955060208701356001600160401b038082111561450757600080fd5b6145138a838b01614471565b909750955060408901359150614528826144b9565b9093506060880135908082111561453e57600080fd5b5061454b89828a01614471565b979a9699509497509295939492505050565b60005b83811015614578578181015183820152602001614560565b50506000910152565b6000815180845261459981602086016020860161455d565b601f01601f19169290920160200192915050565b60208152600061119f6020830184614581565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156145fe576145fe6145c0565b604052919050565b60006001600160401b0382111561461f5761461f6145c0565b50601f01601f191660200190565b600082601f83011261463e57600080fd5b813561465161464c82614606565b6145d6565b81815284602083860101111561466657600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561469657600080fd5b82356146a1816143ff565b915060208301356001600160401b038111156146bc57600080fd5b6146c88582860161462d565b9150509250929050565b6000806000606084860312156146e757600080fd5b83356146f2816143ff565b925060208401356001600160401b038082111561470e57600080fd5b61471a8783880161462d565b9350604086013591508082111561473057600080fd5b5061473d8682870161462d565b9150509250925092565b60006020828403121561475957600080fd5b81356001600160401b0381111561476f57600080fd5b6111b68482850161462d565b6020815261478f60208201835160ff169052565b600060208301516147a5604084018260ff169052565b506040830151606083015260608301516147ca60808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a08301516101608060c08501526147fd610180850183614581565b915060c085015160e085015260e0850151610100818187015280870151915050610120818187015280870151915050610140614843818701836001600160a01b03169052565b909501516001600160a01b031693019290925250919050565b60008060008060008060006080888a03121561487757600080fd5b8735614882816143ff565b965060208801356001600160401b038082111561489e57600080fd5b6148aa8b838c01614471565b909850965060408a01359150808211156148c357600080fd5b6148cf8b838c01614471565b909650945060608a01359150808211156148e857600080fd5b506148f58a828b01614471565b989b979a50959850939692959293505050565b60408152600061491b6040830185614581565b8281036020840152611f088185614581565b60008060006040848603121561494257600080fd5b83356001600160401b0381111561495857600080fd5b61496486828701614471565b909790965060209590950135949350505050565b6000806020838503121561498b57600080fd5b82356001600160401b03808211156149a257600080fd5b818501915085601f8301126149b657600080fd5b8135818111156149c557600080fd5b8660208260051b85010111156149da57600080fd5b60209290920196919550909350505050565b60008060008060008060a08789031215614a0557600080fd5b86356001600160401b03811115614a1b57600080fd5b614a2789828a01614471565b9097509550506020870135614a3b816143ff565b935060408701359250606087013591506080870135614a59816143ff565b809150509295509295509295565b60008060408385031215614a7a57600080fd5b50508035926020909101359150565b600060208284031215614a9b57600080fd5b5035919050565b60008060008060608587031215614ab857600080fd5b84356001600160401b03811115614ace57600080fd5b614ada87828801614471565b9095509350506020850135614aee816143ff565b9396929550929360400135925050565b600080600080600060608688031215614b1657600080fd5b8535614b21816143ff565b945060208601356001600160401b0380821115614b3d57600080fd5b614b4989838a01614471565b90965094506040880135915080821115614b6257600080fd5b50614b6f88828901614471565b969995985093965092949392505050565b600080600060408486031215614b9557600080fd5b8335925060208401356001600160401b03811115614bb257600080fd5b614bbe86828701614471565b9497909650939450505050565b60008060208385031215614bde57600080fd5b82356001600160401b03811115614bf457600080fd5b614c0085828601614471565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b81811015614c4d5783516001600160a01b031683529284019291840191600101614c28565b50909695505050505050565b60008060408385031215614c6c57600080fd5b8235614c77816143ff565b946020939093013593505050565b600060208284031215614c9757600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156111a2576111a2614c9e565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b600082601f830112614d0457600080fd5b8151614d1261464c82614606565b818152846020838601011115614d2757600080fd5b6111b682602083016020870161455d565b600060208284031215614d4a57600080fd5b81516001600160401b03811115614d6057600080fd5b6111b684828501614cf3565b600060208284031215614d7e57600080fd5b8151614431816144b9565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8082018281126000831280158216821582161715614dcd57614dcd614c9e565b505092915050565b600060ff821660ff8103614deb57614deb614c9e565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600060018201614e5457614e54614c9e565b5060010190565b600060208284031215614e6d57600080fd5b8151614431816143ff565b60008251614e8a81846020870161455d565b9190910192915050565b808201808211156111a2576111a2614c9e565b60008060408385031215614eba57600080fd5b82516001600160401b0380821115614ed157600080fd5b614edd86838701614cf3565b93506020850151915080821115614ef357600080fd5b506146c885828601614cf3565b600080600080600060a08688031215614f1857600080fd5b85519450602086015193506040860151614f31816143ff565b60608701519093506001600160e01b031981168114614f4f57600080fd5b60808701519092506001600160401b03811115614f6b57600080fd5b614f7788828901614cf3565b9150509295509295909350565b60008060008060808587031215614f9a57600080fd5b84519350602085015192506040850151614fb3816143ff565b6060860151909250614fc4816143ff565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a06080820181905260009061501090830184614581565b979650505050505050565b60008235605e19833603018112614e8a57600080fd5b60006020828403121561504357600080fd5b813563ffffffff8116811461443157600080fd5b6000808335601e1984360301811261506e57600080fd5b8301803591506001600160401b0382111561508857600080fd5b6020019150368190038213156144b257600080fd5b6000806000606084860312156150b257600080fd5b83356150bd816143ff565b925060208401356150cd816143ff565b929592945050506040919091013590565b6000806000606084860312156150f357600080fd5b83356150fe816143ff565b92506020840135915060408401356001600160401b0381111561512057600080fd5b61473d8682870161462d565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906119b690830184614581565b6000806040838503121561517257600080fd5b82356001600160401b038082111561518957600080fd5b6151958683870161462d565b935060208501359150808211156151ab57600080fd5b506146c88582860161462d565b6000855160206151cb8285838b0161455d565b818401915086825285516151e481838501848a0161455d565b85519201916151f88183850184890161455d565b91909101019695505050505050565b60008261522457634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176111a2576111a2614c9e565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e0604082015260006111b660e083018461458156fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033a26469706673582212206090473d4d026562ec1a0b731d0e81ec316b0a865fa85fe4162a544a94556b0f64736f6c63430008130033",H9=eb=>eb.length>1;class H7 extends uw.lV{constructor(...eb){H9(eb)?super(...eb):super(H5,H8,eb[0])}deploy(eb,em,eH){return super.deploy(eb,em,eH||{})}getDeployTransaction(eb,em,eH){return super.getDeployTransaction(eb,em,eH||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(H5)}static connect(eb,em){return new uw.CH(eb,H5,em)}}H7.bytecode=H8,H7.abi=H5;let Vb=[{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"}];class Vm{static createInterface(){return new uN.vU(Vb)}static connect(eb,em){return new uw.CH(eb,Vb,em)}}Vm.abi=Vb;let Vy=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenDowngraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenUpgraded",type:"event"},{stateMutability:"payable",type:"fallback"},{inputs:[{internalType:"uint256",name:"wad",type:"uint256"}],name:"downgradeToETH",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"initialAddress",type:"address"}],name:"initializeProxy",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"upgradeByETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"}],name:"upgradeByETHTo",outputs:[],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],Vv="0x608060405234801561001057600080fd5b506105a4806100206000396000f3fe6080604052600436106100435760003560e01c8063160e8be3146100ef5780634a0687ef1461010f5780637687d19b1461012f578063cf81464b14610142576100e5565b366100e5576040805160008152602081019182905263c68d428360e01b909152309063c68d42839061007c9033903490602481016104c0565b600060405180830381600087803b15801561009657600080fd5b505af11580156100aa573d6000803e3d6000fd5b50506040513481523392507f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df915060200160405180910390a2005b6100ed61014a565b005b3480156100fb57600080fd5b506100ed61010a366004610525565b61015c565b34801561011b57600080fd5b506100ed61012a36600461053e565b610229565b6100ed61013d36600461053e565b61032f565b6100ed6103d0565b61015a61015561046d565b61049c565b565b60408051600081526020810191829052639d87674160e01b9091523090639d876741906101909033908590602481016104c0565b600060405180830381600087803b1580156101aa57600080fd5b505af11580156101be573d6000803e3d6000fd5b505060405133925083156108fc02915083906000818181858888f193505050501580156101ef573d6000803e3d6000fd5b5060405181815233907f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d906020015b60405180910390a250565b6001600160a01b0381166102845760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006102ae7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146103045760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a65640000604482015260640161027b565b61032c817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b6040805160008152602081019182905263c68d428360e01b909152309063c68d4283906103639084903490602481016104c0565b600060405180830381600087803b15801561037d57600080fd5b505af1158015610391573d6000803e3d6000fd5b50505050806001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df3460405161021e91815260200190565b6040805160008152602081019182905263c68d428360e01b909152309063c68d4283906104049033903490602481016104c0565b600060405180830381600087803b15801561041e57600080fd5b505af1158015610432573d6000803e3d6000fd5b50506040513481523392507f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df915060200160405180910390a2565b60006104977f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156104bb573d6000f35b3d6000fd5b60018060a01b038416815260006020848184015260606040840152835180606085015260005b81811015610502578581018301518582016080015282016104e6565b506000608082860101526080601f19601f83011685010192505050949350505050565b60006020828403121561053757600080fd5b5035919050565b60006020828403121561055057600080fd5b81356001600160a01b038116811461056757600080fd5b939250505056fea2646970667358221220e31946744b150dbb93566f39ba2d9b41930369cbf03e478ae05d566c80cf093464736f6c63430008130033",Vz=eb=>eb.length>1;class VH extends uw.lV{constructor(...eb){Vz(eb)?super(...eb):super(Vy,Vv,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(Vy)}static connect(eb,em){return new uw.CH(eb,Vy,em)}}VH.bytecode=Vv,VH.abi=Vy;let VV=[{stateMutability:"payable",type:"fallback"},{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"uint256",name:"initialSupply",type:"uint256"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"initialAddress",type:"address"}],name:"initializeProxy",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],Vw="0x608060405234801561001057600080fd5b506104bb806100206000396000f3fe60806040526004361061002d5760003560e01c80634a0687ef14610044578063b119490e146100645761003c565b3661003c5761003a610084565b005b61003a610084565b34801561005057600080fd5b5061003a61005f3660046102bc565b610096565b34801561007057600080fd5b5061003a61007f366004610335565b61019c565b61009461008f610269565b610298565b565b6001600160a01b0381166100f15760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b600061011b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101715760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100e8565b610199817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b6040516285fc1360e71b815230906342fe0980906101ca906000906012908a908a908a908a906004016103d2565b600060405180830381600087803b1580156101e457600080fd5b505af11580156101f8573d6000803e3d6000fd5b50506040805160008152602081019182905263c68d428360e01b90915230925063c68d42839150610230903390859060248101610420565b600060405180830381600087803b15801561024a57600080fd5b505af115801561025e573d6000803e3d6000fd5b505050505050505050565b60006102937f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156102b7573d6000f35b3d6000fd5b6000602082840312156102ce57600080fd5b81356001600160a01b03811681146102e557600080fd5b9392505050565b60008083601f8401126102fe57600080fd5b50813567ffffffffffffffff81111561031657600080fd5b60208301915083602082850101111561032e57600080fd5b9250929050565b60008060008060006060868803121561034d57600080fd5b853567ffffffffffffffff8082111561036557600080fd5b61037189838a016102ec565b9097509550602088013591508082111561038a57600080fd5b50610397888289016102ec565b96999598509660400135949350505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038716815260ff8616602082015260806040820181905260009061040090830186886103a9565b82810360608401526104138185876103a9565b9998505050505050505050565b60018060a01b038416815260006020848184015260606040840152835180606085015260005b8181101561046257858101830151858201608001528201610446565b506000608082860101526080601f19601f8301168501019250505094935050505056fea26469706673582212202063bf511c5f533dd594b200c684c8468de882be07cf80ebe9d3c4125279572464736f6c63430008130033",VM=eb=>eb.length>1;class VC extends uw.lV{constructor(...eb){VM(eb)?super(...eb):super(VV,Vw,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(VV)}static connect(eb,em){return new uw.CH(eb,VV,em)}}VC.bytecode=Vw,VC.abi=VV;let Vx=[{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}];class Vk{static createInterface(){return new uN.vU(Vx)}static connect(eb,em){return new uw.CH(eb,Vx,em)}}Vk.abi=Vx;let VT=[{stateMutability:"payable",type:"fallback"},{inputs:[{internalType:"address",name:"initialAddress",type:"address"}],name:"initializeProxy",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],V_="0x608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033",VS=eb=>eb.length>1;class VE extends uw.lV{constructor(...eb){VS(eb)?super(...eb):super(VT,V_,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(VT)}static connect(eb,em){return new uw.CH(eb,VT,em)}}VE.bytecode=V_,VE.abi=VT;let VA=[{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"int96",name:"exitRate",type:"int96"}],name:"ExitRateChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"pic",type:"address"},{indexed:!1,internalType:"uint256",name:"bond",type:"uint256"},{indexed:!1,internalType:"int96",name:"exitRate",type:"int96"}],name:"NewPIC",type:"event"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"int96",name:"newExitRate",type:"int96"}],name:"changeExitRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"getCurrentPIC",outputs:[{internalType:"address",name:"pic",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"getCurrentPICInfo",outputs:[{internalType:"address",name:"pic",type:"address"},{internalType:"uint256",name:"bond",type:"uint256"},{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint256",name:"bondAmount",type:"uint256"}],name:"getDefaultExitRateFor",outputs:[{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint256",name:"bondAmount",type:"uint256"}],name:"getMaxExitRateFor",outputs:[{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"}];class VN{static createInterface(){return new uN.vU(VA)}static connect(eb,em){return new uw.CH(eb,VA,em)}}VN.abi=VA;let VI=[{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"additionalBond",type:"uint256"}],name:"BondIncreased",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"int96",name:"exitRate",type:"int96"}],name:"ExitRateChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"pic",type:"address"},{indexed:!1,internalType:"uint256",name:"bond",type:"uint256"},{indexed:!1,internalType:"int96",name:"exitRate",type:"int96"}],name:"NewPIC",type:"event"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"int96",name:"newExitRate",type:"int96"}],name:"changeExitRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"getCurrentPIC",outputs:[{internalType:"address",name:"pic",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"getCurrentPICInfo",outputs:[{internalType:"address",name:"pic",type:"address"},{internalType:"uint256",name:"bond",type:"uint256"},{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint256",name:"bondAmount",type:"uint256"}],name:"getDefaultExitRateFor",outputs:[{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint256",name:"bondAmount",type:"uint256"}],name:"getMaxExitRateFor",outputs:[{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"withdrawFundsInCustody",outputs:[],stateMutability:"nonpayable",type:"function"}];class VD{static createInterface(){return new uN.vU(VI)}static connect(eb,em){return new uw.CH(eb,VI,em)}}VD.abi=VI;let VP=[{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"additionalBond",type:"uint256"}],name:"BondIncreased",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"int96",name:"exitRate",type:"int96"}],name:"ExitRateChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"pic",type:"address"},{indexed:!1,internalType:"uint256",name:"bond",type:"uint256"},{indexed:!1,internalType:"int96",name:"exitRate",type:"int96"}],name:"NewPIC",type:"event"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"int96",name:"newExitRate",type:"int96"}],name:"changeExitRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"getCurrentPIC",outputs:[{internalType:"address",name:"pic",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"getCurrentPICInfo",outputs:[{internalType:"address",name:"pic",type:"address"},{internalType:"uint256",name:"bond",type:"uint256"},{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint256",name:"bondAmount",type:"uint256"}],name:"getDefaultExitRateFor",outputs:[{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint256",name:"bondAmount",type:"uint256"}],name:"getMaxExitRateFor",outputs:[{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"}];class VO{static createInterface(){return new uN.vU(VP)}static connect(eb,em){return new uw.CH(eb,VP,em)}}VO.abi=VP;let VR=[{inputs:[{internalType:"contract ISuperfluid",name:"host_",type:"address"},{internalType:"uint256",name:"minBondDuration_",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"additionalBond",type:"uint256"}],name:"BondIncreased",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"int96",name:"exitRate",type:"int96"}],name:"ExitRateChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"pic",type:"address"},{indexed:!1,internalType:"uint256",name:"bond",type:"uint256"},{indexed:!1,internalType:"int96",name:"exitRate",type:"int96"}],name:"NewPIC",type:"event"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"int96",name:"newExitRate",type:"int96"}],name:"changeExitRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"getCurrentPIC",outputs:[{internalType:"address",name:"pic",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"getCurrentPICInfo",outputs:[{internalType:"address",name:"pic",type:"address"},{internalType:"uint256",name:"bond",type:"uint256"},{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"uint256",name:"bondAmount",type:"uint256"}],name:"getDefaultExitRateFor",outputs:[{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"uint256",name:"bondAmount",type:"uint256"}],name:"getMaxExitRateFor",outputs:[{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[],name:"minBondDuration",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"tokensReceived",outputs:[],stateMutability:"nonpayable",type:"function"}],VB="0x60e06040523480156200001157600080fd5b5060405162001833380380620018338339810160408190526200003491620002b5565b6001600160a01b038216608081905260c0829052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015263b6d200de90602401602060405180830381865afa158015620000a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c89190620002e6565b6001600160a01b031660a0526040516329965a1d60e01b815230600482018190527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248301819052604483019190915290731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b1580156200015457600080fd5b505af115801562000169573d6000803e3d6000fd5b50506040516329965a1d60e01b815230600482018190527fece6fc2bcfc93e4c34c28aeaa114be1a6161decb8268f79cbe7c3c7f31b1e8c660248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b158015620001e757600080fd5b505af1158015620001fc573d6000803e3d6000fd5b50506040516329965a1d60e01b815230600482018190527fca6323f8f0faf3d4f41f2397ee46c8d85bed576d54aadeb20b6cf7b45b3a696460248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b1580156200027a57600080fd5b505af11580156200028f573d6000803e3d6000fd5b505050505050506200030d565b6001600160a01b0381168114620002b257600080fd5b50565b60008060408385031215620002c957600080fd5b8251620002d6816200029c565b6020939093015192949293505050565b600060208284031215620002f957600080fd5b815162000306816200029c565b9392505050565b60805160a05160c05161148d620003a66000396000818161011d015281816102dd0152818161074201528181610792015261093501526000818161037e0152818161043f0152818161058f0152818161061e015281816107fa01528181610a5601528181610b170152610ce701526000818161041501528181610565015281816105f401528181610aed0152610cbd015261148d6000f3fe608060405234801561001057600080fd5b506004361061007c5760003560e01c8063362910631161005b57806336291063146100d457806360dfa69514610118578063b8a140331461014d578063bf8903dd1461016057600080fd5b806223de291461008157806302f3c6c51461009657806316e23b9f146100a9575b600080fd5b61009461008f366004610fc0565b61019b565b005b6100946100a4366004611080565b610243565b6100bc6100b73660046110b9565b610735565b604051600b9190910b81526020015b60405180910390f35b6101006100e23660046110e5565b6001600160a01b039081166000908152602081905260409020541690565b6040516001600160a01b0390911681526020016100cb565b61013f7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100cb565b6100bc61015b3660046110b9565b610785565b61017361016e3660046110e5565b6107b7565b604080516001600160a01b0390941684526020840192909252600b0b908201526060016100cb565b336000818152602081905260409020546001600160a01b038981169116146101f457600084156101d6576101d185870187611109565b6101e0565b6101e08288610735565b90506101ee828a898461089b565b50610238565b806001600160a01b03167fb9c1b85a7ee70d95c61aca7cda03ef957abc5265a191ca74cc335faf594095668760405161022f91815260200190565b60405180910390a25b505050505050505050565b6001600160a01b03808316600090815260208190526040902054163381146102ab5760405162461bcd60e51b81526020600482015260166024820152751513d1d04e881bdb9b1e48141250c8185b1b1bddd95960521b60448201526064015b60405180910390fd5b600082600b0b12156102cf5760405162461bcd60e51b81526004016102a290611126565b6102d883610e28565b6103067f0000000000000000000000000000000000000000000000000000000000000000600b85900b61117f565b111561034e5760405162461bcd60e51b81526020600482015260176024820152760a89e8e827440caf0d2e8a4c2e8ca40e8dede40d0d2ced604b1b60448201526064016102a2565b604051631cd43d1160e31b81526001600160a01b03848116600483015230602483015282811660448301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a1e88890606401608060405180830381865afa1580156103c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103eb9190611196565b5050915050600081600b0b1380156104065750600083600b0b135b15610540576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906339255d5b907f00000000000000000000000000000000000000000000000000000000000000009081166350209a6288878960005b6040519080825280601f01601f191660200182016040528015610496576020820181803683370190505b506040516024016104aa949392919061123a565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526104f39392509060040161127a565b6000604051808303816000875af1158015610512573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261053a91908101906112c1565b506106ed565b80600b0b60001480156105565750600083600b0b135b156105c0576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906339255d5b907f00000000000000000000000000000000000000000000000000000000000000009081166362fc305e888789600061046c565b600081600b0b1380156105d6575082600b0b6000145b156106ed576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f0000000000000000000000000000000000000000000000000000000000000000919082169063b4b333c69061065b908a9030908a906044810161136e565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526106a49392509060040161127a565b6000604051808303816000875af11580156106c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106eb91908101906112c1565b505b604051600b84900b81526001600160a01b038516907f0988aefa675e81e1db7fca08264db5dc2a1cc2a604f2a78d902a9747146a56719060200160405180910390a250505050565b600061077c6107776107687f0000000000000000000000000000000000000000000000000000000000000000600461117f565b61077290856113a2565b610ec9565b610f37565b90505b92915050565b600061077c6107776107727f0000000000000000000000000000000000000000000000000000000000000000856113a2565b6001600160a01b03818116600081815260208190526040808220549051631cd43d1160e31b815260048101939093523060248401528316604483015291829182917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa158015610841573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108659190611196565b50506001600160a01b0380871660009081526020819052604090205491935016905061089085610e28565b925092509193909250565b6001600160a01b038416600090815260208190526040902054600160a01b900460ff161561090b5760405162461bcd60e51b815260206004820152601c60248201527f544f47413a207265656e7472616e6379206e6f7420616c6c6f7765640000000060448201526064016102a2565b600081600b0b121561092f5760405162461bcd60e51b81526004016102a290611126565b8161095e7f0000000000000000000000000000000000000000000000000000000000000000600b84900b61117f565b11156109a65760405162461bcd60e51b81526020600482015260176024820152760a89e8e827440caf0d2e8a4c2e8ca40e8dede40d0d2ced604b1b60448201526064016102a2565b6000826109b286610e28565b6109bc91906113c4565b9050808311610a015760405162461bcd60e51b8152602060048201526011602482015270544f47413a2062696420746f6f206c6f7760781b60448201526064016102a2565b6001600160a01b038581166000818152602081905260408082208054600160a01b60ff60a01b198216179091559051631cd43d1160e31b815260048101939093523060248401528316604483018190529290917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a1e88890606401608060405180830381865afa158015610a9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac39190611196565b5050915050600081600b0b1315610be6576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f0000000000000000000000000000000000000000000000000000000000000000919082169063b4b333c690610b54908d9030908a906044810161136e565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610b9d9392509060040161127a565b6000604051808303816000875af1158015610bbc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610be491908101906112c1565b505b6001600160a01b03821615610c6a5760405163a9059cbb60e01b81526001600160a01b0383811660048301526024820185905288169063a9059cbb906044016020604051808303816000875af1158015610c44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6891906113d7565b505b6001600160a01b03878116600090815260208190526040812080546001600160a01b03191692891692909217909155600b85900b1315610db6576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f000000000000000000000000000000000000000000000000000000000000000091908216906362fc305e90610d24908d908d908c906044810161123a565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610d6d9392509060040161127a565b6000604051808303816000875af1158015610d8c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610db491908101906112c1565b505b6001600160a01b0387811660008181526020818152604091829020805460ff60a01b191690558151938a1684528301889052600b87900b90830152907f836808e57755d5535898b7203c7d68b1bfb2701b1943ecb133c675e0d00780159060600160405180910390a250505050505050565b604051632ec8eec760e01b8152306004820152600090819081906001600160a01b03851690632ec8eec790602401608060405180830381865afa158015610e73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9791906113f9565b50509150915060008183610eab919061142f565b13610eb7576000610ec1565b610ec1818361142f565b949350505050565b60006001600160ff1b03821115610f335760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016102a2565b5090565b60006b7fffffffffffffffffffffff8212610f33576b7fffffffffffffffffffffff92915050565b6001600160a01b0381168114610f7457600080fd5b50565b60008083601f840112610f8957600080fd5b50813567ffffffffffffffff811115610fa157600080fd5b602083019150836020828501011115610fb957600080fd5b9250929050565b60008060008060008060008060c0898b031215610fdc57600080fd5b8835610fe781610f5f565b97506020890135610ff781610f5f565b9650604089013561100781610f5f565b955060608901359450608089013567ffffffffffffffff8082111561102b57600080fd5b6110378c838d01610f77565b909650945060a08b013591508082111561105057600080fd5b5061105d8b828c01610f77565b999c989b5096995094979396929594505050565b80600b0b8114610f7457600080fd5b6000806040838503121561109357600080fd5b823561109e81610f5f565b915060208301356110ae81611071565b809150509250929050565b600080604083850312156110cc57600080fd5b82356110d781610f5f565b946020939093013593505050565b6000602082840312156110f757600080fd5b813561110281610f5f565b9392505050565b60006020828403121561111b57600080fd5b813561110281611071565b60208082526023908201527f544f47413a206e65676174697665206578697452617465206e6f7420616c6c6f6040820152621dd95960ea1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761077f5761077f611169565b600080600080608085870312156111ac57600080fd5b8451935060208501516111be81611071565b6040860151606090960151949790965092505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156112055781810151838201526020016111ed565b50506000910152565b600081518084526112268160208601602086016111ea565b601f01601f19169290920160200192915050565b6001600160a01b03858116825284166020820152600b83900b60408201526080606082018190526000906112709083018461120e565b9695505050505050565b6001600160a01b038316815260606020820181905260009061129e9083018461120e565b8281036040938401526002815261060f60f31b6020820152919091019392505050565b6000602082840312156112d357600080fd5b815167ffffffffffffffff808211156112eb57600080fd5b818401915084601f8301126112ff57600080fd5b815181811115611311576113116111d4565b604051601f8201601f19908116603f01168101908382118183101715611339576113396111d4565b8160405282815287602084870101111561135257600080fd5b6113638360208301602088016111ea565b979650505050505050565b6001600160a01b0385811682528481166020830152831660408201526080606082018190526000906112709083018461120e565b6000826113bf57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561077f5761077f611169565b6000602082840312156113e957600080fd5b8151801515811461110257600080fd5b6000806000806080858703121561140f57600080fd5b505082516020840151604085015160609095015191969095509092509050565b808201828112600083128015821682158216171561144f5761144f611169565b50509291505056fea2646970667358221220ee2c2bf0a36e02c3f9d390b8ff0193cd642c02e2413a50f13336e578a9aede9e64736f6c63430008130033",VF=eb=>eb.length>1;class Vj extends uw.lV{constructor(...eb){VF(eb)?super(...eb):super(VR,VB,eb[0])}deploy(eb,em,eH){return super.deploy(eb,em,eH||{})}getDeployTransaction(eb,em,eH){return super.getDeployTransaction(eb,em,eH||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(VR)}static connect(eb,em){return new uw.CH(eb,VR,em)}}Vj.bytecode=VB,Vj.abi=VR;let VU=[{inputs:[{internalType:"address",name:"host_",type:"address"},{internalType:"address",name:"cfa_",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ARRAY_SIZES_DIFFERENT",type:"error"},{inputs:[],name:"cfa",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"deleteFlow",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address[]",name:"senders",type:"address[]"},{internalType:"address[]",name:"receivers",type:"address[]"}],name:"deleteFlows",outputs:[{internalType:"uint256",name:"nSuccess",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"host",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],Vq="0x60c060405234801561001057600080fd5b50604051610a24380380610a2483398101604081905261002f91610062565b6001600160a01b039182166080521660a052610095565b80516001600160a01b038116811461005d57600080fd5b919050565b6000806040838503121561007557600080fd5b61007e83610046565b915061008c60208401610046565b90509250929050565b60805160a0516109426100e26000396000818160560152818161013a015281816103d401526103f501526000818160d00152818161010e0152818161037b01526103a501526109426000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80631054df8c146100515780638dc7d29c146100955780638f95895f146100aa578063f437bc59146100cb575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100a86100a3366004610682565b6100f2565b005b6100bd6100b8366004610711565b610349565b60405190815260200161008c565b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040805160008082526020820190925281906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169182916339255d5b917f00000000000000000000000000000000000000000000000000000000000000009182169063b4b333c690610176908c908c908c90604481016107e2565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b9490941790935280516000815292830190526101be9392509060448101610820565b60408051601f198184030181529181526020820180516001600160e01b031660e09490941b9390931790925290516101f69250610856565b6000604051808303816000865af19150503d8060008114610233576040519150601f19603f3d011682016040523d82523d6000602084013e610238565b606091505b50915091508161025857805160000361025057600080fd5b805181602001fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038716906370a0823190602401602060405180830381865afa15801561029f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c39190610872565b90508015610341576040516323b872dd60e01b8152306004820152336024820152604481018290526001600160a01b038716906323b872dd906064016020604051808303816000875af192505050801561033a575060408051601f3d908101601f191682019092526103379181019061088b565b60015b1561034157505b505050505050565b60008382811461036c5760405163277c943f60e21b815260040160405180910390fd5b60005b818110156105715760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166339255d5b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b4b333c68e8e8e8a818110610435576104356108b4565b905060200201602081019061044a91906108ca565b8d8d8b81811061045c5761045c6108b4565b905060200201602081019061047191906108ca565b60408051600081526020810190915261049093929190604481016107e2565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b9490941790935280516000815292830190526104d89392509060448101610820565b60408051601f198184030181529181526020820180516001600160e01b031660e09490941b9390931790925290516105109250610856565b6000604051808303816000865af19150503d806000811461054d576040519150601f19603f3d011682016040523d82523d6000602084013e610552565b606091505b50509050801561056857610565846108e5565b93505b5060010161036f565b506040516370a0823160e01b81523060048201526000906001600160a01b038916906370a0823190602401602060405180830381865afa1580156105b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105dd9190610872565b9050801561065b576040516323b872dd60e01b8152306004820152336024820152604481018290526001600160a01b038916906323b872dd906064016020604051808303816000875af1925050508015610654575060408051601f3d908101601f191682019092526106519181019061088b565b60015b1561065b57505b505095945050505050565b80356001600160a01b038116811461067d57600080fd5b919050565b60008060006060848603121561069757600080fd5b6106a084610666565b92506106ae60208501610666565b91506106bc60408501610666565b90509250925092565b60008083601f8401126106d757600080fd5b50813567ffffffffffffffff8111156106ef57600080fd5b6020830191508360208260051b850101111561070a57600080fd5b9250929050565b60008060008060006060868803121561072957600080fd5b61073286610666565b9450602086013567ffffffffffffffff8082111561074f57600080fd5b61075b89838a016106c5565b9096509450604088013591508082111561077457600080fd5b50610781888289016106c5565b969995985093965092949392505050565b60005b838110156107ad578181015183820152602001610795565b50506000910152565b600081518084526107ce816020860160208601610792565b601f01601f19169290920160200192915050565b6001600160a01b038581168252848116602083015283166040820152608060608201819052600090610816908301846107b6565b9695505050505050565b6001600160a01b0384168152606060208201819052600090610844908301856107b6565b828103604084015261081681856107b6565b60008251610868818460208701610792565b9190910192915050565b60006020828403121561088457600080fd5b5051919050565b60006020828403121561089d57600080fd5b815180151581146108ad57600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156108dc57600080fd5b6108ad82610666565b60006001820161090557634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220a76ac4c4a972a021424a1cb2c2c57e98a4b6fa17e1332fffeeb06cec2649635164736f6c63430008130033",V$=eb=>eb.length>1;class VW extends uw.lV{constructor(...eb){V$(eb)?super(...eb):super(VU,Vq,eb[0])}deploy(eb,em,eH){return super.deploy(eb,em,eH||{})}getDeployTransaction(eb,em,eH){return super.getDeployTransaction(eb,em,eH||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(VU)}static connect(eb,em){return new uw.CH(eb,VU,em)}}VW.bytecode=Vq,VW.abi=VU;let VZ=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CFA_FWD_INVALID_FLOW_RATE",type:"error"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowrate",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"createFlow",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"deleteFlow",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"getAccountFlowInfo",outputs:[{internalType:"uint256",name:"lastUpdated",type:"uint256"},{internalType:"int96",name:"flowrate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"getAccountFlowrate",outputs:[{internalType:"int96",name:"flowrate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"int96",name:"flowrate",type:"int96"}],name:"getBufferAmountByFlowrate",outputs:[{internalType:"uint256",name:"bufferAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getFlowInfo",outputs:[{internalType:"uint256",name:"lastUpdated",type:"uint256"},{internalType:"int96",name:"flowrate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"flowOperator",type:"address"}],name:"getFlowOperatorPermissions",outputs:[{internalType:"uint8",name:"permissions",type:"uint8"},{internalType:"int96",name:"flowrateAllowance",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getFlowrate",outputs:[{internalType:"int96",name:"flowrate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"}],name:"grantPermissions",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"}],name:"revokePermissions",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowrate",type:"int96"}],name:"setFlowrate",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowrate",type:"int96"}],name:"setFlowrateFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowrate",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateFlow",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissions",type:"uint8"},{internalType:"int96",name:"flowrateAllowance",type:"int96"}],name:"updateFlowOperatorPermissions",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}],VG="0x60c06040523480156200001157600080fd5b50604051620017db380380620017db8339810160408190526200003491620000ef565b6001600160a01b0381166080819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015263b6d200de90602401602060405180830381865afa1580156200009d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c39190620000ef565b6001600160a01b031660a0525062000116565b6001600160a01b0381168114620000ec57600080fd5b50565b6000602082840312156200010257600080fd5b81516200010f81620000d6565b9392505050565b60805160a051611628620001b36000396000818161029a01528181610366015281816103fb015281816104ab01528181610520015281816105de015281816106e901528181610766015281816107aa01528181610851015281816108ef0152818161092501528181610abc01528181610b4101528181610bb001528181610bf30152610c2d015260008181610d150152610d8701526116286000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063308855911161008c5780637243fb93116100665780637243fb9314610222578063b4b333c614610235578063c5ad5c1a14610248578063e15536b61461025b57600080fd5b806330885591146101cd5780634d3f60f9146101e057806357e6aa361461020f57600080fd5b80630f1ac495116100c85780630f1ac4951461014b5780631d8b65261461018157806322c904d9146101a75780632860fd93146101ba57600080fd5b806309f0b495146100ef5780630bd0728d146101155780630c03399114610138575b600080fd5b6101026100fd366004610f76565b61026e565b6040519081526020015b60405180910390f35b610128610123366004610faf565b61030e565b604051901515815260200161010c565b610128610146366004611080565b61031d565b61015e610159366004610faf565b610336565b60408051948552600b9390930b602085015291830152606082015260800161010c565b61019461018f366004611108565b6103e1565b604051600b9190910b815260200161010c565b6101946101b5366004610faf565b610481565b61015e6101c8366004611108565b610518565b6101286101db366004611162565b6105c0565b6101f36101ee366004611108565b6105d9565b6040805160ff9093168352600b9190910b60208301520161010c565b61012861021d3660046111be565b610679565b610128610230366004610faf565b610687565b6101286102433660046111fe565b6106a2565b610128610256366004611273565b6106b0565b610128610269366004611080565b6106be565b6040516346ccbfb760e11b81526001600160a01b038381166004830152600b83900b60248301526000917f000000000000000000000000000000000000000000000000000000000000000090911690638d997f6e90604401602060405180830381865afa1580156102e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030791906112b4565b9392505050565b600061030783836000806106cd565b600061032c868686868661078d565b9695505050505050565b604051630f1ac49560e01b81526001600160a01b03838116600483015282811660248301526000918291829182917f00000000000000000000000000000000000000000000000000000000000000001690630f1ac49590604401608060405180830381865afa1580156103ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d191906112cd565b9299919850965090945092505050565b604051631cd43d1160e31b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e888906104349087908790879060040161130b565b608060405180830381865afa158015610451573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047591906112cd565b50909695505050505050565b60405163e8e7e2d160e01b81526001600160a01b03838116600483015282811660248301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e8e7e2d190604401602060405180830381865afa1580156104f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610307919061132e565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e6a1e8888888886040518463ffffffff1660e01b815260040161056e9392919061130b565b608060405180830381865afa15801561058b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105af91906112cd565b929a91995097509095509350505050565b60006105ce858585856106cd565b90505b949350505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662422bbe8686866040518463ffffffff1660e01b815260040161062b9392919061130b565b606060405180830381865afa158015610648573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066c919061134b565b9097909650945050505050565b60006105d184338585610920565b6000610307838360076b7fffffffffffffffffffffff6106cd565b60006105ce85858585610a7d565b60006105ce85858585610920565b600061032c8686868686610bd6565b6040805160008082526020820190925281906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063811b3d4090610725908990899089908990604481016113d3565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b949094179093528051600081529283019052925061032c91507f0000000000000000000000000000000000000000000000000000000000000000908390610c5c565b6000806001600160a01b0386163314610847576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663354b95908888888860005b6040519080825280601f01601f191660200182016040528015610800576020820181803683370190505b50604051602401610815959493929190611412565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506108e8565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166350209a6288878760005b6040519080825280601f01601f1916602001820160405280156108a6576020820181803683370190505b506040516024016108ba9493929190611450565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050505b90506109157f00000000000000000000000000000000000000000000000000000000000000008285610c5c565b979650505050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e6a1e8888787876040518463ffffffff1660e01b81526004016109739392919061130b565b608060405180830381865afa158015610990573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b491906112cd565b5050915050600083600b0b1315610a2f5780600b0b6000036109f8576040805160008152602081019091526109f0908790879087908790610bd6565b9150506105d1565b82600b0b81600b0b14610a25576040805160008152602081019091526109f090879087908790879061078d565b60019150506105d1565b82600b0b600003610a6457600081600b0b1315610a25576040805160008152602081019091526109f090879087908790610a7d565b60405163cea9aa5f60e01b815260040160405180910390fd5b6000806001600160a01b038516331480610a9f57506001600160a01b03841633145b610b28576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634c8b181f90610af69089908990899060448101611486565b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610ba9565b6040805160008152602081019091526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b4b333c690610b7b9089908990899060448101611486565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050505b905061032c7f00000000000000000000000000000000000000000000000000000000000000008285610c5c565b6000806001600160a01b0386163314610c23576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166394229ecb8888888860006107d6565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166362fc305e888787600061087c565b604080516001808252818301909252600091829190816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081610c76579050509050604051806060016040528060c963ffffffff168152602001866001600160a01b031681526020018585604051602001610ce19291906114ba565b60405160208183030381529060405281525081600081518110610d0657610d066114e8565b602002602001018190525060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663670e77e383604051602401610d5391906114fe565b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505090506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168333604051602001610dc292919061158c565b60408051601f1981840301815290829052610ddc916115c3565b6000604051808303816000865af19150503d8060008114610e19576040519150601f19603f3d011682016040523d82523d6000602084013e610e1e565b606091505b509150915081610e3157610e3181610e3f565b506001979650505050505050565b600481511015610e965760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a2074617267657420726576657274282900000000000060448201526064015b60405180910390fd5b602081015163b1b7848f60e01b6001600160e01b0319821601610f465760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b8152919291610e8d918491016115df565b81518060208401fd5b50565b6001600160a01b0381168114610f4f57600080fd5b80600b0b8114610f4f57600080fd5b60008060408385031215610f8957600080fd5b8235610f9481610f52565b91506020830135610fa481610f67565b809150509250929050565b60008060408385031215610fc257600080fd5b8235610fcd81610f52565b91506020830135610fa481610f52565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261100457600080fd5b813567ffffffffffffffff8082111561101f5761101f610fdd565b604051601f8301601f19908116603f0116810190828211818310171561104757611047610fdd565b8160405283815286602085880101111561106057600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a0868803121561109857600080fd5b85356110a381610f52565b945060208601356110b381610f52565b935060408601356110c381610f52565b925060608601356110d381610f67565b9150608086013567ffffffffffffffff8111156110ef57600080fd5b6110fb88828901610ff3565b9150509295509295909350565b60008060006060848603121561111d57600080fd5b833561112881610f52565b9250602084013561113881610f52565b9150604084013561114881610f52565b809150509250925092565b60ff81168114610f4f57600080fd5b6000806000806080858703121561117857600080fd5b843561118381610f52565b9350602085013561119381610f52565b925060408501356111a381611153565b915060608501356111b381610f67565b939692955090935050565b6000806000606084860312156111d357600080fd5b83356111de81610f52565b925060208401356111ee81610f52565b9150604084013561114881610f67565b6000806000806080858703121561121457600080fd5b843561121f81610f52565b9350602085013561122f81610f52565b9250604085013561123f81610f52565b9150606085013567ffffffffffffffff81111561125b57600080fd5b61126787828801610ff3565b91505092959194509250565b6000806000806080858703121561128957600080fd5b843561129481610f52565b935060208501356112a481610f52565b925060408501356111a381610f52565b6000602082840312156112c657600080fd5b5051919050565b600080600080608085870312156112e357600080fd5b8451935060208501516112f581610f67565b6040860151606090960151949790965092505050565b6001600160a01b0393841681529183166020830152909116604082015260600190565b60006020828403121561134057600080fd5b815161030781610f67565b60008060006060848603121561136057600080fd5b83519250602084015161137281611153565b604085015190925061114881610f67565b60005b8381101561139e578181015183820152602001611386565b50506000910152565b600081518084526113bf816020860160208601611383565b601f01601f19169290920160200192915050565b6001600160a01b0386811682528516602082015260ff84166040820152600b83900b606082015260a060808201819052600090610915908301846113a7565b6001600160a01b038681168252858116602083015284166040820152600b83900b606082015260a060808201819052600090610915908301846113a7565b6001600160a01b03858116825284166020820152600b83900b604082015260806060820181905260009061032c908301846113a7565b6001600160a01b03858116825284811660208301528316604082015260806060820181905260009061032c908301846113a7565b6040815260006114cd60408301856113a7565b82810360208401526114df81856113a7565b95945050505050565b634e487b7160e01b600052603260045260246000fd5b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561157e57888303603f190185528151805163ffffffff168452878101516001600160a01b031688850152860151606087850181905261156a818601836113a7565b968901969450505090860190600101611525565b509098975050505050505050565b6000835161159e818460208801611383565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b600082516115d5818460208701611383565b9190910192915050565b60208152600061030760208301846113a756fea264697066735822122020f22a3f8e3a8be7ab9e7ad941d2aaebe9a35150a9e25bfc3ce2a2491a41394164736f6c63430008130033",VK=eb=>eb.length>1;class VY extends uw.lV{constructor(...eb){VK(eb)?super(...eb):super(VZ,VG,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(VZ)}static connect(eb,em){return new uw.CH(eb,VZ,em)}}VY.bytecode=VG,VY.abi=VZ;let VX=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"approveSubscription",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"amount",type:"uint128"}],name:"calculateDistribution",outputs:[{internalType:"uint256",name:"actualAmount",type:"uint256"},{internalType:"uint128",name:"newIndexValue",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"createIndex",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"deleteSubscription",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"amount",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"distribute",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"getIndex",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"uint128",name:"totalUnitsApproved",type:"uint128"},{internalType:"uint128",name:"totalUnitsPending",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"getPublisherId",outputs:[{internalType:"bytes32",name:"publisherId",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"getSubscription",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"subscriptionId",type:"bytes32"}],name:"getSubscriptionByID",outputs:[{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes32",name:"publisherId",type:"bytes32"}],name:"getSubscriptionId",outputs:[{internalType:"bytes32",name:"subscriptionId",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"subscriber",type:"address"}],name:"listSubscriptions",outputs:[{internalType:"address[]",name:"publishers",type:"address[]"},{internalType:"uint32[]",name:"indexIds",type:"uint32[]"},{internalType:"uint128[]",name:"unitsList",type:"uint128[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"revokeSubscription",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateIndex",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateSubscriptionUnits",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}],VJ="0x60c06040523480156200001157600080fd5b5060405162001aaa38038062001aaa8339810160408190526200003491620000ef565b6001600160a01b0381166080819052604051635b69006f60e11b81527f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a674600482015263b6d200de90602401602060405180830381865afa1580156200009d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c39190620000ef565b6001600160a01b031660a0525062000116565b6001600160a01b0381168114620000ec57600080fd5b50565b6000602082840312156200010257600080fd5b81516200010f81620000d6565b9392505050565b60805160a051611905620001a56000396000818161032b015281816103c3015281816104330152818161050a01528181610594015281816106300152818161066d015281816106f10152818161073a01528181610796015281816108210152818161089501528181610965015281816109d10152610a47015260008181610b770152610be901526119056000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063acf4a6c21161008c578063c5feb12711610066578063c5feb12714610241578063cd7245c514610254578063d787840a146102ac578063dbaee0b4146102bf57600080fd5b8063acf4a6c2146101f9578063b6dacdb81461020c578063bc6fc4691461022e57600080fd5b80635b534051116100c85780635b5340511461017c5780636041ae96146101c05780637fbc7639146101d35780639567741f146101e657600080fd5b806323fc23f3146100ef5780632e5e74c6146101385780634f90fda91461015b575b600080fd5b6101026100fd366004610ddb565b6102ef565b6040805194151585526001600160801b039384166020860152918316918401919091521660608201526080015b60405180910390f35b61014b610146366004610edd565b6103a7565b604051901515815260200161012f565b61016e610169366004610f65565b610464565b60405190815260200161012f565b61018f61018a366004610f9e565b6104c6565b60405161012f9493929190931515845291151560208401526001600160801b03166040830152606082015260800190565b61014b6101ce366004610ffa565b610587565b61014b6101e1366004611084565b610660565b61014b6101f43660046110c5565b6106d5565b61014b610207366004610ffa565b61072d565b61021f61021a366004611118565b610768565b60405161012f9392919061118a565b61014b61023c366004611084565b610814565b61016e61024f366004611227565b61084f565b610267610262366004611227565b61088b565b604080516001600160a01b03909616865263ffffffff9094166020860152911515928401929092526001600160801b039091166060830152608082015260a00161012f565b61014b6102ba366004611253565b610949565b6102d26102cd3660046112b5565b610a00565b604080519283526001600160801b0390911660208301520161012f565b6040516323fc23f360e01b81526001600160a01b038481166004830152838116602483015263ffffffff831660448301526000918291829182917f000000000000000000000000000000000000000000000000000000000000000016906323fc23f390606401608060405180830381865afa158015610372573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610396919061131b565b935093509350935093509350935093565b6040805160008082526020820190925281906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632e5e74c6906103ff908a908a908a908a90604481016113bc565b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505090506104597f00000000000000000000000000000000000000000000000000000000000000008285610abe565b979650505050505050565b60405168383ab13634b9b432b960b91b60208201526001600160601b0319606084901b1660298201526001600160e01b031960e083901b16603d8201526000906041015b60405160208183030381529060405280519060200120905092915050565b604051635b53405160e01b81526001600160a01b038581166004830152848116602483015263ffffffff8416604483015282811660648301526000918291829182917f00000000000000000000000000000000000000000000000000000000000000001690635b53405190608401608060405180830381865afa158015610551573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057591906113fc565b929b919a509850909650945050505050565b6000806001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016636041ae96878787855b6040519080825280601f01601f1916602001820160405280156105e8576020820181803683370190505b506040516024016105fc9493929190611449565b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505090506106567f00000000000000000000000000000000000000000000000000000000000000008285610abe565b9695505050505050565b6000806001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016637fbc7639878787855b6040519080825280601f01601f1916602001820160405280156106c1576020820181803683370190505b506040516024016105fc9493929190611481565b6040805160008082526020820190925281906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063232d2b58906103ff908a908a908a908a90604481016114c0565b6000806001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663acf4a6c2878787856105be565b6040516316db59b760e31b81526001600160a01b0383811660048301528281166024830152606091829182917f00000000000000000000000000000000000000000000000000000000000000009091169063b6dacdb890604401600060405180830381865afa1580156107df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108079190810190611603565b9250925092509250925092565b6000806001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663b96731c287878785610697565b604080516b39bab139b1b934b83a34b7b760a11b6020820152606084811b6001600160601b031916602c830152918101839052600091016104a8565b60008060008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cd7245c588886040518363ffffffff1660e01b81526004016108f59291906001600160a01b03929092168252602082015260400190565b60a060405180830381865afa158015610912573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093691906116e2565b939b929a50909850965090945092505050565b6040805160008082526020820190925281906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d787840a9061099d908890889060448101611749565b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505090506109f77f00000000000000000000000000000000000000000000000000000000000000008285610abe565b95945050505050565b604051632266eabb60e21b81526001600160a01b038581166004830152848116602483015263ffffffff841660448301526001600160801b038316606483015260009182917f0000000000000000000000000000000000000000000000000000000000000000169063899baaec906084016040805180830381865afa158015610a8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab19190611779565b9150915094509492505050565b604080516001808252818301909252600091829190816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081610ad8579050509050604051806060016040528060c963ffffffff168152602001866001600160a01b031681526020018585604051602001610b4392919061179e565b60405160208183030381529060405281525081600081518110610b6857610b686117c3565b602002602001018190525060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663670e77e383604051602401610bb591906117d9565b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505090506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168333604051602001610c24929190611867565b60408051601f1981840301815290829052610c3e91611899565b6000604051808303816000865af19150503d8060008114610c7b576040519150601f19603f3d011682016040523d82523d6000602084013e610c80565b606091505b509150915081610c9357610c9381610ca1565b506001979650505050505050565b600481511015610cf85760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a2074617267657420726576657274282900000000000060448201526064015b60405180910390fd5b602081015163b1b7848f60e01b6001600160e01b0319821601610da85760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b8152919291610cef918491016118b5565b81518060208401fd5b50565b6001600160a01b0381168114610db157600080fd5b63ffffffff81168114610db157600080fd5b600080600060608486031215610df057600080fd5b8335610dfb81610db4565b92506020840135610e0b81610db4565b91506040840135610e1b81610dc9565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610e6557610e65610e26565b604052919050565b600082601f830112610e7e57600080fd5b813567ffffffffffffffff811115610e9857610e98610e26565b610eab601f8201601f1916602001610e3c565b818152846020838601011115610ec057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215610ef557600080fd5b8535610f0081610db4565b94506020860135610f1081610db4565b93506040860135610f2081610dc9565b92506060860135610f3081610db4565b9150608086013567ffffffffffffffff811115610f4c57600080fd5b610f5888828901610e6d565b9150509295509295909350565b60008060408385031215610f7857600080fd5b8235610f8381610db4565b91506020830135610f9381610dc9565b809150509250929050565b60008060008060808587031215610fb457600080fd5b8435610fbf81610db4565b93506020850135610fcf81610db4565b92506040850135610fdf81610dc9565b91506060850135610fef81610db4565b939692955090935050565b6000806000806080858703121561101057600080fd5b843561101b81610db4565b9350602085013561102b81610db4565b9250604085013561103b81610dc9565b9150606085013567ffffffffffffffff81111561105757600080fd5b61106387828801610e6d565b91505092959194509250565b6001600160801b0381168114610db157600080fd5b6000806000806080858703121561109a57600080fd5b84356110a581610db4565b935060208501356110b581610dc9565b9250604085013561103b8161106f565b600080600080600060a086880312156110dd57600080fd5b85356110e881610db4565b945060208601356110f881610dc9565b9350604086013561110881610db4565b92506060860135610f308161106f565b6000806040838503121561112b57600080fd5b823561113681610db4565b91506020830135610f9381610db4565b600081518084526020808501945080840160005b8381101561117f5781516001600160801b03168752958201959082019060010161115a565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b828110156111cc5781516001600160a01b0316845292840192908401906001016111a7565b5050508381038285015285518082528683019183019060005b8181101561120757835163ffffffff16835292840192918401916001016111e5565b5050848103604086015261121b8187611146565b98975050505050505050565b6000806040838503121561123a57600080fd5b823561124581610db4565b946020939093013593505050565b60008060006060848603121561126857600080fd5b833561127381610db4565b9250602084013561128381610dc9565b9150604084013567ffffffffffffffff81111561129f57600080fd5b6112ab86828701610e6d565b9150509250925092565b600080600080608085870312156112cb57600080fd5b84356112d681610db4565b935060208501356112e681610db4565b925060408501356112f681610dc9565b91506060850135610fef8161106f565b8051801515811461131657600080fd5b919050565b6000806000806080858703121561133157600080fd5b61133a85611306565b9350602085015161134a8161106f565b604086015190935061135b8161106f565b6060860151909250610fef8161106f565b60005b8381101561138757818101518382015260200161136f565b50506000910152565b600081518084526113a881602086016020860161136c565b601f01601f19169290920160200192915050565b6001600160a01b038681168252858116602083015263ffffffff851660408301528316606082015260a06080820181905260009061045990830184611390565b6000806000806080858703121561141257600080fd5b61141b85611306565b935061142960208601611306565b925060408501516114398161106f565b6060959095015193969295505050565b6001600160a01b0385811682528416602082015263ffffffff8316604082015260806060820181905260009061065690830184611390565b6001600160a01b038516815263ffffffff841660208201526001600160801b038316604082015260806060820181905260009061065690830184611390565b6001600160a01b03868116825263ffffffff86166020830152841660408201526001600160801b038316606082015260a06080820181905260009061045990830184611390565b600067ffffffffffffffff82111561152157611521610e26565b5060051b60200190565b600082601f83011261153c57600080fd5b8151602061155161154c83611507565b610e3c565b82815260059290921b8401810191818101908684111561157057600080fd5b8286015b8481101561159457805161158781610dc9565b8352918301918301611574565b509695505050505050565b600082601f8301126115b057600080fd5b815160206115c061154c83611507565b82815260059290921b840181019181810190868411156115df57600080fd5b8286015b848110156115945780516115f68161106f565b83529183019183016115e3565b60008060006060848603121561161857600080fd5b835167ffffffffffffffff8082111561163057600080fd5b818601915086601f83011261164457600080fd5b8151602061165461154c83611507565b82815260059290921b8401810191818101908a84111561167357600080fd5b948201945b8386101561169a57855161168b81610db4565b82529482019490820190611678565b918901519197509093505050808211156116b357600080fd5b6116bf8783880161152b565b935060408601519150808211156116d557600080fd5b506112ab8682870161159f565b600080600080600060a086880312156116fa57600080fd5b855161170581610db4565b602087015190955061171681610dc9565b935061172460408701611306565b925060608601516117348161106f565b80925050608086015190509295509295909350565b6001600160a01b038416815263ffffffff831660208201526060604082018190526000906109f790830184611390565b6000806040838503121561178c57600080fd5b825191506020830151610f938161106f565b6040815260006117b16040830185611390565b82810360208401526109f78185611390565b634e487b7160e01b600052603260045260246000fd5b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561185957888303603f190185528151805163ffffffff168452878101516001600160a01b031688850152860151606087850181905261184581860183611390565b968901969450505090860190600101611800565b509098975050505050505050565b6000835161187981846020880161136c565b60609390931b6001600160601b0319169190920190815260140192915050565b600082516118ab81846020870161136c565b9190910192915050565b6020815260006118c86020830184611390565b939250505056fea26469706673582212200443d19da020c3a178bc0637a1fc7e209f96f9b45fb1e00a2a927ad0adc7ec5964736f6c63430008130033",VQ=eb=>eb.length>1;class V2 extends uw.lV{constructor(...eb){VQ(eb)?super(...eb):super(VX,VJ,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(VX)}static connect(eb,em){return new uw.CH(eb,VX,em)}}V2.bytecode=VJ,V2.abi=VX;let V6=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"string",name:"name",type:"string"},{indexed:!1,internalType:"address",name:"target",type:"address"}],name:"Set",type:"event"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"}],name:"get",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"uint256",name:"index",type:"uint256"}],name:"getRoleMember",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleMemberCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"address",name:"target",type:"address"}],name:"set",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],V4="0x608060405234801561001057600080fd5b5061001c600033610021565b610161565b61002b828261002f565b5050565b6100398282610056565b600082815260016020526040902061005190826100f4565b505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1661002b576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556100b03390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610109836001600160a01b038416610112565b90505b92915050565b60008181526001830160205260408120546101595750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561010c565b50600061010c565b610ca6806101706000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80639010d07c116100715780639010d07c1461015a57806391d148541461016d578063a217fddf14610180578063a815ff1514610188578063ca15c8731461019b578063d547741f146101ae57600080fd5b806301ffc9a7146100ae578063248a9ca3146100d65780632f2ff15d1461010757806336568abe1461011c578063693ec85e1461012f575b600080fd5b6100c16100bc36600461095c565b6101c1565b60405190151581526020015b60405180910390f35b6100f96100e4366004610986565b60009081526020819052604090206001015490565b6040519081526020016100cd565b61011a6101153660046109bb565b6101ec565b005b61011a61012a3660046109bb565b610216565b61014261013d366004610a30565b610299565b6040516001600160a01b0390911681526020016100cd565b610142610168366004610a72565b6102ce565b6100c161017b3660046109bb565b6102ed565b6100f9600081565b61011a610196366004610a94565b610316565b6100f96101a9366004610986565b6103fe565b61011a6101bc3660046109bb565b610415565b60006001600160e01b03198216635a05180f60e01b14806101e657506101e68261043a565b92915050565b6000828152602081905260409020600101546102078161046f565b610211838361047c565b505050565b6001600160a01b038116331461028b5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b610295828261049e565b5050565b6000600283836040516102ad929190610ae8565b908152604051908190036020019020546001600160a01b0316905092915050565b60008281526001602052604081206102e690836104c0565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6103216000336102ed565b6103665760405162461bcd60e51b815260206004820152601660248201527521b0b63632b91034b9903737ba1030b71030b236b4b760511b6044820152606401610282565b8060028484604051610379929190610ae8565b90815260405190819003602001812080546001600160a01b03939093166001600160a01b0319909316929092179091556103b69084908490610ae8565b6040519081900381206001600160a01b0383168252907f496595ced95720268cf8bc60bae3f35024ff2a130f73ac4e20f5c1eaca35db999060200160405180910390a2505050565b60008181526001602052604081206101e6906104cc565b6000828152602081905260409020600101546104308161046f565b610211838361049e565b60006001600160e01b03198216637965db0b60e01b14806101e657506301ffc9a760e01b6001600160e01b03198316146101e6565b61047981336104d6565b50565b610486828261052f565b600082815260016020526040902061021190826105b3565b6104a882826105c8565b6000828152600160205260409020610211908261062d565b60006102e68383610642565b60006101e6825490565b6104e082826102ed565b610295576104ed8161066c565b6104f883602061067e565b604051602001610509929190610b1c565b60408051601f198184030181529082905262461bcd60e51b825261028291600401610b91565b61053982826102ed565b610295576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916600117905561056f3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60006102e6836001600160a01b03841661081a565b6105d282826102ed565b15610295576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60006102e6836001600160a01b038416610869565b600082600001828154811061065957610659610bc4565b9060005260206000200154905092915050565b60606101e66001600160a01b03831660145b6060600061068d836002610bf0565b610698906002610c07565b67ffffffffffffffff8111156106b0576106b0610c1a565b6040519080825280601f01601f1916602001820160405280156106da576020820181803683370190505b509050600360fc1b816000815181106106f5576106f5610bc4565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061072457610724610bc4565b60200101906001600160f81b031916908160001a9053506000610748846002610bf0565b610753906001610c07565b90505b60018111156107cb576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061078757610787610bc4565b1a60f81b82828151811061079d5761079d610bc4565b60200101906001600160f81b031916908160001a90535060049490941c936107c481610c30565b9050610756565b5083156102e65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610282565b6000818152600183016020526040812054610861575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556101e6565b5060006101e6565b6000818152600183016020526040812054801561095257600061088d600183610c47565b85549091506000906108a190600190610c47565b90508181146109065760008660000182815481106108c1576108c1610bc4565b90600052602060002001549050808760000184815481106108e4576108e4610bc4565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061091757610917610c5a565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506101e6565b60009150506101e6565b60006020828403121561096e57600080fd5b81356001600160e01b0319811681146102e657600080fd5b60006020828403121561099857600080fd5b5035919050565b80356001600160a01b03811681146109b657600080fd5b919050565b600080604083850312156109ce57600080fd5b823591506109de6020840161099f565b90509250929050565b60008083601f8401126109f957600080fd5b50813567ffffffffffffffff811115610a1157600080fd5b602083019150836020828501011115610a2957600080fd5b9250929050565b60008060208385031215610a4357600080fd5b823567ffffffffffffffff811115610a5a57600080fd5b610a66858286016109e7565b90969095509350505050565b60008060408385031215610a8557600080fd5b50508035926020909101359150565b600080600060408486031215610aa957600080fd5b833567ffffffffffffffff811115610ac057600080fd5b610acc868287016109e7565b9094509250610adf90506020850161099f565b90509250925092565b8183823760009101908152919050565b60005b83811015610b13578181015183820152602001610afb565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351610b54816017850160208801610af8565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351610b85816028840160208801610af8565b01602801949350505050565b6020815260008251806020840152610bb0816040850160208701610af8565b601f01601f19169190910160400192915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176101e6576101e6610bda565b808201808211156101e6576101e6610bda565b634e487b7160e01b600052604160045260246000fd5b600081610c3f57610c3f610bda565b506000190190565b818103818111156101e6576101e6610bda565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220850cee899db1ec6e3094f9b9f79733c813c7bdb336d7fd2836a1c29728f1226b64736f6c63430008130033",V3=eb=>eb.length>1;class V5 extends uw.lV{constructor(...eb){V3(eb)?super(...eb):super(V6,V4,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(V6)}static connect(eb,em){return new uw.CH(eb,V6,em)}}V5.bytecode=V4,V5.abi=V6;let V8=[{inputs:[{internalType:"address",name:"adminRole",type:"address"},{internalType:"address[]",name:"backendAddr",type:"address[]"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"}],name:"OptinAutoUpgrade",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"}],name:"OptoutAutoUpgrade",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{inputs:[],name:"BACKEND_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBackendAgents",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"uint256",name:"index",type:"uint256"}],name:"getRoleMember",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleMemberCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"grantBackendAgent",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isBackendAgent",outputs:[{internalType:"bool",name:"yes",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"optinAutoUpgrades",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"optoutAutoUpgrades",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"revokeBackendAgent",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",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:[{internalType:"address",name:"superTokenAddr",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"upgrade",outputs:[],stateMutability:"nonpayable",type:"function"}],V9="0x60806040523480156200001157600080fd5b506040516200198e3803806200198e833981016040819052620000349162000309565b6001600160a01b038216620000855760405162461bcd60e51b815260206004820152601260248201527161646d696e526f6c6520697320656d70747960701b60448201526064015b60405180910390fd5b6200009260008362000189565b60005b8151811015620001805760006001600160a01b0316828281518110620000bf57620000bf620003f2565b60200260200101516001600160a01b0316036200011f5760405162461bcd60e51b815260206004820152601560248201527f6261636b656e642063616e2774206265207a65726f000000000000000000000060448201526064016200007c565b6200016d7f25cf2b509f2a7f322675b2a5322b182f44ad2c03ac941a0af17c9b178f5d5d5f838381518110620001595762000159620003f2565b60200260200101516200018960201b60201c565b620001788162000408565b905062000095565b50505062000430565b62000195828262000199565b5050565b620001a58282620001c4565b6000828152600160205260409020620001bf908262000264565b505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1662000195576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620002203390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60006200027b836001600160a01b03841662000284565b90505b92915050565b6000818152600183016020526040812054620002cd575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200027e565b5060006200027e565b80516001600160a01b0381168114620002ee57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156200031d57600080fd5b6200032883620002d6565b602084810151919350906001600160401b03808211156200034857600080fd5b818601915086601f8301126200035d57600080fd5b815181811115620003725762000372620002f3565b8060051b604051601f19603f830116810181811085821117156200039a576200039a620002f3565b604052918252848201925083810185019189831115620003b957600080fd5b938501935b82851015620003e257620003d285620002d6565b84529385019392850192620003be565b8096505050505050509250929050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200042957634e487b7160e01b600052601160045260246000fd5b5060010190565b61154e80620004406000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806361985da7116100a2578063a217fddf11610071578063a217fddf1461023a578063abcac5eb14610242578063ca15c87314610255578063d547741f14610268578063ec3282531461027b57600080fd5b806361985da7146101d45780639010d07c146101e757806391d148541461021257806392c2becc1461022557600080fd5b80632f2ff15d116100de5780632f2ff15d1461019357806336568abe146101a657806344e9d2fb146101b95780635d730c58146101cc57600080fd5b806301ffc9a7146101105780630f01a4a214610138578063248a9ca31461014d5780632a1972981461017e575b600080fd5b61012361011e366004611162565b610283565b60405190151581526020015b60405180910390f35b6101406102ae565b60405161012f919061118c565b61017061015b3660046111d9565b60009081526020819052604090206001015490565b60405190815260200161012f565b61019161018c366004611207565b610376565b005b6101916101a1366004611248565b610610565b6101916101b4366004611248565b61063a565b6101236101c7366004611278565b6106b8565b6101916106d2565b6101916101e2366004611278565b610711565b6101fa6101f5366004611295565b61077a565b6040516001600160a01b03909116815260200161012f565b610123610220366004611248565b610799565b6101706000805160206114f983398151915281565b610170600081565b610191610250366004611278565b6107c2565b6101706102633660046111d9565b6107da565b610191610276366004611248565b6107f1565b610191610816565b60006001600160e01b03198216635a05180f60e01b14806102a857506102a882610858565b92915050565b606060006102c96000805160206114f98339815191526107da565b905060008167ffffffffffffffff8111156102e6576102e66112b7565b60405190808252806020026020018201604052801561030f578160200160208202803683370190505b50905060005b8281101561036f576103356000805160206114f98339815191528261077a565b828281518110610347576103476112cd565b6001600160a01b0390921660209283029190910190910152610368816112f9565b9050610315565b5092915050565b336001600160a01b03831614806103c557506103a06000805160206114f983398151915233610799565b80156103c557506001600160a01b03821660009081526002602052604090205460ff16155b61040e5760405162461bcd60e51b81526020600482015260156024820152741bdc195c985d1a5bdb881b9bdd08185b1b1bddd959605a1b60448201526064015b60405180910390fd5b60008390506000816001600160a01b031663ee719bc86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610453573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104779190611312565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e5919061132f565b90506104fc6001600160a01b03831686308761088d565b6105116001600160a01b0383168460006108fe565b6105256001600160a01b03831684866108fe565b6040516370a0823160e01b81523060048201526001600160a01b0380851691635b9d09cc91889185918716906370a0823190602401602060405180830381865afa158015610577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059b919061132f565b6105a59190611348565b604080516000815260208101918290526001600160e01b031960e086901b169091526105d6929190602481016113ab565b600060405180830381600087803b1580156105f057600080fd5b505af1158015610604573d6000803e3d6000fd5b50505050505050505050565b60008281526020819052604090206001015461062b81610a13565b6106358383610a1d565b505050565b6001600160a01b03811633146106aa5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610405565b6106b48282610a3f565b5050565b60006102a86000805160206114f983398151915283610799565b33600081815260026020526040808220805460ff19169055517fde802370a7a9557e8d50bffe30a1bbd3d327beb1964088485a5465325bc5fb7a9190a2565b6001600160a01b03811661075f5760405162461bcd60e51b81526020600482015260156024820152741bdc195c985d1a5bdb881b9bdd08185b1b1bddd959605a1b6044820152606401610405565b6107776000805160206114f983398151915282610610565b50565b60008281526001602052604081206107929083610a61565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6107776000805160206114f9833981519152826107f1565b60008181526001602052604081206102a890610a6d565b60008281526020819052604090206001015461080c81610a13565b6106358383610a3f565b33600081815260026020526040808220805460ff19166001179055517fd07f586f18c37aa8ec13ebc5523e50304e2aa7711505bfa7242fcb7152eaee259190a2565b60006001600160e01b03198216637965db0b60e01b14806102a857506301ffc9a760e01b6001600160e01b03198316146102a8565b6040516001600160a01b03808516602483015283166044820152606481018290526108f89085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a77565b50505050565b8015806109785750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610952573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610976919061132f565b155b6109e35760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610405565b6040516001600160a01b03831660248201526044810182905261063590849063095ea7b360e01b906064016108c1565b6107778133610b4c565b610a278282610ba5565b60008281526001602052604090206106359082610c29565b610a498282610c3e565b60008281526001602052604090206106359082610ca3565b60006107928383610cb8565b60006102a8825490565b6000610acc826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610ce29092919063ffffffff16565b9050805160001480610aed575080806020019051810190610aed91906113db565b6106355760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610405565b610b568282610799565b6106b457610b6381610cf9565b610b6e836020610d0b565b604051602001610b7f9291906113fd565b60408051601f198184030181529082905262461bcd60e51b825261040591600401611472565b610baf8282610799565b6106b4576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610be53390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610792836001600160a01b038416610ea7565b610c488282610799565b156106b4576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610792836001600160a01b038416610ef6565b6000826000018281548110610ccf57610ccf6112cd565b9060005260206000200154905092915050565b6060610cf18484600085610fe9565b949350505050565b60606102a86001600160a01b03831660145b60606000610d1a836002611485565b610d2590600261149c565b67ffffffffffffffff811115610d3d57610d3d6112b7565b6040519080825280601f01601f191660200182016040528015610d67576020820181803683370190505b509050600360fc1b81600081518110610d8257610d826112cd565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110610db157610db16112cd565b60200101906001600160f81b031916908160001a9053506000610dd5846002611485565b610de090600161149c565b90505b6001811115610e58576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110610e1457610e146112cd565b1a60f81b828281518110610e2a57610e2a6112cd565b60200101906001600160f81b031916908160001a90535060049490941c93610e51816114af565b9050610de3565b5083156107925760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610405565b6000818152600183016020526040812054610eee575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556102a8565b5060006102a8565b60008181526001830160205260408120548015610fdf576000610f1a600183611348565b8554909150600090610f2e90600190611348565b9050818114610f93576000866000018281548110610f4e57610f4e6112cd565b9060005260206000200154905080876000018481548110610f7157610f716112cd565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610fa457610fa46114c6565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506102a8565b60009150506102a8565b60608247101561104a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610405565b600080866001600160a01b0316858760405161106691906114dc565b60006040518083038185875af1925050503d80600081146110a3576040519150601f19603f3d011682016040523d82523d6000602084013e6110a8565b606091505b50915091506110b9878383876110c4565b979650505050505050565b6060831561113357825160000361112c576001600160a01b0385163b61112c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610405565b5081610cf1565b610cf183838151156111485781518083602001fd5b8060405162461bcd60e51b81526004016104059190611472565b60006020828403121561117457600080fd5b81356001600160e01b03198116811461079257600080fd5b6020808252825182820181905260009190848201906040850190845b818110156111cd5783516001600160a01b0316835292840192918401916001016111a8565b50909695505050505050565b6000602082840312156111eb57600080fd5b5035919050565b6001600160a01b038116811461077757600080fd5b60008060006060848603121561121c57600080fd5b8335611227816111f2565b92506020840135611237816111f2565b929592945050506040919091013590565b6000806040838503121561125b57600080fd5b82359150602083013561126d816111f2565b809150509250929050565b60006020828403121561128a57600080fd5b8135610792816111f2565b600080604083850312156112a857600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161130b5761130b6112e3565b5060010190565b60006020828403121561132457600080fd5b8151610792816111f2565b60006020828403121561134157600080fd5b5051919050565b818103818111156102a8576102a86112e3565b60005b8381101561137657818101518382015260200161135e565b50506000910152565b6000815180845261139781602086016020860161135b565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006113d2606083018461137f565b95945050505050565b6000602082840312156113ed57600080fd5b8151801515811461079257600080fd5b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161143581601785016020880161135b565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161146681602884016020880161135b565b01602801949350505050565b602081526000610792602083018461137f565b80820281158282048414176102a8576102a86112e3565b808201808211156102a8576102a86112e3565b6000816114be576114be6112e3565b506000190190565b634e487b7160e01b600052603160045260246000fd5b600082516114ee81846020870161135b565b919091019291505056fe25cf2b509f2a7f322675b2a5322b182f44ad2c03ac941a0af17c9b178f5d5d5fa2646970667358221220502bfd0ae3adc504ab2d7a91dbe3cd5ef2ef147602920ae106986f49c4b9a52664736f6c63430008130033",V7=eb=>eb.length>1;class wb extends uw.lV{constructor(...eb){V7(eb)?super(...eb):super(V8,V9,eb[0])}deploy(eb,em,eH){return super.deploy(eb,em,eH||{})}getDeployTransaction(eb,em,eH){return super.getDeployTransaction(eb,em,eH||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(V8)}static connect(eb,em){return new uw.CH(eb,V8,em)}}wb.bytecode=V9,wb.abi=V8;let wm=[{inputs:[],name:"DEPLOY_AGREEMENTS_REQUIRES_DEPLOY_CORE",type:"error"},{inputs:[],name:"DEPLOY_PERIPHERALS_REQUIRES_DEPLOY_AGREEMENTS",type:"error"},{inputs:[],name:"DEPLOY_PERIPHERALS_REQUIRES_DEPLOY_CORE",type:"error"},{inputs:[],name:"DEPLOY_SUPER_TOKEN_CONTRACTS_REQUIRES_DEPLOY_CORE",type:"error"},{inputs:[],name:"DEPLOY_SUPER_TOKEN_REQUIRES_1820",type:"error"},{inputs:[],name:"DEPLOY_SUPER_TOKEN_REQUIRES_DEPLOY_SUPER_TOKEN_CONTRACTS",type:"error"},{inputs:[],name:"DEPLOY_TOGA_REQUIRES_1820",type:"error"},{inputs:[],name:"RESOLVER_LIST_REQUIRES_DEPLOY_PERIPHERALS",type:"error"},{inputs:[],name:"DEFAULT_APP_WHITELISTING_ENABLED",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_LIQUIDATION_PERIOD",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_NON_UPGRADEABLE",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_PATRICIAN_PERIOD",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_REWARD_ADDRESS",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_TOGA_MIN_BOND_DURATION",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"DEFAULT_TRUSTED_FORWARDERS",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"RESOLVER_BASE_SUPER_TOKEN_KEY",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"RESOLVER_BASE_TOKEN_KEY",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"deployAgreementContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"deployCoreContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bool",name:"nonUpgradeable",type:"bool"},{internalType:"bool",name:"appWhitelistingEnabled",type:"bool"},{internalType:"address[]",name:"trustedForwarders",type:"address[]"},{internalType:"address",name:"defaultRewardAddress",type:"address"},{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"},{internalType:"uint256",name:"minBondDuration",type:"uint256"}],internalType:"struct SuperfluidFrameworkDeployer.TestFrameworkConfigs",name:"configs",type:"tuple"}],name:"deployCoreContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"_name",type:"string"},{internalType:"string",name:"_symbol",type:"string"}],name:"deployNativeAssetSuperToken",outputs:[{internalType:"contract ISETH",name:"nativeAssetSuperToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"deployPeripheralContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bool",name:"nonUpgradeable",type:"bool"},{internalType:"bool",name:"appWhitelistingEnabled",type:"bool"},{internalType:"address[]",name:"trustedForwarders",type:"address[]"},{internalType:"address",name:"defaultRewardAddress",type:"address"},{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"},{internalType:"uint256",name:"minBondDuration",type:"uint256"}],internalType:"struct SuperfluidFrameworkDeployer.TestFrameworkConfigs",name:"configs",type:"tuple"}],name:"deployPeripheralContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"_name",type:"string"},{internalType:"string",name:"_symbol",type:"string"},{internalType:"uint256",name:"_initialSupply",type:"uint256"}],name:"deployPureSuperToken",outputs:[{internalType:"contract IPureSuperToken",name:"pureSuperToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"deploySuperTokenContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"deployTestFramework",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"_underlyingName",type:"string"},{internalType:"string",name:"_underlyingSymbol",type:"string"},{internalType:"uint8",name:"_decimals",type:"uint8"},{internalType:"uint256",name:"_mintLimit",type:"uint256"}],name:"deployWrapperSuperToken",outputs:[{internalType:"contract TestToken",name:"underlyingToken",type:"address"},{internalType:"contract SuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"_underlyingName",type:"string"},{internalType:"string",name:"_underlyingSymbol",type:"string"},{internalType:"uint8",name:"_decimals",type:"uint8"},{internalType:"uint256",name:"_mintLimit",type:"uint256"},{internalType:"address",name:"_admin",type:"address"}],name:"deployWrapperSuperToken",outputs:[{internalType:"contract TestToken",name:"underlyingToken",type:"address"},{internalType:"contract SuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"step",type:"uint8"}],name:"executeStep",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getFramework",outputs:[{components:[{internalType:"contract TestGovernance",name:"governance",type:"address"},{internalType:"contract Superfluid",name:"host",type:"address"},{internalType:"contract ConstantFlowAgreementV1",name:"cfa",type:"address"},{components:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"}],internalType:"struct CFAv1Library.InitData",name:"cfaLib",type:"tuple"},{internalType:"contract InstantDistributionAgreementV1",name:"ida",type:"address"},{components:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IInstantDistributionAgreementV1",name:"ida",type:"address"}],internalType:"struct IDAv1Library.InitData",name:"idaLib",type:"tuple"},{internalType:"contract SuperTokenFactory",name:"superTokenFactory",type:"address"},{internalType:"contract ISuperToken",name:"superTokenLogic",type:"address"},{internalType:"contract ConstantOutflowNFT",name:"constantOutflowNFT",type:"address"},{internalType:"contract ConstantInflowNFT",name:"constantInflowNFT",type:"address"},{internalType:"contract TestResolver",name:"resolver",type:"address"},{internalType:"contract SuperfluidLoader",name:"superfluidLoader",type:"address"},{internalType:"contract CFAv1Forwarder",name:"cfaV1Forwarder",type:"address"},{internalType:"contract IDAv1Forwarder",name:"idaV1Forwarder",type:"address"},{internalType:"contract TOGA",name:"toga",type:"address"}],internalType:"struct SuperfluidFrameworkDeploymentSteps.Framework",name:"sf",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"getNumSteps",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],wy="0x6000608081905260a060408190526200001a9190816200002f565b503480156200002857600080fd5b50620000b0565b82805482825590600052602060002090810192821562000087579160200282015b828111156200008757825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000050565b506200009592915062000099565b5090565b5b808211156200009557600081556001016200009a565b61590780620000c06000396000f3fe60806040523480156200001157600080fd5b5060043610620001755760003560e01c80637dc2dc1211620000d3578063c8c25ad51162000086578063c8c25ad5146200031c578063cbcd7449146200032c578063dac4ea821462000343578063dfa98ad5146200035a578063f2fde38b14620004db578063fa0215fc14620004f257600080fd5b80637dc2dc1214620002a2578063888a37b114620002da57806393786bf014620002e5578063acbeaa0714620002ee578063ad6eb4991462000305578063b3083cf8146200023157600080fd5b80634d59c136116200012c5780634d59c1361462000227578063520994701462000231578063547047c7146200024b57806362a32e1e14620002555780637296cb5a146200028157806376f30be8146200029857600080fd5b806305bfa3e0146200017a57806306e8358614620001975780631903410d14620001a35780632a49664814620001d357806338bc37a414620001dd5780633df285fe14620001e7575b600080fd5b6200018461070881565b6040519081526020015b60405180910390f35b620001a162000509565b005b620001ba620001b436600462002b1b565b62000515565b6040516001600160a01b0390911681526020016200018e565b620001a162000540565b620001a16200054a565b620002186040518060400160405280601181526020017039bab832b93a37b5b2b739973a32b9ba1760791b81525081565b6040516200018e919062002b89565b6200018461384081565b6200023a600081565b60405190151581526020016200018e565b620001a16200056d565b620002186040518060400160405280600c81526020016b3a37b5b2b739973a32b9ba1760a11b81525081565b620001a16200029236600462002cf3565b6200058b565b620001a162000596565b620002b9620002b336600462002e1e565b62000637565b604080516001600160a01b039384168152929091166020830152016200018e565b6200018462093a8081565b620001ba604581565b620001a1620002ff36600462002eb3565b620006ba565b620001a16200031636600462002cf3565b620006c5565b604051600881526020016200018e565b620001ba6200033d36600462002ed3565b620006d0565b620002b96200035436600462002f46565b620008e0565b620004cc604080516101e08101825260008082526020808301829052828401829052835180850185528281528082018390526060840152608083018290528351808501909452818452830181905260a082019290925260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081019190915250604080516101e0810182526001546001600160a01b03610100918290048116835260025481166020808501829052600354831685870181905286518088018852838152808301919091526060860152600554831660808601819052865180880190975291865285015260a0830193909352600c54831660c0830152600b54831660e0830152600954831690820152600a548216610120820152600e548216610140820152600f548216610160820152601054821661018082015260115482166101a08201526013549091166101c082015290565b6040516200018e919062002ff1565b620001a1620004ec36600462003199565b62000963565b620001ba62000503366004620031b9565b620009cd565b6200051362000c4a565b565b600081815481106200052657600080fd5b6000918252602090912001546001600160a01b0316905081565b6200051362000c88565b6200055462002ab5565b60018152600060208201526200056a8162000cd0565b50565b6200057762002ab5565b62093a8060c08201526200056a8162000cef565b6200056a8162000cef565b6040805160e08101825260008082526020808301829052815484518183028101830186528181529294840192918591908301828280156200060157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620005e2575b5050509183525050604560208201526138406040820152610708606082015262093a8060809091015290506200056a8162000de4565b600c5460009081906001600160a01b03166200066657604051635006ee6d60e11b815260040160405180910390fd5b731820a4b7618bde71dce8cdc73aab6c95905fad243b6200069957604051622b682760e71b815260040160405180910390fd5b620006ab888888888888600062000e68565b91509150965096945050505050565b6200056a81620011d1565b6200056a8162000cd0565b600c546000906001600160a01b0316620006fd57604051635006ee6d60e11b815260040160405180910390fd5b731820a4b7618bde71dce8cdc73aab6c95905fad243b6200073057604051622b682760e71b815260040160405180910390fd5b600073__$e670fb80a00d783cff26adce1c19b32070$__63f7c3bdc96040518163ffffffff1660e01b8152600401602060405180830381865af41580156200077c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007a2919062003234565b600c54604051633504b4d160e21b81526001600160a01b03808416600483015292945084935091169063d412d34490602401600060405180830381600087803b158015620007ef57600080fd5b505af115801562000804573d6000803e3d6000fd5b50506040516285fc1360e71b81526001600160a01b03851692506342fe0980915062000841906000906012908b908b908b908b906004016200327d565b600060405180830381600087803b1580156200085c57600080fd5b505af115801562000871573d6000803e3d6000fd5b5050505060006040518060400160405280601181526020017039bab832b93a37b5b2b739973a32b9ba1760791b8152508585604051602001620008b793929190620032cf565b6040516020818303038152906040529050620008d660018285620013a9565b5050949350505050565b600c5460009081906001600160a01b03166200090f57604051635006ee6d60e11b815260040160405180910390fd5b731820a4b7618bde71dce8cdc73aab6c95905fad243b6200094257604051622b682760e71b815260040160405180910390fd5b620009538989898989898962000e68565b9150915097509795505050505050565b60015460405163f2fde38b60e01b81526001600160a01b0383811660048301526101009092049091169063f2fde38b90602401600060405180830381600087803b158015620009b157600080fd5b505af1158015620009c6573d6000803e3d6000fd5b5050505050565b600c546000906001600160a01b0316620009fa57604051635006ee6d60e11b815260040160405180910390fd5b731820a4b7618bde71dce8cdc73aab6c95905fad243b62000a2d57604051622b682760e71b815260040160405180910390fd5b600073__$e670fb80a00d783cff26adce1c19b32070$__631f2d18966040518163ffffffff1660e01b8152600401602060405180830381865af415801562000a79573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a9f919062003234565b600c54604051633504b4d160e21b81526001600160a01b03808416600483015292935091169063d412d34490602401600060405180830381600087803b15801562000ae957600080fd5b505af115801562000afe573d6000803e3d6000fd5b505060405163588ca48760e11b81526001600160a01b038416925063b119490e915062000b38908a908a908a908a908a90600401620032f9565b600060405180830381600087803b15801562000b5357600080fd5b505af115801562000b68573d6000803e3d6000fd5b5050505080915062000bcb60016040518060400160405280601181526020017039bab832b93a37b5b2b739973a32b9ba1760791b815250878760405160200162000bb593929190620032cf565b60405160208183030381529060405284620013a9565b60405163a9059cbb60e01b8152336004820152602481018490526001600160a01b0383169063a9059cbb906044016020604051808303816000875af115801562000c19573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c3f919062003337565b505095945050505050565b6002546001600160a01b031662000c7457604051633b8034db60e11b815260040160405180910390fd5b62000c7e62001448565b62000513620014ed565b6002546001600160a01b031662000cb25760405163bb57a2c760e01b815260040160405180910390fd5b62000cbc62001592565b62000cc662001a9c565b6200051362001b58565b62000cdb3062001c1f565b6200056a8160000151826020015162001d21565b6002546001600160a01b031662000d195760405163608e9db560e01b815260040160405180910390fd5b62000d243062001dc5565b62000d2e62001e67565b600e54604051637048027560e01b81523360048201526001600160a01b0390911690637048027590602401600060405180830381600087803b15801562000d7457600080fd5b505af115801562000d89573d6000803e3d6000fd5b5050505062000d9762001f0c565b62000da162001fb1565b62000db08160c0015162002054565b6003546001600160a01b031662000dda576040516302a9c2c560e61b815260040160405180910390fd5b6200056a62002093565b62000def8162000cd0565b62000df96200210e565b62000e17816060015182608001518360a00151846040015162002179565b62000e2162000c4a565b62000e2b620021f6565b62000e3562000c88565b62000e3f620024d6565b62000e4a8162000cef565b62000e5462002624565b62000e5e62002670565b6200056a620026bc565b60008073__$e670fb80a00d783cff26adce1c19b32070$__63a9442e408a8a8a8a8a8a6040518763ffffffff1660e01b815260040162000eae9695949392919062003357565b602060405180830381865af415801562000ecc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ef2919062003234565b91506000878760405160200162000f0b9291906200339b565b6040516020818303038152906040529050600c60009054906101000a90046001600160a01b03166001600160a01b031663e094be2484856001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000f80573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fa69190620033b1565b60018c8c60405160200162000fbd929190620033d1565b604051602081830303815290604052868a6040518763ffffffff1660e01b815260040162000ff196959493929190620033f3565b6020604051808303816000875af115801562001011573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001037919062003234565b915060006040518060400160405280600c81526020016b3a37b5b2b739973a32b9ba1760a11b815250846001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200109f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620010c9919081019062003472565b604051602001620010dc92919062003511565b6040516020818303038152906040529050620010fb60018286620013a9565b60006040518060400160405280601181526020017039bab832b93a37b5b2b739973a32b9ba1760791b815250846001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801562001166573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001190919081019062003472565b604051602001620011a392919062003511565b6040516020818303038152906040529050620011c260018286620013a9565b50505097509795505050505050565b60015460ff8281169116146200121f5760405162461bcd60e51b815260206004820152600e60248201526d0496e636f727265637420737465760941b60448201526064015b60405180910390fd5b8060ff166000036200123c57620012363062001c1f565b62001378565b8060ff166001036200125657620012366001600062002952565b8060ff166002036200126c5762001236620029db565b8060ff166003036200128c5762001282620029ef565b6200123662002a03565b600460ff82161462001378578060ff16600503620012ae576200123662001592565b8060ff16600603620012c4576200123662002a17565b8060ff166007036200134057620012db3062002a2b565b600e54604051637048027560e01b81523360048201526001600160a01b0390911690637048027590602401600060405180830381600087803b1580156200132157600080fd5b505af115801562001336573d6000803e3d6000fd5b5050505062001378565b60405162461bcd60e51b815260206004820152600c60248201526b0496e76616c696420737465760a41b604482015260640162001216565b6001805460ff169060006200138d8362003544565b91906101000a81548160ff021916908360ff1602179055505050565b600e546001600160a01b0316620013d35760405163521c4a7d60e01b815260040160405180910390fd5b82156200144357600e5460405163a815ff1560e01b81526001600160a01b039091169063a815ff15906200140e908590859060040162003572565b600060405180830381600087803b1580156200142957600080fd5b505af11580156200143e573d6000803e3d6000fd5b505050505b505050565b600254604051630dbabbff60e11b81526001600160a01b03909116600482015273__$a470d8d3eff4182c9809d6de570cdeeec8$__90631b7577fe90602401602060405180830381865af4158015620014a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620014cb919062003234565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051630cce0ce360e31b81526001600160a01b03909116600482015273__$0e33a7228bbdb017aebe2f2bed0910defa$__90636670671890602401602060405180830381865af41580156200154a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001570919062003234565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b600073__$587c1447ad460e9b007894b8b359c425ea$__63c465e06c6040518163ffffffff1660e01b8152600401602060405180830381865af4158015620015de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001604919062003234565b9050600073__$587c1447ad460e9b007894b8b359c425ea$__63c465e06c6040518163ffffffff1660e01b8152600401602060405180830381865af415801562001652573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001678919062003234565b600254604051635e1673bb60e11b81526001600160a01b039182166004820152908216602482015290915073__$342a172af7bf09406042436203b53e0416$__9063bc2ce77690604401602060405180830381865af4158015620016e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001706919062003234565b600780546001600160a01b0319166001600160a01b039290921691821790556040805163132075a760e31b81529051639903ad389160048082019260009290919082900301818387803b1580156200175d57600080fd5b505af115801562001772573d6000803e3d6000fd5b50506002546040516326c043d360e11b81526001600160a01b039182166004820152908516602482015273__$342a172af7bf09406042436203b53e0416$__9250634d8087a69150604401602060405180830381865af4158015620017db573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001801919062003234565b600880546001600160a01b0319166001600160a01b039290921691821790556040805163132075a760e31b81529051639903ad389160048082019260009290919082900301818387803b1580156200185857600080fd5b505af11580156200186d573d6000803e3d6000fd5b5050600754604051634a0687ef60e01b81526001600160a01b0391821660048201529085169250634a0687ef9150602401600060405180830381600087803b158015620018b957600080fd5b505af1158015620018ce573d6000803e3d6000fd5b5050600854604051634a0687ef60e01b81526001600160a01b0391821660048201529084169250634a0687ef9150602401600060405180830381600087803b1580156200191a57600080fd5b505af11580156200192f573d6000803e3d6000fd5b50506040805163266c45bb60e11b81526004810191909152601460448201527310dbdb9cdd185b9d0813dd5d199b1bddc813919560621b606482015260806024820152600360848201526221a7a360e91b60a48201526001600160a01b0385169250634cd88b76915060c401600060405180830381600087803b158015620019b657600080fd5b505af1158015620019cb573d6000803e3d6000fd5b50506040805163266c45bb60e11b81526004810191909152601360448201527210dbdb9cdd185b9d08125b999b1bddc8139195606a1b606482015260806024820152600360848201526221a4a360e91b60a48201526001600160a01b0384169250634cd88b76915060c401600060405180830381600087803b15801562001a5157600080fd5b505af115801562001a66573d6000803e3d6000fd5b5050600980546001600160a01b039586166001600160a01b031991821617909155600a8054949095169316929092179092555050565b600254600954600a54604051630e07777960e31b81526001600160a01b039384166004820152918316602483015291909116604482015273__$bd96dfe50c329cee8e313709d3c94b8122$__9063703bbbc890606401602060405180830381865af415801562001b10573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b36919062003234565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b600254600b54600754600854604051630243059d60e01b81526001600160a01b0394851660048201529284166024840152908316604483015291909116606482015273__$859a28afbbc8e5bf0b546dc5c4495c32e6$__90630243059d90608401602060405180830381865af415801562001bd7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bfd919062003234565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b73__$02c95dd9d7be6f60f760f29aee4bb17ffc$__63c3acf1b36040518163ffffffff1660e01b8152600401602060405180830381865af415801562001c69573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c8f919062003234565b60018054610100600160a81b0319166101006001600160a01b0393841681029190911791829055604051633f5b172b60e11b8152910482166004820152908216602482015273__$02c95dd9d7be6f60f760f29aee4bb17ffc$__90637eb62e569060440160006040518083038186803b15801562001d0c57600080fd5b505af4158015620009c6573d6000803e3d6000fd5b604051638a25422160e01b81528215156004820152811515602482015273__$ad779358bf46e2140b9444ea344feed6e1$__90638a25422190604401602060405180830381865af415801562001d7b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001da1919062003234565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b604051632f0f279d60e01b81526001600160a01b038216600482015273__$859a28afbbc8e5bf0b546dc5c4495c32e6$__90632f0f279d90602401602060405180830381865af415801562001e1e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e44919062003234565b600e80546001600160a01b0319166001600160a01b039290921691909117905550565b600e54604051630b5bd8c560e01b81526001600160a01b03909116600482015273__$51a374af64471c67800fb4db73e0bb3f61$__90630b5bd8c590602401602060405180830381865af415801562001ec4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001eea919062003234565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b60025460405163269c683160e11b81526001600160a01b03909116600482015273__$62fc974fc919b81fb994c71922b697bf1a$__90634d38d06290602401602060405180830381865af415801562001f69573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f8f919062003234565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051623b2bcd60e01b81526001600160a01b03909116600482015273__$a8b7c5720cdda94a7f5cdf662a74179e74$__90623b2bcd90602401602060405180830381865af41580156200200c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002032919062003234565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b731820a4b7618bde71dce8cdc73aab6c95905fad243b6200208857604051630c9b12e760e01b815260040160405180910390fd5b6200056a8162002a40565b6002546003546040516001600160a01b039283169290911690620020b79062002aff565b6001600160a01b03928316815291166020820152604001604051809103906000f080158015620020eb573d6000803e3d6000fd5b50601280546001600160a01b0319166001600160a01b0392909216919091179055565b60025460015460405163189acdbd60e31b81526001600160a01b036101009092048216600482015291169063c4d66de8906024015b600060405180830381600087803b1580156200215e57600080fd5b505af115801562002173573d6000803e3d6000fd5b50505050565b600154600254604051630b520f0360e31b81526001600160a01b03610100909304831692635a90781892620021bc929116908890889088908890600401620035e4565b600060405180830381600087803b158015620021d757600080fd5b505af1158015620021ec573d6000803e3d6000fd5b5050505050505050565b6001546002546004805460405163cadf8f8560e01b81526001600160a01b039384169281019290925282166024820152610100909204169063cadf8f8590604401600060405180830381600087803b1580156200225257600080fd5b505af115801562002267573d6000803e3d6000fd5b50506002546004805460408051633b982ccf60e11b815290516001600160a01b03948516965063b6d200de95509390911692637730599e928281019260209291908290030181865afa158015620022c2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620022e8919062003620565b6040518263ffffffff1660e01b81526004016200230791815260200190565b602060405180830381865afa15801562002325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200234b919062003234565b600380546001600160a01b0319166001600160a01b0392831617905560015460025460065460405163cadf8f8560e01b81529184166004830152831660248201526101009091049091169063cadf8f8590604401600060405180830381600087803b158015620023ba57600080fd5b505af1158015620023cf573d6000803e3d6000fd5b505060025460065460408051633b982ccf60e11b815290516001600160a01b03938416955063b6d200de94509190921691637730599e9160048083019260209291908290030181865afa1580156200242b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002451919062003620565b6040518263ffffffff1660e01b81526004016200247091815260200190565b602060405180830381865afa1580156200248e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620024b4919062003234565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001546002546001600160a01b0361010090920482169163427942a4911660008060405190808252806020026020018201604052801562002521578160200160208202803683370190505b50600d546040516001600160e01b031960e087901b16815262002554949392916001600160a01b0316906004016200363a565b600060405180830381600087803b1580156200256f57600080fd5b505af115801562002584573d6000803e3d6000fd5b50505050600260009054906101000a90046001600160a01b03166001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620025dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002602919062003234565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001546002546010546040516355c2378d60e11b81526001600160a01b039283166004820152600060248201529082166044820152610100909204169063ab846f1a9060640162002143565b6001546002546011546040516355c2378d60e11b81526001600160a01b039283166004820152600060248201529082166044820152610100909204169063ab846f1a9060640162002143565b600e546001546040805163a815ff1560e01b81526004810191909152601360448201527215195cdd11dbdd995c9b985b98d94b9d195cdd606a1b60648201526001600160a01b036101009092048216602482015291169063a815ff1590608401600060405180830381600087803b1580156200273757600080fd5b505af11580156200274c573d6000803e3d6000fd5b5050600e546002546040805163a815ff1560e01b81526004810191909152600f60448201526e14dd5c195c999b1d5a590b9d195cdd608a1b60648201526001600160a01b0391821660248201529116925063a815ff159150608401600060405180830381600087803b158015620027c257600080fd5b505af1158015620027d7573d6000803e3d6000fd5b5050600e54600f546040805163a815ff1560e01b8152600481019190915260136044820152725375706572666c7569644c6f616465722d763160681b60648201526001600160a01b0391821660248201529116925063a815ff159150608401600060405180830381600087803b1580156200285157600080fd5b505af115801562002866573d6000803e3d6000fd5b5050600e80546010546040805163a815ff1560e01b8152600481019190915260448101939093526d21a320bb18a337b93bb0b93232b960911b60648401526001600160a01b03908116602484015216925063a815ff159150608401600060405180830381600087803b158015620028dc57600080fd5b505af1158015620028f1573d6000803e3d6000fd5b5050600e80546011546040805163a815ff1560e01b8152600481019190915260448101939093526d24a220bb18a337b93bb0b93232b960911b60648401526001600160a01b03908116602484015216925063a815ff15915060840162002143565b6200295e828262001d21565b620029686200210e565b620029d760456138406107086000805480602002602001604051908101604052809291908181526020018280548015620029cc57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620029ad575b505050505062002179565b5050565b620029e562000c74565b62000513620021f6565b620029f962001f0c565b6200051362002624565b62002a0d62001fb1565b6200051362002670565b62002a2162000cbc565b62000513620024d6565b62002a368162001dc5565b62000e5e62001e67565b6002546040516001600160a01b0390911690829062002a5f9062002b0d565b6001600160a01b0390921682526020820152604001604051809103906000f08015801562002a91573d6000803e3d6000fd5b50601380546001600160a01b0319166001600160a01b039290921691909117905550565b6040518060e001604052806000151581526020016000151581526020016060815260200160006001600160a01b031681526020016000815260200160008152602001600081525090565b610a24806200367b83390190565b611833806200409f83390190565b60006020828403121562002b2e57600080fd5b5035919050565b60005b8381101562002b5257818101518382015260200162002b38565b50506000910152565b6000815180845262002b7581602086016020860162002b35565b601f01601f19169290920160200192915050565b60208152600062002b9e602083018462002b5b565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60405160e0810167ffffffffffffffff8111828210171562002be15762002be162002ba5565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171562002c135762002c1362002ba5565b604052919050565b80151581146200056a57600080fd5b803562002c378162002c1b565b919050565b6001600160a01b03811681146200056a57600080fd5b803562002c378162002c3c565b600082601f83011262002c7157600080fd5b8135602067ffffffffffffffff82111562002c905762002c9062002ba5565b8160051b62002ca182820162002be7565b928352848101820192828101908785111562002cbc57600080fd5b83870192505b8483101562002ce857823562002cd88162002c3c565b8252918301919083019062002cc2565b979650505050505050565b60006020828403121562002d0657600080fd5b813567ffffffffffffffff8082111562002d1f57600080fd5b9083019060e0828603121562002d3457600080fd5b62002d3e62002bbb565b62002d498362002c2a565b815262002d596020840162002c2a565b602082015260408301358281111562002d7157600080fd5b62002d7f8782860162002c5f565b60408301525062002d936060840162002c52565b60608201526080830135608082015260a083013560a082015260c083013560c082015280935050505092915050565b60008083601f84011262002dd557600080fd5b50813567ffffffffffffffff81111562002dee57600080fd5b60208301915083602082850101111562002e0757600080fd5b9250929050565b60ff811681146200056a57600080fd5b6000806000806000806080878903121562002e3857600080fd5b863567ffffffffffffffff8082111562002e5157600080fd5b62002e5f8a838b0162002dc2565b9098509650602089013591508082111562002e7957600080fd5b5062002e8889828a0162002dc2565b909550935050604087013562002e9e8162002e0e565b80925050606087013590509295509295509295565b60006020828403121562002ec657600080fd5b813562002b9e8162002e0e565b6000806000806040858703121562002eea57600080fd5b843567ffffffffffffffff8082111562002f0357600080fd5b62002f118883890162002dc2565b9096509450602087013591508082111562002f2b57600080fd5b5062002f3a8782880162002dc2565b95989497509550505050565b600080600080600080600060a0888a03121562002f6257600080fd5b873567ffffffffffffffff8082111562002f7b57600080fd5b62002f898b838c0162002dc2565b909950975060208a013591508082111562002fa357600080fd5b5062002fb28a828b0162002dc2565b909650945050604088013562002fc88162002e0e565b925060608801359150608088013562002fe18162002c3c565b8091505092959891949750929550565b81516001600160a01b03168152610220810160208301516200301e60208401826001600160a01b03169052565b5060408301516200303a60408401826001600160a01b03169052565b50606083015162003064606084018280516001600160a01b03908116835260209182015116910152565b5060808301516001600160a01b03811660a08401525060a083015180516001600160a01b0390811660c085015260208201511660e08401525060c0830151610100620030ba818501836001600160a01b03169052565b60e08501519150610120620030d9818601846001600160a01b03169052565b90850151915061014090620030f8858301846001600160a01b03169052565b850151915061016062003115858201846001600160a01b03169052565b9085015191506101809062003134858301846001600160a01b03169052565b85015191506101a062003151858201846001600160a01b03169052565b9085015191506101c09062003170858301846001600160a01b03169052565b8501516001600160a01b039081166101e086015294015190931661020090920191909152919050565b600060208284031215620031ac57600080fd5b813562002b9e8162002c3c565b600080600080600060608688031215620031d257600080fd5b853567ffffffffffffffff80821115620031eb57600080fd5b620031f989838a0162002dc2565b909750955060208801359150808211156200321357600080fd5b50620032228882890162002dc2565b96999598509660400135949350505050565b6000602082840312156200324757600080fd5b815162002b9e8162002c3c565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038716815260ff86166020820152608060408201819052600090620032ad908301868862003254565b8281036060840152620032c281858762003254565b9998505050505050505050565b60008451620032e381846020890162002b35565b8201838582376000930192835250909392505050565b6060815260006200330f60608301878962003254565b82810360208401526200332481868862003254565b9150508260408301529695505050505050565b6000602082840312156200334a57600080fd5b815162002b9e8162002c1b565b6080815260006200336d60808301888a62003254565b82810360208401526200338281878962003254565b60ff959095166040840152505060600152949350505050565b81838237600f60fb1b9101908152600101919050565b600060208284031215620033c457600080fd5b815162002b9e8162002e0e565b65029bab832b9160d51b81528183600683013760009101600601908152919050565b6001600160a01b03878116825260ff87166020830152600090600387106200342b57634e487b7160e01b600052602160045260246000fd5b86604084015260c060608401526200344760c084018762002b5b565b83810360808501526200345b818762002b5b565b92505080841660a084015250979650505050505050565b6000602082840312156200348557600080fd5b815167ffffffffffffffff808211156200349e57600080fd5b818401915084601f830112620034b357600080fd5b815181811115620034c857620034c862002ba5565b620034dd601f8201601f191660200162002be7565b9150808252856020828501011115620034f557600080fd5b6200350881602084016020860162002b35565b50949350505050565b600083516200352581846020880162002b35565b8351908301906200353b81836020880162002b35565b01949350505050565b600060ff821660ff81036200356957634e487b7160e01b600052601160045260246000fd5b60010192915050565b60408152600062003587604083018562002b5b565b905060018060a01b03831660208301529392505050565b600081518084526020808501945080840160005b83811015620035d95781516001600160a01b031687529582019590820190600101620035b2565b509495945050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009062002ce8908301846200359e565b6000602082840312156200363357600080fd5b5051919050565b600060018060a01b0380871683528086166020840152608060408401526200366660808401866200359e565b91508084166060840152509594505050505056fe60c060405234801561001057600080fd5b50604051610a24380380610a2483398101604081905261002f91610062565b6001600160a01b039182166080521660a052610095565b80516001600160a01b038116811461005d57600080fd5b919050565b6000806040838503121561007557600080fd5b61007e83610046565b915061008c60208401610046565b90509250929050565b60805160a0516109426100e26000396000818160560152818161013a015281816103d401526103f501526000818160d00152818161010e0152818161037b01526103a501526109426000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80631054df8c146100515780638dc7d29c146100955780638f95895f146100aa578063f437bc59146100cb575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100a86100a3366004610682565b6100f2565b005b6100bd6100b8366004610711565b610349565b60405190815260200161008c565b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040805160008082526020820190925281906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169182916339255d5b917f00000000000000000000000000000000000000000000000000000000000000009182169063b4b333c690610176908c908c908c90604481016107e2565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b9490941790935280516000815292830190526101be9392509060448101610820565b60408051601f198184030181529181526020820180516001600160e01b031660e09490941b9390931790925290516101f69250610856565b6000604051808303816000865af19150503d8060008114610233576040519150601f19603f3d011682016040523d82523d6000602084013e610238565b606091505b50915091508161025857805160000361025057600080fd5b805181602001fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038716906370a0823190602401602060405180830381865afa15801561029f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c39190610872565b90508015610341576040516323b872dd60e01b8152306004820152336024820152604481018290526001600160a01b038716906323b872dd906064016020604051808303816000875af192505050801561033a575060408051601f3d908101601f191682019092526103379181019061088b565b60015b1561034157505b505050505050565b60008382811461036c5760405163277c943f60e21b815260040160405180910390fd5b60005b818110156105715760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166339255d5b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b4b333c68e8e8e8a818110610435576104356108b4565b905060200201602081019061044a91906108ca565b8d8d8b81811061045c5761045c6108b4565b905060200201602081019061047191906108ca565b60408051600081526020810190915261049093929190604481016107e2565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b9490941790935280516000815292830190526104d89392509060448101610820565b60408051601f198184030181529181526020820180516001600160e01b031660e09490941b9390931790925290516105109250610856565b6000604051808303816000865af19150503d806000811461054d576040519150601f19603f3d011682016040523d82523d6000602084013e610552565b606091505b50509050801561056857610565846108e5565b93505b5060010161036f565b506040516370a0823160e01b81523060048201526000906001600160a01b038916906370a0823190602401602060405180830381865afa1580156105b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105dd9190610872565b9050801561065b576040516323b872dd60e01b8152306004820152336024820152604481018290526001600160a01b038916906323b872dd906064016020604051808303816000875af1925050508015610654575060408051601f3d908101601f191682019092526106519181019061088b565b60015b1561065b57505b505095945050505050565b80356001600160a01b038116811461067d57600080fd5b919050565b60008060006060848603121561069757600080fd5b6106a084610666565b92506106ae60208501610666565b91506106bc60408501610666565b90509250925092565b60008083601f8401126106d757600080fd5b50813567ffffffffffffffff8111156106ef57600080fd5b6020830191508360208260051b850101111561070a57600080fd5b9250929050565b60008060008060006060868803121561072957600080fd5b61073286610666565b9450602086013567ffffffffffffffff8082111561074f57600080fd5b61075b89838a016106c5565b9096509450604088013591508082111561077457600080fd5b50610781888289016106c5565b969995985093965092949392505050565b60005b838110156107ad578181015183820152602001610795565b50506000910152565b600081518084526107ce816020860160208601610792565b601f01601f19169290920160200192915050565b6001600160a01b038581168252848116602083015283166040820152608060608201819052600090610816908301846107b6565b9695505050505050565b6001600160a01b0384168152606060208201819052600090610844908301856107b6565b828103604084015261081681856107b6565b60008251610868818460208701610792565b9190910192915050565b60006020828403121561088457600080fd5b5051919050565b60006020828403121561089d57600080fd5b815180151581146108ad57600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156108dc57600080fd5b6108ad82610666565b60006001820161090557634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220a76ac4c4a972a021424a1cb2c2c57e98a4b6fa17e1332fffeeb06cec2649635164736f6c6343000813003360e06040523480156200001157600080fd5b5060405162001833380380620018338339810160408190526200003491620002b5565b6001600160a01b038216608081905260c0829052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015263b6d200de90602401602060405180830381865afa158015620000a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c89190620002e6565b6001600160a01b031660a0526040516329965a1d60e01b815230600482018190527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248301819052604483019190915290731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b1580156200015457600080fd5b505af115801562000169573d6000803e3d6000fd5b50506040516329965a1d60e01b815230600482018190527fece6fc2bcfc93e4c34c28aeaa114be1a6161decb8268f79cbe7c3c7f31b1e8c660248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b158015620001e757600080fd5b505af1158015620001fc573d6000803e3d6000fd5b50506040516329965a1d60e01b815230600482018190527fca6323f8f0faf3d4f41f2397ee46c8d85bed576d54aadeb20b6cf7b45b3a696460248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b1580156200027a57600080fd5b505af11580156200028f573d6000803e3d6000fd5b505050505050506200030d565b6001600160a01b0381168114620002b257600080fd5b50565b60008060408385031215620002c957600080fd5b8251620002d6816200029c565b6020939093015192949293505050565b600060208284031215620002f957600080fd5b815162000306816200029c565b9392505050565b60805160a05160c05161148d620003a66000396000818161011d015281816102dd0152818161074201528181610792015261093501526000818161037e0152818161043f0152818161058f0152818161061e015281816107fa01528181610a5601528181610b170152610ce701526000818161041501528181610565015281816105f401528181610aed0152610cbd015261148d6000f3fe608060405234801561001057600080fd5b506004361061007c5760003560e01c8063362910631161005b57806336291063146100d457806360dfa69514610118578063b8a140331461014d578063bf8903dd1461016057600080fd5b806223de291461008157806302f3c6c51461009657806316e23b9f146100a9575b600080fd5b61009461008f366004610fc0565b61019b565b005b6100946100a4366004611080565b610243565b6100bc6100b73660046110b9565b610735565b604051600b9190910b81526020015b60405180910390f35b6101006100e23660046110e5565b6001600160a01b039081166000908152602081905260409020541690565b6040516001600160a01b0390911681526020016100cb565b61013f7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100cb565b6100bc61015b3660046110b9565b610785565b61017361016e3660046110e5565b6107b7565b604080516001600160a01b0390941684526020840192909252600b0b908201526060016100cb565b336000818152602081905260409020546001600160a01b038981169116146101f457600084156101d6576101d185870187611109565b6101e0565b6101e08288610735565b90506101ee828a898461089b565b50610238565b806001600160a01b03167fb9c1b85a7ee70d95c61aca7cda03ef957abc5265a191ca74cc335faf594095668760405161022f91815260200190565b60405180910390a25b505050505050505050565b6001600160a01b03808316600090815260208190526040902054163381146102ab5760405162461bcd60e51b81526020600482015260166024820152751513d1d04e881bdb9b1e48141250c8185b1b1bddd95960521b60448201526064015b60405180910390fd5b600082600b0b12156102cf5760405162461bcd60e51b81526004016102a290611126565b6102d883610e28565b6103067f0000000000000000000000000000000000000000000000000000000000000000600b85900b61117f565b111561034e5760405162461bcd60e51b81526020600482015260176024820152760a89e8e827440caf0d2e8a4c2e8ca40e8dede40d0d2ced604b1b60448201526064016102a2565b604051631cd43d1160e31b81526001600160a01b03848116600483015230602483015282811660448301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a1e88890606401608060405180830381865afa1580156103c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103eb9190611196565b5050915050600081600b0b1380156104065750600083600b0b135b15610540576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906339255d5b907f00000000000000000000000000000000000000000000000000000000000000009081166350209a6288878960005b6040519080825280601f01601f191660200182016040528015610496576020820181803683370190505b506040516024016104aa949392919061123a565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526104f39392509060040161127a565b6000604051808303816000875af1158015610512573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261053a91908101906112c1565b506106ed565b80600b0b60001480156105565750600083600b0b135b156105c0576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906339255d5b907f00000000000000000000000000000000000000000000000000000000000000009081166362fc305e888789600061046c565b600081600b0b1380156105d6575082600b0b6000145b156106ed576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f0000000000000000000000000000000000000000000000000000000000000000919082169063b4b333c69061065b908a9030908a906044810161136e565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526106a49392509060040161127a565b6000604051808303816000875af11580156106c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106eb91908101906112c1565b505b604051600b84900b81526001600160a01b038516907f0988aefa675e81e1db7fca08264db5dc2a1cc2a604f2a78d902a9747146a56719060200160405180910390a250505050565b600061077c6107776107687f0000000000000000000000000000000000000000000000000000000000000000600461117f565b61077290856113a2565b610ec9565b610f37565b90505b92915050565b600061077c6107776107727f0000000000000000000000000000000000000000000000000000000000000000856113a2565b6001600160a01b03818116600081815260208190526040808220549051631cd43d1160e31b815260048101939093523060248401528316604483015291829182917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa158015610841573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108659190611196565b50506001600160a01b0380871660009081526020819052604090205491935016905061089085610e28565b925092509193909250565b6001600160a01b038416600090815260208190526040902054600160a01b900460ff161561090b5760405162461bcd60e51b815260206004820152601c60248201527f544f47413a207265656e7472616e6379206e6f7420616c6c6f7765640000000060448201526064016102a2565b600081600b0b121561092f5760405162461bcd60e51b81526004016102a290611126565b8161095e7f0000000000000000000000000000000000000000000000000000000000000000600b84900b61117f565b11156109a65760405162461bcd60e51b81526020600482015260176024820152760a89e8e827440caf0d2e8a4c2e8ca40e8dede40d0d2ced604b1b60448201526064016102a2565b6000826109b286610e28565b6109bc91906113c4565b9050808311610a015760405162461bcd60e51b8152602060048201526011602482015270544f47413a2062696420746f6f206c6f7760781b60448201526064016102a2565b6001600160a01b038581166000818152602081905260408082208054600160a01b60ff60a01b198216179091559051631cd43d1160e31b815260048101939093523060248401528316604483018190529290917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a1e88890606401608060405180830381865afa158015610a9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac39190611196565b5050915050600081600b0b1315610be6576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f0000000000000000000000000000000000000000000000000000000000000000919082169063b4b333c690610b54908d9030908a906044810161136e565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610b9d9392509060040161127a565b6000604051808303816000875af1158015610bbc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610be491908101906112c1565b505b6001600160a01b03821615610c6a5760405163a9059cbb60e01b81526001600160a01b0383811660048301526024820185905288169063a9059cbb906044016020604051808303816000875af1158015610c44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6891906113d7565b505b6001600160a01b03878116600090815260208190526040812080546001600160a01b03191692891692909217909155600b85900b1315610db6576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f000000000000000000000000000000000000000000000000000000000000000091908216906362fc305e90610d24908d908d908c906044810161123a565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610d6d9392509060040161127a565b6000604051808303816000875af1158015610d8c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610db491908101906112c1565b505b6001600160a01b0387811660008181526020818152604091829020805460ff60a01b191690558151938a1684528301889052600b87900b90830152907f836808e57755d5535898b7203c7d68b1bfb2701b1943ecb133c675e0d00780159060600160405180910390a250505050505050565b604051632ec8eec760e01b8152306004820152600090819081906001600160a01b03851690632ec8eec790602401608060405180830381865afa158015610e73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9791906113f9565b50509150915060008183610eab919061142f565b13610eb7576000610ec1565b610ec1818361142f565b949350505050565b60006001600160ff1b03821115610f335760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016102a2565b5090565b60006b7fffffffffffffffffffffff8212610f33576b7fffffffffffffffffffffff92915050565b6001600160a01b0381168114610f7457600080fd5b50565b60008083601f840112610f8957600080fd5b50813567ffffffffffffffff811115610fa157600080fd5b602083019150836020828501011115610fb957600080fd5b9250929050565b60008060008060008060008060c0898b031215610fdc57600080fd5b8835610fe781610f5f565b97506020890135610ff781610f5f565b9650604089013561100781610f5f565b955060608901359450608089013567ffffffffffffffff8082111561102b57600080fd5b6110378c838d01610f77565b909650945060a08b013591508082111561105057600080fd5b5061105d8b828c01610f77565b999c989b5096995094979396929594505050565b80600b0b8114610f7457600080fd5b6000806040838503121561109357600080fd5b823561109e81610f5f565b915060208301356110ae81611071565b809150509250929050565b600080604083850312156110cc57600080fd5b82356110d781610f5f565b946020939093013593505050565b6000602082840312156110f757600080fd5b813561110281610f5f565b9392505050565b60006020828403121561111b57600080fd5b813561110281611071565b60208082526023908201527f544f47413a206e65676174697665206578697452617465206e6f7420616c6c6f6040820152621dd95960ea1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761077f5761077f611169565b600080600080608085870312156111ac57600080fd5b8451935060208501516111be81611071565b6040860151606090960151949790965092505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156112055781810151838201526020016111ed565b50506000910152565b600081518084526112268160208601602086016111ea565b601f01601f19169290920160200192915050565b6001600160a01b03858116825284166020820152600b83900b60408201526080606082018190526000906112709083018461120e565b9695505050505050565b6001600160a01b038316815260606020820181905260009061129e9083018461120e565b8281036040938401526002815261060f60f31b6020820152919091019392505050565b6000602082840312156112d357600080fd5b815167ffffffffffffffff808211156112eb57600080fd5b818401915084601f8301126112ff57600080fd5b815181811115611311576113116111d4565b604051601f8201601f19908116603f01168101908382118183101715611339576113396111d4565b8160405282815287602084870101111561135257600080fd5b6113638360208301602088016111ea565b979650505050505050565b6001600160a01b0385811682528481166020830152831660408201526080606082018190526000906112709083018461120e565b6000826113bf57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561077f5761077f611169565b6000602082840312156113e957600080fd5b8151801515811461110257600080fd5b6000806000806080858703121561140f57600080fd5b505082516020840151604085015160609095015191969095509092509050565b808201828112600083128015821682158216171561144f5761144f611169565b50509291505056fea2646970667358221220ee2c2bf0a36e02c3f9d390b8ff0193cd642c02e2413a50f13336e578a9aede9e64736f6c63430008130033a2646970667358221220cfdbc0fff68f5df07b15ac896933291fab49ebb136ad2653a420580674493c9f64736f6c63430008130033",wv=eb=>"string"==typeof eb[0]||Array.isArray(eb[0])||"_isInterface"in eb[0];class wz extends uw.lV{constructor(...eb){if(wv(eb))super(...eb);else{let[em,eH]=eb;super(wm,wz.linkBytecode(em),eH)}}static linkBytecode(eb){let em=wy;return(em=(em=(em=(em=(em=(em=(em=(em=(em=(em=(em=em.replace(RegExp("__\\$e670fb80a00d783cff26adce1c19b32070\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:TokenDeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$a470d8d3eff4182c9809d6de570cdeeec8\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:SuperfluidCFAv1DeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$0e33a7228bbdb017aebe2f2bed0910defa\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:SuperfluidIDAv1DeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$587c1447ad460e9b007894b8b359c425ea\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:ProxyDeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$342a172af7bf09406042436203b53e0416\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:SuperfluidNFTLogicDeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$bd96dfe50c329cee8e313709d3c94b8122\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:SuperTokenDeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$859a28afbbc8e5bf0b546dc5c4495c32e6\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:SuperfluidPeripheryDeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$02c95dd9d7be6f60f760f29aee4bb17ffc\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:SuperfluidGovDeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$ad779358bf46e2140b9444ea344feed6e1\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:SuperfluidHostDeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$51a374af64471c67800fb4db73e0bb3f61\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:SuperfluidLoaderDeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$62fc974fc919b81fb994c71922b697bf1a\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:CFAv1ForwarderDeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$a8b7c5720cdda94a7f5cdf662a74179e74\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:IDAv1ForwarderDeployerLibrary"].replace(/^0x/,"").toLowerCase())}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(wm)}static connect(eb,em){return new uw.CH(eb,wm,em)}}wz.bytecode=wy,wz.abi=wm;let wH=[{inputs:[],name:"DEFAULT_APP_WHITELISTING_ENABLED",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_LIQUIDATION_PERIOD",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_NON_UPGRADEABLE",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_PATRICIAN_PERIOD",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_REWARD_ADDRESS",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_TOGA_MIN_BOND_DURATION",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"DEFAULT_TRUSTED_FORWARDERS",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"RESOLVER_BASE_SUPER_TOKEN_KEY",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"RESOLVER_BASE_TOKEN_KEY",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFramework",outputs:[{components:[{internalType:"contract TestGovernance",name:"governance",type:"address"},{internalType:"contract Superfluid",name:"host",type:"address"},{internalType:"contract ConstantFlowAgreementV1",name:"cfa",type:"address"},{components:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"}],internalType:"struct CFAv1Library.InitData",name:"cfaLib",type:"tuple"},{internalType:"contract InstantDistributionAgreementV1",name:"ida",type:"address"},{components:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IInstantDistributionAgreementV1",name:"ida",type:"address"}],internalType:"struct IDAv1Library.InitData",name:"idaLib",type:"tuple"},{internalType:"contract SuperTokenFactory",name:"superTokenFactory",type:"address"},{internalType:"contract ISuperToken",name:"superTokenLogic",type:"address"},{internalType:"contract ConstantOutflowNFT",name:"constantOutflowNFT",type:"address"},{internalType:"contract ConstantInflowNFT",name:"constantInflowNFT",type:"address"},{internalType:"contract TestResolver",name:"resolver",type:"address"},{internalType:"contract SuperfluidLoader",name:"superfluidLoader",type:"address"},{internalType:"contract CFAv1Forwarder",name:"cfaV1Forwarder",type:"address"},{internalType:"contract IDAv1Forwarder",name:"idaV1Forwarder",type:"address"},{internalType:"contract TOGA",name:"toga",type:"address"}],internalType:"struct SuperfluidFrameworkDeploymentSteps.Framework",name:"sf",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],wV="0x6000608081905260a0604081905261001891908161002b565b5034801561002557600080fd5b506100a5565b828054828255906000526020600020908101928215610080579160200282015b8281111561008057825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061004b565b5061008c929150610090565b5090565b5b8082111561008c5760008155600101610091565b610620806100b46000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806362a32e1e1161007157806362a32e1e14610153578063888a37b11461017e57806393786bf014610188578063b3083cf81461013b578063dfa98ad514610190578063f2fde38b1461030e57600080fd5b806305bfa3e0146100ae5780631903410d146100ca5780633df285fe146100f55780634d59c13614610132578063520994701461013b575b600080fd5b6100b761070881565b6040519081526020015b60405180910390f35b6100dd6100d83660046103b5565b610323565b6040516001600160a01b0390911681526020016100c1565b6101256040518060400160405280601181526020017039bab832b93a37b5b2b739973a32b9ba1760791b81525081565b6040516100c191906103ce565b6100b761384081565b610143600081565b60405190151581526020016100c1565b6101256040518060400160405280600c81526020016b3a37b5b2b739973a32b9ba1760a11b81525081565b6100b762093a8081565b6100dd604581565b610301604080516101e08101825260008082526020808301829052828401829052835180850185528281528082018390526060840152608083018290528351808501909452818452830181905260a082019290925260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081019190915250604080516101e0810182526001546001600160a01b03610100918290048116835260025481166020808501829052600354831685870181905286518088018852838152808301919091526060860152600554831660808601819052865180880190975291865285015260a0830193909352600c54831660c0830152600b54831660e0830152600954831690820152600a548216610120820152600e548216610140820152600f548216610160820152601054821661018082015260115482166101a08201526013549091166101c082015290565b6040516100c1919061041c565b61032161031c3660046105ba565b61034d565b005b6000818154811061033357600080fd5b6000918252602090912001546001600160a01b0316905081565b60015460405163f2fde38b60e01b81526001600160a01b0383811660048301526101009092049091169063f2fde38b90602401600060405180830381600087803b15801561039a57600080fd5b505af11580156103ae573d6000803e3d6000fd5b5050505050565b6000602082840312156103c757600080fd5b5035919050565b600060208083528351808285015260005b818110156103fb578581018301518582016040015282016103df565b506000604082860101526040601f19601f8301168501019250505092915050565b81516001600160a01b031681526102208101602083015161044860208401826001600160a01b03169052565b50604083015161046360408401826001600160a01b03169052565b50606083015161048c606084018280516001600160a01b03908116835260209182015116910152565b5060808301516001600160a01b03811660a08401525060a083015180516001600160a01b0390811660c085015260208201511660e08401525060c08301516101006104e1818501836001600160a01b03169052565b60e085015191506101206104ff818601846001600160a01b03169052565b9085015191506101409061051d858301846001600160a01b03169052565b8501519150610160610539858201846001600160a01b03169052565b90850151915061018090610557858301846001600160a01b03169052565b85015191506101a0610573858201846001600160a01b03169052565b9085015191506101c090610591858301846001600160a01b03169052565b8501516001600160a01b039081166101e086015294015190931661020090920191909152919050565b6000602082840312156105cc57600080fd5b81356001600160a01b03811681146105e357600080fd5b939250505056fea264697066735822122071b2b79ff7318d4bc50209fd9141f9b9fabff2849178bfdd08e9c51a7735c87164736f6c63430008130033",ww=eb=>eb.length>1;class wM extends uw.lV{constructor(...eb){ww(eb)?super(...eb):super(wH,wV,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(wH)}static connect(eb,em){return new uw.CH(eb,wH,em)}}wM.bytecode=wV,wM.abi=wH;let wC=[{inputs:[{internalType:"contract IResolver",name:"resolver",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"string",name:"releaseVersion",type:"string"}],name:"loadFramework",outputs:[{components:[{internalType:"contract ISuperfluid",name:"superfluid",type:"address"},{internalType:"contract ISuperTokenFactory",name:"superTokenFactory",type:"address"},{internalType:"contract ISuperAgreement",name:"agreementCFAv1",type:"address"},{internalType:"contract ISuperAgreement",name:"agreementIDAv1",type:"address"}],internalType:"struct SuperfluidLoader.Framework",name:"result",type:"tuple"}],stateMutability:"view",type:"function"}],wx="0x60a060405234801561001057600080fd5b506040516104ea3803806104ea83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b60805161046061008a600039600060b501526104606000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f490e2f014610030575b600080fd5b61004361003e366004610307565b61008f565b604051610086919081516001600160a01b039081168252602080840151821690830152604080840151821690830152606092830151169181019190915260800190565b60405180910390f35b6040805160808101825260008082526020820181905291810182905260608101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663693ec85e84846040516020016100f5929190610379565b6040516020818303038152906040526040518263ffffffff1660e01b815260040161012091906103a0565b602060405180830381865afa15801561013d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101619190610406565b6001600160a01b03168082526040805163398d76b760e11b8152905163731aed6e916004808201926020929091908290030181865afa1580156101a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cc9190610406565b6001600160a01b0390811660208301528151604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015291169063b6d200de90602401602060405180830381865afa15801561023a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025e9190610406565b6001600160a01b0390811660408381019190915282519051635b69006f60e11b81527f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a674600482015291169063b6d200de90602401602060405180830381865afa1580156102cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f39190610406565b6001600160a01b0316606082015292915050565b6000806020838503121561031a57600080fd5b823567ffffffffffffffff8082111561033257600080fd5b818501915085601f83011261034657600080fd5b81358181111561035557600080fd5b86602082850101111561036757600080fd5b60209290920196919550909350505050565b6a29bab832b933363ab4b21760a91b81528183600b83013760009101600b01908152919050565b600060208083528351808285015260005b818110156103cd578581018301518582016040015282016103b1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461040357600080fd5b50565b60006020828403121561041857600080fd5b8151610423816103ee565b939250505056fea26469706673582212200f11cb8f4217514755b9ba31ea09e1414df99c1e68a6671fc44db93133449aee64736f6c63430008130033",wk=eb=>eb.length>1;class wT extends uw.lV{constructor(...eb){wk(eb)?super(...eb):super(wC,wx,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(wC)}static connect(eb,em){return new uw.CH(eb,wC,em)}}wT.bytecode=wx,wT.abi=wC;let w_=[{inputs:[],name:"SF_GOV_INVALID_LIQUIDATION_OR_PATRICIAN_PERIOD",type:"error"},{inputs:[],name:"SF_GOV_MUST_BE_CONTRACT",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"address",name:"factory",type:"address"},{indexed:!1,internalType:"bool",name:"authorized",type:"bool"}],name:"AppFactoryAuthorizationChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"address",name:"deployer",type:"address"},{indexed:!1,internalType:"string",name:"appRegistrationKey",type:"string"},{indexed:!1,internalType:"uint256",name:"expirationTs",type:"uint256"}],name:"AppRegistrationKeyChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"liquidationPeriod",type:"uint256"}],name:"CFAv1LiquidationPeriodChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"ConfigChanged",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:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{indexed:!1,internalType:"uint256",name:"patricianPeriod",type:"uint256"}],name:"PPPConfigurationChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"address",name:"rewardAddress",type:"address"}],name:"RewardAddressChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"minimumDeposit",type:"uint256"}],name:"SuperTokenMinimumDepositChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"address",name:"forwarder",type:"address"},{indexed:!1,internalType:"bool",name:"enabled",type:"bool"}],name:"TrustedForwarderChanged",type:"event"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"authorizeAppFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"token",type:"address[]"},{internalType:"address[]",name:"newAdmins",type:"address[]"}],name:"batchChangeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"},{internalType:"address[]",name:"tokenLogics",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"},{internalType:"uint256[]",name:"minimumDeposits",type:"uint256[]"}],name:"batchUpdateSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newAdmin",type:"address"}],name:"changeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"}],name:"clearAppRegistrationKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"clearConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"clearPPPConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"clearRewardAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"superToken",type:"address"}],name:"clearSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"disableTrustedForwarder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"enableTrustedForwarder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsAddress",outputs:[{internalType:"address",name:"value",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsUint256",outputs:[{internalType:"uint256",name:"period",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getPPPConfig",outputs:[{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getRewardAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getSuperTokenMinimumDeposit",outputs:[{internalType:"uint256",name:"value",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"rewardAddress",type:"address"},{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"},{internalType:"address[]",name:"trustedForwarders",type:"address[]"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"isAuthorizedAppFactory",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"isTrustedForwarder",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"agreementClass",type:"address"}],name:"registerAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"newGov",type:"address"}],name:"replaceGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"},{internalType:"uint256",name:"expirationTs",type:"uint256"}],name:"setAppRegistrationKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"address",name:"value",type:"address"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"uint256",name:"value",type:"uint256"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"}],name:"setPPPConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"rewardAddress",type:"address"}],name:"setRewardAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"setSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"unauthorizeAppFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"hostNewLogic",type:"address"},{internalType:"address[]",name:"agreementClassNewLogics",type:"address[]"},{internalType:"address",name:"superTokenFactoryNewLogic",type:"address"}],name:"updateContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"}],name:"verifyAppRegistrationKey",outputs:[{internalType:"bool",name:"validNow",type:"bool"},{internalType:"uint256",name:"expirationTs",type:"uint256"}],stateMutability:"view",type:"function"}],wS="0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611f488061007e6000396000f3fe608060405234801561001057600080fd5b50600436106102105760003560e01c80637f0558e411610125578063948eda5e116100ad578063d099b6a01161007c578063d099b6a0146104a6578063e447cc1d146104b9578063f047a2d9146104cc578063f2fde38b146104df578063f79a8e63146104f257600080fd5b8063948eda5e1461045a578063ab846f1a1461046d578063c9615a9814610480578063cadf8f851461049357600080fd5b80638a7ff2f7116100f45780638a7ff2f7146103ed5780638abe04e9146104005780638b93b3f5146104235780638da5cb5b146104365780638ecbd87b1461044757600080fd5b80637f0558e41461039857806380f70cba146103ab5780638369a0f1146103cc578063870299c0146103da57600080fd5b806342148deb116101a85780635a907818116101775780635a90781814610344578063640b6cc914610357578063715018a61461036a57806378707cb8146103725780637dce4f811461038557600080fd5b806342148deb146102e3578063427942a4146102f657806344864b2514610309578063452282351461031c57600080fd5b806321964473116101e45780632196447314610297578063256b5173146102aa57806325c955c3146102bd57806332552908146102d057600080fd5b806286d5551461021557806301a06b971461022a57806311cf00f11461023d57806319df62ab1461026c575b600080fd5b6102286102233660046118c3565b610505565b005b610228610238366004611909565b6105d2565b61025061024b3660046119e5565b610656565b6040805192151583526020830191909152015b60405180910390f35b61027f61027a366004611909565b610686565b6040516001600160a01b039091168152602001610263565b6102286102a5366004611a93565b6106ba565b6102286102b8366004611b16565b610735565b6102286102cb366004611909565b6107a8565b6102286102de366004611b16565b610804565b6102286102f1366004611b61565b610881565b610228610304366004611bb6565b610944565b610228610317366004611909565b610bf4565b61032f61032a366004611909565b610c5f565b60408051928352602083019190915201610263565b610228610352366004611c33565b610ca7565b610228610365366004611caf565b610d61565b610228610d71565b610228610380366004611cf0565b610d85565b610228610393366004611b16565b610d97565b6102286103a6366004611caf565b610df7565b6103be6103b9366004611caf565b610e6a565b604051908152602001610263565b61027f6103b9366004611caf565b6102286103e8366004611a93565b610edb565b6103be6103fb366004611909565b610fcd565b61041361040e366004611909565b610ffa565b6040519015158152602001610263565b610228610431366004611909565b611015565b6000546001600160a01b031661027f565b610228610455366004611909565b611098565b6102286104683660046119e5565b611109565b61022861047b366004611b16565b611177565b61022861048e366004611a93565b6111d3565b6102286104a1366004611909565b6112c5565b6102286104b4366004611d43565b6112fd565b6102286104c7366004611909565b61135d565b6104136104da366004611b16565b6113ce565b6102286104ed366004611dad565b6113e9565b6102286105003660046118c3565b611467565b8082111580610518575063ffffffff8210155b80610527575063ffffffff8110155b15610545576040516370b8cc0560e11b815260040160405180910390fd5b602082901b811761057885857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f788461146f565b6040805160018152602081018590529081018390526001600160a01b0380861691908716907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050505050565b6105fd82827fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78611522565b60408051600080825260208201819052918101919091526001600160a01b0380831691908416907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050565b600080600061066585856115e3565b9050600061067587600084610e6a565b428110159890975095505050505050565b60006106b383837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09610e6a565b9392505050565b8281146106c9576106c9611dca565b60005b8181101561072d5761071d868686848181106106ea576106ea611de0565b90506020020160208101906106ff9190611dad565b85858581811061071157610711611de0565b90506020020135610df7565b61072681611df6565b90506106cc565b505050505050565b8261073f81611616565b604051630c56507560e01b81526001600160a01b0384811660048301528381166024830152851690630c56507590604401600060405180830381600087803b15801561078a57600080fd5b505af115801561079e573d6000803e3d6000fd5b5050505050505050565b6107bc8260006107b78461164d565b611522565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d600060405161064a911515815260200190565b61083083837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09846116e0565b60408051600181526001600160a01b03838116602083015280851692908616917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91015b60405180910390a3505050565b8261088b81611616565b60005b8281101561093d57846001600160a01b031663fa6e0cfe8585848181106108b7576108b7611de0565b90506020020160208101906108cc9190611dad565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260006024820152604401600060405180830381600087803b15801561091457600080fd5b505af1158015610928573d6000803e3d6000fd5b505050508061093690611df6565b905061088e565b5050505050565b8461094e81611616565b6001600160a01b03851615610a0c576040516311a5465560e21b81526001600160a01b038681166004830152871690634695195490602401600060405180830381600087803b1580156109a057600080fd5b505af11580156109b4573d6000803e3d6000fd5b50505050846001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156109f357600080fd5b505af1158015610a07573d6000803e3d6000fd5b505050505b60005b83811015610b3057866001600160a01b03166306cecba8868684818110610a3857610a38611de0565b9050602002016020810190610a4d9190611dad565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015610a8e57600080fd5b505af1158015610aa2573d6000803e3d6000fd5b50505050848482818110610ab857610ab8611de0565b9050602002016020810190610acd9190611dad565b6001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b0757600080fd5b505af1158015610b1b573d6000803e3d6000fd5b5050505080610b2990611df6565b9050610a0f565b506001600160a01b0382161561072d576040516354fbc49360e01b81526001600160a01b0383811660048301528716906354fbc49390602401600060405180830381600087803b158015610b8357600080fd5b505af1158015610b97573d6000803e3d6000fd5b50505050816001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610bd657600080fd5b505af1925050508015610be7575060015b1561072d57505050505050565b81610bfe81611616565b604051631ca0c40360e21b81526001600160a01b038381166004830152841690637283100c906024015b600060405180830381600087803b158015610c4257600080fd5b505af1158015610c56573d6000803e3d6000fd5b50505050505050565b6000806000610c8f85857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78610e6a565b63ffffffff602082901c811697911695509350505050565b6001600160a01b038616610cbd57610cbd611dca565b6002546001600160a01b031615610cd657610cd6611dca565b600280546001600160a01b0319166001600160a01b038816908117909155610d0090600087610804565b610d0d8660008686610505565b60005b81811015610c5657600254610d51906001600160a01b03166000858585818110610d3c57610d3c611de0565b905060200201602081019061047b9190611dad565b610d5a81611df6565b9050610d10565b610d6c838383611522565b505050565b610d79611795565b610d8360006117ef565b565b610d91848484846116e0565b50505050565b610da583836107b78461183f565b60408051600181526001600160a01b038381166020830152600092820192909252818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d2790606001610874565b610e2383837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc48461146f565b6040805160018152602081018390526001600160a01b0380851692908616917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a539101610874565b6001600160a01b03808416600090815260016020908152604080832093861683529281528282208483529052908120805460ff16610ecf57506001600160a01b0384166000908152600160209081526040808320838052825280832085845290915290205b60010154949350505050565b84610ee581611616565b838214610ef457610ef4611dca565b60005b84811015610c5657866001600160a01b031663fa6e0cfe878784818110610f2057610f20611de0565b9050602002016020810190610f359190611dad565b868685818110610f4757610f47611de0565b9050602002016020810190610f5c9190611dad565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b158015610fa457600080fd5b505af1158015610fb8573d6000803e3d6000fd5b5050505080610fc690611df6565b9050610ef7565b60006106b383837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4610e6a565b600061100b8360006103b98561164d565b6001149392505050565b803b6000819003611039576040516380dddd7360e01b815260040160405180910390fd5b506110508260006110498461164d565b600161146f565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d600160405161064a911515815260200190565b6110c382827feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4611522565b60408051600080825260208201526001600160a01b0380841692908516917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a53910161064a565b600061111583836115e3565b905061112384600083611522565b826001600160a01b0316846001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc846000604051611169929190611e63565b60405180910390a350505050565b61118583836110498461183f565b6040805160018082526001600160a01b03848116602084015292820152818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d2790606001610874565b846111dd81611616565b8382146111ec576111ec611dca565b60005b84811015610c5657866001600160a01b0316630c56507587878481811061121857611218611de0565b905060200201602081019061122d9190611dad565b86868581811061123f5761123f611de0565b90506020020160208101906112549190611dad565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b15801561129c57600080fd5b505af11580156112b0573d6000803e3d6000fd5b50505050806112be90611df6565b90506111ef565b816112cf81611616565b6040516315a024e160e01b81526001600160a01b0383811660048301528416906315a024e190602401610c28565b600061130984846115e3565b9050611318856000838561146f565b836001600160a01b0316856001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc85856040516105c3929190611e63565b61138882827f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09611522565b60408051600080825260208201526001600160a01b0380841692908516917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb910161064a565b60006113de84846103b98561183f565b600114949350505050565b6113f1611795565b6001600160a01b03811661145b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b611464816117ef565b50565b610d91848484845b8361147981611616565b60408051848152600160208201529081018390526001600160a01b0380861691908716907f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e3909060600160405180910390a350604080518082018252600180825260208083019485526001600160a01b039788166000908152828252848120979098168852958652828720948752939094529093209151825460ff19169015151782559151910155565b8261152c81611616565b826001600160a01b0316846001600160a01b03167f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e39084600080604051611585939291909283529015156020830152604082015260600190565b60405180910390a350604080518082018252600080825260208083018281526001600160a01b03978816835260018083528584209790981683529581528382209482529390935291209051815460ff19169015151781559051910155565b600082826040516020016115f8929190611e85565b60405160208183030381529060405280519060200120905092915050565b6002546001600160a01b0382811691161461163357611633611dca565b6000546001600160a01b0316331461146457611464611dca565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b836116ea81611616565b60408051848152600160208201526001600160a01b03848116828401529151868316928816917f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e390919081900360600190a35060408051808201825260018082526001600160a01b03938416602080840191825297851660009081528289528481209790951685529587528284209484529390955290209251835460ff19169015151783559051910155565b6000546001600160a01b03163314610d835760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611452565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0016116c3565b6001600160a01b038116811461146457600080fd5b600080600080608085870312156118d957600080fd5b84356118e4816118ae565b935060208501356118f4816118ae565b93969395505050506040820135916060013590565b6000806040838503121561191c57600080fd5b8235611927816118ae565b91506020830135611937816118ae565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261196957600080fd5b813567ffffffffffffffff8082111561198457611984611942565b604051601f8301601f19908116603f011681019082821181831017156119ac576119ac611942565b816040528381528660208588010111156119c557600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156119fa57600080fd5b8335611a05816118ae565b92506020840135611a15816118ae565b9150604084013567ffffffffffffffff811115611a3157600080fd5b611a3d86828701611958565b9150509250925092565b60008083601f840112611a5957600080fd5b50813567ffffffffffffffff811115611a7157600080fd5b6020830191508360208260051b8501011115611a8c57600080fd5b9250929050565b600080600080600060608688031215611aab57600080fd5b8535611ab6816118ae565b9450602086013567ffffffffffffffff80821115611ad357600080fd5b611adf89838a01611a47565b90965094506040880135915080821115611af857600080fd5b50611b0588828901611a47565b969995985093965092949392505050565b600080600060608486031215611b2b57600080fd5b8335611b36816118ae565b92506020840135611b46816118ae565b91506040840135611b56816118ae565b809150509250925092565b600080600060408486031215611b7657600080fd5b8335611b81816118ae565b9250602084013567ffffffffffffffff811115611b9d57600080fd5b611ba986828701611a47565b9497909650939450505050565b600080600080600060808688031215611bce57600080fd5b8535611bd9816118ae565b94506020860135611be9816118ae565b9350604086013567ffffffffffffffff811115611c0557600080fd5b611c1188828901611a47565b9094509250506060860135611c25816118ae565b809150509295509295909350565b60008060008060008060a08789031215611c4c57600080fd5b8635611c57816118ae565b95506020870135611c67816118ae565b94506040870135935060608701359250608087013567ffffffffffffffff811115611c9157600080fd5b611c9d89828a01611a47565b979a9699509497509295939492505050565b600080600060608486031215611cc457600080fd5b8335611ccf816118ae565b92506020840135611cdf816118ae565b929592945050506040919091013590565b60008060008060808587031215611d0657600080fd5b8435611d11816118ae565b93506020850135611d21816118ae565b9250604085013591506060850135611d38816118ae565b939692955090935050565b60008060008060808587031215611d5957600080fd5b8435611d64816118ae565b93506020850135611d74816118ae565b9250604085013567ffffffffffffffff811115611d9057600080fd5b611d9c87828801611958565b949793965093946060013593505050565b600060208284031215611dbf57600080fd5b81356106b3816118ae565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060018201611e1657634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b81811015611e4357602081850181015186830182015201611e27565b506000602082860101526020601f19601f83011685010191505092915050565b604081526000611e766040830185611e1d565b90508260208301529392505050565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e060408201526000611f0a60e0830184611e1d565b94935050505056fea2646970667358221220d2b753b9c57fdf4d3b36f2012a3e8f74ce2ba229b0a7d876667cf98b23a5300364736f6c63430008130033",wE=eb=>eb.length>1;class wA extends uw.lV{constructor(...eb){wE(eb)?super(...eb):super(w_,wS,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(w_)}static connect(eb,em){return new uw.CH(eb,w_,em)}}wA.bytecode=wS,wA.abi=w_;let wN=[{inputs:[{internalType:"address",name:"_additionalAdmin",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"string",name:"name",type:"string"},{indexed:!1,internalType:"address",name:"target",type:"address"}],name:"Set",type:"event"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_additionalAdmin",type:"address"}],name:"addAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"}],name:"get",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"uint256",name:"index",type:"uint256"}],name:"getRoleMember",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleMemberCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"address",name:"target",type:"address"}],name:"set",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],wI="0x60806040523480156200001157600080fd5b5060405162000ed838038062000ed88339810160408190526200003491620001a2565b6200004160003362000055565b6200004e60008262000055565b50620001d4565b62000061828262000065565b5050565b62000071828262000090565b60008281526001602052604090206200008b908262000130565b505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1662000061576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620000ec3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600062000147836001600160a01b03841662000150565b90505b92915050565b600081815260018301602052604081205462000199575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200014a565b5060006200014a565b600060208284031215620001b557600080fd5b81516001600160a01b0381168114620001cd57600080fd5b9392505050565b610cf480620001e46000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80639010d07c116100715780639010d07c1461017857806391d148541461018b578063a217fddf1461019e578063a815ff15146101a6578063ca15c873146101b9578063d547741f146101cc57600080fd5b806301ffc9a7146100b9578063248a9ca3146100e15780632f2ff15d1461011257806336568abe14610127578063693ec85e1461013a5780637048027514610165575b600080fd5b6100cc6100c736600461098f565b6101df565b60405190151581526020015b60405180910390f35b6101046100ef3660046109b9565b60009081526020819052604090206001015490565b6040519081526020016100d8565b6101256101203660046109ee565b61020a565b005b6101256101353660046109ee565b610234565b61014d610148366004610a63565b6102b7565b6040516001600160a01b0390911681526020016100d8565b610125610173366004610aa5565b6102ec565b61014d610186366004610ac0565b6102fa565b6100cc6101993660046109ee565b610319565b610104600081565b6101256101b4366004610ae2565b610342565b6101046101c73660046109b9565b61042a565b6101256101da3660046109ee565b610441565b60006001600160e01b03198216635a05180f60e01b1480610204575061020482610466565b92915050565b6000828152602081905260409020600101546102258161049b565b61022f83836104a5565b505050565b6001600160a01b03811633146102a95760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6102b382826104c7565b5050565b6000600283836040516102cb929190610b36565b908152604051908190036020019020546001600160a01b0316905092915050565b6102f76000826104e9565b50565b600082815260016020526040812061031290836104f3565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b61034d600033610319565b6103925760405162461bcd60e51b815260206004820152601660248201527521b0b63632b91034b9903737ba1030b71030b236b4b760511b60448201526064016102a0565b80600284846040516103a5929190610b36565b90815260405190819003602001812080546001600160a01b03939093166001600160a01b0319909316929092179091556103e29084908490610b36565b6040519081900381206001600160a01b0383168252907f496595ced95720268cf8bc60bae3f35024ff2a130f73ac4e20f5c1eaca35db999060200160405180910390a2505050565b6000818152600160205260408120610204906104ff565b60008281526020819052604090206001015461045c8161049b565b61022f83836104c7565b60006001600160e01b03198216637965db0b60e01b148061020457506301ffc9a760e01b6001600160e01b0319831614610204565b6102f78133610509565b6104af8282610562565b600082815260016020526040902061022f90826105e6565b6104d182826105fb565b600082815260016020526040902061022f9082610660565b6102b382826104a5565b60006103128383610675565b6000610204825490565b6105138282610319565b6102b3576105208161069f565b61052b8360206106b1565b60405160200161053c929190610b6a565b60408051601f198184030181529082905262461bcd60e51b82526102a091600401610bdf565b61056c8282610319565b6102b3576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556105a23390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610312836001600160a01b03841661084d565b6106058282610319565b156102b3576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610312836001600160a01b03841661089c565b600082600001828154811061068c5761068c610c12565b9060005260206000200154905092915050565b60606102046001600160a01b03831660145b606060006106c0836002610c3e565b6106cb906002610c55565b67ffffffffffffffff8111156106e3576106e3610c68565b6040519080825280601f01601f19166020018201604052801561070d576020820181803683370190505b509050600360fc1b8160008151811061072857610728610c12565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061075757610757610c12565b60200101906001600160f81b031916908160001a905350600061077b846002610c3e565b610786906001610c55565b90505b60018111156107fe576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106107ba576107ba610c12565b1a60f81b8282815181106107d0576107d0610c12565b60200101906001600160f81b031916908160001a90535060049490941c936107f781610c7e565b9050610789565b5083156103125760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016102a0565b600081815260018301602052604081205461089457508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610204565b506000610204565b600081815260018301602052604081205480156109855760006108c0600183610c95565b85549091506000906108d490600190610c95565b90508181146109395760008660000182815481106108f4576108f4610c12565b906000526020600020015490508087600001848154811061091757610917610c12565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061094a5761094a610ca8565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610204565b6000915050610204565b6000602082840312156109a157600080fd5b81356001600160e01b03198116811461031257600080fd5b6000602082840312156109cb57600080fd5b5035919050565b80356001600160a01b03811681146109e957600080fd5b919050565b60008060408385031215610a0157600080fd5b82359150610a11602084016109d2565b90509250929050565b60008083601f840112610a2c57600080fd5b50813567ffffffffffffffff811115610a4457600080fd5b602083019150836020828501011115610a5c57600080fd5b9250929050565b60008060208385031215610a7657600080fd5b823567ffffffffffffffff811115610a8d57600080fd5b610a9985828601610a1a565b90969095509350505050565b600060208284031215610ab757600080fd5b610312826109d2565b60008060408385031215610ad357600080fd5b50508035926020909101359150565b600080600060408486031215610af757600080fd5b833567ffffffffffffffff811115610b0e57600080fd5b610b1a86828701610a1a565b9094509250610b2d9050602085016109d2565b90509250925092565b8183823760009101908152919050565b60005b83811015610b61578181015183820152602001610b49565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351610ba2816017850160208801610b46565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351610bd3816028840160208801610b46565b01602801949350505050565b6020815260008251806020840152610bfe816040850160208701610b46565b601f01601f19169190910160400192915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761020457610204610c28565b8082018082111561020457610204610c28565b634e487b7160e01b600052604160045260246000fd5b600081610c8d57610c8d610c28565b506000190190565b8181038181111561020457610204610c28565b634e487b7160e01b600052603160045260246000fdfea264697066735822122005c3fe88a1dada6d749cec73ee34d5992d254d743011de18cd43aa6eb870709b64736f6c63430008130033",wD=eb=>eb.length>1;class wP extends uw.lV{constructor(...eb){wD(eb)?super(...eb):super(wN,wI,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(wN)}static connect(eb,em){return new uw.CH(eb,wN,em)}}wP.bytecode=wI,wP.abi=wN;let wO=[{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"uint8",name:"initDecimals",type:"uint8"},{internalType:"uint256",name:"mintLimit",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"mint",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",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:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",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:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}],wR="0x6101806040523480156200001257600080fd5b50604051620017753803806200177583398101604081905262000035916200029f565b6040805180820190915260018152603160f81b60208201528490819081866003620000618382620003b9565b506004620000708282620003b9565b5062000082915083905060056200014d565b61012052620000938160066200014d565b61014052815160208084019190912060e052815190820120610100524660a0526200012160e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506009805460ff191660ff93909316929092179091556101605250620004df9050565b60006020835110156200016d57620001658362000186565b905062000180565b816200017a8482620003b9565b5060ff90505b92915050565b600080829050601f81511115620001bd578260405163305a27a960e01b8152600401620001b4919062000485565b60405180910390fd5b8051620001ca82620004ba565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101562000205578181015183820152602001620001eb565b50506000910152565b600082601f8301126200022057600080fd5b81516001600160401b03808211156200023d576200023d620001d2565b604051601f8301601f19908116603f01168101908282118183101715620002685762000268620001d2565b816040528381528660208588010111156200028257600080fd5b62000295846020830160208901620001e8565b9695505050505050565b60008060008060808587031215620002b657600080fd5b84516001600160401b0380821115620002ce57600080fd5b620002dc888389016200020e565b95506020870151915080821115620002f357600080fd5b5062000302878288016200020e565b935050604085015160ff811681146200031a57600080fd5b6060959095015193969295505050565b600181811c908216806200033f57607f821691505b6020821081036200036057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003b457600081815260208120601f850160051c810160208610156200038f5750805b601f850160051c820191505b81811015620003b0578281556001016200039b565b5050505b505050565b81516001600160401b03811115620003d557620003d5620001d2565b620003ed81620003e684546200032a565b8462000366565b602080601f8311600181146200042557600084156200040c5750858301515b600019600386901b1c1916600185901b178555620003b0565b600085815260208120601f198616915b82811015620004565788860151825594840194600190910190840162000435565b5085821015620004755787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251806020840152620004a6816040850160208701620001e8565b601f01601f19169190910160400192915050565b80516020808301519190811015620003605760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051611230620005456000396000610360015260006103f8015260006103cd01526000610a9001526000610a68015260006109c3015260006109ed01526000610a1701526112306000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d71461020d578063a9059cbb14610220578063d505accf14610233578063dd62ed3e1461024857600080fd5b806370a08231146101ae5780637ecebe00146101d757806384b0196e146101ea57806395d89b411461020557600080fd5b8063313ce567116100d3578063313ce5671461016b5780633644e51514610180578063395093511461018857806340c10f191461019b57600080fd5b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014657806323b872dd14610158575b600080fd5b61010d61025b565b60405161011a9190610f86565b60405180910390f35b610136610131366004610fbc565b6102ed565b604051901515815260200161011a565b6002545b60405190815260200161011a565b610136610166366004610fe6565b610307565b60095460405160ff909116815260200161011a565b61014a61032b565b610136610196366004610fbc565b61033a565b6101366101a9366004610fbc565b61035c565b61014a6101bc366004611022565b6001600160a01b031660009081526020819052604090205490565b61014a6101e5366004611022565b6103a1565b6101f26103bf565b60405161011a979695949392919061103d565b61010d610448565b61013661021b366004610fbc565b610457565b61013661022e366004610fbc565b6104d7565b6102466102413660046110d3565b6104e5565b005b61014a610256366004611146565b610649565b60606003805461026a90611179565b80601f016020809104026020016040519081016040528092919081815260200182805461029690611179565b80156102e35780601f106102b8576101008083540402835291602001916102e3565b820191906000526020600020905b8154815290600101906020018083116102c657829003601f168201915b5050505050905090565b6000336102fb818585610674565b60019150505b92915050565b600033610315858285610798565b610320858585610812565b506001949350505050565b60006103356109b6565b905090565b6000336102fb81858561034d8383610649565b61035791906111ad565b610674565b60007f000000000000000000000000000000000000000000000000000000000000000082111561038e5761038e6111ce565b6103988383610ae1565b50600192915050565b6001600160a01b038116600090815260076020526040812054610301565b6000606080828080836103f37f00000000000000000000000000000000000000000000000000000000000000006005610ba0565b61041e7f00000000000000000000000000000000000000000000000000000000000000006006610ba0565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606004805461026a90611179565b600033816104658286610649565b9050838110156104ca5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6103208286868403610674565b6000336102fb818585610812565b834211156105355760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016104c1565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886105648c610c4b565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006105bf82610c73565b905060006105cf82878787610ca0565b9050896001600160a01b0316816001600160a01b0316146106325760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016104c1565b61063d8a8a8a610674565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166106d65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c1565b6001600160a01b0382166107375760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c1565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006107a48484610649565b9050600019811461080c57818110156107ff5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016104c1565b61080c8484848403610674565b50505050565b6001600160a01b0383166108765760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104c1565b6001600160a01b0382166108d85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104c1565b6001600160a01b038316600090815260208190526040902054818110156109505760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104c1565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361080c565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610a0f57507f000000000000000000000000000000000000000000000000000000000000000046145b15610a3957507f000000000000000000000000000000000000000000000000000000000000000090565b610335604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b6001600160a01b038216610b375760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016104c1565b8060026000828254610b4991906111ad565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b606060ff8314610bba57610bb383610cc8565b9050610301565b818054610bc690611179565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf290611179565b8015610c3f5780601f10610c1457610100808354040283529160200191610c3f565b820191906000526020600020905b815481529060010190602001808311610c2257829003601f168201915b50505050509050610301565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b6000610301610c806109b6565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000610cb187878787610d07565b91509150610cbe81610dcb565b5095945050505050565b60606000610cd583610f18565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115610d3e5750600090506003610dc2565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610d92573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610dbb57600060019250925050610dc2565b9150600090505b94509492505050565b6000816004811115610ddf57610ddf6111e4565b03610de75750565b6001816004811115610dfb57610dfb6111e4565b03610e485760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016104c1565b6002816004811115610e5c57610e5c6111e4565b03610ea95760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016104c1565b6003816004811115610ebd57610ebd6111e4565b03610f155760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016104c1565b50565b600060ff8216601f81111561030157604051632cd44ac360e21b815260040160405180910390fd5b6000815180845260005b81811015610f6657602081850181015186830182015201610f4a565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610f996020830184610f40565b9392505050565b80356001600160a01b0381168114610fb757600080fd5b919050565b60008060408385031215610fcf57600080fd5b610fd883610fa0565b946020939093013593505050565b600080600060608486031215610ffb57600080fd5b61100484610fa0565b925061101260208501610fa0565b9150604084013590509250925092565b60006020828403121561103457600080fd5b610f9982610fa0565b60ff60f81b881681526000602060e08184015261105d60e084018a610f40565b838103604085015261106f818a610f40565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156110c1578351835292840192918401916001016110a5565b50909c9b505050505050505050505050565b600080600080600080600060e0888a0312156110ee57600080fd5b6110f788610fa0565b965061110560208901610fa0565b95506040880135945060608801359350608088013560ff8116811461112957600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561115957600080fd5b61116283610fa0565b915061117060208401610fa0565b90509250929050565b600181811c9082168061118d57607f821691505b602082108103610c6d57634e487b7160e01b600052602260045260246000fd5b8082018082111561030157634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052602160045260246000fdfea2646970667358221220757e5b1920d7f0835d86f2af560376d44474286d147e091682ffbf32f91271ff64736f6c63430008130033",wB=eb=>eb.length>1;class wF extends uw.lV{constructor(...eb){wB(eb)?super(...eb):super(wO,wR,eb[0])}deploy(eb,em,eH,eV,ew){return super.deploy(eb,em,eH,eV,ew||{})}getDeployTransaction(eb,em,eH,eV,ew){return super.getDeployTransaction(eb,em,eH,eV,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new uN.vU(wO)}static connect(eb,em){return new uw.CH(eb,wO,em)}}wF.bytecode=wR,wF.abi=wO;var wj=eH(19485),wU=[{name:"eth-goerli",isTestnet:!0,networkId:5,chainId:5,sfId:101,shortName:"goerli",uppercaseName:"ETH_GOERLI",humanReadableName:"Goerli",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0x5943f705abb6834cad767e6e4bb258bc48d9c947",contractsV1:{resolver:"0x3710AB3fDE2B61736B8BB0CE845D6c61F667a78E",host:"0x22ff293e14F1EC3A09B137e9e06084AFd63adDF9",governance:"0x3a648764a6d66440ca096343937c711a7ac1b1e9",cfaV1:"0xEd6BcbF6907D4feEEe8a8875543249bEa9D308E8",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0xfDdcdac21D64B639546f3Ce2868C7EF06036990c",gdaV1:"0x3dB8Abd8B696F6c4150212A85961f954825Dd4B9",superTokenFactory:"0x94f26B4c8AD12B18c12f38E878618f7664bdcCE2",constantOutflowNFT:"0xB18cbFeA12b5CB2626C74c94920dB1B37Ae91506",constantInflowNFT:"0xF07df8b66ed80399B1E00981D61aD34EB4293032",superfluidLoader:"0x74d860243Ff08A243d5485899f343117EbDa6eA8",toga:"0xa54FC15FC75693447d70a57262F37a70B614721b",flowScheduler:"0xf428308b426D7cD7Ad8eBE549d750f31C8E060Ca",vestingScheduler:"0xF9240F930d847F70ad900aBEE8949F25649Bf24a",autowrap:{manager:"0x0B82D14E9616ca4d260E77454834AdCf5887595F",wrapStrategy:"0xea49af829d3e28d3ec49e0e0a0ba1e7860a56f60"},existentialNFTCloneFactory:"0x3e5e8449477F80a3Dc0bA394882AeAB300c7F807"},startBlockV1:355e4,logsQueryRange:1e4,explorer:"https://goerli.etherscan.io",subgraphV1:{name:"protocol-v1-goerli",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-goerli"},subgraphVesting:{name:"vesting-v1-eth-goerli",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/vesting-v1-eth-goerli"},subgraphFlowScheduler:{name:"scheduling-v1-eth-goerli",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/scheduling-v1-eth-goerli"},subgraphAutoWrap:{name:"auto-wrap-v1-eth-goerli",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/auto-wrap-v1-eth-goerli"},publicRPCs:["https://rpc.ankr.com/eth_goerli","https://goerli.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161"],trustedForwarders:["0xE041608922d06a4F26C0d4c27d8bCD01daf1f792","0xb539068872230f20456CF38EC52EF2f91AF4AE49","0xd8253782c45a12053594b9deB72d8e8aB2Fca54c"]},{name:"polygon-mumbai",isTestnet:!0,networkId:80001,chainId:80001,sfId:102,shortName:"mumbai",uppercaseName:"POLYGON_MUMBAI",humanReadableName:"Polygon Mumbai",nativeTokenSymbol:"MATIC",nativeTokenWrapper:"0x96B82B65ACF7072eFEb00502F45757F254c2a0D4",contractsV1:{resolver:"0x8C54C83FbDe3C59e59dd6E324531FB93d4F504d3",host:"0xEB796bdb90fFA0f28255275e16936D25d3418603",cfaV1:"0x49e565Ed1bdc17F3d220f72DF0857C26FA83F873",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x804348D4960a61f2d5F9ce9103027A3E849E09b8",gdaV1:"0x63ab406B6eF6c8be732c1edbd15464de16a8F46D",superTokenFactory:"0xB798553db6EB3D3C56912378409370145E97324B",constantOutflowNFT:"0x502CC982947216C0f94e433BC78c413806301C07",constantInflowNFT:"0x9906A7e948C642B6bc74b9A5EAfCddB3580b44e0",superfluidLoader:"0x0d56ED56b63382B0FC964490feB9AE438B6B4b79",toga:"0x38DD80876DBA048d0050D28828522c313967D073",superSpreader:"0x74CDF863b00789c29734F8dFd9F83423Bc55E4cE",flowScheduler:"0x59A3Ba9d34c387FB70b4f4e4Fbc9eD7519194139",vestingScheduler:"0x3962EE56c9f7176215D149938BA685F91aBB633B",autowrap:{manager:"0x3eAB3c6207F488E475b7955B631B564F0E6317B9",wrapStrategy:"0x544728AFDBeEafBeC9e1329031788edb53017bC4"},existentialNFTCloneFactory:"0xfC4E49AfcDDDcc2B90794DC214cc324d17B15619"},startBlockV1:81e5,logsQueryRange:1e4,explorer:"https://mumbai.polygonscan.com",subgraphV1:{name:"protocol-v1-mumbai",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-mumbai"},subgraphVesting:{name:"vesting-v1-polygon-mumbai",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/vesting-v1-polygon-mumbai"},subgraphFlowScheduler:{name:"scheduling-v1-polygon-mumbai",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/scheduling-v1-polygon-mumbai"},subgraphAutoWrap:{name:"auto-wrap-v1-polygon-mumbai",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/auto-wrap-v1-polygon-mumbai"},publicRPCs:["https://rpc.ankr.com/polygon_mumbai","https://matic-mumbai.chainstacklabs.com"],trustedForwarders:["0x9399bb24dbb5c4b782c70c2969f58716ebbd6a3b","0x69015912AA33720b842dCD6aC059Ed623F28d9f7","0xb539068872230f20456CF38EC52EF2f91AF4AE49","0xd8253782c45a12053594b9deB72d8e8aB2Fca54c"]},{name:"optimism-goerli",isTestnet:!0,networkId:420,chainId:420,sfId:103,shortName:"opgoerli",uppercaseName:"OPTIMISM_GOERLI",humanReadableName:"Optimism Goerli",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0xE01F8743677Da897F4e7De9073b57Bf034FC2433",contractsV1:{resolver:"0x21d4E9fbB9DB742E6ef4f29d189a7C18B0b59136",host:"0xE40983C2476032A0915600b9472B3141aA5B5Ba9",cfaV1:"0xff48668fa670A85e55A7a822b352d5ccF3E7b18C",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x96215257F2FcbB00135578f766c0449d239bd92F",gdaV1:"0xe87F46A15C410F151309Bf7516e130087Fc6a5E5",superTokenFactory:"0xfafe31cf998Df4e5D8310B03EBa8fb5bF327Eaf5",constantOutflowNFT:"0xDF874BA132D8C68FEb5De513790f7612Fe20dDbd",constantInflowNFT:"0xf88dd7208438Fdc5Ad05857eA701b7b51cdae0a9",superfluidLoader:"0x5Bb5908dcCC9Bb0fC39a78CfDf9e47B4C08E9521",existentialNFTCloneFactory:"0xFCb633f4ff90241391aD92E4678eC2a11a94a990"},startBlockV1:34e4,logsQueryRange:5e4,explorer:"https://goerli-optimism.etherscan.io",subgraphV1:{name:"protocol-v1-optimism-goerli",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-optimism-goerli"},publicRPCs:["https://goerli.optimism.io","https://opt-goerli.g.alchemy.com/v2/demo"],trustedForwarders:["0x9C73373C70F23920EA54F7883dCB1F85b162Df40","0xb539068872230f20456CF38EC52EF2f91AF4AE49","0xd8253782c45a12053594b9deB72d8e8aB2Fca54c"]},{name:"arbitrum-goerli",isTestnet:!0,networkId:421613,chainId:421613,sfId:104,shortName:"arbgoerli",uppercaseName:"ARBITRUM_GOERLI",humanReadableName:"Arbitrum Goerli",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0xE01F8743677Da897F4e7De9073b57Bf034FC2433",contractsV1:{resolver:"0x21d4E9fbB9DB742E6ef4f29d189a7C18B0b59136",host:"0xE40983C2476032A0915600b9472B3141aA5B5Ba9",cfaV1:"0xff48668fa670A85e55A7a822b352d5ccF3E7b18C",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x96215257F2FcbB00135578f766c0449d239bd92F",gdaV1:"0xe87F46A15C410F151309Bf7516e130087Fc6a5E5",superTokenFactory:"0xfafe31cf998Df4e5D8310B03EBa8fb5bF327Eaf5",constantOutflowNFT:"0xDF874BA132D8C68FEb5De513790f7612Fe20dDbd",constantInflowNFT:"0xf88dd7208438Fdc5Ad05857eA701b7b51cdae0a9",superfluidLoader:"0x5Bb5908dcCC9Bb0fC39a78CfDf9e47B4C08E9521",existentialNFTCloneFactory:"0x22f391AB6755F0A8986AFD543289C43701beaCAa"},startBlockV1:93e3,logsQueryRange:5e4,explorer:"https://goerli.arbiscan.io",subgraphV1:{name:"protocol-v1-arbitrum-goerli",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-arbitrum-goerli"},publicRPCs:["https://goerli-rollup.arbitrum.io/rpc","https://arb-goerli.g.alchemy.com/v2/demo"],trustedForwarders:["0xb539068872230f20456CF38EC52EF2f91AF4AE49","0xd8253782c45a12053594b9deB72d8e8aB2Fca54c"]},{name:"avalanche-fuji",isTestnet:!0,networkId:43113,chainId:43113,sfId:105,shortName:"fuji",uppercaseName:"AVALANCHE_FUJI",humanReadableName:"Avalanche Fuji",nativeTokenSymbol:"AVAX",nativeTokenWrapper:"0xfFD0f6d73ee52c68BF1b01C8AfA2529C97ca17F3",contractsV1:{resolver:"0xf0ec6A8842Ca72Aec8A4D4573E731242389e18A8",host:"0x85Fe79b998509B77BF10A8BD4001D58475D29386",cfaV1:"0x16843ac25Ccc58Aa7960ba05f61cBB17b36b130A",cfaV1Forwarder:"0x2CDd45c5182602a36d391F7F16DD9f8386C3bD8D",idaV1:"0xA44dEC7A0Dde1a56AeDe4143C1ef89cf5d956782",gdaV1:"0x51f571D934C59185f13d17301a36c07A2268B814",superTokenFactory:"0x1C92042426B6bAAe497bEf461B6d8342D03aEc92",constantOutflowNFT:"0x49583f57EFeBe733EC872c5d5437116085a3eE3c",constantInflowNFT:"0x67d0Efab10b390206b356BA7FB453Ab56AAB7480",superfluidLoader:"0x96C3C2d23d143301cF363a02cB7fe3596d2834d7",autowrap:{manager:"0x30aE282CF477E2eF28B14d0125aCEAd57Fe1d7a1",wrapStrategy:"0x1D65c6d3AD39d454Ea8F682c49aE7744706eA96d"},existentialNFTCloneFactory:"0xF76529ddEE7AA7890323eCa40C212758DD93B888"},startBlockV1:322e4,logsQueryRange:5e4,explorer:"https://testnet.snowtrace.io",subgraphV1:{name:"protocol-v1-avalanche-fuji",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-avalanche-fuji"},publicRPCs:["https://api.avax-test.network/ext/bc/C/rpc","https://avalanche-fuji-c-chain.publicnode.com"],trustedForwarders:["0x6271Ca63D30507f2Dcbf99B52787032506D75BBF","0xb539068872230f20456CF38EC52EF2f91AF4AE49","0xd8253782c45a12053594b9deB72d8e8aB2Fca54c"]},{name:"eth-sepolia",isTestnet:!0,networkId:11155111,chainId:11155111,sfId:106,shortName:"sepolia",uppercaseName:"ETH_SEPOLIA",humanReadableName:"Sepolia",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0x30a6933Ca9230361972E413a15dC8114c952414e",contractsV1:{resolver:"0x6813edE4E78ecb830d380d0F7F684c12aAc95F02",host:"0x109412E3C84f0539b43d39dB691B08c90f58dC7c",cfaV1:"0x6836F23d6171D74Ef62FcF776655aBcD2bcd62Ef",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x9358C7dCCc6B8CA6F526311e8ac266F8C861B7ea",superTokenFactory:"0x254C2e152E8602839D288A7bccdf3d0974597193",constantOutflowNFT:"0xfBE332e001D6b54e1F4B63c2343B8E7746d99Ece",constantInflowNFT:"0xC95346B7394009ccEfaA62Eca28797804B2bCF1C",superfluidLoader:"0x554c06487bEc8c890A0345eb05a5292C1b1017Bd",existentialNFTCloneFactory:"0x0D1F0d4629B722b4dFabd195c14F12f2095418d9"},startBlockV1:3322400,logsQueryRange:1e4,explorer:"https://sepolia.etherscan.io",subgraphV1:{name:"protocol-v1-eth-sepolia",satsumaEndpoint:"https://subgraph.satsuma-prod.com/c5br3jaVlJI6/superfluid/eth-sepolia/api"},publicRPCs:["https://rpc.sepolia.org","https://ethereum-sepolia.blockpi.network/v1/rpc/public"]},{name:"base-goerli",isTestnet:!0,networkId:84531,chainId:84531,sfId:107,shortName:"bgoerli",uppercaseName:"BASE_GOERLI",humanReadableName:"Base Goerli",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0x7fFCE315B2014546bA461d54eDed7AAc70DF4f53",contractsV1:{resolver:"0x598D5dB9902cbBd6e8Ee9CDb3A231377cdA2f018",host:"0x507c3a7C6Ccc253884A2e3a3ee2A211cC7E796a6",cfaV1:"0x4C476F2Fb27272680F2f6f2592E94d9e704691bC",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0xaa4FCc799B8857FA87b2945Dc6572D5d76b35485",superTokenFactory:"0x1015BE31D7711D95d2c3444708FB53cC851ba856",constantOutflowNFT:"0x4E89088Cd14064f38E5B2F309cFaB9C864F9a8e6",constantInflowNFT:"0xda6db863cb2EE39b196edB8159c38A1ed5c55344",superfluidLoader:"0x15F0Ca26781C3852f8166eD2ebce5D18265cceb7",existentialNFTCloneFactory:"0x42B332F56BCD15F0D7cd523E5eC26Cd0734621eD"},startBlockV1:5249500,logsQueryRange:1e4,explorer:"https://goerli.basescan.org/",subgraphV1:{name:"protocol-v1-base-goerli"},publicRPCs:["https://goerli.base.org","https://base-goerli.public.blastapi.io"],trustedForwarders:["0xb539068872230f20456CF38EC52EF2f91AF4AE49","0xd8253782c45a12053594b9deB72d8e8aB2Fca54c"]},{name:"polygon-zkevm-testnet",isTestnet:!0,networkId:1442,chainId:1442,sfId:108,shortName:"pzkevmtest",uppercaseName:"POLYGON_ZKEVM_TESTNET",humanReadableName:"Polygon zkEVM Testnet",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0x6345Aa6cec42a85160CF436810F97661e28c1876",contractsV1:{resolver:"0x642332562BC60a4Bd9681E7bb1588f7456A497aC",host:"0xe64f81d5dDdA1c7172e5C6d964E8ef1BD82D8704",cfaV1:"0x1EAa5ceA064aab2692AF257FB31f5291fdA3Cdee",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0xBf22019a4A4430bA67D3B0c8B4d5Edc48F913301",superTokenFactory:"0x0F3B163623F05b2BfF42956f7C7bd31456bd83a2",constantOutflowNFT:"0xDBD6f113E46A99D7BF95edfa47390c0c8127E922",constantInflowNFT:"0xcb05535bd212eCFC4B7b9db81d6C2C768b726776",superfluidLoader:"0xda6db863cb2EE39b196edB8159c38A1ed5c55344",existentialNFTCloneFactory:"0x70bbB7a057A13070dF11d533e8f299357D778637"},startBlockV1:726e3,logsQueryRange:2e4,explorer:"https://testnet-zkevm.polygonscan.org/",subgraphV1:{name:"protocol-v1-polygon-zkevm-testnet"},publicRPCs:["https://rpc.public.zkevm-test.net"],trustedForwarders:["0xb539068872230f20456CF38EC52EF2f91AF4AE49","0xd8253782c45a12053594b9deB72d8e8aB2Fca54c"]},{name:"xdai-mainnet",isTestnet:!1,networkId:100,chainId:100,sfId:1,shortName:"xdai",uppercaseName:"XDAI_MAINNET",humanReadableName:"Gnosis Chain",nativeTokenSymbol:"xDAI",nativeTokenWrapper:"0x59988e47A3503AaFaA0368b9deF095c818Fdca01",contractsV1:{resolver:"0xD2009765189164b495c110D61e4D301729079911",host:"0x2dFe937cD98Ab92e59cF3139138f18c823a4efE7",governance:"0xaCc7380323681fdb8a0B9F2FE7d69dDFf0664478",cfaV1:"0xEbdA4ceF883A7B12c4E669Ebc58927FBa8447C7D",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x7888ac96F987Eb10E291F34851ae0266eF912081",superTokenFactory:"0x23410e2659380784498509698ed70E414D384880",constantOutflowNFT:"0xfC00dEE8a980110c5608A823a5B3af3872635456",constantInflowNFT:"0x1497440B4E92DC4ca0F76223b28C20Cb9cB8a0f1",superfluidLoader:"0x21d4E9fbB9DB742E6ef4f29d189a7C18B0b59136",toga:"0xb7DE52F4281a7a276E18C40F94cd93159C4A2d22",batchLiquidator:"0x27636F8E129cdd4ccA0F30E2b4C116DDaC773bE5",superSpreader:"0x74CDF863b00789c29734F8dFd9F83423Bc55E4cE",flowScheduler:"0x9cC7fc484fF588926149577e9330fA5b2cA74336",vestingScheduler:"0x0170FFCC75d178d426EBad5b1a31451d00Ddbd0D",wrapManager:"0x7a2899D179a8F205C8EDAd2e52954cA5f6d48D1A",autowrap:{manager:"0x8082e58681350876aFe8f52d3Bf8672034A03Db0",wrapStrategy:"0x51FBAbD31A615E14b1bC12E9d887f60997264a4E"},existentialNFTCloneFactory:"0xCd67c5bC1dfA3FF7d86b5ABc62A65C912Cbd2DA7"},startBlockV1:1482e4,logsQueryRange:2e4,explorer:"https://gnosisscan.io",subgraphV1:{name:"protocol-v1-xdai",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-xdai",satsumaEndpoint:"https://subgraph.satsuma-prod.com/c5br3jaVlJI6/superfluid/xdai/api"},subgraphVesting:{name:"vesting-v1-xdai-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/vesting-v1-xdai-mainnet"},subgraphFlowScheduler:{name:"scheduling-v1-xdai-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/scheduling-v1-xdai-mainnet"},subgraphAutoWrap:{name:"auto-wrap-v1-xdai-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/auto-wrap-v1-xdai-mainnet"},publicRPCs:["https://rpc.gnosischain.com","https://gnosischain-rpc.gateway.pokt.network"],coinGeckoId:"xdai"},{name:"polygon-mainnet",isTestnet:!1,networkId:137,chainId:137,sfId:2,shortName:"matic",uppercaseName:"POLYGON_MAINNET",humanReadableName:"Polygon",nativeTokenSymbol:"MATIC",nativeTokenWrapper:"0x3aD736904E9e65189c3000c7DD2c8AC8bB7cD4e3",contractsV1:{resolver:"0xE0cc76334405EE8b39213E620587d815967af39C",host:"0x3E14dC1b13c488a8d5D310918780c983bD5982E7",governance:"0x3AD3f7A0965Ce6f9358AD5CCE86Bc2b05F1EE087",cfaV1:"0x6EeE6060f715257b970700bc2656De21dEdF074C",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0xB0aABBA4B2783A72C52956CDEF62d438ecA2d7a1",superTokenFactory:"0x2C90719f25B10Fc5646c82DA3240C76Fa5BcCF34",constantOutflowNFT:"0x554e2bbaCF43FD87417b7201A9F1649a3ED89d68",constantInflowNFT:"0x55909bB8cd8276887Aae35118d60b19755201c68",superfluidLoader:"0x15F0Ca26781C3852f8166eD2ebce5D18265cceb7",toga:"0x6AEAeE5Fd4D05A741723D752D30EE4D72690A8f7",batchLiquidator:"0xA6Cdb472e7E22Bf30ae6fB752E4a13eBF3c12165",flowScheduler:"0x55F7758dd99d5e185f4CC08d4Ad95B71f598264D",vestingScheduler:"0xcFE6382B33F2AdaFbE46e6A26A88E0182ae32b0c",autowrap:{manager:"0x2581c27E7f6D6AF452E63fCe884EDE3EDd716b32",wrapStrategy:"0xb4afa36BAd8c76976Dc77a21c9Ad711EF720eE4b"},existentialNFTCloneFactory:"0x497aa106Da00BFa8f8BC266EF0793131930Fa630"},startBlockV1:11650500,logsQueryRange:1e4,explorer:"https://polygonscan.com",subgraphV1:{name:"protocol-v1-matic",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-matic",satsumaEndpoint:"https://subgraph.satsuma-prod.com/c5br3jaVlJI6/superfluid/matic/api"},subgraphVesting:{name:"vesting-v1-polygon-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/vesting-v1-polygon-mainnet"},subgraphFlowScheduler:{name:"scheduling-v1-polygon-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/scheduling-v1-polygon-mainnet"},subgraphAutoWrap:{name:"auto-wrap-v1-polygon-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/auto-wrap-v1-polygon-mainnet"},publicRPCs:["https://polygon-rpc.com","https://poly-rpc.gateway.pokt.network"],coinGeckoId:"polygon-pos"},{name:"optimism-mainnet",isTestnet:!1,networkId:10,chainId:10,sfId:3,shortName:"optimism",uppercaseName:"OPTIMISM_MAINNET",humanReadableName:"Optimism",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0x4ac8bD1bDaE47beeF2D1c6Aa62229509b962Aa0d",contractsV1:{resolver:"0x743B5f46BC86caF41bE4956d9275721E0531B186",host:"0x567c4B141ED61923967cA25Ef4906C8781069a10",governance:"0x0170FFCC75d178d426EBad5b1a31451d00Ddbd0D",cfaV1:"0x204C6f131bb7F258b2Ea1593f5309911d8E458eD",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0xc4ce5118C3B20950ee288f086cb7FC166d222D4c",superTokenFactory:"0x8276469A443D5C6B7146BED45e2abCaD3B6adad9",constantOutflowNFT:"0xFb2b126660BE2fdEBa254b1F6e4348644E8482e7",constantInflowNFT:"0x0C6D90a98426bfD572a5c5Be572a7f6Bd1C5ED76",superfluidLoader:"0x8E310ce29Ab7Fa2878944A65BB0eaF97B1853d40",toga:"0xA3c8502187fD7a7118eAD59dc811281448946C8f",batchLiquidator:"0x36Df169DBf5CE3c6f58D46f0addeF58F01381232",flowScheduler:"0x55c8fc400833eEa791087cF343Ff2409A39DeBcC",vestingScheduler:"0x65377d4dfE9c01639A41952B5083D58964782892",autowrap:{manager:"0x1fA76f2Cd0C3fe6c399A80111408d9C42C0CAC23",wrapStrategy:"0x0Cf060a501c0040e9CCC708eFE94079F501c6Bb4"},existentialNFTCloneFactory:"0xCb0Ff4D0cA186f0Fc0301258066Fe3fA258417a6"},startBlockV1:43e5,logsQueryRange:5e4,explorer:"https://optimistic.etherscan.io",subgraphV1:{name:"protocol-v1-optimism-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-optimism-mainnet"},subgraphVesting:{name:"vesting-v1-optimism-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/vesting-v1-optimism-mainnet"},subgraphFlowScheduler:{name:"scheduling-v1-optimism-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/scheduling-v1-optimism-mainnet"},subgraphAutoWrap:{name:"auto-wrap-v1-optimism-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/auto-wrap-v1-optimism-mainnet"},publicRPCs:["https://mainnet.optimism.io","https://rpc.ankr.com/optimism"],coinGeckoId:"optimistic-ethereum"},{name:"arbitrum-one",isTestnet:!1,networkId:42161,chainId:42161,sfId:4,shortName:"arbone",uppercaseName:"ARBITRUM_ONE",humanReadableName:"Arbitrum One",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0xe6C8d111337D0052b9D88BF5d7D55B7f8385ACd3",contractsV1:{resolver:"0x609b9d9d6Ee9C3200745A79B9d3398DBd63d509F",host:"0xCf8Acb4eF033efF16E8080aed4c7D5B9285D2192",governance:"0x0170FFCC75d178d426EBad5b1a31451d00Ddbd0D",cfaV1:"0x731FdBB12944973B500518aea61942381d7e240D",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x2319C7e07EB063340D2a0E36709B0D65fda75986",superTokenFactory:"0x1C21Ead77fd45C84a4c916Db7A6635D0C6FF09D6",constantOutflowNFT:"0x051e766e2d8dc65ae2bFCF084A50AD0447634227",constantInflowNFT:"0x0043d7c85C8b96a49A72A92C0B48CdC4720437d7",superfluidLoader:"0xB99cA401e10D277345BcFb281AC148a2e16Db466",toga:"0xFC63B7C762B10670Eda15cF3ca3970bCDB28C9eF",batchLiquidator:"0x6C66e5c5D201A753ff497F2e9eC5D545631854d0",flowScheduler:"0x3fA8B653F9abf91428800C0ba0F8D145a71F97A1",vestingScheduler:"0x55c8fc400833eEa791087cF343Ff2409A39DeBcC",autowrap:{manager:"0xf01825eAFAe5CD1Dab5593EFAF218efC8968D272",wrapStrategy:"0x342076aA957B0ec8bC1d3893af719b288eA31e61"},existentialNFTCloneFactory:"0xF353978890204756fc5fa6dfbD16a91eac9E6f4d"},startBlockV1:76e5,logsQueryRange:5e4,explorer:"https://arbiscan.io",subgraphV1:{name:"protocol-v1-arbitrum-one",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-arbitrum-one"},subgraphVesting:{name:"vesting-v1-arbitrum-one",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/vesting-v1-arbitrum-one"},subgraphFlowScheduler:{name:"scheduling-v1-arbitrum-one",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/scheduling-v1-arbitrum-one"},subgraphAutoWrap:{name:"auto-wrap-v1-arbitrum-one",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/auto-wrap-v1-arbitrum-one"},publicRPCs:["https://arb1.arbitrum.io/rpc","https://arbitrum.blockpi.network/v1/rpc/public"],coinGeckoId:"arbitrum-one"},{name:"avalanche-c",isTestnet:!1,networkId:43114,chainId:43114,sfId:5,shortName:"avalanche",uppercaseName:"AVALANCHE_C",humanReadableName:"Avalanche C",nativeTokenSymbol:"AVAX",nativeTokenWrapper:"0xBE916845D8678b5d2F7aD79525A62D7c08ABba7e",contractsV1:{resolver:"0x24a3F04F70B7f07B9673EadD3e146391BcfEa5c1",host:"0x60377C7016E4cdB03C87EF474896C11cB560752C",governance:"0xF74390BabA510ec2fE196c2e02B037380d7a6F12",cfaV1:"0x6946c5B38Ffea373b0a2340b4AEf0De8F6782e58",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x1fA9fFe8Db73F701454B195151Db4Abb18423cf2",superTokenFactory:"0x464AADdBB2B80f3Cb666522EB7381bE610F638b4",constantOutflowNFT:"0x4247bA6C3658Fa5C0F523BAcea8D0b97aF1a175e",constantInflowNFT:"0x82b9D8A91A5b333b5A6e78439551ea0E7da153E3",superfluidLoader:"0x2601E69a2D16C8Ccc8aEe8cE9F59d24a59986B9E",toga:"0x3D9A67D5ec1E72CEcA8157e028855056786b6159",batchLiquidator:"0xdddaD64A9Fe7709A729C4a5428617e369278e0b6",flowScheduler:"0xF7AfF590E9DE493D7ACb421Fca7f1E35C1ad4Ce5",vestingScheduler:"0x3fA8B653F9abf91428800C0ba0F8D145a71F97A1",autowrap:{manager:"0x8082e58681350876aFe8f52d3Bf8672034A03Db0",wrapStrategy:"0x51FBAbD31A615E14b1bC12E9d887f60997264a4E"},existentialNFTCloneFactory:"0x94aE5f52E401A5766b0877d2f030cFb9C3792BD7"},startBlockV1:147e5,logsQueryRange:5e4,explorer:"https://snowtrace.io",subgraphV1:{name:"protocol-v1-avalanche-c",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-avalanche-c"},subgraphVesting:{name:"vesting-v1-avalanche-c",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/vesting-v1-avalanche-c"},subgraphFlowScheduler:{name:"scheduling-v1-avalanche-c",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/scheduling-v1-avalanche-c"},subgraphAutoWrap:{name:"auto-wrap-v1-avalanche-c",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/auto-wrap-v1-avalanche-c"},publicRPCs:["https://api.avax.network/ext/bc/C/rpc","https://rpc.ankr.com/avalanche"],coinGeckoId:"avalanche"},{name:"bsc-mainnet",isTestnet:!1,networkId:56,chainId:56,sfId:5,shortName:"bsc",uppercaseName:"BSC_MAINNET",humanReadableName:"BNB Smart Chain",nativeTokenSymbol:"BNB",nativeTokenWrapper:"0x529A4116F160c833c61311569D6B33dFF41fD657",contractsV1:{resolver:"0x69604aA4e9e8BF44A73C680997205Edb03A92E41",host:"0xd1e2cFb6441680002Eb7A44223160aB9B67d7E6E",governance:"0xee07D9fce4Cf2a891BC979E9d365929506C2982f",cfaV1:"0x49c38108870e74Cb9420C0991a85D3edd6363F75",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x594ed9Cd773584B645aC1F5B11020d3b32cDF07d",superTokenFactory:"0x8bde47397301F0Cd31b9000032fD517a39c946Eb",constantOutflowNFT:"0xcb05535bd212eCFC4B7b9db81d6C2C768b726776",constantInflowNFT:"0xbF7BCcE8D60A9C3F6bFaEc9346Aa85B9f781a4e9",superfluidLoader:"0x3C26e5bEbc68EaAf4efcd88F8E5A6Aeb77b65579",toga:"0xFCD84210f5d51Cd40a30443d44d6A5500d5D10dF",batchLiquidator:"0x5487d078CA8933e83d91d5E7AFBe3A7bfC3412d6",flowScheduler:"0x2f9e2A2A59405682d4F86779275CF5525AD7eC2B",vestingScheduler:"0x9B91c27f78376383003C6A12Ad12B341d016C5b9",autowrap:{manager:"0x2AcdD61ac1EFFe1535109449c31889bdE8d7f325",wrapStrategy:"0x9e308cb079ae130790F604b1030cDf386670f199"},existentialNFTCloneFactory:"0xe9F27eb8cdAaA0B01a4034e109496C3026b01bd9"},startBlockV1:188e5,logsQueryRange:5e3,explorer:"https://bscscan.com",subgraphV1:{name:"protocol-v1-bsc-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-bsc-mainnet"},subgraphVesting:{name:"vesting-v1-bsc-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/vesting-v1-bsc-mainnet"},subgraphFlowScheduler:{name:"scheduling-v1-bsc-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/scheduling-v1-bsc-mainnet"},subgraphAutoWrap:{name:"auto-wrap-v1-bsc-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/auto-wrap-v1-bsc-mainnet"},publicRPCs:["https://bscrpc.com","https://bsc-dataseed.binance.org"],coinGeckoId:"binance-smart-chain"},{name:"eth-mainnet",isTestnet:!1,networkId:1,chainId:1,sfId:6,shortName:"mainnet",uppercaseName:"ETH_MAINNET",humanReadableName:"Ethereum",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0xC22BeA0Be9872d8B7B3933CEc70Ece4D53A900da",contractsV1:{resolver:"0xeE4cD028f5fdaAdeA99f8fc38e8bA8A57c90Be53",host:"0x4E583d9390082B65Bef884b629DFA426114CED6d",governance:"0xe2E14e2C4518cB06c32Cd0818B4C01f53E1Ba653",cfaV1:"0x2844c1BBdA121E9E43105630b9C8310e5c72744b",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0xbCF9cfA8Da20B591790dF27DE65C1254Bf91563d",superTokenFactory:"0x0422689cc4087b6B7280e0a7e7F655200ec86Ae1",superfluidLoader:"0x9775EEBdfF8AE845e7Ad3d1D04B85e6c6d284aCB",toga:"0x8B5a2CF69a56d7F8Fa027edcA23594cdDF544dDc",batchLiquidator:"0x554c06487bEc8c890A0345eb05a5292C1b1017Bd",flowScheduler:"0xAA0cD305eD020137E302CeCede7b18c0A05aCCDA",vestingScheduler:"0x39D5cBBa9adEBc25085a3918d36D5325546C001B",autowrap:{manager:"0x30aE282CF477E2eF28B14d0125aCEAd57Fe1d7a1",wrapStrategy:"0x1D65c6d3AD39d454Ea8F682c49aE7744706eA96d"}},startBlockV1:1587e4,logsQueryRange:1e4,explorer:"https://etherscan.io",subgraphV1:{name:"protocol-v1-eth-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-eth-mainnet",satsumaEndpoint:"https://subgraph.satsuma-prod.com/c5br3jaVlJI6/superfluid/eth-mainnet/api"},subgraphVesting:{name:"vesting-v1-eth-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/vesting-v1-eth-mainnet"},subgraphFlowScheduler:{name:"scheduling-v1-eth-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/scheduling-v1-eth-mainnet"},subgraphAutoWrap:{name:"auto-wrap-v1-eth-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/auto-wrap-v1-eth-mainnet"},publicRPCs:["https://cloudflare-eth.com","https://eth-rpc.gateway.pokt.network"],coinGeckoId:"ethereum"},{name:"celo-mainnet",isTestnet:!1,networkId:42220,chainId:42220,sfId:7,shortName:"celo",uppercaseName:"CELO_MAINNET",humanReadableName:"Celo",nativeTokenSymbol:"CELO",nativeTokenWrapper:"0x671425Ae1f272Bc6F79beC3ed5C4b00e9c628240",contractsV1:{resolver:"0x05eE721BD4D803d6d477Aa7607395452B65373FF",host:"0xA4Ff07cF81C02CFD356184879D953970cA957585",governance:"0x0170FFCC75d178d426EBad5b1a31451d00Ddbd0D",cfaV1:"0x9d369e78e1a682cE0F8d9aD849BeA4FE1c3bD3Ad",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x26747Fe93fAC8bF28E1e24A558a2bC7E4d9846cA",superTokenFactory:"0x36be86dEe6BC726Ed0Cbd170ccD2F21760BC73D9",constantOutflowNFT:"0xbe49ac1EadAc65dccf204D4Df81d650B50122aB2",constantInflowNFT:"0x0FB7694c990CF19001127391Dbe53924dd7a61c7",superfluidLoader:"0xAd6e6849d8eEa62AF9271808afb726610fB451a6",toga:"0x9bCa3a623e7b2e248510d88B2894F54898d88F91",batchLiquidator:"0x21d4E9fbB9DB742E6ef4f29d189a7C18B0b59136",existentialNFTCloneFactory:"0x051e766e2d8dc65ae2bFCF084A50AD0447634227"},startBlockV1:16393e3,logsQueryRange:2e4,explorer:"https://celoscan.io",subgraphV1:{name:"protocol-v1-celo-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-celo-mainnet"},publicRPCs:["https://forno.celo.org","https://rpc.ankr.com/celo"],coinGeckoId:"celo"},{name:"base-mainnet",isTestnet:!1,networkId:8453,chainId:8453,sfId:8,shortName:"base",uppercaseName:"BASE_MAINNET",humanReadableName:"Base",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0x46fd5cfB4c12D87acD3a13e92BAa53240C661D93",contractsV1:{resolver:"0x6a214c324553F96F04eFBDd66908685525Da0E0d",host:"0x4C073B3baB6d8826b8C5b229f3cfdC1eC6E47E74",governance:"0x55F7758dd99d5e185f4CC08d4Ad95B71f598264D",cfaV1:"0x19ba78B9cDB05A877718841c574325fdB53601bb",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x66DF3f8e14CF870361378d8F61356D15d9F425C4",superTokenFactory:"0xe20B9a38E0c96F61d1bA6b42a61512D56Fea1Eb3",constantOutflowNFT:"0xD3C78bb5a16Ea4ab584844eeb8F90Ac710c16355",constantInflowNFT:"0x2d51962A9EE4D3C2819EF585eab7412c2a2C31Ac",superfluidLoader:"0x6B24A6F34ab96267Fef9F8AC9fe6CC104C228127",toga:"0xA87F76e99f6C8Ff8996d14f550ceF47f193D9A09",batchLiquidator:"0x889ebeCaD5F8C34Fd96023456d0fC5cE54eb74Cb",existentialNFTCloneFactory:"0x642332562BC60a4Bd9681E7bb1588f7456A497aC"},startBlockV1:1e6,logsQueryRange:2e4,explorer:"https://basescan.org",subgraphV1:{name:"protocol-v1-base-mainnet"},publicRPCs:["https://developer-access-mainnet.base.org"],coinGeckoId:"base"}],wq={networks:wU,mainnets:wU.filter(eb=>!eb.isTestnet),testnets:wU.filter(eb=>eb.isTestnet),getNetworkByChainId:function(eb){return this.networks.filter(em=>em.chainId===eb)[0]},getNetworkByName:function(eb){return this.networks.filter(em=>em.name===eb)[0]},getNetworkByShortName:function(eb){return this.networks.filter(em=>em.shortName===eb)[0]}},w$={S:"v1"};let wW=wq.networks.map(eb=>eb.chainId),wZ=1,wG=2,wK=4,wY=globalThis.process&&globalThis.process.env.SUBGRAPH_RELEASE_TAG||w$.S,wX=eb=>{let em=wq.networks.find(em=>em.chainId===eb);if(!em)return null;let eH=null!=em.subgraphV1.hostedEndpoint?em.subgraphV1.hostedEndpoint:null!=em.subgraphV1.satsumaEndpoint?em.subgraphV1.satsumaEndpoint:"",eV=wY?eH.replace("v1",wY):eH;return{subgraphAPIEndpoint:eV,networkName:em.name,nativeTokenSymbol:em.nativeTokenSymbol,addresses:em.contractsV1}},wJ=new Map(wq.networks.map(eb=>[eb.chainId,wX(eb.chainId)])),wQ=new Map(wq.networks.map(eb=>[eb.name,eb.chainId])),Mb="0x",Mm=eb=>{if(!eb)return"";if(!1===wj.UJ(eb))throw new uS({type:"INVALID_ADDRESS",message:"The address you have entered is not a valid ethereum address"});return eb.toLowerCase()},My=eb=>(eb&~(wZ|wG|wK))==0,Mv=eb=>null==eb||""===eb,Mz=eb=>Mb.concat(eb.slice(10)),MH=(eb,em,eH)=>{let eV=new uN.vU(eb),ew=eV.parseTransaction({data:em,value:eH});return ew},MV=()=>Math.floor(new Date().getTime()/1e3),Mw=eb=>new Date(1e3*Number(eb.toString())),MM=eb=>!!eb.getNetwork,MC=eb=>!!eb.currentProvider,Mx=eb=>eb;async function Mk(eb,em){try{return await eb}catch{return em}}class MT{constructor(eb,em,eH){this.exec=async(eb,em=1.2)=>{let eH=await this.getPopulatedTransactionRequest(eb,em);return await eb.sendTransaction(eH)},this.getPopulatedTransactionRequest=async(eb,em=1.2)=>{let eH=this.forwarderPopulatedPromise?await this.forwarderPopulatedPromise:await this.populateTransactionPromise;if(!eH.gasLimit){let eV=await eb.estimateGas(eH);eH.gasLimit=uA(eV,em)}return eH},this.getSignedTransaction=async(eb,em=1.2)=>{let eH=await this.getPopulatedTransactionRequest(eb,em),eV=await eb.populateTransaction(eH),ew=await eb.signTransaction(eV);return ew},this.getTransactionHash=async eb=>{let em=await this.getSignedTransaction(eb);return uM.w(em)},this.toOperationStruct=async eb=>{let em=MS.get(this.type),eH=await this.populateTransactionPromise;if(!em)throw new uS({type:"UNSUPPORTED_OPERATION",message:"The operation at index "+eb+" is unsupported."});if(!eH.to||!eH.data)throw new uS({type:"MISSING_TRANSACTION_PROPERTIES",message:"The transaction is missing the to or data property."});let eV=uC.$;if("SUPERFLUID_CALL_AGREEMENT"===this.type){let eb=ME(H7.abi,eH.data),ew=eV.encode(["bytes","bytes"],[eb.callData,eb.userData]);return{operationType:em,target:eb.agreementClass,data:ew}}if("CALL_APP_ACTION"===this.type){let eb=ME(H7.abi,eH.data);return{operationType:em,target:eb.app,data:eb.callData}}return{operationType:em,target:eH.to,data:Mz(eH.data)}},this.populateTransactionPromise=eb,this.type=em,this.forwarderPopulatedPromise=eH}}class M_{constructor(eb){this.callAgreement=(eb,em,eH,eV)=>{let ew=this.contract.populateTransaction.callAgreement(eb,em,eH||"0x",eV||{});return new MT(ew,"SUPERFLUID_CALL_AGREEMENT")},this.callAppAction=(eb,em,eH)=>{let eV=this.contract.populateTransaction.callAppAction(eb,em,eH||{});return new MT(eV,"CALL_APP_ACTION")},this.contract=new uw.CH(eb,H7.abi)}}let MS=new Map([["ERC20_APPROVE",1],["ERC20_TRANSFER_FROM",2],["ERC777_SEND",3],["ERC20_INCREASE_ALLOWANCE",4],["ERC20_DECREASE_ALLOWANCE",5],["SUPERTOKEN_UPGRADE",101],["SUPERTOKEN_DOWNGRADE",102],["SUPERFLUID_CALL_AGREEMENT",201],["CALL_APP_ACTION",202]]),ME=(eb,em)=>MH(eb,em).args;class MA{constructor(eb){this.getCallDataFunctionArgs=ME,this.getOperationStruct=async(eb,em)=>eb.toOperationStruct(em),this.exec=async(eb,em=1.2)=>{let eH=await this.toOperation();return await eH.exec(eb,em)},this.execForward=async eb=>{if(0===this.getOperationStructArrayPromises.length)throw new uS({type:"BATCH_CALL_ERROR",message:"There are no operations to execute in the batch."});let em=await Promise.all(this.getOperationStructArrayPromises);return await this.host.contract.connect(eb).forwardBatchCall(em)},this.options=eb,this.host=new M_(eb.hostAddress)}get getOperationStructArrayPromises(){return this.options.operations.map((eb,em)=>this.getOperationStruct(eb,em))}async toOperation(){if(0===this.getOperationStructArrayPromises.length)throw new uS({type:"BATCH_CALL_ERROR",message:"There are no operations to execute in the batch."});let eb=await Promise.all(this.getOperationStructArrayPromises),em=this.host.contract.populateTransaction.batchCall(eb);return new MT(em,"UNSUPPORTED")}}let MN=hF.createInterface();class MI{constructor(eb,em,eH){this.getFlow=async eb=>{let em=Mm(eb.superToken),eH=Mm(eb.sender),eV=Mm(eb.receiver);try{let ew=await this.contract.connect(eb.providerOrSigner).getFlow(em,eH,eV);return this._sanitizeFlowInfo(ew)}catch(eb){throw new uS({type:"CFAV1_READ",message:"There was an error getting the flow",cause:eb})}},this.getAccountFlowInfo=async eb=>{let em=Mm(eb.superToken),eH=Mm(eb.account);try{let eV=await this.contract.connect(eb.providerOrSigner).getAccountFlowInfo(em,eH);return this._sanitizeFlowInfo(eV)}catch(eb){throw new uS({type:"CFAV1_READ",message:"There was an error getting the account flow information",cause:eb})}},this.getNetFlow=async eb=>{let em=Mm(eb.superToken),eH=Mm(eb.account);try{return(await this.contract.connect(eb.providerOrSigner).getNetFlow(em,eH)).toString()}catch(eb){throw new uS({type:"CFAV1_READ",message:"There was an error getting net flow",cause:eb})}},this.getFlowOperatorData=async eb=>{let em=Mm(eb.superToken),eH=Mm(eb.sender),eV=Mm(eb.flowOperator);try{let ew=await this.contract.connect(eb.providerOrSigner).getFlowOperatorData(em,eH,eV);return this._sanitizeFlowOperatorData(ew)}catch(eb){throw new uS({type:"CFAV1_READ",message:"There was an error getting flow operator data",cause:eb})}},this.getFlowOperatorDataByID=async eb=>{let em=Mm(eb.superToken);try{let eH=await this.contract.connect(eb.providerOrSigner).getFlowOperatorDataByID(em,eb.flowOperatorId);return this._sanitizeFlowOperatorData({...eH,flowOperatorId:eb.flowOperatorId})}catch(eb){throw new uS({type:"CFAV1_READ",message:"There was an error getting flow operator data",cause:eb})}},this.createFlow=eb=>{let em=Mm(eb.superToken),eH=Mm(eb.receiver),eV=Mm(eb.sender),ew=MN.encodeFunctionData("createFlow",[em,eH,eb.flowRate,"0x"]),eM=this.host.callAgreement(this.contract.address,ew,eb.userData,eb.overrides),eC=this.forwarder.populateTransaction.createFlow(em,eV,eH,eb.flowRate,eb.userData||"0x",eb.overrides||{});return this._getCallAgreementOperation(eM,eC,eb.shouldUseCallAgreement||""===eV)},this.updateFlow=eb=>{let em=Mm(eb.superToken),eH=Mm(eb.receiver),eV=Mm(eb.sender),ew=MN.encodeFunctionData("updateFlow",[em,eH,eb.flowRate,"0x"]),eM=this.host.callAgreement(this.contract.address,ew,eb.userData,eb.overrides),eC=this.forwarder.populateTransaction.updateFlow(em,eV,eH,eb.flowRate,eb.userData||"0x",eb.overrides||{});return this._getCallAgreementOperation(eM,eC,eb.shouldUseCallAgreement||""===eV)},this.deleteFlow=eb=>{let em=Mm(eb.superToken),eH=Mm(eb.sender),eV=Mm(eb.receiver),ew=MN.encodeFunctionData("deleteFlow",[em,eH,eV,"0x"]),eM=this.host.callAgreement(this.contract.address,ew,eb.userData,eb.overrides),eC=this.forwarder.populateTransaction.deleteFlow(em,eH,eV,eb.userData||"0x",eb.overrides||{});return this._getCallAgreementOperation(eM,eC,eb.shouldUseCallAgreement||""===eH)},this.createFlowByOperator=eb=>{let em=Mm(eb.superToken),eH=Mm(eb.receiver),eV=Mm(eb.sender),ew=MN.encodeFunctionData("createFlowByOperator",[em,eV,eH,eb.flowRate,"0x"]),eM=this.host.callAgreement(this.contract.address,ew,eb.userData,eb.overrides),eC=this.createFlow(eb);return this._getCallAgreementOperation(eM,eC.forwarderPopulatedPromise,eb.shouldUseCallAgreement||""===eV)},this.updateFlowByOperator=eb=>{let em=Mm(eb.superToken),eH=Mm(eb.sender),eV=Mm(eb.receiver),ew=MN.encodeFunctionData("updateFlowByOperator",[em,eH,eV,eb.flowRate,"0x"]),eM=this.host.callAgreement(this.contract.address,ew,eb.userData,eb.overrides),eC=this.updateFlow(eb);return this._getCallAgreementOperation(eM,eC.forwarderPopulatedPromise,eb.shouldUseCallAgreement||""===eH)},this.deleteFlowByOperator=eb=>{let em=Mm(eb.superToken),eH=Mm(eb.sender),eV=Mm(eb.receiver),ew=MN.encodeFunctionData("deleteFlowByOperator",[em,eH,eV,"0x"]),eM=this.host.callAgreement(this.contract.address,ew,eb.userData,eb.overrides),eC=this.deleteFlow(eb);return this._getCallAgreementOperation(eM,eC.forwarderPopulatedPromise,eb.shouldUseCallAgreement||""===eH)},this._getCallAgreementOperation=(eb,em,eH)=>eH?eb:new MT(eb.populateTransactionPromise,eb.type,em),this._sanitizeFlowInfo=eb=>({timestamp:Mw(eb.timestamp),flowRate:eb.flowRate.toString(),deposit:eb.deposit.toString(),owedDeposit:eb.owedDeposit.toString()}),this._sanitizeFlowOperatorData=eb=>({flowOperatorId:eb.flowOperatorId,permissions:eb.permissions.toString(),flowRateAllowance:eb.flowRateAllowance.toString()}),this.host=new M_(eb),this.contract=new uw.CH(em,hF.abi),this.forwarder=new uw.CH(eH,VY.abi)}increaseFlowRateAllowance(eb){let em=Mm(eb.superToken),eH=Mm(eb.flowOperator),eV=MN.encodeFunctionData("increaseFlowRateAllowance",[em,eH,eb.flowRateAllowanceDelta,"0x"]);return this.host.callAgreement(this.contract.address,eV,eb.userData,eb.overrides)}decreaseFlowRateAllowance(eb){let em=Mm(eb.superToken),eH=Mm(eb.flowOperator),eV=MN.encodeFunctionData("decreaseFlowRateAllowance",[em,eH,eb.flowRateAllowanceDelta,"0x"]);return this.host.callAgreement(this.contract.address,eV,eb.userData,eb.overrides)}increaseFlowRateAllowanceWithPermissions(eb){let em=Mm(eb.superToken),eH=Mm(eb.flowOperator);if(!My(eb.permissionsDelta))throw new uS({type:"UNCLEAN_PERMISSIONS",message:"The desired permissions are unclean"});let eV=MN.encodeFunctionData("increaseFlowRateAllowanceWithPermissions",[em,eH,eb.permissionsDelta,eb.flowRateAllowanceDelta,"0x"]);return this.host.callAgreement(this.contract.address,eV,eb.userData,eb.overrides)}decreaseFlowRateAllowanceWithPermissions(eb){let em=Mm(eb.superToken),eH=Mm(eb.flowOperator);if(!My(eb.permissionsDelta))throw new uS({type:"UNCLEAN_PERMISSIONS",message:"The desired permissions are unclean"});let eV=MN.encodeFunctionData("decreaseFlowRateAllowanceWithPermissions",[em,eH,eb.permissionsDelta,eb.flowRateAllowanceDelta,"0x"]);return this.host.callAgreement(this.contract.address,eV,eb.userData,eb.overrides)}updateFlowOperatorPermissions(eb){let em=Mm(eb.superToken),eH=Mm(eb.flowOperator);if(!My(eb.permissions))throw new uS({type:"UNCLEAN_PERMISSIONS",message:"The desired permissions are unclean"});if(0>Number(eb.flowRateAllowance))throw new uS({type:"NEGATIVE_FLOW_ALLOWANCE",message:"No negative flow allowance allowed"});let eV=MN.encodeFunctionData("updateFlowOperatorPermissions",[em,eH,eb.permissions,eb.flowRateAllowance,"0x"]),ew=this.host.callAgreement(this.contract.address,eV,eb.userData,eb.overrides),eM=this.forwarder.populateTransaction.updateFlowOperatorPermissions(em,eH,eb.permissions,eb.flowRateAllowance,eb.overrides||{});return this._getCallAgreementOperation(ew,eM,eb.shouldUseCallAgreement)}authorizeFlowOperatorWithFullControl(eb){let em=Mm(eb.superToken),eH=Mm(eb.flowOperator),eV=MN.encodeFunctionData("authorizeFlowOperatorWithFullControl",[em,eH,"0x"]),ew=this.host.callAgreement(this.contract.address,eV,eb.userData,eb.overrides),eM=this.forwarder.populateTransaction.grantPermissions(em,eH,eb.overrides||{});return this._getCallAgreementOperation(ew,eM,eb.shouldUseCallAgreement)}revokeFlowOperatorWithFullControl(eb){let em=Mm(eb.superToken),eH=Mm(eb.flowOperator),eV=MN.encodeFunctionData("revokeFlowOperatorWithFullControl",[em,eH,"0x"]),ew=this.host.callAgreement(this.contract.address,eV,eb.userData,eb.overrides),eM=this.forwarder.populateTransaction.revokePermissions(em,eH,eb.overrides||{});return this._getCallAgreementOperation(ew,eM,eb.shouldUseCallAgreement)}}class MD{constructor(eb){this.allowance=async({owner:eb,spender:em,providerOrSigner:eH})=>{let eV=Mm(eb),ew=Mm(em);try{let eb=await this.contract.connect(eH).allowance(eV,ew);return eb.toString()}catch(eb){throw new uS({type:"SUPERTOKEN_READ",message:"There was an error getting allowance",cause:eb})}},this.balanceOf=async({account:eb,providerOrSigner:em})=>{try{let eH=Mm(eb),eV=await this.contract.connect(em).balanceOf(eH);return eV.toString()}catch(eb){throw new uS({type:"SUPERTOKEN_READ",message:"There was an error getting balanceOf",cause:eb})}},this.name=async({providerOrSigner:eb})=>{try{let em=await this.contract.connect(eb).name();return em}catch(eb){throw new uS({type:"SUPERTOKEN_READ",message:"There was an error getting name",cause:eb})}},this.symbol=async({providerOrSigner:eb})=>{try{let em=await this.contract.connect(eb).symbol();return em}catch(eb){throw new uS({type:"SUPERTOKEN_READ",message:"There was an error getting symbol",cause:eb})}},this.totalSupply=async({providerOrSigner:eb})=>{try{let em=await this.contract.connect(eb).totalSupply();return em.toString()}catch(eb){throw new uS({type:"SUPERTOKEN_READ",message:"There was an error getting totalSupply",cause:eb})}},this.approve=eb=>{let em=Mm(eb.receiver),eH=this.contract.populateTransaction.approve(em,eb.amount,eb.overrides||{});return new MT(eH,"ERC20_APPROVE")},this.transfer=eb=>{let em=Mm(eb.receiver),eH=this.contract.populateTransaction.transfer(em,eb.amount,eb.overrides||{});return new MT(eH,"UNSUPPORTED")},this.transferFrom=eb=>{let em=Mm(eb.sender),eH=Mm(eb.receiver),eV=this.contract.populateTransaction.transferFrom(em,eH,eb.amount,eb.overrides||{});return new MT(eV,"ERC20_TRANSFER_FROM")},this.address=eb,this.contract=new uw.CH(eb,u6.abi)}}var MP=eH(9279);class MO{constructor(eb,em){this.getPPPConfig=async({providerOrSigner:eb,token:em=MP.d})=>{let{liquidationPeriod:eH,patricianPeriod:eV}=await this.contract.connect(eb).getPPPConfig(this.hostAddress,em);return{liquidationPeriod:eH.toString(),patricianPeriod:eV.toString()}},this.getRewardAddress=async({providerOrSigner:eb,token:em=MP.d})=>await this.contract.connect(eb).getRewardAddress(this.hostAddress,em),this.getMinimumDeposit=async({providerOrSigner:eb,token:em=MP.d})=>{let eH=await this.contract.connect(eb).getSuperTokenMinimumDeposit(this.hostAddress,em);return eH.toString()},this.getGovernanceParameters=async({providerOrSigner:eb,token:em=MP.d})=>{let eH=this.getPPPConfig({providerOrSigner:eb,token:em}),eV=this.getRewardAddress({providerOrSigner:eb,token:em}),ew=this.getMinimumDeposit({providerOrSigner:eb,token:em}),eM=await Promise.all([eH,eV,ew]);return{liquidationPeriod:eM[0].liquidationPeriod,patricianPeriod:eM[0].patricianPeriod,rewardAddress:eM[1],minimumDeposit:eM[2]}},this.contract=new uw.CH(em,hA.abi),this.hostAddress=eb}}let MR=hU.createInterface();class MB{constructor(eb,em){this.getSubscription=async eb=>{let em=Mm(eb.superToken),eH=Mm(eb.publisher),eV=Mm(eb.subscriber);try{let ew=await this.contract.connect(eb.providerOrSigner).getSubscription(em,eH,eb.indexId,eV);return{exist:ew.exist,approved:ew.approved,units:ew.units.toString(),pendingDistribution:ew.pendingDistribution.toString()}}catch(eb){throw new uS({type:"IDAV1_READ",message:"There was an error getting the subscription",cause:eb})}},this.getIndex=async eb=>{let em=Mm(eb.superToken),eH=Mm(eb.publisher);try{let eV=await this.contract.connect(eb.providerOrSigner).getIndex(em,eH,eb.indexId);return{exist:eV.exist,indexValue:eV.indexValue.toString(),totalUnitsApproved:eV.totalUnitsApproved.toString(),totalUnitsPending:eV.totalUnitsPending.toString()}}catch(eb){throw new uS({type:"IDAV1_READ",message:"There was an error getting the index",cause:eb})}},this.createIndex=eb=>{let em=Mm(eb.superToken),eH=MR.encodeFunctionData("createIndex",[em,eb.indexId,"0x"]);return this.host.callAgreement(this.contract.address,eH,eb.userData,eb.overrides)},this.distribute=eb=>{let em=Mm(eb.superToken),eH=MR.encodeFunctionData("distribute",[em,eb.indexId,eb.amount,"0x"]);return this.host.callAgreement(this.contract.address,eH,eb.userData,eb.overrides)},this.updateIndexValue=eb=>{let em=Mm(eb.superToken),eH=MR.encodeFunctionData("updateIndex",[em,eb.indexId,eb.indexValue,"0x"]);return this.host.callAgreement(this.contract.address,eH,eb.userData,eb.overrides)},this.updateSubscriptionUnits=eb=>{let em=Mm(eb.superToken),eH=Mm(eb.subscriber),eV=MR.encodeFunctionData("updateSubscription",[em,eb.indexId,eH,eb.units,"0x"]);return this.host.callAgreement(this.contract.address,eV,eb.userData,eb.overrides)},this.approveSubscription=eb=>{let em=Mm(eb.publisher),eH=Mm(eb.superToken),eV=MR.encodeFunctionData("approveSubscription",[eH,em,eb.indexId,"0x"]);return this.host.callAgreement(this.contract.address,eV,eb.userData,eb.overrides)},this.revokeSubscription=eb=>{let em=Mm(eb.publisher),eH=Mm(eb.superToken),eV=MR.encodeFunctionData("revokeSubscription",[eH,em,eb.indexId,"0x"]);return this.host.callAgreement(this.contract.address,eV,eb.userData,eb.overrides)},this.deleteSubscription=eb=>{let em=Mm(eb.publisher),eH=Mm(eb.superToken),eV=Mm(eb.subscriber),ew=MR.encodeFunctionData("deleteSubscription",[eH,em,eb.indexId,eV,"0x"]);return this.host.callAgreement(this.contract.address,ew,eb.userData,eb.overrides)},this.claim=eb=>{let em=Mm(eb.publisher),eH=Mm(eb.superToken),eV=Mm(eb.subscriber),ew=MR.encodeFunctionData("claim",[eH,em,eb.indexId,eV,"0x"]);return this.host.callAgreement(this.contract.address,ew,eb.userData,eb.overrides)},this.host=new M_(eb),this.contract=new uw.CH(em,hU.abi)}}var MF=eH(96486),Mj=eH.n(MF);let MU=Mq;function Mq(eb,{instancePath:em="",parentData:eH,parentDataProperty:eV,rootData:ew=eb}={}){let eM=null,eC=0;if(!eb||"object"!=typeof eb||Array.isArray(eb))return Mq.errors=[{instancePath:em,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{let eH=eC;for(let eH in eb)if("isListed"!==eH)return Mq.errors=[{instancePath:em,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:eH},message:"must NOT have additional properties"}],!1;if(eH===eC&&void 0!==eb.isListed){let eH=eb.isListed;if("boolean"!=typeof eH&&null!==eH)return Mq.errors=[{instancePath:em+"/isListed",schemaPath:"#/properties/isListed/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1}}return Mq.errors=eM,0===eC}let M$=MZ,MW=/(^(0x)?[0-9a-fA-F]{40}$)?/;function MZ(eb,{instancePath:em="",parentData:eH,parentDataProperty:eV,rootData:ew=eb}={}){let eM=null,eC=0;if(!eb||"object"!=typeof eb||Array.isArray(eb))return MZ.errors=[{instancePath:em,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{let eH=eC;for(let eH in eb)if(!("account"===eH||"timestamp_gt"===eH))return MZ.errors=[{instancePath:em,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:eH},message:"must NOT have additional properties"}],!1;if(eH===eC){if(void 0!==eb.account){let eH=eb.account,eV=eC;if("string"!=typeof eH&&null!==eH)return MZ.errors=[{instancePath:em+"/account",schemaPath:"#/properties/account/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(eC===eV&&eC===eV&&"string"==typeof eH&&!MW.test(eH))return MZ.errors=[{instancePath:em+"/account",schemaPath:"#/properties/account/format",keyword:"format",params:{format:"addressOrEmpty"},message:'must match format "addressOrEmpty"'}],!1;var eT=eV===eC}else var eT=!0;if(eT){if(void 0!==eb.timestamp_gt){let eH=eb.timestamp_gt,eV=eC;if(!("number"==typeof eH&&isFinite(eH))&&null!==eH)return MZ.errors=[{instancePath:em+"/timestamp_gt",schemaPath:"#/properties/timestamp_gt/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var eT=eV===eC}else var eT=!0}}}return MZ.errors=eM,0===eC}let MG=MY,MK=/\d+/;function MY(eb,{instancePath:em="",parentData:eH,parentDataProperty:eV,rootData:ew=eb}={}){let eM=null,eC=0;if(!eb||"object"!=typeof eb||Array.isArray(eb))return MY.errors=[{instancePath:em,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{let eH=eC;for(let eH in eb)if(!("indexId"===eH||"publisher"===eH||"token"===eH))return MY.errors=[{instancePath:em,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:eH},message:"must NOT have additional properties"}],!1;if(eH===eC){if(void 0!==eb.indexId){let eH=eb.indexId,eV=eC;if("string"!=typeof eH&&null!==eH)return MY.errors=[{instancePath:em+"/indexId",schemaPath:"#/properties/indexId/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(eC===eV&&eC===eV&&"string"==typeof eH&&!MK.test(eH))return MY.errors=[{instancePath:em+"/indexId",schemaPath:"#/properties/indexId/format",keyword:"format",params:{format:"stringInteger"},message:'must match format "stringInteger"'}],!1;var eT=eV===eC}else var eT=!0;if(eT){if(void 0!==eb.publisher){let eH=eb.publisher,eV=eC;if("string"!=typeof eH&&null!==eH)return MY.errors=[{instancePath:em+"/publisher",schemaPath:"#/properties/publisher/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(eC===eV&&eC===eV&&"string"==typeof eH&&!MW.test(eH))return MY.errors=[{instancePath:em+"/publisher",schemaPath:"#/properties/publisher/format",keyword:"format",params:{format:"addressOrEmpty"},message:'must match format "addressOrEmpty"'}],!1;var eT=eV===eC}else var eT=!0;if(eT){if(void 0!==eb.token){let eH=eb.token,eV=eC;if("string"!=typeof eH&&null!==eH)return MY.errors=[{instancePath:em+"/token",schemaPath:"#/properties/token/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(eC===eV&&eC===eV&&"string"==typeof eH&&!MW.test(eH))return MY.errors=[{instancePath:em+"/token",schemaPath:"#/properties/token/format",keyword:"format",params:{format:"addressOrEmpty"},message:'must match format "addressOrEmpty"'}],!1;var eT=eV===eC}else var eT=!0}}}}return MY.errors=eM,0===eC}let MX=MJ;function MJ(eb,{instancePath:em="",parentData:eH,parentDataProperty:eV,rootData:ew=eb}={}){let eM=null,eC=0;if(!eb||"object"!=typeof eb||Array.isArray(eb))return MJ.errors=[{instancePath:em,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{let eH=eC;for(let eH in eb)if(!("account"===eH||"token"===eH))return MJ.errors=[{instancePath:em,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:eH},message:"must NOT have additional properties"}],!1;if(eH===eC){if(void 0!==eb.account){let eH=eb.account,eV=eC;if("string"!=typeof eH&&null!==eH)return MJ.errors=[{instancePath:em+"/account",schemaPath:"#/properties/account/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(eC===eV&&eC===eV&&"string"==typeof eH&&!MW.test(eH))return MJ.errors=[{instancePath:em+"/account",schemaPath:"#/properties/account/format",keyword:"format",params:{format:"addressOrEmpty"},message:'must match format "addressOrEmpty"'}],!1;var eT=eV===eC}else var eT=!0;if(eT){if(void 0!==eb.token){let eH=eb.token,eV=eC;if("string"!=typeof eH&&null!==eH)return MJ.errors=[{instancePath:em+"/token",schemaPath:"#/properties/token/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(eC===eV&&eC===eV&&"string"==typeof eH&&!MW.test(eH))return MJ.errors=[{instancePath:em+"/token",schemaPath:"#/properties/token/format",keyword:"format",params:{format:"addressOrEmpty"},message:'must match format "addressOrEmpty"'}],!1;var eT=eV===eC}else var eT=!0}}}return MJ.errors=eM,0===eC}let MQ=M1;function M1(eb,{instancePath:em="",parentData:eH,parentDataProperty:eV,rootData:ew=eb}={}){let eM=null,eC=0;if(!eb||"object"!=typeof eb||Array.isArray(eb))return M1.errors=[{instancePath:em,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{let eH=eC;for(let eH in eb)if(!("subscriber"===eH||"approved"===eH))return M1.errors=[{instancePath:em,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:eH},message:"must NOT have additional properties"}],!1;if(eH===eC){if(void 0!==eb.subscriber){let eH=eb.subscriber,eV=eC;if("string"!=typeof eH&&null!==eH)return M1.errors=[{instancePath:em+"/subscriber",schemaPath:"#/properties/subscriber/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(eC===eV&&eC===eV&&"string"==typeof eH&&!MK.test(eH))return M1.errors=[{instancePath:em+"/subscriber",schemaPath:"#/properties/subscriber/format",keyword:"format",params:{format:"stringInteger"},message:'must match format "stringInteger"'}],!1;var eT=eV===eC}else var eT=!0;if(eT){if(void 0!==eb.approved){let eH=eb.approved,eV=eC;if("boolean"!=typeof eH&&null!==eH)return M1.errors=[{instancePath:em+"/approved",schemaPath:"#/properties/approved/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;var eT=eV===eC}else var eT=!0}}}return M1.errors=eM,0===eC}let M2=M6;function M6(eb,{instancePath:em="",parentData:eH,parentDataProperty:eV,rootData:ew=eb}={}){let eM=null,eC=0;if(!eb||"object"!=typeof eb||Array.isArray(eb))return M6.errors=[{instancePath:em,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{let eH=eC;for(let eH in eb)if(!("sender"===eH||"receiver"===eH||"token"===eH))return M6.errors=[{instancePath:em,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:eH},message:"must NOT have additional properties"}],!1;if(eH===eC){if(void 0!==eb.sender){let eH=eb.sender,eV=eC;if("string"!=typeof eH&&null!==eH)return M6.errors=[{instancePath:em+"/sender",schemaPath:"#/properties/sender/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(eC===eV&&eC===eV&&"string"==typeof eH&&!MW.test(eH))return M6.errors=[{instancePath:em+"/sender",schemaPath:"#/properties/sender/format",keyword:"format",params:{format:"addressOrEmpty"},message:'must match format "addressOrEmpty"'}],!1;var eT=eV===eC}else var eT=!0;if(eT){if(void 0!==eb.receiver){let eH=eb.receiver,eV=eC;if("string"!=typeof eH&&null!==eH)return M6.errors=[{instancePath:em+"/receiver",schemaPath:"#/properties/receiver/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(eC===eV&&eC===eV&&"string"==typeof eH&&!MW.test(eH))return M6.errors=[{instancePath:em+"/receiver",schemaPath:"#/properties/receiver/format",keyword:"format",params:{format:"addressOrEmpty"},message:'must match format "addressOrEmpty"'}],!1;var eT=eV===eC}else var eT=!0;if(eT){if(void 0!==eb.token){let eH=eb.token,eV=eC;if("string"!=typeof eH&&null!==eH)return M6.errors=[{instancePath:em+"/token",schemaPath:"#/properties/token/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(eC===eV&&eC===eV&&"string"==typeof eH&&!MW.test(eH))return M6.errors=[{instancePath:em+"/token",schemaPath:"#/properties/token/format",keyword:"format",params:{format:"addressOrEmpty"},message:'must match format "addressOrEmpty"'}],!1;var eT=eV===eC}else var eT=!0}}}}return M6.errors=eM,0===eC}!function(eb){eb[eb.Create=0]="Create",eb[eb.Update=1]="Update",eb[eb.Terminate=2]="Terminate"}(kB||(kB={}));let M4=eb=>eb.map(eb=>{switch(eb.__typename){case"AppRegisteredEvent":return Mx({name:"AppRegistered",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),app:eb.app});case"AgreementClassRegisteredEvent":return Mx({name:"AgreementClassRegistered",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),agreementType:eb.agreementType,code:eb.code});case"AgreementClassUpdatedEvent":return Mx({name:"AgreementClassUpdated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),agreementType:eb.agreementType,code:eb.code});case"AgreementLiquidatedByEvent":return Mx({name:"AgreementLiquidatedBy",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),agreementClass:eb.agreementClass,agreementId:eb.agreementId,bailoutAmount:eb.bailoutAmount,bondAccount:eb.bondAccount,liquidatorAccount:eb.liquidatorAccount,penaltyAccount:eb.penaltyAccount,rewardAmount:eb.rewardAmount,token:eb.token});case"AgreementLiquidatedV2Event":return Mx({name:"AgreementLiquidatedV2",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,liquidatorAccount:eb.liquidatorAccount,agreementClass:eb.agreementClass,agreementId:eb.agreementId,targetAccount:eb.targetAccount,rewardAmountReceiver:eb.rewardAmountReceiver,rewardAmount:eb.rewardAmount,targetAccountBalanceDelta:eb.targetAccountBalanceDelta,version:eb.version,liquidationType:eb.liquidationType,rewardAccount:eb.rewardAccount});case"BurnedEvent":return Mx({name:"Burned",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),amount:eb.amount,data:eb.data,from:eb.from,operator:eb.operator,token:eb.token,operatorData:eb.operatorData});case"CFAv1LiquidationPeriodChangedEvent":return Mx({name:"CFAv1LiquidationPeriodChanged",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),host:eb.host,governanceAddress:eb.governanceAddress,isKeySet:eb.isKeySet,liquidationPeriod:Number(eb.liquidationPeriod),superToken:eb.superToken});case"ConfigChangedEvent":return Mx({name:"ConfigChanged",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),host:eb.host,governanceAddress:eb.governanceAddress,isKeySet:eb.isKeySet,key:eb.key,superToken:eb.superToken,value:eb.value});case"CustomSuperTokenCreatedEvent":return Mx({name:"CustomSuperTokenCreated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token});case"FlowUpdatedEvent":return Mx({name:"FlowUpdated",type:M3(eb.type),id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,flowRate:eb.flowRate,receiver:eb.receiver,sender:eb.sender,flowOperator:eb.flowOperator,deposit:eb.deposit,streamId:eb.stream.id});case"FlowOperatorUpdatedEvent":return Mx({name:"FlowOperatorUpdated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,sender:eb.sender,permissions:eb.permissions,flowRateAllowance:eb.flowRateAllowance});case"GovernanceReplacedEvent":return Mx({name:"GovernanceReplaced",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),oldGovernance:eb.oldGovernance,newGovernance:eb.newGovernance});case"IndexCreatedEvent":return Mx({name:"IndexCreated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,index:eb.index.id,indexId:eb.indexId,publisher:eb.publisher,userData:eb.userData});case"IndexDistributionClaimedEvent":return Mx({name:"IndexDistributionClaimed",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,amount:eb.amount,index:eb.index.id,indexId:eb.indexId,publisher:eb.publisher,subscriber:eb.subscriber});case"IndexSubscribedEvent":return Mx({name:"IndexSubscribed",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,index:eb.index.id,indexId:eb.indexId,publisher:eb.publisher,subscriber:eb.subscriber});case"IndexUnitsUpdatedEvent":return Mx({name:"IndexUnitsUpdated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,index:eb.index.id,indexId:eb.indexId,publisher:eb.publisher,subscriber:eb.subscriber,units:eb.units,oldUnits:eb.oldUnits,userData:eb.userData});case"IndexUnsubscribedEvent":return Mx({name:"IndexUnsubscribed",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,index:eb.index.id,indexId:eb.indexId,publisher:eb.publisher,subscriber:eb.subscriber,userData:eb.userData});case"IndexUpdatedEvent":return Mx({name:"IndexUpdated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,index:eb.index.id,indexId:eb.indexId,newIndexValue:eb.newIndexValue,oldIndexValue:eb.oldIndexValue,publisher:eb.publisher,totalUnitsApproved:eb.totalUnitsApproved,totalUnitsPending:eb.totalUnitsPending,userData:eb.userData});case"JailEvent":return Mx({name:"Jail",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),app:eb.app,reason:eb.reason});case"MintedEvent":return Mx({name:"Minted",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),operator:eb.operator,to:eb.to,amount:eb.amount,data:eb.data,token:eb.token,operatorData:eb.operatorData});case"RewardAddressChangedEvent":return Mx({name:"RewardAddressChanged",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),host:eb.host,governanceAddress:eb.governanceAddress,superToken:eb.superToken,isKeySet:eb.isKeySet,rewardAddress:eb.rewardAddress});case"RoleAdminChangedEvent":return Mx({name:"RoleAdminChanged",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),role:eb.role,previousAdminRole:eb.previousAdminRole,newAdminRole:eb.newAdminRole});case"RoleGrantedEvent":return Mx({name:"RoleGranted",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),role:eb.role,account:eb.account,sender:eb.sender});case"RoleRevokedEvent":return Mx({name:"RoleRevoked",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),role:eb.role,account:eb.account,sender:eb.sender});case"SetEvent":return Mx({name:"Set",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),hashedName:eb.hashedName,targetAddress:eb.target,resolverEntry:eb.resolverEntry.id});case"SentEvent":return Mx({name:"Sent",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),operator:eb.operator,to:eb.to,amount:eb.amount,data:eb.data,token:eb.token,operatorData:eb.operatorData});case"SubscriptionApprovedEvent":return Mx({name:"SubscriptionApproved",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,subscriber:eb.subscriber,publisher:eb.publisher,indexId:eb.indexId,userData:eb.userData,subscription:eb.subscription.id});case"SubscriptionDistributionClaimedEvent":return Mx({name:"SubscriptionDistributionClaimed",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,subscriber:eb.subscriber,publisher:eb.publisher,indexId:eb.indexId,amount:eb.amount,subscription:eb.subscription.id});case"SubscriptionRevokedEvent":return Mx({name:"SubscriptionRevoked",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,subscriber:eb.subscriber,publisher:eb.publisher,indexId:eb.indexId,userData:eb.userData,subscription:eb.subscription.id});case"SubscriptionUnitsUpdatedEvent":return Mx({name:"SubscriptionUnitsUpdated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,subscriber:eb.subscriber,publisher:eb.publisher,indexId:eb.indexId,units:eb.units,userData:eb.userData,subscription:eb.subscription.id});case"SuperTokenCreatedEvent":return Mx({name:"SuperTokenCreated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token});case"SuperTokenFactoryUpdatedEvent":return Mx({name:"SuperTokenFactoryUpdated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),newFactory:eb.newFactory});case"SuperTokenLogicCreatedEvent":return Mx({name:"SuperTokenLogicCreated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),tokenLogic:eb.tokenLogic});case"SuperTokenLogicUpdatedEvent":return Mx({name:"SuperTokenLogicUpdated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,code:eb.code});case"PPPConfigurationChangedEvent":return Mx({name:"PPPConfigurationChanged",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),host:eb.host,governanceAddress:eb.governanceAddress,superToken:eb.superToken,isKeySet:eb.isKeySet,liquidationPeriod:eb.liquidationPeriod,patricianPeriod:eb.patricianPeriod});case"TokenDowngradedEvent":return Mx({name:"TokenDowngraded",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),amount:eb.amount,token:eb.token,account:eb.account.id});case"TokenUpgradedEvent":return Mx({name:"TokenUpgraded",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),amount:eb.amount,token:eb.token,account:eb.account.id});case"TransferEvent":return Mx({name:"Transfer",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),from:eb.from.id,to:eb.to.id,token:eb.token,value:eb.value});case"TrustedForwarderChangedEvent":return Mx({name:"TrustedForwarderChanged",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),host:eb.host,governanceAddress:eb.governanceAddress,superToken:eb.superToken,isKeySet:eb.isKeySet,forwarder:eb.forwarder,enabled:eb.enabled});case"SuperTokenMinimumDepositChangedEvent":return Mx({name:"SuperTokenMinimumDepositChanged",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),host:eb.host,governanceAddress:eb.governanceAddress,superToken:eb.superToken,isKeySet:eb.isKeySet,minimumDeposit:eb.minimumDeposit});case"NewPICEvent":return Mx({name:"NewPIC",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,pic:eb.pic,bond:eb.bond,exitRate:eb.exitRate});case"ExitRateChangedEvent":return Mx({name:"ExitRateChanged",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,exitRate:eb.exitRate});case"BondIncreasedEvent":return Mx({name:"BondIncreased",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,additionalBond:eb.additionalBond});default:return console.warn("An unknown event was detected which couldn't be mapped. Please update to the latest version of @superfluid-finance/sdk-core."),Mx({name:"_Unknown",id:eb.id,blockNumber:eb.blockNumber,transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:eb.order,timestamp:eb.timestamp,logIndex:eb.logIndex})}}),M3=eb=>{if(0===eb)return kB.Create;if(1===eb)return kB.Update;if(2===eb)return kB.Terminate;throw Error(`Mapping error: unknown flow update type ([${eb}]).`)},M5=(eb,em)=>{var eH;let eV=eb.length>em.take,ew=eb.slice(0,em.take),eM=null===(eH=ew.slice(-1)[0])||void 0===eH?void 0:eH.id;return{paging:{skip:em.skip,take:em.take},nextPaging:eV?M8(em)?Ly(em):M7(em)?Lv(em,eM):M9(em)?Lg(em):void 0:void 0,data:ew,items:ew}};function M8(eb){return(null==eb?void 0:eb.skip)!==void 0}function M9(eb){return(null==eb?void 0:eb.pageNumber)!==void 0}function M7(eb){return(null==eb?void 0:eb.lastId)!==void 0}let Lb=({skip:eb=0,take:em=100}={})=>({skip:eb,take:em}),Lm=({lastId:eb="",take:em=100}={})=>({take:em,lastId:eb}),Ly=eb=>({skip:eb.skip+eb.take,take:eb.take}),Lg=eb=>({pageNumber:eb.pageNumber+1,take:eb.take}),Lv=(eb,em)=>({take:eb.take,lastId:em}),Lz=eb=>eb.take+1,LH=JSON,LV=eb=>eb.toUpperCase(),Lw=eb=>{let em={};return eb.forEach((eb,eH)=>{em[eH]=eb}),em},LM=(eb,em,eH)=>eb.document?eb:{document:eb,variables:em,requestHeaders:eH,signal:void 0},LC=(eb,em,eH)=>eb.query?eb:{query:eb,variables:em,requestHeaders:eH,signal:void 0},Lx=(eb,em)=>eb.documents?eb:{documents:eb,requestHeaders:em,signal:void 0},Lk=(eb,em,...eH)=>{let[eV,ew]=eH;return eb.document?eb:{url:eb,document:em,variables:eV,requestHeaders:ew,signal:void 0}};function LT(eb){return"object"==typeof eb&&null!==eb}function L_(eb,em){let eH=!!eb;if(!eH)throw Error(null!=em?em:"Unexpected invariant triggered.")}let LS=/\r\n|[\n\r]/g;function LE(eb,em){let eH=0,eV=1;for(let ew of eb.body.matchAll(LS)){if("number"==typeof ew.index||L_(!1),ew.index>=em)break;eH=ew.index+ew[0].length,eV+=1}return{line:eV,column:em+1-eH}}function LA(eb){return LN(eb.source,LE(eb.source,eb.start))}function LN(eb,em){let eH=eb.locationOffset.column-1,eV="".padStart(eH)+eb.body,ew=em.line-1,eM=eb.locationOffset.line-1,eC=em.line+eM,eT=1===em.line?eH:0,e_=em.column+eT,eS=`${eb.name}:${eC}:${e_} -`,eE=eV.split(/\r\n|[\n\r]/g),eA=eE[ew];if(eA.length>120){let eb=Math.floor(e_/80),em=e_%80,eH=[];for(let eb=0;eb["|",eb]),["|","^".padStart(em)],["|",eH[eb+1]]])}return eS+LI([[`${eC-1} |`,eE[ew-1]],[`${eC} |`,eA],["|","^".padStart(e_)],[`${eC+1} |`,eE[ew+1]]])}function LI(eb){let em=eb.filter(([eb,em])=>void 0!==em),eH=Math.max(...em.map(([eb])=>eb.length));return em.map(([eb,em])=>eb.padStart(eH)+(em?" "+em:"")).join("\n")}function LD(eb){let em=eb[0];return null==em||"kind"in em||"length"in em?{nodes:em,source:eb[1],positions:eb[2],path:eb[3],originalError:eb[4],extensions:eb[5]}:em}class LP extends Error{constructor(eb,...em){var eH,eV,ew;let{nodes:eM,source:eC,positions:eT,path:e_,originalError:eS,extensions:eE}=LD(em);super(eb),this.name="GraphQLError",this.path=null!=e_?e_:void 0,this.originalError=null!=eS?eS:void 0,this.nodes=LO(Array.isArray(eM)?eM:eM?[eM]:void 0);let eA=LO(null===(eH=this.nodes)||void 0===eH?void 0:eH.map(eb=>eb.loc).filter(eb=>null!=eb));this.source=null!=eC?eC:null==eA?void 0:null===(eV=eA[0])||void 0===eV?void 0:eV.source,this.positions=null!=eT?eT:null==eA?void 0:eA.map(eb=>eb.start),this.locations=eT&&eC?eT.map(eb=>LE(eC,eb)):null==eA?void 0:eA.map(eb=>LE(eb.source,eb.start));let eN=LT(null==eS?void 0:eS.extensions)?null==eS?void 0:eS.extensions:void 0;this.extensions=null!==(ew=null!=eE?eE:eN)&&void 0!==ew?ew:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),null!=eS&&eS.stack?Object.defineProperty(this,"stack",{value:eS.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,LP):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let eb=this.message;if(this.nodes)for(let em of this.nodes)em.loc&&(eb+="\n\n"+LA(em.loc));else if(this.source&&this.locations)for(let em of this.locations)eb+="\n\n"+LN(this.source,em);return eb}toJSON(){let eb={message:this.message};return null!=this.locations&&(eb.locations=this.locations),null!=this.path&&(eb.path=this.path),null!=this.extensions&&Object.keys(this.extensions).length>0&&(eb.extensions=this.extensions),eb}}function LO(eb){return void 0===eb||0===eb.length?void 0:eb}function LR(eb,em,eH){return new LP(`Syntax Error: ${eH}`,{source:eb,positions:[em]})}class LB{constructor(eb,em,eH){this.start=eb.start,this.end=em.end,this.startToken=eb,this.endToken=em,this.source=eH}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}}class LF{constructor(eb,em,eH,eV,ew,eM){this.kind=eb,this.start=em,this.end=eH,this.line=eV,this.column=ew,this.value=eM,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}}let Lj={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},LU=new Set(Object.keys(Lj));function Lq(eb){let em=null==eb?void 0:eb.kind;return"string"==typeof em&&LU.has(em)}function L$(eb){return 9===eb||32===eb}function LW(eb){return eb>=48&&eb<=57}function LZ(eb){return eb>=97&&eb<=122||eb>=65&&eb<=90}function LG(eb){return LZ(eb)||95===eb}function LK(eb){return LZ(eb)||LW(eb)||95===eb}function LY(eb){var em,eH;let eV=Number.MAX_SAFE_INTEGER,ew=null,eM=-1;for(let em=0;em0===em?eb:eb.slice(eV)).slice(null!==(em=ew)&&void 0!==em?em:0,eM+1)}function LX(eb){let em=0;for(;em1&&eV.slice(1).every(eb=>0===eb.length||L$(eb.charCodeAt(0))),eC=eH.endsWith('\\"""'),eT=eb.endsWith('"')&&!eC,e_=eb.endsWith("\\"),eS=eT||e_,eE=!(null!=em&&em.minimize)&&(!ew||eb.length>70||eS||eM||eC),eA="",eN=ew&&L$(eb.charCodeAt(0));return(eE&&!eN||eM)&&(eA+="\n"),eA+=eH,(eE||eS)&&(eA+="\n"),'"""'+eA+'"""'}!function(eb){eb.QUERY="query",eb.MUTATION="mutation",eb.SUBSCRIPTION="subscription"}(kF||(kF={})),function(eb){eb.QUERY="QUERY",eb.MUTATION="MUTATION",eb.SUBSCRIPTION="SUBSCRIPTION",eb.FIELD="FIELD",eb.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",eb.FRAGMENT_SPREAD="FRAGMENT_SPREAD",eb.INLINE_FRAGMENT="INLINE_FRAGMENT",eb.VARIABLE_DEFINITION="VARIABLE_DEFINITION",eb.SCHEMA="SCHEMA",eb.SCALAR="SCALAR",eb.OBJECT="OBJECT",eb.FIELD_DEFINITION="FIELD_DEFINITION",eb.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",eb.INTERFACE="INTERFACE",eb.UNION="UNION",eb.ENUM="ENUM",eb.ENUM_VALUE="ENUM_VALUE",eb.INPUT_OBJECT="INPUT_OBJECT",eb.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"}(kj||(kj={})),function(eb){eb.NAME="Name",eb.DOCUMENT="Document",eb.OPERATION_DEFINITION="OperationDefinition",eb.VARIABLE_DEFINITION="VariableDefinition",eb.SELECTION_SET="SelectionSet",eb.FIELD="Field",eb.ARGUMENT="Argument",eb.FRAGMENT_SPREAD="FragmentSpread",eb.INLINE_FRAGMENT="InlineFragment",eb.FRAGMENT_DEFINITION="FragmentDefinition",eb.VARIABLE="Variable",eb.INT="IntValue",eb.FLOAT="FloatValue",eb.STRING="StringValue",eb.BOOLEAN="BooleanValue",eb.NULL="NullValue",eb.ENUM="EnumValue",eb.LIST="ListValue",eb.OBJECT="ObjectValue",eb.OBJECT_FIELD="ObjectField",eb.DIRECTIVE="Directive",eb.NAMED_TYPE="NamedType",eb.LIST_TYPE="ListType",eb.NON_NULL_TYPE="NonNullType",eb.SCHEMA_DEFINITION="SchemaDefinition",eb.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",eb.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",eb.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",eb.FIELD_DEFINITION="FieldDefinition",eb.INPUT_VALUE_DEFINITION="InputValueDefinition",eb.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",eb.UNION_TYPE_DEFINITION="UnionTypeDefinition",eb.ENUM_TYPE_DEFINITION="EnumTypeDefinition",eb.ENUM_VALUE_DEFINITION="EnumValueDefinition",eb.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",eb.DIRECTIVE_DEFINITION="DirectiveDefinition",eb.SCHEMA_EXTENSION="SchemaExtension",eb.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",eb.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",eb.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",eb.UNION_TYPE_EXTENSION="UnionTypeExtension",eb.ENUM_TYPE_EXTENSION="EnumTypeExtension",eb.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"}(kU||(kU={})),function(eb){eb.SOF="",eb.EOF="",eb.BANG="!",eb.DOLLAR="$",eb.AMP="&",eb.PAREN_L="(",eb.PAREN_R=")",eb.SPREAD="...",eb.COLON=":",eb.EQUALS="=",eb.AT="@",eb.BRACKET_L="[",eb.BRACKET_R="]",eb.BRACE_L="{",eb.PIPE="|",eb.BRACE_R="}",eb.NAME="Name",eb.INT="Int",eb.FLOAT="Float",eb.STRING="String",eb.BLOCK_STRING="BlockString",eb.COMMENT="Comment"}(kq||(kq={}));class LQ{constructor(eb){let em=new LF(kq.SOF,0,0,0,0);this.source=eb,this.lastToken=em,this.token=em,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){this.lastToken=this.token;let eb=this.token=this.lookahead();return eb}lookahead(){let eb=this.token;if(eb.kind!==kq.EOF)do if(eb.next)eb=eb.next;else{let em=L9(this,eb.end);eb.next=em,em.prev=eb,eb=em}while(eb.kind===kq.COMMENT);return eb}}function L1(eb){return eb===kq.BANG||eb===kq.DOLLAR||eb===kq.AMP||eb===kq.PAREN_L||eb===kq.PAREN_R||eb===kq.SPREAD||eb===kq.COLON||eb===kq.EQUALS||eb===kq.AT||eb===kq.BRACKET_L||eb===kq.BRACKET_R||eb===kq.BRACE_L||eb===kq.PIPE||eb===kq.BRACE_R}function L2(eb){return eb>=0&&eb<=55295||eb>=57344&&eb<=1114111}function L6(eb,em){return L4(eb.charCodeAt(em))&&L3(eb.charCodeAt(em+1))}function L4(eb){return eb>=55296&&eb<=56319}function L3(eb){return eb>=56320&&eb<=57343}function L5(eb,em){let eH=eb.source.body.codePointAt(em);if(void 0===eH)return kq.EOF;if(eH>=32&&eH<=126){let eb=String.fromCodePoint(eH);return'"'===eb?"'\"'":`"${eb}"`}return"U+"+eH.toString(16).toUpperCase().padStart(4,"0")}function L8(eb,em,eH,eV,ew){let eM=eb.line,eC=1+eH-eb.lineStart;return new LF(em,eH,eV,eM,eC,ew)}function L9(eb,em){let eH=eb.source.body,eV=eH.length,ew=em;for(;ew=48&&eb<=57?eb-48:eb>=65&&eb<=70?eb-55:eb>=97&&eb<=102?eb-87:-1}function Cw(eb,em){let eH=eb.source.body,eV=eH.charCodeAt(em+1);switch(eV){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:"\n",size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw LR(eb.source,em,`Invalid character escape sequence: "${eH.slice(em,em+2)}".`)}function CM(eb,em){let eH=eb.source.body,eV=eH.length,ew=eb.lineStart,eM=em+3,eC=eM,eT="",e_=[];for(;eMCT)return"["+CP(eb)+"]";let eV=eH.map(([eb,eH])=>eb+": "+CE(eH,em));return"{ "+eV.join(", ")+" }"}function CD(eb,em){if(0===eb.length)return"[]";if(em.length>CT)return"[Array]";let eH=Math.min(Ck,eb.length),eV=eb.length-eH,ew=[];for(let eV=0;eV1&&ew.push(`... ${eV} more items`),"["+ew.join(", ")+"]"}function CP(eb){let em=Object.prototype.toString.call(eb).replace(/^\[object /,"").replace(/]$/,"");if("Object"===em&&"function"==typeof eb.constructor){let em=eb.constructor.name;if("string"==typeof em&&""!==em)return em}return em}let CO=globalThis.process&&"production"===globalThis.process.env.NODE_ENV?function(eb,em){return eb instanceof em}:function(eb,em){if(eb instanceof em)return!0;if("object"==typeof eb&&null!==eb){var eH;let eV=em.prototype[Symbol.toStringTag],ew=Symbol.toStringTag in eb?eb[Symbol.toStringTag]:null===(eH=eb.constructor)||void 0===eH?void 0:eH.name;if(eV===ew){let em=C_(eb);throw Error(`Cannot use ${eV} "${em}" from another module or realm. +Missing signature for public key${1===eb.missing.length?"":"(s)"} [\`${eb.missing.map(eb=>eb.toBase58()).join("`, `")}\`].`),Error(em)}}return this._serialize(eM)}_serialize(eb){let{signatures:em}=this,ew=[];lq(ew,em.length);let eM=ew.length+64*em.length+eb.length,eC=eJ.Buffer.alloc(eM);return lW(em.length<256),eJ.Buffer.from(ew).copy(eC,0),em.forEach(({signature:eb},em)=>{null!==eb&&(lW(64===eb.length,"signature has invalid length"),eJ.Buffer.from(eb).copy(eC,ew.length+64*em))}),eb.copy(eC,ew.length+64*em.length),lW(eC.length<=lS,`Transaction too large: ${eC.length} > ${lS}`),eC}get keys(){return lW(1===this.instructions.length),this.instructions[0].keys.map(eb=>eb.pubkey)}get programId(){return lW(1===this.instructions.length),this.instructions[0].programId}get data(){return lW(1===this.instructions.length),this.instructions[0].data}static from(eb){let em=[...eb],ew=l$(em),eM=[];for(let eb=0;eb0&&(ew.feePayer=eb.accountKeys[0]),em.forEach((em,eM)=>{let eC={signature:em==iH().encode(l6)?null:iH().decode(em),publicKey:eb.accountKeys[eM]};ew.signatures.push(eC)}),eb.instructions.forEach(em=>{let eM=em.accounts.map(em=>{let eM=eb.accountKeys[em];return{pubkey:eM,isSigner:ew.signatures.some(eb=>eb.publicKey.toString()===eM.toString())||eb.isAccountSigner(em),isWritable:eb.isAccountWritable(em)}});ew.instructions.push(new l4({keys:eM,programId:eb.accountKeys[em.programIdIndex],data:iH().decode(em.data)}))}),ew._message=eb,ew._json=ew.toJSON(),ew}}let l5=160,l8=64,l9=l5/l8,l7=1e3/l9,fy=new lE("SysvarC1ock11111111111111111111111111111111");new lE("SysvarEpochSchedu1e111111111111111111111111"),new lE("Sysvar1nstructions1111111111111111111111111");let fz=new lE("SysvarRecentB1ockHashes11111111111111111111"),fw=new lE("SysvarRent111111111111111111111111111111111");new lE("SysvarRewards111111111111111111111111111111"),new lE("SysvarS1otHashes111111111111111111111111111"),new lE("SysvarS1otHistory11111111111111111111111111");let fC=new lE("SysvarStakeHistory1111111111111111111111111");class fx extends Error{constructor({action:eb,signature:em,transactionMessage:ew,logs:eC}){let eT;let e_=eC?`Logs: +${JSON.stringify(eC.slice(-10),null,2)}. `:"",eE="\nCatch the `SendTransactionError` and call `getLogs()` on it for full details.";switch(eb){case"send":eT=`Transaction ${em} resulted in an error. +${ew}. `+e_+eE;break;case"simulate":eT=`Simulation failed. +Message: ${ew}. +`+e_+eE;break;default:var eM;eT=`Unknown action '${eM=eb}'`}super(eT),this.signature=void 0,this.transactionMessage=void 0,this.transactionLogs=void 0,this.signature=em,this.transactionMessage=ew,this.transactionLogs=eC||void 0}get transactionError(){return{message:this.transactionMessage,logs:Array.isArray(this.transactionLogs)?this.transactionLogs:void 0}}get logs(){let eb=this.transactionLogs;if(null==eb||"object"!=typeof eb||!("then"in eb))return eb}async getLogs(eb){return Array.isArray(this.transactionLogs)||(this.transactionLogs=new Promise((em,ew)=>{eb.getTransaction(this.signature).then(eb=>{if(eb&&eb.meta&&eb.meta.logMessages){let ew=eb.meta.logMessages;this.transactionLogs=ew,em(ew)}else ew(Error("Log messages not found"))}).catch(ew)})),await this.transactionLogs}}async function fk(eb,em,ew,eM){let eC;let eT=eM&&{skipPreflight:eM.skipPreflight,preflightCommitment:eM.preflightCommitment||eM.commitment,maxRetries:eM.maxRetries,minContextSlot:eM.minContextSlot},e_=await eb.sendTransaction(em,ew,eT);if(null!=em.recentBlockhash&&null!=em.lastValidBlockHeight)eC=(await eb.confirmTransaction({abortSignal:eM?.abortSignal,signature:e_,blockhash:em.recentBlockhash,lastValidBlockHeight:em.lastValidBlockHeight},eM&&eM.commitment)).value;else if(null!=em.minNonceContextSlot&&null!=em.nonceInfo){let{nonceInstruction:ew}=em.nonceInfo,eT=ew.keys[0].pubkey;eC=(await eb.confirmTransaction({abortSignal:eM?.abortSignal,minContextSlot:em.minNonceContextSlot,nonceAccountPubkey:eT,nonceValue:em.nonceInfo.nonce,signature:e_},eM&&eM.commitment)).value}else eM?.abortSignal!=null&&console.warn("sendAndConfirmTransaction(): A transaction with a deprecated confirmation strategy was supplied along with an `abortSignal`. Only transactions having `lastValidBlockHeight` or a combination of `nonceInfo` and `minNonceContextSlot` are abortable."),eC=(await eb.confirmTransaction(e_,eM&&eM.commitment)).value;if(eC.err){if(null!=e_)throw new fx({action:"send",signature:e_,transactionMessage:`Status: (${JSON.stringify(eC)})`});throw Error(`Transaction ${e_} failed (${JSON.stringify(eC)})`)}return e_}function fT(eb){return new Promise(em=>setTimeout(em,eb))}function f_(eb,em){let ew=eb.layout.span>=0?eb.layout.span:lH(eb,em),eM=eJ.Buffer.alloc(ew),eC=Object.assign({instruction:eb.index},em);return eb.layout.encode(eC,eM),eM}let fE=cN._O("lamportsPerSignature"),fS=cN.n_([cN.Jq("version"),cN.Jq("state"),lR("authorizedPubkey"),lR("nonce"),cN.n_([fE],"feeCalculator")]),fA=fS.span,fN=eb=>{let em=eb.decode.bind(eb),ew=eb.encode.bind(eb);return{decode:em,encode:ew}},fI=eb=>em=>{let ew=(0,cN.Ik)(eb,em),{encode:eM,decode:eC}=fN(ew),eT=ew;return eT.decode=(eb,em)=>{let ew=eC(eb,em);return(0,cI.oU)(eJ.Buffer.from(ew))},eT.encode=(em,ew,eC)=>{let eT=(0,cI.k$)(em,eb);return eM(eT,ew,eC)},eT},fD=fI(8),fO=Object.freeze({Create:{index:0,layout:cN.n_([cN.Jq("instruction"),cN.gM("lamports"),cN.gM("space"),lR("programId")])},Assign:{index:1,layout:cN.n_([cN.Jq("instruction"),lR("programId")])},Transfer:{index:2,layout:cN.n_([cN.Jq("instruction"),fD("lamports")])},CreateWithSeed:{index:3,layout:cN.n_([cN.Jq("instruction"),lR("base"),lB("seed"),cN.gM("lamports"),cN.gM("space"),lR("programId")])},AdvanceNonceAccount:{index:4,layout:cN.n_([cN.Jq("instruction")])},WithdrawNonceAccount:{index:5,layout:cN.n_([cN.Jq("instruction"),cN.gM("lamports")])},InitializeNonceAccount:{index:6,layout:cN.n_([cN.Jq("instruction"),lR("authorized")])},AuthorizeNonceAccount:{index:7,layout:cN.n_([cN.Jq("instruction"),lR("authorized")])},Allocate:{index:8,layout:cN.n_([cN.Jq("instruction"),cN.gM("space")])},AllocateWithSeed:{index:9,layout:cN.n_([cN.Jq("instruction"),lR("base"),lB("seed"),cN.gM("space"),lR("programId")])},AssignWithSeed:{index:10,layout:cN.n_([cN.Jq("instruction"),lR("base"),lB("seed"),lR("programId")])},TransferWithSeed:{index:11,layout:cN.n_([cN.Jq("instruction"),fD("lamports"),lB("seed"),lR("programId")])},UpgradeNonceAccount:{index:12,layout:cN.n_([cN.Jq("instruction")])}});class fP{constructor(){}static createAccount(eb){let em=fO.Create,ew=f_(em,{lamports:eb.lamports,space:eb.space,programId:lz(eb.programId.toBuffer())});return new l4({keys:[{pubkey:eb.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:eb.newAccountPubkey,isSigner:!0,isWritable:!0}],programId:this.programId,data:ew})}static transfer(eb){let em,ew;if("basePubkey"in eb){let eM=fO.TransferWithSeed;em=f_(eM,{lamports:BigInt(eb.lamports),seed:eb.seed,programId:lz(eb.programId.toBuffer())}),ew=[{pubkey:eb.fromPubkey,isSigner:!1,isWritable:!0},{pubkey:eb.basePubkey,isSigner:!0,isWritable:!1},{pubkey:eb.toPubkey,isSigner:!1,isWritable:!0}]}else{let eM=fO.Transfer;em=f_(eM,{lamports:BigInt(eb.lamports)}),ew=[{pubkey:eb.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:eb.toPubkey,isSigner:!1,isWritable:!0}]}return new l4({keys:ew,programId:this.programId,data:em})}static assign(eb){let em,ew;if("basePubkey"in eb){let eM=fO.AssignWithSeed;em=f_(eM,{base:lz(eb.basePubkey.toBuffer()),seed:eb.seed,programId:lz(eb.programId.toBuffer())}),ew=[{pubkey:eb.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:eb.basePubkey,isSigner:!0,isWritable:!1}]}else{let eM=fO.Assign;em=f_(eM,{programId:lz(eb.programId.toBuffer())}),ew=[{pubkey:eb.accountPubkey,isSigner:!0,isWritable:!0}]}return new l4({keys:ew,programId:this.programId,data:em})}static createAccountWithSeed(eb){let em=fO.CreateWithSeed,ew=f_(em,{base:lz(eb.basePubkey.toBuffer()),seed:eb.seed,lamports:eb.lamports,space:eb.space,programId:lz(eb.programId.toBuffer())}),eM=[{pubkey:eb.fromPubkey,isSigner:!0,isWritable:!0},{pubkey:eb.newAccountPubkey,isSigner:!1,isWritable:!0}];return eb.basePubkey.equals(eb.fromPubkey)||eM.push({pubkey:eb.basePubkey,isSigner:!0,isWritable:!1}),new l4({keys:eM,programId:this.programId,data:ew})}static createNonceAccount(eb){let em=new l3;"basePubkey"in eb&&"seed"in eb?em.add(fP.createAccountWithSeed({fromPubkey:eb.fromPubkey,newAccountPubkey:eb.noncePubkey,basePubkey:eb.basePubkey,seed:eb.seed,lamports:eb.lamports,space:fA,programId:this.programId})):em.add(fP.createAccount({fromPubkey:eb.fromPubkey,newAccountPubkey:eb.noncePubkey,lamports:eb.lamports,space:fA,programId:this.programId}));let ew={noncePubkey:eb.noncePubkey,authorizedPubkey:eb.authorizedPubkey};return em.add(this.nonceInitialize(ew)),em}static nonceInitialize(eb){let em=fO.InitializeNonceAccount,ew=f_(em,{authorized:lz(eb.authorizedPubkey.toBuffer())}),eM={keys:[{pubkey:eb.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:fz,isSigner:!1,isWritable:!1},{pubkey:fw,isSigner:!1,isWritable:!1}],programId:this.programId,data:ew};return new l4(eM)}static nonceAdvance(eb){let em=fO.AdvanceNonceAccount,ew=f_(em),eM={keys:[{pubkey:eb.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:fz,isSigner:!1,isWritable:!1},{pubkey:eb.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:ew};return new l4(eM)}static nonceWithdraw(eb){let em=fO.WithdrawNonceAccount,ew=f_(em,{lamports:eb.lamports});return new l4({keys:[{pubkey:eb.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:eb.toPubkey,isSigner:!1,isWritable:!0},{pubkey:fz,isSigner:!1,isWritable:!1},{pubkey:fw,isSigner:!1,isWritable:!1},{pubkey:eb.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:ew})}static nonceAuthorize(eb){let em=fO.AuthorizeNonceAccount,ew=f_(em,{authorized:lz(eb.newAuthorizedPubkey.toBuffer())});return new l4({keys:[{pubkey:eb.noncePubkey,isSigner:!1,isWritable:!0},{pubkey:eb.authorizedPubkey,isSigner:!0,isWritable:!1}],programId:this.programId,data:ew})}static allocate(eb){let em,ew;if("basePubkey"in eb){let eM=fO.AllocateWithSeed;em=f_(eM,{base:lz(eb.basePubkey.toBuffer()),seed:eb.seed,space:eb.space,programId:lz(eb.programId.toBuffer())}),ew=[{pubkey:eb.accountPubkey,isSigner:!1,isWritable:!0},{pubkey:eb.basePubkey,isSigner:!0,isWritable:!1}]}else{let eM=fO.Allocate;em=f_(eM,{space:eb.space}),ew=[{pubkey:eb.accountPubkey,isSigner:!0,isWritable:!0}]}return new l4({keys:ew,programId:this.programId,data:em})}}fP.programId=new lE("11111111111111111111111111111111");let fR=lS-300;class fB{constructor(){}static getMinNumSignatures(eb){return 2*(Math.ceil(eb/fB.chunkSize)+1+1)}static async load(eb,em,ew,eM,eC){{let eT=await eb.getMinimumBalanceForRentExemption(eC.length),e_=await eb.getAccountInfo(ew.publicKey,"confirmed"),eE=null;if(null!==e_){if(e_.executable)return console.error("Program load failed, account is already executable"),!1;e_.data.length!==eC.length&&(eE=eE||new l3).add(fP.allocate({accountPubkey:ew.publicKey,space:eC.length})),e_.owner.equals(eM)||(eE=eE||new l3).add(fP.assign({accountPubkey:ew.publicKey,programId:eM})),e_.lamports0?eT:1,space:eC.length,programId:eM}));null!==eE&&await fk(eb,eE,[em,ew],{commitment:"confirmed"})}let eT=cN.n_([cN.Jq("instruction"),cN.Jq("offset"),cN.Jq("bytesLength"),cN.Jq("bytesLengthPadding"),cN.A9(cN.u8("byte"),cN.cv(cN.Jq(),-8),"bytes")]),e_=fB.chunkSize,eE=0,eS=eC,eA=[];for(;eS.length>0;){let eC=eS.slice(0,e_),eN=eJ.Buffer.alloc(e_+16);eT.encode({instruction:0,offset:eE,bytes:eC,bytesLength:0,bytesLengthPadding:0},eN);let eI=new l3().add({keys:[{pubkey:ew.publicKey,isSigner:!0,isWritable:!0}],programId:eM,data:eN});if(eA.push(fk(eb,eI,[em,ew],{commitment:"confirmed"})),eb._rpcEndpoint.includes("solana.com")){let eb=4;await fT(1e3/eb)}eE+=e_,eS=eS.slice(e_)}await Promise.all(eA);{let eC=cN.n_([cN.Jq("instruction")]),eT=eJ.Buffer.alloc(eC.span);eC.encode({instruction:1},eT);let e_=new l3().add({keys:[{pubkey:ew.publicKey,isSigner:!0,isWritable:!0},{pubkey:fw,isSigner:!1,isWritable:!1}],programId:eM,data:eT}),eE="processed",eS=await eb.sendTransaction(e_,[em,ew],{preflightCommitment:eE}),{context:eA,value:eN}=await eb.confirmTransaction({signature:eS,lastValidBlockHeight:e_.lastValidBlockHeight,blockhash:e_.recentBlockhash},eE);if(eN.err)throw Error(`Transaction ${eS} failed (${JSON.stringify(eN)})`);for(;;){try{let em=await eb.getSlot({commitment:eE});if(em>eA.slot)break}catch{}await new Promise(eb=>setTimeout(eb,Math.round(l7/2)))}}return!0}}fB.chunkSize=fR,new lE("BPFLoader2111111111111111111111111111111111"),cN.n_([cN.Jq("typeIndex"),fD("deactivationSlot"),cN._O("lastExtendedSlot"),cN.u8("lastExtendedStartIndex"),cN.u8(),cN.A9(lR(),cN.cv(cN.u8(),-1),"authority")]);let fF=sP(cQ(lE),sA(),eb=>new lE(eb)),fj=sN([sA(),sb("base64")]),fU=sP(cQ(eJ.Buffer),fj,eb=>eJ.Buffer.from(eb[0],"base64"));function fV(eb){return sD([sI({jsonrpc:sb("2.0"),id:sA(),result:eb}),sI({jsonrpc:sb("2.0"),id:sA(),error:sI({code:sO(),message:sA(),data:sE(cY())})})])}let fH=fV(sO());function f$(eb){return sP(fV(eb),fH,em=>"error"in em?em:{...em,result:cq(em.result,eb)})}function fq(eb){return f$(sI({context:sI({slot:sT()}),value:eb}))}function fW(eb){return sI({context:sI({slot:sT()}),value:eb})}let fZ=sI({foundation:sT(),foundationTerm:sT(),initial:sT(),taper:sT(),terminal:sT()});f$(cJ(sC(sI({epoch:sT(),effectiveSlot:sT(),amount:sT(),postBalance:sT(),commission:sE(sC(sT()))}))));let fK=cJ(sI({slot:sT(),prioritizationFee:sT()})),fG=sI({total:sT(),validator:sT(),foundation:sT(),epoch:sT()}),fY=sI({epoch:sT(),slotIndex:sT(),slotsInEpoch:sT(),absoluteSlot:sT(),blockHeight:sE(sT()),transactionCount:sE(sT())}),fJ=sI({slotsPerEpoch:sT(),leaderScheduleSlotOffset:sT(),warmup:cX(),firstNormalEpoch:sT(),firstNormalSlot:sT()}),fX=sS(sA(),cJ(sT())),fQ=sC(sD([sI({}),sA()])),f0=sI({err:fQ}),f6=sb("receivedSignature");sI({"solana-core":sA(),"feature-set":sE(sT())});let f4=sI({program:sA(),programId:fF,parsed:sO()}),f3=sI({programId:fF,accounts:cJ(fF),data:sA()});fq(sI({err:sC(sD([sI({}),sA()])),logs:sC(cJ(sA())),accounts:sE(sC(cJ(sC(sI({executable:cX(),owner:sA(),lamports:sT(),data:cJ(sA()),rentEpoch:sE(sT())}))))),unitsConsumed:sE(sT()),returnData:sE(sC(sI({programId:sA(),data:sN([sA(),sb("base64")])}))),innerInstructions:sE(sC(cJ(sI({index:sT(),instructions:cJ(sD([f4,f3]))}))))})),fq(sI({byIdentity:sS(sA(),cJ(sT())),range:sI({firstSlot:sT(),lastSlot:sT()})})),f$(fZ),f$(fG),f$(fK),f$(fY),f$(fJ),f$(fX),f$(sT()),fq(sI({total:sT(),circulating:sT(),nonCirculating:sT(),nonCirculatingAccounts:cJ(fF)}));let f5=sI({amount:sA(),uiAmount:sC(sT()),decimals:sT(),uiAmountString:sE(sA())});fq(cJ(sI({address:fF,amount:sA(),uiAmount:sC(sT()),decimals:sT(),uiAmountString:sE(sA())}))),fq(cJ(sI({pubkey:fF,account:sI({executable:cX(),owner:fF,lamports:sT(),data:fU,rentEpoch:sT()})})));let f8=sI({program:sA(),parsed:sO(),space:sT()});fq(cJ(sI({pubkey:fF,account:sI({executable:cX(),owner:fF,lamports:sT(),data:f8,rentEpoch:sT()})}))),fq(cJ(sI({lamports:sT(),address:fF})));let f9=sI({executable:cX(),owner:fF,lamports:sT(),data:fU,rentEpoch:sT()});sI({pubkey:fF,account:f9});let f7=sP(sD([cQ(eJ.Buffer),f8]),sD([fj,f8]),eb=>Array.isArray(eb)?cq(eb,fU):eb),dv=sI({executable:cX(),owner:fF,lamports:sT(),data:f7,rentEpoch:sT()});sI({pubkey:fF,account:dv}),sI({state:sD([sb("active"),sb("inactive"),sb("activating"),sb("deactivating")]),active:sT(),inactive:sT()}),f$(cJ(sI({signature:sA(),slot:sT(),err:fQ,memo:sC(sA()),blockTime:sE(sC(sT()))}))),f$(cJ(sI({signature:sA(),slot:sT(),err:fQ,memo:sC(sA()),blockTime:sE(sC(sT()))}))),sI({subscription:sT(),result:fW(f9)});let dz=sI({pubkey:fF,account:f9});sI({subscription:sT(),result:fW(dz)});let dw=sI({parent:sT(),slot:sT(),root:sT()});sI({subscription:sT(),result:dw});let dM=sD([sI({type:sD([sb("firstShredReceived"),sb("completed"),sb("optimisticConfirmation"),sb("root")]),slot:sT(),timestamp:sT()}),sI({type:sb("createdBank"),parent:sT(),slot:sT(),timestamp:sT()}),sI({type:sb("frozen"),slot:sT(),timestamp:sT(),stats:sI({numTransactionEntries:sT(),numSuccessfulTransactions:sT(),numFailedTransactions:sT(),maxTransactionsPerEntry:sT()})}),sI({type:sb("dead"),slot:sT(),timestamp:sT(),err:sA()})]);sI({subscription:sT(),result:dM}),sI({subscription:sT(),result:fW(sD([f0,f6]))}),sI({subscription:sT(),result:sT()}),sI({pubkey:sA(),gossip:sC(sA()),tpu:sC(sA()),rpc:sC(sA()),version:sC(sA())});let dC=sI({votePubkey:sA(),nodePubkey:sA(),activatedStake:sT(),epochVoteAccount:cX(),epochCredits:cJ(sN([sT(),sT(),sT()])),commission:sT(),lastVote:sT(),rootSlot:sC(sT())});f$(sI({current:cJ(dC),delinquent:cJ(dC)}));let dT=sD([sb("processed"),sb("confirmed"),sb("finalized")]),dE=sI({slot:sT(),confirmations:sC(sT()),err:fQ,confirmationStatus:sE(dT)});fq(cJ(sC(dE))),f$(sT());let dS=sI({accountKey:fF,writableIndexes:cJ(sT()),readonlyIndexes:cJ(sT())}),dA=sI({signatures:cJ(sA()),message:sI({accountKeys:cJ(sA()),header:sI({numRequiredSignatures:sT(),numReadonlySignedAccounts:sT(),numReadonlyUnsignedAccounts:sT()}),instructions:cJ(sI({accounts:cJ(sT()),data:sA(),programIdIndex:sT()})),recentBlockhash:sA(),addressTableLookups:sE(cJ(dS))})}),dN=sI({pubkey:fF,signer:cX(),writable:cX(),source:sE(sD([sb("transaction"),sb("lookupTable")]))}),dI=sI({accountKeys:cJ(dN),signatures:cJ(sA())}),dD=sI({parsed:sO(),program:sA(),programId:fF}),dO=sI({accounts:cJ(fF),data:sA(),programId:fF}),dP=sD([dO,dD]),dR=sD([sI({parsed:sO(),program:sA(),programId:sA()}),sI({accounts:cJ(sA()),data:sA(),programId:sA()})]),dB=sP(dP,dR,eb=>"accounts"in eb?cq(eb,dO):cq(eb,dD)),dF=sI({signatures:cJ(sA()),message:sI({accountKeys:cJ(dN),instructions:cJ(dB),recentBlockhash:sA(),addressTableLookups:sE(sC(cJ(dS)))})}),dj=sI({accountIndex:sT(),mint:sA(),owner:sE(sA()),programId:sE(sA()),uiTokenAmount:f5}),dU=sI({writable:cJ(fF),readonly:cJ(fF)}),dV=sI({err:fQ,fee:sT(),innerInstructions:sE(sC(cJ(sI({index:sT(),instructions:cJ(sI({accounts:cJ(sT()),data:sA(),programIdIndex:sT()}))})))),preBalances:cJ(sT()),postBalances:cJ(sT()),logMessages:sE(sC(cJ(sA()))),preTokenBalances:sE(sC(cJ(dj))),postTokenBalances:sE(sC(cJ(dj))),loadedAddresses:sE(dU),computeUnitsConsumed:sE(sT())}),dH=sI({err:fQ,fee:sT(),innerInstructions:sE(sC(cJ(sI({index:sT(),instructions:cJ(dB)})))),preBalances:cJ(sT()),postBalances:cJ(sT()),logMessages:sE(sC(cJ(sA()))),preTokenBalances:sE(sC(cJ(dj))),postTokenBalances:sE(sC(cJ(dj))),loadedAddresses:sE(dU),computeUnitsConsumed:sE(sT())}),d$=sD([sb(0),sb("legacy")]),dq=sI({pubkey:sA(),lamports:sT(),postBalance:sC(sT()),rewardType:sC(sA()),commission:sE(sC(sT()))});f$(sC(sI({blockhash:sA(),previousBlockhash:sA(),parentSlot:sT(),transactions:cJ(sI({transaction:dA,meta:sC(dV),version:sE(d$)})),rewards:sE(cJ(dq)),blockTime:sC(sT()),blockHeight:sC(sT())}))),f$(sC(sI({blockhash:sA(),previousBlockhash:sA(),parentSlot:sT(),rewards:sE(cJ(dq)),blockTime:sC(sT()),blockHeight:sC(sT())}))),f$(sC(sI({blockhash:sA(),previousBlockhash:sA(),parentSlot:sT(),transactions:cJ(sI({transaction:dI,meta:sC(dV),version:sE(d$)})),rewards:sE(cJ(dq)),blockTime:sC(sT()),blockHeight:sC(sT())}))),f$(sC(sI({blockhash:sA(),previousBlockhash:sA(),parentSlot:sT(),transactions:cJ(sI({transaction:dF,meta:sC(dH),version:sE(d$)})),rewards:sE(cJ(dq)),blockTime:sC(sT()),blockHeight:sC(sT())}))),f$(sC(sI({blockhash:sA(),previousBlockhash:sA(),parentSlot:sT(),transactions:cJ(sI({transaction:dI,meta:sC(dH),version:sE(d$)})),rewards:sE(cJ(dq)),blockTime:sC(sT()),blockHeight:sC(sT())}))),f$(sC(sI({blockhash:sA(),previousBlockhash:sA(),parentSlot:sT(),rewards:sE(cJ(dq)),blockTime:sC(sT()),blockHeight:sC(sT())}))),f$(sC(sI({blockhash:sA(),previousBlockhash:sA(),parentSlot:sT(),transactions:cJ(sI({transaction:dA,meta:sC(dV)})),rewards:sE(cJ(dq)),blockTime:sC(sT())}))),f$(sC(sI({blockhash:sA(),previousBlockhash:sA(),parentSlot:sT(),signatures:cJ(sA()),blockTime:sC(sT())}))),f$(sC(sI({slot:sT(),meta:sC(dV),blockTime:sE(sC(sT())),transaction:dA,version:sE(d$)}))),f$(sC(sI({slot:sT(),transaction:dF,meta:sC(dH),blockTime:sE(sC(sT())),version:sE(d$)}))),fq(sI({blockhash:sA(),lastValidBlockHeight:sT()})),fq(cX());let dW=sI({slot:sT(),numTransactions:sT(),numSlots:sT(),samplePeriodSecs:sT()});f$(cJ(dW)),fq(sC(sI({feeCalculator:sI({lamportsPerSignature:sT()})}))),f$(sA()),f$(sA());let dZ=sI({err:fQ,logs:cJ(sA()),signature:sA()});sI({result:fW(dZ),subscription:sT()});class dK{constructor(eb){this._keypair=void 0,this._keypair=eb??o7()}static generate(){return new dK(o7())}static fromSecretKey(eb,em){if(64!==eb.byteLength)throw Error("bad secret key size");let ew=eb.slice(32,64);if(!em||!em.skipValidation){let em=eb.slice(0,32),eM=lb(em);for(let eb=0;eb<32;eb++)if(ew[eb]!==eM[eb])throw Error("provided secretKey is invalid")}return new dK({publicKey:ew,secretKey:eb})}static fromSeed(eb){let em=lb(eb),ew=new Uint8Array(64);return ew.set(eb),ew.set(em,32),new dK({publicKey:em,secretKey:ew})}get publicKey(){return new lE(this._keypair.publicKey)}get secretKey(){return new Uint8Array(this._keypair.secretKey)}}let dG=Object.freeze({CreateLookupTable:{index:0,layout:cN.n_([cN.Jq("instruction"),fD("recentSlot"),cN.u8("bumpSeed")])},FreezeLookupTable:{index:1,layout:cN.n_([cN.Jq("instruction")])},ExtendLookupTable:{index:2,layout:cN.n_([cN.Jq("instruction"),fD(),cN.A9(lR(),cN.cv(cN.Jq(),-8),"addresses")])},DeactivateLookupTable:{index:3,layout:cN.n_([cN.Jq("instruction")])},CloseLookupTable:{index:4,layout:cN.n_([cN.Jq("instruction")])}});class dY{constructor(){}static createLookupTable(eb){let[em,ew]=lE.findProgramAddressSync([eb.authority.toBuffer(),(0,cI.k$)(BigInt(eb.recentSlot),8)],this.programId),eM=dG.CreateLookupTable,eC=f_(eM,{recentSlot:BigInt(eb.recentSlot),bumpSeed:ew}),eT=[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:eb.authority,isSigner:!0,isWritable:!1},{pubkey:eb.payer,isSigner:!0,isWritable:!0},{pubkey:fP.programId,isSigner:!1,isWritable:!1}];return[new l4({programId:this.programId,keys:eT,data:eC}),em]}static freezeLookupTable(eb){let em=dG.FreezeLookupTable,ew=f_(em),eM=[{pubkey:eb.lookupTable,isSigner:!1,isWritable:!0},{pubkey:eb.authority,isSigner:!0,isWritable:!1}];return new l4({programId:this.programId,keys:eM,data:ew})}static extendLookupTable(eb){let em=dG.ExtendLookupTable,ew=f_(em,{addresses:eb.addresses.map(eb=>eb.toBytes())}),eM=[{pubkey:eb.lookupTable,isSigner:!1,isWritable:!0},{pubkey:eb.authority,isSigner:!0,isWritable:!1}];return eb.payer&&eM.push({pubkey:eb.payer,isSigner:!0,isWritable:!0},{pubkey:fP.programId,isSigner:!1,isWritable:!1}),new l4({programId:this.programId,keys:eM,data:ew})}static deactivateLookupTable(eb){let em=dG.DeactivateLookupTable,ew=f_(em),eM=[{pubkey:eb.lookupTable,isSigner:!1,isWritable:!0},{pubkey:eb.authority,isSigner:!0,isWritable:!1}];return new l4({programId:this.programId,keys:eM,data:ew})}static closeLookupTable(eb){let em=dG.CloseLookupTable,ew=f_(em),eM=[{pubkey:eb.lookupTable,isSigner:!1,isWritable:!0},{pubkey:eb.authority,isSigner:!0,isWritable:!1},{pubkey:eb.recipient,isSigner:!1,isWritable:!0}];return new l4({programId:this.programId,keys:eM,data:ew})}}dY.programId=new lE("AddressLookupTab1e1111111111111111111111111");let dJ=Object.freeze({RequestUnits:{index:0,layout:cN.n_([cN.u8("instruction"),cN.Jq("units"),cN.Jq("additionalFee")])},RequestHeapFrame:{index:1,layout:cN.n_([cN.u8("instruction"),cN.Jq("bytes")])},SetComputeUnitLimit:{index:2,layout:cN.n_([cN.u8("instruction"),cN.Jq("units")])},SetComputeUnitPrice:{index:3,layout:cN.n_([cN.u8("instruction"),fD("microLamports")])}});class dX{constructor(){}static requestUnits(eb){let em=dJ.RequestUnits,ew=f_(em,eb);return new l4({keys:[],programId:this.programId,data:ew})}static requestHeapFrame(eb){let em=dJ.RequestHeapFrame,ew=f_(em,eb);return new l4({keys:[],programId:this.programId,data:ew})}static setComputeUnitLimit(eb){let em=dJ.SetComputeUnitLimit,ew=f_(em,eb);return new l4({keys:[],programId:this.programId,data:ew})}static setComputeUnitPrice(eb){let em=dJ.SetComputeUnitPrice,ew=f_(em,{microLamports:BigInt(eb.microLamports)});return new l4({keys:[],programId:this.programId,data:ew})}}dX.programId=new lE("ComputeBudget111111111111111111111111111111");let dQ=64,ub=32,um=64,uy=cN.n_([cN.u8("numSignatures"),cN.u8("padding"),cN.KB("signatureOffset"),cN.KB("signatureInstructionIndex"),cN.KB("publicKeyOffset"),cN.KB("publicKeyInstructionIndex"),cN.KB("messageDataOffset"),cN.KB("messageDataSize"),cN.KB("messageInstructionIndex")]);class uz{constructor(){}static createInstructionWithPublicKey(eb){let{publicKey:em,message:ew,signature:eM,instructionIndex:eC}=eb;lW(em.length===ub,`Public Key must be ${ub} bytes but received ${em.length} bytes`),lW(eM.length===um,`Signature must be ${um} bytes but received ${eM.length} bytes`);let eT=uy.span,e_=eT+em.length,eE=e_+eM.length,eS=1,eA=eJ.Buffer.alloc(eE+ew.length),eN=null==eC?65535:eC;return uy.encode({numSignatures:eS,padding:0,signatureOffset:e_,signatureInstructionIndex:eN,publicKeyOffset:eT,publicKeyInstructionIndex:eN,messageDataOffset:eE,messageDataSize:ew.length,messageInstructionIndex:eN},eA),eA.fill(em,eT),eA.fill(eM,e_),eA.fill(ew,eE),new l4({keys:[],programId:uz.programId,data:eA})}static createInstructionWithPrivateKey(eb){let{privateKey:em,message:ew,instructionIndex:eM}=eb;lW(em.length===dQ,`Private key must be ${dQ} bytes but received ${em.length} bytes`);try{let eb=dK.fromSecretKey(em),eC=eb.publicKey.toBytes(),eT=ly(ew,eb.secretKey);return this.createInstructionWithPublicKey({publicKey:eC,message:ew,signature:eT,instructionIndex:eM})}catch(eb){throw Error(`Error creating instruction; ${eb}`)}}}uz.programId=new lE("Ed25519SigVerify111111111111111111111111111");let uw=(eb,em)=>{let ew=oQ.sign(eb,em);return[ew.toCompactRawBytes(),ew.recovery]};oQ.utils.isValidPrivateKey;let uM=oQ.getPublicKey,uC=32,ux=20,uk=64,uT=11,u_=cN.n_([cN.u8("numSignatures"),cN.KB("signatureOffset"),cN.u8("signatureInstructionIndex"),cN.KB("ethAddressOffset"),cN.u8("ethAddressInstructionIndex"),cN.KB("messageDataOffset"),cN.KB("messageDataSize"),cN.u8("messageInstructionIndex"),cN.Ik(20,"ethAddress"),cN.Ik(64,"signature"),cN.u8("recoveryId")]);class uE{constructor(){}static publicKeyToEthAddress(eb){lW(eb.length===uk,`Public key must be ${uk} bytes but received ${eb.length} bytes`);try{return eJ.Buffer.from(oz(lz(eb))).slice(-ux)}catch(eb){throw Error(`Error constructing Ethereum address: ${eb}`)}}static createInstructionWithPublicKey(eb){let{publicKey:em,message:ew,signature:eM,recoveryId:eC,instructionIndex:eT}=eb;return uE.createInstructionWithEthAddress({ethAddress:uE.publicKeyToEthAddress(em),message:ew,signature:eM,recoveryId:eC,instructionIndex:eT})}static createInstructionWithEthAddress(eb){let em;let{ethAddress:ew,message:eM,signature:eC,recoveryId:eT,instructionIndex:e_=0}=eb;lW((em="string"==typeof ew?ew.startsWith("0x")?eJ.Buffer.from(ew.substr(2),"hex"):eJ.Buffer.from(ew,"hex"):ew).length===ux,`Address must be ${ux} bytes but received ${em.length} bytes`);let eE=1+uT,eS=eE,eA=eE+em.length,eN=eA+eC.length+1,eI=1,eD=eJ.Buffer.alloc(u_.span+eM.length);return u_.encode({numSignatures:eI,signatureOffset:eA,signatureInstructionIndex:e_,ethAddressOffset:eS,ethAddressInstructionIndex:e_,messageDataOffset:eN,messageDataSize:eM.length,messageInstructionIndex:e_,signature:lz(eC),ethAddress:lz(em),recoveryId:eT},eD),eD.fill(lz(eM),u_.span),new l4({keys:[],programId:uE.programId,data:eD})}static createInstructionWithPrivateKey(eb){let{privateKey:em,message:ew,instructionIndex:eM}=eb;lW(em.length===uC,`Private key must be ${uC} bytes but received ${em.length} bytes`);try{let eb=lz(em),eC=uM(eb,!1).slice(1),eT=eJ.Buffer.from(oz(lz(ew))),[e_,eE]=uw(eT,eb);return this.createInstructionWithPublicKey({publicKey:eC,message:ew,signature:e_,recoveryId:eE,instructionIndex:eM})}catch(eb){throw Error(`Error creating instruction; ${eb}`)}}}uE.programId=new lE("KeccakSecp256k11111111111111111111111111111");let uS=new lE("StakeConfig11111111111111111111111111111111");class uA{constructor(eb,em,ew){this.unixTimestamp=void 0,this.epoch=void 0,this.custodian=void 0,this.unixTimestamp=eb,this.epoch=em,this.custodian=ew}}eT=uA,uA.default=new eT(0,0,lE.default);let uN=Object.freeze({Initialize:{index:0,layout:cN.n_([cN.Jq("instruction"),lF(),lj()])},Authorize:{index:1,layout:cN.n_([cN.Jq("instruction"),lR("newAuthorized"),cN.Jq("stakeAuthorizationType")])},Delegate:{index:2,layout:cN.n_([cN.Jq("instruction")])},Split:{index:3,layout:cN.n_([cN.Jq("instruction"),cN.gM("lamports")])},Withdraw:{index:4,layout:cN.n_([cN.Jq("instruction"),cN.gM("lamports")])},Deactivate:{index:5,layout:cN.n_([cN.Jq("instruction")])},Merge:{index:7,layout:cN.n_([cN.Jq("instruction")])},AuthorizeWithSeed:{index:8,layout:cN.n_([cN.Jq("instruction"),lR("newAuthorized"),cN.Jq("stakeAuthorizationType"),lB("authoritySeed"),lR("authorityOwner")])}});Object.freeze({Staker:{index:0},Withdrawer:{index:1}});class uI{constructor(){}static initialize(eb){let{stakePubkey:em,authorized:ew,lockup:eM}=eb,eC=eM||uA.default,eT=uN.Initialize,e_=f_(eT,{authorized:{staker:lz(ew.staker.toBuffer()),withdrawer:lz(ew.withdrawer.toBuffer())},lockup:{unixTimestamp:eC.unixTimestamp,epoch:eC.epoch,custodian:lz(eC.custodian.toBuffer())}}),eE={keys:[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:fw,isSigner:!1,isWritable:!1}],programId:this.programId,data:e_};return new l4(eE)}static createAccountWithSeed(eb){let em=new l3;em.add(fP.createAccountWithSeed({fromPubkey:eb.fromPubkey,newAccountPubkey:eb.stakePubkey,basePubkey:eb.basePubkey,seed:eb.seed,lamports:eb.lamports,space:this.space,programId:this.programId}));let{stakePubkey:ew,authorized:eM,lockup:eC}=eb;return em.add(this.initialize({stakePubkey:ew,authorized:eM,lockup:eC}))}static createAccount(eb){let em=new l3;em.add(fP.createAccount({fromPubkey:eb.fromPubkey,newAccountPubkey:eb.stakePubkey,lamports:eb.lamports,space:this.space,programId:this.programId}));let{stakePubkey:ew,authorized:eM,lockup:eC}=eb;return em.add(this.initialize({stakePubkey:ew,authorized:eM,lockup:eC}))}static delegate(eb){let{stakePubkey:em,authorizedPubkey:ew,votePubkey:eM}=eb,eC=uN.Delegate,eT=f_(eC);return new l3().add({keys:[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:eM,isSigner:!1,isWritable:!1},{pubkey:fy,isSigner:!1,isWritable:!1},{pubkey:fC,isSigner:!1,isWritable:!1},{pubkey:uS,isSigner:!1,isWritable:!1},{pubkey:ew,isSigner:!0,isWritable:!1}],programId:this.programId,data:eT})}static authorize(eb){let{stakePubkey:em,authorizedPubkey:ew,newAuthorizedPubkey:eM,stakeAuthorizationType:eC,custodianPubkey:eT}=eb,e_=uN.Authorize,eE=f_(e_,{newAuthorized:lz(eM.toBuffer()),stakeAuthorizationType:eC.index}),eS=[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:fy,isSigner:!1,isWritable:!0},{pubkey:ew,isSigner:!0,isWritable:!1}];return eT&&eS.push({pubkey:eT,isSigner:!0,isWritable:!1}),new l3().add({keys:eS,programId:this.programId,data:eE})}static authorizeWithSeed(eb){let{stakePubkey:em,authorityBase:ew,authoritySeed:eM,authorityOwner:eC,newAuthorizedPubkey:eT,stakeAuthorizationType:e_,custodianPubkey:eE}=eb,eS=uN.AuthorizeWithSeed,eA=f_(eS,{newAuthorized:lz(eT.toBuffer()),stakeAuthorizationType:e_.index,authoritySeed:eM,authorityOwner:lz(eC.toBuffer())}),eN=[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:ew,isSigner:!0,isWritable:!1},{pubkey:fy,isSigner:!1,isWritable:!1}];return eE&&eN.push({pubkey:eE,isSigner:!0,isWritable:!1}),new l3().add({keys:eN,programId:this.programId,data:eA})}static splitInstruction(eb){let{stakePubkey:em,authorizedPubkey:ew,splitStakePubkey:eM,lamports:eC}=eb,eT=uN.Split,e_=f_(eT,{lamports:eC});return new l4({keys:[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:eM,isSigner:!1,isWritable:!0},{pubkey:ew,isSigner:!0,isWritable:!1}],programId:this.programId,data:e_})}static split(eb,em){let ew=new l3;return ew.add(fP.createAccount({fromPubkey:eb.authorizedPubkey,newAccountPubkey:eb.splitStakePubkey,lamports:em,space:this.space,programId:this.programId})),ew.add(this.splitInstruction(eb))}static splitWithSeed(eb,em){let{stakePubkey:ew,authorizedPubkey:eM,splitStakePubkey:eC,basePubkey:eT,seed:e_,lamports:eE}=eb,eS=new l3;return eS.add(fP.allocate({accountPubkey:eC,basePubkey:eT,seed:e_,space:this.space,programId:this.programId})),em&&em>0&&eS.add(fP.transfer({fromPubkey:eb.authorizedPubkey,toPubkey:eC,lamports:em})),eS.add(this.splitInstruction({stakePubkey:ew,authorizedPubkey:eM,splitStakePubkey:eC,lamports:eE}))}static merge(eb){let{stakePubkey:em,sourceStakePubKey:ew,authorizedPubkey:eM}=eb,eC=uN.Merge,eT=f_(eC);return new l3().add({keys:[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:ew,isSigner:!1,isWritable:!0},{pubkey:fy,isSigner:!1,isWritable:!1},{pubkey:fC,isSigner:!1,isWritable:!1},{pubkey:eM,isSigner:!0,isWritable:!1}],programId:this.programId,data:eT})}static withdraw(eb){let{stakePubkey:em,authorizedPubkey:ew,toPubkey:eM,lamports:eC,custodianPubkey:eT}=eb,e_=uN.Withdraw,eE=f_(e_,{lamports:eC}),eS=[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:eM,isSigner:!1,isWritable:!0},{pubkey:fy,isSigner:!1,isWritable:!1},{pubkey:fC,isSigner:!1,isWritable:!1},{pubkey:ew,isSigner:!0,isWritable:!1}];return eT&&eS.push({pubkey:eT,isSigner:!0,isWritable:!1}),new l3().add({keys:eS,programId:this.programId,data:eE})}static deactivate(eb){let{stakePubkey:em,authorizedPubkey:ew}=eb,eM=uN.Deactivate,eC=f_(eM);return new l3().add({keys:[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:fy,isSigner:!1,isWritable:!1},{pubkey:ew,isSigner:!0,isWritable:!1}],programId:this.programId,data:eC})}}uI.programId=new lE("Stake11111111111111111111111111111111111111"),uI.space=200;let uD=Object.freeze({InitializeAccount:{index:0,layout:cN.n_([cN.Jq("instruction"),lU()])},Authorize:{index:1,layout:cN.n_([cN.Jq("instruction"),lR("newAuthorized"),cN.Jq("voteAuthorizationType")])},Withdraw:{index:3,layout:cN.n_([cN.Jq("instruction"),cN.gM("lamports")])},UpdateValidatorIdentity:{index:4,layout:cN.n_([cN.Jq("instruction")])},AuthorizeWithSeed:{index:10,layout:cN.n_([cN.Jq("instruction"),lV()])}});Object.freeze({Voter:{index:0},Withdrawer:{index:1}});class uO{constructor(){}static initializeAccount(eb){let{votePubkey:em,nodePubkey:ew,voteInit:eM}=eb,eC=uD.InitializeAccount,eT=f_(eC,{voteInit:{nodePubkey:lz(eM.nodePubkey.toBuffer()),authorizedVoter:lz(eM.authorizedVoter.toBuffer()),authorizedWithdrawer:lz(eM.authorizedWithdrawer.toBuffer()),commission:eM.commission}}),e_={keys:[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:fw,isSigner:!1,isWritable:!1},{pubkey:fy,isSigner:!1,isWritable:!1},{pubkey:ew,isSigner:!0,isWritable:!1}],programId:this.programId,data:eT};return new l4(e_)}static createAccount(eb){let em=new l3;return em.add(fP.createAccount({fromPubkey:eb.fromPubkey,newAccountPubkey:eb.votePubkey,lamports:eb.lamports,space:this.space,programId:this.programId})),em.add(this.initializeAccount({votePubkey:eb.votePubkey,nodePubkey:eb.voteInit.nodePubkey,voteInit:eb.voteInit}))}static authorize(eb){let{votePubkey:em,authorizedPubkey:ew,newAuthorizedPubkey:eM,voteAuthorizationType:eC}=eb,eT=uD.Authorize,e_=f_(eT,{newAuthorized:lz(eM.toBuffer()),voteAuthorizationType:eC.index}),eE=[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:fy,isSigner:!1,isWritable:!1},{pubkey:ew,isSigner:!0,isWritable:!1}];return new l3().add({keys:eE,programId:this.programId,data:e_})}static authorizeWithSeed(eb){let{currentAuthorityDerivedKeyBasePubkey:em,currentAuthorityDerivedKeyOwnerPubkey:ew,currentAuthorityDerivedKeySeed:eM,newAuthorizedPubkey:eC,voteAuthorizationType:eT,votePubkey:e_}=eb,eE=uD.AuthorizeWithSeed,eS=f_(eE,{voteAuthorizeWithSeedArgs:{currentAuthorityDerivedKeyOwnerPubkey:lz(ew.toBuffer()),currentAuthorityDerivedKeySeed:eM,newAuthorized:lz(eC.toBuffer()),voteAuthorizationType:eT.index}}),eA=[{pubkey:e_,isSigner:!1,isWritable:!0},{pubkey:fy,isSigner:!1,isWritable:!1},{pubkey:em,isSigner:!0,isWritable:!1}];return new l3().add({keys:eA,programId:this.programId,data:eS})}static withdraw(eb){let{votePubkey:em,authorizedWithdrawerPubkey:ew,lamports:eM,toPubkey:eC}=eb,eT=uD.Withdraw,e_=f_(eT,{lamports:eM}),eE=[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:eC,isSigner:!1,isWritable:!0},{pubkey:ew,isSigner:!0,isWritable:!1}];return new l3().add({keys:eE,programId:this.programId,data:e_})}static safeWithdraw(eb,em,ew){if(eb.lamports>em-ew)throw Error("Withdraw will leave vote account with insufficient funds.");return uO.withdraw(eb)}static updateValidatorIdentity(eb){let{votePubkey:em,authorizedWithdrawerPubkey:ew,nodePubkey:eM}=eb,eC=uD.UpdateValidatorIdentity,eT=f_(eC),e_=[{pubkey:em,isSigner:!1,isWritable:!0},{pubkey:eM,isSigner:!0,isWritable:!1},{pubkey:ew,isSigner:!0,isWritable:!1}];return new l3().add({keys:e_,programId:this.programId,data:eT})}}uO.programId=new lE("Vote111111111111111111111111111111111111111"),uO.space=3762,new lE("Va1idator1nfo111111111111111111111111111111"),sI({name:sA(),website:sE(sA()),details:sE(sA()),iconUrl:sE(sA()),keybaseUsername:sE(sA())}),new lE("Vote111111111111111111111111111111111111111"),cN.n_([lR("nodePubkey"),lR("authorizedWithdrawer"),cN.u8("commission"),cN._O(),cN.A9(cN.n_([cN._O("slot"),cN.Jq("confirmationCount")]),cN.cv(cN.Jq(),-8),"votes"),cN.u8("rootSlotValid"),cN._O("rootSlot"),cN._O(),cN.A9(cN.n_([cN._O("epoch"),lR("authorizedVoter")]),cN.cv(cN.Jq(),-8),"authorizedVoters"),cN.n_([cN.A9(cN.n_([lR("authorizedPubkey"),cN._O("epochOfLastAuthorizedSwitch"),cN._O("targetEpoch")]),32,"buf"),cN._O("idx"),cN.u8("isEmpty")],"priorVoters"),cN._O(),cN.A9(cN.n_([cN._O("epoch"),cN._O("credits"),cN._O("prevCredits")]),cN.cv(cN.Jq(),-8),"epochCredits"),cN.n_([cN._O("slot"),cN._O("timestamp")],"lastTimestamp")]);var uP=ew(77191),uR=ew(50780);function uB(eb,em){if(!(eb instanceof Uint8Array)){if("function"==typeof eb?.getVerificationBuffer)eb=eb.getVerificationBuffer();else throw Error(`Cannot sign message: ${eb}`)}let{signature:ew,publicKey:eM}=JSON.parse(em);try{return uR.sign.detached.verify(eb,uP.decode(ew),uP.decode(eM))}catch{return!1}}var uF=Object.defineProperty,uj=(eb,em,ew)=>em in eb?uF(eb,em,{enumerable:!0,configurable:!0,writable:!0,value:ew}):eb[em]=ew,uU=(eb,em,ew)=>(uj(eb,"symbol"!=typeof em?em+"":em,ew),ew);class uV extends eY.mR{constructor(eb,em){super(eb.toString()),uU(this,"wallet"),uU(this,"keypair"),uU(this,"isKeypair"),em instanceof dK?(this.keypair=em,this.isKeypair=!0):(this.wallet=em,this.isKeypair=!1)}getChain(){return eF.$O.SOL}async sign(eb){let em,ew;let eM=eb.getVerificationBuffer();if(this.wallet){let eb=await this.wallet.signMessage(eM);em=eb instanceof Uint8Array?eb:eb.signature,ew=this.wallet.publicKey.toBase58()}else if(this.keypair)em=uR.sign.detached(eM,this.keypair.secretKey),ew=this.keypair.publicKey.toBase58();else throw Error("Cannot sign message");em=uP.encode(em);let eC=JSON.stringify({signature:em,publicKey:ew});if(uB(eM,eC))return eC;throw Error("Cannot proof the integrity of the signature")}}async function uH(eb){if(eb.connected||await eb.connect(),!eb.publicKey)throw Error("This wallet does not provide a public key");return new uV(eb.publicKey,eb)}var u$=ew(98223),uq=ew(74294),uW=ew(36969);ew(22751);var uZ=ew(89072),uK=ew(48764).Buffer;function uG(eb){let em=uK.alloc(4);em.writeUInt32BE(eb.length,0);let ew=uK.from(eb).toString("utf-8"),eM=uK.from(`Avalanche Signed Message: +${em}${ew}`,"utf8");return new uZ.sha256().update(eM).digest()}async function uY(eb,em,ew){if(!(eb instanceof Uint8Array)){if("function"==typeof eb?.getVerificationBuffer)eb=eb.getVerificationBuffer();else throw Error(`Cannot sign message: ${eb}`)}let eM=new u$.Avalanche().XChain().keyChain().makeKey(),eC=u$.BinTools.getInstance().cb58Decode(em),eT=uK.from(await uG(eb)).toString("hex"),e_=u$.Buffer.from(eT,"hex"),eE=eM.recover(e_,eC);return ew===eE.toString("hex")}var uJ=Object.defineProperty,uX=(eb,em,ew)=>em in eb?uJ(eb,em,{enumerable:!0,configurable:!0,writable:!0,value:ew}):eb[em]=ew,uQ=(eb,em,ew)=>(uX(eb,"symbol"!=typeof em?em+"":em,ew),ew);class u6 extends ej.TM{constructor(eb,em,ew,eM){if(super(em,ew),uQ(this,"keyPair"),this.selectedRpcId=eM||ej.Nd.AVAX,(eb instanceof uq.KeyPair||eb instanceof uW.KeyPair)&&(this.keyPair=eb,eb=new eU.w5(eb.getPrivateKey().toString("hex"))),eb instanceof eV.r)this.wallet=new ej.u6(eb);else if(eb instanceof eU.w5&&!eb.provider){let em=ej.l2[eM||this.selectedRpcId],ew=new eV.r(em.rpcUrls.at(0),{name:em.chainName,chainId:(0,ej.RW)(em.chainId)});this.wallet=new ej.u6(eb.connect(ew))}else eb instanceof ej.u6&&(this.wallet=eb)}getChain(){if(this.keyPair||this.wallet)return eF.$O.AVAX;throw Error("Cannot determine chain")}async askPubKey(){if(!this.publicKey){if(!this.wallet)throw Error("PublicKey Error: No providers are setup");if(this.wallet instanceof eU.w5){this.publicKey=this.wallet.publicKey;return}this.publicKey=await this.wallet.getPublicKey()}}async sign(eb){let em=eb.getVerificationBuffer(),ew=uG(em);if(this.keyPair){let eb=ew.toString("hex"),eM=u$.Buffer.from(eb,"hex"),eC=this.keyPair?.sign(eM);if(!eC)throw Error("Cannot sign message");let eT=u$.BinTools.getInstance().cb58Encode(eC);if(await uY(em,eT,this.keyPair.getPublicKey().toString("hex")))return eT;throw Error("Cannot proof the integrity of the signature")}if(this.wallet)return await this.wallet.signMessage(em);throw Error("Cannot sign message")}}var u4=((eM=u4||{}).C_CHAIN="C",eM.X_CHAIN="X",eM);async function u3(eb,em=ej.Nd.AVAX){let ew=eb instanceof eH.Q?eb:new eH.Q(eb),eM=new ej.u6(ew);if(Number(("number"==typeof em?ej.VX[em]:em).chainId)!==(await eM.provider.getNetwork()).chainId&&await eM.changeNetwork(em),await eM.connect(),eM.address)return new u6(eM,eM.address,void 0,"number"==typeof em?em:void 0);throw Error("Insufficient permissions")}class u5 extends eK{constructor(eb,em,ew,eM){super(eb,em,ew,eM||ej.Nd.BASE)}getChain(){return eF.$O.BASE}}var u9=ew(64146),u7=ew(38197),pb=ew(84243);let pm=["name","code","message"],pv=eb=>{if("object"==typeof eb&&null!==eb){let em={};for(let ew of pm)"string"==typeof eb[ew]&&(em[ew]=eb[ew]);return em}return{message:String(eb)}},pw=new Map([["FRAMEWORK_INITIALIZATION","Framework Initialization"],["SUPERTOKEN_INITIALIZATION","SuperToken Initialization"],["CREATE_SIGNER","Create Signer"],["SUPERTOKEN_READ","SuperToken Read"],["CFAV1_READ","ConstantFlowAgreementV1 Read"],["IDAV1_READ","InstantDistributionAgreementV1 Read"],["INVALID_ADDRESS","Invalid Address"],["INVALID_OBJECT","Invalid Object"],["UNSUPPORTED_OPERATION","Unsupported Batch Call Operation"],["MISSING_TRANSACTION_PROPERTIES","Missing Transaction Properties"],["BATCH_CALL_ERROR","Batch Call"],["NETWORK_MISMATCH","Network Mismatch"],["UNCLEAN_PERMISSIONS","Unclean Permissions"],["NEGATIVE_FLOW_ALLOWANCE","Negative Flow Rate Allowance"]]),pM=eb=>{try{let em=pv(eb),ew=JSON.stringify(em,null,2);return ew.replace(/\\"/g,'"')}catch{return console.error("SFError caused by: ",eb),"[Couldn't serialize internal error. Error logged to console instead.]"}};class pC extends Error{constructor({type:eb,message:em,cause:ew}){let eM=`${pw.get(eb)} Error: ${em}${ew?` +Caused by: ${pM(ew)}`:""}`;super(eM,ew?{cause:ew}:{}),ew&&!this.cause&&(this.cause=ew),this.type=eb,this.name="SFError",Object.setPrototypeOf(this,new.target.prototype)}}var pT=ew(2593);function p_(eb,em){let ew=pT.O$.from(eb),eM=100,eC=1===em?ew:ew.div(eM).mul(Math.round(em*eM));return eC}var pE=ew(8198);let pS=[{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];class pA{static createInterface(){return new pE.vU(pS)}static connect(eb,em){return new u9.CH(eb,pS,em)}}pA.abi=pS;let pN=[{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"uint256",name:"index",type:"uint256"}],name:"getRoleMember",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleMemberCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];class pI{static createInterface(){return new pE.vU(pN)}static connect(eb,em){return new u9.CH(eb,pN,em)}}pI.abi=pN;let pD=[{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"}];class pO{static createInterface(){return new pE.vU(pD)}static connect(eb,em){return new u9.CH(eb,pD,em)}}pO.abi=pD;let pP=[{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"uint256",name:"index",type:"uint256"}],name:"getRoleMember",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleMemberCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"}];class pR{static createInterface(){return new pE.vU(pP)}static connect(eb,em){return new u9.CH(eb,pP,em)}}pR.abi=pP;let pB=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}];class pF{static createInterface(){return new pE.vU(pB)}static connect(eb,em){return new u9.CH(eb,pB,em)}}pF.abi=pB;let pj=[{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];class pU{static createInterface(){return new pE.vU(pj)}static connect(eb,em){return new u9.CH(eb,pj,em)}}pU.abi=pj;let pV=[{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"}];class pH{static createInterface(){return new pE.vU(pV)}static connect(eb,em){return new u9.CH(eb,pV,em)}}pH.abi=pV;let p$=[{stateMutability:"payable",type:"fallback"},{stateMutability:"payable",type:"receive"}];class pq{static createInterface(){return new pE.vU(p$)}static connect(eb,em){return new u9.CH(eb,p$,em)}}pq.abi=p$;let pW=[{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",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:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",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:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}];class pZ{static createInterface(){return new pE.vU(pW)}static connect(eb,em){return new u9.CH(eb,pW,em)}}pZ.abi=pW;let pK=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",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:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}];class pG{static createInterface(){return new pE.vU(pK)}static connect(eb,em){return new u9.CH(eb,pK,em)}}pG.abi=pK;let pY=[{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"}];class pJ{static createInterface(){return new pE.vU(pY)}static connect(eb,em){return new u9.CH(eb,pY,em)}}pJ.abi=pY;let pX=[{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",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:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}],pQ="0x60806040523480156200001157600080fd5b5060405162000b4638038062000b4683398101604081905262000034916200011f565b600362000042838262000218565b50600462000051828262000218565b505050620002e4565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b81604052838152602092508683858801011115620000e757600080fd5b600091505b838210156200010b5785820183015181830184015290820190620000ec565b600093810190920192909252949350505050565b600080604083850312156200013357600080fd5b82516001600160401b03808211156200014b57600080fd5b620001598683870162000070565b935060208501519150808211156200017057600080fd5b506200017f8582860162000070565b9150509250929050565b600181811c908216806200019e57607f821691505b602082108103620001bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021357600081815260208120601f850160051c81016020861015620001ee5750805b601f850160051c820191505b818110156200020f57828155600101620001fa565b5050505b505050565b81516001600160401b038111156200023457620002346200005a565b6200024c8162000245845462000189565b84620001c5565b602080601f8311600181146200028457600084156200026b5750858301515b600019600386901b1c1916600185901b1785556200020f565b600085815260208120601f198616915b82811015620002b55788860151825594840194600190910190840162000294565b5085821015620002d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61085280620002f46000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610706565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610730565b61024c565b604051601281526020016100c3565b6100df610131366004610706565b610270565b6100f361014436600461076c565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610706565b6102a1565b6100df610188366004610706565b610321565b6100f361019b36600461078e565b61032f565b6060600380546101af906107c1565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c1565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fb565b61035a565b6060600480546101af906107c1565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b600060208083528351808285015260005b818110156106c9578581018301518582016040015282016106ad565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070157600080fd5b919050565b6000806040838503121561071957600080fd5b610722836106ea565b946020939093013593505050565b60008060006060848603121561074557600080fd5b61074e846106ea565b925061075c602085016106ea565b9150604084013590509250925092565b60006020828403121561077e57600080fd5b610787826106ea565b9392505050565b600080604083850312156107a157600080fd5b6107aa836106ea565b91506107b8602084016106ea565b90509250929050565b600181811c908216806107d557607f821691505b6020821081036107f557634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea2646970667358221220ce6fd47ad0ad2679809533356ee07301f943af2a2adf872539c601007319177364736f6c63430008130033",p6=eb=>eb.length>1;class p8 extends u9.lV{constructor(...eb){p6(eb)?super(...eb):super(pX,pQ,eb[0])}deploy(eb,em,ew){return super.deploy(eb,em,ew||{})}getDeployTransaction(eb,em,ew){return super.getDeployTransaction(eb,em,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(pX)}static connect(eb,em){return new u9.CH(eb,pX,em)}}p8.bytecode=pQ,p8.abi=pX;let p9=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}];class p7{static createInterface(){return new pE.vU(p9)}static connect(eb,em){return new u9.CH(eb,p9,em)}}p7.abi=p9;let bm=[{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:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{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:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"operator",type:"address"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"owner",type:"address"}],stateMutability:"view",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:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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"}];class bv{static createInterface(){return new pE.vU(bm)}static connect(eb,em){return new u9.CH(eb,bm,em)}}bv.abi=bm;let bM=[{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:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{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:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"operator",type:"address"}],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:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"owner",type:"address"}],stateMutability:"view",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:[{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"}];class bC{static createInterface(){return new pE.vU(bM)}static connect(eb,em){return new u9.CH(eb,bM,em)}}bC.abi=bM;let bk=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"AuthorizedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Burned",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Minted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"RevokedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Sent",type:"event"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"authorizeOperator",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:"amount",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultOperators",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"granularity",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"tokenHolder",type:"address"}],name:"isOperatorFor",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:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"revokeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"send",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}];class bT{static createInterface(){return new pE.vU(bk)}static connect(eb,em){return new u9.CH(eb,bk,em)}}bT.abi=bk;let b_=[{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"tokensReceived",outputs:[],stateMutability:"nonpayable",type:"function"}];class bE{static createInterface(){return new pE.vU(b_)}static connect(eb,em){return new u9.CH(eb,b_,em)}}bE.abi=b_;let bS=[{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"tokensToSend",outputs:[],stateMutability:"nonpayable",type:"function"}];class bA{static createInterface(){return new pE.vU(bS)}static connect(eb,em){return new u9.CH(eb,bS,em)}}bA.abi=bS;let bN=[{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];class bI{static createInterface(){return new pE.vU(bN)}static connect(eb,em){return new u9.CH(eb,bN,em)}}bI.abi=bN;let bD=[{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];class bO{static createInterface(){return new pE.vU(bD)}static connect(eb,em){return new u9.CH(eb,bD,em)}}bO.abi=bD;let bP=[{inputs:[{internalType:"bytes32",name:"interfaceHash",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"canImplementInterfaceForAddress",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"}],bR="0x608060405234801561001057600080fd5b50610114806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063249cb3fa14602d575b600080fd5b603c603836600460a4565b604e565b60405190815260200160405180910390f35b6000828152602081815260408083206001600160a01b038516845290915281205460ff16607b576000609d565b7fa2ef4600d742022d532d4747cb3547474667d6f13804902513b2ec01c848f4b45b9392505050565b6000806040838503121560b657600080fd5b8235915060208301356001600160a01b038116811460d357600080fd5b80915050925092905056fea264697066735822122006ff1b573197860a53ce71de2ccf4f76535fa2c003b79e61e97f91332c20a8a864736f6c63430008130033",bB=eb=>eb.length>1;class bF extends u9.lV{constructor(...eb){bB(eb)?super(...eb):super(bP,bR,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(bP)}static connect(eb,em){return new u9.CH(eb,bP,em)}}bF.bytecode=bR,bF.abi=bP;let bj=[{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];class bU{static createInterface(){return new pE.vU(bj)}static connect(eb,em){return new u9.CH(eb,bj,em)}}bU.abi=bj;let bV=[{inputs:[{internalType:"bytes32",name:"interfaceHash",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"canImplementInterfaceForAddress",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"}];class bH{static createInterface(){return new pE.vU(bV)}static connect(eb,em){return new u9.CH(eb,bV,em)}}bH.abi=bV;let b$=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"bytes32",name:"interfaceHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"implementer",type:"address"}],name:"InterfaceImplementerSet",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"newManager",type:"address"}],name:"ManagerChanged",type:"event"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes32",name:"_interfaceHash",type:"bytes32"}],name:"getInterfaceImplementer",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getManager",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"implementsERC165Interface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"implementsERC165InterfaceNoCache",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"interfaceName",type:"string"}],name:"interfaceHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes32",name:"_interfaceHash",type:"bytes32"},{internalType:"address",name:"implementer",type:"address"}],name:"setInterfaceImplementer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"newManager",type:"address"}],name:"setManager",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"updateERC165Cache",outputs:[],stateMutability:"nonpayable",type:"function"}];class bq{static createInterface(){return new pE.vU(b$)}static connect(eb,em){return new u9.CH(eb,b$,em)}}bq.abi=b$;let bW=[{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"}],bZ="0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122061590f6cd635a06290c02b99def67baf87094bf1650d78eeb998755045f1522764736f6c63430008130033",bK=eb=>eb.length>1;class bG extends u9.lV{constructor(...eb){bK(eb)?super(...eb):super(bW,bZ,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(bW)}static connect(eb,em){return new u9.CH(eb,bW,em)}}bG.bytecode=bZ,bG.abi=bW;let bY=[{inputs:[],name:"AGREEMENT_BASE_ONLY_HOST",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{inputs:[],name:"agreementType",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"time",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"dynamicBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}];class bJ{static createInterface(){return new pE.vU(bY)}static connect(eb,em){return new u9.CH(eb,bY,em)}}bJ.abi=bY;let bX=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AGREEMENT_BASE_ONLY_HOST",type:"error"},{inputs:[{internalType:"uint256",name:"_code",type:"uint256"}],name:"APP_RULE",type:"error"},{inputs:[],name:"CFA_ACL_FLOW_RATE_ALLOWANCE_EXCEEDED",type:"error"},{inputs:[],name:"CFA_ACL_NO_NEGATIVE_ALLOWANCE",type:"error"},{inputs:[],name:"CFA_ACL_NO_SENDER_CREATE",type:"error"},{inputs:[],name:"CFA_ACL_NO_SENDER_FLOW_OPERATOR",type:"error"},{inputs:[],name:"CFA_ACL_NO_SENDER_UPDATE",type:"error"},{inputs:[],name:"CFA_ACL_OPERATOR_NO_CREATE_PERMISSIONS",type:"error"},{inputs:[],name:"CFA_ACL_OPERATOR_NO_DELETE_PERMISSIONS",type:"error"},{inputs:[],name:"CFA_ACL_OPERATOR_NO_UPDATE_PERMISSIONS",type:"error"},{inputs:[],name:"CFA_ACL_UNCLEAN_PERMISSIONS",type:"error"},{inputs:[],name:"CFA_DEPOSIT_TOO_BIG",type:"error"},{inputs:[],name:"CFA_FLOW_ALREADY_EXISTS",type:"error"},{inputs:[],name:"CFA_FLOW_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"CFA_FLOW_RATE_TOO_BIG",type:"error"},{inputs:[],name:"CFA_HOOK_OUT_OF_GAS",type:"error"},{inputs:[],name:"CFA_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"CFA_INVALID_FLOW_RATE",type:"error"},{inputs:[],name:"CFA_NON_CRITICAL_SENDER",type:"error"},{inputs:[],name:"CFA_NO_SELF_FLOW",type:"error"},{inputs:[],name:"CFA_ZERO_ADDRESS_RECEIVER",type:"error"},{inputs:[],name:"CFA_ZERO_ADDRESS_SENDER",type:"error"},{inputs:[],name:"OUT_OF_GAS",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"flowOperator",type:"address"},{indexed:!1,internalType:"uint8",name:"permissions",type:"uint8"},{indexed:!1,internalType:"int96",name:"flowRateAllowance",type:"int96"}],name:"FlowOperatorUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"int96",name:"flowRate",type:"int96"},{indexed:!1,internalType:"int256",name:"totalSenderFlowRate",type:"int256"},{indexed:!1,internalType:"int256",name:"totalReceiverFlowRate",type:"int256"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"FlowUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"flowOperator",type:"address"},{indexed:!1,internalType:"uint256",name:"deposit",type:"uint256"}],name:"FlowUpdatedExtension",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{inputs:[],name:"CFA_HOOK_GAS_LIMIT",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_MINIMUM_DEPOSIT",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAXIMUM_DEPOSIT",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAXIMUM_FLOW_RATE",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8",name:"existingPermissions",type:"uint8"},{internalType:"uint8",name:"permissionDelta",type:"uint8"}],name:"addPermissions",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"pure",type:"function"},{inputs:[],name:"agreementType",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"authorizeFlowOperatorWithFullControl",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"createFlow",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"createFlowByOperator",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"int96",name:"subtractedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"decreaseFlowRateAllowance",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissionsToRemove",type:"uint8"},{internalType:"int96",name:"subtractedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"decreaseFlowRateAllowanceWithPermissions",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"deleteFlow",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"deleteFlowByOperator",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"getAccountFlowInfo",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"getDepositRequiredForFlowRate",outputs:[{internalType:"uint256",name:"deposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getFlow",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"flowId",type:"bytes32"}],name:"getFlowByID",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"flowOperator",type:"address"}],name:"getFlowOperatorData",outputs:[{internalType:"bytes32",name:"flowOperatorId",type:"bytes32"},{internalType:"uint8",name:"permissions",type:"uint8"},{internalType:"int96",name:"flowRateAllowance",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"flowOperatorId",type:"bytes32"}],name:"getFlowOperatorDataByID",outputs:[{internalType:"uint8",name:"permissions",type:"uint8"},{internalType:"int96",name:"flowRateAllowance",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint256",name:"deposit",type:"uint256"}],name:"getMaximumFlowRateFromDeposit",outputs:[{internalType:"int96",name:"flowRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"getNetFlow",outputs:[{internalType:"int96",name:"flowRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"int96",name:"addedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"increaseFlowRateAllowance",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissionsToAdd",type:"uint8"},{internalType:"int96",name:"addedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"increaseFlowRateAllowanceWithPermissions",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isPatricianPeriod",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"isPatricianPeriodNow",outputs:[{internalType:"bool",name:"isCurrentlyPatricianPeriod",type:"bool"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"time",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"dynamicBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint8",name:"existingPermissions",type:"uint8"},{internalType:"uint8",name:"permissionDelta",type:"uint8"}],name:"removePermissions",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"revokeFlowOperatorWithFullControl",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateFlow",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateFlowByOperator",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissions",type:"uint8"},{internalType:"int96",name:"flowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateFlowOperatorPermissions",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"}],bQ="0x60a06040523480156200001157600080fd5b506040516200555e3803806200555e833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b6080516154a0620000be6000396000818161083601528181610a4701528181610e8b01528181610f2001528181610fd5015281816117df015261187401526154a06000f3fe608060405234801561001057600080fd5b50600436106102105760003560e01c80635f51fb23116101255780639cb28b72116100ad578063bf3fbc281161007c578063bf3fbc2814610521578063da6b5f3014610544578063e6a1e88814610557578063e8e7e2d11461056a578063f31f88f01461057d57600080fd5b80639cb28b7214610337578063aabd2668146104e8578063ac5f5d00146104fb578063b4b333c61461050e57600080fd5b8063811b3d40116100f4578063811b3d40146104795780638d997f6e1461048c57806394229ecb1461049f5780639903ad38146104b25780639b2e48bc146104ba57600080fd5b80635f51fb231461041b57806362fc305e1461042e57806372976490146104415780637730599e1461045357600080fd5b8063354b9590116101a85780634fe9c291116101775780634fe9c291146103a357806350209a62146103cd57806350d75d25146103e057806352d1902d1461040057806354b770e31461040857600080fd5b8063354b95901461034557806346951954146103585780634b839e0b1461036d5780634c8b181f1461039057600080fd5b806309d256ef116101e457806309d256ef146102ad5780630f1ac495146102dc5780632567f5781461031257806326b0f5361461033757600080fd5b8062422bbe1461021557806304aafa491461024d5780630602f7db14610267578063062e56ec1461028d575b600080fd5b6102286102233660046147ea565b610590565b6040805193845260ff9092166020840152600b0b908201526060015b60405180910390f35b61025964010000000081565b604051908152602001610244565b61027a610275366004614835565b6105c6565b604051600b9190910b8152602001610244565b6102a061029b3660046148a3565b6105e7565b6040516102449190614958565b6102c06102bb366004614835565b610601565b6040805160ff9093168352600b9190910b602083015201610244565b6102ef6102ea36600461496b565b610625565b60408051948552600b9390930b6020850152918301526060820152608001610244565b6103256103203660046149b3565b61065b565b60405160ff9091168152602001610244565b61025960016001605f1b0381565b6102a06103533660046149f3565b610666565b61036b610366366004614a7f565b61082b565b005b61038061037b366004614a9c565b610880565b6040519015158152602001610244565b6102a061039e366004614add565b610957565b6103b66103b136600461496b565b610a42565b604080519215158352602083019190915201610244565b6102a06103db366004614b59565b610add565b6103e8610bb0565b6040516001600160a01b039091168152602001610244565b610259610bdf565b6102a06104163660046148a3565b610c43565b6102a0610429366004614b59565b610c5b565b6102a061043c366004614b59565b610c76565b61032561044f3660046149b3565b1790565b7fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3610259565b6102a0610487366004614b9a565b610d29565b61025961049a366004614bde565b610e72565b6102a06104ad3660046149f3565b611098565b61036b61121b565b6104cd6104c8366004614a9c565b611329565b60408051938452602084019290925290820152606001610244565b6102ef6104f6366004614835565b611383565b6102a0610509366004614b59565b611395565b6102a061051c366004614add565b6113a6565b61052b6203d09081565b60405167ffffffffffffffff9091168152602001610244565b6102a0610552366004614b9a565b61143a565b6102ef6105653660046147ea565b61156a565b61027a61057836600461496b565b6115a5565b6102a061058b366004614b9a565b6115bf565b600080600061059f85856116a8565b925060006105ad8785611713565b8051602090910151959990985094965093945050505050565b6000806105d2846117d8565b5090506105df818461192c565b949350505050565b60606105f885856000808787610d29565b95945050505050565b60008060006106108585611713565b80516020909101519097909650945050505050565b6000806000806000610637878761196c565b805160208201516040830151606090930151919b909a509198509650945050505050565b801982165b92915050565b606060006106aa8885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2592505050565b9050866001600160a01b031681606001516001600160a01b0316036106e25760405163edfa0d3b60e01b815260040160405180910390fd5b6000806106f88a6106f38b8b611be9565b611c11565b9150915060008060006107108d8d8860600151610590565b925092509250610721826001611c58565b61073e5760405163ac434b5f60e01b815260040160405180910390fd5b6000600b82900b60016001605f1b03148061076357508a600b0b8560200151600b0b12155b610785576020850151610776908c614c29565b6107809083614c29565b610787565b815b9050600081600b0b12156107ae5760405163a0645c1f60e01b815260040160405180910390fd5b6107ba8e858584611cb3565b505050506107e860408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b03808c1682528a8116602083015289166040820152600b88900b606082015261081c8183858a8a89611d3c565b9b9a5050505050505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461087457604051630b00ec8f60e11b815260040160405180910390fd5b61087d81611ea7565b50565b604051633acd4df360e21b81526001600160a01b03838116600483015260248201839052600091829186169063eb3537cc90604401606060405180830381865afa1580156108d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f69190614c5b565b505090506000811261090c576001915050610950565b600080610918876117d8565b915091506000610928888861196c565b915050600061093a82604001516120af565b90506109488582868661211d565b955050505050505b9392505050565b6060600061099b8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2592505050565b905060006109ae88888460600151610590565b5091505060006109bf826002611c58565b9050806109df5760405163e30f1bff60e01b815260040160405180910390fd5b6040805160808101825260008082526020820181905291810182905260608101919091525b6001600160a01b03808b16825289811660208301528816604082015260006060820152610a34818389898861216b565b9a9950505050505050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac79190614c89565b9050610ad4848483610880565b91509250929050565b60606000610b218785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2592505050565b9050610b4d60408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b03808916825260608084015182166020840181905291891660408401819052600b89900b91840191909152600091610b8b91611be9565b9050600080610b9e846000015184611c11565b9150915061081c8482848b8b8a611d3c565b6000610bda7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000306001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bda9190614c89565b60606105f88585600760016001605f1b038787610d29565b6060610c6c8686600087878761143a565b9695505050505050565b60606000610cba8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2592505050565b9050610ce660408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b038089168252606080840151821660208401529088166040830152600b87900b90820152610d1d8186868561285d565b98975050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939450610d7492508a9150899050888888886129de565b6040805180820190915260ff88168152600b87900b6020820152606082015191925090600090610da4908a6116a8565b9050896001600160a01b031663a1b2bf8b82610dbf85612aa5565b6040518363ffffffff1660e01b8152600401610ddc929190614cdd565b600060405180830381600087803b158015610df657600080fd5b505af1158015610e0a573d6000803e3d6000fd5b50505060608401516040805160ff8c168152600b8b900b60208201526001600160a01b03808e169450928316928e16917fc0d5d3a6ac18cc1769788c925e6e7fc89cd47e4270a42884736fa9b3ec09f3a8910160405180910390a45050509695505050505050565b600081600b0b600003610e8757506000610660565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ee7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0b9190614cf6565b90506000816001600160a01b03166380f70cba7f0000000000000000000000000000000000000000000000000000000000000000877feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc46040518463ffffffff1660e01b8152600401610f7f93929190614d13565b602060405180830381865afa158015610f9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc09190614c89565b90506000826001600160a01b03166380f70cba7f0000000000000000000000000000000000000000000000000000000000000000887fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f786040518463ffffffff1660e01b815260040161103493929190614d13565b602060405180830381865afa158015611051573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110759190614c89565b9050602081901c63ffffffff1661108d838288612b1b565b979650505050505050565b606060006110dc8885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2592505050565b9050866001600160a01b031681606001516001600160a01b031603611114576040516325cc989b60e11b815260040160405180910390fd5b60008060006111288b8b8660600151610590565b925092509250611139826000611c58565b611156576040516328faadab60e21b815260040160405180910390fd5b6000600b82900b60016001605f1b0314611179576111748983614c29565b61117b565b815b9050600081600b0b12156111a25760405163a0645c1f60e01b815260040160405180910390fd5b6111ae8c858584611cb3565b505050506111dc60408051608081018252600080825260208201819052918101829052606081019190915290565b6001600160a01b03808a168252888116602083015287166040820152600b86900b606082015261120e8186868561285d565b9998505050505050505050565b600054610100900460ff161580801561123b5750600054600160ff909116105b806112555750303b158015611255575060005460ff166001145b6112bd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156112e0576000805461ff0019166101001790555b801561087d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b600080600080600061133b888861196c565b915091508115611378578060200151600b0b81600001518761135d9190614d37565b6113679190614d5e565b945080604001519350806060015192505b505093509350939050565b60008060008060006106378787611c11565b6060610c6c868660008787876115bf565b606060006113ea8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2592505050565b905060006113fd88888460600151610590565b50915050600061140e826002611c58565b9050610a0460408051608081018252600080825260208201819052918101829052606081019190915290565b606082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093945061148592508a9150899050888888886129de565b9050600080600061149b8b85606001518c610590565b92509250925060006114ad838b61065b565b905060006114bb8a84614c29565b9050600081600b0b12156114e2576040516386e0377d60e01b815260040160405180910390fd5b6114ee8d868484611cb3565b8b6001600160a01b031686606001516001600160a01b03168e6001600160a01b03167fc0d5d3a6ac18cc1769788c925e6e7fc89cd47e4270a42884736fa9b3ec09f3a8858560405161155292919060ff929092168252600b0b602082015260400190565b60405180910390a45050505050509695505050505050565b6000806000806000611580886106f38989611be9565b805160208201516040830151606090930151919c909b50919950975095505050505050565b6000806115b2848461196c565b6020015195945050505050565b606082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093945061160a92508a9150899050888888886129de565b905060008060006116208b85606001518c610590565b9194509250905060006116338983614d8e565b9050828a176116448d868385611cb3565b8b6001600160a01b031686606001516001600160a01b03168e6001600160a01b03167fc0d5d3a6ac18cc1769788c925e6e7fc89cd47e4270a42884736fa9b3ec09f3a8848660405161155292919060ff929092168252600b0b602082015260400190565b600082826040516020016116f59291906060808252600c908201526b333637bba7b832b930ba37b960a11b60808201526001600160a01b0392831660208201529116604082015260a00190565b60405160208183030381529060405280519060200120905092915050565b6040805180820182526000808252602082018190529151636c2d9f2f60e01b8152306004820152602481018490526001604482015282906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa15801561177b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117a39190810190614e31565b90506117cb816000815181106117bb576117bb614ecb565b602002602001015160001c612b8e565b92509250505b9250929050565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561183b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185f9190614cf6565b90506000816001600160a01b03166380f70cba7f0000000000000000000000000000000000000000000000000000000000000000877fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f786040518463ffffffff1660e01b81526004016118d393929190614d13565b602060405180830381865afa1580156118f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119149190614c89565b63ffffffff602082901c811697911695509350505050565b600060016001605f1b0382111561195657604051631d4b0ae760e21b815260040160405180910390fd5b63ffffffff198216915060006105df8484614ef7565b6000611976614723565b604051634b61cc3360e01b81523060048201526001600160a01b038481166024830152600060448301819052600160648401529190861690634b61cc33906084015b600060405180830381865afa1580156119d5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119fd9190810190614e31565b90506117cb81600081518110611a1557611a15614ecb565b602002602001015160001c612bce565b611a2d61474e565b336001600160a01b0316836001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a999190614cf6565b6001600160a01b031614611ae35760405162461bcd60e51b81526020600482015260116024820152701d5b985d5d1a1bdc9a5e9959081a1bdcdd607a1b60448201526064016112b4565b604051632fd0a1cd60e21b8152339063bf42873490611b06908590600401614958565b602060405180830381865afa158015611b23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b479190614f26565b611b815760405162461bcd60e51b815260206004820152600b60248201526a0d2dcecc2d8d2c840c6e8f60ab1b60448201526064016112b4565b604051631fb6491d60e11b81523390633f6c923a90611ba4908590600401614958565b600060405180830381865afa158015611bc1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109509190810190614fc8565b604080516001600160a01b0380851660208301528316918101919091526000906060016116f5565b6000611c1b614723565b604051636c2d9f2f60e01b815230600482015260248101849052600160448201526000906001600160a01b03861690636c2d9f2f906064016119b8565b600080826002811115611c6d57611c6d6150cf565b03611c7e5750600182811614610660565b6001826002811115611c9257611c926150cf565b03611ca55750600182811c811614610660565b505060021c60019081161490565b6040805180820190915260ff83168152600b82900b60208201526001600160a01b03851663a1b2bf8b85611ce684612aa5565b6040518363ffffffff1660e01b8152600401611d03929190614cdd565b600060405180830381600087803b158015611d1d57600080fd5b505af1158015611d31573d6000803e3d6000fd5b505050505050505050565b60606000611d4a8884612c2e565b91505085611d6b5760405163168cafc960e21b815260040160405180910390fd5b6040888101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015611db5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd99190614f26565b15611e3557611e2e88604001518960000151838a89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508b925060019150612d2f9050565b9150611e80565b611e7d8860000151828988888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a92506134d5915050565b91505b611e9388600001518960200151856135a8565b611e9c88613682565b509695505050505050565b6000611ed17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603611f275760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016112b4565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f899190614c89565b611f91610bdf565b14611fea5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016112b4565b6001600160a01b03811630036120425760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016112b4565b61206a817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc612093610bdf565b604080519182526001600160a01b03841660208301520161131e565b60006001600160ff1b038211156121195760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016112b4565b5090565b60008360000361212f575060006105df565b600061213b85876150e5565b90506000612149858761510d565b9050612155848661513b565b61215f828461510d565b13979650505050505050565b6040805160c0810182526000808252602082018190529181018290526060818101839052608082019290925260a0810182905260208701516001600160a01b03166121c957604051631ce9b06760e01b815260040160405180910390fd5b60408701516001600160a01b03166121f457604051633c70159560e11b815260040160405180910390fd5b61220687602001518860400151611be9565b8082526020808901516001600160a01b03908116918401919091526040808a01518216908401526060808601519091169083015260006080830181905260a0808601519084015288519091829161225c91611c11565b915091508161227e5760405163168cafc960e21b815260040160405180910390fd5b885160208a01516040808801519051633acd4df360e21b81526000936001600160a01b03169263eb3537cc926122ca926004016001600160a01b03929092168252602082015260400190565b606060405180830381865afa1580156122e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230b9190614c5b565b5050905089602001516001600160a01b031686606001516001600160a01b031614158015612353575089604001516001600160a01b031686606001516001600160a01b031614155b801561235d575088155b1561246e5760208a0151604051636b4f333560e01b81526001600160a01b0390911660048201523390636b4f333590602401602060405180830381865afa1580156123ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d09190614f26565b158015612448575060408a8101519051636b4f333560e01b81526001600160a01b0390911660048201523390636b4f333590602401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124469190614f26565b155b1561246e576000811261246e5760405163ce11b5d160e01b815260040160405180910390fd5b600081121561248c5761248c8a600001518286858a60600151613725565b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060208b015160608801519196506001600160a01b039081169116036125825760408a8101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa15801561252b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061254f9190614f26565b156125735761256c8a604001518b600001518685898b6002612d2f565b9450612847565b895161256c908584888a6134d5565b89604001516001600160a01b031686606001516001600160a01b0316036126b65760208a0151604051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156125ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126119190614f26565b1561262e5761256c8a602001518b600001518685898b6002612d2f565b60408a8101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015612678573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269c9190614f26565b156125735761256c60008b600001518685898b6002612d2f565b60208a0151604051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa158015612700573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127249190614f26565b80156127305750600081125b156127aa5760208a0151604051635b92108f60e11b8152339163b724211e91612760918991600b9060040161514e565b6000604051808303816000875af115801561277f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526127a7919081019061517c565b94505b60408a8101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156127f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128189190614f26565b156128355761256c8a604001518b600001518685898b6002612d2f565b8951612844908584888a6134d5565b94505b6128508a613931565b5050505095945050505050565b606060008061286c8785612c2e565b91509150600080612881896000015185611c11565b9150915081156128a45760405163801b686360e01b815260040160405180910390fd5b6040898101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa1580156128ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129129190614f26565b1561296b5761296489604001518a6000015185848c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052508f93509150612d2f9050565b94506129b6565b6129b3896000015184838b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508d92506134d5915050565b94505b6129c989600001518a60200151886135a8565b6129d2896139a0565b50505050949350505050565b6129e661474e565b60f8851615612a0857604051631e4e759b60e21b815260040160405180910390fd5b612a488784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a2592505050565b9050856001600160a01b031681606001516001600160a01b031603612a805760405163b0ed394d60e01b815260040160405180910390fd5b600084600b0b1215610c6c576040516386e0377d60e01b815260040160405180910390fd5b606060008260200151600b0b1215612abf57612abf6151b1565b60408051600180825281830190925290602080830190803683370190505090508160200151600b0b6080836000015160ff16901b1760001b81600081518110612b0a57612b0a614ecb565b602002602001018181525050919050565b60008082600b0b1215612b41576040516348d6568b60e11b815260040160405180910390fd5b60016001605f1b03612b5784600b85900b6151c7565b1115612b7657604051630c9c55c160e01b815260040160405180910390fd5b6000612b828385613a0f565b90506105f88582613a53565b6040805180820190915260008082526020820152811580159190612bc95760016001605f1b038316600b0b6020820152608083901c60ff1681525b915091565b6000612bd8614723565b821580159250612bc95760e083901c8152608083901c6bffffffffffffffffffffffff16600b0b6020808301919091526bffffffffffffffff0000000084821c811660408401529084901b166060820152915091565b6040805160c08101825260008082526020820181905291810182905260608082018390526080820183905260a082015260408401516001600160a01b0316612c8957604051633c70159560e11b815260040160405180910390fd5b612c9b84602001518560400151611be9565b8082526020808601516001600160a01b0390811691840182905260408088015182169085018190526060808801519092168286015290870151600b0b608085015260a0808701519085015291935003612d075760405163a47338ef60e01b815260040160405180910390fd5b60008160800151600b0b136117d1576040516348d6568b60e11b815260040160405180910390fd5b82612d386147a9565b6001600160a01b0389161561303c576000612dcd898b8a600001518b602001518c60400151604051602001612d839291906001600160a01b0392831681529116602082015260400190565b60408051601f1981840301815260e08301825260006080840181905260a0840181905260c08401526001600160a01b03958616835293909416602082015292830152606082015290565b90506000846002811115612de357612de36150cf565b03612df85764010000000060c0820152612e2d565b6001846002811115612e0c57612e0c6150cf565b03612e215764040000000060c0820152612e2d565b64100000000060c08201525b612e378187613a69565b82600001819052506000336001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ea39190614cf6565b9050612ebb86604001518761014001518c8c8c613c20565b5060808401525060405163407b865d60e11b81526000906001600160a01b038316906380f70cba90612f159033908f907feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc490600401614d13565b602060405180830381865afa158015612f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f569190614c89565b905060008360800151600014612f7a57612f7564010000000083613a53565b612f7d565b60005b9050808460800151612f8f91906151de565b608085015260608a0151612fa2906120af565b60a08501526000876002811115612fbb57612fbb6150cf565b03612fd05764020000000060c0850152613005565b6001876002811115612fe457612fe46150cf565b03612ff95764080000000060c0850152613005565b64200000000060c08501525b61301484866000015188614004565b60408701919091528b5190965061302c908d90611c11565b60208701525061305a9350505050565b61305284604001518561014001518a8a8a613c20565b602084015250505b600061306987606001516120af565b8260400151610100015161307d9190614d37565b90506130a3816130948460200151604001516120af565b61309e91906150e5565b614250565b826020015160400181815250506130c5816130948460200151606001516120af565b60208301805160600191909152885190516001600160a01b038b169163a1b2bf8b916130f0906142a2565b6040518363ffffffff1660e01b815260040161310d929190614cdd565b600060405180830381600087803b15801561312757600080fd5b505af115801561313b573d6000803e3d6000fd5b5050505061315789896020015160008460008a60400151614313565b5061316f898960400151600080858a60400151614313565b506101408501516001600160a01b031615806131a15750886001600160a01b03168561014001516001600160a01b0316145b15613215576040516359a2914160e01b815233906359a29141906131cb90869085906004016151f1565b6000604051808303816000875af11580156131ea573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613212919081019061517c565b92505b6040888101519051631e51d6a760e11b81526001600160a01b0390911660048201523390633ca3ad4e90602401602060405180830381865afa15801561325f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132839190614f26565b156134c857604088810151868201519151633acd4df360e21b81526001600160a01b0391821660048201526024810192909252600091908b169063eb3537cc90604401606060405180830381865afa1580156132e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133079190614c5b565b509091505060008112156134c6576002856002811115613329576133296150cf565b036134aa576040808a01519051635b92108f60e11b8152339163b724211e91613359918891600c9060040161514e565b6000604051808303816000875af1158015613378573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526133a0919081019061517c565b935060006133be6133b083615213565b6133b985615213565b614484565b90508a6001600160a01b031663cf97256d8b60200151836133de90615213565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561342457600080fd5b505af1158015613438573d6000803e3d6000fd5b5050505060408a810151905163cf97256d60e01b81526001600160a01b03918216600482015260248101839052908c169063cf97256d90604401600060405180830381600087803b15801561348c57600080fd5b505af11580156134a0573d6000803e3d6000fd5b50505050506134c6565b60405163a85ba64f60e01b8152600c60048201526024016112b4565b505b5050979650505050505050565b606083810151156134e8576134e86151b1565b60006134f2614723565b61350884604001518561014001518a8a8a613c20565b6101408701519294509250506001600160a01b03808a16911603613599576040516359a2914160e01b815233906359a291419061354b90889086906004016151f1565b6000604051808303816000875af115801561356a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613592919081019061517c565b925061359d565b8492505b505095945050505050565b602081015160ff1660031415806135d65750826001600160a01b03168161014001516001600160a01b031614155b1561367d576040808201519051633acd4df360e21b81526001600160a01b038481166004830152602482019290925260009185169063eb3537cc90604401606060405180830381865afa158015613631573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136559190614c5b565b50509050600081121561367b5760405163ea76c9b360e01b815260040160405180910390fd5b505b505050565b60005a905060006136968360000151614499565b90506001600160a01b0381161561367d578251602084015160408086015190516375aa53e560e11b81526001600160a01b0393841660048201529183166024830152821660448201529082169063eb54a7ca906064015b600060405180830381600087803b15801561370757600080fd5b505af1925050508015613718575060015b61367d5761367d82614548565b600061373586856020015161196c565b915050600061374784604001516120af565b9050600061375883604001516120af565b90506060600080613769848b6150e5565b90506000806137778d6117d8565b915091506137878c87848461211d565b9350505060008112613872576000846137a08388614d5e565b6137aa919061510d565b90506001836137ba5760016137bd565b60005b6040805160ff9384166020820152929091169082015260600160405160208183030381529060405293508b6001600160a01b0316631863e8098b60000151868b878f6020015161380c88614250565b61381889600019614d5e565b6040518863ffffffff1660e01b815260040161383a979695949392919061522f565b600060405180830381600087803b15801561385457600080fd5b505af1158015613868573d6000803e3d6000fd5b5050505050613924565b6040805160016020820152600291810191909152859060600160405160208183030381529060405293508b6001600160a01b0316631863e8098b60000151868b60008f602001516138c288614250565b6138ce8a600019614d5e565b6040518863ffffffff1660e01b81526004016138f0979695949392919061522f565b600060405180830381600087803b15801561390a57600080fd5b505af115801561391e573d6000803e3d6000fd5b50505050505b5050505050505050505050565b60005a905060006139458360000151614499565b90506001600160a01b0381161561367d5782516020840151604080860151905163ef1f023760e01b81526001600160a01b0393841660048201529183166024830152821660448201529082169063ef1f0237906064016136ed565b60005a905060006139b48360000151614499565b90506001600160a01b0381161561367d5782516020840151604080860151905163f7e3d98360e01b81526001600160a01b0393841660048201529183166024830152821660448201529082169063f7e3d983906064016136ed565b600082600b0b600003613a2457506000610660565b60016001605f1b03821115613a3b57613a3b6151b1565b613a45828461527c565b600b0b90506109508161456f565b6000818311613a625781610950565b5090919050565b6020820151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015613abd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ae1919061529c565b91945092509050828015613af3575081155b15613c17576000613b0486886145a3565b90508660c001518216600003613c09576000613b238860c00151614621565b88516040808b015160608c015182516000815260208101909352613b4f939230929190604481016152d8565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918a015160c08b01519251633a020f0160e11b815291935033926374041e0292613bbe929186916410000000009190911490889060040161531d565b6000604051808303816000875af1158015613bdd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c05919081019061517c565b9550505b613c148660006146b8565b50505b50505092915050565b600080613c2b614723565b6000806000613c39896117d8565b5090506000336001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ca09190614cf6565b60405163407b865d60e11b81529091506001600160a01b038216906380f70cba90613cf39033908e907feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc490600401614d13565b602060405180830381865afa158015613d10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d349190614c89565b9250613d44896080015183613a0f565b95505050613d5586606001516120af565b613d6287604001516120af565b613d6b866120af565b613d759190614d37565b613d7f91906150e5565b9450613d928561309488604001516120af565b91508082108015613daa575060008760800151600b0b135b15613dec57613dbc86606001516120af565b613dc987604001516120af565b613dd2836120af565b613ddc9190614d37565b613de691906150e5565b94508091505b6001600160a01b03891615801590613e165750876001600160a01b0316896001600160a01b031614155b15613e2057600093505b604051806080016040528060008960800151600b0b13613e41576000613e43565b8b5b81526020018860800151600b0b815260200183815260200187606001518152509250876001600160a01b031663a1b2bf8b8860000151613e82866142a2565b6040518363ffffffff1660e01b8152600401613e9f929190614cdd565b600060405180830381600087803b158015613eb957600080fd5b505af1158015613ecd573d6000803e3d6000fd5b505060408051808201909152600080825260208201529250613eed915050565b613f1388886020015189608001518960200151613f0a9190614c29565b8860008f614313565b600b0b8152604087015160208701516080890151613f42928b929091613f399190614c29565b6000808f614313565b600b0b60208083018290526040808a0151918a015160808b0151855160a08d015193516001600160a01b0395861696938616958f16947f57269d2ebcccecdcc0d9d2c0a0b80ead95f344e28ec20f50f709811f209d4e0e94613fa894939290919061535b565b60405180910390a486606001516001600160a01b03167f71e0c98e270fc3084227b473f176924d5303ece8c639e679998a2d7dc8e70f7483604051613fef91815260200190565b60405180910390a25050955095509592505050565b61400c61474e565b6020840151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015614060573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614084919061529c565b88965091945092509050828015614099575081155b15614245576140a884896145a3565b93508760c0015181166000036142335760006140c78960c00151614621565b89516040808c015160608d0151825160008152602081019093526140f59392309291908e9060448101615389565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918b015160c08c0151925163079b42a160e21b81529193503392631e6d0a84926141649291869164200000000091909114908b9060040161531d565b6000604051808303816000875af1158015614183573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526141ab919081019061517c565b604051631fb6491d60e11b81529095503390633f6c923a906141d1908890600401614958565b600060405180830381865afa1580156141ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526142169190810190614fc8565b955061422b89608001518761010001516146e0565b610100870152505b614242868661010001516146b8565b93505b505050935093915050565b6000808212156121195760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f73697469766560448201526064016112b4565b6040805160018082528183019092526060916020808301908036833701905050905060208260600151901c604060208460400151901c901b608084602001516bffffffffffffffffffffffff16901b60e08560000151901b17171760001b81600081518110612b0a57612b0a614ecb565b600080614320888861196c565b91505060008160200151600b0b614345836000015186614340919061513b565b6120af565b61434f9190614d5e565b905080156143ba5760405163cf97256d60e01b81526001600160a01b038981166004830152602482018390528a169063cf97256d90604401600060405180830381600087803b1580156143a157600080fd5b505af11580156143b5573d6000803e3d6000fd5b505050505b8682602001516143ca9190614d8e565b600b0b602083015283825260408201516143e9908790613094906120af565b60408301526060820151614402908690613094906120af565b60608301526001600160a01b03891663090c415e896000614422866142a2565b6040518463ffffffff1660e01b8152600401614440939291906153e2565b600060405180830381600087803b15801561445a57600080fd5b505af115801561446e573d6000803e3d6000fd5b5050506020909201519998505050505050505050565b60008183136144935782610950565b50919050565b60408051600481526024810182526020810180516001600160e01b03166377a1e96360e11b1790529051600091829182916001600160a01b038616916144df9190615409565b600060405180830381855afa9150503d806000811461451a576040519150601f19603f3d011682016040523d82523d6000602084013e61451f565b606091505b50915091508115614541578080602001905181019061453e9190614cf6565b92505b5050919050565b614551816146fe565b1561087d576040516320afada560e01b815260040160405180910390fd5b60008063ffffffff8316614584576000614587565b60015b60ff169050602061459a8285831c6151de565b901b9392505050565b6020810151608082015160a08301518351604051630768fabb60e41b8152606094339463768fabb0946145da948a94600401615425565b6000604051808303816000875af11580156145f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610950919081019061517c565b6000640100000000820361463d57506330d9c91560e01b919050565b64040000000082036146575750630221347d60e61b919050565b64100000000082036146715750635f9e7d7760e01b919050565b640200000000820361468b575063d86ed3e560e01b919050565b64080000000082036146a5575063230dbd2960e01b919050565b506353c11f9960e01b919050565b919050565b604051634c4d861f60e11b8152606090339063989b0c3e906145da90869086906004016151f1565b600061095060006146f96146f3866120af565b85614484565b614714565b600061470b603f83614ef7565b5a111592915050565b6000818313613a625781610950565b6040518060800160405280600081526020016000600b0b815260200160008152602001600081525090565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6040518060600160405280606081526020016147c3614723565b81526020016147d061474e565b905290565b6001600160a01b038116811461087d57600080fd5b6000806000606084860312156147ff57600080fd5b833561480a816147d5565b9250602084013561481a816147d5565b9150604084013561482a816147d5565b809150509250925092565b6000806040838503121561484857600080fd5b8235614853816147d5565b946020939093013593505050565b60008083601f84011261487357600080fd5b50813567ffffffffffffffff81111561488b57600080fd5b6020830191508360208285010111156117d157600080fd5b600080600080606085870312156148b957600080fd5b84356148c4816147d5565b935060208501356148d4816147d5565b9250604085013567ffffffffffffffff8111156148f057600080fd5b6148fc87828801614861565b95989497509550505050565b60005b8381101561492357818101518382015260200161490b565b50506000910152565b60008151808452614944816020860160208601614908565b601f01601f19169290920160200192915050565b602081526000610950602083018461492c565b6000806040838503121561497e57600080fd5b8235614989816147d5565b91506020830135614999816147d5565b809150509250929050565b60ff8116811461087d57600080fd5b600080604083850312156149c657600080fd5b82356149d1816149a4565b91506020830135614999816149a4565b8035600b81900b81146146b357600080fd5b60008060008060008060a08789031215614a0c57600080fd5b8635614a17816147d5565b95506020870135614a27816147d5565b94506040870135614a37816147d5565b9350614a45606088016149e1565b9250608087013567ffffffffffffffff811115614a6157600080fd5b614a6d89828a01614861565b979a9699509497509295939492505050565b600060208284031215614a9157600080fd5b8135610950816147d5565b600080600060608486031215614ab157600080fd5b8335614abc816147d5565b92506020840135614acc816147d5565b929592945050506040919091013590565b600080600080600060808688031215614af557600080fd5b8535614b00816147d5565b94506020860135614b10816147d5565b93506040860135614b20816147d5565b9250606086013567ffffffffffffffff811115614b3c57600080fd5b614b4888828901614861565b969995985093965092949392505050565b600080600080600060808688031215614b7157600080fd5b8535614b7c816147d5565b94506020860135614b8c816147d5565b9350614b20604087016149e1565b60008060008060008060a08789031215614bb357600080fd5b8635614bbe816147d5565b95506020870135614bce816147d5565b94506040870135614a37816149a4565b60008060408385031215614bf157600080fd5b8235614bfc816147d5565b9150614c0a602084016149e1565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600b82810b9082900b036b7fffffffffffffffffffffff19811260016001605f1b038213171561066057610660614c13565b600080600060608486031215614c7057600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215614c9b57600080fd5b5051919050565b600081518084526020808501945080840160005b83811015614cd257815187529582019590820190600101614cb6565b509495945050505050565b8281526040602082015260006105df6040830184614ca2565b600060208284031215614d0857600080fd5b8151610950816147d5565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8181036000831280158383131683831282161715614d5757614d57614c13565b5092915050565b80820260008212600160ff1b84141615614d7a57614d7a614c13565b818105831482151761066057610660614c13565b600b81810b9083900b0160016001605f1b0381136b7fffffffffffffffffffffff198212171561066057610660614c13565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff81118282101715614dfa57614dfa614dc0565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715614e2957614e29614dc0565b604052919050565b60006020808385031215614e4457600080fd5b825167ffffffffffffffff80821115614e5c57600080fd5b818501915085601f830112614e7057600080fd5b815181811115614e8257614e82614dc0565b8060051b9150614e93848301614e00565b8181529183018401918481019088841115614ead57600080fd5b938501935b83851015610d1d57845182529385019390850190614eb2565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601260045260246000fd5b600082614f0657614f06614ee1565b500490565b80516146b3816147d5565b805180151581146146b357600080fd5b600060208284031215614f3857600080fd5b61095082614f16565b80516146b3816149a4565b80516001600160e01b0319811681146146b357600080fd5b600082601f830112614f7557600080fd5b815167ffffffffffffffff811115614f8f57614f8f614dc0565b614fa2601f8201601f1916602001614e00565b818152846020838601011115614fb757600080fd5b6105df826020830160208701614908565b600060208284031215614fda57600080fd5b815167ffffffffffffffff80821115614ff257600080fd5b90830190610160828603121561500757600080fd5b61500f614dd6565b61501883614f41565b815261502660208401614f41565b60208201526040830151604082015261504160608401614f0b565b606082015261505260808401614f4c565b608082015260a08301518281111561506957600080fd5b61507587828601614f64565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506150ac828401614f0b565b8282015261014091506150c0828401614f0b565b91810191909152949350505050565b634e487b7160e01b600052602160045260246000fd5b808201828112600083128015821682158216171561510557615105614c13565b505092915050565b60008261511c5761511c614ee1565b600160ff1b82146000198414161561513657615136614c13565b500590565b8181038181111561066057610660614c13565b606081526000615161606083018661492c565b6001600160a01b039490941660208301525060400152919050565b60006020828403121561518e57600080fd5b815167ffffffffffffffff8111156151a557600080fd5b6105df84828501614f64565b634e487b7160e01b600052600160045260246000fd5b808202811582820484141761066057610660614c13565b8082018082111561066057610660614c13565b604081526000615204604083018561492c565b90508260208301529392505050565b6000600160ff1b820161522857615228614c13565b5060000390565b87815260e06020820152600061524860e083018961492c565b6001600160a01b03978816604084015295151560608301525092909416608083015260a082015260c0019190915292915050565b600082600b0b82600b0b0280600b0b9150808214614d5757614d57614c13565b6000806000606084860312156152b157600080fd5b6152ba84614f16565b92506152c860208501614f16565b9150604084015190509250925092565b6001600160a01b038681168252851660208201526040810184905260a06060820181905260009061530b9083018561492c565b8281036080840152610d1d818561492c565b6001600160a01b03851681526080602082018190526000906153419083018661492c565b8415156040840152828103606084015261108d818561492c565b84600b0b815283600b0b602082015282600b0b6040820152608060608201526000610c6c608083018461492c565b6001600160a01b038781168252861660208201526040810185905260c0606082018190526000906153bc9083018661492c565b82810360808401526153ce818661492c565b905082810360a084015261120e818561492c565b60018060a01b03841681528260208201526060604082015260006105f86060830184614ca2565b6000825161541b818460208701614908565b9190910192915050565b60a08152600061543860a083018861492c565b6001600160a01b039687166020840152604083019590955250606081019290925290921660809092019190915291905056fea2646970667358221220df95955a9a4a83272e61764064a710399af3ba5e66b62cfbdbcf1ad1feff4c5864736f6c63430008130033",hb=eb=>eb.length>1;class hm extends u9.lV{constructor(...eb){hb(eb)?super(...eb):super(bX,bQ,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(bX)}static connect(eb,em){return new u9.CH(eb,bX,em)}}hm.bytecode=bQ,hm.abi=bX;let hy=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AGREEMENT_BASE_ONLY_HOST",type:"error"},{inputs:[],name:"IDA_INDEX_ALREADY_EXISTS",type:"error"},{inputs:[],name:"IDA_INDEX_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"IDA_INDEX_SHOULD_GROW",type:"error"},{inputs:[],name:"IDA_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"IDA_OPERATION_NOT_ALLOWED",type:"error"},{inputs:[],name:"IDA_SUBSCRIPTION_ALREADY_APPROVED",type:"error"},{inputs:[],name:"IDA_SUBSCRIPTION_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"IDA_SUBSCRIPTION_IS_NOT_APPROVED",type:"error"},{inputs:[],name:"IDA_ZERO_ADDRESS_SUBSCRIBER",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"IndexDistributionClaimed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexSubscribed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"uint128",name:"units",type:"uint128"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexUnitsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexUnsubscribed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"uint128",name:"oldIndexValue",type:"uint128"},{indexed:!1,internalType:"uint128",name:"newIndexValue",type:"uint128"},{indexed:!1,internalType:"uint128",name:"totalUnitsPending",type:"uint128"},{indexed:!1,internalType:"uint128",name:"totalUnitsApproved",type:"uint128"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"SubscriptionApproved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"SubscriptionDistributionClaimed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"SubscriptionRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"uint128",name:"units",type:"uint128"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"SubscriptionUnitsUpdated",type:"event"},{inputs:[],name:"MAX_NUM_SUBSCRIPTIONS",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"SLOTS_BITMAP_LIBRARY_ADDRESS",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"agreementType",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"approveSubscription",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"calculateDistribution",outputs:[{internalType:"uint256",name:"actualAmount",type:"uint256"},{internalType:"uint128",name:"newIndexValue",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"claim",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"createIndex",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"deleteSubscription",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"distribute",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"getIndex",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"uint128",name:"totalUnitsApproved",type:"uint128"},{internalType:"uint128",name:"totalUnitsPending",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"getSubscription",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"}],name:"getSubscriptionByID",outputs:[{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"subscriber",type:"address"}],name:"listSubscriptions",outputs:[{internalType:"address[]",name:"publishers",type:"address[]"},{internalType:"uint32[]",name:"indexIds",type:"uint32[]"},{internalType:"uint128[]",name:"unitsList",type:"uint128[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"dynamicBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"revokeSubscription",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateIndex",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateSubscription",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"}],hz="0x60a06040523480156200001157600080fd5b506040516200531638038062005316833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b6080516152826200009460003960006110f301526152826000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80637fbc7639116100b8578063acafa1b81161007c578063acafa1b814610336578063acf4a6c214610349578063b6dacdb81461035c578063b96731c21461037e578063cd7245c514610391578063d787840a146103e957600080fd5b80637fbc76391461029f578063899baaec146102b25780639903ad38146102e25780639b2e48bc146102ea578063a5653ced1461031857600080fd5b806350d75d25116100ff57806350d75d251461020457806352d1902d1461020c5780635b534051146102225780636041ae96146102665780637730599e1461027957600080fd5b8063232d2b581461013c57806323fc23f3146101655780632e5e74c6146101a95780633fd4176a146101bc57806346951954146101ef575b600080fd5b61014f61014a3660046143b8565b6103fc565b60405161015c9190614493565b60405180910390f35b6101786101733660046144a6565b610b16565b6040805194151585526001600160801b0393841660208601529183169184019190915216606082015260800161015c565b61014f6101b73660046144f1565b610b81565b6101d773__$97ed594b3f931187fb739dcb88a7dff641$__81565b6040516001600160a01b03909116815260200161015c565b6102026101fd366004614545565b6110e8565b005b6101d761113d565b61021461116c565b60405190815260200161015c565b610235610230366004614569565b6111d0565b60405161015c9493929190931515845291151560208401526001600160801b03166040830152606082015260800190565b61014f6102743660046145c5565b6112a6565b7f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a674610214565b61014f6102ad366004614640565b6116cb565b6102c56102c0366004614681565b6117b8565b604080519283526001600160801b0390911660208301520161015c565b61020261185d565b6102fd6102f83660046146d2565b61196b565b6040805193845260208401929092529082015260600161015c565b61032161010081565b60405163ffffffff909116815260200161015c565b61014f6103443660046144f1565b611b76565b61014f6103573660046145c5565b611f7b565b61036f61036a366004614713565b612535565b60405161015c93929190614790565b61014f61038c36600461482d565b61278a565b6103a461039f366004614882565b61288a565b604080516001600160a01b03909616865263ffffffff9094166020860152911515928401929092526001600160801b039091166060830152608082015260a00161015c565b61014f6103f73660046148ae565b61298c565b60606001600160a01b03851661042557604051633242919d60e21b815260040160405180910390fd5b61042d614210565b61043561426e565b606060008061047a8c89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b90508060a00151925080606001519150506104998b828b8d6000612d14565b60808901521515602080890191909152606088019190915260408088018390529287528251908101909252600082526104d5918d918c91612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050602086015191965050156105395764040000000060c084015261052f8386612e35565b60a0850152610554565b64010000000060c084015261054e8386612e35565b60a08501525b83602001518015610571575060808401515163ffffffff90811614155b1561064c576105c08460800151608001516001600160801b0316896001600160801b03168660600151602001516001600160801b03166105b19190614928565b6105bb919061493b565b612fec565b6060850180516001600160801b03909216602090920191909152845190516001600160a01b038d169163a1b2bf8b916105f890613059565b6040518363ffffffff1660e01b815260040161061592919061497e565b600060405180830381600087803b15801561062f57600080fd5b505af1158015610643573d6000803e3d6000fd5b50505050610833565b8360200151156106c9576106918460800151608001516001600160801b0316896001600160801b03168660600151604001516001600160801b03166105b19190614928565b6060850180516001600160801b03909216604090920191909152845190516001600160a01b038d169163a1b2bf8b916105f890613059565b6040518060a0016040528063ffffffff80168152602001826001600160a01b031681526020018b63ffffffff1681526020018560600151600001516001600160801b03168152602001896001600160801b031681525084608001819052508a6001600160a01b03166312a6a3f8856040015161074887608001516130f7565b6040518363ffffffff1660e01b815260040161076592919061497e565b600060405180830381600087803b15801561077f57600080fd5b505af1158015610793573d6000803e3d6000fd5b50505050878460600151604001516107ab9190614997565b6060850180516001600160801b03909216604090920191909152845190516001600160a01b038d169163a1b2bf8b916107e390613059565b6040518363ffffffff1660e01b815260040161080092919061497e565b600060405180830381600087803b15801561081a57600080fd5b505af115801561082e573d6000803e3d6000fd5b505050505b60008460800151608001516001600160801b031685608001516060015186606001516000015161086391906149be565b6001600160801b031661087691906149de565b905063ffffffff801685608001516000015163ffffffff160361090f576108a68c836108a184614a0e565b61319e565b6001600160a01b038c1663cf97256d836108bf84614a0e565b6040518363ffffffff1660e01b81526004016108dc929190614a2a565b600060405180830381600087803b1580156108f657600080fd5b505af115801561090a573d6000803e3d6000fd5b505050505b60405163cf97256d60e01b81526001600160a01b038d169063cf97256d9061093d908d908590600401614a2a565b600060405180830381600087803b15801561095757600080fd5b505af115801561096b573d6000803e3d6000fd5b50505050846020015115610a115760608086015151608080880180516001600160801b039384169401939093528251918c16910152604086015190516001600160a01b038e169163a1b2bf8b916109c1906130f7565b6040518363ffffffff1660e01b81526004016109de92919061497e565b600060405180830381600087803b1580156109f857600080fd5b505af1158015610a0c573d6000803e3d6000fd5b505050505b846020015115610a405764080000000060c085015260a0850151610a37908590886132ec565b9650610a609050565b64020000000060c085015260a0850151610a5c908590886132ec565b9650505b8a63ffffffff16826001600160a01b03168d6001600160a01b03167f0115987243fd19d615b5ea62a80372a06a2b37fec378b148ee7a507c5c4c0a398d8d88604051610aae93929190614a43565b60405180910390a4896001600160a01b03168c6001600160a01b03167fe0707ac7efb8b59c22189af8d004ed17dc9e4379e71b9066119b62c182524977848e8d88604051610aff9493929190614a7f565b60405180910390a350505050509695505050505050565b600080600080610b3f604080516060810182526000808252602082018190529181019190915290565b6000610b4b8888613538565b9050610b57898261359f565b90965091508515610b7657815160208301516040840151919650945092505b505093509350935093565b6060610b8b614210565b610b9361426e565b600060606000610bd98c89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b606081015160a0909101519093509150506001600160a01b038816610c1157604051633242919d60e21b815260040160405180910390fd5b896001600160a01b0316826001600160a01b031614610c43576040516392da6d1760e01b815260040160405180910390fd5b610c518b8b8a8c6001612d14565b6080890152506060870152604080870182905291865281516020810190925260008252610c81918d918b91612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505064100000000060c087015250909550610cd290508386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b0390921691610d04916149be565b6001600160801b0316610d1791906149de565b60808601515190915063ffffffff90811614610d6457846080015160800151856060015160200151610d4991906149be565b60608601516001600160801b03909116602090910152610d97565b846080015160800151856060015160400151610d8091906149be565b60608601516001600160801b039091166040909101525b8b6001600160a01b031663a1b2bf8b8660000151610db88860600151613059565b6040518363ffffffff1660e01b8152600401610dd592919061497e565b600060405180830381600087803b158015610def57600080fd5b505af1158015610e03573d6000803e3d6000fd5b5050505060808501515163ffffffff90811614610e2d57610e2d8c8a8760800151600001516136b3565b60808501515163ffffffff1663fffffffe1901610ebb57610e528c8c6108a184614a0e565b6001600160a01b038c1663cf97256d8c610e6b84614a0e565b6040518363ffffffff1660e01b8152600401610e88929190614a2a565b600060405180830381600087803b158015610ea257600080fd5b505af1158015610eb6573d6000803e3d6000fd5b505050505b6040858101519051632704839760e01b81526004810191909152600260248201526001600160a01b038d1690632704839790604401600060405180830381600087803b158015610f0a57600080fd5b505af1158015610f1e573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038f16925063cf97256d9150610f50908c908590600401614a2a565b600060405180830381600087803b158015610f6a57600080fd5b505af1158015610f7e573d6000803e3d6000fd5b505064200000000060c0870152505060a0850151610f9e908590886132ec565b9050809650508963ffffffff168b6001600160a01b03168d6001600160a01b03167fe1f8e9cd8061e5b251769965bda6ca9ef1674bc6541fb9131039fa53f024d1428c86604051610ff0929190614ac8565b60405180910390a4886001600160a01b03168c6001600160a01b03167f9e02127550b99adc8cc6ee332a36f31338facdbc396cebefce9a047247cd04558d8d8660405161103f93929190614aec565b60405180910390a38963ffffffff168b6001600160a01b03168d6001600160a01b03167f0115987243fd19d615b5ea62a80372a06a2b37fec378b148ee7a507c5c4c0a398c60008760405161109693929190614a43565b60405180910390a4886001600160a01b03168c6001600160a01b03167fe0707ac7efb8b59c22189af8d004ed17dc9e4379e71b9066119b62c1825249778d8d600087604051610aff9493929190614a7f565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461113157604051630b00ec8f60e11b815260040160405180910390fd5b61113a8161373e565b50565b60006111677f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000306001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111679190614b1c565b6000806000806000806111fc604080516060810182526000808252602082018190529181019190915290565b6112046142a9565b6112128c8c8b8d6000612d14565b909b50929650909450925090508761123b5760008060008097509750975097505050505061129b565b8051608082015163ffffffff9182169091141597509550866112915780608001516001600160801b03168160600151836000015161127991906149be565b6001600160801b031661128c9190614b35565b611294565b60005b9450505050505b945094509450949050565b60606112b0614210565b6112b861426e565b6000606060006112fe8b89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b9050806060015192508060a0015191505061131d8a8a848b6001612d14565b6080890181905260608901929092525060408701919091529085525163ffffffff1663fffffffe190161136357604051633741257360e01b815260040160405180910390fd5b6113828a8a866040015160405180602001604052806000815250612e07565b925086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505064100000000060c0870152509095506113d390508386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b0390921691611405916149be565b6001600160801b031661141891906149de565b905084608001516080015185606001516020015161143691906149be565b6060860180516001600160801b0390921660209092019190915260808087015101519051604001516114689190614997565b6060860180516001600160801b03909216604090920191909152855190516001600160a01b038d169163a1b2bf8b916114a090613059565b6040518363ffffffff1660e01b81526004016114bd92919061497e565b600060405180830381600087803b1580156114d757600080fd5b505af11580156114eb573d6000803e3d6000fd5b505050506115028b848760800151600001516136b3565b606080860151516080870180516001600160801b039092169190920152805163ffffffff9052604086015190516001600160a01b038d169163a1b2bf8b91611549906130f7565b6040518363ffffffff1660e01b815260040161156692919061497e565b600060405180830381600087803b15801561158057600080fd5b505af1158015611594573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038e16925063cf97256d91506115c69086908590600401614a2a565b600060405180830381600087803b1580156115e057600080fd5b505af11580156115f4573d6000803e3d6000fd5b505064200000000060c0870152505060a0850151611614908590886132ec565b9050809650508863ffffffff168a6001600160a01b03168c6001600160a01b03167fe1f8e9cd8061e5b251769965bda6ca9ef1674bc6541fb9131039fa53f024d1428686604051611666929190614ac8565b60405180910390a4826001600160a01b03168b6001600160a01b03167f9e02127550b99adc8cc6ee332a36f31338facdbc396cebefce9a047247cd04558c8c866040516116b593929190614aec565b60405180910390a3505050505095945050505050565b6060600061170f8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b60608101519091506000806117258a848b613946565b9150915080600001516001600160801b0316886001600160801b031610156117605760405163cfdca72560e01b815260040160405180910390fd5b6117738a848b85858d8a60a001516139a5565b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929d9c50505050505050505050505050565b60008060006117c78686613538565b90506000806117d6898461359f565b91509150816117f85760405163edeaa63b60e01b815260040160405180910390fd5b60008160400151826020015161180e9190614997565b6001600160801b0316905060006118286105bb838a614b4c565b8351909150611838908290614997565b955061184d826001600160801b038316614b35565b9650505050505094509492505050565b600054610100900460ff161580801561187d5750600054600160ff909116105b806118975750303b158015611897575060005460ff166001145b6118ff5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015611922576000805461ff0019166101001790555b801561113a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b600080600060608061197d8888613bd4565b909250905060005b81518163ffffffff161015611b5a57600061199e6142a9565b600080868563ffffffff16815181106119b9576119b9614b6e565b602002602001015190506119ec8d878763ffffffff16815181106119df576119df614b6e565b6020026020010151613cc7565b9094509250836119fe576119fe614b84565b8063ffffffff16836000015163ffffffff1614611a1d57611a1d614b84565b6001600160a01b038d16634b61cc33308e611a4263ffffffff8616600160801b614928565b60016040518563ffffffff1660e01b8152600401611a639493929190614b9a565b600060405180830381865afa158015611a80573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611aa89190810190614cc0565b600081518110611aba57611aba614b6e565b6020026020010151915050611ae8604080516060810182526000808252602082018190529181019190915290565b611af28d8361359f565b909450905083611b0457611b04614b84565b82608001516001600160801b031683606001518260000151611b2691906149be565b6001600160801b0316611b3991906149de565b611b43908b614cf4565b99505050505080611b5390614d1c565b9050611985565b50611b658888613de3565b935060009250505093509350939050565b6060611bb88784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b506001600160a01b038416611be057604051633242919d60e21b815260040160405180910390fd5b611be8614210565b611bf061426e565b611bfe8989888a6001612d14565b6080870181905260608701929092525060408501919091529083525163ffffffff90811614611c4057604051633eb2f84960e01b815260040160405180910390fd5b60008260800151608001516001600160801b0316836080015160600151846060015160000151611c7091906149be565b6001600160801b0316611c839190614b35565b9050611ca48a8a856040015160405180602001604052806000815250612e07565b915085858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505082159150611f3490505764040000000060c0830152611cfc8285612e35565b60a0840152611d0f8a8a6108a184614a0e565b6001600160a01b038a1663cf97256d8a611d2884614a0e565b6040518363ffffffff1660e01b8152600401611d45929190614a2a565b600060405180830381600087803b158015611d5f57600080fd5b505af1158015611d73573d6000803e3d6000fd5b50505050606083810151516080850180516001600160801b039092169190920152604084015190516001600160a01b038c169163a1b2bf8b91611db5906130f7565b6040518363ffffffff1660e01b8152600401611dd292919061497e565b600060405180830381600087803b158015611dec57600080fd5b505af1158015611e00573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038d16925063cf97256d9150611e32908a908590600401614a2a565b600060405180830381600087803b158015611e4c57600080fd5b505af1158015611e60573d6000803e3d6000fd5b505050508763ffffffff16896001600160a01b03168b6001600160a01b03167f467eccd248ef31c8bcef16d94856855799a8783aeef10f3759e43614059a6bb18a85604051611eb0929190614a2a565b60405180910390a4604080516001600160a01b038b8116825263ffffffff8b166020830152918101839052818916918c16907f48a3d91d4a07e4982b081260e24f922bd33bb965882772d6de19c922c3eabdea9060600160405180910390a364080000000060c083015260a0830151611f2b908390866132ec565b9450611f6e9050565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b6060611f85614210565b611f8d61426e565b600060606000611fd38b89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b9050806060015192508060a00151915050611ff28a8a848b6000612d14565b60808901521580156020890152606088019190915260408701919091529085526120425760808401515163ffffffff9081161461204257604051633eb2f84960e01b815260040160405180910390fd5b86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040808a015181516020810190925291815294995061209b948f94508e9350909150612e07565b925083602001516121c45764010000000060c08401526120bb8386612e35565b60a08086019190915260408051918201815260008083526001600160a01b038c16602084015263ffffffff8b1691830191909152606080870151516001600160801b031690830152608080830191909152850152835161211e908b908490613e8c565b60808501805163ffffffff909216909152604085015190516001600160a01b038c16916312a6a3f891612150906130f7565b6040518363ffffffff1660e01b815260040161216d92919061497e565b600060405180830381600087803b15801561218757600080fd5b505af115801561219b573d6000803e3d6000fd5b505064020000000060c0860152505060a08401516121bb908490876132ec565b95506124859050565b64040000000060c08401526121d98386612e35565b60a08501526080808501519081015160609182015191860151516000926001600160801b039092169161220b916149be565b6001600160801b031661221e91906149de565b9050846080015160800151856060015160200181815161223e9190614997565b6001600160801b03169052506080808601510151606086015160400180516122679083906149be565b6001600160801b0316905250845160608601516001600160a01b038d169163a1b2bf8b9161229490613059565b6040518363ffffffff1660e01b81526004016122b192919061497e565b600060405180830381600087803b1580156122cb57600080fd5b505af11580156122df573d6000803e3d6000fd5b505050506122f28b8b836108a190614a0e565b6001600160a01b038b1663cf97256d8b61230b84614a0e565b6040518363ffffffff1660e01b8152600401612328929190614a2a565b600060405180830381600087803b15801561234257600080fd5b505af1158015612356573d6000803e3d6000fd5b505060405163cf97256d60e01b81526001600160a01b038e16925063cf97256d91506123889086908590600401614a2a565b600060405180830381600087803b1580156123a257600080fd5b505af11580156123b6573d6000803e3d6000fd5b5050506060808701515160808801516001600160801b039091169101525084516123e3908c908590613e8c565b60808601805163ffffffff909216909152604086015190516001600160a01b038d169163a1b2bf8b91612415906130f7565b6040518363ffffffff1660e01b815260040161243292919061497e565b600060405180830381600087803b15801561244c57600080fd5b505af1158015612460573d6000803e3d6000fd5b505064080000000060c0870152505060a0850151612480908590886132ec565b965050505b8763ffffffff16896001600160a01b03168b6001600160a01b03167f492d2641617cfaf24ac7328f85bc5bdf5113537d78dc7671afa4f49a73f053c285856040516124d1929190614ac8565b60405180910390a4816001600160a01b03168a6001600160a01b03167fc0b8396b655615cdb85fe462a9a1792480816f909cd46d9517a940b386dfbf6b8b8b8560405161252093929190614aec565b60405180910390a35050505095945050505050565b60608060608060606125478787613bd4565b909250905060006125566142a9565b82516001600160401b0381111561256f5761256f614bc3565b604051908082528060200260200182016040528015612598578160200160208202803683370190505b50965082516001600160401b038111156125b4576125b4614bc3565b6040519080825280602002602001820160405280156125dd578160200160208202803683370190505b50955082516001600160401b038111156125f9576125f9614bc3565b604051908082528060200260200182016040528015612622578160200160208202803683370190505b50945060005b83518163ffffffff16101561277e576000858263ffffffff168151811061265157612651614b6e565b602002602001015190506000858363ffffffff168151811061267557612675614b6e565b602002602001015190506126898c82613cc7565b90955093508461269b5761269b614b84565b8163ffffffff16846000015163ffffffff16146126ba576126ba614b84565b83602001518a8463ffffffff16815181106126d7576126d7614b6e565b60200260200101906001600160a01b031690816001600160a01b0316815250508360400151898463ffffffff168151811061271457612714614b6e565b602002602001019063ffffffff16908163ffffffff16815250508360800151888463ffffffff168151811061274b5761274b614b6e565b60200260200101906001600160801b031690816001600160801b03168152505050508061277790614d1c565b9050612628565b50505050509250925092565b606060006127ce8785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b60608101519091506000806127e48a848b613946565b915091506000816040015182602001516127fe9190614997565b6001600160801b03169050801561284457600061281e6105bb838c614b4c565b90506128428c868d87878689600001516128389190614997565b8c60a001516139a5565b505b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929e9d5050505050505050505050505050565b60008060008060008060006128b8604080516060810182526000808252602082018190529181019190915290565b6128c06142a9565b6128ca8b8b613cc7565b9094509050836128ed5760405163016d919360e71b815260040160405180910390fd5b80602001519850806040015197506129058989613538565b92506129118b8461359f565b90945091508361292357612923614b84565b8051608082015163ffffffff9182169091141597509550866129795780608001516001600160801b03168160600151836000015161296191906149be565b6001600160801b03166129749190614b35565b61297c565b60005b9450505050509295509295909350565b606060006129d08685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b4792505050565b606081015190915060006129e48288613538565b90506129f08882613f33565b15612a0e57604051635c02a51760e01b815260040160405180910390fd5b876001600160a01b03166312a6a3f882612a5f604051806060016040528060006001600160801b0316815260200160006001600160801b0316815260200160006001600160801b0316815250613059565b6040518363ffffffff1660e01b8152600401612a7c92919061497e565b600060405180830381600087803b158015612a9657600080fd5b505af1158015612aaa573d6000803e3d6000fd5b505050508663ffffffff16826001600160a01b0316896001600160a01b03167f01ab8663165edfb7390d9e5f75d960a66dacf4f01fa9787e3a731c870d0da9218660a00151604051612afc9190614493565b60405180910390a485858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929b9a5050505050505050505050565b612b4f6142d7565b336001600160a01b0316836001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bbb9190614d4a565b6001600160a01b031614612c055760405162461bcd60e51b81526020600482015260116024820152701d5b985d5d1a1bdc9a5e9959081a1bdcdd607a1b60448201526064016118f6565b604051632fd0a1cd60e21b8152339063bf42873490612c28908590600401614493565b602060405180830381865afa158015612c45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c699190614d77565b612ca35760405162461bcd60e51b815260206004820152600b60248201526a0d2dcecc2d8d2c840c6e8f60ab1b60448201526064016118f6565b604051631fb6491d60e11b81523390633f6c923a90612cc6908590600401614493565b600060405180830381865afa158015612ce3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d0b9190810190614e1e565b90505b92915050565b6040805160608101825260008082526020820181905291810182905281906000612d3c6142a9565b6000612d488a89613538565b9550612d548987613fdf565b9450612d608b8761359f565b9450905080612d825760405163edeaa63b60e01b815260040160405180910390fd5b612d8c8b86613cc7565b90935091508615612df95782612db55760405163016d919360e71b815260040160405180910390fd5b896001600160a01b031682602001516001600160a01b031614612dda57612dda614b84565b8763ffffffff16826040015163ffffffff1614612df957612df9614b84565b509550955095509550959050565b612e0f61426e565b6001600160a01b0394851681529290931660208301526040820152606081019190915290565b6020820151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015612e89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ead9190614f24565b91945092509050828015612ebf575081155b15612fe3576000612ed08688614020565b90508660c001518216600003612fd5576000612eef8860c0015161409e565b88516040808b015160608c015182516000815260208101909352612f1b93923092919060448101614f60565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918a015160c08b01519251633a020f0160e11b815291935033926374041e0292612f8a9291869164100000000091909114908890600401614fa5565b6000604051808303816000875af1158015612fa9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fd19190810190614fee565b9550505b612fe0866000614135565b50505b50505092915050565b60006001600160801b038211156130555760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016118f6565b5090565b604080516002808252606080830184529260208301908036833701905050905081600001516001600160801b0316600160801b1760001b816000815181106130a3576130a3614b6e565b602002602001018181525050608082604001516001600160801b0316901b82602001516001600160801b03161760001b816001815181106130e6576130e6614b6e565b602002602001018181525050919050565b6040805160028082526060808301845292602083019080368337019050509050816000015163ffffffff166020836040015163ffffffff16901b606084602001516001600160a01b0316901b171760001b8160008151811061315b5761315b614b6e565b602002602001018181525050608082608001516001600160801b0316901b82606001516001600160801b03161760001b816001815181106130e6576130e6614b6e565b806000036131ab57505050565b604051634b61cc3360e01b81526000906001600160a01b03851690634b61cc33906131e6903090879064010000000090600190600401614b9a565b600060405180830381865afa158015613203573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261322b9190810190614cc0565b9050816132548260008151811061324457613244614b6e565b602002602001015160001c61415d565b61325e9190614cf4565b60001b8160008151811061327457613274614b6e565b602090810291909101015260405163048620af60e11b81526001600160a01b0385169063090c415e906132b4908690640100000000908690600401615022565b600060405180830381600087803b1580156132ce57600080fd5b505af11580156132e2573d6000803e3d6000fd5b5050505050505050565b6132f46142d7565b6020840151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015613348573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061336c9190614f24565b88965091945092509050828015613381575081155b1561352d576133908489614020565b93508760c00151811660000361351b5760006133af8960c0015161409e565b89516040808c015160608d0151825160008152602081019093526133dd9392309291908e9060448101615049565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918b015160c08c0151925163079b42a160e21b81529193503392631e6d0a849261344c9291869164200000000091909114908b90600401614fa5565b6000604051808303816000875af115801561346b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134939190810190614fee565b604051631fb6491d60e11b81529095503390633f6c923a906134b9908890600401614493565b600060405180830381865afa1580156134d6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134fe9190810190614e1e565b955061351389608001518761010001516141c7565b610100870152505b61352a86866101000151614135565b93505b505050935093915050565b60405168383ab13634b9b432b960b91b60208201526bffffffffffffffffffffffff19606084901b1660298201526001600160e01b031960e083901b16603d8201526000906041015b60405160208183030381529060405280519060200120905092915050565b60408051606081018252600080825260208201819052918101829052604051636c2d9f2f60e01b815230600482015260248101849052600260448201526000906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa158015613610573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136389190810190614cc0565b905060008160008151811061364f5761364f614b6e565b602002602001015160001c905060008260018151811061367157613671614b6e565b602002602001015160001c905060008211945084156136a9576001600160801b03808316855281166020850152608081901c60408501525b5050509250929050565b604051631528e57f60e31b81526001600160a01b038085166004830152831660248201526000604482015263ffffffff8216606482015273__$97ed594b3f931187fb739dcb88a7dff641$__9063a9472bf89060840160006040518083038186803b15801561372157600080fd5b505af4158015613735573d6000803e3d6000fd5b50505050505050565b60006137687f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036137be5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016118f6565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156137fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138209190614b1c565b61382861116c565b146138815760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016118f6565b6001600160a01b03811630036138d95760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016118f6565b613901817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc61392a61116c565b604080519182526001600160a01b038416602083015201611960565b60408051606081018252600080825260208201819052918101829052600061396e8585613538565b925061397a868461359f565b925090508061399c5760405163edeaa63b60e01b815260040160405180910390fd5b50935093915050565b866001600160a01b031663cf97256d8785602001516001600160801b03168660000151866139d391906149be565b6001600160801b03166139e590614a0e565b6139ef91906149de565b6040518363ffffffff1660e01b8152600401613a0c929190614a2a565b600060405180830381600087803b158015613a2657600080fd5b505af1158015613a3a573d6000803e3d6000fd5b50505050613a74878785604001516001600160801b0316866000015186613a6191906149be565b6001600160801b03166108a191906149de565b82516001600160801b03831684526001600160a01b03881663a1b2bf8b86613a9b87613059565b6040518363ffffffff1660e01b8152600401613ab892919061497e565b600060405180830381600087803b158015613ad257600080fd5b505af1158015613ae6573d6000803e3d6000fd5b505050508563ffffffff16876001600160a01b0316896001600160a01b03167f81e37f3d9f16cbf29a62d6a1c21d79b23ef29b54124ec44af43a50fffb9304f3848789604001518a6020015189604051613b449594939291906150af565b60405180910390a46040516379359f6f60e01b81526001600160a01b0388811660048301528916906379359f6f90602401602060405180830381865afa158015613b92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bb69190614d77565b156132e2576040516316e759bb60e01b815260040160405180910390fd5b60608073__$97ed594b3f931187fb739dcb88a7dff641$__6306967a8c85856000600160801b6040518563ffffffff1660e01b8152600401613c199493929190614b9a565b600060405180830381865af4158015613c36573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c5e91908101906150eb565b909250905060005b8151811015613cbf57613c9284838381518110613c8557613c85614b6e565b6020026020010151613fdf565b828281518110613ca457613ca4614b6e565b6020908102919091010152613cb8816151af565b9050613c66565b509250929050565b6000613cd16142a9565b604051636c2d9f2f60e01b815230600482015260248101849052600260448201526000906001600160a01b03861690636c2d9f2f90606401600060405180830381865afa158015613d26573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613d4e9190810190614cc0565b9050600081600081518110613d6557613d65614b6e565b602002602001015160001c9050600082600181518110613d8757613d87614b6e565b602002602001015160001c905060008211945084156136a957606082811c60208087019190915283901c63ffffffff9081166040870152831685526001600160801b03821690850152608081811c908501525050509250929050565b600080836001600160a01b0316634b61cc33308564010000000060016040518563ffffffff1660e01b8152600401613e1e9493929190614b9a565b600060405180830381865afa158015613e3b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613e639190810190614cc0565b905080600081518110613e7857613e78614b6e565b602002602001015160001c91505092915050565b604051630a32470160e41b81526001600160a01b03808516600483015283166024820152600060448201819052600160801b6064830152608482018390529073__$97ed594b3f931187fb739dcb88a7dff641$__9063a32470109060a401602060405180830381865af4158015613f07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f2b91906151c8565b949350505050565b604051636c2d9f2f60e01b8152306004820152602481018290526002604482015260009081906001600160a01b03851690636c2d9f2f90606401600060405180830381865afa158015613f8a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613fb29190810190614cc0565b9050600081600081518110613fc957613fc9614b6e565b6020908102919091010151151595945050505050565b604080516b39bab139b1b934b83a34b7b760a11b6020820152606084811b6bffffffffffffffffffffffff1916602c83015291810183905260009101613581565b6020810151608082015160a08301518351604051630768fabb60e41b8152606094339463768fabb094614057948a946004016151e5565b6000604051808303816000875af1158015614076573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612d0b9190810190614fee565b600064010000000082036140ba57506330d9c91560e01b919050565b64040000000082036140d45750630221347d60e61b919050565b64100000000082036140ee5750635f9e7d7760e01b919050565b6402000000008203614108575063d86ed3e560e01b919050565b6408000000008203614122575063230dbd2960e01b919050565b506353c11f9960e01b919050565b919050565b604051634c4d861f60e11b8152606090339063989b0c3e90614057908690869060040161522a565b60006001600160ff1b038211156130555760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016118f6565b6000612d0b60006141e06141da8661415d565b856141e5565b6141fa565b60008183136141f45782612d0b565b50919050565b60008183136142095781612d0b565b5090919050565b6040805160c0810182526000808252602082018190529181019190915260608101614254604080516060810182526000808252602082018190529181019190915290565b81526020016142616142a9565b8152602001606081525090565b6040805160e0810182526000808252602082018190529181018290526060808201526080810182905260a0810182905260c081019190915290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461113a57600080fd5b63ffffffff8116811461113a57600080fd5b80356001600160801b038116811461413057600080fd5b60008083601f84011261438257600080fd5b5081356001600160401b0381111561439957600080fd5b6020830191508360208285010111156143b157600080fd5b9250929050565b60008060008060008060a087890312156143d157600080fd5b86356143dc81614332565b955060208701356143ec81614347565b945060408701356143fc81614332565b935061440a60608801614359565b925060808701356001600160401b0381111561442557600080fd5b61443189828a01614370565b979a9699509497509295939492505050565b60005b8381101561445e578181015183820152602001614446565b50506000910152565b6000815180845261447f816020860160208601614443565b601f01601f19169290920160200192915050565b602081526000612d0b6020830184614467565b6000806000606084860312156144bb57600080fd5b83356144c681614332565b925060208401356144d681614332565b915060408401356144e681614347565b809150509250925092565b60008060008060008060a0878903121561450a57600080fd5b863561451581614332565b9550602087013561452581614332565b9450604087013561453581614347565b9350606087013561440a81614332565b60006020828403121561455757600080fd5b813561456281614332565b9392505050565b6000806000806080858703121561457f57600080fd5b843561458a81614332565b9350602085013561459a81614332565b925060408501356145aa81614347565b915060608501356145ba81614332565b939692955090935050565b6000806000806000608086880312156145dd57600080fd5b85356145e881614332565b945060208601356145f881614332565b9350604086013561460881614347565b925060608601356001600160401b0381111561462357600080fd5b61462f88828901614370565b969995985093965092949392505050565b60008060008060006080868803121561465857600080fd5b853561466381614332565b9450602086013561467381614347565b935061460860408701614359565b6000806000806080858703121561469757600080fd5b84356146a281614332565b935060208501356146b281614332565b925060408501356146c281614347565b9396929550929360600135925050565b6000806000606084860312156146e757600080fd5b83356146f281614332565b9250602084013561470281614332565b929592945050506040919091013590565b6000806040838503121561472657600080fd5b823561473181614332565b9150602083013561474181614332565b809150509250929050565b600081518084526020808501945080840160005b838110156147855781516001600160801b031687529582019590820190600101614760565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b828110156147d25781516001600160a01b0316845292840192908401906001016147ad565b5050508381038285015285518082528683019183019060005b8181101561480d57835163ffffffff16835292840192918401916001016147eb565b50508481036040860152614821818761474c565b98975050505050505050565b60008060008060006080868803121561484557600080fd5b853561485081614332565b9450602086013561486081614347565b93506040860135925060608601356001600160401b0381111561462357600080fd5b6000806040838503121561489557600080fd5b82356148a081614332565b946020939093013593505050565b600080600080606085870312156148c457600080fd5b84356148cf81614332565b935060208501356148df81614347565b925060408501356001600160401b038111156148fa57600080fd5b61490687828801614370565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115612d0e57612d0e614912565b81810381811115612d0e57612d0e614912565b600081518084526020808501945080840160005b8381101561478557815187529582019590820190600101614962565b828152604060208201526000613f2b604083018461494e565b6001600160801b038181168382160190808211156149b7576149b7614912565b5092915050565b6001600160801b038281168282160390808211156149b7576149b7614912565b80820260008212600160ff1b841416156149fa576149fa614912565b8181058314821517612d0e57612d0e614912565b6000600160ff1b8201614a2357614a23614912565b5060000390565b6001600160a01b03929092168252602082015260400190565b6001600160a01b03841681526001600160801b0383166020820152606060408201819052600090614a7690830184614467565b95945050505050565b6001600160a01b038516815263ffffffff841660208201526001600160801b0383166040820152608060608201819052600090614abe90830184614467565b9695505050505050565b6001600160a01b0383168152604060208201819052600090613f2b90830184614467565b6001600160a01b038416815263ffffffff83166020820152606060408201819052600090614a7690830184614467565b600060208284031215614b2e57600080fd5b5051919050565b8082028115828204841417612d0e57612d0e614912565b600082614b6957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715614bfc57614bfc614bc3565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614c2a57614c2a614bc3565b604052919050565b60006001600160401b03821115614c4b57614c4b614bc3565b5060051b60200190565b600082601f830112614c6657600080fd5b81516020614c7b614c7683614c32565b614c02565b82815260059290921b84018101918181019086841115614c9a57600080fd5b8286015b84811015614cb55780518352918301918301614c9e565b509695505050505050565b600060208284031215614cd257600080fd5b81516001600160401b03811115614ce857600080fd5b613f2b84828501614c55565b8082018281126000831280158216821582161715614d1457614d14614912565b505092915050565b600063ffffffff808316818103614d3557614d35614912565b6001019392505050565b805161413081614332565b600060208284031215614d5c57600080fd5b815161456281614332565b8051801515811461413057600080fd5b600060208284031215614d8957600080fd5b612d0b82614d67565b805160ff8116811461413057600080fd5b80516001600160e01b03198116811461413057600080fd5b600082601f830112614dcc57600080fd5b81516001600160401b03811115614de557614de5614bc3565b614df8601f8201601f1916602001614c02565b818152846020838601011115614e0d57600080fd5b613f2b826020830160208701614443565b600060208284031215614e3057600080fd5b81516001600160401b0380821115614e4757600080fd5b908301906101608286031215614e5c57600080fd5b614e64614bd9565b614e6d83614d92565b8152614e7b60208401614d92565b602082015260408301516040820152614e9660608401614d3f565b6060820152614ea760808401614da3565b608082015260a083015182811115614ebe57600080fd5b614eca87828601614dbb565b60a08301525060c083015160c082015260e083015160e0820152610100915081830151828201526101209150614f01828401614d3f565b828201526101409150614f15828401614d3f565b91810191909152949350505050565b600080600060608486031215614f3957600080fd5b614f4284614d67565b9250614f5060208501614d67565b9150604084015190509250925092565b6001600160a01b038681168252851660208201526040810184905260a060608201819052600090614f9390830185614467565b82810360808401526148218185614467565b6001600160a01b0385168152608060208201819052600090614fc990830186614467565b84151560408401528281036060840152614fe38185614467565b979650505050505050565b60006020828403121561500057600080fd5b81516001600160401b0381111561501657600080fd5b613f2b84828501614dbb565b60018060a01b0384168152826020820152606060408201526000614a76606083018461494e565b6001600160a01b038781168252861660208201526040810185905260c06060820181905260009061507c90830186614467565b828103608084015261508e8186614467565b905082810360a08401526150a28185614467565b9998505050505050505050565b60006001600160801b0380881683528087166020840152808616604084015280851660608401525060a06080830152614fe360a0830184614467565b600080604083850312156150fe57600080fd5b82516001600160401b038082111561511557600080fd5b818501915085601f83011261512957600080fd5b81516020615139614c7683614c32565b82815260059290921b8401810191818101908984111561515857600080fd5b948201945b8386101561517f57855161517081614347565b8252948201949082019061515d565b9188015191965090935050508082111561519857600080fd5b506151a585828601614c55565b9150509250929050565b6000600182016151c1576151c1614912565b5060010190565b6000602082840312156151da57600080fd5b815161456281614347565b60a0815260006151f860a0830188614467565b6001600160a01b0396871660208401526040830195909552506060810192909252909216608090920191909152919050565b60408152600061523d6040830185614467565b9050826020830152939250505056fea264697066735822122022e73ac6297a9505905157a298582411ab8841ce33a1e924818361a627ffb96164736f6c63430008130033",hw=eb=>"string"==typeof eb[0]||Array.isArray(eb[0])||"_isInterface"in eb[0];class hM extends u9.lV{constructor(...eb){if(hw(eb))super(...eb);else{let[em,ew]=eb;super(hy,hM.linkBytecode(em),ew)}}static linkBytecode(eb){return hz.replace(RegExp("__\\$97ed594b3f931187fb739dcb88a7dff641\\$__","g"),eb["contracts/libs/SlotsBitmapLibrary.sol:SlotsBitmapLibrary"].replace(/^0x/,"").toLowerCase())}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(hy)}static connect(eb,em){return new u9.CH(eb,hy,em)}}hM.bytecode=hz,hM.abi=hy;let hC=[{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"}];class hx{static createInterface(){return new pE.vU(hC)}static connect(eb,em){return new u9.CH(eb,hC,em)}}hx.abi=hC;let hk=[{inputs:[],name:"NotAcceptedSuperToken",type:"error"},{inputs:[],name:"NotImplemented",type:"error"},{inputs:[],name:"UnauthorizedHost",type:"error"},{inputs:[],name:"CFAV1_TYPE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],name:"isAcceptedSuperToken",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}];class hT{static createInterface(){return new pE.vU(hk)}static connect(eb,em){return new u9.CH(eb,hk,em)}}hT.abi=hk;let h_=[{inputs:[],name:"UnsupportedNetwork",type:"error"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],hE="0x6102cd61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806320bc44251461003a575b600080fd5b61004261005e565b6040516001600160a01b03909116815260200160405180910390f35b6000600146036100815750734e583d9390082b65bef884b629dfa426114ced6d90565b600a46036100a2575073567c4b141ed61923967ca25ef4906c8781069a1090565b603846036100c3575073d1e2cfb6441680002eb7a44223160ab9b67d7e6e90565b606446036100e45750732dfe937cd98ab92e59cf3139138f18c823a4efe790565b608946036101055750733e14dc1b13c488a8d5d310918780c983bd5982e790565b61a4b14603610127575073cf8acb4ef033eff16e8080aed4c7d5b9285d219290565b61a4ec4603610149575073a4ff07cf81c02cfd356184879d953970ca95758590565b61a86a460361016b57507360377c7016e4cdb03c87ef474896c11cb560752c90565b6005460361018c57507322ff293e14f1ec3a09b137e9e06084afd63addf990565b62066eed46036101af575073e40983c2476032a0915600b9472b3141aa5b5ba990565b6101a446036101d1575073e40983c2476032a0915600b9472b3141aa5b5ba990565b61a86946036101f357507385fe79b998509b77bf10a8bd4001d58475d2938690565b620138814603610216575073eb796bdb90ffa0f28255275e16936d25d341860390565b62aa36a74603610239575073109412e3c84f0539b43d39db691b08c90f58dc7c90565b62014a33460361025c575073507c3a7c6ccc253884a2e3a3ee2a211cc7e796a690565b6105a2460361027e575073e64f81d5ddda1c7172e5c6d964e8ef1bd82d870490565b604051633732a25760e11b815260040160405180910390fdfea2646970667358221220114465fd8371389b109b18e5e19f7e2c31b95dd500a0c97369fb43b1804da50064736f6c63430008130033",hS=eb=>eb.length>1;class hA extends u9.lV{constructor(...eb){hS(eb)?super(...eb):super(h_,hE,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(h_)}static connect(eb,em){return new u9.CH(eb,h_,em)}}hA.bytecode=hE,hA.abi=h_;let hN=[{inputs:[],name:"SF_GOV_II_ONLY_OWNER",type:"error"},{inputs:[],name:"SF_GOV_INVALID_LIQUIDATION_OR_PATRICIAN_PERIOD",type:"error"},{inputs:[],name:"SF_GOV_MUST_BE_CONTRACT",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"address",name:"factory",type:"address"},{indexed:!1,internalType:"bool",name:"authorized",type:"bool"}],name:"AppFactoryAuthorizationChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"address",name:"deployer",type:"address"},{indexed:!1,internalType:"string",name:"appRegistrationKey",type:"string"},{indexed:!1,internalType:"uint256",name:"expirationTs",type:"uint256"}],name:"AppRegistrationKeyChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"liquidationPeriod",type:"uint256"}],name:"CFAv1LiquidationPeriodChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"ConfigChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",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:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{indexed:!1,internalType:"uint256",name:"patricianPeriod",type:"uint256"}],name:"PPPConfigurationChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"address",name:"rewardAddress",type:"address"}],name:"RewardAddressChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"minimumDeposit",type:"uint256"}],name:"SuperTokenMinimumDepositChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"address",name:"forwarder",type:"address"},{indexed:!1,internalType:"bool",name:"enabled",type:"bool"}],name:"TrustedForwarderChanged",type:"event"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"authorizeAppFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"token",type:"address[]"},{internalType:"address[]",name:"newAdmins",type:"address[]"}],name:"batchChangeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"},{internalType:"address[]",name:"tokenLogics",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"},{internalType:"uint256[]",name:"minimumDeposits",type:"uint256[]"}],name:"batchUpdateSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newAdmin",type:"address"}],name:"changeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"}],name:"clearAppRegistrationKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"clearConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"clearPPPConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"clearRewardAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"superToken",type:"address"}],name:"clearSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"disableTrustedForwarder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"enableTrustedForwarder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsAddress",outputs:[{internalType:"address",name:"value",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsUint256",outputs:[{internalType:"uint256",name:"period",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getPPPConfig",outputs:[{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getRewardAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getSuperTokenMinimumDeposit",outputs:[{internalType:"uint256",name:"value",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"isAuthorizedAppFactory",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"isTrustedForwarder",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"agreementClass",type:"address"}],name:"registerAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"newGov",type:"address"}],name:"replaceGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"},{internalType:"uint256",name:"expirationTs",type:"uint256"}],name:"setAppRegistrationKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"address",name:"value",type:"address"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"uint256",name:"value",type:"uint256"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"}],name:"setPPPConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"rewardAddress",type:"address"}],name:"setRewardAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"setSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"unauthorizeAppFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"hostNewLogic",type:"address"},{internalType:"address[]",name:"agreementClassNewLogics",type:"address[]"},{internalType:"address",name:"superTokenFactoryNewLogic",type:"address"}],name:"updateContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"}],name:"verifyAppRegistrationKey",outputs:[{internalType:"bool",name:"validNow",type:"bool"},{internalType:"uint256",name:"expirationTs",type:"uint256"}],stateMutability:"view",type:"function"}],hI="0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6122188061007e6000396000f3fe608060405234801561001057600080fd5b50600436106102315760003560e01c80637f0558e411610130578063948eda5e116100b8578063d099b6a01161007c578063d099b6a0146104f9578063e447cc1d1461050c578063f047a2d91461051f578063f2fde38b14610532578063f79a8e631461054557600080fd5b8063948eda5e146104a55780639903ad38146104b8578063ab846f1a146104c0578063c9615a98146104d3578063cadf8f85146104e657600080fd5b80638a7ff2f7116100ff5780638a7ff2f7146104385780638abe04e91461044b5780638b93b3f51461046e5780638da5cb5b146104815780638ecbd87b1461049257600080fd5b80637f0558e4146103f157806380f70cba146104045780638369a0f114610417578063870299c01461042557600080fd5b8063427942a4116101be57806352d1902d1161018257806352d1902d14610380578063640b6cc9146103b0578063715018a6146103c357806378707cb8146103cb5780637dce4f81146103de57600080fd5b8063427942a41461031757806344864b251461032a578063452282351461033d578063469519541461036557806350d75d251461037857600080fd5b8063219644731161020557806321964473146102b8578063256b5173146102cb57806325c955c3146102de57806332552908146102f157806342148deb1461030457600080fd5b806286d5551461023657806301a06b971461024b57806311cf00f11461025e57806319df62ab1461028d575b600080fd5b610249610244366004611bf6565b610558565b005b610249610259366004611c3c565b610625565b61027161026c366004611d18565b6106a9565b6040805192151583526020830191909152015b60405180910390f35b6102a061029b366004611c3c565b6106d9565b6040516001600160a01b039091168152602001610284565b6102496102c6366004611dc6565b61070d565b6102496102d9366004611e49565b610788565b6102496102ec366004611c3c565b6107fb565b6102496102ff366004611e49565b610857565b610249610312366004611e94565b6108d4565b610249610325366004611ee9565b610997565b610249610338366004611c3c565b610c47565b61035061034b366004611c3c565b610cb2565b60408051928352602083019190915201610284565b610249610373366004611f66565b610cfa565b6102a0610d0e565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb23830542395b604051908152602001610284565b6102496103be366004611f83565b610d3d565b610249610d4d565b6102496103d9366004611fc4565b610d61565b6102496103ec366004611e49565b610d73565b6102496103ff366004611f83565b610dd3565b6103a2610412366004611f83565b610e46565b6102a0610412366004611f83565b610249610433366004611dc6565b610eb7565b6103a2610446366004611c3c565b610fa9565b61045e610459366004611c3c565b610fd6565b6040519015158152602001610284565b61024961047c366004611c3c565b610ff1565b6000546001600160a01b03166102a0565b6102496104a0366004611c3c565b611074565b6102496104b3366004611d18565b6110e5565b610249611153565b6102496104ce366004611e49565b61127c565b6102496104e1366004611dc6565b6112d8565b6102496104f4366004611c3c565b6113ca565b610249610507366004612017565b611402565b61024961051a366004611c3c565b611462565b61045e61052d366004611e49565b6114d3565b610249610540366004611f66565b6114ee565b610249610553366004611bf6565b611564565b808211158061056b575063ffffffff8210155b8061057a575063ffffffff8110155b15610598576040516370b8cc0560e11b815260040160405180910390fd5b602082901b81176105cb85857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f788461156c565b6040805160018152602081018590529081018390526001600160a01b0380861691908716907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050505050565b61065082827fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f7861161f565b60408051600080825260208201819052918101919091526001600160a01b0380831691908416907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050565b60008060006106b885856116e0565b905060006106c887600084610e46565b428110159890975095505050505050565b600061070683837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09610e46565b9392505050565b82811461071c5761071c612081565b60005b81811015610780576107708686868481811061073d5761073d612097565b90506020020160208101906107529190611f66565b85858581811061076457610764612097565b90506020020135610dd3565b610779816120ad565b905061071f565b505050505050565b8261079281611713565b604051630c56507560e01b81526001600160a01b0384811660048301528381166024830152851690630c56507590604401600060405180830381600087803b1580156107dd57600080fd5b505af11580156107f1573d6000803e3d6000fd5b5050505050505050565b61080f82600061080a8461171b565b61161f565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d600060405161069d911515815260200190565b61088383837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09846117ae565b60408051600181526001600160a01b03838116602083015280851692908616917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91015b60405180910390a3505050565b826108de81611713565b60005b8281101561099057846001600160a01b031663fa6e0cfe85858481811061090a5761090a612097565b905060200201602081019061091f9190611f66565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260006024820152604401600060405180830381600087803b15801561096757600080fd5b505af115801561097b573d6000803e3d6000fd5b5050505080610989906120ad565b90506108e1565b5050505050565b846109a181611713565b6001600160a01b03851615610a5f576040516311a5465560e21b81526001600160a01b038681166004830152871690634695195490602401600060405180830381600087803b1580156109f357600080fd5b505af1158015610a07573d6000803e3d6000fd5b50505050846001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a4657600080fd5b505af1158015610a5a573d6000803e3d6000fd5b505050505b60005b83811015610b8357866001600160a01b03166306cecba8868684818110610a8b57610a8b612097565b9050602002016020810190610aa09190611f66565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015610ae157600080fd5b505af1158015610af5573d6000803e3d6000fd5b50505050848482818110610b0b57610b0b612097565b9050602002016020810190610b209190611f66565b6001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b5a57600080fd5b505af1158015610b6e573d6000803e3d6000fd5b5050505080610b7c906120ad565b9050610a62565b506001600160a01b03821615610780576040516354fbc49360e01b81526001600160a01b0383811660048301528716906354fbc49390602401600060405180830381600087803b158015610bd657600080fd5b505af1158015610bea573d6000803e3d6000fd5b50505050816001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c2957600080fd5b505af1925050508015610c3a575060015b1561078057505050505050565b81610c5181611713565b604051631ca0c40360e21b81526001600160a01b038381166004830152841690637283100c906024015b600060405180830381600087803b158015610c9557600080fd5b505af1158015610ca9573d6000803e3d6000fd5b50505050505050565b6000806000610ce285857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78610e46565b63ffffffff602082901c811697911695509350505050565b610d02611863565b610d0b8161188e565b50565b6000610d387f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b610d4883838361161f565b505050565b610d55611ac8565b610d5f6000611b22565b565b610d6d848484846117ae565b50505050565b610d81838361080a84611b72565b60408051600181526001600160a01b038381166020830152600092820192909252818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108c7565b610dff83837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc48461156c565b6040805160018152602081018390526001600160a01b0380851692908616917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a5391016108c7565b6001600160a01b03808416600090815260016020908152604080832093861683529281528282208483529052908120805460ff16610eab57506001600160a01b0384166000908152600160209081526040808320838052825280832085845290915290205b60010154949350505050565b84610ec181611713565b838214610ed057610ed0612081565b60005b84811015610ca957866001600160a01b031663fa6e0cfe878784818110610efc57610efc612097565b9050602002016020810190610f119190611f66565b868685818110610f2357610f23612097565b9050602002016020810190610f389190611f66565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b158015610f8057600080fd5b505af1158015610f94573d6000803e3d6000fd5b5050505080610fa2906120ad565b9050610ed3565b600061070683837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4610e46565b6000610fe78360006104128561171b565b6001149392505050565b803b6000819003611015576040516380dddd7360e01b815260040160405180910390fd5b5061102c8260006110258461171b565b600161156c565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d600160405161069d911515815260200190565b61109f82827feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc461161f565b60408051600080825260208201526001600160a01b0380841692908516917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a53910161069d565b60006110f183836116e0565b90506110ff8460008361161f565b826001600160a01b0316846001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc84600060405161114592919061211a565b60405180910390a350505050565b600054600160a81b900460ff161580801561117b57506000546001600160a01b90910460ff16105b8061119c5750303b15801561119c5750600054600160a01b900460ff166001145b6112045760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff60a01b1916600160a01b1790558015611231576000805460ff60a81b1916600160a81b1790555b8015610d0b576000805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61128a838361102584611b72565b6040805160018082526001600160a01b03848116602084015292820152818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108c7565b846112e281611713565b8382146112f1576112f1612081565b60005b84811015610ca957866001600160a01b0316630c56507587878481811061131d5761131d612097565b90506020020160208101906113329190611f66565b86868581811061134457611344612097565b90506020020160208101906113599190611f66565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b1580156113a157600080fd5b505af11580156113b5573d6000803e3d6000fd5b50505050806113c3906120ad565b90506112f4565b816113d481611713565b6040516315a024e160e01b81526001600160a01b0383811660048301528416906315a024e190602401610c7b565b600061140e84846116e0565b905061141d856000838561156c565b836001600160a01b0316856001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc858560405161061692919061211a565b61148d82827f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d0961161f565b60408051600080825260208201526001600160a01b0380841692908516917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb910161069d565b60006114e3848461041285611b72565b600114949350505050565b6114f6611ac8565b6001600160a01b03811661155b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016111fb565b610d0b81611b22565b610d6d848484845b8361157681611713565b60408051848152600160208201529081018390526001600160a01b0380861691908716907f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e3909060600160405180910390a350604080518082018252600180825260208083019485526001600160a01b039788166000908152828252848120979098168852958652828720948752939094529093209151825460ff19169015151782559151910155565b8261162981611713565b826001600160a01b0316846001600160a01b03167f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e39084600080604051611682939291909283529015156020830152604082015260600190565b60405180910390a350604080518082018252600080825260208083018281526001600160a01b03978816835260018083528584209790981683529581528382209482529390935291209051815460ff19169015151781559051910155565b600082826040516020016116f592919061213c565b60405160208183030381529060405280519060200120905092915050565b610d0b611863565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b836117b881611713565b60408051848152600160208201526001600160a01b03848116828401529151868316928816917f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e390919081900360600190a35060408051808201825260018082526001600160a01b03938416602080840191825297851660009081528289528481209790951685529587528284209484529390955290209251835460ff19169015151783559051910155565b6000546001600160a01b03163314610d5f57604051638c809f9b60e01b815260040160405180910390fd5b60006118b87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b03160361190e5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016111fb565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561194c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197091906121c9565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb2383054239146119ea5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016111fb565b6001600160a01b0381163003611a425760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016111fb565b611a6a817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb2383054239604080519182526001600160a01b038416602083015201611271565b6000546001600160a01b03163314610d5f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016111fb565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c001611791565b6001600160a01b0381168114610d0b57600080fd5b60008060008060808587031215611c0c57600080fd5b8435611c1781611be1565b93506020850135611c2781611be1565b93969395505050506040820135916060013590565b60008060408385031215611c4f57600080fd5b8235611c5a81611be1565b91506020830135611c6a81611be1565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611c9c57600080fd5b813567ffffffffffffffff80821115611cb757611cb7611c75565b604051601f8301601f19908116603f01168101908282118183101715611cdf57611cdf611c75565b81604052838152866020858801011115611cf857600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215611d2d57600080fd5b8335611d3881611be1565b92506020840135611d4881611be1565b9150604084013567ffffffffffffffff811115611d6457600080fd5b611d7086828701611c8b565b9150509250925092565b60008083601f840112611d8c57600080fd5b50813567ffffffffffffffff811115611da457600080fd5b6020830191508360208260051b8501011115611dbf57600080fd5b9250929050565b600080600080600060608688031215611dde57600080fd5b8535611de981611be1565b9450602086013567ffffffffffffffff80821115611e0657600080fd5b611e1289838a01611d7a565b90965094506040880135915080821115611e2b57600080fd5b50611e3888828901611d7a565b969995985093965092949392505050565b600080600060608486031215611e5e57600080fd5b8335611e6981611be1565b92506020840135611e7981611be1565b91506040840135611e8981611be1565b809150509250925092565b600080600060408486031215611ea957600080fd5b8335611eb481611be1565b9250602084013567ffffffffffffffff811115611ed057600080fd5b611edc86828701611d7a565b9497909650939450505050565b600080600080600060808688031215611f0157600080fd5b8535611f0c81611be1565b94506020860135611f1c81611be1565b9350604086013567ffffffffffffffff811115611f3857600080fd5b611f4488828901611d7a565b9094509250506060860135611f5881611be1565b809150509295509295909350565b600060208284031215611f7857600080fd5b813561070681611be1565b600080600060608486031215611f9857600080fd5b8335611fa381611be1565b92506020840135611fb381611be1565b929592945050506040919091013590565b60008060008060808587031215611fda57600080fd5b8435611fe581611be1565b93506020850135611ff581611be1565b925060408501359150606085013561200c81611be1565b939692955090935050565b6000806000806080858703121561202d57600080fd5b843561203881611be1565b9350602085013561204881611be1565b9250604085013567ffffffffffffffff81111561206457600080fd5b61207087828801611c8b565b949793965093946060013593505050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000600182016120cd57634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b818110156120fa576020818501810151868301820152016120de565b506000602082860101526020601f19601f83011685010191505092915050565b60408152600061212d60408301856120d4565b90508260208301529392505050565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e0604082015260006121c160e08301846120d4565b949350505050565b6000602082840312156121db57600080fd5b505191905056fea26469706673582212205b47bb8e510e16416c7494da5b9283774a0d75dd7c329c518ca95da069b17ba064736f6c63430008130033",hD=eb=>eb.length>1;class hO extends u9.lV{constructor(...eb){hD(eb)?super(...eb):super(hN,hI,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(hN)}static connect(eb,em){return new u9.CH(eb,hN,em)}}hO.bytecode=hI,hO.abi=hN;let hP=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{stateMutability:"payable",type:"fallback"},{inputs:[{internalType:"address",name:"initialAddress",type:"address"}],name:"initializeProxy",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],hR="0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6103de8061007e6000396000f3fe6080604052600436106100435760003560e01c80634a0687ef1461005a578063715018a61461007a5780638da5cb5b1461008f578063f2fde38b146100bb57610052565b36610052576100506100db565b005b6100506100db565b34801561006657600080fd5b50610050610075366004610378565b6100ed565b34801561008657600080fd5b506100506101f3565b34801561009b57600080fd5b50600054604080516001600160a01b039092168252519081900360200190f35b3480156100c757600080fd5b506100506100d6366004610378565b610205565b6100eb6100e661027b565b6102aa565b565b6001600160a01b0381166101485760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006101727f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101c85760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a65640000604482015260640161013f565b6101f0817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b6101fb6102ce565b6100eb6000610328565b61020d6102ce565b6001600160a01b0381166102725760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161013f565b6101f081610328565b60006102a57f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156102c9573d6000f35b3d6000fd5b6000546001600160a01b031633146100eb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161013f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561038a57600080fd5b81356001600160a01b03811681146103a157600080fd5b939250505056fea264697066735822122013c43d3da054c8f134fcf229dcee80be810c5b9fde0407159fe9e6158b0b1b9b64736f6c63430008130033",hB=eb=>eb.length>1;class hF extends u9.lV{constructor(...eb){hB(eb)?super(...eb):super(hP,hR,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(hP)}static connect(eb,em){return new u9.CH(eb,hP,em)}}hF.bytecode=hR,hF.abi=hP;let hj=[{inputs:[],name:"SF_GOV_INVALID_LIQUIDATION_OR_PATRICIAN_PERIOD",type:"error"},{inputs:[],name:"SF_GOV_MUST_BE_CONTRACT",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"address",name:"factory",type:"address"},{indexed:!1,internalType:"bool",name:"authorized",type:"bool"}],name:"AppFactoryAuthorizationChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"address",name:"deployer",type:"address"},{indexed:!1,internalType:"string",name:"appRegistrationKey",type:"string"},{indexed:!1,internalType:"uint256",name:"expirationTs",type:"uint256"}],name:"AppRegistrationKeyChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"liquidationPeriod",type:"uint256"}],name:"CFAv1LiquidationPeriodChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"ConfigChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{indexed:!1,internalType:"uint256",name:"patricianPeriod",type:"uint256"}],name:"PPPConfigurationChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"address",name:"rewardAddress",type:"address"}],name:"RewardAddressChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"minimumDeposit",type:"uint256"}],name:"SuperTokenMinimumDepositChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"address",name:"forwarder",type:"address"},{indexed:!1,internalType:"bool",name:"enabled",type:"bool"}],name:"TrustedForwarderChanged",type:"event"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"authorizeAppFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"token",type:"address[]"},{internalType:"address[]",name:"newAdmins",type:"address[]"}],name:"batchChangeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"},{internalType:"address[]",name:"tokenLogics",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"},{internalType:"uint256[]",name:"minimumDeposits",type:"uint256[]"}],name:"batchUpdateSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newAdmin",type:"address"}],name:"changeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"}],name:"clearAppRegistrationKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"clearConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"clearPPPConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"clearRewardAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"superToken",type:"address"}],name:"clearSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"disableTrustedForwarder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"enableTrustedForwarder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsAddress",outputs:[{internalType:"address",name:"value",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsUint256",outputs:[{internalType:"uint256",name:"period",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getPPPConfig",outputs:[{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getRewardAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getSuperTokenMinimumDeposit",outputs:[{internalType:"uint256",name:"value",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"isAuthorizedAppFactory",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"isTrustedForwarder",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"agreementClass",type:"address"}],name:"registerAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"newGov",type:"address"}],name:"replaceGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"},{internalType:"uint256",name:"expirationTs",type:"uint256"}],name:"setAppRegistrationKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"address",name:"value",type:"address"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"uint256",name:"value",type:"uint256"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"}],name:"setPPPConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"rewardAddress",type:"address"}],name:"setRewardAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"setSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"unauthorizeAppFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"hostNewLogic",type:"address"},{internalType:"address[]",name:"agreementClassNewLogics",type:"address[]"},{internalType:"address",name:"superTokenFactoryNewLogic",type:"address"}],name:"updateContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"}],name:"verifyAppRegistrationKey",outputs:[{internalType:"bool",name:"validNow",type:"bool"},{internalType:"uint256",name:"expirationTs",type:"uint256"}],stateMutability:"view",type:"function"}];class hU{static createInterface(){return new pE.vU(hj)}static connect(eb,em){return new u9.CH(eb,hj,em)}}hU.abi=hj;let hV=[{inputs:[],name:"CFA_ACL_FLOW_RATE_ALLOWANCE_EXCEEDED",type:"error"},{inputs:[],name:"CFA_ACL_NO_NEGATIVE_ALLOWANCE",type:"error"},{inputs:[],name:"CFA_ACL_NO_SENDER_CREATE",type:"error"},{inputs:[],name:"CFA_ACL_NO_SENDER_FLOW_OPERATOR",type:"error"},{inputs:[],name:"CFA_ACL_NO_SENDER_UPDATE",type:"error"},{inputs:[],name:"CFA_ACL_OPERATOR_NO_CREATE_PERMISSIONS",type:"error"},{inputs:[],name:"CFA_ACL_OPERATOR_NO_DELETE_PERMISSIONS",type:"error"},{inputs:[],name:"CFA_ACL_OPERATOR_NO_UPDATE_PERMISSIONS",type:"error"},{inputs:[],name:"CFA_ACL_UNCLEAN_PERMISSIONS",type:"error"},{inputs:[],name:"CFA_DEPOSIT_TOO_BIG",type:"error"},{inputs:[],name:"CFA_FLOW_ALREADY_EXISTS",type:"error"},{inputs:[],name:"CFA_FLOW_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"CFA_FLOW_RATE_TOO_BIG",type:"error"},{inputs:[],name:"CFA_HOOK_OUT_OF_GAS",type:"error"},{inputs:[],name:"CFA_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"CFA_INVALID_FLOW_RATE",type:"error"},{inputs:[],name:"CFA_NON_CRITICAL_SENDER",type:"error"},{inputs:[],name:"CFA_NO_SELF_FLOW",type:"error"},{inputs:[],name:"CFA_ZERO_ADDRESS_RECEIVER",type:"error"},{inputs:[],name:"CFA_ZERO_ADDRESS_SENDER",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"flowOperator",type:"address"},{indexed:!1,internalType:"uint8",name:"permissions",type:"uint8"},{indexed:!1,internalType:"int96",name:"flowRateAllowance",type:"int96"}],name:"FlowOperatorUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!0,internalType:"address",name:"receiver",type:"address"},{indexed:!1,internalType:"int96",name:"flowRate",type:"int96"},{indexed:!1,internalType:"int256",name:"totalSenderFlowRate",type:"int256"},{indexed:!1,internalType:"int256",name:"totalReceiverFlowRate",type:"int256"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"FlowUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"flowOperator",type:"address"},{indexed:!1,internalType:"uint256",name:"deposit",type:"uint256"}],name:"FlowUpdatedExtension",type:"event"},{inputs:[],name:"agreementType",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"authorizeFlowOperatorWithFullControl",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"createFlow",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"createFlowByOperator",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"int96",name:"subtractedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"decreaseFlowRateAllowance",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissionsToRemove",type:"uint8"},{internalType:"int96",name:"subtractedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"decreaseFlowRateAllowanceWithPermissions",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"deleteFlow",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"deleteFlowByOperator",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"getAccountFlowInfo",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"getDepositRequiredForFlowRate",outputs:[{internalType:"uint256",name:"deposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getFlow",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"}],name:"getFlowByID",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"flowOperator",type:"address"}],name:"getFlowOperatorData",outputs:[{internalType:"bytes32",name:"flowOperatorId",type:"bytes32"},{internalType:"uint8",name:"permissions",type:"uint8"},{internalType:"int96",name:"flowRateAllowance",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"flowOperatorId",type:"bytes32"}],name:"getFlowOperatorDataByID",outputs:[{internalType:"uint8",name:"permissions",type:"uint8"},{internalType:"int96",name:"flowRateAllowance",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint256",name:"deposit",type:"uint256"}],name:"getMaximumFlowRateFromDeposit",outputs:[{internalType:"int96",name:"flowRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"getNetFlow",outputs:[{internalType:"int96",name:"flowRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"int96",name:"addedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"increaseFlowRateAllowance",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissionsToAdd",type:"uint8"},{internalType:"int96",name:"addedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"increaseFlowRateAllowanceWithPermissions",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isPatricianPeriod",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"isPatricianPeriodNow",outputs:[{internalType:"bool",name:"isCurrentlyPatricianPeriod",type:"bool"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"time",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"dynamicBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"revokeFlowOperatorWithFullControl",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateFlow",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateFlowByOperator",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissions",type:"uint8"},{internalType:"int96",name:"flowRateAllowance",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateFlowOperatorPermissions",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"}];class hH{static createInterface(){return new pE.vU(hV)}static connect(eb,em){return new u9.CH(eb,hV,em)}}hH.abi=hV;let h$=[{inputs:[],name:"IDA_INDEX_ALREADY_EXISTS",type:"error"},{inputs:[],name:"IDA_INDEX_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"IDA_INDEX_SHOULD_GROW",type:"error"},{inputs:[],name:"IDA_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"IDA_OPERATION_NOT_ALLOWED",type:"error"},{inputs:[],name:"IDA_SUBSCRIPTION_ALREADY_APPROVED",type:"error"},{inputs:[],name:"IDA_SUBSCRIPTION_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"IDA_SUBSCRIPTION_IS_NOT_APPROVED",type:"error"},{inputs:[],name:"IDA_ZERO_ADDRESS_SUBSCRIBER",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"IndexDistributionClaimed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexSubscribed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"uint128",name:"units",type:"uint128"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexUnitsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexUnsubscribed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"publisher",type:"address"},{indexed:!0,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"uint128",name:"oldIndexValue",type:"uint128"},{indexed:!1,internalType:"uint128",name:"newIndexValue",type:"uint128"},{indexed:!1,internalType:"uint128",name:"totalUnitsPending",type:"uint128"},{indexed:!1,internalType:"uint128",name:"totalUnitsApproved",type:"uint128"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"IndexUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"SubscriptionApproved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"SubscriptionDistributionClaimed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"SubscriptionRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluidToken",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"subscriber",type:"address"},{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"uint128",name:"units",type:"uint128"},{indexed:!1,internalType:"bytes",name:"userData",type:"bytes"}],name:"SubscriptionUnitsUpdated",type:"event"},{inputs:[],name:"agreementType",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"approveSubscription",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"calculateDistribution",outputs:[{internalType:"uint256",name:"actualAmount",type:"uint256"},{internalType:"uint128",name:"newIndexValue",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"claim",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"createIndex",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"deleteSubscription",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"distribute",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"getIndex",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"uint128",name:"totalUnitsApproved",type:"uint128"},{internalType:"uint128",name:"totalUnitsPending",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"getSubscription",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"}],name:"getSubscriptionByID",outputs:[{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"subscriber",type:"address"}],name:"listSubscriptions",outputs:[{internalType:"address[]",name:"publishers",type:"address[]"},{internalType:"uint32[]",name:"indexIds",type:"uint32[]"},{internalType:"uint128[]",name:"unitsList",type:"uint128[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"time",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"dynamicBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"revokeSubscription",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateIndex",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"updateSubscription",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"}];class hq{static createInterface(){return new pE.vU(h$)}static connect(eb,em){return new u9.CH(eb,h$,em)}}hq.abi=h$;let hW=[{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"CIF_NFT_ONLY_CONSTANT_OUTFLOW",type:"error"},{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:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{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:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"operator",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"newTokenId",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"owner",type:"address"}],stateMutability:"view",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:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"}];class hZ{static createInterface(){return new pE.vU(hW)}static connect(eb,em){return new u9.CH(eb,hW,em)}}hZ.abi=hW;let hK=[{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"COF_NFT_INVALID_SUPER_TOKEN",type:"error"},{inputs:[],name:"COF_NFT_MINT_TO_AND_FLOW_RECEIVER_SAME",type:"error"},{inputs:[],name:"COF_NFT_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"COF_NFT_ONLY_CONSTANT_INFLOW",type:"error"},{inputs:[],name:"COF_NFT_ONLY_FLOW_AGREEMENTS",type:"error"},{inputs:[],name:"COF_NFT_TOKEN_ALREADY_EXISTS",type:"error"},{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:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{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:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"operator",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onCreate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onDelete",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"owner",type:"address"}],stateMutability:"view",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:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"}];class hG{static createInterface(){return new pE.vU(hK)}static connect(eb,em){return new u9.CH(eb,hK,em)}}hG.abi=hK;let hY=[{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{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:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{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:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"operator",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"owner",type:"address"}],stateMutability:"view",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:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"}];class hJ{static createInterface(){return new pE.vU(hY)}static connect(eb,em){return new u9.CH(eb,hY,em)}}hJ.abi=hY;let hX=[{inputs:[],name:"agreementType",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"time",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"dynamicBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"}];class hQ{static createInterface(){return new pE.vU(hX)}static connect(eb,em){return new u9.CH(eb,hX,em)}}hQ.abi=hX;let mb=[{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"cbdata",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"cbdata",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"cbdata",type:"bytes"}],stateMutability:"view",type:"function"}];class my{static createInterface(){return new pE.vU(mb)}static connect(eb,em){return new u9.CH(eb,mb,em)}}my.abi=mb;let mv=[{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER",type:"error"},{inputs:[],name:"SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED",type:"error"},{inputs:[],name:"SUPER_TOKEN_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_NFT_PROXY_ADDRESS_CHANGED",type:"error"},{inputs:[],name:"SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_NO_UNDERLYING_TOKEN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_ADMIN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_GOV_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_SELF",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAdmin",type:"address"},{indexed:!0,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"AuthorizedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Burned",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],name:"ConstantInflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],name:"ConstantOutflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Minted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"RevokedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Sent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenDowngraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"authorizeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"changeAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultOperators",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"activeAgreements",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAdmin",outputs:[{internalType:"address",name:"admin",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingDecimals",outputs:[{internalType:"uint8",name:"underlyingDecimals",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingToken",outputs:[{internalType:"address",name:"tokenAddr",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"granularity",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"initializeWithAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"tokenHolder",type:"address"}],name:"isOperatorFor",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationApprove",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"operationDecreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationDowngrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"operationIncreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"operationSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationUpgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"revokeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"send",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"toUnderlyingAmount",outputs:[{internalType:"uint256",name:"underlyingAmount",type:"uint256"},{internalType:"uint256",name:"adjustedAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"}],name:"transferAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"upgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"}];class mz{static createInterface(){return new pE.vU(mv)}static connect(eb,em){return new u9.CH(eb,mv,em)}}mz.abi=mv;let mw=[{inputs:[],name:"SUPER_TOKEN_FACTORY_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_NON_UPGRADEABLE_IS_DEPRECATED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_HOST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_UNINITIALIZED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"CustomSuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"SuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"tokenLogic",type:"address"}],name:"SuperTokenLogicCreated",type:"event"},{inputs:[{internalType:"address",name:"_underlyingToken",type:"address"}],name:"computeCanonicalERC20WrapperAddress",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"},{internalType:"bool",name:"isDeployed",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"_underlyingToken",type:"address"}],name:"createCanonicalERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingTokenAddress",type:"address"}],name:"getCanonicalERC20Wrapper",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenLogic",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"customSuperTokenProxy",type:"address"}],name:"initializeCustomSuperToken",outputs:[],stateMutability:"nonpayable",type:"function"}];class mM{static createInterface(){return new pE.vU(mw)}static connect(eb,em){return new u9.CH(eb,mw,em)}}mM.abi=mw;let mC=[{inputs:[{internalType:"uint256",name:"_code",type:"uint256"}],name:"APP_RULE",type:"error"},{inputs:[],name:"HOST_AGREEMENT_ALREADY_REGISTERED",type:"error"},{inputs:[],name:"HOST_AGREEMENT_CALLBACK_IS_NOT_ACTION",type:"error"},{inputs:[],name:"HOST_AGREEMENT_IS_NOT_REGISTERED",type:"error"},{inputs:[],name:"HOST_CALL_AGREEMENT_WITH_CTX_FROM_WRONG_ADDRESS",type:"error"},{inputs:[],name:"HOST_CALL_APP_ACTION_WITH_CTX_FROM_WRONG_ADDRESS",type:"error"},{inputs:[],name:"HOST_CANNOT_DOWNGRADE_TO_NON_UPGRADEABLE",type:"error"},{inputs:[],name:"HOST_INVALID_CONFIG_WORD",type:"error"},{inputs:[],name:"HOST_MAX_256_AGREEMENTS",type:"error"},{inputs:[],name:"HOST_MUST_BE_CONTRACT",type:"error"},{inputs:[],name:"HOST_NEED_MORE_GAS",type:"error"},{inputs:[],name:"HOST_NON_UPGRADEABLE",type:"error"},{inputs:[],name:"HOST_NON_ZERO_LENGTH_PLACEHOLDER_CTX",type:"error"},{inputs:[],name:"HOST_NOT_A_SUPER_APP",type:"error"},{inputs:[],name:"HOST_NO_APP_REGISTRATION_PERMISSION",type:"error"},{inputs:[],name:"HOST_ONLY_GOVERNANCE",type:"error"},{inputs:[],name:"HOST_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"HOST_RECEIVER_IS_NOT_SUPER_APP",type:"error"},{inputs:[],name:"HOST_SENDER_IS_NOT_SUPER_APP",type:"error"},{inputs:[],name:"HOST_SOURCE_APP_NEEDS_HIGHER_APP_LEVEL",type:"error"},{inputs:[],name:"HOST_SUPER_APP_ALREADY_REGISTERED",type:"error"},{inputs:[],name:"HOST_SUPER_APP_IS_JAILED",type:"error"},{inputs:[],name:"HOST_UNKNOWN_BATCH_CALL_OPERATION_TYPE",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"agreementType",type:"bytes32"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"AgreementClassRegistered",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"agreementType",type:"bytes32"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"AgreementClassUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperApp",name:"app",type:"address"}],name:"AppRegistered",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract ISuperfluidGovernance",name:"oldGov",type:"address"},{indexed:!1,internalType:"contract ISuperfluidGovernance",name:"newGov",type:"address"}],name:"GovernanceReplaced",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperApp",name:"app",type:"address"},{indexed:!1,internalType:"uint256",name:"reason",type:"uint256"}],name:"Jail",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract ISuperTokenFactory",name:"newFactory",type:"address"}],name:"SuperTokenFactoryUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"SuperTokenLogicUpdated",type:"event"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"},{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"addToAgreementClassesBitmap",outputs:[{internalType:"uint256",name:"newBitmap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"targetApp",type:"address"}],name:"allowCompositeApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"int256",name:"appCreditUsedDelta",type:"int256"}],name:"appCallbackPop",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"appCreditGranted",type:"uint256"},{internalType:"int256",name:"appCreditUsed",type:"int256"},{internalType:"contract ISuperfluidToken",name:"appCreditToken",type:"address"}],name:"appCallbackPush",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"operationType",type:"uint32"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ISuperfluid.Operation[]",name:"operations",type:"tuple[]"}],name:"batchCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"callAgreement",outputs:[{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAgreementWithContext",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"},{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],name:"callAppAction",outputs:[{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppActionWithContext",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bool",name:"isTermination",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppAfterCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bool",name:"isTermination",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppBeforeCallback",outputs:[{internalType:"bytes",name:"cbdata",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newAdmin",type:"address"}],name:"changeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"int256",name:"appCreditUsedMore",type:"int256"}],name:"ctxUseCredit",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"decodeCtx",outputs:[{components:[{internalType:"uint8",name:"appCallbackLevel",type:"uint8"},{internalType:"uint8",name:"callType",type:"uint8"},{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"address",name:"msgSender",type:"address"},{internalType:"bytes4",name:"agreementSelector",type:"bytes4"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"uint256",name:"appCreditGranted",type:"uint256"},{internalType:"uint256",name:"appCreditWantedDeprecated",type:"uint256"},{internalType:"int256",name:"appCreditUsed",type:"int256"},{internalType:"address",name:"appAddress",type:"address"},{internalType:"contract ISuperfluidToken",name:"appCreditToken",type:"address"}],internalType:"struct ISuperfluid.Context",name:"context",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"operationType",type:"uint32"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ISuperfluid.Operation[]",name:"operations",type:"tuple[]"}],name:"forwardBatchCall",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"getAgreementClass",outputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"getAppCallbackLevel",outputs:[{internalType:"uint8",name:"appCallbackLevel",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"getAppManifest",outputs:[{internalType:"bool",name:"isSuperApp",type:"bool"},{internalType:"bool",name:"isJailed",type:"bool"},{internalType:"uint256",name:"noopMask",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getGovernance",outputs:[{internalType:"contract ISuperfluidGovernance",name:"governance",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getNow",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenFactory",outputs:[{internalType:"contract ISuperTokenFactory",name:"factory",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenFactoryLogic",outputs:[{internalType:"address",name:"logic",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"}],name:"isAgreementClassListed",outputs:[{internalType:"bool",name:"yes",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"isAgreementTypeListed",outputs:[{internalType:"bool",name:"yes",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"isApp",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"isAppJailed",outputs:[{internalType:"bool",name:"isJail",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"contract ISuperApp",name:"targetApp",type:"address"}],name:"isCompositeAppAllowed",outputs:[{internalType:"bool",name:"isAppAllowed",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"isCtxValid",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"reason",type:"uint256"}],name:"jailApp",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"}],name:"mapAgreementClasses",outputs:[{internalType:"contract ISuperAgreement[]",name:"agreementClasses",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClassLogic",type:"address"}],name:"registerAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerAppByFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"configWord",type:"uint256"},{internalType:"string",name:"registrationKey",type:"string"}],name:"registerAppWithKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"},{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"removeFromAgreementClassesBitmap",outputs:[{internalType:"uint256",name:"newBitmap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidGovernance",name:"newGov",type:"address"}],name:"replaceGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClassLogic",type:"address"}],name:"updateAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperTokenFactory",name:"newFactory",type:"address"}],name:"updateSuperTokenFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newLogicOverride",type:"address"}],name:"updateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"}];class mx{static createInterface(){return new pE.vU(mC)}static connect(eb,em){return new u9.CH(eb,mC,em)}}mx.abi=mC;let mk=[{inputs:[],name:"SF_GOV_INVALID_LIQUIDATION_OR_PATRICIAN_PERIOD",type:"error"},{inputs:[],name:"SF_GOV_MUST_BE_CONTRACT",type:"error"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"},{internalType:"address[]",name:"tokenLogics",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"clearConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsAddress",outputs:[{internalType:"address",name:"value",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsUint256",outputs:[{internalType:"uint256",name:"value",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"agreementClass",type:"address"}],name:"registerAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"newGov",type:"address"}],name:"replaceGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"address",name:"value",type:"address"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"uint256",name:"value",type:"uint256"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"hostNewLogic",type:"address"},{internalType:"address[]",name:"agreementClassNewLogics",type:"address[]"},{internalType:"address",name:"superTokenFactoryNewLogic",type:"address"}],name:"updateContracts",outputs:[],stateMutability:"nonpayable",type:"function"}];class mT{static createInterface(){return new pE.vU(mk)}static connect(eb,em){return new u9.CH(eb,mk,em)}}mT.abi=mk;let m_=[{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"activeAgreements",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"}];class mE{static createInterface(){return new pE.vU(m_)}static connect(eb,em){return new u9.CH(eb,m_,em)}}mE.abi=m_;let mS=[{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER",type:"error"},{inputs:[],name:"SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED",type:"error"},{inputs:[],name:"SUPER_TOKEN_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_NFT_PROXY_ADDRESS_CHANGED",type:"error"},{inputs:[],name:"SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_NO_UNDERLYING_TOKEN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_ADMIN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_GOV_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_SELF",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAdmin",type:"address"},{indexed:!0,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"AuthorizedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Burned",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],name:"ConstantInflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],name:"ConstantOutflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Minted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"RevokedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Sent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenDowngraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"authorizeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"changeAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultOperators",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"activeAgreements",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAdmin",outputs:[{internalType:"address",name:"admin",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingDecimals",outputs:[{internalType:"uint8",name:"underlyingDecimals",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingToken",outputs:[{internalType:"address",name:"tokenAddr",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"granularity",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"uint256",name:"initialSupply",type:"uint256"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"initializeWithAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"tokenHolder",type:"address"}],name:"isOperatorFor",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationApprove",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"operationDecreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationDowngrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"operationIncreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"operationSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationUpgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"revokeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"send",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"toUnderlyingAmount",outputs:[{internalType:"uint256",name:"underlyingAmount",type:"uint256"},{internalType:"uint256",name:"adjustedAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"}],name:"transferAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"upgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"}];class mN{static createInterface(){return new pE.vU(mS)}static connect(eb,em){return new u9.CH(eb,mS,em)}}mN.abi=mS;let mI=[{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"uint256",name:"initialSupply",type:"uint256"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"}];class mD{static createInterface(){return new pE.vU(mI)}static connect(eb,em){return new u9.CH(eb,mI,em)}}mD.abi=mI;let mO=[{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER",type:"error"},{inputs:[],name:"SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED",type:"error"},{inputs:[],name:"SUPER_TOKEN_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_NFT_PROXY_ADDRESS_CHANGED",type:"error"},{inputs:[],name:"SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_NO_UNDERLYING_TOKEN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_ADMIN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_GOV_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_SELF",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAdmin",type:"address"},{indexed:!0,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"AuthorizedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Burned",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],name:"ConstantInflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],name:"ConstantOutflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Minted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"RevokedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Sent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenDowngraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"authorizeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"changeAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultOperators",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"wad",type:"uint256"}],name:"downgradeToETH",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"activeAgreements",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAdmin",outputs:[{internalType:"address",name:"admin",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingDecimals",outputs:[{internalType:"uint8",name:"underlyingDecimals",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingToken",outputs:[{internalType:"address",name:"tokenAddr",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"granularity",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"initializeWithAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"tokenHolder",type:"address"}],name:"isOperatorFor",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationApprove",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"operationDecreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationDowngrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"operationIncreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"operationSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationUpgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"revokeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"send",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"toUnderlyingAmount",outputs:[{internalType:"uint256",name:"underlyingAmount",type:"uint256"},{internalType:"uint256",name:"adjustedAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"}],name:"transferAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"upgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"upgradeByETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"}],name:"upgradeByETHTo",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"}];class mP{static createInterface(){return new pE.vU(mO)}static connect(eb,em){return new u9.CH(eb,mO,em)}}mP.abi=mO;let mR=[{inputs:[{internalType:"uint256",name:"wad",type:"uint256"}],name:"downgradeToETH",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"upgradeByETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"}],name:"upgradeByETHTo",outputs:[],stateMutability:"payable",type:"function"}];class mB{static createInterface(){return new pE.vU(mR)}static connect(eb,em){return new u9.CH(eb,mR,em)}}mB.abi=mR;let mF=[{inputs:[],name:"required",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"destination",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"submitTransaction",outputs:[{internalType:"uint256",name:"transactionId",type:"uint256"}],stateMutability:"nonpayable",type:"function"}];class mj{static createInterface(){return new pE.vU(mF)}static connect(eb,em){return new u9.CH(eb,mF,em)}}mj.abi=mF;let mU=[{inputs:[{internalType:"address",name:"forwarder",type:"address"}],name:"isTrustedForwarder",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"versionRecipient",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}];class mV{static createInterface(){return new pE.vU(mU)}static connect(eb,em){return new u9.CH(eb,mU,em)}}mV.abi=mU;let mH=[{anonymous:!1,inputs:[{indexed:!0,internalType:"string",name:"name",type:"string"},{indexed:!1,internalType:"address",name:"target",type:"address"}],name:"Set",type:"event"},{inputs:[{internalType:"string",name:"name",type:"string"}],name:"get",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"address",name:"target",type:"address"}],name:"set",outputs:[],stateMutability:"nonpayable",type:"function"}];class m${static createInterface(){return new pE.vU(mH)}static connect(eb,em){return new u9.CH(eb,mH,em)}}m$.abi=mH;let mq=[{inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"uint8",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"nonce",type:"uint256"}],name:"getTransactionHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"nonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}];class mW{static createInterface(){return new pE.vU(mq)}static connect(eb,em){return new u9.CH(eb,mq,em)}}mW.abi=mq;let mZ=[{inputs:[{internalType:"address",name:"forwarder",type:"address"}],name:"isTrustedForwarder",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"versionRecipient",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}];class mK{static createInterface(){return new pE.vU(mZ)}static connect(eb,em){return new u9.CH(eb,mZ,em)}}mK.abi=mZ;let mG=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"}],mY="0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d4f035db208db60e270656614cb3fb29ef439bcb20f1d90af31ee90f27ac847364736f6c63430008130033",mJ=eb=>eb.length>1;class mX extends u9.lV{constructor(...eb){mJ(eb)?super(...eb):super(mG,mY,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(mG)}static connect(eb,em){return new u9.CH(eb,mG,em)}}mX.bytecode=mY,mX.abi=mG;let mQ=[{inputs:[],name:"OUT_OF_GAS",type:"error"}],m6="0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220784510cd69808ad2c4a5bcb1683a3accafb6358d6eec93735914640b5ca5986264736f6c63430008130033",m4=eb=>eb.length>1;class m3 extends u9.lV{constructor(...eb){m4(eb)?super(...eb):super(mQ,m6,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(mQ)}static connect(eb,em){return new u9.CH(eb,mQ,em)}}m3.bytecode=m6,m3.abi=mQ;let m5=[{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"ISuperfluidToken"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"bitmapStateSlotId",type:"uint256"},{internalType:"uint256",name:"dataStateSlotIDStart",type:"uint256"}],name:"listData",outputs:[{internalType:"uint32[]",name:"slotIds",type:"uint32[]"},{internalType:"bytes32[]",name:"dataList",type:"bytes32[]"}],stateMutability:"view",type:"function"}],m9="0x610a9a61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806306967a8c14610050578063a32470101461007a578063a9472bf8146100af575b600080fd5b61006361005e3660046106ff565b6100d1565b604051610071929190610745565b60405180910390f35b81801561008657600080fd5b5061009a6100953660046107c6565b6102f7565b60405163ffffffff9091168152602001610071565b8180156100bb57600080fd5b506100cf6100ca366004610817565b610577565b005b6060806000866001600160a01b0316634b61cc3330888860016040518563ffffffff1660e01b81526004016101099493929190610873565b600060405180830381865afa158015610126573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261014e91908101906108b2565b60008151811061016057610160610970565b60209081029190910101516040805161010080825261202082019092529192508160200160208202803683375050604080516101008082526120208201909252929550905060208201612000803683370190505091506000805b61010063ffffffff821610156102e557600163ffffffff821684901c16156102d557808583815181106101ef576101ef610970565b602002602001019063ffffffff16908163ffffffff1681525050886001600160a01b0316634b61cc33308a8463ffffffff168a61022c919061099c565b60016040518563ffffffff1660e01b815260040161024d9493929190610873565b600060405180830381865afa15801561026a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261029291908101906108b2565b6000815181106102a4576102a4610970565b60200260200101518483815181106102be576102be610970565b60209081029190910101526102d2826109b5565b91505b6102de816109ce565b90506101ba565b50808452808352505094509492505050565b600080866001600160a01b0316634b61cc3330888860016040518563ffffffff1660e01b815260040161032d9493929190610873565b600060405180830381865afa15801561034a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261037291908101906108b2565b60008151811061038457610384610970565b602002602001015160001c9050600091505b61010063ffffffff83161015610512578163ffffffff1681901c600116600003610502576040805160018082528183019092526000916020808301908036833701905050905083816000815181106103f0576103f0610970565b60209081029190910101526001600160a01b03881663090c415e8861041b63ffffffff87168961099c565b846040518463ffffffff1660e01b815260040161043a939291906109f1565b600060405180830381600087803b15801561045457600080fd5b505af1158015610468573d6000803e3d6000fd5b505050508263ffffffff166001901b821760001b8160008151811061048f5761048f610970565b602090810291909101015260405163048620af60e11b81526001600160a01b0389169063090c415e906104ca908a908a9086906004016109f1565b600060405180830381600087803b1580156104e457600080fd5b505af11580156104f8573d6000803e3d6000fd5b5050505050610512565b61050b826109ce565b9150610396565b61010063ffffffff83161061056d5760405162461bcd60e51b815260206004820152601760248201527f536c6f744269746d6170206f7574206f6620626f756e64000000000000000000604482015260640160405180910390fd5b5095945050505050565b604051634b61cc3360e01b81526000906001600160a01b03861690634b61cc33906105ad90309088908890600190600401610873565b600060405180830381865afa1580156105ca573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105f291908101906108b2565b60008151811061060457610604610970565b6020908102919091018101516040805160018082528183019092529193506000928281019080368337019050509050600163ffffffff84161b821660000361064e5761064e610a4e565b8263ffffffff166001901b19821660001b8160008151811061067257610672610970565b602090810291909101015260405163048620af60e11b81526001600160a01b0387169063090c415e906106ad908890889086906004016109f1565b600060405180830381600087803b1580156106c757600080fd5b505af11580156106db573d6000803e3d6000fd5b50505050505050505050565b6001600160a01b03811681146106fc57600080fd5b50565b6000806000806080858703121561071557600080fd5b8435610720816106e7565b93506020850135610730816106e7565b93969395505050506040820135916060013590565b604080825283519082018190526000906020906060840190828701845b8281101561078457815163ffffffff1684529284019290840190600101610762565b5050508381038285015284518082528583019183019060005b818110156107b95783518352928401929184019160010161079d565b5090979650505050505050565b600080600080600060a086880312156107de57600080fd5b85356107e9816106e7565b945060208601356107f9816106e7565b94979496505050506040830135926060810135926080909101359150565b6000806000806080858703121561082d57600080fd5b8435610838816106e7565b93506020850135610848816106e7565b925060408501359150606085013563ffffffff8116811461086857600080fd5b939692955090935050565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156108c557600080fd5b825167ffffffffffffffff808211156108dd57600080fd5b818501915085601f8301126108f157600080fd5b8151818111156109035761090361089c565b8060051b604051601f19603f830116810181811085821117156109285761092861089c565b60405291825284820192508381018501918883111561094657600080fd5b938501935b828510156109645784518452938501939285019261094b565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156109af576109af610986565b92915050565b6000600182016109c7576109c7610986565b5060010190565b600063ffffffff8083168181036109e7576109e7610986565b6001019392505050565b6001600160a01b038416815260208082018490526060604083018190528351908301819052600091848101916080850190845b81811015610a4057845183529383019391830191600101610a24565b509098975050505050505050565b634e487b7160e01b600052600160045260246000fdfea2646970667358221220e94bb5722ca3f4906fadd61dcef10df3de6c3aac175a5f8bf2f3a4d0478c2ce864736f6c63430008130033",m7=eb=>eb.length>1;class yb extends u9.lV{constructor(...eb){m7(eb)?super(...eb):super(m5,m9,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(m5)}static connect(eb,em){return new u9.CH(eb,m5,em)}}yb.bytecode=m9,yb.abi=m5;let ym=[{inputs:[{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"},{internalType:"contract ISuperfluid",name:"superfluid",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"}],yv="0x608060405234801561001057600080fd5b50604051610c08380380610c0883398101604081905261002f91610117565b6001600160a01b03821661004557610045610151565b6001600160a01b03811661005b5761005b610151565b600080546001600160a01b038085166001600160a01b03199283161790925560018054928416929091168217905560405163bd1c448b60e01b8152643700000001919063bd1c448b906100c590849060040190815260406020820181905260009082015260600190565b600060405180830381600087803b1580156100df57600080fd5b505af11580156100f3573d6000803e3d6000fd5b50505050505050610167565b6001600160a01b038116811461011457600080fd5b50565b6000806040838503121561012a57600080fd5b8251610135816100ff565b6020840151909250610146816100ff565b809150509250929050565b634e487b7160e01b600052600160045260246000fd5b610a92806101766000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063230dbd291461006757806330d9c9151461009057806353c11f99146100a35780635f9e7d77146100b6578063884d1f40146100c9578063d86ed3e5146100dc575b600080fd5b61007a610075366004610564565b6100ef565b604051610087919061067f565b60405180910390f35b61007a61009e366004610699565b61030a565b61007a6100b1366004610564565b610372565b61007a6100c4366004610699565b6103d7565b61007a6100d7366004610699565b61043e565b61007a6100ea366004610564565b6104a1565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250600154604051631fb6491d60e11b815295965090946001600160a01b039091169350633f6c923a925061015d915087908790600401610738565b600060405180830381865afa15801561017a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101a29190810190610868565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316634329d29360008054906101000a90046001600160a01b031660008054906101000a90046001600160a01b03166001600160a01b031663b4b333c68f866060015130600067ffffffffffffffff81111561021f5761021f610767565b6040519080825280601f01601f191660200182016040528015610249576020820181803683370190505b5060405160240161025d949392919061096f565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526102b39392509087602482016109a3565b6000604051808303816000875af11580156102d2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102fa91908101906109f8565b509b9a5050505050505050505050565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b60648201526060906084015b60405180910390fd5b60405162461bcd60e51b815260206004820152603160248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201527019595b595b9d0815195c9b5a5b985d1959607a1b6064820152606090608401610369565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b6064820152606090608401610369565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b6064820152606090608401610369565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d0810dc99585d195960921b6064820152606090608401610369565b6001600160a01b038116811461051857600080fd5b50565b60008083601f84011261052d57600080fd5b50813567ffffffffffffffff81111561054557600080fd5b60208301915083602082850101111561055d57600080fd5b9250929050565b600080600080600080600080600060c08a8c03121561058257600080fd5b893561058d81610503565b985060208a013561059d81610503565b975060408a0135965060608a013567ffffffffffffffff808211156105c157600080fd5b6105cd8d838e0161051b565b909850965060808c01359150808211156105e657600080fd5b6105f28d838e0161051b565b909650945060a08c013591508082111561060b57600080fd5b506106188c828d0161051b565b915080935050809150509295985092959850929598565b60005b8381101561064a578181015183820152602001610632565b50506000910152565b6000815180845261066b81602086016020860161062f565b601f01601f19169290920160200192915050565b6020815260006106926020830184610653565b9392505050565b600080600080600080600060a0888a0312156106b457600080fd5b87356106bf81610503565b965060208801356106cf81610503565b955060408801359450606088013567ffffffffffffffff808211156106f357600080fd5b6106ff8b838c0161051b565b909650945060808a013591508082111561071857600080fd5b506107258a828b0161051b565b989b979a50959850939692959293505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff811182821017156107a1576107a1610767565b60405290565b805160ff811681146107b857600080fd5b919050565b80516107b881610503565b80516001600160e01b0319811681146107b857600080fd5b600082601f8301126107f157600080fd5b815167ffffffffffffffff8082111561080c5761080c610767565b604051601f8301601f19908116603f0116810190828211818310171561083457610834610767565b8160405283815286602085880101111561084d57600080fd5b61085e84602083016020890161062f565b9695505050505050565b60006020828403121561087a57600080fd5b815167ffffffffffffffff8082111561089257600080fd5b9083019061016082860312156108a757600080fd5b6108af61077d565b6108b8836107a7565b81526108c6602084016107a7565b6020820152604083015160408201526108e1606084016107bd565b60608201526108f2608084016107c8565b608082015260a08301518281111561090957600080fd5b610915878286016107e0565b60a08301525060c083015160c082015260e083015160e082015261010091508183015182820152610120915061094c8284016107bd565b8282015261014091506109608284016107bd565b91810191909152949350505050565b6001600160a01b03858116825284811660208301528316604082015260806060820181905260009061085e90830184610653565b6001600160a01b03851681526080602082018190526000906109c790830186610653565b82810360408401526109d98186610653565b905082810360608401526109ed8185610653565b979650505050505050565b60008060408385031215610a0b57600080fd5b825167ffffffffffffffff80821115610a2357600080fd5b610a2f868387016107e0565b93506020850151915080821115610a4557600080fd5b50610a52858286016107e0565b915050925092905056fea26469706673582212204255f6592dd36e8091cc53af0d49c884161b0dc330dfa1cfb7a90658aefc09dc64736f6c63430008130033",yw=eb=>eb.length>1;class yM extends u9.lV{constructor(...eb){yw(eb)?super(...eb):super(ym,yv,eb[0])}deploy(eb,em,ew){return super.deploy(eb,em,ew||{})}getDeployTransaction(eb,em,ew){return super.getDeployTransaction(eb,em,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(ym)}static connect(eb,em){return new u9.CH(eb,ym,em)}}yM.bytecode=yv,yM.abi=ym;let yC=[{inputs:[{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"},{internalType:"contract ISuperfluid",name:"superfluid",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"}],yx="0x608060405234801561001057600080fd5b50604051610c6e380380610c6e83398101604081905261002f91610117565b6001600160a01b03821661004557610045610151565b6001600160a01b03811661005b5761005b610151565b600080546001600160a01b038085166001600160a01b03199283161790925560018054928416929091168217905560405163bd1c448b60e01b8152641d00000001919063bd1c448b906100c590849060040190815260406020820181905260009082015260600190565b600060405180830381600087803b1580156100df57600080fd5b505af11580156100f3573d6000803e3d6000fd5b50505050505050610167565b6001600160a01b038116811461011457600080fd5b50565b6000806040838503121561012a57600080fd5b8251610135816100ff565b6020840151909250610146816100ff565b809150509250929050565b634e487b7160e01b600052600160045260246000fd5b610af8806101766000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063230dbd291461006757806330d9c9151461009057806353c11f99146100a35780635f9e7d77146100b6578063884d1f40146100c9578063d86ed3e5146100dc575b600080fd5b61007a61007536600461057b565b6100ef565b6040516100879190610696565b60405180910390f35b61007a61009e3660046106b0565b610156565b61007a6100b136600461057b565b6101b9565b61007a6100c43660046106b0565b61023e565b61007a6100d73660046106b0565b6102a5565b61007a6100ea36600461057b565b610308565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d08155c19185d195960921b60648201526060906084015b60405180910390fd5b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b606482015260609060840161014d565b606060006101c98789018961074f565b506002549091506001600160a01b038083169116146101ea576101ea610788565b600280546001600160a01b0319169055604080516020601f8601819004810282018101909252848152908590859081908401838280828437600092019190915250929e9d5050505050505050505050505050565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b606482015260609060840161014d565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b606482015260609060840161014d565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250600154604051631fb6491d60e11b815295965090946001600160a01b039091169350633f6c923a925061037691508790879060040161079e565b600060405180830381865afa158015610393573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103bb91908101906108ce565b6002549091506001600160a01b0316156104ea57600080546002546001600160a01b039182169163b4b333c6918f911630856040519080825280601f01601f191660200182016040528015610417576020820181803683370190505b5060405160240161042b94939291906109d5565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b9490941790935260015460008054835191825294810192839052634329d29360e01b9092529194506001600160a01b039182169350634329d2939261049e92169085908860248201610a09565b6000604051808303816000875af11580156104bd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104e59190810190610a5e565b509250505b60600151600280546001600160a01b0319166001600160a01b039092169190911790559998505050505050505050565b6001600160a01b038116811461052f57600080fd5b50565b60008083601f84011261054457600080fd5b50813567ffffffffffffffff81111561055c57600080fd5b60208301915083602082850101111561057457600080fd5b9250929050565b600080600080600080600080600060c08a8c03121561059957600080fd5b89356105a48161051a565b985060208a01356105b48161051a565b975060408a0135965060608a013567ffffffffffffffff808211156105d857600080fd5b6105e48d838e01610532565b909850965060808c01359150808211156105fd57600080fd5b6106098d838e01610532565b909650945060a08c013591508082111561062257600080fd5b5061062f8c828d01610532565b915080935050809150509295985092959850929598565b60005b83811015610661578181015183820152602001610649565b50506000910152565b60008151808452610682816020860160208601610646565b601f01601f19169290920160200192915050565b6020815260006106a9602083018461066a565b9392505050565b600080600080600080600060a0888a0312156106cb57600080fd5b87356106d68161051a565b965060208801356106e68161051a565b955060408801359450606088013567ffffffffffffffff8082111561070a57600080fd5b6107168b838c01610532565b909650945060808a013591508082111561072f57600080fd5b5061073c8a828b01610532565b989b979a50959850939692959293505050565b6000806040838503121561076257600080fd5b823561076d8161051a565b9150602083013561077d8161051a565b809150509250929050565b634e487b7160e01b600052600160045260246000fd5b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff81118282101715610807576108076107cd565b60405290565b805160ff8116811461081e57600080fd5b919050565b805161081e8161051a565b80516001600160e01b03198116811461081e57600080fd5b600082601f83011261085757600080fd5b815167ffffffffffffffff80821115610872576108726107cd565b604051601f8301601f19908116603f0116810190828211818310171561089a5761089a6107cd565b816040528381528660208588010111156108b357600080fd5b6108c4846020830160208901610646565b9695505050505050565b6000602082840312156108e057600080fd5b815167ffffffffffffffff808211156108f857600080fd5b90830190610160828603121561090d57600080fd5b6109156107e3565b61091e8361080d565b815261092c6020840161080d565b60208201526040830151604082015261094760608401610823565b60608201526109586080840161082e565b608082015260a08301518281111561096f57600080fd5b61097b87828601610846565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506109b2828401610823565b8282015261014091506109c6828401610823565b91810191909152949350505050565b6001600160a01b0385811682528481166020830152831660408201526080606082018190526000906108c49083018461066a565b6001600160a01b0385168152608060208201819052600090610a2d9083018661066a565b8281036040840152610a3f818661066a565b90508281036060840152610a53818561066a565b979650505050505050565b60008060408385031215610a7157600080fd5b825167ffffffffffffffff80821115610a8957600080fd5b610a9586838701610846565b93506020850151915080821115610aab57600080fd5b50610ab885828601610846565b915050925092905056fea2646970667358221220a30050f8a5faf9d990bb6aaf58a6c68601754762ef1e338c01f106c9d3ad864864736f6c63430008130033",yk=eb=>eb.length>1;class yT extends u9.lV{constructor(...eb){yk(eb)?super(...eb):super(yC,yx,eb[0])}deploy(eb,em,ew){return super.deploy(eb,em,ew||{})}getDeployTransaction(eb,em,ew){return super.getDeployTransaction(eb,em,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(yC)}static connect(eb,em){return new u9.CH(eb,yC,em)}}yT.bytecode=yx,yT.abi=yC;let y_=[{inputs:[{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"},{internalType:"contract ISuperfluid",name:"superfluid",type:"address"},{internalType:"contract ISuperToken",name:"targetToken",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"}],yE="0x608060405234801561001057600080fd5b50604051610cb9380380610cb983398101604081905261002f91610129565b6001600160a01b03831661004557610045610176565b6001600160a01b03821661005b5761005b610176565b600080546001600160a01b038086166001600160a01b031992831617909255600180548584169083168117909155600280549385169390921692909217905560405163bd1c448b60e01b8152643d00000001919063bd1c448b906100d690849060040190815260406020820181905260009082015260600190565b600060405180830381600087803b1580156100f057600080fd5b505af1158015610104573d6000803e3d6000fd5b505050505050505061018c565b6001600160a01b038116811461012657600080fd5b50565b60008060006060848603121561013e57600080fd5b835161014981610111565b602085015190935061015a81610111565b604085015190925061016b81610111565b809150509250925092565b634e487b7160e01b600052600160045260246000fd5b610b1e8061019b6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063230dbd291461006757806330d9c9151461009057806353c11f99146100a35780635f9e7d77146100b6578063884d1f40146100c9578063d86ed3e5146100dc575b600080fd5b61007a6100753660046105aa565b6100ef565b60405161008791906106c5565b60405180910390f35b61007a61009e3660046106df565b610156565b61007a6100b13660046105aa565b6101b9565b61007a6100c43660046106df565b61021e565b61007a6100d73660046106df565b610285565b61007a6100ea3660046105aa565b6102e8565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d08155c19185d195960921b60648201526060906084015b60405180910390fd5b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b606482015260609060840161014d565b60405162461bcd60e51b815260206004820152603160248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201527019595b595b9d0815195c9b5a5b985d1959607a1b606482015260609060840161014d565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b606482015260609060840161014d565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b606482015260609060840161014d565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250600154604051631fb6491d60e11b815295965090946001600160a01b039091169350633f6c923a925061035691508790879060040161077e565b600060405180830381865afa158015610373573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261039b91908101906108ae565b905060008060009054906101000a90046001600160a01b03166001600160a01b031663e6a1e8888d8460600151306040518463ffffffff1660e01b8152600401610405939291906001600160a01b0393841681529183166020830152909116604082015260600190565b608060405180830381865afa158015610422573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044691906109b5565b5050600154600080546002546060880151604080519485526020850190529496506001600160a01b039384169550634329d293949184169384936362fc305e9361049b939290921691908990604481016109f9565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526104f1939250908860248201610a2f565b6000604051808303816000875af1158015610510573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105389190810190610a84565b509c9b505050505050505050505050565b6001600160a01b038116811461055e57600080fd5b50565b60008083601f84011261057357600080fd5b50813567ffffffffffffffff81111561058b57600080fd5b6020830191508360208285010111156105a357600080fd5b9250929050565b600080600080600080600080600060c08a8c0312156105c857600080fd5b89356105d381610549565b985060208a01356105e381610549565b975060408a0135965060608a013567ffffffffffffffff8082111561060757600080fd5b6106138d838e01610561565b909850965060808c013591508082111561062c57600080fd5b6106388d838e01610561565b909650945060a08c013591508082111561065157600080fd5b5061065e8c828d01610561565b915080935050809150509295985092959850929598565b60005b83811015610690578181015183820152602001610678565b50506000910152565b600081518084526106b1816020860160208601610675565b601f01601f19169290920160200192915050565b6020815260006106d86020830184610699565b9392505050565b600080600080600080600060a0888a0312156106fa57600080fd5b873561070581610549565b9650602088013561071581610549565b955060408801359450606088013567ffffffffffffffff8082111561073957600080fd5b6107458b838c01610561565b909650945060808a013591508082111561075e57600080fd5b5061076b8a828b01610561565b989b979a50959850939692959293505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff811182821017156107e7576107e76107ad565b60405290565b805160ff811681146107fe57600080fd5b919050565b80516107fe81610549565b80516001600160e01b0319811681146107fe57600080fd5b600082601f83011261083757600080fd5b815167ffffffffffffffff80821115610852576108526107ad565b604051601f8301601f19908116603f0116810190828211818310171561087a5761087a6107ad565b8160405283815286602085880101111561089357600080fd5b6108a4846020830160208901610675565b9695505050505050565b6000602082840312156108c057600080fd5b815167ffffffffffffffff808211156108d857600080fd5b9083019061016082860312156108ed57600080fd5b6108f56107c3565b6108fe836107ed565b815261090c602084016107ed565b60208201526040830151604082015261092760608401610803565b60608201526109386080840161080e565b608082015260a08301518281111561094f57600080fd5b61095b87828601610826565b60a08301525060c083015160c082015260e083015160e0820152610100915081830151828201526101209150610992828401610803565b8282015261014091506109a6828401610803565b91810191909152949350505050565b600080600080608085870312156109cb57600080fd5b84519350602085015180600b0b81146109e357600080fd5b6040860151606090960151949790965092505050565b6001600160a01b03858116825284166020820152600b83900b60408201526080606082018190526000906108a490830184610699565b6001600160a01b0385168152608060208201819052600090610a5390830186610699565b8281036040840152610a658186610699565b90508281036060840152610a798185610699565b979650505050505050565b60008060408385031215610a9757600080fd5b825167ffffffffffffffff80821115610aaf57600080fd5b610abb86838701610826565b93506020850151915080821115610ad157600080fd5b50610ade85828601610826565b915050925092905056fea2646970667358221220220b36d8e04f4e93db549ade2fd203964d5f9ea61b734b9e53a249c20a599f3864736f6c63430008130033",yS=eb=>eb.length>1;class yA extends u9.lV{constructor(...eb){yS(eb)?super(...eb):super(y_,yE,eb[0])}deploy(eb,em,ew,eM){return super.deploy(eb,em,ew,eM||{})}getDeployTransaction(eb,em,ew,eM){return super.getDeployTransaction(eb,em,ew,eM||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(y_)}static connect(eb,em){return new u9.CH(eb,y_,em)}}yA.bytecode=yE,yA.abi=y_;let yN=[{inputs:[{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"},{internalType:"contract ISuperfluid",name:"superfluid",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"setupOutflow",outputs:[],stateMutability:"nonpayable",type:"function"}],yI="0x608060405234801561001057600080fd5b50604051610c2b380380610c2b83398101604081905261002f91610117565b6001600160a01b03821661004557610045610151565b6001600160a01b03811661005b5761005b610151565b600080546001600160a01b038085166001600160a01b03199283161790925560018054928416929091168217905560405163bd1c448b60e01b8152641f00000001919063bd1c448b906100c590849060040190815260406020820181905260009082015260600190565b600060405180830381600087803b1580156100df57600080fd5b505af11580156100f3573d6000803e3d6000fd5b50505050505050610167565b6001600160a01b038116811461011457600080fd5b50565b6000806040838503121561012a57600080fd5b8251610135816100ff565b6020840151909250610146816100ff565b809150509250929050565b634e487b7160e01b600052600160045260246000fd5b610ab5806101766000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80635f9e7d771161005b5780635f9e7d77146100d1578063884d1f40146100e4578063b9e1323d146100f7578063d86ed3e51461010c57600080fd5b8063230dbd291461008257806330d9c915146100ab57806353c11f99146100be575b600080fd5b6100956100903660046105ea565b61011f565b6040516100a29190610705565b60405180910390f35b6100956100b936600461071f565b610186565b6100956100cc3660046105ea565b6101e9565b6100956100df36600461071f565b61035c565b6100956100f236600461071f565b6103c3565b61010a6101053660046107be565b610426565b005b61009561011a3660046105ea565b610527565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d08155c19185d195960921b60648201526060906084015b60405180910390fd5b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b606482015260609060840161017d565b60606000806101fa888a018a610810565b90925090506001600160a01b038216301461021757610217610849565b6002546001600160a01b0382811691161461023457610234610849565b600080546002546001600160a01b03909116906362fc305e908f908590600160a01b9004600b0b856040519080825280601f01601f191660200182016040528015610286576020820181803683370190505b5060405160240161029a9493929190610875565b60408051601f198184030181529181526020820180516001600160e01b031660e09490941b939093179092526001546000549251634329d29360e01b81529194506001600160a01b039081169350634329d293926103039291169085908b908b906004016108b5565b6000604051808303816000875af1158015610322573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261034a91908101906109a8565b509d9c50505050505050505050505050565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b606482015260609060840161017d565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b606482015260609060840161017d565b6001600160a01b03828116600160a01b6bffffffffffffffffffffffff841602176002556001546000805460408051928352602083019052918316926339255d5b92169081906362fc305e906104859089908990899060448101610875565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526104da9392509060248101610a0c565b6000604051808303816000875af11580156104f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105219190810190610a42565b50505050565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d0810dc99585d195960921b606482015260609060840161017d565b6001600160a01b038116811461059e57600080fd5b50565b60008083601f8401126105b357600080fd5b50813567ffffffffffffffff8111156105cb57600080fd5b6020830191508360208285010111156105e357600080fd5b9250929050565b600080600080600080600080600060c08a8c03121561060857600080fd5b893561061381610589565b985060208a013561062381610589565b975060408a0135965060608a013567ffffffffffffffff8082111561064757600080fd5b6106538d838e016105a1565b909850965060808c013591508082111561066c57600080fd5b6106788d838e016105a1565b909650945060a08c013591508082111561069157600080fd5b5061069e8c828d016105a1565b915080935050809150509295985092959850929598565b60005b838110156106d05781810151838201526020016106b8565b50506000910152565b600081518084526106f18160208601602086016106b5565b601f01601f19169290920160200192915050565b60208152600061071860208301846106d9565b9392505050565b600080600080600080600060a0888a03121561073a57600080fd5b873561074581610589565b9650602088013561075581610589565b955060408801359450606088013567ffffffffffffffff8082111561077957600080fd5b6107858b838c016105a1565b909650945060808a013591508082111561079e57600080fd5b506107ab8a828b016105a1565b989b979a50959850939692959293505050565b6000806000606084860312156107d357600080fd5b83356107de81610589565b925060208401356107ee81610589565b91506040840135600b81900b811461080557600080fd5b809150509250925092565b6000806040838503121561082357600080fd5b823561082e81610589565b9150602083013561083e81610589565b809150509250929050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03858116825284166020820152600b83900b60408201526080606082018190526000906108ab908301846106d9565b9695505050505050565b6001600160a01b03851681526080602082018190526000906108d9908301866106d9565b8281038060408501526002825261060f60f31b602083015260408101606085015250836040820152838560608301376000606085830101526060601f19601f86011682010191505095945050505050565b600082601f83011261093b57600080fd5b815167ffffffffffffffff808211156109565761095661085f565b604051601f8301601f19908116603f0116810190828211818310171561097e5761097e61085f565b8160405283815286602085880101111561099757600080fd5b6108ab8460208301602089016106b5565b600080604083850312156109bb57600080fd5b825167ffffffffffffffff808211156109d357600080fd5b6109df8683870161092a565b935060208501519150808211156109f557600080fd5b50610a028582860161092a565b9150509250929050565b6001600160a01b0384168152606060208201819052600090610a30908301856106d9565b82810360408401526108ab81856106d9565b600060208284031215610a5457600080fd5b815167ffffffffffffffff811115610a6b57600080fd5b610a778482850161092a565b94935050505056fea26469706673582212203c4d7103fda4d84b381050006bc4b88d658408024343753525850ce5d85e00f964736f6c63430008130033",yD=eb=>eb.length>1;class yO extends u9.lV{constructor(...eb){yD(eb)?super(...eb):super(yN,yI,eb[0])}deploy(eb,em,ew){return super.deploy(eb,em,ew||{})}getDeployTransaction(eb,em,ew){return super.getDeployTransaction(eb,em,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(yN)}static connect(eb,em){return new u9.CH(eb,yN,em)}}yO.bytecode=yI,yO.abi=yN;let yP=[{inputs:[{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"},{internalType:"contract ISuperfluid",name:"superfluid",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"}],yR="0x608060405234801561001057600080fd5b50604051610c08380380610c0883398101604081905261002f91610117565b6001600160a01b03821661004557610045610151565b6001600160a01b03811661005b5761005b610151565b600080546001600160a01b038085166001600160a01b03199283161790925560018054928416929091168217905560405163bd1c448b60e01b8152643d00000001919063bd1c448b906100c590849060040190815260406020820181905260009082015260600190565b600060405180830381600087803b1580156100df57600080fd5b505af11580156100f3573d6000803e3d6000fd5b50505050505050610167565b6001600160a01b038116811461011457600080fd5b50565b6000806040838503121561012a57600080fd5b8251610135816100ff565b6020840151909250610146816100ff565b809150509250929050565b634e487b7160e01b600052600160045260246000fd5b610a92806101766000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063230dbd291461006757806330d9c9151461009057806353c11f99146100a35780635f9e7d77146100b6578063884d1f40146100c9578063d86ed3e5146100dc575b600080fd5b61007a610075366004610564565b6100ef565b604051610087919061067f565b60405180910390f35b61007a61009e366004610699565b610156565b61007a6100b1366004610564565b6101b9565b61007a6100c4366004610699565b61021e565b61007a6100d7366004610699565b610285565b61007a6100ea366004610564565b6102e8565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d08155c19185d195960921b60648201526060906084015b60405180910390fd5b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b606482015260609060840161014d565b60405162461bcd60e51b815260206004820152603160248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201527019595b595b9d0815195c9b5a5b985d1959607a1b606482015260609060840161014d565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b606482015260609060840161014d565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b606482015260609060840161014d565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250600154604051631fb6491d60e11b815295965090946001600160a01b039091169350633f6c923a9250610356915087908790600401610738565b600060405180830381865afa158015610373573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261039b9190810190610868565b9050600160009054906101000a90046001600160a01b03166001600160a01b0316634329d29360008054906101000a90046001600160a01b031660008054906101000a90046001600160a01b03166001600160a01b031663b4b333c68f866060015130600067ffffffffffffffff81111561041857610418610767565b6040519080825280601f01601f191660200182016040528015610442576020820181803683370190505b50604051602401610456949392919061096f565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526104ac9392509087602482016109a3565b6000604051808303816000875af11580156104cb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104f391908101906109f8565b509b9a5050505050505050505050565b6001600160a01b038116811461051857600080fd5b50565b60008083601f84011261052d57600080fd5b50813567ffffffffffffffff81111561054557600080fd5b60208301915083602082850101111561055d57600080fd5b9250929050565b600080600080600080600080600060c08a8c03121561058257600080fd5b893561058d81610503565b985060208a013561059d81610503565b975060408a0135965060608a013567ffffffffffffffff808211156105c157600080fd5b6105cd8d838e0161051b565b909850965060808c01359150808211156105e657600080fd5b6105f28d838e0161051b565b909650945060a08c013591508082111561060b57600080fd5b506106188c828d0161051b565b915080935050809150509295985092959850929598565b60005b8381101561064a578181015183820152602001610632565b50506000910152565b6000815180845261066b81602086016020860161062f565b601f01601f19169290920160200192915050565b6020815260006106926020830184610653565b9392505050565b600080600080600080600060a0888a0312156106b457600080fd5b87356106bf81610503565b965060208801356106cf81610503565b955060408801359450606088013567ffffffffffffffff808211156106f357600080fd5b6106ff8b838c0161051b565b909650945060808a013591508082111561071857600080fd5b506107258a828b0161051b565b989b979a50959850939692959293505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff811182821017156107a1576107a1610767565b60405290565b805160ff811681146107b857600080fd5b919050565b80516107b881610503565b80516001600160e01b0319811681146107b857600080fd5b600082601f8301126107f157600080fd5b815167ffffffffffffffff8082111561080c5761080c610767565b604051601f8301601f19908116603f0116810190828211818310171561083457610834610767565b8160405283815286602085880101111561084d57600080fd5b61085e84602083016020890161062f565b9695505050505050565b60006020828403121561087a57600080fd5b815167ffffffffffffffff8082111561089257600080fd5b9083019061016082860312156108a757600080fd5b6108af61077d565b6108b8836107a7565b81526108c6602084016107a7565b6020820152604083015160408201526108e1606084016107bd565b60608201526108f2608084016107c8565b608082015260a08301518281111561090957600080fd5b610915878286016107e0565b60a08301525060c083015160c082015260e083015160e082015261010091508183015182820152610120915061094c8284016107bd565b8282015261014091506109608284016107bd565b91810191909152949350505050565b6001600160a01b03858116825284811660208301528316604082015260806060820181905260009061085e90830184610653565b6001600160a01b03851681526080602082018190526000906109c790830186610653565b82810360408401526109d98186610653565b905082810360608401526109ed8185610653565b979650505050505050565b60008060408385031215610a0b57600080fd5b825167ffffffffffffffff80821115610a2357600080fd5b610a2f868387016107e0565b93506020850151915080821115610a4557600080fd5b50610a52858286016107e0565b915050925092905056fea264697066735822122053f3dba4e677e33b5dbe4e9f3254aa751b05032b0062b25d313e4a8b1c25f05064736f6c63430008130033",yB=eb=>eb.length>1;class yF extends u9.lV{constructor(...eb){yB(eb)?super(...eb):super(yP,yR,eb[0])}deploy(eb,em,ew){return super.deploy(eb,em,ew||{})}getDeployTransaction(eb,em,ew){return super.getDeployTransaction(eb,em,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(yP)}static connect(eb,em){return new u9.CH(eb,yP,em)}}yF.bytecode=yR,yF.abi=yP;let yj=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"address",name:"flowOperator",type:"address"},{internalType:"contract ISuperfluidToken",name:"token",type:"address"}],name:"authorizeFlowOperatorWithFullControlTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"cfaV1",outputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"createFlowByOperatorTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"createFlowTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"contract ISuperfluidToken",name:"token",type:"address"}],name:"deleteFlowByOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"deleteFlowTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"flowOperator",type:"address"},{internalType:"contract ISuperfluidToken",name:"token",type:"address"}],name:"revokeFlowOperatorWithFullControlTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"updateFlowByOperatorTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"flowOperator",type:"address"},{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint8",name:"permissions",type:"uint8"},{internalType:"int96",name:"flowRateAllowance",type:"int96"}],name:"updateFlowOperatorPermissionsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"updateFlowTest",outputs:[],stateMutability:"nonpayable",type:"function"}],yU="0x608060405234801561001057600080fd5b50604051610dde380380610dde83398101604081905261002f91610121565b6040805180820182526001600160a01b0383168082529151635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201529091602083019163b6d200de90602401602060405180830381865afa1580156100a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100c89190610121565b6001600160a01b039081169091528151600080546001600160a01b031990811692841692909217905560209092015160018054909316911617905550610145565b6001600160a01b038116811461011e57600080fd5b50565b60006020828403121561013357600080fd5b815161013e81610109565b9392505050565b610c8a806101546000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a9014c0011610066578063a9014c0014610104578063ab0c1e5f14610117578063c5eb59de1461012a578063d3112b2e1461013d578063ef7074901461017b57600080fd5b80632cc1e970146100a35780635a8e0f5a146100b857806380f742fa146100cb5780638aaf4513146100de5780638e33f761146100f1575b600080fd5b6100b66100b1366004610880565b61018e565b005b6100b66100c6366004610880565b61019f565b6100b66100d93660046108d0565b6101ab565b6100b66100ec3660046108d0565b6101c0565b6100b66100ff36600461092a565b6101ce565b6100b6610112366004610971565b6101db565b6100b661012536600461092a565b6101e9565b6100b6610138366004610880565b6101f6565b600054600154610157916001600160a01b03908116911682565b604080516001600160a01b0393841681529290911660208301520160405180910390f35b6100b66101893660046109b8565b610207565b61019a6000838361021a565b505050565b61019a60008383610323565b6101b960008585858561034f565b5050505050565b6101b960008585858561037e565b61019a60008385846103a3565b6101b96000858585856103c3565b61019a60008385846104c7565b61020360003083856104e7565b5050565b6102146000848484610507565b50505050565b825460018401546060916001600160a01b03908116916339255d5b91168063062e56ec868860005b6040519080825280601f01601f19166020018201604052801561026c576020820181803683370190505b5060405160240161027f93929190610a69565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526102d49392509060248101610a95565b6000604051808303816000875af11580156102f3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261031b9190810190610acb565b949350505050565b825460018401546060916001600160a01b03908116916339255d5b9116806354b770e386886000610242565b6040805160008152602081019091526060906103749087908790879087908790610533565b9695505050505050565b6040805160008152602081019091526060906103749087908790879087908790610639565b604080516000815260208101909152610214908590859085908590610667565b845460018601546060916001600160a01b03908116916339255d5b91168063811b3d40888a898960006040519080825280601f01601f191660200182016040528015610416576020820181803683370190505b5060405160240161042b959493929190610b6d565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526104809392509060248101610a95565b6000604051808303816000875af115801561049f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103749190810190610acb565b604080516000815260208101909152610214908590859085908590610765565b60408051600081526020810190915261021490859085908590859061078f565b60408051600081526020810190915260609061052a9086908690869086906107d4565b95945050505050565b855460018701546060916001600160a01b03908116916339255d5b91168063354b9590888b8b8a60005b6040519080825280601f01601f191660200182016040528015610587576020820181803683370190505b5060405160240161059c959493929190610bac565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526105e7939250908790600401610a95565b6000604051808303816000875af1158015610606573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261062e9190810190610acb565b979650505050505050565b855460018701546060916001600160a01b03908116916339255d5b9116806394229ecb888b8b8a600061055d565b845460018601546001600160a01b03918216916339255d5b9116806350209a6287898860005b6040519080825280601f01601f1916602001820160405280156106b7576020820181803683370190505b506040516024016106cb9493929190610bea565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610716939250908690600401610a95565b6000604051808303816000875af1158015610735573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261075d9190810190610acb565b505050505050565b845460018601546001600160a01b03918216916339255d5b9116806362fc305e878988600061068d565b845460018601546040805160008152602081019091526001600160a01b03928316926339255d5b921690819063b4b333c6906106cb9088908b908b9060448101610c20565b845460018601546040805160008152602081019091526060926001600160a01b03908116926339255d5b929116908190634c8b181f9061081d9089908c908c9060448101610c20565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610480939250908790600401610a95565b6001600160a01b038116811461087d57600080fd5b50565b6000806040838503121561089357600080fd5b823561089e81610868565b915060208301356108ae81610868565b809150509250929050565b8035600b81900b81146108cb57600080fd5b919050565b600080600080608085870312156108e657600080fd5b84356108f181610868565b9350602085013561090181610868565b9250604085013561091181610868565b915061091f606086016108b9565b905092959194509250565b60008060006060848603121561093f57600080fd5b833561094a81610868565b9250602084013561095a81610868565b9150610968604085016108b9565b90509250925092565b6000806000806080858703121561098757600080fd5b843561099281610868565b935060208501356109a281610868565b9250604085013560ff8116811461091157600080fd5b6000806000606084860312156109cd57600080fd5b83356109d881610868565b925060208401356109e881610868565b915060408401356109f881610868565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b60005b83811015610a34578181015183820152602001610a1c565b50506000910152565b60008151808452610a55816020860160208601610a19565b601f01601f19169290920160200192915050565b6001600160a01b0384811682528316602082015260606040820181905260009061052a90830184610a3d565b6001600160a01b0384168152606060208201819052600090610ab990830185610a3d565b82810360408401526103748185610a3d565b600060208284031215610add57600080fd5b815167ffffffffffffffff80821115610af557600080fd5b818401915084601f830112610b0957600080fd5b815181811115610b1b57610b1b610a03565b604051601f8201601f19908116603f01168101908382118183101715610b4357610b43610a03565b81604052828152876020848701011115610b5c57600080fd5b61062e836020830160208801610a19565b6001600160a01b0386811682528516602082015260ff84166040820152600b83900b606082015260a06080820181905260009061062e90830184610a3d565b6001600160a01b038681168252858116602083015284166040820152600b83900b606082015260a06080820181905260009061062e90830184610a3d565b6001600160a01b03858116825284166020820152600b83900b604082015260806060820181905260009061037490830184610a3d565b6001600160a01b03858116825284811660208301528316604082015260806060820181905260009061037490830184610a3d56fea26469706673582212208079c4a8808d657be5cfa441f21bb081ca406b73b9d30eb38be08cbca1db3cc764736f6c63430008130033",yV=eb=>eb.length>1;class yH extends u9.lV{constructor(...eb){yV(eb)?super(...eb):super(yj,yU,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(yj)}static connect(eb,em){return new u9.CH(eb,yj,em)}}yH.bytecode=yU,yH.abi=yj;let y$=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"defaultSender",type:"address"},{internalType:"address",name:"defaultReceiver",type:"address"},{internalType:"address",name:"defaultFlowOperator",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"authorizeFlowOperatorWithFullControl",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"createFlow",outputs:[],stateMutability:"nonpayable",type:"function"}],yq="0x60e06040523480156200001157600080fd5b5060405162001ba938038062001ba98339810160408190526200003491620001b4565b6040805180820182526001600160a01b0386168082529151635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201529091602083019163b6d200de90602401602060405180830381865afa158015620000aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d091906200021c565b6001600160a01b039081169091528151600080549183166001600160a01b031992831617905560209092015160018054918316919093161790915583811660805282811660a05281811660c05260405163bd1c448b60e01b8152643d000000019186169063bd1c448b906200015c90849060040190815260406020820181905260009082015260600190565b600060405180830381600087803b1580156200017757600080fd5b505af11580156200018c573d6000803e3d6000fd5b50505050505050505062000243565b6001600160a01b0381168114620001b157600080fd5b50565b60008060008060808587031215620001cb57600080fd5b8451620001d8816200019b565b6020860151909450620001eb816200019b565b6040860151909350620001fe816200019b565b606086015190925062000211816200019b565b939692955090935050565b6000602082840312156200022f57600080fd5b81516200023c816200019b565b9392505050565b60805160a05160c0516118e9620002c06000396000818161030f01528181610844015281816108d6015261095e015260008181610273015281816104850152818161051d015281816105ae015281816106580152818161070901526107bb015260008181610637015281816106e8015261079a01526118e96000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80635f9e7d771161005b5780635f9e7d77146100f15780637d5b08de14610104578063884d1f4014610117578063d86ed3e51461012a57600080fd5b8063230dbd291461008d57806330d9c915146100b657806353c11f99146100c9578063558aea25146100dc575b600080fd5b6100a061009b366004611245565b61013d565b6040516100ad9190611360565b60405180910390f35b6100a06100c436600461137a565b6101a4565b6100a06100d7366004611245565b610207565b6100ef6100ea366004611419565b61026c565b005b6100a06100ff36600461137a565b6102a1565b6100ef610112366004611419565b610308565b6100a061012536600461137a565b610338565b6100a0610138366004611245565b61039b565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d08155c19185d195960921b60648201526060906084015b60405180910390fd5b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b606482015260609060840161019b565b60405162461bcd60e51b815260206004820152603160248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201527019595b595b9d0815195c9b5a5b985d1959607a1b606482015260609060840161019b565b61029e60007f00000000000000000000000000000000000000000000000000000000000000008364e8d4a510006109de565b50565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b606482015260609060840161019b565b61033460007f000000000000000000000000000000000000000000000000000000000000000083610a04565b5050565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b606482015260609060840161019b565b60008054604051631fb6491d60e11b8152606092916001600160a01b031690633f6c923a906103d09087908790600401611436565b600060405180830381865afa1580156103ed573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610415919081019061155c565b60a0015190506000818060200190518101906104319190611663565b905060ff81166104c7576104be85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050507f00000000000000000000000000000000000000000000000000000000000000008e64e8d4a510006000610aef90949392919063ffffffff16565b925050506109d1565b60001960ff821601610557576104be85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050507f00000000000000000000000000000000000000000000000000000000000000008e6501d1a94a20006000610b1e90949392919063ffffffff16565b60011960ff8216016105e1576104be85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050307f00000000000000000000000000000000000000000000000000000000000000008f6000610b4390949392919063ffffffff16565b60021960ff821601610692576104be85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008f64e8d4a510006000610b689095949392919063ffffffff16565b60031960ff821601610744576104be85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008f6501d1a94a20006000610bb09095949392919063ffffffff16565b60041960ff8216016107ee576104be85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050507f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008f6000610bed90949392919063ffffffff16565b60051960ff821601610880576104be85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050507f00000000000000000000000000000000000000000000000000000000000000008e600764e8d4a510006000610c129095949392919063ffffffff16565b60061960ff821601610908576104be85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050507f00000000000000000000000000000000000000000000000000000000000000008e6000610d23909392919063ffffffff16565b60071960ff821601610990576104be85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050507f00000000000000000000000000000000000000000000000000000000000000008e6000610e2f909392919063ffffffff16565b60405162461bcd60e51b81526020600482015260166024820152750d2dcecc2d8d2c840cceadcc6e8d2dedc40d2dcc8caf60531b604482015260640161019b565b9998505050505050505050565b6040805160008152602081019091526109fe908590859085908590610e5b565b50505050565b825460018401546040805160008152602081019091526060926001600160a01b03908116926339255d5b9291169081906354b770e390610a4b9088908a906044810161167e565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052610aa093925090602481016116b3565b6000604051808303816000875af1158015610abf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ae791908101906116e9565b949350505050565b604080516000815260208101909152606090610b149087908790879087908790610f3a565b9695505050505050565b604080516000815260208101909152606090610b149087908790879087908790610fee565b604080516000815260208101909152606090610b14908790879087908790879061101b565b6060610ba587878787878760006040519080825280601f01601f191660200182016040528015610b9f576020820181803683370190505b50611082565b979650505050505050565b6060610ba587878787878760006040519080825280601f01601f191660200182016040528015610be7576020820181803683370190505b5061118c565b604080516000815260208101909152606090610b1490879087908790879087906111ba565b855460018701546060916001600160a01b0390811691634329d29391168063811b3d40888a898960006040519080825280601f01601f191660200182016040528015610c65576020820181803683370190505b50604051602401610c7a95949392919061171e565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052610cd0939250908b6024820161175d565b6000604051808303816000875af1158015610cef573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d1791908101906117a7565b50979650505050505050565b835460018501546060916001600160a01b0390811691634329d2939116806354b770e3868860005b6040519080825280601f01601f191660200182016040528015610d75576020820181803683370190505b50604051602401610d889392919061167e565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052610dde93925090896024820161175d565b6000604051808303816000875af1158015610dfd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e2591908101906117a7565b5095945050505050565b835460018501546060916001600160a01b0390811691634329d29391168063062e56ec86886000610d4b565b845460018601546040805160008152602081019091526001600160a01b03928316926339255d5b92169081906362fc305e90610ea09089908b908a906044810161180b565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610eeb9392509086906004016116b3565b6000604051808303816000875af1158015610f0a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f3291908101906116e9565b505050505050565b855460018701546060916001600160a01b0390811691634329d2939116806362fc305e888a8960005b6040519080825280601f01601f191660200182016040528015610f8d576020820181803683370190505b50604051602401610fa1949392919061180b565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610cd09392509087908c9060040161175d565b855460018701546060916001600160a01b0390811691634329d2939116806350209a62888a896000610f63565b855460018701546060916001600160a01b0390811691634329d29391168063b4b333c6878a8a60005b6040519080825280601f01601f19166020018201604052801561106e576020820181803683370190505b50604051602401610fa19493929190611841565b865460018801546060916001600160a01b0390811691634329d2939116806394229ecb888b8b8a60005b6040519080825280601f01601f1916602001820160405280156110d6576020820181803683370190505b506040516024016110eb959493929190611875565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526111389392509087908d9060040161175d565b6000604051808303816000875af1158015611157573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261117f91908101906117a7565b5098975050505050505050565b865460018801546060916001600160a01b0390811691634329d29391168063354b9590888b8b8a60006110ac565b855460018701546060916001600160a01b0390811691634329d293911680634c8b181f878a8a6000611044565b6001600160a01b038116811461029e57600080fd5b60008083601f84011261120e57600080fd5b50813567ffffffffffffffff81111561122657600080fd5b60208301915083602082850101111561123e57600080fd5b9250929050565b600080600080600080600080600060c08a8c03121561126357600080fd5b893561126e816111e7565b985060208a013561127e816111e7565b975060408a0135965060608a013567ffffffffffffffff808211156112a257600080fd5b6112ae8d838e016111fc565b909850965060808c01359150808211156112c757600080fd5b6112d38d838e016111fc565b909650945060a08c01359150808211156112ec57600080fd5b506112f98c828d016111fc565b915080935050809150509295985092959850929598565b60005b8381101561132b578181015183820152602001611313565b50506000910152565b6000815180845261134c816020860160208601611310565b601f01601f19169290920160200192915050565b6020815260006113736020830184611334565b9392505050565b600080600080600080600060a0888a03121561139557600080fd5b87356113a0816111e7565b965060208801356113b0816111e7565b955060408801359450606088013567ffffffffffffffff808211156113d457600080fd5b6113e08b838c016111fc565b909650945060808a01359150808211156113f957600080fd5b506114068a828b016111fc565b989b979a50959850939692959293505050565b60006020828403121561142b57600080fd5b8135611373816111e7565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff8111828210171561149f5761149f611465565b60405290565b805160ff811681146114b657600080fd5b919050565b80516114b6816111e7565b80516001600160e01b0319811681146114b657600080fd5b600082601f8301126114ef57600080fd5b815167ffffffffffffffff8082111561150a5761150a611465565b604051601f8301601f19908116603f0116810190828211818310171561153257611532611465565b8160405283815286602085880101111561154b57600080fd5b610b14846020830160208901611310565b60006020828403121561156e57600080fd5b815167ffffffffffffffff8082111561158657600080fd5b90830190610160828603121561159b57600080fd5b6115a361147b565b6115ac836114a5565b81526115ba602084016114a5565b6020820152604083015160408201526115d5606084016114bb565b60608201526115e6608084016114c6565b608082015260a0830151828111156115fd57600080fd5b611609878286016114de565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506116408284016114bb565b8282015261014091506116548284016114bb565b91810191909152949350505050565b60006020828403121561167557600080fd5b611373826114a5565b6001600160a01b038481168252831660208201526060604082018190526000906116aa90830184611334565b95945050505050565b6001600160a01b03841681526060602082018190526000906116d790830185611334565b8281036040840152610b148185611334565b6000602082840312156116fb57600080fd5b815167ffffffffffffffff81111561171257600080fd5b610ae7848285016114de565b6001600160a01b0386811682528516602082015260ff84166040820152600b83900b606082015260a060808201819052600090610ba590830184611334565b6001600160a01b038516815260806020820181905260009061178190830186611334565b82810360408401526117938186611334565b90508281036060840152610ba58185611334565b600080604083850312156117ba57600080fd5b825167ffffffffffffffff808211156117d257600080fd5b6117de868387016114de565b935060208501519150808211156117f457600080fd5b50611801858286016114de565b9150509250929050565b6001600160a01b03858116825284166020820152600b83900b6040820152608060608201819052600090610b1490830184611334565b6001600160a01b038581168252848116602083015283166040820152608060608201819052600090610b1490830184611334565b6001600160a01b038681168252858116602083015284166040820152600b83900b606082015260a060808201819052600090610ba59083018461133456fea2646970667358221220e87dc7f9e6b3c16259823127e9f59d86c7369af2850d8e586a5b5745295d39bf64736f6c63430008130033",yW=eb=>eb.length>1;class yZ extends u9.lV{constructor(...eb){yW(eb)?super(...eb):super(y$,yq,eb[0])}deploy(eb,em,ew,eM,eC){return super.deploy(eb,em,ew,eM,eC||{})}getDeployTransaction(eb,em,ew,eM,eC){return super.getDeployTransaction(eb,em,ew,eM,eC||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(y$)}static connect(eb,em){return new u9.CH(eb,y$,em)}}yZ.bytecode=yq,yZ.abi=y$;let yK=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"CIF_NFT_ONLY_CONSTANT_OUTFLOW",type:"error"},{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:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{inputs:[],name:"CONSTANT_FLOW_AGREEMENT_V1",outputs:[{internalType:"contract IConstantFlowAgreementV1",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_BASE_URI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],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:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"newTokenId",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"mockBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"mockFlowNFTDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"mockGetApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_to",type:"address"},{internalType:"uint256",name:"_newTokenId",type:"uint256"}],name:"mockMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"mockOwnerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],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:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",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:"pure",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}],yG="0x60e06040523480156200001157600080fd5b506040516200229c3803806200229c833981016040819052620000349162000103565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201528391839183919063b6d200de90602401602060405180830381865afa158015620000a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ca919062000142565b6001600160a01b039081166080529190911660c052506200016992505050565b6001600160a01b03811681146200010057600080fd5b50565b600080604083850312156200011757600080fd5b82516200012481620000ea565b60208401519092506200013781620000ea565b809150509250929050565b6000602082840312156200015557600080fd5b81516200016281620000ea565b9392505050565b60805160a05160c0516120e0620001bc6000396000818161050101528181610711015281816107750152610a7601526000818161036a01526107c001526000818161028201526111b701526120e06000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c806350d75d251161011a57806395d89b41116100ad578063b88d4fde1161007c578063b88d4fde146104b0578063bcba52b0146104c3578063c87b56dd146104d6578063e985e9c5146104e9578063ef43d2c6146104fc57600080fd5b806395d89b41146104855780639903ad381461048d578063a22cb46514610495578063a497325b146104a857600080fd5b80636c0360eb116100e95780636c0360eb146103fd57806370a082311461040557806389f71d2d146104195780638d47859e1461042c57600080fd5b806350d75d251461039f57806352d1902d146103a75780635dff7d90146103d75780636352211e146103ea57600080fd5b806340c10f19116101925780634695195411610161578063469519541461033f578063480954c31461035257806349f289dc146103655780634cd88b761461038c57600080fd5b806340c10f19146102dd57806340d3597d146102f057806342842e0e1461031957806342966c681461032c57600080fd5b806318156101116101ce578063181561011461027d57806323b872dd146102a45780632f388560146102b7578063378934b4146102ca57600080fd5b806301ffc9a71461020057806306fdde0314610228578063081812fc1461023d578063095ea7b314610268575b600080fd5b61021361020e366004611768565b610523565b60405190151581526020015b60405180910390f35b610230610575565b60405161021f91906117b6565b61025061024b3660046117e9565b610607565b6040516001600160a01b03909116815260200161021f565b61027b610276366004611817565b61062e565b005b6102507f000000000000000000000000000000000000000000000000000000000000000081565b61027b6102b2366004611843565b6106ba565b61027b6102c53660046117e9565b6106ec565b61027b6102d8366004611817565b6106f8565b61027b6102eb366004611817565b610706565b6102506102fe3660046117e9565b6000908152600360205260409020546001600160a01b031690565b61027b610327366004611843565b61074f565b61027b61033a3660046117e9565b61076a565b61027b61034d366004611884565b6107bc565b61027b6103603660046117e9565b6107b3565b6102507f000000000000000000000000000000000000000000000000000000000000000081565b61027b61039a36600461196e565b610874565b61025061095a565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e5b60405190815260200161021f565b6102506103e53660046117e9565b610989565b6102506103f83660046117e9565b610994565b6102306109c9565b6103c9610413366004611884565b50600190565b6103c96104273660046119d2565b6109e9565b61043f61043a3660046117e9565b610a3c565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff169181019190915260800161021f565b610230610ae9565b61027b610af8565b61027b6104a3366004611a1d565b610bba565b610230610bc5565b61027b6104be366004611a5b565b610be1565b61043f6104d13660046117e9565b610c1a565b6102306104e43660046117e9565b610c47565b6102136104f7366004611adb565b610c54565b6102507f000000000000000000000000000000000000000000000000000000000000000081565b60006301ffc9a760e01b6001600160e01b03198316148061055457506380ac58cd60e01b6001600160e01b03198316145b8061056f5750635b5e139f60e01b6001600160e01b03198316145b92915050565b60606001805461058490611b09565b80601f01602080910402602001604051908101604052809291908181526020018280546105b090611b09565b80156105fd5780601f106105d2576101008083540402835291602001916105fd565b820191906000526020600020905b8154815290600101906020018083116105e057829003601f168201915b5050505050905090565b600061061282610c82565b506000908152600360205260409020546001600160a01b031690565b600061063982610994565b9050806001600160a01b0316836001600160a01b03160361066d5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b0382161480159061068d575061068b8133610c54565b155b156106ab5760405163519a92c160e11b815260040160405180910390fd5b6106b58383610ca8565b505050565b6106c43382610d16565b6106e1576040516312a8eb0360e11b815260040160405180910390fd5b6106b5838383610d74565b6106f581610d8d565b50565b6107028282610dbd565b5050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106f85760405163740f7abd60e11b815260040160405180910390fd5b6106b583838360405180602001604052806000815250610be1565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107b35760405163740f7abd60e11b815260040160405180910390fd5b6106f581610df9565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561081c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108409190611b43565b9050336001600160a01b0382161461086b5760405163ebb7505b60e01b815260040160405180910390fd5b61070282610e6c565b600054610100900460ff16158080156108945750600054600160ff909116105b806108ae5750303b1580156108ae575060005460ff166001145b6108d35760405162461bcd60e51b81526004016108ca90611b60565b60405180910390fd5b6000805460ff1916600117905580156108f6576000805461ff0019166101001790555b60016109028482611bfc565b50600261090f8382611bfc565b5080156106b5576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60006109847f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b600061056f826110a6565b6000806109a0836110a6565b90506001600160a01b03811661056f5760405163eab95e3b60e01b815260040160405180910390fd5b60606040518060600160405280602d815260200161207e602d9139905090565b60408051466020808301919091526001600160a01b0380871683850152808616606084015284166080808401919091528351808403909101815260a090920190925280519101206000905b949350505050565b6040805160808101825260008082526020820181905291810182905260608101919091526040516346a3c2cf60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638d47859e90602401608060405180830381865afa158015610ac5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056f9190611cbc565b60606002805461058490611b09565b600054610100900460ff1615808015610b185750600054600160ff909116105b80610b325750303b158015610b32575060005460ff166001145b610b4e5760405162461bcd60e51b81526004016108ca90611b60565b6000805460ff191660011790558015610b71576000805461ff0019166101001790555b80156106f5576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6107023383836110bd565b6040518060600160405280602d815260200161207e602d913981565b610beb3383610d16565b610c08576040516312a8eb0360e11b815260040160405180910390fd5b610c148484848461115c565b50505050565b60408051608081018252600080825260208201819052918101829052606081019190915261056f82610a3c565b606061056f826001611167565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b610c8b816112c2565b6106f55760405163eab95e3b60e01b815260040160405180910390fd5b600081815260036020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610cdd826110a6565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610d2283610994565b9050806001600160a01b0316846001600160a01b03161480610d495750610d498185610c54565b80610a345750836001600160a01b0316610d6284610607565b6001600160a01b031614949350505050565b60405163553a3f6560e11b815260040160405180910390fd5b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce790602001610baf565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000610e0482610a3c565b600083815260036020526040902080546001600160a01b031916905590508160006001600160a01b031682604001516001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000610e967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610eec5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016108ca565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4e9190611d4a565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e14610fc85760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016108ca565b6001600160a01b03811630036110205760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016108ca565b611048817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e604080519182526001600160a01b038416602083015201610baf565b6000806110b283610a3c565b604001519392505050565b816001600160a01b0316836001600160a01b0316036110ef5760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610c14848484610d74565b6060600061117484610a3c565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa1580156111fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112229190611d63565b505091505061122f6109c9565b611246826bffffffffffffffffffffffff166112df565b8661126d57604051806040016040528060048152602001637472756560e01b81525061128c565b6040518060400160405280600581526020016466616c736560d81b8152505b61129589611372565b6040516020016112a89493929190611dc3565b604051602081830303815290604052935050505092915050565b6000806112ce836110a6565b6001600160a01b0316141592915050565b606060006112ec836114ed565b600101905060008167ffffffffffffffff81111561130c5761130c6118a1565b6040519080825280601f01601f191660200182016040528015611336576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461134057509392505050565b6060600061137f83610a3c565b905061139981600001516001600160a01b031660146115c5565b6113a2466112df565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156113e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261140c9190810190611e4b565b61142484602001516001600160a01b031660146115c5565b61143c85604001516001600160a01b031660146115c5565b6114ad86600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611481573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a59190611ec2565b60ff166112df565b6114c0876060015163ffffffff166112df565b6040516020016114d69796959493929190611ee5565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061152c5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611558576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061157657662386f26fc10000830492506010015b6305f5e100831061158e576305f5e100830492506008015b61271083106115a257612710830492506004015b606483106115b4576064830492506002015b600a831061056f5760010192915050565b606060006115d4836002612026565b6115df90600261203d565b67ffffffffffffffff8111156115f7576115f76118a1565b6040519080825280601f01601f191660200182016040528015611621576020820181803683370190505b509050600360fc1b8160008151811061163c5761163c612050565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061166b5761166b612050565b60200101906001600160f81b031916908160001a905350600061168f846002612026565b61169a90600161203d565b90505b6001811115611712576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106116ce576116ce612050565b1a60f81b8282815181106116e4576116e4612050565b60200101906001600160f81b031916908160001a90535060049490941c9361170b81612066565b905061169d565b5083156117615760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016108ca565b9392505050565b60006020828403121561177a57600080fd5b81356001600160e01b03198116811461176157600080fd5b60005b838110156117ad578181015183820152602001611795565b50506000910152565b60208152600082518060208401526117d5816040850160208701611792565b601f01601f19169190910160400192915050565b6000602082840312156117fb57600080fd5b5035919050565b6001600160a01b03811681146106f557600080fd5b6000806040838503121561182a57600080fd5b823561183581611802565b946020939093013593505050565b60008060006060848603121561185857600080fd5b833561186381611802565b9250602084013561187381611802565b929592945050506040919091013590565b60006020828403121561189657600080fd5b813561176181611802565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156118e0576118e06118a1565b604052919050565b600067ffffffffffffffff821115611902576119026118a1565b50601f01601f191660200190565b600061192361191e846118e8565b6118b7565b905082815283838301111561193757600080fd5b828260208301376000602084830101529392505050565b600082601f83011261195f57600080fd5b61176183833560208501611910565b6000806040838503121561198157600080fd5b823567ffffffffffffffff8082111561199957600080fd5b6119a58683870161194e565b935060208501359150808211156119bb57600080fd5b506119c88582860161194e565b9150509250929050565b6000806000606084860312156119e757600080fd5b83356119f281611802565b92506020840135611a0281611802565b91506040840135611a1281611802565b809150509250925092565b60008060408385031215611a3057600080fd5b8235611a3b81611802565b915060208301358015158114611a5057600080fd5b809150509250929050565b60008060008060808587031215611a7157600080fd5b8435611a7c81611802565b93506020850135611a8c81611802565b925060408501359150606085013567ffffffffffffffff811115611aaf57600080fd5b8501601f81018713611ac057600080fd5b611acf87823560208401611910565b91505092959194509250565b60008060408385031215611aee57600080fd5b8235611af981611802565b91506020830135611a5081611802565b600181811c90821680611b1d57607f821691505b602082108103611b3d57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611b5557600080fd5b815161176181611802565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f8211156106b557600081815260208120601f850160051c81016020861015611bd55750805b601f850160051c820191505b81811015611bf457828155600101611be1565b505050505050565b815167ffffffffffffffff811115611c1657611c166118a1565b611c2a81611c248454611b09565b84611bae565b602080601f831160018114611c5f5760008415611c475750858301515b600019600386901b1c1916600185901b178555611bf4565b600085815260208120601f198616915b82811015611c8e57888601518255948401946001909101908401611c6f565b5085821015611cac5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060808284031215611cce57600080fd5b6040516080810181811067ffffffffffffffff82111715611cf157611cf16118a1565b6040528251611cff81611802565b81526020830151611d0f81611802565b60208201526040830151611d2281611802565b6040820152606083015163ffffffff81168114611d3e57600080fd5b60608201529392505050565b600060208284031215611d5c57600080fd5b5051919050565b60008060008060808587031215611d7957600080fd5b84519350602085015180600b0b8114611d9157600080fd5b6040860151606090960151949790965092505050565b60008151611db9818560208601611792565b9290920192915050565b60008551611dd5818460208a01611792565b693f666c6f77526174653d60b01b9083019081528551611dfc81600a840160208a01611792565b69266f7574676f696e673d60b01b600a92909101918201528451611e27816014840160208901611792565b8451910190611e3d816014840160208801611792565b016014019695505050505050565b600060208284031215611e5d57600080fd5b815167ffffffffffffffff811115611e7457600080fd5b8201601f81018413611e8557600080fd5b8051611e9361191e826118e8565b818152856020838501011115611ea857600080fd5b611eb9826020830160208601611792565b95945050505050565b600060208284031215611ed457600080fd5b815160ff8116811461176157600080fd5b6e26746f6b656e5f616464726573733d60881b815260008851611f0f81600f850160208d01611792565b6926636861696e5f69643d60b01b600f918401918201528851611f39816019840160208d01611792565b6d26746f6b656e5f73796d626f6c3d60901b601992909101918201528751611f68816027840160208c01611792565b672673656e6465723d60c01b602792909101918201528651611f9181602f840160208b01611792565b692672656365697665723d60b01b602f9290910191820152612002611ffc611fe4611fde611fc2603986018b611da7565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b88611da7565b6b2673746172745f646174653d60a01b8152600c0190565b85611da7565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761056f5761056f612010565b8082018082111561056f5761056f612010565b634e487b7160e01b600052603260045260246000fd5b60008161207557612075612010565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a2646970667358221220706085efd339b42ff59270c22b9a47cfbca96daf2fd27747bfcdd3f2a08a059564736f6c63430008130033",yY=eb=>eb.length>1;class yJ extends u9.lV{constructor(...eb){yY(eb)?super(...eb):super(yK,yG,eb[0])}deploy(eb,em,ew){return super.deploy(eb,em,ew||{})}getDeployTransaction(eb,em,ew){return super.getDeployTransaction(eb,em,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(yK)}static connect(eb,em){return new u9.CH(eb,yK,em)}}yJ.bytecode=yG,yJ.abi=yK;let yX=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"COF_NFT_INVALID_SUPER_TOKEN",type:"error"},{inputs:[],name:"COF_NFT_MINT_TO_AND_FLOW_RECEIVER_SAME",type:"error"},{inputs:[],name:"COF_NFT_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"COF_NFT_ONLY_CONSTANT_INFLOW",type:"error"},{inputs:[],name:"COF_NFT_ONLY_FLOW_AGREEMENTS",type:"error"},{inputs:[],name:"COF_NFT_TOKEN_ALREADY_EXISTS",type:"error"},{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:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{inputs:[],name:"CONSTANT_FLOW_AGREEMENT_V1",outputs:[{internalType:"contract IConstantFlowAgreementV1",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_BASE_URI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],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:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"mockBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"mockGetApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_superToken",type:"address"},{internalType:"address",name:"_to",type:"address"},{internalType:"address",name:"_flowReceiver",type:"address"},{internalType:"uint256",name:"_newTokenId",type:"uint256"}],name:"mockMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_tokenId",type:"uint256"}],name:"mockOwnerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onCreate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onDelete",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",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:"pure",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}],yQ="0x60e06040523480156200001157600080fd5b506040516200259838038062002598833981016040819052620000349162000103565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201528391839183919063b6d200de90602401602060405180830381865afa158015620000a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ca919062000142565b6001600160a01b039081166080529190911660c052506200016992505050565b6001600160a01b03811681146200010057600080fd5b50565b600080604083850312156200011757600080fd5b82516200012481620000ea565b60208401519092506200013781620000ea565b809150509250929050565b6000602082840312156200015557600080fd5b81516200016281620000ea565b9392505050565b60805160a05160c0516123c7620001d16000396000818161035801528181610bf301528181610ced0152610e04015260008181610331015261071701526000818161028201528181610b6601528181610c6901528181610d6501526114c501526123c76000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80635dff7d901161011a578063a22cb465116100ad578063c87b56dd1161007c578063c87b56dd146104c4578063e985e9c5146104d7578063eb54a7ca146104ea578063ef1f0237146104fd578063f7e3d9831461051057600080fd5b8063a22cb46514610483578063a497325b14610496578063b7e21b121461049e578063b88d4fde146104b157600080fd5b806389f71d2d116100e957806389f71d2d146104075780638d47859e1461041a57806395d89b41146104735780639903ad381461047b57600080fd5b80635dff7d90146103c55780636352211e146103d85780636c0360eb146103eb57806370a08231146103f357600080fd5b806342842e0e116101925780634c5c0c85116101615780634c5c0c85146103535780634cd88b761461037a57806350d75d251461038d57806352d1902d1461039557600080fd5b806342842e0e146102f35780634695195414610306578063480954c31461031957806349f289dc1461032c57600080fd5b806318156101116101ce578063181561011461027d57806323b872dd146102a45780632f388560146102b757806340d3597d146102ca57600080fd5b806301ffc9a71461020057806306fdde0314610228578063081812fc1461023d578063095ea7b314610268575b600080fd5b61021361020e366004611a76565b610523565b60405190151581526020015b60405180910390f35b610230610575565b60405161021f9190611ac4565b61025061024b366004611af7565b610607565b6040516001600160a01b03909116815260200161021f565b61027b610276366004611b25565b61062e565b005b6102507f000000000000000000000000000000000000000000000000000000000000000081565b61027b6102b2366004611b51565b6106ba565b61027b6102c5366004611af7565b6106ec565b6102506102d8366004611af7565b6000908152600360205260409020546001600160a01b031690565b61027b610301366004611b51565b6106f8565b61027b610314366004611b92565b610713565b61027b610327366004611af7565b6107cf565b6102507f000000000000000000000000000000000000000000000000000000000000000081565b6102507f000000000000000000000000000000000000000000000000000000000000000081565b61027b610388366004611c7c565b6107d8565b6102506108be565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b7845b60405190815260200161021f565b6102506103d3366004611af7565b6108ed565b6102506103e6366004611af7565b6108f8565b61023061092d565b6103b7610401366004611b92565b50600190565b6103b7610415366004611ce0565b61094d565b61042d610428366004611af7565b610962565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff169181019190915260800161021f565b6102306109e3565b61027b6109f2565b61027b610491366004611d2b565b610ab4565b610230610abf565b61027b6104ac366004611d69565b610adb565b61027b6104bf366004611dba565b610aed565b6102306104d2366004611af7565b610b20565b6102136104e5366004611e3a565b610b2d565b61027b6104f8366004611ce0565b610b5b565b61027b61050b366004611ce0565b610c5e565b61027b61051e366004611ce0565b610d5a565b60006301ffc9a760e01b6001600160e01b03198316148061055457506380ac58cd60e01b6001600160e01b03198316145b8061056f5750635b5e139f60e01b6001600160e01b03198316145b92915050565b60606001805461058490611e68565b80601f01602080910402602001604051908101604052809291908181526020018280546105b090611e68565b80156105fd5780601f106105d2576101008083540402835291602001916105fd565b820191906000526020600020905b8154815290600101906020018083116105e057829003601f168201915b5050505050905090565b600061061282610e33565b506000908152600360205260409020546001600160a01b031690565b6000610639826108f8565b9050806001600160a01b0316836001600160a01b03160361066d5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b0382161480159061068d575061068b8133610b2d565b155b156106ab5760405163519a92c160e11b815260040160405180910390fd5b6106b58383610e59565b505050565b6106c43382610ec7565b6106e1576040516312a8eb0360e11b815260040160405180910390fd5b6106b5838383610f25565b6106f581610f3e565b50565b6106b583838360405180602001604052806000815250610aed565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610773573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107979190611ea2565b9050336001600160a01b038216146107c25760405163ebb7505b60e01b815260040160405180910390fd5b6107cb82610f6e565b5050565b6106f5816111a8565b600054610100900460ff16158080156107f85750600054600160ff909116105b806108125750303b158015610812575060005460ff166001145b6108375760405162461bcd60e51b815260040161082e90611ebf565b60405180910390fd5b6000805460ff19166001179055801561085a576000805461ff0019166101001790555b60016108668482611f5b565b5060026108738382611f5b565b5080156106b5576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60006108e87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b600061056f82611244565b60008061090483611244565b90506001600160a01b03811661056f5760405163eab95e3b60e01b815260040160405180910390fd5b60606040518060600160405280602d8152602001612365602d9139905090565b600061095a848484611262565b949350505050565b60408051608081018252600080825260208201819052918101829052606081019190915250600090815260166020908152604091829020825160808101845281546001600160a01b039081168252600183015481169382019390935260029091015491821692810192909252600160a01b900463ffffffff16606082015290565b60606002805461058490611e68565b600054610100900460ff1615808015610a125750600054600160ff909116105b80610a2c5750303b158015610a2c575060005460ff166001145b610a485760405162461bcd60e51b815260040161082e90611ebf565b6000805460ff191660011790558015610a6b576000805461ff0019166101001790555b80156106f5576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6107cb3383836112ae565b6040518060600160405280602d8152602001612365602d913981565b610ae78484848461134d565b50505050565b610af73383610ec7565b610b14576040516312a8eb0360e11b815260040160405180910390fd5b610ae78484848461146a565b606061056f826000611475565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ba45760405163d367b64f60e01b815260040160405180910390fd5b6000610bb1848484611262565b6000818152601660205260409020600101549091506001600160a01b031615610ae757610bdd81610f3e565b604051630179c42b60e51b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632f388560906024015b600060405180830381600087803b158015610c4057600080fd5b505af1158015610c54573d6000803e3d6000fd5b5050505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ca75760405163d367b64f60e01b815260040160405180910390fd5b6000610cb4848484611262565b6000818152601660205260409020600101549091506001600160a01b031615610ae757604051630852cd8d60e31b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c6890602401600060405180830381600087803b158015610d3957600080fd5b505af1158015610d4d573d6000803e3d6000fd5b50505050610ae7816111a8565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610da35760405163d367b64f60e01b815260040160405180910390fd5b6000610db0848484611262565b6000818152601660205260409020600101549091506001600160a01b0316610ae757610dde8484848461134d565b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401610c26565b610e3c816115d0565b6106f55760405163eab95e3b60e01b815260040160405180910390fd5b600081815260036020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610e8e82611244565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610ed3836108f8565b9050806001600160a01b0316846001600160a01b03161480610efa5750610efa8185610b2d565b8061095a5750836001600160a01b0316610f1384610607565b6001600160a01b031614949350505050565b60405163553a3f6560e11b815260040160405180910390fd5b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce790602001610aa9565b6000610f987f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610fee5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c65000000604482015260640161082e565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561102c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611050919061201b565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b784146110ca5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b606482015260840161082e565b6001600160a01b03811630036111225760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f7000000000000000604482015260640161082e565b61114a817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b784604080519182526001600160a01b038416602083015201610aa9565b60006111b382611244565b600083815260036020526040902080546001600160a01b0319169055905060008281526016602052604080822080546001600160a01b03199081168255600182018054909116905560020180546001600160c01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6000908152601660205260409020600101546001600160a01b031690565b60408051466020808301919091526001600160a01b03958616828401529385166060820152919093166080808301919091528351808303909101815260a0909101909252815191012090565b816001600160a01b0316836001600160a01b0316036112e05760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b03831661136357611363612034565b816001600160a01b0316836001600160a01b03160361138457611384612034565b61138d816115d0565b1561139a5761139a612034565b604080516080810182526001600160a01b038087168252858116602080840182815287841685870190815263ffffffff4281166060880190815260008a81526016909552888520975188549088166001600160a01b0319918216178955935160018901805491891691909516179093559051600290960180549251909116600160a01b026001600160c01b03199092169590941694909417939093179091559151839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a450505050565b610ae7848484610f25565b6060600061148284610962565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa15801561150c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611530919061204a565b505091505061153d61092d565b611554826bffffffffffffffffffffffff166115ed565b8661157b57604051806040016040528060048152602001637472756560e01b81525061159a565b6040518060400160405280600581526020016466616c736560d81b8152505b6115a389611680565b6040516020016115b694939291906120aa565b604051602081830303815290604052935050505092915050565b6000806115dc83611244565b6001600160a01b0316141592915050565b606060006115fa836117fb565b600101905060008167ffffffffffffffff81111561161a5761161a611baf565b6040519080825280601f01601f191660200182016040528015611644576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461164e57509392505050565b6060600061168d83610962565b90506116a781600001516001600160a01b031660146118d3565b6116b0466115ed565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156116f2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261171a9190810190612132565b61173284602001516001600160a01b031660146118d3565b61174a85604001516001600160a01b031660146118d3565b6117bb86600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561178f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b391906121a9565b60ff166115ed565b6117ce876060015163ffffffff166115ed565b6040516020016117e497969594939291906121cc565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061183a5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611866576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061188457662386f26fc10000830492506010015b6305f5e100831061189c576305f5e100830492506008015b61271083106118b057612710830492506004015b606483106118c2576064830492506002015b600a831061056f5760010192915050565b606060006118e283600261230d565b6118ed906002612324565b67ffffffffffffffff81111561190557611905611baf565b6040519080825280601f01601f19166020018201604052801561192f576020820181803683370190505b509050600360fc1b8160008151811061194a5761194a612337565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061197957611979612337565b60200101906001600160f81b031916908160001a905350600061199d84600261230d565b6119a8906001612324565b90505b6001811115611a20576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106119dc576119dc612337565b1a60f81b8282815181106119f2576119f2612337565b60200101906001600160f81b031916908160001a90535060049490941c93611a198161234d565b90506119ab565b508315611a6f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161082e565b9392505050565b600060208284031215611a8857600080fd5b81356001600160e01b031981168114611a6f57600080fd5b60005b83811015611abb578181015183820152602001611aa3565b50506000910152565b6020815260008251806020840152611ae3816040850160208701611aa0565b601f01601f19169190910160400192915050565b600060208284031215611b0957600080fd5b5035919050565b6001600160a01b03811681146106f557600080fd5b60008060408385031215611b3857600080fd5b8235611b4381611b10565b946020939093013593505050565b600080600060608486031215611b6657600080fd5b8335611b7181611b10565b92506020840135611b8181611b10565b929592945050506040919091013590565b600060208284031215611ba457600080fd5b8135611a6f81611b10565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611bee57611bee611baf565b604052919050565b600067ffffffffffffffff821115611c1057611c10611baf565b50601f01601f191660200190565b6000611c31611c2c84611bf6565b611bc5565b9050828152838383011115611c4557600080fd5b828260208301376000602084830101529392505050565b600082601f830112611c6d57600080fd5b611a6f83833560208501611c1e565b60008060408385031215611c8f57600080fd5b823567ffffffffffffffff80821115611ca757600080fd5b611cb386838701611c5c565b93506020850135915080821115611cc957600080fd5b50611cd685828601611c5c565b9150509250929050565b600080600060608486031215611cf557600080fd5b8335611d0081611b10565b92506020840135611d1081611b10565b91506040840135611d2081611b10565b809150509250925092565b60008060408385031215611d3e57600080fd5b8235611d4981611b10565b915060208301358015158114611d5e57600080fd5b809150509250929050565b60008060008060808587031215611d7f57600080fd5b8435611d8a81611b10565b93506020850135611d9a81611b10565b92506040850135611daa81611b10565b9396929550929360600135925050565b60008060008060808587031215611dd057600080fd5b8435611ddb81611b10565b93506020850135611deb81611b10565b925060408501359150606085013567ffffffffffffffff811115611e0e57600080fd5b8501601f81018713611e1f57600080fd5b611e2e87823560208401611c1e565b91505092959194509250565b60008060408385031215611e4d57600080fd5b8235611e5881611b10565b91506020830135611d5e81611b10565b600181811c90821680611e7c57607f821691505b602082108103611e9c57634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611eb457600080fd5b8151611a6f81611b10565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f8211156106b557600081815260208120601f850160051c81016020861015611f345750805b601f850160051c820191505b81811015611f5357828155600101611f40565b505050505050565b815167ffffffffffffffff811115611f7557611f75611baf565b611f8981611f838454611e68565b84611f0d565b602080601f831160018114611fbe5760008415611fa65750858301515b600019600386901b1c1916600185901b178555611f53565b600085815260208120601f198616915b82811015611fed57888601518255948401946001909101908401611fce565b508582101561200b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561202d57600080fd5b5051919050565b634e487b7160e01b600052600160045260246000fd5b6000806000806080858703121561206057600080fd5b84519350602085015180600b0b811461207857600080fd5b6040860151606090960151949790965092505050565b600081516120a0818560208601611aa0565b9290920192915050565b600085516120bc818460208a01611aa0565b693f666c6f77526174653d60b01b90830190815285516120e381600a840160208a01611aa0565b69266f7574676f696e673d60b01b600a9290910191820152845161210e816014840160208901611aa0565b8451910190612124816014840160208801611aa0565b016014019695505050505050565b60006020828403121561214457600080fd5b815167ffffffffffffffff81111561215b57600080fd5b8201601f8101841361216c57600080fd5b805161217a611c2c82611bf6565b81815285602083850101111561218f57600080fd5b6121a0826020830160208601611aa0565b95945050505050565b6000602082840312156121bb57600080fd5b815160ff81168114611a6f57600080fd5b6e26746f6b656e5f616464726573733d60881b8152600088516121f681600f850160208d01611aa0565b6926636861696e5f69643d60b01b600f918401918201528851612220816019840160208d01611aa0565b6d26746f6b656e5f73796d626f6c3d60901b60199290910191820152875161224f816027840160208c01611aa0565b672673656e6465723d60c01b60279290910191820152865161227881602f840160208b01611aa0565b692672656365697665723d60b01b602f92909101918201526122e96122e36122cb6122c56122a9603986018b61208e565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b8861208e565b6b2673746172745f646174653d60a01b8152600c0190565b8561208e565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761056f5761056f6122f7565b8082018082111561056f5761056f6122f7565b634e487b7160e01b600052603260045260246000fd5b60008161235c5761235c6122f7565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a2646970667358221220491ba89227feec3c4b18e96587c22beb6bffb9b3bf4526fd22263566f81c10ee64736f6c63430008130033",y6=eb=>eb.length>1;class y4 extends u9.lV{constructor(...eb){y6(eb)?super(...eb):super(yX,yQ,eb[0])}deploy(eb,em,ew){return super.deploy(eb,em,ew||{})}getDeployTransaction(eb,em,ew){return super.getDeployTransaction(eb,em,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(yX)}static connect(eb,em){return new u9.CH(eb,yX,em)}}y4.bytecode=yQ,y4.abi=yX;let y5=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"upgrade",outputs:[],stateMutability:"nonpayable",type:"function"}],y8="0x60a06040523480156200001157600080fd5b506040516200269b3803806200269b833981016040819052620000349162000046565b6001600160a01b031660805262000078565b6000602082840312156200005957600080fd5b81516001600160a01b03811681146200007157600080fd5b9392505050565b6080516125cf620000cc600039600081816101840152818161052a015281816108590152818161092801528181610ba501528181610de901528181610e7e0152818161112d01526111c401526125cf6000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806350d75d25116100b8578063a1b2bf8b1161007c578063a1b2bf8b146102f2578063b84cdd4a14610305578063bb0d196e14610318578063cf97256d1461032b578063d9d078d61461033e578063eb3537cc1461035157600080fd5b806350d75d251461027e57806352d1902d146102865780636c2d9f2f146102b457806379359f6f146102c75780639903ad38146102ea57600080fd5b80632ec8eec71161010a5780632ec8eec7146101d4578063386fa2211461020757806342fe09801461022757806345977d031461023a578063469519541461024d5780634b61cc331461025e57600080fd5b8063090c415e1461014757806312a6a3f81461015c5780631863e8091461016f57806320bc44251461018257806327048397146101c1575b600080fd5b61015a610155366004611ae1565b61037f565b005b61015a61016a366004611b3d565b610432565b61015a61017d366004611be9565b610515565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b61015a6101cf366004611ccd565b6107b5565b6101e76101e2366004611cef565b610851565b6040805194855260208501939093529183015260608201526080016101b8565b61021a610215366004611cef565b6108f4565b6040516101b89190611d13565b61015a610235366004611da2565b61099d565b61015a610248366004611e3d565b610abb565b61015a61025b366004611cef565b50565b61027161026c366004611e56565b610ae7565b6040516101b89190611e9c565b6101a4610b2c565b6040517f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001981526020016101b8565b6102716102c2366004611ed4565b610b5b565b6102da6102d5366004611cef565b610b9d565b60405190151581526020016101b8565b61015a610c25565b61015a610300366004611b3d565b610ce6565b6102da610313366004611f09565b610d90565b6102da610326366004611cef565b610de1565b61015a610339366004611f09565b610e69565b6102da61034c366004611f09565b610f52565b61036461035f366004611f09565b610f6c565b604080519384526020840192909252908201526060016101b8565b600033858560405160200161039693929190611f35565b6040516020818303038152906040528051906020012090506103eb818484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506110a692505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b604051339060009061044a9083908790602001611f7e565b60408051601f198184030181529190528051602090910120905061046e81846110ec565b1561048c5760405163782a90fb60e11b815260040160405180910390fd5b6104c9818585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506110a692505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d86868660405161050693929190611fbb565b60405180910390a25050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610579573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059d9190611ffc565b6105ba5760405163327fd99160e21b815260040160405180910390fd5b60006105c4611128565b90506001600160a01b0381166105d75750845b6000856105e457866105e6565b815b905060008313610683576105f98361202f565b6106028561126d565b1461060f5761060f61204b565b6106188461126d565b6001600160a01b03821660009081526002602052604081208054909190610640908490612061565b90915550506001600160a01b0385166000908152600260205260408120805485929061066d908490612061565b9091555061067e90508582866112db565b61074d565b85156106915761069161204b565b8261069b8561126d565b6106a59190612061565b6001600160a01b038316600090815260026020526040812080549091906106cd908490612089565b909155506106dc90508461126d565b6001600160a01b03881660009081526002602052604081208054909190610704908490612061565b90915550506001600160a01b03851660009081526002602052604081208054859290610731908490612061565b9091555061074290508288866112db565b61074d8286856112db565b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f6040516107a29594939291906120f9565b60405180910390a4505050505050505050565b60405133906000906107cd9083908690602001611f7e565b6040516020818303038152906040528051906020012090506107ef81846110ec565b61080c5760405163dae1880960e01b815260040160405180910390fd5b610816818461132d565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d9919061212c565b90506108e58582610f6c565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa15801561096f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109979190810190612145565b92915050565b600054610100900460ff16158080156109bd5750600054600160ff909116105b806109d75750303b1580156109d7575060005460ff166001145b6109fc5760405162461bcd60e51b81526004016109f3906121f7565b60405180910390fd5b6000805460ff191660011790558015610a1f576000805461ff0019166101001790555b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f610a548587836122c5565b506010610a628385836122c5565b50610a6c3061134e565b8015610ab2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b61025b333333846040518060200160405280600081525060405180602001604052806000815250611483565b60606000858585604051602001610b0093929190611f35565b604051602081830303815290604052805190602001209050610b2281846115dd565b9695505050505050565b6000610b567f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b606060008484604051602001610b72929190611f7e565b604051602081830303815290604052805190602001209050610b9481846115dd565b95945050505050565b6000610997827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c01573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034c919061212c565b600054610100900460ff1615808015610c455750600054600160ff909116105b80610c5f5750303b158015610c5f575060005460ff166001145b610c7b5760405162461bcd60e51b81526004016109f3906121f7565b6000805460ff191660011790558015610c9e576000805461ff0019166101001790555b801561025b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6040513390600090610cfe9083908790602001611f7e565b604051602081830303815290604052805190602001209050610d53818585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506110a692505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca86868660405161050693929190611fbb565b600080600080610da08686610f6c565b9250925092506000610dc8828411610db957600061126d565b610dc38385612385565b61126d565b610dd29085612061565b60001315979650505050505050565b6000610997827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610313919061212c565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610ecd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef19190611ffc565b610f0e5760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040902054610f32908290612061565b6001600160a01b0390921660009081526002602052604090209190915550565b600080610f5f8484610f6c565b5050600013949350505050565b6001600160a01b038216600090815260026020526040812054908080610f91866108f4565b905060005b815181101561109d576000806000848481518110610fb657610fb6612398565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa158015611015573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103991906123ae565b9194509250905061104a82886123dc565b965061105681876123dc565b955061107381831161106957600061126d565b610dc38284612385565b61107d848a612061565b6110879190612089565b975050505080611096906123ef565b9050610f96565b50509250925092565b60005b81518110156110e75760008282815181106110c6576110c6612398565b60200260200101519050808285015550806110e0906123ef565b90506110a9565b505050565b6000805b8281101561111e5783810154801561110d57600192505050610997565b50611117816123ef565b90506110f0565b5060009392505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611189573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ad9190612408565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa158015611243573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112679190612408565b91505090565b60006001600160ff1b038211156112d75760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016109f3565b5090565b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161132091815260200190565b60405180910390a3505050565b60005b818110156110e757600083820155611347816123ef565b9050611330565b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b1580156113cf57600080fd5b505af11580156113e3573d6000803e3d6000fd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b15801561146857600080fd5b505af115801561147c573d6000803e3d6000fd5b5050505050565b600e546001600160a01b031661149857600080fd5b6000806114a48561166d565b600e546040516370a0823160e01b81523060048201529294509092506000916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156114f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611519919061212c565b600e54909150611534906001600160a01b031689308661172c565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa15801561157d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a1919061212c565b905060006115af8383612385565b90508085146115bd57600080fd5b6115d08b8a868a51600014158b8b61178c565b5050505050505050505050565b60608167ffffffffffffffff8111156115f8576115f8611b89565b604051908082528060200260200182016040528015611621578160200160208202803683370190505b50905060005b828110156116665760008185015490508083838151811061164a5761164a612398565b60209081029190910101525061165f816123ef565b9050611627565b5092915050565b60008060006012600e60149054906101000a900460ff1660ff1610156116cf57600e546116a590600160a01b900460ff166012612425565b6116b090600a612522565b90506116bc8185612531565b92506116c88184612553565b9150611726565b600e546012600160a01b90910460ff16111561171f57600e546116fe90601290600160a01b900460ff16612425565b61170990600a612522565b90506117158185612553565b9250839150611726565b8391508192505b50915091565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526117869085906117b1565b50505050565b6001600160a01b03851661179f57600080fd5b6117a98585611886565b505050505050565b6000611806826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166118e09092919063ffffffff16565b90508051600014806118275750808060200190518101906118279190611ffc565b6110e75760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016109f3565b61188f8161126d565b6001600160a01b0383166000908152600260205260409020546118b29190612061565b6001600160a01b0383166000908152600260205260409020556003546118d99082906123dc565b6003555050565b60606118ef84846000856118f7565b949350505050565b6060824710156119585760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016109f3565b600080866001600160a01b03168587604051611974919061256a565b60006040518083038185875af1925050503d80600081146119b1576040519150601f19603f3d011682016040523d82523d6000602084013e6119b6565b606091505b50915091506119c7878383876119d2565b979650505050505050565b60608315611a41578251600003611a3a576001600160a01b0385163b611a3a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016109f3565b50816118ef565b6118ef8383815115611a565781518083602001fd5b8060405162461bcd60e51b81526004016109f39190612586565b6001600160a01b038116811461025b57600080fd5b8035611a9081611a70565b919050565b60008083601f840112611aa757600080fd5b50813567ffffffffffffffff811115611abf57600080fd5b6020830191508360208260051b8501011115611ada57600080fd5b9250929050565b60008060008060608587031215611af757600080fd5b8435611b0281611a70565b935060208501359250604085013567ffffffffffffffff811115611b2557600080fd5b611b3187828801611a95565b95989497509550505050565b600080600060408486031215611b5257600080fd5b83359250602084013567ffffffffffffffff811115611b7057600080fd5b611b7c86828701611a95565b9497909650939450505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611bc857611bc8611b89565b604052919050565b801515811461025b57600080fd5b8035611a9081611bd0565b600080600080600080600060e0888a031215611c0457600080fd5b8735965060208089013567ffffffffffffffff80821115611c2457600080fd5b818b0191508b601f830112611c3857600080fd5b813581811115611c4a57611c4a611b89565b611c5c601f8201601f19168501611b9f565b91508082528c84828501011115611c7257600080fd5b8084840185840137600084828401015250809850505050611c9560408901611a85565b9450611ca360608901611bde565b9350611cb160808901611a85565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215611ce057600080fd5b50508035926020909101359150565b600060208284031215611d0157600080fd5b8135611d0c81611a70565b9392505050565b6020808252825182820181905260009190848201906040850190845b81811015611d545783516001600160a01b031683529284019291840191600101611d2f565b50909695505050505050565b60008083601f840112611d7257600080fd5b50813567ffffffffffffffff811115611d8a57600080fd5b602083019150836020828501011115611ada57600080fd5b60008060008060008060808789031215611dbb57600080fd5b8635611dc681611a70565b9550602087013560ff81168114611ddc57600080fd5b9450604087013567ffffffffffffffff80821115611df957600080fd5b611e058a838b01611d60565b90965094506060890135915080821115611e1e57600080fd5b50611e2b89828a01611d60565b979a9699509497509295939492505050565b600060208284031215611e4f57600080fd5b5035919050565b60008060008060808587031215611e6c57600080fd5b8435611e7781611a70565b93506020850135611e8781611a70565b93969395505050506040820135916060013590565b6020808252825182820181905260009190848201906040850190845b81811015611d5457835183529284019291840191600101611eb8565b600080600060608486031215611ee957600080fd5b8335611ef481611a70565b95602085013595506040909401359392505050565b60008060408385031215611f1c57600080fd5b8235611f2781611a70565b946020939093013593505050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b03831115611fe257600080fd5b8260051b8085606085013791909101606001949350505050565b60006020828403121561200e57600080fd5b8151611d0c81611bd0565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b820161204457612044612019565b5060000390565b634e487b7160e01b600052600160045260246000fd5b808201828112600083128015821682158216171561208157612081612019565b505092915050565b818103600083128015838313168383128216171561166657611666612019565b60005b838110156120c45781810151838201526020016120ac565b50506000910152565b600081518084526120e58160208601602086016120a9565b601f01601f19169290920160200192915050565b85815260018060a01b038516602082015283604082015282606082015260a0608082015260006119c760a08301846120cd565b60006020828403121561213e57600080fd5b5051919050565b6000602080838503121561215857600080fd5b825167ffffffffffffffff8082111561217057600080fd5b818501915085601f83011261218457600080fd5b81518181111561219657612196611b89565b8060051b91506121a7848301611b9f565b81815291830184019184810190888411156121c157600080fd5b938501935b838510156121eb57845192506121db83611a70565b82825293850193908501906121c6565b98975050505050505050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600181811c9082168061225957607f821691505b60208210810361227957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156110e757600081815260208120601f850160051c810160208610156122a65750805b601f850160051c820191505b818110156117a9578281556001016122b2565b67ffffffffffffffff8311156122dd576122dd611b89565b6122f1836122eb8354612245565b8361227f565b6000601f841160018114612325576000851561230d5750838201355b600019600387901b1c1916600186901b17835561147c565b600083815260209020601f19861690835b828110156123565786850135825560209485019460019092019101612336565b50868210156123735760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8181038181111561099757610997612019565b634e487b7160e01b600052603260045260246000fd5b6000806000606084860312156123c357600080fd5b8351925060208401519150604084015190509250925092565b8082018082111561099757610997612019565b60006001820161240157612401612019565b5060010190565b60006020828403121561241a57600080fd5b8151611d0c81611a70565b60ff828116828216039081111561099757610997612019565b600181815b8085111561247957816000190482111561245f5761245f612019565b8085161561246c57918102915b93841c9390800290612443565b509250929050565b60008261249057506001610997565b8161249d57506000610997565b81600181146124b357600281146124bd576124d9565b6001915050610997565b60ff8411156124ce576124ce612019565b50506001821b610997565b5060208310610133831016604e8410600b84101617156124fc575081810a610997565b612506838361243e565b806000190482111561251a5761251a612019565b029392505050565b6000611d0c60ff841683612481565b60008261254e57634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761099757610997612019565b6000825161257c8184602087016120a9565b9190910192915050565b602081526000611d0c60208301846120cd56fea26469706673582212200d22364608a1c3087bc3c267d957a814cda7c212c5a0b8735ed088a8c96cf57b64736f6c63430008130033",y9=eb=>eb.length>1;class y7 extends u9.lV{constructor(...eb){y9(eb)?super(...eb):super(y5,y8,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(y5)}static connect(eb,em){return new u9.CH(eb,y5,em)}}y7.bytecode=y8,y7.abi=y5;let gb=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"CIF_NFT_ONLY_CONSTANT_OUTFLOW",type:"error"},{inputs:[{internalType:"string",name:"_name",type:"string"}],name:"STORAGE_LOCATION_CHANGED",type:"error"},{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:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{inputs:[],name:"CONSTANT_FLOW_AGREEMENT_V1",outputs:[{internalType:"contract IConstantFlowAgreementV1",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_BASE_URI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],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:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"newTokenId",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],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:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",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:"pure",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"validateStorageLayout",outputs:[],stateMutability:"nonpayable",type:"function"}],gm="0x60e06040523480156200001157600080fd5b506040516200212638038062002126833981016040819052620000349162000103565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201528391839183919063b6d200de90602401602060405180830381865afa158015620000a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ca919062000142565b6001600160a01b039081166080529190911660c052506200016992505050565b6001600160a01b03811681146200010057600080fd5b50565b600080604083850312156200011757600080fd5b82516200012481620000ea565b60208401519092506200013781620000ea565b809150509250929050565b6000602082840312156200015557600080fd5b81516200016281620000ea565b9392505050565b60805160a05160c051611f6a620001bc6000396000818161046001528181610657015281816106c901526109aa0152600081816102ef0152610714015260008181610256015261105e0152611f6a6000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806352d1902d116101045780639903ad38116100a2578063c87b56dd11610071578063c87b56dd14610435578063e985e9c514610448578063ef43d2c61461045b578063f99a38c41461024f57600080fd5b80639903ad38146103ff578063a22cb46514610407578063a497325b1461041a578063b88d4fde1461042257600080fd5b806370a08231116100de57806370a082311461037757806389f71d2d1461038b5780638d47859e1461039e57806395d89b41146103f757600080fd5b806352d1902d1461032c5780636352211e1461035c5780636c0360eb1461036f57600080fd5b806340c10f1911610171578063469519541161014b57806346951954146102d757806349f289dc146102ea5780634cd88b761461031157806350d75d251461032457600080fd5b806340c10f191461029e57806342842e0e146102b157806342966c68146102c457600080fd5b8063095ea7b3116101ad578063095ea7b31461023c578063181561011461025157806323b872dd146102785780632f3885601461028b57600080fd5b806301ffc9a7146101d457806306fdde03146101fc578063081812fc14610211575b600080fd5b6101e76101e23660046115f2565b610482565b60405190151581526020015b60405180910390f35b6102046104d4565b6040516101f39190611640565b61022461021f366004611673565b610566565b6040516001600160a01b0390911681526020016101f3565b61024f61024a3660046116a1565b61058d565b005b6102247f000000000000000000000000000000000000000000000000000000000000000081565b61024f6102863660046116cd565b610619565b61024f610299366004611673565b610640565b61024f6102ac3660046116a1565b61064c565b61024f6102bf3660046116cd565b6106a3565b61024f6102d2366004611673565b6106be565b61024f6102e536600461170e565b610710565b6102247f000000000000000000000000000000000000000000000000000000000000000081565b61024f61031f3660046117f8565b6107c8565b6102246108ae565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e5b6040519081526020016101f3565b61022461036a366004611673565b6108dd565b6102046108f9565b61034e61038536600461170e565b50600190565b61034e61039936600461185c565b610919565b6103b16103ac366004611673565b61096c565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff16918101919091526080016101f3565b610204610a15565b61024f610a24565b61024f6104153660046118a7565b610ae6565b610204610af1565b61024f6104303660046118e5565b610b0d565b610204610443366004611673565b610b46565b6101e7610456366004611965565b610b53565b6102247f000000000000000000000000000000000000000000000000000000000000000081565b60006301ffc9a760e01b6001600160e01b0319831614806104b357506380ac58cd60e01b6001600160e01b03198316145b806104ce5750635b5e139f60e01b6001600160e01b03198316145b92915050565b6060600180546104e390611993565b80601f016020809104026020016040519081016040528092919081815260200182805461050f90611993565b801561055c5780601f106105315761010080835404028352916020019161055c565b820191906000526020600020905b81548152906001019060200180831161053f57829003601f168201915b5050505050905090565b600061057182610b81565b506000908152600360205260409020546001600160a01b031690565b6000610598826108dd565b9050806001600160a01b0316836001600160a01b0316036105cc5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b038216148015906105ec57506105ea8133610b53565b155b1561060a5760405163519a92c160e11b815260040160405180910390fd5b6106148383610b9a565b505050565b6106233382610bf3565b610614576040516312a8eb0360e11b815260040160405180910390fd5b61064981610c51565b50565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106955760405163740f7abd60e11b815260040160405180910390fd5b61069f8282610c81565b5050565b61061483838360405180602001604052806000815250610b0d565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107075760405163740f7abd60e11b815260040160405180910390fd5b61064981610cbd565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079491906119cd565b9050336001600160a01b038216146107bf5760405163ebb7505b60e01b815260040160405180910390fd5b61069f82610d30565b600054610100900460ff16158080156107e85750600054600160ff909116105b806108025750303b158015610802575060005460ff166001145b6108275760405162461bcd60e51b815260040161081e906119ea565b60405180910390fd5b6000805460ff19166001179055801561084a576000805461ff0019166101001790555b60016108568482611a86565b5060026108638382611a86565b508015610614576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60006108d87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b60008060405163eab95e3b60e01b815260040160405180910390fd5b60606040518060600160405280602d8152602001611f08602d9139905090565b60408051466020808301919091526001600160a01b0380871683850152808616606084015284166080808401919091528351808403909101815260a090920190925280519101206000905b949350505050565b60408051608081018252600080825260208201819052818301819052606082015290516346a3c2cf60e11b8152600481018390526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638d47859e90602401608060405180830381865afa1580156109f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ce9190611b46565b6060600280546104e390611993565b600054610100900460ff1615808015610a445750600054600160ff909116105b80610a5e5750303b158015610a5e575060005460ff166001145b610a7a5760405162461bcd60e51b815260040161081e906119ea565b6000805460ff191660011790558015610a9d576000805461ff0019166101001790555b8015610649576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61069f338383610f6a565b6040518060600160405280602d8152602001611f08602d913981565b610b173383610bf3565b610b34576040516312a8eb0360e11b815260040160405180910390fd5b610b4084848484611009565b50505050565b60606104ce82600161100e565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b60405163eab95e3b60e01b815260040160405180910390fd5b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925908290a45050565b600080610bff836108dd565b9050806001600160a01b0316846001600160a01b03161480610c265750610c268185610b53565b806109645750836001600160a01b0316610c3f84610566565b6001600160a01b031614949350505050565b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce790602001610adb565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000610cc88261096c565b600083815260036020526040902080546001600160a01b031916905590508160006001600160a01b031682604001516001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000610d5a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610db05760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c65000000604482015260640161081e565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e129190611bd4565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e14610e8c5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b606482015260840161081e565b6001600160a01b0381163003610ee45760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f7000000000000000604482015260640161081e565b610f0c817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e604080519182526001600160a01b038416602083015201610adb565b816001600160a01b0316836001600160a01b031603610f9c5760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610b40565b6060600061101b8461096c565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa1580156110a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c99190611bed565b50509150506110d66108f9565b6110ed826bffffffffffffffffffffffff16611169565b8661111457604051806040016040528060048152602001637472756560e01b815250611133565b6040518060400160405280600581526020016466616c736560d81b8152505b61113c896111fc565b60405160200161114f9493929190611c4d565b604051602081830303815290604052935050505092915050565b6060600061117683611377565b600101905060008167ffffffffffffffff8111156111965761119661172b565b6040519080825280601f01601f1916602001820160405280156111c0576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846111ca57509392505050565b606060006112098361096c565b905061122381600001516001600160a01b0316601461144f565b61122c46611169565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561126e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112969190810190611cd5565b6112ae84602001516001600160a01b0316601461144f565b6112c685604001516001600160a01b0316601461144f565b61133786600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561130b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132f9190611d4c565b60ff16611169565b61134a876060015163ffffffff16611169565b6040516020016113609796959493929190611d6f565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106113b65772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106113e2576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061140057662386f26fc10000830492506010015b6305f5e1008310611418576305f5e100830492506008015b612710831061142c57612710830492506004015b6064831061143e576064830492506002015b600a83106104ce5760010192915050565b6060600061145e836002611eb0565b611469906002611ec7565b67ffffffffffffffff8111156114815761148161172b565b6040519080825280601f01601f1916602001820160405280156114ab576020820181803683370190505b509050600360fc1b816000815181106114c6576114c6611eda565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106114f5576114f5611eda565b60200101906001600160f81b031916908160001a9053506000611519846002611eb0565b611524906001611ec7565b90505b600181111561159c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061155857611558611eda565b1a60f81b82828151811061156e5761156e611eda565b60200101906001600160f81b031916908160001a90535060049490941c9361159581611ef0565b9050611527565b5083156115eb5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161081e565b9392505050565b60006020828403121561160457600080fd5b81356001600160e01b0319811681146115eb57600080fd5b60005b8381101561163757818101518382015260200161161f565b50506000910152565b602081526000825180602084015261165f81604085016020870161161c565b601f01601f19169190910160400192915050565b60006020828403121561168557600080fd5b5035919050565b6001600160a01b038116811461064957600080fd5b600080604083850312156116b457600080fd5b82356116bf8161168c565b946020939093013593505050565b6000806000606084860312156116e257600080fd5b83356116ed8161168c565b925060208401356116fd8161168c565b929592945050506040919091013590565b60006020828403121561172057600080fd5b81356115eb8161168c565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561176a5761176a61172b565b604052919050565b600067ffffffffffffffff82111561178c5761178c61172b565b50601f01601f191660200190565b60006117ad6117a884611772565b611741565b90508281528383830111156117c157600080fd5b828260208301376000602084830101529392505050565b600082601f8301126117e957600080fd5b6115eb8383356020850161179a565b6000806040838503121561180b57600080fd5b823567ffffffffffffffff8082111561182357600080fd5b61182f868387016117d8565b9350602085013591508082111561184557600080fd5b50611852858286016117d8565b9150509250929050565b60008060006060848603121561187157600080fd5b833561187c8161168c565b9250602084013561188c8161168c565b9150604084013561189c8161168c565b809150509250925092565b600080604083850312156118ba57600080fd5b82356118c58161168c565b9150602083013580151581146118da57600080fd5b809150509250929050565b600080600080608085870312156118fb57600080fd5b84356119068161168c565b935060208501356119168161168c565b925060408501359150606085013567ffffffffffffffff81111561193957600080fd5b8501601f8101871361194a57600080fd5b6119598782356020840161179a565b91505092959194509250565b6000806040838503121561197857600080fd5b82356119838161168c565b915060208301356118da8161168c565b600181811c908216806119a757607f821691505b6020821081036119c757634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156119df57600080fd5b81516115eb8161168c565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f82111561061457600081815260208120601f850160051c81016020861015611a5f5750805b601f850160051c820191505b81811015611a7e57828155600101611a6b565b505050505050565b815167ffffffffffffffff811115611aa057611aa061172b565b611ab481611aae8454611993565b84611a38565b602080601f831160018114611ae95760008415611ad15750858301515b600019600386901b1c1916600185901b178555611a7e565b600085815260208120601f198616915b82811015611b1857888601518255948401946001909101908401611af9565b5085821015611b365787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060808284031215611b5857600080fd5b6040516080810181811067ffffffffffffffff82111715611b7b57611b7b61172b565b6040528251611b898161168c565b81526020830151611b998161168c565b60208201526040830151611bac8161168c565b6040820152606083015163ffffffff81168114611bc857600080fd5b60608201529392505050565b600060208284031215611be657600080fd5b5051919050565b60008060008060808587031215611c0357600080fd5b84519350602085015180600b0b8114611c1b57600080fd5b6040860151606090960151949790965092505050565b60008151611c4381856020860161161c565b9290920192915050565b60008551611c5f818460208a0161161c565b693f666c6f77526174653d60b01b9083019081528551611c8681600a840160208a0161161c565b69266f7574676f696e673d60b01b600a92909101918201528451611cb181601484016020890161161c565b8451910190611cc781601484016020880161161c565b016014019695505050505050565b600060208284031215611ce757600080fd5b815167ffffffffffffffff811115611cfe57600080fd5b8201601f81018413611d0f57600080fd5b8051611d1d6117a882611772565b818152856020838501011115611d3257600080fd5b611d4382602083016020860161161c565b95945050505050565b600060208284031215611d5e57600080fd5b815160ff811681146115eb57600080fd5b6e26746f6b656e5f616464726573733d60881b815260008851611d9981600f850160208d0161161c565b6926636861696e5f69643d60b01b600f918401918201528851611dc3816019840160208d0161161c565b6d26746f6b656e5f73796d626f6c3d60901b601992909101918201528751611df2816027840160208c0161161c565b672673656e6465723d60c01b602792909101918201528651611e1b81602f840160208b0161161c565b692672656365697665723d60b01b602f9290910191820152611e8c611e86611e6e611e68611e4c603986018b611c31565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b88611c31565b6b2673746172745f646174653d60a01b8152600c0190565b85611c31565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104ce576104ce611e9a565b808201808211156104ce576104ce611e9a565b634e487b7160e01b600052603260045260246000fd5b600081611eff57611eff611e9a565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a264697066735822122028d55c4a9bbf0b79218af3c60c2e8a30e043c0fda37aeee31eb16e931ba9cb9164736f6c63430008130033",gy=eb=>eb.length>1;class gv extends u9.lV{constructor(...eb){gy(eb)?super(...eb):super(gb,gm,eb[0])}deploy(eb,em,ew){return super.deploy(eb,em,ew||{})}getDeployTransaction(eb,em,ew){return super.getDeployTransaction(eb,em,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(gb)}static connect(eb,em){return new u9.CH(eb,gb,em)}}gv.bytecode=gm,gv.abi=gb;let gz=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"COF_NFT_INVALID_SUPER_TOKEN",type:"error"},{inputs:[],name:"COF_NFT_MINT_TO_AND_FLOW_RECEIVER_SAME",type:"error"},{inputs:[],name:"COF_NFT_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"COF_NFT_ONLY_CONSTANT_INFLOW",type:"error"},{inputs:[],name:"COF_NFT_ONLY_FLOW_AGREEMENTS",type:"error"},{inputs:[],name:"COF_NFT_TOKEN_ALREADY_EXISTS",type:"error"},{inputs:[{internalType:"string",name:"_name",type:"string"}],name:"STORAGE_LOCATION_CHANGED",type:"error"},{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:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{inputs:[],name:"CONSTANT_FLOW_AGREEMENT_V1",outputs:[{internalType:"contract IConstantFlowAgreementV1",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_BASE_URI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],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:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onCreate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onDelete",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",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:"pure",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"validateStorageLayout",outputs:[],stateMutability:"nonpayable",type:"function"}],gw="0x60e06040523480156200001157600080fd5b50604051620023d1380380620023d1833981016040819052620000349162000103565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201528391839183919063b6d200de90602401602060405180830381865afa158015620000a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ca919062000142565b6001600160a01b039081166080529190911660c052506200016992505050565b6001600160a01b03811681146200010057600080fd5b50565b600080604083850312156200011757600080fd5b82516200012481620000ea565b60208401519092506200013781620000ea565b809150509250929050565b6000602082840312156200015557600080fd5b81516200016281620000ea565b9392505050565b60805160a05160c051612200620001d1600039600081816102fb01528181610b2c01528181610c260152610d3d0152600081816102d4015261068901526000818161026101528181610a9f01528181610ba201528181610c9e01526111e601526122006000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80636c0360eb11610104578063a497325b116100a2578063eb54a7ca11610071578063eb54a7ca14610467578063ef1f02371461047a578063f7e3d9831461048d578063f99a38c41461025a57600080fd5b8063a497325b14610426578063b88d4fde1461042e578063c87b56dd14610441578063e985e9c51461045457600080fd5b80638d47859e116100de5780638d47859e146103aa57806395d89b41146104035780639903ad381461040b578063a22cb4651461041357600080fd5b80636c0360eb1461037b57806370a082311461038357806389f71d2d1461039757600080fd5b806342842e0e1161017c5780634cd88b761161014b5780634cd88b761461031d57806350d75d251461033057806352d1902d146103385780636352211e1461036857600080fd5b806342842e0e146102a957806346951954146102bc57806349f289dc146102cf5780634c5c0c85146102f657600080fd5b8063095ea7b3116101b8578063095ea7b314610247578063181561011461025c57806323b872dd146102835780632f3885601461029657600080fd5b806301ffc9a7146101df57806306fdde0314610207578063081812fc1461021c575b600080fd5b6101f26101ed366004611900565b6104a0565b60405190151581526020015b60405180910390f35b61020f6104f2565b6040516101fe919061194e565b61022f61022a366004611981565b610584565b6040516001600160a01b0390911681526020016101fe565b61025a6102553660046119af565b6105ab565b005b61022f7f000000000000000000000000000000000000000000000000000000000000000081565b61025a6102913660046119db565b610637565b61025a6102a4366004611981565b61065e565b61025a6102b73660046119db565b61066a565b61025a6102ca366004611a1c565b610685565b61022f7f000000000000000000000000000000000000000000000000000000000000000081565b61022f7f000000000000000000000000000000000000000000000000000000000000000081565b61025a61032b366004611b06565b610741565b61022f610827565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b7845b6040519081526020016101fe565b61022f610376366004611981565b610856565b61020f610872565b61035a610391366004611a1c565b50600190565b61035a6103a5366004611b6a565b610892565b6103bd6103b8366004611981565b6108a7565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff16918101919091526080016101fe565b61020f610928565b61025a610937565b61025a610421366004611bb5565b6109f9565b61020f610a04565b61025a61043c366004611bf3565b610a20565b61020f61044f366004611981565b610a59565b6101f2610462366004611c73565b610a66565b61025a610475366004611b6a565b610a94565b61025a610488366004611b6a565b610b97565b61025a61049b366004611b6a565b610c93565b60006301ffc9a760e01b6001600160e01b0319831614806104d157506380ac58cd60e01b6001600160e01b03198316145b806104ec5750635b5e139f60e01b6001600160e01b03198316145b92915050565b60606001805461050190611ca1565b80601f016020809104026020016040519081016040528092919081815260200182805461052d90611ca1565b801561057a5780601f1061054f5761010080835404028352916020019161057a565b820191906000526020600020905b81548152906001019060200180831161055d57829003601f168201915b5050505050905090565b600061058f82610d6c565b506000908152600360205260409020546001600160a01b031690565b60006105b682610856565b9050806001600160a01b0316836001600160a01b0316036105ea5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b0382161480159061060a57506106088133610a66565b155b156106285760405163519a92c160e11b815260040160405180910390fd5b6106328383610d85565b505050565b6106413382610dde565b610632576040516312a8eb0360e11b815260040160405180910390fd5b61066781610e3c565b50565b61063283838360405180602001604052806000815250610a20565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107099190611cdb565b9050336001600160a01b038216146107345760405163ebb7505b60e01b815260040160405180910390fd5b61073d82610e6c565b5050565b600054610100900460ff16158080156107615750600054600160ff909116105b8061077b5750303b15801561077b575060005460ff166001145b6107a05760405162461bcd60e51b815260040161079790611cf8565b60405180910390fd5b6000805460ff1916600117905580156107c3576000805461ff0019166101001790555b60016107cf8482611d94565b5060026107dc8382611d94565b508015610632576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60006108517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b60008060405163eab95e3b60e01b815260040160405180910390fd5b60606040518060600160405280602d815260200161219e602d9139905090565b600061089f8484846110a6565b949350505050565b60408051608081018252600080825260208201819052918101829052606081019190915250600090815260166020908152604091829020825160808101845281546001600160a01b039081168252600183015481169382019390935260029091015491821692810192909252600160a01b900463ffffffff16606082015290565b60606002805461050190611ca1565b600054610100900460ff16158080156109575750600054600160ff909116105b806109715750303b158015610971575060005460ff166001145b61098d5760405162461bcd60e51b815260040161079790611cf8565b6000805460ff1916600117905580156109b0576000805461ff0019166101001790555b8015610667576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61073d3383836110f2565b6040518060600160405280602d815260200161219e602d913981565b610a2a3383610dde565b610a47576040516312a8eb0360e11b815260040160405180910390fd5b610a5384848484611191565b50505050565b60606104ec826000611196565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610add5760405163d367b64f60e01b815260040160405180910390fd5b6000610aea8484846110a6565b6000818152601660205260409020600101549091506001600160a01b031615610a5357610b1681610e3c565b604051630179c42b60e51b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632f388560906024015b600060405180830381600087803b158015610b7957600080fd5b505af1158015610b8d573d6000803e3d6000fd5b5050505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610be05760405163d367b64f60e01b815260040160405180910390fd5b6000610bed8484846110a6565b6000818152601660205260409020600101549091506001600160a01b031615610a5357604051630852cd8d60e31b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c6890602401600060405180830381600087803b158015610c7257600080fd5b505af1158015610c86573d6000803e3d6000fd5b50505050610a53816112f1565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cdc5760405163d367b64f60e01b815260040160405180910390fd5b6000610ce98484846110a6565b6000818152601660205260409020600101549091506001600160a01b0316610a5357610d1784848484611370565b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401610b5f565b60405163eab95e3b60e01b815260040160405180910390fd5b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925908290a45050565b600080610dea83610856565b9050806001600160a01b0316846001600160a01b03161480610e115750610e118185610a66565b8061089f5750836001600160a01b0316610e2a84610584565b6001600160a01b031614949350505050565b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7906020016109ee565b6000610e967f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610eec5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610797565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4e9190611e54565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b78414610fc85760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610797565b6001600160a01b03811630036110205760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610797565b611048817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b784604080519182526001600160a01b0384166020830152016109ee565b60408051466020808301919091526001600160a01b03958616828401529385166060820152919093166080808301919091528351808303909101815260a0909101909252815191012090565b816001600160a01b0316836001600160a01b0316036111245760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610a53565b606060006111a3846108a7565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa15801561122d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112519190611e6d565b505091505061125e610872565b611275826bffffffffffffffffffffffff16611477565b8661129c57604051806040016040528060048152602001637472756560e01b8152506112bb565b6040518060400160405280600581526020016466616c736560d81b8152505b6112c48961150a565b6040516020016112d79493929190611ecd565b604051602081830303815290604052935050505092915050565b600081815260036020908152604080832080546001600160a01b03199081169091556016909252808320805483168155600181018054909316909255600290910180546001600160c01b0319169055518290829081907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160a01b03831661138657611386611f55565b816001600160a01b0316836001600160a01b0316036113a7576113a7611f55565b604080516080810182526001600160a01b038087168252858116602080840182815287841685870190815263ffffffff4281166060880190815260008a81526016909552888520975188549088166001600160a01b0319918216178955935160018901805491891691909516179093559051600290960180549251909116600160a01b026001600160c01b03199092169590941694909417939093179091559151839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a450505050565b6060600061148483611685565b600101905060008167ffffffffffffffff8111156114a4576114a4611a39565b6040519080825280601f01601f1916602001820160405280156114ce576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846114d857509392505050565b60606000611517836108a7565b905061153181600001516001600160a01b0316601461175d565b61153a46611477565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801561157c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115a49190810190611f6b565b6115bc84602001516001600160a01b0316601461175d565b6115d485604001516001600160a01b0316601461175d565b61164586600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163d9190611fe2565b60ff16611477565b611658876060015163ffffffff16611477565b60405160200161166e9796959493929190612005565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106116c45772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106116f0576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061170e57662386f26fc10000830492506010015b6305f5e1008310611726576305f5e100830492506008015b612710831061173a57612710830492506004015b6064831061174c576064830492506002015b600a83106104ec5760010192915050565b6060600061176c836002612146565b61177790600261215d565b67ffffffffffffffff81111561178f5761178f611a39565b6040519080825280601f01601f1916602001820160405280156117b9576020820181803683370190505b509050600360fc1b816000815181106117d4576117d4612170565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061180357611803612170565b60200101906001600160f81b031916908160001a9053506000611827846002612146565b61183290600161215d565b90505b60018111156118aa576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061186657611866612170565b1a60f81b82828151811061187c5761187c612170565b60200101906001600160f81b031916908160001a90535060049490941c936118a381612186565b9050611835565b5083156118f95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610797565b9392505050565b60006020828403121561191257600080fd5b81356001600160e01b0319811681146118f957600080fd5b60005b8381101561194557818101518382015260200161192d565b50506000910152565b602081526000825180602084015261196d81604085016020870161192a565b601f01601f19169190910160400192915050565b60006020828403121561199357600080fd5b5035919050565b6001600160a01b038116811461066757600080fd5b600080604083850312156119c257600080fd5b82356119cd8161199a565b946020939093013593505050565b6000806000606084860312156119f057600080fd5b83356119fb8161199a565b92506020840135611a0b8161199a565b929592945050506040919091013590565b600060208284031215611a2e57600080fd5b81356118f98161199a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611a7857611a78611a39565b604052919050565b600067ffffffffffffffff821115611a9a57611a9a611a39565b50601f01601f191660200190565b6000611abb611ab684611a80565b611a4f565b9050828152838383011115611acf57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611af757600080fd5b6118f983833560208501611aa8565b60008060408385031215611b1957600080fd5b823567ffffffffffffffff80821115611b3157600080fd5b611b3d86838701611ae6565b93506020850135915080821115611b5357600080fd5b50611b6085828601611ae6565b9150509250929050565b600080600060608486031215611b7f57600080fd5b8335611b8a8161199a565b92506020840135611b9a8161199a565b91506040840135611baa8161199a565b809150509250925092565b60008060408385031215611bc857600080fd5b8235611bd38161199a565b915060208301358015158114611be857600080fd5b809150509250929050565b60008060008060808587031215611c0957600080fd5b8435611c148161199a565b93506020850135611c248161199a565b925060408501359150606085013567ffffffffffffffff811115611c4757600080fd5b8501601f81018713611c5857600080fd5b611c6787823560208401611aa8565b91505092959194509250565b60008060408385031215611c8657600080fd5b8235611c918161199a565b91506020830135611be88161199a565b600181811c90821680611cb557607f821691505b602082108103611cd557634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611ced57600080fd5b81516118f98161199a565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f82111561063257600081815260208120601f850160051c81016020861015611d6d5750805b601f850160051c820191505b81811015611d8c57828155600101611d79565b505050505050565b815167ffffffffffffffff811115611dae57611dae611a39565b611dc281611dbc8454611ca1565b84611d46565b602080601f831160018114611df75760008415611ddf5750858301515b600019600386901b1c1916600185901b178555611d8c565b600085815260208120601f198616915b82811015611e2657888601518255948401946001909101908401611e07565b5085821015611e445787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215611e6657600080fd5b5051919050565b60008060008060808587031215611e8357600080fd5b84519350602085015180600b0b8114611e9b57600080fd5b6040860151606090960151949790965092505050565b60008151611ec381856020860161192a565b9290920192915050565b60008551611edf818460208a0161192a565b693f666c6f77526174653d60b01b9083019081528551611f0681600a840160208a0161192a565b69266f7574676f696e673d60b01b600a92909101918201528451611f3181601484016020890161192a565b8451910190611f4781601484016020880161192a565b016014019695505050505050565b634e487b7160e01b600052600160045260246000fd5b600060208284031215611f7d57600080fd5b815167ffffffffffffffff811115611f9457600080fd5b8201601f81018413611fa557600080fd5b8051611fb3611ab682611a80565b818152856020838501011115611fc857600080fd5b611fd982602083016020860161192a565b95945050505050565b600060208284031215611ff457600080fd5b815160ff811681146118f957600080fd5b6e26746f6b656e5f616464726573733d60881b81526000885161202f81600f850160208d0161192a565b6926636861696e5f69643d60b01b600f918401918201528851612059816019840160208d0161192a565b6d26746f6b656e5f73796d626f6c3d60901b601992909101918201528751612088816027840160208c0161192a565b672673656e6465723d60c01b6027929091019182015286516120b181602f840160208b0161192a565b692672656365697665723d60b01b602f929091019182015261212261211c6121046120fe6120e2603986018b611eb1565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b88611eb1565b6b2673746172745f646174653d60a01b8152600c0190565b85611eb1565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104ec576104ec612130565b808201808211156104ec576104ec612130565b634e487b7160e01b600052603260045260246000fd5b60008161219557612195612130565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a2646970667358221220bae73b32b96d11a393102562e7fd07027644bc26ec463d472ffc22532e03147764736f6c63430008130033",gM=eb=>eb.length>1;class gC extends u9.lV{constructor(...eb){gM(eb)?super(...eb):super(gz,gw,eb[0])}deploy(eb,em,ew){return super.deploy(eb,em,ew||{})}getDeployTransaction(eb,em,ew){return super.getDeployTransaction(eb,em,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(gz)}static connect(eb,em){return new u9.CH(eb,gz,em)}}gC.bytecode=gw,gC.abi=gz;let gx=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{inputs:[{internalType:"string",name:"_name",type:"string"}],name:"STORAGE_LOCATION_CHANGED",type:"error"},{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:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{inputs:[],name:"CONSTANT_FLOW_AGREEMENT_V1",outputs:[{internalType:"contract IConstantFlowAgreementV1",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_BASE_URI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],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:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",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:"pure",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"validateStorageLayout",outputs:[],stateMutability:"nonpayable",type:"function"}],gk="0x60c060405234801561001057600080fd5b5060405161148e38038061148e83398101604081905261002f916100ea565b6001600160a01b03811660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015282919063b6d200de90602401602060405180830381865afa15801561009a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100be91906100ea565b6001600160a01b03166080525061010e9050565b6001600160a01b03811681146100e757600080fd5b50565b6000602082840312156100fc57600080fd5b8151610107816100d2565b9392505050565b60805160a05161135461013a60003960008181610288015261060e0152600061021501526113546000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80636352211e116100de5780639903ad3811610097578063b88d4fde11610071578063b88d4fde146103de578063c87b56dd146103f1578063e985e9c514610412578063f99a38c41461020e57600080fd5b80639903ad38146103bb578063a22cb465146103c3578063a497325b146103d657600080fd5b80636352211e146102f55780636c0360eb1461030857806370a082311461031057806389f71d2d146103245780638d47859e1461033757806395d89b41146103b357600080fd5b80632f3885601161014b57806349f289dc1161012557806349f289dc146102835780634cd88b76146102aa57806350d75d25146102bd57806352d1902d146102c557600080fd5b80632f3885601461024a57806342842e0e1461025d578063469519541461027057600080fd5b806301ffc9a71461019357806306fdde03146101bb578063081812fc146101d0578063095ea7b3146101fb578063181561011461021057806323b872dd14610237575b600080fd5b6101a66101a1366004610da7565b610425565b60405190151581526020015b60405180910390f35b6101c3610477565b6040516101b29190610dd8565b6101e36101de366004610e26565b610509565b6040516001600160a01b0390911681526020016101b2565b61020e610209366004610e54565b610530565b005b6101e37f000000000000000000000000000000000000000000000000000000000000000081565b61020e610245366004610e80565b6105bc565b61020e610258366004610e26565b6105e3565b61020e61026b366004610e80565b6105ef565b61020e61027e366004610ec1565b61060a565b6101e37f000000000000000000000000000000000000000000000000000000000000000081565b61020e6102b8366004610f8a565b6106c6565b6101e36107ac565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4705b6040519081526020016101b2565b6101e3610303366004610e26565b6107db565b6101c36107f7565b6102e761031e366004610ec1565b50600190565b6102e7610332366004610fee565b610817565b61036d610345366004610e26565b5060408051608081018252600080825260208201819052918101829052606081019190915290565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff16918101919091526080016101b2565b6101c361086a565b61020e610879565b61020e6103d1366004611039565b61093b565b6101c3610946565b61020e6103ec366004611077565b610962565b6101c36103ff366004610e26565b5060408051602081019091526000815290565b6101a66104203660046110f7565b61099b565b60006301ffc9a760e01b6001600160e01b03198316148061045657506380ac58cd60e01b6001600160e01b03198316145b806104715750635b5e139f60e01b6001600160e01b03198316145b92915050565b60606001805461048690611125565b80601f01602080910402602001604051908101604052809291908181526020018280546104b290611125565b80156104ff5780601f106104d4576101008083540402835291602001916104ff565b820191906000526020600020905b8154815290600101906020018083116104e257829003601f168201915b5050505050905090565b6000610514826109c9565b506000908152600360205260409020546001600160a01b031690565b600061053b826107db565b9050806001600160a01b0316836001600160a01b03160361056f5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b0382161480159061058f575061058d813361099b565b155b156105ad5760405163519a92c160e11b815260040160405180910390fd5b6105b783836109e2565b505050565b6105c63382610a3b565b6105b7576040516312a8eb0360e11b815260040160405180910390fd5b6105ec81610a99565b50565b6105b783838360405180602001604052806000815250610962565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561066a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068e919061115f565b9050336001600160a01b038216146106b95760405163ebb7505b60e01b815260040160405180910390fd5b6106c282610ac9565b5050565b600054610100900460ff16158080156106e65750600054600160ff909116105b806107005750303b158015610700575060005460ff166001145b6107255760405162461bcd60e51b815260040161071c9061117c565b60405180910390fd5b6000805460ff191660011790558015610748576000805461ff0019166101001790555b60016107548482611218565b5060026107618382611218565b5080156105b7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60006107d67f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b60008060405163eab95e3b60e01b815260040160405180910390fd5b60606040518060600160405280602d81526020016112f2602d9139905090565b60408051466020808301919091526001600160a01b0380871683850152808616606084015284166080808401919091528351808403909101815260a090920190925280519101206000905b949350505050565b60606002805461048690611125565b600054610100900460ff16158080156108995750600054600160ff909116105b806108b35750303b1580156108b3575060005460ff166001145b6108cf5760405162461bcd60e51b815260040161071c9061117c565b6000805460ff1916600117905580156108f2576000805461ff0019166101001790555b80156105ec576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6106c2338383610d03565b6040518060600160405280602d81526020016112f2602d913981565b61096c3383610a3b565b610989576040516312a8eb0360e11b815260040160405180910390fd5b61099584848484610da2565b50505050565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b60405163eab95e3b60e01b815260040160405180910390fd5b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925908290a45050565b600080610a47836107db565b9050806001600160a01b0316846001600160a01b03161480610a6e5750610a6e818561099b565b806108625750836001600160a01b0316610a8784610509565b6001600160a01b031614949350505050565b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce790602001610930565b6000610af37f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610b495760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c65000000604482015260640161071c565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bab91906112d8565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47014610c255760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b606482015260840161071c565b6001600160a01b0381163003610c7d5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f7000000000000000604482015260640161071c565b610ca5817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470604080519182526001600160a01b038416602083015201610930565b816001600160a01b0316836001600160a01b031603610d355760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610995565b600060208284031215610db957600080fd5b81356001600160e01b031981168114610dd157600080fd5b9392505050565b600060208083528351808285015260005b81811015610e0557858101830151858201604001528201610de9565b506000604082860101526040601f19601f8301168501019250505092915050565b600060208284031215610e3857600080fd5b5035919050565b6001600160a01b03811681146105ec57600080fd5b60008060408385031215610e6757600080fd5b8235610e7281610e3f565b946020939093013593505050565b600080600060608486031215610e9557600080fd5b8335610ea081610e3f565b92506020840135610eb081610e3f565b929592945050506040919091013590565b600060208284031215610ed357600080fd5b8135610dd181610e3f565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115610f0f57610f0f610ede565b604051601f8501601f19908116603f01168101908282118183101715610f3757610f37610ede565b81604052809350858152868686011115610f5057600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112610f7b57600080fd5b610dd183833560208501610ef4565b60008060408385031215610f9d57600080fd5b823567ffffffffffffffff80821115610fb557600080fd5b610fc186838701610f6a565b93506020850135915080821115610fd757600080fd5b50610fe485828601610f6a565b9150509250929050565b60008060006060848603121561100357600080fd5b833561100e81610e3f565b9250602084013561101e81610e3f565b9150604084013561102e81610e3f565b809150509250925092565b6000806040838503121561104c57600080fd5b823561105781610e3f565b91506020830135801515811461106c57600080fd5b809150509250929050565b6000806000806080858703121561108d57600080fd5b843561109881610e3f565b935060208501356110a881610e3f565b925060408501359150606085013567ffffffffffffffff8111156110cb57600080fd5b8501601f810187136110dc57600080fd5b6110eb87823560208401610ef4565b91505092959194509250565b6000806040838503121561110a57600080fd5b823561111581610e3f565b9150602083013561106c81610e3f565b600181811c9082168061113957607f821691505b60208210810361115957634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561117157600080fd5b8151610dd181610e3f565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f8211156105b757600081815260208120601f850160051c810160208610156111f15750805b601f850160051c820191505b81811015611210578281556001016111fd565b505050505050565b815167ffffffffffffffff81111561123257611232610ede565b611246816112408454611125565b846111ca565b602080601f83116001811461127b57600084156112635750858301515b600019600386901b1c1916600185901b178555611210565b600085815260208120601f198616915b828110156112aa5788860151825594840194600190910190840161128b565b50858210156112c85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156112ea57600080fd5b505191905056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a2646970667358221220877a205347773f5fcc98d7d3586fe8459739e2a1b2347f0fc2ce37916edbb77864736f6c63430008130033",gT=eb=>eb.length>1;class g_ extends u9.lV{constructor(...eb){gT(eb)?super(...eb):super(gx,gk,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(gx)}static connect(eb,em){return new u9.CH(eb,gx,em)}}g_.bytecode=gk,g_.abi=gx;let gE=[{inputs:[{internalType:"string",name:"_name",type:"string"}],name:"STORAGE_LOCATION_CHANGED",type:"error"}];class gS{static createInterface(){return new pE.vU(gE)}static connect(eb,em){return new u9.CH(eb,gE,em)}}gS.abi=gE;let gA=[{stateMutability:"payable",type:"fallback"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"callSelfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"callSelfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"callSelfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getFirstCustomTokenStorageSlot",outputs:[{internalType:"uint256",name:"slot",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"initialAddress",type:"address"}],name:"initializeProxy",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}];class gN{static createInterface(){return new pE.vU(gA)}static connect(eb,em){return new u9.CH(eb,gA,em)}}gN.abi=gA;let gI=[{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER",type:"error"},{inputs:[],name:"SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED",type:"error"},{inputs:[],name:"SUPER_TOKEN_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_NFT_PROXY_ADDRESS_CHANGED",type:"error"},{inputs:[],name:"SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_NO_UNDERLYING_TOKEN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_ADMIN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_GOV_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_SELF",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAdmin",type:"address"},{indexed:!0,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"AuthorizedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Burned",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],name:"ConstantInflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],name:"ConstantOutflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Minted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"RevokedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Sent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenDowngraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{stateMutability:"payable",type:"fallback"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"authorizeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"callSelfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"callSelfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"callSelfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"changeAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultOperators",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"activeAgreements",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAdmin",outputs:[{internalType:"address",name:"admin",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFirstCustomTokenStorageSlot",outputs:[{internalType:"uint256",name:"slot",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingDecimals",outputs:[{internalType:"uint8",name:"underlyingDecimals",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingToken",outputs:[{internalType:"address",name:"tokenAddr",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"granularity",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"initialAddress",type:"address"}],name:"initializeProxy",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"initializeWithAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"tokenHolder",type:"address"}],name:"isOperatorFor",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationApprove",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"operationDecreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationDowngrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"operationIncreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"operationSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationUpgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"revokeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"send",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"toUnderlyingAmount",outputs:[{internalType:"uint256",name:"underlyingAmount",type:"uint256"},{internalType:"uint256",name:"adjustedAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"}],name:"transferAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"upgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}];class gD{static createInterface(){return new pE.vU(gI)}static connect(eb,em){return new u9.CH(eb,gI,em)}}gD.abi=gI;let gO=[{stateMutability:"payable",type:"fallback"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"callSelfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"callSelfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"callSelfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"delegatecallSelfMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getFirstCustomTokenStorageSlot",outputs:[{internalType:"uint256",name:"slot",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"initialAddress",type:"address"}],name:"initializeProxy",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfMint",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],gP="0x608060405234801561001057600080fd5b50610754806100206000396000f3fe6080604052600436106100745760003560e01c80634c6491d21161004e5780634c6491d2146100ec5780637549c15f1461010c578063c68d42831461012c578063e27c15861461014c57610083565b80633c5441aa1461008b57806347399a7f146100ab5780634a0687ef146100cc57610083565b366100835761008161016c565b005b61008161016c565b34801561009757600080fd5b506100816100a636600461050b565b61017e565b3480156100b757600080fd5b50602060405190815260200160405180910390f35b3480156100d857600080fd5b506100816100e73660046105d6565b61024a565b3480156100f857600080fd5b506100816101073660046105f8565b610350565b34801561011857600080fd5b5061008161012736600461050b565b6103c6565b34801561013857600080fd5b5061008161014736600461050b565b610424565b34801561015857600080fd5b50610081610167366004610643565b61044b565b61017c610177610486565b6104b5565b565b6000610188610486565b90506000816001600160a01b0316306001600160a01b031663c68d42838787876040516024016101ba939291906106a3565b60408051601f198184030181529181526020820180516001600160e01b031660e09490941b9390931790925290516101f292506106ec565b600060405180830381855af49150503d806000811461022d576040519150601f19603f3d011682016040523d82523d6000602084013e610232565b606091505b505090508061024357610243610708565b5050505050565b6001600160a01b0381166102a55760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006102cf7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146103255760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a65640000604482015260640161029c565b61034d817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b6040516320db835f60e11b81526001600160a01b0380861660048301528085166024830152831660448201526064810182905230906341b706be90608401600060405180830381600087803b1580156103a857600080fd5b505af11580156103bc573d6000803e3d6000fd5b5050505050505050565b604051639d87674160e01b81523090639d876741906103ed908690869086906004016106a3565b600060405180830381600087803b15801561040757600080fd5b505af115801561041b573d6000803e3d6000fd5b50505050505050565b604051631e2a20d560e11b81523090633c5441aa906103ed908690869086906004016106a3565b60405163335097db60e11b81526001600160a01b038085166004830152831660248201526044810182905230906366a12fb6906064016103ed565b60006104b07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156104d4573d6000f35b3d6000fd5b80356001600160a01b03811681146104f057600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561052057600080fd5b610529846104d9565b925060208401359150604084013567ffffffffffffffff8082111561054d57600080fd5b818601915086601f83011261056157600080fd5b813581811115610573576105736104f5565b604051601f8201601f19908116603f0116810190838211818310171561059b5761059b6104f5565b816040528281528960208487010111156105b457600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156105e857600080fd5b6105f1826104d9565b9392505050565b6000806000806080858703121561060e57600080fd5b610617856104d9565b9350610625602086016104d9565b9250610633604086016104d9565b9396929550929360600135925050565b60008060006060848603121561065857600080fd5b610661846104d9565b925061066f602085016104d9565b9150604084013590509250925092565b60005b8381101561069a578181015183820152602001610682565b50506000910152565b60018060a01b038416815282602082015260606040820152600082518060608401526106d681608085016020870161067f565b601f01601f191691909101608001949350505050565b600082516106fe81846020870161067f565b9190910192915050565b634e487b7160e01b600052600160045260246000fdfea26469706673582212208bca18e0b1adbec045675907ebbf6ce932b3e517c88178623440e6f4ea3a7e9b64736f6c63430008130033",gR=eb=>eb.length>1;class gB extends u9.lV{constructor(...eb){gR(eb)?super(...eb):super(gO,gP,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(gO)}static connect(eb,em){return new u9.CH(eb,gO,em)}}gB.bytecode=gP,gB.abi=gO;let gF=[{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"allowance",type:"uint256"},{indexed:!1,internalType:"uint256",name:"burned",type:"uint256"}],name:"DrainedGas",type:"event"},{inputs:[{internalType:"bytes32",name:"interfaceHash",type:"bytes32"},{internalType:"address",name:"",type:"address"}],name:"canImplementInterfaceForAddress",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"tokensReceived",outputs:[],stateMutability:"nonpayable",type:"function"}],gj="0x6080604052600160005534801561001557600080fd5b506102ed806100256000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c806223de291461003a578063249cb3fa1461004f575b600080fd5b61004d6100483660046101b9565b610074565b005b61006261005d366004610264565b6100e3565b60405190815260200160405180910390f35b60005a90505b6175305a111561009d5760008054908061009383610290565b919050555061007a565b7fe69a071efa597f7995dc49d165ad809dd15393f0b95e75d7089498028bb673d9815a6040805192835260208301919091520160405180910390a1505050505050505050565b60007fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b831461011357600061014d565b60405173455243313832305f4143434550545f4d4147494360601b6020820152603401604051602081830303815290604052805190602001205b9392505050565b80356001600160a01b038116811461016b57600080fd5b919050565b60008083601f84011261018257600080fd5b50813567ffffffffffffffff81111561019a57600080fd5b6020830191508360208285010111156101b257600080fd5b9250929050565b60008060008060008060008060c0898b0312156101d557600080fd5b6101de89610154565b97506101ec60208a01610154565b96506101fa60408a01610154565b955060608901359450608089013567ffffffffffffffff8082111561021e57600080fd5b61022a8c838d01610170565b909650945060a08b013591508082111561024357600080fd5b506102508b828c01610170565b999c989b5096995094979396929594505050565b6000806040838503121561027757600080fd5b8235915061028760208401610154565b90509250929050565b6000600182016102b057634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220bbf1734aa4105c4cb158f777b37032af8260781e9bc8b53d2ceecc3f16a2afd064736f6c63430008130033",gU=eb=>eb.length>1;class gV extends u9.lV{constructor(...eb){gU(eb)?super(...eb):super(gF,gj,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(gF)}static connect(eb,em){return new u9.CH(eb,gF,em)}}gV.bytecode=gj,gV.abi=gF;let gH=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"bytes32",name:"interfaceHash",type:"bytes32"},{internalType:"address",name:"",type:"address"}],name:"canImplementInterfaceForAddress",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"tokensReceived",outputs:[],stateMutability:"pure",type:"function"}],g$="0x608060405234801561001057600080fd5b506040516329965a1d60e01b815230600482018190527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad249081906329965a1d90606401600060405180830381600087803b15801561008c57600080fd5b505af11580156100a0573d6000803e3d6000fd5b5050505050610299806100b46000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c806223de291461003a578063249cb3fa1461004f575b600080fd5b61004d61004836600461018c565b610074565b005b61006261005d366004610237565b6100b6565b60405190815260200160405180910390f35b60405162461bcd60e51b815260206004820152601360248201527274686579207368616c6c206e6f74207061737360681b604482015260640160405180910390fd5b60007fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b83146100e6576000610120565b60405173455243313832305f4143434550545f4d4147494360601b6020820152603401604051602081830303815290604052805190602001205b9392505050565b80356001600160a01b038116811461013e57600080fd5b919050565b60008083601f84011261015557600080fd5b50813567ffffffffffffffff81111561016d57600080fd5b60208301915083602082850101111561018557600080fd5b9250929050565b60008060008060008060008060c0898b0312156101a857600080fd5b6101b189610127565b97506101bf60208a01610127565b96506101cd60408a01610127565b955060608901359450608089013567ffffffffffffffff808211156101f157600080fd5b6101fd8c838d01610143565b909650945060a08b013591508082111561021657600080fd5b506102238b828c01610143565b999c989b5096995094979396929594505050565b6000806040838503121561024a57600080fd5b8235915061025a60208401610127565b9050925092905056fea2646970667358221220a6fe74f6583b08380d0f3a05d022b49142e3edf619986f11030695aa0015cf7164736f6c63430008130033",gq=eb=>eb.length>1;class gW extends u9.lV{constructor(...eb){gq(eb)?super(...eb):super(gH,g$,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(gH)}static connect(eb,em){return new u9.CH(eb,gH,em)}}gW.bytecode=g$,gW.abi=gH;let gZ=[{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"fromBalance",type:"uint256"},{indexed:!1,internalType:"uint256",name:"toBalance",type:"uint256"}],name:"TokensReceivedCalled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"},{indexed:!1,internalType:"address",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"fromBalance",type:"uint256"},{indexed:!1,internalType:"uint256",name:"toBalance",type:"uint256"}],name:"TokensToSendCalled",type:"event"},{inputs:[{internalType:"contract IERC777",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"interfaceHash",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"canImplementInterfaceForAddress",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"recipientFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"}],name:"registerRecipient",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"registerSender",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC777",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"send",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"senderFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"shouldRevert",type:"bool"}],name:"setShouldRevertReceive",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"shouldRevert",type:"bool"}],name:"setShouldRevertSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"tokensReceived",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"tokensToSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"upgradeAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"upgradeAllToSelf",outputs:[],stateMutability:"nonpayable",type:"function"}],gK="0x60806040526001805462010000600160b01b031916751820a4b7618bde71dce8cdc73aab6c95905fad24000017905534801561003a57600080fd5b50610f918061004a6000396000f3fe608060405234801561001057600080fd5b50600436106100ce5760003560e01c8063780329301161008c578063c97e18fc11610066578063c97e18fc146101a0578063d2de6474146101c8578063e0eb2180146101db578063e1ecbd30146101ee57600080fd5b80637803293014610167578063833a2fe01461017a578063a8badaa51461018d57600080fd5b806223de29146100d3578063249cb3fa146100e85780633836ef891461010d57806344d17187146101205780634e4ae5a51461013357806375ab978214610154575b600080fd5b6100e66100e1366004610b40565b610201565b005b6100fb6100f6366004610bf1565b610392565b60405190815260200160405180910390f35b6100e661011b366004610cc4565b6103ea565b6100e661012e366004610d30565b610452565b6100e6610141366004610d97565b6001805460ff1916911515919091179055565b6100e6610162366004610b40565b6104b7565b6100e6610175366004610db4565b610626565b6100e6610188366004610db4565b6107b1565b6100e661019b366004610db4565b610928565b6100e66101ae366004610d97565b600180549115156101000261ff0019909216919091179055565b6100e66101d6366004610db4565b6109be565b6100e66101e9366004610db4565b610a07565b6100e66101fc366004610db4565b610a4c565b600154610100900460ff16156102555760405162461bcd60e51b81526020600482015260146024820152735f73686f756c645265766572745265636569766560601b60448201526064015b60405180910390fd5b6000336040516370a0823160e01b81526001600160a01b038a811660048301529192506000918316906370a0823190602401602060405180830381865afa1580156102a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c89190610dd1565b6040516370a0823160e01b81526001600160a01b038a811660048301529192506000918416906370a0823190602401602060405180830381865afa158015610314573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103389190610dd1565b90507f47e915878c47f3ec4d7ff646a2becb229f64fd2abe4d2b5e2bb4275b0cf50d4e8b8b8b8b8b8b8b8b8b8b8b60405161037d9b9a99989796959493929190610e13565b60405180910390a15050505050505050505050565b6000828152602081815260408083206001600160a01b038516845290915281205460ff166103c15760006103e3565b7fa2ef4600d742022d532d4747cb3547474667d6f13804902513b2ec01c848f4b45b9392505050565b604051634decdde360e11b81526001600160a01b03851690639bd9bbc69061041a90869086908690600401610ed0565b600060405180830381600087803b15801561043457600080fd5b505af1158015610448573d6000803e3d6000fd5b5050505050505050565b60405163fe9d930360e01b81526001600160a01b0384169063fe9d9303906104809085908590600401610f00565b600060405180830381600087803b15801561049a57600080fd5b505af11580156104ae573d6000803e3d6000fd5b50505050505050565b60015460ff16156104fe5760405162461bcd60e51b815260206004820152601160248201527017dcda1bdd5b1914995d995c9d14d95b99607a1b604482015260640161024c565b6000336040516370a0823160e01b81526001600160a01b038a811660048301529192506000918316906370a0823190602401602060405180830381865afa15801561054d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105719190610dd1565b6040516370a0823160e01b81526001600160a01b038a811660048301529192506000918416906370a0823190602401602060405180830381865afa1580156105bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e19190610dd1565b90507faa3e88aca472e90221daf7d3d601abafb62b120319089d7a2c2f63588da855298b8b8b8b8b8b8b8b8b8b8b60405161037d9b9a99989796959493929190610e13565b6000816001600160a01b031663ee719bc86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610666573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068a9190610f21565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156106d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f89190610dd1565b60405163095ea7b360e01b81526001600160a01b038581166004830152602482018390529192509083169063095ea7b3906044016020604051808303816000875af115801561074b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076f9190610f3e565b506040516316e7427360e21b81523060048201526024810182905260606044820152600060648201526001600160a01b03841690635b9d09cc90608401610480565b6000816001600160a01b031663ee719bc86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108159190610f21565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561085f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108839190610dd1565b60405163095ea7b360e01b81526001600160a01b038581166004830152602482018390529192509083169063095ea7b3906044016020604051808303816000875af11580156108d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fa9190610f3e565b506040516345977d0360e01b8152600481018290526001600160a01b038416906345977d0390602401610480565b6001546040516329965a1d60e01b81523060048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248201526001600160a01b03838116604483015262010000909204909116906329965a1d906064015b600060405180830381600087803b1580156109a357600080fd5b505af11580156109b7573d6000803e3d6000fd5b5050505050565b6109e87f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89582610ab1565b306001600160a01b038216819003610a0357610a0381610a4c565b5050565b610a317fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b82610ab1565b306001600160a01b038216819003610a0357610a0381610928565b6001546040516329965a1d60e01b81523060048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89560248201526001600160a01b03838116604483015262010000909204909116906329965a1d90606401610989565b6000918252602082815260408084206001600160a01b0390931684529190529020805460ff19166001179055565b6001600160a01b0381168114610af457600080fd5b50565b60008083601f840112610b0957600080fd5b50813567ffffffffffffffff811115610b2157600080fd5b602083019150836020828501011115610b3957600080fd5b9250929050565b60008060008060008060008060c0898b031215610b5c57600080fd5b8835610b6781610adf565b97506020890135610b7781610adf565b96506040890135610b8781610adf565b955060608901359450608089013567ffffffffffffffff80821115610bab57600080fd5b610bb78c838d01610af7565b909650945060a08b0135915080821115610bd057600080fd5b50610bdd8b828c01610af7565b999c989b5096995094979396929594505050565b60008060408385031215610c0457600080fd5b823591506020830135610c1681610adf565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112610c4857600080fd5b813567ffffffffffffffff80821115610c6357610c63610c21565b604051601f8301601f19908116603f01168101908282118183101715610c8b57610c8b610c21565b81604052838152866020858801011115610ca457600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215610cda57600080fd5b8435610ce581610adf565b93506020850135610cf581610adf565b925060408501359150606085013567ffffffffffffffff811115610d1857600080fd5b610d2487828801610c37565b91505092959194509250565b600080600060608486031215610d4557600080fd5b8335610d5081610adf565b925060208401359150604084013567ffffffffffffffff811115610d7357600080fd5b610d7f86828701610c37565b9150509250925092565b8015158114610af457600080fd5b600060208284031215610da957600080fd5b81356103e381610d89565b600060208284031215610dc657600080fd5b81356103e381610adf565b600060208284031215610de357600080fd5b5051919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038c811682528b811660208301528a81166040830152606082018a905261012060808301819052600091610e518483018b8d610dea565b915083820360a0850152610e6682898b610dea565b961660c0840152505060e08101929092526101009091015298975050505050505050565b6000815180845260005b81811015610eb057602081850181015186830182015201610e94565b506000602082860101526020601f19601f83011685010191505092915050565b60018060a01b0384168152826020820152606060408201526000610ef76060830184610e8a565b95945050505050565b828152604060208201526000610f196040830184610e8a565b949350505050565b600060208284031215610f3357600080fd5b81516103e381610adf565b600060208284031215610f5057600080fd5b81516103e381610d8956fea2646970667358221220795af87d9067095e349215dcadae1d15961612a434804335014774c91b8c99ca64736f6c63430008130033",gG=eb=>eb.length>1;class gY extends u9.lV{constructor(...eb){gG(eb)?super(...eb):super(gZ,gK,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(gZ)}static connect(eb,em){return new u9.CH(eb,gZ,em)}}gY.bytecode=gK,gY.abi=gZ;let gJ=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"approveSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"approveSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"calculateDistributionTest",outputs:[{internalType:"uint256",name:"actualAmount",type:"uint256"},{internalType:"uint128",name:"newIndexValue",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"claimTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"claimWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"createIndexTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"createIndexWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"deleteSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"deleteSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"distributeTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"distributeWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"getIndexTest",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"uint128",name:"totalUnitsApproved",type:"uint128"},{internalType:"uint128",name:"totalUnitsPending",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"}],name:"getSubscriptionByIDTest",outputs:[{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"getSubscriptionTest",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"subscriber",type:"address"}],name:"listSubscriptionsTest",outputs:[{internalType:"address[]",name:"publishers",type:"address[]"},{internalType:"uint32[]",name:"indexIds",type:"uint32[]"},{internalType:"uint128[]",name:"unitsList",type:"uint128[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"revokeSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"revokeSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"}],name:"updateIndexValueTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateIndexValueWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"}],name:"updateSubscriptionUnitsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateSubscriptionUnitsWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"}],gX="0x60806040523480156200001157600080fd5b5060405162001ad638038062001ad683398101604081905262000034916200012b565b6040805180820182526001600160a01b0383168082529151635b69006f60e11b81527f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a67460048201529091602083019163b6d200de90602401602060405180830381865afa158015620000aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d091906200012b565b6001600160a01b039081169091528151600080546001600160a01b03199081169284169290921790556020909201516001805490931691161790555062000152565b6001600160a01b03811681146200012857600080fd5b50565b6000602082840312156200013e57600080fd5b81516200014b8162000112565b9392505050565b61197480620001626000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80635158472c116100b85780639cdf4d671161007c5780639cdf4d6714610302578063c9869ed014610315578063c9b8a2f614610328578063d39363c01461036c578063eadc45511461037f578063fe134e9f1461039257600080fd5b80635158472c146102a35780636436e3d3146102b65780636ddb6798146102c95780637489c503146102dc57806378bb14ea146102ef57600080fd5b80633939709e116100ff5780633939709e146102045780634018cb64146102175780634277b78f146102395780635002bb091461024c57806350c8da8f1461025f57600080fd5b8063068f3d191461013c57806306f75d2e1461015157806316dfe9271461016457806325a108af146101775780632a722c06146101d4575b600080fd5b61014f61014a366004610e1c565b6103a5565b005b61014f61015f366004610ea4565b6103bb565b61014f610172366004610f19565b6103cf565b61018a610185366004610f7b565b6103e1565b604080516001600160a01b03909616865263ffffffff9094166020860152911515928401929092526001600160801b039091166060830152608082015260a0015b60405180910390f35b6101e76101e2366004610fa7565b610405565b604080519283526001600160801b039091166020830152016101cb565b61014f61021236600461100d565b610422565b61022a61022536600461104e565b610430565b6040516101cb939291906110cb565b61014f610247366004611168565b61044d565b61014f61025a3660046111bb565b61045c565b61027261026d366004611217565b61046a565b6040805194151585526001600160801b039384166020860152918316918401919091521660608201526080016101cb565b61014f6102b1366004610e1c565b61048c565b61014f6102c4366004610ea4565b61049b565b61014f6102d7366004611217565b6104a9565b61014f6102ea366004611262565b6104b6565b61014f6102fd3660046112a3565b6104c3565b61014f6103103660046112e3565b6104d0565b61014f6103233660046111bb565b6104de565b61033b6103363660046111bb565b6104ec565b6040516101cb9493929190931515845291151560208401526001600160801b03166040830152606082015260800190565b61014f61037a366004611217565b610510565b61014f61038d366004611334565b61051d565b61014f6103a0366004611362565b61052d565b6103b46000868686868661053b565b5050505050565b6103c960008585858561063c565b50505050565b6103dc600084848461073a565b505050565b6000808080806103f281888861080f565b939b929a50909850965090945092505050565b60008061041581878787876108a4565b9150915094509492505050565b6103c9600085858585610940565b6060808061044060008686610985565b9250925092509250925092565b6103b460008686868686610a17565b6103c9600085858585610a5e565b600080808061047b81888888610a80565b935093509350935093509350935093565b6103b460008686868686610b0b565b6103c9600085858585610b36565b6103dc6000848484610b60565b6103dc6000848484610b80565b6103dc6000848484610ba0565b6103c9600085858585610bc0565b6103c9600085858585610be2565b60008080806104fe8189898989610c04565b929b919a509850909650945050505050565b6103dc6000848484610caa565b61052960008383610cca565b5050565b6103c9600085858585610ce8565b855460018701546001600160a01b03918216916339255d5b91168063acafa1b88989898960005b6040519080825280601f01601f19166020018201604052801561058c576020820181803683370190505b506040516024016105a1959493929190611406565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526105ec939250908690600401611451565b6000604051808303816000875af115801561060b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106339190810190611491565b50505050505050565b845460018601546001600160a01b03918216916339255d5b911680636041ae9688888860005b6040519080825280601f01601f19166020018201604052801561068c576020820181803683370190505b506040516024016106a09493929190611508565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526106eb939250908690600401611451565b6000604051808303816000875af115801561070a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107329190810190611491565b505050505050565b835460018501546040805160008152602081019091526001600160a01b03928316926339255d5b921690819063d787840a9061077d908990899060448101611540565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526107c8939250908690600401611451565b6000604051808303816000875af11580156107e7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103b49190810190611491565b600183015460405163cd7245c560e01b81526001600160a01b03848116600483015260248201849052600092839283928392839291169063cd7245c59060440160a060405180830381865afa15801561086c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108909190611585565b939c929b5090995097509095509350505050565b6001850154604051632266eabb60e21b81526001600160a01b038681166004830152858116602483015263ffffffff8516604483015260648201849052600092839291169063899baaec906084016040805180830381865afa15801561090e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093291906115ec565b915091509550959350505050565b845460018601546040805160008152602081019091526001600160a01b03928316926339255d5b9216908190637fbc7639906106a0908a908a908a9060448101611611565b60018301546040516316db59b760e31b81526001600160a01b0384811660048301528381166024830152606092839283929091169063b6dacdb890604401600060405180830381865afa1580156109e0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a089190810190611747565b92509250925093509350939050565b855460018701546040805160008152602081019091526001600160a01b03928316926339255d5b921690819063232d2b58906105a1908b908b908b908b9060448101611826565b6040805160008152602081019091526103b49086908690869086908690610b0b565b60018401546040516323fc23f360e01b81526001600160a01b038581166004830152848116602483015263ffffffff8416604483015260009283928392839216906323fc23f390606401608060405180830381865afa158015610ae7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fe919061186d565b855460018701546001600160a01b03918216916339255d5b911680632e5e74c6898989896000610562565b845460018601546001600160a01b03918216916339255d5b91168063acf4a6c28888886000610662565b6040805160008152602081019091526103c9908590859085908590610b36565b6040805160008152602081019091526103c9908590859085908590610ce8565b6040805160008152602081019091526103c9908590859085908590610940565b6040805160008152602081019091526103b49086908690869086908690610a17565b6040805160008152602081019091526103b4908690869086908690869061053b565b6001850154604051635b53405160e01b81526001600160a01b038681166004830152858116602483015263ffffffff8516604483015283811660648301526000928392839283921690635b53405190608401608060405180830381865afa158015610c73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9791906118be565b929c919b50995090975095505050505050565b6040805160008152602081019091526103c990859085908590859061063c565b6040805160008152602081019091526103dc9084908490849061073a565b845460018601546040805160008152602081019091526001600160a01b03928316926339255d5b921690819063b96731c2906106a0908a908a908a906044810161190b565b6001600160a01b0381168114610d4257600080fd5b50565b63ffffffff81168114610d4257600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610d9657610d96610d57565b604052919050565b600067ffffffffffffffff821115610db857610db8610d57565b50601f01601f191660200190565b600082601f830112610dd757600080fd5b8135610dea610de582610d9e565b610d6d565b818152846020838601011115610dff57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215610e3457600080fd5b8535610e3f81610d2d565b94506020860135610e4f81610d2d565b93506040860135610e5f81610d45565b92506060860135610e6f81610d2d565b9150608086013567ffffffffffffffff811115610e8b57600080fd5b610e9788828901610dc6565b9150509295509295909350565b60008060008060808587031215610eba57600080fd5b8435610ec581610d2d565b93506020850135610ed581610d2d565b92506040850135610ee581610d45565b9150606085013567ffffffffffffffff811115610f0157600080fd5b610f0d87828801610dc6565b91505092959194509250565b600080600060608486031215610f2e57600080fd5b8335610f3981610d2d565b92506020840135610f4981610d45565b9150604084013567ffffffffffffffff811115610f6557600080fd5b610f7186828701610dc6565b9150509250925092565b60008060408385031215610f8e57600080fd5b8235610f9981610d2d565b946020939093013593505050565b60008060008060808587031215610fbd57600080fd5b8435610fc881610d2d565b93506020850135610fd881610d2d565b92506040850135610fe881610d45565b9396929550929360600135925050565b6001600160801b0381168114610d4257600080fd5b6000806000806080858703121561102357600080fd5b843561102e81610d2d565b9350602085013561103e81610d45565b92506040850135610ee581610ff8565b6000806040838503121561106157600080fd5b823561106c81610d2d565b9150602083013561107c81610d2d565b809150509250929050565b600081518084526020808501945080840160005b838110156110c05781516001600160801b03168752958201959082019060010161109b565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b8281101561110d5781516001600160a01b0316845292840192908401906001016110e8565b5050508381038285015285518082528683019183019060005b8181101561114857835163ffffffff1683529284019291840191600101611126565b5050848103604086015261115c8187611087565b98975050505050505050565b600080600080600060a0868803121561118057600080fd5b853561118b81610d2d565b9450602086013561119b81610d45565b935060408601356111ab81610d2d565b92506060860135610e6f81610ff8565b600080600080608085870312156111d157600080fd5b84356111dc81610d2d565b935060208501356111ec81610d2d565b925060408501356111fc81610d45565b9150606085013561120c81610d2d565b939692955090935050565b60008060006060848603121561122c57600080fd5b833561123781610d2d565b9250602084013561124781610d2d565b9150604084013561125781610d45565b809150509250925092565b60008060006060848603121561127757600080fd5b833561128281610d2d565b9250602084013561129281610d45565b929592945050506040919091013590565b6000806000606084860312156112b857600080fd5b83356112c381610d2d565b925060208401356112d381610d45565b9150604084013561125781610ff8565b600080600080608085870312156112f957600080fd5b843561130481610d2d565b9350602085013561131481610d45565b9250604085013561132481610d2d565b9150606085013561120c81610ff8565b6000806040838503121561134757600080fd5b823561135281610d2d565b9150602083013561107c81610d45565b6000806000806080858703121561137857600080fd5b843561138381610d2d565b9350602085013561139381610d45565b925060408501359150606085013567ffffffffffffffff811115610f0157600080fd5b60005b838110156113d15781810151838201526020016113b9565b50506000910152565b600081518084526113f28160208601602086016113b6565b601f01601f19169290920160200192915050565b6001600160a01b038681168252858116602083015263ffffffff851660408301528316606082015260a060808201819052600090611446908301846113da565b979650505050505050565b6001600160a01b0384168152606060208201819052600090611475908301856113da565b828103604084015261148781856113da565b9695505050505050565b6000602082840312156114a357600080fd5b815167ffffffffffffffff8111156114ba57600080fd5b8201601f810184136114cb57600080fd5b80516114d9610de582610d9e565b8181528560208385010111156114ee57600080fd5b6114ff8260208301602086016113b6565b95945050505050565b6001600160a01b0385811682528416602082015263ffffffff83166040820152608060608201819052600090611487908301846113da565b6001600160a01b038416815263ffffffff831660208201526060604082018190526000906114ff908301846113da565b8051801515811461158057600080fd5b919050565b600080600080600060a0868803121561159d57600080fd5b85516115a881610d2d565b60208701519095506115b981610d45565b93506115c760408701611570565b925060608601516115d781610ff8565b80925050608086015190509295509295909350565b600080604083850312156115ff57600080fd5b82519150602083015161107c81610ff8565b6001600160a01b038516815263ffffffff841660208201526001600160801b0383166040820152608060608201819052600090611487908301846113da565b600067ffffffffffffffff82111561166a5761166a610d57565b5060051b60200190565b600082601f83011261168557600080fd5b81516020611695610de583611650565b82815260059290921b840181019181810190868411156116b457600080fd5b8286015b848110156116d85780516116cb81610d45565b83529183019183016116b8565b509695505050505050565b600082601f8301126116f457600080fd5b81516020611704610de583611650565b82815260059290921b8401810191818101908684111561172357600080fd5b8286015b848110156116d857805161173a81610ff8565b8352918301918301611727565b60008060006060848603121561175c57600080fd5b835167ffffffffffffffff8082111561177457600080fd5b818601915086601f83011261178857600080fd5b81516020611798610de583611650565b82815260059290921b8401810191818101908a8411156117b757600080fd5b948201945b838610156117de5785516117cf81610d2d565b825294820194908201906117bc565b918901519197509093505050808211156117f757600080fd5b61180387838801611674565b9350604086015191508082111561181957600080fd5b50610f71868287016116e3565b6001600160a01b03868116825263ffffffff86166020830152841660408201526001600160801b038316606082015260a060808201819052600090611446908301846113da565b6000806000806080858703121561188357600080fd5b61188c85611570565b9350602085015161189c81610ff8565b60408601519093506118ad81610ff8565b606086015190925061120c81610ff8565b600080600080608085870312156118d457600080fd5b6118dd85611570565b93506118eb60208601611570565b925060408501516118fb81610ff8565b6060959095015193969295505050565b60018060a01b038516815263ffffffff8416602082015282604082015260806060820152600061148760808301846113da56fea264697066735822122058ea4810ef77ebe0e518a0364fbbb3851cde2bdf391e99410403f70f947e18ea64736f6c63430008130033",gQ=eb=>eb.length>1;class g6 extends u9.lV{constructor(...eb){gQ(eb)?super(...eb):super(gJ,gX,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(gJ)}static connect(eb,em){return new u9.CH(eb,gJ,em)}}g6.bytecode=gX,g6.abi=gJ;let g4=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"approveSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"approveSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"calculateDistributionTest",outputs:[{internalType:"uint256",name:"actualAmount",type:"uint256"},{internalType:"uint128",name:"newIndexValue",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"claimTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"claimWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"createIndexTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"createIndexWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"deleteSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"deleteSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"distributeTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"distributeWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"getIndexTest",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"uint128",name:"totalUnitsApproved",type:"uint128"},{internalType:"uint128",name:"totalUnitsPending",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"}],name:"getSubscriptionByIDTest",outputs:[{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"getSubscriptionTest",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"subscriber",type:"address"}],name:"listSubscriptionsTest",outputs:[{internalType:"address[]",name:"publishers",type:"address[]"},{internalType:"uint32[]",name:"indexIds",type:"uint32[]"},{internalType:"uint128[]",name:"unitsList",type:"uint128[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"revokeSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"revokeSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"}],name:"updateIndexValueTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateIndexValueWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"}],name:"updateSubscriptionUnitsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateSubscriptionUnitsWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"}],g3="0x60806040523480156200001157600080fd5b5060405162002bf738038062002bf78339810160408190526200003491620001a1565b6040805180820182526001600160a01b0383168082529151635b69006f60e11b81527f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a67460048201528392602083019163b6d200de90602401602060405180830381865afa158015620000aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d09190620001a1565b6001600160a01b039081169091528151600080549183166001600160a01b031992831617905560209092015160018054918316919093161790915560405163bd1c448b60e01b815264350000000192509083169063bd1c448b906200014c90849060040190815260406020820181905260009082015260600190565b600060405180830381600087803b1580156200016757600080fd5b505af11580156200017c573d6000803e3d6000fd5b505050505050620001c8565b6001600160a01b03811681146200019e57600080fd5b50565b600060208284031215620001b457600080fd5b8151620001c18162000188565b9392505050565b612a1f80620001d86000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806353c11f99116100f95780639cdf4d6711610097578063d39363c011610071578063d39363c01461044e578063d86ed3e5146101e9578063eadc455114610461578063fe134e9f1461047457600080fd5b80639cdf4d67146103e4578063c9869ed0146103f7578063c9b8a2f61461040a57600080fd5b80636ddb6798116100d35780636ddb6798146103985780637489c503146103ab57806378bb14ea146103be578063884d1f40146103d157600080fd5b806353c11f991461035f5780635f9e7d77146103725780636436e3d31461038557600080fd5b806330d9c915116101665780634277b78f116101405780634277b78f146102e25780635002bb09146102f557806350c8da8f146103085780635158472c1461034c57600080fd5b806330d9c9151461029a5780633939709e146102ad5780634018cb64146102c057600080fd5b8063068f3d19146101ae57806306f75d2e146101c357806316dfe927146101d6578063230dbd29146101e957806325a108af146102125780632a722c061461026a575b600080fd5b6101c16101bc366004611a9e565b610487565b005b6101c16101d1366004611b25565b61049d565b6101c16101e4366004611b99565b6104b1565b6101fc6101f7366004611c42565b6104c3565b6040516102099190611d5c565b60405180910390f35b610225610220366004611d76565b610513565b604080516001600160a01b03909616865263ffffffff9094166020860152911515928401929092526001600160801b039091166060830152608082015260a001610209565b61027d610278366004611da2565b610537565b604080519283526001600160801b03909116602083015201610209565b6101fc6102a8366004611df3565b610554565b6101c16102bb366004611ea6565b6105bc565b6102d36102ce366004611ee7565b6105ca565b60405161020993929190611f64565b6101c16102f0366004612001565b6105e7565b6101c1610303366004612054565b6105f6565b61031b6103163660046120b0565b610604565b6040805194151585526001600160801b03938416602086015291831691840191909152166060820152608001610209565b6101c161035a366004611a9e565b610626565b6101fc61036d366004611c42565b610635565b6101fc610380366004611df3565b61069a565b6101c1610393366004611b25565b610701565b6101c16103a63660046120b0565b61070f565b6101c16103b93660046120fb565b61071c565b6101c16103cc36600461213c565b610729565b6101fc6103df366004611df3565b610736565b6101c16103f236600461217c565b610799565b6101c1610405366004612054565b6107a7565b61041d610418366004612054565b6107b5565b6040516102099493929190931515845291151560208401526001600160801b03166040830152606082015260800190565b6101c161045c3660046120b0565b6107d9565b6101c161046f3660046121cd565b6107e6565b6101c16104823660046121fb565b6107f6565b61049660008686868686610804565b5050505050565b6104ab600085858585610905565b50505050565b6104be6000848484610a03565b505050565b60606105058a84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ad892505050565b9a9950505050505050505050565b600080808080610524818888610ea6565b939b929a50909850965090945092505050565b6000806105478187878787610f3b565b9150915094509492505050565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b60648201526060906084015b60405180910390fd5b6104ab600085858585610fd7565b606080806105da6000868661101c565b9250925092509250925092565b610496600086868686866110ae565b6104ab6000858585856110f5565b600080808061061581888888611117565b935093509350935093509350935093565b610496600086868686866111a2565b60405162461bcd60e51b815260206004820152603160248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201527019595b595b9d0815195c9b5a5b985d1959607a1b60648201526060906084016105b3565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b60648201526060906084016105b3565b6104ab6000858585856111cd565b6104be60008484846111f7565b6104be6000848484611217565b6104be6000848484611237565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b60648201526060906084016105b3565b6104ab600085858585611257565b6104ab600085858585611279565b60008080806107c7818989898961129b565b929b919a509850909650945050505050565b6104be6000848484611341565b6107f260008383611361565b5050565b6104ab60008585858561137f565b855460018701546001600160a01b03918216916339255d5b91168063acafa1b88989898960005b6040519080825280601f01601f191660200182016040528015610855576020820181803683370190505b5060405160240161086a95949392919061224e565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526108b593925090869060040161228e565b6000604051808303816000875af11580156108d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108fc9190810190612311565b50505050505050565b845460018601546001600160a01b03918216916339255d5b911680636041ae9688888860005b6040519080825280601f01601f191660200182016040528015610955576020820181803683370190505b506040516024016109699493929190612345565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526109b493925090869060040161228e565b6000604051808303816000875af11580156109d3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109fb9190810190612311565b505050505050565b835460018501546040805160008152602081019091526001600160a01b03928316926339255d5b921690819063d787840a90610a4690899089906044810161237d565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610a9193925090869060040161228e565b6000604051808303816000875af1158015610ab0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104969190810190612311565b60008054604051631fb6491d60e11b8152606092916001600160a01b031690633f6c923a90610b0b908690600401611d5c565b600060405180830381865afa158015610b28573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b5091908101906123e6565b60a001519050600080600080600085806020019051810190610b7291906124ec565b93985091965094509250905060ff8516610ba057610b936000898b876113c4565b9650505050505050610ea0565b60001960ff861601610bdc57610b93888a86604051602001610bc19061255e565b60408051601f198184030181529190526000939291906113f0565b60011960ff861601610bf657610b936000898b87856114d6565b60021960ff861601610c3457610b93888a8684604051602001610c189061255e565b60408051601f1981840301815291905260009493929190611505565b60031960ff861601610c5757610b936000898b876001600160801b0386166115ee565b60041960ff861601610c9e57610b93888a86846001600160801b0316604051602001610c829061255e565b60408051601f198184030181529190526000949392919061160f565b60051960ff861601610cb857610b936000898b8688611658565b60061960ff861601610cf657610b93888a8587604051602001610cda9061255e565b60408051601f1981840301815291905260009493929190611679565b60071960ff861601610d1057610b936000898b86886116e0565b60081960ff861601610d4e57610b93888a8587604051602001610d329061255e565b60408051601f1981840301815291905260009493929190611701565b60091960ff861601610d6957610b936000898b87868661172e565b600a1960ff861601610da957610b93888a868585604051602001610d8c9061255e565b60408051601f198184030181529190526000959493929190611776565b600b1960ff861601610dc457610b936000898b86888761187f565b600c1960ff861601610e0457610b93888a858786604051602001610de79061255e565b60408051601f1981840301815291905260009594939291906118b8565b600d1960ff861601610e1f57610b936000898b868887611921565b600e1960ff861601610e5f57610b93888a858786604051602001610e429061255e565b60408051601f19818403018152919052600095949392919061195a565b60405162461bcd60e51b81526020600482015260166024820152750d2dcecc2d8d2c840cceadcc6e8d2dedc40d2dcc8caf60531b60448201526064016105b3565b92915050565b600183015460405163cd7245c560e01b81526001600160a01b03848116600483015260248201849052600092839283928392839291169063cd7245c59060440160a060405180830381865afa158015610f03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f279190612590565b939c929b5090995097509095509350505050565b6001850154604051632266eabb60e21b81526001600160a01b038681166004830152858116602483015263ffffffff8516604483015260648201849052600092839291169063899baaec906084016040805180830381865afa158015610fa5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc991906125f7565b915091509550959350505050565b845460018601546040805160008152602081019091526001600160a01b03928316926339255d5b9216908190637fbc763990610969908a908a908a906044810161261c565b60018301546040516316db59b760e31b81526001600160a01b0384811660048301528381166024830152606092839283929091169063b6dacdb890604401600060405180830381865afa158015611077573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261109f9190810190612746565b92509250925093509350939050565b855460018701546040805160008152602081019091526001600160a01b03928316926339255d5b921690819063232d2b589061086a908b908b908b908b9060448101612824565b60408051600081526020810190915261049690869086908690869086906111a2565b60018401546040516323fc23f360e01b81526001600160a01b038581166004830152848116602483015263ffffffff8416604483015260009283928392839216906323fc23f390606401608060405180830381865afa15801561117e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c7919061286b565b855460018701546001600160a01b03918216916339255d5b911680632e5e74c689898989600061082b565b845460018601546001600160a01b03918216916339255d5b91168063acf4a6c2888888600061092b565b6040805160008152602081019091526104ab9085908590859085906111cd565b6040805160008152602081019091526104ab90859085908590859061137f565b6040805160008152602081019091526104ab908590859085908590610fd7565b60408051600081526020810190915261049690869086908690869086906110ae565b6040805160008152602081019091526104969086908690869086908690610804565b6001850154604051635b53405160e01b81526001600160a01b038681166004830152858116602483015263ffffffff8516604483015283811660648301526000928392839283921690635b53405190608401608060405180830381865afa15801561130a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132e91906128bc565b929c919b50995090975095505050505050565b6040805160008152602081019091526104ab908590859085908590610905565b6040805160008152602081019091526104be90849084908490610a03565b845460018601546040805160008152602081019091526001600160a01b03928316926339255d5b921690819063b96731c290610969908a908a908a9060448101612909565b6040805160008152602081019091526060906113e79086908690869086906113f0565b95945050505050565b845460018601546040805160008152602081019091526060926001600160a01b0390811692634329d29392911690819063d787840a90611437908a908a906044810161237d565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526114849392509087908b9060040161293c565b6000604051808303816000875af11580156114a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114cb9190810190612986565b509695505050505050565b6040805160008152602081019091526060906114fb9087908790879087908790611505565b9695505050505050565b855460018701546040805160008152602081019091526060926001600160a01b0390811692634329d293929116908190637fbc76399061154e908b908b908b906044810161261c565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b031916825261159b9392509087908c9060040161293c565b6000604051808303816000875af11580156115ba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115e29190810190612986565b50979650505050505050565b6040805160008152602081019091526060906114fb90879087908790879087905b855460018701546040805160008152602081019091526060926001600160a01b0390811692634329d29392911690819063b96731c29061154e908b908b908b9060448101612909565b6040805160008152602081019091526060906114fb90879087908790879087905b855460018701546060916001600160a01b0390811691634329d29391168063acf4a6c289898960005b6040519080825280601f01601f1916602001820160405280156116cc576020820181803683370190505b5060405160240161154e9493929190612345565b6040805160008152602081019091526060906114fb90879087908790879087905b855460018701546060916001600160a01b0390811691634329d293911680636041ae9689898960006116a2565b606061176b87878787878760006040519080825280601f01601f191660200182016040528015611765576020820181803683370190505b50611776565b979650505050505050565b865460018801546060916001600160a01b0390811691634329d29391168063232d2b588a8a8a8a60006040519080825280601f01601f1916602001820160405280156117c9576020820181803683370190505b506040516024016117de959493929190612824565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b031916825261182b9392509087908d9060040161293c565b6000604051808303816000875af115801561184a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118729190810190612986565b5098975050505050505050565b606061176b87878787878760006040519080825280601f01601f1916602001820160405280156118b6576020820181803683370190505b505b865460018801546060916001600160a01b0390811691634329d293911680632e5e74c68a8a8a8a60005b6040519080825280601f01601f19166020018201604052801561190c576020820181803683370190505b506040516024016117de95949392919061224e565b606061176b87878787878760006040519080825280601f01601f191660200182016040528015611958576020820181803683370190505b505b865460018801546060916001600160a01b0390811691634329d29391168063acafa1b88a8a8a8a60006118e2565b6001600160a01b038116811461199d57600080fd5b50565b63ffffffff8116811461199d57600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b03811182821017156119eb576119eb6119b2565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611a1957611a196119b2565b604052919050565b60006001600160401b03821115611a3a57611a3a6119b2565b50601f01601f191660200190565b600082601f830112611a5957600080fd5b8135611a6c611a6782611a21565b6119f1565b818152846020838601011115611a8157600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611ab657600080fd5b8535611ac181611988565b94506020860135611ad181611988565b93506040860135611ae1816119a0565b92506060860135611af181611988565b915060808601356001600160401b03811115611b0c57600080fd5b611b1888828901611a48565b9150509295509295909350565b60008060008060808587031215611b3b57600080fd5b8435611b4681611988565b93506020850135611b5681611988565b92506040850135611b66816119a0565b915060608501356001600160401b03811115611b8157600080fd5b611b8d87828801611a48565b91505092959194509250565b600080600060608486031215611bae57600080fd5b8335611bb981611988565b92506020840135611bc9816119a0565b915060408401356001600160401b03811115611be457600080fd5b611bf086828701611a48565b9150509250925092565b60008083601f840112611c0c57600080fd5b5081356001600160401b03811115611c2357600080fd5b602083019150836020828501011115611c3b57600080fd5b9250929050565b600080600080600080600080600060c08a8c031215611c6057600080fd5b8935611c6b81611988565b985060208a0135611c7b81611988565b975060408a0135965060608a01356001600160401b0380821115611c9e57600080fd5b611caa8d838e01611bfa565b909850965060808c0135915080821115611cc357600080fd5b611ccf8d838e01611bfa565b909650945060a08c0135915080821115611ce857600080fd5b50611cf58c828d01611bfa565b915080935050809150509295985092959850929598565b60005b83811015611d27578181015183820152602001611d0f565b50506000910152565b60008151808452611d48816020860160208601611d0c565b601f01601f19169290920160200192915050565b602081526000611d6f6020830184611d30565b9392505050565b60008060408385031215611d8957600080fd5b8235611d9481611988565b946020939093013593505050565b60008060008060808587031215611db857600080fd5b8435611dc381611988565b93506020850135611dd381611988565b92506040850135611de3816119a0565b9396929550929360600135925050565b600080600080600080600060a0888a031215611e0e57600080fd5b8735611e1981611988565b96506020880135611e2981611988565b95506040880135945060608801356001600160401b0380821115611e4c57600080fd5b611e588b838c01611bfa565b909650945060808a0135915080821115611e7157600080fd5b50611e7e8a828b01611bfa565b989b979a50959850939692959293505050565b6001600160801b038116811461199d57600080fd5b60008060008060808587031215611ebc57600080fd5b8435611ec781611988565b93506020850135611ed7816119a0565b92506040850135611b6681611e91565b60008060408385031215611efa57600080fd5b8235611f0581611988565b91506020830135611f1581611988565b809150509250929050565b600081518084526020808501945080840160005b83811015611f595781516001600160801b031687529582019590820190600101611f34565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b82811015611fa65781516001600160a01b031684529284019290840190600101611f81565b5050508381038285015285518082528683019183019060005b81811015611fe157835163ffffffff1683529284019291840191600101611fbf565b50508481036040860152611ff58187611f20565b98975050505050505050565b600080600080600060a0868803121561201957600080fd5b853561202481611988565b94506020860135612034816119a0565b9350604086013561204481611988565b92506060860135611af181611e91565b6000806000806080858703121561206a57600080fd5b843561207581611988565b9350602085013561208581611988565b92506040850135612095816119a0565b915060608501356120a581611988565b939692955090935050565b6000806000606084860312156120c557600080fd5b83356120d081611988565b925060208401356120e081611988565b915060408401356120f0816119a0565b809150509250925092565b60008060006060848603121561211057600080fd5b833561211b81611988565b9250602084013561212b816119a0565b929592945050506040919091013590565b60008060006060848603121561215157600080fd5b833561215c81611988565b9250602084013561216c816119a0565b915060408401356120f081611e91565b6000806000806080858703121561219257600080fd5b843561219d81611988565b935060208501356121ad816119a0565b925060408501356121bd81611988565b915060608501356120a581611e91565b600080604083850312156121e057600080fd5b82356121eb81611988565b91506020830135611f15816119a0565b6000806000806080858703121561221157600080fd5b843561221c81611988565b9350602085013561222c816119a0565b92506040850135915060608501356001600160401b03811115611b8157600080fd5b6001600160a01b038681168252858116602083015263ffffffff851660408301528316606082015260a06080820181905260009061176b90830184611d30565b6001600160a01b03841681526060602082018190526000906122b290830185611d30565b82810360408401526114fb8185611d30565b600082601f8301126122d557600080fd5b81516122e3611a6782611a21565b8181528460208386010111156122f857600080fd5b612309826020830160208701611d0c565b949350505050565b60006020828403121561232357600080fd5b81516001600160401b0381111561233957600080fd5b612309848285016122c4565b6001600160a01b0385811682528416602082015263ffffffff831660408201526080606082018190526000906114fb90830184611d30565b6001600160a01b038416815263ffffffff831660208201526060604082018190526000906113e790830184611d30565b805160ff811681146123be57600080fd5b919050565b80516123be81611988565b80516001600160e01b0319811681146123be57600080fd5b6000602082840312156123f857600080fd5b81516001600160401b038082111561240f57600080fd5b90830190610160828603121561242457600080fd5b61242c6119c8565b612435836123ad565b8152612443602084016123ad565b60208201526040830151604082015261245e606084016123c3565b606082015261246f608084016123ce565b608082015260a08301518281111561248657600080fd5b612492878286016122c4565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506124c98284016123c3565b8282015261014091506124dd8284016123c3565b91810191909152949350505050565b600080600080600060a0868803121561250457600080fd5b61250d866123ad565b9450602086015161251d816119a0565b604087015190945061252e81611988565b606087015190935061253f81611988565b608087015190925061255081611e91565b809150509295509295909350565b6020808252600890820152676f682068656c6c6f60c01b604082015260600190565b805180151581146123be57600080fd5b600080600080600060a086880312156125a857600080fd5b85516125b381611988565b60208701519095506125c4816119a0565b93506125d260408701612580565b925060608601516125e281611e91565b80925050608086015190509295509295909350565b6000806040838503121561260a57600080fd5b825191506020830151611f1581611e91565b6001600160a01b038516815263ffffffff841660208201526001600160801b03831660408201526080606082018190526000906114fb90830184611d30565b60006001600160401b03821115612674576126746119b2565b5060051b60200190565b600082601f83011261268f57600080fd5b8151602061269f611a678361265b565b82815260059290921b840181019181810190868411156126be57600080fd5b8286015b848110156114cb5780516126d5816119a0565b83529183019183016126c2565b600082601f8301126126f357600080fd5b81516020612703611a678361265b565b82815260059290921b8401810191818101908684111561272257600080fd5b8286015b848110156114cb57805161273981611e91565b8352918301918301612726565b60008060006060848603121561275b57600080fd5b83516001600160401b038082111561277257600080fd5b818601915086601f83011261278657600080fd5b81516020612796611a678361265b565b82815260059290921b8401810191818101908a8411156127b557600080fd5b948201945b838610156127dc5785516127cd81611988565b825294820194908201906127ba565b918901519197509093505050808211156127f557600080fd5b6128018783880161267e565b9350604086015191508082111561281757600080fd5b50611bf0868287016126e2565b6001600160a01b03868116825263ffffffff86166020830152841660408201526001600160801b038316606082015260a06080820181905260009061176b90830184611d30565b6000806000806080858703121561288157600080fd5b61288a85612580565b9350602085015161289a81611e91565b60408601519093506128ab81611e91565b60608601519092506120a581611e91565b600080600080608085870312156128d257600080fd5b6128db85612580565b93506128e960208601612580565b925060408501516128f981611e91565b6060959095015193969295505050565b60018060a01b038516815263ffffffff841660208201528260408201526080606082015260006114fb6080830184611d30565b6001600160a01b038516815260806020820181905260009061296090830186611d30565b82810360408401526129728186611d30565b9050828103606084015261176b8185611d30565b6000806040838503121561299957600080fd5b82516001600160401b03808211156129b057600080fd5b6129bc868387016122c4565b935060208501519150808211156129d257600080fd5b506129df858286016122c4565b915050925092905056fea2646970667358221220540c670f6b54e43c83744d665322887cd125696eb93f00572c0c6d752f05f4ce64736f6c63430008130033",g5=eb=>eb.length>1;class g8 extends u9.lV{constructor(...eb){g5(eb)?super(...eb):super(g4,g3,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(g4)}static connect(eb,em){return new u9.CH(eb,g4,em)}}g8.bytecode=g3,g8.abi=g4;let g9=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerAppWithHost",outputs:[],stateMutability:"nonpayable",type:"function"}],g7="0x608060405234801561001057600080fd5b5061012c806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063ad88671d14602d575b600080fd5b603c603836600460ba565b603e565b005b6040516379b9982960e11b81526001600160a01b0383811660048301526024820183905284169063f373305290604401600060405180830381600087803b158015608757600080fd5b505af1158015609a573d6000803e3d6000fd5b50505050505050565b6001600160a01b038116811460b757600080fd5b50565b60008060006060848603121560ce57600080fd5b833560d78160a3565b9250602084013560e58160a3565b92959294505050604091909101359056fea26469706673582212209d1aa54def2a7911131c670eab564d0de4f81530d4ff9780c8d61da748c5019e64736f6c63430008130033",Lb=eb=>eb.length>1;class Lm extends u9.lV{constructor(...eb){Lb(eb)?super(...eb):super(g9,g7,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(g9)}static connect(eb,em){return new u9.CH(eb,g9,em)}}Lm.bytecode=g7,Lm.abi=g9;let Ly=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"},{internalType:"bool",name:"doubleRegistration",type:"bool"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"appLevel",type:"uint8"},{indexed:!1,internalType:"uint8",name:"callType",type:"uint8"},{indexed:!1,internalType:"bytes4",name:"agreementSelector",type:"bytes4"}],name:"NoopEvent",type:"event"},{inputs:[{internalType:"contract AgreementMock",name:"agreement",type:"address"},{internalType:"string",name:"reason",type:"string"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionAgreementRevert",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionAlteringCtx",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionAssert",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallActionNoop",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallActionNoopThroughAux",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"reason",type:"string"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallActionRevert",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"reason",type:"string"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallActionWithInvalidCtx",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract AgreementMock",name:"agreement",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallAgreementWithInvalidCtx",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallAgreementWithoutCtx",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallAppActionWithoutCtx",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallBadAction",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallPayable",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"expectedMsgSender",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionExpectMsgSender",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionNoop",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract AgreementMock",name:"agreement",type:"address"},{internalType:"uint256",name:"ping",type:"uint256"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionPingAgreement",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract AgreementMock",name:"agreement",type:"address"},{internalType:"uint256",name:"ping",type:"uint256"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionPingAgreementThroughAux",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionReturnEmptyCtx",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionRevert",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"reason",type:"string"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionRevertWithReason",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"target",type:"address"}],name:"allowCompositeApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"enum SuperAppMock.NextCallbackActionType",name:"actionType",type:"uint8"},{internalType:"bytes",name:"data",type:"bytes"}],name:"setNextCallbackAction",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"configWord",type:"uint256"}],name:"tryRegisterApp",outputs:[],stateMutability:"nonpayable",type:"function"}],Lg="0x60806040523480156200001157600080fd5b506040516200341d3803806200341d833981016040819052620000349162000190565b600080546001600160a01b0319166001600160a01b03851690811782556040805163bd1c448b60e01b815260048101869052602481019190915260448101929092529063bd1c448b90606401600060405180830381600087803b1580156200009b57600080fd5b505af1158015620000b0573d6000803e3d6000fd5b5050505080156200012c57600080546040805163bd1c448b60e01b815260048101869052602481019190915260448101929092526001600160a01b03169063bd1c448b90606401600060405180830381600087803b1580156200011257600080fd5b505af115801562000127573d6000803e3d6000fd5b505050505b6040516200013a9062000182565b604051809103906000f08015801562000157573d6000803e3d6000fd5b50600180546001600160a01b0319166001600160a01b039290921691909117905550620001e7915050565b6106478062002dd683390190565b600080600060608486031215620001a657600080fd5b83516001600160a01b0381168114620001be57600080fd5b6020850151604086015191945092508015158114620001dc57600080fd5b809150509250925092565b612bdf80620001f76000396000f3fe6080604052600436106101b75760003560e01c80636affc782116100ec578063b88bd14f1161008a578063dc1ce9cb11610064578063dc1ce9cb14610454578063e772ecc114610467578063ecdccfd914610487578063fe5f2b9b146104a757600080fd5b8063b88bd14f14610414578063bc90ea3c14610434578063d86ed3e51461025457600080fd5b8063884d1f40116100c6578063884d1f401461029457806390d4b672146103b4578063a6b71066146103d4578063b88a2483146103f457600080fd5b80636affc78214610354578063772ce847146103745780637a7675a01461039457600080fd5b80633b790ac81161015957806357121e0c1161013357806357121e0c146102f457806358b0d33d146103145780635f9e7d7714610294578063602e48cd1461033457600080fd5b80633b790ac8146102b45780633fc3b0f7146102d457806353c11f991461025457600080fd5b80630bfe0f20116101955780630bfe0f201461021e578063230dbd291461025457806328fd0b471461027457806330d9c9151461029457600080fd5b80630769a69b146101bc57806308c95b5d146101de5780630a00b52d146101fe575b600080fd5b3480156101c857600080fd5b506101dc6101d736600461203c565b6104c7565b005b3480156101ea57600080fd5b506101dc6101f9366004612095565b6105e7565b34801561020a57600080fd5b506101dc61021936600461203c565b6106e3565b34801561022a57600080fd5b5061023e6102393660046120f0565b610844565b60405161024b9190612194565b60405180910390f35b34801561026057600080fd5b5061023e61026f3660046121ae565b6109cc565b34801561028057600080fd5b506101dc61028f366004612278565b610aa4565b3480156102a057600080fd5b5061023e6102af366004612291565b610aff565b3480156102c057600080fd5b506101dc6102cf36600461203c565b610b9e565b3480156102e057600080fd5b5061023e6102ef36600461232f565b610c24565b34801561030057600080fd5b506101dc61030f36600461238e565b610d9d565b34801561032057600080fd5b506101dc61032f36600461203c565b610dcf565b34801561034057600080fd5b5061023e61034f3660046120f0565b610ec7565b34801561036057600080fd5b5061023e61036f36600461203c565b61106d565b34801561038057600080fd5b506101dc61038f3660046123ab565b61111b565b3480156103a057600080fd5b506101dc6103af36600461203c565b61114c565b3480156103c057600080fd5b5061023e6103cf3660046123cf565b6111d2565b3480156103e057600080fd5b5061023e6103ef366004612095565b611346565b34801561040057600080fd5b506101dc61040f36600461203c565b6114b9565b34801561042057600080fd5b506101dc61042f36600461203c565b61157d565b34801561044057600080fd5b5061023e61044f36600461203c565b61160b565b61023e61046236600461203c565b611769565b34801561047357600080fd5b5061023e61048236600461203c565b6117a9565b34801561049357600080fd5b5061023e6104a236600461232f565b611929565b3480156104b357600080fd5b506101dc6104c236600461232f565b611a3b565b604051632fd0a1cd60e21b815282908290339063bf428734906104f0908590859060040161247a565b602060405180830381865afa15801561050d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105319190612496565b6105565760405162461bcd60e51b815260040161054d906124b8565b60405180910390fd5b600080546040805183815260208101848152818301928390526339255d5b60e01b9092526001600160a01b03909216926339255d5b926105999260448201612511565b6000604051808303816000875af11580156105b8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105e0919081019061260d565b5050505050565b604051632fd0a1cd60e21b815282908290339063bf42873490610610908590859060040161247a565b602060405180830381865afa15801561062d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106519190612496565b61066d5760405162461bcd60e51b815260040161054d906124b8565b600154600054604051630a1bcfa560e11b81526001600160a01b03928316926314379f4a926106a9929116908a908a908a908a90600401612641565b600060405180830381600087803b1580156106c357600080fd5b505af11580156106d7573d6000803e3d6000fd5b50505050505050505050565b604051632fd0a1cd60e21b815282908290339063bf4287349061070c908590859060040161247a565b602060405180830381865afa158015610729573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074d9190612496565b6107695760405162461bcd60e51b815260040161054d906124b8565b60008054604080519283526020830190526001600160a01b03169063ba48b5f89030908190636affc782906107a19060448101612194565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526107ee9392509089908990600401612675565b6000604051808303816000875af115801561080d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610835919081019061260d565b5061083e6126ac565b50505050565b604051632fd0a1cd60e21b815260609083908390339063bf42873490610870908590859060040161247a565b602060405180830381865afa15801561088d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b19190612496565b6108cd5760405162461bcd60e51b815260040161054d906124b8565b60008054604080519283526020830190526001600160a01b0390811691634329d29391899190821690638e6b27499061090e903090602a90604481016126c2565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b1790528151600081529081018252602a8183015281518082038301815260608201928390529387901b6001600160e01b03191690915261097a9493509091606482016126e9565b6000604051808303816000875af1158015610999573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109c19190810190612733565b509695505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf428734906109f8908590859060040161247a565b602060405180830381865afa158015610a15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a399190612496565b610a555760405162461bcd60e51b815260040161054d906124b8565b610a9485858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611add92505050565b9c9b505050505050505050505050565b6000546040516315a722b960e31b8152600481018390526001600160a01b039091169063ad3915c8906024015b600060405180830381600087803b158015610aeb57600080fd5b505af11580156105e0573d6000803e3d6000fd5b604051632fd0a1cd60e21b815260609083908390339063bf42873490610b2b908590859060040161247a565b602060405180830381865afa158015610b48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6c9190612496565b610b885760405162461bcd60e51b815260040161054d906124b8565b610b90611e33565b9a9950505050505050505050565b604051632fd0a1cd60e21b815282908290339063bf42873490610bc7908590859060040161247a565b602060405180830381865afa158015610be4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c089190612496565b61083e5760405162461bcd60e51b815260040161054d906124b8565b604051632fd0a1cd60e21b815260609083908390339063bf42873490610c50908590859060040161247a565b602060405180830381865afa158015610c6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c919190612496565b610cad5760405162461bcd60e51b815260040161054d906124b8565b60008054604080519283526020830190526001600160a01b03169063ba48b5f8903090819063fe5f2b9b90610ce9908d908d9060448101612796565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b1790528151602a8183015282518082039092018252808301928390529387901b6001600160e01b031916909152610d4b9493509091604401612511565b6000604051808303816000875af1158015610d6a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d92919081019061260d565b979650505050505050565b6000546040516315c4878360e21b81526001600160a01b038381166004830152909116906357121e0c90602401610ad1565b604051632fd0a1cd60e21b815282908290339063bf42873490610df8908590859060040161247a565b602060405180830381865afa158015610e15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e399190612496565b610e555760405162461bcd60e51b815260040161054d906124b8565b60015460005460405163131e7b7560e21b81526001600160a01b0392831692634c79edd492610e8f929116903090899089906004016127bc565b600060405180830381600087803b158015610ea957600080fd5b505af1158015610ebd573d6000803e3d6000fd5b5050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf42873490610ef3908590859060040161247a565b602060405180830381865afa158015610f10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f349190612496565b610f505760405162461bcd60e51b815260040161054d906124b8565b604051631fb6491d60e11b81526000903390633f6c923a90610f78908990899060040161247a565b600060405180830381865afa158015610f95573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fbd9190810190612822565b9050866001600160a01b031681606001516001600160a01b031614610fe457610fe46126ac565b7f5d497a0f141d2596bd23602421f1cc06c3b9ad6c29b51997cf62ca3f84754e1381600001518260200151836080015160405161102393929190612928565b60405180910390a185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929a9950505050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf42873490611099908590859060040161247a565b602060405180830381865afa1580156110b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110da9190612496565b6110f65760405162461bcd60e51b815260040161054d906124b8565b60408051602a6020820152016040516020818303038152906040529250505092915050565b6002805484919060ff1916600183600681111561113a5761113a61294f565b0217905550600361083e8284836129e7565b604051632fd0a1cd60e21b815282908290339063bf42873490611175908590859060040161247a565b602060405180830381865afa158015611192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b69190612496565b6101b75760405162461bcd60e51b815260040161054d906124b8565b604051632fd0a1cd60e21b815260609083908390339063bf428734906111fe908590859060040161247a565b602060405180830381865afa15801561121b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123f9190612496565b61125b5760405162461bcd60e51b815260040161054d906124b8565b60008054604080519283526020830190526001600160a01b0390811691634329d293918b919082169063edf02c4e9061129b908d908d9060448101612796565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526112f2939250908a8a60248301612aa6565b6000604051808303816000875af1158015611311573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113399190810190612733565b5098975050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf42873490611372908590859060040161247a565b602060405180830381865afa15801561138f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b39190612496565b6113cf5760405162461bcd60e51b815260040161054d906124b8565b60008054604080519283526020830190526001600160a01b0390811691634329d293918a9190821690638e6b27499061140f9030908d90604481016126c2565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052611466939250908a8a60248301612aa6565b6000604051808303816000875af1158015611485573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114ad9190810190612733565b50979650505050505050565b604051632fd0a1cd60e21b815282908290339063bf428734906114e2908590859060040161247a565b602060405180830381865afa1580156114ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115239190612496565b61153f5760405162461bcd60e51b815260040161054d906124b8565b60008054604080518381526020810191829052631e855cf360e01b9091526001600160a01b0390911691631e855cf391610599919060248101612afd565b604051632fd0a1cd60e21b815282908290339063bf428734906115a6908590859060040161247a565b602060405180830381865afa1580156115c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e79190612496565b6116035760405162461bcd60e51b815260040161054d906124b8565b61083e6126ac565b604051632fd0a1cd60e21b815260609083908390339063bf42873490611637908590859060040161247a565b602060405180830381865afa158015611654573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116789190612496565b6116945760405162461bcd60e51b815260040161054d906124b8565b60008054604080519283526020830190526001600160a01b03169063ba48b5f8903090819063e772ecc1906116cc9060448101612194565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252611719939250908a908a90600401612675565b6000604051808303816000875af1158015611738573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611760919081019061260d565b95945050505050565b606082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929695505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf428734906117d5908590859060040161247a565b602060405180830381865afa1580156117f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118169190612496565b6118325760405162461bcd60e51b815260040161054d906124b8565b604051631fb6491d60e11b81526000903390633f6c923a9061185a908990899060040161247a565b600060405180830381865afa158015611877573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261189f9190810190612822565b90507f5d497a0f141d2596bd23602421f1cc06c3b9ad6c29b51997cf62ca3f84754e138160000151826020015183608001516040516118e093929190612928565b60405180910390a185858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929998505050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf42873490611955908590859060040161247a565b602060405180830381865afa158015611972573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119969190612496565b6119b25760405162461bcd60e51b815260040161054d906124b8565b60008054604080519283526020830190526001600160a01b03169063ba48b5f8903090819063fe5f2b9b906119ee908d908d9060448101612796565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610d4b939250908a908a90600401612675565b604051632fd0a1cd60e21b815282908290339063bf42873490611a64908590859060040161247a565b602060405180830381865afa158015611a81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa59190612496565b611ac15760405162461bcd60e51b815260040161054d906124b8565b858560405162461bcd60e51b815260040161054d92919061247a565b604051631fb6491d60e11b81526060906000903390633f6c923a90611b06908690600401612194565b600060405180830381865afa158015611b23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b4b9190810190612822565b9050600060025460ff166006811115611b6657611b6661294f565b03611bb9577f5d497a0f141d2596bd23602421f1cc06c3b9ad6c29b51997cf62ca3f84754e13816000015182602001518360800151604051611baa93929190612928565b60405180910390a15090919050565b600160025460ff166006811115611bd257611bd261294f565b03611be457611bdf6126ac565b611e2d565b6002805460ff166006811115611bfc57611bfc61294f565b03611c0657600080fd5b600360025460ff166006811115611c1f57611c1f61294f565b03611cdb5760038054611c3190612965565b80601f0160208091040260200160405190810160405280929190818152602001828054611c5d90612965565b8015611caa5780601f10611c7f57610100808354040283529160200191611caa565b820191906000526020600020905b815481529060010190602001808311611c8d57829003601f168201915b5050505050806020019051810190611cc29190612b21565b60405162461bcd60e51b815260040161054d9190612194565b600460025460ff166006811115611cf457611cf461294f565b03611d2e57602a5b6040519080825280601f01601f191660200182016040528015611d26576020820181803683370190505b509392505050565b600560025460ff166006811115611d4757611d4761294f565b03611e0057600060026001018054611d5e90612965565b80601f0160208091040260200160405190810160405280929190818152602001828054611d8a90612965565b8015611dd75780601f10611dac57610100808354040283529160200191611dd7565b820191906000526020600020905b815481529060010190602001808311611dba57829003601f168201915b5050505050806020019051810190611def9190612b69565b9050611dfa81611fc0565b50611e2d565b600660025460ff166006811115611e1957611e1961294f565b03611e25576000611cfc565b611e2d6126ac565b50919050565b6060600060025460ff166006811115611e4e57611e4e61294f565b03611e72575060408051808201909152600481526304e6f6f760e41b602082015290565b600160025460ff166006811115611e8b57611e8b61294f565b03611e9b57611e986126ac565b90565b6002805460ff166006811115611eb357611eb361294f565b03611ebd57600080fd5b600360025460ff166006811115611ed657611ed661294f565b03611ee85760038054611c3190612965565b600560025460ff166006811115611f0157611f0161294f565b03611fb857600060026001018054611f1890612965565b80601f0160208091040260200160405190810160405280929190818152602001828054611f4490612965565b8015611f915780601f10611f6657610100808354040283529160200191611f91565b820191906000526020600020905b815481529060010190602001808311611f7457829003601f168201915b5050505050806020019051810190611fa99190612b69565b9050611fb481611fc0565b5090565b611e986126ac565b60005a905060005a90505b611fd76103e884612b82565b611fe18284612b82565b1015611fef575a9050611fcb565b505050565b60008083601f84011261200657600080fd5b5081356001600160401b0381111561201d57600080fd5b60208301915083602082850101111561203557600080fd5b9250929050565b6000806020838503121561204f57600080fd5b82356001600160401b0381111561206557600080fd5b61207185828601611ff4565b90969095509350505050565b6001600160a01b038116811461209257600080fd5b50565b600080600080606085870312156120ab57600080fd5b84356120b68161207d565b93506020850135925060408501356001600160401b038111156120d857600080fd5b6120e487828801611ff4565b95989497509550505050565b60008060006040848603121561210557600080fd5b83356121108161207d565b925060208401356001600160401b0381111561212b57600080fd5b61213786828701611ff4565b9497909650939450505050565b60005b8381101561215f578181015183820152602001612147565b50506000910152565b60008151808452612180816020860160208601612144565b601f01601f19169290920160200192915050565b6020815260006121a76020830184612168565b9392505050565b600080600080600080600080600060c08a8c0312156121cc57600080fd5b89356121d78161207d565b985060208a01356121e78161207d565b975060408a0135965060608a01356001600160401b038082111561220a57600080fd5b6122168d838e01611ff4565b909850965060808c013591508082111561222f57600080fd5b61223b8d838e01611ff4565b909650945060a08c013591508082111561225457600080fd5b506122618c828d01611ff4565b915080935050809150509295985092959850929598565b60006020828403121561228a57600080fd5b5035919050565b600080600080600080600060a0888a0312156122ac57600080fd5b87356122b78161207d565b965060208801356122c78161207d565b95506040880135945060608801356001600160401b03808211156122ea57600080fd5b6122f68b838c01611ff4565b909650945060808a013591508082111561230f57600080fd5b5061231c8a828b01611ff4565b989b979a50959850939692959293505050565b6000806000806040858703121561234557600080fd5b84356001600160401b038082111561235c57600080fd5b61236888838901611ff4565b9096509450602087013591508082111561238157600080fd5b506120e487828801611ff4565b6000602082840312156123a057600080fd5b81356121a78161207d565b6000806000604084860312156123c057600080fd5b83356007811061211057600080fd5b6000806000806000606086880312156123e757600080fd5b85356123f28161207d565b945060208601356001600160401b038082111561240e57600080fd5b61241a89838a01611ff4565b9096509450604088013591508082111561243357600080fd5b5061244088828901611ff4565b969995985093965092949392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208152600061248e602083018486612451565b949350505050565b6000602082840312156124a857600080fd5b815180151581146121a757600080fd5b60208082526023908201527f41677265656d656e744d6f636b3a20637478206e6f742076616c6964206265666040820152626f726560e81b606082015260800190565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038416815260606020820181905260009061253590830185612168565b82810360408401526125478185612168565b9695505050505050565b60405161016081016001600160401b0381118282101715612574576125746124fb565b60405290565b60006001600160401b0380841115612594576125946124fb565b604051601f8501601f19908116603f011681019082821181831017156125bc576125bc6124fb565b816040528093508581528686860111156125d557600080fd5b6125e3866020830187612144565b5050509392505050565b600082601f8301126125fe57600080fd5b6121a78383516020850161257a565b60006020828403121561261f57600080fd5b81516001600160401b0381111561263557600080fd5b61248e848285016125ed565b6001600160a01b0386811682528516602082015260408101849052608060608201819052600090610d929083018486612451565b6001600160a01b038516815260606020820181905260009061269990830186612168565b8281036040840152610d92818587612451565b634e487b7160e01b600052600160045260246000fd5b60018060a01b03841681528260208201526060604082015260006117606060830184612168565b6001600160a01b038516815260806020820181905260009061270d90830186612168565b828103604084015261271f8186612168565b90508281036060840152610d928185612168565b6000806040838503121561274657600080fd5b82516001600160401b038082111561275d57600080fd5b612769868387016125ed565b9350602085015191508082111561277f57600080fd5b5061278c858286016125ed565b9150509250929050565b6040815260006127aa604083018587612451565b82810360208401526125478185612168565b6001600160a01b038581168252841660208201526060604082018190526000906125479083018486612451565b805160ff811681146127fa57600080fd5b919050565b80516127fa8161207d565b80516001600160e01b0319811681146127fa57600080fd5b60006020828403121561283457600080fd5b81516001600160401b038082111561284b57600080fd5b90830190610160828603121561286057600080fd5b612868612551565b612871836127e9565b815261287f602084016127e9565b60208201526040830151604082015261289a606084016127ff565b60608201526128ab6080840161280a565b608082015260a0830151828111156128c257600080fd5b6128ce878286016125ed565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506129058284016127ff565b8282015261014091506129198284016127ff565b91810191909152949350505050565b60ff93841681529190921660208201526001600160e01b0319909116604082015260600190565b634e487b7160e01b600052602160045260246000fd5b600181811c9082168061297957607f821691505b602082108103611e2d57634e487b7160e01b600052602260045260246000fd5b601f821115611fef57600081815260208120601f850160051c810160208610156129c05750805b601f850160051c820191505b818110156129df578281556001016129cc565b505050505050565b6001600160401b038311156129fe576129fe6124fb565b612a1283612a0c8354612965565b83612999565b6000601f841160018114612a465760008515612a2e5750838201355b600019600387901b1c1916600186901b1783556105e0565b600083815260209020601f19861690835b82811015612a775786850135825560209485019460019092019101612a57565b5086821015612a945760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6001600160a01b0386168152608060208201819052600090612aca90830187612168565b8281036040840152612adc8187612168565b90508281036060840152612af1818587612451565b98975050505050505050565b6001600160a01b038316815260406020820181905260009061248e90830184612168565b600060208284031215612b3357600080fd5b81516001600160401b03811115612b4957600080fd5b8201601f81018413612b5a57600080fd5b61248e8482516020840161257a565b600060208284031215612b7b57600080fd5b5051919050565b81810381811115612ba357634e487b7160e01b600052601160045260246000fd5b9291505056fea2646970667358221220861a3043cdcfb5d426309395ff2d94b16d4c195da794639afcb11e88acac0d5e64736f6c63430008130033608060405234801561001057600080fd5b50610627806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806314379f4a1461003b5780634c79edd414610050575b600080fd5b61004e61004936600461027e565b610063565b005b61004e61005e3660046102f1565b610148565b6040805160008152602081019091526001600160a01b0386811691634329d29391879190821690638e6b2749906100a19030908a90604481016103bc565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526100f893925090878760248301610415565b6000604051808303816000875af1158015610117573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261013f91908101906104f4565b50505050505050565b6040805160008152602081019091526001600160a01b038581169163ba48b5f89186919082169063e772ecc1906101829060448101610558565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526101cf9392509087908790600401610572565b6000604051808303816000875af11580156101ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261021691908101906105b4565b5050505050565b6001600160a01b038116811461023257600080fd5b50565b60008083601f84011261024757600080fd5b50813567ffffffffffffffff81111561025f57600080fd5b60208301915083602082850101111561027757600080fd5b9250929050565b60008060008060006080868803121561029657600080fd5b85356102a18161021d565b945060208601356102b18161021d565b935060408601359250606086013567ffffffffffffffff8111156102d457600080fd5b6102e088828901610235565b969995985093965092949392505050565b6000806000806060858703121561030757600080fd5b84356103128161021d565b935060208501356103228161021d565b9250604085013567ffffffffffffffff81111561033e57600080fd5b61034a87828801610235565b95989497509550505050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561038757818101518382015260200161036f565b50506000910152565b600081518084526103a881602086016020860161036c565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006103e36060830184610390565b95945050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038616815260806020820181905260009061043990830187610390565b828103604084015261044b8187610390565b905082810360608401526104608185876103ec565b98975050505050505050565b600082601f83011261047d57600080fd5b815167ffffffffffffffff8082111561049857610498610356565b604051601f8301601f19908116603f011681019082821181831017156104c0576104c0610356565b816040528381528660208588010111156104d957600080fd5b6104ea84602083016020890161036c565b9695505050505050565b6000806040838503121561050757600080fd5b825167ffffffffffffffff8082111561051f57600080fd5b61052b8683870161046c565b9350602085015191508082111561054157600080fd5b5061054e8582860161046c565b9150509250929050565b60208152600061056b6020830184610390565b9392505050565b6001600160a01b038516815260606020820181905260009061059690830186610390565b82810360408401526105a98185876103ec565b979650505050505050565b6000602082840312156105c657600080fd5b815167ffffffffffffffff8111156105dd57600080fd5b6105e98482850161046c565b94935050505056fea2646970667358221220585666bf2941bbeb18a3d67d1bfbbc3898d9d4eeda51c346ccd255e8aa72138a64736f6c63430008130033",Lv=eb=>eb.length>1;class Lz extends u9.lV{constructor(...eb){Lv(eb)?super(...eb):super(Ly,Lg,eb[0])}deploy(eb,em,ew,eM){return super.deploy(eb,em,ew,eM||{})}getDeployTransaction(eb,em,ew,eM){return super.getDeployTransaction(eb,em,ew,eM||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(Ly)}static connect(eb,em){return new u9.CH(eb,Ly,em)}}Lz.bytecode=Lg,Lz.abi=Ly;let Lw=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract SuperAppMock",name:"app",type:"address"},{internalType:"contract AgreementMock",name:"agreement",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"allowCompositeApp",outputs:[],stateMutability:"nonpayable",type:"function"}],LM="0x608060405234801561001057600080fd5b5060405161068338038061068383398101604081905261002f916100fc565b600080546001600160a01b0319166001600160a01b03851690811782556040805163bd1c448b60e01b815260026004820152602481019190915260448101929092529063bd1c448b90606401600060405180830381600087803b15801561009557600080fd5b505af11580156100a9573d6000803e3d6000fd5b5050600180546001600160a01b039586166001600160a01b031991821617909155600280549490951693169290921790925550610149915050565b6001600160a01b03811681146100f957600080fd5b50565b60008060006060848603121561011157600080fd5b835161011c816100e4565b602085015190935061012d816100e4565b604085015190925061013e816100e4565b809150509250925092565b61052b806101586000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80631727b0fa1461003b578063d86ed3e514610045575b600080fd5b61004361006e565b005b610058610053366004610225565b6100d1565b6040516100659190610340565b60405180910390f35b6000546001546040516315c4878360e21b81526001600160a01b0391821660048201529116906357121e0c90602401600060405180830381600087803b1580156100b757600080fd5b505af11580156100cb573d6000803e3d6000fd5b50505050565b60008054600254600154604080519485526020850190526060936001600160a01b0393841693634329d29393811692839263546588739261011792169060448101610370565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b031916905261016e9392509088886024830161039c565b6000604051808303816000875af115801561018d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101b59190810190610491565b509a9950505050505050505050565b6001600160a01b03811681146101d957600080fd5b50565b60008083601f8401126101ee57600080fd5b50813567ffffffffffffffff81111561020657600080fd5b60208301915083602082850101111561021e57600080fd5b9250929050565b600080600080600080600080600060c08a8c03121561024357600080fd5b893561024e816101c4565b985060208a013561025e816101c4565b975060408a0135965060608a013567ffffffffffffffff8082111561028257600080fd5b61028e8d838e016101dc565b909850965060808c01359150808211156102a757600080fd5b6102b38d838e016101dc565b909650945060a08c01359150808211156102cc57600080fd5b506102d98c828d016101dc565b915080935050809150509295985092959850929598565b60005b8381101561030b5781810151838201526020016102f3565b50506000910152565b6000815180845261032c8160208601602086016102f0565b601f01601f19169290920160200192915050565b6020815260006103536020830184610314565b9392505050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038316815260406020820181905260009061039490830184610314565b949350505050565b6001600160a01b03861681526080602082018190526000906103c090830187610314565b82810360408401526103d28187610314565b90508281036060840152838152838560208301376000602085830101526020601f19601f8601168201019150509695505050505050565b600082601f83011261041a57600080fd5b815167ffffffffffffffff808211156104355761043561035a565b604051601f8301601f19908116603f0116810190828211818310171561045d5761045d61035a565b8160405283815286602085880101111561047657600080fd5b6104878460208301602089016102f0565b9695505050505050565b600080604083850312156104a457600080fd5b825167ffffffffffffffff808211156104bc57600080fd5b6104c886838701610409565b935060208501519150808211156104de57600080fd5b506104eb85828601610409565b915050925092905056fea2646970667358221220a34ea7ec2ef6a12d74facb1484b34fd4851ed71b8d9925b6354b256352c4b28c64736f6c63430008130033",LC=eb=>eb.length>1;class Lx extends u9.lV{constructor(...eb){LC(eb)?super(...eb):super(Lw,LM,eb[0])}deploy(eb,em,ew,eM){return super.deploy(eb,em,ew,eM||{})}getDeployTransaction(eb,em,ew,eM){return super.getDeployTransaction(eb,em,ew,eM||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(Lw)}static connect(eb,em){return new u9.CH(eb,Lw,em)}}Lx.bytecode=LM,Lx.abi=Lw;let Lk=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract SuperAppMock",name:"app",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionCallActionNoop",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract AgreementMock",name:"agreement",type:"address"},{internalType:"uint256",name:"ping",type:"uint256"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"actionPingAgreement",outputs:[],stateMutability:"nonpayable",type:"function"}],LT="0x608060405234801561001057600080fd5b50610627806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806314379f4a1461003b5780634c79edd414610050575b600080fd5b61004e61004936600461027e565b610063565b005b61004e61005e3660046102f1565b610148565b6040805160008152602081019091526001600160a01b0386811691634329d29391879190821690638e6b2749906100a19030908a90604481016103bc565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526100f893925090878760248301610415565b6000604051808303816000875af1158015610117573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261013f91908101906104f4565b50505050505050565b6040805160008152602081019091526001600160a01b038581169163ba48b5f89186919082169063e772ecc1906101829060448101610558565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526101cf9392509087908790600401610572565b6000604051808303816000875af11580156101ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261021691908101906105b4565b5050505050565b6001600160a01b038116811461023257600080fd5b50565b60008083601f84011261024757600080fd5b50813567ffffffffffffffff81111561025f57600080fd5b60208301915083602082850101111561027757600080fd5b9250929050565b60008060008060006080868803121561029657600080fd5b85356102a18161021d565b945060208601356102b18161021d565b935060408601359250606086013567ffffffffffffffff8111156102d457600080fd5b6102e088828901610235565b969995985093965092949392505050565b6000806000806060858703121561030757600080fd5b84356103128161021d565b935060208501356103228161021d565b9250604085013567ffffffffffffffff81111561033e57600080fd5b61034a87828801610235565b95989497509550505050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561038757818101518382015260200161036f565b50506000910152565b600081518084526103a881602086016020860161036c565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006103e36060830184610390565b95945050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038616815260806020820181905260009061043990830187610390565b828103604084015261044b8187610390565b905082810360608401526104608185876103ec565b98975050505050505050565b600082601f83011261047d57600080fd5b815167ffffffffffffffff8082111561049857610498610356565b604051601f8301601f19908116603f011681019082821181831017156104c0576104c0610356565b816040528381528660208588010111156104d957600080fd5b6104ea84602083016020890161036c565b9695505050505050565b6000806040838503121561050757600080fd5b825167ffffffffffffffff8082111561051f57600080fd5b61052b8683870161046c565b9350602085015191508082111561054157600080fd5b5061054e8582860161046c565b9150509250929050565b60208152600061056b6020830184610390565b9392505050565b6001600160a01b038516815260606020820181905260009061059690830186610390565b82810360408401526105a98185876103ec565b979650505050505050565b6000602082840312156105c657600080fd5b815167ffffffffffffffff8111156105dd57600080fd5b6105e98482850161046c565b94935050505056fea2646970667358221220585666bf2941bbeb18a3d67d1bfbbc3898d9d4eeda51c346ccd255e8aa72138a64736f6c63430008130033",L_=eb=>eb.length>1;class LE extends u9.lV{constructor(...eb){L_(eb)?super(...eb):super(Lk,LT,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(Lk)}static connect(eb,em){return new u9.CH(eb,Lk,em)}}LE.bytecode=LT,LE.abi=Lk;let LS=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementCreated",outputs:[],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[],stateMutability:"pure",type:"function"}],LA="0x608060405234801561001057600080fd5b5060405161037638038061037683398101604081905261002f916100b3565b600080546001600160a01b0319166001600160a01b03831690811782556040805163bd1c448b60e01b815260016004820152602481019190915260448101929092529063bd1c448b90606401600060405180830381600087803b15801561009557600080fd5b505af11580156100a9573d6000803e3d6000fd5b50505050506100e3565b6000602082840312156100c557600080fd5b81516001600160a01b03811681146100dc57600080fd5b9392505050565b610284806100f26000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806330d9c9151461005157806353c11f991461006a5780635f9e7d7714610051578063d86ed3e51461006a575b600080fd5b61006861005f3660046100e4565b50505050505050565b005b610068610078366004610183565b505050505050505050565b6001600160a01b038116811461009857600080fd5b50565b60008083601f8401126100ad57600080fd5b50813567ffffffffffffffff8111156100c557600080fd5b6020830191508360208285010111156100dd57600080fd5b9250929050565b600080600080600080600060a0888a0312156100ff57600080fd5b873561010a81610083565b9650602088013561011a81610083565b955060408801359450606088013567ffffffffffffffff8082111561013e57600080fd5b61014a8b838c0161009b565b909650945060808a013591508082111561016357600080fd5b506101708a828b0161009b565b989b979a50959850939692959293505050565b600080600080600080600080600060c08a8c0312156101a157600080fd5b89356101ac81610083565b985060208a01356101bc81610083565b975060408a0135965060608a013567ffffffffffffffff808211156101e057600080fd5b6101ec8d838e0161009b565b909850965060808c013591508082111561020557600080fd5b6102118d838e0161009b565b909650945060a08c013591508082111561022a57600080fd5b506102378c828d0161009b565b91508093505080915050929598509295985092959856fea2646970667358221220928d3badbea72c78d28879ab2e396b4d98d714f4a57f1a7baa30743d7073e67064736f6c63430008130033",LN=eb=>eb.length>1;class LI extends u9.lV{constructor(...eb){LN(eb)?super(...eb):super(LS,LA,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(LS)}static connect(eb,em){return new u9.CH(eb,LS,em)}}LI.bytecode=LA,LI.abi=LS;let LD=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"}],LO="0x608060405234801561001057600080fd5b506040516102be3803806102be83398101604081905261002f916100b3565b600080546001600160a01b0319166001600160a01b03831690811782556040805163bd1c448b60e01b815260016004820152602481019190915260448101929092529063bd1c448b90606401600060405180830381600087803b15801561009557600080fd5b505af11580156100a9573d6000803e3d6000fd5b50505050506100e3565b6000602082840312156100c557600080fd5b81516001600160a01b03811681146100dc57600080fd5b9392505050565b6101cc806100f26000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806353c11f991461003b578063d86ed3e51461003b575b600080fd5b6100586100493660046100cb565b602a9998505050505050505050565b60405190815260200160405180910390f35b6001600160a01b038116811461007f57600080fd5b50565b60008083601f84011261009457600080fd5b50813567ffffffffffffffff8111156100ac57600080fd5b6020830191508360208285010111156100c457600080fd5b9250929050565b600080600080600080600080600060c08a8c0312156100e957600080fd5b89356100f48161006a565b985060208a01356101048161006a565b975060408a0135965060608a013567ffffffffffffffff8082111561012857600080fd5b6101348d838e01610082565b909850965060808c013591508082111561014d57600080fd5b6101598d838e01610082565b909650945060a08c013591508082111561017257600080fd5b5061017f8c828d01610082565b91508093505080915050929598509295985092959856fea2646970667358221220ae9e55f1252767e4093061ca0d586a569800693cd0cb0a9b8cc24e52ff6990ff64736f6c63430008130033",LP=eb=>eb.length>1;class LR extends u9.lV{constructor(...eb){LP(eb)?super(...eb):super(LD,LO,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(LD)}static connect(eb,em){return new u9.CH(eb,LD,em)}}LR.bytecode=LO,LR.abi=LD;let LB=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"}],LF="0x6080604052348015600f57600080fd5b5060405161010f38038061010f833981016040819052602c91608a565b6040516315a722b960e31b8152600481018290526001600160a01b0383169063ad3915c890602401600060405180830381600087803b158015606d57600080fd5b505af11580156080573d6000803e3d6000fd5b50505050505060c2565b60008060408385031215609c57600080fd5b82516001600160a01b038116811460b257600080fd5b6020939093015192949293505050565b603f806100d06000396000f3fe6080604052600080fdfea2646970667358221220237ff68f2012f03170d97fb09b28735389f67ff1d95f2e441d5041982818fc9764736f6c63430008130033",Lj=eb=>eb.length>1;class LU extends u9.lV{constructor(...eb){Lj(eb)?super(...eb):super(LB,LF,eb[0])}deploy(eb,em,ew){return super.deploy(eb,em,ew||{})}getDeployTransaction(eb,em,ew){return super.getDeployTransaction(eb,em,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(LB)}static connect(eb,em){return new u9.CH(eb,LB,em)}}LU.bytecode=LF,LU.abi=LB;let LV=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"},{internalType:"string",name:"registrationKey",type:"string"}],stateMutability:"nonpayable",type:"constructor"}],LH="0x608060405234801561001057600080fd5b5060405161022f38038061022f83398101604081905261002f916100d1565b60405163bd1c448b60e01b81526001600160a01b0384169063bd1c448b9061005d90859085906004016101a8565b600060405180830381600087803b15801561007757600080fd5b505af115801561008b573d6000803e3d6000fd5b505050505050506101e2565b634e487b7160e01b600052604160045260246000fd5b60005b838110156100c85781810151838201526020016100b0565b50506000910152565b6000806000606084860312156100e657600080fd5b83516001600160a01b03811681146100fd57600080fd5b6020850151604086015191945092506001600160401b038082111561012157600080fd5b818601915086601f83011261013557600080fd5b81518181111561014757610147610097565b604051601f8201601f19908116603f0116810190838211818310171561016f5761016f610097565b8160405282815289602084870101111561018857600080fd5b6101998360208301602088016100ad565b80955050505050509250925092565b82815260406020820152600082518060408401526101cd8160608501602087016100ad565b601f01601f1916919091016060019392505050565b603f806101f06000396000f3fe6080604052600080fdfea26469706673582212201ec3435856d0aa036ac13fc39fc9f7f2c45e38e6f89ac6783597919f6a2a712664736f6c63430008130033",L$=eb=>eb.length>1;class Lq extends u9.lV{constructor(...eb){L$(eb)?super(...eb):super(LV,LH,eb[0])}deploy(eb,em,ew,eM){return super.deploy(eb,em,ew,eM||{})}getDeployTransaction(eb,em,ew,eM){return super.getDeployTransaction(eb,em,ew,eM||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(LV)}static connect(eb,em){return new u9.CH(eb,LV,em)}}Lq.bytecode=LH,Lq.abi=LV;let LW=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"superTokenLogic",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_NON_UPGRADEABLE_IS_DEPRECATED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_GOVERNANCE_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_HOST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_UNINITIALIZED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"CustomSuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"SuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"tokenLogic",type:"address"}],name:"SuperTokenLogicCreated",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"_SUPER_TOKEN_LOGIC",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingToken",type:"address"}],name:"computeCanonicalERC20WrapperAddress",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"},{internalType:"bool",name:"isDeployed",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"_underlyingToken",type:"address"}],name:"createCanonicalERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingTokenAddress",type:"address"}],name:"getCanonicalERC20Wrapper",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenLogic",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"underlyingToken",type:"address"},{internalType:"address",name:"superToken",type:"address"}],internalType:"struct SuperTokenFactoryBase.InitializeData[]",name:"_data",type:"tuple[]"}],name:"initializeCanonicalWrapperSuperTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"customSuperTokenProxy",type:"address"}],name:"initializeCustomSuperToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}],LZ="0x6101006040523480156200001257600080fd5b506040516200221d3803806200221d833981016040819052620000359162000107565b6001600160a01b0380851660a052831660808190526040805163132075a760e31b81529051869286928692869291639903ad3891600480830192600092919082900301818387803b1580156200008a57600080fd5b505af19250505080156200009c575060015b506001600160a01b0380831660c05281811660e0526080516040519116907fc13fb19d60857980e565bf5dae406b8802d3c1cec50c6156b30b12b87402978390600090a250505050505050506200016f565b6001600160a01b03811681146200010457600080fd5b50565b600080600080608085870312156200011e57600080fd5b84516200012b81620000ee565b60208601519094506200013e81620000ee565b60408601519093506200015181620000ee565b60608601519092506200016481620000ee565b939692955090935050565b60805160a05160c05160e05161202e620001ef6000396000818161020601526109b40152600081816101df015261089b015260008181610158015281816107770152610c88015260008181610245015281816102c601528181610465015281816108ca015281816109e301528181610fc00152611115015261202e6000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80638129fc1c116100ad578063bab74c8911610071578063bab74c891461028f578063cbf927b3146102c1578063d412d344146102e8578063e094be24146102fb578063eff0a89d1461030e57600080fd5b80638129fc1c1461023b5780639470a5b21461024357806397e011ed146102695780639903ad381461023b578063a6d0c5341461027c57600080fd5b806350d75d25116100f457806350d75d25146101a457806352d1902d146101ac5780635365d19f146101da5780635a7792df146102015780636c684bb01461022857600080fd5b8063151188dc1461012657806320bc442514610156578063431f14811461017c578063469519541461018f575b600080fd5b61013961013436600461151d565b61033a565b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610139565b61013961018a36600461159e565b6106ed565b6101a261019d36600461151d565b61076c565b005b610139610ac7565b6040517fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620815260200161014d565b6101397f000000000000000000000000000000000000000000000000000000000000000081565b6101397f000000000000000000000000000000000000000000000000000000000000000081565b610139610236366004611631565b610af6565b6101a2610b75565b7f0000000000000000000000000000000000000000000000000000000000000000610139565b6101a26102773660046116d8565b610c84565b61013961028a36600461175c565b610e93565b6102a261029d36600461151d565b610ea6565b604080516001600160a01b03909316835290151560208301520161014d565b6101397f000000000000000000000000000000000000000000000000000000000000000081565b6101a26102f636600461151d565b610fa9565b610139610309366004611802565b61105f565b61013961031c36600461151d565b6001600160a01b039081166000908152600160205260409020541690565b600080805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b031661038c576040516306ce6e6d60e21b815260040160405180910390fd5b6001600160a01b0380831660009081526001602052604090205483911680156103c8576040516348eb3cb960e11b815260040160405180910390fd5b604080516001600160a01b038416602082015260009101604051602081830303815290604052805190602001209050600081604051610406906114ee565b8190604051809103906000f5905080158015610426573d6000803e3d6000fd5b506001600160a01b038581166000908152600160205260409081902080546001600160a01b0319168484169081179091559051634a0687ef60e01b81527f00000000000000000000000000000000000000000000000000000000000000009092166004830152919250634a0687ef90602401600060405180830381600087803b1580156104b257600080fd5b505af11580156104c6573d6000803e3d6000fd5b5050505060008190506000876001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053391906118bb565b90506000886001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610575573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261059d9190810190611912565b90506000896001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106079190810190611912565b9050836001600160a01b03166342fe09808b858560405160200161062b91906119b4565b6040516020818303038152906040528560405160200161064b91906119e2565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016106799493929190611a33565b600060405180830381600087803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b50506040516001600160a01b03871692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a2509198975050505050505050565b600061076187886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075591906118bb565b8888888888600061105f565b979650505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107b55760405163478b8e8360e01b815260040160405180910390fd5b6107be816112b4565b60008190506000816001600160a01b0316635365d19f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108279190611a72565b90506000826001600160a01b0316635a7792df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610869573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088d9190611a72565b9050816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146109a8577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef43d2c66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610926573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094a9190611a72565b6040516311a5465560e21b81526001600160a01b0384811660048301529190911690634695195490602401600060405180830381600087803b15801561098f57600080fd5b505af11580156109a3573d6000803e3d6000fd5b505050505b806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614610ac1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634c5c0c856040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a639190611a72565b6040516311a5465560e21b81526001600160a01b0383811660048301529190911690634695195490602401600060405180830381600087803b158015610aa857600080fd5b505af1158015610abc573d6000803e3d6000fd5b505050505b50505050565b6000610af17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000610b6988896001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5e91906118bb565b89898989898961105f565b98975050505050505050565b600054610100900460ff1615808015610b955750600054600160ff909116105b80610baf5750303b158015610baf575060005460ff166001145b610c175760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610c3a576000805461ff0019166101001790555b8015610c81576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b50565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ce4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d089190611a72565b9050806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6c9190611a72565b6001600160a01b0316336001600160a01b031614610d9d57604051632bf2a63360e21b815260040160405180910390fd5b6000805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b031615610def576040516348eb3cb960e11b815260040160405180910390fd5b60005b82811015610ac157838382818110610e0c57610e0c611a8f565b9050604002016020016020810190610e24919061151d565b60016000868685818110610e3a57610e3a611a8f565b610e50926020604090920201908101915061151d565b6001600160a01b039081168252602082019290925260400160002080546001600160a01b0319169290911691909117905580610e8b81611aa5565b915050610df2565b6000610b6988888888888888600061105f565b6001600160a01b0380821660009081526001602052604081205490918291168015610ed75780925060019150610fa3565b600060405180602001610ee9906114ee565b601f1982820381018352601f9091011660408181526001600160a01b03881660208301529192506001600160f81b031991309101604051602081830303815290604052805190602001208380519060200120604051602001610f8294939291906001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b6040516020818303038152906040528051906020012060001c935060009250505b50915091565b604051634a0687ef60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152829190821690634a0687ef90602401600060405180830381600087803b15801561100f57600080fd5b505af1158015611023573d6000803e3d6000fd5b50506040516001600160a01b03851692507f437790724a6e97b75d23117f28cdd4b1beeafc34f7a0911ef256e9334f4369a59150600090a25050565b60006001600160a01b0389166110885760405163182e4f4160e11b815260040160405180910390fd5b600087600281111561109c5761109c611acc565b036110ba5760405163c4901a4360e01b815260040160405180910390fd5b60018760028111156110ce576110ce611acc565b036111865760006040516110e1906114ee565b604051809103906000f0801580156110fd573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015291925090821690634a0687ef90602401600060405180830381600087803b15801561116557600080fd5b505af1158015611179573d6000803e3d6000fd5b505050508091505061120a565b6000604051611194906114fb565b604051809103906000f0801580156111b0573d6000803e3d6000fd5b509050806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156111ee57600080fd5b505af1158015611202573d6000803e3d6000fd5b509293505050505b60405163ec0d634360e01b81526001600160a01b0382169063ec0d634390611242908c908c908b908b908b908b908b90600401611b0b565b600060405180830381600087803b15801561125c57600080fd5b505af1158015611270573d6000803e3d6000fd5b50506040516001600160a01b03841692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a298975050505050505050565b60006112de7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036113345760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610c0e565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611372573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113969190611b62565b7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620146114105760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610c0e565b6001600160a01b03811630036114685760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610c0e565b611490817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620604080519182526001600160a01b038416602083015201610c78565b61024a80611b7c83390190565b61023380611dc683390190565b6001600160a01b0381168114610c8157600080fd5b60006020828403121561152f57600080fd5b813561153a81611508565b9392505050565b80356003811061155057600080fd5b919050565b60008083601f84011261156757600080fd5b50813567ffffffffffffffff81111561157f57600080fd5b60208301915083602082850101111561159757600080fd5b9250929050565b600080600080600080608087890312156115b757600080fd5b86356115c281611508565b95506115d060208801611541565b9450604087013567ffffffffffffffff808211156115ed57600080fd5b6115f98a838b01611555565b9096509450606089013591508082111561161257600080fd5b5061161f89828a01611555565b979a9699509497509295939492505050565b600080600080600080600060a0888a03121561164c57600080fd5b873561165781611508565b965061166560208901611541565b9550604088013567ffffffffffffffff8082111561168257600080fd5b61168e8b838c01611555565b909750955060608a01359150808211156116a757600080fd5b506116b48a828b01611555565b90945092505060808801356116c881611508565b8091505092959891949750929550565b600080602083850312156116eb57600080fd5b823567ffffffffffffffff8082111561170357600080fd5b818501915085601f83011261171757600080fd5b81358181111561172657600080fd5b8660208260061b850101111561173b57600080fd5b60209290920196919550909350505050565b60ff81168114610c8157600080fd5b600080600080600080600060a0888a03121561177757600080fd5b873561178281611508565b965060208801356117928161174d565b95506117a060408901611541565b9450606088013567ffffffffffffffff808211156117bd57600080fd5b6117c98b838c01611555565b909650945060808a01359150808211156117e257600080fd5b506117ef8a828b01611555565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561181e57600080fd5b883561182981611508565b975060208901356118398161174d565b965061184760408a01611541565b9550606089013567ffffffffffffffff8082111561186457600080fd5b6118708c838d01611555565b909750955060808b013591508082111561188957600080fd5b506118968b828c01611555565b90945092505060a08901356118aa81611508565b809150509295985092959890939650565b6000602082840312156118cd57600080fd5b815161153a8161174d565b634e487b7160e01b600052604160045260246000fd5b60005b838110156119095781810151838201526020016118f1565b50506000910152565b60006020828403121561192457600080fd5b815167ffffffffffffffff8082111561193c57600080fd5b818401915084601f83011261195057600080fd5b815181811115611962576119626118d8565b604051601f8201601f19908116603f0116810190838211818310171561198a5761198a6118d8565b816040528281528760208487010111156119a357600080fd5b6107618360208301602088016118ee565b65029bab832b9160d51b8152600082516119d58160068501602087016118ee565b9190910160060192915050565b600082516119f48184602087016118ee565b600f60fb1b920191825250600101919050565b60008151808452611a1f8160208601602086016118ee565b601f01601f19169290920160200192915050565b6001600160a01b038516815260ff84166020820152608060408201819052600090611a6090830185611a07565b82810360608401526107618185611a07565b600060208284031215611a8457600080fd5b815161153a81611508565b634e487b7160e01b600052603260045260246000fd5b600060018201611ac557634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052602160045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600060018060a01b03808a16835260ff8916602084015260a06040840152611b3760a08401888a611ae2565b8381036060850152611b4a818789611ae2565b92505080841660808401525098975050505050505050565b600060208284031215611b7457600080fd5b505191905056fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033608060405234801561001057600080fd5b50610213806100206000396000f3fe6080604052600436106100225760003560e01c80638129fc1c1461003957610031565b366100315761002f61004e565b005b61002f61004e565b34801561004557600080fd5b5061002f610060565b61005e6100596100d0565b610173565b565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546001600160a01b038116156100aa576040516305c5d81960e01b815260040160405180910390fd5b50337fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a055565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546000906001600160a01b03811661010b5761010b610197565b806001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016d91906101ad565b91505090565b3660008037600080366000845af43d6000803e808015610192573d6000f35b3d6000fd5b634e487b7160e01b600052600160045260246000fd5b6000602082840312156101bf57600080fd5b81516001600160a01b03811681146101d657600080fd5b939250505056fea26469706673582212208aedd930463a9ef04ca914601becd18e8316234054a71d6de40ce23faac57e5064736f6c63430008130033a264697066735822122078d134fb340396b66f521ad0d7632e8ac78ac65c49ca40180fa6387d582244b664736f6c63430008130033",LK=eb=>eb.length>1;class LG extends u9.lV{constructor(...eb){LK(eb)?super(...eb):super(LW,LZ,eb[0])}deploy(eb,em,ew,eM,eC){return super.deploy(eb,em,ew,eM,eC||{})}getDeployTransaction(eb,em,ew,eM,eC){return super.getDeployTransaction(eb,em,ew,eM,eC||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(LW)}static connect(eb,em){return new u9.CH(eb,LW,em)}}LG.bytecode=LZ,LG.abi=LW;let LY=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"superTokenLogic",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_NON_UPGRADEABLE_IS_DEPRECATED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_GOVERNANCE_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_HOST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_UNINITIALIZED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"CustomSuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"SuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"tokenLogic",type:"address"}],name:"SuperTokenLogicCreated",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"_SUPER_TOKEN_LOGIC",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingToken",type:"address"}],name:"computeCanonicalERC20WrapperAddress",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"},{internalType:"bool",name:"isDeployed",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"_underlyingToken",type:"address"}],name:"createCanonicalERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingTokenAddress",type:"address"}],name:"getCanonicalERC20Wrapper",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenLogic",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"underlyingToken",type:"address"},{internalType:"address",name:"superToken",type:"address"}],internalType:"struct SuperTokenFactoryBase.InitializeData[]",name:"_data",type:"tuple[]"}],name:"initializeCanonicalWrapperSuperTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"customSuperTokenProxy",type:"address"}],name:"initializeCustomSuperToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}],LJ="0x6101006040523480156200001257600080fd5b506040516200221d3803806200221d833981016040819052620000359162000107565b6001600160a01b0380851660a052831660808190526040805163132075a760e31b81529051869286928692869291639903ad3891600480830192600092919082900301818387803b1580156200008a57600080fd5b505af19250505080156200009c575060015b506001600160a01b0380831660c05281811660e0526080516040519116907fc13fb19d60857980e565bf5dae406b8802d3c1cec50c6156b30b12b87402978390600090a250505050505050506200016f565b6001600160a01b03811681146200010457600080fd5b50565b600080600080608085870312156200011e57600080fd5b84516200012b81620000ee565b60208601519094506200013e81620000ee565b60408601519093506200015181620000ee565b60608601519092506200016481620000ee565b939692955090935050565b60805160a05160c05160e05161202e620001ef6000396000818161020601526109b40152600081816101df015261089b015260008181610158015281816107770152610c88015260008181610245015281816102c601528181610465015281816108ca015281816109e301528181610fc00152611115015261202e6000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80638129fc1c116100ad578063bab74c8911610071578063bab74c891461028f578063cbf927b3146102c1578063d412d344146102e8578063e094be24146102fb578063eff0a89d1461030e57600080fd5b80638129fc1c1461023b5780639470a5b21461024357806397e011ed146102695780639903ad381461023b578063a6d0c5341461027c57600080fd5b806350d75d25116100f457806350d75d25146101a457806352d1902d146101ac5780635365d19f146101da5780635a7792df146102015780636c684bb01461022857600080fd5b8063151188dc1461012657806320bc442514610156578063431f14811461017c578063469519541461018f575b600080fd5b61013961013436600461151d565b61033a565b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610139565b61013961018a36600461159e565b6106ed565b6101a261019d36600461151d565b61076c565b005b610139610ac7565b6040517fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620815260200161014d565b6101397f000000000000000000000000000000000000000000000000000000000000000081565b6101397f000000000000000000000000000000000000000000000000000000000000000081565b610139610236366004611631565b610af6565b6101a2610b75565b7f0000000000000000000000000000000000000000000000000000000000000000610139565b6101a26102773660046116d8565b610c84565b61013961028a36600461175c565b610e93565b6102a261029d36600461151d565b610ea6565b604080516001600160a01b03909316835290151560208301520161014d565b6101397f000000000000000000000000000000000000000000000000000000000000000081565b6101a26102f636600461151d565b610fa9565b610139610309366004611802565b61105f565b61013961031c36600461151d565b6001600160a01b039081166000908152600160205260409020541690565b600080805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b031661038c576040516306ce6e6d60e21b815260040160405180910390fd5b6001600160a01b0380831660009081526001602052604090205483911680156103c8576040516348eb3cb960e11b815260040160405180910390fd5b604080516001600160a01b038416602082015260009101604051602081830303815290604052805190602001209050600081604051610406906114ee565b8190604051809103906000f5905080158015610426573d6000803e3d6000fd5b506001600160a01b038581166000908152600160205260409081902080546001600160a01b0319168484169081179091559051634a0687ef60e01b81527f00000000000000000000000000000000000000000000000000000000000000009092166004830152919250634a0687ef90602401600060405180830381600087803b1580156104b257600080fd5b505af11580156104c6573d6000803e3d6000fd5b5050505060008190506000876001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053391906118bb565b90506000886001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610575573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261059d9190810190611912565b90506000896001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106079190810190611912565b9050836001600160a01b03166342fe09808b858560405160200161062b91906119b4565b6040516020818303038152906040528560405160200161064b91906119e2565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016106799493929190611a33565b600060405180830381600087803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b50506040516001600160a01b03871692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a2509198975050505050505050565b600061076187886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075591906118bb565b8888888888600061105f565b979650505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107b55760405163478b8e8360e01b815260040160405180910390fd5b6107be816112b4565b60008190506000816001600160a01b0316635365d19f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108279190611a72565b90506000826001600160a01b0316635a7792df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610869573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088d9190611a72565b9050816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146109a8577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef43d2c66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610926573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094a9190611a72565b6040516311a5465560e21b81526001600160a01b0384811660048301529190911690634695195490602401600060405180830381600087803b15801561098f57600080fd5b505af11580156109a3573d6000803e3d6000fd5b505050505b806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614610ac1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634c5c0c856040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a639190611a72565b6040516311a5465560e21b81526001600160a01b0383811660048301529190911690634695195490602401600060405180830381600087803b158015610aa857600080fd5b505af1158015610abc573d6000803e3d6000fd5b505050505b50505050565b6000610af17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000610b6988896001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5e91906118bb565b89898989898961105f565b98975050505050505050565b600054610100900460ff1615808015610b955750600054600160ff909116105b80610baf5750303b158015610baf575060005460ff166001145b610c175760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610c3a576000805461ff0019166101001790555b8015610c81576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b50565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ce4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d089190611a72565b9050806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6c9190611a72565b6001600160a01b0316336001600160a01b031614610d9d57604051632bf2a63360e21b815260040160405180910390fd5b6000805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b031615610def576040516348eb3cb960e11b815260040160405180910390fd5b60005b82811015610ac157838382818110610e0c57610e0c611a8f565b9050604002016020016020810190610e24919061151d565b60016000868685818110610e3a57610e3a611a8f565b610e50926020604090920201908101915061151d565b6001600160a01b039081168252602082019290925260400160002080546001600160a01b0319169290911691909117905580610e8b81611aa5565b915050610df2565b6000610b6988888888888888600061105f565b6001600160a01b0380821660009081526001602052604081205490918291168015610ed75780925060019150610fa3565b600060405180602001610ee9906114ee565b601f1982820381018352601f9091011660408181526001600160a01b03881660208301529192506001600160f81b031991309101604051602081830303815290604052805190602001208380519060200120604051602001610f8294939291906001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b6040516020818303038152906040528051906020012060001c935060009250505b50915091565b604051634a0687ef60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152829190821690634a0687ef90602401600060405180830381600087803b15801561100f57600080fd5b505af1158015611023573d6000803e3d6000fd5b50506040516001600160a01b03851692507f437790724a6e97b75d23117f28cdd4b1beeafc34f7a0911ef256e9334f4369a59150600090a25050565b60006001600160a01b0389166110885760405163182e4f4160e11b815260040160405180910390fd5b600087600281111561109c5761109c611acc565b036110ba5760405163c4901a4360e01b815260040160405180910390fd5b60018760028111156110ce576110ce611acc565b036111865760006040516110e1906114ee565b604051809103906000f0801580156110fd573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015291925090821690634a0687ef90602401600060405180830381600087803b15801561116557600080fd5b505af1158015611179573d6000803e3d6000fd5b505050508091505061120a565b6000604051611194906114fb565b604051809103906000f0801580156111b0573d6000803e3d6000fd5b509050806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156111ee57600080fd5b505af1158015611202573d6000803e3d6000fd5b509293505050505b60405163ec0d634360e01b81526001600160a01b0382169063ec0d634390611242908c908c908b908b908b908b908b90600401611b0b565b600060405180830381600087803b15801561125c57600080fd5b505af1158015611270573d6000803e3d6000fd5b50506040516001600160a01b03841692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a298975050505050505050565b60006112de7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036113345760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610c0e565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611372573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113969190611b62565b7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620146114105760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610c0e565b6001600160a01b03811630036114685760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610c0e565b611490817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620604080519182526001600160a01b038416602083015201610c78565b61024a80611b7c83390190565b61023380611dc683390190565b6001600160a01b0381168114610c8157600080fd5b60006020828403121561152f57600080fd5b813561153a81611508565b9392505050565b80356003811061155057600080fd5b919050565b60008083601f84011261156757600080fd5b50813567ffffffffffffffff81111561157f57600080fd5b60208301915083602082850101111561159757600080fd5b9250929050565b600080600080600080608087890312156115b757600080fd5b86356115c281611508565b95506115d060208801611541565b9450604087013567ffffffffffffffff808211156115ed57600080fd5b6115f98a838b01611555565b9096509450606089013591508082111561161257600080fd5b5061161f89828a01611555565b979a9699509497509295939492505050565b600080600080600080600060a0888a03121561164c57600080fd5b873561165781611508565b965061166560208901611541565b9550604088013567ffffffffffffffff8082111561168257600080fd5b61168e8b838c01611555565b909750955060608a01359150808211156116a757600080fd5b506116b48a828b01611555565b90945092505060808801356116c881611508565b8091505092959891949750929550565b600080602083850312156116eb57600080fd5b823567ffffffffffffffff8082111561170357600080fd5b818501915085601f83011261171757600080fd5b81358181111561172657600080fd5b8660208260061b850101111561173b57600080fd5b60209290920196919550909350505050565b60ff81168114610c8157600080fd5b600080600080600080600060a0888a03121561177757600080fd5b873561178281611508565b965060208801356117928161174d565b95506117a060408901611541565b9450606088013567ffffffffffffffff808211156117bd57600080fd5b6117c98b838c01611555565b909650945060808a01359150808211156117e257600080fd5b506117ef8a828b01611555565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561181e57600080fd5b883561182981611508565b975060208901356118398161174d565b965061184760408a01611541565b9550606089013567ffffffffffffffff8082111561186457600080fd5b6118708c838d01611555565b909750955060808b013591508082111561188957600080fd5b506118968b828c01611555565b90945092505060a08901356118aa81611508565b809150509295985092959890939650565b6000602082840312156118cd57600080fd5b815161153a8161174d565b634e487b7160e01b600052604160045260246000fd5b60005b838110156119095781810151838201526020016118f1565b50506000910152565b60006020828403121561192457600080fd5b815167ffffffffffffffff8082111561193c57600080fd5b818401915084601f83011261195057600080fd5b815181811115611962576119626118d8565b604051601f8201601f19908116603f0116810190838211818310171561198a5761198a6118d8565b816040528281528760208487010111156119a357600080fd5b6107618360208301602088016118ee565b65029bab832b9160d51b8152600082516119d58160068501602087016118ee565b9190910160060192915050565b600082516119f48184602087016118ee565b600f60fb1b920191825250600101919050565b60008151808452611a1f8160208601602086016118ee565b601f01601f19169290920160200192915050565b6001600160a01b038516815260ff84166020820152608060408201819052600090611a6090830185611a07565b82810360608401526107618185611a07565b600060208284031215611a8457600080fd5b815161153a81611508565b634e487b7160e01b600052603260045260246000fd5b600060018201611ac557634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052602160045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600060018060a01b03808a16835260ff8916602084015260a06040840152611b3760a08401888a611ae2565b8381036060850152611b4a818789611ae2565b92505080841660808401525098975050505050505050565b600060208284031215611b7457600080fd5b505191905056fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033608060405234801561001057600080fd5b50610213806100206000396000f3fe6080604052600436106100225760003560e01c80638129fc1c1461003957610031565b366100315761002f61004e565b005b61002f61004e565b34801561004557600080fd5b5061002f610060565b61005e6100596100d0565b610173565b565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546001600160a01b038116156100aa576040516305c5d81960e01b815260040160405180910390fd5b50337fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a055565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546000906001600160a01b03811661010b5761010b610197565b806001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016d91906101ad565b91505090565b3660008037600080366000845af43d6000803e808015610192573d6000f35b3d6000fd5b634e487b7160e01b600052600160045260246000fd5b6000602082840312156101bf57600080fd5b81516001600160a01b03811681146101d657600080fd5b939250505056fea26469706673582212208aedd930463a9ef04ca914601becd18e8316234054a71d6de40ce23faac57e5064736f6c63430008130033a26469706673582212204f138a96d28f1d41cbdadb87e50a3bdf9f3df471e850dc0f9a46bc6396ee637364736f6c63430008130033",LX=eb=>eb.length>1;class LQ extends u9.lV{constructor(...eb){LX(eb)?super(...eb):super(LY,LJ,eb[0])}deploy(eb,em,ew,eM,eC){return super.deploy(eb,em,ew,eM,eC||{})}getDeployTransaction(eb,em,ew,eM,eC){return super.getDeployTransaction(eb,em,ew,eM,eC||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(LY)}static connect(eb,em){return new u9.CH(eb,LY,em)}}LQ.bytecode=LJ,LQ.abi=LY;let L1=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"superTokenLogic",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_NON_UPGRADEABLE_IS_DEPRECATED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_GOVERNANCE_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_HOST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_UNINITIALIZED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"CustomSuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"SuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"tokenLogic",type:"address"}],name:"SuperTokenLogicCreated",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"_SUPER_TOKEN_LOGIC",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingToken",type:"address"}],name:"computeCanonicalERC20WrapperAddress",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"},{internalType:"bool",name:"isDeployed",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"_underlyingToken",type:"address"}],name:"createCanonicalERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingTokenAddress",type:"address"}],name:"getCanonicalERC20Wrapper",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenLogic",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"underlyingToken",type:"address"},{internalType:"address",name:"superToken",type:"address"}],internalType:"struct SuperTokenFactoryBase.InitializeData[]",name:"_data",type:"tuple[]"}],name:"initializeCanonicalWrapperSuperTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"customSuperTokenProxy",type:"address"}],name:"initializeCustomSuperToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"validateStorageLayout",outputs:[],stateMutability:"pure",type:"function"}],L2="0x6101006040523480156200001257600080fd5b506040516200222838038062002228833981016040819052620000359162000107565b6001600160a01b0380851660a052831660808190526040805163132075a760e31b81529051869286928692869291639903ad3891600480830192600092919082900301818387803b1580156200008a57600080fd5b505af19250505080156200009c575060015b506001600160a01b0380831660c05281811660e0526080516040519116907fc13fb19d60857980e565bf5dae406b8802d3c1cec50c6156b30b12b87402978390600090a250505050505050506200016f565b6001600160a01b03811681146200010457600080fd5b50565b600080600080608085870312156200011e57600080fd5b84516200012b81620000ee565b60208601519094506200013e81620000ee565b60408601519093506200015181620000ee565b60608601519092506200016481620000ee565b939692955090935050565b60805160a05160c05160e051612039620001ef6000396000818161021101526109bf0152600081816101ea01526108a6015260008181610163015281816107820152610c93015260008181610250015281816102d101528181610470015281816108d5015281816109ee01528181610fcb015261112001526120396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80639470a5b2116100ad578063cbf927b311610071578063cbf927b3146102cc578063d412d344146102f3578063e094be2414610306578063eff0a89d14610319578063f99a38c4146101ad57600080fd5b80639470a5b21461024e57806397e011ed146102745780639903ad3814610246578063a6d0c53414610287578063bab74c891461029a57600080fd5b806352d1902d116100f457806352d1902d146101b75780635365d19f146101e55780635a7792df1461020c5780636c684bb0146102335780638129fc1c1461024657600080fd5b8063151188dc1461013157806320bc442514610161578063431f148114610187578063469519541461019a57806350d75d25146101af575b600080fd5b61014461013f366004611528565b610345565b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610144565b6101446101953660046115a9565b6106f8565b6101ad6101a8366004611528565b610777565b005b610144610ad2565b6040517fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b6208152602001610158565b6101447f000000000000000000000000000000000000000000000000000000000000000081565b6101447f000000000000000000000000000000000000000000000000000000000000000081565b61014461024136600461163c565b610b01565b6101ad610b80565b7f0000000000000000000000000000000000000000000000000000000000000000610144565b6101ad6102823660046116e3565b610c8f565b610144610295366004611767565b610e9e565b6102ad6102a8366004611528565b610eb1565b604080516001600160a01b039093168352901515602083015201610158565b6101447f000000000000000000000000000000000000000000000000000000000000000081565b6101ad610301366004611528565b610fb4565b61014461031436600461180d565b61106a565b610144610327366004611528565b6001600160a01b039081166000908152600160205260409020541690565b600080805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b0316610397576040516306ce6e6d60e21b815260040160405180910390fd5b6001600160a01b0380831660009081526001602052604090205483911680156103d3576040516348eb3cb960e11b815260040160405180910390fd5b604080516001600160a01b038416602082015260009101604051602081830303815290604052805190602001209050600081604051610411906114f9565b8190604051809103906000f5905080158015610431573d6000803e3d6000fd5b506001600160a01b038581166000908152600160205260409081902080546001600160a01b0319168484169081179091559051634a0687ef60e01b81527f00000000000000000000000000000000000000000000000000000000000000009092166004830152919250634a0687ef90602401600060405180830381600087803b1580156104bd57600080fd5b505af11580156104d1573d6000803e3d6000fd5b5050505060008190506000876001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561051a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053e91906118c6565b90506000886001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610580573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105a8919081019061191d565b90506000896001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105ea573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610612919081019061191d565b9050836001600160a01b03166342fe09808b858560405160200161063691906119bf565b6040516020818303038152906040528560405160200161065691906119ed565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016106849493929190611a3e565b600060405180830381600087803b15801561069e57600080fd5b505af11580156106b2573d6000803e3d6000fd5b50506040516001600160a01b03871692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a2509198975050505050505050565b600061076c87886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561073c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076091906118c6565b8888888888600061106a565b979650505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107c05760405163478b8e8360e01b815260040160405180910390fd5b6107c9816112bf565b60008190506000816001600160a01b0316635365d19f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561080e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108329190611a7d565b90506000826001600160a01b0316635a7792df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610874573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108989190611a7d565b9050816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146109b3577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef43d2c66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610931573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109559190611a7d565b6040516311a5465560e21b81526001600160a01b0384811660048301529190911690634695195490602401600060405180830381600087803b15801561099a57600080fd5b505af11580156109ae573d6000803e3d6000fd5b505050505b806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614610acc577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634c5c0c856040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6e9190611a7d565b6040516311a5465560e21b81526001600160a01b0383811660048301529190911690634695195490602401600060405180830381600087803b158015610ab357600080fd5b505af1158015610ac7573d6000803e3d6000fd5b505050505b50505050565b6000610afc7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000610b7488896001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6991906118c6565b89898989898961106a565b98975050505050505050565b600054610100900460ff1615808015610ba05750600054600160ff909116105b80610bba5750303b158015610bba575060005460ff166001145b610c225760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610c45576000805461ff0019166101001790555b8015610c8c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b50565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d139190611a7d565b9050806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d779190611a7d565b6001600160a01b0316336001600160a01b031614610da857604051632bf2a63360e21b815260040160405180910390fd5b6000805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b031615610dfa576040516348eb3cb960e11b815260040160405180910390fd5b60005b82811015610acc57838382818110610e1757610e17611a9a565b9050604002016020016020810190610e2f9190611528565b60016000868685818110610e4557610e45611a9a565b610e5b9260206040909202019081019150611528565b6001600160a01b039081168252602082019290925260400160002080546001600160a01b0319169290911691909117905580610e9681611ab0565b915050610dfd565b6000610b7488888888888888600061106a565b6001600160a01b0380821660009081526001602052604081205490918291168015610ee25780925060019150610fae565b600060405180602001610ef4906114f9565b601f1982820381018352601f9091011660408181526001600160a01b03881660208301529192506001600160f81b031991309101604051602081830303815290604052805190602001208380519060200120604051602001610f8d94939291906001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b6040516020818303038152906040528051906020012060001c935060009250505b50915091565b604051634a0687ef60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152829190821690634a0687ef90602401600060405180830381600087803b15801561101a57600080fd5b505af115801561102e573d6000803e3d6000fd5b50506040516001600160a01b03851692507f437790724a6e97b75d23117f28cdd4b1beeafc34f7a0911ef256e9334f4369a59150600090a25050565b60006001600160a01b0389166110935760405163182e4f4160e11b815260040160405180910390fd5b60008760028111156110a7576110a7611ad7565b036110c55760405163c4901a4360e01b815260040160405180910390fd5b60018760028111156110d9576110d9611ad7565b036111915760006040516110ec906114f9565b604051809103906000f080158015611108573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015291925090821690634a0687ef90602401600060405180830381600087803b15801561117057600080fd5b505af1158015611184573d6000803e3d6000fd5b5050505080915050611215565b600060405161119f90611506565b604051809103906000f0801580156111bb573d6000803e3d6000fd5b509050806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156111f957600080fd5b505af115801561120d573d6000803e3d6000fd5b509293505050505b60405163ec0d634360e01b81526001600160a01b0382169063ec0d63439061124d908c908c908b908b908b908b908b90600401611b16565b600060405180830381600087803b15801561126757600080fd5b505af115801561127b573d6000803e3d6000fd5b50506040516001600160a01b03841692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a298975050505050505050565b60006112e97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b03160361133f5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610c19565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561137d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a19190611b6d565b7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b6201461141b5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610c19565b6001600160a01b03811630036114735760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610c19565b61149b817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620604080519182526001600160a01b038416602083015201610c83565b61024a80611b8783390190565b61023380611dd183390190565b6001600160a01b0381168114610c8c57600080fd5b60006020828403121561153a57600080fd5b813561154581611513565b9392505050565b80356003811061155b57600080fd5b919050565b60008083601f84011261157257600080fd5b50813567ffffffffffffffff81111561158a57600080fd5b6020830191508360208285010111156115a257600080fd5b9250929050565b600080600080600080608087890312156115c257600080fd5b86356115cd81611513565b95506115db6020880161154c565b9450604087013567ffffffffffffffff808211156115f857600080fd5b6116048a838b01611560565b9096509450606089013591508082111561161d57600080fd5b5061162a89828a01611560565b979a9699509497509295939492505050565b600080600080600080600060a0888a03121561165757600080fd5b873561166281611513565b96506116706020890161154c565b9550604088013567ffffffffffffffff8082111561168d57600080fd5b6116998b838c01611560565b909750955060608a01359150808211156116b257600080fd5b506116bf8a828b01611560565b90945092505060808801356116d381611513565b8091505092959891949750929550565b600080602083850312156116f657600080fd5b823567ffffffffffffffff8082111561170e57600080fd5b818501915085601f83011261172257600080fd5b81358181111561173157600080fd5b8660208260061b850101111561174657600080fd5b60209290920196919550909350505050565b60ff81168114610c8c57600080fd5b600080600080600080600060a0888a03121561178257600080fd5b873561178d81611513565b9650602088013561179d81611758565b95506117ab6040890161154c565b9450606088013567ffffffffffffffff808211156117c857600080fd5b6117d48b838c01611560565b909650945060808a01359150808211156117ed57600080fd5b506117fa8a828b01611560565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561182957600080fd5b883561183481611513565b9750602089013561184481611758565b965061185260408a0161154c565b9550606089013567ffffffffffffffff8082111561186f57600080fd5b61187b8c838d01611560565b909750955060808b013591508082111561189457600080fd5b506118a18b828c01611560565b90945092505060a08901356118b581611513565b809150509295985092959890939650565b6000602082840312156118d857600080fd5b815161154581611758565b634e487b7160e01b600052604160045260246000fd5b60005b838110156119145781810151838201526020016118fc565b50506000910152565b60006020828403121561192f57600080fd5b815167ffffffffffffffff8082111561194757600080fd5b818401915084601f83011261195b57600080fd5b81518181111561196d5761196d6118e3565b604051601f8201601f19908116603f01168101908382118183101715611995576119956118e3565b816040528281528760208487010111156119ae57600080fd5b61076c8360208301602088016118f9565b65029bab832b9160d51b8152600082516119e08160068501602087016118f9565b9190910160060192915050565b600082516119ff8184602087016118f9565b600f60fb1b920191825250600101919050565b60008151808452611a2a8160208601602086016118f9565b601f01601f19169290920160200192915050565b6001600160a01b038516815260ff84166020820152608060408201819052600090611a6b90830185611a12565b828103606084015261076c8185611a12565b600060208284031215611a8f57600080fd5b815161154581611513565b634e487b7160e01b600052603260045260246000fd5b600060018201611ad057634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052602160045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600060018060a01b03808a16835260ff8916602084015260a06040840152611b4260a08401888a611aed565b8381036060850152611b55818789611aed565b92505080841660808401525098975050505050505050565b600060208284031215611b7f57600080fd5b505191905056fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033608060405234801561001057600080fd5b50610213806100206000396000f3fe6080604052600436106100225760003560e01c80638129fc1c1461003957610031565b366100315761002f61004e565b005b61002f61004e565b34801561004557600080fd5b5061002f610060565b61005e6100596100d0565b610173565b565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546001600160a01b038116156100aa576040516305c5d81960e01b815260040160405180910390fd5b50337fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a055565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546000906001600160a01b03811661010b5761010b610197565b806001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016d91906101ad565b91505090565b3660008037600080366000845af43d6000803e808015610192573d6000f35b3d6000fd5b634e487b7160e01b600052600160045260246000fd5b6000602082840312156101bf57600080fd5b81516001600160a01b03811681146101d657600080fd5b939250505056fea26469706673582212208aedd930463a9ef04ca914601becd18e8316234054a71d6de40ce23faac57e5064736f6c63430008130033a2646970667358221220ec9c766f6e249fe1ce5e86053fb8dc0d6b5feb1a502021cd7b71c0cc258c7c6064736f6c63430008130033",L6=eb=>eb.length>1;class L4 extends u9.lV{constructor(...eb){L6(eb)?super(...eb):super(L1,L2,eb[0])}deploy(eb,em,ew,eM,eC){return super.deploy(eb,em,ew,eM,eC||{})}getDeployTransaction(eb,em,ew,eM,eC){return super.getDeployTransaction(eb,em,ew,eM,eC||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(L1)}static connect(eb,em){return new u9.CH(eb,L1,em)}}L4.bytecode=L2,L4.abi=L1;let L3=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"superTokenLogic",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_NON_UPGRADEABLE_IS_DEPRECATED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_GOVERNANCE_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_HOST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_UNINITIALIZED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"CustomSuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"SuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"tokenLogic",type:"address"}],name:"SuperTokenLogicCreated",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"_SUPER_TOKEN_LOGIC",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingToken",type:"address"}],name:"computeCanonicalERC20WrapperAddress",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"},{internalType:"bool",name:"isDeployed",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"_underlyingToken",type:"address"}],name:"createCanonicalERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingTokenAddress",type:"address"}],name:"getCanonicalERC20Wrapper",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenLogic",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"underlyingToken",type:"address"},{internalType:"address",name:"superToken",type:"address"}],internalType:"struct SuperTokenFactoryBase.InitializeData[]",name:"_data",type:"tuple[]"}],name:"initializeCanonicalWrapperSuperTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"customSuperTokenProxy",type:"address"}],name:"initializeCustomSuperToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"newVariable",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}],L5="0x6101006040523480156200001257600080fd5b506040516200223338038062002233833981016040819052620000359162000107565b6001600160a01b0380851660a052831660808190526040805163132075a760e31b81529051869286928692869291639903ad3891600480830192600092919082900301818387803b1580156200008a57600080fd5b505af19250505080156200009c575060015b506001600160a01b0380831660c05281811660e0526080516040519116907fc13fb19d60857980e565bf5dae406b8802d3c1cec50c6156b30b12b87402978390600090a250505050505050506200016f565b6001600160a01b03811681146200010457600080fd5b50565b600080600080608085870312156200011e57600080fd5b84516200012b81620000ee565b60208601519094506200013e81620000ee565b60408601519093506200015181620000ee565b60608601519092506200016481620000ee565b939692955090935050565b60805160a05160c05160e051612044620001ef6000396000818161021301526109ca0152600081816101ec01526108b10152600081816101630152818161078d0152610c9e01526000818161025b015281816102dc0152818161047b015281816108e0015281816109f901528181610fd6015261112b01526120446000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80638d7a72f3116100ad578063bab74c8911610071578063bab74c89146102a5578063cbf927b3146102d7578063d412d344146102fe578063e094be2414610311578063eff0a89d1461032457600080fd5b80638d7a72f3146102505780639470a5b21461025957806397e011ed1461027f5780639903ad3814610248578063a6d0c5341461029257600080fd5b806352d1902d116100f457806352d1902d146101b75780635365d19f146101e75780635a7792df1461020e5780636c684bb0146102355780638129fc1c1461024857600080fd5b8063151188dc1461013157806320bc442514610161578063431f148114610187578063469519541461019a57806350d75d25146101af575b600080fd5b61014461013f366004611533565b610350565b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610144565b6101446101953660046115b4565b610703565b6101ad6101a8366004611533565b610782565b005b610144610add565b7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b6205b604051908152602001610158565b6101447f000000000000000000000000000000000000000000000000000000000000000081565b6101447f000000000000000000000000000000000000000000000000000000000000000081565b610144610243366004611647565b610b0c565b6101ad610b8b565b6101d960025481565b7f0000000000000000000000000000000000000000000000000000000000000000610144565b6101ad61028d3660046116ee565b610c9a565b6101446102a0366004611772565b610ea9565b6102b86102b3366004611533565b610ebc565b604080516001600160a01b039093168352901515602083015201610158565b6101447f000000000000000000000000000000000000000000000000000000000000000081565b6101ad61030c366004611533565b610fbf565b61014461031f366004611818565b611075565b610144610332366004611533565b6001600160a01b039081166000908152600160205260409020541690565b600080805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b03166103a2576040516306ce6e6d60e21b815260040160405180910390fd5b6001600160a01b0380831660009081526001602052604090205483911680156103de576040516348eb3cb960e11b815260040160405180910390fd5b604080516001600160a01b03841660208201526000910160405160208183030381529060405280519060200120905060008160405161041c90611504565b8190604051809103906000f590508015801561043c573d6000803e3d6000fd5b506001600160a01b038581166000908152600160205260409081902080546001600160a01b0319168484169081179091559051634a0687ef60e01b81527f00000000000000000000000000000000000000000000000000000000000000009092166004830152919250634a0687ef90602401600060405180830381600087803b1580156104c857600080fd5b505af11580156104dc573d6000803e3d6000fd5b5050505060008190506000876001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610525573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054991906118d1565b90506000886001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa15801561058b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105b39190810190611928565b90506000896001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105f5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261061d9190810190611928565b9050836001600160a01b03166342fe09808b858560405160200161064191906119ca565b6040516020818303038152906040528560405160200161066191906119f8565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161068f9493929190611a49565b600060405180830381600087803b1580156106a957600080fd5b505af11580156106bd573d6000803e3d6000fd5b50506040516001600160a01b03871692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a2509198975050505050505050565b600061077787886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076b91906118d1565b88888888886000611075565b979650505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107cb5760405163478b8e8360e01b815260040160405180910390fd5b6107d4816112ca565b60008190506000816001600160a01b0316635365d19f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083d9190611a88565b90506000826001600160a01b0316635a7792df6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561087f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a39190611a88565b9050816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146109be577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef43d2c66040518163ffffffff1660e01b8152600401602060405180830381865afa15801561093c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109609190611a88565b6040516311a5465560e21b81526001600160a01b0384811660048301529190911690634695195490602401600060405180830381600087803b1580156109a557600080fd5b505af11580156109b9573d6000803e3d6000fd5b505050505b806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614610ad7577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634c5c0c856040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a799190611a88565b6040516311a5465560e21b81526001600160a01b0383811660048301529190911690634695195490602401600060405180830381600087803b158015610abe57600080fd5b505af1158015610ad2573d6000803e3d6000fd5b505050505b50505050565b6000610b077f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000610b7f88896001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7491906118d1565b898989898989611075565b98975050505050505050565b600054610100900460ff1615808015610bab5750600054600160ff909116105b80610bc55750303b158015610bc5575060005460ff166001145b610c2d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610c50576000805461ff0019166101001790555b8015610c97576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b50565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1e9190611a88565b9050806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d829190611a88565b6001600160a01b0316336001600160a01b031614610db357604051632bf2a63360e21b815260040160405180910390fd5b6000805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b031615610e05576040516348eb3cb960e11b815260040160405180910390fd5b60005b82811015610ad757838382818110610e2257610e22611aa5565b9050604002016020016020810190610e3a9190611533565b60016000868685818110610e5057610e50611aa5565b610e669260206040909202019081019150611533565b6001600160a01b039081168252602082019290925260400160002080546001600160a01b0319169290911691909117905580610ea181611abb565b915050610e08565b6000610b7f888888888888886000611075565b6001600160a01b0380821660009081526001602052604081205490918291168015610eed5780925060019150610fb9565b600060405180602001610eff90611504565b601f1982820381018352601f9091011660408181526001600160a01b03881660208301529192506001600160f81b031991309101604051602081830303815290604052805190602001208380519060200120604051602001610f9894939291906001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b6040516020818303038152906040528051906020012060001c935060009250505b50915091565b604051634a0687ef60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152829190821690634a0687ef90602401600060405180830381600087803b15801561102557600080fd5b505af1158015611039573d6000803e3d6000fd5b50506040516001600160a01b03851692507f437790724a6e97b75d23117f28cdd4b1beeafc34f7a0911ef256e9334f4369a59150600090a25050565b60006001600160a01b03891661109e5760405163182e4f4160e11b815260040160405180910390fd5b60008760028111156110b2576110b2611ae2565b036110d05760405163c4901a4360e01b815260040160405180910390fd5b60018760028111156110e4576110e4611ae2565b0361119c5760006040516110f790611504565b604051809103906000f080158015611113573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015291925090821690634a0687ef90602401600060405180830381600087803b15801561117b57600080fd5b505af115801561118f573d6000803e3d6000fd5b5050505080915050611220565b60006040516111aa90611511565b604051809103906000f0801580156111c6573d6000803e3d6000fd5b509050806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561120457600080fd5b505af1158015611218573d6000803e3d6000fd5b509293505050505b60405163ec0d634360e01b81526001600160a01b0382169063ec0d634390611258908c908c908b908b908b908b908b90600401611b21565b600060405180830381600087803b15801561127257600080fd5b505af1158015611286573d6000803e3d6000fd5b50506040516001600160a01b03841692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a298975050505050505050565b60006112f47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b03160361134a5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610c24565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ac9190611b78565b7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620146114265760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610c24565b6001600160a01b038116300361147e5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610c24565b6114a6817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620604080519182526001600160a01b038416602083015201610c8e565b61024a80611b9283390190565b61023380611ddc83390190565b6001600160a01b0381168114610c9757600080fd5b60006020828403121561154557600080fd5b81356115508161151e565b9392505050565b80356003811061156657600080fd5b919050565b60008083601f84011261157d57600080fd5b50813567ffffffffffffffff81111561159557600080fd5b6020830191508360208285010111156115ad57600080fd5b9250929050565b600080600080600080608087890312156115cd57600080fd5b86356115d88161151e565b95506115e660208801611557565b9450604087013567ffffffffffffffff8082111561160357600080fd5b61160f8a838b0161156b565b9096509450606089013591508082111561162857600080fd5b5061163589828a0161156b565b979a9699509497509295939492505050565b600080600080600080600060a0888a03121561166257600080fd5b873561166d8161151e565b965061167b60208901611557565b9550604088013567ffffffffffffffff8082111561169857600080fd5b6116a48b838c0161156b565b909750955060608a01359150808211156116bd57600080fd5b506116ca8a828b0161156b565b90945092505060808801356116de8161151e565b8091505092959891949750929550565b6000806020838503121561170157600080fd5b823567ffffffffffffffff8082111561171957600080fd5b818501915085601f83011261172d57600080fd5b81358181111561173c57600080fd5b8660208260061b850101111561175157600080fd5b60209290920196919550909350505050565b60ff81168114610c9757600080fd5b600080600080600080600060a0888a03121561178d57600080fd5b87356117988161151e565b965060208801356117a881611763565b95506117b660408901611557565b9450606088013567ffffffffffffffff808211156117d357600080fd5b6117df8b838c0161156b565b909650945060808a01359150808211156117f857600080fd5b506118058a828b0161156b565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561183457600080fd5b883561183f8161151e565b9750602089013561184f81611763565b965061185d60408a01611557565b9550606089013567ffffffffffffffff8082111561187a57600080fd5b6118868c838d0161156b565b909750955060808b013591508082111561189f57600080fd5b506118ac8b828c0161156b565b90945092505060a08901356118c08161151e565b809150509295985092959890939650565b6000602082840312156118e357600080fd5b815161155081611763565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561191f578181015183820152602001611907565b50506000910152565b60006020828403121561193a57600080fd5b815167ffffffffffffffff8082111561195257600080fd5b818401915084601f83011261196657600080fd5b815181811115611978576119786118ee565b604051601f8201601f19908116603f011681019083821181831017156119a0576119a06118ee565b816040528281528760208487010111156119b957600080fd5b610777836020830160208801611904565b65029bab832b9160d51b8152600082516119eb816006850160208701611904565b9190910160060192915050565b60008251611a0a818460208701611904565b600f60fb1b920191825250600101919050565b60008151808452611a35816020860160208601611904565b601f01601f19169290920160200192915050565b6001600160a01b038516815260ff84166020820152608060408201819052600090611a7690830185611a1d565b82810360608401526107778185611a1d565b600060208284031215611a9a57600080fd5b81516115508161151e565b634e487b7160e01b600052603260045260246000fd5b600060018201611adb57634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052602160045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600060018060a01b03808a16835260ff8916602084015260a06040840152611b4d60a08401888a611af8565b8381036060850152611b60818789611af8565b92505080841660808401525098975050505050505050565b600060208284031215611b8a57600080fd5b505191905056fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033608060405234801561001057600080fd5b50610213806100206000396000f3fe6080604052600436106100225760003560e01c80638129fc1c1461003957610031565b366100315761002f61004e565b005b61002f61004e565b34801561004557600080fd5b5061002f610060565b61005e6100596100d0565b610173565b565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546001600160a01b038116156100aa576040516305c5d81960e01b815260040160405180910390fd5b50337fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a055565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546000906001600160a01b03811661010b5761010b610197565b806001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016d91906101ad565b91505090565b3660008037600080366000845af43d6000803e808015610192573d6000f35b3d6000fd5b634e487b7160e01b600052600160045260246000fd5b6000602082840312156101bf57600080fd5b81516001600160a01b03811681146101d657600080fd5b939250505056fea26469706673582212208aedd930463a9ef04ca914601becd18e8316234054a71d6de40ce23faac57e5064736f6c63430008130033a2646970667358221220bb5292f0839806836f43d0207bc2d095cd9562eaaf9b59e1a46e482f389d73b264736f6c63430008130033",L8=eb=>eb.length>1;class L9 extends u9.lV{constructor(...eb){L8(eb)?super(...eb):super(L3,L5,eb[0])}deploy(eb,em,ew,eM,eC){return super.deploy(eb,em,ew,eM,eC||{})}getDeployTransaction(eb,em,ew,eM,eC){return super.getDeployTransaction(eb,em,ew,eM,eC||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(L3)}static connect(eb,em){return new u9.CH(eb,L3,em)}}L9.bytecode=L5,L9.abi=L3;let L7=[{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"createFlowFromTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"createFlowFromWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"createFlowTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"createFlowWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"int96",name:"subtractedFlowRateAllowance",type:"int96"}],name:"decreaseFlowRateAllowanceTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissionsToRemove",type:"uint8"},{internalType:"int96",name:"subtractedFlowRateAllowance",type:"int96"}],name:"decreaseFlowRateAllowanceWithPermissionsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissionsToRemove",type:"uint8"},{internalType:"int96",name:"subtractedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"decreaseFlowRateAllowanceWithPermissionsWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"int96",name:"subtractedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"decreaseFlowRateAllowanceWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"deleteFlowFromTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"deleteFlowFromWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"deleteFlowTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"deleteFlowWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"getBufferAmountByFlowRateTest",outputs:[{internalType:"uint256",name:"bufferAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getFlowInfoTest",outputs:[{internalType:"uint256",name:"lastUpdated",type:"uint256"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"flowOperator",type:"address"}],name:"getFlowPermissionsTest",outputs:[{internalType:"bool",name:"allowCreate",type:"bool"},{internalType:"bool",name:"allowUpdate",type:"bool"},{internalType:"bool",name:"allowDelete",type:"bool"},{internalType:"int96",name:"flowRateAllowance",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getFlowRateTest",outputs:[{internalType:"int96",name:"rate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"getNetFlowInfoTest",outputs:[{internalType:"uint256",name:"lastUpdated",type:"uint256"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"getNetFlowRateTest",outputs:[{internalType:"int96",name:"netFlowRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"int96",name:"addedFlowRateAllowance",type:"int96"}],name:"increaseFlowRateAllowanceTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissionsToAdd",type:"uint8"},{internalType:"int96",name:"addedFlowRateAllowance",type:"int96"}],name:"increaseFlowRateAllowanceWithPermissionsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissionsToAdd",type:"uint8"},{internalType:"int96",name:"addedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"increaseFlowRateAllowanceWithPermissionsWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"int96",name:"addedFlowRateAllowance",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"increaseFlowRateAllowanceWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"flowOperator",type:"address"},{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"revokeFlowPermissionsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"bool",name:"allowCreate",type:"bool"},{internalType:"bool",name:"allowUpdate",type:"bool"},{internalType:"bool",name:"allowDelete",type:"bool"},{internalType:"int96",name:"flowRateAllowance",type:"int96"}],name:"setFlowPermissionsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"flowOperator",type:"address"},{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"setMaxFlowPermissionsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"updateFlowFromTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateFlowFromWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"updateFlowTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateFlowWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"}],vy="0x608060405234801561001057600080fd5b50611f1a806100206000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638e33f76111610104578063d22d20aa116100a2578063ed86036611610071578063ed86036614610425578063f0447f3a14610438578063f5691f731461044b578063f9c134121461045e57600080fd5b8063d22d20aa146103d9578063dc197868146103ec578063e7295e55146103ff578063ebd3eac11461041257600080fd5b8063b85f67bf116100de578063b85f67bf1461037f578063c3c4f07a14610392578063c9929fc4146103a5578063cf86457a146103b857600080fd5b80638e33f76114610323578063ab0c1e5f14610336578063b076afff1461034957600080fd5b806350b027fc11610171578063778907a61161014b578063778907a6146102d7578063780808cd146102ea57806384213a28146102fd5780638713495c1461031057600080fd5b806350b027fc1461029e57806350bb295c146102b15780636b26d42d146102c457600080fd5b80631dd85401116101ad5780631dd854011461023f578063245bc59a146102525780633b556516146102655780635034dd411461028b57600080fd5b8063136e27d6146101d45780631aa2e8dc146101e95780631abea240146101fc575b600080fd5b6101e76101e236600461184b565b610471565b005b6101e76101f73660046118d2565b61048f565b61020f61020a3660046118d2565b6104a9565b604080519415158552921515602085015290151591830191909152600b0b60608201526080015b60405180910390f35b6101e761024d36600461191d565b6104d3565b6101e7610260366004611991565b6104ef565b6102786102733660046118d2565b610507565b604051600b9190910b8152602001610236565b6101e76102993660046119ca565b610525565b6101e76102ac366004611a0d565b61053b565b6101e76102bf366004611a69565b610550565b6101e76102d236600461191d565b610564565b6101e76102e5366004611aa9565b610579565b6102786102f8366004611991565b61058e565b6101e761030b366004611aea565b6105aa565b6101e761031e36600461191d565b6105bf565b6101e7610331366004611a69565b6105d4565b6101e7610344366004611a69565b6105e8565b61035c6103573660046118d2565b6105fc565b60408051948552600b9390930b6020850152918301526060820152608001610236565b61035c61038d366004611991565b610615565b6101e76103a03660046118d2565b61063d565b6101e76103b3366004611991565b610651565b6103cb6103c6366004611b2b565b610664565b604051908152602001610236565b6101e76103e736600461191d565b610679565b6101e76103fa366004611b6e565b61068e565b6101e761040d366004611aea565b6106ae565b6101e7610420366004611a69565b6106c3565b6101e76104333660046119ca565b6106d7565b6101e761044636600461184b565b6106ed565b6101e7610459366004611a0d565b610703565b6101e761046c366004611aa9565b610718565b6104876001600160a01b0386168585858561072d565b505050505050565b6104a36001600160a01b038416838361085b565b50505050565b60008080806104c26001600160a01b038816878761087a565b935093509350935093509350935093565b6104e86001600160a01b038516848484610933565b5050505050565b6105026001600160a01b03821683610a5e565b505050565b600061051d6001600160a01b0385168484610b8f565b949350505050565b6104876001600160a01b03861685858585610c27565b6104e86001600160a01b038516848484610cb4565b6104a36001600160a01b0384168383610cde565b6104e86001600160a01b038516848484610cfd565b6104e86001600160a01b038516848484610d4a565b60006105a36001600160a01b03841683610d6b565b9392505050565b6104e86001600160a01b038516848484610dee565b6104e86001600160a01b038516848484610e79565b6104a36001600160a01b0384168383610ec6565b6104a36001600160a01b0384168383610ee5565b60008080806104c26001600160a01b0388168787610f04565b600080808061062d6001600160a01b03871686610fa6565b9299919850965090945092505050565b6104a36001600160a01b038416838361103f565b6105026001600160a01b0382168361105e565b60006105a36001600160a01b038416836110aa565b6104e86001600160a01b03851684848461112f565b6106a56001600160a01b038716868686868661117c565b50505050505050565b6104e86001600160a01b0385168484846112dc565b6104a36001600160a01b0384168383611329565b6104876001600160a01b03861685858585611348565b6104876001600160a01b03861685858585611396565b6104e86001600160a01b0385168484846113e4565b6104e86001600160a01b038516848484611405565b600080600061073b88611426565b91509150816001600160a01b03166339255d5b82836001600160a01b031663da6b5f308c8c8c8c60006001600160401b0381111561077b5761077b611788565b6040519080825280601f01601f1916602001820160405280156107a5576020820181803683370190505b506040516024016107ba959493929190611c3a565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610805939250908990600401611c84565b6000604051808303816000875af1158015610824573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261084c9190810190611cc4565b50600198975050505050505050565b6040805160008082526020820190925261051d90859085908590610dee565b600080600080600061088b886115ed565b604051622115df60e11b81526001600160a01b038b811660048301528a811660248301528981166044830152919350600092509083169062422bbe90606401606060405180830381865afa1580156108e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090b9190611d31565b600180831681149d83821c821682149d5060029390931c8116149a5098509650505050505050565b600080600061094187611426565b91509150816001600160a01b03166339255d5b82836001600160a01b0316635f51fb238b8b8b60006001600160401b0381111561098057610980611788565b6040519080825280601f01601f1916602001820160405280156109aa576020820181803683370190505b506040516024016109be9493929190611d69565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610a09939250908990600401611c84565b6000604051808303816000875af1158015610a28573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a509190810190611cc4565b506001979650505050505050565b6000806000610a6c85611426565b91509150816001600160a01b03166339255d5b82836001600160a01b031663062e56ec898960006001600160401b03811115610aaa57610aaa611788565b6040519080825280601f01601f191660200182016040528015610ad4576020820181803683370190505b50604051602401610ae793929190611d9f565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052610b3c9392509060248101611c84565b6000604051808303816000875af1158015610b5b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b839190810190611cc4565b50600195945050505050565b600080610b9b856115ed565b604051631cd43d1160e31b81526001600160a01b03888116600483015287811660248301528681166044830152919350908316915063e6a1e88890606401608060405180830381865afa158015610bf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1a9190611dcb565b5090979650505050505050565b6000806000610c3588611426565b91509150816001600160a01b03166339255d5b82836001600160a01b031663354b95908c8c8c8c60006001600160401b03811115610c7557610c75611788565b6040519080825280601f01601f191660200182016040528015610c9f576020820181803683370190505b506040516024016107ba959493929190611e09565b60408051600080825260208201909252610cd5908690869086908690611348565b95945050505050565b6040805160008082526020820190925261051d90859085908590610933565b6000806000610d0b87611426565b91509150816001600160a01b03166339255d5b82836001600160a01b03166362fc305e8b8b8b60006001600160401b0381111561098057610980611788565b60408051600080825260208201909252610cd590869086908690869061072d565b600080610d77846115ed565b60405163e8e7e2d160e01b81526001600160a01b0387811660048301528681166024830152919350908316915063e8e7e2d190604401602060405180830381865afa158015610dca573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051d9190611e47565b6000806000610dfc87611426565b91509150816001600160a01b03166339255d5b82836001600160a01b0316634c8b181f8b8b8b60006001600160401b03811115610e3b57610e3b611788565b6040519080825280601f01601f191660200182016040528015610e65576020820181803683370190505b506040516024016109be9493929190611e64565b6000806000610e8787611426565b91509150816001600160a01b03166339255d5b82836001600160a01b031663ac5f5d008b8b8b60006001600160401b0381111561098057610980611788565b6040805160008082526020820190925261051d9085908590859061112f565b6040805160008082526020820190925261051d90859085908590610cfd565b6000806000806000610f15886115ed565b604051631cd43d1160e31b81526001600160a01b038b811660048301528a811660248301528981166044830152919350908316915063e6a1e88890606401608060405180830381865afa158015610f70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f949190611dcb565b929b919a509850909650945050505050565b6000806000806000610fb7876115ed565b604051630f1ac49560e01b81526001600160a01b038a8116600483015289811660248301529193509083169150630f1ac49590604401608060405180830381865afa15801561100a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102e9190611dcb565b929a91995097509095509350505050565b6040805160008082526020820190925261051d908590859085906112dc565b600080600061106c85611426565b91509150816001600160a01b03166339255d5b82836001600160a01b03166354b770e3898960006001600160401b03811115610aaa57610aaa611788565b6000806110b6846115ed565b6040516346ccbfb760e11b81526001600160a01b038781166004830152600b87900b60248301529193509083169150638d997f6e90604401602060405180830381865afa15801561110b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051d9190611e98565b600080600061113d87611426565b91509150816001600160a01b03166339255d5b82836001600160a01b03166350209a628b8b8b60006001600160401b0381111561098057610980611788565b600080600061118a89611426565b91509150600060028661119e5760006111a1565b60015b60ff16901b6001886111b45760006111b7565b60015b60ff16901b896111c85760006111cb565b60015b171790506001600160a01b03808416906339255d5b908490811663811b3d408e8e878c60006040519080825280601f01601f19166020018201604052801561121a576020820181803683370190505b5060405160240161122f959493929190611c3a565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526112849392509060248101611c84565b6000604051808303816000875af11580156112a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112cb9190810190611cc4565b5060019a9950505050505050505050565b60008060006112ea87611426565b91509150816001600160a01b03166339255d5b82836001600160a01b031663b4b333c68b8b8b60006001600160401b03811115610e3b57610e3b611788565b6040805160008082526020820190925261051d90859085908590610e79565b600080600061135688611426565b91509150816001600160a01b03166339255d5b82836001600160a01b03166394229ecb8c8c8c8c60006001600160401b03811115610c7557610c75611788565b60008060006113a488611426565b91509150816001600160a01b03166339255d5b82836001600160a01b031663f31f88f08c8c8c8c60006001600160401b0381111561077b5761077b611788565b60408051600080825260208201909252610cd5908690869086908690610c27565b60408051600080825260208201909252610cd5908690869086908690611396565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b0381166115bc576001600160a01b0382166114eb57826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e89190611eb1565b91505b604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa15801561154f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115739190611eb1565b9050817f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea83755807fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a555b6001600160a01b0382166115d2576115d2611ece565b6001600160a01b0381166115e8576115e8611ece565b915091565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b0381166115bc576001600160a01b0382166116b257826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116af9190611eb1565b91505b604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015611716573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173a9190611eb1565b90506001600160a01b0382166115d2576115d2611ece565b6001600160a01b038116811461176757600080fd5b50565b60ff8116811461176757600080fd5b80600b0b811461176757600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156117c6576117c6611788565b604052919050565b60006001600160401b038211156117e7576117e7611788565b50601f01601f191660200190565b600082601f83011261180657600080fd5b8135611819611814826117ce565b61179e565b81815284602083860101111561182e57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561186357600080fd5b853561186e81611752565b9450602086013561187e81611752565b9350604086013561188e8161176a565b9250606086013561189e81611779565b915060808601356001600160401b038111156118b957600080fd5b6118c5888289016117f5565b9150509295509295909350565b6000806000606084860312156118e757600080fd5b83356118f281611752565b9250602084013561190281611752565b9150604084013561191281611752565b809150509250925092565b6000806000806080858703121561193357600080fd5b843561193e81611752565b9350602085013561194e81611752565b9250604085013561195e81611779565b915060608501356001600160401b0381111561197957600080fd5b611985878288016117f5565b91505092959194509250565b600080604083850312156119a457600080fd5b82356119af81611752565b915060208301356119bf81611752565b809150509250929050565b600080600080600060a086880312156119e257600080fd5b85356119ed81611752565b945060208601356119fd81611752565b9350604086013561188e81611752565b60008060008060808587031215611a2357600080fd5b8435611a2e81611752565b93506020850135611a3e81611752565b92506040850135611a4e81611752565b91506060850135611a5e81611779565b939692955090935050565b600080600060608486031215611a7e57600080fd5b8335611a8981611752565b92506020840135611a9981611752565b9150604084013561191281611779565b60008060008060808587031215611abf57600080fd5b8435611aca81611752565b93506020850135611ada81611752565b92506040850135611a4e8161176a565b60008060008060808587031215611b0057600080fd5b8435611b0b81611752565b93506020850135611b1b81611752565b9250604085013561195e81611752565b60008060408385031215611b3e57600080fd5b8235611b4981611752565b915060208301356119bf81611779565b80358015158114611b6957600080fd5b919050565b60008060008060008060c08789031215611b8757600080fd5b8635611b9281611752565b95506020870135611ba281611752565b9450611bb060408801611b59565b9350611bbe60608801611b59565b9250611bcc60808801611b59565b915060a0870135611bdc81611779565b809150509295509295509295565b60005b83811015611c05578181015183820152602001611bed565b50506000910152565b60008151808452611c26816020860160208601611bea565b601f01601f19169290920160200192915050565b6001600160a01b0386811682528516602082015260ff84166040820152600b83900b606082015260a060808201819052600090611c7990830184611c0e565b979650505050505050565b6001600160a01b0384168152606060208201819052600090611ca890830185611c0e565b8281036040840152611cba8185611c0e565b9695505050505050565b600060208284031215611cd657600080fd5b81516001600160401b03811115611cec57600080fd5b8201601f81018413611cfd57600080fd5b8051611d0b611814826117ce565b818152856020838501011115611d2057600080fd5b610cd5826020830160208601611bea565b600080600060608486031215611d4657600080fd5b835192506020840151611d588161176a565b604085015190925061191281611779565b6001600160a01b03858116825284166020820152600b83900b6040820152608060608201819052600090611cba90830184611c0e565b6001600160a01b03848116825283166020820152606060408201819052600090610cd590830184611c0e565b60008060008060808587031215611de157600080fd5b845193506020850151611df381611779565b6040860151606090960151949790965092505050565b6001600160a01b038681168252858116602083015284166040820152600b83900b606082015260a060808201819052600090611c7990830184611c0e565b600060208284031215611e5957600080fd5b81516105a381611779565b6001600160a01b038581168252848116602083015283166040820152608060608201819052600090611cba90830184611c0e565b600060208284031215611eaa57600080fd5b5051919050565b600060208284031215611ec357600080fd5b81516105a381611752565b634e487b7160e01b600052600160045260246000fdfea26469706673582212207885e6ee18262d9c477d6c47020cf987e129187c43cc8d8e183e3972bb52a6b564736f6c63430008130033",vv=eb=>eb.length>1;class vz extends u9.lV{constructor(...eb){vv(eb)?super(...eb):super(L7,vy,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(L7)}static connect(eb,em){return new u9.CH(eb,L7,em)}}vz.bytecode=vy,vz.abi=L7;let vw=[{inputs:[{internalType:"contract ISuperfluid",name:"_host",type:"address"},{internalType:"address",name:"defaultSender",type:"address"},{internalType:"address",name:"defaultReceiver",type:"address"},{internalType:"address",name:"defaultFlowOperator",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"authorizeFlowOperatorWithFullControl",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"createFlow",outputs:[],stateMutability:"nonpayable",type:"function"}],vM="0x60e06040523480156200001157600080fd5b5060405162001b6338038062001b638339810160408190526200003491620000f0565b600080546001600160a01b0319166001600160a01b03868116918217835585811660805284811660a052831660c0526040805163bd1c448b60e01b8152643d0000000160048201819052602482019290925260448101939093529163bd1c448b90606401600060405180830381600087803b158015620000b357600080fd5b505af1158015620000c8573d6000803e3d6000fd5b50505050505050505062000158565b6001600160a01b0381168114620000ed57600080fd5b50565b600080600080608085870312156200010757600080fd5b84516200011481620000d7565b60208601519094506200012781620000d7565b60408601519093506200013a81620000d7565b60608601519092506200014d81620000d7565b939692955090935050565b60805160a05160c05161198e620001d56000396000818161031f015281816107fe01528181610848015261088801526000818161027b015281816105f8015281816106460152818161068e015281816106ef0152818161075601526107be0152600081816106ce01528181610735015261079d015261198e6000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80635f9e7d771161005b5780635f9e7d77146100f15780637d5b08de14610104578063884d1f4014610117578063d86ed3e51461012a57600080fd5b8063230dbd291461008d57806330d9c915146100b657806353c11f99146100c9578063558aea25146100dc575b600080fd5b6100a061009b3660046112cf565b61013d565b6040516100ad91906113e9565b60405180910390f35b6100a06100c4366004611403565b6101a4565b6100a06100d73660046112cf565b610207565b6100ef6100ea3660046114a1565b61026c565b005b6100a06100ff366004611403565b6102a9565b6100ef6101123660046114a1565b610310565b6100a0610125366004611403565b610343565b6100a06101383660046112cf565b6103a6565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d08155c19185d195960921b60648201526060906084015b60405180910390fd5b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b606482015260609060840161019b565b60405162461bcd60e51b815260206004820152603160248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201527019595b595b9d0815195c9b5a5b985d1959607a1b606482015260609060840161019b565b6102a56001600160a01b0382167f000000000000000000000000000000000000000000000000000000000000000064e8d4a510006103f6565b5050565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b606482015260609060840161019b565b6102a56001600160a01b0382167f000000000000000000000000000000000000000000000000000000000000000061041d565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b606482015260609060840161019b565b60606103e88a84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061055092505050565b9a9950505050505050505050565b60408051600080825260208201909252610415908590859085906108ee565b949350505050565b600080600061042b85610a19565b91509150816001600160a01b03166339255d5b82836001600160a01b03166354b770e3898960006001600160401b03811115610469576104696114be565b6040519080825280601f01601f191660200182016040528015610493576020820181803683370190505b506040516024016104a6939291906114d4565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526104fb9392509060248101611509565b6000604051808303816000875af115801561051a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261054291908101906115ef565b506001925050505b92915050565b60008054604051631fb6491d60e11b8152606092916001600160a01b031690633f6c923a906105839086906004016113e9565b600060405180830381865afa1580156105a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105c8919081019061165c565b60a001518060200190518101906105df9190611762565b905060ff811661062b576106236001600160a01b0385167f000000000000000000000000000000000000000000000000000000000000000064e8d4a5100086610be0565b91505061054a565b60001960ff821601610672576106236001600160a01b0385167f00000000000000000000000000000000000000000000000000000000000000006501d1a94a200086610d09565b60011960ff8216016106b3576106236001600160a01b038516307f000000000000000000000000000000000000000000000000000000000000000086610d56565b60021960ff82160161071a576106236001600160a01b0385167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000064e8d4a5100087610de1565b60031960ff821601610782576106236001600160a01b0385167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006501d1a94a200087610f0d565b60041960ff8216016107e3576106236001600160a01b0385167f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000086610f5b565b60051960ff82160161082d576106236001600160a01b0385167f00000000000000000000000000000000000000000000000000000000000000006001808064e8d4a5100089610fa8565b60061960ff82160161086d576106236001600160a01b0385167f0000000000000000000000000000000000000000000000000000000000000000856110fd565b60071960ff8216016108ad576106236001600160a01b0385167f000000000000000000000000000000000000000000000000000000000000000085611223565b60405162461bcd60e51b81526020600482015260166024820152750d2dcecc2d8d2c840cceadcc6e8d2dedc40d2dcc8caf60531b604482015260640161019b565b60008060006108fc87610a19565b91509150816001600160a01b03166339255d5b82836001600160a01b03166362fc305e8b8b8b60006001600160401b0381111561093b5761093b6114be565b6040519080825280601f01601f191660200182016040528015610965576020820181803683370190505b50604051602401610979949392919061177d565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526109c4939250908990600401611509565b6000604051808303816000875af11580156109e3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a0b91908101906115ef565b506001979650505050505050565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b038116610baf576001600160a01b038216610ade57826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610adb91906117b3565b91505b604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015610b42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6691906117b3565b9050817f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea83755807fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a555b6001600160a01b038216610bc557610bc56117d0565b6001600160a01b038116610bdb57610bdb6117d0565b915091565b6060600080610bee87610a19565b91509150816001600160a01b0316634329d29382836001600160a01b03166362fc305e8b8b8b60006001600160401b03811115610c2d57610c2d6114be565b6040519080825280601f01601f191660200182016040528015610c57576020820181803683370190505b50604051602401610c6b949392919061177d565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610cb69392509089906004016117e6565b6000604051808303816000875af1158015610cd5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cfd9190810190611839565b50979650505050505050565b6060600080610d1787610a19565b91509150816001600160a01b0316634329d29382836001600160a01b03166350209a628b8b8b60006001600160401b03811115610c2d57610c2d6114be565b6060600080610d6487610a19565b91509150816001600160a01b0316634329d29382836001600160a01b031663b4b333c68b8b8b60006001600160401b03811115610da357610da36114be565b6040519080825280601f01601f191660200182016040528015610dcd576020820181803683370190505b50604051602401610c6b949392919061189c565b6060600080610def88610a19565b91509150816001600160a01b0316634329d29382836001600160a01b03166394229ecb8c8c8c8c60006001600160401b03811115610e2f57610e2f6114be565b6040519080825280601f01601f191660200182016040528015610e59576020820181803683370190505b50604051602401610e6e9594939291906118d0565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610eb99392509089906004016117e6565b6000604051808303816000875af1158015610ed8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f009190810190611839565b5098975050505050505050565b6060600080610f1b88610a19565b91509150816001600160a01b0316634329d29382836001600160a01b031663354b95908c8c8c8c60006001600160401b03811115610e2f57610e2f6114be565b6060600080610f6987610a19565b91509150816001600160a01b0316634329d29382836001600160a01b0316634c8b181f8b8b8b60006001600160401b03811115610da357610da36114be565b6060600080610fb68a610a19565b915091506000600287610fca576000610fcd565b60015b60ff16901b600189610fe0576000610fe3565b60015b60ff16901b8a610ff4576000610ff7565b60015b171790506001600160a01b0380841690634329d293908490811663811b3d408f8f878d60006040519080825280601f01601f191660200182016040528015611046576020820181803683370190505b5060405160240161105b959493929190611919565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526110a6939250908a906004016117e6565b6000604051808303816000875af11580156110c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110ed9190810190611839565b509b9a5050505050505050505050565b606060008061110b86610a19565b91509150816001600160a01b0316634329d29382836001600160a01b03166354b770e38a8a60006001600160401b03811115611149576111496114be565b6040519080825280601f01601f191660200182016040528015611173576020820181803683370190505b50604051602401611186939291906114d4565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526111d19392509089906004016117e6565b6000604051808303816000875af11580156111f0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112189190810190611839565b509695505050505050565b606060008061123186610a19565b91509150816001600160a01b0316634329d29382836001600160a01b031663062e56ec8a8a60006001600160401b03811115611149576111496114be565b6001600160a01b038116811461128457600080fd5b50565b60008083601f84011261129957600080fd5b5081356001600160401b038111156112b057600080fd5b6020830191508360208285010111156112c857600080fd5b9250929050565b600080600080600080600080600060c08a8c0312156112ed57600080fd5b89356112f88161126f565b985060208a01356113088161126f565b975060408a0135965060608a01356001600160401b038082111561132b57600080fd5b6113378d838e01611287565b909850965060808c013591508082111561135057600080fd5b61135c8d838e01611287565b909650945060a08c013591508082111561137557600080fd5b506113828c828d01611287565b915080935050809150509295985092959850929598565b60005b838110156113b457818101518382015260200161139c565b50506000910152565b600081518084526113d5816020860160208601611399565b601f01601f19169290920160200192915050565b6020815260006113fc60208301846113bd565b9392505050565b600080600080600080600060a0888a03121561141e57600080fd5b87356114298161126f565b965060208801356114398161126f565b95506040880135945060608801356001600160401b038082111561145c57600080fd5b6114688b838c01611287565b909650945060808a013591508082111561148157600080fd5b5061148e8a828b01611287565b989b979a50959850939692959293505050565b6000602082840312156114b357600080fd5b81356113fc8161126f565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03848116825283166020820152606060408201819052600090611500908301846113bd565b95945050505050565b6001600160a01b038416815260606020820181905260009061152d908301856113bd565b828103604084015261153f81856113bd565b9695505050505050565b60405161016081016001600160401b038111828210171561156c5761156c6114be565b60405290565b600082601f83011261158357600080fd5b81516001600160401b038082111561159d5761159d6114be565b604051601f8301601f19908116603f011681019082821181831017156115c5576115c56114be565b816040528381528660208588010111156115de57600080fd5b61153f846020830160208901611399565b60006020828403121561160157600080fd5b81516001600160401b0381111561161757600080fd5b61041584828501611572565b805160ff8116811461163457600080fd5b919050565b80516116348161126f565b80516001600160e01b03198116811461163457600080fd5b60006020828403121561166e57600080fd5b81516001600160401b038082111561168557600080fd5b90830190610160828603121561169a57600080fd5b6116a2611549565b6116ab83611623565b81526116b960208401611623565b6020820152604083015160408201526116d460608401611639565b60608201526116e560808401611644565b608082015260a0830151828111156116fc57600080fd5b61170887828601611572565b60a08301525060c083015160c082015260e083015160e082015261010091508183015182820152610120915061173f828401611639565b828201526101409150611753828401611639565b91810191909152949350505050565b60006020828403121561177457600080fd5b6113fc82611623565b6001600160a01b03858116825284166020820152600b83900b604082015260806060820181905260009061153f908301846113bd565b6000602082840312156117c557600080fd5b81516113fc8161126f565b634e487b7160e01b600052600160045260246000fd5b6001600160a01b038416815260806020820181905260009061180a908301856113bd565b8281038060408501526002825261060f60f31b60208301526040810160608501525061153f60408201856113bd565b6000806040838503121561184c57600080fd5b82516001600160401b038082111561186357600080fd5b61186f86838701611572565b9350602085015191508082111561188557600080fd5b5061189285828601611572565b9150509250929050565b6001600160a01b03858116825284811660208301528316604082015260806060820181905260009061153f908301846113bd565b6001600160a01b038681168252858116602083015284166040820152600b83900b606082015260a06080820181905260009061190e908301846113bd565b979650505050505050565b6001600160a01b0386811682528516602082015260ff84166040820152600b83900b606082015260a06080820181905260009061190e908301846113bd56fea2646970667358221220f1214a77af9acb659a09feb0b727a56f14459fc773d1108c8db1f73198ed3a9064736f6c63430008130033",vC=eb=>eb.length>1;class vx extends u9.lV{constructor(...eb){vC(eb)?super(...eb):super(vw,vM,eb[0])}deploy(eb,em,ew,eM,eC){return super.deploy(eb,em,ew,eM,eC||{})}getDeployTransaction(eb,em,ew,eM,eC){return super.getDeployTransaction(eb,em,ew,eM,eC||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(vw)}static connect(eb,em){return new u9.CH(eb,vw,em)}}vx.bytecode=vM,vx.abi=vw;let vk=[{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"approveSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"approveSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"calculateDistributionTest",outputs:[{internalType:"uint256",name:"actualAmount",type:"uint256"},{internalType:"uint128",name:"newIndexValue",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"claimTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"claimWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"createIndexTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"createIndexWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"deleteSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"deleteSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"distributeTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"distributeWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"getIndexTest",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"uint128",name:"totalUnitsApproved",type:"uint128"},{internalType:"uint128",name:"totalUnitsPending",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"}],name:"getSubscriptionByIDTest",outputs:[{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"getSubscriptionTest",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"subscriber",type:"address"}],name:"listSubscriptionsTest",outputs:[{internalType:"address[]",name:"publishers",type:"address[]"},{internalType:"uint32[]",name:"indexIds",type:"uint32[]"},{internalType:"uint128[]",name:"unitsList",type:"uint128[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"revokeSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"revokeSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"}],name:"updateIndexValueTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateIndexValueWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"}],name:"updateSubscriptionUnitsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateSubscriptionUnitsWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"}],vT="0x608060405234801561001057600080fd5b50611f6c806100206000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80635158472c116100b85780639cdf4d671161007c5780639cdf4d6714610302578063c9869ed014610315578063c9b8a2f614610328578063d39363c01461036c578063eadc45511461037f578063fe134e9f1461039257600080fd5b80635158472c146102a35780636436e3d3146102b65780636ddb6798146102c95780637489c503146102dc57806378bb14ea146102ef57600080fd5b80633939709e116100ff5780633939709e146102045780634018cb64146102175780634277b78f146102395780635002bb091461024c57806350c8da8f1461025f57600080fd5b8063068f3d191461013c57806306f75d2e1461015157806316dfe9271461016457806325a108af146101775780632a722c06146101d4575b600080fd5b61014f61014a3660046113f1565b6103a5565b005b61014f61015f366004611478565b6103c3565b61014f6101723660046114ec565b6103df565b61018a61018536600461154d565b6103f9565b604080516001600160a01b03909616865263ffffffff9094166020860152911515928401929092526001600160801b039091166060830152608082015260a0015b60405180910390f35b6101e76101e2366004611579565b610425565b604080519283526001600160801b039091166020830152016101cb565b61014f6102123660046115df565b61044a565b61022a610225366004611620565b61045f565b6040516101cb9392919061169d565b61014f61024736600461173a565b610483565b61014f61025a36600461178d565b610499565b61027261026d3660046117e9565b6104ae565b6040805194151585526001600160801b039384166020860152918316918401919091521660608201526080016101cb565b61014f6102b13660046113f1565b6104d8565b61014f6102c4366004611478565b6104ee565b61014f6102d73660046117e9565b610503565b61014f6102ea366004611834565b610517565b61014f6102fd366004611875565b61052b565b61014f6103103660046118b5565b61053f565b61014f61032336600461178d565b610554565b61033b61033636600461178d565b610569565b6040516101cb9493929190931515845291151560208401526001600160801b03166040830152606082015260800190565b61014f61037a3660046117e9565b610595565b61014f61038d366004611906565b6105a9565b61014f6103a0366004611934565b6105c1565b6103bb6001600160a01b038616858585856105d6565b505050505050565b6103d86001600160a01b038516848484610704565b5050505050565b6103f36001600160a01b038416838361082f565b50505050565b6000808080806104126001600160a01b03881687610957565b939b929a50909850965090945092505050565b60008061043d6001600160a01b0387168686866109f3565b9150915094509492505050565b6103d86001600160a01b038516848484610a98565b606080806104766001600160a01b03861685610b23565b9250925092509250925092565b6103bb6001600160a01b03861685858585610bbc565b6103d86001600160a01b038516848484610c49565b60008080806104c76001600160a01b0388168787610c73565b935093509350935093509350935093565b6103bb6001600160a01b03861685858585610d19565b6103d86001600160a01b038516848484610d67565b6103f36001600160a01b0384168383610db4565b6103f36001600160a01b0384168383610ddb565b6103f36001600160a01b0384168383610dfa565b6103d86001600160a01b038516848484610e19565b6103d86001600160a01b038516848484610e3a565b60008080806105836001600160a01b038916888888610e5b565b929b919a509850909650945050505050565b6103f36001600160a01b0384168383610f0a565b6105bc6001600160a01b03831682610f29565b505050565b6103d86001600160a01b038516848484610f4d565b60008060006105e488610fd8565b91509150816001600160a01b03166339255d5b82836001600160a01b031663acafa1b88c8c8c8c60006001600160401b038111156106245761062461132e565b6040519080825280601f01601f19166020018201604052801561064e576020820181803683370190505b506040516024016106639594939291906119d7565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526106ae939250908990600401611a22565b6000604051808303816000875af11580156106cd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106f59190810190611a62565b50600198975050505050505050565b600080600061071287610fd8565b91509150816001600160a01b03166339255d5b82836001600160a01b0316636041ae968b8b8b60006001600160401b038111156107515761075161132e565b6040519080825280601f01601f19166020018201604052801561077b576020820181803683370190505b5060405160240161078f9493929190611acf565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526107da939250908990600401611a22565b6000604051808303816000875af11580156107f9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108219190810190611a62565b506001979650505050505050565b600080600061083d86610fd8565b91509150816001600160a01b03166339255d5b82836001600160a01b031663d787840a8a8a60006001600160401b0381111561087b5761087b61132e565b6040519080825280601f01601f1916602001820160405280156108a5576020820181803683370190505b506040516024016108b893929190611b07565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610903939250908990600401611a22565b6000604051808303816000875af1158015610922573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261094a9190810190611a62565b5060019695505050505050565b6000806000806000806109698861119f565b60405163cd7245c560e01b81526001600160a01b038b81166004830152602482018b9052919350908316915063cd7245c59060440160a060405180830381865afa1580156109bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109df9190611b4c565b939c929b5090995097509095509350505050565b6000806000610a018761119f565b604051632266eabb60e21b81526001600160a01b038a81166004830152898116602483015263ffffffff8916604483015260648201889052919350908316915063899baaec906084016040805180830381865afa158015610a66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8a9190611bb3565b925092505094509492505050565b6000806000610aa687610fd8565b91509150816001600160a01b03166339255d5b82836001600160a01b0316637fbc76398b8b8b60006001600160401b03811115610ae557610ae561132e565b6040519080825280601f01601f191660200182016040528015610b0f576020820181803683370190505b5060405160240161078f9493929190611bd8565b60608060606000610b338661119f565b6040516316db59b760e31b81526001600160a01b0389811660048301528881166024830152919350908316915063b6dacdb890604401600060405180830381865afa158015610b86573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bae9190810190611d0d565b935093509350509250925092565b6000806000610bca88610fd8565b91509150816001600160a01b03166339255d5b82836001600160a01b031663232d2b588c8c8c8c60006001600160401b03811115610c0a57610c0a61132e565b6040519080825280601f01601f191660200182016040528015610c34576020820181803683370190505b50604051602401610663959493929190611deb565b60408051600080825260208201909252610c6a908690869086908690610d19565b95945050505050565b6000806000806000610c848861119f565b6040516323fc23f360e01b81526001600160a01b038b811660048301528a8116602483015263ffffffff8a16604483015291935090831691506323fc23f390606401608060405180830381865afa158015610ce3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d079190611e32565b94509450945094505093509350935093565b6000806000610d2788610fd8565b91509150816001600160a01b03166339255d5b82836001600160a01b0316632e5e74c68c8c8c8c60006001600160401b038111156106245761062461132e565b6000806000610d7587610fd8565b91509150816001600160a01b03166339255d5b82836001600160a01b031663acf4a6c28b8b8b60006001600160401b038111156107515761075161132e565b60408051600080825260208201909252610dd390859085908590610d67565b949350505050565b60408051600080825260208201909252610dd390859085908590610f4d565b60408051600080825260208201909252610dd390859085908590610a98565b60408051600080825260208201909252610c6a908690869086908690610bbc565b60408051600080825260208201909252610c6a9086908690869086906105d6565b6000806000806000610e6c8961119f565b604051635b53405160e01b81526001600160a01b038c811660048301528b8116602483015263ffffffff8b16604483015289811660648301529193509083169150635b53405190608401608060405180830381865afa158015610ed3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef79190611e83565b929c919b50995090975095505050505050565b60408051600080825260208201909252610dd390859085908590610704565b60408051600080825260208201909252610f46908490849061082f565b9392505050565b6000806000610f5b87610fd8565b91509150816001600160a01b03166339255d5b82836001600160a01b031663b96731c28b8b8b60006001600160401b03811115610f9a57610f9a61132e565b6040519080825280601f01601f191660200182016040528015610fc4576020820181803683370190505b5060405160240161078f9493929190611ed0565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fa832ee1924ea960211af2df07d65d166232018f613ac6708043cd8f8773eddeb546001600160a01b03811661116e576001600160a01b03821661109d57826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015611076573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109a9190611f03565b91505b604051635b69006f60e11b81527f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a67460048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015611101573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111259190611f03565b9050817f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea83755807fa832ee1924ea960211af2df07d65d166232018f613ac6708043cd8f8773eddeb555b6001600160a01b03821661118457611184611f20565b6001600160a01b03811661119a5761119a611f20565b915091565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fa832ee1924ea960211af2df07d65d166232018f613ac6708043cd8f8773eddeb546001600160a01b03811661116e576001600160a01b03821661126457826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa15801561123d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112619190611f03565b91505b604051635b69006f60e11b81527f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a67460048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa1580156112c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ec9190611f03565b90506001600160a01b03821661118457611184611f20565b6001600160a01b038116811461131957600080fd5b50565b63ffffffff8116811461131957600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561136c5761136c61132e565b604052919050565b60006001600160401b0382111561138d5761138d61132e565b50601f01601f191660200190565b600082601f8301126113ac57600080fd5b81356113bf6113ba82611374565b611344565b8181528460208386010111156113d457600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561140957600080fd5b853561141481611304565b9450602086013561142481611304565b935060408601356114348161131c565b9250606086013561144481611304565b915060808601356001600160401b0381111561145f57600080fd5b61146b8882890161139b565b9150509295509295909350565b6000806000806080858703121561148e57600080fd5b843561149981611304565b935060208501356114a981611304565b925060408501356114b98161131c565b915060608501356001600160401b038111156114d457600080fd5b6114e08782880161139b565b91505092959194509250565b60008060006060848603121561150157600080fd5b833561150c81611304565b9250602084013561151c8161131c565b915060408401356001600160401b0381111561153757600080fd5b6115438682870161139b565b9150509250925092565b6000806040838503121561156057600080fd5b823561156b81611304565b946020939093013593505050565b6000806000806080858703121561158f57600080fd5b843561159a81611304565b935060208501356115aa81611304565b925060408501356115ba8161131c565b9396929550929360600135925050565b6001600160801b038116811461131957600080fd5b600080600080608085870312156115f557600080fd5b843561160081611304565b935060208501356116108161131c565b925060408501356114b9816115ca565b6000806040838503121561163357600080fd5b823561163e81611304565b9150602083013561164e81611304565b809150509250929050565b600081518084526020808501945080840160005b838110156116925781516001600160801b03168752958201959082019060010161166d565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b828110156116df5781516001600160a01b0316845292840192908401906001016116ba565b5050508381038285015285518082528683019183019060005b8181101561171a57835163ffffffff16835292840192918401916001016116f8565b5050848103604086015261172e8187611659565b98975050505050505050565b600080600080600060a0868803121561175257600080fd5b853561175d81611304565b9450602086013561176d8161131c565b9350604086013561177d81611304565b92506060860135611444816115ca565b600080600080608085870312156117a357600080fd5b84356117ae81611304565b935060208501356117be81611304565b925060408501356117ce8161131c565b915060608501356117de81611304565b939692955090935050565b6000806000606084860312156117fe57600080fd5b833561180981611304565b9250602084013561181981611304565b915060408401356118298161131c565b809150509250925092565b60008060006060848603121561184957600080fd5b833561185481611304565b925060208401356118648161131c565b929592945050506040919091013590565b60008060006060848603121561188a57600080fd5b833561189581611304565b925060208401356118a58161131c565b91506040840135611829816115ca565b600080600080608085870312156118cb57600080fd5b84356118d681611304565b935060208501356118e68161131c565b925060408501356118f681611304565b915060608501356117de816115ca565b6000806040838503121561191957600080fd5b823561192481611304565b9150602083013561164e8161131c565b6000806000806080858703121561194a57600080fd5b843561195581611304565b935060208501356119658161131c565b92506040850135915060608501356001600160401b038111156114d457600080fd5b60005b838110156119a257818101518382015260200161198a565b50506000910152565b600081518084526119c3816020860160208601611987565b601f01601f19169290920160200192915050565b6001600160a01b038681168252858116602083015263ffffffff851660408301528316606082015260a060808201819052600090611a17908301846119ab565b979650505050505050565b6001600160a01b0384168152606060208201819052600090611a46908301856119ab565b8281036040840152611a5881856119ab565b9695505050505050565b600060208284031215611a7457600080fd5b81516001600160401b03811115611a8a57600080fd5b8201601f81018413611a9b57600080fd5b8051611aa96113ba82611374565b818152856020838501011115611abe57600080fd5b610c6a826020830160208601611987565b6001600160a01b0385811682528416602082015263ffffffff83166040820152608060608201819052600090611a58908301846119ab565b6001600160a01b038416815263ffffffff83166020820152606060408201819052600090610c6a908301846119ab565b80518015158114611b4757600080fd5b919050565b600080600080600060a08688031215611b6457600080fd5b8551611b6f81611304565b6020870151909550611b808161131c565b9350611b8e60408701611b37565b92506060860151611b9e816115ca565b80925050608086015190509295509295909350565b60008060408385031215611bc657600080fd5b82519150602083015161164e816115ca565b6001600160a01b038516815263ffffffff841660208201526001600160801b0383166040820152608060608201819052600090611a58908301846119ab565b60006001600160401b03821115611c3057611c3061132e565b5060051b60200190565b600082601f830112611c4b57600080fd5b81516020611c5b6113ba83611c17565b82815260059290921b84018101918181019086841115611c7a57600080fd5b8286015b84811015611c9e578051611c918161131c565b8352918301918301611c7e565b509695505050505050565b600082601f830112611cba57600080fd5b81516020611cca6113ba83611c17565b82815260059290921b84018101918181019086841115611ce957600080fd5b8286015b84811015611c9e578051611d00816115ca565b8352918301918301611ced565b600080600060608486031215611d2257600080fd5b83516001600160401b0380821115611d3957600080fd5b818601915086601f830112611d4d57600080fd5b81516020611d5d6113ba83611c17565b82815260059290921b8401810191818101908a841115611d7c57600080fd5b948201945b83861015611da3578551611d9481611304565b82529482019490820190611d81565b91890151919750909350505080821115611dbc57600080fd5b611dc887838801611c3a565b93506040860151915080821115611dde57600080fd5b5061154386828701611ca9565b6001600160a01b03868116825263ffffffff86166020830152841660408201526001600160801b038316606082015260a060808201819052600090611a17908301846119ab565b60008060008060808587031215611e4857600080fd5b611e5185611b37565b93506020850151611e61816115ca565b6040860151909350611e72816115ca565b60608601519092506117de816115ca565b60008060008060808587031215611e9957600080fd5b611ea285611b37565b9350611eb060208601611b37565b92506040850151611ec0816115ca565b6060959095015193969295505050565b60018060a01b038516815263ffffffff84166020820152826040820152608060608201526000611a5860808301846119ab565b600060208284031215611f1557600080fd5b8151610f4681611304565b634e487b7160e01b600052600160045260246000fdfea2646970667358221220003a693934e4c7a8d0989dbc66364c06cf9b870aad81d6bffee0ed92e5eb880c64736f6c63430008130033",v_=eb=>eb.length>1;class vE extends u9.lV{constructor(...eb){v_(eb)?super(...eb):super(vk,vT,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(vk)}static connect(eb,em){return new u9.CH(eb,vk,em)}}vE.bytecode=vT,vE.abi=vk;let vS=[{inputs:[{internalType:"contract ISuperfluid",name:"_host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"approveSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"approveSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"calculateDistributionTest",outputs:[{internalType:"uint256",name:"actualAmount",type:"uint256"},{internalType:"uint128",name:"newIndexValue",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"claimTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"claimWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"createIndexTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"createIndexWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"deleteSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"deleteSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"distributeTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"distributeWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"getIndexTest",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"uint128",name:"totalUnitsApproved",type:"uint128"},{internalType:"uint128",name:"totalUnitsPending",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"}],name:"getSubscriptionByIDTest",outputs:[{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"getSubscriptionTest",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"subscriber",type:"address"}],name:"listSubscriptionsTest",outputs:[{internalType:"address[]",name:"publishers",type:"address[]"},{internalType:"uint32[]",name:"indexIds",type:"uint32[]"},{internalType:"uint128[]",name:"unitsList",type:"uint128[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"revokeSubscriptionTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"revokeSubscriptionWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"}],name:"updateIndexValueTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateIndexValueWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"}],name:"updateSubscriptionUnitsTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateSubscriptionUnitsWithUserDataTest",outputs:[],stateMutability:"nonpayable",type:"function"}],vA="0x60806040523480156200001157600080fd5b506040516200305d3803806200305d8339810160408190526200003491620000c2565b600080546001600160a01b0319166001600160a01b03831690811782556040805163bd1c448b60e01b815264350000000160048201819052602482019290925260448101939093529163bd1c448b90606401600060405180830381600087803b158015620000a157600080fd5b505af1158015620000b6573d6000803e3d6000fd5b505050505050620000f4565b600060208284031215620000d557600080fd5b81516001600160a01b0381168114620000ed57600080fd5b9392505050565b612f5980620001046000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806353c11f99116100f95780639cdf4d6711610097578063d39363c011610071578063d39363c01461044e578063d86ed3e5146101e9578063eadc455114610461578063fe134e9f1461047457600080fd5b80639cdf4d67146103e4578063c9869ed0146103f7578063c9b8a2f61461040a57600080fd5b80636ddb6798116100d35780636ddb6798146103985780637489c503146103ab57806378bb14ea146103be578063884d1f40146103d157600080fd5b806353c11f991461035f5780635f9e7d77146103725780636436e3d31461038557600080fd5b806330d9c915116101665780634277b78f116101405780634277b78f146102e25780635002bb09146102f557806350c8da8f146103085780635158472c1461034c57600080fd5b806330d9c9151461029a5780633939709e146102ad5780634018cb64146102c057600080fd5b8063068f3d19146101ae57806306f75d2e146101c357806316dfe927146101d6578063230dbd29146101e957806325a108af146102125780632a722c061461026a575b600080fd5b6101c16101bc366004611fb8565b610487565b005b6101c16101d136600461203f565b6104a5565b6101c16101e43660046120b3565b6104c1565b6101fc6101f736600461215c565b6104db565b6040516102099190612276565b60405180910390f35b610225610220366004612289565b61052b565b604080516001600160a01b03909616865263ffffffff9094166020860152911515928401929092526001600160801b039091166060830152608082015260a001610209565b61027d6102783660046122b5565b610557565b604080519283526001600160801b03909116602083015201610209565b6101fc6102a8366004612306565b61057c565b6101c16102bb3660046123b9565b6105e4565b6102d36102ce3660046123fa565b6105f9565b60405161020993929190612477565b6101c16102f0366004612514565b61061d565b6101c1610303366004612567565b610633565b61031b6103163660046125c3565b610648565b6040805194151585526001600160801b03938416602086015291831691840191909152166060820152608001610209565b6101c161035a366004611fb8565b610672565b6101fc61036d36600461215c565b610688565b6101fc610380366004612306565b6106ed565b6101c161039336600461203f565b610754565b6101c16103a63660046125c3565b610769565b6101c16103b936600461260e565b61077d565b6101c16103cc36600461264f565b610791565b6101fc6103df366004612306565b6107a5565b6101c16103f236600461268f565b610808565b6101c1610405366004612567565b61081d565b61041d610418366004612567565b610832565b6040516102099493929190931515845291151560208401526001600160801b03166040830152606082015260800190565b6101c161045c3660046125c3565b61085e565b6101c161046f3660046126e0565b610872565b6101c161048236600461270e565b61088a565b61049d6001600160a01b0386168585858561089f565b505050505050565b6104ba6001600160a01b0385168484846109cd565b5050505050565b6104d56001600160a01b0384168383610af8565b50505050565b606061051d8a84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610c2092505050565b9a9950505050505050505050565b6000808080806105446001600160a01b03881687610f3c565b939b929a50909850965090945092505050565b60008061056f6001600160a01b038716868686610fd8565b9150915094509492505050565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b60648201526060906084015b60405180910390fd5b6104ba6001600160a01b03851684848461107d565b606080806106106001600160a01b03861685611108565b9250925092509250925092565b61049d6001600160a01b038616858585856111a1565b6104ba6001600160a01b03851684848461122e565b60008080806106616001600160a01b0388168787611258565b935093509350935093509350935093565b61049d6001600160a01b038616858585856112fe565b60405162461bcd60e51b815260206004820152603160248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201527019595b595b9d0815195c9b5a5b985d1959607a1b60648201526060906084016105db565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b60648201526060906084016105db565b6104ba6001600160a01b03851684848461134c565b6104d56001600160a01b0384168383611399565b6104d56001600160a01b03841683836113c0565b6104d56001600160a01b03841683836113df565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b60648201526060906084016105db565b6104ba6001600160a01b0385168484846113fe565b6104ba6001600160a01b03851684848461141f565b600080808061084c6001600160a01b038916888888611440565b929b919a509850909650945050505050565b6104d56001600160a01b03841683836114ef565b6108856001600160a01b0383168261150e565b505050565b6104ba6001600160a01b038516848484611532565b60008060006108ad886115bd565b91509150816001600160a01b03166339255d5b82836001600160a01b031663acafa1b88c8c8c8c60006001600160401b038111156108ed576108ed611ecc565b6040519080825280601f01601f191660200182016040528015610917576020820181803683370190505b5060405160240161092c959493929190612761565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526109779392509089906004016127ac565b6000604051808303816000875af1158015610996573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109be9190810190612831565b50600198975050505050505050565b60008060006109db876115bd565b91509150816001600160a01b03166339255d5b82836001600160a01b0316636041ae968b8b8b60006001600160401b03811115610a1a57610a1a611ecc565b6040519080825280601f01601f191660200182016040528015610a44576020820181803683370190505b50604051602401610a589493929190612865565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610aa39392509089906004016127ac565b6000604051808303816000875af1158015610ac2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610aea9190810190612831565b506001979650505050505050565b6000806000610b06866115bd565b91509150816001600160a01b03166339255d5b82836001600160a01b031663d787840a8a8a60006001600160401b03811115610b4457610b44611ecc565b6040519080825280601f01601f191660200182016040528015610b6e576020820181803683370190505b50604051602401610b819392919061289d565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610bcc9392509089906004016127ac565b6000604051808303816000875af1158015610beb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c139190810190612831565b5060019695505050505050565b60008054604051631fb6491d60e11b8152606092916001600160a01b031690633f6c923a90610c53908690600401612276565b600060405180830381865afa158015610c70573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c989190810190612906565b60a001519050600080600080600085806020019051810190610cba9190612a0c565b93985091965094509250905060ff8516610cef57610ce26001600160a01b038a16858a611784565b9650505050505050610f36565b60001960ff861601610d0f57610ce26001600160a01b038a16858a611784565b60011960ff861601610d3057610ce26001600160a01b038a1685838b6118aa565b60021960ff861601610d5157610ce26001600160a01b038a1685838b6118aa565b60031960ff861601610d7b57610ce26001600160a01b038a16856001600160801b0384168b6119d3565b60041960ff861601610da557610ce26001600160a01b038a16856001600160801b0384168b6119d3565b60051960ff861601610dc657610ce26001600160a01b038a1684868b611a5e565b60061960ff861601610de757610ce26001600160a01b038a1684868b611a5e565b60071960ff861601610e0857610ce26001600160a01b038a1684868b611ae9565b60081960ff861601610e2957610ce26001600160a01b038a1684868b611ae9565b60091960ff861601610e4b57610ce26001600160a01b038a168584848c611b36565b600a1960ff861601610e6d57610ce26001600160a01b038a168584848c611b36565b600b1960ff861601610e8f57610ce26001600160a01b038a168486858c611c62565b600c1960ff861601610eb157610ce26001600160a01b038a168486858c611c62565b600d1960ff861601610ed357610ce26001600160a01b038a168486858c611cef565b600e1960ff861601610ef557610ce26001600160a01b038a168486858c611cef565b60405162461bcd60e51b81526020600482015260166024820152750d2dcecc2d8d2c840cceadcc6e8d2dedc40d2dcc8caf60531b60448201526064016105db565b92915050565b600080600080600080610f4e88611d3d565b60405163cd7245c560e01b81526001600160a01b038b81166004830152602482018b9052919350908316915063cd7245c59060440160a060405180830381865afa158015610fa0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc49190612a8e565b939c929b5090995097509095509350505050565b6000806000610fe687611d3d565b604051632266eabb60e21b81526001600160a01b038a81166004830152898116602483015263ffffffff8916604483015260648201889052919350908316915063899baaec906084016040805180830381865afa15801561104b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106f9190612af5565b925092505094509492505050565b600080600061108b876115bd565b91509150816001600160a01b03166339255d5b82836001600160a01b0316637fbc76398b8b8b60006001600160401b038111156110ca576110ca611ecc565b6040519080825280601f01601f1916602001820160405280156110f4576020820181803683370190505b50604051602401610a589493929190612b1a565b6060806060600061111886611d3d565b6040516316db59b760e31b81526001600160a01b0389811660048301528881166024830152919350908316915063b6dacdb890604401600060405180830381865afa15801561116b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111939190810190612c44565b935093509350509250925092565b60008060006111af886115bd565b91509150816001600160a01b03166339255d5b82836001600160a01b031663232d2b588c8c8c8c60006001600160401b038111156111ef576111ef611ecc565b6040519080825280601f01601f191660200182016040528015611219576020820181803683370190505b5060405160240161092c959493929190612d22565b6040805160008082526020820190925261124f9086908690869086906112fe565b95945050505050565b600080600080600061126988611d3d565b6040516323fc23f360e01b81526001600160a01b038b811660048301528a8116602483015263ffffffff8a16604483015291935090831691506323fc23f390606401608060405180830381865afa1580156112c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ec9190612d69565b94509450945094505093509350935093565b600080600061130c886115bd565b91509150816001600160a01b03166339255d5b82836001600160a01b0316632e5e74c68c8c8c8c60006001600160401b038111156108ed576108ed611ecc565b600080600061135a876115bd565b91509150816001600160a01b03166339255d5b82836001600160a01b031663acf4a6c28b8b8b60006001600160401b03811115610a1a57610a1a611ecc565b604080516000808252602082019092526113b89085908590859061134c565b949350505050565b604080516000808252602082019092526113b890859085908590611532565b604080516000808252602082019092526113b89085908590859061107d565b6040805160008082526020820190925261124f9086908690869086906111a1565b6040805160008082526020820190925261124f90869086908690869061089f565b600080600080600061145189611d3d565b604051635b53405160e01b81526001600160a01b038c811660048301528b8116602483015263ffffffff8b16604483015289811660648301529193509083169150635b53405190608401608060405180830381865afa1580156114b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114dc9190612dba565b929c919b50995090975095505050505050565b604080516000808252602082019092526113b8908590859085906109cd565b6040805160008082526020820190925261152b9084908490610af8565b9392505050565b6000806000611540876115bd565b91509150816001600160a01b03166339255d5b82836001600160a01b031663b96731c28b8b8b60006001600160401b0381111561157f5761157f611ecc565b6040519080825280601f01601f1916602001820160405280156115a9576020820181803683370190505b50604051602401610a589493929190612e07565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fa832ee1924ea960211af2df07d65d166232018f613ac6708043cd8f8773eddeb546001600160a01b038116611753576001600160a01b03821661168257826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa15801561165b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167f9190612e3a565b91505b604051635b69006f60e11b81527f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a67460048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa1580156116e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170a9190612e3a565b9050817f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea83755807fa832ee1924ea960211af2df07d65d166232018f613ac6708043cd8f8773eddeb555b6001600160a01b03821661176957611769612e57565b6001600160a01b03811661177f5761177f612e57565b915091565b6060600080611792866115bd565b91509150816001600160a01b0316634329d29382836001600160a01b031663d787840a8a8a60006001600160401b038111156117d0576117d0611ecc565b6040519080825280601f01601f1916602001820160405280156117fa576020820181803683370190505b5060405160240161180d9392919061289d565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252611858939250908990600401612e6d565b6000604051808303816000875af1158015611877573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261189f9190810190612ec0565b509695505050505050565b60606000806118b8876115bd565b91509150816001600160a01b0316634329d29382836001600160a01b0316637fbc76398b8b8b60006001600160401b038111156118f7576118f7611ecc565b6040519080825280601f01601f191660200182016040528015611921576020820181803683370190505b506040516024016119359493929190612b1a565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252611980939250908990600401612e6d565b6000604051808303816000875af115801561199f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119c79190810190612ec0565b50979650505050505050565b60606000806119e1876115bd565b91509150816001600160a01b0316634329d29382836001600160a01b031663b96731c28b8b8b60006001600160401b03811115611a2057611a20611ecc565b6040519080825280601f01601f191660200182016040528015611a4a576020820181803683370190505b506040516024016119359493929190612e07565b6060600080611a6c876115bd565b91509150816001600160a01b0316634329d29382836001600160a01b031663acf4a6c28b8b8b60006001600160401b03811115611aab57611aab611ecc565b6040519080825280601f01601f191660200182016040528015611ad5576020820181803683370190505b506040516024016119359493929190612865565b6060600080611af7876115bd565b91509150816001600160a01b0316634329d29382836001600160a01b0316636041ae968b8b8b60006001600160401b03811115611aab57611aab611ecc565b6060600080611b44886115bd565b91509150816001600160a01b0316634329d29382836001600160a01b031663232d2b588c8c8c8c60006001600160401b03811115611b8457611b84611ecc565b6040519080825280601f01601f191660200182016040528015611bae576020820181803683370190505b50604051602401611bc3959493929190612d22565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252611c0e939250908990600401612e6d565b6000604051808303816000875af1158015611c2d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c559190810190612ec0565b5098975050505050505050565b6060600080611c70886115bd565b91509150816001600160a01b0316634329d29382836001600160a01b0316632e5e74c68c8c8c8c60006001600160401b03811115611cb057611cb0611ecc565b6040519080825280601f01601f191660200182016040528015611cda576020820181803683370190505b50604051602401611bc3959493929190612761565b6060600080611cfd886115bd565b91509150816001600160a01b0316634329d29382836001600160a01b031663acafa1b88c8c8c8c60006001600160401b03811115611cb057611cb0611ecc565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fa832ee1924ea960211af2df07d65d166232018f613ac6708043cd8f8773eddeb546001600160a01b038116611753576001600160a01b038216611e0257826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ddb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dff9190612e3a565b91505b604051635b69006f60e11b81527f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a67460048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015611e66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e8a9190612e3a565b90506001600160a01b03821661176957611769612e57565b6001600160a01b0381168114611eb757600080fd5b50565b63ffffffff81168114611eb757600080fd5b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715611f0557611f05611ecc565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611f3357611f33611ecc565b604052919050565b60006001600160401b03821115611f5457611f54611ecc565b50601f01601f191660200190565b600082601f830112611f7357600080fd5b8135611f86611f8182611f3b565b611f0b565b818152846020838601011115611f9b57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611fd057600080fd5b8535611fdb81611ea2565b94506020860135611feb81611ea2565b93506040860135611ffb81611eba565b9250606086013561200b81611ea2565b915060808601356001600160401b0381111561202657600080fd5b61203288828901611f62565b9150509295509295909350565b6000806000806080858703121561205557600080fd5b843561206081611ea2565b9350602085013561207081611ea2565b9250604085013561208081611eba565b915060608501356001600160401b0381111561209b57600080fd5b6120a787828801611f62565b91505092959194509250565b6000806000606084860312156120c857600080fd5b83356120d381611ea2565b925060208401356120e381611eba565b915060408401356001600160401b038111156120fe57600080fd5b61210a86828701611f62565b9150509250925092565b60008083601f84011261212657600080fd5b5081356001600160401b0381111561213d57600080fd5b60208301915083602082850101111561215557600080fd5b9250929050565b600080600080600080600080600060c08a8c03121561217a57600080fd5b893561218581611ea2565b985060208a013561219581611ea2565b975060408a0135965060608a01356001600160401b03808211156121b857600080fd5b6121c48d838e01612114565b909850965060808c01359150808211156121dd57600080fd5b6121e98d838e01612114565b909650945060a08c013591508082111561220257600080fd5b5061220f8c828d01612114565b915080935050809150509295985092959850929598565b60005b83811015612241578181015183820152602001612229565b50506000910152565b60008151808452612262816020860160208601612226565b601f01601f19169290920160200192915050565b60208152600061152b602083018461224a565b6000806040838503121561229c57600080fd5b82356122a781611ea2565b946020939093013593505050565b600080600080608085870312156122cb57600080fd5b84356122d681611ea2565b935060208501356122e681611ea2565b925060408501356122f681611eba565b9396929550929360600135925050565b600080600080600080600060a0888a03121561232157600080fd5b873561232c81611ea2565b9650602088013561233c81611ea2565b95506040880135945060608801356001600160401b038082111561235f57600080fd5b61236b8b838c01612114565b909650945060808a013591508082111561238457600080fd5b506123918a828b01612114565b989b979a50959850939692959293505050565b6001600160801b0381168114611eb757600080fd5b600080600080608085870312156123cf57600080fd5b84356123da81611ea2565b935060208501356123ea81611eba565b92506040850135612080816123a4565b6000806040838503121561240d57600080fd5b823561241881611ea2565b9150602083013561242881611ea2565b809150509250929050565b600081518084526020808501945080840160005b8381101561246c5781516001600160801b031687529582019590820190600101612447565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b828110156124b95781516001600160a01b031684529284019290840190600101612494565b5050508381038285015285518082528683019183019060005b818110156124f457835163ffffffff16835292840192918401916001016124d2565b505084810360408601526125088187612433565b98975050505050505050565b600080600080600060a0868803121561252c57600080fd5b853561253781611ea2565b9450602086013561254781611eba565b9350604086013561255781611ea2565b9250606086013561200b816123a4565b6000806000806080858703121561257d57600080fd5b843561258881611ea2565b9350602085013561259881611ea2565b925060408501356125a881611eba565b915060608501356125b881611ea2565b939692955090935050565b6000806000606084860312156125d857600080fd5b83356125e381611ea2565b925060208401356125f381611ea2565b9150604084013561260381611eba565b809150509250925092565b60008060006060848603121561262357600080fd5b833561262e81611ea2565b9250602084013561263e81611eba565b929592945050506040919091013590565b60008060006060848603121561266457600080fd5b833561266f81611ea2565b9250602084013561267f81611eba565b91506040840135612603816123a4565b600080600080608085870312156126a557600080fd5b84356126b081611ea2565b935060208501356126c081611eba565b925060408501356126d081611ea2565b915060608501356125b8816123a4565b600080604083850312156126f357600080fd5b82356126fe81611ea2565b9150602083013561242881611eba565b6000806000806080858703121561272457600080fd5b843561272f81611ea2565b9350602085013561273f81611eba565b92506040850135915060608501356001600160401b0381111561209b57600080fd5b6001600160a01b038681168252858116602083015263ffffffff851660408301528316606082015260a0608082018190526000906127a19083018461224a565b979650505050505050565b6001600160a01b03841681526060602082018190526000906127d09083018561224a565b82810360408401526127e2818561224a565b9695505050505050565b600082601f8301126127fd57600080fd5b815161280b611f8182611f3b565b81815284602083860101111561282057600080fd5b6113b8826020830160208701612226565b60006020828403121561284357600080fd5b81516001600160401b0381111561285957600080fd5b6113b8848285016127ec565b6001600160a01b0385811682528416602082015263ffffffff831660408201526080606082018190526000906127e29083018461224a565b6001600160a01b038416815263ffffffff8316602082015260606040820181905260009061124f9083018461224a565b805160ff811681146128de57600080fd5b919050565b80516128de81611ea2565b80516001600160e01b0319811681146128de57600080fd5b60006020828403121561291857600080fd5b81516001600160401b038082111561292f57600080fd5b90830190610160828603121561294457600080fd5b61294c611ee2565b612955836128cd565b8152612963602084016128cd565b60208201526040830151604082015261297e606084016128e3565b606082015261298f608084016128ee565b608082015260a0830151828111156129a657600080fd5b6129b2878286016127ec565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506129e98284016128e3565b8282015261014091506129fd8284016128e3565b91810191909152949350505050565b600080600080600060a08688031215612a2457600080fd5b612a2d866128cd565b94506020860151612a3d81611eba565b6040870151909450612a4e81611ea2565b6060870151909350612a5f81611ea2565b6080870151909250612a70816123a4565b809150509295509295909350565b805180151581146128de57600080fd5b600080600080600060a08688031215612aa657600080fd5b8551612ab181611ea2565b6020870151909550612ac281611eba565b9350612ad060408701612a7e565b92506060860151612ae0816123a4565b80925050608086015190509295509295909350565b60008060408385031215612b0857600080fd5b825191506020830151612428816123a4565b6001600160a01b038516815263ffffffff841660208201526001600160801b03831660408201526080606082018190526000906127e29083018461224a565b60006001600160401b03821115612b7257612b72611ecc565b5060051b60200190565b600082601f830112612b8d57600080fd5b81516020612b9d611f8183612b59565b82815260059290921b84018101918181019086841115612bbc57600080fd5b8286015b8481101561189f578051612bd381611eba565b8352918301918301612bc0565b600082601f830112612bf157600080fd5b81516020612c01611f8183612b59565b82815260059290921b84018101918181019086841115612c2057600080fd5b8286015b8481101561189f578051612c37816123a4565b8352918301918301612c24565b600080600060608486031215612c5957600080fd5b83516001600160401b0380821115612c7057600080fd5b818601915086601f830112612c8457600080fd5b81516020612c94611f8183612b59565b82815260059290921b8401810191818101908a841115612cb357600080fd5b948201945b83861015612cda578551612ccb81611ea2565b82529482019490820190612cb8565b91890151919750909350505080821115612cf357600080fd5b612cff87838801612b7c565b93506040860151915080821115612d1557600080fd5b5061210a86828701612be0565b6001600160a01b03868116825263ffffffff86166020830152841660408201526001600160801b038316606082015260a0608082018190526000906127a19083018461224a565b60008060008060808587031215612d7f57600080fd5b612d8885612a7e565b93506020850151612d98816123a4565b6040860151909350612da9816123a4565b60608601519092506125b8816123a4565b60008060008060808587031215612dd057600080fd5b612dd985612a7e565b9350612de760208601612a7e565b92506040850151612df7816123a4565b6060959095015193969295505050565b60018060a01b038516815263ffffffff841660208201528260408201526080606082015260006127e2608083018461224a565b600060208284031215612e4c57600080fd5b815161152b81611ea2565b634e487b7160e01b600052600160045260246000fd5b6001600160a01b0384168152608060208201819052600090612e919083018561224a565b8281038060408501526002825261060f60f31b6020830152604081016060850152506127e2604082018561224a565b60008060408385031215612ed357600080fd5b82516001600160401b0380821115612eea57600080fd5b612ef6868387016127ec565b93506020850151915080821115612f0c57600080fd5b50612f19858286016127ec565b915050925092905056fea26469706673582212205b22222c3b55fb6e8c0a659eeee1bedb3fb2d71c1ac1c346e2a282556384ef3e64736f6c63430008130033",vI=eb=>eb.length>1;class vD extends u9.lV{constructor(...eb){vI(eb)?super(...eb):super(vS,vA,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(vS)}static connect(eb,em){return new u9.CH(eb,vS,em)}}vD.bytecode=vA,vD.abi=vS;let vO=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"uint256",name:"w",type:"uint256"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFTProxy",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFTProxy",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER",type:"error"},{inputs:[],name:"SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED",type:"error"},{inputs:[],name:"SUPER_TOKEN_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_NFT_PROXY_ADDRESS_CHANGED",type:"error"},{inputs:[],name:"SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_NO_UNDERLYING_TOKEN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_ADMIN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_GOV_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_SELF",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAdmin",type:"address"},{indexed:!0,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"AuthorizedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Burned",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],name:"ConstantInflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],name:"ConstantOutflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Minted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"RevokedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Sent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenDowngraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approveInternal",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"authorizeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"changeAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultOperators",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAdmin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingDecimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"granularity",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"initializeWithAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"tokenHolder",type:"address"}],name:"isOperatorFor",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"mintInternal",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationApprove",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"operationDecreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationDowngrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"operationIncreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"operationSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationUpgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"revokeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"send",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"operators",type:"address[]"}],name:"setupDefaultOperators",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"toUnderlyingAmount",outputs:[{internalType:"uint256",name:"underlyingAmount",type:"uint256"},{internalType:"uint256",name:"adjustedAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"}],name:"transferAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferInternal",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"upgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"waterMark",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],vP="0x6101006040523480156200001257600080fd5b50604051620052e7380380620052e78339810160408190526200003591620000e1565b6001600160a01b0380851660805280831660a081905290821660c052604051859184918491907fcf554eb342edf010a94e07701ae91e99e90b769f649f03aeb1153654ddd43c0190600090a26040516001600160a01b038216907f8837af285f4d380af9227df9ebafa13d992b487fa6d7a4366bd4154576085b8990600090a250505060e092909252506200013d915050565b6001600160a01b0381168114620000de57600080fd5b50565b60008060008060808587031215620000f857600080fd5b84516200010581620000c8565b6020860151604087015191955093506200011f81620000c8565b60608601519092506200013281620000c8565b939692955090935050565b60805160a05160c05160e0516150dd6200020a600039600061071501526000818161069301526115490152600081816109cc01526114ac0152600081816104e201528181610ca801528181610d1701528181610fcc015281816110fc015281816111cb015281816113eb01528181611599015281816116e6015281816118860152818161196501528181611d6601528181611e3001528181611ec801528181611f3001528181611fb8015281816128800152818161291701528181613ae30152613d2201526150dd6000f3fe608060405234801561001057600080fd5b50600436106104125760003560e01c806366a12fb611610220578063b1f0b5be11610130578063d9d078d6116100b8578063ee719bc811610087578063ee719bc8146109b6578063ef43d2c6146109c7578063fad8b32a146109ee578063fc673c4f14610a01578063fe9d930314610a1457600080fd5b8063d9d078d614610929578063dd62ed3e1461093c578063eb3537cc14610975578063ec0d6343146109a357600080fd5b8063c780fd82116100ff578063c780fd82146108ca578063ca0c1e7f146108dd578063ca789464146108f0578063cf97256d14610903578063d95b63711461091657600080fd5b8063b1f0b5be1461087e578063b84cdd4a14610891578063bb0d196e146108a4578063c68d4283146108b757600080fd5b8063959b8c3f116101b35780639d876741116101825780639d8767411461081f578063a1b2bf8b14610832578063a3a7e7f314610845578063a457c2d714610858578063a9059cbb1461086b57600080fd5b8063959b8c3f146107e957806395d89b41146107fc5780639903ad38146108045780639bd9bbc61461080c57600080fd5b806379359f6f116101ef57806379359f6f1461079e57806383ba2525146107b15780638f283970146107c457806392081a47146107d757600080fd5b806366a12fb61461075d5780636c2d9f2f146107705780636e9960c31461078357806370a082311461078b57600080fd5b8063386fa221116103265780634c5c0c85116102ae57806356189cb41161027d57806356189cb4146106ea5780635b9d09cc146106fd5780636154b1021461071057806362aa52871461073757806362ad1b831461074a57600080fd5b80634c5c0c851461068e57806350d75d25146106b557806352d1902d146106bd578063556f0dc7146106e357600080fd5b806342fe0980116102f557806342fe09801461062257806345977d031461063557806346951954146106485780634b2763b31461065b5780634b61cc331461066e57600080fd5b8063386fa221146105d657806339509351146105e9578063397be931146105fc57806341b706be1461060f57600080fd5b80631863e809116103a9578063245887fc11610378578063245887fc146105405780632704839714610553578063282a050b146105665780632ec8eec71461058e578063313ce567146105c157600080fd5b80631863e809146104cd57806320bc4425146104e0578063222f5be01461051a57806323b872dd1461052d57600080fd5b806311bcc81e116103e557806311bcc81e1461048257806312a6a3f81461049557806316d055d6146104a857806318160ddd146104bb57600080fd5b806306e485381461041757806306fdde0314610435578063090c415e1461044a578063095ea7b31461045f575b600080fd5b61041f610a27565b60405161042c9190613fad565b60405180910390f35b61043d610a38565b60405161042c919061404a565b61045d6104583660046140bd565b610aca565b005b61047261046d366004614118565b610b7d565b604051901515815260200161042c565b61045d610490366004614144565b610b94565b61045d6104a336600461415d565b610bc3565b61045d6104b63660046141a8565b610ca6565b6003545b60405190815260200161042c565b61045d6104db3660046142bc565b610d02565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161042c565b61045d61052836600461434e565b610fa2565b61047261053b36600461434e565b610fb4565b61045d61054e366004614118565b610fca565b61045d61056136600461438f565b611043565b610579610574366004614144565b6110df565b6040805192835260208301919091520161042c565b6105a161059c3660046143b1565b6110f4565b60408051948552602085019390935291830152606082015260800161042c565b60125b60405160ff909116815260200161042c565b61041f6105e43660046143b1565b611197565b6104726105f7366004614118565b61123a565b61045d61060a3660046143f1565b611276565b61045d61061d3660046141a8565b61127f565b61045d6106303660046144db565b6112ab565b61045d610643366004614144565b61138c565b61045d6106563660046143b1565b6113b8565b61045d61066936600461434e565b611597565b61068161067c36600461456d565b611619565b60405161042c91906145b3565b6105027f000000000000000000000000000000000000000000000000000000000000000081565b61050261165e565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb00196104bf565b60016104bf565b61045d6106f836600461434e565b611688565b61045d61070b3660046145eb565b611693565b6104bf7f000000000000000000000000000000000000000000000000000000000000000081565b61045d61074536600461434e565b6116e4565b61045d61075836600461463a565b61172d565b61045d61076b36600461434e565b6117db565b61068161077e3660046146d8565b6117fb565b61050261183d565b6104bf6107993660046143b1565b611855565b6104726107ac3660046143b1565b61187e565b61045d6107bf366004614118565b611906565b61045d6107d23660046143b1565b611932565b600e54600160a01b900460ff166105c4565b61045d6107f73660046143b1565b611a26565b61043d611a77565b61045d611a86565b61045d61081a3660046145eb565b611b48565b61045d61082d36600461470d565b611b9c565b61045d61084036600461415d565b611be2565b61045d6108533660046143b1565b611c8c565b610472610866366004614118565b611ca0565b610472610879366004614118565b611cef565b61045d61088c366004614765565b611cfd565b61047261089f366004614118565b611d0d565b6104726108b23660046143b1565b611d5e565b61045d6108c536600461470d565b611de6565b61045d6108d836600461434e565b611e2e565b61045d6108eb3660046147e4565b611ec6565b61045d6108fe366004614118565b611f2e565b61045d610911366004614118565b611fa3565b610472610924366004614843565b61208c565b610472610937366004614118565b61209a565b6104bf61094a366004614843565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b610988610983366004614118565b6120b4565b6040805193845260208401929092529082015260600161042c565b61045d6109b136600461487c565b6121ee565b600e546001600160a01b0316610502565b6105027f000000000000000000000000000000000000000000000000000000000000000081565b61045d6109fc3660046143b1565b6122c5565b61045d610a0f366004614922565b612316565b61045d610a22366004614969565b6123b7565b6060610a336012612408565b905090565b6060600f8054610a47906149a7565b80601f0160208091040260200160405190810160405280929190818152602001828054610a73906149a7565b8015610ac05780601f10610a9557610100808354040283529160200191610ac0565b820191906000526020600020905b815481529060010190602001808311610aa357829003601f168201915b5050505050905090565b6000338585604051602001610ae1939291906149e1565b604051602081830303815290604052805190602001209050610b368184848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061246e92505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b6000610b8a3384846124af565b5060015b92915050565b610bc033333384604051806020016040528060008152506040518060200160405280600081525061255f565b50565b6040513390600090610bdb9083908790602001614a2a565b60408051601f1981840301815291905280516020909101209050610bff818461271f565b15610c1d5760405163782a90fb60e11b815260040160405180910390fd5b610c5a8185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061246e92505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051610c9793929190614a67565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610cef5760405163c51efddd60e01b815260040160405180910390fd5b610cfb8484848461275b565b5050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610d66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a9190614aa8565b610da75760405163327fd99160e21b815260040160405180910390fd5b6000610db161287b565b90506001600160a01b038116610dc45750845b600085610dd15786610dd3565b815b905060008313610e7057610de683614adb565b610def856129c0565b14610dfc57610dfc614af7565b610e05846129c0565b6001600160a01b03821660009081526002602052604081208054909190610e2d908490614b0d565b90915550506001600160a01b03851660009081526002602052604081208054859290610e5a908490614b0d565b90915550610e6b9050858286612a2e565b610f3a565b8515610e7e57610e7e614af7565b82610e88856129c0565b610e929190614b0d565b6001600160a01b03831660009081526002602052604081208054909190610eba908490614b35565b90915550610ec99050846129c0565b6001600160a01b03881660009081526002602052604081208054909190610ef1908490614b0d565b90915550506001600160a01b03851660009081526002602052604081208054859290610f1e908490614b0d565b90915550610f2f9050828886612a2e565b610f3a828685612a2e565b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f604051610f8f959493929190614b55565b60405180910390a4505050505050505050565b610fae8384848461275b565b50505050565b6000610fc23385858561275b565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146110135760405163c51efddd60e01b815260040160405180910390fd5b61103f33838484604051806020016040528060008152506040518060200160405280600081525061255f565b5050565b604051339060009061105b9083908690602001614a2a565b60405160208183030381529060405280519060200120905061107d818461271f565b61109a5760405163dae1880960e01b815260040160405180910390fd5b6110a48184612a61565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b6000806110eb83612a82565b91509150915091565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117c9190614b88565b905061118885826120b4565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa158015611212573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b8e9190810190614ba1565b3360008181526011602090815260408083206001600160a01b03871684529091528120549091610b8a918590611271908690614c2f565b6124af565b610bc081612b3e565b33301461129f57604051630fff4cc960e31b815260040160405180910390fd5b610cfb8385848461275b565b600054610100900460ff16158080156112cb5750600054600160ff909116105b806112e55750303b1580156112e5575060005460ff166001145b61130a5760405162461bcd60e51b815260040161130190614c42565b60405180910390fd5b6000805460ff19166001179055801561132d576000805461ff0019166101001790555b61133d8787878787876000612b49565b8015611383576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610bc0333333846040518060200160405280600081525060405180602001604052806000815250612c11565b60006113d06000805160206150118339815191525490565b905060006001600160a01b038216156113e9578161140b565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b0382161461143657604051630484acab60e01b815260040160405180910390fd5b61143f83612dc4565b826001600160a01b031663ef43d2c66040518163ffffffff1660e01b8152600401602060405180830381865afa15801561147d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a19190614c90565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806115745750826001600160a01b0316634c5c0c856040518163ffffffff1660e01b8152600401602060405180830381865afa15801561151a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153e9190614c90565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614155b156115925760405163ef1b6ddf60e01b815260040160405180910390fd5b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146115e05760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084166000908152601160209081526040808320938616835292905220546115929084908490611271908590614c2f565b60606000858585604051602001611632939291906149e1565b6040516020818303038152906040528051906020012090506116548184612ffe565b9695505050505050565b6000610a337f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6115928383836124af565b610fae3333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612c11915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146116885760405163c51efddd60e01b815260040160405180910390fd5b3361173a6012828a61308d565b6117575760405163f7f0222760e01b815260040160405180910390fd5b6117d18189898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a908190840183828082843760009201919091525060019250613136915050565b5050505050505050565b33301461168857604051630fff4cc960e31b815260040160405180910390fd5b606060008484604051602001611812929190614a2a565b6040516020818303038152906040528051906020012090506118348184612ffe565b95945050505050565b6000610a336000805160206150118339815191525490565b600080611861836110f4565b5050509050600081126118745780611877565b60005b9392505050565b6000610b8e827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109379190614b88565b61103f33338484604051806020016040528060008152506040518060200160405280600081525061255f565b600061194a6000805160206150118339815191525490565b905060006001600160a01b038216156119635781611985565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146119b057604051630484acab60e01b815260040160405180910390fd5b60006119c86000805160206150118339815191525490565b90506119e08460008051602061501183398151915255565b836001600160a01b0316816001600160a01b03167f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f60405160405180910390a350505050565b33611a33601282846131af565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b606060108054610a47906149a7565b600054610100900460ff1615808015611aa65750600054600160ff909116105b80611ac05750303b158015611ac0575060005460ff166001145b611adc5760405162461bcd60e51b815260040161130190614c42565b6000805460ff191660011790558015611aff576000805461ff0019166101001790555b8015610bc0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b610fae3333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250600191506131369050565b333014611bbc57604051630fff4cc960e31b815260040160405180910390fd5b8051604080516000815260208101909152611592913391869186919015159086906132b3565b6040513390600090611bfa9083908790602001614a2a565b604051602081830303815290604052805190602001209050611c4f8185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061246e92505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051610c9793929190614a67565b61103f333383611c9b33611855565b61275b565b6000610b8a3384611271856040518060600160405280602a8152602001615031602a91393360009081526011602090815260408083206001600160a01b038d1684529091529020549190613380565b60006118773333858561275b565b610fae33858560018087876133ac565b600080600080611d1d86866120b4565b9250925092506000611d45828411611d365760006129c0565b611d408385614cad565b6129c0565b611d4f9085614b0d565b60001315979650505050505050565b6000610b8e827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dc2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089f9190614b88565b333014611e0657604051630fff4cc960e31b815260040160405180910390fd5b80516040805160008152602081019091526115929133918691869190151590819087906133ac565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611e775760405163c51efddd60e01b815260040160405180910390fd5b6115928383611271846040518060600160405280602a8152602001615031602a91396001600160a01b03808a166000908152601160209081526040808320938c16835292905220549190613380565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611f0f5760405163c51efddd60e01b815260040160405180910390fd5b610fae3385858585604051806020016040528060008152506001613136565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611f775760405163c51efddd60e01b815260040160405180910390fd5b61103f338384846040518060200160405280600081525060405180602001604052806000815250612c11565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015612007573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061202b9190614aa8565b6120485760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b03821660009081526002602052604090205461206c908290614b0d565b6001600160a01b0390921660009081526002602052604090209190915550565b60006118776012848461308d565b6000806120a784846120b4565b5050600013949350505050565b6001600160a01b0382166000908152600260205260408120549080806120d986611197565b905060005b81518110156121e55760008060008484815181106120fe576120fe614cc0565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa15801561215d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121819190614cd6565b919450925090506121928288614c2f565b965061219e8187614c2f565b95506121bb8183116121b15760006129c0565b611d408284614cad565b6121c5848a614b0d565b6121cf9190614b35565b9750505050806121de90614d04565b90506120de565b50509250925092565b600054610100900460ff161580801561220e5750600054600160ff909116105b806122285750303b158015612228575060005460ff166001145b6122445760405162461bcd60e51b815260040161130190614c42565b6000805460ff191660011790558015612267576000805461ff0019166101001790555b61227688888888888888612b49565b80156117d1576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050565b336122d26012828461347a565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b336123236012828961308d565b6123405760405163f7f0222760e01b815260040160405180910390fd5b6113838188898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a908190840183828082843760009201919091525061255f92505050565b6115923333338686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040805160208101909152908152925061255f915050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561246257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612444575b50505050509050919050565b60005b815181101561159257600082828151811061248e5761248e614cc0565b60200260200101519050808285015550806124a890614d04565b9050612471565b6001600160a01b0383166124d657604051638163862760e01b815260040160405180910390fd5b6001600160a01b0382166124fd576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600e546001600160a01b031661258857604051637bce7b2b60e11b815260040160405180910390fd5b60008061259485612a82565b915091506125ab88888387516000141588886132b3565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156125f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126189190614b88565b600e54909150612632906001600160a01b03168885613572565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa15801561267b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269f9190614b88565b905060006126ad8284614cad565b90508085146126cf57604051631c7c26d360e31b815260040160405180910390fd5b896001600160a01b03167f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d8560405161270a91815260200190565b60405180910390a25050505050505050505050565b6000805b828110156127515783810154801561274057600192505050610b8e565b5061274a81614d04565b9050612723565b5060009392505050565b60006001600160a01b0384166127845760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0383166127ab5760405163e219bd3960e01b815260040160405180910390fd5b60003390506127dc8186868660405180602001604052806000815250604051806020016040528060008152506135d5565b846001600160a01b0316866001600160a01b03161461286f5761286f8587611271866040518060600160405280602d815260200161507b602d9139601160008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b03168152602001908152602001600020546133809092919063ffffffff16565b50600195945050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129009190614c90565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa158015612996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ba9190614c90565b91505090565b60006001600160ff1b03821115612a2a5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401611301565b5090565b816001600160a01b0316836001600160a01b031660008051602061505b8339815191528360405161255291815260200190565b60005b8181101561159257600083820155612a7b81614d04565b9050612a64565b600e54600090819081906012600160a01b90910460ff161015612ae157600e54612ab790600160a01b900460ff166012614d1d565b612ac290600a614e1a565b9050612ace8185614e29565b9250612ada8184614e4b565b9150612b38565b600e546012600160a01b90910460ff161115612b3157600e54612b1090601290600160a01b900460ff16614d1d565b612b1b90600a614e1a565b9050612b278185614e4b565b9250839150612b38565b8391508192505b50915091565b610bc0601282613674565b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f612b7e858783614eb0565b506010612b8c838583614eb0565b50612ba38160008051602061501183398151915255565b612bac306136fe565b604051600080825290819060008051602061505b8339815191529060200160405180910390a36040516001600160a01b038216906000907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a350505050505050565b600e546001600160a01b0316612c3a57604051637bce7b2b60e11b815260040160405180910390fd5b600080612c4685612a82565b600e546040516370a0823160e01b81523060048201529294509092506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015612c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbb9190614b88565b600e54909150612cd6906001600160a01b031689308661382c565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612d1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d439190614b88565b90506000612d518383614cad565b9050808514612d7357604051631c7c26d360e31b815260040160405180910390fd5b8651612d89908c908b9087901515808c8c6133ac565b886001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df8560405161270a91815260200190565b6000612dee7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603612e445760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611301565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ea69190614b88565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001914612f205760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611301565b6001600160a01b0381163003612f785760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611301565b612fa0817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019604080519182526001600160a01b038416602083015201611b3d565b6060816001600160401b03811115613018576130186141f9565b604051908082528060200260200182016040528015613041578160200160208202803683370190505b50905060005b828110156130865760008185015490508083838151811061306a5761306a614cc0565b60209081029190910101525061307f81614d04565b9050613047565b5092915050565b6000816001600160a01b0316836001600160a01b031614806130fc57506001600160a01b038316600090815260018501602052604090205460ff1680156130fc57506001600160a01b03808316600090815260038601602090815260408083209387168352929052205460ff16155b80610fc257506001600160a01b03808316600090815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b03861661315d5760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0385166131845760405163e219bd3960e01b815260040160405180910390fd5b613192878787878787613864565b6131a08787878787876135d5565b6113838787878787878761398b565b806001600160a01b0316826001600160a01b0316036132265760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b6064820152608401611301565b6001600160a01b038116600090815260018401602052604090205460ff161561327c576001600160a01b03918216600090815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b0380831660009081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b0385166132da57604051632e8aac6160e21b815260040160405180910390fd5b82156132ef576132ef86866000878686613864565b6132f98585613adb565b846001600160a01b0316866001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a409886858560405161334093929190614f6f565b60405180910390a36040518481526000906001600160a01b0387169060008051602061505b833981519152906020015b60405180910390a3505050505050565b600081848411156133a45760405162461bcd60e51b8152600401611301919061404a565b505050900390565b6001600160a01b0386166133d357604051630d24315760e01b815260040160405180910390fd5b6133dd8686613beb565b83156133f3576133f3876000888886868961398b565b856001600160a01b0316876001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d87858560405161343a93929190614f6f565b60405180910390a36040518581526001600160a01b0387169060009060008051602061505b8339815191529060200160405180910390a350505050505050565b336001600160a01b038216036134e55760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b6064820152608401611301565b6001600160a01b038116600090815260018401602052604090205460ff161561353f576001600160a01b0380831660009081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03918216600090815260029390930160209081526040808520929093168452529020805460ff19169055565b6040516001600160a01b03831660248201526044810182905261159290849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613c45565b6135e885856135e3866129c0565b613d1a565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc8261467798786868660405161363993929190614f6f565b60405180910390a4836001600160a01b0316856001600160a01b031660008051602061505b8339815191528560405161337091815260200190565b81541561368357613683614af7565b80516136959083906020840190613f3c565b5060005b81518110156115925760018360010160008484815181106136bc576136bc614cc0565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556136f781614d04565b9050613699565b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b15801561377f57600080fd5b505af1158015613793573d6000803e3d6000fd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b15801561381857600080fd5b505af1158015610cfb573d6000803e3d6000fd5b6040516001600160a01b0380851660248301528316604482015260648101829052610fae9085906323b872dd60e01b9060840161359e565b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe8956024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa1580156138e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139099190614c90565b90506001600160a01b0381161561138357604051633ad5cbc160e11b81526001600160a01b038216906375ab978290613950908a908a908a908a908a908a90600401614f9a565b600060405180830381600087803b15801561396a57600080fd5b505af115801561397e573d6000803e3d6000fd5b5050505050505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015613a0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a309190614c90565b90506001600160a01b03811615613aac576040516223de2960e01b81526001600160a01b038216906223de2990613a75908b908b908b908b908b908b90600401614f9a565b600060405180830381600087803b158015613a8f57600080fd5b505af1158015613aa3573d6000803e3d6000fd5b505050506117d1565b81156117d1576001600160a01b0386163b156117d15760405163fe737d0560e01b815260040160405180910390fd5b6000613b63837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015613b3f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109839190614b88565b50509050613b70826129c0565b811215613b905760405163043b37d160e21b815260040160405180910390fd5b613b99826129c0565b6001600160a01b038416600090815260026020526040902054613bbc9190614b35565b6001600160a01b038416600090815260026020526040902055600354613be3908390614cad565b600355505050565b613bf4816129c0565b6001600160a01b038316600090815260026020526040902054613c179190614b0d565b6001600160a01b038316600090815260026020526040902055600354613c3e908290614c2f565b6003555050565b6000613c9a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613e199092919063ffffffff16565b9050805160001480613cbb575080806020019051810190613cbb9190614aa8565b6115925760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401611301565b6000613d7e847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015613b3f573d6000803e3d6000fd5b5050905081811215613da357604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b038416600090815260026020526040902054613dc7908390614b35565b6001600160a01b038086166000908152600260205260408082209390935590851681522054613df7908390614b0d565b6001600160a01b03909316600090815260026020526040902092909255505050565b6060610fc2848460008585600080866001600160a01b03168587604051613e409190614ff4565b60006040518083038185875af1925050503d8060008114613e7d576040519150601f19603f3d011682016040523d82523d6000602084013e613e82565b606091505b5091509150613e9387838387613e9e565b979650505050505050565b60608315613f0d578251600003613f06576001600160a01b0385163b613f065760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611301565b5081610fc2565b610fc28383815115613f225781518083602001fd5b8060405162461bcd60e51b8152600401611301919061404a565b828054828255906000526020600020908101928215613f91579160200282015b82811115613f9157825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613f5c565b50612a2a9291505b80821115612a2a5760008155600101613f99565b6020808252825182820181905260009190848201906040850190845b81811015613fee5783516001600160a01b031683529284019291840191600101613fc9565b50909695505050505050565b60005b83811015614015578181015183820152602001613ffd565b50506000910152565b60008151808452614036816020860160208601613ffa565b601f01601f19169290920160200192915050565b602081526000611877602083018461401e565b6001600160a01b0381168114610bc057600080fd5b60008083601f84011261408457600080fd5b5081356001600160401b0381111561409b57600080fd5b6020830191508360208260051b85010111156140b657600080fd5b9250929050565b600080600080606085870312156140d357600080fd5b84356140de8161405d565b93506020850135925060408501356001600160401b0381111561410057600080fd5b61410c87828801614072565b95989497509550505050565b6000806040838503121561412b57600080fd5b82356141368161405d565b946020939093013593505050565b60006020828403121561415657600080fd5b5035919050565b60008060006040848603121561417257600080fd5b8335925060208401356001600160401b0381111561418f57600080fd5b61419b86828701614072565b9497909650939450505050565b600080600080608085870312156141be57600080fd5b84356141c98161405d565b935060208501356141d98161405d565b925060408501356141e98161405d565b9396929550929360600135925050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614237576142376141f9565b604052919050565b600082601f83011261425057600080fd5b81356001600160401b03811115614269576142696141f9565b61427c601f8201601f191660200161420f565b81815284602083860101111561429157600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114610bc057600080fd5b600080600080600080600060e0888a0312156142d757600080fd5b8735965060208801356001600160401b038111156142f457600080fd5b6143008a828b0161423f565b96505060408801356143118161405d565b94506060880135614321816142ae565b935060808801356143318161405d565b9699959850939692959460a0840135945060c09093013592915050565b60008060006060848603121561436357600080fd5b833561436e8161405d565b9250602084013561437e8161405d565b929592945050506040919091013590565b600080604083850312156143a257600080fd5b50508035926020909101359150565b6000602082840312156143c357600080fd5b81356118778161405d565b60006001600160401b038211156143e7576143e76141f9565b5060051b60200190565b6000602080838503121561440457600080fd5b82356001600160401b0381111561441a57600080fd5b8301601f8101851361442b57600080fd5b803561443e614439826143ce565b61420f565b81815260059190911b8201830190838101908783111561445d57600080fd5b928401925b82841015613e935783356144758161405d565b82529284019290840190614462565b803560ff8116811461449557600080fd5b919050565b60008083601f8401126144ac57600080fd5b5081356001600160401b038111156144c357600080fd5b6020830191508360208285010111156140b657600080fd5b600080600080600080608087890312156144f457600080fd5b86356144ff8161405d565b955061450d60208801614484565b945060408701356001600160401b038082111561452957600080fd5b6145358a838b0161449a565b9096509450606089013591508082111561454e57600080fd5b5061455b89828a0161449a565b979a9699509497509295939492505050565b6000806000806080858703121561458357600080fd5b843561458e8161405d565b9350602085013561459e8161405d565b93969395505050506040820135916060013590565b6020808252825182820181905260009190848201906040850190845b81811015613fee578351835292840192918401916001016145cf565b6000806000806060858703121561460157600080fd5b843561460c8161405d565b93506020850135925060408501356001600160401b0381111561462e57600080fd5b61410c8782880161449a565b600080600080600080600060a0888a03121561465557600080fd5b87356146608161405d565b965060208801356146708161405d565b95506040880135945060608801356001600160401b038082111561469357600080fd5b61469f8b838c0161449a565b909650945060808a01359150808211156146b857600080fd5b506146c58a828b0161449a565b989b979a50959850939692959293505050565b6000806000606084860312156146ed57600080fd5b83356146f88161405d565b95602085013595506040909401359392505050565b60008060006060848603121561472257600080fd5b833561472d8161405d565b92506020840135915060408401356001600160401b0381111561474f57600080fd5b61475b8682870161423f565b9150509250925092565b6000806000806080858703121561477b57600080fd5b84356147868161405d565b93506020850135925060408501356001600160401b03808211156147a957600080fd5b6147b58883890161423f565b935060608701359150808211156147cb57600080fd5b506147d88782880161423f565b91505092959194509250565b600080600080608085870312156147fa57600080fd5b84356148058161405d565b935060208501356148158161405d565b92506040850135915060608501356001600160401b0381111561483757600080fd5b6147d88782880161423f565b6000806040838503121561485657600080fd5b82356148618161405d565b915060208301356148718161405d565b809150509250929050565b600080600080600080600060a0888a03121561489757600080fd5b87356148a28161405d565b96506148b060208901614484565b955060408801356001600160401b03808211156148cc57600080fd5b6148d88b838c0161449a565b909750955060608a01359150808211156148f157600080fd5b506148fe8a828b0161449a565b90945092505060808801356149128161405d565b8091505092959891949750929550565b6000806000806000806080878903121561493b57600080fd5b86356149468161405d565b95506020870135945060408701356001600160401b038082111561452957600080fd5b60008060006040848603121561497e57600080fd5b8335925060208401356001600160401b0381111561499b57600080fd5b61419b8682870161449a565b600181811c908216806149bb57607f821691505b6020821081036149db57634e487b7160e01b600052602260045260246000fd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b03831115614a8e57600080fd5b8260051b8085606085013791909101606001949350505050565b600060208284031215614aba57600080fd5b8151611877816142ae565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b8201614af057614af0614ac5565b5060000390565b634e487b7160e01b600052600160045260246000fd5b8082018281126000831280158216821582161715614b2d57614b2d614ac5565b505092915050565b818103600083128015838313168383128216171561308657613086614ac5565b85815260018060a01b038516602082015283604082015282606082015260a060808201526000613e9360a083018461401e565b600060208284031215614b9a57600080fd5b5051919050565b60006020808385031215614bb457600080fd5b82516001600160401b03811115614bca57600080fd5b8301601f81018513614bdb57600080fd5b8051614be9614439826143ce565b81815260059190911b82018301908381019087831115614c0857600080fd5b928401925b82841015613e93578351614c208161405d565b82529284019290840190614c0d565b80820180821115610b8e57610b8e614ac5565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600060208284031215614ca257600080fd5b81516118778161405d565b81810381811115610b8e57610b8e614ac5565b634e487b7160e01b600052603260045260246000fd5b600080600060608486031215614ceb57600080fd5b8351925060208401519150604084015190509250925092565b600060018201614d1657614d16614ac5565b5060010190565b60ff8281168282160390811115610b8e57610b8e614ac5565b600181815b80851115614d71578160001904821115614d5757614d57614ac5565b80851615614d6457918102915b93841c9390800290614d3b565b509250929050565b600082614d8857506001610b8e565b81614d9557506000610b8e565b8160018114614dab5760028114614db557614dd1565b6001915050610b8e565b60ff841115614dc657614dc6614ac5565b50506001821b610b8e565b5060208310610133831016604e8410600b8410161715614df4575081810a610b8e565b614dfe8383614d36565b8060001904821115614e1257614e12614ac5565b029392505050565b600061187760ff841683614d79565b600082614e4657634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610b8e57610b8e614ac5565b601f82111561159257600081815260208120601f850160051c81016020861015614e895750805b601f850160051c820191505b81811015614ea857828155600101614e95565b505050505050565b6001600160401b03831115614ec757614ec76141f9565b614edb83614ed583546149a7565b83614e62565b6000601f841160018114614f0f5760008515614ef75750838201355b600019600387901b1c1916600186901b178355610cfb565b600083815260209020601f19861690835b82811015614f405786850135825560209485019460019092019101614f20565b5086821015614f5d5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152606060208201526000614f88606083018561401e565b8281036040840152611654818561401e565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c060808201819052600090614fd59083018561401e565b82810360a0840152614fe7818561401e565b9998505050505050505050565b60008251615006818460208701613ffa565b919091019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e4531ce90c07f64fb538b191d41db41073ad2ad145dfda6b10584c6e2848d03964736f6c63430008130033",vR=eb=>eb.length>1;class vB extends u9.lV{constructor(...eb){vR(eb)?super(...eb):super(vO,vP,eb[0])}deploy(eb,em,ew,eM,eC){return super.deploy(eb,em,ew,eM,eC||{})}getDeployTransaction(eb,em,ew,eM,eC){return super.getDeployTransaction(eb,em,ew,eM,eC||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(vO)}static connect(eb,em){return new u9.CH(eb,vO,em)}}vB.bytecode=vP,vB.abi=vO;let vF=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFTProxy",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFTProxy",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER",type:"error"},{inputs:[],name:"SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED",type:"error"},{inputs:[],name:"SUPER_TOKEN_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_NFT_PROXY_ADDRESS_CHANGED",type:"error"},{inputs:[],name:"SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_NO_UNDERLYING_TOKEN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_ADMIN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_GOV_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_SELF",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAdmin",type:"address"},{indexed:!0,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"AuthorizedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Burned",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],name:"ConstantInflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],name:"ConstantOutflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Minted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"RevokedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Sent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenDowngraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"authorizeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"changeAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultOperators",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAdmin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastSuperTokenStorageSlot",outputs:[{internalType:"uint256",name:"slot",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"getUnderlyingDecimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"granularity",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"initializeWithAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"tokenHolder",type:"address"}],name:"isOperatorFor",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationApprove",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"operationDecreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationDowngrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"operationIncreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"operationSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationUpgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"revokeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"send",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"toUnderlyingAmount",outputs:[{internalType:"uint256",name:"underlyingAmount",type:"uint256"},{internalType:"uint256",name:"adjustedAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"}],name:"transferAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"upgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"validateStorageLayout",outputs:[],stateMutability:"pure",type:"function"}],vj="0x60e06040523480156200001157600080fd5b506040516200500f3803806200500f8339810160408190526200003491620000d9565b6001600160a01b0380841660805280831660a081905290821660c052604051849184918491907fcf554eb342edf010a94e07701ae91e99e90b769f649f03aeb1153654ddd43c0190600090a26040516001600160a01b038216907f8837af285f4d380af9227df9ebafa13d992b487fa6d7a4366bd4154576085b8990600090a25050505050506200012d565b6001600160a01b0381168114620000d657600080fd5b50565b600080600060608486031215620000ef57600080fd5b8351620000fc81620000c0565b60208501519093506200010f81620000c0565b60408501519092506200012281620000c0565b809150509250925092565b60805160a05160c051614e1f620001f06000396000818161064c01526114a101526000818161093f01526114040152600081816104c101528181610c1b01528181610c8a01528181610f2d0152818161105d0152818161112c01528181611343015281816114f101528181611639015281816117e4015281816118c301528181611cb401528181611d7e01528181611e1601528181611e7e01528181611f06015281816127ce015281816128650152818161399c0152613bdb0152614e1f6000f3fe608060405234801561001057600080fd5b50600436106103f15760003560e01c80636e9960c311610215578063bb0d196e11610125578063dd62ed3e116100b8578063ef43d2c611610087578063ef43d2c61461093a578063f99a38c41461043c578063fad8b32a14610961578063fc673c4f14610974578063fe9d93031461098757600080fd5b8063dd62ed3e146108af578063eb3537cc146108e8578063ec0d634314610916578063ee719bc81461092957600080fd5b8063ca789464116100f4578063ca78946414610863578063cf97256d14610876578063d95b637114610889578063d9d078d61461089c57600080fd5b8063bb0d196e14610817578063c68d42831461082a578063c780fd821461083d578063ca0c1e7f1461085057600080fd5b806395d89b41116101a8578063a1b2bf8b11610177578063a1b2bf8b146107b8578063a3a7e7f3146107cb578063a457c2d7146107de578063a9059cbb146107f1578063b84cdd4a1461080457600080fd5b806395d89b41146107825780639903ad381461078a5780639bd9bbc6146107925780639d876741146107a557600080fd5b806383ba2525116101e457806383ba2525146107375780638f2839701461074a57806392081a471461075d578063959b8c3f1461076f57600080fd5b80636e9960c3146107025780636fed61fc1461070a57806370a082311461071157806379359f6f1461072457600080fd5b8063386fa221116103105780634c5c0c85116102a35780635b9d09cc116102725780635b9d09cc146106a357806362aa5287146106b657806362ad1b83146106c957806366a12fb6146106dc5780636c2d9f2f146106ef57600080fd5b80634c5c0c851461064757806350d75d251461066e57806352d1902d14610676578063556f0dc71461069c57600080fd5b806345977d03116102df57806345977d03146105ee57806346951954146106015780634b2763b3146106145780634b61cc331461062757600080fd5b8063386fa221146105a257806339509351146105b557806341b706be146105c857806342fe0980146105db57600080fd5b80631863e809116103885780632704839711610357578063270483971461051f578063282a050b146105325780632ec8eec71461055a578063313ce5671461058d57600080fd5b80631863e809146104ac57806320bc4425146104bf57806323b872dd146104f9578063245887fc1461050c57600080fd5b806311bcc81e116103c457806311bcc81e1461046157806312a6a3f81461047457806316d055d61461048757806318160ddd1461049a57600080fd5b806306e48538146103f657806306fdde0314610414578063090c415e14610429578063095ea7b31461043e575b600080fd5b6103fe61099a565b60405161040b9190613df5565b60405180910390f35b61041c6109ab565b60405161040b9190613e92565b61043c610437366004613f05565b610a3d565b005b61045161044c366004613f60565b610af0565b604051901515815260200161040b565b61043c61046f366004613f8c565b610b07565b61043c610482366004613fa5565b610b36565b61043c610495366004613ff0565b610c19565b6003545b60405190815260200161040b565b61043c6104ba366004614104565b610c75565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b03909116815260200161040b565b610451610507366004614196565b610f15565b61043c61051a366004613f60565b610f2b565b61043c61052d3660046141d7565b610fa4565b610545610540366004613f8c565b611040565b6040805192835260208301919091520161040b565b61056d6105683660046141f9565b611055565b60408051948552602085019390935291830152606082015260800161040b565b60125b60405160ff909116815260200161040b565b6103fe6105b03660046141f9565b6110f8565b6104516105c3366004613f60565b61119b565b61043c6105d6366004613ff0565b6111d7565b61043c6105e936600461426d565b611203565b61043c6105fc366004613f8c565b6112e4565b61043c61060f3660046141f9565b611310565b61043c610622366004614196565b6114ef565b61063a6106353660046142ff565b611571565b60405161040b9190614345565b6104e17f000000000000000000000000000000000000000000000000000000000000000081565b6104e16115b6565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001961049e565b600161049e565b61043c6106b136600461437d565b6115e0565b61043c6106c4366004614196565b611637565b61043c6106d73660046143cc565b61168b565b61043c6106ea366004614196565b611739565b61063a6106fd36600461446a565b611759565b6104e161179b565b601f61049e565b61049e61071f3660046141f9565b6117b3565b6104516107323660046141f9565b6117dc565b61043c610745366004613f60565b611864565b61043c6107583660046141f9565b611890565b600e54600160a01b900460ff16610590565b61043c61077d3660046141f9565b611984565b61041c6119d5565b61043c6119e4565b61043c6107a036600461437d565b611aa6565b61043c6107b336600461449f565b611afa565b61043c6107c6366004613fa5565b611b40565b61043c6107d93660046141f9565b611bea565b6104516107ec366004613f60565b611bfe565b6104516107ff366004613f60565b611c4d565b610451610812366004613f60565b611c5b565b6104516108253660046141f9565b611cac565b61043c61083836600461449f565b611d34565b61043c61084b366004614196565b611d7c565b61043c61085e3660046144f7565b611e14565b61043c610871366004613f60565b611e7c565b61043c610884366004613f60565b611ef1565b610451610897366004614562565b611fda565b6104516108aa366004613f60565b611fe8565b61049e6108bd366004614562565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b6108fb6108f6366004613f60565b612002565b6040805193845260208401929092529082015260600161040b565b61043c61092436600461459b565b61213c565b600e546001600160a01b03166104e1565b6104e17f000000000000000000000000000000000000000000000000000000000000000081565b61043c61096f3660046141f9565b612213565b61043c610982366004614641565b612264565b61043c610995366004614688565b612305565b60606109a66012612356565b905090565b6060600f80546109ba906146c6565b80601f01602080910402602001604051908101604052809291908181526020018280546109e6906146c6565b8015610a335780601f10610a0857610100808354040283529160200191610a33565b820191906000526020600020905b815481529060010190602001808311610a1657829003601f168201915b5050505050905090565b6000338585604051602001610a5493929190614700565b604051602081830303815290604052805190602001209050610aa9818484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506123bc92505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b6000610afd3384846123fd565b5060015b92915050565b610b333333338460405180602001604052806000815250604051806020016040528060008152506124ad565b50565b6040513390600090610b4e9083908790602001614749565b60408051601f1981840301815291905280516020909101209050610b72818461266d565b15610b905760405163782a90fb60e11b815260040160405180910390fd5b610bcd818585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506123bc92505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051610c0a93929190614786565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610c625760405163c51efddd60e01b815260040160405180910390fd5b610c6e848484846126a9565b5050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610cd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfd91906147c7565b610d1a5760405163327fd99160e21b815260040160405180910390fd5b6000610d246127c9565b90506001600160a01b038116610d375750845b600085610d445786610d46565b815b905060008313610de357610d59836147fa565b610d628561290e565b14610d6f57610d6f614816565b610d788461290e565b6001600160a01b03821660009081526002602052604081208054909190610da090849061482c565b90915550506001600160a01b03851660009081526002602052604081208054859290610dcd90849061482c565b90915550610dde905085828661297c565b610ead565b8515610df157610df1614816565b82610dfb8561290e565b610e05919061482c565b6001600160a01b03831660009081526002602052604081208054909190610e2d908490614854565b90915550610e3c90508461290e565b6001600160a01b03881660009081526002602052604081208054909190610e6490849061482c565b90915550506001600160a01b03851660009081526002602052604081208054859290610e9190849061482c565b90915550610ea2905082888661297c565b610ead82868561297c565b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f604051610f02959493929190614874565b60405180910390a4505050505050505050565b6000610f23338585856126a9565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610f745760405163c51efddd60e01b815260040160405180910390fd5b610fa03383848460405180602001604052806000815250604051806020016040528060008152506124ad565b5050565b6040513390600090610fbc9083908690602001614749565b604051602081830303815290604052805190602001209050610fde818461266d565b610ffb5760405163dae1880960e01b815260040160405180910390fd5b61100581846129af565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b60008061104c836129d0565b91509150915091565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110dd91906148a7565b90506110e98582612002565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa158015611173573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b0191908101906148c0565b3360008181526011602090815260408083206001600160a01b03871684529091528120549091610afd9185906111d2908690614971565b6123fd565b3330146111f757604051630fff4cc960e31b815260040160405180910390fd5b610c6e838584846126a9565b600054610100900460ff16158080156112235750600054600160ff909116105b8061123d5750303b15801561123d575060005460ff166001145b6112625760405162461bcd60e51b815260040161125990614984565b60405180910390fd5b6000805460ff191660011790558015611285576000805461ff0019166101001790555b6112958787878787876000612a8c565b80156112db576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610b33333333846040518060200160405280600081525060405180602001604052806000815250612b54565b6000611328600080516020614d538339815191525490565b905060006001600160a01b038216156113415781611363565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b0382161461138e57604051630484acab60e01b815260040160405180910390fd5b61139783612d07565b826001600160a01b031663ef43d2c66040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f991906149d2565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806114cc5750826001600160a01b0316634c5c0c856040518163ffffffff1660e01b8152600401602060405180830381865afa158015611472573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149691906149d2565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614155b156114ea5760405163ef1b6ddf60e01b815260040160405180910390fd5b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146115385760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084166000908152601160209081526040808320938616835292905220546114ea90849084906111d2908590614971565b6060600085858560405160200161158a93929190614700565b6040516020818303038152906040528051906020012090506115ac8184612f41565b9695505050505050565b60006109a67f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6116313333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612b54915050565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146116805760405163c51efddd60e01b815260040160405180910390fd5b6114ea8383836123fd565b336116986012828a612fd0565b6116b55760405163f7f0222760e01b815260040160405180910390fd5b61172f8189898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a908190840183828082843760009201919091525060019250613079915050565b5050505050505050565b33301461168057604051630fff4cc960e31b815260040160405180910390fd5b606060008484604051602001611770929190614749565b6040516020818303038152906040528051906020012090506117928184612f41565b95945050505050565b60006109a6600080516020614d538339815191525490565b6000806117bf83611055565b5050509050600081126117d257806117d5565b60005b9392505050565b6000610b01827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611840573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108aa91906148a7565b610fa03333848460405180602001604052806000815250604051806020016040528060008152506124ad565b60006118a8600080516020614d538339815191525490565b905060006001600160a01b038216156118c157816118e3565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b0382161461190e57604051630484acab60e01b815260040160405180910390fd5b6000611926600080516020614d538339815191525490565b905061193e84600080516020614d5383398151915255565b836001600160a01b0316816001600160a01b03167f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f60405160405180910390a350505050565b33611991601282846130f2565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b6060601080546109ba906146c6565b600054610100900460ff1615808015611a045750600054600160ff909116105b80611a1e5750303b158015611a1e575060005460ff166001145b611a3a5760405162461bcd60e51b815260040161125990614984565b6000805460ff191660011790558015611a5d576000805461ff0019166101001790555b8015610b33576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6116313333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250600191506130799050565b333014611b1a57604051630fff4cc960e31b815260040160405180910390fd5b80516040805160008152602081019091526114ea913391869186919015159086906131f6565b6040513390600090611b589083908790602001614749565b604051602081830303815290604052805190602001209050611bad818585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506123bc92505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051610c0a93929190614786565b610fa0333383611bf9336117b3565b6126a9565b6000610afd33846111d2856040518060600160405280602a8152602001614d73602a91393360009081526011602090815260408083206001600160a01b038d16845290915290205491906132c3565b60006117d5333385856126a9565b600080600080611c6b8686612002565b9250925092506000611c93828411611c8457600061290e565b611c8e83856149ef565b61290e565b611c9d908561482c565b60001315979650505050505050565b6000610b01827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d10573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081291906148a7565b333014611d5457604051630fff4cc960e31b815260040160405180910390fd5b80516040805160008152602081019091526114ea9133918691869190151590819087906132ef565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611dc55760405163c51efddd60e01b815260040160405180910390fd5b6114ea83836111d2846040518060600160405280602a8152602001614d73602a91396001600160a01b03808a166000908152601160209081526040808320938c168352929052205491906132c3565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611e5d5760405163c51efddd60e01b815260040160405180910390fd5b6116313385858585604051806020016040528060008152506001613079565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611ec55760405163c51efddd60e01b815260040160405180910390fd5b610fa0338384846040518060200160405280600081525060405180602001604052806000815250612b54565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015611f55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f7991906147c7565b611f965760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040902054611fba90829061482c565b6001600160a01b0390921660009081526002602052604090209190915550565b60006117d560128484612fd0565b600080611ff58484612002565b5050600013949350505050565b6001600160a01b038216600090815260026020526040812054908080612027866110f8565b905060005b815181101561213357600080600084848151811061204c5761204c614a02565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa1580156120ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cf9190614a18565b919450925090506120e08288614971565b96506120ec8187614971565b95506121098183116120ff57600061290e565b611c8e82846149ef565b612113848a61482c565b61211d9190614854565b97505050508061212c90614a46565b905061202c565b50509250925092565b600054610100900460ff161580801561215c5750600054600160ff909116105b806121765750303b158015612176575060005460ff166001145b6121925760405162461bcd60e51b815260040161125990614984565b6000805460ff1916600117905580156121b5576000805461ff0019166101001790555b6121c488888888888888612a8c565b801561172f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050565b33612220601282846133bd565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b3361227160128289612fd0565b61228e5760405163f7f0222760e01b815260040160405180910390fd5b6112db8188898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284376000920191909152506124ad92505050565b6114ea3333338686868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020810190915290815292506124ad915050565b6060816000018054806020026020016040519081016040528092919081815260200182805480156123b057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612392575b50505050509050919050565b60005b81518110156114ea5760008282815181106123dc576123dc614a02565b60200260200101519050808285015550806123f690614a46565b90506123bf565b6001600160a01b03831661242457604051638163862760e01b815260040160405180910390fd5b6001600160a01b03821661244b576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600e546001600160a01b03166124d657604051637bce7b2b60e11b815260040160405180910390fd5b6000806124e2856129d0565b915091506124f988888387516000141588886131f6565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612542573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256691906148a7565b600e54909150612580906001600160a01b031688856134b5565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156125c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ed91906148a7565b905060006125fb82846149ef565b905080851461261d57604051631c7c26d360e31b815260040160405180910390fd5b896001600160a01b03167f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d8560405161265891815260200190565b60405180910390a25050505050505050505050565b6000805b8281101561269f5783810154801561268e57600192505050610b01565b5061269881614a46565b9050612671565b5060009392505050565b60006001600160a01b0384166126d25760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0383166126f95760405163e219bd3960e01b815260040160405180910390fd5b600033905061272a818686866040518060200160405280600081525060405180602001604052806000815250613518565b846001600160a01b0316866001600160a01b0316146127bd576127bd85876111d2866040518060600160405280602d8152602001614dbd602d9139601160008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b03168152602001908152602001600020546132c39092919063ffffffff16565b50600195945050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561282a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061284e91906149d2565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa1580156128e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061290891906149d2565b91505090565b60006001600160ff1b038211156129785760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401611259565b5090565b816001600160a01b0316836001600160a01b0316600080516020614d9d833981519152836040516124a091815260200190565b60005b818110156114ea576000838201556129c981614a46565b90506129b2565b600e54600090819081906012600160a01b90910460ff161015612a2f57600e54612a0590600160a01b900460ff166012614a5f565b612a1090600a614b5c565b9050612a1c8185614b6b565b9250612a288184614b8d565b9150612a86565b600e546012600160a01b90910460ff161115612a7f57600e54612a5e90601290600160a01b900460ff16614a5f565b612a6990600a614b5c565b9050612a758185614b8d565b9250839150612a86565b8391508192505b50915091565b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f612ac1858783614bf2565b506010612acf838583614bf2565b50612ae681600080516020614d5383398151915255565b612aef306135b7565b6040516000808252908190600080516020614d9d8339815191529060200160405180910390a36040516001600160a01b038216906000907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a350505050505050565b600e546001600160a01b0316612b7d57604051637bce7b2b60e11b815260040160405180910390fd5b600080612b89856129d0565b600e546040516370a0823160e01b81523060048201529294509092506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015612bda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bfe91906148a7565b600e54909150612c19906001600160a01b03168930866136e5565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612c62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c8691906148a7565b90506000612c9483836149ef565b9050808514612cb657604051631c7c26d360e31b815260040160405180910390fd5b8651612ccc908c908b9087901515808c8c6132ef565b886001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df8560405161265891815260200190565b6000612d317f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603612d875760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611259565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612dc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de991906148a7565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001914612e635760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611259565b6001600160a01b0381163003612ebb5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611259565b612ee3817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019604080519182526001600160a01b038416602083015201611a9b565b6060816001600160401b03811115612f5b57612f5b614041565b604051908082528060200260200182016040528015612f84578160200160208202803683370190505b50905060005b82811015612fc957600081850154905080838381518110612fad57612fad614a02565b602090810291909101015250612fc281614a46565b9050612f8a565b5092915050565b6000816001600160a01b0316836001600160a01b0316148061303f57506001600160a01b038316600090815260018501602052604090205460ff16801561303f57506001600160a01b03808316600090815260038601602090815260408083209387168352929052205460ff16155b80610f2357506001600160a01b03808316600090815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b0386166130a05760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0385166130c75760405163e219bd3960e01b815260040160405180910390fd5b6130d587878787878761371d565b6130e3878787878787613518565b6112db87878787878787613844565b806001600160a01b0316826001600160a01b0316036131695760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b6064820152608401611259565b6001600160a01b038116600090815260018401602052604090205460ff16156131bf576001600160a01b03918216600090815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b0380831660009081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03851661321d57604051632e8aac6160e21b815260040160405180910390fd5b8215613232576132328686600087868661371d565b61323c8585613994565b846001600160a01b0316866001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a409886858560405161328393929190614cb1565b60405180910390a36040518481526000906001600160a01b03871690600080516020614d9d833981519152906020015b60405180910390a3505050505050565b600081848411156132e75760405162461bcd60e51b81526004016112599190613e92565b505050900390565b6001600160a01b03861661331657604051630d24315760e01b815260040160405180910390fd5b6133208686613aa4565b8315613336576133368760008888868689613844565b856001600160a01b0316876001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d87858560405161337d93929190614cb1565b60405180910390a36040518581526001600160a01b03871690600090600080516020614d9d8339815191529060200160405180910390a350505050505050565b336001600160a01b038216036134285760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b6064820152608401611259565b6001600160a01b038116600090815260018401602052604090205460ff1615613482576001600160a01b0380831660009081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03918216600090815260029390930160209081526040808520929093168452529020805460ff19169055565b6040516001600160a01b0383166024820152604481018290526114ea90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613afe565b61352b85856135268661290e565b613bd3565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc8261467798786868660405161357c93929190614cb1565b60405180910390a4836001600160a01b0316856001600160a01b0316600080516020614d9d833981519152856040516132b391815260200190565b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b15801561363857600080fd5b505af115801561364c573d6000803e3d6000fd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b1580156136d157600080fd5b505af1158015610c6e573d6000803e3d6000fd5b6040516001600160a01b03808516602483015283166044820152606481018290526116319085906323b872dd60e01b906084016134e1565b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe8956024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa15801561379e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137c291906149d2565b90506001600160a01b038116156112db57604051633ad5cbc160e11b81526001600160a01b038216906375ab978290613809908a908a908a908a908a908a90600401614cdc565b600060405180830381600087803b15801561382357600080fd5b505af1158015613837573d6000803e3d6000fd5b5050505050505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa1580156138c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138e991906149d2565b90506001600160a01b03811615613965576040516223de2960e01b81526001600160a01b038216906223de299061392e908b908b908b908b908b908b90600401614cdc565b600060405180830381600087803b15801561394857600080fd5b505af115801561395c573d6000803e3d6000fd5b5050505061172f565b811561172f576001600160a01b0386163b1561172f5760405163fe737d0560e01b815260040160405180910390fd5b6000613a1c837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156139f8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f691906148a7565b50509050613a298261290e565b811215613a495760405163043b37d160e21b815260040160405180910390fd5b613a528261290e565b6001600160a01b038416600090815260026020526040902054613a759190614854565b6001600160a01b038416600090815260026020526040902055600354613a9c9083906149ef565b600355505050565b613aad8161290e565b6001600160a01b038316600090815260026020526040902054613ad0919061482c565b6001600160a01b038316600090815260026020526040902055600354613af7908290614971565b6003555050565b6000613b53826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613cd29092919063ffffffff16565b9050805160001480613b74575080806020019051810190613b7491906147c7565b6114ea5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401611259565b6000613c37847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156139f8573d6000803e3d6000fd5b5050905081811215613c5c57604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b038416600090815260026020526040902054613c80908390614854565b6001600160a01b038086166000908152600260205260408082209390935590851681522054613cb090839061482c565b6001600160a01b03909316600090815260026020526040902092909255505050565b6060610f23848460008585600080866001600160a01b03168587604051613cf99190614d36565b60006040518083038185875af1925050503d8060008114613d36576040519150601f19603f3d011682016040523d82523d6000602084013e613d3b565b606091505b5091509150613d4c87838387613d57565b979650505050505050565b60608315613dc6578251600003613dbf576001600160a01b0385163b613dbf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611259565b5081610f23565b610f238383815115613ddb5781518083602001fd5b8060405162461bcd60e51b81526004016112599190613e92565b6020808252825182820181905260009190848201906040850190845b81811015613e365783516001600160a01b031683529284019291840191600101613e11565b50909695505050505050565b60005b83811015613e5d578181015183820152602001613e45565b50506000910152565b60008151808452613e7e816020860160208601613e42565b601f01601f19169290920160200192915050565b6020815260006117d56020830184613e66565b6001600160a01b0381168114610b3357600080fd5b60008083601f840112613ecc57600080fd5b5081356001600160401b03811115613ee357600080fd5b6020830191508360208260051b8501011115613efe57600080fd5b9250929050565b60008060008060608587031215613f1b57600080fd5b8435613f2681613ea5565b93506020850135925060408501356001600160401b03811115613f4857600080fd5b613f5487828801613eba565b95989497509550505050565b60008060408385031215613f7357600080fd5b8235613f7e81613ea5565b946020939093013593505050565b600060208284031215613f9e57600080fd5b5035919050565b600080600060408486031215613fba57600080fd5b8335925060208401356001600160401b03811115613fd757600080fd5b613fe386828701613eba565b9497909650939450505050565b6000806000806080858703121561400657600080fd5b843561401181613ea5565b9350602085013561402181613ea5565b9250604085013561403181613ea5565b9396929550929360600135925050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561407f5761407f614041565b604052919050565b600082601f83011261409857600080fd5b81356001600160401b038111156140b1576140b1614041565b6140c4601f8201601f1916602001614057565b8181528460208386010111156140d957600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114610b3357600080fd5b600080600080600080600060e0888a03121561411f57600080fd5b8735965060208801356001600160401b0381111561413c57600080fd5b6141488a828b01614087565b965050604088013561415981613ea5565b94506060880135614169816140f6565b9350608088013561417981613ea5565b9699959850939692959460a0840135945060c09093013592915050565b6000806000606084860312156141ab57600080fd5b83356141b681613ea5565b925060208401356141c681613ea5565b929592945050506040919091013590565b600080604083850312156141ea57600080fd5b50508035926020909101359150565b60006020828403121561420b57600080fd5b81356117d581613ea5565b803560ff8116811461422757600080fd5b919050565b60008083601f84011261423e57600080fd5b5081356001600160401b0381111561425557600080fd5b602083019150836020828501011115613efe57600080fd5b6000806000806000806080878903121561428657600080fd5b863561429181613ea5565b955061429f60208801614216565b945060408701356001600160401b03808211156142bb57600080fd5b6142c78a838b0161422c565b909650945060608901359150808211156142e057600080fd5b506142ed89828a0161422c565b979a9699509497509295939492505050565b6000806000806080858703121561431557600080fd5b843561432081613ea5565b9350602085013561433081613ea5565b93969395505050506040820135916060013590565b6020808252825182820181905260009190848201906040850190845b81811015613e3657835183529284019291840191600101614361565b6000806000806060858703121561439357600080fd5b843561439e81613ea5565b93506020850135925060408501356001600160401b038111156143c057600080fd5b613f548782880161422c565b600080600080600080600060a0888a0312156143e757600080fd5b87356143f281613ea5565b9650602088013561440281613ea5565b95506040880135945060608801356001600160401b038082111561442557600080fd5b6144318b838c0161422c565b909650945060808a013591508082111561444a57600080fd5b506144578a828b0161422c565b989b979a50959850939692959293505050565b60008060006060848603121561447f57600080fd5b833561448a81613ea5565b95602085013595506040909401359392505050565b6000806000606084860312156144b457600080fd5b83356144bf81613ea5565b92506020840135915060408401356001600160401b038111156144e157600080fd5b6144ed86828701614087565b9150509250925092565b6000806000806080858703121561450d57600080fd5b843561451881613ea5565b9350602085013561452881613ea5565b92506040850135915060608501356001600160401b0381111561454a57600080fd5b61455687828801614087565b91505092959194509250565b6000806040838503121561457557600080fd5b823561458081613ea5565b9150602083013561459081613ea5565b809150509250929050565b600080600080600080600060a0888a0312156145b657600080fd5b87356145c181613ea5565b96506145cf60208901614216565b955060408801356001600160401b03808211156145eb57600080fd5b6145f78b838c0161422c565b909750955060608a013591508082111561461057600080fd5b5061461d8a828b0161422c565b909450925050608088013561463181613ea5565b8091505092959891949750929550565b6000806000806000806080878903121561465a57600080fd5b863561466581613ea5565b95506020870135945060408701356001600160401b03808211156142bb57600080fd5b60008060006040848603121561469d57600080fd5b8335925060208401356001600160401b038111156146ba57600080fd5b613fe38682870161422c565b600181811c908216806146da57607f821691505b6020821081036146fa57634e487b7160e01b600052602260045260246000fd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b038311156147ad57600080fd5b8260051b8085606085013791909101606001949350505050565b6000602082840312156147d957600080fd5b81516117d5816140f6565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b820161480f5761480f6147e4565b5060000390565b634e487b7160e01b600052600160045260246000fd5b808201828112600083128015821682158216171561484c5761484c6147e4565b505092915050565b8181036000831280158383131683831282161715612fc957612fc96147e4565b85815260018060a01b038516602082015283604082015282606082015260a060808201526000613d4c60a0830184613e66565b6000602082840312156148b957600080fd5b5051919050565b600060208083850312156148d357600080fd5b82516001600160401b03808211156148ea57600080fd5b818501915085601f8301126148fe57600080fd5b81518181111561491057614910614041565b8060051b9150614921848301614057565b818152918301840191848101908884111561493b57600080fd5b938501935b83851015614965578451925061495583613ea5565b8282529385019390850190614940565b98975050505050505050565b80820180821115610b0157610b016147e4565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000602082840312156149e457600080fd5b81516117d581613ea5565b81810381811115610b0157610b016147e4565b634e487b7160e01b600052603260045260246000fd5b600080600060608486031215614a2d57600080fd5b8351925060208401519150604084015190509250925092565b600060018201614a5857614a586147e4565b5060010190565b60ff8281168282160390811115610b0157610b016147e4565b600181815b80851115614ab3578160001904821115614a9957614a996147e4565b80851615614aa657918102915b93841c9390800290614a7d565b509250929050565b600082614aca57506001610b01565b81614ad757506000610b01565b8160018114614aed5760028114614af757614b13565b6001915050610b01565b60ff841115614b0857614b086147e4565b50506001821b610b01565b5060208310610133831016604e8410600b8410161715614b36575081810a610b01565b614b408383614a78565b8060001904821115614b5457614b546147e4565b029392505050565b60006117d560ff841683614abb565b600082614b8857634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610b0157610b016147e4565b601f8211156114ea57600081815260208120601f850160051c81016020861015614bcb5750805b601f850160051c820191505b81811015614bea57828155600101614bd7565b505050505050565b6001600160401b03831115614c0957614c09614041565b614c1d83614c1783546146c6565b83614ba4565b6000601f841160018114614c515760008515614c395750838201355b600019600387901b1c1916600186901b178355610c6e565b600083815260209020601f19861690835b82811015614c825786850135825560209485019460019092019101614c62565b5086821015614c9f5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152606060208201526000614cca6060830185613e66565b82810360408401526115ac8185613e66565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c060808201819052600090614d1790830185613e66565b82810360a0840152614d298185613e66565b9998505050505050505050565b60008251614d48818460208701613e42565b919091019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201b0f07fb8111bc61d4559d9530077ede9cc91f70af54c0881fc9af719afe0e8764736f6c63430008130033",vU=eb=>eb.length>1;class vV extends u9.lV{constructor(...eb){vU(eb)?super(...eb):super(vF,vj,eb[0])}deploy(eb,em,ew,eM){return super.deploy(eb,em,ew,eM||{})}getDeployTransaction(eb,em,ew,eM){return super.getDeployTransaction(eb,em,ew,eM||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(vF)}static connect(eb,em){return new u9.CH(eb,vF,em)}}vV.bytecode=vj,vV.abi=vF;let vH=[{inputs:[],name:"SF_GOV_II_ONLY_OWNER",type:"error"},{inputs:[],name:"SF_GOV_INVALID_LIQUIDATION_OR_PATRICIAN_PERIOD",type:"error"},{inputs:[],name:"SF_GOV_MUST_BE_CONTRACT",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"address",name:"factory",type:"address"},{indexed:!1,internalType:"bool",name:"authorized",type:"bool"}],name:"AppFactoryAuthorizationChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"address",name:"deployer",type:"address"},{indexed:!1,internalType:"string",name:"appRegistrationKey",type:"string"},{indexed:!1,internalType:"uint256",name:"expirationTs",type:"uint256"}],name:"AppRegistrationKeyChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"liquidationPeriod",type:"uint256"}],name:"CFAv1LiquidationPeriodChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"ConfigChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",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:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{indexed:!1,internalType:"uint256",name:"patricianPeriod",type:"uint256"}],name:"PPPConfigurationChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"address",name:"rewardAddress",type:"address"}],name:"RewardAddressChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"minimumDeposit",type:"uint256"}],name:"SuperTokenMinimumDepositChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"address",name:"forwarder",type:"address"},{indexed:!1,internalType:"bool",name:"enabled",type:"bool"}],name:"TrustedForwarderChanged",type:"event"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"authorizeAppFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"token",type:"address[]"},{internalType:"address[]",name:"newAdmins",type:"address[]"}],name:"batchChangeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"},{internalType:"address[]",name:"tokenLogics",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"},{internalType:"uint256[]",name:"minimumDeposits",type:"uint256[]"}],name:"batchUpdateSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newAdmin",type:"address"}],name:"changeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"}],name:"clearAppRegistrationKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"clearConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"clearPPPConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"clearRewardAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"superToken",type:"address"}],name:"clearSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"disableTrustedForwarder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"enableTrustedForwarder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsAddress",outputs:[{internalType:"address",name:"value",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsUint256",outputs:[{internalType:"uint256",name:"period",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getPPPConfig",outputs:[{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getRewardAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getSuperTokenMinimumDeposit",outputs:[{internalType:"uint256",name:"value",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"isAuthorizedAppFactory",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"isTrustedForwarder",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"agreementClass",type:"address"}],name:"registerAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"newGov",type:"address"}],name:"replaceGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"},{internalType:"uint256",name:"expirationTs",type:"uint256"}],name:"setAppRegistrationKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"address",name:"value",type:"address"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"uint256",name:"value",type:"uint256"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"}],name:"setPPPConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"rewardAddress",type:"address"}],name:"setRewardAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"setSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"unauthorizeAppFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"hostNewLogic",type:"address"},{internalType:"address[]",name:"agreementClassNewLogics",type:"address[]"},{internalType:"address",name:"superTokenFactoryNewLogic",type:"address"}],name:"updateContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"validateStorageLayout",outputs:[],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"}],name:"verifyAppRegistrationKey",outputs:[{internalType:"bool",name:"validNow",type:"bool"},{internalType:"uint256",name:"expirationTs",type:"uint256"}],stateMutability:"view",type:"function"}],v$="0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6122238061007e6000396000f3fe608060405234801561001057600080fd5b506004361061023c5760003560e01c80637f0558e41161013b5780639903ad38116100b8578063e447cc1d1161007c578063e447cc1d14610517578063f047a2d91461052a578063f2fde38b1461053d578063f79a8e6314610550578063f99a38c41461025457600080fd5b80639903ad38146104c3578063ab846f1a146104cb578063c9615a98146104de578063cadf8f85146104f1578063d099b6a01461050457600080fd5b80638abe04e9116100ff5780638abe04e9146104565780638b93b3f5146104795780638da5cb5b1461048c5780638ecbd87b1461049d578063948eda5e146104b057600080fd5b80637f0558e4146103fc57806380f70cba1461040f5780638369a0f114610422578063870299c0146104305780638a7ff2f71461044357600080fd5b8063427942a4116101c957806352d1902d1161018d57806352d1902d1461038b578063640b6cc9146103bb578063715018a6146103ce57806378707cb8146103d65780637dce4f81146103e957600080fd5b8063427942a41461032257806344864b25146103355780634522823514610348578063469519541461037057806350d75d251461038357600080fd5b8063219644731161021057806321964473146102c3578063256b5173146102d657806325c955c3146102e957806332552908146102fc57806342148deb1461030f57600080fd5b806286d5551461024157806301a06b971461025657806311cf00f11461026957806319df62ab14610298575b600080fd5b61025461024f366004611c01565b610563565b005b610254610264366004611c47565b610630565b61027c610277366004611d23565b6106b4565b6040805192151583526020830191909152015b60405180910390f35b6102ab6102a6366004611c47565b6106e4565b6040516001600160a01b03909116815260200161028f565b6102546102d1366004611dd1565b610718565b6102546102e4366004611e54565b610793565b6102546102f7366004611c47565b610806565b61025461030a366004611e54565b610862565b61025461031d366004611e9f565b6108df565b610254610330366004611ef4565b6109a2565b610254610343366004611c47565b610c52565b61035b610356366004611c47565b610cbd565b6040805192835260208301919091520161028f565b61025461037e366004611f71565b610d05565b6102ab610d19565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb23830542395b60405190815260200161028f565b6102546103c9366004611f8e565b610d48565b610254610d58565b6102546103e4366004611fcf565b610d6c565b6102546103f7366004611e54565b610d7e565b61025461040a366004611f8e565b610dde565b6103ad61041d366004611f8e565b610e51565b6102ab61041d366004611f8e565b61025461043e366004611dd1565b610ec2565b6103ad610451366004611c47565b610fb4565b610469610464366004611c47565b610fe1565b604051901515815260200161028f565b610254610487366004611c47565b610ffc565b6000546001600160a01b03166102ab565b6102546104ab366004611c47565b61107f565b6102546104be366004611d23565b6110f0565b61025461115e565b6102546104d9366004611e54565b611287565b6102546104ec366004611dd1565b6112e3565b6102546104ff366004611c47565b6113d5565b610254610512366004612022565b61140d565b610254610525366004611c47565b61146d565b610469610538366004611e54565b6114de565b61025461054b366004611f71565b6114f9565b61025461055e366004611c01565b61156f565b8082111580610576575063ffffffff8210155b80610585575063ffffffff8110155b156105a3576040516370b8cc0560e11b815260040160405180910390fd5b602082901b81176105d685857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f7884611577565b6040805160018152602081018590529081018390526001600160a01b0380861691908716907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050505050565b61065b82827fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f7861162a565b60408051600080825260208201819052918101919091526001600160a01b0380831691908416907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050565b60008060006106c385856116eb565b905060006106d387600084610e51565b428110159890975095505050505050565b600061071183837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09610e51565b9392505050565b8281146107275761072761208c565b60005b8181101561078b5761077b86868684818110610748576107486120a2565b905060200201602081019061075d9190611f71565b85858581811061076f5761076f6120a2565b90506020020135610dde565b610784816120b8565b905061072a565b505050505050565b8261079d8161171e565b604051630c56507560e01b81526001600160a01b0384811660048301528381166024830152851690630c56507590604401600060405180830381600087803b1580156107e857600080fd5b505af11580156107fc573d6000803e3d6000fd5b5050505050505050565b61081a82600061081584611726565b61162a565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d60006040516106a8911515815260200190565b61088e83837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09846117b9565b60408051600181526001600160a01b03838116602083015280851692908616917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91015b60405180910390a3505050565b826108e98161171e565b60005b8281101561099b57846001600160a01b031663fa6e0cfe858584818110610915576109156120a2565b905060200201602081019061092a9190611f71565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260006024820152604401600060405180830381600087803b15801561097257600080fd5b505af1158015610986573d6000803e3d6000fd5b5050505080610994906120b8565b90506108ec565b5050505050565b846109ac8161171e565b6001600160a01b03851615610a6a576040516311a5465560e21b81526001600160a01b038681166004830152871690634695195490602401600060405180830381600087803b1580156109fe57600080fd5b505af1158015610a12573d6000803e3d6000fd5b50505050846001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a5157600080fd5b505af1158015610a65573d6000803e3d6000fd5b505050505b60005b83811015610b8e57866001600160a01b03166306cecba8868684818110610a9657610a966120a2565b9050602002016020810190610aab9190611f71565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015610aec57600080fd5b505af1158015610b00573d6000803e3d6000fd5b50505050848482818110610b1657610b166120a2565b9050602002016020810190610b2b9190611f71565b6001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b6557600080fd5b505af1158015610b79573d6000803e3d6000fd5b5050505080610b87906120b8565b9050610a6d565b506001600160a01b0382161561078b576040516354fbc49360e01b81526001600160a01b0383811660048301528716906354fbc49390602401600060405180830381600087803b158015610be157600080fd5b505af1158015610bf5573d6000803e3d6000fd5b50505050816001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610c3457600080fd5b505af1925050508015610c45575060015b1561078b57505050505050565b81610c5c8161171e565b604051631ca0c40360e21b81526001600160a01b038381166004830152841690637283100c906024015b600060405180830381600087803b158015610ca057600080fd5b505af1158015610cb4573d6000803e3d6000fd5b50505050505050565b6000806000610ced85857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78610e51565b63ffffffff602082901c811697911695509350505050565b610d0d61186e565b610d1681611899565b50565b6000610d437f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b610d5383838361162a565b505050565b610d60611ad3565b610d6a6000611b2d565b565b610d78848484846117b9565b50505050565b610d8c838361081584611b7d565b60408051600181526001600160a01b038381166020830152600092820192909252818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108d2565b610e0a83837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc484611577565b6040805160018152602081018390526001600160a01b0380851692908616917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a5391016108d2565b6001600160a01b03808416600090815260016020908152604080832093861683529281528282208483529052908120805460ff16610eb657506001600160a01b0384166000908152600160209081526040808320838052825280832085845290915290205b60010154949350505050565b84610ecc8161171e565b838214610edb57610edb61208c565b60005b84811015610cb457866001600160a01b031663fa6e0cfe878784818110610f0757610f076120a2565b9050602002016020810190610f1c9190611f71565b868685818110610f2e57610f2e6120a2565b9050602002016020810190610f439190611f71565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b158015610f8b57600080fd5b505af1158015610f9f573d6000803e3d6000fd5b5050505080610fad906120b8565b9050610ede565b600061071183837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4610e51565b6000610ff283600061041d85611726565b6001149392505050565b803b6000819003611020576040516380dddd7360e01b815260040160405180910390fd5b5061103782600061103084611726565b6001611577565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d60016040516106a8911515815260200190565b6110aa82827feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc461162a565b60408051600080825260208201526001600160a01b0380841692908516917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a5391016106a8565b60006110fc83836116eb565b905061110a8460008361162a565b826001600160a01b0316846001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc846000604051611150929190612125565b60405180910390a350505050565b600054600160a81b900460ff161580801561118657506000546001600160a01b90910460ff16105b806111a75750303b1580156111a75750600054600160a01b900460ff166001145b61120f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff60a01b1916600160a01b179055801561123c576000805460ff60a81b1916600160a81b1790555b8015610d16576000805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b611295838361103084611b7d565b6040805160018082526001600160a01b03848116602084015292820152818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d27906060016108d2565b846112ed8161171e565b8382146112fc576112fc61208c565b60005b84811015610cb457866001600160a01b0316630c565075878784818110611328576113286120a2565b905060200201602081019061133d9190611f71565b86868581811061134f5761134f6120a2565b90506020020160208101906113649190611f71565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b50505050806113ce906120b8565b90506112ff565b816113df8161171e565b6040516315a024e160e01b81526001600160a01b0383811660048301528416906315a024e190602401610c86565b600061141984846116eb565b90506114288560008385611577565b836001600160a01b0316856001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc8585604051610621929190612125565b61149882827f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d0961162a565b60408051600080825260208201526001600160a01b0380841692908516917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91016106a8565b60006114ee848461041d85611b7d565b600114949350505050565b611501611ad3565b6001600160a01b0381166115665760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401611206565b610d1681611b2d565b610d78848484845b836115818161171e565b60408051848152600160208201529081018390526001600160a01b0380861691908716907f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e3909060600160405180910390a350604080518082018252600180825260208083019485526001600160a01b039788166000908152828252848120979098168852958652828720948752939094529093209151825460ff19169015151782559151910155565b826116348161171e565b826001600160a01b0316846001600160a01b03167f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e3908460008060405161168d939291909283529015156020830152604082015260600190565b60405180910390a350604080518082018252600080825260208083018281526001600160a01b03978816835260018083528584209790981683529581528382209482529390935291209051815460ff19169015151781559051910155565b60008282604051602001611700929190612147565b60405160208183030381529060405280519060200120905092915050565b610d1661186e565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b836117c38161171e565b60408051848152600160208201526001600160a01b03848116828401529151868316928816917f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e390919081900360600190a35060408051808201825260018082526001600160a01b03938416602080840191825297851660009081528289528481209790951685529587528284209484529390955290209251835460ff19169015151783559051910155565b6000546001600160a01b03163314610d6a57604051638c809f9b60e01b815260040160405180910390fd5b60006118c37f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036119195760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611206565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197b91906121d4565b7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb2383054239146119f55760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611206565b6001600160a01b0381163003611a4d5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611206565b611a75817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f42262e3b6ca1f8f82e158e1ac4ddf4e6273aa6499266ae17bcaceb2383054239604080519182526001600160a01b03841660208301520161127c565b6000546001600160a01b03163314610d6a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611206565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c00161179c565b6001600160a01b0381168114610d1657600080fd5b60008060008060808587031215611c1757600080fd5b8435611c2281611bec565b93506020850135611c3281611bec565b93969395505050506040820135916060013590565b60008060408385031215611c5a57600080fd5b8235611c6581611bec565b91506020830135611c7581611bec565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611ca757600080fd5b813567ffffffffffffffff80821115611cc257611cc2611c80565b604051601f8301601f19908116603f01168101908282118183101715611cea57611cea611c80565b81604052838152866020858801011115611d0357600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600060608486031215611d3857600080fd5b8335611d4381611bec565b92506020840135611d5381611bec565b9150604084013567ffffffffffffffff811115611d6f57600080fd5b611d7b86828701611c96565b9150509250925092565b60008083601f840112611d9757600080fd5b50813567ffffffffffffffff811115611daf57600080fd5b6020830191508360208260051b8501011115611dca57600080fd5b9250929050565b600080600080600060608688031215611de957600080fd5b8535611df481611bec565b9450602086013567ffffffffffffffff80821115611e1157600080fd5b611e1d89838a01611d85565b90965094506040880135915080821115611e3657600080fd5b50611e4388828901611d85565b969995985093965092949392505050565b600080600060608486031215611e6957600080fd5b8335611e7481611bec565b92506020840135611e8481611bec565b91506040840135611e9481611bec565b809150509250925092565b600080600060408486031215611eb457600080fd5b8335611ebf81611bec565b9250602084013567ffffffffffffffff811115611edb57600080fd5b611ee786828701611d85565b9497909650939450505050565b600080600080600060808688031215611f0c57600080fd5b8535611f1781611bec565b94506020860135611f2781611bec565b9350604086013567ffffffffffffffff811115611f4357600080fd5b611f4f88828901611d85565b9094509250506060860135611f6381611bec565b809150509295509295909350565b600060208284031215611f8357600080fd5b813561071181611bec565b600080600060608486031215611fa357600080fd5b8335611fae81611bec565b92506020840135611fbe81611bec565b929592945050506040919091013590565b60008060008060808587031215611fe557600080fd5b8435611ff081611bec565b9350602085013561200081611bec565b925060408501359150606085013561201781611bec565b939692955090935050565b6000806000806080858703121561203857600080fd5b843561204381611bec565b9350602085013561205381611bec565b9250604085013567ffffffffffffffff81111561206f57600080fd5b61207b87828801611c96565b949793965093946060013593505050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000600182016120d857634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b81811015612105576020818501810151868301820152016120e9565b506000602082860101526020601f19601f83011685010191505092915050565b60408152600061213860408301856120df565b90508260208301529392505050565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e0604082015260006121cc60e08301846120df565b949350505050565b6000602082840312156121e657600080fd5b505191905056fea26469706673582212204727525aa9e4b271f790534101e1a04ebf48cfec594e5e617232d4ff5202347364736f6c63430008130033",vq=eb=>eb.length>1;class vW extends u9.lV{constructor(...eb){vq(eb)?super(...eb):super(vH,v$,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(vH)}static connect(eb,em){return new u9.CH(eb,vH,em)}}vW.bytecode=v$,vW.abi=vH;let vZ=[{inputs:[{internalType:"bool",name:"nonUpgradable",type:"bool"},{internalType:"bool",name:"appWhiteListingEnabled",type:"bool"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"uint256",name:"_code",type:"uint256"}],name:"APP_RULE",type:"error"},{inputs:[],name:"HOST_AGREEMENT_ALREADY_REGISTERED",type:"error"},{inputs:[],name:"HOST_AGREEMENT_CALLBACK_IS_NOT_ACTION",type:"error"},{inputs:[],name:"HOST_AGREEMENT_IS_NOT_REGISTERED",type:"error"},{inputs:[],name:"HOST_CALL_AGREEMENT_WITH_CTX_FROM_WRONG_ADDRESS",type:"error"},{inputs:[],name:"HOST_CALL_APP_ACTION_WITH_CTX_FROM_WRONG_ADDRESS",type:"error"},{inputs:[],name:"HOST_CANNOT_DOWNGRADE_TO_NON_UPGRADEABLE",type:"error"},{inputs:[],name:"HOST_INVALID_CONFIG_WORD",type:"error"},{inputs:[],name:"HOST_MAX_256_AGREEMENTS",type:"error"},{inputs:[],name:"HOST_MUST_BE_CONTRACT",type:"error"},{inputs:[],name:"HOST_NEED_MORE_GAS",type:"error"},{inputs:[],name:"HOST_NON_UPGRADEABLE",type:"error"},{inputs:[],name:"HOST_NON_ZERO_LENGTH_PLACEHOLDER_CTX",type:"error"},{inputs:[],name:"HOST_NOT_A_SUPER_APP",type:"error"},{inputs:[],name:"HOST_NO_APP_REGISTRATION_PERMISSION",type:"error"},{inputs:[],name:"HOST_ONLY_GOVERNANCE",type:"error"},{inputs:[],name:"HOST_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"HOST_RECEIVER_IS_NOT_SUPER_APP",type:"error"},{inputs:[],name:"HOST_SENDER_IS_NOT_SUPER_APP",type:"error"},{inputs:[],name:"HOST_SOURCE_APP_NEEDS_HIGHER_APP_LEVEL",type:"error"},{inputs:[],name:"HOST_SUPER_APP_ALREADY_REGISTERED",type:"error"},{inputs:[],name:"HOST_SUPER_APP_IS_JAILED",type:"error"},{inputs:[],name:"HOST_UNKNOWN_BATCH_CALL_OPERATION_TYPE",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"agreementType",type:"bytes32"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"AgreementClassRegistered",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"agreementType",type:"bytes32"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"AgreementClassUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperApp",name:"app",type:"address"}],name:"AppRegistered",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract ISuperfluidGovernance",name:"oldGov",type:"address"},{indexed:!1,internalType:"contract ISuperfluidGovernance",name:"newGov",type:"address"}],name:"GovernanceReplaced",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperApp",name:"app",type:"address"},{indexed:!1,internalType:"uint256",name:"reason",type:"uint256"}],name:"Jail",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract ISuperTokenFactory",name:"newFactory",type:"address"}],name:"SuperTokenFactoryUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"SuperTokenLogicUpdated",type:"event"},{inputs:[],name:"APP_WHITE_LISTING_ENABLED",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"CALLBACK_GAS_LIMIT",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_APP_CALLBACK_LEVEL",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_NUM_AGREEMENTS",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"NON_UPGRADABLE_DEPLOYMENT",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"},{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"addToAgreementClassesBitmap",outputs:[{internalType:"uint256",name:"newBitmap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"targetApp",type:"address"}],name:"allowCompositeApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"int256",name:"appCreditUsedDelta",type:"int256"}],name:"appCallbackPop",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"appCreditGranted",type:"uint256"},{internalType:"int256",name:"appCreditUsed",type:"int256"},{internalType:"contract ISuperfluidToken",name:"appCreditToken",type:"address"}],name:"appCallbackPush",outputs:[{internalType:"bytes",name:"appCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"operationType",type:"uint32"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ISuperfluid.Operation[]",name:"operations",type:"tuple[]"}],name:"batchCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"callAgreement",outputs:[{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAgreementWithContext",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"},{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],name:"callAppAction",outputs:[{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppActionWithContext",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bool",name:"isTermination",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppAfterCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bool",name:"isTermination",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppBeforeCallback",outputs:[{internalType:"bytes",name:"cbdata",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newAdmin",type:"address"}],name:"changeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"n",type:"uint256"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"ctxFunc1",outputs:[{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"ctxFunc2",outputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"int256",name:"appCreditUsedMore",type:"int256"}],name:"ctxUseCredit",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"decodeCtx",outputs:[{components:[{internalType:"uint8",name:"appCallbackLevel",type:"uint8"},{internalType:"uint8",name:"callType",type:"uint8"},{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"address",name:"msgSender",type:"address"},{internalType:"bytes4",name:"agreementSelector",type:"bytes4"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"uint256",name:"appCreditGranted",type:"uint256"},{internalType:"uint256",name:"appCreditWantedDeprecated",type:"uint256"},{internalType:"int256",name:"appCreditUsed",type:"int256"},{internalType:"address",name:"appAddress",type:"address"},{internalType:"contract ISuperfluidToken",name:"appCreditToken",type:"address"}],internalType:"struct ISuperfluid.Context",name:"context",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"operationType",type:"uint32"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ISuperfluid.Operation[]",name:"operations",type:"tuple[]"}],name:"forwardBatchCall",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"getAgreementClass",outputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"appAddr",type:"address"}],name:"getAppCallbackLevel",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"getAppManifest",outputs:[{internalType:"bool",name:"isSuperApp",type:"bool"},{internalType:"bool",name:"isJailed",type:"bool"},{internalType:"uint256",name:"noopMask",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getGovernance",outputs:[{internalType:"contract ISuperfluidGovernance",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getNow",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenFactory",outputs:[{internalType:"contract ISuperTokenFactory",name:"factory",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenFactoryLogic",outputs:[{internalType:"address",name:"logic",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidGovernance",name:"gov",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"}],name:"isAgreementClassListed",outputs:[{internalType:"bool",name:"yes",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"isAgreementTypeListed",outputs:[{internalType:"bool",name:"yes",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"isApp",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"isAppJailed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"contract ISuperApp",name:"targetApp",type:"address"}],name:"isCompositeAppAllowed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"isCtxValid",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"forwarder",type:"address"}],name:"isTrustedForwarder",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"jailApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"reason",type:"uint256"}],name:"jailApp",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"}],name:"mapAgreementClasses",outputs:[{internalType:"contract ISuperAgreement[]",name:"agreementClasses",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClassLogic",type:"address"}],name:"registerAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerAppByFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"configWord",type:"uint256"},{internalType:"string",name:"registrationKey",type:"string"}],name:"registerAppWithKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"},{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"removeFromAgreementClassesBitmap",outputs:[{internalType:"uint256",name:"newBitmap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidGovernance",name:"newGov",type:"address"}],name:"replaceGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"dataWithPlaceHolderCtx",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"testCtxFuncX",outputs:[{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClassLogic",type:"address"}],name:"updateAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperTokenFactory",name:"newFactory",type:"address"}],name:"updateSuperTokenFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newLogicOverride",type:"address"}],name:"updateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"versionRecipient",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"}],vK="0x60c06040523480156200001157600080fd5b5060405162005b3438038062005b3483398101604081905262000034916200005b565b901515608052151560a05262000093565b805180151581146200005657600080fd5b919050565b600080604083850312156200006f57600080fd5b6200007a8362000045565b91506200008a6020840162000045565b90509250929050565b60805160a051615a35620000ff60003960008181610824015281816121300152818161260c015281816128bc0152612b3c015260008181610a6801528181610bcc01528181610eed015281816115260152818161165e015281816117bd0152612a640152615a356000f3fe60806040526004361061036b5760003560e01c80638ceddd7a116101c6578063bd3252c8116100f7578063e8dccb7d11610095578063f37330521161006f578063f373305214610afc578063f539866114610b1c578063f9f522f414610b3c578063fa6e0cfe14610b7957600080fd5b8063e8dccb7d14610a8a578063eb5bf90114610ab9578063f2e55caf14610ae757600080fd5b8063c56a069d116100d1578063c56a069d146109d7578063c60944a614610a04578063c6ae797314610a24578063cd312ec414610a5657600080fd5b8063bd3252c814610982578063bf42873414610997578063c4d66de8146109b757600080fd5b8063b6d200de11610164578063bb84cfa11161013e578063bb84cfa1146108e6578063bbe4fd501461092f578063bced3ddc14610942578063bd1c448b1461096257600080fd5b8063b6d200de14610886578063b724211e146108a6578063ba48b5f8146108c657600080fd5b80639903ad38116101a05780639903ad38146107fd5780639d297e3014610812578063a5dbbbcd14610846578063ad3915c81461086657600080fd5b80638ceddd7a146107805780639378fa13146107ab578063989b0c3e146107dd57600080fd5b806350d75d25116102a05780636ad3ca7d1161023e578063731aed6e11610218578063731aed6e1461070257806374041e0214610720578063768fabb0146107405780638ca484841461076057600080fd5b80636ad3ca7d146106af5780636b4f3335146106c25780637283100c146106e257600080fd5b806357121e0c1161027a57806357121e0c1461062f578063572b6c051461064f57806359a291411461066f578063670e77e31461068f57600080fd5b806350d75d25146105bd57806352d1902d146105d257806354fbc4931461060f57600080fd5b806333d608f11161030d5780633f6c923a116102e75780633f6c923a146105175780634329d293146105445780634695195414610572578063486ff0cd1461059257600080fd5b806333d608f11461048057806339255d5b146104af5780633ca3ad4e146104cf57600080fd5b80631e6d0a84116103495780631e6d0a84146103d25780631e855cf314610408578063289b3c0d14610428578063335118631461046057600080fd5b806306cecba8146103705780630c5650751461039257806315a024e1146103b2575b600080fd5b34801561037c57600080fd5b5061039061038b36600461475d565b610b99565b005b34801561039e57600080fd5b506103906103ad366004614781565b610d70565b3480156103be57600080fd5b506103906103cd36600461475d565b610e00565b3480156103de57600080fd5b506103f26103ed366004614810565b611050565b6040516103ff91906148f6565b60405180910390f35b34801561041457600080fd5b506103f26104233660046149cc565b61129c565b34801561043457600080fd5b506000546201000090046001600160a01b03165b6040516001600160a01b0390911681526020016103ff565b34801561046c57600080fd5b5061039061047b36600461475d565b6112b4565b34801561048c57600080fd5b50610497622dc6c081565b6040516001600160401b0390911681526020016103ff565b3480156104bb57600080fd5b506103f26104ca366004614a1b565b6112c3565b3480156104db57600080fd5b506105076104ea36600461475d565b6001600160a01b0316600090815260046020526040902054151590565b60405190151581526020016103ff565b34801561052357600080fd5b50610537610532366004614a90565b6112d9565b6040516103ff9190614ac4565b34801561055057600080fd5b5061056461055f366004614ba5565b6112ea565b6040516103ff929190614c51565b34801561057e57600080fd5b5061039061058d36600461475d565b6114f3565b34801561059e57600080fd5b50604080518082019091526002815261763160f01b60208201526103f2565b3480156105c957600080fd5b506104486115ec565b3480156105de57600080fd5b507fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba745b6040519081526020016103ff565b34801561061b57600080fd5b5061039061062a36600461475d565b61161b565b34801561063b57600080fd5b5061039061064a36600461475d565b61189e565b34801561065b57600080fd5b5061050761066a36600461475d565b61196c565b34801561067b57600080fd5b506103f261068a366004614c76565b6119f6565b34801561069b57600080fd5b506103906106aa366004614cc1565b611ad8565b6103906106bd366004614cc1565b611aee565b3480156106ce57600080fd5b506105076106dd36600461475d565b611af9565b3480156106ee57600080fd5b506103906106fd36600461475d565b611b1d565b34801561070e57600080fd5b506003546001600160a01b0316610448565b34801561072c57600080fd5b506103f261073b366004614810565b611bc5565b34801561074c57600080fd5b506103f261075b366004614d35565b611d14565b34801561076c57600080fd5b5061050761077b36600461475d565b611eb0565b34801561078c57600080fd5b5061079661010081565b60405163ffffffff90911681526020016103ff565b3480156107b757600080fd5b506107cb6107c636600461475d565b611f75565b60405160ff90911681526020016103ff565b3480156107e957600080fd5b506103f26107f8366004614c76565b611f96565b34801561080957600080fd5b50610390612029565b34801561081e57600080fd5b506105077f000000000000000000000000000000000000000000000000000000000000000081565b34801561085257600080fd5b50610601610861366004614db0565b6120e4565b34801561087257600080fd5b50610390610881366004614dd2565b61212e565b34801561089257600080fd5b506104486108a1366004614dd2565b612182565b3480156108b257600080fd5b506103f26108c1366004614deb565b6121e9565b3480156108d257600080fd5b506103f26108e1366004614e47565b6122aa565b3480156108f257600080fd5b50610507610901366004614781565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561093b57600080fd5b5042610601565b34801561094e57600080fd5b5061060161095d366004614db0565b6125c1565b34801561096e57600080fd5b5061039061097d366004614ec9565b61260a565b34801561098e57600080fd5b50610601600181565b3480156109a357600080fd5b506105076109b2366004614f14565b612680565b3480156109c357600080fd5b506103906109d236600461475d565b6126c1565b3480156109e357600080fd5b506109f76109f2366004614dd2565b6127a5565b6040516103ff9190614f55565b348015610a1057600080fd5b50610390610a1f366004614fa2565b61288f565b348015610a3057600080fd5b50610a44610a3f366004614fce565b61290e565b6040516103ff96959493929190615098565b348015610a6257600080fd5b506105077f000000000000000000000000000000000000000000000000000000000000000081565b348015610a9657600080fd5b50610507610aa5366004614dd2565b600090815260026020526040902054151590565b348015610ac557600080fd5b50610ad9610ad4366004614ec9565b6129fb565b6040516103ff9291906150f1565b348015610af357600080fd5b50610448612a47565b348015610b0857600080fd5b50610390610b17366004614fa2565b612b0f565b348015610b2857600080fd5b506103f2610b3736600461510a565b612c1a565b348015610b4857600080fd5b50610b5c610b5736600461475d565b612d12565b6040805193151584529115156020840152908201526060016103ff565b348015610b8557600080fd5b50610390610b94366004614781565b612d61565b6000546201000090046001600160a01b03163314610bca576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610c09576040516314f72c9f60e01b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6d9190615175565b600081815260026020526040812054919250819003610c9f57604051630e4f4df560e11b815260040160405180910390fd5b60006001610cad81846151a4565b81548110610cbd57610cbd6151b7565b6000918252602090912001546040516311a5465560e21b81526001600160a01b03868116600483015290911691508190634695195490602401600060405180830381600087803b158015610d1057600080fd5b505af1158015610d24573d6000803e3d6000fd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b6000546201000090046001600160a01b03163314610da1576040516362e9152760e11b815260040160405180910390fd5b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f28397090602401600060405180830381600087803b158015610de457600080fd5b505af1158015610df8573d6000803e3d6000fd5b505050505050565b6000546201000090046001600160a01b03163314610e31576040516362e9152760e11b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e959190615175565b60008181526002602052604090205490915015610ec557604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610ee957604051630f85034f60e31b815260040160405180910390fd5b60007f0000000000000000000000000000000000000000000000000000000000000000610fa3576000604051610f1e906146e0565b604051809103906000f080158015610f3a573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef90602401600060405180830381600087803b158015610f8257600080fd5b505af1158015610f96573d6000803e3d6000fd5b5050505080915050610fa6565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055546000838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d19061104390849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b606061105b33611eb0565b6110785760405163619c535960e01b815260040160405180910390fd5b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110ba9250839150612ec49050565b6110c6576110c66151cd565b6000806111408a6000898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612ee492505050565b9150915081156112555761115381613036565b156111ed578080602001905181019061116c9190615228565b935061117784612ec4565b6111e857866111a15760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296506111e892508c91506014905061308a565b61128f565b8661120e5760405163a85ba64f60e01b815260166004820152602401611198565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296506111e892508c91506016905061308a565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b60606112ab338460008561310b565b90505b92915050565b6112c081611b1e61308a565b50565b60606112d133858585613348565b949350505050565b6112e16146ed565b6112ae82613459565b60608083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061132f9250839150612ec49050565b61134f5760405163a85ba64f60e01b815260146004820152602401611198565b8961135981611eb0565b6113765760405163619c535960e01b815260040160405180910390fd5b60006113b787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506112d992505050565b6101208101519091506001600160a01b031633146113e85760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b908190840183828082843760009201919091525050505060a083015261143482613524565b9550600061147a8e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508c91506136589050565b9650905080156114d957858060200190518101906114989190615228565b96506114a387612ec4565b6114af576114af6151cd565b6114b8876112d9565b6001600160a01b038316606082015292506114d283613524565b96506114e2565b6114e286613713565b505050505097509795505050505050565b6000546201000090046001600160a01b03163314611524576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015611563576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115c5919061525c565b156115e35760405163474e764160e01b815260040160405180910390fd5b6112c08161381e565b60006116167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000546201000090046001600160a01b0316331461164c576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b03166117bb577f000000000000000000000000000000000000000000000000000000000000000061173257600060405161168f906146e0565b604051809103906000f0801580156116ab573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef90602401600060405180830381600087803b1580156116f357600080fd5b505af1158015611707573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b0394909416939093179092555061174e9050565b600380546001600160a01b0319166001600160a01b0383161790555b600360009054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561179e57600080fd5b505af11580156117b2573d6000803e3d6000fd5b5050505061185a565b7f0000000000000000000000000000000000000000000000000000000000000000156117fa576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b03838116600483015290911690634695195490602401600060405180830381600087803b15801561184157600080fd5b505af1158015611855573d6000803e3d6000fd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b336000818152600460205260409020546118cb576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b03821660009081526004602052604090205461190157604051634b5518af60e11b815260040160405180910390fd5b61190a82611f75565b60ff1661191682611f75565b60ff161161193757604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081166000908152600560209081526040808320949093168252929092529020805460ff19166001179055565b600080546201000090046001600160a01b03166380f70cba308361198f86613a58565b6040518463ffffffff1660e01b81526004016119ad93929190615279565b602060405180830381865afa1580156119ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ee9190615175565b151592915050565b6060611a0133611eb0565b611a1e5760405163619c535960e01b815260040160405180910390fd5b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a609250839150612ec49050565b611a6c57611a6c6151cd565b6000611aad86868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506112d992505050565b9050838161010001818151611ac2919061529d565b905250611ace81613524565b9695505050505050565b611aea611ae3613ae0565b8383613b48565b5050565b611aea338383613b48565b6001600160a01b0381166000908152600460205260408120546180001615156112ae565b6000546201000090046001600160a01b03163314611b4e576040516362e9152760e11b815260040160405180910390fd5b600054604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a1600080546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6060611bd033611eb0565b611bed5760405163619c535960e01b815260040160405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611c2f9250839150612ec49050565b611c3b57611c3b6151cd565b600080611cb58a6001898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612ee492505050565b91509150811561128f57611cc881613036565b15611ce85780806020019051810190611ce19190615228565b935061128f565b86611d095760405163a85ba64f60e01b815260166004820152602401611198565b61128f8a601661308a565b6060611d1f33611eb0565b611d3c5760405163619c535960e01b815260040160405180910390fd5b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d7e9250839150612ec49050565b611d8a57611d8a6151cd565b6000611dcb89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506112d992505050565b9050611df281606001516001600160a01b0316600090815260046020526040902054151590565b8015611e0657506001816000015160ff1610155b15611e595760608101516001600160a01b039081166000908152600560209081526040808320938b168352929052205460ff16611e595760405163a85ba64f60e01b8152601e6004820152602401611198565b805181611e65826152c5565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b038088166101208301528416610140820152611ea381613524565b9998505050505050505050565b600080826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ef1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f159190615175565b60008181526002602052604090205490915080158015906112d157506001600160a01b0384166001611f4781846151a4565b81548110611f5757611f576151b7565b6000918252602090912001546001600160a01b031614949350505050565b6001600160a01b03811660009081526004602052604081205460ff166112ae565b6060611fa133611eb0565b611fbe5760405163619c535960e01b815260040160405180910390fd5b6000611fff85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506112d992505050565b9050828161010001818151612014919061529d565b90525061202081613524565b95945050505050565b600054610100900460ff16158080156120495750600054600160ff909116105b806120635750303b158015612063575060005460ff166001145b61207f5760405162461bcd60e51b8152600401611198906152e4565b6000805460ff1916600117905580156120a2576000805461ff0019166101001790555b80156112c0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611893565b60008181526002602052604081205480820361211357604051630e4f4df560e11b815260040160405180910390fd5b61211e6001826151a4565b6001901b19841691505092915050565b7f00000000000000000000000000000000000000000000000000000000000000001561217857612178604051806040016040528060028152602001616b3160f01b815250326142ec565b6112c03382614395565b6000818152600260205260408120548082036121b157604051630e4f4df560e11b815260040160405180910390fd5b60016121bd81836151a4565b815481106121cd576121cd6151b7565b6000918252602090912001546001600160a01b03169392505050565b60606121f433611eb0565b6122115760405163619c535960e01b815260040160405180910390fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122539250839150612ec49050565b61225f5761225f6151cd565b612269848461308a565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929998505050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122ee9250839150612ec49050565b61230e5760405163a85ba64f60e01b815260146004820152602401611198565b6001600160a01b03871660009081526004602052604081205488918190036123495760405163163cbe4360e01b815260040160405180910390fd5b61800081161561236b57604051628e12d960e21b815260040160405180910390fd5b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092506123ac9150839050614464565b90506001600160e01b031981166330d9c91560e01b14806123dd57506001600160e01b0319811663d86ed3e560e01b145b806123f857506001600160e01b03198116630221347d60e61b145b8061241357506001600160e01b0319811663230dbd2960e01b145b8061242e57506001600160e01b03198116635f9e7d7760e01b145b8061244957506001600160e01b031981166353c11f9960e01b145b15612467576040516377a14afb60e11b815260040160405180910390fd5b60006124a889898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506112d992505050565b6101208101519091506001600160a01b031633146124d9576040516311cfdef560e21b815260040160405180910390fd5b606081018051339091526124ec82613524565b97506000806125338f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508f91506136589050565b9150915081156125a657808060200190518101906125519190615228565b995061255c8a612ec4565b61257c5760405163a85ba64f60e01b815260146004820152602401611198565b6125858a6112d9565b6001600160a01b0384166060820152935061259f84613524565b99506125af565b6125af81613713565b50505050505050505095945050505050565b6000818152600260205260408120548082036125f057604051630e4f4df560e11b815260040160405180910390fd5b6125fb6001826151a4565b6001901b841791505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156126715761267182828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152503292506142ec915050565b61267b3384614395565b505050565b60006112ab83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612ec492505050565b600054610100900460ff16158080156126e15750600054600160ff909116105b806126fb5750303b1580156126fb575060005460ff166001145b6127175760405162461bcd60e51b8152600401611198906152e4565b6000805460ff19166001179055801561273a576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015611aea576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60606000806001805490506001600160401b038111156127c7576127c7614909565b6040519080825280602002602001820160405280156127f0578160200160208202803683370190505b50925060009050600091505b600154821015612887576001821b8416156128775760018281548110612824576128246151b7565b6000918252602090912001546001600160a01b0316838261284481615332565b935081518110612856576128566151b7565b60200260200101906001600160a01b031690816001600160a01b0316815250505b61288082615332565b91506127fc565b825250919050565b816001600160a01b03163b6000036128ba5760405163353dacc360e21b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000001561290457612904604051806040016040528060028152602001616b3160f01b815250336142ec565b611aea8282614395565b600080600060608060608e8e8e8e8e8e8e8e8e85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f890181900481028201810190925287815293995096975094959394509192909150859085908190840183828082843760009201919091525050604080516020601f87018190048102820181019092528581529397509495509293919250849184915081908401838280828437600092019190915250999f50979d50959b50939950919750919550505050505099509950995099509950999350505050565b6000606084848481818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b929a509198505050505050505050565b6003546000906001600160a01b0316612a6257612a626151cd565b7f000000000000000000000000000000000000000000000000000000000000000015612a9857506003546001600160a01b031690565b600360009054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa158015612aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611616919061534b565b816001600160a01b03163b600003612b3a5760405163353dacc360e21b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015612904576000612b6b336144c0565b6000805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba90612baa90309085908790600401615279565b602060405180830381865afa158015612bc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612beb9190615175565b600114905080612c0e57604051630b56455f60e41b815260040160405180910390fd5b5050611aea8282614395565b60606000612c9186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a01819004810282018101909252888152925088915087908190840183828082843760009201919091525061453a92505050565b90506000306001600160a01b031682604051612cad9190615368565b600060405180830381855afa9150503d8060008114612ce8576040519150601f19603f3d011682016040523d82523d6000602084013e612ced565b606091505b50935090508015612cff5750506112d1565b612d0883613713565b5050949350505050565b6001600160a01b038116600090815260046020908152604080832081519283019091525480825215801592918291612d5957805161800081161515935064ff000000001691505b509193909250565b6000546201000090046001600160a01b03163314612d92576040516362e9152760e11b815260040160405180910390fd5b60006001600160a01b038216612e1e57600360009054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612df5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e19919061534b565b612e20565b815b6040516311a5465560e21b81526001600160a01b03808316600483015291925090841690634695195490602401600060405180830381600087803b158015612e6757600080fd5b505af1158015612e7b573d6000803e3d6000fd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd3915060200160405180910390a2505050565b600081516000141580156112ae5750600654825160208401201492915050565b600060606001600160a01b038716612efe57612efe6151cd565b612f08848461453a565b9350622dc6c060005a90508715612f7e57886001600160a01b03168287604051612f329190615368565b6000604051808303818686fa925050503d8060008114612f6e576040519150601f19603f3d011682016040523d82523d6000602084013e612f73565b606091505b509094509250612fe1565b886001600160a01b03168287604051612f979190615368565b60006040518083038160008787f1925050503d8060008114612fd5576040519150601f19603f3d011682016040523d82523d6000602084013e612fda565b606091505b5090945092505b8361302a57612fef816145f1565b61301157866130065761300183613713565b61302a565b61300189600a61308a565b604051636a7aea4b60e11b815260040160405180910390fd5b50509550959350505050565b600060408251101561304a57506000919050565b602082810151906000908214613064575060009392505050565b50604083015161307381614607565b61307e906040615384565b84511492505050919050565b6001600160a01b038216600090815260046020526040812054618000169003611aea576001600160a01b038216600081815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b906130ff9084815260200190565b60405180910390a25050565b600654606090156131325760405163a85ba64f60e01b815260156004820152602401611198565b6001600160a01b038416600090815260046020526040812054859181900361316d5760405163163cbe4360e01b815260040160405180910390fd5b61800081161561318f57604051628e12d960e21b815260040160405180910390fd5b83600061319b82614464565b90506001600160e01b031981166330d9c91560e01b14806131cc57506001600160e01b0319811663d86ed3e560e01b145b806131e757506001600160e01b03198116630221347d60e61b145b8061320257506001600160e01b0319811663230dbd2960e01b145b8061321d57506001600160e01b03198116635f9e7d7760e01b145b8061323857506001600160e01b031981166353c11f9960e01b145b15613256576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182526000808252600260208084019190915242838501526001600160a01b03808e16606085015260808401839052845191820190945281815260a083015260c0820181905260e082018190526101008201819052918a1661012082015261014081018290526132cd90613524565b905060006132dd8a898b85613658565b97509050801561332b57868060200190518101906132fb9190615228565b915061330682612ec4565b6133265760405163a85ba64f60e01b815260146004820152602401611198565b613334565b61333487613713565b505060006006555092979650505050505050565b6006546060901561336f5760405163a85ba64f60e01b815260156004820152602401611198565b8361337981611eb0565b6133965760405163619c535960e01b815260040160405180910390fd5b60006133a185614464565b60408051610160810182526000808252600160208301529293506134249181014281526020018a6001600160a01b03168152602001846001600160e01b031916815260200187815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815250613524565b905060006134358888600085613658565b95509050806134475761344785613713565b50506000600655509095945050505050565b6134616146ed565b606080838060200190518101906134789190615397565b8151919350915060009061349590840160209081019085016153f0565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff90911685528251600092506134e6919084018101908401615474565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b60606001826000015160ff1611156135525760405163a85ba64f60e01b815260286004820152602401611198565b815160208084015160009260ff1664ff000000009190921b161790506000608061357f8560e00151614640565b6001600160801b0316901b6135978560c00151614640565b6001600160801b0316179050818460400151856060015186608001518760a001516040516020016135cc9594939291906154bf565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f19818403018152908290526136369291602001614c51565b60408051601f1981840301815291905280516020820120600655949350505050565b600060606001600160a01b038616613672576136726151cd565b61367c858461453a565b9450856001600160a01b031684866040516136979190615368565b60006040518083038185875af1925050503d80600081146136d4576040519150601f19603f3d011682016040523d82523d6000602084013e6136d9565b606091505b509092509050811561370a57805160000361370a5760405163a85ba64f60e01b815260166004820152602401611198565b94509492505050565b6004815110156137655760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a207461726765742072657665727428290000000000006044820152606401611198565b602081015163b1b7848f60e01b6001600160e01b03198216016138155760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b8152919291611198918491016148f6565b81518060208401fd5b60006138487f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b03160361389e5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401611198565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156138dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139009190615175565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba741461397a5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401611198565b6001600160a01b03811630036139d25760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401611198565b6139fa817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b038416602083015201611893565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b600060183610801590613af75750613af73361196c565b613b3b5760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b6044820152606401611198565b5060131936013560601c90565b6000805b828110156142a5576000848483818110613b6857613b686151b7565b9050602002810190613b7a919061550b565b613b88906020810190615521565b905060001963ffffffff821601613c7c57600080868685818110613bae57613bae6151b7565b9050602002810190613bc0919061550b565b613bce906040810190615547565b810190613bdb9190614fa2565b91509150868685818110613bf157613bf16151b7565b9050602002810190613c03919061550b565b613c1490604081019060200161475d565b6001600160a01b03166362aa52878984846040518463ffffffff1660e01b8152600401613c4393929190615279565b600060405180830381600087803b158015613c5d57600080fd5b505af1158015613c71573d6000803e3d6000fd5b505050505050614294565b60011963ffffffff821601613d87576000806000878786818110613ca257613ca26151b7565b9050602002810190613cb4919061550b565b613cc2906040810190615547565b810190613ccf919061558d565b925092509250878786818110613ce757613ce76151b7565b9050602002810190613cf9919061550b565b613d0a90604081019060200161475d565b604051630b682aeb60e11b81526001600160a01b038b81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b600060405180830381600087803b158015613d6757600080fd5b505af1158015613d7b573d6000803e3d6000fd5b50505050505050614294565b60021963ffffffff821601613e46576000806000878786818110613dad57613dad6151b7565b9050602002810190613dbf919061550b565b613dcd906040810190615547565b810190613dda91906155ce565b925092509250878786818110613df257613df26151b7565b9050602002810190613e04919061550b565b613e1590604081019060200161475d565b6001600160a01b031663ca0c1e7f8a8585856040518563ffffffff1660e01b8152600401613d4d949392919061561c565b60031963ffffffff821601613eff57600080868685818110613e6a57613e6a6151b7565b9050602002810190613e7c919061550b565b613e8a906040810190615547565b810190613e979190614fa2565b91509150868685818110613ead57613ead6151b7565b9050602002810190613ebf919061550b565b613ed090604081019060200161475d565b6001600160a01b0316634b2763b38984846040518463ffffffff1660e01b8152600401613c4393929190615279565b60041963ffffffff821601613fb857600080868685818110613f2357613f236151b7565b9050602002810190613f35919061550b565b613f43906040810190615547565b810190613f509190614fa2565b91509150868685818110613f6657613f666151b7565b9050602002810190613f78919061550b565b613f8990604081019060200161475d565b6001600160a01b031663c780fd828984846040518463ffffffff1660e01b8152600401613c4393929190615279565b60641963ffffffff8216016140ad57848483818110613fd957613fd96151b7565b9050602002810190613feb919061550b565b613ffc90604081019060200161475d565b6001600160a01b031663ca7894648787878681811061401d5761401d6151b7565b905060200281019061402f919061550b565b61403d906040810190615547565b81019061404a9190614dd2565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561409057600080fd5b505af11580156140a4573d6000803e3d6000fd5b50505050614294565b60651963ffffffff821601614112578484838181106140ce576140ce6151b7565b90506020028101906140e0919061550b565b6140f190604081019060200161475d565b6001600160a01b031663245887fc8787878681811061401d5761401d6151b7565b60c81963ffffffff8216016141af57600080868685818110614136576141366151b7565b9050602002810190614148919061550b565b614156906040810190615547565b810190614163919061564f565b915091506141a78888888781811061417d5761417d6151b7565b905060200281019061418f919061550b565b6141a090604081019060200161475d565b8484613348565b505050614294565b60c91963ffffffff82160161427b57614271868686858181106141d4576141d46151b7565b90506020028101906141e6919061550b565b6141f790604081019060200161475d565b856142025734614205565b60005b888887818110614217576142176151b7565b9050602002810190614229919061550b565b614237906040810190615547565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061310b92505050565b5060019250614294565b60405163b477011560e01b815260040160405180910390fd5b5061429e81615332565b9050613b4c565b5034158015906142b3575080155b156142e65760405133903480156108fc02916000818181858888f193505050501580156142e4573d6000803e3d6000fd5b505b50505050565b60006142f882846146ad565b6000805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba916143359130918790600401615279565b602060405180830381865afa158015614352573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143769190615175565b101561267b57604051630b56455f60e41b815260040160405180910390fd5b64ff000080ff1981161515806143ac575060ff8116155b806143ba5750618000811615155b156143d857604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b0382166000908152600460205260409020541561440f576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528382526001600160a01b038516600081815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a25050565b60006004825110156144b85760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c4461746100000000006044820152606401611198565b506020015190565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c001613ac3565b815180830151606091908015614563576040516367e9985b60e01b815260040160405180910390fd5b50601f198101845282518490848161457a81614607565b61458491906151a4565b6001600160401b0381111561459b5761459b614909565b6040519080825280601f01601f1916602001820160405280156145c5576020820181803683370190505b506040516020016145d994939291906156a8565b60405160208183030381529060405291505092915050565b60006145fe603f836156f7565b5a111592915050565b60008082601f161161461a57600061461d565b60015b60ff1661462b6020846156f7565b6146359190615384565b6112ae906020615719565b60006001600160801b038211156146a95760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401611198565b5090565b600082826040516020016146c2929190615730565b60405160208183030381529060405280519060200120905092915050565b61024a806157b683390190565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b03811681146112c057600080fd5b60006020828403121561476f57600080fd5b813561477a81614748565b9392505050565b6000806040838503121561479457600080fd5b823561479f81614748565b915060208301356147af81614748565b809150509250929050565b60008083601f8401126147cc57600080fd5b5081356001600160401b038111156147e357600080fd5b6020830191508360208285010111156147fb57600080fd5b9250929050565b80151581146112c057600080fd5b6000806000806000806080878903121561482957600080fd5b863561483481614748565b955060208701356001600160401b038082111561485057600080fd5b61485c8a838b016147ba565b90975095506040890135915061487182614802565b9093506060880135908082111561488757600080fd5b5061489489828a016147ba565b979a9699509497509295939492505050565b60005b838110156148c15781810151838201526020016148a9565b50506000910152565b600081518084526148e28160208601602086016148a6565b601f01601f19169290920160200192915050565b6020815260006112ab60208301846148ca565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561494757614947614909565b604052919050565b60006001600160401b0382111561496857614968614909565b50601f01601f191660200190565b600082601f83011261498757600080fd5b813561499a6149958261494f565b61491f565b8181528460208386010111156149af57600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156149df57600080fd5b82356149ea81614748565b915060208301356001600160401b03811115614a0557600080fd5b614a1185828601614976565b9150509250929050565b600080600060608486031215614a3057600080fd5b8335614a3b81614748565b925060208401356001600160401b0380821115614a5757600080fd5b614a6387838801614976565b93506040860135915080821115614a7957600080fd5b50614a8686828701614976565b9150509250925092565b600060208284031215614aa257600080fd5b81356001600160401b03811115614ab857600080fd5b6112d184828501614976565b60208152614ad860208201835160ff169052565b60006020830151614aee604084018260ff169052565b50604083015160608301526060830151614b1360808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a08301516101608060c0850152614b466101808501836148ca565b915060c085015160e085015260e0850151610100818187015280870151915050610120818187015280870151915050610140614b8c818701836001600160a01b03169052565b909501516001600160a01b031693019290925250919050565b60008060008060008060006080888a031215614bc057600080fd5b8735614bcb81614748565b965060208801356001600160401b0380821115614be757600080fd5b614bf38b838c016147ba565b909850965060408a0135915080821115614c0c57600080fd5b614c188b838c016147ba565b909650945060608a0135915080821115614c3157600080fd5b50614c3e8a828b016147ba565b989b979a50959850939692959293505050565b604081526000614c6460408301856148ca565b828103602084015261202081856148ca565b600080600060408486031215614c8b57600080fd5b83356001600160401b03811115614ca157600080fd5b614cad868287016147ba565b909790965060209590950135949350505050565b60008060208385031215614cd457600080fd5b82356001600160401b0380821115614ceb57600080fd5b818501915085601f830112614cff57600080fd5b813581811115614d0e57600080fd5b8660208260051b8501011115614d2357600080fd5b60209290920196919550909350505050565b60008060008060008060a08789031215614d4e57600080fd5b86356001600160401b03811115614d6457600080fd5b614d7089828a016147ba565b9097509550506020870135614d8481614748565b935060408701359250606087013591506080870135614da281614748565b809150509295509295509295565b60008060408385031215614dc357600080fd5b50508035926020909101359150565b600060208284031215614de457600080fd5b5035919050565b60008060008060608587031215614e0157600080fd5b84356001600160401b03811115614e1757600080fd5b614e23878288016147ba565b9095509350506020850135614e3781614748565b9396929550929360400135925050565b600080600080600060608688031215614e5f57600080fd5b8535614e6a81614748565b945060208601356001600160401b0380821115614e8657600080fd5b614e9289838a016147ba565b90965094506040880135915080821115614eab57600080fd5b50614eb8888289016147ba565b969995985093965092949392505050565b600080600060408486031215614ede57600080fd5b8335925060208401356001600160401b03811115614efb57600080fd5b614f07868287016147ba565b9497909650939450505050565b60008060208385031215614f2757600080fd5b82356001600160401b03811115614f3d57600080fd5b614f49858286016147ba565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b81811015614f965783516001600160a01b031683529284019291840191600101614f71565b50909695505050505050565b60008060408385031215614fb557600080fd5b8235614fc081614748565b946020939093013593505050565b600080600080600080600080600060c08a8c031215614fec57600080fd5b8935614ff781614748565b985060208a013561500781614748565b975060408a0135965060608a01356001600160401b038082111561502a57600080fd5b6150368d838e016147ba565b909850965060808c013591508082111561504f57600080fd5b61505b8d838e016147ba565b909650945060a08c013591508082111561507457600080fd5b506150818c828d016147ba565b915080935050809150509295985092959850929598565b6001600160a01b038781168252861660208201526040810185905260c0606082018190526000906150cb908301866148ca565b82810360808401526150dd81866148ca565b905082810360a0840152611ea381856148ca565b8281526040602082015260006112d160408301846148ca565b6000806000806040858703121561512057600080fd5b84356001600160401b038082111561513757600080fd5b615143888389016147ba565b9096509450602087013591508082111561515c57600080fd5b50615169878288016147ba565b95989497509550505050565b60006020828403121561518757600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156112ae576112ae61518e565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b600082601f8301126151f457600080fd5b81516152026149958261494f565b81815284602083860101111561521757600080fd5b6112d18260208301602087016148a6565b60006020828403121561523a57600080fd5b81516001600160401b0381111561525057600080fd5b6112d1848285016151e3565b60006020828403121561526e57600080fd5b815161477a81614802565b6001600160a01b039384168152919092166020820152604081019190915260600190565b80820182811260008312801582168215821617156152bd576152bd61518e565b505092915050565b600060ff821660ff81036152db576152db61518e565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000600182016153445761534461518e565b5060010190565b60006020828403121561535d57600080fd5b815161477a81614748565b6000825161537a8184602087016148a6565b9190910192915050565b808201808211156112ae576112ae61518e565b600080604083850312156153aa57600080fd5b82516001600160401b03808211156153c157600080fd5b6153cd868387016151e3565b935060208501519150808211156153e357600080fd5b50614a11858286016151e3565b600080600080600060a0868803121561540857600080fd5b8551945060208601519350604086015161542181614748565b60608701519093506001600160e01b03198116811461543f57600080fd5b60808701519092506001600160401b0381111561545b57600080fd5b615467888289016151e3565b9150509295509295909350565b6000806000806080858703121561548a57600080fd5b845193506020850151925060408501516154a381614748565b60608601519092506154b481614748565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a060808201819052600090615500908301846148ca565b979650505050505050565b60008235605e1983360301811261537a57600080fd5b60006020828403121561553357600080fd5b813563ffffffff8116811461477a57600080fd5b6000808335601e1984360301811261555e57600080fd5b8301803591506001600160401b0382111561557857600080fd5b6020019150368190038213156147fb57600080fd5b6000806000606084860312156155a257600080fd5b83356155ad81614748565b925060208401356155bd81614748565b929592945050506040919091013590565b6000806000606084860312156155e357600080fd5b83356155ee81614748565b92506020840135915060408401356001600160401b0381111561561057600080fd5b614a8686828701614976565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611ace908301846148ca565b6000806040838503121561566257600080fd5b82356001600160401b038082111561567957600080fd5b61568586838701614976565b9350602085013591508082111561569b57600080fd5b50614a1185828601614976565b6000855160206156bb8285838b016148a6565b818401915086825285516156d481838501848a016148a6565b85519201916156e8818385018489016148a6565b91909101019695505050505050565b60008261571457634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176112ae576112ae61518e565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e0604082015260006112d160e08301846148ca56fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033a26469706673582212203faeef86de72d15e4348a83a911e01bcb17e2a9b6365e46d4775e9558b51f12664736f6c63430008130033",vG=eb=>eb.length>1;class vJ extends u9.lV{constructor(...eb){vG(eb)?super(...eb):super(vZ,vK,eb[0])}deploy(eb,em,ew){return super.deploy(eb,em,ew||{})}getDeployTransaction(eb,em,ew){return super.getDeployTransaction(eb,em,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(vZ)}static connect(eb,em){return new u9.CH(eb,vZ,em)}}vJ.bytecode=vK,vJ.abi=vZ;let vQ=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"uint256",name:"_code",type:"uint256"}],name:"APP_RULE",type:"error"},{inputs:[],name:"HOST_AGREEMENT_ALREADY_REGISTERED",type:"error"},{inputs:[],name:"HOST_AGREEMENT_CALLBACK_IS_NOT_ACTION",type:"error"},{inputs:[],name:"HOST_AGREEMENT_IS_NOT_REGISTERED",type:"error"},{inputs:[],name:"HOST_CALL_AGREEMENT_WITH_CTX_FROM_WRONG_ADDRESS",type:"error"},{inputs:[],name:"HOST_CALL_APP_ACTION_WITH_CTX_FROM_WRONG_ADDRESS",type:"error"},{inputs:[],name:"HOST_CANNOT_DOWNGRADE_TO_NON_UPGRADEABLE",type:"error"},{inputs:[],name:"HOST_INVALID_CONFIG_WORD",type:"error"},{inputs:[],name:"HOST_MAX_256_AGREEMENTS",type:"error"},{inputs:[],name:"HOST_MUST_BE_CONTRACT",type:"error"},{inputs:[],name:"HOST_NEED_MORE_GAS",type:"error"},{inputs:[],name:"HOST_NON_UPGRADEABLE",type:"error"},{inputs:[],name:"HOST_NON_ZERO_LENGTH_PLACEHOLDER_CTX",type:"error"},{inputs:[],name:"HOST_NOT_A_SUPER_APP",type:"error"},{inputs:[],name:"HOST_NO_APP_REGISTRATION_PERMISSION",type:"error"},{inputs:[],name:"HOST_ONLY_GOVERNANCE",type:"error"},{inputs:[],name:"HOST_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"HOST_RECEIVER_IS_NOT_SUPER_APP",type:"error"},{inputs:[],name:"HOST_SENDER_IS_NOT_SUPER_APP",type:"error"},{inputs:[],name:"HOST_SOURCE_APP_NEEDS_HIGHER_APP_LEVEL",type:"error"},{inputs:[],name:"HOST_SUPER_APP_ALREADY_REGISTERED",type:"error"},{inputs:[],name:"HOST_SUPER_APP_IS_JAILED",type:"error"},{inputs:[],name:"HOST_UNKNOWN_BATCH_CALL_OPERATION_TYPE",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"agreementType",type:"bytes32"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"AgreementClassRegistered",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"agreementType",type:"bytes32"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"AgreementClassUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperApp",name:"app",type:"address"}],name:"AppRegistered",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract ISuperfluidGovernance",name:"oldGov",type:"address"},{indexed:!1,internalType:"contract ISuperfluidGovernance",name:"newGov",type:"address"}],name:"GovernanceReplaced",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperApp",name:"app",type:"address"},{indexed:!1,internalType:"uint256",name:"reason",type:"uint256"}],name:"Jail",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract ISuperTokenFactory",name:"newFactory",type:"address"}],name:"SuperTokenFactoryUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"SuperTokenLogicUpdated",type:"event"},{inputs:[],name:"APP_WHITE_LISTING_ENABLED",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"CALLBACK_GAS_LIMIT",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_APP_CALLBACK_LEVEL",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_NUM_AGREEMENTS",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"NON_UPGRADABLE_DEPLOYMENT",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"},{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"addToAgreementClassesBitmap",outputs:[{internalType:"uint256",name:"newBitmap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"targetApp",type:"address"}],name:"allowCompositeApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"int256",name:"appCreditUsedDelta",type:"int256"}],name:"appCallbackPop",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"appCreditGranted",type:"uint256"},{internalType:"int256",name:"appCreditUsed",type:"int256"},{internalType:"contract ISuperfluidToken",name:"appCreditToken",type:"address"}],name:"appCallbackPush",outputs:[{internalType:"bytes",name:"appCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"operationType",type:"uint32"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ISuperfluid.Operation[]",name:"operations",type:"tuple[]"}],name:"batchCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"callAgreement",outputs:[{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAgreementWithContext",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"},{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],name:"callAppAction",outputs:[{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppActionWithContext",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bool",name:"isTermination",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppAfterCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bool",name:"isTermination",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppBeforeCallback",outputs:[{internalType:"bytes",name:"cbdata",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newAdmin",type:"address"}],name:"changeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"int256",name:"appCreditUsedMore",type:"int256"}],name:"ctxUseCredit",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"decodeCtx",outputs:[{components:[{internalType:"uint8",name:"appCallbackLevel",type:"uint8"},{internalType:"uint8",name:"callType",type:"uint8"},{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"address",name:"msgSender",type:"address"},{internalType:"bytes4",name:"agreementSelector",type:"bytes4"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"uint256",name:"appCreditGranted",type:"uint256"},{internalType:"uint256",name:"appCreditWantedDeprecated",type:"uint256"},{internalType:"int256",name:"appCreditUsed",type:"int256"},{internalType:"address",name:"appAddress",type:"address"},{internalType:"contract ISuperfluidToken",name:"appCreditToken",type:"address"}],internalType:"struct ISuperfluid.Context",name:"context",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"operationType",type:"uint32"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ISuperfluid.Operation[]",name:"operations",type:"tuple[]"}],name:"forwardBatchCall",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"getAgreementClass",outputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"appAddr",type:"address"}],name:"getAppCallbackLevel",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"getAppManifest",outputs:[{internalType:"bool",name:"isSuperApp",type:"bool"},{internalType:"bool",name:"isJailed",type:"bool"},{internalType:"uint256",name:"noopMask",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getGovernance",outputs:[{internalType:"contract ISuperfluidGovernance",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getNow",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenFactory",outputs:[{internalType:"contract ISuperTokenFactory",name:"factory",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenFactoryLogic",outputs:[{internalType:"address",name:"logic",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidGovernance",name:"gov",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"}],name:"isAgreementClassListed",outputs:[{internalType:"bool",name:"yes",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"isAgreementTypeListed",outputs:[{internalType:"bool",name:"yes",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"isApp",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"isAppJailed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"contract ISuperApp",name:"targetApp",type:"address"}],name:"isCompositeAppAllowed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"isCtxValid",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"forwarder",type:"address"}],name:"isTrustedForwarder",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"reason",type:"uint256"}],name:"jailApp",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"}],name:"mapAgreementClasses",outputs:[{internalType:"contract ISuperAgreement[]",name:"agreementClasses",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClassLogic",type:"address"}],name:"registerAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerAppByFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"configWord",type:"uint256"},{internalType:"string",name:"registrationKey",type:"string"}],name:"registerAppWithKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"},{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"removeFromAgreementClassesBitmap",outputs:[{internalType:"uint256",name:"newBitmap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidGovernance",name:"newGov",type:"address"}],name:"replaceGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClassLogic",type:"address"}],name:"updateAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperTokenFactory",name:"newFactory",type:"address"}],name:"updateSuperTokenFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newLogicOverride",type:"address"}],name:"updateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"validateContextStructLayout",outputs:[],stateMutability:"pure",type:"function"},{inputs:[],name:"validateStorageLayout",outputs:[],stateMutability:"pure",type:"function"},{inputs:[],name:"versionRecipient",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"}],v6="0x60c060405234801561001057600080fd5b506000608081905260a0819052806157156100828239600081816107ce0152818161206f0152818161254b015281816127fb01526129420152600081816109e001528181610b1701528181610e38015281816114620152818161159d015281816116fc015261286a01526157156000f3fe6080604052600436106103355760003560e01c80638ceddd7a116101ab578063bd1c448b116100f7578063e8dccb7d11610095578063f99a38c41161006f578063f99a38c414610a66578063f9f522f414610a72578063fa6e0cfe14610aaf578063fbdb0ee214610acf57600080fd5b8063e8dccb7d14610a02578063f2e55caf14610a31578063f373305214610a4657600080fd5b8063c4d66de8116100d1578063c4d66de814610961578063c56a069d14610981578063c60944a6146109ae578063cd312ec4146109ce57600080fd5b8063bd1c448b1461090c578063bd3252c81461092c578063bf4287341461094157600080fd5b8063ad3915c811610164578063ba48b5f81161013e578063ba48b5f814610870578063bb84cfa114610890578063bbe4fd50146108d9578063bced3ddc146108ec57600080fd5b8063ad3915c814610810578063b6d200de14610830578063b724211e1461085057600080fd5b80638ceddd7a1461072a5780639378fa1314610755578063989b0c3e146107875780639903ad38146107a75780639d297e30146107bc578063a5dbbbcd146107f057600080fd5b806350d75d25116102855780636ad3ca7d11610223578063731aed6e116101fd578063731aed6e146106ac57806374041e02146106ca578063768fabb0146106ea5780638ca484841461070a57600080fd5b80636ad3ca7d146106595780636b4f33351461066c5780637283100c1461068c57600080fd5b806357121e0c1161025f57806357121e0c146105d9578063572b6c05146105f957806359a2914114610619578063670e77e31461063957600080fd5b806350d75d251461056757806352d1902d1461057c57806354fbc493146105b957600080fd5b806333d608f1116102f25780633f6c923a116102cc5780633f6c923a146104c15780634329d293146104ee578063469519541461051c578063486ff0cd1461053c57600080fd5b806333d608f11461042a57806339255d5b146104595780633ca3ad4e1461047957600080fd5b806306cecba81461033a5780630c5650751461035c57806315a024e11461037c5780631e6d0a841461039c5780631e855cf3146103d2578063289b3c0d146103f2575b600080fd5b34801561034657600080fd5b5061035a6103553660046145e4565b610ae4565b005b34801561036857600080fd5b5061035a610377366004614608565b610cbb565b34801561038857600080fd5b5061035a6103973660046145e4565b610d4b565b3480156103a857600080fd5b506103bc6103b7366004614697565b610f9b565b6040516103c9919061477d565b60405180910390f35b3480156103de57600080fd5b506103bc6103ed366004614853565b6111e7565b3480156103fe57600080fd5b506000546201000090046001600160a01b03165b6040516001600160a01b0390911681526020016103c9565b34801561043657600080fd5b50610441622dc6c081565b6040516001600160401b0390911681526020016103c9565b34801561046557600080fd5b506103bc6104743660046148a2565b6111ff565b34801561048557600080fd5b506104b16104943660046145e4565b6001600160a01b0316600090815260046020526040902054151590565b60405190151581526020016103c9565b3480156104cd57600080fd5b506104e16104dc366004614917565b611215565b6040516103c9919061494b565b3480156104fa57600080fd5b5061050e610509366004614a2c565b611226565b6040516103c9929190614ad8565b34801561052857600080fd5b5061035a6105373660046145e4565b61142f565b34801561054857600080fd5b50604080518082019091526002815261763160f01b60208201526103bc565b34801561057357600080fd5b5061041261152b565b34801561058857600080fd5b507fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba745b6040519081526020016103c9565b3480156105c557600080fd5b5061035a6105d43660046145e4565b61155a565b3480156105e557600080fd5b5061035a6105f43660046145e4565b6117dd565b34801561060557600080fd5b506104b16106143660046145e4565b6118ab565b34801561062557600080fd5b506103bc610634366004614afd565b611935565b34801561064557600080fd5b5061035a610654366004614b48565b611a17565b61035a610667366004614b48565b611a2d565b34801561067857600080fd5b506104b16106873660046145e4565b611a38565b34801561069857600080fd5b5061035a6106a73660046145e4565b611a5c565b3480156106b857600080fd5b506003546001600160a01b0316610412565b3480156106d657600080fd5b506103bc6106e5366004614697565b611b04565b3480156106f657600080fd5b506103bc610705366004614bbc565b611c53565b34801561071657600080fd5b506104b16107253660046145e4565b611def565b34801561073657600080fd5b5061074061010081565b60405163ffffffff90911681526020016103c9565b34801561076157600080fd5b506107756107703660046145e4565b611eb4565b60405160ff90911681526020016103c9565b34801561079357600080fd5b506103bc6107a2366004614afd565b611ed5565b3480156107b357600080fd5b5061035a611f68565b3480156107c857600080fd5b506104b17f000000000000000000000000000000000000000000000000000000000000000081565b3480156107fc57600080fd5b506105ab61080b366004614c37565b612023565b34801561081c57600080fd5b5061035a61082b366004614c59565b61206d565b34801561083c57600080fd5b5061041261084b366004614c59565b6120c1565b34801561085c57600080fd5b506103bc61086b366004614c72565b612128565b34801561087c57600080fd5b506103bc61088b366004614cce565b6121e9565b34801561089c57600080fd5b506104b16108ab366004614608565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b3480156108e557600080fd5b50426105ab565b3480156108f857600080fd5b506105ab610907366004614c37565b612500565b34801561091857600080fd5b5061035a610927366004614d50565b612549565b34801561093857600080fd5b506105ab600181565b34801561094d57600080fd5b506104b161095c366004614d9b565b6125bf565b34801561096d57600080fd5b5061035a61097c3660046145e4565b612600565b34801561098d57600080fd5b506109a161099c366004614c59565b6126e4565b6040516103c99190614ddc565b3480156109ba57600080fd5b5061035a6109c9366004614e29565b6127ce565b3480156109da57600080fd5b506104b17f000000000000000000000000000000000000000000000000000000000000000081565b348015610a0e57600080fd5b506104b1610a1d366004614c59565b600090815260026020526040902054151590565b348015610a3d57600080fd5b5061041261284d565b348015610a5257600080fd5b5061035a610a61366004614e29565b612915565b34801561035a57600080fd5b348015610a7e57600080fd5b50610a92610a8d3660046145e4565b612a20565b6040805193151584529115156020840152908201526060016103c9565b348015610abb57600080fd5b5061035a610aca366004614608565b612a6f565b348015610adb57600080fd5b5061035a612bd2565b6000546201000090046001600160a01b03163314610b15576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610b54576040516314f72c9f60e01b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb89190614e55565b600081815260026020526040812054919250819003610bea57604051630e4f4df560e11b815260040160405180910390fd5b60006001610bf88184614e84565b81548110610c0857610c08614e97565b6000918252602090912001546040516311a5465560e21b81526001600160a01b03868116600483015290911691508190634695195490602401600060405180830381600087803b158015610c5b57600080fd5b505af1158015610c6f573d6000803e3d6000fd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b6000546201000090046001600160a01b03163314610cec576040516362e9152760e11b815260040160405180910390fd5b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f28397090602401600060405180830381600087803b158015610d2f57600080fd5b505af1158015610d43573d6000803e3d6000fd5b505050505050565b6000546201000090046001600160a01b03163314610d7c576040516362e9152760e11b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de09190614e55565b60008181526002602052604090205490915015610e1057604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610e3457604051630f85034f60e31b815260040160405180910390fd5b60007f0000000000000000000000000000000000000000000000000000000000000000610eee576000604051610e6990614567565b604051809103906000f080158015610e85573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef90602401600060405180830381600087803b158015610ecd57600080fd5b505af1158015610ee1573d6000803e3d6000fd5b5050505080915050610ef1565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055546000838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d190610f8e90849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b6060610fa633611def565b610fc35760405163619c535960e01b815260040160405180910390fd5b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110059250839150612d4b9050565b61101157611011614ead565b60008061108b8a6000898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612d6b92505050565b9150915081156111a05761109e81612ebd565b1561113857808060200190518101906110b79190614f08565b93506110c284612d4b565b61113357866110ec5760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092965061113392508c915060149050612f11565b6111da565b866111595760405163a85ba64f60e01b8152601660048201526024016110e3565b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092965061113392508c915060169050612f11565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b60606111f63384600085612f92565b90505b92915050565b606061120d338585856131cf565b949350505050565b61121d614574565b6111f9826132e0565b60608083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061126b9250839150612d4b9050565b61128b5760405163a85ba64f60e01b8152601460048201526024016110e3565b8961129581611def565b6112b25760405163619c535960e01b815260040160405180910390fd5b60006112f387878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061121592505050565b6101208101519091506001600160a01b031633146113245760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b908190840183828082843760009201919091525050505060a0830152611370826133ab565b955060006113b68e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508c91506134df9050565b96509050801561141557858060200190518101906113d49190614f08565b96506113df87612d4b565b6113eb576113eb614ead565b6113f487611215565b6001600160a01b0383166060820152925061140e836133ab565b965061141e565b61141e8661359a565b505050505097509795505050505050565b6000546201000090046001600160a01b03163314611460576040516362e9152760e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000001561149f576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115019190614f3c565b1561151f5760405163474e764160e01b815260040160405180910390fd5b611528816136a5565b50565b60006115557f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000546201000090046001600160a01b0316331461158b576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b03166116fa577f00000000000000000000000000000000000000000000000000000000000000006116715760006040516115ce90614567565b604051809103906000f0801580156115ea573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef90602401600060405180830381600087803b15801561163257600080fd5b505af1158015611646573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b0394909416939093179092555061168d9050565b600380546001600160a01b0319166001600160a01b0383161790555b600360009054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156116dd57600080fd5b505af11580156116f1573d6000803e3d6000fd5b50505050611799565b7f000000000000000000000000000000000000000000000000000000000000000015611739576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b03838116600483015290911690634695195490602401600060405180830381600087803b15801561178057600080fd5b505af1158015611794573d6000803e3d6000fd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b3360008181526004602052604090205461180a576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b03821660009081526004602052604090205461184057604051634b5518af60e11b815260040160405180910390fd5b61184982611eb4565b60ff1661185582611eb4565b60ff161161187657604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081166000908152600560209081526040808320949093168252929092529020805460ff19166001179055565b600080546201000090046001600160a01b03166380f70cba30836118ce866138df565b6040518463ffffffff1660e01b81526004016118ec93929190614f59565b602060405180830381865afa158015611909573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061192d9190614e55565b151592915050565b606061194033611def565b61195d5760405163619c535960e01b815260040160405180910390fd5b83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061199f9250839150612d4b9050565b6119ab576119ab614ead565b60006119ec86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061121592505050565b9050838161010001818151611a019190614f7d565b905250611a0d816133ab565b9695505050505050565b611a29611a22613967565b83836139cf565b5050565b611a293383836139cf565b6001600160a01b0381166000908152600460205260408120546180001615156111f9565b6000546201000090046001600160a01b03163314611a8d576040516362e9152760e11b815260040160405180910390fd5b600054604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a1600080546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6060611b0f33611def565b611b2c5760405163619c535960e01b815260040160405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b6e9250839150612d4b9050565b611b7a57611b7a614ead565b600080611bf48a6001898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612d6b92505050565b9150915081156111da57611c0781612ebd565b15611c275780806020019051810190611c209190614f08565b93506111da565b86611c485760405163a85ba64f60e01b8152601660048201526024016110e3565b6111da8a6016612f11565b6060611c5e33611def565b611c7b5760405163619c535960e01b815260040160405180910390fd5b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611cbd9250839150612d4b9050565b611cc957611cc9614ead565b6000611d0a89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061121592505050565b9050611d3181606001516001600160a01b0316600090815260046020526040902054151590565b8015611d4557506001816000015160ff1610155b15611d985760608101516001600160a01b039081166000908152600560209081526040808320938b168352929052205460ff16611d985760405163a85ba64f60e01b8152601e60048201526024016110e3565b805181611da482614fa5565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b038088166101208301528416610140820152611de2816133ab565b9998505050505050505050565b600080826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e549190614e55565b600081815260026020526040902054909150801580159061120d57506001600160a01b0384166001611e868184614e84565b81548110611e9657611e96614e97565b6000918252602090912001546001600160a01b031614949350505050565b6001600160a01b03811660009081526004602052604081205460ff166111f9565b6060611ee033611def565b611efd5760405163619c535960e01b815260040160405180910390fd5b6000611f3e85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061121592505050565b9050828161010001818151611f539190614f7d565b905250611f5f816133ab565b95945050505050565b600054610100900460ff1615808015611f885750600054600160ff909116105b80611fa25750303b158015611fa2575060005460ff166001145b611fbe5760405162461bcd60e51b81526004016110e390614fc4565b6000805460ff191660011790558015611fe1576000805461ff0019166101001790555b8015611528576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016117d2565b60008181526002602052604081205480820361205257604051630e4f4df560e11b815260040160405180910390fd5b61205d600182614e84565b6001901b19841691505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156120b7576120b7604051806040016040528060028152602001616b3160f01b81525032614173565b611528338261421c565b6000818152600260205260408120548082036120f057604051630e4f4df560e11b815260040160405180910390fd5b60016120fc8183614e84565b8154811061210c5761210c614e97565b6000918252602090912001546001600160a01b03169392505050565b606061213333611def565b6121505760405163619c535960e01b815260040160405180910390fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121929250839150612d4b9050565b61219e5761219e614ead565b6121a88484612f11565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929998505050505050505050565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061222d9250839150612d4b9050565b61224d5760405163a85ba64f60e01b8152601460048201526024016110e3565b6001600160a01b03871660009081526004602052604081205488918190036122885760405163163cbe4360e01b815260040160405180910390fd5b6180008116156122aa57604051628e12d960e21b815260040160405180910390fd5b87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092506122eb91508390506142eb565b90506001600160e01b031981166330d9c91560e01b148061231c57506001600160e01b0319811663d86ed3e560e01b145b8061233757506001600160e01b03198116630221347d60e61b145b8061235257506001600160e01b0319811663230dbd2960e01b145b8061236d57506001600160e01b03198116635f9e7d7760e01b145b8061238857506001600160e01b031981166353c11f9960e01b145b156123a6576040516377a14afb60e11b815260040160405180910390fd5b60006123e789898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061121592505050565b6101208101519091506001600160a01b03163314612418576040516311cfdef560e21b815260040160405180910390fd5b6060810180513390915261242b826133ab565b97506000806124728f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508f91506134df9050565b9150915081156124e557808060200190518101906124909190614f08565b995061249b8a612d4b565b6124bb5760405163a85ba64f60e01b8152601460048201526024016110e3565b6124c48a611215565b6001600160a01b038416606082015293506124de846133ab565b99506124ee565b6124ee8161359a565b50505050505050505095945050505050565b60008181526002602052604081205480820361252f57604051630e4f4df560e11b815260040160405180910390fd5b61253a600182614e84565b6001901b841791505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156125b0576125b082828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250329250614173915050565b6125ba338461421c565b505050565b60006111f683838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612d4b92505050565b600054610100900460ff16158080156126205750600054600160ff909116105b8061263a5750303b15801561263a575060005460ff166001145b6126565760405162461bcd60e51b81526004016110e390614fc4565b6000805460ff191660011790558015612679576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015611a29576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60606000806001805490506001600160401b0381111561270657612706614790565b60405190808252806020026020018201604052801561272f578160200160208202803683370190505b50925060009050600091505b6001548210156127c6576001821b8416156127b6576001828154811061276357612763614e97565b6000918252602090912001546001600160a01b0316838261278381615012565b93508151811061279557612795614e97565b60200260200101906001600160a01b031690816001600160a01b0316815250505b6127bf82615012565b915061273b565b825250919050565b816001600160a01b03163b6000036127f95760405163353dacc360e21b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000001561284357612843604051806040016040528060028152602001616b3160f01b81525033614173565b611a29828261421c565b6003546000906001600160a01b031661286857612868614ead565b7f00000000000000000000000000000000000000000000000000000000000000001561289e57506003546001600160a01b031690565b600360009054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611555919061502b565b816001600160a01b03163b6000036129405760405163353dacc360e21b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000001561284357600061297133614347565b6000805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba906129b090309085908790600401614f59565b602060405180830381865afa1580156129cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f19190614e55565b600114905080612a1457604051630b56455f60e41b815260040160405180910390fd5b5050611a29828261421c565b6001600160a01b038116600090815260046020908152604080832081519283019091525480825215801592918291612a6757805161800081161515935064ff000000001691505b509193909250565b6000546201000090046001600160a01b03163314612aa0576040516362e9152760e11b815260040160405180910390fd5b60006001600160a01b038216612b2c57600360009054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b27919061502b565b612b2e565b815b6040516311a5465560e21b81526001600160a01b03808316600483015291925090841690634695195490602401600060405180830381600087803b158015612b7557600080fd5b505af1158015612b89573d6000803e3d6000fd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd3915060200160405180910390a2505050565b612bda614574565b602a9052612be6614574565b602a602082015250612bf6614574565b602a604082015250612c06614574565b602a606082015250612c16614574565b63deadbeef60e01b608082015250612c2c614574565b60408051602a808252606082019092529060208201818036833750505060a082018190526000819003612ca15760405162461bcd60e51b815260206004820152601760248201527f7573657244617461206f6666736574206973207a65726f00000000000000000060448201526064016110e3565b8051602a8114612cf35760405162461bcd60e51b815260206004820152601960248201527f7573657244617461206368616e676564206c6f636174696f6e0000000000000060448201526064016110e3565b505050612cfe614574565b602a60c082015250612d0e614574565b602a60e082015250612d1e614574565b602a61010082015250612d2f614574565b602a61012082015250612d40614574565b602a61014082015250565b600081516000141580156111f95750600654825160208401201492915050565b600060606001600160a01b038716612d8557612d85614ead565b612d8f84846143c1565b9350622dc6c060005a90508715612e0557886001600160a01b03168287604051612db99190615048565b6000604051808303818686fa925050503d8060008114612df5576040519150601f19603f3d011682016040523d82523d6000602084013e612dfa565b606091505b509094509250612e68565b886001600160a01b03168287604051612e1e9190615048565b60006040518083038160008787f1925050503d8060008114612e5c576040519150601f19603f3d011682016040523d82523d6000602084013e612e61565b606091505b5090945092505b83612eb157612e7681614478565b612e985786612e8d57612e888361359a565b612eb1565b612e8889600a612f11565b604051636a7aea4b60e11b815260040160405180910390fd5b50509550959350505050565b6000604082511015612ed157506000919050565b602082810151906000908214612eeb575060009392505050565b506040830151612efa8161448e565b612f05906040615064565b84511492505050919050565b6001600160a01b038216600090815260046020526040812054618000169003611a29576001600160a01b038216600081815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b90612f869084815260200190565b60405180910390a25050565b60065460609015612fb95760405163a85ba64f60e01b8152601560048201526024016110e3565b6001600160a01b0384166000908152600460205260408120548591819003612ff45760405163163cbe4360e01b815260040160405180910390fd5b61800081161561301657604051628e12d960e21b815260040160405180910390fd5b836000613022826142eb565b90506001600160e01b031981166330d9c91560e01b148061305357506001600160e01b0319811663d86ed3e560e01b145b8061306e57506001600160e01b03198116630221347d60e61b145b8061308957506001600160e01b0319811663230dbd2960e01b145b806130a457506001600160e01b03198116635f9e7d7760e01b145b806130bf57506001600160e01b031981166353c11f9960e01b145b156130dd576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182526000808252600260208084019190915242838501526001600160a01b03808e16606085015260808401839052845191820190945281815260a083015260c0820181905260e082018190526101008201819052918a166101208201526101408101829052613154906133ab565b905060006131648a898b856134df565b9750905080156131b257868060200190518101906131829190614f08565b915061318d82612d4b565b6131ad5760405163a85ba64f60e01b8152601460048201526024016110e3565b6131bb565b6131bb8761359a565b505060006006555092979650505050505050565b600654606090156131f65760405163a85ba64f60e01b8152601560048201526024016110e3565b8361320081611def565b61321d5760405163619c535960e01b815260040160405180910390fd5b6000613228856142eb565b60408051610160810182526000808252600160208301529293506132ab9181014281526020018a6001600160a01b03168152602001846001600160e01b031916815260200187815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b03168152506133ab565b905060006132bc88886000856134df565b95509050806132ce576132ce8561359a565b50506000600655509095945050505050565b6132e8614574565b606080838060200190518101906132ff9190615077565b8151919350915060009061331c90840160209081019085016150d0565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff909116855282516000925061336d919084018101908401615154565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b60606001826000015160ff1611156133d95760405163a85ba64f60e01b8152602860048201526024016110e3565b815160208084015160009260ff1664ff000000009190921b16179050600060806134068560e001516144c7565b6001600160801b0316901b61341e8560c001516144c7565b6001600160801b0316179050818460400151856060015186608001518760a0015160405160200161345395949392919061519f565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f19818403018152908290526134bd9291602001614ad8565b60408051601f1981840301815291905280516020820120600655949350505050565b600060606001600160a01b0386166134f9576134f9614ead565b61350385846143c1565b9450856001600160a01b0316848660405161351e9190615048565b60006040518083038185875af1925050503d806000811461355b576040519150601f19603f3d011682016040523d82523d6000602084013e613560565b606091505b50909250905081156135915780516000036135915760405163a85ba64f60e01b8152601660048201526024016110e3565b94509492505050565b6004815110156135ec5760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a2074617267657420726576657274282900000000000060448201526064016110e3565b602081015163b1b7848f60e01b6001600160e01b031982160161369c5760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b81529192916110e39184910161477d565b81518060208401fd5b60006136cf7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036137255760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016110e3565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613763573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137879190614e55565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74146138015760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016110e3565b6001600160a01b03811630036138595760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016110e3565b613881817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b0384166020830152016117d2565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b60006018361080159061397e575061397e336118ab565b6139c25760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b60448201526064016110e3565b5060131936013560601c90565b6000805b8281101561412c5760008484838181106139ef576139ef614e97565b9050602002810190613a0191906151eb565b613a0f906020810190615201565b905060001963ffffffff821601613b0357600080868685818110613a3557613a35614e97565b9050602002810190613a4791906151eb565b613a55906040810190615227565b810190613a629190614e29565b91509150868685818110613a7857613a78614e97565b9050602002810190613a8a91906151eb565b613a9b9060408101906020016145e4565b6001600160a01b03166362aa52878984846040518463ffffffff1660e01b8152600401613aca93929190614f59565b600060405180830381600087803b158015613ae457600080fd5b505af1158015613af8573d6000803e3d6000fd5b50505050505061411b565b60011963ffffffff821601613c0e576000806000878786818110613b2957613b29614e97565b9050602002810190613b3b91906151eb565b613b49906040810190615227565b810190613b56919061526d565b925092509250878786818110613b6e57613b6e614e97565b9050602002810190613b8091906151eb565b613b919060408101906020016145e4565b604051630b682aeb60e11b81526001600160a01b038b81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b600060405180830381600087803b158015613bee57600080fd5b505af1158015613c02573d6000803e3d6000fd5b5050505050505061411b565b60021963ffffffff821601613ccd576000806000878786818110613c3457613c34614e97565b9050602002810190613c4691906151eb565b613c54906040810190615227565b810190613c6191906152ae565b925092509250878786818110613c7957613c79614e97565b9050602002810190613c8b91906151eb565b613c9c9060408101906020016145e4565b6001600160a01b031663ca0c1e7f8a8585856040518563ffffffff1660e01b8152600401613bd494939291906152fc565b60031963ffffffff821601613d8657600080868685818110613cf157613cf1614e97565b9050602002810190613d0391906151eb565b613d11906040810190615227565b810190613d1e9190614e29565b91509150868685818110613d3457613d34614e97565b9050602002810190613d4691906151eb565b613d579060408101906020016145e4565b6001600160a01b0316634b2763b38984846040518463ffffffff1660e01b8152600401613aca93929190614f59565b60041963ffffffff821601613e3f57600080868685818110613daa57613daa614e97565b9050602002810190613dbc91906151eb565b613dca906040810190615227565b810190613dd79190614e29565b91509150868685818110613ded57613ded614e97565b9050602002810190613dff91906151eb565b613e109060408101906020016145e4565b6001600160a01b031663c780fd828984846040518463ffffffff1660e01b8152600401613aca93929190614f59565b60641963ffffffff821601613f3457848483818110613e6057613e60614e97565b9050602002810190613e7291906151eb565b613e839060408101906020016145e4565b6001600160a01b031663ca78946487878786818110613ea457613ea4614e97565b9050602002810190613eb691906151eb565b613ec4906040810190615227565b810190613ed19190614c59565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015613f1757600080fd5b505af1158015613f2b573d6000803e3d6000fd5b5050505061411b565b60651963ffffffff821601613f9957848483818110613f5557613f55614e97565b9050602002810190613f6791906151eb565b613f789060408101906020016145e4565b6001600160a01b031663245887fc87878786818110613ea457613ea4614e97565b60c81963ffffffff82160161403657600080868685818110613fbd57613fbd614e97565b9050602002810190613fcf91906151eb565b613fdd906040810190615227565b810190613fea919061532f565b9150915061402e8888888781811061400457614004614e97565b905060200281019061401691906151eb565b6140279060408101906020016145e4565b84846131cf565b50505061411b565b60c91963ffffffff821601614102576140f88686868581811061405b5761405b614e97565b905060200281019061406d91906151eb565b61407e9060408101906020016145e4565b85614089573461408c565b60005b88888781811061409e5761409e614e97565b90506020028101906140b091906151eb565b6140be906040810190615227565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612f9292505050565b506001925061411b565b60405163b477011560e01b815260040160405180910390fd5b5061412581615012565b90506139d3565b50341580159061413a575080155b1561416d5760405133903480156108fc02916000818181858888f1935050505015801561416b573d6000803e3d6000fd5b505b50505050565b600061417f8284614534565b6000805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba916141bc9130918790600401614f59565b602060405180830381865afa1580156141d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141fd9190614e55565b10156125ba57604051630b56455f60e41b815260040160405180910390fd5b64ff000080ff198116151580614233575060ff8116155b806142415750618000811615155b1561425f57604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b03821660009081526004602052604090205415614296576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528382526001600160a01b038516600081815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a25050565b600060048251101561433f5760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c44617461000000000060448201526064016110e3565b506020015190565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c00161394a565b8151808301516060919080156143ea576040516367e9985b60e01b815260040160405180910390fd5b50601f19810184528251849084816144018161448e565b61440b9190614e84565b6001600160401b0381111561442257614422614790565b6040519080825280601f01601f19166020018201604052801561444c576020820181803683370190505b506040516020016144609493929190615388565b60405160208183030381529060405291505092915050565b6000614485603f836153d7565b5a111592915050565b60008082601f16116144a15760006144a4565b60015b60ff166144b26020846153d7565b6144bc9190615064565b6111f99060206153f9565b60006001600160801b038211156145305760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b60648201526084016110e3565b5090565b60008282604051602001614549929190615410565b60405160208183030381529060405280519060200120905092915050565b61024a8061549683390190565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461152857600080fd5b6000602082840312156145f657600080fd5b8135614601816145cf565b9392505050565b6000806040838503121561461b57600080fd5b8235614626816145cf565b91506020830135614636816145cf565b809150509250929050565b60008083601f84011261465357600080fd5b5081356001600160401b0381111561466a57600080fd5b60208301915083602082850101111561468257600080fd5b9250929050565b801515811461152857600080fd5b600080600080600080608087890312156146b057600080fd5b86356146bb816145cf565b955060208701356001600160401b03808211156146d757600080fd5b6146e38a838b01614641565b9097509550604089013591506146f882614689565b9093506060880135908082111561470e57600080fd5b5061471b89828a01614641565b979a9699509497509295939492505050565b60005b83811015614748578181015183820152602001614730565b50506000910152565b6000815180845261476981602086016020860161472d565b601f01601f19169290920160200192915050565b6020815260006111f66020830184614751565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156147ce576147ce614790565b604052919050565b60006001600160401b038211156147ef576147ef614790565b50601f01601f191660200190565b600082601f83011261480e57600080fd5b813561482161481c826147d6565b6147a6565b81815284602083860101111561483657600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561486657600080fd5b8235614871816145cf565b915060208301356001600160401b0381111561488c57600080fd5b614898858286016147fd565b9150509250929050565b6000806000606084860312156148b757600080fd5b83356148c2816145cf565b925060208401356001600160401b03808211156148de57600080fd5b6148ea878388016147fd565b9350604086013591508082111561490057600080fd5b5061490d868287016147fd565b9150509250925092565b60006020828403121561492957600080fd5b81356001600160401b0381111561493f57600080fd5b61120d848285016147fd565b6020815261495f60208201835160ff169052565b60006020830151614975604084018260ff169052565b5060408301516060830152606083015161499a60808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a08301516101608060c08501526149cd610180850183614751565b915060c085015160e085015260e0850151610100818187015280870151915050610120818187015280870151915050610140614a13818701836001600160a01b03169052565b909501516001600160a01b031693019290925250919050565b60008060008060008060006080888a031215614a4757600080fd5b8735614a52816145cf565b965060208801356001600160401b0380821115614a6e57600080fd5b614a7a8b838c01614641565b909850965060408a0135915080821115614a9357600080fd5b614a9f8b838c01614641565b909650945060608a0135915080821115614ab857600080fd5b50614ac58a828b01614641565b989b979a50959850939692959293505050565b604081526000614aeb6040830185614751565b8281036020840152611f5f8185614751565b600080600060408486031215614b1257600080fd5b83356001600160401b03811115614b2857600080fd5b614b3486828701614641565b909790965060209590950135949350505050565b60008060208385031215614b5b57600080fd5b82356001600160401b0380821115614b7257600080fd5b818501915085601f830112614b8657600080fd5b813581811115614b9557600080fd5b8660208260051b8501011115614baa57600080fd5b60209290920196919550909350505050565b60008060008060008060a08789031215614bd557600080fd5b86356001600160401b03811115614beb57600080fd5b614bf789828a01614641565b9097509550506020870135614c0b816145cf565b935060408701359250606087013591506080870135614c29816145cf565b809150509295509295509295565b60008060408385031215614c4a57600080fd5b50508035926020909101359150565b600060208284031215614c6b57600080fd5b5035919050565b60008060008060608587031215614c8857600080fd5b84356001600160401b03811115614c9e57600080fd5b614caa87828801614641565b9095509350506020850135614cbe816145cf565b9396929550929360400135925050565b600080600080600060608688031215614ce657600080fd5b8535614cf1816145cf565b945060208601356001600160401b0380821115614d0d57600080fd5b614d1989838a01614641565b90965094506040880135915080821115614d3257600080fd5b50614d3f88828901614641565b969995985093965092949392505050565b600080600060408486031215614d6557600080fd5b8335925060208401356001600160401b03811115614d8257600080fd5b614d8e86828701614641565b9497909650939450505050565b60008060208385031215614dae57600080fd5b82356001600160401b03811115614dc457600080fd5b614dd085828601614641565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b81811015614e1d5783516001600160a01b031683529284019291840191600101614df8565b50909695505050505050565b60008060408385031215614e3c57600080fd5b8235614e47816145cf565b946020939093013593505050565b600060208284031215614e6757600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156111f9576111f9614e6e565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b600082601f830112614ed457600080fd5b8151614ee261481c826147d6565b818152846020838601011115614ef757600080fd5b61120d82602083016020870161472d565b600060208284031215614f1a57600080fd5b81516001600160401b03811115614f3057600080fd5b61120d84828501614ec3565b600060208284031215614f4e57600080fd5b815161460181614689565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8082018281126000831280158216821582161715614f9d57614f9d614e6e565b505092915050565b600060ff821660ff8103614fbb57614fbb614e6e565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60006001820161502457615024614e6e565b5060010190565b60006020828403121561503d57600080fd5b8151614601816145cf565b6000825161505a81846020870161472d565b9190910192915050565b808201808211156111f9576111f9614e6e565b6000806040838503121561508a57600080fd5b82516001600160401b03808211156150a157600080fd5b6150ad86838701614ec3565b935060208501519150808211156150c357600080fd5b5061489885828601614ec3565b600080600080600060a086880312156150e857600080fd5b85519450602086015193506040860151615101816145cf565b60608701519093506001600160e01b03198116811461511f57600080fd5b60808701519092506001600160401b0381111561513b57600080fd5b61514788828901614ec3565b9150509295509295909350565b6000806000806080858703121561516a57600080fd5b84519350602085015192506040850151615183816145cf565b6060860151909250615194816145cf565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a0608082018190526000906151e090830184614751565b979650505050505050565b60008235605e1983360301811261505a57600080fd5b60006020828403121561521357600080fd5b813563ffffffff8116811461460157600080fd5b6000808335601e1984360301811261523e57600080fd5b8301803591506001600160401b0382111561525857600080fd5b60200191503681900382131561468257600080fd5b60008060006060848603121561528257600080fd5b833561528d816145cf565b9250602084013561529d816145cf565b929592945050506040919091013590565b6000806000606084860312156152c357600080fd5b83356152ce816145cf565b92506020840135915060408401356001600160401b038111156152f057600080fd5b61490d868287016147fd565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611a0d90830184614751565b6000806040838503121561534257600080fd5b82356001600160401b038082111561535957600080fd5b615365868387016147fd565b9350602085013591508082111561537b57600080fd5b50614898858286016147fd565b60008551602061539b8285838b0161472d565b818401915086825285516153b481838501848a0161472d565b85519201916153c88183850184890161472d565b91909101019695505050505050565b6000826153f457634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176111f9576111f9614e6e565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e06040820152600061120d60e083018461475156fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033a2646970667358221220d0d2b4cadf067e6139f550d35a65dcd5426102bae5d56ebbf81cccdbf02ae47864736f6c63430008130033",v5=eb=>eb.length>1;class v8 extends u9.lV{constructor(...eb){v5(eb)?super(...eb):super(vQ,v6,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(vQ)}static connect(eb,em){return new u9.CH(eb,vQ,em)}}v8.bytecode=v6,v8.abi=vQ;let v9=[{inputs:[{internalType:"address",name:"host",type:"address"},{internalType:"bytes32",name:"t",type:"bytes32"},{internalType:"uint256",name:"v",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AGREEMENT_BASE_ONLY_HOST",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"appLevel",type:"uint8"},{indexed:!1,internalType:"uint8",name:"callType",type:"uint8"},{indexed:!1,internalType:"bytes4",name:"agreementSelector",type:"bytes4"}],name:"AppAfterCallbackResult",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"appLevel",type:"uint8"},{indexed:!1,internalType:"uint8",name:"callType",type:"uint8"},{indexed:!1,internalType:"bytes4",name:"agreementSelector",type:"bytes4"},{indexed:!1,internalType:"bytes",name:"cbdata",type:"bytes"}],name:"AppBeforeCallbackResult",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"ping",type:"uint256"}],name:"Pong",type:"event"},{inputs:[],name:"agreementType",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppAfterAgreementCreatedCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppAfterAgreementTerminatedCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppAfterAgreementUpdatedCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppBeforeAgreementCreatedCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppBeforeAgreementTerminatedCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppBeforeAgreementUpdatedCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreementFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"reason",type:"string"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"doRevert",outputs:[],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"liquidator",type:"address"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"expectedMsgSender",type:"address"},{internalType:"uint256",name:"ping",type:"uint256"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"pingMe",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"dynamicBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"dynamicBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],name:"setRealtimeBalanceFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalanceFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreementFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"tryAppCallbackPop",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperApp",name:"appMock",type:"address"},{internalType:"bool",name:"hackCtx",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"tryAppCallbackPush",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperApp",name:"appMock",type:"address"},{internalType:"bool",name:"hackCtx",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"tryCallAppAfterCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperApp",name:"appMock",type:"address"},{internalType:"bool",name:"hackCtx",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"tryCallAppBeforeCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"bool",name:"hackCtx",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"tryCtxUseCredit",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperApp",name:"appMock",type:"address"},{internalType:"bool",name:"hackCtx",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"tryJailApp",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementDataFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlotFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"version",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],zm="0x60e06040523480156200001157600080fd5b5060405162002fed38038062002fed83398101604081905262000034916200004e565b6001600160a01b0390921660805260a05260c05262000093565b6000806000606084860312156200006457600080fd5b83516001600160a01b03811681146200007c57600080fd5b602085015160409095015190969495509392505050565b60805160a05160c051612f2a620000c3600039600061028b015260006102ea015260006106470152612f2a6000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806383e68452116100f9578063c3598c4a11610097578063d227a99311610071578063d227a993146103ef578063d8f72cf914610402578063edf02c4e14610415578063f602dc5c1461042857600080fd5b8063c3598c4a146103b6578063c4ab263b146103c9578063ca519d17146103dc57600080fd5b80639903ad38116100d35780639903ad381461035a5780639b2e48bc146103625780639d69476f14610390578063c1b7dde5146103a357600080fd5b806383e68452146103215780638e6b27491461033457806396ac5e9d1461034757600080fd5b806354658873116101665780636e3bfc5e116101405780636e3bfc5e146102c257806371272f8c146102d55780637730599e146102e85780637c0af83b1461030e57600080fd5b8063546588731461027657806354fd4d5014610289578063667fc9ad146102af57600080fd5b806346951954116101a2578063469519541461021a5780634b4649dd1461022d57806350d75d251461024057806352d1902d1461026057600080fd5b80631a8721e9146101c95780633c012f4d146101f2578063430fce1e14610207575b600080fd5b6101dc6101d7366004612358565b61043b565b6040516101e9919061240c565b60405180910390f35b61020561020036600461241f565b61050c565b005b6102056102153660046124dd565b6105d4565b61020561022836600461252c565b61063c565b61020561023b3660046124dd565b610691565b6102486106c1565b6040516001600160a01b0390911681526020016101e9565b6102686106f0565b6040519081526020016101e9565b6101dc610284366004612549565b610754565b7f0000000000000000000000000000000000000000000000000000000000000000610268565b6102056102bd36600461259d565b610826565b6102056102d03660046125de565b61088e565b6101dc6102e3366004612650565b6108f9565b7f0000000000000000000000000000000000000000000000000000000000000000610268565b6101dc61031c366004612549565b610a32565b61020561032f3660046126ba565b610b3b565b6101dc6103423660046126ef565b610b6f565b6101dc610355366004612650565b610d30565b610205610d7e565b61037561037036600461259d565b610e87565b604080519384526020840192909252908201526060016101e9565b6101dc61039e366004612650565b610f89565b6101dc6103b1366004612650565b611011565b6101dc6103c4366004612549565b611094565b6101dc6103d7366004612549565b61115d565b6102056103ea366004612732565b611226565b6101dc6103fd366004612549565b61131f565b6101dc610410366004612549565b6113e8565b610205610423366004612783565b61146b565b6101dc610436366004612549565b61153d565b6060846001600160a01b03166359a291418561048d5784848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061049d92505050565b6040805160008152602081019091525b60006040518363ffffffff1660e01b81526004016104bc9291906127f8565b6000604051808303816000875af11580156104db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261050391908101906128d6565b95945050505050565b60008561053a576040805160016020820152600281830152815180820383018152606090910190915261055d565b604080516001602082015260008183015281518082038301815260609091019091525b604051631863e80960e01b81529091506001600160a01b03891690631863e80990610598908a9085908a908c908b908b908b9060040161290a565b600060405180830381600087803b1580156105b257600080fd5b505af11580156105c6573d6000803e3d6000fd5b505050505050505050505050565b604051630254d47f60e31b81526001600160a01b038516906312a6a3f89061060490869086908690600401612989565b600060405180830381600087803b15801561061e57600080fd5b505af1158015610632573d6000803e3d6000fd5b5050505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461068557604051630b00ec8f60e11b815260040160405180910390fd5b61068e81611606565b50565b60405163a1b2bf8b60e01b81526001600160a01b0385169063a1b2bf8b9061060490869086908690600401612989565b60006106eb7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000306001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610730573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106eb91906129a3565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051632fd0a1cd60e21b815233925063bf42873491506107af90849060040161240c565b602060405180830381865afa1580156107cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f091906129bc565b6108155760405162461bcd60e51b815260040161080c906129d9565b60405180910390fd5b61050385640200000000868661180e565b60405163cf97256d60e01b81526001600160a01b0383811660048301526024820183905284169063cf97256d906044015b600060405180830381600087803b15801561087157600080fd5b505af1158015610885573d6000803e3d6000fd5b50505050505050565b60405163048620af60e11b81526001600160a01b0386169063090c415e906108c0908790879087908790600401612a25565b600060405180830381600087803b1580156108da57600080fd5b505af11580156108ee573d6000803e3d6000fd5b505050505050505050565b604080516000808252602082018181528284019093526060926001600160a01b03898116936374041e02938a93928416926330d9c9159261094292913091839160648201612a4d565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506001886109b25787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506109c292505050565b6040805160008152602081019091525b6040518563ffffffff1660e01b81526004016109e19493929190612a9e565b6000604051808303816000875af1158015610a00573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a2891908101906128d6565b9695505050505050565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051632fd0a1cd60e21b815233925063bf4287349150610a8d90849060040161240c565b602060405180830381865afa158015610aaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ace91906129bc565b610aea5760405162461bcd60e51b815260040161080c906129d9565b610afb856401000000008686611b1e565b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509298975050505050505050565b604051632704839760e01b815260048101839052602481018290526001600160a01b03841690632704839790604401610857565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051632fd0a1cd60e21b815233925063bf4287349150610bca90849060040161240c565b602060405180830381865afa158015610be7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0b91906129bc565b610c275760405162461bcd60e51b815260040161080c906129d9565b604051631fb6491d60e11b81526000903390633f6c923a90610c4f9088908890600401612b10565b600060405180830381865afa158015610c6c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c949190810190612b58565b9050866001600160a01b031681606001516001600160a01b031614610cbb57610cbb612c5e565b6040518681527f58b69f57828e6962d216502094c54f6562f3bf082ba758966c3454f9e37b15259060200160405180910390a184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929a9950505050505050505050565b6040805160008082526020820181815282840182815260608085019095526001600160a01b038a811694631e6d0a84948b949285169363d86ed3e59361094293309284929060848301612c74565b600054610100900460ff1615808015610d9e5750600054600160ff909116105b80610db85750303b158015610db8575060005460ff166001145b610e1b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161080c565b6000805460ff191660011790558015610e3e576000805461ff0019166101001790555b801561068e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b604051634b61cc3360e01b81523060048201526001600160a01b0383811660248301526303e83e99604483015260036064830152600091829182918291881690634b61cc3390608401600060405180830381865afa158015610eed573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f159190810190612cda565b9050610f3d81600081518110610f2d57610f2d612d73565b602002602001015160001c611c50565b81600181518110610f5057610f50612d73565b602002602001015160001c82600281518110610f6e57610f6e612d73565b602002602001015160001c9350935093505093509350939050565b6060856001600160a01b031663768fabb085610fdb5784848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610feb92505050565b6040805160008152602081019091525b8760008060006040518663ffffffff1660e01b81526004016109e1959493929190612d89565b6060856001600160a01b031663b724211e856110635784848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061107392505050565b6040805160008152602081019091525b8760006040518463ffffffff1660e01b81526004016109e193929190612dce565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051632fd0a1cd60e21b815233925063bf42873491506110ef90849060040161240c565b602060405180830381865afa15801561110c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113091906129bc565b61114c5760405162461bcd60e51b815260040161080c906129d9565b610afb856410000000008686611b1e565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051632fd0a1cd60e21b815233925063bf42873491506111b890849060040161240c565b602060405180830381865afa1580156111d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f991906129bc565b6112155760405162461bcd60e51b815260040161080c906129d9565b61050385640800000000868661180e565b60408051600380825260808201909252600091602082016060803683370190505090508360001b8160008151811061126057611260612d73565b6020026020010181815250508260001b8160018151811061128357611283612d73565b6020026020010181815250508160001b816002815181106112a6576112a6612d73565b602090810291909101015260405163048620af60e11b81526001600160a01b0387169063090c415e906112e59088906303e83e99908690600401612dfc565b600060405180830381600087803b1580156112ff57600080fd5b505af1158015611313573d6000803e3d6000fd5b50505050505050505050565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051632fd0a1cd60e21b815233925063bf428734915061137a90849060040161240c565b602060405180830381865afa158015611397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113bb91906129bc565b6113d75760405162461bcd60e51b815260040161080c906129d9565b610afb856404000000008686611b1e565b604051634c4d861f60e11b81526060906001600160a01b0385169063989b0c3e9061141c9086908690600090600401612e59565b6000604051808303816000875af115801561143b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261146391908101906128d6565b949350505050565b81818080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051632fd0a1cd60e21b815233925063bf42873491506114c490849060040161240c565b602060405180830381865afa1580156114e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150591906129bc565b6115215760405162461bcd60e51b815260040161080c906129d9565b848460405162461bcd60e51b815260040161080c929190612b10565b606082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051632fd0a1cd60e21b815233925063bf428734915061159890849060040161240c565b602060405180830381865afa1580156115b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d991906129bc565b6115f55760405162461bcd60e51b815260040161080c906129d9565b61050385642000000000868661180e565b60006116307f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036116865760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c65000000604482015260640161080c565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e891906129a3565b6116f06106f0565b146117495760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b606482015260840161080c565b6001600160a01b03811630036117a15760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f7000000000000000604482015260640161080c565b6117c9817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc6117f26106f0565b604080519182526001600160a01b038416602083015201610e7c565b604051636b4f333560e01b81526001600160a01b03851660048201526060906000903390636b4f333590602401602060405180830381865afa158015611858573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187c91906129bc565b604051631fb6491d60e11b81529091506000903390633f6c923a906118a79088908890600401612b10565b600060405180830381865afa1580156118c4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118ec9190810190612b58565b9050600061190f6000896000801b60405180602001604052806000815250611cbe565b60c081018890529050611920612292565b611970826040518060200160405280600081525089898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d0292505050565b9550905083156119f057602081015160ff16156119eb5760405162461bcd60e51b815260206004820152603360248201527f41677265656d656e744d6f636b3a2063616c6c6261636b2073686f756c64206e60448201527206f74207265616368206a61696c65642061707606c1b606482015260840161080c565b611ab4565b604051632fd0a1cd60e21b8152339063bf42873490611a1390889060040161240c565b602060405180830381865afa158015611a30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5491906129bc565b611ab45760405162461bcd60e51b815260206004820152602b60248201527f41677265656d656e744d6f636b3a20637478206e6f742076616c69642061667460448201526a65722063616c6c6261636b60a81b606482015260840161080c565b825160208085015160808601516040805160ff958616815294909216928401929092526001600160e01b031990911682820152517fbebfa520000ac6154adc3325e12aab81b1e37b21a779c68db565a7db91de76949181900360600190a150505050949350505050565b604051631fb6491d60e11b81526000903390633f6c923a90611b469086908690600401612b10565b600060405180830381865afa158015611b63573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8b9190810190612b58565b90506000611bae6000876000801b60405180602001604052806000815250611cbe565b9050848160c00181815250506000611bfc8286868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611f4e92505050565b90507f8d9bcf46f17f82759c79ab71d4382eb5a73791d05b176ea38f61b4c6d7315fe383600001518460200151856080015184604051611c3f9493929190612e7d565b60405180910390a150505050505050565b60006001600160ff1b03821115611cba5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b606482015260840161080c565b5090565b6040805160e08101825260006080820181905260a0820181905260c08201526001600160a01b03958616815293909416602084015292820152606081019190915290565b611d0a612292565b6020840151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015611d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d829190612eb1565b88965091945092509050828015611d97575081155b15611f4357611da68489612105565b93508760c001518116600003611f31576000611dc58960c0015161218a565b89516040808c015160608d015182516000815260208101909352611df39392309291908e9060448101612c74565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918b015160c08c0151925163079b42a160e21b81529193503392631e6d0a8492611e629291869164200000000091909114908b90600401612a9e565b6000604051808303816000875af1158015611e81573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ea991908101906128d6565b604051631fb6491d60e11b81529095503390633f6c923a90611ecf90889060040161240c565b600060405180830381865afa158015611eec573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f149190810190612b58565b9550611f298960800151876101000151612221565b610100870152505b611f408686610100015161223f565b93505b505050935093915050565b6020820151604051633e7d48bd60e21b81526001600160a01b03909116600482015260609060009081908190339063f9f522f490602401606060405180830381865afa158015611fa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc69190612eb1565b91945092509050828015611fd8575081155b156120fc576000611fe98688612105565b90508660c0015182166000036120ee5760006120088860c0015161218a565b88516040808b015160608c01518251600081526020810190935261203493923092919060448101612a4d565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352918a015160c08b01519251633a020f0160e11b815291935033926374041e02926120a39291869164100000000091909114908890600401612a9e565b6000604051808303816000875af11580156120c2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526120ea91908101906128d6565b9550505b6120f986600061223f565b50505b50505092915050565b6020810151608082015160a08301518351604051630768fabb60e41b8152606094339463768fabb09461213c948a94600401612d89565b6000604051808303816000875af115801561215b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261218391908101906128d6565b9392505050565b600064010000000082036121a657506330d9c91560e01b919050565b64040000000082036121c05750630221347d60e61b919050565b64100000000082036121da5750635f9e7d7760e01b919050565b64020000000082036121f4575063d86ed3e560e01b919050565b640800000000820361220e575063230dbd2960e01b919050565b506353c11f9960e01b919050565b919050565b6000612183600061223a61223486611c50565b85612267565b61227c565b604051634c4d861f60e11b8152606090339063989b0c3e9061213c90869086906004016127f8565b60008183136122765782612183565b50919050565b600081831361228b5781612183565b5090919050565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461068e57600080fd5b801515811461068e57600080fd5b60008083601f84011261232257600080fd5b5081356001600160401b0381111561233957600080fd5b60208301915083602082850101111561235157600080fd5b9250929050565b6000806000806060858703121561236e57600080fd5b8435612379816122ed565b9350602085013561238981612302565b925060408501356001600160401b038111156123a457600080fd5b6123b087828801612310565b95989497509550505050565b60005b838110156123d75781810151838201526020016123bf565b50506000910152565b600081518084526123f88160208601602086016123bc565b601f01601f19169290920160200192915050565b60208152600061218360208301846123e0565b600080600080600080600060e0888a03121561243a57600080fd5b8735612445816122ed565b965060208801359550604088013561245c81612302565b9450606088013561246c816122ed565b9350608088013561247c816122ed565b9699959850939692959460a0840135945060c09093013592915050565b60008083601f8401126124ab57600080fd5b5081356001600160401b038111156124c257600080fd5b6020830191508360208260051b850101111561235157600080fd5b600080600080606085870312156124f357600080fd5b84356124fe816122ed565b93506020850135925060408501356001600160401b0381111561252057600080fd5b6123b087828801612499565b60006020828403121561253e57600080fd5b8135612183816122ed565b60008060006040848603121561255e57600080fd5b8335612569816122ed565b925060208401356001600160401b0381111561258457600080fd5b61259086828701612310565b9497909650939450505050565b6000806000606084860312156125b257600080fd5b83356125bd816122ed565b925060208401356125cd816122ed565b929592945050506040919091013590565b6000806000806000608086880312156125f657600080fd5b8535612601816122ed565b94506020860135612611816122ed565b93506040860135925060608601356001600160401b0381111561263357600080fd5b61263f88828901612499565b969995985093965092949392505050565b60008060008060006080868803121561266857600080fd5b8535612673816122ed565b94506020860135612683816122ed565b9350604086013561269381612302565b925060608601356001600160401b038111156126ae57600080fd5b61263f88828901612310565b6000806000606084860312156126cf57600080fd5b83356126da816122ed565b95602085013595506040909401359392505050565b6000806000806060858703121561270557600080fd5b8435612710816122ed565b93506020850135925060408501356001600160401b038111156123a457600080fd5b600080600080600060a0868803121561274a57600080fd5b8535612755816122ed565b94506020860135612765816122ed565b94979496505050506040830135926060810135926080909101359150565b6000806000806040858703121561279957600080fd5b84356001600160401b03808211156127b057600080fd5b6127bc88838901612310565b909650945060208701359150808211156127d557600080fd5b506123b087828801612310565b634e487b7160e01b600052604160045260246000fd5b60408152600061280b60408301856123e0565b90508260208301529392505050565b60405161016081016001600160401b038111828210171561283d5761283d6127e2565b60405290565b604051601f8201601f191681016001600160401b038111828210171561286b5761286b6127e2565b604052919050565b600082601f83011261288457600080fd5b81516001600160401b0381111561289d5761289d6127e2565b6128b0601f8201601f1916602001612843565b8181528460208386010111156128c557600080fd5b6114638260208301602087016123bc565b6000602082840312156128e857600080fd5b81516001600160401b038111156128fe57600080fd5b61146384828501612873565b87815260e06020820152600061292360e08301896123e0565b6001600160a01b03978816604084015295151560608301525092909416608083015260a082015260c0019190915292915050565b81835260006001600160fb1b0383111561297057600080fd5b8260051b80836020870137939093016020019392505050565b838152604060208201526000610503604083018486612957565b6000602082840312156129b557600080fd5b5051919050565b6000602082840312156129ce57600080fd5b815161218381612302565b6020808252602c908201527f41677265656d656e744d6f636b3a20637478206e6f742076616c69642067697660408201526b656e20627920686f73743f2160a01b606082015260800190565b60018060a01b0385168152836020820152606060408201526000610a28606083018486612957565b6001600160a01b038681168252851660208201526040810184905260a060608201819052600090612a80908301856123e0565b8281036080840152612a9281856123e0565b98975050505050505050565b6001600160a01b0385168152608060208201819052600090612ac2908301866123e0565b84151560408401528281036060840152612adc81856123e0565b979650505050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000611463602083018486612ae7565b805160ff8116811461221c57600080fd5b805161221c816122ed565b80516001600160e01b03198116811461221c57600080fd5b600060208284031215612b6a57600080fd5b81516001600160401b0380821115612b8157600080fd5b908301906101608286031215612b9657600080fd5b612b9e61281a565b612ba783612b24565b8152612bb560208401612b24565b602082015260408301516040820152612bd060608401612b35565b6060820152612be160808401612b40565b608082015260a083015182811115612bf857600080fd5b612c0487828601612873565b60a08301525060c083015160c082015260e083015160e0820152610100915081830151828201526101209150612c3b828401612b35565b828201526101409150612c4f828401612b35565b91810191909152949350505050565b634e487b7160e01b600052600160045260246000fd5b6001600160a01b038781168252861660208201526040810185905260c060608201819052600090612ca7908301866123e0565b8281036080840152612cb981866123e0565b905082810360a0840152612ccd81856123e0565b9998505050505050505050565b60006020808385031215612ced57600080fd5b82516001600160401b0380821115612d0457600080fd5b818501915085601f830112612d1857600080fd5b815181811115612d2a57612d2a6127e2565b8060051b9150612d3b848301612843565b8181529183018401918481019088841115612d5557600080fd5b938501935b83851015612a9257845182529385019390850190612d5a565b634e487b7160e01b600052603260045260246000fd5b60a081526000612d9c60a08301886123e0565b6001600160a01b0396871660208401526040830195909552506060810192909252909216608090920191909152919050565b606081526000612de160608301866123e0565b6001600160a01b039490941660208301525060400152919050565b6001600160a01b038416815260208082018490526060604083018190528351908301819052600091848101916080850190845b81811015612e4b57845183529383019391830191600101612e2f565b509098975050505050505050565b604081526000612e6d604083018587612ae7565b9050826020830152949350505050565b60ff8516815260ff8416602082015263ffffffff60e01b83166040820152608060608201526000610a2860808301846123e0565b600080600060608486031215612ec657600080fd5b8351612ed181612302565b6020850151909350612ee281612302565b8092505060408401519050925092509256fea26469706673582212205905d3b9fc1cbfd409fb4e500f480ada43b06594281379df84e617f30d7e78ab64736f6c63430008130033",zy=eb=>eb.length>1;class zv extends u9.lV{constructor(...eb){zy(eb)?super(...eb):super(v9,zm,eb[0])}deploy(eb,em,ew,eM){return super.deploy(eb,em,ew,eM||{})}getDeployTransaction(eb,em,ew,eM){return super.getDeployTransaction(eb,em,ew,eM||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(v9)}static connect(eb,em){return new u9.CH(eb,v9,em)}}zv.bytecode=zm,zv.abi=v9;let zw=[{inputs:[],name:"Custom",type:"error"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"CustomVal",type:"error"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"a",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"revertArrayAccess",outputs:[],stateMutability:"view",type:"function"},{inputs:[],name:"revertAssert",outputs:[],stateMutability:"pure",type:"function"},{inputs:[],name:"revertBigArray",outputs:[{internalType:"uint8[]",name:"",type:"uint8[]"}],stateMutability:"pure",type:"function"},{inputs:[],name:"revertCustom",outputs:[],stateMutability:"pure",type:"function"},{inputs:[],name:"revertCustomVal",outputs:[],stateMutability:"pure",type:"function"},{inputs:[],name:"revertDivByZero",outputs:[],stateMutability:"pure",type:"function"},{inputs:[],name:"revertEmpty",outputs:[],stateMutability:"pure",type:"function"},{inputs:[],name:"revertEnum",outputs:[],stateMutability:"pure",type:"function"},{inputs:[],name:"revertOverflow",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"revertPop",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"revertString",outputs:[],stateMutability:"pure",type:"function"},{inputs:[{internalType:"string",name:"funcSig",type:"string"}],name:"revertTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"revertZeroInitializedFunctionPointer",outputs:[{internalType:"int256",name:"",type:"int256"}],stateMutability:"pure",type:"function"}],zM="0x608060405234801561001057600080fd5b5061075b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639bd610371161008c578063d7700b1211610066578063d7700b121461016c578063e7f7145b14610174578063e9f0a1471461017c578063f0fdf8341461018457600080fd5b80639bd6103714610149578063b505890314610151578063c89d62881461016457600080fd5b80637114b8eb116100c85780637114b8eb1461011c578063784cbc4e146101245780638211b89d1461012c57806382b246641461013457600080fd5b80631ed106b8146100ef578063335b221e146100f95780634926c4c614610114575b600080fd5b6100f7610197565b005b6101016101b0565b6040519081526020015b60405180910390f35b6100f7600080fd5b6100f76101c6565b6100f76101d9565b6100f76101fa565b61013c610223565b60405161010b91906104b8565b6100f7610262565b6100f761015f366004610515565b61028f565b610101610342565b6100f761035d565b6100f7610367565b6100f7610377565b6101016101923660046105c6565b610384565b6040516366fd620d60e01b815260040160405180910390fd5b6000806101c060001960016105f5565b92915050565b60006000196101d3610608565b50600052565b604051630b84f91760e31b8152601a60048201526024015b60405180910390fd5b600080548061020b5761020b61061e565b60019003818190600052602060002001600090559055565b606060006000196102326104ff565b60405190808252806020026020018201604052801561025b578160200160208202803683370190505b5092915050565b60405162461bcd60e51b8152602060048201526002602482015261676d60f01b60448201526064016101f1565b60408051600481526024810191829052600091829130916102b1908690610658565b60408051918290039091206020830180516001600160e01b03166001600160e01b0319909216919091179052516102e89190610658565b6000604051808303816000865af19150503d8060008114610325576040519150601f19603f3d011682016040523d82523d6000602084013e61032a565b606091505b50915091508161033d5761033d816103a5565b505050565b60006104b0610357600460058363ffffffff16565b91505090565b610365610674565b565b6000198061037361068a565b5050565b60008061033d81806106a0565b6000818154811061039457600080fd5b600091825260209091200154905081565b6004815110156103f75760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a2074617267657420726576657274282900000000000060448201526064016101f1565b602081015163b1b7848f60e01b6001600160e01b03198216016104a75760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b81529192916101f1918491016106dc565b81518060208401fd5b61036561070f565b6020808252825182820181905260009190848201906040850190845b818110156104f357835160ff16835292840192918401916001016104d4565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561052757600080fd5b813567ffffffffffffffff8082111561053f57600080fd5b818401915084601f83011261055357600080fd5b813581811115610565576105656104ff565b604051601f8201601f19908116603f0116810190838211818310171561058d5761058d6104ff565b816040528281528760208487010111156105a657600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000602082840312156105d857600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101c0576101c06105df565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b60005b8381101561064f578181015183820152602001610637565b50506000910152565b6000825161066a818460208701610634565b9190910192915050565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b6000826106bd57634e487b7160e01b600052601260045260246000fd5b600160ff1b8214600019841416156106d7576106d76105df565b500590565b60208152600082518060208401526106fb816040850160208701610634565b601f01601f19169190910160400192915050565b634e487b7160e01b600052605160045260246000fdfea2646970667358221220fa0c96d54d23356445a03746db799b27babe7e9ace18a770c2742e5c811311b164736f6c63430008130033",zC=eb=>eb.length>1;class zx extends u9.lV{constructor(...eb){zC(eb)?super(...eb):super(zw,zM,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(zw)}static connect(eb,em){return new u9.CH(eb,zw,em)}}zx.bytecode=zM,zx.abi=zw;let zk=[{inputs:[],name:"testIsValidAbiEncodedBytes",outputs:[],stateMutability:"pure",type:"function"}],zT="0x608060405234801561001057600080fd5b5061034a806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ba89c9eb14610030575b600080fd5b61003861003a565b005b604080516001602082015260029181019190915260036060820152610071906080015b6040516020818303038152906040526101d1565b156100ae5760405162461bcd60e51b8152602060048201526008602482015267626164206461746160c01b60448201526064015b60405180910390fd5b6100ef60005b6040519080825280601f01601f1916602001820160405280156100de576020820181803683370190505b5060405160200161005d9190610264565b61011f5760405162461bcd60e51b81526020600482015260016024820152600360fc1b60448201526064016100a5565b61012960016100b4565b6101595760405162461bcd60e51b81526020600482015260016024820152603160f81b60448201526064016100a5565b61016360206100b4565b6101945760405162461bcd60e51b8152602060048201526002602482015261199960f11b60448201526064016100a5565b61019e60216100b4565b6101cf5760405162461bcd60e51b8152602060048201526002602482015261333360f01b60448201526064016100a5565b565b60006040825110156101e557506000919050565b6020828101519060009082146101ff575060009392505050565b50604083015161020e81610225565b6102199060406102c8565b84511492505050919050565b60008082601f161161023857600061023b565b60015b60ff166102496020846102db565b61025391906102c8565b61025e9060206102fd565b92915050565b600060208083528351808285015260005b8181101561029157858101830151858201604001528201610275565b506000604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561025e5761025e6102b2565b6000826102f857634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761025e5761025e6102b256fea2646970667358221220a2c6922265b8f1de12deb5223703f02499897fc1ea252d88c05a9bb5bdddfec264736f6c63430008130033",z_=eb=>eb.length>1;class zE extends u9.lV{constructor(...eb){z_(eb)?super(...eb):super(zk,zT,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(zk)}static connect(eb,em){return new u9.CH(eb,zk,em)}}zE.bytecode=zT,zE.abi=zk;let zS=[{inputs:[{internalType:"address",name:"agreement",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],name:"callAgreement",outputs:[],stateMutability:"nonpayable",type:"function"}],zA="0x608060405234801561001057600080fd5b50610314806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806361d164d314610030575b600080fd5b61004361003e3660046101d9565b610045565b005b60006060846001600160a01b0316848460405161006392919061026a565b6000604051808303816000865af19150503d80600081146100a0576040519150601f19603f3d011682016040523d82523d6000602084013e6100a5565b606091505b50909250905081156100b9576100b961027a565b6100c2816100c9565b5050505050565b6004815110156101205760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a2074617267657420726576657274282900000000000060448201526064015b60405180910390fd5b602081015163b1b7848f60e01b6001600160e01b03198216016101d05760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b815291929161011791849101610290565b81518060208401fd5b6000806000604084860312156101ee57600080fd5b83356001600160a01b038116811461020557600080fd5b9250602084013567ffffffffffffffff8082111561022257600080fd5b818601915086601f83011261023657600080fd5b81358181111561024557600080fd5b87602082850101111561025757600080fd5b6020830194508093505050509250925092565b8183823760009101908152919050565b634e487b7160e01b600052600160045260246000fd5b600060208083528351808285015260005b818110156102bd578581018301518582016040015282016102a1565b506000604082860101526040601f19601f830116850101925050509291505056fea26469706673582212204471c8eb2da18277960e5528737335bea11819d256d7edc9d06bcbb6e555c6fb64736f6c63430008130033",zN=eb=>eb.length>1;class zI extends u9.lV{constructor(...eb){zN(eb)?super(...eb):super(zS,zA,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(zS)}static connect(eb,em){return new u9.CH(eb,zS,em)}}zI.bytecode=zA,zI.abi=zS;let zD=[{inputs:[{components:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"gas",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ForwarderMock.ForwardRequest",name:"req",type:"tuple"}],name:"execute",outputs:[],stateMutability:"payable",type:"function"}],zO="0x608060405234801561001057600080fd5b506105f8806100206000396000f3fe60806040526004361061001e5760003560e01c8063ffb26a7b14610023575b600080fd5b6100366100313660046103b8565b610038565b005b600060607f0984d5efd47d99151ae1be065a709e56c602102f24c1abc4008eb3f815a8d21783602001516001600160a01b031663486ff0cd6040518163ffffffff1660e01b8152600401600060405180830381865afa15801561009f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526100c791908101906104c5565b6040516020016100d7919061053c565b60405160208183030381529060405280519060200120146101505760405162461bcd60e51b815260206004820152602860248201527f756e6b6e6f776e204952656c6179526563697069656e742e76657273696f6e526044820152671958da5c1a595b9d60c21b60648201526084015b60405180910390fd5b82602001516001600160a01b03168360600151846040015185608001518660000151604051602001610183929190610558565b60408051601f198184030181529082905261019d9161053c565b600060405180830381858888f193505050503d80600081146101db576040519150601f19603f3d011682016040523d82523d6000602084013e6101e0565b606091505b509092509050816101f4576101f4816101f9565b505050565b60048151101561024b5760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a207461726765742072657665727428290000000000006044820152606401610147565b602081015163b1b7848f60e01b6001600160e01b03198216016102fb5760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b81529192916101479184910161058f565b81518060208401fd5b634e487b7160e01b600052604160045260246000fd5b60405160a0810167ffffffffffffffff8111828210171561033d5761033d610304565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561036c5761036c610304565b604052919050565b80356001600160a01b038116811461038b57600080fd5b919050565b600067ffffffffffffffff8211156103aa576103aa610304565b50601f01601f191660200190565b600060208083850312156103cb57600080fd5b823567ffffffffffffffff808211156103e357600080fd5b9084019060a082870312156103f757600080fd5b6103ff61031a565b61040883610374565b8152610415848401610374565b84820152604083013560408201526060830135606082015260808301358281111561043f57600080fd5b80840193505086601f84011261045457600080fd5b8235915061046961046483610390565b610343565b828152878584860101111561047d57600080fd5b82858501868301376000858483010152806080830152508094505050505092915050565b60005b838110156104bc5781810151838201526020016104a4565b50506000910152565b6000602082840312156104d757600080fd5b815167ffffffffffffffff8111156104ee57600080fd5b8201601f810184136104ff57600080fd5b805161050d61046482610390565b81815285602083850101111561052257600080fd5b6105338260208301602086016104a1565b95945050505050565b6000825161054e8184602087016104a1565b9190910192915050565b6000835161056a8184602088016104a1565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b60208152600082518060208401526105ae8160408501602087016104a1565b601f01601f1916919091016040019291505056fea264697066735822122019f76a66dded34b808bb70df2086b663b22cb6e5ad09152f8eee6e9f5787e49f64736f6c63430008130033",zP=eb=>eb.length>1;class zR extends u9.lV{constructor(...eb){zP(eb)?super(...eb):super(zD,zO,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(zD)}static connect(eb,em){return new u9.CH(eb,zD,em)}}zR.bytecode=zO,zR.abi=zD;let zB=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"},{internalType:"contract IInstantDistributionAgreementV1",name:"ida",type:"address"},{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"},{indexed:!1,internalType:"uint128",name:"units",type:"uint128"},{indexed:!1,internalType:"uint256",name:"pendingDistribution",type:"uint256"}],name:"SubscriptionDataAfter",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"publisher",type:"address"},{indexed:!1,internalType:"uint32",name:"indexId",type:"uint32"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"},{indexed:!1,internalType:"uint128",name:"units",type:"uint128"},{indexed:!1,internalType:"uint256",name:"pendingDistribution",type:"uint256"}],name:"SubscriptionDataBefore",type:"event"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"cbdata",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint128",name:"amount",type:"uint128"}],name:"distribute",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"setForceGetSubscriptionByID",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"}],name:"updateSubscription",outputs:[],stateMutability:"nonpayable",type:"function"}],zF="0x60806040526002805460ff60c01b191690553480156200001e57600080fd5b5060405162001b5938038062001b5983398101604081905262000041916200020e565b600080546001600160a01b0319166001600160a01b03871690811782556040805163bd1c448b60e01b815260048101889052602481019190915260448101929092529063bd1c448b90606401600060405180830381600087803b158015620000a857600080fd5b505af1158015620000bd573d6000803e3d6000fd5b5050600180546001600160a01b0319166001600160a01b03878116918217909255600280548784166001600160c01b031990911617600160a01b63ffffffff888116820292909217928390556000805460408051928352602083019052861697506339255d5b96509394859463d787840a9462000148949281169390049091169060448101620002f4565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b03191690526200019f93925090602481016200032f565b6000604051808303816000875af1158015620001bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620001e9919081019062000373565b5050505050506200042b565b6001600160a01b03811681146200020b57600080fd5b50565b600080600080600060a086880312156200022757600080fd5b85516200023481620001f5565b6020870151604088015191965094506200024e81620001f5565b60608701519093506200026181620001f5565b608087015190925063ffffffff811681146200027c57600080fd5b809150509295509295909350565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620002bd578181015183820152602001620002a3565b50506000910152565b60008151808452620002e0816020860160208601620002a0565b601f01601f19169290920160200192915050565b6001600160a01b038416815263ffffffff831660208201526060604082018190526000906200032690830184620002c6565b95945050505050565b6001600160a01b03841681526060602082018190526000906200035590830185620002c6565b8281036040840152620003698185620002c6565b9695505050505050565b6000602082840312156200038657600080fd5b81516001600160401b03808211156200039e57600080fd5b818401915084601f830112620003b357600080fd5b815181811115620003c857620003c86200028a565b604051601f8201601f19908116603f01168101908382118183101715620003f357620003f36200028a565b816040528281528760208487010111156200040d57600080fd5b62000420836020830160208801620002a0565b979650505050505050565b61171e806200043b6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806353c11f991161006657806353c11f99146101015780635f9e7d7714610114578063884d1f4014610127578063d86ed3e51461013a578063fbd6c5311461014d57600080fd5b8063230dbd291461009857806330d9c915146100c157806334cdedda146100d457806334e5a692146100ee575b600080fd5b6100ab6100a6366004610f93565b610160565b6040516100b891906110ae565b60405180910390f35b6100ab6100cf3660046110c8565b610317565b6100ec6002805460ff60c01b1916600160c01b179055565b005b6100ec6100fc36600461117c565b6104d9565b6100ab61010f366004610f93565b6105ce565b6100ab6101223660046110c8565b610732565b6100ab6101353660046110c8565b61085f565b6100ab610148366004610f93565b610973565b6100ec61015b366004611199565b610a87565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061018c90859085906004016111d2565b602060405180830381865afa1580156101a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cd9190611216565b6101f25760405162461bcd60e51b81526004016101e990611231565b60405180910390fd5b6002548c908c906001600160a01b038084169116146102235760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146102505760405162461bcd60e51b81526004016101e9906112a4565b61027d87877fe8403962000fb7c84477d736a9f7580bce08b91a50c982d183fa44077a9ce9108e8e610b7f565b6102cd89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d6000610d25565b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929750505050505050509998505050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061034390859085906004016111d2565b602060405180830381865afa158015610360573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103849190611216565b6103a05760405162461bcd60e51b81526004016101e990611231565b6002548a908a906001600160a01b038084169116146103d15760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146103fe5760405162461bcd60e51b81526004016101e9906112a4565b61042b87877f76253669260cf524e3db8d89857f289f85025242f93be69d3ee9d284788037688c8c610b7f565b600254600160c01b900460ff16156104ba5760015460025460405163cd7245c560e01b81526001600160a01b039182166004820152602481018d905291169063cd7245c59060440160a060405180830381865afa158015610490573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b491906112e4565b50505050505b50506040805160008152602081019091529a9950505050505050505050565b60008054600154600254604080519485526020850190526001600160a01b03928316936339255d5b9392831692839263b96731c29261052e92821691600160a01b900463ffffffff169089906044810161135e565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b031916905261058393925090602481016113a7565b6000604051808303816000875af11580156105a2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105ca9190810190611485565b5050565b604051632fd0a1cd60e21b815260609083908390339063bf428734906105fa90859085906004016111d2565b602060405180830381865afa158015610617573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063b9190611216565b6106575760405162461bcd60e51b81526004016101e990611231565b6002548c908c906001600160a01b038084169116146106885760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146106b55760405162461bcd60e51b81526004016101e9906112a4565b6106e287877ffec91ad4a0d3a97a5aa5d0b8b79f71ff5a63866a2be7950c6bac67bce785d7088e8e610b7f565b6102cd89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d6001610d25565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061075e90859085906004016111d2565b602060405180830381865afa15801561077b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061079f9190611216565b6107bb5760405162461bcd60e51b81526004016101e990611231565b6002548a908a906001600160a01b038084169116146107ec5760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146108195760405162461bcd60e51b81526004016101e9906112a4565b61084687877ffec91ad4a0d3a97a5aa5d0b8b79f71ff5a63866a2be7950c6bac67bce785d7088c8c610b7f565b61084f8a610e6c565b9c9b505050505050505050505050565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061088b90859085906004016111d2565b602060405180830381865afa1580156108a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cc9190611216565b6108e85760405162461bcd60e51b81526004016101e990611231565b6002548a908a906001600160a01b038084169116146109195760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b038281169116146109465760405162461bcd60e51b81526004016101e9906112a4565b61084687877fe8403962000fb7c84477d736a9f7580bce08b91a50c982d183fa44077a9ce9108c8c610b7f565b604051632fd0a1cd60e21b815260609083908390339063bf4287349061099f90859085906004016111d2565b602060405180830381865afa1580156109bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e09190611216565b6109fc5760405162461bcd60e51b81526004016101e990611231565b6002548c908c906001600160a01b03808416911614610a2d5760405162461bcd60e51b81526004016101e990611278565b6001546001600160a01b03828116911614610a5a5760405162461bcd60e51b81526004016101e9906112a4565b61027d87877f76253669260cf524e3db8d89857f289f85025242f93be69d3ee9d284788037688e8e610b7f565b60008054600154600254604080519485526020850190526001600160a01b03928316936339255d5b9392831692839263232d2b5892610ade92821691600160a01b900463ffffffff16908a908a90604481016114c2565b60408051601f19818403018152918152602080830180516001600160e01b031660e095861b179052815160008152908101918290529286901b6001600160e01b0319169052610b3393925090602481016113a7565b6000604051808303816000875af1158015610b52573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7a9190810190611485565b505050565b604051631fb6491d60e11b81526000903390633f6c923a90610ba790899089906004016111d2565b600060405180830381865afa158015610bc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bec919081019061153d565b905060008060608360a00151806020019051810190610c0b9190611644565b91945092509050868314610c565760405162461bcd60e51b815260206004820152601260248201527177726f6e672063616c6c6261636b5479706560701b60448201526064016101e9565b60808401516001600160e01b0319838116911614610cb65760405162461bcd60e51b815260206004820152601760248201527f77726f6e672061677265656d656e7453656c6563746f7200000000000000000060448201526064016101e9565b8585604051610cc692919061169b565b6040518091039020818051906020012014610d1a5760405162461bcd60e51b815260206004820152601460248201527377726f6e67206141677265656d656e744461746160601b60448201526064016101e9565b505050505050505050565b60008060008060008088511115610d985787806020019051810190610d4a91906112e4565b604051949950929750909550935091507f2454540e0875d1db1518bd2e89c610a09e41eb24b53620d5cf7f43cc5112d53590610d8f90879087908790879087906116ab565b60405180910390a15b85610e625760015460025460405163cd7245c560e01b81526001600160a01b039182166004820152602481018a905291169063cd7245c59060440160a060405180830381865afa158015610df0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1491906112e4565b604051949950929750909550935091507fca5ab0cc93ce90dc74e03f000eb2f1bf6fe2af97ef814ed740d1eafc597da90490610e5990879087908790879087906116ab565b60405180910390a15b5050505050505050565b60015460025460405163cd7245c560e01b81526001600160a01b03918216600482015260248101849052606092600092839283928392839291169063cd7245c59060440160a060405180830381865afa158015610ecd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef191906112e4565b60405194995092975090955093509150610f1790869086908690869086906020016116ab565b60405160208183030381529060405295505050505050919050565b6001600160a01b0381168114610f4757600080fd5b50565b60008083601f840112610f5c57600080fd5b50813567ffffffffffffffff811115610f7457600080fd5b602083019150836020828501011115610f8c57600080fd5b9250929050565b600080600080600080600080600060c08a8c031215610fb157600080fd5b8935610fbc81610f32565b985060208a0135610fcc81610f32565b975060408a0135965060608a013567ffffffffffffffff80821115610ff057600080fd5b610ffc8d838e01610f4a565b909850965060808c013591508082111561101557600080fd5b6110218d838e01610f4a565b909650945060a08c013591508082111561103a57600080fd5b506110478c828d01610f4a565b915080935050809150509295985092959850929598565b60005b83811015611079578181015183820152602001611061565b50506000910152565b6000815180845261109a81602086016020860161105e565b601f01601f19169290920160200192915050565b6020815260006110c16020830184611082565b9392505050565b600080600080600080600060a0888a0312156110e357600080fd5b87356110ee81610f32565b965060208801356110fe81610f32565b955060408801359450606088013567ffffffffffffffff8082111561112257600080fd5b61112e8b838c01610f4a565b909650945060808a013591508082111561114757600080fd5b506111548a828b01610f4a565b989b979a50959850939692959293505050565b6001600160801b0381168114610f4757600080fd5b60006020828403121561118e57600080fd5b81356110c181611167565b600080604083850312156111ac57600080fd5b82356111b781610f32565b915060208301356111c781611167565b809150509250929050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b8051801515811461121157600080fd5b919050565b60006020828403121561122857600080fd5b6110c182611201565b60208082526027908201527f49444153757065724170705465737465723a20637478206e6f742076616c6964604082015266206265666f726560c81b606082015260800190565b6020808252601290820152713737ba1030b1b1b2b83a32b2103a37b5b2b760711b604082015260600190565b6020808252600790820152666e6f742069646160c81b604082015260600190565b805161121181610f32565b805163ffffffff8116811461121157600080fd5b600080600080600060a086880312156112fc57600080fd5b855161130781610f32565b9450611315602087016112d0565b935061132360408701611201565b9250606086015161133381611167565b80925050608086015190509295509295909350565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038516815263ffffffff841660208201526001600160801b038316604082015260806060820181905260009061139d90830184611082565b9695505050505050565b6001600160a01b03841681526060602082018190526000906113cb90830185611082565b828103604084015261139d8185611082565b604051610160810167ffffffffffffffff8111828210171561140157611401611348565b60405290565b600082601f83011261141857600080fd5b815167ffffffffffffffff8082111561143357611433611348565b604051601f8301601f19908116603f0116810190828211818310171561145b5761145b611348565b8160405283815286602085880101111561147457600080fd5b61139d84602083016020890161105e565b60006020828403121561149757600080fd5b815167ffffffffffffffff8111156114ae57600080fd5b6114ba84828501611407565b949350505050565b6001600160a01b03868116825263ffffffff86166020830152841660408201526001600160801b038316606082015260a06080820181905260009061150990830184611082565b979650505050505050565b805160ff8116811461121157600080fd5b80516001600160e01b03198116811461121157600080fd5b60006020828403121561154f57600080fd5b815167ffffffffffffffff8082111561156757600080fd5b90830190610160828603121561157c57600080fd5b6115846113dd565b61158d83611514565b815261159b60208401611514565b6020820152604083015160408201526115b6606084016112c5565b60608201526115c760808401611525565b608082015260a0830151828111156115de57600080fd5b6115ea87828601611407565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506116218284016112c5565b8282015261014091506116358284016112c5565b91810191909152949350505050565b60008060006060848603121561165957600080fd5b8351925061166960208501611525565b9150604084015167ffffffffffffffff81111561168557600080fd5b61169186828701611407565b9150509250925092565b8183823760009101908152919050565b6001600160a01b0395909516855263ffffffff93909316602085015290151560408401526001600160801b03166060830152608082015260a0019056fea2646970667358221220df160c6b368b4c8d195f897b120219cf5391ad9a12da4aa634b85529c735fef464736f6c63430008130033",zj=eb=>eb.length>1;class zU extends u9.lV{constructor(...eb){zj(eb)?super(...eb):super(zB,zF,eb[0])}deploy(eb,em,ew,eM,eC,eT){return super.deploy(eb,em,ew,eM,eC,eT||{})}getDeployTransaction(eb,em,ew,eM,eC,eT){return super.getDeployTransaction(eb,em,ew,eM,eC,eT||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(zB)}static connect(eb,em){return new u9.CH(eb,zB,em)}}zU.bytecode=zF,zU.abi=zB;let zV=[{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approveTest",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradeToTest",outputs:[],stateMutability:"nonpayable",type:"function"}],zH="0x608060405234801561001057600080fd5b506102e6806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80632ed8c4b91461003b578063eefa3cde14610050575b600080fd5b61004e61004936600461015f565b610063565b005b61004e61005e3660046101fe565b6100ce565b6040516316e7427360e21b81526001600160a01b03861690635b9d09cc9061009590879087908790879060040161023f565b600060405180830381600087803b1580156100af57600080fd5b505af11580156100c3573d6000803e3d6000fd5b505050505050505050565b60405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905284169063095ea7b3906044016020604051808303816000875af115801561011d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101419190610287565b50505050565b6001600160a01b038116811461015c57600080fd5b50565b60008060008060006080868803121561017757600080fd5b853561018281610147565b9450602086013561019281610147565b935060408601359250606086013567ffffffffffffffff808211156101b657600080fd5b818801915088601f8301126101ca57600080fd5b8135818111156101d957600080fd5b8960208285010111156101eb57600080fd5b9699959850939650602001949392505050565b60008060006060848603121561021357600080fd5b833561021e81610147565b9250602084013561022e81610147565b929592945050506040919091013590565b6001600160a01b0385168152602081018490526060604082018190528101829052818360808301376000818301608090810191909152601f909201601f191601019392505050565b60006020828403121561029957600080fd5b815180151581146102a957600080fd5b939250505056fea2646970667358221220437d2a2ccf4fedf160827a617f10e5dbb1434d06b461a94bcef8dd235be57a3e64736f6c63430008130033",z$=eb=>eb.length>1;class zq extends u9.lV{constructor(...eb){z$(eb)?super(...eb):super(zV,zH,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(zV)}static connect(eb,em){return new u9.CH(eb,zV,em)}}zq.bytecode=zH,zq.abi=zV;let zW=[{inputs:[{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"},{internalType:"contract ISuperfluid",name:"superfluid",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"agreementId",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"cbdata",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"createFlow",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"}],zZ="0x60806040523480156200001157600080fd5b5060405162001fc738038062001fc7833981016040819052620000349162000127565b6001600160a01b0382166200004d576200004d62000166565b6001600160a01b03811662000066576200006662000166565b600080546001600160a01b038085166001600160a01b03199283161790925560018054928416929091168217905560405163bd1c448b60e01b8152641100000001919063bd1c448b90620000d190849060040190815260406020820181905260009082015260600190565b600060405180830381600087803b158015620000ec57600080fd5b505af115801562000101573d6000803e3d6000fd5b505050505050506200017c565b6001600160a01b03811681146200012457600080fd5b50565b600080604083850312156200013b57600080fd5b825162000148816200010e565b60208401519092506200015b816200010e565b809150509250929050565b634e487b7160e01b600052600160045260246000fd5b611e3b806200018c6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80635f9e7d771161005b5780635f9e7d77146100d157806362fc305e146100e4578063884d1f40146100f7578063d86ed3e51461010a57600080fd5b8063230dbd291461008257806330d9c915146100ab57806353c11f99146100be575b600080fd5b610095610090366004611445565b61011d565b6040516100a2919061155f565b60405180910390f35b6100956100b9366004611579565b610312565b6100956100cc366004611445565b61037a565b6100956100df366004611579565b6108f5565b6100956100f2366004611626565b61095c565b610095610105366004611579565b610a5c565b610095610118366004611445565b610b44565b6001546060906001600160a01b0316331461013a5761013a6116a1565b6000546001600160a01b038a8116911614610157576101576116a1565b61015f611350565b600154604051631fb6491d60e11b81526001600160a01b0390911690633f6c923a9061019190879087906004016116e0565b600060405180830381865afa1580156101ae573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101d69190810190611807565b80825260a001516101e690610d29565b60408301526001600160a01b031660208201526102058789018961190d565b6001600160a01b03908116608084015290811660608084018290528351015190911614610234576102346116a1565b60808101516001600160a01b03163014610250576102506116a1565b805160c00151610262576102626116a1565b60008054604051631557a4cd60e31b81526001600160a01b038e81166004830152602482018d90529091169063aabd266890604401608060405180830381865afa1580156102b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d89190611946565b50506040840151845160c001519193506103029250908e906328104d3160e11b9085908a8a610e9f565b9c9b505050505050505050505050565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b60648201526060906084015b60405180910390fd5b6001546060906001600160a01b03163314610397576103976116a1565b6000546001600160a01b038a81169116146103b4576103b46116a1565b6103bc611350565b600154604051631fb6491d60e11b81526001600160a01b0390911690633f6c923a906103ee90879087906004016116e0565b600060405180830381865afa15801561040b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104339190810190611807565b80825260a0015161044390610d29565b60408301526001600160a01b031660208201526104628789018961190d565b6001600160a01b0390811660808401521660608201819052301480610493575060808101516001600160a01b031630145b61049f5761049f6116a1565b606084848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506080830151909350306001600160a01b039091160361063e5760005b826040015160200151518110156106385760008054906101000a90046001600160a01b03166001600160a01b031663b4b333c68e30866040015160200151858151811061054257610542611984565b602090810291909101810151516040805160008152928301905261056b9392916044810161199a565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b9490941790935260015460008054835191825294810192839052634329d29360e01b9092529195506001600160a01b039182169350634329d293926105de921690869089602482016119d8565b6000604051808303816000875af11580156105fd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106259190810190611a2d565b50935061063181611aa6565b90506104f3565b506108e6565b60005b826040015160200151518110156107ca5782608001516001600160a01b0316836040015160200151828151811061067a5761067a611984565b6020026020010151600001516001600160a01b031603156107ba5760008054906101000a90046001600160a01b03166001600160a01b031663b4b333c68e3086604001516020015185815181106106d3576106d3611984565b60209081029190910181015151604080516000815292830190526106fc9392916044810161199a565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b9490941790935260015460008054835191825294810192839052634329d29360e01b9092529195506001600160a01b039182169350634329d2939261076f921690869089602482016119d8565b6000604051808303816000875af115801561078e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107b69190810190611a2d565b5093505b6107c381611aa6565b9050610641565b506000805460208401516001600160a01b039091169163b4b333c6918f9130906040519080825280601f01601f191660200182016040528015610814576020820181803683370190505b50604051602401610828949392919061199a565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b9490941790935260015460008054835191825294810192839052634329d29360e01b9092529194506001600160a01b039182169350634329d2939261089b921690859088602482016119d8565b6000604051808303816000875af11580156108ba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108e29190810190611a2d565b5092505b50509998505050505050505050565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b6064820152606090608401610371565b600080546040805183815260208101909152606092916001600160a01b0316906362fc305e90610995908a908a908a9060448101611abf565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b9490941790935260015460008054835191825294810192839052634329d29360e01b9092529194506001600160a01b039182169350634329d29392610a099216908590898960248301611af5565b6000604051808303816000875af1158015610a28573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a509190810190611a2d565b50979650505050505050565b6001546060906001600160a01b03163314610a7957610a796116a1565b6000546001600160a01b03888116911614610a9657610a966116a1565b60008054604051631557a4cd60e31b81526001600160a01b038b81166004830152602482018a90529091169063aabd266890604401608060405180830381865afa158015610ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0c9190611946565b5050600b0b91505080604051602001610b2791815260200190565b604051602081830303815290604052915050979650505050505050565b6001546060906001600160a01b03163314610b6157610b616116a1565b6000546001600160a01b038a8116911614610b7e57610b7e6116a1565b610b86611350565b600154604051631fb6491d60e11b81526001600160a01b0390911690633f6c923a90610bb890879087906004016116e0565b600060405180830381865afa158015610bd5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bfd9190810190611807565b80825260a00151610c0d90610d29565b60408301526001600160a01b03166020820152610c2c8789018961190d565b6001600160a01b03908116608084015290811660608084018290528351015190911614610c5b57610c5b6116a1565b60808101516001600160a01b03163014610c7757610c776116a1565b805160c00151610c8957610c896116a1565b60008054604051631557a4cd60e31b81526001600160a01b038e81166004830152602482018d90529091169063aabd266890604401608060405180830381865afa158015610cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cff9190611946565b50506040840151845160c001519193506103029250908e9063317e182f60e11b9085908a8a610e9f565b6040805180820190915260008082526060602083015290600060608085806020019051810190610d599190611bda565b80518251949950929650909450925014610d7557610d756116a1565b60ff8316845281516001600160401b03811115610d9457610d946116fc565b604051908082528060200260200182016040528015610dd957816020015b6040805180820190915260008082526020820152815260200190600190039081610db25790505b50602085015260005b8251811015610e9657818181518110610dfd57610dfd611984565b6020026020010151600003610e1457610e146116a1565b6040518060400160405280848381518110610e3157610e31611984565b60200260200101516001600160a01b03168152602001838381518110610e5957610e59611984565b602002602001015181525085602001518281518110610e7a57610e7a611984565b602002602001018190525080610e8f90611aa6565b9050610de2565b50505050915091565b60606000610eb08960200151611302565b905083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525080546040516346ccbfb760e11b81526001600160a01b038f81166004830152600b8e900b60248301529698509195169350638d997f6e92506044019050602060405180830381865afa158015610f3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f629190611cc1565b60008054919250906001600160a01b0316630602f7db8b610f84600186611cda565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381865afa158015610fcd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff19190611cf3565b6000546040516346ccbfb760e11b81526001600160a01b038d81166004830152600b84900b6024830152929350911690638d997f6e90604401602060405180830381865afa158015611047573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106b9190611cc1565b8b519097506064906110809060ff1689611d10565b61108a9190611d3d565b8b5190975060649061109f9060ff168a611d51565b6110a99190611d78565b975060005b8b60200151518110156112df5760008c6020015182815181106110d3576110d3611984565b6020026020010151905060008582602001518b6110f09190611d10565b6110fa9190611d3d565b905060008060009054906101000a90046001600160a01b03166001600160a01b0316630602f7db8f846040518363ffffffff1660e01b81526004016111549291906001600160a01b03929092168252602082015260400190565b602060405180830381865afa158015611171573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111959190611cf3565b90506111a1818d611dbb565b9b5060008d8f85600001518460006001600160401b038111156111c6576111c66116fc565b6040519080825280601f01601f1916602001820160405280156111f0576020820181803683370190505b506040516024016112049493929190611abf565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b0319959095169490941790935260015460008054835191825294810192839052634329d29360e01b9092529193506001600160a01b0391821692634329d2939261127e9291169085908e602482016119d8565b6000604051808303816000875af115801561129d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112c59190810190611a2d565b508099505050505050806112d890611aa6565b90506110ae565b50600088600b0b12156112f4576112f46116a1565b505050979650505050505050565b6000805b825181101561134a5782818151811061132157611321611984565b602002602001015160200151826113389190611df2565b915061134381611aa6565b9050611306565b50919050565b6040805161020081018252600060a0820181815260c0830182905260e083018290526101008301829052610120830182905260606101408401819052610160840183905261018084018390526101a084018390526101c084018390526101e084018390529083526020808401839052845180860186529283528201529091820190815260006020820181905260409091015290565b6001600160a01b03811681146113fa57600080fd5b50565b60008083601f84011261140f57600080fd5b5081356001600160401b0381111561142657600080fd5b60208301915083602082850101111561143e57600080fd5b9250929050565b600080600080600080600080600060c08a8c03121561146357600080fd5b893561146e816113e5565b985060208a013561147e816113e5565b975060408a0135965060608a01356001600160401b03808211156114a157600080fd5b6114ad8d838e016113fd565b909850965060808c01359150808211156114c657600080fd5b6114d28d838e016113fd565b909650945060a08c01359150808211156114eb57600080fd5b506114f88c828d016113fd565b915080935050809150509295985092959850929598565b60005b8381101561152a578181015183820152602001611512565b50506000910152565b6000815180845261154b81602086016020860161150f565b601f01601f19169290920160200192915050565b6020815260006115726020830184611533565b9392505050565b600080600080600080600060a0888a03121561159457600080fd5b873561159f816113e5565b965060208801356115af816113e5565b95506040880135945060608801356001600160401b03808211156115d257600080fd5b6115de8b838c016113fd565b909650945060808a01359150808211156115f757600080fd5b506116048a828b016113fd565b989b979a50959850939692959293505050565b80600b0b81146113fa57600080fd5b60008060008060006080868803121561163e57600080fd5b8535611649816113e5565b94506020860135611659816113e5565b9350604086013561166981611617565b925060608601356001600160401b0381111561168457600080fd5b611690888289016113fd565b969995985093965092949392505050565b634e487b7160e01b600052600160045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6020815260006116f46020830184866116b7565b949350505050565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715611735576117356116fc565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611763576117636116fc565b604052919050565b805160ff8116811461177c57600080fd5b919050565b805161177c816113e5565b80516001600160e01b03198116811461177c57600080fd5b600082601f8301126117b557600080fd5b81516001600160401b038111156117ce576117ce6116fc565b6117e1601f8201601f191660200161173b565b8181528460208386010111156117f657600080fd5b6116f482602083016020870161150f565b60006020828403121561181957600080fd5b81516001600160401b038082111561183057600080fd5b90830190610160828603121561184557600080fd5b61184d611712565b6118568361176b565b81526118646020840161176b565b60208201526040830151604082015261187f60608401611781565b60608201526118906080840161178c565b608082015260a0830151828111156118a757600080fd5b6118b3878286016117a4565b60a08301525060c083015160c082015260e083015160e08201526101009150818301518282015261012091506118ea828401611781565b8282015261014091506118fe828401611781565b91810191909152949350505050565b6000806040838503121561192057600080fd5b823561192b816113e5565b9150602083013561193b816113e5565b809150509250929050565b6000806000806080858703121561195c57600080fd5b84519350602085015161196e81611617565b6040860151606090960151949790965092505050565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0385811682528481166020830152831660408201526080606082018190526000906119ce90830184611533565b9695505050505050565b6001600160a01b03851681526080602082018190526000906119fc90830186611533565b8281036040840152611a0e8186611533565b90508281036060840152611a228185611533565b979650505050505050565b60008060408385031215611a4057600080fd5b82516001600160401b0380821115611a5757600080fd5b611a63868387016117a4565b93506020850151915080821115611a7957600080fd5b50611a86858286016117a4565b9150509250929050565b634e487b7160e01b600052601160045260246000fd5b600060018201611ab857611ab8611a90565b5060010190565b6001600160a01b03858116825284166020820152600b83900b60408201526080606082018190526000906119ce90830184611533565b6001600160a01b0386168152608060208201819052600090611b1990830187611533565b8281036040840152611b2b8187611533565b90508281036060840152611b408185876116b7565b98975050505050505050565b60006001600160401b03821115611b6557611b656116fc565b5060051b60200190565b600082601f830112611b8057600080fd5b81516020611b95611b9083611b4c565b61173b565b82815260059290921b84018101918181019086841115611bb457600080fd5b8286015b84811015611bcf5780518352918301918301611bb8565b509695505050505050565b60008060008060808587031215611bf057600080fd5b8451611bfb816113e5565b93506020611c0a86820161176b565b935060408601516001600160401b0380821115611c2657600080fd5b818801915088601f830112611c3a57600080fd5b8151611c48611b9082611b4c565b81815260059190911b8301840190848101908b831115611c6757600080fd5b938501935b82851015611c8e578451611c7f816113e5565b82529385019390850190611c6c565b60608b01519097509450505080831115611ca757600080fd5b5050611cb587828801611b6f565b91505092959194509250565b600060208284031215611cd357600080fd5b5051919050565b81810381811115611ced57611ced611a90565b92915050565b600060208284031215611d0557600080fd5b815161157281611617565b8082028115828204841417611ced57611ced611a90565b634e487b7160e01b600052601260045260246000fd5b600082611d4c57611d4c611d27565b500490565b600082600b0b82600b0b0280600b0b9150808214611d7157611d71611a90565b5092915050565b600081600b0b83600b0b80611d8f57611d8f611d27565b6b7fffffffffffffffffffffff19821460001982141615611db257611db2611a90565b90059392505050565b600b82810b9082900b036b7fffffffffffffffffffffff1981126b7fffffffffffffffffffffff82131715611ced57611ced611a90565b80820180821115611ced57611ced611a9056fea2646970667358221220ca9ef8197f669f00632641ee4b5615b512c0759839c09bb655731a96656ac85264736f6c63430008130033",zK=eb=>eb.length>1;class zG extends u9.lV{constructor(...eb){zK(eb)?super(...eb):super(zW,zZ,eb[0])}deploy(eb,em,ew){return super.deploy(eb,em,ew||{})}getDeployTransaction(eb,em,ew){return super.getDeployTransaction(eb,em,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(zW)}static connect(eb,em){return new u9.CH(eb,zW,em)}}zG.bytecode=zZ,zG.abi=zW;let zY=[{inputs:[{internalType:"contract ISuperfluid",name:"_host",type:"address"},{internalType:"contract ISuperToken",name:"_token",type:"address"},{internalType:"address",name:"_receiver",type:"address"},{internalType:"uint256",name:"_appLevel",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"OnlyCFA",type:"error"},{inputs:[],name:"OnlyHost",type:"error"},{inputs:[],name:"UnsupportedToken",type:"error"},{inputs:[],name:"CFA_ID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"_superToken",type:"address"},{internalType:"address",name:"_agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"_ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"_superToken",type:"address"},{internalType:"address",name:"_agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"_ctx",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_targetApp",type:"address"}],name:"allowCompositeApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"cfaV1",outputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"host",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"receiver",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_originAccount",type:"address"},{internalType:"int96",name:"_flowRate",type:"int96"}],name:"startStreamToSelf",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_superApp",type:"address"},{internalType:"int96",name:"_flowRate",type:"int96"}],name:"startStreamToSuperApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_originAccount",type:"address"}],name:"stopStreamToSelf",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_sender",type:"address"},{internalType:"address",name:"_receiver",type:"address"}],name:"stopStreamToSuperApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"token",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"}],zJ="0x60806040523480156200001157600080fd5b50604051620016da380380620016da83398101604081905262000034916200021c565b6001600160a01b0383166200004d576200004d62000276565b6001600160a01b03821662000066576200006662000276565b6001600160a01b0384166200007f576200007f62000276565b600280546001600160a01b0319166001600160a01b0386169081179091556040805180820182528281529051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd360048201529091602083019163b6d200de90602401602060405180830381865afa15801562000109573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012f91906200028c565b6001600160a01b039081169091528151600080546001600160a01b031990811692841692909217815560209093015160018054831691841691909117905560048054821687841617815560038054909216868416179091556002546040805163bd1c448b60e01b8152641100000000871793810184905260248101919091526044810194909452909291169063bd1c448b90606401600060405180830381600087803b158015620001df57600080fd5b505af1158015620001f4573d6000803e3d6000fd5b505050505050505050620002b3565b6001600160a01b03811681146200021957600080fd5b50565b600080600080608085870312156200023357600080fd5b8451620002408162000203565b6020860151909450620002538162000203565b6040860151909350620002668162000203565b6060959095015193969295505050565b634e487b7160e01b600052600160045260246000fd5b6000602082840312156200029f57600080fd5b8151620002ac8162000203565b9392505050565b61141780620002c36000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063b6e1b56111610097578063f437bc5911610066578063f437bc5914610246578063f7260d3e14610271578063fae7e7e414610284578063fc0c546a1461029757600080fd5b8063b6e1b561146101d3578063bddd7ec3146101e6578063d3112b2e146101f9578063d86ed3e51461023357600080fd5b806353c11f99116100d357806353c11f991461018757806357121e0c1461019a5780635f9e7d77146101ad578063884d1f40146101c057600080fd5b80631d5ae1b514610105578063215eed021461011a578063230dbd291461015457806330d9c91514610174575b600080fd5b610118610113366004610e60565b6102aa565b005b6101417fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd381565b6040519081526020015b60405180910390f35b610167610162366004610ee2565b6102ca565b60405161014b9190610ffd565b610167610182366004611017565b610331565b610167610195366004610ee2565b610394565b6101186101a83660046110b6565b61056c565b6101676101bb366004611017565b6105ce565b6101676101ce366004611017565b610635565b6101186101e13660046110e2565b610698565b6101186101f43660046110e2565b6106b3565b600054600154610213916001600160a01b03908116911682565b604080516001600160a01b0393841681529290911660208301520161014b565b610167610241366004610ee2565b6106d5565b600254610259906001600160a01b031681565b6040516001600160a01b03909116815260200161014b565b600354610259906001600160a01b031681565b6101186102923660046110b6565b61087f565b600454610259906001600160a01b031681565b6004546102c690600090849084906001600160a01b031661089b565b5050565b60405162461bcd60e51b815260206004820152602e60248201527f556e737570706f727465642063616c6c6261636b202d2041667465722041677260448201526d19595b595b9d08155c19185d195960921b60648201526060906084015b60405180910390fd5b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d0810dc99585d1959608a1b6064820152606090608401610328565b6002546060906001600160a01b031633146103c157604051620f491b60e11b815260040160405180910390fd5b6103ca896108c1565b15806103e457506004546001600160a01b038b8116911614155b156104285782828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092935061055f92505050565b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050905060008060010160009054906101000a90046001600160a01b03166001600160a01b031663e6a1e8888c30600360009054906101000a90046001600160a01b03166040518463ffffffff1660e01b81526004016104eb939291906001600160a01b0393841681529183166020830152909116604082015260600190565b608060405180830381865afa158015610508573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052c9190611110565b5050915050600081600b0b131561055d5760035461055a90600090849030906001600160a01b03168f61094d565b91505b505b9998505050505050505050565b6002546040516315c4878360e21b81526001600160a01b038381166004830152909116906357121e0c90602401600060405180830381600087803b1580156105b357600080fd5b505af11580156105c7573d6000803e3d6000fd5b5050505050565b60405162461bcd60e51b815260206004820152603360248201527f556e737570706f727465642063616c6c6261636b202d20204265666f7265204160448201527219dc99595b595b9d0815195c9b5a5b985d1959606a1b6064820152606090608401610328565b60405162461bcd60e51b815260206004820152602f60248201527f556e737570706f727465642063616c6c6261636b202d204265666f726520416760448201526e1c99595b595b9d081d5c19185d1959608a1b6064820152606090608401610328565b6004546102c69060009084906001600160a01b03168461097c565b6004546106d090600090849030906001600160a01b03168561099c565b505050565b6002546060906001600160a01b0316331461070257604051620f491b60e11b815260040160405180910390fd5b6004548a906001600160a01b038083169116146107325760405163350b944160e11b815260040160405180910390fd5b8961073c816108c1565b6107595760405163d191999160e01b815260040160405180910390fd5b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050925060008060010160009054906101000a90046001600160a01b03166001600160a01b031663e8e7e2d18e306040518363ffffffff1660e01b81526004016107fc9291906001600160a01b0392831681529116602082015260400190565b602060405180830381865afa158015610819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083d919061114e565b905061086e84600360009054906101000a90046001600160a01b03168f8460006109c190949392919063ffffffff16565b9d9c50505050505050505050505050565b6004546102c690600090839030906001600160a01b03166109e6565b6040805160008152602081019091526108bb908590859085908590610a12565b50505050565b60007fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610922573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109469190611181565b1492915050565b6040805160008152602081019091526060906109729087908790879087908790610af1565b9695505050505050565b6040805160008152602081019091526108bb908590859085908590610bda565b6040805160008152602081019091526060906109729087908790879087908790610c1f565b6040805160008152602081019091526060906109729087908790879087908790610d24565b604080516000815260208101909152606090610a09908690869086908690610d6d565b95945050505050565b845460018601546040805160008152602081019091526001600160a01b03928316926339255d5b921690819063b4b333c690610a579088908b908b906044810161119a565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610aa29392509086906004016111ce565b6000604051808303816000875af1158015610ac1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ae99190810190611282565b505050505050565b855460018701546040805160008152602081019091526060926001600160a01b0390811692634329d29392911690819063b4b333c690610b3a9089908c908c906044810161119a565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610b879392509087908c906004016112bf565b6000604051808303816000875af1158015610ba6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bce9190810190611309565b50979650505050505050565b845460018601546040805160008152602081019091526001600160a01b03928316926339255d5b92169081906362fc305e90610a579089908b908a906044810161136d565b855460018701546060916001600160a01b03908116916339255d5b9116806394229ecb888b8b8a60006040519080825280601f01601f191660200182016040528015610c72576020820181803683370190505b50604051602401610c879594939291906113a3565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610cd29392509087906004016111ce565b6000604051808303816000875af1158015610cf1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d199190810190611282565b979650505050505050565b855460018701546040805160008152602081019091526060926001600160a01b0390811692634329d2939291169081906362fc305e90610b3a908a908c908b906044810161136d565b845460018601546040805160008152602081019091526060926001600160a01b03908116926339255d5b929116908190634c8b181f90610db69089908c908c906044810161119a565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610e019392509087906004016111ce565b6000604051808303816000875af1158015610e20573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109729190810190611282565b6001600160a01b0381168114610e5d57600080fd5b50565b60008060408385031215610e7357600080fd5b8235610e7e81610e48565b91506020830135610e8e81610e48565b809150509250929050565b60008083601f840112610eab57600080fd5b50813567ffffffffffffffff811115610ec357600080fd5b602083019150836020828501011115610edb57600080fd5b9250929050565b600080600080600080600080600060c08a8c031215610f0057600080fd5b8935610f0b81610e48565b985060208a0135610f1b81610e48565b975060408a0135965060608a013567ffffffffffffffff80821115610f3f57600080fd5b610f4b8d838e01610e99565b909850965060808c0135915080821115610f6457600080fd5b610f708d838e01610e99565b909650945060a08c0135915080821115610f8957600080fd5b50610f968c828d01610e99565b915080935050809150509295985092959850929598565b60005b83811015610fc8578181015183820152602001610fb0565b50506000910152565b60008151808452610fe9816020860160208601610fad565b601f01601f19169290920160200192915050565b6020815260006110106020830184610fd1565b9392505050565b600080600080600080600060a0888a03121561103257600080fd5b873561103d81610e48565b9650602088013561104d81610e48565b955060408801359450606088013567ffffffffffffffff8082111561107157600080fd5b61107d8b838c01610e99565b909650945060808a013591508082111561109657600080fd5b506110a38a828b01610e99565b989b979a50959850939692959293505050565b6000602082840312156110c857600080fd5b813561101081610e48565b80600b0b8114610e5d57600080fd5b600080604083850312156110f557600080fd5b823561110081610e48565b91506020830135610e8e816110d3565b6000806000806080858703121561112657600080fd5b845193506020850151611138816110d3565b6040860151606090960151949790965092505050565b60006020828403121561116057600080fd5b8151611010816110d3565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561119357600080fd5b5051919050565b6001600160a01b03858116825284811660208301528316604082015260806060820181905260009061097290830184610fd1565b6001600160a01b03841681526060602082018190526000906111f290830185610fd1565b82810360408401526109728185610fd1565b600082601f83011261121557600080fd5b815167ffffffffffffffff808211156112305761123061116b565b604051601f8301601f19908116603f011681019082821181831017156112585761125861116b565b8160405283815286602085880101111561127157600080fd5b610972846020830160208901610fad565b60006020828403121561129457600080fd5b815167ffffffffffffffff8111156112ab57600080fd5b6112b784828501611204565b949350505050565b6001600160a01b03851681526080602082018190526000906112e390830186610fd1565b82810360408401526112f58186610fd1565b90508281036060840152610d198185610fd1565b6000806040838503121561131c57600080fd5b825167ffffffffffffffff8082111561133457600080fd5b61134086838701611204565b9350602085015191508082111561135657600080fd5b5061136385828601611204565b9150509250929050565b6001600160a01b03858116825284166020820152600b83900b604082015260806060820181905260009061097290830184610fd1565b6001600160a01b038681168252858116602083015284166040820152600b83900b606082015260a060808201819052600090610d1990830184610fd156fea26469706673582212201a0d2799caa6f5537204bda88f05f29182ed2be32e8441b6eed2d102b563e8b764736f6c63430008130033",zX=eb=>eb.length>1;class zQ extends u9.lV{constructor(...eb){zX(eb)?super(...eb):super(zY,zJ,eb[0])}deploy(eb,em,ew,eM,eC){return super.deploy(eb,em,ew,eM,eC||{})}getDeployTransaction(eb,em,ew,eM,eC){return super.getDeployTransaction(eb,em,ew,eM,eC||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(zY)}static connect(eb,em){return new u9.CH(eb,zY,em)}}zQ.bytecode=zJ,zQ.abi=zY;let z6=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"bool",name:"activateOnCreated",type:"bool"},{internalType:"bool",name:"activateOnUpdated",type:"bool"},{internalType:"bool",name:"activateOnDeleted",type:"bool"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"NotAcceptedSuperToken",type:"error"},{inputs:[],name:"NotImplemented",type:"error"},{inputs:[],name:"UnauthorizedHost",type:"error"},{inputs:[],name:"CFAV1_TYPE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementCreated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementTerminated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"cbdata",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"afterAgreementUpdated",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"afterReceiverHolder",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"afterSenderHolder",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementCreated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementTerminated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"agreementData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"beforeAgreementUpdated",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],name:"isAcceptedSuperToken",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"lastUpdateHolder",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"oldFlowRateHolder",outputs:[{internalType:"int96",name:"",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"acceptedSuperToken",type:"address"},{internalType:"bool",name:"accepted",type:"bool"}],name:"setAcceptedSuperToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowRate",type:"int96"}],name:"startStream",outputs:[],stateMutability:"nonpayable",type:"function"}],z4="0x60a06040523480156200001157600080fd5b506040516200168038038062001680833981016040819052620000349162000118565b6040805160208101909152600081526001600160a01b0385166080528490849084908490640100000001846200006c57640200000000175b836200007a57640c00000000175b826200008857643000000000175b60405163bd1c448b60e01b81526001600160a01b0387169063bd1c448b90620000b8908490869060040162000182565b600060405180830381600087803b158015620000d357600080fd5b505af1158015620000e8573d6000803e3d6000fd5b5050600060015550620001da9a5050505050505050505050565b805180151581146200011357600080fd5b919050565b600080600080608085870312156200012f57600080fd5b84516001600160a01b03811681146200014757600080fd5b9350620001576020860162000102565b9250620001676040860162000102565b9150620001776060860162000102565b905092959194509250565b82815260006020604081840152835180604085015260005b81811015620001b8578581018301518582016060015282016200019a565b506000606082860101526060601f19601f830116850101925050509392505050565b6080516114606200022060003960008181610172015281816102bd015281816103e4015281816104c1015281816105f7015281816106f401526107f601526114606000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806372ca8a3e11610097578063d86ed3e511610066578063d86ed3e514610232578063de83f18814610245578063e4776b3314610258578063e5d719581461026b57600080fd5b806372ca8a3e146101d257806381596a24146101f5578063884d1f401461020a578063bcb4546f1461021d57600080fd5b806330d9c915116100d357806330d9c9151461015a57806349f289dc1461016d57806353c11f99146101ac5780635f9e7d77146101bf57600080fd5b8063230dbd29146100fa578063284c578114610123578063303a0cf51461013a575b600080fd5b61010d610108366004610f63565b6102b0565b60405161011a919061107e565b60405180910390f35b61012c60015481565b60405190815260200161011a565b60005461014790600b0b81565b604051600b9190910b815260200161011a565b61010d610168366004611098565b6103b2565b6101947f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161011a565b61010d6101ba366004610f63565b6103d7565b61010d6101cd366004611098565b6104b4565b6101e56101e0366004611137565b610599565b604051901515815260200161011a565b610208610203366004611163565b6105d0565b005b61010d610218366004611098565b6105ea565b61012c60008051602061140b83398151915281565b61010d610240366004610f63565b6106e7565b600254610194906001600160a01b031681565b600354610194906001600160a01b031681565b6102086102793660046111ae565b6005805460ff199081166001179091556001600160a01b039092166000908152600460205260409020805491151591909216179055565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102fb57604051632f2d36a760e01b815260040160405180910390fd5b610304896107d0565b6103475782828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293506103a592505050565b6103508a610599565b61036d57604051631ea25bab60e31b815260040160405180910390fd5b600061037b878901896111ec565b50905060008061038d8789018961121a565b9150915061039f8d8484848a8a610884565b93505050505b9998505050505050505050565b604080518082019091526002815261060f60f31b60208201525b979650505050505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415806104175750610415896107d0565b155b8061042857506104268a610599565b155b1561046c5782828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293506103a592505050565b60008061047b888a018a6111ec565b909250905060008061048f888a018a611246565b915091506104a28e858584868c8c61090b565b9e9d5050505050505050505050505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161415806104f457506104f2876107d0565b155b80610505575061050388610599565b155b156105295750604080518082019091526002815261060f60f31b60208201526103cc565b600080610538868801886111ec565b90925090506000806105546001600160a01b038d1685856109aa565b5050915091508181604051602001610579929190918252600b0b602082015260400190565b604051602081830303815290604052945050505050979650505050505050565b60055460009060ff166105ad5760016105ca565b6001600160a01b03821660009081526004602052604090205460ff165b92915050565b6105e46001600160a01b0384168383610a4c565b50505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461063557604051632f2d36a760e01b815260040160405180910390fd5b61063e876107d0565b6106615750604080518082019091526002815261060f60f31b60208201526103cc565b61066a88610599565b61068757604051631ea25bab60e31b815260040160405180910390fd5b6000610695858701876111ec565b5090506000806106af6001600160a01b038c1684306109aa565b505060408051600b9290920b60208301528181019290925281518082038301815260609091019091529b9a5050505050505050505050565b6060336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073257604051632f2d36a760e01b815260040160405180910390fd5b61073b896107d0565b61077e5782828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509293506103a592505050565b6107878a610599565b6107a457604051631ea25bab60e31b815260040160405180910390fd5b60006107b2878901896111ec565b5090506107c18b828686610a73565b9b9a5050505050505050505050565b604051635b69006f60e11b815260008051602061140b83398151915260048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6d200de90602401602060405180830381865afa158015610845573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610869919061126b565b6001600160a01b0316826001600160a01b0316149050919050565b6001839055600080546bffffffffffffffffffffffff19166bffffffffffffffffffffffff8616179055600280546001600160a01b0319166001600160a01b038716179055604080516020601f84018190048102820181019092528281526060918490849081908401838280828437600092019190915250929a9950505050505050505050565b6001839055600080546bffffffffffffffffffffffff86166bffffffffffffffffffffffff19909116179055600280546001600160a01b038089166001600160a01b0319928316179092556003805492881692909116919091179055604080516020601f84018190048102820181019092528281526060918490849081908401838280828437600092019190915250929b9a5050505050505050505050565b60008060008060006109bb88610ace565b604051631cd43d1160e31b81526001600160a01b038b811660048301528a811660248301528981166044830152919350908316915063e6a1e88890606401608060405180830381865afa158015610a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3a9190611288565b929b919a509850909650945050505050565b60408051600080825260208201909252610a6b90859085908590610c3d565b949350505050565b600280546001600160a01b0319166001600160a01b038516179055604080516020601f840181900481028201810190925282815260609184908490819084018382808284376000920191909152509298975050505050505050565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b038116610c0c576001600160a01b038216610b9357826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b90919061126b565b91505b604051635b69006f60e11b815260008051602061140b83398151915260048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015610be5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c09919061126b565b90505b6001600160a01b038216610c2257610c226112dc565b6001600160a01b038116610c3857610c386112dc565b915091565b6000806000610c4b87610d69565b91509150816001600160a01b03166339255d5b82836001600160a01b03166362fc305e8b8b8b600067ffffffffffffffff811115610c8b57610c8b6112c6565b6040519080825280601f01601f191660200182016040528015610cb5576020820181803683370190505b50604051602401610cc994939291906112f2565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610d14939250908990600401611332565b6000604051808303816000875af1158015610d33573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d5b9190810190611368565b506001979650505050505050565b7f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea837547fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a546001600160a01b038116610c0c576001600160a01b038216610e2e57826001600160a01b03166320bc44256040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2b919061126b565b91505b604051635b69006f60e11b815260008051602061140b83398151915260048201526001600160a01b0383169063b6d200de90602401602060405180830381865afa158015610e80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea4919061126b565b9050817f65599bf746e17a00ea62e3610586992d88101b78eec3cf380706621fb97ea83755807fb969d79d88acd02d04ed7ee7d43b949e7daf093d363abcfbbc43dfdfd1ce969a556001600160a01b038216610c2257610c226112dc565b6001600160a01b0381168114610f1757600080fd5b50565b60008083601f840112610f2c57600080fd5b50813567ffffffffffffffff811115610f4457600080fd5b602083019150836020828501011115610f5c57600080fd5b9250929050565b600080600080600080600080600060c08a8c031215610f8157600080fd5b8935610f8c81610f02565b985060208a0135610f9c81610f02565b975060408a0135965060608a013567ffffffffffffffff80821115610fc057600080fd5b610fcc8d838e01610f1a565b909850965060808c0135915080821115610fe557600080fd5b610ff18d838e01610f1a565b909650945060a08c013591508082111561100a57600080fd5b506110178c828d01610f1a565b915080935050809150509295985092959850929598565b60005b83811015611049578181015183820152602001611031565b50506000910152565b6000815180845261106a81602086016020860161102e565b601f01601f19169290920160200192915050565b6020815260006110916020830184611052565b9392505050565b600080600080600080600060a0888a0312156110b357600080fd5b87356110be81610f02565b965060208801356110ce81610f02565b955060408801359450606088013567ffffffffffffffff808211156110f257600080fd5b6110fe8b838c01610f1a565b909650945060808a013591508082111561111757600080fd5b506111248a828b01610f1a565b989b979a50959850939692959293505050565b60006020828403121561114957600080fd5b813561109181610f02565b80600b0b8114610f1757600080fd5b60008060006060848603121561117857600080fd5b833561118381610f02565b9250602084013561119381610f02565b915060408401356111a381611154565b809150509250925092565b600080604083850312156111c157600080fd5b82356111cc81610f02565b9150602083013580151581146111e157600080fd5b809150509250929050565b600080604083850312156111ff57600080fd5b823561120a81610f02565b915060208301356111e181610f02565b6000806040838503121561122d57600080fd5b823561123881611154565b946020939093013593505050565b6000806040838503121561125957600080fd5b8235915060208301356111e181611154565b60006020828403121561127d57600080fd5b815161109181610f02565b6000806000806080858703121561129e57600080fd5b8451935060208501516112b081611154565b6040860151606090960151949790965092505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b03858116825284166020820152600b83900b604082015260806060820181905260009061132890830184611052565b9695505050505050565b6001600160a01b038416815260606020820181905260009061135690830185611052565b82810360408401526113288185611052565b60006020828403121561137a57600080fd5b815167ffffffffffffffff8082111561139257600080fd5b818401915084601f8301126113a657600080fd5b8151818111156113b8576113b86112c6565b604051601f8201601f19908116603f011681019083821181831017156113e0576113e06112c6565b816040528281528760208487010111156113f957600080fd5b6103cc83602083016020880161102e56fea9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3a2646970667358221220b5c43502fa5f2886ec493d879ffea8f43311468b63a4af985e3950b5120ab54364736f6c63430008130033",z5=eb=>eb.length>1;class z8 extends u9.lV{constructor(...eb){z5(eb)?super(...eb):super(z6,z4,eb[0])}deploy(eb,em,ew,eM,eC){return super.deploy(eb,em,ew,eM,eC||{})}getDeployTransaction(eb,em,ew,eM,eC){return super.getDeployTransaction(eb,em,ew,eM,eC||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(z6)}static connect(eb,em){return new u9.CH(eb,z6,em)}}z8.bytecode=z4,z8.abi=z6;let z9=[{stateMutability:"nonpayable",type:"fallback"},{inputs:[],name:"NON_UPGRADABLE_DEPLOYMENT",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],z7="0x60a06040526000608052348015601457600080fd5b50608051609c61002d600039600060300152609c6000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063cd312ec414602c575b6000ff5b60527f000000000000000000000000000000000000000000000000000000000000000081565b604051901515815260200160405180910390f3fea264697066735822122065028e6cc3a1447f60610dded44e58a413f3848e4b4a34b86a10c0987bdfac5764736f6c63430008130033",wb=eb=>eb.length>1;class wm extends u9.lV{constructor(...eb){wb(eb)?super(...eb):super(z9,z7,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(z9)}static connect(eb,em){return new u9.CH(eb,z9,em)}}wm.bytecode=z7,wm.abi=z9;let wy=[{inputs:[{internalType:"bytes32",name:"uuid",type:"bytes32"},{internalType:"uint256",name:"w",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"waterMark",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],wv="0x60c060405234801561001057600080fd5b5060405161059438038061059483398101604081905261002f9161003d565b60809190915260a052610061565b6000806040838503121561005057600080fd5b505080516020909101519092909150565b60805160a051610502610092600039600060d601526000818160a30152818161032d015261044801526105026000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063469519541461006757806350d75d251461007c57806352d1902d146100a15780636154b102146100d15780638129fc1c146100f85780639903ad38146100f8575b600080fd5b61007a610075366004610483565b610100565b005b61008461010c565b6040516001600160a01b0390911681526020015b60405180910390f35b7f00000000000000000000000000000000000000000000000000000000000000005b604051908152602001610098565b6100c37f000000000000000000000000000000000000000000000000000000000000000081565b61007a61013b565b61010981610249565b50565b60006101367f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b600054610100900460ff161580801561015b5750600054600160ff909116105b806101755750303b158015610175575060005460ff166001145b6101dd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610200576000805461ff0019166101001790555b8015610109576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b60006102737f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036102c95760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c6500000060448201526064016101d4565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610307573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032b91906104b3565b7f0000000000000000000000000000000000000000000000000000000000000000146103a55760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b60648201526084016101d4565b6001600160a01b03811630036103fd5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f700000000000000060448201526064016101d4565b610425817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f0000000000000000000000000000000000000000000000000000000000000000604080519182526001600160a01b03841660208301520161023e565b60006020828403121561049557600080fd5b81356001600160a01b03811681146104ac57600080fd5b9392505050565b6000602082840312156104c557600080fd5b505191905056fea2646970667358221220bb9a4c735200a5f550b43f719616e88f330f378b36c178fde8ae74e7dcd5f17c64736f6c63430008130033",wz=eb=>eb.length>1;class ww extends u9.lV{constructor(...eb){wz(eb)?super(...eb):super(wy,wv,eb[0])}deploy(eb,em,ew){return super.deploy(eb,em,ew||{})}getDeployTransaction(eb,em,ew){return super.getDeployTransaction(eb,em,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(wy)}static connect(eb,em){return new u9.CH(eb,wy,em)}}ww.bytecode=wv,ww.abi=wy;let wM=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"superTokenLogic",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFTLogic",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFTLogic",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_NON_UPGRADEABLE_IS_DEPRECATED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_GOVERNANCE_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_HOST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_UNINITIALIZED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"CustomSuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"SuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"tokenLogic",type:"address"}],name:"SuperTokenLogicCreated",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"_SUPER_TOKEN_LOGIC",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingToken",type:"address"}],name:"computeCanonicalERC20WrapperAddress",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"},{internalType:"bool",name:"isDeployed",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"_underlyingToken",type:"address"}],name:"createCanonicalERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingTokenAddress",type:"address"}],name:"getCanonicalERC20Wrapper",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenLogic",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"underlyingToken",type:"address"},{internalType:"address",name:"superToken",type:"address"}],internalType:"struct SuperTokenFactoryBase.InitializeData[]",name:"_data",type:"tuple[]"}],name:"initializeCanonicalWrapperSuperTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"customSuperTokenProxy",type:"address"}],name:"initializeCustomSuperToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}],wC="0x6101006040523480156200001257600080fd5b506040516200221d3803806200221d833981016040819052620000359162000107565b6001600160a01b0380851660a052831660808190526040805163132075a760e31b81529051869286928692869291639903ad3891600480830192600092919082900301818387803b1580156200008a57600080fd5b505af19250505080156200009c575060015b506001600160a01b0380831660c05281811660e0526080516040519116907fc13fb19d60857980e565bf5dae406b8802d3c1cec50c6156b30b12b87402978390600090a250505050505050506200016f565b6001600160a01b03811681146200010457600080fd5b50565b600080600080608085870312156200011e57600080fd5b84516200012b81620000ee565b60208601519094506200013e81620000ee565b60408601519093506200015181620000ee565b60608601519092506200016481620000ee565b939692955090935050565b60805160a05160c05160e05161202e620001ef6000396000818161020601526109b40152600081816101df015261089b015260008181610158015281816107770152610c88015260008181610245015281816102c601528181610465015281816108ca015281816109e301528181610fc00152611115015261202e6000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80638129fc1c116100ad578063bab74c8911610071578063bab74c891461028f578063cbf927b3146102c1578063d412d344146102e8578063e094be24146102fb578063eff0a89d1461030e57600080fd5b80638129fc1c1461023b5780639470a5b21461024357806397e011ed146102695780639903ad381461023b578063a6d0c5341461027c57600080fd5b806350d75d25116100f457806350d75d25146101a457806352d1902d146101ac5780635365d19f146101da5780635a7792df146102015780636c684bb01461022857600080fd5b8063151188dc1461012657806320bc442514610156578063431f14811461017c578063469519541461018f575b600080fd5b61013961013436600461151d565b61033a565b6040516001600160a01b0390911681526020015b60405180910390f35b7f0000000000000000000000000000000000000000000000000000000000000000610139565b61013961018a36600461159e565b6106ed565b6101a261019d36600461151d565b61076c565b005b610139610ac7565b6040517fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620815260200161014d565b6101397f000000000000000000000000000000000000000000000000000000000000000081565b6101397f000000000000000000000000000000000000000000000000000000000000000081565b610139610236366004611631565b610af6565b6101a2610b75565b7f0000000000000000000000000000000000000000000000000000000000000000610139565b6101a26102773660046116d8565b610c84565b61013961028a36600461175c565b610e93565b6102a261029d36600461151d565b610ea6565b604080516001600160a01b03909316835290151560208301520161014d565b6101397f000000000000000000000000000000000000000000000000000000000000000081565b6101a26102f636600461151d565b610fa9565b610139610309366004611802565b61105f565b61013961031c36600461151d565b6001600160a01b039081166000908152600160205260409020541690565b600080805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b031661038c576040516306ce6e6d60e21b815260040160405180910390fd5b6001600160a01b0380831660009081526001602052604090205483911680156103c8576040516348eb3cb960e11b815260040160405180910390fd5b604080516001600160a01b038416602082015260009101604051602081830303815290604052805190602001209050600081604051610406906114ee565b8190604051809103906000f5905080158015610426573d6000803e3d6000fd5b506001600160a01b038581166000908152600160205260409081902080546001600160a01b0319168484169081179091559051634a0687ef60e01b81527f00000000000000000000000000000000000000000000000000000000000000009092166004830152919250634a0687ef90602401600060405180830381600087803b1580156104b257600080fd5b505af11580156104c6573d6000803e3d6000fd5b5050505060008190506000876001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053391906118bb565b90506000886001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610575573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261059d9190810190611912565b90506000896001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156105df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106079190810190611912565b9050836001600160a01b03166342fe09808b858560405160200161062b91906119b4565b6040516020818303038152906040528560405160200161064b91906119e2565b6040516020818303038152906040526040518563ffffffff1660e01b81526004016106799493929190611a33565b600060405180830381600087803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b50506040516001600160a01b03871692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a2509198975050505050505050565b600061076187886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075591906118bb565b8888888888600061105f565b979650505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107b55760405163478b8e8360e01b815260040160405180910390fd5b6107be816112b4565b60008190506000816001600160a01b0316635365d19f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108279190611a72565b90506000826001600160a01b0316635a7792df6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610869573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088d9190611a72565b9050816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316146109a8577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ef43d2c66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610926573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094a9190611a72565b6040516311a5465560e21b81526001600160a01b0384811660048301529190911690634695195490602401600060405180830381600087803b15801561098f57600080fd5b505af11580156109a3573d6000803e3d6000fd5b505050505b806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614610ac1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634c5c0c856040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a639190611a72565b6040516311a5465560e21b81526001600160a01b0383811660048301529190911690634695195490602401600060405180830381600087803b158015610aa857600080fd5b505af1158015610abc573d6000803e3d6000fd5b505050505b50505050565b6000610af17f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000610b6988896001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5e91906118bb565b89898989898961105f565b98975050505050505050565b600054610100900460ff1615808015610b955750600054600160ff909116105b80610baf5750303b158015610baf575060005460ff166001145b610c175760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610c3a576000805461ff0019166101001790555b8015610c81576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b50565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ce4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d089190611a72565b9050806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6c9190611a72565b6001600160a01b0316336001600160a01b031614610d9d57604051632bf2a63360e21b815260040160405180910390fd5b6000805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49546001600160a01b031615610def576040516348eb3cb960e11b815260040160405180910390fd5b60005b82811015610ac157838382818110610e0c57610e0c611a8f565b9050604002016020016020810190610e24919061151d565b60016000868685818110610e3a57610e3a611a8f565b610e50926020604090920201908101915061151d565b6001600160a01b039081168252602082019290925260400160002080546001600160a01b0319169290911691909117905580610e8b81611aa5565b915050610df2565b6000610b6988888888888888600061105f565b6001600160a01b0380821660009081526001602052604081205490918291168015610ed75780925060019150610fa3565b600060405180602001610ee9906114ee565b601f1982820381018352601f9091011660408181526001600160a01b03881660208301529192506001600160f81b031991309101604051602081830303815290604052805190602001208380519060200120604051602001610f8294939291906001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b6040516020818303038152906040528051906020012060001c935060009250505b50915091565b604051634a0687ef60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152829190821690634a0687ef90602401600060405180830381600087803b15801561100f57600080fd5b505af1158015611023573d6000803e3d6000fd5b50506040516001600160a01b03851692507f437790724a6e97b75d23117f28cdd4b1beeafc34f7a0911ef256e9334f4369a59150600090a25050565b60006001600160a01b0389166110885760405163182e4f4160e11b815260040160405180910390fd5b600087600281111561109c5761109c611acc565b036110ba5760405163c4901a4360e01b815260040160405180910390fd5b60018760028111156110ce576110ce611acc565b036111865760006040516110e1906114ee565b604051809103906000f0801580156110fd573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116600483015291925090821690634a0687ef90602401600060405180830381600087803b15801561116557600080fd5b505af1158015611179573d6000803e3d6000fd5b505050508091505061120a565b6000604051611194906114fb565b604051809103906000f0801580156111b0573d6000803e3d6000fd5b509050806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156111ee57600080fd5b505af1158015611202573d6000803e3d6000fd5b509293505050505b60405163ec0d634360e01b81526001600160a01b0382169063ec0d634390611242908c908c908b908b908b908b908b90600401611b0b565b600060405180830381600087803b15801561125c57600080fd5b505af1158015611270573d6000803e3d6000fd5b50506040516001600160a01b03841692507fb52c6d9d122e8c07769b96d7bb14e66db58ee03fdebaaa2f92547e9c7ef0e65f9150600090a298975050505050505050565b60006112de7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036113345760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610c0e565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611372573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113969190611b62565b7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620146114105760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610c0e565b6001600160a01b03811630036114685760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610c0e565b611490817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fb146a22bc9644a3313a7e28592f37d32718a2b618d3d136aa524b0d86b87b620604080519182526001600160a01b038416602083015201610c78565b61024a80611b7c83390190565b61023380611dc683390190565b6001600160a01b0381168114610c8157600080fd5b60006020828403121561152f57600080fd5b813561153a81611508565b9392505050565b80356003811061155057600080fd5b919050565b60008083601f84011261156757600080fd5b50813567ffffffffffffffff81111561157f57600080fd5b60208301915083602082850101111561159757600080fd5b9250929050565b600080600080600080608087890312156115b757600080fd5b86356115c281611508565b95506115d060208801611541565b9450604087013567ffffffffffffffff808211156115ed57600080fd5b6115f98a838b01611555565b9096509450606089013591508082111561161257600080fd5b5061161f89828a01611555565b979a9699509497509295939492505050565b600080600080600080600060a0888a03121561164c57600080fd5b873561165781611508565b965061166560208901611541565b9550604088013567ffffffffffffffff8082111561168257600080fd5b61168e8b838c01611555565b909750955060608a01359150808211156116a757600080fd5b506116b48a828b01611555565b90945092505060808801356116c881611508565b8091505092959891949750929550565b600080602083850312156116eb57600080fd5b823567ffffffffffffffff8082111561170357600080fd5b818501915085601f83011261171757600080fd5b81358181111561172657600080fd5b8660208260061b850101111561173b57600080fd5b60209290920196919550909350505050565b60ff81168114610c8157600080fd5b600080600080600080600060a0888a03121561177757600080fd5b873561178281611508565b965060208801356117928161174d565b95506117a060408901611541565b9450606088013567ffffffffffffffff808211156117bd57600080fd5b6117c98b838c01611555565b909650945060808a01359150808211156117e257600080fd5b506117ef8a828b01611555565b989b979a50959850939692959293505050565b60008060008060008060008060c0898b03121561181e57600080fd5b883561182981611508565b975060208901356118398161174d565b965061184760408a01611541565b9550606089013567ffffffffffffffff8082111561186457600080fd5b6118708c838d01611555565b909750955060808b013591508082111561188957600080fd5b506118968b828c01611555565b90945092505060a08901356118aa81611508565b809150509295985092959890939650565b6000602082840312156118cd57600080fd5b815161153a8161174d565b634e487b7160e01b600052604160045260246000fd5b60005b838110156119095781810151838201526020016118f1565b50506000910152565b60006020828403121561192457600080fd5b815167ffffffffffffffff8082111561193c57600080fd5b818401915084601f83011261195057600080fd5b815181811115611962576119626118d8565b604051601f8201601f19908116603f0116810190838211818310171561198a5761198a6118d8565b816040528281528760208487010111156119a357600080fd5b6107618360208301602088016118ee565b65029bab832b9160d51b8152600082516119d58160068501602087016118ee565b9190910160060192915050565b600082516119f48184602087016118ee565b600f60fb1b920191825250600101919050565b60008151808452611a1f8160208601602086016118ee565b601f01601f19169290920160200192915050565b6001600160a01b038516815260ff84166020820152608060408201819052600090611a6090830185611a07565b82810360608401526107618185611a07565b600060208284031215611a8457600080fd5b815161153a81611508565b634e487b7160e01b600052603260045260246000fd5b600060018201611ac557634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052602160045260246000fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600060018060a01b03808a16835260ff8916602084015260a06040840152611b3760a08401888a611ae2565b8381036060850152611b4a818789611ae2565b92505080841660808401525098975050505050505050565b600060208284031215611b7457600080fd5b505191905056fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033608060405234801561001057600080fd5b50610213806100206000396000f3fe6080604052600436106100225760003560e01c80638129fc1c1461003957610031565b366100315761002f61004e565b005b61002f61004e565b34801561004557600080fd5b5061002f610060565b61005e6100596100d0565b610173565b565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546001600160a01b038116156100aa576040516305c5d81960e01b815260040160405180910390fd5b50337fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a055565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546000906001600160a01b03811661010b5761010b610197565b806001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016d91906101ad565b91505090565b3660008037600080366000845af43d6000803e808015610192573d6000f35b3d6000fd5b634e487b7160e01b600052600160045260246000fd5b6000602082840312156101bf57600080fd5b81516001600160a01b03811681146101d657600080fd5b939250505056fea26469706673582212208aedd930463a9ef04ca914601becd18e8316234054a71d6de40ce23faac57e5064736f6c63430008130033a2646970667358221220f157cc92906aed971b52d2aaacb2fb29714c922a65b8381e0e16fb7a9ea6e51264736f6c63430008130033",wx=eb=>eb.length>1;class wk extends u9.lV{constructor(...eb){wx(eb)?super(...eb):super(wM,wC,eb[0])}deploy(eb,em,ew,eM,eC){return super.deploy(eb,em,ew,eM,eC||{})}getDeployTransaction(eb,em,ew,eM,eC){return super.getDeployTransaction(eb,em,ew,eM,eC||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(wM)}static connect(eb,em){return new u9.CH(eb,wM,em)}}wk.bytecode=wC,wk.abi=wM;let wT=[{inputs:[],name:"SUPER_TOKEN_FACTORY_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_NON_UPGRADEABLE_IS_DEPRECATED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_GOVERNANCE_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ONLY_HOST",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_UNINITIALIZED",type:"error"},{inputs:[],name:"SUPER_TOKEN_FACTORY_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"CustomSuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"}],name:"SuperTokenCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"tokenLogic",type:"address"}],name:"SuperTokenLogicCreated",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT_LOGIC",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"_SUPER_TOKEN_LOGIC",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingToken",type:"address"}],name:"computeCanonicalERC20WrapperAddress",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"},{internalType:"bool",name:"isDeployed",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"_underlyingToken",type:"address"}],name:"createCanonicalERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20Metadata",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"enum ISuperTokenFactory.Upgradability",name:"upgradability",type:"uint8"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"createERC20Wrapper",outputs:[{internalType:"contract ISuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_underlyingTokenAddress",type:"address"}],name:"getCanonicalERC20Wrapper",outputs:[{internalType:"address",name:"superTokenAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenLogic",outputs:[{internalType:"contract ISuperToken",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"underlyingToken",type:"address"},{internalType:"address",name:"superToken",type:"address"}],internalType:"struct SuperTokenFactoryBase.InitializeData[]",name:"_data",type:"tuple[]"}],name:"initializeCanonicalWrapperSuperTokens",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"customSuperTokenProxy",type:"address"}],name:"initializeCustomSuperToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}];class w_{static createInterface(){return new pE.vU(wT)}static connect(eb,em){return new u9.CH(eb,wT,em)}}w_.abi=wT;let wE=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"CIF_NFT_ONLY_CONSTANT_OUTFLOW",type:"error"},{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:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{inputs:[],name:"CONSTANT_FLOW_AGREEMENT_V1",outputs:[{internalType:"contract IConstantFlowAgreementV1",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_BASE_URI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],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:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"newTokenId",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],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:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",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:"pure",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}],wS="0x60e06040523480156200001157600080fd5b50604051620021ae380380620021ae8339810160408190526200003491620000fd565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015283919063b6d200de90602401602060405180830381865afa158015620000a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c691906200013c565b6001600160a01b039081166080529190911660c05250620001639050565b6001600160a01b0381168114620000fa57600080fd5b50565b600080604083850312156200011157600080fd5b82516200011e81620000e4565b60208401519092506200013181620000e4565b809150509250929050565b6000602082840312156200014f57600080fd5b81516200015c81620000e4565b9392505050565b60805160a05160c051611ff8620001b66000396000818161045501528181610657015281816106c901526109c30152600081816102e4015261071401526000818161024b01526110cf0152611ff86000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806352d1902d116100f95780639903ad3811610097578063b88d4fde11610071578063b88d4fde14610417578063c87b56dd1461042a578063e985e9c51461043d578063ef43d2c61461045057600080fd5b80639903ad38146103f4578063a22cb465146103fc578063a497325b1461040f57600080fd5b806370a08231116100d357806370a082311461036c57806389f71d2d146103805780638d47859e1461039357806395d89b41146103ec57600080fd5b806352d1902d146103215780636352211e146103515780636c0360eb1461036457600080fd5b806340c10f1911610166578063469519541161014057806346951954146102cc57806349f289dc146102df5780634cd88b761461030657806350d75d251461031957600080fd5b806340c10f191461029357806342842e0e146102a657806342966c68146102b957600080fd5b8063095ea7b3116101a2578063095ea7b314610231578063181561011461024657806323b872dd1461026d5780632f3885601461028057600080fd5b806301ffc9a7146101c957806306fdde03146101f1578063081812fc14610206575b600080fd5b6101dc6101d7366004611680565b610477565b60405190151581526020015b60405180910390f35b6101f96104c9565b6040516101e891906116ce565b610219610214366004611701565b61055b565b6040516001600160a01b0390911681526020016101e8565b61024461023f36600461172f565b610582565b005b6102197f000000000000000000000000000000000000000000000000000000000000000081565b61024461027b36600461175b565b61060e565b61024461028e366004611701565b610640565b6102446102a136600461172f565b61064c565b6102446102b436600461175b565b6106a3565b6102446102c7366004611701565b6106be565b6102446102da36600461179c565b610710565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b610244610314366004611886565b6107c8565b6102196108ae565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e5b6040519081526020016101e8565b61021961035f366004611701565b6108dd565b6101f9610912565b61034361037a36600461179c565b50600190565b61034361038e3660046118ea565b610932565b6103a66103a1366004611701565b610985565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff16918101919091526080016101e8565b6101f9610a2e565b610244610a3d565b61024461040a366004611935565b610aff565b6101f9610b0a565b610244610425366004611973565b610b26565b6101f9610438366004611701565b610b5f565b6101dc61044b3660046119f3565b610b6c565b6102197f000000000000000000000000000000000000000000000000000000000000000081565b60006301ffc9a760e01b6001600160e01b0319831614806104a857506380ac58cd60e01b6001600160e01b03198316145b806104c35750635b5e139f60e01b6001600160e01b03198316145b92915050565b6060600180546104d890611a21565b80601f016020809104026020016040519081016040528092919081815260200182805461050490611a21565b80156105515780601f1061052657610100808354040283529160200191610551565b820191906000526020600020905b81548152906001019060200180831161053457829003601f168201915b5050505050905090565b600061056682610b9a565b506000908152600360205260409020546001600160a01b031690565b600061058d826108dd565b9050806001600160a01b0316836001600160a01b0316036105c15760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b038216148015906105e157506105df8133610b6c565b155b156105ff5760405163519a92c160e11b815260040160405180910390fd5b6106098383610bc0565b505050565b6106183382610c2e565b610635576040516312a8eb0360e11b815260040160405180910390fd5b610609838383610c8c565b61064981610ca5565b50565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106955760405163740f7abd60e11b815260040160405180910390fd5b61069f8282610cd5565b5050565b61060983838360405180602001604052806000815250610b26565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107075760405163740f7abd60e11b815260040160405180910390fd5b61064981610d11565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107949190611a5b565b9050336001600160a01b038216146107bf5760405163ebb7505b60e01b815260040160405180910390fd5b61069f82610d84565b600054610100900460ff16158080156107e85750600054600160ff909116105b806108025750303b158015610802575060005460ff166001145b6108275760405162461bcd60e51b815260040161081e90611a78565b60405180910390fd5b6000805460ff19166001179055801561084a576000805461ff0019166101001790555b60016108568482611b14565b5060026108638382611b14565b508015610609576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60006108d87f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000806108e983610fbe565b90506001600160a01b0381166104c35760405163eab95e3b60e01b815260040160405180910390fd5b60606040518060600160405280602d8152602001611f96602d9139905090565b60408051466020808301919091526001600160a01b0380871683850152808616606084015284166080808401919091528351808403909101815260a090920190925280519101206000905b949350505050565b60408051608081018252600080825260208201819052818301819052606082015290516346a3c2cf60e11b8152600481018390526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638d47859e90602401608060405180830381865afa158015610a0a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c39190611bd4565b6060600280546104d890611a21565b600054610100900460ff1615808015610a5d5750600054600160ff909116105b80610a775750303b158015610a77575060005460ff166001145b610a935760405162461bcd60e51b815260040161081e90611a78565b6000805460ff191660011790558015610ab6576000805461ff0019166101001790555b8015610649576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61069f338383610fd5565b6040518060600160405280602d8152602001611f96602d913981565b610b303383610c2e565b610b4d576040516312a8eb0360e11b815260040160405180910390fd5b610b5984848484611074565b50505050565b60606104c382600161107f565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b610ba3816111da565b6106495760405163eab95e3b60e01b815260040160405180910390fd5b600081815260036020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610bf582610fbe565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610c3a836108dd565b9050806001600160a01b0316846001600160a01b03161480610c615750610c618185610b6c565b8061097d5750836001600160a01b0316610c7a8461055b565b6001600160a01b031614949350505050565b60405163553a3f6560e11b815260040160405180910390fd5b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce790602001610af4565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000610d1c82610985565b600083815260036020526040902080546001600160a01b031916905590508160006001600160a01b031682604001516001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000610dae7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610e045760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c65000000604482015260640161081e565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e669190611c62565b7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e14610ee05760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b606482015260840161081e565b6001600160a01b0381163003610f385760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f7000000000000000604482015260640161081e565b610f60817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f9a61ea3469d742a522f41a67608e442d2c27902bed81123f00ba6d3e12e9871e604080519182526001600160a01b038416602083015201610af4565b600080610fca83610985565b604001519392505050565b816001600160a01b0316836001600160a01b0316036110075760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610b59848484610c8c565b6060600061108c84610985565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa158015611116573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113a9190611c7b565b5050915050611147610912565b61115e826bffffffffffffffffffffffff166111f7565b8661118557604051806040016040528060048152602001637472756560e01b8152506111a4565b6040518060400160405280600581526020016466616c736560d81b8152505b6111ad8961128a565b6040516020016111c09493929190611cdb565b604051602081830303815290604052935050505092915050565b6000806111e683610fbe565b6001600160a01b0316141592915050565b6060600061120483611405565b600101905060008167ffffffffffffffff811115611224576112246117b9565b6040519080825280601f01601f19166020018201604052801561124e576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461125857509392505050565b6060600061129783610985565b90506112b181600001516001600160a01b031660146114dd565b6112ba466111f7565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156112fc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113249190810190611d63565b61133c84602001516001600160a01b031660146114dd565b61135485604001516001600160a01b031660146114dd565b6113c586600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611399573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113bd9190611dda565b60ff166111f7565b6113d8876060015163ffffffff166111f7565b6040516020016113ee9796959493929190611dfd565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106114445772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611470576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061148e57662386f26fc10000830492506010015b6305f5e10083106114a6576305f5e100830492506008015b61271083106114ba57612710830492506004015b606483106114cc576064830492506002015b600a83106104c35760010192915050565b606060006114ec836002611f3e565b6114f7906002611f55565b67ffffffffffffffff81111561150f5761150f6117b9565b6040519080825280601f01601f191660200182016040528015611539576020820181803683370190505b509050600360fc1b8160008151811061155457611554611f68565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061158357611583611f68565b60200101906001600160f81b031916908160001a90535060006115a7846002611f3e565b6115b2906001611f55565b90505b600181111561162a576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106115e6576115e6611f68565b1a60f81b8282815181106115fc576115fc611f68565b60200101906001600160f81b031916908160001a90535060049490941c9361162381611f7e565b90506115b5565b5083156116795760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161081e565b9392505050565b60006020828403121561169257600080fd5b81356001600160e01b03198116811461167957600080fd5b60005b838110156116c55781810151838201526020016116ad565b50506000910152565b60208152600082518060208401526116ed8160408501602087016116aa565b601f01601f19169190910160400192915050565b60006020828403121561171357600080fd5b5035919050565b6001600160a01b038116811461064957600080fd5b6000806040838503121561174257600080fd5b823561174d8161171a565b946020939093013593505050565b60008060006060848603121561177057600080fd5b833561177b8161171a565b9250602084013561178b8161171a565b929592945050506040919091013590565b6000602082840312156117ae57600080fd5b81356116798161171a565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156117f8576117f86117b9565b604052919050565b600067ffffffffffffffff82111561181a5761181a6117b9565b50601f01601f191660200190565b600061183b61183684611800565b6117cf565b905082815283838301111561184f57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261187757600080fd5b61167983833560208501611828565b6000806040838503121561189957600080fd5b823567ffffffffffffffff808211156118b157600080fd5b6118bd86838701611866565b935060208501359150808211156118d357600080fd5b506118e085828601611866565b9150509250929050565b6000806000606084860312156118ff57600080fd5b833561190a8161171a565b9250602084013561191a8161171a565b9150604084013561192a8161171a565b809150509250925092565b6000806040838503121561194857600080fd5b82356119538161171a565b91506020830135801515811461196857600080fd5b809150509250929050565b6000806000806080858703121561198957600080fd5b84356119948161171a565b935060208501356119a48161171a565b925060408501359150606085013567ffffffffffffffff8111156119c757600080fd5b8501601f810187136119d857600080fd5b6119e787823560208401611828565b91505092959194509250565b60008060408385031215611a0657600080fd5b8235611a118161171a565b915060208301356119688161171a565b600181811c90821680611a3557607f821691505b602082108103611a5557634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611a6d57600080fd5b81516116798161171a565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f82111561060957600081815260208120601f850160051c81016020861015611aed5750805b601f850160051c820191505b81811015611b0c57828155600101611af9565b505050505050565b815167ffffffffffffffff811115611b2e57611b2e6117b9565b611b4281611b3c8454611a21565b84611ac6565b602080601f831160018114611b775760008415611b5f5750858301515b600019600386901b1c1916600185901b178555611b0c565b600085815260208120601f198616915b82811015611ba657888601518255948401946001909101908401611b87565b5085821015611bc45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060808284031215611be657600080fd5b6040516080810181811067ffffffffffffffff82111715611c0957611c096117b9565b6040528251611c178161171a565b81526020830151611c278161171a565b60208201526040830151611c3a8161171a565b6040820152606083015163ffffffff81168114611c5657600080fd5b60608201529392505050565b600060208284031215611c7457600080fd5b5051919050565b60008060008060808587031215611c9157600080fd5b84519350602085015180600b0b8114611ca957600080fd5b6040860151606090960151949790965092505050565b60008151611cd18185602086016116aa565b9290920192915050565b60008551611ced818460208a016116aa565b693f666c6f77526174653d60b01b9083019081528551611d1481600a840160208a016116aa565b69266f7574676f696e673d60b01b600a92909101918201528451611d3f8160148401602089016116aa565b8451910190611d558160148401602088016116aa565b016014019695505050505050565b600060208284031215611d7557600080fd5b815167ffffffffffffffff811115611d8c57600080fd5b8201601f81018413611d9d57600080fd5b8051611dab61183682611800565b818152856020838501011115611dc057600080fd5b611dd18260208301602086016116aa565b95945050505050565b600060208284031215611dec57600080fd5b815160ff8116811461167957600080fd5b6e26746f6b656e5f616464726573733d60881b815260008851611e2781600f850160208d016116aa565b6926636861696e5f69643d60b01b600f918401918201528851611e51816019840160208d016116aa565b6d26746f6b656e5f73796d626f6c3d60901b601992909101918201528751611e80816027840160208c016116aa565b672673656e6465723d60c01b602792909101918201528651611ea981602f840160208b016116aa565b692672656365697665723d60b01b602f9290910191820152611f1a611f14611efc611ef6611eda603986018b611cbf565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b88611cbf565b6b2673746172745f646174653d60a01b8152600c0190565b85611cbf565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104c3576104c3611f28565b808201808211156104c3576104c3611f28565b634e487b7160e01b600052603260045260246000fd5b600081611f8d57611f8d611f28565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a2646970667358221220b1712174b00d0496404090493c8a89e33bfa8a4ce567ae086415054ae915149b64736f6c63430008130033",wA=eb=>eb.length>1;class wN extends u9.lV{constructor(...eb){wA(eb)?super(...eb):super(wE,wS,eb[0])}deploy(eb,em,ew){return super.deploy(eb,em,ew||{})}getDeployTransaction(eb,em,ew){return super.getDeployTransaction(eb,em,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(wE)}static connect(eb,em){return new u9.CH(eb,wE,em)}}wN.bytecode=wS,wN.abi=wE;let wI=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"COF_NFT_INVALID_SUPER_TOKEN",type:"error"},{inputs:[],name:"COF_NFT_MINT_TO_AND_FLOW_RECEIVER_SAME",type:"error"},{inputs:[],name:"COF_NFT_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"COF_NFT_ONLY_CONSTANT_INFLOW",type:"error"},{inputs:[],name:"COF_NFT_ONLY_FLOW_AGREEMENTS",type:"error"},{inputs:[],name:"COF_NFT_TOKEN_ALREADY_EXISTS",type:"error"},{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:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{inputs:[],name:"CONSTANT_FLOW_AGREEMENT_V1",outputs:[{internalType:"contract IConstantFlowAgreementV1",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_BASE_URI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],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:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onCreate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onDelete",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"}],name:"onUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",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:"pure",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}],wD="0x60e06040523480156200001157600080fd5b506040516200246f3803806200246f8339810160408190526200003491620000fd565b6001600160a01b03821660a0819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015283919063b6d200de90602401602060405180830381865afa158015620000a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c691906200013c565b6001600160a01b039081166080529190911660c05250620001639050565b6001600160a01b0381168114620000fa57600080fd5b50565b600080604083850312156200011157600080fd5b82516200011e81620000e4565b60208401519092506200013181620000e4565b809150509250929050565b6000602082840312156200014f57600080fd5b81516200015c81620000e4565b9392505050565b60805160a05160c0516122a4620001cb600039600081816102f001528181610b4901528181610c430152610d5a0152600081816102c9015261068901526000818161025601528181610abc01528181610bbf01528181610cbb015261125201526122a46000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80636352211e11610104578063a22cb465116100a2578063e985e9c511610071578063e985e9c514610449578063eb54a7ca1461045c578063ef1f02371461046f578063f7e3d9831461048257600080fd5b8063a22cb46514610408578063a497325b1461041b578063b88d4fde14610423578063c87b56dd1461043657600080fd5b806389f71d2d116100de57806389f71d2d1461038c5780638d47859e1461039f57806395d89b41146103f85780639903ad381461040057600080fd5b80636352211e1461035d5780636c0360eb1461037057806370a082311461037857600080fd5b806342842e0e116101715780634c5c0c851161014b5780634c5c0c85146102eb5780634cd88b761461031257806350d75d251461032557806352d1902d1461032d57600080fd5b806342842e0e1461029e57806346951954146102b157806349f289dc146102c457600080fd5b8063095ea7b3116101ad578063095ea7b31461023c578063181561011461025157806323b872dd146102785780632f3885601461028b57600080fd5b806301ffc9a7146101d457806306fdde03146101fc578063081812fc14610211575b600080fd5b6101e76101e23660046119a4565b610495565b60405190151581526020015b60405180910390f35b6102046104e7565b6040516101f391906119f2565b61022461021f366004611a25565b610579565b6040516001600160a01b0390911681526020016101f3565b61024f61024a366004611a53565b6105a0565b005b6102247f000000000000000000000000000000000000000000000000000000000000000081565b61024f610286366004611a7f565b61062c565b61024f610299366004611a25565b61065e565b61024f6102ac366004611a7f565b61066a565b61024f6102bf366004611ac0565b610685565b6102247f000000000000000000000000000000000000000000000000000000000000000081565b6102247f000000000000000000000000000000000000000000000000000000000000000081565b61024f610320366004611baa565b610741565b610224610827565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b7845b6040519081526020016101f3565b61022461036b366004611a25565b610856565b61020461088f565b61034f610386366004611ac0565b50600190565b61034f61039a366004611c0e565b6108af565b6103b26103ad366004611a25565b6108c4565b6040805182516001600160a01b03908116825260208085015182169083015283830151169181019190915260609182015163ffffffff16918101919091526080016101f3565b610204610945565b61024f610954565b61024f610416366004611c59565b610a16565b610204610a21565b61024f610431366004611c97565b610a3d565b610204610444366004611a25565b610a76565b6101e7610457366004611d17565b610a83565b61024f61046a366004611c0e565b610ab1565b61024f61047d366004611c0e565b610bb4565b61024f610490366004611c0e565b610cb0565b60006301ffc9a760e01b6001600160e01b0319831614806104c657506380ac58cd60e01b6001600160e01b03198316145b806104e15750635b5e139f60e01b6001600160e01b03198316145b92915050565b6060600180546104f690611d45565b80601f016020809104026020016040519081016040528092919081815260200182805461052290611d45565b801561056f5780601f106105445761010080835404028352916020019161056f565b820191906000526020600020905b81548152906001019060200180831161055257829003601f168201915b5050505050905090565b600061058482610d89565b506000908152600360205260409020546001600160a01b031690565b60006105ab82610856565b9050806001600160a01b0316836001600160a01b0316036105df5760405163e4790b2560e01b815260040160405180910390fd5b336001600160a01b038216148015906105ff57506105fd8133610a83565b155b1561061d5760405163519a92c160e11b815260040160405180910390fd5b6106278383610dc1565b505050565b6106363382610e2b565b610653576040516312a8eb0360e11b815260040160405180910390fd5b610627838383610e89565b61066781610ea2565b50565b61062783838360405180602001604052806000815250610a3d565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107099190611d7f565b9050336001600160a01b038216146107345760405163ebb7505b60e01b815260040160405180910390fd5b61073d82610ed2565b5050565b600054610100900460ff16158080156107615750600054600160ff909116105b8061077b5750303b15801561077b575060005460ff166001145b6107a05760405162461bcd60e51b815260040161079790611d9c565b60405180910390fd5b6000805460ff1916600117905580156107c3576000805461ff0019166101001790555b60016107cf8482611e38565b5060026107dc8382611e38565b508015610627576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b60006108517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000818152601660205260408120600101546001600160a01b0316806104e15760405163eab95e3b60e01b815260040160405180910390fd5b60606040518060600160405280602d8152602001612242602d9139905090565b60006108bc84848461110c565b949350505050565b60408051608081018252600080825260208201819052918101829052606081019190915250600090815260166020908152604091829020825160808101845281546001600160a01b039081168252600183015481169382019390935260029091015491821692810192909252600160a01b900463ffffffff16606082015290565b6060600280546104f690611d45565b600054610100900460ff16158080156109745750600054600160ff909116105b8061098e5750303b15801561098e575060005460ff166001145b6109aa5760405162461bcd60e51b815260040161079790611d9c565b6000805460ff1916600117905580156109cd576000805461ff0019166101001790555b8015610667576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b61073d338383611158565b6040518060600160405280602d8152602001612242602d913981565b610a473383610e2b565b610a64576040516312a8eb0360e11b815260040160405180910390fd5b610a70848484846111f7565b50505050565b60606104e1826000611202565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610afa5760405163d367b64f60e01b815260040160405180910390fd5b6000610b0784848461110c565b6000818152601660205260409020600101549091506001600160a01b031615610a7057610b3381610ea2565b604051630179c42b60e51b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632f388560906024015b600060405180830381600087803b158015610b9657600080fd5b505af1158015610baa573d6000803e3d6000fd5b5050505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bfd5760405163d367b64f60e01b815260040160405180910390fd5b6000610c0a84848461110c565b6000818152601660205260409020600101549091506001600160a01b031615610a7057604051630852cd8d60e31b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906342966c6890602401600060405180830381600087803b158015610c8f57600080fd5b505af1158015610ca3573d6000803e3d6000fd5b50505050610a708161135d565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cf95760405163d367b64f60e01b815260040160405180910390fd5b6000610d0684848461110c565b6000818152601660205260409020600101549091506001600160a01b0316610a7057610d34848484846113ec565b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f1990604401610b7c565b6000818152601660205260409020600101546001600160a01b03166106675760405163eab95e3b60e01b815260040160405180910390fd5b600081815260036020908152604080832080546001600160a01b0319166001600160a01b038781169182179092556016909352818420600101549151859492909116917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a45050565b600080610e3783610856565b9050806001600160a01b0316846001600160a01b03161480610e5e5750610e5e8185610a83565b806108bc5750836001600160a01b0316610e7784610579565b6001600160a01b031614949350505050565b60405163553a3f6560e11b815260040160405180910390fd5b6040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce790602001610a0b565b6000610efc7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603610f525760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c650000006044820152606401610797565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb49190611ef8565b7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b7841461102e5760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b6064820152608401610797565b6001600160a01b03811630036110865760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f70000000000000006044820152606401610797565b6110ae817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f87e44dce6a0d65a5ccf441783661f5727c2624b1f0088bbe957ce2c95406b784604080519182526001600160a01b038416602083015201610a0b565b60408051466020808301919091526001600160a01b03958616828401529385166060820152919093166080808301919091528351808303909101815260a0909101909252815191012090565b816001600160a01b0316836001600160a01b03160361118a5760405163d3c7732960e01b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610a70848484610e89565b6060600061120f846108c4565b805160208201516040808401519051631cd43d1160e31b81526001600160a01b0380851660048301529283166024820152908216604482015292935090916000917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa158015611299573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bd9190611f11565b50509150506112ca61088f565b6112e1826bffffffffffffffffffffffff1661151b565b8661130857604051806040016040528060048152602001637472756560e01b815250611327565b6040518060400160405280600581526020016466616c736560d81b8152505b611330896115ae565b6040516020016113439493929190611f71565b604051602081830303815290604052935050505092915050565b60008181526016602081815260408084206001810180546003855283872080546001600160a01b0319908116909155959094528154851682558054909416909355600290920180546001600160c01b031916905590516001600160a01b0390911691839183907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6001600160a01b03831661140257611402611ff9565b816001600160a01b0316836001600160a01b03160361142357611423611ff9565b6000818152601660205260409020600101546001600160a01b03161561144b5761144b611ff9565b604080516080810182526001600160a01b038087168252858116602080840182815287841685870190815263ffffffff4281166060880190815260008a81526016909552888520975188549088166001600160a01b0319918216178955935160018901805491891691909516179093559051600290960180549251909116600160a01b026001600160c01b03199092169590941694909417939093179091559151839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a450505050565b6060600061152883611729565b600101905060008167ffffffffffffffff81111561154857611548611add565b6040519080825280601f01601f191660200182016040528015611572576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461157c57509392505050565b606060006115bb836108c4565b90506115d581600001516001600160a01b03166014611801565b6115de4661151b565b82600001516001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015611620573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611648919081019061200f565b61166084602001516001600160a01b03166014611801565b61167885604001516001600160a01b03166014611801565b6116e986600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e19190612086565b60ff1661151b565b6116fc876060015163ffffffff1661151b565b60405160200161171297969594939291906120a9565b604051602081830303815290604052915050919050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106117685772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611794576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106117b257662386f26fc10000830492506010015b6305f5e10083106117ca576305f5e100830492506008015b61271083106117de57612710830492506004015b606483106117f0576064830492506002015b600a83106104e15760010192915050565b606060006118108360026121ea565b61181b906002612201565b67ffffffffffffffff81111561183357611833611add565b6040519080825280601f01601f19166020018201604052801561185d576020820181803683370190505b509050600360fc1b8160008151811061187857611878612214565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106118a7576118a7612214565b60200101906001600160f81b031916908160001a90535060006118cb8460026121ea565b6118d6906001612201565b90505b600181111561194e576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061190a5761190a612214565b1a60f81b82828151811061192057611920612214565b60200101906001600160f81b031916908160001a90535060049490941c936119478161222a565b90506118d9565b50831561199d5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610797565b9392505050565b6000602082840312156119b657600080fd5b81356001600160e01b03198116811461199d57600080fd5b60005b838110156119e95781810151838201526020016119d1565b50506000910152565b6020815260008251806020840152611a118160408501602087016119ce565b601f01601f19169190910160400192915050565b600060208284031215611a3757600080fd5b5035919050565b6001600160a01b038116811461066757600080fd5b60008060408385031215611a6657600080fd5b8235611a7181611a3e565b946020939093013593505050565b600080600060608486031215611a9457600080fd5b8335611a9f81611a3e565b92506020840135611aaf81611a3e565b929592945050506040919091013590565b600060208284031215611ad257600080fd5b813561199d81611a3e565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611b1c57611b1c611add565b604052919050565b600067ffffffffffffffff821115611b3e57611b3e611add565b50601f01601f191660200190565b6000611b5f611b5a84611b24565b611af3565b9050828152838383011115611b7357600080fd5b828260208301376000602084830101529392505050565b600082601f830112611b9b57600080fd5b61199d83833560208501611b4c565b60008060408385031215611bbd57600080fd5b823567ffffffffffffffff80821115611bd557600080fd5b611be186838701611b8a565b93506020850135915080821115611bf757600080fd5b50611c0485828601611b8a565b9150509250929050565b600080600060608486031215611c2357600080fd5b8335611c2e81611a3e565b92506020840135611c3e81611a3e565b91506040840135611c4e81611a3e565b809150509250925092565b60008060408385031215611c6c57600080fd5b8235611c7781611a3e565b915060208301358015158114611c8c57600080fd5b809150509250929050565b60008060008060808587031215611cad57600080fd5b8435611cb881611a3e565b93506020850135611cc881611a3e565b925060408501359150606085013567ffffffffffffffff811115611ceb57600080fd5b8501601f81018713611cfc57600080fd5b611d0b87823560208401611b4c565b91505092959194509250565b60008060408385031215611d2a57600080fd5b8235611d3581611a3e565b91506020830135611c8c81611a3e565b600181811c90821680611d5957607f821691505b602082108103611d7957634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611d9157600080fd5b815161199d81611a3e565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b601f82111561062757600081815260208120601f850160051c81016020861015611e115750805b601f850160051c820191505b81811015611e3057828155600101611e1d565b505050505050565b815167ffffffffffffffff811115611e5257611e52611add565b611e6681611e608454611d45565b84611dea565b602080601f831160018114611e9b5760008415611e835750858301515b600019600386901b1c1916600185901b178555611e30565b600085815260208120601f198616915b82811015611eca57888601518255948401946001909101908401611eab565b5085821015611ee85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215611f0a57600080fd5b5051919050565b60008060008060808587031215611f2757600080fd5b84519350602085015180600b0b8114611f3f57600080fd5b6040860151606090960151949790965092505050565b60008151611f678185602086016119ce565b9290920192915050565b60008551611f83818460208a016119ce565b693f666c6f77526174653d60b01b9083019081528551611faa81600a840160208a016119ce565b69266f7574676f696e673d60b01b600a92909101918201528451611fd58160148401602089016119ce565b8451910190611feb8160148401602088016119ce565b016014019695505050505050565b634e487b7160e01b600052600160045260246000fd5b60006020828403121561202157600080fd5b815167ffffffffffffffff81111561203857600080fd5b8201601f8101841361204957600080fd5b8051612057611b5a82611b24565b81815285602083850101111561206c57600080fd5b61207d8260208301602086016119ce565b95945050505050565b60006020828403121561209857600080fd5b815160ff8116811461199d57600080fd5b6e26746f6b656e5f616464726573733d60881b8152600088516120d381600f850160208d016119ce565b6926636861696e5f69643d60b01b600f9184019182015288516120fd816019840160208d016119ce565b6d26746f6b656e5f73796d626f6c3d60901b60199290910191820152875161212c816027840160208c016119ce565b672673656e6465723d60c01b60279290910191820152865161215581602f840160208b016119ce565b692672656365697665723d60b01b602f92909101918201526121c66121c06121a86121a2612186603986018b611f55565b6f26746f6b656e5f646563696d616c733d60801b815260100190565b88611f55565b6b2673746172745f646174653d60a01b8152600c0190565b85611f55565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104e1576104e16121d4565b808201808211156104e1576104e16121d4565b634e487b7160e01b600052603260045260246000fd5b600081612239576122396121d4565b50600019019056fe68747470733a2f2f6e66742e7375706572666c7569642e66696e616e63652f6366612f76322f6765746d657461a26469706673582212203b9dd6a02755f03637386b7713c3b09e3c44c27052a37308197045810e69bb5664736f6c63430008130033",wO=eb=>eb.length>1;class wP extends u9.lV{constructor(...eb){wO(eb)?super(...eb):super(wI,wD,eb[0])}deploy(eb,em,ew){return super.deploy(eb,em,ew||{})}getDeployTransaction(eb,em,ew){return super.getDeployTransaction(eb,em,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(wI)}static connect(eb,em){return new u9.CH(eb,wI,em)}}wP.bytecode=wD,wP.abi=wI;let wR=[{inputs:[],name:"CFA_NFT_APPROVE_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CALLER",type:"error"},{inputs:[],name:"CFA_NFT_APPROVE_TO_CURRENT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_INVALID_TOKEN_ID",type:"error"},{inputs:[],name:"CFA_NFT_ONLY_SUPER_TOKEN_FACTORY",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_CALLER_NOT_OWNER_OR_APPROVED_FOR_ALL",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_FROM_INCORRECT_OWNER",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_IS_NOT_ALLOWED",type:"error"},{inputs:[],name:"CFA_NFT_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{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:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"MetadataUpdate",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"},{inputs:[],name:"CONSTANT_FLOW_AGREEMENT_V1",outputs:[{internalType:"contract IConstantFlowAgreementV1",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_BASE_URI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"HOST",outputs:[{internalType:"contract ISuperfluid",name:"",type:"address"}],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:"",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[],name:"baseURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"flowDataByTokenId",outputs:[{components:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"flowSender",type:"address"},{internalType:"address",name:"flowReceiver",type:"address"},{internalType:"uint32",name:"flowStartDate",type:"uint32"}],internalType:"struct IFlowNFTBase.FlowNFTData",name:"flowData",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getTokenId",outputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"nftName",type:"string"},{internalType:"string",name:"nftSymbol",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",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:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",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:"pure",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],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:"uint256",name:"tokenId",type:"uint256"}],name:"triggerMetadataUpdate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}];class wB{static createInterface(){return new pE.vU(wR)}static connect(eb,em){return new u9.CH(eb,wR,em)}}wB.abi=wR;let wF=[{inputs:[],name:"FUSTP_ALREADY_INITIALIZED",type:"error"},{stateMutability:"payable",type:"fallback"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],wj="0x608060405234801561001057600080fd5b50610213806100206000396000f3fe6080604052600436106100225760003560e01c80638129fc1c1461003957610031565b366100315761002f61004e565b005b61002f61004e565b34801561004557600080fd5b5061002f610060565b61005e6100596100d0565b610173565b565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546001600160a01b038116156100aa576040516305c5d81960e01b815260040160405180910390fd5b50337fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a055565b7fb8fcd5719b3ddf8626f3664705a89b7fc476129a58c1aa5eda57c600cc1821a0546000906001600160a01b03811661010b5761010b610197565b806001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061016d91906101ad565b91505090565b3660008037600080366000845af43d6000803e808015610192573d6000f35b3d6000fd5b634e487b7160e01b600052600160045260246000fd5b6000602082840312156101bf57600080fd5b81516001600160a01b03811681146101d657600080fd5b939250505056fea26469706673582212208aedd930463a9ef04ca914601becd18e8316234054a71d6de40ce23faac57e5064736f6c63430008130033",wU=eb=>eb.length>1;class wV extends u9.lV{constructor(...eb){wU(eb)?super(...eb):super(wF,wj,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(wF)}static connect(eb,em){return new u9.CH(eb,wF,em)}}wV.bytecode=wj,wV.abi=wF;let wH=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"},{internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER",type:"error"},{inputs:[],name:"SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED",type:"error"},{inputs:[],name:"SUPER_TOKEN_MINT_TO_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_NFT_PROXY_ADDRESS_CHANGED",type:"error"},{inputs:[],name:"SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT",type:"error"},{inputs:[],name:"SUPER_TOKEN_NO_UNDERLYING_TOKEN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_ADMIN",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_GOV_OWNER",type:"error"},{inputs:[],name:"SUPER_TOKEN_ONLY_SELF",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS",type:"error"},{inputs:[],name:"SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"oldAdmin",type:"address"},{indexed:!0,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"AuthorizedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Burned",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantInflowNFT",name:"constantInflowNFT",type:"address"}],name:"ConstantInflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IConstantOutflowNFT",name:"constantOutflowNFT",type:"address"}],name:"ConstantOutflowNFTCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Minted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"tokenHolder",type:"address"}],name:"RevokedOperator",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"bytes",name:"operatorData",type:"bytes"}],name:"Sent",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenDowngraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"CONSTANT_INFLOW_NFT",outputs:[{internalType:"contract IConstantInflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CONSTANT_OUTFLOW_NFT",outputs:[{internalType:"contract IConstantOutflowNFT",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"authorizeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"changeAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"defaultOperators",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"downgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getAdmin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingDecimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"getUnderlyingToken",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"granularity",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"underlyingToken",type:"address"},{internalType:"uint8",name:"underlyingDecimals",type:"uint8"},{internalType:"string",name:"n",type:"string"},{internalType:"string",name:"s",type:"string"},{internalType:"address",name:"admin",type:"address"}],name:"initializeWithAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"address",name:"tokenHolder",type:"address"}],name:"isOperatorFor",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationApprove",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"operationDecreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationDowngrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"operationIncreaseAllowance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"operationSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"operationUpgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"operatorData",type:"bytes"}],name:"operatorSend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"}],name:"revokeOperator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfApproveFor",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfBurn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"selfMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"selfTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"send",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"toUnderlyingAmount",outputs:[{internalType:"uint256",name:"underlyingAmount",type:"uint256"},{internalType:"uint256",name:"adjustedAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"recipient",type:"address"}],name:"transferAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"holder",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"upgrade",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"}],w$="0x60e06040523480156200001157600080fd5b5060405162004fe838038062004fe88339810160408190526200003491620000cf565b6001600160a01b0380841660805282811660a081905290821660c0526040517fcf554eb342edf010a94e07701ae91e99e90b769f649f03aeb1153654ddd43c0190600090a26040516001600160a01b038216907f8837af285f4d380af9227df9ebafa13d992b487fa6d7a4366bd4154576085b8990600090a250505062000123565b6001600160a01b0381168114620000cc57600080fd5b50565b600080600060608486031215620000e557600080fd5b8351620000f281620000b6565b60208501519093506200010581620000b6565b60408501519092506200011881620000b6565b809150509250925092565b60805160a05160c051614e02620001e660003960008181610636015261148401526000818161092201526113e70152600081816104ab01528181610bfe01528181610c6d01528181610f10015281816110400152818161110f01528181611326015281816114d40152818161161c015281816117c7015281816118a601528181611c9701528181611d6101528181611df901528181611e6101528181611ee9015281816127b1015281816128480152818161397f0152613bbe0152614e026000f3fe608060405234801561001057600080fd5b50600436106103db5760003560e01c80636c2d9f2f1161020a578063b84cdd4a11610125578063d9d078d6116100b8578063ee719bc811610087578063ee719bc81461090c578063ef43d2c61461091d578063fad8b32a14610944578063fc673c4f14610957578063fe9d93031461096a57600080fd5b8063d9d078d61461087f578063dd62ed3e14610892578063eb3537cc146108cb578063ec0d6343146108f957600080fd5b8063ca0c1e7f116100f4578063ca0c1e7f14610833578063ca78946414610846578063cf97256d14610859578063d95b63711461086c57600080fd5b8063b84cdd4a146107e7578063bb0d196e146107fa578063c68d42831461080d578063c780fd821461082057600080fd5b806395d89b411161019d578063a1b2bf8b1161016c578063a1b2bf8b1461079b578063a3a7e7f3146107ae578063a457c2d7146107c1578063a9059cbb146107d457600080fd5b806395d89b41146107655780639903ad381461076d5780639bd9bbc6146107755780639d8767411461078857600080fd5b806383ba2525116101d957806383ba25251461071a5780638f2839701461072d57806392081a4714610740578063959b8c3f1461075257600080fd5b80636c2d9f2f146106d95780636e9960c3146106ec57806370a08231146106f457806379359f6f1461070757600080fd5b8063386fa221116102fa5780634c5c0c851161028d5780635b9d09cc1161025c5780635b9d09cc1461068d57806362aa5287146106a057806362ad1b83146106b357806366a12fb6146106c657600080fd5b80634c5c0c851461063157806350d75d251461065857806352d1902d14610660578063556f0dc71461068657600080fd5b806345977d03116102c957806345977d03146105d857806346951954146105eb5780634b2763b3146105fe5780634b61cc331461061157600080fd5b8063386fa2211461058c578063395093511461059f57806341b706be146105b257806342fe0980146105c557600080fd5b80631863e8091161037257806327048397116103415780632704839714610509578063282a050b1461051c5780632ec8eec714610544578063313ce5671461057757600080fd5b80631863e8091461049657806320bc4425146104a957806323b872dd146104e3578063245887fc146104f657600080fd5b806311bcc81e116103ae57806311bcc81e1461044b57806312a6a3f81461045e57806316d055d61461047157806318160ddd1461048457600080fd5b806306e48538146103e057806306fdde03146103fe578063090c415e14610413578063095ea7b314610428575b600080fd5b6103e861097d565b6040516103f59190613dd8565b60405180910390f35b61040661098e565b6040516103f59190613e75565b610426610421366004613ee8565b610a20565b005b61043b610436366004613f43565b610ad3565b60405190151581526020016103f5565b610426610459366004613f6f565b610aea565b61042661046c366004613f88565b610b19565b61042661047f366004613fd3565b610bfc565b6003545b6040519081526020016103f5565b6104266104a43660046140e7565b610c58565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020016103f5565b61043b6104f1366004614179565b610ef8565b610426610504366004613f43565b610f0e565b6104266105173660046141ba565b610f87565b61052f61052a366004613f6f565b611023565b604080519283526020830191909152016103f5565b6105576105523660046141dc565b611038565b6040805194855260208501939093529183015260608201526080016103f5565b60125b60405160ff90911681526020016103f5565b6103e861059a3660046141dc565b6110db565b61043b6105ad366004613f43565b61117e565b6104266105c0366004613fd3565b6111ba565b6104266105d3366004614250565b6111e6565b6104266105e6366004613f6f565b6112c7565b6104266105f93660046141dc565b6112f3565b61042661060c366004614179565b6114d2565b61062461061f3660046142e2565b611554565b6040516103f59190614328565b6104cb7f000000000000000000000000000000000000000000000000000000000000000081565b6104cb611599565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019610488565b6001610488565b61042661069b366004614360565b6115c3565b6104266106ae366004614179565b61161a565b6104266106c13660046143af565b61166e565b6104266106d4366004614179565b61171c565b6106246106e736600461444d565b61173c565b6104cb61177e565b6104886107023660046141dc565b611796565b61043b6107153660046141dc565b6117bf565b610426610728366004613f43565b611847565b61042661073b3660046141dc565b611873565b600e54600160a01b900460ff1661057a565b6104266107603660046141dc565b611967565b6104066119b8565b6104266119c7565b610426610783366004614360565b611a89565b610426610796366004614482565b611add565b6104266107a9366004613f88565b611b23565b6104266107bc3660046141dc565b611bcd565b61043b6107cf366004613f43565b611be1565b61043b6107e2366004613f43565b611c30565b61043b6107f5366004613f43565b611c3e565b61043b6108083660046141dc565b611c8f565b61042661081b366004614482565b611d17565b61042661082e366004614179565b611d5f565b6104266108413660046144da565b611df7565b610426610854366004613f43565b611e5f565b610426610867366004613f43565b611ed4565b61043b61087a366004614545565b611fbd565b61043b61088d366004613f43565b611fcb565b6104886108a0366004614545565b6001600160a01b03918216600090815260116020908152604080832093909416825291909152205490565b6108de6108d9366004613f43565b611fe5565b604080519384526020840192909252908201526060016103f5565b61042661090736600461457e565b61211f565b600e546001600160a01b03166104cb565b6104cb7f000000000000000000000000000000000000000000000000000000000000000081565b6104266109523660046141dc565b6121f6565b610426610965366004614624565b612247565b61042661097836600461466b565b6122e8565b60606109896012612339565b905090565b6060600f805461099d906146a9565b80601f01602080910402602001604051908101604052809291908181526020018280546109c9906146a9565b8015610a165780601f106109eb57610100808354040283529160200191610a16565b820191906000526020600020905b8154815290600101906020018083116109f957829003601f168201915b5050505050905090565b6000338585604051602001610a37939291906146e3565b604051602081830303815290604052805190602001209050610a8c8184848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061239f92505050565b6040518481526001600160a01b0386169033907f30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d59859060200160405180910390a35050505050565b6000610ae03384846123e0565b5060015b92915050565b610b16333333846040518060200160405280600081525060405180602001604052806000815250612490565b50565b6040513390600090610b31908390879060200161472c565b60408051601f1981840301815291905280516020909101209050610b558184612650565b15610b735760405163782a90fb60e11b815260040160405180910390fd5b610bb08185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061239f92505050565b816001600160a01b03167f770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d868686604051610bed93929190614769565b60405180910390a25050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610c455760405163c51efddd60e01b815260040160405180910390fd5b610c518484848461268c565b5050505050565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015610cbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce091906147aa565b610cfd5760405163327fd99160e21b815260040160405180910390fd5b6000610d076127ac565b90506001600160a01b038116610d1a5750845b600085610d275786610d29565b815b905060008313610dc657610d3c836147dd565b610d45856128f1565b14610d5257610d526147f9565b610d5b846128f1565b6001600160a01b03821660009081526002602052604081208054909190610d8390849061480f565b90915550506001600160a01b03851660009081526002602052604081208054859290610db090849061480f565b90915550610dc1905085828661295f565b610e90565b8515610dd457610dd46147f9565b82610dde856128f1565b610de8919061480f565b6001600160a01b03831660009081526002602052604081208054909190610e10908490614837565b90915550610e1f9050846128f1565b6001600160a01b03881660009081526002602052604081208054909190610e4790849061480f565b90915550506001600160a01b03851660009081526002602052604081208054859290610e7490849061480f565b90915550610e85905082888661295f565b610e9082868561295f565b846001600160a01b0316876001600160a01b0316336001600160a01b03167fb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f8c8589898f604051610ee5959493929190614857565b60405180910390a4505050505050505050565b6000610f063385858561268c565b949350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610f575760405163c51efddd60e01b815260040160405180910390fd5b610f83338384846040518060200160405280600081525060405180602001604052806000815250612490565b5050565b6040513390600090610f9f908390869060200161472c565b604051602081830303815290604052805190602001209050610fc18184612650565b610fde5760405163dae1880960e01b815260040160405180910390fd5b610fe88184612992565b60405184815233907f71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b9060200160405180910390a250505050565b60008061102f836129b3565b91509150915091565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa15801561109c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c0919061488a565b90506110cc8582611fe5565b91979096509094509092509050565b6001600160a01b038181166000908152600160205260409081902054905163c56a069d60e01b8152901960048201526060917f0000000000000000000000000000000000000000000000000000000000000000169063c56a069d90602401600060405180830381865afa158015611156573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ae491908101906148a3565b3360008181526011602090815260408083206001600160a01b03871684529091528120549091610ae09185906111b5908690614954565b6123e0565b3330146111da57604051630fff4cc960e31b815260040160405180910390fd5b610c518385848461268c565b600054610100900460ff16158080156112065750600054600160ff909116105b806112205750303b158015611220575060005460ff166001145b6112455760405162461bcd60e51b815260040161123c90614967565b60405180910390fd5b6000805460ff191660011790558015611268576000805461ff0019166101001790555b6112788787878787876000612a6f565b80156112be576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b610b16333333846040518060200160405280600081525060405180602001604052806000815250612b37565b600061130b600080516020614d368339815191525490565b905060006001600160a01b038216156113245781611346565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b0382161461137157604051630484acab60e01b815260040160405180910390fd5b61137a83612cea565b826001600160a01b031663ef43d2c66040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113dc91906149b5565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806114af5750826001600160a01b0316634c5c0c856040518163ffffffff1660e01b8152600401602060405180830381865afa158015611455573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147991906149b5565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614155b156114cd5760405163ef1b6ddf60e01b815260040160405180910390fd5b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461151b5760405163c51efddd60e01b815260040160405180910390fd5b6001600160a01b038084166000908152601160209081526040808320938616835292905220546114cd90849084906111b5908590614954565b6060600085858560405160200161156d939291906146e3565b60405160208183030381529060405280519060200120905061158f8184612f24565b9695505050505050565b60006109897f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6116143333868686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612b37915050565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633146116635760405163c51efddd60e01b815260040160405180910390fd5b6114cd8383836123e0565b3361167b6012828a612fb3565b6116985760405163f7f0222760e01b815260040160405180910390fd5b6117128189898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284376000920191909152506001925061305c915050565b5050505050505050565b33301461166357604051630fff4cc960e31b815260040160405180910390fd5b60606000848460405160200161175392919061472c565b6040516020818303038152906040528051906020012090506117758184612f24565b95945050505050565b6000610989600080516020614d368339815191525490565b6000806117a283611038565b5050509050600081126117b557806117b8565b60005b9392505050565b6000610ae4827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611823573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088d919061488a565b610f83333384846040518060200160405280600081525060405180602001604052806000815250612490565b600061188b600080516020614d368339815191525490565b905060006001600160a01b038216156118a457816118c6565b7f00000000000000000000000000000000000000000000000000000000000000005b9050336001600160a01b038216146118f157604051630484acab60e01b815260040160405180910390fd5b6000611909600080516020614d368339815191525490565b905061192184600080516020614d3683398151915255565b836001600160a01b0316816001600160a01b03167f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f60405160405180910390a350505050565b33611974601282846130d5565b806001600160a01b0316826001600160a01b03167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a35050565b60606010805461099d906146a9565b600054610100900460ff16158080156119e75750600054600160ff909116105b80611a015750303b158015611a01575060005460ff166001145b611a1d5760405162461bcd60e51b815260040161123c90614967565b6000805460ff191660011790558015611a40576000805461ff0019166101001790555b8015610b16576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6116143333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020810190915290815292506001915061305c9050565b333014611afd57604051630fff4cc960e31b815260040160405180910390fd5b80516040805160008152602081019091526114cd913391869186919015159086906131d9565b6040513390600090611b3b908390879060200161472c565b604051602081830303815290604052805190602001209050611b908185858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061239f92505050565b336001600160a01b03167f0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca868686604051610bed93929190614769565b610f83333383611bdc33611796565b61268c565b6000610ae033846111b5856040518060600160405280602a8152602001614d56602a91393360009081526011602090815260408083206001600160a01b038d16845290915290205491906132a6565b60006117b83333858561268c565b600080600080611c4e8686611fe5565b9250925092506000611c76828411611c675760006128f1565b611c7183856149d2565b6128f1565b611c80908561480f565b60001315979650505050505050565b6000610ae4827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cf3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f5919061488a565b333014611d3757604051630fff4cc960e31b815260040160405180910390fd5b80516040805160008152602081019091526114cd9133918691869190151590819087906132d2565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611da85760405163c51efddd60e01b815260040160405180910390fd5b6114cd83836111b5846040518060600160405280602a8152602001614d56602a91396001600160a01b03808a166000908152601160209081526040808320938c168352929052205491906132a6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611e405760405163c51efddd60e01b815260040160405180910390fd5b611614338585858560405180602001604052806000815250600161305c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314611ea85760405163c51efddd60e01b815260040160405180910390fd5b610f83338384846040518060200160405280600081525060405180602001604052806000815250612b37565b604051632329212160e21b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638ca4848490602401602060405180830381865afa158015611f38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5c91906147aa565b611f795760405163327fd99160e21b815260040160405180910390fd5b6001600160a01b038216600090815260026020526040902054611f9d90829061480f565b6001600160a01b0390921660009081526002602052604090209190915550565b60006117b860128484612fb3565b600080611fd88484611fe5565b5050600013949350505050565b6001600160a01b03821660009081526002602052604081205490808061200a866110db565b905060005b815181101561211657600080600084848151811061202f5761202f6149e5565b60209081029190910101516040516326cb922f60e21b81523060048201526001600160a01b038c81166024830152604482018c905290911690639b2e48bc90606401606060405180830381865afa15801561208e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b291906149fb565b919450925090506120c38288614954565b96506120cf8187614954565b95506120ec8183116120e25760006128f1565b611c7182846149d2565b6120f6848a61480f565b6121009190614837565b97505050508061210f90614a29565b905061200f565b50509250925092565b600054610100900460ff161580801561213f5750600054600160ff909116105b806121595750303b158015612159575060005460ff166001145b6121755760405162461bcd60e51b815260040161123c90614967565b6000805460ff191660011790558015612198576000805461ff0019166101001790555b6121a788888888888888612a6f565b8015611712576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050505050565b33612203601282846133a0565b806001600160a01b0316826001600160a01b03167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a35050565b3361225460128289612fb3565b6122715760405163f7f0222760e01b815260040160405180910390fd5b6112be8188898989898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a908190840183828082843760009201919091525061249092505050565b6114cd3333338686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612490915050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561239357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612375575b50505050509050919050565b60005b81518110156114cd5760008282815181106123bf576123bf6149e5565b60200260200101519050808285015550806123d990614a29565b90506123a2565b6001600160a01b03831661240757604051638163862760e01b815260040160405180910390fd5b6001600160a01b03821661242e576040516337c1c09d60e21b815260040160405180910390fd5b6001600160a01b0383811660008181526011602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600e546001600160a01b03166124b957604051637bce7b2b60e11b815260040160405180910390fd5b6000806124c5856129b3565b915091506124dc88888387516000141588886131d9565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612525573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612549919061488a565b600e54909150612563906001600160a01b03168885613498565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156125ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125d0919061488a565b905060006125de82846149d2565b905080851461260057604051631c7c26d360e31b815260040160405180910390fd5b896001600160a01b03167f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d8560405161263b91815260200190565b60405180910390a25050505050505050505050565b6000805b828110156126825783810154801561267157600192505050610ae4565b5061267b81614a29565b9050612654565b5060009392505050565b60006001600160a01b0384166126b55760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0383166126dc5760405163e219bd3960e01b815260040160405180910390fd5b600033905061270d8186868660405180602001604052806000815250604051806020016040528060008152506134fb565b846001600160a01b0316866001600160a01b0316146127a0576127a085876111b5866040518060600160405280602d8152602001614da0602d9139601160008c6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b03168152602001908152602001600020546132a69092919063ffffffff16565b50600195945050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663289b3c0d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561280d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061283191906149b5565b604051638369a0f160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301523060248301527f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09604483015291925090821690638369a0f190606401602060405180830381865afa1580156128c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128eb91906149b5565b91505090565b60006001600160ff1b0382111561295b5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b606482015260840161123c565b5090565b816001600160a01b0316836001600160a01b0316600080516020614d808339815191528360405161248391815260200190565b60005b818110156114cd576000838201556129ac81614a29565b9050612995565b600e54600090819081906012600160a01b90910460ff161015612a1257600e546129e890600160a01b900460ff166012614a42565b6129f390600a614b3f565b90506129ff8185614b4e565b9250612a0b8184614b70565b9150612a69565b600e546012600160a01b90910460ff161115612a6257600e54612a4190601290600160a01b900460ff16614a42565b612a4c90600a614b3f565b9050612a588185614b70565b9250839150612a69565b8391508192505b50915091565b600e805460ff8816600160a01b026001600160a81b03199091166001600160a01b038a1617179055600f612aa4858783614bd5565b506010612ab2838583614bd5565b50612ac981600080516020614d3683398151915255565b612ad23061359a565b6040516000808252908190600080516020614d808339815191529060200160405180910390a36040516001600160a01b038216906000907f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f908290a350505050505050565b600e546001600160a01b0316612b6057604051637bce7b2b60e11b815260040160405180910390fd5b600080612b6c856129b3565b600e546040516370a0823160e01b81523060048201529294509092506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015612bbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612be1919061488a565b600e54909150612bfc906001600160a01b03168930866136c8565b600e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612c45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c69919061488a565b90506000612c7783836149d2565b9050808514612c9957604051631c7c26d360e31b815260040160405180910390fd5b8651612caf908c908b9087901515808c8c6132d2565b886001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df8560405161263b91815260200190565b6000612d147f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031603612d6a5760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c65000000604482015260640161123c565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612da8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dcc919061488a565b7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb001914612e465760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b606482015260840161123c565b6001600160a01b0381163003612e9e5760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f7000000000000000604482015260640161123c565b612ec6817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7f6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019604080519182526001600160a01b038416602083015201611a7e565b6060816001600160401b03811115612f3e57612f3e614024565b604051908082528060200260200182016040528015612f67578160200160208202803683370190505b50905060005b82811015612fac57600081850154905080838381518110612f9057612f906149e5565b602090810291909101015250612fa581614a29565b9050612f6d565b5092915050565b6000816001600160a01b0316836001600160a01b0316148061302257506001600160a01b038316600090815260018501602052604090205460ff16801561302257506001600160a01b03808316600090815260038601602090815260408083209387168352929052205460ff16155b80610f0657506001600160a01b03808316600090815260028601602090815260408083209387168352929052205460ff1690509392505050565b6001600160a01b0386166130835760405163eecd6c9b60e01b815260040160405180910390fd5b6001600160a01b0385166130aa5760405163e219bd3960e01b815260040160405180910390fd5b6130b8878787878787613700565b6130c68787878787876134fb565b6112be87878787878787613827565b806001600160a01b0316826001600160a01b03160361314c5760405162461bcd60e51b815260206004820152602d60248201527f4552433737374f70657261746f72733a20617574686f72697a696e672073656c60448201526c331030b99037b832b930ba37b960991b606482015260840161123c565b6001600160a01b038116600090815260018401602052604090205460ff16156131a2576001600160a01b03918216600090815260039390930160209081526040808520929093168452529020805460ff19169055565b6001600160a01b0380831660009081526002850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03851661320057604051632e8aac6160e21b815260040160405180910390fd5b82156132155761321586866000878686613700565b61321f8585613977565b846001600160a01b0316866001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a409886858560405161326693929190614c94565b60405180910390a36040518481526000906001600160a01b03871690600080516020614d80833981519152906020015b60405180910390a3505050505050565b600081848411156132ca5760405162461bcd60e51b815260040161123c9190613e75565b505050900390565b6001600160a01b0386166132f957604051630d24315760e01b815260040160405180910390fd5b6133038686613a87565b8315613319576133198760008888868689613827565b856001600160a01b0316876001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d87858560405161336093929190614c94565b60405180910390a36040518581526001600160a01b03871690600090600080516020614d808339815191529060200160405180910390a350505050505050565b336001600160a01b0382160361340b5760405162461bcd60e51b815260206004820152602a60248201527f4552433737374f70657261746f72733a207265766f6b696e672073656c662061604482015269399037b832b930ba37b960b11b606482015260840161123c565b6001600160a01b038116600090815260018401602052604090205460ff1615613465576001600160a01b0380831660009081526003850160209081526040808320938516835292905220805460ff19166001179055505050565b6001600160a01b03918216600090815260029390930160209081526040808520929093168452529020805460ff19169055565b6040516001600160a01b0383166024820152604481018290526114cd90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613ae1565b61350e8585613509866128f1565b613bb6565b836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc8261467798786868660405161355f93929190614c94565b60405180910390a4836001600160a01b0316856001600160a01b0316600080516020614d808339815191528560405161329691815260200190565b6040516329965a1d60e01b81526001600160a01b03821660048201527fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce21770546024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b15801561361b57600080fd5b505af115801561362f573d6000803e3d6000fd5b50506040516329965a1d60e01b81526001600160a01b03841660048201527faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a6024820152306044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b1580156136b457600080fd5b505af1158015610c51573d6000803e3d6000fd5b6040516001600160a01b03808516602483015283166044820152606481018290526116149085906323b872dd60e01b906084016134c4565b60405163555ddc6560e11b81526001600160a01b03861660048201527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe8956024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa158015613781573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137a591906149b5565b90506001600160a01b038116156112be57604051633ad5cbc160e11b81526001600160a01b038216906375ab9782906137ec908a908a908a908a908a908a90600401614cbf565b600060405180830381600087803b15801561380657600080fd5b505af115801561381a573d6000803e3d6000fd5b5050505050505050505050565b60405163555ddc6560e11b81526001600160a01b03861660048201527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6024820152600090731820a4b7618bde71dce8cdc73aab6c95905fad249063aabbb8ca90604401602060405180830381865afa1580156138a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138cc91906149b5565b90506001600160a01b03811615613948576040516223de2960e01b81526001600160a01b038216906223de2990613911908b908b908b908b908b908b90600401614cbf565b600060405180830381600087803b15801561392b57600080fd5b505af115801561393f573d6000803e3d6000fd5b50505050611712565b8115611712576001600160a01b0386163b156117125760405163fe737d0560e01b815260040160405180910390fd5b60006139ff837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156139db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d9919061488a565b50509050613a0c826128f1565b811215613a2c5760405163043b37d160e21b815260040160405180910390fd5b613a35826128f1565b6001600160a01b038416600090815260026020526040902054613a589190614837565b6001600160a01b038416600090815260026020526040902055600354613a7f9083906149d2565b600355505050565b613a90816128f1565b6001600160a01b038316600090815260026020526040902054613ab3919061480f565b6001600160a01b038316600090815260026020526040902055600354613ada908290614954565b6003555050565b6000613b36826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613cb59092919063ffffffff16565b9050805160001480613b57575080806020019051810190613b5791906147aa565b6114cd5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161123c565b6000613c1a847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bbe4fd506040518163ffffffff1660e01b8152600401602060405180830381865afa1580156139db573d6000803e3d6000fd5b5050905081811215613c3f57604051632f4cb94160e01b815260040160405180910390fd5b6001600160a01b038416600090815260026020526040902054613c63908390614837565b6001600160a01b038086166000908152600260205260408082209390935590851681522054613c9390839061480f565b6001600160a01b03909316600090815260026020526040902092909255505050565b6060610f06848460008585600080866001600160a01b03168587604051613cdc9190614d19565b60006040518083038185875af1925050503d8060008114613d19576040519150601f19603f3d011682016040523d82523d6000602084013e613d1e565b606091505b5091509150613d2f87838387613d3a565b979650505050505050565b60608315613da9578251600003613da2576001600160a01b0385163b613da25760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161123c565b5081610f06565b610f068383815115613dbe5781518083602001fd5b8060405162461bcd60e51b815260040161123c9190613e75565b6020808252825182820181905260009190848201906040850190845b81811015613e195783516001600160a01b031683529284019291840191600101613df4565b50909695505050505050565b60005b83811015613e40578181015183820152602001613e28565b50506000910152565b60008151808452613e61816020860160208601613e25565b601f01601f19169290920160200192915050565b6020815260006117b86020830184613e49565b6001600160a01b0381168114610b1657600080fd5b60008083601f840112613eaf57600080fd5b5081356001600160401b03811115613ec657600080fd5b6020830191508360208260051b8501011115613ee157600080fd5b9250929050565b60008060008060608587031215613efe57600080fd5b8435613f0981613e88565b93506020850135925060408501356001600160401b03811115613f2b57600080fd5b613f3787828801613e9d565b95989497509550505050565b60008060408385031215613f5657600080fd5b8235613f6181613e88565b946020939093013593505050565b600060208284031215613f8157600080fd5b5035919050565b600080600060408486031215613f9d57600080fd5b8335925060208401356001600160401b03811115613fba57600080fd5b613fc686828701613e9d565b9497909650939450505050565b60008060008060808587031215613fe957600080fd5b8435613ff481613e88565b9350602085013561400481613e88565b9250604085013561401481613e88565b9396929550929360600135925050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561406257614062614024565b604052919050565b600082601f83011261407b57600080fd5b81356001600160401b0381111561409457614094614024565b6140a7601f8201601f191660200161403a565b8181528460208386010111156140bc57600080fd5b816020850160208301376000918101602001919091529392505050565b8015158114610b1657600080fd5b600080600080600080600060e0888a03121561410257600080fd5b8735965060208801356001600160401b0381111561411f57600080fd5b61412b8a828b0161406a565b965050604088013561413c81613e88565b9450606088013561414c816140d9565b9350608088013561415c81613e88565b9699959850939692959460a0840135945060c09093013592915050565b60008060006060848603121561418e57600080fd5b833561419981613e88565b925060208401356141a981613e88565b929592945050506040919091013590565b600080604083850312156141cd57600080fd5b50508035926020909101359150565b6000602082840312156141ee57600080fd5b81356117b881613e88565b803560ff8116811461420a57600080fd5b919050565b60008083601f84011261422157600080fd5b5081356001600160401b0381111561423857600080fd5b602083019150836020828501011115613ee157600080fd5b6000806000806000806080878903121561426957600080fd5b863561427481613e88565b9550614282602088016141f9565b945060408701356001600160401b038082111561429e57600080fd5b6142aa8a838b0161420f565b909650945060608901359150808211156142c357600080fd5b506142d089828a0161420f565b979a9699509497509295939492505050565b600080600080608085870312156142f857600080fd5b843561430381613e88565b9350602085013561431381613e88565b93969395505050506040820135916060013590565b6020808252825182820181905260009190848201906040850190845b81811015613e1957835183529284019291840191600101614344565b6000806000806060858703121561437657600080fd5b843561438181613e88565b93506020850135925060408501356001600160401b038111156143a357600080fd5b613f378782880161420f565b600080600080600080600060a0888a0312156143ca57600080fd5b87356143d581613e88565b965060208801356143e581613e88565b95506040880135945060608801356001600160401b038082111561440857600080fd5b6144148b838c0161420f565b909650945060808a013591508082111561442d57600080fd5b5061443a8a828b0161420f565b989b979a50959850939692959293505050565b60008060006060848603121561446257600080fd5b833561446d81613e88565b95602085013595506040909401359392505050565b60008060006060848603121561449757600080fd5b83356144a281613e88565b92506020840135915060408401356001600160401b038111156144c457600080fd5b6144d08682870161406a565b9150509250925092565b600080600080608085870312156144f057600080fd5b84356144fb81613e88565b9350602085013561450b81613e88565b92506040850135915060608501356001600160401b0381111561452d57600080fd5b6145398782880161406a565b91505092959194509250565b6000806040838503121561455857600080fd5b823561456381613e88565b9150602083013561457381613e88565b809150509250929050565b600080600080600080600060a0888a03121561459957600080fd5b87356145a481613e88565b96506145b2602089016141f9565b955060408801356001600160401b03808211156145ce57600080fd5b6145da8b838c0161420f565b909750955060608a01359150808211156145f357600080fd5b506146008a828b0161420f565b909450925050608088013561461481613e88565b8091505092959891949750929550565b6000806000806000806080878903121561463d57600080fd5b863561464881613e88565b95506020870135945060408701356001600160401b038082111561429e57600080fd5b60008060006040848603121561468057600080fd5b8335925060208401356001600160401b0381111561469d57600080fd5b613fc68682870161420f565b600181811c908216806146bd57607f821691505b6020821081036146dd57634e487b7160e01b600052602260045260246000fd5b50919050565b6080808252600e908201526d41677265656d656e74537461746560901b60a08201526001600160a01b039384166020820152919092166040820152606081019190915260c00190565b6060808252600d908201526c41677265656d656e744461746160981b60808201526001600160a01b03929092166020830152604082015260a00190565b838152604060208201819052810182905260006001600160fb1b0383111561479057600080fd5b8260051b8085606085013791909101606001949350505050565b6000602082840312156147bc57600080fd5b81516117b8816140d9565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b82016147f2576147f26147c7565b5060000390565b634e487b7160e01b600052600160045260246000fd5b808201828112600083128015821682158216171561482f5761482f6147c7565b505092915050565b8181036000831280158383131683831282161715612fac57612fac6147c7565b85815260018060a01b038516602082015283604082015282606082015260a060808201526000613d2f60a0830184613e49565b60006020828403121561489c57600080fd5b5051919050565b600060208083850312156148b657600080fd5b82516001600160401b03808211156148cd57600080fd5b818501915085601f8301126148e157600080fd5b8151818111156148f3576148f3614024565b8060051b915061490484830161403a565b818152918301840191848101908884111561491e57600080fd5b938501935b83851015614948578451925061493883613e88565b8282529385019390850190614923565b98975050505050505050565b80820180821115610ae457610ae46147c7565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000602082840312156149c757600080fd5b81516117b881613e88565b81810381811115610ae457610ae46147c7565b634e487b7160e01b600052603260045260246000fd5b600080600060608486031215614a1057600080fd5b8351925060208401519150604084015190509250925092565b600060018201614a3b57614a3b6147c7565b5060010190565b60ff8281168282160390811115610ae457610ae46147c7565b600181815b80851115614a96578160001904821115614a7c57614a7c6147c7565b80851615614a8957918102915b93841c9390800290614a60565b509250929050565b600082614aad57506001610ae4565b81614aba57506000610ae4565b8160018114614ad05760028114614ada57614af6565b6001915050610ae4565b60ff841115614aeb57614aeb6147c7565b50506001821b610ae4565b5060208310610133831016604e8410600b8410161715614b19575081810a610ae4565b614b238383614a5b565b8060001904821115614b3757614b376147c7565b029392505050565b60006117b860ff841683614a9e565b600082614b6b57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610ae457610ae46147c7565b601f8211156114cd57600081815260208120601f850160051c81016020861015614bae5750805b601f850160051c820191505b81811015614bcd57828155600101614bba565b505050505050565b6001600160401b03831115614bec57614bec614024565b614c0083614bfa83546146a9565b83614b87565b6000601f841160018114614c345760008515614c1c5750838201355b600019600387901b1c1916600186901b178355610c51565b600083815260209020601f19861690835b82811015614c655786850135825560209485019460019092019101614c45565b5086821015614c825760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b838152606060208201526000614cad6060830185613e49565b828103604084015261158f8185613e49565b6001600160a01b0387811682528681166020830152851660408201526060810184905260c060808201819052600090614cfa90830185613e49565b82810360a0840152614d0c8185613e49565b9998505050505050505050565b60008251614d2b818460208701613e25565b919091019291505056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035375706572546f6b656e3a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5375706572546f6b656e3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220523559b97fb8fd905f8955b687b98b4bb82b2966a9c72809980bf8e936abd12164736f6c63430008130033",wq=eb=>eb.length>1;class wW extends u9.lV{constructor(...eb){wq(eb)?super(...eb):super(wH,w$,eb[0])}deploy(eb,em,ew,eM){return super.deploy(eb,em,ew,eM||{})}getDeployTransaction(eb,em,ew,eM){return super.getDeployTransaction(eb,em,ew,eM||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(wH)}static connect(eb,em){return new u9.CH(eb,wH,em)}}wW.bytecode=w$,wW.abi=wH;let wZ=[{inputs:[{internalType:"bool",name:"nonUpgradable",type:"bool"},{internalType:"bool",name:"appWhiteListingEnabled",type:"bool"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"uint256",name:"_code",type:"uint256"}],name:"APP_RULE",type:"error"},{inputs:[],name:"HOST_AGREEMENT_ALREADY_REGISTERED",type:"error"},{inputs:[],name:"HOST_AGREEMENT_CALLBACK_IS_NOT_ACTION",type:"error"},{inputs:[],name:"HOST_AGREEMENT_IS_NOT_REGISTERED",type:"error"},{inputs:[],name:"HOST_CALL_AGREEMENT_WITH_CTX_FROM_WRONG_ADDRESS",type:"error"},{inputs:[],name:"HOST_CALL_APP_ACTION_WITH_CTX_FROM_WRONG_ADDRESS",type:"error"},{inputs:[],name:"HOST_CANNOT_DOWNGRADE_TO_NON_UPGRADEABLE",type:"error"},{inputs:[],name:"HOST_INVALID_CONFIG_WORD",type:"error"},{inputs:[],name:"HOST_MAX_256_AGREEMENTS",type:"error"},{inputs:[],name:"HOST_MUST_BE_CONTRACT",type:"error"},{inputs:[],name:"HOST_NEED_MORE_GAS",type:"error"},{inputs:[],name:"HOST_NON_UPGRADEABLE",type:"error"},{inputs:[],name:"HOST_NON_ZERO_LENGTH_PLACEHOLDER_CTX",type:"error"},{inputs:[],name:"HOST_NOT_A_SUPER_APP",type:"error"},{inputs:[],name:"HOST_NO_APP_REGISTRATION_PERMISSION",type:"error"},{inputs:[],name:"HOST_ONLY_GOVERNANCE",type:"error"},{inputs:[],name:"HOST_ONLY_LISTED_AGREEMENT",type:"error"},{inputs:[],name:"HOST_RECEIVER_IS_NOT_SUPER_APP",type:"error"},{inputs:[],name:"HOST_SENDER_IS_NOT_SUPER_APP",type:"error"},{inputs:[],name:"HOST_SOURCE_APP_NEEDS_HIGHER_APP_LEVEL",type:"error"},{inputs:[],name:"HOST_SUPER_APP_ALREADY_REGISTERED",type:"error"},{inputs:[],name:"HOST_SUPER_APP_IS_JAILED",type:"error"},{inputs:[],name:"HOST_UNKNOWN_BATCH_CALL_OPERATION_TYPE",type:"error"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"agreementType",type:"bytes32"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"AgreementClassRegistered",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"agreementType",type:"bytes32"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"AgreementClassUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperApp",name:"app",type:"address"}],name:"AppRegistered",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract ISuperfluidGovernance",name:"oldGov",type:"address"},{indexed:!1,internalType:"contract ISuperfluidGovernance",name:"newGov",type:"address"}],name:"GovernanceReplaced",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperApp",name:"app",type:"address"},{indexed:!1,internalType:"uint256",name:"reason",type:"uint256"}],name:"Jail",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract ISuperTokenFactory",name:"newFactory",type:"address"}],name:"SuperTokenFactoryUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"code",type:"address"}],name:"SuperTokenLogicUpdated",type:"event"},{inputs:[],name:"APP_WHITE_LISTING_ENABLED",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"CALLBACK_GAS_LIMIT",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_APP_CALLBACK_LEVEL",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"MAX_NUM_AGREEMENTS",outputs:[{internalType:"uint32",name:"",type:"uint32"}],stateMutability:"view",type:"function"},{inputs:[],name:"NON_UPGRADABLE_DEPLOYMENT",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"},{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"addToAgreementClassesBitmap",outputs:[{internalType:"uint256",name:"newBitmap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"targetApp",type:"address"}],name:"allowCompositeApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"int256",name:"appCreditUsedDelta",type:"int256"}],name:"appCallbackPop",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"appCreditGranted",type:"uint256"},{internalType:"int256",name:"appCreditUsed",type:"int256"},{internalType:"contract ISuperfluidToken",name:"appCreditToken",type:"address"}],name:"appCallbackPush",outputs:[{internalType:"bytes",name:"appCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"operationType",type:"uint32"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ISuperfluid.Operation[]",name:"operations",type:"tuple[]"}],name:"batchCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"callAgreement",outputs:[{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAgreementWithContext",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"},{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],name:"callAppAction",outputs:[{internalType:"bytes",name:"returnedData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppActionWithContext",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bool",name:"isTermination",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppAfterCallback",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"},{internalType:"bool",name:"isTermination",type:"bool"},{internalType:"bytes",name:"ctx",type:"bytes"}],name:"callAppBeforeCallback",outputs:[{internalType:"bytes",name:"cbdata",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newAdmin",type:"address"}],name:"changeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"int256",name:"appCreditUsedMore",type:"int256"}],name:"ctxUseCredit",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"decodeCtx",outputs:[{components:[{internalType:"uint8",name:"appCallbackLevel",type:"uint8"},{internalType:"uint8",name:"callType",type:"uint8"},{internalType:"uint256",name:"timestamp",type:"uint256"},{internalType:"address",name:"msgSender",type:"address"},{internalType:"bytes4",name:"agreementSelector",type:"bytes4"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"uint256",name:"appCreditGranted",type:"uint256"},{internalType:"uint256",name:"appCreditWantedDeprecated",type:"uint256"},{internalType:"int256",name:"appCreditUsed",type:"int256"},{internalType:"address",name:"appAddress",type:"address"},{internalType:"contract ISuperfluidToken",name:"appCreditToken",type:"address"}],internalType:"struct ISuperfluid.Context",name:"context",type:"tuple"}],stateMutability:"pure",type:"function"},{inputs:[{components:[{internalType:"uint32",name:"operationType",type:"uint32"},{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],internalType:"struct ISuperfluid.Operation[]",name:"operations",type:"tuple[]"}],name:"forwardBatchCall",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"getAgreementClass",outputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"appAddr",type:"address"}],name:"getAppCallbackLevel",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"getAppManifest",outputs:[{internalType:"bool",name:"isSuperApp",type:"bool"},{internalType:"bool",name:"isJailed",type:"bool"},{internalType:"uint256",name:"noopMask",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getGovernance",outputs:[{internalType:"contract ISuperfluidGovernance",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getNow",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenFactory",outputs:[{internalType:"contract ISuperTokenFactory",name:"factory",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getSuperTokenFactoryLogic",outputs:[{internalType:"address",name:"logic",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidGovernance",name:"gov",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClass",type:"address"}],name:"isAgreementClassListed",outputs:[{internalType:"bool",name:"yes",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"isAgreementTypeListed",outputs:[{internalType:"bool",name:"yes",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"isApp",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"}],name:"isAppJailed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"contract ISuperApp",name:"targetApp",type:"address"}],name:"isCompositeAppAllowed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"}],name:"isCtxValid",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"forwarder",type:"address"}],name:"isTrustedForwarder",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"ctx",type:"bytes"},{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"reason",type:"uint256"}],name:"jailApp",outputs:[{internalType:"bytes",name:"newCtx",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"}],name:"mapAgreementClasses",outputs:[{internalType:"contract ISuperAgreement[]",name:"agreementClasses",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClassLogic",type:"address"}],name:"registerAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerApp",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperApp",name:"app",type:"address"},{internalType:"uint256",name:"configWord",type:"uint256"}],name:"registerAppByFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"configWord",type:"uint256"},{internalType:"string",name:"registrationKey",type:"string"}],name:"registerAppWithKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"bitmap",type:"uint256"},{internalType:"bytes32",name:"agreementType",type:"bytes32"}],name:"removeFromAgreementClassesBitmap",outputs:[{internalType:"uint256",name:"newBitmap",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidGovernance",name:"newGov",type:"address"}],name:"replaceGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperAgreement",name:"agreementClassLogic",type:"address"}],name:"updateAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperTokenFactory",name:"newFactory",type:"address"}],name:"updateSuperTokenFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newLogicOverride",type:"address"}],name:"updateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"versionRecipient",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"pure",type:"function"}],wK="0x60c06040523480156200001157600080fd5b50604051620056443803806200564483398101604081905262000034916200005b565b901515608052151560a05262000093565b805180151581146200005657600080fd5b919050565b600080604083850312156200006f57600080fd5b6200007a8362000045565b91506200008a6020840162000045565b90509250929050565b60805160a051615545620000ff6000396000818161079801528181612018015281816124f4015281816127a401526128eb0152600081816109aa01528181610ac001528181610de10152818161140b01528181611546015281816116a5015261281301526155456000f3fe6080604052600436106102ff5760003560e01c80638ca4848411610190578063bced3ddc116100dc578063c60944a611610095578063f2e55caf1161006f578063f2e55caf146109fb578063f373305214610a10578063f9f522f414610a30578063fa6e0cfe14610a6d57600080fd5b8063c60944a614610978578063cd312ec414610998578063e8dccb7d146109cc57600080fd5b8063bced3ddc146108b6578063bd1c448b146108d6578063bd3252c8146108f6578063bf4287341461090b578063c4d66de81461092b578063c56a069d1461094b57600080fd5b8063a5dbbbcd11610149578063b724211e11610123578063b724211e1461081a578063ba48b5f81461083a578063bb84cfa11461085a578063bbe4fd50146108a357600080fd5b8063a5dbbbcd146107ba578063ad3915c8146107da578063b6d200de146107fa57600080fd5b80638ca48484146106d45780638ceddd7a146106f45780639378fa131461071f578063989b0c3e146107515780639903ad38146107715780639d297e301461078657600080fd5b806350d75d251161024f578063670e77e3116102085780637283100c116101e25780637283100c14610656578063731aed6e1461067657806374041e0214610694578063768fabb0146106b457600080fd5b8063670e77e3146106035780636ad3ca7d146106235780636b4f33351461063657600080fd5b806350d75d251461053157806352d1902d1461054657806354fbc4931461058357806357121e0c146105a3578063572b6c05146105c357806359a29141146105e357600080fd5b806333d608f1116102bc5780633f6c923a116102965780633f6c923a1461048b5780634329d293146104b857806346951954146104e6578063486ff0cd1461050657600080fd5b806333d608f1146103f457806339255d5b146104235780633ca3ad4e1461044357600080fd5b806306cecba8146103045780630c5650751461032657806315a024e1146103465780631e6d0a84146103665780631e855cf31461039c578063289b3c0d146103bc575b600080fd5b34801561031057600080fd5b5061032461031f366004614414565b610a8d565b005b34801561033257600080fd5b50610324610341366004614438565b610c64565b34801561035257600080fd5b50610324610361366004614414565b610cf4565b34801561037257600080fd5b506103866103813660046144c7565b610f44565b60405161039391906145ad565b60405180910390f35b3480156103a857600080fd5b506103866103b7366004614683565b611190565b3480156103c857600080fd5b506000546201000090046001600160a01b03165b6040516001600160a01b039091168152602001610393565b34801561040057600080fd5b5061040b622dc6c081565b6040516001600160401b039091168152602001610393565b34801561042f57600080fd5b5061038661043e3660046146d2565b6111a8565b34801561044f57600080fd5b5061047b61045e366004614414565b6001600160a01b0316600090815260046020526040902054151590565b6040519015158152602001610393565b34801561049757600080fd5b506104ab6104a6366004614747565b6111be565b604051610393919061477b565b3480156104c457600080fd5b506104d86104d336600461485c565b6111cf565b604051610393929190614908565b3480156104f257600080fd5b50610324610501366004614414565b6113d8565b34801561051257600080fd5b50604080518082019091526002815261763160f01b6020820152610386565b34801561053d57600080fd5b506103dc6114d4565b34801561055257600080fd5b507fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba745b604051908152602001610393565b34801561058f57600080fd5b5061032461059e366004614414565b611503565b3480156105af57600080fd5b506103246105be366004614414565b611786565b3480156105cf57600080fd5b5061047b6105de366004614414565b611854565b3480156105ef57600080fd5b506103866105fe36600461492d565b6118de565b34801561060f57600080fd5b5061032461061e366004614978565b6119c0565b610324610631366004614978565b6119d6565b34801561064257600080fd5b5061047b610651366004614414565b6119e1565b34801561066257600080fd5b50610324610671366004614414565b611a05565b34801561068257600080fd5b506003546001600160a01b03166103dc565b3480156106a057600080fd5b506103866106af3660046144c7565b611aad565b3480156106c057600080fd5b506103866106cf3660046149ec565b611bfc565b3480156106e057600080fd5b5061047b6106ef366004614414565b611d98565b34801561070057600080fd5b5061070a61010081565b60405163ffffffff9091168152602001610393565b34801561072b57600080fd5b5061073f61073a366004614414565b611e5d565b60405160ff9091168152602001610393565b34801561075d57600080fd5b5061038661076c36600461492d565b611e7e565b34801561077d57600080fd5b50610324611f11565b34801561079257600080fd5b5061047b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107c657600080fd5b506105756107d5366004614a67565b611fcc565b3480156107e657600080fd5b506103246107f5366004614a89565b612016565b34801561080657600080fd5b506103dc610815366004614a89565b61206a565b34801561082657600080fd5b50610386610835366004614aa2565b6120d1565b34801561084657600080fd5b50610386610855366004614afe565b612192565b34801561086657600080fd5b5061047b610875366004614438565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b3480156108af57600080fd5b5042610575565b3480156108c257600080fd5b506105756108d1366004614a67565b6124a9565b3480156108e257600080fd5b506103246108f1366004614b80565b6124f2565b34801561090257600080fd5b50610575600181565b34801561091757600080fd5b5061047b610926366004614bcb565b612568565b34801561093757600080fd5b50610324610946366004614414565b6125a9565b34801561095757600080fd5b5061096b610966366004614a89565b61268d565b6040516103939190614c0c565b34801561098457600080fd5b50610324610993366004614c59565b612777565b3480156109a457600080fd5b5061047b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156109d857600080fd5b5061047b6109e7366004614a89565b600090815260026020526040902054151590565b348015610a0757600080fd5b506103dc6127f6565b348015610a1c57600080fd5b50610324610a2b366004614c59565b6128be565b348015610a3c57600080fd5b50610a50610a4b366004614414565b6129c9565b604080519315158452911515602084015290820152606001610393565b348015610a7957600080fd5b50610324610a88366004614438565b612a18565b6000546201000090046001600160a01b03163314610abe576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015610afd576040516314f72c9f60e01b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b619190614c85565b600081815260026020526040812054919250819003610b9357604051630e4f4df560e11b815260040160405180910390fd5b60006001610ba18184614cb4565b81548110610bb157610bb1614cc7565b6000918252602090912001546040516311a5465560e21b81526001600160a01b03868116600483015290911691508190634695195490602401600060405180830381600087803b158015610c0457600080fd5b505af1158015610c18573d6000803e3d6000fd5b5050604080518681526001600160a01b03881660208201527f9279aa773f2b588996032d8de89911555039f28b13a11a7c17074330bc082d9a935001905060405180910390a150505050565b6000546201000090046001600160a01b03163314610c95576040516362e9152760e11b815260040160405180910390fd5b6040516308f2839760e41b81526001600160a01b038281166004830152831690638f28397090602401600060405180830381600087803b158015610cd857600080fd5b505af1158015610cec573d6000803e3d6000fd5b505050505050565b6000546201000090046001600160a01b03163314610d25576040516362e9152760e11b815260040160405180910390fd5b6000816001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d899190614c85565b60008181526002602052604090205490915015610db957604051631b93bb7560e31b815260040160405180910390fd5b60015461010011610ddd57604051630f85034f60e31b815260040160405180910390fd5b60007f0000000000000000000000000000000000000000000000000000000000000000610e97576000604051610e1290614397565b604051809103906000f080158015610e2e573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03868116600483015291925090821690634a0687ef90602401600060405180830381600087803b158015610e7657600080fd5b505af1158015610e8a573d6000803e3d6000fd5b5050505080915050610e9a565b50815b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0384166001600160a01b0319909116179055546000838152600260205260409081902091909155517f878135063a6cfb3bc333e534b1fdc83f4f12221cad6705c31c0567048a8bd3d190610f3790849086909182526001600160a01b0316602082015260400190565b60405180910390a1505050565b6060610f4f33611d98565b610f6c5760405163619c535960e01b815260040160405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fae9250839150612b7b9050565b610fba57610fba614cdd565b6000806110348a6000898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612b9b92505050565b9150915081156111495761104781612ced565b156110e157808060200190518101906110609190614d38565b935061106b84612b7b565b6110dc57866110955760405163a85ba64f60e01b8152601460048201526024015b60405180910390fd5b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296506110dc92508c915060149050612d41565b611183565b866111025760405163a85ba64f60e01b81526016600482015260240161108c565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296506110dc92508c915060169050612d41565b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509296505050505b5050509695505050505050565b606061119f3384600085612dc2565b90505b92915050565b60606111b633858585612fff565b949350505050565b6111c66143a4565b6111a282613110565b60608083838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506112149250839150612b7b9050565b6112345760405163a85ba64f60e01b81526014600482015260240161108c565b8961123e81611d98565b61125b5760405163619c535960e01b815260040160405180910390fd5b600061129c87878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111be92505050565b6101208101519091506001600160a01b031633146112cd5760405163066875e160e11b815260040160405180910390fd5b60608101805133909152604080516020601f8c018190048102820181019092528a8152908b908b908190840183828082843760009201919091525050505060a0830152611319826131db565b9550600061135f8e8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508c915061330f9050565b9650905080156113be578580602001905181019061137d9190614d38565b965061138887612b7b565b61139457611394614cdd565b61139d876111be565b6001600160a01b038316606082015292506113b7836131db565b96506113c7565b6113c7866133ca565b505050505097509795505050505050565b6000546201000090046001600160a01b03163314611409576040516362e9152760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000015611448576040516314f72c9f60e01b815260040160405180910390fd5b806001600160a01b031663cd312ec46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611486573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114aa9190614d6c565b156114c85760405163474e764160e01b815260040160405180910390fd5b6114d1816134d5565b50565b60006114fe7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b6000546201000090046001600160a01b03163314611534576040516362e9152760e11b815260040160405180910390fd5b6003546001600160a01b03166116a3577f000000000000000000000000000000000000000000000000000000000000000061161a57600060405161157790614397565b604051809103906000f080158015611593573d6000803e3d6000fd5b50604051634a0687ef60e01b81526001600160a01b03848116600483015291925090821690634a0687ef90602401600060405180830381600087803b1580156115db57600080fd5b505af11580156115ef573d6000803e3d6000fd5b5050600380546001600160a01b0319166001600160a01b039490941693909317909255506116369050565b600380546001600160a01b0319166001600160a01b0383161790555b600360009054906101000a90046001600160a01b03166001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561168657600080fd5b505af115801561169a573d6000803e3d6000fd5b50505050611742565b7f0000000000000000000000000000000000000000000000000000000000000000156116e2576040516314f72c9f60e01b815260040160405180910390fd5b6003546040516311a5465560e21b81526001600160a01b03838116600483015290911690634695195490602401600060405180830381600087803b15801561172957600080fd5b505af115801561173d573d6000803e3d6000fd5b505050505b6003546040516001600160a01b0390911681527fce13a9895a1719ad4493b2ac1a9bfb36070566161abab408e7ecbe586da8d499906020015b60405180910390a150565b336000818152600460205260409020546117b3576040516302eb3f7160e61b815260040160405180910390fd5b6001600160a01b0382166000908152600460205260409020546117e957604051634b5518af60e11b815260040160405180910390fd5b6117f282611e5d565b60ff166117fe82611e5d565b60ff161161181f57604051630447252760e41b815260040160405180910390fd5b6001600160a01b039081166000908152600560209081526040808320949093168252929092529020805460ff19166001179055565b600080546201000090046001600160a01b03166380f70cba30836118778661370f565b6040518463ffffffff1660e01b815260040161189593929190614d89565b602060405180830381865afa1580156118b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d69190614c85565b151592915050565b60606118e933611d98565b6119065760405163619c535960e01b815260040160405180910390fd5b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506119489250839150612b7b9050565b61195457611954614cdd565b600061199586868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111be92505050565b90508381610100018181516119aa9190614dad565b9052506119b6816131db565b9695505050505050565b6119d26119cb613797565b83836137ff565b5050565b6119d23383836137ff565b6001600160a01b0381166000908152600460205260408120546180001615156111a2565b6000546201000090046001600160a01b03163314611a36576040516362e9152760e11b815260040160405180910390fd5b600054604080516001600160a01b03620100009093048316815291831660208301527f13abda02e63c790d0e2818b251282cfe5cbe0a8abd69c54bf5d2260c0907bd2e910160405180910390a1600080546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b6060611ab833611d98565b611ad55760405163619c535960e01b815260040160405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b179250839150612b7b9050565b611b2357611b23614cdd565b600080611b9d8a6001898c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c9081908401838280828437600092019190915250612b9b92505050565b91509150811561118357611bb081612ced565b15611bd05780806020019051810190611bc99190614d38565b9350611183565b86611bf15760405163a85ba64f60e01b81526016600482015260240161108c565b6111838a6016612d41565b6060611c0733611d98565b611c245760405163619c535960e01b815260040160405180910390fd5b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611c669250839150612b7b9050565b611c7257611c72614cdd565b6000611cb389898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111be92505050565b9050611cda81606001516001600160a01b0316600090815260046020526040902054151590565b8015611cee57506001816000015160ff1610155b15611d415760608101516001600160a01b039081166000908152600560209081526040808320938b168352929052205460ff16611d415760405163a85ba64f60e01b8152601e600482015260240161108c565b805181611d4d82614dd5565b60ff169052506003602082015260c0810186905261010081018590526001600160a01b038088166101208301528416610140820152611d8b816131db565b9998505050505050505050565b600080826001600160a01b0316637730599e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dfd9190614c85565b60008181526002602052604090205490915080158015906111b657506001600160a01b0384166001611e2f8184614cb4565b81548110611e3f57611e3f614cc7565b6000918252602090912001546001600160a01b031614949350505050565b6001600160a01b03811660009081526004602052604081205460ff166111a2565b6060611e8933611d98565b611ea65760405163619c535960e01b815260040160405180910390fd5b6000611ee785858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111be92505050565b9050828161010001818151611efc9190614dad565b905250611f08816131db565b95945050505050565b600054610100900460ff1615808015611f315750600054600160ff909116105b80611f4b5750303b158015611f4b575060005460ff166001145b611f675760405162461bcd60e51b815260040161108c90614df4565b6000805460ff191660011790558015611f8a576000805461ff0019166101001790555b80156114d1576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200161177b565b600081815260026020526040812054808203611ffb57604051630e4f4df560e11b815260040160405180910390fd5b612006600182614cb4565b6001901b19841691505092915050565b7f00000000000000000000000000000000000000000000000000000000000000001561206057612060604051806040016040528060028152602001616b3160f01b81525032613fa3565b6114d1338261404c565b60008181526002602052604081205480820361209957604051630e4f4df560e11b815260040160405180910390fd5b60016120a58183614cb4565b815481106120b5576120b5614cc7565b6000918252602090912001546001600160a01b03169392505050565b60606120dc33611d98565b6120f95760405163619c535960e01b815260040160405180910390fd5b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061213b9250839150612b7b9050565b61214757612147614cdd565b6121518484612d41565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929998505050505050505050565b606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121d69250839150612b7b9050565b6121f65760405163a85ba64f60e01b81526014600482015260240161108c565b6001600160a01b03871660009081526004602052604081205488918190036122315760405163163cbe4360e01b815260040160405180910390fd5b61800081161561225357604051628e12d960e21b815260040160405180910390fd5b87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250612294915083905061411b565b90506001600160e01b031981166330d9c91560e01b14806122c557506001600160e01b0319811663d86ed3e560e01b145b806122e057506001600160e01b03198116630221347d60e61b145b806122fb57506001600160e01b0319811663230dbd2960e01b145b8061231657506001600160e01b03198116635f9e7d7760e01b145b8061233157506001600160e01b031981166353c11f9960e01b145b1561234f576040516377a14afb60e11b815260040160405180910390fd5b600061239089898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111be92505050565b6101208101519091506001600160a01b031633146123c1576040516311cfdef560e21b815260040160405180910390fd5b606081018051339091526123d4826131db565b975060008061241b8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092508f915061330f9050565b91509150811561248e57808060200190518101906124399190614d38565b99506124448a612b7b565b6124645760405163a85ba64f60e01b81526014600482015260240161108c565b61246d8a6111be565b6001600160a01b03841660608201529350612487846131db565b9950612497565b612497816133ca565b50505050505050505095945050505050565b6000818152600260205260408120548082036124d857604051630e4f4df560e11b815260040160405180910390fd5b6124e3600182614cb4565b6001901b841791505092915050565b7f0000000000000000000000000000000000000000000000000000000000000000156125595761255982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250329250613fa3915050565b612563338461404c565b505050565b600061119f83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b7b92505050565b600054610100900460ff16158080156125c95750600054600160ff909116105b806125e35750303b1580156125e3575060005460ff166001145b6125ff5760405162461bcd60e51b815260040161108c90614df4565b6000805460ff191660011790558015612622576000805461ff0019166101001790555b6000805462010000600160b01b031916620100006001600160a01b0385160217905580156119d2576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60606000806001805490506001600160401b038111156126af576126af6145c0565b6040519080825280602002602001820160405280156126d8578160200160208202803683370190505b50925060009050600091505b60015482101561276f576001821b84161561275f576001828154811061270c5761270c614cc7565b6000918252602090912001546001600160a01b0316838261272c81614e42565b93508151811061273e5761273e614cc7565b60200260200101906001600160a01b031690816001600160a01b0316815250505b61276882614e42565b91506126e4565b825250919050565b816001600160a01b03163b6000036127a25760405163353dacc360e21b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000156127ec576127ec604051806040016040528060028152602001616b3160f01b81525033613fa3565b6119d2828261404c565b6003546000906001600160a01b031661281157612811614cdd565b7f00000000000000000000000000000000000000000000000000000000000000001561284757506003546001600160a01b031690565b600360009054906101000a90046001600160a01b03166001600160a01b03166350d75d256040518163ffffffff1660e01b8152600401602060405180830381865afa15801561289a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fe9190614e5b565b816001600160a01b03163b6000036128e95760405163353dacc360e21b815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000156127ec57600061291a33614177565b6000805460405163407b865d60e11b81529293509091620100009091046001600160a01b0316906380f70cba9061295990309085908790600401614d89565b602060405180830381865afa158015612976573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061299a9190614c85565b6001149050806129bd57604051630b56455f60e41b815260040160405180910390fd5b50506119d2828261404c565b6001600160a01b038116600090815260046020908152604080832081519283019091525480825215801592918291612a1057805161800081161515935064ff000000001691505b509193909250565b6000546201000090046001600160a01b03163314612a49576040516362e9152760e11b815260040160405180910390fd5b60006001600160a01b038216612ad557600360009054906101000a90046001600160a01b03166001600160a01b0316639470a5b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015612aac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ad09190614e5b565b612ad7565b815b6040516311a5465560e21b81526001600160a01b03808316600483015291925090841690634695195490602401600060405180830381600087803b158015612b1e57600080fd5b505af1158015612b32573d6000803e3d6000fd5b50506040516001600160a01b038481168252861692507f840acbd291b38534819f47f875839277e502f40e1c7bfea2c5fc2c8017442cd3915060200160405180910390a2505050565b600081516000141580156111a25750600654825160208401201492915050565b600060606001600160a01b038716612bb557612bb5614cdd565b612bbf84846141f1565b9350622dc6c060005a90508715612c3557886001600160a01b03168287604051612be99190614e78565b6000604051808303818686fa925050503d8060008114612c25576040519150601f19603f3d011682016040523d82523d6000602084013e612c2a565b606091505b509094509250612c98565b886001600160a01b03168287604051612c4e9190614e78565b60006040518083038160008787f1925050503d8060008114612c8c576040519150601f19603f3d011682016040523d82523d6000602084013e612c91565b606091505b5090945092505b83612ce157612ca6816142a8565b612cc85786612cbd57612cb8836133ca565b612ce1565b612cb889600a612d41565b604051636a7aea4b60e11b815260040160405180910390fd5b50509550959350505050565b6000604082511015612d0157506000919050565b602082810151906000908214612d1b575060009392505050565b506040830151612d2a816142be565b612d35906040614e94565b84511492505050919050565b6001600160a01b0382166000908152600460205260408120546180001690036119d2576001600160a01b038216600081815260046020526040908190208054618000179055517fbe3aa33bd245135e4e26b223d79d14ea479a47bff09f2b03c53838af1edbb14b90612db69084815260200190565b60405180910390a25050565b60065460609015612de95760405163a85ba64f60e01b81526015600482015260240161108c565b6001600160a01b0384166000908152600460205260408120548591819003612e245760405163163cbe4360e01b815260040160405180910390fd5b618000811615612e4657604051628e12d960e21b815260040160405180910390fd5b836000612e528261411b565b90506001600160e01b031981166330d9c91560e01b1480612e8357506001600160e01b0319811663d86ed3e560e01b145b80612e9e57506001600160e01b03198116630221347d60e61b145b80612eb957506001600160e01b0319811663230dbd2960e01b145b80612ed457506001600160e01b03198116635f9e7d7760e01b145b80612eef57506001600160e01b031981166353c11f9960e01b145b15612f0d576040516377a14afb60e11b815260040160405180910390fd5b60408051610160810182526000808252600260208084019190915242838501526001600160a01b03808e16606085015260808401839052845191820190945281815260a083015260c0820181905260e082018190526101008201819052918a166101208201526101408101829052612f84906131db565b90506000612f948a898b8561330f565b975090508015612fe25786806020019051810190612fb29190614d38565b9150612fbd82612b7b565b612fdd5760405163a85ba64f60e01b81526014600482015260240161108c565b612feb565b612feb876133ca565b505060006006555092979650505050505050565b600654606090156130265760405163a85ba64f60e01b81526015600482015260240161108c565b8361303081611d98565b61304d5760405163619c535960e01b815260040160405180910390fd5b60006130588561411b565b60408051610160810182526000808252600160208301529293506130db9181014281526020018a6001600160a01b03168152602001846001600160e01b031916815260200187815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b03168152506131db565b905060006130ec888860008561330f565b95509050806130fe576130fe856133ca565b50506000600655509095945050505050565b6131186143a4565b6060808380602001905181019061312f9190614ea7565b8151919350915060009061314c9084016020908101908501614f00565b60a08901526001600160e01b03191660808801526001600160a01b031660608701526040860152602081811c600f168187015260ff909116855282516000925061319d919084018101908401614f84565b6001600160a01b03908116610140890152166101208701526101008601526001600160801b03811660c086015260801c60e085015250919392505050565b60606001826000015160ff1611156132095760405163a85ba64f60e01b81526028600482015260240161108c565b815160208084015160009260ff1664ff000000009190921b16179050600060806132368560e001516142f7565b6001600160801b0316901b61324e8560c001516142f7565b6001600160801b0316179050818460400151856060015186608001518760a00151604051602001613283959493929190614fcf565b60408051601f1981840301815282825261010087015161012088015161014089015160208601879052938501919091526001600160a01b03908116606085015290911660808301529060a00160408051601f19818403018152908290526132ed9291602001614908565b60408051601f1981840301815291905280516020820120600655949350505050565b600060606001600160a01b03861661332957613329614cdd565b61333385846141f1565b9450856001600160a01b0316848660405161334e9190614e78565b60006040518083038185875af1925050503d806000811461338b576040519150601f19603f3d011682016040523d82523d6000602084013e613390565b606091505b50909250905081156133c15780516000036133c15760405163a85ba64f60e01b81526016600482015260240161108c565b94509492505050565b60048151101561341c5760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a20746172676574207265766572742829000000000000604482015260640161108c565b602081015163b1b7848f60e01b6001600160e01b03198216016134cc5760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b815291929161108c918491016145ad565b81518060208401fd5b60006134ff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316036135555760405162461bcd60e51b815260206004820152601d60248201527f5555505350726f786961626c653a206e6f742075706772616461626c65000000604482015260640161108c565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613593573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135b79190614c85565b7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74146136315760405162461bcd60e51b815260206004820152602360248201527f5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f60448201526267696360e81b606482015260840161108c565b6001600160a01b03811630036136895760405162461bcd60e51b815260206004820152601960248201527f5555505350726f786961626c653a2070726f7879206c6f6f7000000000000000604482015260640161108c565b6136b1817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc7fcd355cae2c435f8c5e0c626c4691d22fd85aa7422a424c6f0bced6e64c7aba74604080519182526001600160a01b03841660208301520161177b565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b6000601836108015906137ae57506137ae33611854565b6137f25760405162461bcd60e51b81526020600482015260156024820152742737ba103a393ab9ba32b2103337b93bb0b93232b960591b604482015260640161108c565b5060131936013560601c90565b6000805b82811015613f5c57600084848381811061381f5761381f614cc7565b9050602002810190613831919061501b565b61383f906020810190615031565b905060001963ffffffff8216016139335760008086868581811061386557613865614cc7565b9050602002810190613877919061501b565b613885906040810190615057565b8101906138929190614c59565b915091508686858181106138a8576138a8614cc7565b90506020028101906138ba919061501b565b6138cb906040810190602001614414565b6001600160a01b03166362aa52878984846040518463ffffffff1660e01b81526004016138fa93929190614d89565b600060405180830381600087803b15801561391457600080fd5b505af1158015613928573d6000803e3d6000fd5b505050505050613f4b565b60011963ffffffff821601613a3e57600080600087878681811061395957613959614cc7565b905060200281019061396b919061501b565b613979906040810190615057565b810190613986919061509d565b92509250925087878681811061399e5761399e614cc7565b90506020028101906139b0919061501b565b6139c1906040810190602001614414565b604051630b682aeb60e11b81526001600160a01b038b81166004830152858116602483015284811660448301526064820184905291909116906316d055d6906084015b600060405180830381600087803b158015613a1e57600080fd5b505af1158015613a32573d6000803e3d6000fd5b50505050505050613f4b565b60021963ffffffff821601613afd576000806000878786818110613a6457613a64614cc7565b9050602002810190613a76919061501b565b613a84906040810190615057565b810190613a9191906150de565b925092509250878786818110613aa957613aa9614cc7565b9050602002810190613abb919061501b565b613acc906040810190602001614414565b6001600160a01b031663ca0c1e7f8a8585856040518563ffffffff1660e01b8152600401613a04949392919061512c565b60031963ffffffff821601613bb657600080868685818110613b2157613b21614cc7565b9050602002810190613b33919061501b565b613b41906040810190615057565b810190613b4e9190614c59565b91509150868685818110613b6457613b64614cc7565b9050602002810190613b76919061501b565b613b87906040810190602001614414565b6001600160a01b0316634b2763b38984846040518463ffffffff1660e01b81526004016138fa93929190614d89565b60041963ffffffff821601613c6f57600080868685818110613bda57613bda614cc7565b9050602002810190613bec919061501b565b613bfa906040810190615057565b810190613c079190614c59565b91509150868685818110613c1d57613c1d614cc7565b9050602002810190613c2f919061501b565b613c40906040810190602001614414565b6001600160a01b031663c780fd828984846040518463ffffffff1660e01b81526004016138fa93929190614d89565b60641963ffffffff821601613d6457848483818110613c9057613c90614cc7565b9050602002810190613ca2919061501b565b613cb3906040810190602001614414565b6001600160a01b031663ca78946487878786818110613cd457613cd4614cc7565b9050602002810190613ce6919061501b565b613cf4906040810190615057565b810190613d019190614a89565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015613d4757600080fd5b505af1158015613d5b573d6000803e3d6000fd5b50505050613f4b565b60651963ffffffff821601613dc957848483818110613d8557613d85614cc7565b9050602002810190613d97919061501b565b613da8906040810190602001614414565b6001600160a01b031663245887fc87878786818110613cd457613cd4614cc7565b60c81963ffffffff821601613e6657600080868685818110613ded57613ded614cc7565b9050602002810190613dff919061501b565b613e0d906040810190615057565b810190613e1a919061515f565b91509150613e5e88888887818110613e3457613e34614cc7565b9050602002810190613e46919061501b565b613e57906040810190602001614414565b8484612fff565b505050613f4b565b60c91963ffffffff821601613f3257613f2886868685818110613e8b57613e8b614cc7565b9050602002810190613e9d919061501b565b613eae906040810190602001614414565b85613eb95734613ebc565b60005b888887818110613ece57613ece614cc7565b9050602002810190613ee0919061501b565b613eee906040810190615057565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612dc292505050565b5060019250613f4b565b60405163b477011560e01b815260040160405180910390fd5b50613f5581614e42565b9050613803565b503415801590613f6a575080155b15613f9d5760405133903480156108fc02916000818181858888f19350505050158015613f9b573d6000803e3d6000fd5b505b50505050565b6000613faf8284614364565b6000805460405163407b865d60e11b81529293504292620100009091046001600160a01b0316916380f70cba91613fec9130918790600401614d89565b602060405180830381865afa158015614009573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061402d9190614c85565b101561256357604051630b56455f60e41b815260040160405180910390fd5b64ff000080ff198116151580614063575060ff8116155b806140715750618000811615155b1561408f57604051633d3200a960e21b815260040160405180910390fd5b6001600160a01b038216600090815260046020526040902054156140c6576040516301b0a93560e01b815260040160405180910390fd5b60408051602080820183528382526001600160a01b038516600081815260049092528382209251909255915190917f0d540ad8f39e07d19909687352b9fa017405d93c91a6760981fbae9cf28bfef791a25050565b600060048251101561416f5760405162461bcd60e51b815260206004820152601b60248201527f43616c6c5574696c733a20696e76616c69642063616c6c446174610000000000604482015260640161108c565b506020015190565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c00161377a565b81518083015160609190801561421a576040516367e9985b60e01b815260040160405180910390fd5b50601f1981018452825184908481614231816142be565b61423b9190614cb4565b6001600160401b03811115614252576142526145c0565b6040519080825280601f01601f19166020018201604052801561427c576020820181803683370190505b5060405160200161429094939291906151b8565b60405160208183030381529060405291505092915050565b60006142b5603f83615207565b5a111592915050565b60008082601f16116142d15760006142d4565b60015b60ff166142e2602084615207565b6142ec9190614e94565b6111a2906020615229565b60006001600160801b038211156143605760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b606482015260840161108c565b5090565b60008282604051602001614379929190615240565b60405160208183030381529060405280519060200120905092915050565b61024a806152c683390190565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b03811681146114d157600080fd5b60006020828403121561442657600080fd5b8135614431816143ff565b9392505050565b6000806040838503121561444b57600080fd5b8235614456816143ff565b91506020830135614466816143ff565b809150509250929050565b60008083601f84011261448357600080fd5b5081356001600160401b0381111561449a57600080fd5b6020830191508360208285010111156144b257600080fd5b9250929050565b80151581146114d157600080fd5b600080600080600080608087890312156144e057600080fd5b86356144eb816143ff565b955060208701356001600160401b038082111561450757600080fd5b6145138a838b01614471565b909750955060408901359150614528826144b9565b9093506060880135908082111561453e57600080fd5b5061454b89828a01614471565b979a9699509497509295939492505050565b60005b83811015614578578181015183820152602001614560565b50506000910152565b6000815180845261459981602086016020860161455d565b601f01601f19169290920160200192915050565b60208152600061119f6020830184614581565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156145fe576145fe6145c0565b604052919050565b60006001600160401b0382111561461f5761461f6145c0565b50601f01601f191660200190565b600082601f83011261463e57600080fd5b813561465161464c82614606565b6145d6565b81815284602083860101111561466657600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561469657600080fd5b82356146a1816143ff565b915060208301356001600160401b038111156146bc57600080fd5b6146c88582860161462d565b9150509250929050565b6000806000606084860312156146e757600080fd5b83356146f2816143ff565b925060208401356001600160401b038082111561470e57600080fd5b61471a8783880161462d565b9350604086013591508082111561473057600080fd5b5061473d8682870161462d565b9150509250925092565b60006020828403121561475957600080fd5b81356001600160401b0381111561476f57600080fd5b6111b68482850161462d565b6020815261478f60208201835160ff169052565b600060208301516147a5604084018260ff169052565b506040830151606083015260608301516147ca60808401826001600160a01b03169052565b5060808301516001600160e01b0319811660a08401525060a08301516101608060c08501526147fd610180850183614581565b915060c085015160e085015260e0850151610100818187015280870151915050610120818187015280870151915050610140614843818701836001600160a01b03169052565b909501516001600160a01b031693019290925250919050565b60008060008060008060006080888a03121561487757600080fd5b8735614882816143ff565b965060208801356001600160401b038082111561489e57600080fd5b6148aa8b838c01614471565b909850965060408a01359150808211156148c357600080fd5b6148cf8b838c01614471565b909650945060608a01359150808211156148e857600080fd5b506148f58a828b01614471565b989b979a50959850939692959293505050565b60408152600061491b6040830185614581565b8281036020840152611f088185614581565b60008060006040848603121561494257600080fd5b83356001600160401b0381111561495857600080fd5b61496486828701614471565b909790965060209590950135949350505050565b6000806020838503121561498b57600080fd5b82356001600160401b03808211156149a257600080fd5b818501915085601f8301126149b657600080fd5b8135818111156149c557600080fd5b8660208260051b85010111156149da57600080fd5b60209290920196919550909350505050565b60008060008060008060a08789031215614a0557600080fd5b86356001600160401b03811115614a1b57600080fd5b614a2789828a01614471565b9097509550506020870135614a3b816143ff565b935060408701359250606087013591506080870135614a59816143ff565b809150509295509295509295565b60008060408385031215614a7a57600080fd5b50508035926020909101359150565b600060208284031215614a9b57600080fd5b5035919050565b60008060008060608587031215614ab857600080fd5b84356001600160401b03811115614ace57600080fd5b614ada87828801614471565b9095509350506020850135614aee816143ff565b9396929550929360400135925050565b600080600080600060608688031215614b1657600080fd5b8535614b21816143ff565b945060208601356001600160401b0380821115614b3d57600080fd5b614b4989838a01614471565b90965094506040880135915080821115614b6257600080fd5b50614b6f88828901614471565b969995985093965092949392505050565b600080600060408486031215614b9557600080fd5b8335925060208401356001600160401b03811115614bb257600080fd5b614bbe86828701614471565b9497909650939450505050565b60008060208385031215614bde57600080fd5b82356001600160401b03811115614bf457600080fd5b614c0085828601614471565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b81811015614c4d5783516001600160a01b031683529284019291840191600101614c28565b50909695505050505050565b60008060408385031215614c6c57600080fd5b8235614c77816143ff565b946020939093013593505050565b600060208284031215614c9757600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156111a2576111a2614c9e565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b600082601f830112614d0457600080fd5b8151614d1261464c82614606565b818152846020838601011115614d2757600080fd5b6111b682602083016020870161455d565b600060208284031215614d4a57600080fd5b81516001600160401b03811115614d6057600080fd5b6111b684828501614cf3565b600060208284031215614d7e57600080fd5b8151614431816144b9565b6001600160a01b039384168152919092166020820152604081019190915260600190565b8082018281126000831280158216821582161715614dcd57614dcd614c9e565b505092915050565b600060ff821660ff8103614deb57614deb614c9e565b60010192915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b600060018201614e5457614e54614c9e565b5060010190565b600060208284031215614e6d57600080fd5b8151614431816143ff565b60008251614e8a81846020870161455d565b9190910192915050565b808201808211156111a2576111a2614c9e565b60008060408385031215614eba57600080fd5b82516001600160401b0380821115614ed157600080fd5b614edd86838701614cf3565b93506020850151915080821115614ef357600080fd5b506146c885828601614cf3565b600080600080600060a08688031215614f1857600080fd5b85519450602086015193506040860151614f31816143ff565b60608701519093506001600160e01b031981168114614f4f57600080fd5b60808701519092506001600160401b03811115614f6b57600080fd5b614f7788828901614cf3565b9150509295509295909350565b60008060008060808587031215614f9a57600080fd5b84519350602085015192506040850151614fb3816143ff565b6060860151909250614fc4816143ff565b939692955090935050565b858152602081018590526001600160a01b03841660408201526001600160e01b03198316606082015260a06080820181905260009061501090830184614581565b979650505050505050565b60008235605e19833603018112614e8a57600080fd5b60006020828403121561504357600080fd5b813563ffffffff8116811461443157600080fd5b6000808335601e1984360301811261506e57600080fd5b8301803591506001600160401b0382111561508857600080fd5b6020019150368190038213156144b257600080fd5b6000806000606084860312156150b257600080fd5b83356150bd816143ff565b925060208401356150cd816143ff565b929592945050506040919091013590565b6000806000606084860312156150f357600080fd5b83356150fe816143ff565b92506020840135915060408401356001600160401b0381111561512057600080fd5b61473d8682870161462d565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906119b690830184614581565b6000806040838503121561517257600080fd5b82356001600160401b038082111561518957600080fd5b6151958683870161462d565b935060208501359150808211156151ab57600080fd5b506146c88582860161462d565b6000855160206151cb8285838b0161455d565b818401915086825285516151e481838501848a0161455d565b85519201916151f88183850184890161455d565b91909101019695505050505050565b60008261522457634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176111a2576111a2614c9e565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e0604082015260006111b660e083018461458156fe608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033a26469706673582212206090473d4d026562ec1a0b731d0e81ec316b0a865fa85fe4162a544a94556b0f64736f6c63430008130033",wG=eb=>eb.length>1;class wY extends u9.lV{constructor(...eb){wG(eb)?super(...eb):super(wZ,wK,eb[0])}deploy(eb,em,ew){return super.deploy(eb,em,ew||{})}getDeployTransaction(eb,em,ew){return super.getDeployTransaction(eb,em,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(wZ)}static connect(eb,em){return new u9.CH(eb,wZ,em)}}wY.bytecode=wK,wY.abi=wZ;let wJ=[{inputs:[],name:"SF_TOKEN_AGREEMENT_ALREADY_EXISTS",type:"error"},{inputs:[],name:"SF_TOKEN_AGREEMENT_DOES_NOT_EXIST",type:"error"},{inputs:[],name:"SF_TOKEN_BURN_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_MOVE_INSUFFICIENT_BALANCE",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_HOST",type:"error"},{inputs:[],name:"SF_TOKEN_ONLY_LISTED_AGREEMENT",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"rewardAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"}],name:"AgreementLiquidated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"penaltyAccount",type:"address"},{indexed:!0,internalType:"address",name:"bondAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"AgreementLiquidatedBy",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!0,internalType:"address",name:"liquidatorAccount",type:"address"},{indexed:!0,internalType:"address",name:"targetAccount",type:"address"},{indexed:!1,internalType:"address",name:"rewardAmountReceiver",type:"address"},{indexed:!1,internalType:"uint256",name:"rewardAmount",type:"uint256"},{indexed:!1,internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"},{indexed:!1,internalType:"bytes",name:"liquidationTypeData",type:"bytes"}],name:"AgreementLiquidatedV2",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"slotId",type:"uint256"}],name:"AgreementStateUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"}],name:"AgreementTerminated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"agreementClass",type:"address"},{indexed:!1,internalType:"bytes32",name:"id",type:"bytes32"},{indexed:!1,internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"AgreementUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"bailoutAccount",type:"address"},{indexed:!1,internalType:"uint256",name:"bailoutAmount",type:"uint256"}],name:"Bailout",type:"event"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"createAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"getAccountActiveAgreements",outputs:[{internalType:"contract ISuperAgreement[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementData",outputs:[{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"agreementClass",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"getAgreementStateSlot",outputs:[{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getHost",outputs:[{internalType:"address",name:"host",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountCritical",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountCriticalNow",outputs:[{internalType:"bool",name:"isCritical",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"isAccountSolvent",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isAccountSolventNow",outputs:[{internalType:"bool",name:"isSolvent",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes",name:"liquidationTypeData",type:"bytes"},{internalType:"address",name:"liquidatorAccount",type:"address"},{internalType:"bool",name:"useDefaultRewardAccount",type:"bool"},{internalType:"address",name:"targetAccount",type:"address"},{internalType:"uint256",name:"rewardAmount",type:"uint256"},{internalType:"int256",name:"targetAccountBalanceDelta",type:"int256"}],name:"makeLiquidationPayoutsV2",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"timestamp",type:"uint256"}],name:"realtimeBalanceOf",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"realtimeBalanceOfNow",outputs:[{internalType:"int256",name:"availableBalance",type:"int256"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"},{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"int256",name:"delta",type:"int256"}],name:"settleBalance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"uint256",name:"dataLength",type:"uint256"}],name:"terminateAgreement",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"id",type:"bytes32"},{internalType:"bytes32[]",name:"data",type:"bytes32[]"}],name:"updateAgreementData",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"slotId",type:"uint256"},{internalType:"bytes32[]",name:"slotData",type:"bytes32[]"}],name:"updateAgreementStateSlot",outputs:[],stateMutability:"nonpayable",type:"function"}];class wX{static createInterface(){return new pE.vU(wJ)}static connect(eb,em){return new u9.CH(eb,wJ,em)}}wX.abi=wJ;let wQ=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenDowngraded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"TokenUpgraded",type:"event"},{stateMutability:"payable",type:"fallback"},{inputs:[{internalType:"uint256",name:"wad",type:"uint256"}],name:"downgradeToETH",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"initialAddress",type:"address"}],name:"initializeProxy",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"upgradeByETH",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"}],name:"upgradeByETHTo",outputs:[],stateMutability:"payable",type:"function"},{stateMutability:"payable",type:"receive"}],Mb="0x608060405234801561001057600080fd5b506105a4806100206000396000f3fe6080604052600436106100435760003560e01c8063160e8be3146100ef5780634a0687ef1461010f5780637687d19b1461012f578063cf81464b14610142576100e5565b366100e5576040805160008152602081019182905263c68d428360e01b909152309063c68d42839061007c9033903490602481016104c0565b600060405180830381600087803b15801561009657600080fd5b505af11580156100aa573d6000803e3d6000fd5b50506040513481523392507f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df915060200160405180910390a2005b6100ed61014a565b005b3480156100fb57600080fd5b506100ed61010a366004610525565b61015c565b34801561011b57600080fd5b506100ed61012a36600461053e565b610229565b6100ed61013d36600461053e565b61032f565b6100ed6103d0565b61015a61015561046d565b61049c565b565b60408051600081526020810191829052639d87674160e01b9091523090639d876741906101909033908590602481016104c0565b600060405180830381600087803b1580156101aa57600080fd5b505af11580156101be573d6000803e3d6000fd5b505060405133925083156108fc02915083906000818181858888f193505050501580156101ef573d6000803e3d6000fd5b5060405181815233907f3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d906020015b60405180910390a250565b6001600160a01b0381166102845760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006102ae7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146103045760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a65640000604482015260640161027b565b61032c817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b6040805160008152602081019182905263c68d428360e01b909152309063c68d4283906103639084903490602481016104c0565b600060405180830381600087803b15801561037d57600080fd5b505af1158015610391573d6000803e3d6000fd5b50505050806001600160a01b03167f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df3460405161021e91815260200190565b6040805160008152602081019182905263c68d428360e01b909152309063c68d4283906104049033903490602481016104c0565b600060405180830381600087803b15801561041e57600080fd5b505af1158015610432573d6000803e3d6000fd5b50506040513481523392507f25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df915060200160405180910390a2565b60006104977f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156104bb573d6000f35b3d6000fd5b60018060a01b038416815260006020848184015260606040840152835180606085015260005b81811015610502578581018301518582016080015282016104e6565b506000608082860101526080601f19601f83011685010192505050949350505050565b60006020828403121561053757600080fd5b5035919050565b60006020828403121561055057600080fd5b81356001600160a01b038116811461056757600080fd5b939250505056fea2646970667358221220e31946744b150dbb93566f39ba2d9b41930369cbf03e478ae05d566c80cf093464736f6c63430008130033",Mm=eb=>eb.length>1;class My extends u9.lV{constructor(...eb){Mm(eb)?super(...eb):super(wQ,Mb,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(wQ)}static connect(eb,em){return new u9.CH(eb,wQ,em)}}My.bytecode=Mb,My.abi=wQ;let Mv=[{stateMutability:"payable",type:"fallback"},{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"uint256",name:"initialSupply",type:"uint256"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"initialAddress",type:"address"}],name:"initializeProxy",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],Mz="0x608060405234801561001057600080fd5b506104bb806100206000396000f3fe60806040526004361061002d5760003560e01c80634a0687ef14610044578063b119490e146100645761003c565b3661003c5761003a610084565b005b61003a610084565b34801561005057600080fd5b5061003a61005f3660046102bc565b610096565b34801561007057600080fd5b5061003a61007f366004610335565b61019c565b61009461008f610269565b610298565b565b6001600160a01b0381166100f15760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b600061011b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101715760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100e8565b610199817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b6040516285fc1360e71b815230906342fe0980906101ca906000906012908a908a908a908a906004016103d2565b600060405180830381600087803b1580156101e457600080fd5b505af11580156101f8573d6000803e3d6000fd5b50506040805160008152602081019182905263c68d428360e01b90915230925063c68d42839150610230903390859060248101610420565b600060405180830381600087803b15801561024a57600080fd5b505af115801561025e573d6000803e3d6000fd5b505050505050505050565b60006102937f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156102b7573d6000f35b3d6000fd5b6000602082840312156102ce57600080fd5b81356001600160a01b03811681146102e557600080fd5b9392505050565b60008083601f8401126102fe57600080fd5b50813567ffffffffffffffff81111561031657600080fd5b60208301915083602082850101111561032e57600080fd5b9250929050565b60008060008060006060868803121561034d57600080fd5b853567ffffffffffffffff8082111561036557600080fd5b61037189838a016102ec565b9097509550602088013591508082111561038a57600080fd5b50610397888289016102ec565b96999598509660400135949350505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038716815260ff8616602082015260806040820181905260009061040090830186886103a9565b82810360608401526104138185876103a9565b9998505050505050505050565b60018060a01b038416815260006020848184015260606040840152835180606085015260005b8181101561046257858101830151858201608001528201610446565b506000608082860101526080601f19601f8301168501019250505094935050505056fea26469706673582212202063bf511c5f533dd594b200c684c8468de882be07cf80ebe9d3c4125279572464736f6c63430008130033",Mw=eb=>eb.length>1;class MM extends u9.lV{constructor(...eb){Mw(eb)?super(...eb):super(Mv,Mz,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(Mv)}static connect(eb,em){return new u9.CH(eb,Mv,em)}}MM.bytecode=Mz,MM.abi=Mv;let MC=[{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"uuid",type:"bytes32"},{indexed:!1,internalType:"address",name:"codeAddress",type:"address"}],name:"CodeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint8",name:"version",type:"uint8"}],name:"Initialized",type:"event"},{inputs:[],name:"castrate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getCodeAddress",outputs:[{internalType:"address",name:"codeAddress",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newAddress",type:"address"}],name:"updateCode",outputs:[],stateMutability:"nonpayable",type:"function"}];class Mx{static createInterface(){return new pE.vU(MC)}static connect(eb,em){return new u9.CH(eb,MC,em)}}Mx.abi=MC;let Mk=[{stateMutability:"payable",type:"fallback"},{inputs:[{internalType:"address",name:"initialAddress",type:"address"}],name:"initializeProxy",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],MT="0x608060405234801561001057600080fd5b5061022a806100206000396000f3fe6080604052600436106100225760003560e01c80634a0687ef1461003957610031565b366100315761002f610059565b005b61002f610059565b34801561004557600080fd5b5061002f6100543660046101c4565b61006b565b610069610064610171565b6101a0565b565b6001600160a01b0381166100c65760405162461bcd60e51b815260206004820152601760248201527f5555505350726f78793a207a65726f206164647265737300000000000000000060448201526064015b60405180910390fd5b60006100f07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b0316146101465760405162461bcd60e51b815260206004820152601e60248201527f5555505350726f78793a20616c726561647920696e697469616c697a6564000060448201526064016100bd565b61016e817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50565b600061019b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905090565b3660008037600080366000845af43d6000803e8080156101bf573d6000f35b3d6000fd5b6000602082840312156101d657600080fd5b81356001600160a01b03811681146101ed57600080fd5b939250505056fea264697066735822122093a2bbcf49dd2895177212eeb11e9921080374fd8cd93d5be93a80935603195a64736f6c63430008130033",M_=eb=>eb.length>1;class ME extends u9.lV{constructor(...eb){M_(eb)?super(...eb):super(Mk,MT,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(Mk)}static connect(eb,em){return new u9.CH(eb,Mk,em)}}ME.bytecode=MT,ME.abi=Mk;let MS=[{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"int96",name:"exitRate",type:"int96"}],name:"ExitRateChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"pic",type:"address"},{indexed:!1,internalType:"uint256",name:"bond",type:"uint256"},{indexed:!1,internalType:"int96",name:"exitRate",type:"int96"}],name:"NewPIC",type:"event"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"int96",name:"newExitRate",type:"int96"}],name:"changeExitRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"getCurrentPIC",outputs:[{internalType:"address",name:"pic",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"getCurrentPICInfo",outputs:[{internalType:"address",name:"pic",type:"address"},{internalType:"uint256",name:"bond",type:"uint256"},{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint256",name:"bondAmount",type:"uint256"}],name:"getDefaultExitRateFor",outputs:[{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint256",name:"bondAmount",type:"uint256"}],name:"getMaxExitRateFor",outputs:[{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"}];class MA{static createInterface(){return new pE.vU(MS)}static connect(eb,em){return new u9.CH(eb,MS,em)}}MA.abi=MS;let MN=[{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"additionalBond",type:"uint256"}],name:"BondIncreased",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"int96",name:"exitRate",type:"int96"}],name:"ExitRateChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"pic",type:"address"},{indexed:!1,internalType:"uint256",name:"bond",type:"uint256"},{indexed:!1,internalType:"int96",name:"exitRate",type:"int96"}],name:"NewPIC",type:"event"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"int96",name:"newExitRate",type:"int96"}],name:"changeExitRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"getCurrentPIC",outputs:[{internalType:"address",name:"pic",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"getCurrentPICInfo",outputs:[{internalType:"address",name:"pic",type:"address"},{internalType:"uint256",name:"bond",type:"uint256"},{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint256",name:"bondAmount",type:"uint256"}],name:"getDefaultExitRateFor",outputs:[{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint256",name:"bondAmount",type:"uint256"}],name:"getMaxExitRateFor",outputs:[{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"withdrawFundsInCustody",outputs:[],stateMutability:"nonpayable",type:"function"}];class MI{static createInterface(){return new pE.vU(MN)}static connect(eb,em){return new u9.CH(eb,MN,em)}}MI.abi=MN;let MD=[{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"additionalBond",type:"uint256"}],name:"BondIncreased",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"int96",name:"exitRate",type:"int96"}],name:"ExitRateChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"pic",type:"address"},{indexed:!1,internalType:"uint256",name:"bond",type:"uint256"},{indexed:!1,internalType:"int96",name:"exitRate",type:"int96"}],name:"NewPIC",type:"event"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"int96",name:"newExitRate",type:"int96"}],name:"changeExitRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"getCurrentPIC",outputs:[{internalType:"address",name:"pic",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"getCurrentPICInfo",outputs:[{internalType:"address",name:"pic",type:"address"},{internalType:"uint256",name:"bond",type:"uint256"},{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint256",name:"bondAmount",type:"uint256"}],name:"getDefaultExitRateFor",outputs:[{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"uint256",name:"bondAmount",type:"uint256"}],name:"getMaxExitRateFor",outputs:[{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"}];class MO{static createInterface(){return new pE.vU(MD)}static connect(eb,em){return new u9.CH(eb,MD,em)}}MO.abi=MD;let MP=[{inputs:[{internalType:"contract ISuperfluid",name:"host_",type:"address"},{internalType:"uint256",name:"minBondDuration_",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"uint256",name:"additionalBond",type:"uint256"}],name:"BondIncreased",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"int96",name:"exitRate",type:"int96"}],name:"ExitRateChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperToken",name:"token",type:"address"},{indexed:!1,internalType:"address",name:"pic",type:"address"},{indexed:!1,internalType:"uint256",name:"bond",type:"uint256"},{indexed:!1,internalType:"int96",name:"exitRate",type:"int96"}],name:"NewPIC",type:"event"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"int96",name:"newExitRate",type:"int96"}],name:"changeExitRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"getCurrentPIC",outputs:[{internalType:"address",name:"pic",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"}],name:"getCurrentPICInfo",outputs:[{internalType:"address",name:"pic",type:"address"},{internalType:"uint256",name:"bond",type:"uint256"},{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"uint256",name:"bondAmount",type:"uint256"}],name:"getDefaultExitRateFor",outputs:[{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"",type:"address"},{internalType:"uint256",name:"bondAmount",type:"uint256"}],name:"getMaxExitRateFor",outputs:[{internalType:"int96",name:"exitRate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[],name:"minBondDuration",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"userData",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"tokensReceived",outputs:[],stateMutability:"nonpayable",type:"function"}],MR="0x60e06040523480156200001157600080fd5b5060405162001833380380620018338339810160408190526200003491620002b5565b6001600160a01b038216608081905260c0829052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015263b6d200de90602401602060405180830381865afa158015620000a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c89190620002e6565b6001600160a01b031660a0526040516329965a1d60e01b815230600482018190527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248301819052604483019190915290731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b1580156200015457600080fd5b505af115801562000169573d6000803e3d6000fd5b50506040516329965a1d60e01b815230600482018190527fece6fc2bcfc93e4c34c28aeaa114be1a6161decb8268f79cbe7c3c7f31b1e8c660248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b158015620001e757600080fd5b505af1158015620001fc573d6000803e3d6000fd5b50506040516329965a1d60e01b815230600482018190527fca6323f8f0faf3d4f41f2397ee46c8d85bed576d54aadeb20b6cf7b45b3a696460248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b1580156200027a57600080fd5b505af11580156200028f573d6000803e3d6000fd5b505050505050506200030d565b6001600160a01b0381168114620002b257600080fd5b50565b60008060408385031215620002c957600080fd5b8251620002d6816200029c565b6020939093015192949293505050565b600060208284031215620002f957600080fd5b815162000306816200029c565b9392505050565b60805160a05160c05161148d620003a66000396000818161011d015281816102dd0152818161074201528181610792015261093501526000818161037e0152818161043f0152818161058f0152818161061e015281816107fa01528181610a5601528181610b170152610ce701526000818161041501528181610565015281816105f401528181610aed0152610cbd015261148d6000f3fe608060405234801561001057600080fd5b506004361061007c5760003560e01c8063362910631161005b57806336291063146100d457806360dfa69514610118578063b8a140331461014d578063bf8903dd1461016057600080fd5b806223de291461008157806302f3c6c51461009657806316e23b9f146100a9575b600080fd5b61009461008f366004610fc0565b61019b565b005b6100946100a4366004611080565b610243565b6100bc6100b73660046110b9565b610735565b604051600b9190910b81526020015b60405180910390f35b6101006100e23660046110e5565b6001600160a01b039081166000908152602081905260409020541690565b6040516001600160a01b0390911681526020016100cb565b61013f7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100cb565b6100bc61015b3660046110b9565b610785565b61017361016e3660046110e5565b6107b7565b604080516001600160a01b0390941684526020840192909252600b0b908201526060016100cb565b336000818152602081905260409020546001600160a01b038981169116146101f457600084156101d6576101d185870187611109565b6101e0565b6101e08288610735565b90506101ee828a898461089b565b50610238565b806001600160a01b03167fb9c1b85a7ee70d95c61aca7cda03ef957abc5265a191ca74cc335faf594095668760405161022f91815260200190565b60405180910390a25b505050505050505050565b6001600160a01b03808316600090815260208190526040902054163381146102ab5760405162461bcd60e51b81526020600482015260166024820152751513d1d04e881bdb9b1e48141250c8185b1b1bddd95960521b60448201526064015b60405180910390fd5b600082600b0b12156102cf5760405162461bcd60e51b81526004016102a290611126565b6102d883610e28565b6103067f0000000000000000000000000000000000000000000000000000000000000000600b85900b61117f565b111561034e5760405162461bcd60e51b81526020600482015260176024820152760a89e8e827440caf0d2e8a4c2e8ca40e8dede40d0d2ced604b1b60448201526064016102a2565b604051631cd43d1160e31b81526001600160a01b03848116600483015230602483015282811660448301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a1e88890606401608060405180830381865afa1580156103c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103eb9190611196565b5050915050600081600b0b1380156104065750600083600b0b135b15610540576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906339255d5b907f00000000000000000000000000000000000000000000000000000000000000009081166350209a6288878960005b6040519080825280601f01601f191660200182016040528015610496576020820181803683370190505b506040516024016104aa949392919061123a565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526104f39392509060040161127a565b6000604051808303816000875af1158015610512573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261053a91908101906112c1565b506106ed565b80600b0b60001480156105565750600083600b0b135b156105c0576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906339255d5b907f00000000000000000000000000000000000000000000000000000000000000009081166362fc305e888789600061046c565b600081600b0b1380156105d6575082600b0b6000145b156106ed576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f0000000000000000000000000000000000000000000000000000000000000000919082169063b4b333c69061065b908a9030908a906044810161136e565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526106a49392509060040161127a565b6000604051808303816000875af11580156106c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106eb91908101906112c1565b505b604051600b84900b81526001600160a01b038516907f0988aefa675e81e1db7fca08264db5dc2a1cc2a604f2a78d902a9747146a56719060200160405180910390a250505050565b600061077c6107776107687f0000000000000000000000000000000000000000000000000000000000000000600461117f565b61077290856113a2565b610ec9565b610f37565b90505b92915050565b600061077c6107776107727f0000000000000000000000000000000000000000000000000000000000000000856113a2565b6001600160a01b03818116600081815260208190526040808220549051631cd43d1160e31b815260048101939093523060248401528316604483015291829182917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa158015610841573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108659190611196565b50506001600160a01b0380871660009081526020819052604090205491935016905061089085610e28565b925092509193909250565b6001600160a01b038416600090815260208190526040902054600160a01b900460ff161561090b5760405162461bcd60e51b815260206004820152601c60248201527f544f47413a207265656e7472616e6379206e6f7420616c6c6f7765640000000060448201526064016102a2565b600081600b0b121561092f5760405162461bcd60e51b81526004016102a290611126565b8161095e7f0000000000000000000000000000000000000000000000000000000000000000600b84900b61117f565b11156109a65760405162461bcd60e51b81526020600482015260176024820152760a89e8e827440caf0d2e8a4c2e8ca40e8dede40d0d2ced604b1b60448201526064016102a2565b6000826109b286610e28565b6109bc91906113c4565b9050808311610a015760405162461bcd60e51b8152602060048201526011602482015270544f47413a2062696420746f6f206c6f7760781b60448201526064016102a2565b6001600160a01b038581166000818152602081905260408082208054600160a01b60ff60a01b198216179091559051631cd43d1160e31b815260048101939093523060248401528316604483018190529290917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a1e88890606401608060405180830381865afa158015610a9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac39190611196565b5050915050600081600b0b1315610be6576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f0000000000000000000000000000000000000000000000000000000000000000919082169063b4b333c690610b54908d9030908a906044810161136e565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610b9d9392509060040161127a565b6000604051808303816000875af1158015610bbc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610be491908101906112c1565b505b6001600160a01b03821615610c6a5760405163a9059cbb60e01b81526001600160a01b0383811660048301526024820185905288169063a9059cbb906044016020604051808303816000875af1158015610c44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6891906113d7565b505b6001600160a01b03878116600090815260208190526040812080546001600160a01b03191692891692909217909155600b85900b1315610db6576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f000000000000000000000000000000000000000000000000000000000000000091908216906362fc305e90610d24908d908d908c906044810161123a565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610d6d9392509060040161127a565b6000604051808303816000875af1158015610d8c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610db491908101906112c1565b505b6001600160a01b0387811660008181526020818152604091829020805460ff60a01b191690558151938a1684528301889052600b87900b90830152907f836808e57755d5535898b7203c7d68b1bfb2701b1943ecb133c675e0d00780159060600160405180910390a250505050505050565b604051632ec8eec760e01b8152306004820152600090819081906001600160a01b03851690632ec8eec790602401608060405180830381865afa158015610e73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9791906113f9565b50509150915060008183610eab919061142f565b13610eb7576000610ec1565b610ec1818361142f565b949350505050565b60006001600160ff1b03821115610f335760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016102a2565b5090565b60006b7fffffffffffffffffffffff8212610f33576b7fffffffffffffffffffffff92915050565b6001600160a01b0381168114610f7457600080fd5b50565b60008083601f840112610f8957600080fd5b50813567ffffffffffffffff811115610fa157600080fd5b602083019150836020828501011115610fb957600080fd5b9250929050565b60008060008060008060008060c0898b031215610fdc57600080fd5b8835610fe781610f5f565b97506020890135610ff781610f5f565b9650604089013561100781610f5f565b955060608901359450608089013567ffffffffffffffff8082111561102b57600080fd5b6110378c838d01610f77565b909650945060a08b013591508082111561105057600080fd5b5061105d8b828c01610f77565b999c989b5096995094979396929594505050565b80600b0b8114610f7457600080fd5b6000806040838503121561109357600080fd5b823561109e81610f5f565b915060208301356110ae81611071565b809150509250929050565b600080604083850312156110cc57600080fd5b82356110d781610f5f565b946020939093013593505050565b6000602082840312156110f757600080fd5b813561110281610f5f565b9392505050565b60006020828403121561111b57600080fd5b813561110281611071565b60208082526023908201527f544f47413a206e65676174697665206578697452617465206e6f7420616c6c6f6040820152621dd95960ea1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761077f5761077f611169565b600080600080608085870312156111ac57600080fd5b8451935060208501516111be81611071565b6040860151606090960151949790965092505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156112055781810151838201526020016111ed565b50506000910152565b600081518084526112268160208601602086016111ea565b601f01601f19169290920160200192915050565b6001600160a01b03858116825284166020820152600b83900b60408201526080606082018190526000906112709083018461120e565b9695505050505050565b6001600160a01b038316815260606020820181905260009061129e9083018461120e565b8281036040938401526002815261060f60f31b6020820152919091019392505050565b6000602082840312156112d357600080fd5b815167ffffffffffffffff808211156112eb57600080fd5b818401915084601f8301126112ff57600080fd5b815181811115611311576113116111d4565b604051601f8201601f19908116603f01168101908382118183101715611339576113396111d4565b8160405282815287602084870101111561135257600080fd5b6113638360208301602088016111ea565b979650505050505050565b6001600160a01b0385811682528481166020830152831660408201526080606082018190526000906112709083018461120e565b6000826113bf57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561077f5761077f611169565b6000602082840312156113e957600080fd5b8151801515811461110257600080fd5b6000806000806080858703121561140f57600080fd5b505082516020840151604085015160609095015191969095509092509050565b808201828112600083128015821682158216171561144f5761144f611169565b50509291505056fea2646970667358221220ee2c2bf0a36e02c3f9d390b8ff0193cd642c02e2413a50f13336e578a9aede9e64736f6c63430008130033",MB=eb=>eb.length>1;class MF extends u9.lV{constructor(...eb){MB(eb)?super(...eb):super(MP,MR,eb[0])}deploy(eb,em,ew){return super.deploy(eb,em,ew||{})}getDeployTransaction(eb,em,ew){return super.getDeployTransaction(eb,em,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(MP)}static connect(eb,em){return new u9.CH(eb,MP,em)}}MF.bytecode=MR,MF.abi=MP;let Mj=[{inputs:[{internalType:"address",name:"host_",type:"address"},{internalType:"address",name:"cfa_",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"ARRAY_SIZES_DIFFERENT",type:"error"},{inputs:[],name:"cfa",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"deleteFlow",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"superToken",type:"address"},{internalType:"address[]",name:"senders",type:"address[]"},{internalType:"address[]",name:"receivers",type:"address[]"}],name:"deleteFlows",outputs:[{internalType:"uint256",name:"nSuccess",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"host",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"}],MU="0x60c060405234801561001057600080fd5b50604051610a24380380610a2483398101604081905261002f91610062565b6001600160a01b039182166080521660a052610095565b80516001600160a01b038116811461005d57600080fd5b919050565b6000806040838503121561007557600080fd5b61007e83610046565b915061008c60208401610046565b90509250929050565b60805160a0516109426100e26000396000818160560152818161013a015281816103d401526103f501526000818160d00152818161010e0152818161037b01526103a501526109426000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80631054df8c146100515780638dc7d29c146100955780638f95895f146100aa578063f437bc59146100cb575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100a86100a3366004610682565b6100f2565b005b6100bd6100b8366004610711565b610349565b60405190815260200161008c565b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040805160008082526020820190925281906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169182916339255d5b917f00000000000000000000000000000000000000000000000000000000000000009182169063b4b333c690610176908c908c908c90604481016107e2565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b9490941790935280516000815292830190526101be9392509060448101610820565b60408051601f198184030181529181526020820180516001600160e01b031660e09490941b9390931790925290516101f69250610856565b6000604051808303816000865af19150503d8060008114610233576040519150601f19603f3d011682016040523d82523d6000602084013e610238565b606091505b50915091508161025857805160000361025057600080fd5b805181602001fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038716906370a0823190602401602060405180830381865afa15801561029f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c39190610872565b90508015610341576040516323b872dd60e01b8152306004820152336024820152604481018290526001600160a01b038716906323b872dd906064016020604051808303816000875af192505050801561033a575060408051601f3d908101601f191682019092526103379181019061088b565b60015b1561034157505b505050505050565b60008382811461036c5760405163277c943f60e21b815260040160405180910390fd5b60005b818110156105715760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166339255d5b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b4b333c68e8e8e8a818110610435576104356108b4565b905060200201602081019061044a91906108ca565b8d8d8b81811061045c5761045c6108b4565b905060200201602081019061047191906108ca565b60408051600081526020810190915261049093929190604481016107e2565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b9490941790935280516000815292830190526104d89392509060448101610820565b60408051601f198184030181529181526020820180516001600160e01b031660e09490941b9390931790925290516105109250610856565b6000604051808303816000865af19150503d806000811461054d576040519150601f19603f3d011682016040523d82523d6000602084013e610552565b606091505b50509050801561056857610565846108e5565b93505b5060010161036f565b506040516370a0823160e01b81523060048201526000906001600160a01b038916906370a0823190602401602060405180830381865afa1580156105b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105dd9190610872565b9050801561065b576040516323b872dd60e01b8152306004820152336024820152604481018290526001600160a01b038916906323b872dd906064016020604051808303816000875af1925050508015610654575060408051601f3d908101601f191682019092526106519181019061088b565b60015b1561065b57505b505095945050505050565b80356001600160a01b038116811461067d57600080fd5b919050565b60008060006060848603121561069757600080fd5b6106a084610666565b92506106ae60208501610666565b91506106bc60408501610666565b90509250925092565b60008083601f8401126106d757600080fd5b50813567ffffffffffffffff8111156106ef57600080fd5b6020830191508360208260051b850101111561070a57600080fd5b9250929050565b60008060008060006060868803121561072957600080fd5b61073286610666565b9450602086013567ffffffffffffffff8082111561074f57600080fd5b61075b89838a016106c5565b9096509450604088013591508082111561077457600080fd5b50610781888289016106c5565b969995985093965092949392505050565b60005b838110156107ad578181015183820152602001610795565b50506000910152565b600081518084526107ce816020860160208601610792565b601f01601f19169290920160200192915050565b6001600160a01b038581168252848116602083015283166040820152608060608201819052600090610816908301846107b6565b9695505050505050565b6001600160a01b0384168152606060208201819052600090610844908301856107b6565b828103604084015261081681856107b6565b60008251610868818460208701610792565b9190910192915050565b60006020828403121561088457600080fd5b5051919050565b60006020828403121561089d57600080fd5b815180151581146108ad57600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156108dc57600080fd5b6108ad82610666565b60006001820161090557634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220a76ac4c4a972a021424a1cb2c2c57e98a4b6fa17e1332fffeeb06cec2649635164736f6c63430008130033",MV=eb=>eb.length>1;class MH extends u9.lV{constructor(...eb){MV(eb)?super(...eb):super(Mj,MU,eb[0])}deploy(eb,em,ew){return super.deploy(eb,em,ew||{})}getDeployTransaction(eb,em,ew){return super.getDeployTransaction(eb,em,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(Mj)}static connect(eb,em){return new u9.CH(eb,Mj,em)}}MH.bytecode=MU,MH.abi=Mj;let M$=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"CFA_FWD_INVALID_FLOW_RATE",type:"error"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowrate",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"createFlow",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"deleteFlow",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"getAccountFlowInfo",outputs:[{internalType:"uint256",name:"lastUpdated",type:"uint256"},{internalType:"int96",name:"flowrate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"account",type:"address"}],name:"getAccountFlowrate",outputs:[{internalType:"int96",name:"flowrate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"int96",name:"flowrate",type:"int96"}],name:"getBufferAmountByFlowrate",outputs:[{internalType:"uint256",name:"bufferAmount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getFlowInfo",outputs:[{internalType:"uint256",name:"lastUpdated",type:"uint256"},{internalType:"int96",name:"flowrate",type:"int96"},{internalType:"uint256",name:"deposit",type:"uint256"},{internalType:"uint256",name:"owedDeposit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"flowOperator",type:"address"}],name:"getFlowOperatorPermissions",outputs:[{internalType:"uint8",name:"permissions",type:"uint8"},{internalType:"int96",name:"flowrateAllowance",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"}],name:"getFlowrate",outputs:[{internalType:"int96",name:"flowrate",type:"int96"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"}],name:"grantPermissions",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"}],name:"revokePermissions",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowrate",type:"int96"}],name:"setFlowrate",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowrate",type:"int96"}],name:"setFlowrateFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"sender",type:"address"},{internalType:"address",name:"receiver",type:"address"},{internalType:"int96",name:"flowrate",type:"int96"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateFlow",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"flowOperator",type:"address"},{internalType:"uint8",name:"permissions",type:"uint8"},{internalType:"int96",name:"flowrateAllowance",type:"int96"}],name:"updateFlowOperatorPermissions",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}],Mq="0x60c06040523480156200001157600080fd5b50604051620017db380380620017db8339810160408190526200003491620000ef565b6001600160a01b0381166080819052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015263b6d200de90602401602060405180830381865afa1580156200009d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c39190620000ef565b6001600160a01b031660a0525062000116565b6001600160a01b0381168114620000ec57600080fd5b50565b6000602082840312156200010257600080fd5b81516200010f81620000d6565b9392505050565b60805160a051611628620001b36000396000818161029a01528181610366015281816103fb015281816104ab01528181610520015281816105de015281816106e901528181610766015281816107aa01528181610851015281816108ef0152818161092501528181610abc01528181610b4101528181610bb001528181610bf30152610c2d015260008181610d150152610d8701526116286000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063308855911161008c5780637243fb93116100665780637243fb9314610222578063b4b333c614610235578063c5ad5c1a14610248578063e15536b61461025b57600080fd5b806330885591146101cd5780634d3f60f9146101e057806357e6aa361461020f57600080fd5b80630f1ac495116100c85780630f1ac4951461014b5780631d8b65261461018157806322c904d9146101a75780632860fd93146101ba57600080fd5b806309f0b495146100ef5780630bd0728d146101155780630c03399114610138575b600080fd5b6101026100fd366004610f76565b61026e565b6040519081526020015b60405180910390f35b610128610123366004610faf565b61030e565b604051901515815260200161010c565b610128610146366004611080565b61031d565b61015e610159366004610faf565b610336565b60408051948552600b9390930b602085015291830152606082015260800161010c565b61019461018f366004611108565b6103e1565b604051600b9190910b815260200161010c565b6101946101b5366004610faf565b610481565b61015e6101c8366004611108565b610518565b6101286101db366004611162565b6105c0565b6101f36101ee366004611108565b6105d9565b6040805160ff9093168352600b9190910b60208301520161010c565b61012861021d3660046111be565b610679565b610128610230366004610faf565b610687565b6101286102433660046111fe565b6106a2565b610128610256366004611273565b6106b0565b610128610269366004611080565b6106be565b6040516346ccbfb760e11b81526001600160a01b038381166004830152600b83900b60248301526000917f000000000000000000000000000000000000000000000000000000000000000090911690638d997f6e90604401602060405180830381865afa1580156102e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030791906112b4565b9392505050565b600061030783836000806106cd565b600061032c868686868661078d565b9695505050505050565b604051630f1ac49560e01b81526001600160a01b03838116600483015282811660248301526000918291829182917f00000000000000000000000000000000000000000000000000000000000000001690630f1ac49590604401608060405180830381865afa1580156103ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d191906112cd565b9299919850965090945092505050565b604051631cd43d1160e31b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e888906104349087908790879060040161130b565b608060405180830381865afa158015610451573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047591906112cd565b50909695505050505050565b60405163e8e7e2d160e01b81526001600160a01b03838116600483015282811660248301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e8e7e2d190604401602060405180830381865afa1580156104f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610307919061132e565b6000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e6a1e8888888886040518463ffffffff1660e01b815260040161056e9392919061130b565b608060405180830381865afa15801561058b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105af91906112cd565b929a91995097509095509350505050565b60006105ce858585856106cd565b90505b949350505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031662422bbe8686866040518463ffffffff1660e01b815260040161062b9392919061130b565b606060405180830381865afa158015610648573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066c919061134b565b9097909650945050505050565b60006105d184338585610920565b6000610307838360076b7fffffffffffffffffffffff6106cd565b60006105ce85858585610a7d565b60006105ce85858585610920565b600061032c8686868686610bd6565b6040805160008082526020820190925281906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063811b3d4090610725908990899089908990604481016113d3565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b949094179093528051600081529283019052925061032c91507f0000000000000000000000000000000000000000000000000000000000000000908390610c5c565b6000806001600160a01b0386163314610847576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663354b95908888888860005b6040519080825280601f01601f191660200182016040528015610800576020820181803683370190505b50604051602401610815959493929190611412565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506108e8565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166350209a6288878760005b6040519080825280601f01601f1916602001820160405280156108a6576020820181803683370190505b506040516024016108ba9493929190611450565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050505b90506109157f00000000000000000000000000000000000000000000000000000000000000008285610c5c565b979650505050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e6a1e8888787876040518463ffffffff1660e01b81526004016109739392919061130b565b608060405180830381865afa158015610990573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b491906112cd565b5050915050600083600b0b1315610a2f5780600b0b6000036109f8576040805160008152602081019091526109f0908790879087908790610bd6565b9150506105d1565b82600b0b81600b0b14610a25576040805160008152602081019091526109f090879087908790879061078d565b60019150506105d1565b82600b0b600003610a6457600081600b0b1315610a25576040805160008152602081019091526109f090879087908790610a7d565b60405163cea9aa5f60e01b815260040160405180910390fd5b6000806001600160a01b038516331480610a9f57506001600160a01b03841633145b610b28576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634c8b181f90610af69089908990899060448101611486565b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610ba9565b6040805160008152602081019091526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b4b333c690610b7b9089908990899060448101611486565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050505b905061032c7f00000000000000000000000000000000000000000000000000000000000000008285610c5c565b6000806001600160a01b0386163314610c23576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166394229ecb8888888860006107d6565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166362fc305e888787600061087c565b604080516001808252818301909252600091829190816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081610c76579050509050604051806060016040528060c963ffffffff168152602001866001600160a01b031681526020018585604051602001610ce19291906114ba565b60405160208183030381529060405281525081600081518110610d0657610d066114e8565b602002602001018190525060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663670e77e383604051602401610d5391906114fe565b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505090506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168333604051602001610dc292919061158c565b60408051601f1981840301815290829052610ddc916115c3565b6000604051808303816000865af19150503d8060008114610e19576040519150601f19603f3d011682016040523d82523d6000602084013e610e1e565b606091505b509150915081610e3157610e3181610e3f565b506001979650505050505050565b600481511015610e965760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a2074617267657420726576657274282900000000000060448201526064015b60405180910390fd5b602081015163b1b7848f60e01b6001600160e01b0319821601610f465760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b8152919291610e8d918491016115df565b81518060208401fd5b50565b6001600160a01b0381168114610f4f57600080fd5b80600b0b8114610f4f57600080fd5b60008060408385031215610f8957600080fd5b8235610f9481610f52565b91506020830135610fa481610f67565b809150509250929050565b60008060408385031215610fc257600080fd5b8235610fcd81610f52565b91506020830135610fa481610f52565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261100457600080fd5b813567ffffffffffffffff8082111561101f5761101f610fdd565b604051601f8301601f19908116603f0116810190828211818310171561104757611047610fdd565b8160405283815286602085880101111561106057600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a0868803121561109857600080fd5b85356110a381610f52565b945060208601356110b381610f52565b935060408601356110c381610f52565b925060608601356110d381610f67565b9150608086013567ffffffffffffffff8111156110ef57600080fd5b6110fb88828901610ff3565b9150509295509295909350565b60008060006060848603121561111d57600080fd5b833561112881610f52565b9250602084013561113881610f52565b9150604084013561114881610f52565b809150509250925092565b60ff81168114610f4f57600080fd5b6000806000806080858703121561117857600080fd5b843561118381610f52565b9350602085013561119381610f52565b925060408501356111a381611153565b915060608501356111b381610f67565b939692955090935050565b6000806000606084860312156111d357600080fd5b83356111de81610f52565b925060208401356111ee81610f52565b9150604084013561114881610f67565b6000806000806080858703121561121457600080fd5b843561121f81610f52565b9350602085013561122f81610f52565b9250604085013561123f81610f52565b9150606085013567ffffffffffffffff81111561125b57600080fd5b61126787828801610ff3565b91505092959194509250565b6000806000806080858703121561128957600080fd5b843561129481610f52565b935060208501356112a481610f52565b925060408501356111a381610f52565b6000602082840312156112c657600080fd5b5051919050565b600080600080608085870312156112e357600080fd5b8451935060208501516112f581610f67565b6040860151606090960151949790965092505050565b6001600160a01b0393841681529183166020830152909116604082015260600190565b60006020828403121561134057600080fd5b815161030781610f67565b60008060006060848603121561136057600080fd5b83519250602084015161137281611153565b604085015190925061114881610f67565b60005b8381101561139e578181015183820152602001611386565b50506000910152565b600081518084526113bf816020860160208601611383565b601f01601f19169290920160200192915050565b6001600160a01b0386811682528516602082015260ff84166040820152600b83900b606082015260a060808201819052600090610915908301846113a7565b6001600160a01b038681168252858116602083015284166040820152600b83900b606082015260a060808201819052600090610915908301846113a7565b6001600160a01b03858116825284166020820152600b83900b604082015260806060820181905260009061032c908301846113a7565b6001600160a01b03858116825284811660208301528316604082015260806060820181905260009061032c908301846113a7565b6040815260006114cd60408301856113a7565b82810360208401526114df81856113a7565b95945050505050565b634e487b7160e01b600052603260045260246000fd5b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561157e57888303603f190185528151805163ffffffff168452878101516001600160a01b031688850152860151606087850181905261156a818601836113a7565b968901969450505090860190600101611525565b509098975050505050505050565b6000835161159e818460208801611383565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b600082516115d5818460208701611383565b9190910192915050565b60208152600061030760208301846113a756fea264697066735822122020f22a3f8e3a8be7ab9e7ad941d2aaebe9a35150a9e25bfc3ce2a2491a41394164736f6c63430008130033",MW=eb=>eb.length>1;class MZ extends u9.lV{constructor(...eb){MW(eb)?super(...eb):super(M$,Mq,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(M$)}static connect(eb,em){return new u9.CH(eb,M$,em)}}MZ.bytecode=Mq,MZ.abi=M$;let MK=[{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"approveSubscription",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"amount",type:"uint128"}],name:"calculateDistribution",outputs:[{internalType:"uint256",name:"actualAmount",type:"uint256"},{internalType:"uint128",name:"newIndexValue",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"createIndex",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"deleteSubscription",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"amount",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"distribute",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"getIndex",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"uint128",name:"totalUnitsApproved",type:"uint128"},{internalType:"uint128",name:"totalUnitsPending",type:"uint128"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"}],name:"getPublisherId",outputs:[{internalType:"bytes32",name:"publisherId",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"}],name:"getSubscription",outputs:[{internalType:"bool",name:"exist",type:"bool"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"bytes32",name:"subscriptionId",type:"bytes32"}],name:"getSubscriptionByID",outputs:[{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bool",name:"approved",type:"bool"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"uint256",name:"pendingDistribution",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"subscriber",type:"address"},{internalType:"bytes32",name:"publisherId",type:"bytes32"}],name:"getSubscriptionId",outputs:[{internalType:"bytes32",name:"subscriptionId",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"subscriber",type:"address"}],name:"listSubscriptions",outputs:[{internalType:"address[]",name:"publishers",type:"address[]"},{internalType:"uint32[]",name:"indexIds",type:"uint32[]"},{internalType:"uint128[]",name:"unitsList",type:"uint128[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"address",name:"publisher",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"revokeSubscription",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"uint128",name:"indexValue",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateIndex",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluidToken",name:"token",type:"address"},{internalType:"uint32",name:"indexId",type:"uint32"},{internalType:"address",name:"subscriber",type:"address"},{internalType:"uint128",name:"units",type:"uint128"},{internalType:"bytes",name:"userData",type:"bytes"}],name:"updateSubscriptionUnits",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}],MG="0x60c06040523480156200001157600080fd5b5060405162001aaa38038062001aaa8339810160408190526200003491620000ef565b6001600160a01b0381166080819052604051635b69006f60e11b81527f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a674600482015263b6d200de90602401602060405180830381865afa1580156200009d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c39190620000ef565b6001600160a01b031660a0525062000116565b6001600160a01b0381168114620000ec57600080fd5b50565b6000602082840312156200010257600080fd5b81516200010f81620000d6565b9392505050565b60805160a051611905620001a56000396000818161032b015281816103c3015281816104330152818161050a01528181610594015281816106300152818161066d015281816106f10152818161073a01528181610796015281816108210152818161089501528181610965015281816109d10152610a47015260008181610b770152610be901526119056000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063acf4a6c21161008c578063c5feb12711610066578063c5feb12714610241578063cd7245c514610254578063d787840a146102ac578063dbaee0b4146102bf57600080fd5b8063acf4a6c2146101f9578063b6dacdb81461020c578063bc6fc4691461022e57600080fd5b80635b534051116100c85780635b5340511461017c5780636041ae96146101c05780637fbc7639146101d35780639567741f146101e657600080fd5b806323fc23f3146100ef5780632e5e74c6146101385780634f90fda91461015b575b600080fd5b6101026100fd366004610ddb565b6102ef565b6040805194151585526001600160801b039384166020860152918316918401919091521660608201526080015b60405180910390f35b61014b610146366004610edd565b6103a7565b604051901515815260200161012f565b61016e610169366004610f65565b610464565b60405190815260200161012f565b61018f61018a366004610f9e565b6104c6565b60405161012f9493929190931515845291151560208401526001600160801b03166040830152606082015260800190565b61014b6101ce366004610ffa565b610587565b61014b6101e1366004611084565b610660565b61014b6101f43660046110c5565b6106d5565b61014b610207366004610ffa565b61072d565b61021f61021a366004611118565b610768565b60405161012f9392919061118a565b61014b61023c366004611084565b610814565b61016e61024f366004611227565b61084f565b610267610262366004611227565b61088b565b604080516001600160a01b03909616865263ffffffff9094166020860152911515928401929092526001600160801b039091166060830152608082015260a00161012f565b61014b6102ba366004611253565b610949565b6102d26102cd3660046112b5565b610a00565b604080519283526001600160801b0390911660208301520161012f565b6040516323fc23f360e01b81526001600160a01b038481166004830152838116602483015263ffffffff831660448301526000918291829182917f000000000000000000000000000000000000000000000000000000000000000016906323fc23f390606401608060405180830381865afa158015610372573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610396919061131b565b935093509350935093509350935093565b6040805160008082526020820190925281906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632e5e74c6906103ff908a908a908a908a90604481016113bc565b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505090506104597f00000000000000000000000000000000000000000000000000000000000000008285610abe565b979650505050505050565b60405168383ab13634b9b432b960b91b60208201526001600160601b0319606084901b1660298201526001600160e01b031960e083901b16603d8201526000906041015b60405160208183030381529060405280519060200120905092915050565b604051635b53405160e01b81526001600160a01b038581166004830152848116602483015263ffffffff8416604483015282811660648301526000918291829182917f00000000000000000000000000000000000000000000000000000000000000001690635b53405190608401608060405180830381865afa158015610551573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057591906113fc565b929b919a509850909650945050505050565b6000806001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016636041ae96878787855b6040519080825280601f01601f1916602001820160405280156105e8576020820181803683370190505b506040516024016105fc9493929190611449565b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505090506106567f00000000000000000000000000000000000000000000000000000000000000008285610abe565b9695505050505050565b6000806001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016637fbc7639878787855b6040519080825280601f01601f1916602001820160405280156106c1576020820181803683370190505b506040516024016105fc9493929190611481565b6040805160008082526020820190925281906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063232d2b58906103ff908a908a908a908a90604481016114c0565b6000806001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663acf4a6c2878787856105be565b6040516316db59b760e31b81526001600160a01b0383811660048301528281166024830152606091829182917f00000000000000000000000000000000000000000000000000000000000000009091169063b6dacdb890604401600060405180830381865afa1580156107df573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108079190810190611603565b9250925092509250925092565b6000806001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663b96731c287878785610697565b604080516b39bab139b1b934b83a34b7b760a11b6020820152606084811b6001600160601b031916602c830152918101839052600091016104a8565b60008060008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cd7245c588886040518363ffffffff1660e01b81526004016108f59291906001600160a01b03929092168252602082015260400190565b60a060405180830381865afa158015610912573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093691906116e2565b939b929a50909850965090945092505050565b6040805160008082526020820190925281906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d787840a9061099d908890889060448101611749565b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505090506109f77f00000000000000000000000000000000000000000000000000000000000000008285610abe565b95945050505050565b604051632266eabb60e21b81526001600160a01b038581166004830152848116602483015263ffffffff841660448301526001600160801b038316606483015260009182917f0000000000000000000000000000000000000000000000000000000000000000169063899baaec906084016040805180830381865afa158015610a8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab19190611779565b9150915094509492505050565b604080516001808252818301909252600091829190816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081610ad8579050509050604051806060016040528060c963ffffffff168152602001866001600160a01b031681526020018585604051602001610b4392919061179e565b60405160208183030381529060405281525081600081518110610b6857610b686117c3565b602002602001018190525060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663670e77e383604051602401610bb591906117d9565b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505090506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168333604051602001610c24929190611867565b60408051601f1981840301815290829052610c3e91611899565b6000604051808303816000865af19150503d8060008114610c7b576040519150601f19603f3d011682016040523d82523d6000602084013e610c80565b606091505b509150915081610c9357610c9381610ca1565b506001979650505050505050565b600481511015610cf85760405162461bcd60e51b815260206004820152601a60248201527f43616c6c5574696c733a2074617267657420726576657274282900000000000060448201526064015b60405180910390fd5b602081015163b1b7848f60e01b6001600160e01b0319821601610da85760408051808201825260208082527f43616c6c5574696c733a207461726765742070616e69636b65643a2030785f5f90820190815260248501517f43616c6c5574696c733a207461726765742070616e69636b65643a2030780000600482811c600f908116603090810160081b918516011791909117909252925162461bcd60e51b8152919291610cef918491016118b5565b81518060208401fd5b50565b6001600160a01b0381168114610db157600080fd5b63ffffffff81168114610db157600080fd5b600080600060608486031215610df057600080fd5b8335610dfb81610db4565b92506020840135610e0b81610db4565b91506040840135610e1b81610dc9565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610e6557610e65610e26565b604052919050565b600082601f830112610e7e57600080fd5b813567ffffffffffffffff811115610e9857610e98610e26565b610eab601f8201601f1916602001610e3c565b818152846020838601011115610ec057600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215610ef557600080fd5b8535610f0081610db4565b94506020860135610f1081610db4565b93506040860135610f2081610dc9565b92506060860135610f3081610db4565b9150608086013567ffffffffffffffff811115610f4c57600080fd5b610f5888828901610e6d565b9150509295509295909350565b60008060408385031215610f7857600080fd5b8235610f8381610db4565b91506020830135610f9381610dc9565b809150509250929050565b60008060008060808587031215610fb457600080fd5b8435610fbf81610db4565b93506020850135610fcf81610db4565b92506040850135610fdf81610dc9565b91506060850135610fef81610db4565b939692955090935050565b6000806000806080858703121561101057600080fd5b843561101b81610db4565b9350602085013561102b81610db4565b9250604085013561103b81610dc9565b9150606085013567ffffffffffffffff81111561105757600080fd5b61106387828801610e6d565b91505092959194509250565b6001600160801b0381168114610db157600080fd5b6000806000806080858703121561109a57600080fd5b84356110a581610db4565b935060208501356110b581610dc9565b9250604085013561103b8161106f565b600080600080600060a086880312156110dd57600080fd5b85356110e881610db4565b945060208601356110f881610dc9565b9350604086013561110881610db4565b92506060860135610f308161106f565b6000806040838503121561112b57600080fd5b823561113681610db4565b91506020830135610f9381610db4565b600081518084526020808501945080840160005b8381101561117f5781516001600160801b03168752958201959082019060010161115a565b509495945050505050565b606080825284519082018190526000906020906080840190828801845b828110156111cc5781516001600160a01b0316845292840192908401906001016111a7565b5050508381038285015285518082528683019183019060005b8181101561120757835163ffffffff16835292840192918401916001016111e5565b5050848103604086015261121b8187611146565b98975050505050505050565b6000806040838503121561123a57600080fd5b823561124581610db4565b946020939093013593505050565b60008060006060848603121561126857600080fd5b833561127381610db4565b9250602084013561128381610dc9565b9150604084013567ffffffffffffffff81111561129f57600080fd5b6112ab86828701610e6d565b9150509250925092565b600080600080608085870312156112cb57600080fd5b84356112d681610db4565b935060208501356112e681610db4565b925060408501356112f681610dc9565b91506060850135610fef8161106f565b8051801515811461131657600080fd5b919050565b6000806000806080858703121561133157600080fd5b61133a85611306565b9350602085015161134a8161106f565b604086015190935061135b8161106f565b6060860151909250610fef8161106f565b60005b8381101561138757818101518382015260200161136f565b50506000910152565b600081518084526113a881602086016020860161136c565b601f01601f19169290920160200192915050565b6001600160a01b038681168252858116602083015263ffffffff851660408301528316606082015260a06080820181905260009061045990830184611390565b6000806000806080858703121561141257600080fd5b61141b85611306565b935061142960208601611306565b925060408501516114398161106f565b6060959095015193969295505050565b6001600160a01b0385811682528416602082015263ffffffff8316604082015260806060820181905260009061065690830184611390565b6001600160a01b038516815263ffffffff841660208201526001600160801b038316604082015260806060820181905260009061065690830184611390565b6001600160a01b03868116825263ffffffff86166020830152841660408201526001600160801b038316606082015260a06080820181905260009061045990830184611390565b600067ffffffffffffffff82111561152157611521610e26565b5060051b60200190565b600082601f83011261153c57600080fd5b8151602061155161154c83611507565b610e3c565b82815260059290921b8401810191818101908684111561157057600080fd5b8286015b8481101561159457805161158781610dc9565b8352918301918301611574565b509695505050505050565b600082601f8301126115b057600080fd5b815160206115c061154c83611507565b82815260059290921b840181019181810190868411156115df57600080fd5b8286015b848110156115945780516115f68161106f565b83529183019183016115e3565b60008060006060848603121561161857600080fd5b835167ffffffffffffffff8082111561163057600080fd5b818601915086601f83011261164457600080fd5b8151602061165461154c83611507565b82815260059290921b8401810191818101908a84111561167357600080fd5b948201945b8386101561169a57855161168b81610db4565b82529482019490820190611678565b918901519197509093505050808211156116b357600080fd5b6116bf8783880161152b565b935060408601519150808211156116d557600080fd5b506112ab8682870161159f565b600080600080600060a086880312156116fa57600080fd5b855161170581610db4565b602087015190955061171681610dc9565b935061172460408701611306565b925060608601516117348161106f565b80925050608086015190509295509295909350565b6001600160a01b038416815263ffffffff831660208201526060604082018190526000906109f790830184611390565b6000806040838503121561178c57600080fd5b825191506020830151610f938161106f565b6040815260006117b16040830185611390565b82810360208401526109f78185611390565b634e487b7160e01b600052603260045260246000fd5b60006020808301818452808551808352604092508286019150828160051b87010184880160005b8381101561185957888303603f190185528151805163ffffffff168452878101516001600160a01b031688850152860151606087850181905261184581860183611390565b968901969450505090860190600101611800565b509098975050505050505050565b6000835161187981846020880161136c565b60609390931b6001600160601b0319169190920190815260140192915050565b600082516118ab81846020870161136c565b9190910192915050565b6020815260006118c86020830184611390565b939250505056fea26469706673582212200443d19da020c3a178bc0637a1fc7e209f96f9b45fb1e00a2a927ad0adc7ec5964736f6c63430008130033",MY=eb=>eb.length>1;class MJ extends u9.lV{constructor(...eb){MY(eb)?super(...eb):super(MK,MG,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(MK)}static connect(eb,em){return new u9.CH(eb,MK,em)}}MJ.bytecode=MG,MJ.abi=MK;let MX=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"string",name:"name",type:"string"},{indexed:!1,internalType:"address",name:"target",type:"address"}],name:"Set",type:"event"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"}],name:"get",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"uint256",name:"index",type:"uint256"}],name:"getRoleMember",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleMemberCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"address",name:"target",type:"address"}],name:"set",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],MQ="0x608060405234801561001057600080fd5b5061001c600033610021565b610161565b61002b828261002f565b5050565b6100398282610056565b600082815260016020526040902061005190826100f4565b505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1661002b576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556100b03390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610109836001600160a01b038416610112565b90505b92915050565b60008181526001830160205260408120546101595750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561010c565b50600061010c565b610ca6806101706000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80639010d07c116100715780639010d07c1461015a57806391d148541461016d578063a217fddf14610180578063a815ff1514610188578063ca15c8731461019b578063d547741f146101ae57600080fd5b806301ffc9a7146100ae578063248a9ca3146100d65780632f2ff15d1461010757806336568abe1461011c578063693ec85e1461012f575b600080fd5b6100c16100bc36600461095c565b6101c1565b60405190151581526020015b60405180910390f35b6100f96100e4366004610986565b60009081526020819052604090206001015490565b6040519081526020016100cd565b61011a6101153660046109bb565b6101ec565b005b61011a61012a3660046109bb565b610216565b61014261013d366004610a30565b610299565b6040516001600160a01b0390911681526020016100cd565b610142610168366004610a72565b6102ce565b6100c161017b3660046109bb565b6102ed565b6100f9600081565b61011a610196366004610a94565b610316565b6100f96101a9366004610986565b6103fe565b61011a6101bc3660046109bb565b610415565b60006001600160e01b03198216635a05180f60e01b14806101e657506101e68261043a565b92915050565b6000828152602081905260409020600101546102078161046f565b610211838361047c565b505050565b6001600160a01b038116331461028b5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b610295828261049e565b5050565b6000600283836040516102ad929190610ae8565b908152604051908190036020019020546001600160a01b0316905092915050565b60008281526001602052604081206102e690836104c0565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6103216000336102ed565b6103665760405162461bcd60e51b815260206004820152601660248201527521b0b63632b91034b9903737ba1030b71030b236b4b760511b6044820152606401610282565b8060028484604051610379929190610ae8565b90815260405190819003602001812080546001600160a01b03939093166001600160a01b0319909316929092179091556103b69084908490610ae8565b6040519081900381206001600160a01b0383168252907f496595ced95720268cf8bc60bae3f35024ff2a130f73ac4e20f5c1eaca35db999060200160405180910390a2505050565b60008181526001602052604081206101e6906104cc565b6000828152602081905260409020600101546104308161046f565b610211838361049e565b60006001600160e01b03198216637965db0b60e01b14806101e657506301ffc9a760e01b6001600160e01b03198316146101e6565b61047981336104d6565b50565b610486828261052f565b600082815260016020526040902061021190826105b3565b6104a882826105c8565b6000828152600160205260409020610211908261062d565b60006102e68383610642565b60006101e6825490565b6104e082826102ed565b610295576104ed8161066c565b6104f883602061067e565b604051602001610509929190610b1c565b60408051601f198184030181529082905262461bcd60e51b825261028291600401610b91565b61053982826102ed565b610295576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916600117905561056f3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60006102e6836001600160a01b03841661081a565b6105d282826102ed565b15610295576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60006102e6836001600160a01b038416610869565b600082600001828154811061065957610659610bc4565b9060005260206000200154905092915050565b60606101e66001600160a01b03831660145b6060600061068d836002610bf0565b610698906002610c07565b67ffffffffffffffff8111156106b0576106b0610c1a565b6040519080825280601f01601f1916602001820160405280156106da576020820181803683370190505b509050600360fc1b816000815181106106f5576106f5610bc4565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061072457610724610bc4565b60200101906001600160f81b031916908160001a9053506000610748846002610bf0565b610753906001610c07565b90505b60018111156107cb576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061078757610787610bc4565b1a60f81b82828151811061079d5761079d610bc4565b60200101906001600160f81b031916908160001a90535060049490941c936107c481610c30565b9050610756565b5083156102e65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610282565b6000818152600183016020526040812054610861575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556101e6565b5060006101e6565b6000818152600183016020526040812054801561095257600061088d600183610c47565b85549091506000906108a190600190610c47565b90508181146109065760008660000182815481106108c1576108c1610bc4565b90600052602060002001549050808760000184815481106108e4576108e4610bc4565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061091757610917610c5a565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506101e6565b60009150506101e6565b60006020828403121561096e57600080fd5b81356001600160e01b0319811681146102e657600080fd5b60006020828403121561099857600080fd5b5035919050565b80356001600160a01b03811681146109b657600080fd5b919050565b600080604083850312156109ce57600080fd5b823591506109de6020840161099f565b90509250929050565b60008083601f8401126109f957600080fd5b50813567ffffffffffffffff811115610a1157600080fd5b602083019150836020828501011115610a2957600080fd5b9250929050565b60008060208385031215610a4357600080fd5b823567ffffffffffffffff811115610a5a57600080fd5b610a66858286016109e7565b90969095509350505050565b60008060408385031215610a8557600080fd5b50508035926020909101359150565b600080600060408486031215610aa957600080fd5b833567ffffffffffffffff811115610ac057600080fd5b610acc868287016109e7565b9094509250610adf90506020850161099f565b90509250925092565b8183823760009101908152919050565b60005b83811015610b13578181015183820152602001610afb565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351610b54816017850160208801610af8565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351610b85816028840160208801610af8565b01602801949350505050565b6020815260008251806020840152610bb0816040850160208701610af8565b601f01601f19169190910160400192915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176101e6576101e6610bda565b808201808211156101e6576101e6610bda565b634e487b7160e01b600052604160045260246000fd5b600081610c3f57610c3f610bda565b506000190190565b818103818111156101e6576101e6610bda565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220850cee899db1ec6e3094f9b9f79733c813c7bdb336d7fd2836a1c29728f1226b64736f6c63430008130033",M1=eb=>eb.length>1;class M2 extends u9.lV{constructor(...eb){M1(eb)?super(...eb):super(MX,MQ,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(MX)}static connect(eb,em){return new u9.CH(eb,MX,em)}}M2.bytecode=MQ,M2.abi=MX;let M6=[{inputs:[{internalType:"address",name:"adminRole",type:"address"},{internalType:"address[]",name:"backendAddr",type:"address[]"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"}],name:"OptinAutoUpgrade",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"}],name:"OptoutAutoUpgrade",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{inputs:[],name:"BACKEND_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBackendAgents",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"uint256",name:"index",type:"uint256"}],name:"getRoleMember",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleMemberCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"grantBackendAgent",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"isBackendAgent",outputs:[{internalType:"bool",name:"yes",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"optinAutoUpgrades",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"optoutAutoUpgrades",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"revokeBackendAgent",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",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:[{internalType:"address",name:"superTokenAddr",type:"address"},{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"upgrade",outputs:[],stateMutability:"nonpayable",type:"function"}],M4="0x60806040523480156200001157600080fd5b506040516200198e3803806200198e833981016040819052620000349162000309565b6001600160a01b038216620000855760405162461bcd60e51b815260206004820152601260248201527161646d696e526f6c6520697320656d70747960701b60448201526064015b60405180910390fd5b6200009260008362000189565b60005b8151811015620001805760006001600160a01b0316828281518110620000bf57620000bf620003f2565b60200260200101516001600160a01b0316036200011f5760405162461bcd60e51b815260206004820152601560248201527f6261636b656e642063616e2774206265207a65726f000000000000000000000060448201526064016200007c565b6200016d7f25cf2b509f2a7f322675b2a5322b182f44ad2c03ac941a0af17c9b178f5d5d5f838381518110620001595762000159620003f2565b60200260200101516200018960201b60201c565b620001788162000408565b905062000095565b50505062000430565b62000195828262000199565b5050565b620001a58282620001c4565b6000828152600160205260409020620001bf908262000264565b505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1662000195576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620002203390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60006200027b836001600160a01b03841662000284565b90505b92915050565b6000818152600183016020526040812054620002cd575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200027e565b5060006200027e565b80516001600160a01b0381168114620002ee57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156200031d57600080fd5b6200032883620002d6565b602084810151919350906001600160401b03808211156200034857600080fd5b818601915086601f8301126200035d57600080fd5b815181811115620003725762000372620002f3565b8060051b604051601f19603f830116810181811085821117156200039a576200039a620002f3565b604052918252848201925083810185019189831115620003b957600080fd5b938501935b82851015620003e257620003d285620002d6565b84529385019392850192620003be565b8096505050505050509250929050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200042957634e487b7160e01b600052601160045260246000fd5b5060010190565b61154e80620004406000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806361985da7116100a2578063a217fddf11610071578063a217fddf1461023a578063abcac5eb14610242578063ca15c87314610255578063d547741f14610268578063ec3282531461027b57600080fd5b806361985da7146101d45780639010d07c146101e757806391d148541461021257806392c2becc1461022557600080fd5b80632f2ff15d116100de5780632f2ff15d1461019357806336568abe146101a657806344e9d2fb146101b95780635d730c58146101cc57600080fd5b806301ffc9a7146101105780630f01a4a214610138578063248a9ca31461014d5780632a1972981461017e575b600080fd5b61012361011e366004611162565b610283565b60405190151581526020015b60405180910390f35b6101406102ae565b60405161012f919061118c565b61017061015b3660046111d9565b60009081526020819052604090206001015490565b60405190815260200161012f565b61019161018c366004611207565b610376565b005b6101916101a1366004611248565b610610565b6101916101b4366004611248565b61063a565b6101236101c7366004611278565b6106b8565b6101916106d2565b6101916101e2366004611278565b610711565b6101fa6101f5366004611295565b61077a565b6040516001600160a01b03909116815260200161012f565b610123610220366004611248565b610799565b6101706000805160206114f983398151915281565b610170600081565b610191610250366004611278565b6107c2565b6101706102633660046111d9565b6107da565b610191610276366004611248565b6107f1565b610191610816565b60006001600160e01b03198216635a05180f60e01b14806102a857506102a882610858565b92915050565b606060006102c96000805160206114f98339815191526107da565b905060008167ffffffffffffffff8111156102e6576102e66112b7565b60405190808252806020026020018201604052801561030f578160200160208202803683370190505b50905060005b8281101561036f576103356000805160206114f98339815191528261077a565b828281518110610347576103476112cd565b6001600160a01b0390921660209283029190910190910152610368816112f9565b9050610315565b5092915050565b336001600160a01b03831614806103c557506103a06000805160206114f983398151915233610799565b80156103c557506001600160a01b03821660009081526002602052604090205460ff16155b61040e5760405162461bcd60e51b81526020600482015260156024820152741bdc195c985d1a5bdb881b9bdd08185b1b1bddd959605a1b60448201526064015b60405180910390fd5b60008390506000816001600160a01b031663ee719bc86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610453573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104779190611312565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e5919061132f565b90506104fc6001600160a01b03831686308761088d565b6105116001600160a01b0383168460006108fe565b6105256001600160a01b03831684866108fe565b6040516370a0823160e01b81523060048201526001600160a01b0380851691635b9d09cc91889185918716906370a0823190602401602060405180830381865afa158015610577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059b919061132f565b6105a59190611348565b604080516000815260208101918290526001600160e01b031960e086901b169091526105d6929190602481016113ab565b600060405180830381600087803b1580156105f057600080fd5b505af1158015610604573d6000803e3d6000fd5b50505050505050505050565b60008281526020819052604090206001015461062b81610a13565b6106358383610a1d565b505050565b6001600160a01b03811633146106aa5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610405565b6106b48282610a3f565b5050565b60006102a86000805160206114f983398151915283610799565b33600081815260026020526040808220805460ff19169055517fde802370a7a9557e8d50bffe30a1bbd3d327beb1964088485a5465325bc5fb7a9190a2565b6001600160a01b03811661075f5760405162461bcd60e51b81526020600482015260156024820152741bdc195c985d1a5bdb881b9bdd08185b1b1bddd959605a1b6044820152606401610405565b6107776000805160206114f983398151915282610610565b50565b60008281526001602052604081206107929083610a61565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6107776000805160206114f9833981519152826107f1565b60008181526001602052604081206102a890610a6d565b60008281526020819052604090206001015461080c81610a13565b6106358383610a3f565b33600081815260026020526040808220805460ff19166001179055517fd07f586f18c37aa8ec13ebc5523e50304e2aa7711505bfa7242fcb7152eaee259190a2565b60006001600160e01b03198216637965db0b60e01b14806102a857506301ffc9a760e01b6001600160e01b03198316146102a8565b6040516001600160a01b03808516602483015283166044820152606481018290526108f89085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a77565b50505050565b8015806109785750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610952573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610976919061132f565b155b6109e35760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610405565b6040516001600160a01b03831660248201526044810182905261063590849063095ea7b360e01b906064016108c1565b6107778133610b4c565b610a278282610ba5565b60008281526001602052604090206106359082610c29565b610a498282610c3e565b60008281526001602052604090206106359082610ca3565b60006107928383610cb8565b60006102a8825490565b6000610acc826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610ce29092919063ffffffff16565b9050805160001480610aed575080806020019051810190610aed91906113db565b6106355760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610405565b610b568282610799565b6106b457610b6381610cf9565b610b6e836020610d0b565b604051602001610b7f9291906113fd565b60408051601f198184030181529082905262461bcd60e51b825261040591600401611472565b610baf8282610799565b6106b4576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610be53390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610792836001600160a01b038416610ea7565b610c488282610799565b156106b4576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610792836001600160a01b038416610ef6565b6000826000018281548110610ccf57610ccf6112cd565b9060005260206000200154905092915050565b6060610cf18484600085610fe9565b949350505050565b60606102a86001600160a01b03831660145b60606000610d1a836002611485565b610d2590600261149c565b67ffffffffffffffff811115610d3d57610d3d6112b7565b6040519080825280601f01601f191660200182016040528015610d67576020820181803683370190505b509050600360fc1b81600081518110610d8257610d826112cd565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110610db157610db16112cd565b60200101906001600160f81b031916908160001a9053506000610dd5846002611485565b610de090600161149c565b90505b6001811115610e58576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110610e1457610e146112cd565b1a60f81b828281518110610e2a57610e2a6112cd565b60200101906001600160f81b031916908160001a90535060049490941c93610e51816114af565b9050610de3565b5083156107925760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610405565b6000818152600183016020526040812054610eee575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556102a8565b5060006102a8565b60008181526001830160205260408120548015610fdf576000610f1a600183611348565b8554909150600090610f2e90600190611348565b9050818114610f93576000866000018281548110610f4e57610f4e6112cd565b9060005260206000200154905080876000018481548110610f7157610f716112cd565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610fa457610fa46114c6565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506102a8565b60009150506102a8565b60608247101561104a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610405565b600080866001600160a01b0316858760405161106691906114dc565b60006040518083038185875af1925050503d80600081146110a3576040519150601f19603f3d011682016040523d82523d6000602084013e6110a8565b606091505b50915091506110b9878383876110c4565b979650505050505050565b6060831561113357825160000361112c576001600160a01b0385163b61112c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610405565b5081610cf1565b610cf183838151156111485781518083602001fd5b8060405162461bcd60e51b81526004016104059190611472565b60006020828403121561117457600080fd5b81356001600160e01b03198116811461079257600080fd5b6020808252825182820181905260009190848201906040850190845b818110156111cd5783516001600160a01b0316835292840192918401916001016111a8565b50909695505050505050565b6000602082840312156111eb57600080fd5b5035919050565b6001600160a01b038116811461077757600080fd5b60008060006060848603121561121c57600080fd5b8335611227816111f2565b92506020840135611237816111f2565b929592945050506040919091013590565b6000806040838503121561125b57600080fd5b82359150602083013561126d816111f2565b809150509250929050565b60006020828403121561128a57600080fd5b8135610792816111f2565b600080604083850312156112a857600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161130b5761130b6112e3565b5060010190565b60006020828403121561132457600080fd5b8151610792816111f2565b60006020828403121561134157600080fd5b5051919050565b818103818111156102a8576102a86112e3565b60005b8381101561137657818101518382015260200161135e565b50506000910152565b6000815180845261139781602086016020860161135b565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006113d2606083018461137f565b95945050505050565b6000602082840312156113ed57600080fd5b8151801515811461079257600080fd5b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161143581601785016020880161135b565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161146681602884016020880161135b565b01602801949350505050565b602081526000610792602083018461137f565b80820281158282048414176102a8576102a86112e3565b808201808211156102a8576102a86112e3565b6000816114be576114be6112e3565b506000190190565b634e487b7160e01b600052603160045260246000fd5b600082516114ee81846020870161135b565b919091019291505056fe25cf2b509f2a7f322675b2a5322b182f44ad2c03ac941a0af17c9b178f5d5d5fa2646970667358221220502bfd0ae3adc504ab2d7a91dbe3cd5ef2ef147602920ae106986f49c4b9a52664736f6c63430008130033",M3=eb=>eb.length>1;class M5 extends u9.lV{constructor(...eb){M3(eb)?super(...eb):super(M6,M4,eb[0])}deploy(eb,em,ew){return super.deploy(eb,em,ew||{})}getDeployTransaction(eb,em,ew){return super.getDeployTransaction(eb,em,ew||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(M6)}static connect(eb,em){return new u9.CH(eb,M6,em)}}M5.bytecode=M4,M5.abi=M6;let M8=[{inputs:[],name:"DEPLOY_AGREEMENTS_REQUIRES_DEPLOY_CORE",type:"error"},{inputs:[],name:"DEPLOY_PERIPHERALS_REQUIRES_DEPLOY_AGREEMENTS",type:"error"},{inputs:[],name:"DEPLOY_PERIPHERALS_REQUIRES_DEPLOY_CORE",type:"error"},{inputs:[],name:"DEPLOY_SUPER_TOKEN_CONTRACTS_REQUIRES_DEPLOY_CORE",type:"error"},{inputs:[],name:"DEPLOY_SUPER_TOKEN_REQUIRES_1820",type:"error"},{inputs:[],name:"DEPLOY_SUPER_TOKEN_REQUIRES_DEPLOY_SUPER_TOKEN_CONTRACTS",type:"error"},{inputs:[],name:"DEPLOY_TOGA_REQUIRES_1820",type:"error"},{inputs:[],name:"RESOLVER_LIST_REQUIRES_DEPLOY_PERIPHERALS",type:"error"},{inputs:[],name:"DEFAULT_APP_WHITELISTING_ENABLED",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_LIQUIDATION_PERIOD",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_NON_UPGRADEABLE",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_PATRICIAN_PERIOD",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_REWARD_ADDRESS",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_TOGA_MIN_BOND_DURATION",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"DEFAULT_TRUSTED_FORWARDERS",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"RESOLVER_BASE_SUPER_TOKEN_KEY",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"RESOLVER_BASE_TOKEN_KEY",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"deployAgreementContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"deployCoreContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bool",name:"nonUpgradeable",type:"bool"},{internalType:"bool",name:"appWhitelistingEnabled",type:"bool"},{internalType:"address[]",name:"trustedForwarders",type:"address[]"},{internalType:"address",name:"defaultRewardAddress",type:"address"},{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"},{internalType:"uint256",name:"minBondDuration",type:"uint256"}],internalType:"struct SuperfluidFrameworkDeployer.TestFrameworkConfigs",name:"configs",type:"tuple"}],name:"deployCoreContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"_name",type:"string"},{internalType:"string",name:"_symbol",type:"string"}],name:"deployNativeAssetSuperToken",outputs:[{internalType:"contract ISETH",name:"nativeAssetSuperToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"deployPeripheralContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"bool",name:"nonUpgradeable",type:"bool"},{internalType:"bool",name:"appWhitelistingEnabled",type:"bool"},{internalType:"address[]",name:"trustedForwarders",type:"address[]"},{internalType:"address",name:"defaultRewardAddress",type:"address"},{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"},{internalType:"uint256",name:"minBondDuration",type:"uint256"}],internalType:"struct SuperfluidFrameworkDeployer.TestFrameworkConfigs",name:"configs",type:"tuple"}],name:"deployPeripheralContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"_name",type:"string"},{internalType:"string",name:"_symbol",type:"string"},{internalType:"uint256",name:"_initialSupply",type:"uint256"}],name:"deployPureSuperToken",outputs:[{internalType:"contract IPureSuperToken",name:"pureSuperToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"deploySuperTokenContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"deployTestFramework",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"_underlyingName",type:"string"},{internalType:"string",name:"_underlyingSymbol",type:"string"},{internalType:"uint8",name:"_decimals",type:"uint8"},{internalType:"uint256",name:"_mintLimit",type:"uint256"}],name:"deployWrapperSuperToken",outputs:[{internalType:"contract TestToken",name:"underlyingToken",type:"address"},{internalType:"contract SuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"_underlyingName",type:"string"},{internalType:"string",name:"_underlyingSymbol",type:"string"},{internalType:"uint8",name:"_decimals",type:"uint8"},{internalType:"uint256",name:"_mintLimit",type:"uint256"},{internalType:"address",name:"_admin",type:"address"}],name:"deployWrapperSuperToken",outputs:[{internalType:"contract TestToken",name:"underlyingToken",type:"address"},{internalType:"contract SuperToken",name:"superToken",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"step",type:"uint8"}],name:"executeStep",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getFramework",outputs:[{components:[{internalType:"contract TestGovernance",name:"governance",type:"address"},{internalType:"contract Superfluid",name:"host",type:"address"},{internalType:"contract ConstantFlowAgreementV1",name:"cfa",type:"address"},{components:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"}],internalType:"struct CFAv1Library.InitData",name:"cfaLib",type:"tuple"},{internalType:"contract InstantDistributionAgreementV1",name:"ida",type:"address"},{components:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IInstantDistributionAgreementV1",name:"ida",type:"address"}],internalType:"struct IDAv1Library.InitData",name:"idaLib",type:"tuple"},{internalType:"contract SuperTokenFactory",name:"superTokenFactory",type:"address"},{internalType:"contract ISuperToken",name:"superTokenLogic",type:"address"},{internalType:"contract ConstantOutflowNFT",name:"constantOutflowNFT",type:"address"},{internalType:"contract ConstantInflowNFT",name:"constantInflowNFT",type:"address"},{internalType:"contract TestResolver",name:"resolver",type:"address"},{internalType:"contract SuperfluidLoader",name:"superfluidLoader",type:"address"},{internalType:"contract CFAv1Forwarder",name:"cfaV1Forwarder",type:"address"},{internalType:"contract IDAv1Forwarder",name:"idaV1Forwarder",type:"address"},{internalType:"contract TOGA",name:"toga",type:"address"}],internalType:"struct SuperfluidFrameworkDeploymentSteps.Framework",name:"sf",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"getNumSteps",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],M9="0x6000608081905260a060408190526200001a9190816200002f565b503480156200002857600080fd5b50620000b0565b82805482825590600052602060002090810192821562000087579160200282015b828111156200008757825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000050565b506200009592915062000099565b5090565b5b808211156200009557600081556001016200009a565b61590780620000c06000396000f3fe60806040523480156200001157600080fd5b5060043610620001755760003560e01c80637dc2dc1211620000d3578063c8c25ad51162000086578063c8c25ad5146200031c578063cbcd7449146200032c578063dac4ea821462000343578063dfa98ad5146200035a578063f2fde38b14620004db578063fa0215fc14620004f257600080fd5b80637dc2dc1214620002a2578063888a37b114620002da57806393786bf014620002e5578063acbeaa0714620002ee578063ad6eb4991462000305578063b3083cf8146200023157600080fd5b80634d59c136116200012c5780634d59c1361462000227578063520994701462000231578063547047c7146200024b57806362a32e1e14620002555780637296cb5a146200028157806376f30be8146200029857600080fd5b806305bfa3e0146200017a57806306e8358614620001975780631903410d14620001a35780632a49664814620001d357806338bc37a414620001dd5780633df285fe14620001e7575b600080fd5b6200018461070881565b6040519081526020015b60405180910390f35b620001a162000509565b005b620001ba620001b436600462002b1b565b62000515565b6040516001600160a01b0390911681526020016200018e565b620001a162000540565b620001a16200054a565b620002186040518060400160405280601181526020017039bab832b93a37b5b2b739973a32b9ba1760791b81525081565b6040516200018e919062002b89565b6200018461384081565b6200023a600081565b60405190151581526020016200018e565b620001a16200056d565b620002186040518060400160405280600c81526020016b3a37b5b2b739973a32b9ba1760a11b81525081565b620001a16200029236600462002cf3565b6200058b565b620001a162000596565b620002b9620002b336600462002e1e565b62000637565b604080516001600160a01b039384168152929091166020830152016200018e565b6200018462093a8081565b620001ba604581565b620001a1620002ff36600462002eb3565b620006ba565b620001a16200031636600462002cf3565b620006c5565b604051600881526020016200018e565b620001ba6200033d36600462002ed3565b620006d0565b620002b96200035436600462002f46565b620008e0565b620004cc604080516101e08101825260008082526020808301829052828401829052835180850185528281528082018390526060840152608083018290528351808501909452818452830181905260a082019290925260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081019190915250604080516101e0810182526001546001600160a01b03610100918290048116835260025481166020808501829052600354831685870181905286518088018852838152808301919091526060860152600554831660808601819052865180880190975291865285015260a0830193909352600c54831660c0830152600b54831660e0830152600954831690820152600a548216610120820152600e548216610140820152600f548216610160820152601054821661018082015260115482166101a08201526013549091166101c082015290565b6040516200018e919062002ff1565b620001a1620004ec36600462003199565b62000963565b620001ba62000503366004620031b9565b620009cd565b6200051362000c4a565b565b600081815481106200052657600080fd5b6000918252602090912001546001600160a01b0316905081565b6200051362000c88565b6200055462002ab5565b60018152600060208201526200056a8162000cd0565b50565b6200057762002ab5565b62093a8060c08201526200056a8162000cef565b6200056a8162000cef565b6040805160e08101825260008082526020808301829052815484518183028101830186528181529294840192918591908301828280156200060157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620005e2575b5050509183525050604560208201526138406040820152610708606082015262093a8060809091015290506200056a8162000de4565b600c5460009081906001600160a01b03166200066657604051635006ee6d60e11b815260040160405180910390fd5b731820a4b7618bde71dce8cdc73aab6c95905fad243b6200069957604051622b682760e71b815260040160405180910390fd5b620006ab888888888888600062000e68565b91509150965096945050505050565b6200056a81620011d1565b6200056a8162000cd0565b600c546000906001600160a01b0316620006fd57604051635006ee6d60e11b815260040160405180910390fd5b731820a4b7618bde71dce8cdc73aab6c95905fad243b6200073057604051622b682760e71b815260040160405180910390fd5b600073__$e670fb80a00d783cff26adce1c19b32070$__63f7c3bdc96040518163ffffffff1660e01b8152600401602060405180830381865af41580156200077c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007a2919062003234565b600c54604051633504b4d160e21b81526001600160a01b03808416600483015292945084935091169063d412d34490602401600060405180830381600087803b158015620007ef57600080fd5b505af115801562000804573d6000803e3d6000fd5b50506040516285fc1360e71b81526001600160a01b03851692506342fe0980915062000841906000906012908b908b908b908b906004016200327d565b600060405180830381600087803b1580156200085c57600080fd5b505af115801562000871573d6000803e3d6000fd5b5050505060006040518060400160405280601181526020017039bab832b93a37b5b2b739973a32b9ba1760791b8152508585604051602001620008b793929190620032cf565b6040516020818303038152906040529050620008d660018285620013a9565b5050949350505050565b600c5460009081906001600160a01b03166200090f57604051635006ee6d60e11b815260040160405180910390fd5b731820a4b7618bde71dce8cdc73aab6c95905fad243b6200094257604051622b682760e71b815260040160405180910390fd5b620009538989898989898962000e68565b9150915097509795505050505050565b60015460405163f2fde38b60e01b81526001600160a01b0383811660048301526101009092049091169063f2fde38b90602401600060405180830381600087803b158015620009b157600080fd5b505af1158015620009c6573d6000803e3d6000fd5b5050505050565b600c546000906001600160a01b0316620009fa57604051635006ee6d60e11b815260040160405180910390fd5b731820a4b7618bde71dce8cdc73aab6c95905fad243b62000a2d57604051622b682760e71b815260040160405180910390fd5b600073__$e670fb80a00d783cff26adce1c19b32070$__631f2d18966040518163ffffffff1660e01b8152600401602060405180830381865af415801562000a79573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a9f919062003234565b600c54604051633504b4d160e21b81526001600160a01b03808416600483015292935091169063d412d34490602401600060405180830381600087803b15801562000ae957600080fd5b505af115801562000afe573d6000803e3d6000fd5b505060405163588ca48760e11b81526001600160a01b038416925063b119490e915062000b38908a908a908a908a908a90600401620032f9565b600060405180830381600087803b15801562000b5357600080fd5b505af115801562000b68573d6000803e3d6000fd5b5050505080915062000bcb60016040518060400160405280601181526020017039bab832b93a37b5b2b739973a32b9ba1760791b815250878760405160200162000bb593929190620032cf565b60405160208183030381529060405284620013a9565b60405163a9059cbb60e01b8152336004820152602481018490526001600160a01b0383169063a9059cbb906044016020604051808303816000875af115801562000c19573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000c3f919062003337565b505095945050505050565b6002546001600160a01b031662000c7457604051633b8034db60e11b815260040160405180910390fd5b62000c7e62001448565b62000513620014ed565b6002546001600160a01b031662000cb25760405163bb57a2c760e01b815260040160405180910390fd5b62000cbc62001592565b62000cc662001a9c565b6200051362001b58565b62000cdb3062001c1f565b6200056a8160000151826020015162001d21565b6002546001600160a01b031662000d195760405163608e9db560e01b815260040160405180910390fd5b62000d243062001dc5565b62000d2e62001e67565b600e54604051637048027560e01b81523360048201526001600160a01b0390911690637048027590602401600060405180830381600087803b15801562000d7457600080fd5b505af115801562000d89573d6000803e3d6000fd5b5050505062000d9762001f0c565b62000da162001fb1565b62000db08160c0015162002054565b6003546001600160a01b031662000dda576040516302a9c2c560e61b815260040160405180910390fd5b6200056a62002093565b62000def8162000cd0565b62000df96200210e565b62000e17816060015182608001518360a00151846040015162002179565b62000e2162000c4a565b62000e2b620021f6565b62000e3562000c88565b62000e3f620024d6565b62000e4a8162000cef565b62000e5462002624565b62000e5e62002670565b6200056a620026bc565b60008073__$e670fb80a00d783cff26adce1c19b32070$__63a9442e408a8a8a8a8a8a6040518763ffffffff1660e01b815260040162000eae9695949392919062003357565b602060405180830381865af415801562000ecc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ef2919062003234565b91506000878760405160200162000f0b9291906200339b565b6040516020818303038152906040529050600c60009054906101000a90046001600160a01b03166001600160a01b031663e094be2484856001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000f80573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000fa69190620033b1565b60018c8c60405160200162000fbd929190620033d1565b604051602081830303815290604052868a6040518763ffffffff1660e01b815260040162000ff196959493929190620033f3565b6020604051808303816000875af115801562001011573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001037919062003234565b915060006040518060400160405280600c81526020016b3a37b5b2b739973a32b9ba1760a11b815250846001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156200109f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620010c9919081019062003472565b604051602001620010dc92919062003511565b6040516020818303038152906040529050620010fb60018286620013a9565b60006040518060400160405280601181526020017039bab832b93a37b5b2b739973a32b9ba1760791b815250846001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa15801562001166573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001190919081019062003472565b604051602001620011a392919062003511565b6040516020818303038152906040529050620011c260018286620013a9565b50505097509795505050505050565b60015460ff8281169116146200121f5760405162461bcd60e51b815260206004820152600e60248201526d0496e636f727265637420737465760941b60448201526064015b60405180910390fd5b8060ff166000036200123c57620012363062001c1f565b62001378565b8060ff166001036200125657620012366001600062002952565b8060ff166002036200126c5762001236620029db565b8060ff166003036200128c5762001282620029ef565b6200123662002a03565b600460ff82161462001378578060ff16600503620012ae576200123662001592565b8060ff16600603620012c4576200123662002a17565b8060ff166007036200134057620012db3062002a2b565b600e54604051637048027560e01b81523360048201526001600160a01b0390911690637048027590602401600060405180830381600087803b1580156200132157600080fd5b505af115801562001336573d6000803e3d6000fd5b5050505062001378565b60405162461bcd60e51b815260206004820152600c60248201526b0496e76616c696420737465760a41b604482015260640162001216565b6001805460ff169060006200138d8362003544565b91906101000a81548160ff021916908360ff1602179055505050565b600e546001600160a01b0316620013d35760405163521c4a7d60e01b815260040160405180910390fd5b82156200144357600e5460405163a815ff1560e01b81526001600160a01b039091169063a815ff15906200140e908590859060040162003572565b600060405180830381600087803b1580156200142957600080fd5b505af11580156200143e573d6000803e3d6000fd5b505050505b505050565b600254604051630dbabbff60e11b81526001600160a01b03909116600482015273__$a470d8d3eff4182c9809d6de570cdeeec8$__90631b7577fe90602401602060405180830381865af4158015620014a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620014cb919062003234565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051630cce0ce360e31b81526001600160a01b03909116600482015273__$0e33a7228bbdb017aebe2f2bed0910defa$__90636670671890602401602060405180830381865af41580156200154a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001570919062003234565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b600073__$587c1447ad460e9b007894b8b359c425ea$__63c465e06c6040518163ffffffff1660e01b8152600401602060405180830381865af4158015620015de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001604919062003234565b9050600073__$587c1447ad460e9b007894b8b359c425ea$__63c465e06c6040518163ffffffff1660e01b8152600401602060405180830381865af415801562001652573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001678919062003234565b600254604051635e1673bb60e11b81526001600160a01b039182166004820152908216602482015290915073__$342a172af7bf09406042436203b53e0416$__9063bc2ce77690604401602060405180830381865af4158015620016e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001706919062003234565b600780546001600160a01b0319166001600160a01b039290921691821790556040805163132075a760e31b81529051639903ad389160048082019260009290919082900301818387803b1580156200175d57600080fd5b505af115801562001772573d6000803e3d6000fd5b50506002546040516326c043d360e11b81526001600160a01b039182166004820152908516602482015273__$342a172af7bf09406042436203b53e0416$__9250634d8087a69150604401602060405180830381865af4158015620017db573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001801919062003234565b600880546001600160a01b0319166001600160a01b039290921691821790556040805163132075a760e31b81529051639903ad389160048082019260009290919082900301818387803b1580156200185857600080fd5b505af11580156200186d573d6000803e3d6000fd5b5050600754604051634a0687ef60e01b81526001600160a01b0391821660048201529085169250634a0687ef9150602401600060405180830381600087803b158015620018b957600080fd5b505af1158015620018ce573d6000803e3d6000fd5b5050600854604051634a0687ef60e01b81526001600160a01b0391821660048201529084169250634a0687ef9150602401600060405180830381600087803b1580156200191a57600080fd5b505af11580156200192f573d6000803e3d6000fd5b50506040805163266c45bb60e11b81526004810191909152601460448201527310dbdb9cdd185b9d0813dd5d199b1bddc813919560621b606482015260806024820152600360848201526221a7a360e91b60a48201526001600160a01b0385169250634cd88b76915060c401600060405180830381600087803b158015620019b657600080fd5b505af1158015620019cb573d6000803e3d6000fd5b50506040805163266c45bb60e11b81526004810191909152601360448201527210dbdb9cdd185b9d08125b999b1bddc8139195606a1b606482015260806024820152600360848201526221a4a360e91b60a48201526001600160a01b0384169250634cd88b76915060c401600060405180830381600087803b15801562001a5157600080fd5b505af115801562001a66573d6000803e3d6000fd5b5050600980546001600160a01b039586166001600160a01b031991821617909155600a8054949095169316929092179092555050565b600254600954600a54604051630e07777960e31b81526001600160a01b039384166004820152918316602483015291909116604482015273__$bd96dfe50c329cee8e313709d3c94b8122$__9063703bbbc890606401602060405180830381865af415801562001b10573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b36919062003234565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b600254600b54600754600854604051630243059d60e01b81526001600160a01b0394851660048201529284166024840152908316604483015291909116606482015273__$859a28afbbc8e5bf0b546dc5c4495c32e6$__90630243059d90608401602060405180830381865af415801562001bd7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bfd919062003234565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b73__$02c95dd9d7be6f60f760f29aee4bb17ffc$__63c3acf1b36040518163ffffffff1660e01b8152600401602060405180830381865af415801562001c69573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c8f919062003234565b60018054610100600160a81b0319166101006001600160a01b0393841681029190911791829055604051633f5b172b60e11b8152910482166004820152908216602482015273__$02c95dd9d7be6f60f760f29aee4bb17ffc$__90637eb62e569060440160006040518083038186803b15801562001d0c57600080fd5b505af4158015620009c6573d6000803e3d6000fd5b604051638a25422160e01b81528215156004820152811515602482015273__$ad779358bf46e2140b9444ea344feed6e1$__90638a25422190604401602060405180830381865af415801562001d7b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001da1919062003234565b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b604051632f0f279d60e01b81526001600160a01b038216600482015273__$859a28afbbc8e5bf0b546dc5c4495c32e6$__90632f0f279d90602401602060405180830381865af415801562001e1e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001e44919062003234565b600e80546001600160a01b0319166001600160a01b039290921691909117905550565b600e54604051630b5bd8c560e01b81526001600160a01b03909116600482015273__$51a374af64471c67800fb4db73e0bb3f61$__90630b5bd8c590602401602060405180830381865af415801562001ec4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001eea919062003234565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b60025460405163269c683160e11b81526001600160a01b03909116600482015273__$62fc974fc919b81fb994c71922b697bf1a$__90634d38d06290602401602060405180830381865af415801562001f69573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001f8f919062003234565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b600254604051623b2bcd60e01b81526001600160a01b03909116600482015273__$a8b7c5720cdda94a7f5cdf662a74179e74$__90623b2bcd90602401602060405180830381865af41580156200200c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002032919062003234565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b731820a4b7618bde71dce8cdc73aab6c95905fad243b6200208857604051630c9b12e760e01b815260040160405180910390fd5b6200056a8162002a40565b6002546003546040516001600160a01b039283169290911690620020b79062002aff565b6001600160a01b03928316815291166020820152604001604051809103906000f080158015620020eb573d6000803e3d6000fd5b50601280546001600160a01b0319166001600160a01b0392909216919091179055565b60025460015460405163189acdbd60e31b81526001600160a01b036101009092048216600482015291169063c4d66de8906024015b600060405180830381600087803b1580156200215e57600080fd5b505af115801562002173573d6000803e3d6000fd5b50505050565b600154600254604051630b520f0360e31b81526001600160a01b03610100909304831692635a90781892620021bc929116908890889088908890600401620035e4565b600060405180830381600087803b158015620021d757600080fd5b505af1158015620021ec573d6000803e3d6000fd5b5050505050505050565b6001546002546004805460405163cadf8f8560e01b81526001600160a01b039384169281019290925282166024820152610100909204169063cadf8f8590604401600060405180830381600087803b1580156200225257600080fd5b505af115801562002267573d6000803e3d6000fd5b50506002546004805460408051633b982ccf60e11b815290516001600160a01b03948516965063b6d200de95509390911692637730599e928281019260209291908290030181865afa158015620022c2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620022e8919062003620565b6040518263ffffffff1660e01b81526004016200230791815260200190565b602060405180830381865afa15801562002325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200234b919062003234565b600380546001600160a01b0319166001600160a01b0392831617905560015460025460065460405163cadf8f8560e01b81529184166004830152831660248201526101009091049091169063cadf8f8590604401600060405180830381600087803b158015620023ba57600080fd5b505af1158015620023cf573d6000803e3d6000fd5b505060025460065460408051633b982ccf60e11b815290516001600160a01b03938416955063b6d200de94509190921691637730599e9160048083019260209291908290030181865afa1580156200242b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002451919062003620565b6040518263ffffffff1660e01b81526004016200247091815260200190565b602060405180830381865afa1580156200248e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620024b4919062003234565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001546002546001600160a01b0361010090920482169163427942a4911660008060405190808252806020026020018201604052801562002521578160200160208202803683370190505b50600d546040516001600160e01b031960e087901b16815262002554949392916001600160a01b0316906004016200363a565b600060405180830381600087803b1580156200256f57600080fd5b505af115801562002584573d6000803e3d6000fd5b50505050600260009054906101000a90046001600160a01b03166001600160a01b031663731aed6e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620025dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002602919062003234565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001546002546010546040516355c2378d60e11b81526001600160a01b039283166004820152600060248201529082166044820152610100909204169063ab846f1a9060640162002143565b6001546002546011546040516355c2378d60e11b81526001600160a01b039283166004820152600060248201529082166044820152610100909204169063ab846f1a9060640162002143565b600e546001546040805163a815ff1560e01b81526004810191909152601360448201527215195cdd11dbdd995c9b985b98d94b9d195cdd606a1b60648201526001600160a01b036101009092048216602482015291169063a815ff1590608401600060405180830381600087803b1580156200273757600080fd5b505af11580156200274c573d6000803e3d6000fd5b5050600e546002546040805163a815ff1560e01b81526004810191909152600f60448201526e14dd5c195c999b1d5a590b9d195cdd608a1b60648201526001600160a01b0391821660248201529116925063a815ff159150608401600060405180830381600087803b158015620027c257600080fd5b505af1158015620027d7573d6000803e3d6000fd5b5050600e54600f546040805163a815ff1560e01b8152600481019190915260136044820152725375706572666c7569644c6f616465722d763160681b60648201526001600160a01b0391821660248201529116925063a815ff159150608401600060405180830381600087803b1580156200285157600080fd5b505af115801562002866573d6000803e3d6000fd5b5050600e80546010546040805163a815ff1560e01b8152600481019190915260448101939093526d21a320bb18a337b93bb0b93232b960911b60648401526001600160a01b03908116602484015216925063a815ff159150608401600060405180830381600087803b158015620028dc57600080fd5b505af1158015620028f1573d6000803e3d6000fd5b5050600e80546011546040805163a815ff1560e01b8152600481019190915260448101939093526d24a220bb18a337b93bb0b93232b960911b60648401526001600160a01b03908116602484015216925063a815ff15915060840162002143565b6200295e828262001d21565b620029686200210e565b620029d760456138406107086000805480602002602001604051908101604052809291908181526020018280548015620029cc57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311620029ad575b505050505062002179565b5050565b620029e562000c74565b62000513620021f6565b620029f962001f0c565b6200051362002624565b62002a0d62001fb1565b6200051362002670565b62002a2162000cbc565b62000513620024d6565b62002a368162001dc5565b62000e5e62001e67565b6002546040516001600160a01b0390911690829062002a5f9062002b0d565b6001600160a01b0390921682526020820152604001604051809103906000f08015801562002a91573d6000803e3d6000fd5b50601380546001600160a01b0319166001600160a01b039290921691909117905550565b6040518060e001604052806000151581526020016000151581526020016060815260200160006001600160a01b031681526020016000815260200160008152602001600081525090565b610a24806200367b83390190565b611833806200409f83390190565b60006020828403121562002b2e57600080fd5b5035919050565b60005b8381101562002b5257818101518382015260200162002b38565b50506000910152565b6000815180845262002b7581602086016020860162002b35565b601f01601f19169290920160200192915050565b60208152600062002b9e602083018462002b5b565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60405160e0810167ffffffffffffffff8111828210171562002be15762002be162002ba5565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171562002c135762002c1362002ba5565b604052919050565b80151581146200056a57600080fd5b803562002c378162002c1b565b919050565b6001600160a01b03811681146200056a57600080fd5b803562002c378162002c3c565b600082601f83011262002c7157600080fd5b8135602067ffffffffffffffff82111562002c905762002c9062002ba5565b8160051b62002ca182820162002be7565b928352848101820192828101908785111562002cbc57600080fd5b83870192505b8483101562002ce857823562002cd88162002c3c565b8252918301919083019062002cc2565b979650505050505050565b60006020828403121562002d0657600080fd5b813567ffffffffffffffff8082111562002d1f57600080fd5b9083019060e0828603121562002d3457600080fd5b62002d3e62002bbb565b62002d498362002c2a565b815262002d596020840162002c2a565b602082015260408301358281111562002d7157600080fd5b62002d7f8782860162002c5f565b60408301525062002d936060840162002c52565b60608201526080830135608082015260a083013560a082015260c083013560c082015280935050505092915050565b60008083601f84011262002dd557600080fd5b50813567ffffffffffffffff81111562002dee57600080fd5b60208301915083602082850101111562002e0757600080fd5b9250929050565b60ff811681146200056a57600080fd5b6000806000806000806080878903121562002e3857600080fd5b863567ffffffffffffffff8082111562002e5157600080fd5b62002e5f8a838b0162002dc2565b9098509650602089013591508082111562002e7957600080fd5b5062002e8889828a0162002dc2565b909550935050604087013562002e9e8162002e0e565b80925050606087013590509295509295509295565b60006020828403121562002ec657600080fd5b813562002b9e8162002e0e565b6000806000806040858703121562002eea57600080fd5b843567ffffffffffffffff8082111562002f0357600080fd5b62002f118883890162002dc2565b9096509450602087013591508082111562002f2b57600080fd5b5062002f3a8782880162002dc2565b95989497509550505050565b600080600080600080600060a0888a03121562002f6257600080fd5b873567ffffffffffffffff8082111562002f7b57600080fd5b62002f898b838c0162002dc2565b909950975060208a013591508082111562002fa357600080fd5b5062002fb28a828b0162002dc2565b909650945050604088013562002fc88162002e0e565b925060608801359150608088013562002fe18162002c3c565b8091505092959891949750929550565b81516001600160a01b03168152610220810160208301516200301e60208401826001600160a01b03169052565b5060408301516200303a60408401826001600160a01b03169052565b50606083015162003064606084018280516001600160a01b03908116835260209182015116910152565b5060808301516001600160a01b03811660a08401525060a083015180516001600160a01b0390811660c085015260208201511660e08401525060c0830151610100620030ba818501836001600160a01b03169052565b60e08501519150610120620030d9818601846001600160a01b03169052565b90850151915061014090620030f8858301846001600160a01b03169052565b850151915061016062003115858201846001600160a01b03169052565b9085015191506101809062003134858301846001600160a01b03169052565b85015191506101a062003151858201846001600160a01b03169052565b9085015191506101c09062003170858301846001600160a01b03169052565b8501516001600160a01b039081166101e086015294015190931661020090920191909152919050565b600060208284031215620031ac57600080fd5b813562002b9e8162002c3c565b600080600080600060608688031215620031d257600080fd5b853567ffffffffffffffff80821115620031eb57600080fd5b620031f989838a0162002dc2565b909750955060208801359150808211156200321357600080fd5b50620032228882890162002dc2565b96999598509660400135949350505050565b6000602082840312156200324757600080fd5b815162002b9e8162002c3c565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038716815260ff86166020820152608060408201819052600090620032ad908301868862003254565b8281036060840152620032c281858762003254565b9998505050505050505050565b60008451620032e381846020890162002b35565b8201838582376000930192835250909392505050565b6060815260006200330f60608301878962003254565b82810360208401526200332481868862003254565b9150508260408301529695505050505050565b6000602082840312156200334a57600080fd5b815162002b9e8162002c1b565b6080815260006200336d60808301888a62003254565b82810360208401526200338281878962003254565b60ff959095166040840152505060600152949350505050565b81838237600f60fb1b9101908152600101919050565b600060208284031215620033c457600080fd5b815162002b9e8162002e0e565b65029bab832b9160d51b81528183600683013760009101600601908152919050565b6001600160a01b03878116825260ff87166020830152600090600387106200342b57634e487b7160e01b600052602160045260246000fd5b86604084015260c060608401526200344760c084018762002b5b565b83810360808501526200345b818762002b5b565b92505080841660a084015250979650505050505050565b6000602082840312156200348557600080fd5b815167ffffffffffffffff808211156200349e57600080fd5b818401915084601f830112620034b357600080fd5b815181811115620034c857620034c862002ba5565b620034dd601f8201601f191660200162002be7565b9150808252856020828501011115620034f557600080fd5b6200350881602084016020860162002b35565b50949350505050565b600083516200352581846020880162002b35565b8351908301906200353b81836020880162002b35565b01949350505050565b600060ff821660ff81036200356957634e487b7160e01b600052601160045260246000fd5b60010192915050565b60408152600062003587604083018562002b5b565b905060018060a01b03831660208301529392505050565b600081518084526020808501945080840160005b83811015620035d95781516001600160a01b031687529582019590820190600101620035b2565b509495945050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009062002ce8908301846200359e565b6000602082840312156200363357600080fd5b5051919050565b600060018060a01b0380871683528086166020840152608060408401526200366660808401866200359e565b91508084166060840152509594505050505056fe60c060405234801561001057600080fd5b50604051610a24380380610a2483398101604081905261002f91610062565b6001600160a01b039182166080521660a052610095565b80516001600160a01b038116811461005d57600080fd5b919050565b6000806040838503121561007557600080fd5b61007e83610046565b915061008c60208401610046565b90509250929050565b60805160a0516109426100e26000396000818160560152818161013a015281816103d401526103f501526000818160d00152818161010e0152818161037b01526103a501526109426000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80631054df8c146100515780638dc7d29c146100955780638f95895f146100aa578063f437bc59146100cb575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100a86100a3366004610682565b6100f2565b005b6100bd6100b8366004610711565b610349565b60405190815260200161008c565b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040805160008082526020820190925281906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169182916339255d5b917f00000000000000000000000000000000000000000000000000000000000000009182169063b4b333c690610176908c908c908c90604481016107e2565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b9490941790935280516000815292830190526101be9392509060448101610820565b60408051601f198184030181529181526020820180516001600160e01b031660e09490941b9390931790925290516101f69250610856565b6000604051808303816000865af19150503d8060008114610233576040519150601f19603f3d011682016040523d82523d6000602084013e610238565b606091505b50915091508161025857805160000361025057600080fd5b805181602001fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038716906370a0823190602401602060405180830381865afa15801561029f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c39190610872565b90508015610341576040516323b872dd60e01b8152306004820152336024820152604481018290526001600160a01b038716906323b872dd906064016020604051808303816000875af192505050801561033a575060408051601f3d908101601f191682019092526103379181019061088b565b60015b1561034157505b505050505050565b60008382811461036c5760405163277c943f60e21b815260040160405180910390fd5b60005b818110156105715760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166339255d5b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b4b333c68e8e8e8a818110610435576104356108b4565b905060200201602081019061044a91906108ca565b8d8d8b81811061045c5761045c6108b4565b905060200201602081019061047191906108ca565b60408051600081526020810190915261049093929190604481016107e2565b60408051601f19818403018152918152602080830180516001600160e01b031660e09590951b9490941790935280516000815292830190526104d89392509060448101610820565b60408051601f198184030181529181526020820180516001600160e01b031660e09490941b9390931790925290516105109250610856565b6000604051808303816000865af19150503d806000811461054d576040519150601f19603f3d011682016040523d82523d6000602084013e610552565b606091505b50509050801561056857610565846108e5565b93505b5060010161036f565b506040516370a0823160e01b81523060048201526000906001600160a01b038916906370a0823190602401602060405180830381865afa1580156105b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105dd9190610872565b9050801561065b576040516323b872dd60e01b8152306004820152336024820152604481018290526001600160a01b038916906323b872dd906064016020604051808303816000875af1925050508015610654575060408051601f3d908101601f191682019092526106519181019061088b565b60015b1561065b57505b505095945050505050565b80356001600160a01b038116811461067d57600080fd5b919050565b60008060006060848603121561069757600080fd5b6106a084610666565b92506106ae60208501610666565b91506106bc60408501610666565b90509250925092565b60008083601f8401126106d757600080fd5b50813567ffffffffffffffff8111156106ef57600080fd5b6020830191508360208260051b850101111561070a57600080fd5b9250929050565b60008060008060006060868803121561072957600080fd5b61073286610666565b9450602086013567ffffffffffffffff8082111561074f57600080fd5b61075b89838a016106c5565b9096509450604088013591508082111561077457600080fd5b50610781888289016106c5565b969995985093965092949392505050565b60005b838110156107ad578181015183820152602001610795565b50506000910152565b600081518084526107ce816020860160208601610792565b601f01601f19169290920160200192915050565b6001600160a01b038581168252848116602083015283166040820152608060608201819052600090610816908301846107b6565b9695505050505050565b6001600160a01b0384168152606060208201819052600090610844908301856107b6565b828103604084015261081681856107b6565b60008251610868818460208701610792565b9190910192915050565b60006020828403121561088457600080fd5b5051919050565b60006020828403121561089d57600080fd5b815180151581146108ad57600080fd5b9392505050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156108dc57600080fd5b6108ad82610666565b60006001820161090557634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220a76ac4c4a972a021424a1cb2c2c57e98a4b6fa17e1332fffeeb06cec2649635164736f6c6343000813003360e06040523480156200001157600080fd5b5060405162001833380380620018338339810160408190526200003491620002b5565b6001600160a01b038216608081905260c0829052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015263b6d200de90602401602060405180830381865afa158015620000a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c89190620002e6565b6001600160a01b031660a0526040516329965a1d60e01b815230600482018190527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248301819052604483019190915290731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b1580156200015457600080fd5b505af115801562000169573d6000803e3d6000fd5b50506040516329965a1d60e01b815230600482018190527fece6fc2bcfc93e4c34c28aeaa114be1a6161decb8268f79cbe7c3c7f31b1e8c660248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b158015620001e757600080fd5b505af1158015620001fc573d6000803e3d6000fd5b50506040516329965a1d60e01b815230600482018190527fca6323f8f0faf3d4f41f2397ee46c8d85bed576d54aadeb20b6cf7b45b3a696460248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b1580156200027a57600080fd5b505af11580156200028f573d6000803e3d6000fd5b505050505050506200030d565b6001600160a01b0381168114620002b257600080fd5b50565b60008060408385031215620002c957600080fd5b8251620002d6816200029c565b6020939093015192949293505050565b600060208284031215620002f957600080fd5b815162000306816200029c565b9392505050565b60805160a05160c05161148d620003a66000396000818161011d015281816102dd0152818161074201528181610792015261093501526000818161037e0152818161043f0152818161058f0152818161061e015281816107fa01528181610a5601528181610b170152610ce701526000818161041501528181610565015281816105f401528181610aed0152610cbd015261148d6000f3fe608060405234801561001057600080fd5b506004361061007c5760003560e01c8063362910631161005b57806336291063146100d457806360dfa69514610118578063b8a140331461014d578063bf8903dd1461016057600080fd5b806223de291461008157806302f3c6c51461009657806316e23b9f146100a9575b600080fd5b61009461008f366004610fc0565b61019b565b005b6100946100a4366004611080565b610243565b6100bc6100b73660046110b9565b610735565b604051600b9190910b81526020015b60405180910390f35b6101006100e23660046110e5565b6001600160a01b039081166000908152602081905260409020541690565b6040516001600160a01b0390911681526020016100cb565b61013f7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100cb565b6100bc61015b3660046110b9565b610785565b61017361016e3660046110e5565b6107b7565b604080516001600160a01b0390941684526020840192909252600b0b908201526060016100cb565b336000818152602081905260409020546001600160a01b038981169116146101f457600084156101d6576101d185870187611109565b6101e0565b6101e08288610735565b90506101ee828a898461089b565b50610238565b806001600160a01b03167fb9c1b85a7ee70d95c61aca7cda03ef957abc5265a191ca74cc335faf594095668760405161022f91815260200190565b60405180910390a25b505050505050505050565b6001600160a01b03808316600090815260208190526040902054163381146102ab5760405162461bcd60e51b81526020600482015260166024820152751513d1d04e881bdb9b1e48141250c8185b1b1bddd95960521b60448201526064015b60405180910390fd5b600082600b0b12156102cf5760405162461bcd60e51b81526004016102a290611126565b6102d883610e28565b6103067f0000000000000000000000000000000000000000000000000000000000000000600b85900b61117f565b111561034e5760405162461bcd60e51b81526020600482015260176024820152760a89e8e827440caf0d2e8a4c2e8ca40e8dede40d0d2ced604b1b60448201526064016102a2565b604051631cd43d1160e31b81526001600160a01b03848116600483015230602483015282811660448301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a1e88890606401608060405180830381865afa1580156103c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103eb9190611196565b5050915050600081600b0b1380156104065750600083600b0b135b15610540576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906339255d5b907f00000000000000000000000000000000000000000000000000000000000000009081166350209a6288878960005b6040519080825280601f01601f191660200182016040528015610496576020820181803683370190505b506040516024016104aa949392919061123a565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526104f39392509060040161127a565b6000604051808303816000875af1158015610512573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261053a91908101906112c1565b506106ed565b80600b0b60001480156105565750600083600b0b135b156105c0576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906339255d5b907f00000000000000000000000000000000000000000000000000000000000000009081166362fc305e888789600061046c565b600081600b0b1380156105d6575082600b0b6000145b156106ed576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f0000000000000000000000000000000000000000000000000000000000000000919082169063b4b333c69061065b908a9030908a906044810161136e565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526106a49392509060040161127a565b6000604051808303816000875af11580156106c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106eb91908101906112c1565b505b604051600b84900b81526001600160a01b038516907f0988aefa675e81e1db7fca08264db5dc2a1cc2a604f2a78d902a9747146a56719060200160405180910390a250505050565b600061077c6107776107687f0000000000000000000000000000000000000000000000000000000000000000600461117f565b61077290856113a2565b610ec9565b610f37565b90505b92915050565b600061077c6107776107727f0000000000000000000000000000000000000000000000000000000000000000856113a2565b6001600160a01b03818116600081815260208190526040808220549051631cd43d1160e31b815260048101939093523060248401528316604483015291829182917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa158015610841573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108659190611196565b50506001600160a01b0380871660009081526020819052604090205491935016905061089085610e28565b925092509193909250565b6001600160a01b038416600090815260208190526040902054600160a01b900460ff161561090b5760405162461bcd60e51b815260206004820152601c60248201527f544f47413a207265656e7472616e6379206e6f7420616c6c6f7765640000000060448201526064016102a2565b600081600b0b121561092f5760405162461bcd60e51b81526004016102a290611126565b8161095e7f0000000000000000000000000000000000000000000000000000000000000000600b84900b61117f565b11156109a65760405162461bcd60e51b81526020600482015260176024820152760a89e8e827440caf0d2e8a4c2e8ca40e8dede40d0d2ced604b1b60448201526064016102a2565b6000826109b286610e28565b6109bc91906113c4565b9050808311610a015760405162461bcd60e51b8152602060048201526011602482015270544f47413a2062696420746f6f206c6f7760781b60448201526064016102a2565b6001600160a01b038581166000818152602081905260408082208054600160a01b60ff60a01b198216179091559051631cd43d1160e31b815260048101939093523060248401528316604483018190529290917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a1e88890606401608060405180830381865afa158015610a9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac39190611196565b5050915050600081600b0b1315610be6576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f0000000000000000000000000000000000000000000000000000000000000000919082169063b4b333c690610b54908d9030908a906044810161136e565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610b9d9392509060040161127a565b6000604051808303816000875af1158015610bbc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610be491908101906112c1565b505b6001600160a01b03821615610c6a5760405163a9059cbb60e01b81526001600160a01b0383811660048301526024820185905288169063a9059cbb906044016020604051808303816000875af1158015610c44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6891906113d7565b505b6001600160a01b03878116600090815260208190526040812080546001600160a01b03191692891692909217909155600b85900b1315610db6576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f000000000000000000000000000000000000000000000000000000000000000091908216906362fc305e90610d24908d908d908c906044810161123a565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610d6d9392509060040161127a565b6000604051808303816000875af1158015610d8c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610db491908101906112c1565b505b6001600160a01b0387811660008181526020818152604091829020805460ff60a01b191690558151938a1684528301889052600b87900b90830152907f836808e57755d5535898b7203c7d68b1bfb2701b1943ecb133c675e0d00780159060600160405180910390a250505050505050565b604051632ec8eec760e01b8152306004820152600090819081906001600160a01b03851690632ec8eec790602401608060405180830381865afa158015610e73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9791906113f9565b50509150915060008183610eab919061142f565b13610eb7576000610ec1565b610ec1818361142f565b949350505050565b60006001600160ff1b03821115610f335760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016102a2565b5090565b60006b7fffffffffffffffffffffff8212610f33576b7fffffffffffffffffffffff92915050565b6001600160a01b0381168114610f7457600080fd5b50565b60008083601f840112610f8957600080fd5b50813567ffffffffffffffff811115610fa157600080fd5b602083019150836020828501011115610fb957600080fd5b9250929050565b60008060008060008060008060c0898b031215610fdc57600080fd5b8835610fe781610f5f565b97506020890135610ff781610f5f565b9650604089013561100781610f5f565b955060608901359450608089013567ffffffffffffffff8082111561102b57600080fd5b6110378c838d01610f77565b909650945060a08b013591508082111561105057600080fd5b5061105d8b828c01610f77565b999c989b5096995094979396929594505050565b80600b0b8114610f7457600080fd5b6000806040838503121561109357600080fd5b823561109e81610f5f565b915060208301356110ae81611071565b809150509250929050565b600080604083850312156110cc57600080fd5b82356110d781610f5f565b946020939093013593505050565b6000602082840312156110f757600080fd5b813561110281610f5f565b9392505050565b60006020828403121561111b57600080fd5b813561110281611071565b60208082526023908201527f544f47413a206e65676174697665206578697452617465206e6f7420616c6c6f6040820152621dd95960ea1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761077f5761077f611169565b600080600080608085870312156111ac57600080fd5b8451935060208501516111be81611071565b6040860151606090960151949790965092505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156112055781810151838201526020016111ed565b50506000910152565b600081518084526112268160208601602086016111ea565b601f01601f19169290920160200192915050565b6001600160a01b03858116825284166020820152600b83900b60408201526080606082018190526000906112709083018461120e565b9695505050505050565b6001600160a01b038316815260606020820181905260009061129e9083018461120e565b8281036040938401526002815261060f60f31b6020820152919091019392505050565b6000602082840312156112d357600080fd5b815167ffffffffffffffff808211156112eb57600080fd5b818401915084601f8301126112ff57600080fd5b815181811115611311576113116111d4565b604051601f8201601f19908116603f01168101908382118183101715611339576113396111d4565b8160405282815287602084870101111561135257600080fd5b6113638360208301602088016111ea565b979650505050505050565b6001600160a01b0385811682528481166020830152831660408201526080606082018190526000906112709083018461120e565b6000826113bf57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561077f5761077f611169565b6000602082840312156113e957600080fd5b8151801515811461110257600080fd5b6000806000806080858703121561140f57600080fd5b505082516020840151604085015160609095015191969095509092509050565b808201828112600083128015821682158216171561144f5761144f611169565b50509291505056fea2646970667358221220ee2c2bf0a36e02c3f9d390b8ff0193cd642c02e2413a50f13336e578a9aede9e64736f6c63430008130033a2646970667358221220cfdbc0fff68f5df07b15ac896933291fab49ebb136ad2653a420580674493c9f64736f6c63430008130033",M7=eb=>"string"==typeof eb[0]||Array.isArray(eb[0])||"_isInterface"in eb[0];class Cb extends u9.lV{constructor(...eb){if(M7(eb))super(...eb);else{let[em,ew]=eb;super(M8,Cb.linkBytecode(em),ew)}}static linkBytecode(eb){let em=M9;return(em=(em=(em=(em=(em=(em=(em=(em=(em=(em=(em=em.replace(RegExp("__\\$e670fb80a00d783cff26adce1c19b32070\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:TokenDeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$a470d8d3eff4182c9809d6de570cdeeec8\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:SuperfluidCFAv1DeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$0e33a7228bbdb017aebe2f2bed0910defa\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:SuperfluidIDAv1DeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$587c1447ad460e9b007894b8b359c425ea\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:ProxyDeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$342a172af7bf09406042436203b53e0416\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:SuperfluidNFTLogicDeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$bd96dfe50c329cee8e313709d3c94b8122\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:SuperTokenDeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$859a28afbbc8e5bf0b546dc5c4495c32e6\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:SuperfluidPeripheryDeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$02c95dd9d7be6f60f760f29aee4bb17ffc\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:SuperfluidGovDeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$ad779358bf46e2140b9444ea344feed6e1\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:SuperfluidHostDeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$51a374af64471c67800fb4db73e0bb3f61\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:SuperfluidLoaderDeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$62fc974fc919b81fb994c71922b697bf1a\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:CFAv1ForwarderDeployerLibrary"].replace(/^0x/,"").toLowerCase())).replace(RegExp("__\\$a8b7c5720cdda94a7f5cdf662a74179e74\\$__","g"),eb["contracts/utils/SuperfluidFrameworkDeploymentSteps.sol:IDAv1ForwarderDeployerLibrary"].replace(/^0x/,"").toLowerCase())}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(M8)}static connect(eb,em){return new u9.CH(eb,M8,em)}}Cb.bytecode=M9,Cb.abi=M8;let Cm=[{inputs:[],name:"DEFAULT_APP_WHITELISTING_ENABLED",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_LIQUIDATION_PERIOD",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_NON_UPGRADEABLE",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_PATRICIAN_PERIOD",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_REWARD_ADDRESS",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_TOGA_MIN_BOND_DURATION",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"DEFAULT_TRUSTED_FORWARDERS",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"RESOLVER_BASE_SUPER_TOKEN_KEY",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"RESOLVER_BASE_TOKEN_KEY",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"getFramework",outputs:[{components:[{internalType:"contract TestGovernance",name:"governance",type:"address"},{internalType:"contract Superfluid",name:"host",type:"address"},{internalType:"contract ConstantFlowAgreementV1",name:"cfa",type:"address"},{components:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IConstantFlowAgreementV1",name:"cfa",type:"address"}],internalType:"struct CFAv1Library.InitData",name:"cfaLib",type:"tuple"},{internalType:"contract InstantDistributionAgreementV1",name:"ida",type:"address"},{components:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract IInstantDistributionAgreementV1",name:"ida",type:"address"}],internalType:"struct IDAv1Library.InitData",name:"idaLib",type:"tuple"},{internalType:"contract SuperTokenFactory",name:"superTokenFactory",type:"address"},{internalType:"contract ISuperToken",name:"superTokenLogic",type:"address"},{internalType:"contract ConstantOutflowNFT",name:"constantOutflowNFT",type:"address"},{internalType:"contract ConstantInflowNFT",name:"constantInflowNFT",type:"address"},{internalType:"contract TestResolver",name:"resolver",type:"address"},{internalType:"contract SuperfluidLoader",name:"superfluidLoader",type:"address"},{internalType:"contract CFAv1Forwarder",name:"cfaV1Forwarder",type:"address"},{internalType:"contract IDAv1Forwarder",name:"idaV1Forwarder",type:"address"},{internalType:"contract TOGA",name:"toga",type:"address"}],internalType:"struct SuperfluidFrameworkDeploymentSteps.Framework",name:"sf",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],Cy="0x6000608081905260a0604081905261001891908161002b565b5034801561002557600080fd5b506100a5565b828054828255906000526020600020908101928215610080579160200282015b8281111561008057825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061004b565b5061008c929150610090565b5090565b5b8082111561008c5760008155600101610091565b610620806100b46000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806362a32e1e1161007157806362a32e1e14610153578063888a37b11461017e57806393786bf014610188578063b3083cf81461013b578063dfa98ad514610190578063f2fde38b1461030e57600080fd5b806305bfa3e0146100ae5780631903410d146100ca5780633df285fe146100f55780634d59c13614610132578063520994701461013b575b600080fd5b6100b761070881565b6040519081526020015b60405180910390f35b6100dd6100d83660046103b5565b610323565b6040516001600160a01b0390911681526020016100c1565b6101256040518060400160405280601181526020017039bab832b93a37b5b2b739973a32b9ba1760791b81525081565b6040516100c191906103ce565b6100b761384081565b610143600081565b60405190151581526020016100c1565b6101256040518060400160405280600c81526020016b3a37b5b2b739973a32b9ba1760a11b81525081565b6100b762093a8081565b6100dd604581565b610301604080516101e08101825260008082526020808301829052828401829052835180850185528281528082018390526060840152608083018290528351808501909452818452830181905260a082019290925260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081019190915250604080516101e0810182526001546001600160a01b03610100918290048116835260025481166020808501829052600354831685870181905286518088018852838152808301919091526060860152600554831660808601819052865180880190975291865285015260a0830193909352600c54831660c0830152600b54831660e0830152600954831690820152600a548216610120820152600e548216610140820152600f548216610160820152601054821661018082015260115482166101a08201526013549091166101c082015290565b6040516100c1919061041c565b61032161031c3660046105ba565b61034d565b005b6000818154811061033357600080fd5b6000918252602090912001546001600160a01b0316905081565b60015460405163f2fde38b60e01b81526001600160a01b0383811660048301526101009092049091169063f2fde38b90602401600060405180830381600087803b15801561039a57600080fd5b505af11580156103ae573d6000803e3d6000fd5b5050505050565b6000602082840312156103c757600080fd5b5035919050565b600060208083528351808285015260005b818110156103fb578581018301518582016040015282016103df565b506000604082860101526040601f19601f8301168501019250505092915050565b81516001600160a01b031681526102208101602083015161044860208401826001600160a01b03169052565b50604083015161046360408401826001600160a01b03169052565b50606083015161048c606084018280516001600160a01b03908116835260209182015116910152565b5060808301516001600160a01b03811660a08401525060a083015180516001600160a01b0390811660c085015260208201511660e08401525060c08301516101006104e1818501836001600160a01b03169052565b60e085015191506101206104ff818601846001600160a01b03169052565b9085015191506101409061051d858301846001600160a01b03169052565b8501519150610160610539858201846001600160a01b03169052565b90850151915061018090610557858301846001600160a01b03169052565b85015191506101a0610573858201846001600160a01b03169052565b9085015191506101c090610591858301846001600160a01b03169052565b8501516001600160a01b039081166101e086015294015190931661020090920191909152919050565b6000602082840312156105cc57600080fd5b81356001600160a01b03811681146105e357600080fd5b939250505056fea264697066735822122071b2b79ff7318d4bc50209fd9141f9b9fabff2849178bfdd08e9c51a7735c87164736f6c63430008130033",Cv=eb=>eb.length>1;class Cz extends u9.lV{constructor(...eb){Cv(eb)?super(...eb):super(Cm,Cy,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(Cm)}static connect(eb,em){return new u9.CH(eb,Cm,em)}}Cz.bytecode=Cy,Cz.abi=Cm;let Cw=[{inputs:[{internalType:"contract IResolver",name:"resolver",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"string",name:"releaseVersion",type:"string"}],name:"loadFramework",outputs:[{components:[{internalType:"contract ISuperfluid",name:"superfluid",type:"address"},{internalType:"contract ISuperTokenFactory",name:"superTokenFactory",type:"address"},{internalType:"contract ISuperAgreement",name:"agreementCFAv1",type:"address"},{internalType:"contract ISuperAgreement",name:"agreementIDAv1",type:"address"}],internalType:"struct SuperfluidLoader.Framework",name:"result",type:"tuple"}],stateMutability:"view",type:"function"}],CM="0x60a060405234801561001057600080fd5b506040516104ea3803806104ea83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b60805161046061008a600039600060b501526104606000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063f490e2f014610030575b600080fd5b61004361003e366004610307565b61008f565b604051610086919081516001600160a01b039081168252602080840151821690830152604080840151821690830152606092830151169181019190915260800190565b60405180910390f35b6040805160808101825260008082526020820181905291810182905260608101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663693ec85e84846040516020016100f5929190610379565b6040516020818303038152906040526040518263ffffffff1660e01b815260040161012091906103a0565b602060405180830381865afa15801561013d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101619190610406565b6001600160a01b03168082526040805163398d76b760e11b8152905163731aed6e916004808201926020929091908290030181865afa1580156101a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cc9190610406565b6001600160a01b0390811660208301528151604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015291169063b6d200de90602401602060405180830381865afa15801561023a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025e9190610406565b6001600160a01b0390811660408381019190915282519051635b69006f60e11b81527f8aedc3b5d4bf031e11a7e2940f7251c005698405d58e02e1c247fed3b1b3a674600482015291169063b6d200de90602401602060405180830381865afa1580156102cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f39190610406565b6001600160a01b0316606082015292915050565b6000806020838503121561031a57600080fd5b823567ffffffffffffffff8082111561033257600080fd5b818501915085601f83011261034657600080fd5b81358181111561035557600080fd5b86602082850101111561036757600080fd5b60209290920196919550909350505050565b6a29bab832b933363ab4b21760a91b81528183600b83013760009101600b01908152919050565b600060208083528351808285015260005b818110156103cd578581018301518582016040015282016103b1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461040357600080fd5b50565b60006020828403121561041857600080fd5b8151610423816103ee565b939250505056fea26469706673582212200f11cb8f4217514755b9ba31ea09e1414df99c1e68a6671fc44db93133449aee64736f6c63430008130033",CC=eb=>eb.length>1;class Cx extends u9.lV{constructor(...eb){CC(eb)?super(...eb):super(Cw,CM,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(Cw)}static connect(eb,em){return new u9.CH(eb,Cw,em)}}Cx.bytecode=CM,Cx.abi=Cw;let Ck=[{inputs:[],name:"SF_GOV_INVALID_LIQUIDATION_OR_PATRICIAN_PERIOD",type:"error"},{inputs:[],name:"SF_GOV_MUST_BE_CONTRACT",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"address",name:"factory",type:"address"},{indexed:!1,internalType:"bool",name:"authorized",type:"bool"}],name:"AppFactoryAuthorizationChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"address",name:"deployer",type:"address"},{indexed:!1,internalType:"string",name:"appRegistrationKey",type:"string"},{indexed:!1,internalType:"uint256",name:"expirationTs",type:"uint256"}],name:"AppRegistrationKeyChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"liquidationPeriod",type:"uint256"}],name:"CFAv1LiquidationPeriodChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bytes32",name:"key",type:"bytes32"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"ConfigChanged",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:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{indexed:!1,internalType:"uint256",name:"patricianPeriod",type:"uint256"}],name:"PPPConfigurationChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"address",name:"rewardAddress",type:"address"}],name:"RewardAddressChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"uint256",name:"minimumDeposit",type:"uint256"}],name:"SuperTokenMinimumDepositChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ISuperfluid",name:"host",type:"address"},{indexed:!0,internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{indexed:!1,internalType:"bool",name:"isKeySet",type:"bool"},{indexed:!1,internalType:"address",name:"forwarder",type:"address"},{indexed:!1,internalType:"bool",name:"enabled",type:"bool"}],name:"TrustedForwarderChanged",type:"event"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"authorizeAppFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"token",type:"address[]"},{internalType:"address[]",name:"newAdmins",type:"address[]"}],name:"batchChangeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"},{internalType:"address[]",name:"tokenLogics",type:"address[]"}],name:"batchUpdateSuperTokenLogic",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken[]",name:"tokens",type:"address[]"},{internalType:"uint256[]",name:"minimumDeposits",type:"uint256[]"}],name:"batchUpdateSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"token",type:"address"},{internalType:"address",name:"newAdmin",type:"address"}],name:"changeSuperTokenAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"}],name:"clearAppRegistrationKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"clearConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"clearPPPConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"clearRewardAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperToken",name:"superToken",type:"address"}],name:"clearSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"disableTrustedForwarder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"enableTrustedForwarder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsAddress",outputs:[{internalType:"address",name:"value",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"}],name:"getConfigAsUint256",outputs:[{internalType:"uint256",name:"period",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getPPPConfig",outputs:[{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getRewardAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"}],name:"getSuperTokenMinimumDeposit",outputs:[{internalType:"uint256",name:"value",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"rewardAddress",type:"address"},{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"},{internalType:"address[]",name:"trustedForwarders",type:"address[]"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"isAuthorizedAppFactory",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"forwarder",type:"address"}],name:"isTrustedForwarder",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"agreementClass",type:"address"}],name:"registerAgreementClass",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"newGov",type:"address"}],name:"replaceGovernance",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"},{internalType:"uint256",name:"expirationTs",type:"uint256"}],name:"setAppRegistrationKey",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"address",name:"value",type:"address"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"bytes32",name:"key",type:"bytes32"},{internalType:"uint256",name:"value",type:"uint256"}],name:"setConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"uint256",name:"liquidationPeriod",type:"uint256"},{internalType:"uint256",name:"patricianPeriod",type:"uint256"}],name:"setPPPConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"address",name:"rewardAddress",type:"address"}],name:"setRewardAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"contract ISuperfluidToken",name:"superToken",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"setSuperTokenMinimumDeposit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"factory",type:"address"}],name:"unauthorizeAppFactory",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"hostNewLogic",type:"address"},{internalType:"address[]",name:"agreementClassNewLogics",type:"address[]"},{internalType:"address",name:"superTokenFactoryNewLogic",type:"address"}],name:"updateContracts",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ISuperfluid",name:"host",type:"address"},{internalType:"address",name:"deployer",type:"address"},{internalType:"string",name:"registrationKey",type:"string"}],name:"verifyAppRegistrationKey",outputs:[{internalType:"bool",name:"validNow",type:"bool"},{internalType:"uint256",name:"expirationTs",type:"uint256"}],stateMutability:"view",type:"function"}],CT="0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611f488061007e6000396000f3fe608060405234801561001057600080fd5b50600436106102105760003560e01c80637f0558e411610125578063948eda5e116100ad578063d099b6a01161007c578063d099b6a0146104a6578063e447cc1d146104b9578063f047a2d9146104cc578063f2fde38b146104df578063f79a8e63146104f257600080fd5b8063948eda5e1461045a578063ab846f1a1461046d578063c9615a9814610480578063cadf8f851461049357600080fd5b80638a7ff2f7116100f45780638a7ff2f7146103ed5780638abe04e9146104005780638b93b3f5146104235780638da5cb5b146104365780638ecbd87b1461044757600080fd5b80637f0558e41461039857806380f70cba146103ab5780638369a0f1146103cc578063870299c0146103da57600080fd5b806342148deb116101a85780635a907818116101775780635a90781814610344578063640b6cc914610357578063715018a61461036a57806378707cb8146103725780637dce4f811461038557600080fd5b806342148deb146102e3578063427942a4146102f657806344864b2514610309578063452282351461031c57600080fd5b806321964473116101e45780632196447314610297578063256b5173146102aa57806325c955c3146102bd57806332552908146102d057600080fd5b806286d5551461021557806301a06b971461022a57806311cf00f11461023d57806319df62ab1461026c575b600080fd5b6102286102233660046118c3565b610505565b005b610228610238366004611909565b6105d2565b61025061024b3660046119e5565b610656565b6040805192151583526020830191909152015b60405180910390f35b61027f61027a366004611909565b610686565b6040516001600160a01b039091168152602001610263565b6102286102a5366004611a93565b6106ba565b6102286102b8366004611b16565b610735565b6102286102cb366004611909565b6107a8565b6102286102de366004611b16565b610804565b6102286102f1366004611b61565b610881565b610228610304366004611bb6565b610944565b610228610317366004611909565b610bf4565b61032f61032a366004611909565b610c5f565b60408051928352602083019190915201610263565b610228610352366004611c33565b610ca7565b610228610365366004611caf565b610d61565b610228610d71565b610228610380366004611cf0565b610d85565b610228610393366004611b16565b610d97565b6102286103a6366004611caf565b610df7565b6103be6103b9366004611caf565b610e6a565b604051908152602001610263565b61027f6103b9366004611caf565b6102286103e8366004611a93565b610edb565b6103be6103fb366004611909565b610fcd565b61041361040e366004611909565b610ffa565b6040519015158152602001610263565b610228610431366004611909565b611015565b6000546001600160a01b031661027f565b610228610455366004611909565b611098565b6102286104683660046119e5565b611109565b61022861047b366004611b16565b611177565b61022861048e366004611a93565b6111d3565b6102286104a1366004611909565b6112c5565b6102286104b4366004611d43565b6112fd565b6102286104c7366004611909565b61135d565b6104136104da366004611b16565b6113ce565b6102286104ed366004611dad565b6113e9565b6102286105003660046118c3565b611467565b8082111580610518575063ffffffff8210155b80610527575063ffffffff8110155b15610545576040516370b8cc0560e11b815260040160405180910390fd5b602082901b811761057885857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f788461146f565b6040805160018152602081018590529081018390526001600160a01b0380861691908716907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050505050565b6105fd82827fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78611522565b60408051600080825260208201819052918101919091526001600160a01b0380831691908416907f60a59221512cd8cbfb226200f7ba6f20dc4b38a3cf04993d17ea4e56d26aa186906060015b60405180910390a35050565b600080600061066585856115e3565b9050600061067587600084610e6a565b428110159890975095505050505050565b60006106b383837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09610e6a565b9392505050565b8281146106c9576106c9611dca565b60005b8181101561072d5761071d868686848181106106ea576106ea611de0565b90506020020160208101906106ff9190611dad565b85858581811061071157610711611de0565b90506020020135610df7565b61072681611df6565b90506106cc565b505050505050565b8261073f81611616565b604051630c56507560e01b81526001600160a01b0384811660048301528381166024830152851690630c56507590604401600060405180830381600087803b15801561078a57600080fd5b505af115801561079e573d6000803e3d6000fd5b5050505050505050565b6107bc8260006107b78461164d565b611522565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d600060405161064a911515815260200190565b61083083837f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09846116e0565b60408051600181526001600160a01b03838116602083015280851692908616917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb91015b60405180910390a3505050565b8261088b81611616565b60005b8281101561093d57846001600160a01b031663fa6e0cfe8585848181106108b7576108b7611de0565b90506020020160208101906108cc9190611dad565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260006024820152604401600060405180830381600087803b15801561091457600080fd5b505af1158015610928573d6000803e3d6000fd5b505050508061093690611df6565b905061088e565b5050505050565b8461094e81611616565b6001600160a01b03851615610a0c576040516311a5465560e21b81526001600160a01b038681166004830152871690634695195490602401600060405180830381600087803b1580156109a057600080fd5b505af11580156109b4573d6000803e3d6000fd5b50505050846001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156109f357600080fd5b505af1158015610a07573d6000803e3d6000fd5b505050505b60005b83811015610b3057866001600160a01b03166306cecba8868684818110610a3857610a38611de0565b9050602002016020810190610a4d9190611dad565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015610a8e57600080fd5b505af1158015610aa2573d6000803e3d6000fd5b50505050848482818110610ab857610ab8611de0565b9050602002016020810190610acd9190611dad565b6001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b0757600080fd5b505af1158015610b1b573d6000803e3d6000fd5b5050505080610b2990611df6565b9050610a0f565b506001600160a01b0382161561072d576040516354fbc49360e01b81526001600160a01b0383811660048301528716906354fbc49390602401600060405180830381600087803b158015610b8357600080fd5b505af1158015610b97573d6000803e3d6000fd5b50505050816001600160a01b0316639903ad386040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610bd657600080fd5b505af1925050508015610be7575060015b1561072d57505050505050565b81610bfe81611616565b604051631ca0c40360e21b81526001600160a01b038381166004830152841690637283100c906024015b600060405180830381600087803b158015610c4257600080fd5b505af1158015610c56573d6000803e3d6000fd5b50505050505050565b6000806000610c8f85857fe420d96e81cb4a6b2abb2366c4f93312d4e2ae878a7d4b22e73472fdad891f78610e6a565b63ffffffff602082901c811697911695509350505050565b6001600160a01b038616610cbd57610cbd611dca565b6002546001600160a01b031615610cd657610cd6611dca565b600280546001600160a01b0319166001600160a01b038816908117909155610d0090600087610804565b610d0d8660008686610505565b60005b81811015610c5657600254610d51906001600160a01b03166000858585818110610d3c57610d3c611de0565b905060200201602081019061047b9190611dad565b610d5a81611df6565b9050610d10565b610d6c838383611522565b505050565b610d79611795565b610d8360006117ef565b565b610d91848484846116e0565b50505050565b610da583836107b78461183f565b60408051600181526001600160a01b038381166020830152600092820192909252818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d2790606001610874565b610e2383837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc48461146f565b6040805160018152602081018390526001600160a01b0380851692908616917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a539101610874565b6001600160a01b03808416600090815260016020908152604080832093861683529281528282208483529052908120805460ff16610ecf57506001600160a01b0384166000908152600160209081526040808320838052825280832085845290915290205b60010154949350505050565b84610ee581611616565b838214610ef457610ef4611dca565b60005b84811015610c5657866001600160a01b031663fa6e0cfe878784818110610f2057610f20611de0565b9050602002016020810190610f359190611dad565b868685818110610f4757610f47611de0565b9050602002016020810190610f5c9190611dad565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b158015610fa457600080fd5b505af1158015610fb8573d6000803e3d6000fd5b5050505080610fc690611df6565b9050610ef7565b60006106b383837feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4610e6a565b600061100b8360006103b98561164d565b6001149392505050565b803b6000819003611039576040516380dddd7360e01b815260040160405180910390fd5b506110508260006110498461164d565b600161146f565b806001600160a01b0316826001600160a01b03167f8bfde939e79b7e6c603d67aa576e5b75a3f370334b14a9b0e5e263190034d31d600160405161064a911515815260200190565b6110c382827feae305fa863b373417e615b1044222e2806cefc7788d169ce6748a443c3f6cc4611522565b60408051600080825260208201526001600160a01b0380841692908516917fc055c4a3853372c08a98805545379133f00f7261d956b9197729d67f37a82a53910161064a565b600061111583836115e3565b905061112384600083611522565b826001600160a01b0316846001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc846000604051611169929190611e63565b60405180910390a350505050565b61118583836110498461183f565b6040805160018082526001600160a01b03848116602084015292820152818416918516907f168da2dec91b2e06e30d49955479383e76f71ba185807a8a5b75e2ed563e1d2790606001610874565b846111dd81611616565b8382146111ec576111ec611dca565b60005b84811015610c5657866001600160a01b0316630c56507587878481811061121857611218611de0565b905060200201602081019061122d9190611dad565b86868581811061123f5761123f611de0565b90506020020160208101906112549190611dad565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087803b15801561129c57600080fd5b505af11580156112b0573d6000803e3d6000fd5b50505050806112be90611df6565b90506111ef565b816112cf81611616565b6040516315a024e160e01b81526001600160a01b0383811660048301528416906315a024e190602401610c28565b600061130984846115e3565b9050611318856000838561146f565b836001600160a01b0316856001600160a01b03167fa22916b55c84301b9ba61d6494b1860339c075b3518e6db6f496bdf2a13d6ffc85856040516105c3929190611e63565b61138882827f9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09611522565b60408051600080825260208201526001600160a01b0380841692908516917f14e12f219a4f9023456dc7832e10119ab768b8ccefc8cb79bc6de0419781eeeb910161064a565b60006113de84846103b98561183f565b600114949350505050565b6113f1611795565b6001600160a01b03811661145b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b611464816117ef565b50565b610d91848484845b8361147981611616565b60408051848152600160208201529081018390526001600160a01b0380861691908716907f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e3909060600160405180910390a350604080518082018252600180825260208083019485526001600160a01b039788166000908152828252848120979098168852958652828720948752939094529093209151825460ff19169015151782559151910155565b8261152c81611616565b826001600160a01b0316846001600160a01b03167f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e39084600080604051611585939291909283529015156020830152604082015260600190565b60405180910390a350604080518082018252600080825260208083018281526001600160a01b03978816835260018083528584209790981683529581528382209482529390935291209051815460ff19169015151781559051910155565b600082826040516020016115f8929190611e85565b60405160208183030381529060405280519060200120905092915050565b6002546001600160a01b0382811691161461163357611633611dca565b6000546001600160a01b0316331461146457611464611dca565b6040805160208101829052603960608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e666163746f72790000000000000060a08201526001600160a01b0383169181019190915260009060c0015b604051602081830303815290604052805190602001209050919050565b836116ea81611616565b60408051848152600160208201526001600160a01b03848116828401529151868316928816917f33afe19ae6902b933890ff48190fabdc4cf7f5ab499be9c4d9d98e3b4562e390919081900360600190a35060408051808201825260018082526001600160a01b03938416602080840191825297851660009081528289528481209790951685529587528284209484529390955290209251835460ff19169015151783559051910155565b6000546001600160a01b03163314610d835760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611452565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805160208101829052603260608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527132173a393ab9ba32b22337b93bb0b93232b960711b60a08201526001600160a01b0383169181019190915260009060c0016116c3565b6001600160a01b038116811461146457600080fd5b600080600080608085870312156118d957600080fd5b84356118e4816118ae565b935060208501356118f4816118ae565b93969395505050506040820135916060013590565b6000806040838503121561191c57600080fd5b8235611927816118ae565b91506020830135611937816118ae565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261196957600080fd5b813567ffffffffffffffff8082111561198457611984611942565b604051601f8301601f19908116603f011681019082821181831017156119ac576119ac611942565b816040528381528660208588010111156119c557600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156119fa57600080fd5b8335611a05816118ae565b92506020840135611a15816118ae565b9150604084013567ffffffffffffffff811115611a3157600080fd5b611a3d86828701611958565b9150509250925092565b60008083601f840112611a5957600080fd5b50813567ffffffffffffffff811115611a7157600080fd5b6020830191508360208260051b8501011115611a8c57600080fd5b9250929050565b600080600080600060608688031215611aab57600080fd5b8535611ab6816118ae565b9450602086013567ffffffffffffffff80821115611ad357600080fd5b611adf89838a01611a47565b90965094506040880135915080821115611af857600080fd5b50611b0588828901611a47565b969995985093965092949392505050565b600080600060608486031215611b2b57600080fd5b8335611b36816118ae565b92506020840135611b46816118ae565b91506040840135611b56816118ae565b809150509250925092565b600080600060408486031215611b7657600080fd5b8335611b81816118ae565b9250602084013567ffffffffffffffff811115611b9d57600080fd5b611ba986828701611a47565b9497909650939450505050565b600080600080600060808688031215611bce57600080fd5b8535611bd9816118ae565b94506020860135611be9816118ae565b9350604086013567ffffffffffffffff811115611c0557600080fd5b611c1188828901611a47565b9094509250506060860135611c25816118ae565b809150509295509295909350565b60008060008060008060a08789031215611c4c57600080fd5b8635611c57816118ae565b95506020870135611c67816118ae565b94506040870135935060608701359250608087013567ffffffffffffffff811115611c9157600080fd5b611c9d89828a01611a47565b979a9699509497509295939492505050565b600080600060608486031215611cc457600080fd5b8335611ccf816118ae565b92506020840135611cdf816118ae565b929592945050506040919091013590565b60008060008060808587031215611d0657600080fd5b8435611d11816118ae565b93506020850135611d21816118ae565b9250604085013591506060850135611d38816118ae565b939692955090935050565b60008060008060808587031215611d5957600080fd5b8435611d64816118ae565b93506020850135611d74816118ae565b9250604085013567ffffffffffffffff811115611d9057600080fd5b611d9c87828801611958565b949793965093946060013593505050565b600060208284031215611dbf57600080fd5b81356106b3816118ae565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060018201611e1657634e487b7160e01b600052601160045260246000fd5b5060010190565b6000815180845260005b81811015611e4357602081850181015186830182015201611e27565b506000602082860101526020601f19601f83011685010191505092915050565b604081526000611e766040830185611e1d565b90508260208301529392505050565b60608152604160608201527f6f72672e7375706572666c7569642d66696e616e63652e7375706572666c756960808201527f642e61707057686974654c697374696e672e726567697374726174696f6e4b6560a0820152607960f81b60c082015260018060a01b038316602082015260e060408201526000611f0a60e0830184611e1d565b94935050505056fea2646970667358221220d2b753b9c57fdf4d3b36f2012a3e8f74ce2ba229b0a7d876667cf98b23a5300364736f6c63430008130033",C_=eb=>eb.length>1;class CE extends u9.lV{constructor(...eb){C_(eb)?super(...eb):super(Ck,CT,eb[0])}deploy(eb){return super.deploy(eb||{})}getDeployTransaction(eb){return super.getDeployTransaction(eb||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(Ck)}static connect(eb,em){return new u9.CH(eb,Ck,em)}}CE.bytecode=CT,CE.abi=Ck;let CA=[{inputs:[{internalType:"address",name:"_additionalAdmin",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"string",name:"name",type:"string"},{indexed:!1,internalType:"address",name:"target",type:"address"}],name:"Set",type:"event"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"_additionalAdmin",type:"address"}],name:"addAdmin",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"}],name:"get",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"uint256",name:"index",type:"uint256"}],name:"getRoleMember",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleMemberCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"address",name:"target",type:"address"}],name:"set",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"}],CN="0x60806040523480156200001157600080fd5b5060405162000ed838038062000ed88339810160408190526200003491620001a2565b6200004160003362000055565b6200004e60008262000055565b50620001d4565b62000061828262000065565b5050565b62000071828262000090565b60008281526001602052604090206200008b908262000130565b505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1662000061576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620000ec3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600062000147836001600160a01b03841662000150565b90505b92915050565b600081815260018301602052604081205462000199575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200014a565b5060006200014a565b600060208284031215620001b557600080fd5b81516001600160a01b0381168114620001cd57600080fd5b9392505050565b610cf480620001e46000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80639010d07c116100715780639010d07c1461017857806391d148541461018b578063a217fddf1461019e578063a815ff15146101a6578063ca15c873146101b9578063d547741f146101cc57600080fd5b806301ffc9a7146100b9578063248a9ca3146100e15780632f2ff15d1461011257806336568abe14610127578063693ec85e1461013a5780637048027514610165575b600080fd5b6100cc6100c736600461098f565b6101df565b60405190151581526020015b60405180910390f35b6101046100ef3660046109b9565b60009081526020819052604090206001015490565b6040519081526020016100d8565b6101256101203660046109ee565b61020a565b005b6101256101353660046109ee565b610234565b61014d610148366004610a63565b6102b7565b6040516001600160a01b0390911681526020016100d8565b610125610173366004610aa5565b6102ec565b61014d610186366004610ac0565b6102fa565b6100cc6101993660046109ee565b610319565b610104600081565b6101256101b4366004610ae2565b610342565b6101046101c73660046109b9565b61042a565b6101256101da3660046109ee565b610441565b60006001600160e01b03198216635a05180f60e01b1480610204575061020482610466565b92915050565b6000828152602081905260409020600101546102258161049b565b61022f83836104a5565b505050565b6001600160a01b03811633146102a95760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6102b382826104c7565b5050565b6000600283836040516102cb929190610b36565b908152604051908190036020019020546001600160a01b0316905092915050565b6102f76000826104e9565b50565b600082815260016020526040812061031290836104f3565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b61034d600033610319565b6103925760405162461bcd60e51b815260206004820152601660248201527521b0b63632b91034b9903737ba1030b71030b236b4b760511b60448201526064016102a0565b80600284846040516103a5929190610b36565b90815260405190819003602001812080546001600160a01b03939093166001600160a01b0319909316929092179091556103e29084908490610b36565b6040519081900381206001600160a01b0383168252907f496595ced95720268cf8bc60bae3f35024ff2a130f73ac4e20f5c1eaca35db999060200160405180910390a2505050565b6000818152600160205260408120610204906104ff565b60008281526020819052604090206001015461045c8161049b565b61022f83836104c7565b60006001600160e01b03198216637965db0b60e01b148061020457506301ffc9a760e01b6001600160e01b0319831614610204565b6102f78133610509565b6104af8282610562565b600082815260016020526040902061022f90826105e6565b6104d182826105fb565b600082815260016020526040902061022f9082610660565b6102b382826104a5565b60006103128383610675565b6000610204825490565b6105138282610319565b6102b3576105208161069f565b61052b8360206106b1565b60405160200161053c929190610b6a565b60408051601f198184030181529082905262461bcd60e51b82526102a091600401610bdf565b61056c8282610319565b6102b3576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556105a23390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610312836001600160a01b03841661084d565b6106058282610319565b156102b3576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610312836001600160a01b03841661089c565b600082600001828154811061068c5761068c610c12565b9060005260206000200154905092915050565b60606102046001600160a01b03831660145b606060006106c0836002610c3e565b6106cb906002610c55565b67ffffffffffffffff8111156106e3576106e3610c68565b6040519080825280601f01601f19166020018201604052801561070d576020820181803683370190505b509050600360fc1b8160008151811061072857610728610c12565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061075757610757610c12565b60200101906001600160f81b031916908160001a905350600061077b846002610c3e565b610786906001610c55565b90505b60018111156107fe576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106107ba576107ba610c12565b1a60f81b8282815181106107d0576107d0610c12565b60200101906001600160f81b031916908160001a90535060049490941c936107f781610c7e565b9050610789565b5083156103125760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016102a0565b600081815260018301602052604081205461089457508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610204565b506000610204565b600081815260018301602052604081205480156109855760006108c0600183610c95565b85549091506000906108d490600190610c95565b90508181146109395760008660000182815481106108f4576108f4610c12565b906000526020600020015490508087600001848154811061091757610917610c12565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061094a5761094a610ca8565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610204565b6000915050610204565b6000602082840312156109a157600080fd5b81356001600160e01b03198116811461031257600080fd5b6000602082840312156109cb57600080fd5b5035919050565b80356001600160a01b03811681146109e957600080fd5b919050565b60008060408385031215610a0157600080fd5b82359150610a11602084016109d2565b90509250929050565b60008083601f840112610a2c57600080fd5b50813567ffffffffffffffff811115610a4457600080fd5b602083019150836020828501011115610a5c57600080fd5b9250929050565b60008060208385031215610a7657600080fd5b823567ffffffffffffffff811115610a8d57600080fd5b610a9985828601610a1a565b90969095509350505050565b600060208284031215610ab757600080fd5b610312826109d2565b60008060408385031215610ad357600080fd5b50508035926020909101359150565b600080600060408486031215610af757600080fd5b833567ffffffffffffffff811115610b0e57600080fd5b610b1a86828701610a1a565b9094509250610b2d9050602085016109d2565b90509250925092565b8183823760009101908152919050565b60005b83811015610b61578181015183820152602001610b49565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351610ba2816017850160208801610b46565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351610bd3816028840160208801610b46565b01602801949350505050565b6020815260008251806020840152610bfe816040850160208701610b46565b601f01601f19169190910160400192915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761020457610204610c28565b8082018082111561020457610204610c28565b634e487b7160e01b600052604160045260246000fd5b600081610c8d57610c8d610c28565b506000190190565b8181038181111561020457610204610c28565b634e487b7160e01b600052603160045260246000fdfea264697066735822122005c3fe88a1dada6d749cec73ee34d5992d254d743011de18cd43aa6eb870709b64736f6c63430008130033",CI=eb=>eb.length>1;class CD extends u9.lV{constructor(...eb){CI(eb)?super(...eb):super(CA,CN,eb[0])}deploy(eb,em){return super.deploy(eb,em||{})}getDeployTransaction(eb,em){return super.getDeployTransaction(eb,em||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(CA)}static connect(eb,em){return new u9.CH(eb,CA,em)}}CD.bytecode=CN,CD.abi=CA;let CO=[{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"uint8",name:"initDecimals",type:"uint8"},{internalType:"uint256",name:"mintLimit",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"InvalidShortString",type:"error"},{inputs:[{internalType:"string",name:"str",type:"string"}],name:"StringTooLong",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"subtractedValue",type:"uint256"}],name:"decreaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"addedValue",type:"uint256"}],name:"increaseAllowance",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"mint",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",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:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",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:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"}],CP="0x6101806040523480156200001257600080fd5b50604051620017753803806200177583398101604081905262000035916200029f565b6040805180820190915260018152603160f81b60208201528490819081866003620000618382620003b9565b506004620000708282620003b9565b5062000082915083905060056200014d565b61012052620000938160066200014d565b61014052815160208084019190912060e052815190820120610100524660a0526200012160e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506009805460ff191660ff93909316929092179091556101605250620004df9050565b60006020835110156200016d57620001658362000186565b905062000180565b816200017a8482620003b9565b5060ff90505b92915050565b600080829050601f81511115620001bd578260405163305a27a960e01b8152600401620001b4919062000485565b60405180910390fd5b8051620001ca82620004ba565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101562000205578181015183820152602001620001eb565b50506000910152565b600082601f8301126200022057600080fd5b81516001600160401b03808211156200023d576200023d620001d2565b604051601f8301601f19908116603f01168101908282118183101715620002685762000268620001d2565b816040528381528660208588010111156200028257600080fd5b62000295846020830160208901620001e8565b9695505050505050565b60008060008060808587031215620002b657600080fd5b84516001600160401b0380821115620002ce57600080fd5b620002dc888389016200020e565b95506020870151915080821115620002f357600080fd5b5062000302878288016200020e565b935050604085015160ff811681146200031a57600080fd5b6060959095015193969295505050565b600181811c908216806200033f57607f821691505b6020821081036200036057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003b457600081815260208120601f850160051c810160208610156200038f5750805b601f850160051c820191505b81811015620003b0578281556001016200039b565b5050505b505050565b81516001600160401b03811115620003d557620003d5620001d2565b620003ed81620003e684546200032a565b8462000366565b602080601f8311600181146200042557600084156200040c5750858301515b600019600386901b1c1916600185901b178555620003b0565b600085815260208120601f198616915b82811015620004565788860151825594840194600190910190840162000435565b5085821015620004755787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251806020840152620004a6816040850160208701620001e8565b601f01601f19169190910160400192915050565b80516020808301519190811015620003605760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051611230620005456000396000610360015260006103f8015260006103cd01526000610a9001526000610a68015260006109c3015260006109ed01526000610a1701526112306000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d71461020d578063a9059cbb14610220578063d505accf14610233578063dd62ed3e1461024857600080fd5b806370a08231146101ae5780637ecebe00146101d757806384b0196e146101ea57806395d89b411461020557600080fd5b8063313ce567116100d3578063313ce5671461016b5780633644e51514610180578063395093511461018857806340c10f191461019b57600080fd5b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014657806323b872dd14610158575b600080fd5b61010d61025b565b60405161011a9190610f86565b60405180910390f35b610136610131366004610fbc565b6102ed565b604051901515815260200161011a565b6002545b60405190815260200161011a565b610136610166366004610fe6565b610307565b60095460405160ff909116815260200161011a565b61014a61032b565b610136610196366004610fbc565b61033a565b6101366101a9366004610fbc565b61035c565b61014a6101bc366004611022565b6001600160a01b031660009081526020819052604090205490565b61014a6101e5366004611022565b6103a1565b6101f26103bf565b60405161011a979695949392919061103d565b61010d610448565b61013661021b366004610fbc565b610457565b61013661022e366004610fbc565b6104d7565b6102466102413660046110d3565b6104e5565b005b61014a610256366004611146565b610649565b60606003805461026a90611179565b80601f016020809104026020016040519081016040528092919081815260200182805461029690611179565b80156102e35780601f106102b8576101008083540402835291602001916102e3565b820191906000526020600020905b8154815290600101906020018083116102c657829003601f168201915b5050505050905090565b6000336102fb818585610674565b60019150505b92915050565b600033610315858285610798565b610320858585610812565b506001949350505050565b60006103356109b6565b905090565b6000336102fb81858561034d8383610649565b61035791906111ad565b610674565b60007f000000000000000000000000000000000000000000000000000000000000000082111561038e5761038e6111ce565b6103988383610ae1565b50600192915050565b6001600160a01b038116600090815260076020526040812054610301565b6000606080828080836103f37f00000000000000000000000000000000000000000000000000000000000000006005610ba0565b61041e7f00000000000000000000000000000000000000000000000000000000000000006006610ba0565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606004805461026a90611179565b600033816104658286610649565b9050838110156104ca5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6103208286868403610674565b6000336102fb818585610812565b834211156105355760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016104c1565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886105648c610c4b565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006105bf82610c73565b905060006105cf82878787610ca0565b9050896001600160a01b0316816001600160a01b0316146106325760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016104c1565b61063d8a8a8a610674565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166106d65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104c1565b6001600160a01b0382166107375760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104c1565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006107a48484610649565b9050600019811461080c57818110156107ff5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016104c1565b61080c8484848403610674565b50505050565b6001600160a01b0383166108765760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104c1565b6001600160a01b0382166108d85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104c1565b6001600160a01b038316600090815260208190526040902054818110156109505760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104c1565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361080c565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610a0f57507f000000000000000000000000000000000000000000000000000000000000000046145b15610a3957507f000000000000000000000000000000000000000000000000000000000000000090565b610335604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b6001600160a01b038216610b375760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016104c1565b8060026000828254610b4991906111ad565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b606060ff8314610bba57610bb383610cc8565b9050610301565b818054610bc690611179565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf290611179565b8015610c3f5780601f10610c1457610100808354040283529160200191610c3f565b820191906000526020600020905b815481529060010190602001808311610c2257829003601f168201915b50505050509050610301565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b6000610301610c806109b6565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000610cb187878787610d07565b91509150610cbe81610dcb565b5095945050505050565b60606000610cd583610f18565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115610d3e5750600090506003610dc2565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610d92573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610dbb57600060019250925050610dc2565b9150600090505b94509492505050565b6000816004811115610ddf57610ddf6111e4565b03610de75750565b6001816004811115610dfb57610dfb6111e4565b03610e485760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016104c1565b6002816004811115610e5c57610e5c6111e4565b03610ea95760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016104c1565b6003816004811115610ebd57610ebd6111e4565b03610f155760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016104c1565b50565b600060ff8216601f81111561030157604051632cd44ac360e21b815260040160405180910390fd5b6000815180845260005b81811015610f6657602081850181015186830182015201610f4a565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610f996020830184610f40565b9392505050565b80356001600160a01b0381168114610fb757600080fd5b919050565b60008060408385031215610fcf57600080fd5b610fd883610fa0565b946020939093013593505050565b600080600060608486031215610ffb57600080fd5b61100484610fa0565b925061101260208501610fa0565b9150604084013590509250925092565b60006020828403121561103457600080fd5b610f9982610fa0565b60ff60f81b881681526000602060e08184015261105d60e084018a610f40565b838103604085015261106f818a610f40565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156110c1578351835292840192918401916001016110a5565b50909c9b505050505050505050505050565b600080600080600080600060e0888a0312156110ee57600080fd5b6110f788610fa0565b965061110560208901610fa0565b95506040880135945060608801359350608088013560ff8116811461112957600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561115957600080fd5b61116283610fa0565b915061117060208401610fa0565b90509250929050565b600181811c9082168061118d57607f821691505b602082108103610c6d57634e487b7160e01b600052602260045260246000fd5b8082018082111561030157634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052602160045260246000fdfea2646970667358221220757e5b1920d7f0835d86f2af560376d44474286d147e091682ffbf32f91271ff64736f6c63430008130033",CR=eb=>eb.length>1;class CB extends u9.lV{constructor(...eb){CR(eb)?super(...eb):super(CO,CP,eb[0])}deploy(eb,em,ew,eM,eC){return super.deploy(eb,em,ew,eM,eC||{})}getDeployTransaction(eb,em,ew,eM,eC){return super.getDeployTransaction(eb,em,ew,eM,eC||{})}attach(eb){return super.attach(eb)}connect(eb){return super.connect(eb)}static createInterface(){return new pE.vU(CO)}static connect(eb,em){return new u9.CH(eb,CO,em)}}CB.bytecode=CP,CB.abi=CO;var CF=ew(19485),Cj=[{name:"eth-goerli",isTestnet:!0,networkId:5,chainId:5,sfId:101,shortName:"goerli",uppercaseName:"ETH_GOERLI",humanReadableName:"Goerli",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0x5943f705abb6834cad767e6e4bb258bc48d9c947",contractsV1:{resolver:"0x3710AB3fDE2B61736B8BB0CE845D6c61F667a78E",host:"0x22ff293e14F1EC3A09B137e9e06084AFd63adDF9",governance:"0x3a648764a6d66440ca096343937c711a7ac1b1e9",cfaV1:"0xEd6BcbF6907D4feEEe8a8875543249bEa9D308E8",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0xfDdcdac21D64B639546f3Ce2868C7EF06036990c",gdaV1:"0x3dB8Abd8B696F6c4150212A85961f954825Dd4B9",superTokenFactory:"0x94f26B4c8AD12B18c12f38E878618f7664bdcCE2",constantOutflowNFT:"0xB18cbFeA12b5CB2626C74c94920dB1B37Ae91506",constantInflowNFT:"0xF07df8b66ed80399B1E00981D61aD34EB4293032",superfluidLoader:"0x74d860243Ff08A243d5485899f343117EbDa6eA8",toga:"0xa54FC15FC75693447d70a57262F37a70B614721b",flowScheduler:"0xf428308b426D7cD7Ad8eBE549d750f31C8E060Ca",vestingScheduler:"0xF9240F930d847F70ad900aBEE8949F25649Bf24a",autowrap:{manager:"0x0B82D14E9616ca4d260E77454834AdCf5887595F",wrapStrategy:"0xea49af829d3e28d3ec49e0e0a0ba1e7860a56f60"},existentialNFTCloneFactory:"0x3e5e8449477F80a3Dc0bA394882AeAB300c7F807"},startBlockV1:355e4,logsQueryRange:1e4,explorer:"https://goerli.etherscan.io",subgraphV1:{name:"protocol-v1-goerli",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-goerli"},subgraphVesting:{name:"vesting-v1-eth-goerli",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/vesting-v1-eth-goerli"},subgraphFlowScheduler:{name:"scheduling-v1-eth-goerli",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/scheduling-v1-eth-goerli"},subgraphAutoWrap:{name:"auto-wrap-v1-eth-goerli",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/auto-wrap-v1-eth-goerli"},publicRPCs:["https://rpc.ankr.com/eth_goerli","https://goerli.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161"],trustedForwarders:["0xE041608922d06a4F26C0d4c27d8bCD01daf1f792","0xb539068872230f20456CF38EC52EF2f91AF4AE49","0xd8253782c45a12053594b9deB72d8e8aB2Fca54c"]},{name:"polygon-mumbai",isTestnet:!0,networkId:80001,chainId:80001,sfId:102,shortName:"mumbai",uppercaseName:"POLYGON_MUMBAI",humanReadableName:"Polygon Mumbai",nativeTokenSymbol:"MATIC",nativeTokenWrapper:"0x96B82B65ACF7072eFEb00502F45757F254c2a0D4",contractsV1:{resolver:"0x8C54C83FbDe3C59e59dd6E324531FB93d4F504d3",host:"0xEB796bdb90fFA0f28255275e16936D25d3418603",cfaV1:"0x49e565Ed1bdc17F3d220f72DF0857C26FA83F873",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x804348D4960a61f2d5F9ce9103027A3E849E09b8",gdaV1:"0x63ab406B6eF6c8be732c1edbd15464de16a8F46D",superTokenFactory:"0xB798553db6EB3D3C56912378409370145E97324B",constantOutflowNFT:"0x502CC982947216C0f94e433BC78c413806301C07",constantInflowNFT:"0x9906A7e948C642B6bc74b9A5EAfCddB3580b44e0",superfluidLoader:"0x0d56ED56b63382B0FC964490feB9AE438B6B4b79",toga:"0x38DD80876DBA048d0050D28828522c313967D073",superSpreader:"0x74CDF863b00789c29734F8dFd9F83423Bc55E4cE",flowScheduler:"0x59A3Ba9d34c387FB70b4f4e4Fbc9eD7519194139",vestingScheduler:"0x3962EE56c9f7176215D149938BA685F91aBB633B",autowrap:{manager:"0x3eAB3c6207F488E475b7955B631B564F0E6317B9",wrapStrategy:"0x544728AFDBeEafBeC9e1329031788edb53017bC4"},existentialNFTCloneFactory:"0xfC4E49AfcDDDcc2B90794DC214cc324d17B15619"},startBlockV1:81e5,logsQueryRange:1e4,explorer:"https://mumbai.polygonscan.com",subgraphV1:{name:"protocol-v1-mumbai",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-mumbai"},subgraphVesting:{name:"vesting-v1-polygon-mumbai",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/vesting-v1-polygon-mumbai"},subgraphFlowScheduler:{name:"scheduling-v1-polygon-mumbai",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/scheduling-v1-polygon-mumbai"},subgraphAutoWrap:{name:"auto-wrap-v1-polygon-mumbai",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/auto-wrap-v1-polygon-mumbai"},publicRPCs:["https://rpc.ankr.com/polygon_mumbai","https://matic-mumbai.chainstacklabs.com"],trustedForwarders:["0x9399bb24dbb5c4b782c70c2969f58716ebbd6a3b","0x69015912AA33720b842dCD6aC059Ed623F28d9f7","0xb539068872230f20456CF38EC52EF2f91AF4AE49","0xd8253782c45a12053594b9deB72d8e8aB2Fca54c"]},{name:"optimism-goerli",isTestnet:!0,networkId:420,chainId:420,sfId:103,shortName:"opgoerli",uppercaseName:"OPTIMISM_GOERLI",humanReadableName:"Optimism Goerli",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0xE01F8743677Da897F4e7De9073b57Bf034FC2433",contractsV1:{resolver:"0x21d4E9fbB9DB742E6ef4f29d189a7C18B0b59136",host:"0xE40983C2476032A0915600b9472B3141aA5B5Ba9",cfaV1:"0xff48668fa670A85e55A7a822b352d5ccF3E7b18C",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x96215257F2FcbB00135578f766c0449d239bd92F",gdaV1:"0xe87F46A15C410F151309Bf7516e130087Fc6a5E5",superTokenFactory:"0xfafe31cf998Df4e5D8310B03EBa8fb5bF327Eaf5",constantOutflowNFT:"0xDF874BA132D8C68FEb5De513790f7612Fe20dDbd",constantInflowNFT:"0xf88dd7208438Fdc5Ad05857eA701b7b51cdae0a9",superfluidLoader:"0x5Bb5908dcCC9Bb0fC39a78CfDf9e47B4C08E9521",existentialNFTCloneFactory:"0xFCb633f4ff90241391aD92E4678eC2a11a94a990"},startBlockV1:34e4,logsQueryRange:5e4,explorer:"https://goerli-optimism.etherscan.io",subgraphV1:{name:"protocol-v1-optimism-goerli",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-optimism-goerli"},publicRPCs:["https://goerli.optimism.io","https://opt-goerli.g.alchemy.com/v2/demo"],trustedForwarders:["0x9C73373C70F23920EA54F7883dCB1F85b162Df40","0xb539068872230f20456CF38EC52EF2f91AF4AE49","0xd8253782c45a12053594b9deB72d8e8aB2Fca54c"]},{name:"arbitrum-goerli",isTestnet:!0,networkId:421613,chainId:421613,sfId:104,shortName:"arbgoerli",uppercaseName:"ARBITRUM_GOERLI",humanReadableName:"Arbitrum Goerli",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0xE01F8743677Da897F4e7De9073b57Bf034FC2433",contractsV1:{resolver:"0x21d4E9fbB9DB742E6ef4f29d189a7C18B0b59136",host:"0xE40983C2476032A0915600b9472B3141aA5B5Ba9",cfaV1:"0xff48668fa670A85e55A7a822b352d5ccF3E7b18C",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x96215257F2FcbB00135578f766c0449d239bd92F",gdaV1:"0xe87F46A15C410F151309Bf7516e130087Fc6a5E5",superTokenFactory:"0xfafe31cf998Df4e5D8310B03EBa8fb5bF327Eaf5",constantOutflowNFT:"0xDF874BA132D8C68FEb5De513790f7612Fe20dDbd",constantInflowNFT:"0xf88dd7208438Fdc5Ad05857eA701b7b51cdae0a9",superfluidLoader:"0x5Bb5908dcCC9Bb0fC39a78CfDf9e47B4C08E9521",existentialNFTCloneFactory:"0x22f391AB6755F0A8986AFD543289C43701beaCAa"},startBlockV1:93e3,logsQueryRange:5e4,explorer:"https://goerli.arbiscan.io",subgraphV1:{name:"protocol-v1-arbitrum-goerli",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-arbitrum-goerli"},publicRPCs:["https://goerli-rollup.arbitrum.io/rpc","https://arb-goerli.g.alchemy.com/v2/demo"],trustedForwarders:["0xb539068872230f20456CF38EC52EF2f91AF4AE49","0xd8253782c45a12053594b9deB72d8e8aB2Fca54c"]},{name:"avalanche-fuji",isTestnet:!0,networkId:43113,chainId:43113,sfId:105,shortName:"fuji",uppercaseName:"AVALANCHE_FUJI",humanReadableName:"Avalanche Fuji",nativeTokenSymbol:"AVAX",nativeTokenWrapper:"0xfFD0f6d73ee52c68BF1b01C8AfA2529C97ca17F3",contractsV1:{resolver:"0xf0ec6A8842Ca72Aec8A4D4573E731242389e18A8",host:"0x85Fe79b998509B77BF10A8BD4001D58475D29386",cfaV1:"0x16843ac25Ccc58Aa7960ba05f61cBB17b36b130A",cfaV1Forwarder:"0x2CDd45c5182602a36d391F7F16DD9f8386C3bD8D",idaV1:"0xA44dEC7A0Dde1a56AeDe4143C1ef89cf5d956782",gdaV1:"0x51f571D934C59185f13d17301a36c07A2268B814",superTokenFactory:"0x1C92042426B6bAAe497bEf461B6d8342D03aEc92",constantOutflowNFT:"0x49583f57EFeBe733EC872c5d5437116085a3eE3c",constantInflowNFT:"0x67d0Efab10b390206b356BA7FB453Ab56AAB7480",superfluidLoader:"0x96C3C2d23d143301cF363a02cB7fe3596d2834d7",autowrap:{manager:"0x30aE282CF477E2eF28B14d0125aCEAd57Fe1d7a1",wrapStrategy:"0x1D65c6d3AD39d454Ea8F682c49aE7744706eA96d"},existentialNFTCloneFactory:"0xF76529ddEE7AA7890323eCa40C212758DD93B888"},startBlockV1:322e4,logsQueryRange:5e4,explorer:"https://testnet.snowtrace.io",subgraphV1:{name:"protocol-v1-avalanche-fuji",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-avalanche-fuji"},publicRPCs:["https://api.avax-test.network/ext/bc/C/rpc","https://avalanche-fuji-c-chain.publicnode.com"],trustedForwarders:["0x6271Ca63D30507f2Dcbf99B52787032506D75BBF","0xb539068872230f20456CF38EC52EF2f91AF4AE49","0xd8253782c45a12053594b9deB72d8e8aB2Fca54c"]},{name:"eth-sepolia",isTestnet:!0,networkId:11155111,chainId:11155111,sfId:106,shortName:"sepolia",uppercaseName:"ETH_SEPOLIA",humanReadableName:"Sepolia",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0x30a6933Ca9230361972E413a15dC8114c952414e",contractsV1:{resolver:"0x6813edE4E78ecb830d380d0F7F684c12aAc95F02",host:"0x109412E3C84f0539b43d39dB691B08c90f58dC7c",cfaV1:"0x6836F23d6171D74Ef62FcF776655aBcD2bcd62Ef",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x9358C7dCCc6B8CA6F526311e8ac266F8C861B7ea",superTokenFactory:"0x254C2e152E8602839D288A7bccdf3d0974597193",constantOutflowNFT:"0xfBE332e001D6b54e1F4B63c2343B8E7746d99Ece",constantInflowNFT:"0xC95346B7394009ccEfaA62Eca28797804B2bCF1C",superfluidLoader:"0x554c06487bEc8c890A0345eb05a5292C1b1017Bd",existentialNFTCloneFactory:"0x0D1F0d4629B722b4dFabd195c14F12f2095418d9"},startBlockV1:3322400,logsQueryRange:1e4,explorer:"https://sepolia.etherscan.io",subgraphV1:{name:"protocol-v1-eth-sepolia",satsumaEndpoint:"https://subgraph.satsuma-prod.com/c5br3jaVlJI6/superfluid/eth-sepolia/api"},publicRPCs:["https://rpc.sepolia.org","https://ethereum-sepolia.blockpi.network/v1/rpc/public"]},{name:"base-goerli",isTestnet:!0,networkId:84531,chainId:84531,sfId:107,shortName:"bgoerli",uppercaseName:"BASE_GOERLI",humanReadableName:"Base Goerli",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0x7fFCE315B2014546bA461d54eDed7AAc70DF4f53",contractsV1:{resolver:"0x598D5dB9902cbBd6e8Ee9CDb3A231377cdA2f018",host:"0x507c3a7C6Ccc253884A2e3a3ee2A211cC7E796a6",cfaV1:"0x4C476F2Fb27272680F2f6f2592E94d9e704691bC",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0xaa4FCc799B8857FA87b2945Dc6572D5d76b35485",superTokenFactory:"0x1015BE31D7711D95d2c3444708FB53cC851ba856",constantOutflowNFT:"0x4E89088Cd14064f38E5B2F309cFaB9C864F9a8e6",constantInflowNFT:"0xda6db863cb2EE39b196edB8159c38A1ed5c55344",superfluidLoader:"0x15F0Ca26781C3852f8166eD2ebce5D18265cceb7",existentialNFTCloneFactory:"0x42B332F56BCD15F0D7cd523E5eC26Cd0734621eD"},startBlockV1:5249500,logsQueryRange:1e4,explorer:"https://goerli.basescan.org/",subgraphV1:{name:"protocol-v1-base-goerli"},publicRPCs:["https://goerli.base.org","https://base-goerli.public.blastapi.io"],trustedForwarders:["0xb539068872230f20456CF38EC52EF2f91AF4AE49","0xd8253782c45a12053594b9deB72d8e8aB2Fca54c"]},{name:"polygon-zkevm-testnet",isTestnet:!0,networkId:1442,chainId:1442,sfId:108,shortName:"pzkevmtest",uppercaseName:"POLYGON_ZKEVM_TESTNET",humanReadableName:"Polygon zkEVM Testnet",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0x6345Aa6cec42a85160CF436810F97661e28c1876",contractsV1:{resolver:"0x642332562BC60a4Bd9681E7bb1588f7456A497aC",host:"0xe64f81d5dDdA1c7172e5C6d964E8ef1BD82D8704",cfaV1:"0x1EAa5ceA064aab2692AF257FB31f5291fdA3Cdee",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0xBf22019a4A4430bA67D3B0c8B4d5Edc48F913301",superTokenFactory:"0x0F3B163623F05b2BfF42956f7C7bd31456bd83a2",constantOutflowNFT:"0xDBD6f113E46A99D7BF95edfa47390c0c8127E922",constantInflowNFT:"0xcb05535bd212eCFC4B7b9db81d6C2C768b726776",superfluidLoader:"0xda6db863cb2EE39b196edB8159c38A1ed5c55344",existentialNFTCloneFactory:"0x70bbB7a057A13070dF11d533e8f299357D778637"},startBlockV1:726e3,logsQueryRange:2e4,explorer:"https://testnet-zkevm.polygonscan.org/",subgraphV1:{name:"protocol-v1-polygon-zkevm-testnet"},publicRPCs:["https://rpc.public.zkevm-test.net"],trustedForwarders:["0xb539068872230f20456CF38EC52EF2f91AF4AE49","0xd8253782c45a12053594b9deB72d8e8aB2Fca54c"]},{name:"xdai-mainnet",isTestnet:!1,networkId:100,chainId:100,sfId:1,shortName:"xdai",uppercaseName:"XDAI_MAINNET",humanReadableName:"Gnosis Chain",nativeTokenSymbol:"xDAI",nativeTokenWrapper:"0x59988e47A3503AaFaA0368b9deF095c818Fdca01",contractsV1:{resolver:"0xD2009765189164b495c110D61e4D301729079911",host:"0x2dFe937cD98Ab92e59cF3139138f18c823a4efE7",governance:"0xaCc7380323681fdb8a0B9F2FE7d69dDFf0664478",cfaV1:"0xEbdA4ceF883A7B12c4E669Ebc58927FBa8447C7D",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x7888ac96F987Eb10E291F34851ae0266eF912081",superTokenFactory:"0x23410e2659380784498509698ed70E414D384880",constantOutflowNFT:"0xfC00dEE8a980110c5608A823a5B3af3872635456",constantInflowNFT:"0x1497440B4E92DC4ca0F76223b28C20Cb9cB8a0f1",superfluidLoader:"0x21d4E9fbB9DB742E6ef4f29d189a7C18B0b59136",toga:"0xb7DE52F4281a7a276E18C40F94cd93159C4A2d22",batchLiquidator:"0x27636F8E129cdd4ccA0F30E2b4C116DDaC773bE5",superSpreader:"0x74CDF863b00789c29734F8dFd9F83423Bc55E4cE",flowScheduler:"0x9cC7fc484fF588926149577e9330fA5b2cA74336",vestingScheduler:"0x0170FFCC75d178d426EBad5b1a31451d00Ddbd0D",wrapManager:"0x7a2899D179a8F205C8EDAd2e52954cA5f6d48D1A",autowrap:{manager:"0x8082e58681350876aFe8f52d3Bf8672034A03Db0",wrapStrategy:"0x51FBAbD31A615E14b1bC12E9d887f60997264a4E"},existentialNFTCloneFactory:"0xCd67c5bC1dfA3FF7d86b5ABc62A65C912Cbd2DA7"},startBlockV1:1482e4,logsQueryRange:2e4,explorer:"https://gnosisscan.io",subgraphV1:{name:"protocol-v1-xdai",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-xdai",satsumaEndpoint:"https://subgraph.satsuma-prod.com/c5br3jaVlJI6/superfluid/xdai/api"},subgraphVesting:{name:"vesting-v1-xdai-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/vesting-v1-xdai-mainnet"},subgraphFlowScheduler:{name:"scheduling-v1-xdai-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/scheduling-v1-xdai-mainnet"},subgraphAutoWrap:{name:"auto-wrap-v1-xdai-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/auto-wrap-v1-xdai-mainnet"},publicRPCs:["https://rpc.gnosischain.com","https://gnosischain-rpc.gateway.pokt.network"],coinGeckoId:"xdai"},{name:"polygon-mainnet",isTestnet:!1,networkId:137,chainId:137,sfId:2,shortName:"matic",uppercaseName:"POLYGON_MAINNET",humanReadableName:"Polygon",nativeTokenSymbol:"MATIC",nativeTokenWrapper:"0x3aD736904E9e65189c3000c7DD2c8AC8bB7cD4e3",contractsV1:{resolver:"0xE0cc76334405EE8b39213E620587d815967af39C",host:"0x3E14dC1b13c488a8d5D310918780c983bD5982E7",governance:"0x3AD3f7A0965Ce6f9358AD5CCE86Bc2b05F1EE087",cfaV1:"0x6EeE6060f715257b970700bc2656De21dEdF074C",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0xB0aABBA4B2783A72C52956CDEF62d438ecA2d7a1",superTokenFactory:"0x2C90719f25B10Fc5646c82DA3240C76Fa5BcCF34",constantOutflowNFT:"0x554e2bbaCF43FD87417b7201A9F1649a3ED89d68",constantInflowNFT:"0x55909bB8cd8276887Aae35118d60b19755201c68",superfluidLoader:"0x15F0Ca26781C3852f8166eD2ebce5D18265cceb7",toga:"0x6AEAeE5Fd4D05A741723D752D30EE4D72690A8f7",batchLiquidator:"0xA6Cdb472e7E22Bf30ae6fB752E4a13eBF3c12165",flowScheduler:"0x55F7758dd99d5e185f4CC08d4Ad95B71f598264D",vestingScheduler:"0xcFE6382B33F2AdaFbE46e6A26A88E0182ae32b0c",autowrap:{manager:"0x2581c27E7f6D6AF452E63fCe884EDE3EDd716b32",wrapStrategy:"0xb4afa36BAd8c76976Dc77a21c9Ad711EF720eE4b"},existentialNFTCloneFactory:"0x497aa106Da00BFa8f8BC266EF0793131930Fa630"},startBlockV1:11650500,logsQueryRange:1e4,explorer:"https://polygonscan.com",subgraphV1:{name:"protocol-v1-matic",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-matic",satsumaEndpoint:"https://subgraph.satsuma-prod.com/c5br3jaVlJI6/superfluid/matic/api"},subgraphVesting:{name:"vesting-v1-polygon-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/vesting-v1-polygon-mainnet"},subgraphFlowScheduler:{name:"scheduling-v1-polygon-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/scheduling-v1-polygon-mainnet"},subgraphAutoWrap:{name:"auto-wrap-v1-polygon-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/auto-wrap-v1-polygon-mainnet"},publicRPCs:["https://polygon-rpc.com","https://poly-rpc.gateway.pokt.network"],coinGeckoId:"polygon-pos"},{name:"optimism-mainnet",isTestnet:!1,networkId:10,chainId:10,sfId:3,shortName:"optimism",uppercaseName:"OPTIMISM_MAINNET",humanReadableName:"Optimism",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0x4ac8bD1bDaE47beeF2D1c6Aa62229509b962Aa0d",contractsV1:{resolver:"0x743B5f46BC86caF41bE4956d9275721E0531B186",host:"0x567c4B141ED61923967cA25Ef4906C8781069a10",governance:"0x0170FFCC75d178d426EBad5b1a31451d00Ddbd0D",cfaV1:"0x204C6f131bb7F258b2Ea1593f5309911d8E458eD",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0xc4ce5118C3B20950ee288f086cb7FC166d222D4c",superTokenFactory:"0x8276469A443D5C6B7146BED45e2abCaD3B6adad9",constantOutflowNFT:"0xFb2b126660BE2fdEBa254b1F6e4348644E8482e7",constantInflowNFT:"0x0C6D90a98426bfD572a5c5Be572a7f6Bd1C5ED76",superfluidLoader:"0x8E310ce29Ab7Fa2878944A65BB0eaF97B1853d40",toga:"0xA3c8502187fD7a7118eAD59dc811281448946C8f",batchLiquidator:"0x36Df169DBf5CE3c6f58D46f0addeF58F01381232",flowScheduler:"0x55c8fc400833eEa791087cF343Ff2409A39DeBcC",vestingScheduler:"0x65377d4dfE9c01639A41952B5083D58964782892",autowrap:{manager:"0x1fA76f2Cd0C3fe6c399A80111408d9C42C0CAC23",wrapStrategy:"0x0Cf060a501c0040e9CCC708eFE94079F501c6Bb4"},existentialNFTCloneFactory:"0xCb0Ff4D0cA186f0Fc0301258066Fe3fA258417a6"},startBlockV1:43e5,logsQueryRange:5e4,explorer:"https://optimistic.etherscan.io",subgraphV1:{name:"protocol-v1-optimism-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-optimism-mainnet"},subgraphVesting:{name:"vesting-v1-optimism-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/vesting-v1-optimism-mainnet"},subgraphFlowScheduler:{name:"scheduling-v1-optimism-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/scheduling-v1-optimism-mainnet"},subgraphAutoWrap:{name:"auto-wrap-v1-optimism-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/auto-wrap-v1-optimism-mainnet"},publicRPCs:["https://mainnet.optimism.io","https://rpc.ankr.com/optimism"],coinGeckoId:"optimistic-ethereum"},{name:"arbitrum-one",isTestnet:!1,networkId:42161,chainId:42161,sfId:4,shortName:"arbone",uppercaseName:"ARBITRUM_ONE",humanReadableName:"Arbitrum One",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0xe6C8d111337D0052b9D88BF5d7D55B7f8385ACd3",contractsV1:{resolver:"0x609b9d9d6Ee9C3200745A79B9d3398DBd63d509F",host:"0xCf8Acb4eF033efF16E8080aed4c7D5B9285D2192",governance:"0x0170FFCC75d178d426EBad5b1a31451d00Ddbd0D",cfaV1:"0x731FdBB12944973B500518aea61942381d7e240D",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x2319C7e07EB063340D2a0E36709B0D65fda75986",superTokenFactory:"0x1C21Ead77fd45C84a4c916Db7A6635D0C6FF09D6",constantOutflowNFT:"0x051e766e2d8dc65ae2bFCF084A50AD0447634227",constantInflowNFT:"0x0043d7c85C8b96a49A72A92C0B48CdC4720437d7",superfluidLoader:"0xB99cA401e10D277345BcFb281AC148a2e16Db466",toga:"0xFC63B7C762B10670Eda15cF3ca3970bCDB28C9eF",batchLiquidator:"0x6C66e5c5D201A753ff497F2e9eC5D545631854d0",flowScheduler:"0x3fA8B653F9abf91428800C0ba0F8D145a71F97A1",vestingScheduler:"0x55c8fc400833eEa791087cF343Ff2409A39DeBcC",autowrap:{manager:"0xf01825eAFAe5CD1Dab5593EFAF218efC8968D272",wrapStrategy:"0x342076aA957B0ec8bC1d3893af719b288eA31e61"},existentialNFTCloneFactory:"0xF353978890204756fc5fa6dfbD16a91eac9E6f4d"},startBlockV1:76e5,logsQueryRange:5e4,explorer:"https://arbiscan.io",subgraphV1:{name:"protocol-v1-arbitrum-one",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-arbitrum-one"},subgraphVesting:{name:"vesting-v1-arbitrum-one",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/vesting-v1-arbitrum-one"},subgraphFlowScheduler:{name:"scheduling-v1-arbitrum-one",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/scheduling-v1-arbitrum-one"},subgraphAutoWrap:{name:"auto-wrap-v1-arbitrum-one",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/auto-wrap-v1-arbitrum-one"},publicRPCs:["https://arb1.arbitrum.io/rpc","https://arbitrum.blockpi.network/v1/rpc/public"],coinGeckoId:"arbitrum-one"},{name:"avalanche-c",isTestnet:!1,networkId:43114,chainId:43114,sfId:5,shortName:"avalanche",uppercaseName:"AVALANCHE_C",humanReadableName:"Avalanche C",nativeTokenSymbol:"AVAX",nativeTokenWrapper:"0xBE916845D8678b5d2F7aD79525A62D7c08ABba7e",contractsV1:{resolver:"0x24a3F04F70B7f07B9673EadD3e146391BcfEa5c1",host:"0x60377C7016E4cdB03C87EF474896C11cB560752C",governance:"0xF74390BabA510ec2fE196c2e02B037380d7a6F12",cfaV1:"0x6946c5B38Ffea373b0a2340b4AEf0De8F6782e58",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x1fA9fFe8Db73F701454B195151Db4Abb18423cf2",superTokenFactory:"0x464AADdBB2B80f3Cb666522EB7381bE610F638b4",constantOutflowNFT:"0x4247bA6C3658Fa5C0F523BAcea8D0b97aF1a175e",constantInflowNFT:"0x82b9D8A91A5b333b5A6e78439551ea0E7da153E3",superfluidLoader:"0x2601E69a2D16C8Ccc8aEe8cE9F59d24a59986B9E",toga:"0x3D9A67D5ec1E72CEcA8157e028855056786b6159",batchLiquidator:"0xdddaD64A9Fe7709A729C4a5428617e369278e0b6",flowScheduler:"0xF7AfF590E9DE493D7ACb421Fca7f1E35C1ad4Ce5",vestingScheduler:"0x3fA8B653F9abf91428800C0ba0F8D145a71F97A1",autowrap:{manager:"0x8082e58681350876aFe8f52d3Bf8672034A03Db0",wrapStrategy:"0x51FBAbD31A615E14b1bC12E9d887f60997264a4E"},existentialNFTCloneFactory:"0x94aE5f52E401A5766b0877d2f030cFb9C3792BD7"},startBlockV1:147e5,logsQueryRange:5e4,explorer:"https://snowtrace.io",subgraphV1:{name:"protocol-v1-avalanche-c",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-avalanche-c"},subgraphVesting:{name:"vesting-v1-avalanche-c",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/vesting-v1-avalanche-c"},subgraphFlowScheduler:{name:"scheduling-v1-avalanche-c",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/scheduling-v1-avalanche-c"},subgraphAutoWrap:{name:"auto-wrap-v1-avalanche-c",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/auto-wrap-v1-avalanche-c"},publicRPCs:["https://api.avax.network/ext/bc/C/rpc","https://rpc.ankr.com/avalanche"],coinGeckoId:"avalanche"},{name:"bsc-mainnet",isTestnet:!1,networkId:56,chainId:56,sfId:5,shortName:"bsc",uppercaseName:"BSC_MAINNET",humanReadableName:"BNB Smart Chain",nativeTokenSymbol:"BNB",nativeTokenWrapper:"0x529A4116F160c833c61311569D6B33dFF41fD657",contractsV1:{resolver:"0x69604aA4e9e8BF44A73C680997205Edb03A92E41",host:"0xd1e2cFb6441680002Eb7A44223160aB9B67d7E6E",governance:"0xee07D9fce4Cf2a891BC979E9d365929506C2982f",cfaV1:"0x49c38108870e74Cb9420C0991a85D3edd6363F75",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x594ed9Cd773584B645aC1F5B11020d3b32cDF07d",superTokenFactory:"0x8bde47397301F0Cd31b9000032fD517a39c946Eb",constantOutflowNFT:"0xcb05535bd212eCFC4B7b9db81d6C2C768b726776",constantInflowNFT:"0xbF7BCcE8D60A9C3F6bFaEc9346Aa85B9f781a4e9",superfluidLoader:"0x3C26e5bEbc68EaAf4efcd88F8E5A6Aeb77b65579",toga:"0xFCD84210f5d51Cd40a30443d44d6A5500d5D10dF",batchLiquidator:"0x5487d078CA8933e83d91d5E7AFBe3A7bfC3412d6",flowScheduler:"0x2f9e2A2A59405682d4F86779275CF5525AD7eC2B",vestingScheduler:"0x9B91c27f78376383003C6A12Ad12B341d016C5b9",autowrap:{manager:"0x2AcdD61ac1EFFe1535109449c31889bdE8d7f325",wrapStrategy:"0x9e308cb079ae130790F604b1030cDf386670f199"},existentialNFTCloneFactory:"0xe9F27eb8cdAaA0B01a4034e109496C3026b01bd9"},startBlockV1:188e5,logsQueryRange:5e3,explorer:"https://bscscan.com",subgraphV1:{name:"protocol-v1-bsc-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-bsc-mainnet"},subgraphVesting:{name:"vesting-v1-bsc-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/vesting-v1-bsc-mainnet"},subgraphFlowScheduler:{name:"scheduling-v1-bsc-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/scheduling-v1-bsc-mainnet"},subgraphAutoWrap:{name:"auto-wrap-v1-bsc-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/auto-wrap-v1-bsc-mainnet"},publicRPCs:["https://bscrpc.com","https://bsc-dataseed.binance.org"],coinGeckoId:"binance-smart-chain"},{name:"eth-mainnet",isTestnet:!1,networkId:1,chainId:1,sfId:6,shortName:"mainnet",uppercaseName:"ETH_MAINNET",humanReadableName:"Ethereum",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0xC22BeA0Be9872d8B7B3933CEc70Ece4D53A900da",contractsV1:{resolver:"0xeE4cD028f5fdaAdeA99f8fc38e8bA8A57c90Be53",host:"0x4E583d9390082B65Bef884b629DFA426114CED6d",governance:"0xe2E14e2C4518cB06c32Cd0818B4C01f53E1Ba653",cfaV1:"0x2844c1BBdA121E9E43105630b9C8310e5c72744b",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0xbCF9cfA8Da20B591790dF27DE65C1254Bf91563d",superTokenFactory:"0x0422689cc4087b6B7280e0a7e7F655200ec86Ae1",superfluidLoader:"0x9775EEBdfF8AE845e7Ad3d1D04B85e6c6d284aCB",toga:"0x8B5a2CF69a56d7F8Fa027edcA23594cdDF544dDc",batchLiquidator:"0x554c06487bEc8c890A0345eb05a5292C1b1017Bd",flowScheduler:"0xAA0cD305eD020137E302CeCede7b18c0A05aCCDA",vestingScheduler:"0x39D5cBBa9adEBc25085a3918d36D5325546C001B",autowrap:{manager:"0x30aE282CF477E2eF28B14d0125aCEAd57Fe1d7a1",wrapStrategy:"0x1D65c6d3AD39d454Ea8F682c49aE7744706eA96d"}},startBlockV1:1587e4,logsQueryRange:1e4,explorer:"https://etherscan.io",subgraphV1:{name:"protocol-v1-eth-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-eth-mainnet",satsumaEndpoint:"https://subgraph.satsuma-prod.com/c5br3jaVlJI6/superfluid/eth-mainnet/api"},subgraphVesting:{name:"vesting-v1-eth-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/vesting-v1-eth-mainnet"},subgraphFlowScheduler:{name:"scheduling-v1-eth-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/scheduling-v1-eth-mainnet"},subgraphAutoWrap:{name:"auto-wrap-v1-eth-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/auto-wrap-v1-eth-mainnet"},publicRPCs:["https://cloudflare-eth.com","https://eth-rpc.gateway.pokt.network"],coinGeckoId:"ethereum"},{name:"celo-mainnet",isTestnet:!1,networkId:42220,chainId:42220,sfId:7,shortName:"celo",uppercaseName:"CELO_MAINNET",humanReadableName:"Celo",nativeTokenSymbol:"CELO",nativeTokenWrapper:"0x671425Ae1f272Bc6F79beC3ed5C4b00e9c628240",contractsV1:{resolver:"0x05eE721BD4D803d6d477Aa7607395452B65373FF",host:"0xA4Ff07cF81C02CFD356184879D953970cA957585",governance:"0x0170FFCC75d178d426EBad5b1a31451d00Ddbd0D",cfaV1:"0x9d369e78e1a682cE0F8d9aD849BeA4FE1c3bD3Ad",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x26747Fe93fAC8bF28E1e24A558a2bC7E4d9846cA",superTokenFactory:"0x36be86dEe6BC726Ed0Cbd170ccD2F21760BC73D9",constantOutflowNFT:"0xbe49ac1EadAc65dccf204D4Df81d650B50122aB2",constantInflowNFT:"0x0FB7694c990CF19001127391Dbe53924dd7a61c7",superfluidLoader:"0xAd6e6849d8eEa62AF9271808afb726610fB451a6",toga:"0x9bCa3a623e7b2e248510d88B2894F54898d88F91",batchLiquidator:"0x21d4E9fbB9DB742E6ef4f29d189a7C18B0b59136",existentialNFTCloneFactory:"0x051e766e2d8dc65ae2bFCF084A50AD0447634227"},startBlockV1:16393e3,logsQueryRange:2e4,explorer:"https://celoscan.io",subgraphV1:{name:"protocol-v1-celo-mainnet",hostedEndpoint:"https://api.thegraph.com/subgraphs/name/superfluid-finance/protocol-v1-celo-mainnet"},publicRPCs:["https://forno.celo.org","https://rpc.ankr.com/celo"],coinGeckoId:"celo"},{name:"base-mainnet",isTestnet:!1,networkId:8453,chainId:8453,sfId:8,shortName:"base",uppercaseName:"BASE_MAINNET",humanReadableName:"Base",nativeTokenSymbol:"ETH",nativeTokenWrapper:"0x46fd5cfB4c12D87acD3a13e92BAa53240C661D93",contractsV1:{resolver:"0x6a214c324553F96F04eFBDd66908685525Da0E0d",host:"0x4C073B3baB6d8826b8C5b229f3cfdC1eC6E47E74",governance:"0x55F7758dd99d5e185f4CC08d4Ad95B71f598264D",cfaV1:"0x19ba78B9cDB05A877718841c574325fdB53601bb",cfaV1Forwarder:"0xcfA132E353cB4E398080B9700609bb008eceB125",idaV1:"0x66DF3f8e14CF870361378d8F61356D15d9F425C4",superTokenFactory:"0xe20B9a38E0c96F61d1bA6b42a61512D56Fea1Eb3",constantOutflowNFT:"0xD3C78bb5a16Ea4ab584844eeb8F90Ac710c16355",constantInflowNFT:"0x2d51962A9EE4D3C2819EF585eab7412c2a2C31Ac",superfluidLoader:"0x6B24A6F34ab96267Fef9F8AC9fe6CC104C228127",toga:"0xA87F76e99f6C8Ff8996d14f550ceF47f193D9A09",batchLiquidator:"0x889ebeCaD5F8C34Fd96023456d0fC5cE54eb74Cb",existentialNFTCloneFactory:"0x642332562BC60a4Bd9681E7bb1588f7456A497aC"},startBlockV1:1e6,logsQueryRange:2e4,explorer:"https://basescan.org",subgraphV1:{name:"protocol-v1-base-mainnet"},publicRPCs:["https://developer-access-mainnet.base.org"],coinGeckoId:"base"}],CU={networks:Cj,mainnets:Cj.filter(eb=>!eb.isTestnet),testnets:Cj.filter(eb=>eb.isTestnet),getNetworkByChainId:function(eb){return this.networks.filter(em=>em.chainId===eb)[0]},getNetworkByName:function(eb){return this.networks.filter(em=>em.name===eb)[0]},getNetworkByShortName:function(eb){return this.networks.filter(em=>em.shortName===eb)[0]}},CV={S:"v1"};let CH=CU.networks.map(eb=>eb.chainId),C$=1,Cq=2,CW=4,CZ=globalThis.process&&globalThis.process.env.SUBGRAPH_RELEASE_TAG||CV.S,CK=eb=>{let em=CU.networks.find(em=>em.chainId===eb);if(!em)return null;let ew=null!=em.subgraphV1.hostedEndpoint?em.subgraphV1.hostedEndpoint:null!=em.subgraphV1.satsumaEndpoint?em.subgraphV1.satsumaEndpoint:"",eM=CZ?ew.replace("v1",CZ):ew;return{subgraphAPIEndpoint:eM,networkName:em.name,nativeTokenSymbol:em.nativeTokenSymbol,addresses:em.contractsV1}},CG=new Map(CU.networks.map(eb=>[eb.chainId,CK(eb.chainId)])),CY=new Map(CU.networks.map(eb=>[eb.name,eb.chainId])),CJ="0x",CX=eb=>{if(!eb)return"";if(!1===CF.UJ(eb))throw new pC({type:"INVALID_ADDRESS",message:"The address you have entered is not a valid ethereum address"});return eb.toLowerCase()},CQ=eb=>(eb&~(C$|Cq|CW))==0,C1=eb=>null==eb||""===eb,C2=eb=>CJ.concat(eb.slice(10)),C6=(eb,em,ew)=>{let eM=new pE.vU(eb),eC=eM.parseTransaction({data:em,value:ew});return eC},C4=()=>Math.floor(new Date().getTime()/1e3),C3=eb=>new Date(1e3*Number(eb.toString())),C5=eb=>!!eb.getNetwork,C8=eb=>!!eb.currentProvider,C9=eb=>eb;async function C7(eb,em){try{return await eb}catch{return em}}class xb{constructor(eb,em,ew){this.exec=async(eb,em=1.2)=>{let ew=await this.getPopulatedTransactionRequest(eb,em);return await eb.sendTransaction(ew)},this.getPopulatedTransactionRequest=async(eb,em=1.2)=>{let ew=this.forwarderPopulatedPromise?await this.forwarderPopulatedPromise:await this.populateTransactionPromise;if(!ew.gasLimit){let eM=await eb.estimateGas(ew);ew.gasLimit=p_(eM,em)}return ew},this.getSignedTransaction=async(eb,em=1.2)=>{let ew=await this.getPopulatedTransactionRequest(eb,em),eM=await eb.populateTransaction(ew),eC=await eb.signTransaction(eM);return eC},this.getTransactionHash=async eb=>{let em=await this.getSignedTransaction(eb);return u7.w(em)},this.toOperationStruct=async eb=>{let em=xv.get(this.type),ew=await this.populateTransactionPromise;if(!em)throw new pC({type:"UNSUPPORTED_OPERATION",message:"The operation at index "+eb+" is unsupported."});if(!ew.to||!ew.data)throw new pC({type:"MISSING_TRANSACTION_PROPERTIES",message:"The transaction is missing the to or data property."});let eM=pb.$;if("SUPERFLUID_CALL_AGREEMENT"===this.type){let eb=xz(wY.abi,ew.data),eC=eM.encode(["bytes","bytes"],[eb.callData,eb.userData]);return{operationType:em,target:eb.agreementClass,data:eC}}if("CALL_APP_ACTION"===this.type){let eb=xz(wY.abi,ew.data);return{operationType:em,target:eb.app,data:eb.callData}}return{operationType:em,target:ew.to,data:C2(ew.data)}},this.populateTransactionPromise=eb,this.type=em,this.forwarderPopulatedPromise=ew}}class xy{constructor(eb){this.callAgreement=(eb,em,ew,eM)=>{let eC=this.contract.populateTransaction.callAgreement(eb,em,ew||"0x",eM||{});return new xb(eC,"SUPERFLUID_CALL_AGREEMENT")},this.callAppAction=(eb,em,ew)=>{let eM=this.contract.populateTransaction.callAppAction(eb,em,ew||{});return new xb(eM,"CALL_APP_ACTION")},this.contract=new u9.CH(eb,wY.abi)}}let xv=new Map([["ERC20_APPROVE",1],["ERC20_TRANSFER_FROM",2],["ERC777_SEND",3],["ERC20_INCREASE_ALLOWANCE",4],["ERC20_DECREASE_ALLOWANCE",5],["SUPERTOKEN_UPGRADE",101],["SUPERTOKEN_DOWNGRADE",102],["SUPERFLUID_CALL_AGREEMENT",201],["CALL_APP_ACTION",202]]),xz=(eb,em)=>C6(eb,em).args;class xw{constructor(eb){this.getCallDataFunctionArgs=xz,this.getOperationStruct=async(eb,em)=>eb.toOperationStruct(em),this.exec=async(eb,em=1.2)=>{let ew=await this.toOperation();return await ew.exec(eb,em)},this.execForward=async eb=>{if(0===this.getOperationStructArrayPromises.length)throw new pC({type:"BATCH_CALL_ERROR",message:"There are no operations to execute in the batch."});let em=await Promise.all(this.getOperationStructArrayPromises);return await this.host.contract.connect(eb).forwardBatchCall(em)},this.options=eb,this.host=new xy(eb.hostAddress)}get getOperationStructArrayPromises(){return this.options.operations.map((eb,em)=>this.getOperationStruct(eb,em))}async toOperation(){if(0===this.getOperationStructArrayPromises.length)throw new pC({type:"BATCH_CALL_ERROR",message:"There are no operations to execute in the batch."});let eb=await Promise.all(this.getOperationStructArrayPromises),em=this.host.contract.populateTransaction.batchCall(eb);return new xb(em,"UNSUPPORTED")}}let xC=hH.createInterface();class xk{constructor(eb,em,ew){this.getFlow=async eb=>{let em=CX(eb.superToken),ew=CX(eb.sender),eM=CX(eb.receiver);try{let eC=await this.contract.connect(eb.providerOrSigner).getFlow(em,ew,eM);return this._sanitizeFlowInfo(eC)}catch(eb){throw new pC({type:"CFAV1_READ",message:"There was an error getting the flow",cause:eb})}},this.getAccountFlowInfo=async eb=>{let em=CX(eb.superToken),ew=CX(eb.account);try{let eM=await this.contract.connect(eb.providerOrSigner).getAccountFlowInfo(em,ew);return this._sanitizeFlowInfo(eM)}catch(eb){throw new pC({type:"CFAV1_READ",message:"There was an error getting the account flow information",cause:eb})}},this.getNetFlow=async eb=>{let em=CX(eb.superToken),ew=CX(eb.account);try{return(await this.contract.connect(eb.providerOrSigner).getNetFlow(em,ew)).toString()}catch(eb){throw new pC({type:"CFAV1_READ",message:"There was an error getting net flow",cause:eb})}},this.getFlowOperatorData=async eb=>{let em=CX(eb.superToken),ew=CX(eb.sender),eM=CX(eb.flowOperator);try{let eC=await this.contract.connect(eb.providerOrSigner).getFlowOperatorData(em,ew,eM);return this._sanitizeFlowOperatorData(eC)}catch(eb){throw new pC({type:"CFAV1_READ",message:"There was an error getting flow operator data",cause:eb})}},this.getFlowOperatorDataByID=async eb=>{let em=CX(eb.superToken);try{let ew=await this.contract.connect(eb.providerOrSigner).getFlowOperatorDataByID(em,eb.flowOperatorId);return this._sanitizeFlowOperatorData({...ew,flowOperatorId:eb.flowOperatorId})}catch(eb){throw new pC({type:"CFAV1_READ",message:"There was an error getting flow operator data",cause:eb})}},this.createFlow=eb=>{let em=CX(eb.superToken),ew=CX(eb.receiver),eM=CX(eb.sender),eC=xC.encodeFunctionData("createFlow",[em,ew,eb.flowRate,"0x"]),eT=this.host.callAgreement(this.contract.address,eC,eb.userData,eb.overrides),e_=this.forwarder.populateTransaction.createFlow(em,eM,ew,eb.flowRate,eb.userData||"0x",eb.overrides||{});return this._getCallAgreementOperation(eT,e_,eb.shouldUseCallAgreement||""===eM)},this.updateFlow=eb=>{let em=CX(eb.superToken),ew=CX(eb.receiver),eM=CX(eb.sender),eC=xC.encodeFunctionData("updateFlow",[em,ew,eb.flowRate,"0x"]),eT=this.host.callAgreement(this.contract.address,eC,eb.userData,eb.overrides),e_=this.forwarder.populateTransaction.updateFlow(em,eM,ew,eb.flowRate,eb.userData||"0x",eb.overrides||{});return this._getCallAgreementOperation(eT,e_,eb.shouldUseCallAgreement||""===eM)},this.deleteFlow=eb=>{let em=CX(eb.superToken),ew=CX(eb.sender),eM=CX(eb.receiver),eC=xC.encodeFunctionData("deleteFlow",[em,ew,eM,"0x"]),eT=this.host.callAgreement(this.contract.address,eC,eb.userData,eb.overrides),e_=this.forwarder.populateTransaction.deleteFlow(em,ew,eM,eb.userData||"0x",eb.overrides||{});return this._getCallAgreementOperation(eT,e_,eb.shouldUseCallAgreement||""===ew)},this.createFlowByOperator=eb=>{let em=CX(eb.superToken),ew=CX(eb.receiver),eM=CX(eb.sender),eC=xC.encodeFunctionData("createFlowByOperator",[em,eM,ew,eb.flowRate,"0x"]),eT=this.host.callAgreement(this.contract.address,eC,eb.userData,eb.overrides),e_=this.createFlow(eb);return this._getCallAgreementOperation(eT,e_.forwarderPopulatedPromise,eb.shouldUseCallAgreement||""===eM)},this.updateFlowByOperator=eb=>{let em=CX(eb.superToken),ew=CX(eb.sender),eM=CX(eb.receiver),eC=xC.encodeFunctionData("updateFlowByOperator",[em,ew,eM,eb.flowRate,"0x"]),eT=this.host.callAgreement(this.contract.address,eC,eb.userData,eb.overrides),e_=this.updateFlow(eb);return this._getCallAgreementOperation(eT,e_.forwarderPopulatedPromise,eb.shouldUseCallAgreement||""===ew)},this.deleteFlowByOperator=eb=>{let em=CX(eb.superToken),ew=CX(eb.sender),eM=CX(eb.receiver),eC=xC.encodeFunctionData("deleteFlowByOperator",[em,ew,eM,"0x"]),eT=this.host.callAgreement(this.contract.address,eC,eb.userData,eb.overrides),e_=this.deleteFlow(eb);return this._getCallAgreementOperation(eT,e_.forwarderPopulatedPromise,eb.shouldUseCallAgreement||""===ew)},this._getCallAgreementOperation=(eb,em,ew)=>ew?eb:new xb(eb.populateTransactionPromise,eb.type,em),this._sanitizeFlowInfo=eb=>({timestamp:C3(eb.timestamp),flowRate:eb.flowRate.toString(),deposit:eb.deposit.toString(),owedDeposit:eb.owedDeposit.toString()}),this._sanitizeFlowOperatorData=eb=>({flowOperatorId:eb.flowOperatorId,permissions:eb.permissions.toString(),flowRateAllowance:eb.flowRateAllowance.toString()}),this.host=new xy(eb),this.contract=new u9.CH(em,hH.abi),this.forwarder=new u9.CH(ew,MZ.abi)}increaseFlowRateAllowance(eb){let em=CX(eb.superToken),ew=CX(eb.flowOperator),eM=xC.encodeFunctionData("increaseFlowRateAllowance",[em,ew,eb.flowRateAllowanceDelta,"0x"]);return this.host.callAgreement(this.contract.address,eM,eb.userData,eb.overrides)}decreaseFlowRateAllowance(eb){let em=CX(eb.superToken),ew=CX(eb.flowOperator),eM=xC.encodeFunctionData("decreaseFlowRateAllowance",[em,ew,eb.flowRateAllowanceDelta,"0x"]);return this.host.callAgreement(this.contract.address,eM,eb.userData,eb.overrides)}increaseFlowRateAllowanceWithPermissions(eb){let em=CX(eb.superToken),ew=CX(eb.flowOperator);if(!CQ(eb.permissionsDelta))throw new pC({type:"UNCLEAN_PERMISSIONS",message:"The desired permissions are unclean"});let eM=xC.encodeFunctionData("increaseFlowRateAllowanceWithPermissions",[em,ew,eb.permissionsDelta,eb.flowRateAllowanceDelta,"0x"]);return this.host.callAgreement(this.contract.address,eM,eb.userData,eb.overrides)}decreaseFlowRateAllowanceWithPermissions(eb){let em=CX(eb.superToken),ew=CX(eb.flowOperator);if(!CQ(eb.permissionsDelta))throw new pC({type:"UNCLEAN_PERMISSIONS",message:"The desired permissions are unclean"});let eM=xC.encodeFunctionData("decreaseFlowRateAllowanceWithPermissions",[em,ew,eb.permissionsDelta,eb.flowRateAllowanceDelta,"0x"]);return this.host.callAgreement(this.contract.address,eM,eb.userData,eb.overrides)}updateFlowOperatorPermissions(eb){let em=CX(eb.superToken),ew=CX(eb.flowOperator);if(!CQ(eb.permissions))throw new pC({type:"UNCLEAN_PERMISSIONS",message:"The desired permissions are unclean"});if(0>Number(eb.flowRateAllowance))throw new pC({type:"NEGATIVE_FLOW_ALLOWANCE",message:"No negative flow allowance allowed"});let eM=xC.encodeFunctionData("updateFlowOperatorPermissions",[em,ew,eb.permissions,eb.flowRateAllowance,"0x"]),eC=this.host.callAgreement(this.contract.address,eM,eb.userData,eb.overrides),eT=this.forwarder.populateTransaction.updateFlowOperatorPermissions(em,ew,eb.permissions,eb.flowRateAllowance,eb.overrides||{});return this._getCallAgreementOperation(eC,eT,eb.shouldUseCallAgreement)}authorizeFlowOperatorWithFullControl(eb){let em=CX(eb.superToken),ew=CX(eb.flowOperator),eM=xC.encodeFunctionData("authorizeFlowOperatorWithFullControl",[em,ew,"0x"]),eC=this.host.callAgreement(this.contract.address,eM,eb.userData,eb.overrides),eT=this.forwarder.populateTransaction.grantPermissions(em,ew,eb.overrides||{});return this._getCallAgreementOperation(eC,eT,eb.shouldUseCallAgreement)}revokeFlowOperatorWithFullControl(eb){let em=CX(eb.superToken),ew=CX(eb.flowOperator),eM=xC.encodeFunctionData("revokeFlowOperatorWithFullControl",[em,ew,"0x"]),eC=this.host.callAgreement(this.contract.address,eM,eb.userData,eb.overrides),eT=this.forwarder.populateTransaction.revokePermissions(em,ew,eb.overrides||{});return this._getCallAgreementOperation(eC,eT,eb.shouldUseCallAgreement)}}class xT{constructor(eb){this.allowance=async({owner:eb,spender:em,providerOrSigner:ew})=>{let eM=CX(eb),eC=CX(em);try{let eb=await this.contract.connect(ew).allowance(eM,eC);return eb.toString()}catch(eb){throw new pC({type:"SUPERTOKEN_READ",message:"There was an error getting allowance",cause:eb})}},this.balanceOf=async({account:eb,providerOrSigner:em})=>{try{let ew=CX(eb),eM=await this.contract.connect(em).balanceOf(ew);return eM.toString()}catch(eb){throw new pC({type:"SUPERTOKEN_READ",message:"There was an error getting balanceOf",cause:eb})}},this.name=async({providerOrSigner:eb})=>{try{let em=await this.contract.connect(eb).name();return em}catch(eb){throw new pC({type:"SUPERTOKEN_READ",message:"There was an error getting name",cause:eb})}},this.symbol=async({providerOrSigner:eb})=>{try{let em=await this.contract.connect(eb).symbol();return em}catch(eb){throw new pC({type:"SUPERTOKEN_READ",message:"There was an error getting symbol",cause:eb})}},this.totalSupply=async({providerOrSigner:eb})=>{try{let em=await this.contract.connect(eb).totalSupply();return em.toString()}catch(eb){throw new pC({type:"SUPERTOKEN_READ",message:"There was an error getting totalSupply",cause:eb})}},this.approve=eb=>{let em=CX(eb.receiver),ew=this.contract.populateTransaction.approve(em,eb.amount,eb.overrides||{});return new xb(ew,"ERC20_APPROVE")},this.transfer=eb=>{let em=CX(eb.receiver),ew=this.contract.populateTransaction.transfer(em,eb.amount,eb.overrides||{});return new xb(ew,"UNSUPPORTED")},this.transferFrom=eb=>{let em=CX(eb.sender),ew=CX(eb.receiver),eM=this.contract.populateTransaction.transferFrom(em,ew,eb.amount,eb.overrides||{});return new xb(eM,"ERC20_TRANSFER_FROM")},this.address=eb,this.contract=new u9.CH(eb,pG.abi)}}var x_=ew(9279);class xE{constructor(eb,em){this.getPPPConfig=async({providerOrSigner:eb,token:em=x_.d})=>{let{liquidationPeriod:ew,patricianPeriod:eM}=await this.contract.connect(eb).getPPPConfig(this.hostAddress,em);return{liquidationPeriod:ew.toString(),patricianPeriod:eM.toString()}},this.getRewardAddress=async({providerOrSigner:eb,token:em=x_.d})=>await this.contract.connect(eb).getRewardAddress(this.hostAddress,em),this.getMinimumDeposit=async({providerOrSigner:eb,token:em=x_.d})=>{let ew=await this.contract.connect(eb).getSuperTokenMinimumDeposit(this.hostAddress,em);return ew.toString()},this.getGovernanceParameters=async({providerOrSigner:eb,token:em=x_.d})=>{let ew=this.getPPPConfig({providerOrSigner:eb,token:em}),eM=this.getRewardAddress({providerOrSigner:eb,token:em}),eC=this.getMinimumDeposit({providerOrSigner:eb,token:em}),eT=await Promise.all([ew,eM,eC]);return{liquidationPeriod:eT[0].liquidationPeriod,patricianPeriod:eT[0].patricianPeriod,rewardAddress:eT[1],minimumDeposit:eT[2]}},this.contract=new u9.CH(em,hO.abi),this.hostAddress=eb}}let xS=hq.createInterface();class xA{constructor(eb,em){this.getSubscription=async eb=>{let em=CX(eb.superToken),ew=CX(eb.publisher),eM=CX(eb.subscriber);try{let eC=await this.contract.connect(eb.providerOrSigner).getSubscription(em,ew,eb.indexId,eM);return{exist:eC.exist,approved:eC.approved,units:eC.units.toString(),pendingDistribution:eC.pendingDistribution.toString()}}catch(eb){throw new pC({type:"IDAV1_READ",message:"There was an error getting the subscription",cause:eb})}},this.getIndex=async eb=>{let em=CX(eb.superToken),ew=CX(eb.publisher);try{let eM=await this.contract.connect(eb.providerOrSigner).getIndex(em,ew,eb.indexId);return{exist:eM.exist,indexValue:eM.indexValue.toString(),totalUnitsApproved:eM.totalUnitsApproved.toString(),totalUnitsPending:eM.totalUnitsPending.toString()}}catch(eb){throw new pC({type:"IDAV1_READ",message:"There was an error getting the index",cause:eb})}},this.createIndex=eb=>{let em=CX(eb.superToken),ew=xS.encodeFunctionData("createIndex",[em,eb.indexId,"0x"]);return this.host.callAgreement(this.contract.address,ew,eb.userData,eb.overrides)},this.distribute=eb=>{let em=CX(eb.superToken),ew=xS.encodeFunctionData("distribute",[em,eb.indexId,eb.amount,"0x"]);return this.host.callAgreement(this.contract.address,ew,eb.userData,eb.overrides)},this.updateIndexValue=eb=>{let em=CX(eb.superToken),ew=xS.encodeFunctionData("updateIndex",[em,eb.indexId,eb.indexValue,"0x"]);return this.host.callAgreement(this.contract.address,ew,eb.userData,eb.overrides)},this.updateSubscriptionUnits=eb=>{let em=CX(eb.superToken),ew=CX(eb.subscriber),eM=xS.encodeFunctionData("updateSubscription",[em,eb.indexId,ew,eb.units,"0x"]);return this.host.callAgreement(this.contract.address,eM,eb.userData,eb.overrides)},this.approveSubscription=eb=>{let em=CX(eb.publisher),ew=CX(eb.superToken),eM=xS.encodeFunctionData("approveSubscription",[ew,em,eb.indexId,"0x"]);return this.host.callAgreement(this.contract.address,eM,eb.userData,eb.overrides)},this.revokeSubscription=eb=>{let em=CX(eb.publisher),ew=CX(eb.superToken),eM=xS.encodeFunctionData("revokeSubscription",[ew,em,eb.indexId,"0x"]);return this.host.callAgreement(this.contract.address,eM,eb.userData,eb.overrides)},this.deleteSubscription=eb=>{let em=CX(eb.publisher),ew=CX(eb.superToken),eM=CX(eb.subscriber),eC=xS.encodeFunctionData("deleteSubscription",[ew,em,eb.indexId,eM,"0x"]);return this.host.callAgreement(this.contract.address,eC,eb.userData,eb.overrides)},this.claim=eb=>{let em=CX(eb.publisher),ew=CX(eb.superToken),eM=CX(eb.subscriber),eC=xS.encodeFunctionData("claim",[ew,em,eb.indexId,eM,"0x"]);return this.host.callAgreement(this.contract.address,eC,eb.userData,eb.overrides)},this.host=new xy(eb),this.contract=new u9.CH(em,hq.abi)}}var xN=ew(96486),xI=ew.n(xN);let xD=xO;function xO(eb,{instancePath:em="",parentData:ew,parentDataProperty:eM,rootData:eC=eb}={}){let eT=null,e_=0;if(!eb||"object"!=typeof eb||Array.isArray(eb))return xO.errors=[{instancePath:em,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{let ew=e_;for(let ew in eb)if("isListed"!==ew)return xO.errors=[{instancePath:em,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:ew},message:"must NOT have additional properties"}],!1;if(ew===e_&&void 0!==eb.isListed){let ew=eb.isListed;if("boolean"!=typeof ew&&null!==ew)return xO.errors=[{instancePath:em+"/isListed",schemaPath:"#/properties/isListed/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1}}return xO.errors=eT,0===e_}let xP=xB,xR=/(^(0x)?[0-9a-fA-F]{40}$)?/;function xB(eb,{instancePath:em="",parentData:ew,parentDataProperty:eM,rootData:eC=eb}={}){let eT=null,e_=0;if(!eb||"object"!=typeof eb||Array.isArray(eb))return xB.errors=[{instancePath:em,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{let ew=e_;for(let ew in eb)if(!("account"===ew||"timestamp_gt"===ew))return xB.errors=[{instancePath:em,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:ew},message:"must NOT have additional properties"}],!1;if(ew===e_){if(void 0!==eb.account){let ew=eb.account,eM=e_;if("string"!=typeof ew&&null!==ew)return xB.errors=[{instancePath:em+"/account",schemaPath:"#/properties/account/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(e_===eM&&e_===eM&&"string"==typeof ew&&!xR.test(ew))return xB.errors=[{instancePath:em+"/account",schemaPath:"#/properties/account/format",keyword:"format",params:{format:"addressOrEmpty"},message:'must match format "addressOrEmpty"'}],!1;var eE=eM===e_}else var eE=!0;if(eE){if(void 0!==eb.timestamp_gt){let ew=eb.timestamp_gt,eM=e_;if(!("number"==typeof ew&&isFinite(ew))&&null!==ew)return xB.errors=[{instancePath:em+"/timestamp_gt",schemaPath:"#/properties/timestamp_gt/type",keyword:"type",params:{type:"number"},message:"must be number"}],!1;var eE=eM===e_}else var eE=!0}}}return xB.errors=eT,0===e_}let xF=xU,xj=/\d+/;function xU(eb,{instancePath:em="",parentData:ew,parentDataProperty:eM,rootData:eC=eb}={}){let eT=null,e_=0;if(!eb||"object"!=typeof eb||Array.isArray(eb))return xU.errors=[{instancePath:em,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{let ew=e_;for(let ew in eb)if(!("indexId"===ew||"publisher"===ew||"token"===ew))return xU.errors=[{instancePath:em,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:ew},message:"must NOT have additional properties"}],!1;if(ew===e_){if(void 0!==eb.indexId){let ew=eb.indexId,eM=e_;if("string"!=typeof ew&&null!==ew)return xU.errors=[{instancePath:em+"/indexId",schemaPath:"#/properties/indexId/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(e_===eM&&e_===eM&&"string"==typeof ew&&!xj.test(ew))return xU.errors=[{instancePath:em+"/indexId",schemaPath:"#/properties/indexId/format",keyword:"format",params:{format:"stringInteger"},message:'must match format "stringInteger"'}],!1;var eE=eM===e_}else var eE=!0;if(eE){if(void 0!==eb.publisher){let ew=eb.publisher,eM=e_;if("string"!=typeof ew&&null!==ew)return xU.errors=[{instancePath:em+"/publisher",schemaPath:"#/properties/publisher/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(e_===eM&&e_===eM&&"string"==typeof ew&&!xR.test(ew))return xU.errors=[{instancePath:em+"/publisher",schemaPath:"#/properties/publisher/format",keyword:"format",params:{format:"addressOrEmpty"},message:'must match format "addressOrEmpty"'}],!1;var eE=eM===e_}else var eE=!0;if(eE){if(void 0!==eb.token){let ew=eb.token,eM=e_;if("string"!=typeof ew&&null!==ew)return xU.errors=[{instancePath:em+"/token",schemaPath:"#/properties/token/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(e_===eM&&e_===eM&&"string"==typeof ew&&!xR.test(ew))return xU.errors=[{instancePath:em+"/token",schemaPath:"#/properties/token/format",keyword:"format",params:{format:"addressOrEmpty"},message:'must match format "addressOrEmpty"'}],!1;var eE=eM===e_}else var eE=!0}}}}return xU.errors=eT,0===e_}let xV=xH;function xH(eb,{instancePath:em="",parentData:ew,parentDataProperty:eM,rootData:eC=eb}={}){let eT=null,e_=0;if(!eb||"object"!=typeof eb||Array.isArray(eb))return xH.errors=[{instancePath:em,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{let ew=e_;for(let ew in eb)if(!("account"===ew||"token"===ew))return xH.errors=[{instancePath:em,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:ew},message:"must NOT have additional properties"}],!1;if(ew===e_){if(void 0!==eb.account){let ew=eb.account,eM=e_;if("string"!=typeof ew&&null!==ew)return xH.errors=[{instancePath:em+"/account",schemaPath:"#/properties/account/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(e_===eM&&e_===eM&&"string"==typeof ew&&!xR.test(ew))return xH.errors=[{instancePath:em+"/account",schemaPath:"#/properties/account/format",keyword:"format",params:{format:"addressOrEmpty"},message:'must match format "addressOrEmpty"'}],!1;var eE=eM===e_}else var eE=!0;if(eE){if(void 0!==eb.token){let ew=eb.token,eM=e_;if("string"!=typeof ew&&null!==ew)return xH.errors=[{instancePath:em+"/token",schemaPath:"#/properties/token/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(e_===eM&&e_===eM&&"string"==typeof ew&&!xR.test(ew))return xH.errors=[{instancePath:em+"/token",schemaPath:"#/properties/token/format",keyword:"format",params:{format:"addressOrEmpty"},message:'must match format "addressOrEmpty"'}],!1;var eE=eM===e_}else var eE=!0}}}return xH.errors=eT,0===e_}let x$=xq;function xq(eb,{instancePath:em="",parentData:ew,parentDataProperty:eM,rootData:eC=eb}={}){let eT=null,e_=0;if(!eb||"object"!=typeof eb||Array.isArray(eb))return xq.errors=[{instancePath:em,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{let ew=e_;for(let ew in eb)if(!("subscriber"===ew||"approved"===ew))return xq.errors=[{instancePath:em,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:ew},message:"must NOT have additional properties"}],!1;if(ew===e_){if(void 0!==eb.subscriber){let ew=eb.subscriber,eM=e_;if("string"!=typeof ew&&null!==ew)return xq.errors=[{instancePath:em+"/subscriber",schemaPath:"#/properties/subscriber/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(e_===eM&&e_===eM&&"string"==typeof ew&&!xj.test(ew))return xq.errors=[{instancePath:em+"/subscriber",schemaPath:"#/properties/subscriber/format",keyword:"format",params:{format:"stringInteger"},message:'must match format "stringInteger"'}],!1;var eE=eM===e_}else var eE=!0;if(eE){if(void 0!==eb.approved){let ew=eb.approved,eM=e_;if("boolean"!=typeof ew&&null!==ew)return xq.errors=[{instancePath:em+"/approved",schemaPath:"#/properties/approved/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"}],!1;var eE=eM===e_}else var eE=!0}}}return xq.errors=eT,0===e_}let xW=xZ;function xZ(eb,{instancePath:em="",parentData:ew,parentDataProperty:eM,rootData:eC=eb}={}){let eT=null,e_=0;if(!eb||"object"!=typeof eb||Array.isArray(eb))return xZ.errors=[{instancePath:em,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"}],!1;{let ew=e_;for(let ew in eb)if(!("sender"===ew||"receiver"===ew||"token"===ew))return xZ.errors=[{instancePath:em,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:ew},message:"must NOT have additional properties"}],!1;if(ew===e_){if(void 0!==eb.sender){let ew=eb.sender,eM=e_;if("string"!=typeof ew&&null!==ew)return xZ.errors=[{instancePath:em+"/sender",schemaPath:"#/properties/sender/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(e_===eM&&e_===eM&&"string"==typeof ew&&!xR.test(ew))return xZ.errors=[{instancePath:em+"/sender",schemaPath:"#/properties/sender/format",keyword:"format",params:{format:"addressOrEmpty"},message:'must match format "addressOrEmpty"'}],!1;var eE=eM===e_}else var eE=!0;if(eE){if(void 0!==eb.receiver){let ew=eb.receiver,eM=e_;if("string"!=typeof ew&&null!==ew)return xZ.errors=[{instancePath:em+"/receiver",schemaPath:"#/properties/receiver/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(e_===eM&&e_===eM&&"string"==typeof ew&&!xR.test(ew))return xZ.errors=[{instancePath:em+"/receiver",schemaPath:"#/properties/receiver/format",keyword:"format",params:{format:"addressOrEmpty"},message:'must match format "addressOrEmpty"'}],!1;var eE=eM===e_}else var eE=!0;if(eE){if(void 0!==eb.token){let ew=eb.token,eM=e_;if("string"!=typeof ew&&null!==ew)return xZ.errors=[{instancePath:em+"/token",schemaPath:"#/properties/token/type",keyword:"type",params:{type:"string"},message:"must be string"}],!1;if(e_===eM&&e_===eM&&"string"==typeof ew&&!xR.test(ew))return xZ.errors=[{instancePath:em+"/token",schemaPath:"#/properties/token/format",keyword:"format",params:{format:"addressOrEmpty"},message:'must match format "addressOrEmpty"'}],!1;var eE=eM===e_}else var eE=!0}}}}return xZ.errors=eT,0===e_}!function(eb){eb[eb.Create=0]="Create",eb[eb.Update=1]="Update",eb[eb.Terminate=2]="Terminate"}(e_||(e_={}));let xK=eb=>eb.map(eb=>{switch(eb.__typename){case"AppRegisteredEvent":return C9({name:"AppRegistered",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),app:eb.app});case"AgreementClassRegisteredEvent":return C9({name:"AgreementClassRegistered",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),agreementType:eb.agreementType,code:eb.code});case"AgreementClassUpdatedEvent":return C9({name:"AgreementClassUpdated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),agreementType:eb.agreementType,code:eb.code});case"AgreementLiquidatedByEvent":return C9({name:"AgreementLiquidatedBy",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),agreementClass:eb.agreementClass,agreementId:eb.agreementId,bailoutAmount:eb.bailoutAmount,bondAccount:eb.bondAccount,liquidatorAccount:eb.liquidatorAccount,penaltyAccount:eb.penaltyAccount,rewardAmount:eb.rewardAmount,token:eb.token});case"AgreementLiquidatedV2Event":return C9({name:"AgreementLiquidatedV2",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,liquidatorAccount:eb.liquidatorAccount,agreementClass:eb.agreementClass,agreementId:eb.agreementId,targetAccount:eb.targetAccount,rewardAmountReceiver:eb.rewardAmountReceiver,rewardAmount:eb.rewardAmount,targetAccountBalanceDelta:eb.targetAccountBalanceDelta,version:eb.version,liquidationType:eb.liquidationType,rewardAccount:eb.rewardAccount});case"BurnedEvent":return C9({name:"Burned",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),amount:eb.amount,data:eb.data,from:eb.from,operator:eb.operator,token:eb.token,operatorData:eb.operatorData});case"CFAv1LiquidationPeriodChangedEvent":return C9({name:"CFAv1LiquidationPeriodChanged",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),host:eb.host,governanceAddress:eb.governanceAddress,isKeySet:eb.isKeySet,liquidationPeriod:Number(eb.liquidationPeriod),superToken:eb.superToken});case"ConfigChangedEvent":return C9({name:"ConfigChanged",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),host:eb.host,governanceAddress:eb.governanceAddress,isKeySet:eb.isKeySet,key:eb.key,superToken:eb.superToken,value:eb.value});case"CustomSuperTokenCreatedEvent":return C9({name:"CustomSuperTokenCreated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token});case"FlowUpdatedEvent":return C9({name:"FlowUpdated",type:xG(eb.type),id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,flowRate:eb.flowRate,receiver:eb.receiver,sender:eb.sender,flowOperator:eb.flowOperator,deposit:eb.deposit,streamId:eb.stream.id});case"FlowOperatorUpdatedEvent":return C9({name:"FlowOperatorUpdated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,sender:eb.sender,permissions:eb.permissions,flowRateAllowance:eb.flowRateAllowance});case"GovernanceReplacedEvent":return C9({name:"GovernanceReplaced",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),oldGovernance:eb.oldGovernance,newGovernance:eb.newGovernance});case"IndexCreatedEvent":return C9({name:"IndexCreated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,index:eb.index.id,indexId:eb.indexId,publisher:eb.publisher,userData:eb.userData});case"IndexDistributionClaimedEvent":return C9({name:"IndexDistributionClaimed",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,amount:eb.amount,index:eb.index.id,indexId:eb.indexId,publisher:eb.publisher,subscriber:eb.subscriber});case"IndexSubscribedEvent":return C9({name:"IndexSubscribed",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,index:eb.index.id,indexId:eb.indexId,publisher:eb.publisher,subscriber:eb.subscriber});case"IndexUnitsUpdatedEvent":return C9({name:"IndexUnitsUpdated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,index:eb.index.id,indexId:eb.indexId,publisher:eb.publisher,subscriber:eb.subscriber,units:eb.units,oldUnits:eb.oldUnits,userData:eb.userData});case"IndexUnsubscribedEvent":return C9({name:"IndexUnsubscribed",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,index:eb.index.id,indexId:eb.indexId,publisher:eb.publisher,subscriber:eb.subscriber,userData:eb.userData});case"IndexUpdatedEvent":return C9({name:"IndexUpdated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,index:eb.index.id,indexId:eb.indexId,newIndexValue:eb.newIndexValue,oldIndexValue:eb.oldIndexValue,publisher:eb.publisher,totalUnitsApproved:eb.totalUnitsApproved,totalUnitsPending:eb.totalUnitsPending,userData:eb.userData});case"JailEvent":return C9({name:"Jail",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),app:eb.app,reason:eb.reason});case"MintedEvent":return C9({name:"Minted",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),operator:eb.operator,to:eb.to,amount:eb.amount,data:eb.data,token:eb.token,operatorData:eb.operatorData});case"RewardAddressChangedEvent":return C9({name:"RewardAddressChanged",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),host:eb.host,governanceAddress:eb.governanceAddress,superToken:eb.superToken,isKeySet:eb.isKeySet,rewardAddress:eb.rewardAddress});case"RoleAdminChangedEvent":return C9({name:"RoleAdminChanged",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),role:eb.role,previousAdminRole:eb.previousAdminRole,newAdminRole:eb.newAdminRole});case"RoleGrantedEvent":return C9({name:"RoleGranted",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),role:eb.role,account:eb.account,sender:eb.sender});case"RoleRevokedEvent":return C9({name:"RoleRevoked",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),role:eb.role,account:eb.account,sender:eb.sender});case"SetEvent":return C9({name:"Set",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),hashedName:eb.hashedName,targetAddress:eb.target,resolverEntry:eb.resolverEntry.id});case"SentEvent":return C9({name:"Sent",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),operator:eb.operator,to:eb.to,amount:eb.amount,data:eb.data,token:eb.token,operatorData:eb.operatorData});case"SubscriptionApprovedEvent":return C9({name:"SubscriptionApproved",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,subscriber:eb.subscriber,publisher:eb.publisher,indexId:eb.indexId,userData:eb.userData,subscription:eb.subscription.id});case"SubscriptionDistributionClaimedEvent":return C9({name:"SubscriptionDistributionClaimed",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,subscriber:eb.subscriber,publisher:eb.publisher,indexId:eb.indexId,amount:eb.amount,subscription:eb.subscription.id});case"SubscriptionRevokedEvent":return C9({name:"SubscriptionRevoked",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,subscriber:eb.subscriber,publisher:eb.publisher,indexId:eb.indexId,userData:eb.userData,subscription:eb.subscription.id});case"SubscriptionUnitsUpdatedEvent":return C9({name:"SubscriptionUnitsUpdated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,subscriber:eb.subscriber,publisher:eb.publisher,indexId:eb.indexId,units:eb.units,userData:eb.userData,subscription:eb.subscription.id});case"SuperTokenCreatedEvent":return C9({name:"SuperTokenCreated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token});case"SuperTokenFactoryUpdatedEvent":return C9({name:"SuperTokenFactoryUpdated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),newFactory:eb.newFactory});case"SuperTokenLogicCreatedEvent":return C9({name:"SuperTokenLogicCreated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),tokenLogic:eb.tokenLogic});case"SuperTokenLogicUpdatedEvent":return C9({name:"SuperTokenLogicUpdated",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,code:eb.code});case"PPPConfigurationChangedEvent":return C9({name:"PPPConfigurationChanged",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),host:eb.host,governanceAddress:eb.governanceAddress,superToken:eb.superToken,isKeySet:eb.isKeySet,liquidationPeriod:eb.liquidationPeriod,patricianPeriod:eb.patricianPeriod});case"TokenDowngradedEvent":return C9({name:"TokenDowngraded",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),amount:eb.amount,token:eb.token,account:eb.account.id});case"TokenUpgradedEvent":return C9({name:"TokenUpgraded",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),amount:eb.amount,token:eb.token,account:eb.account.id});case"TransferEvent":return C9({name:"Transfer",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),from:eb.from.id,to:eb.to.id,token:eb.token,value:eb.value});case"TrustedForwarderChangedEvent":return C9({name:"TrustedForwarderChanged",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),host:eb.host,governanceAddress:eb.governanceAddress,superToken:eb.superToken,isKeySet:eb.isKeySet,forwarder:eb.forwarder,enabled:eb.enabled});case"SuperTokenMinimumDepositChangedEvent":return C9({name:"SuperTokenMinimumDepositChanged",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),host:eb.host,governanceAddress:eb.governanceAddress,superToken:eb.superToken,isKeySet:eb.isKeySet,minimumDeposit:eb.minimumDeposit});case"NewPICEvent":return C9({name:"NewPIC",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,pic:eb.pic,bond:eb.bond,exitRate:eb.exitRate});case"ExitRateChangedEvent":return C9({name:"ExitRateChanged",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,exitRate:eb.exitRate});case"BondIncreasedEvent":return C9({name:"BondIncreased",id:eb.id,blockNumber:Number(eb.blockNumber),transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:Number(eb.order),timestamp:Number(eb.timestamp),logIndex:Number(eb.logIndex),token:eb.token,additionalBond:eb.additionalBond});default:return console.warn("An unknown event was detected which couldn't be mapped. Please update to the latest version of @superfluid-finance/sdk-core."),C9({name:"_Unknown",id:eb.id,blockNumber:eb.blockNumber,transactionHash:eb.transactionHash,gasPrice:eb.gasPrice,order:eb.order,timestamp:eb.timestamp,logIndex:eb.logIndex})}}),xG=eb=>{if(0===eb)return e_.Create;if(1===eb)return e_.Update;if(2===eb)return e_.Terminate;throw Error(`Mapping error: unknown flow update type ([${eb}]).`)},xY=(eb,em)=>{var ew;let eM=eb.length>em.take,eC=eb.slice(0,em.take),eT=null===(ew=eC.slice(-1)[0])||void 0===ew?void 0:ew.id;return{paging:{skip:em.skip,take:em.take},nextPaging:eM?xJ(em)?ky(em):xQ(em)?kz(em,eT):xX(em)?kv(em):void 0:void 0,data:eC,items:eC}};function xJ(eb){return(null==eb?void 0:eb.skip)!==void 0}function xX(eb){return(null==eb?void 0:eb.pageNumber)!==void 0}function xQ(eb){return(null==eb?void 0:eb.lastId)!==void 0}let kb=({skip:eb=0,take:em=100}={})=>({skip:eb,take:em}),km=({lastId:eb="",take:em=100}={})=>({take:em,lastId:eb}),ky=eb=>({skip:eb.skip+eb.take,take:eb.take}),kv=eb=>({pageNumber:eb.pageNumber+1,take:eb.take}),kz=(eb,em)=>({take:eb.take,lastId:em}),kw=eb=>eb.take+1,kM=JSON,kC=eb=>eb.toUpperCase(),kx=eb=>{let em={};return eb.forEach((eb,ew)=>{em[ew]=eb}),em},kk=(eb,em,ew)=>eb.document?eb:{document:eb,variables:em,requestHeaders:ew,signal:void 0},kT=(eb,em,ew)=>eb.query?eb:{query:eb,variables:em,requestHeaders:ew,signal:void 0},kE=(eb,em)=>eb.documents?eb:{documents:eb,requestHeaders:em,signal:void 0},kS=(eb,em,...ew)=>{let[eM,eC]=ew;return eb.document?eb:{url:eb,document:em,variables:eM,requestHeaders:eC,signal:void 0}};function kA(eb){return"object"==typeof eb&&null!==eb}function kN(eb,em){let ew=!!eb;if(!ew)throw Error(null!=em?em:"Unexpected invariant triggered.")}let kI=/\r\n|[\n\r]/g;function kD(eb,em){let ew=0,eM=1;for(let eC of eb.body.matchAll(kI)){if("number"==typeof eC.index||kN(!1),eC.index>=em)break;ew=eC.index+eC[0].length,eM+=1}return{line:eM,column:em+1-ew}}function kO(eb){return kP(eb.source,kD(eb.source,eb.start))}function kP(eb,em){let ew=eb.locationOffset.column-1,eM="".padStart(ew)+eb.body,eC=em.line-1,eT=eb.locationOffset.line-1,e_=em.line+eT,eE=1===em.line?ew:0,eS=em.column+eE,eA=`${eb.name}:${e_}:${eS} +`,eN=eM.split(/\r\n|[\n\r]/g),eI=eN[eC];if(eI.length>120){let eb=Math.floor(eS/80),em=eS%80,ew=[];for(let eb=0;eb["|",eb]),["|","^".padStart(em)],["|",ew[eb+1]]])}return eA+kR([[`${e_-1} |`,eN[eC-1]],[`${e_} |`,eI],["|","^".padStart(eS)],[`${e_+1} |`,eN[eC+1]]])}function kR(eb){let em=eb.filter(([eb,em])=>void 0!==em),ew=Math.max(...em.map(([eb])=>eb.length));return em.map(([eb,em])=>eb.padStart(ew)+(em?" "+em:"")).join("\n")}function kB(eb){let em=eb[0];return null==em||"kind"in em||"length"in em?{nodes:em,source:eb[1],positions:eb[2],path:eb[3],originalError:eb[4],extensions:eb[5]}:em}class kF extends Error{constructor(eb,...em){var ew,eM,eC;let{nodes:eT,source:e_,positions:eE,path:eS,originalError:eA,extensions:eN}=kB(em);super(eb),this.name="GraphQLError",this.path=null!=eS?eS:void 0,this.originalError=null!=eA?eA:void 0,this.nodes=kj(Array.isArray(eT)?eT:eT?[eT]:void 0);let eI=kj(null===(ew=this.nodes)||void 0===ew?void 0:ew.map(eb=>eb.loc).filter(eb=>null!=eb));this.source=null!=e_?e_:null==eI?void 0:null===(eM=eI[0])||void 0===eM?void 0:eM.source,this.positions=null!=eE?eE:null==eI?void 0:eI.map(eb=>eb.start),this.locations=eE&&e_?eE.map(eb=>kD(e_,eb)):null==eI?void 0:eI.map(eb=>kD(eb.source,eb.start));let eD=kA(null==eA?void 0:eA.extensions)?null==eA?void 0:eA.extensions:void 0;this.extensions=null!==(eC=null!=eN?eN:eD)&&void 0!==eC?eC:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),null!=eA&&eA.stack?Object.defineProperty(this,"stack",{value:eA.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,kF):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let eb=this.message;if(this.nodes)for(let em of this.nodes)em.loc&&(eb+="\n\n"+kO(em.loc));else if(this.source&&this.locations)for(let em of this.locations)eb+="\n\n"+kP(this.source,em);return eb}toJSON(){let eb={message:this.message};return null!=this.locations&&(eb.locations=this.locations),null!=this.path&&(eb.path=this.path),null!=this.extensions&&Object.keys(this.extensions).length>0&&(eb.extensions=this.extensions),eb}}function kj(eb){return void 0===eb||0===eb.length?void 0:eb}function kU(eb,em,ew){return new kF(`Syntax Error: ${ew}`,{source:eb,positions:[em]})}class kV{constructor(eb,em,ew){this.start=eb.start,this.end=em.end,this.startToken=eb,this.endToken=em,this.source=ew}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}}class kH{constructor(eb,em,ew,eM,eC,eT){this.kind=eb,this.start=em,this.end=ew,this.line=eM,this.column=eC,this.value=eT,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}}let k$={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},kq=new Set(Object.keys(k$));function kW(eb){let em=null==eb?void 0:eb.kind;return"string"==typeof em&&kq.has(em)}function kZ(eb){return 9===eb||32===eb}function kK(eb){return eb>=48&&eb<=57}function kG(eb){return eb>=97&&eb<=122||eb>=65&&eb<=90}function kY(eb){return kG(eb)||95===eb}function kJ(eb){return kG(eb)||kK(eb)||95===eb}function kX(eb){var em,ew;let eM=Number.MAX_SAFE_INTEGER,eC=null,eT=-1;for(let em=0;em0===em?eb:eb.slice(eM)).slice(null!==(em=eC)&&void 0!==em?em:0,eT+1)}function kQ(eb){let em=0;for(;em1&&eM.slice(1).every(eb=>0===eb.length||kZ(eb.charCodeAt(0))),e_=ew.endsWith('\\"""'),eE=eb.endsWith('"')&&!e_,eS=eb.endsWith("\\"),eA=eE||eS,eN=!(null!=em&&em.minimize)&&(!eC||eb.length>70||eA||eT||e_),eI="",eD=eC&&kZ(eb.charCodeAt(0));return(eN&&!eD||eT)&&(eI+="\n"),eI+=ew,(eN||eA)&&(eI+="\n"),'"""'+eI+'"""'}!function(eb){eb.QUERY="query",eb.MUTATION="mutation",eb.SUBSCRIPTION="subscription"}(eE||(eE={})),function(eb){eb.QUERY="QUERY",eb.MUTATION="MUTATION",eb.SUBSCRIPTION="SUBSCRIPTION",eb.FIELD="FIELD",eb.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",eb.FRAGMENT_SPREAD="FRAGMENT_SPREAD",eb.INLINE_FRAGMENT="INLINE_FRAGMENT",eb.VARIABLE_DEFINITION="VARIABLE_DEFINITION",eb.SCHEMA="SCHEMA",eb.SCALAR="SCALAR",eb.OBJECT="OBJECT",eb.FIELD_DEFINITION="FIELD_DEFINITION",eb.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",eb.INTERFACE="INTERFACE",eb.UNION="UNION",eb.ENUM="ENUM",eb.ENUM_VALUE="ENUM_VALUE",eb.INPUT_OBJECT="INPUT_OBJECT",eb.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"}(eS||(eS={})),function(eb){eb.NAME="Name",eb.DOCUMENT="Document",eb.OPERATION_DEFINITION="OperationDefinition",eb.VARIABLE_DEFINITION="VariableDefinition",eb.SELECTION_SET="SelectionSet",eb.FIELD="Field",eb.ARGUMENT="Argument",eb.FRAGMENT_SPREAD="FragmentSpread",eb.INLINE_FRAGMENT="InlineFragment",eb.FRAGMENT_DEFINITION="FragmentDefinition",eb.VARIABLE="Variable",eb.INT="IntValue",eb.FLOAT="FloatValue",eb.STRING="StringValue",eb.BOOLEAN="BooleanValue",eb.NULL="NullValue",eb.ENUM="EnumValue",eb.LIST="ListValue",eb.OBJECT="ObjectValue",eb.OBJECT_FIELD="ObjectField",eb.DIRECTIVE="Directive",eb.NAMED_TYPE="NamedType",eb.LIST_TYPE="ListType",eb.NON_NULL_TYPE="NonNullType",eb.SCHEMA_DEFINITION="SchemaDefinition",eb.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",eb.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",eb.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",eb.FIELD_DEFINITION="FieldDefinition",eb.INPUT_VALUE_DEFINITION="InputValueDefinition",eb.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",eb.UNION_TYPE_DEFINITION="UnionTypeDefinition",eb.ENUM_TYPE_DEFINITION="EnumTypeDefinition",eb.ENUM_VALUE_DEFINITION="EnumValueDefinition",eb.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",eb.DIRECTIVE_DEFINITION="DirectiveDefinition",eb.SCHEMA_EXTENSION="SchemaExtension",eb.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",eb.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",eb.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",eb.UNION_TYPE_EXTENSION="UnionTypeExtension",eb.ENUM_TYPE_EXTENSION="EnumTypeExtension",eb.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"}(eA||(eA={})),function(eb){eb.SOF="",eb.EOF="",eb.BANG="!",eb.DOLLAR="$",eb.AMP="&",eb.PAREN_L="(",eb.PAREN_R=")",eb.SPREAD="...",eb.COLON=":",eb.EQUALS="=",eb.AT="@",eb.BRACKET_L="[",eb.BRACKET_R="]",eb.BRACE_L="{",eb.PIPE="|",eb.BRACE_R="}",eb.NAME="Name",eb.INT="Int",eb.FLOAT="Float",eb.STRING="String",eb.BLOCK_STRING="BlockString",eb.COMMENT="Comment"}(eN||(eN={}));class k4{constructor(eb){let em=new kH(eN.SOF,0,0,0,0);this.source=eb,this.lastToken=em,this.token=em,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){this.lastToken=this.token;let eb=this.token=this.lookahead();return eb}lookahead(){let eb=this.token;if(eb.kind!==eN.EOF)do if(eb.next)eb=eb.next;else{let em=Ty(this,eb.end);eb.next=em,em.prev=eb,eb=em}while(eb.kind===eN.COMMENT);return eb}}function k3(eb){return eb===eN.BANG||eb===eN.DOLLAR||eb===eN.AMP||eb===eN.PAREN_L||eb===eN.PAREN_R||eb===eN.SPREAD||eb===eN.COLON||eb===eN.EQUALS||eb===eN.AT||eb===eN.BRACKET_L||eb===eN.BRACKET_R||eb===eN.BRACE_L||eb===eN.PIPE||eb===eN.BRACE_R}function k5(eb){return eb>=0&&eb<=55295||eb>=57344&&eb<=1114111}function k8(eb,em){return k9(eb.charCodeAt(em))&&k7(eb.charCodeAt(em+1))}function k9(eb){return eb>=55296&&eb<=56319}function k7(eb){return eb>=56320&&eb<=57343}function Tb(eb,em){let ew=eb.source.body.codePointAt(em);if(void 0===ew)return eN.EOF;if(ew>=32&&ew<=126){let eb=String.fromCodePoint(ew);return'"'===eb?"'\"'":`"${eb}"`}return"U+"+ew.toString(16).toUpperCase().padStart(4,"0")}function Tm(eb,em,ew,eM,eC){let eT=eb.line,e_=1+ew-eb.lineStart;return new kH(em,ew,eM,eT,e_,eC)}function Ty(eb,em){let ew=eb.source.body,eM=ew.length,eC=em;for(;eC=48&&eb<=57?eb-48:eb>=65&&eb<=70?eb-55:eb>=97&&eb<=102?eb-87:-1}function T_(eb,em){let ew=eb.source.body,eM=ew.charCodeAt(em+1);switch(eM){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:"\n",size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw kU(eb.source,em,`Invalid character escape sequence: "${ew.slice(em,em+2)}".`)}function TE(eb,em){let ew=eb.source.body,eM=ew.length,eC=eb.lineStart,eT=em+3,e_=eT,eE="",eS=[];for(;eTTI)return"["+Tj(eb)+"]";let eM=ew.map(([eb,ew])=>eb+": "+TO(ew,em));return"{ "+eM.join(", ")+" }"}function TF(eb,em){if(0===eb.length)return"[]";if(em.length>TI)return"[Array]";let ew=Math.min(TN,eb.length),eM=eb.length-ew,eC=[];for(let eM=0;eM1&&eC.push(`... ${eM} more items`),"["+eC.join(", ")+"]"}function Tj(eb){let em=Object.prototype.toString.call(eb).replace(/^\[object /,"").replace(/]$/,"");if("Object"===em&&"function"==typeof eb.constructor){let em=eb.constructor.name;if("string"==typeof em&&""!==em)return em}return em}let TU=globalThis.process&&!0,TV=TU?function(eb,em){return eb instanceof em}:function(eb,em){if(eb instanceof em)return!0;if("object"==typeof eb&&null!==eb){var ew;let eM=em.prototype[Symbol.toStringTag],eC=Symbol.toStringTag in eb?eb[Symbol.toStringTag]:null===(ew=eb.constructor)||void 0===ew?void 0:ew.name;if(eM===eC){let em=TD(eb);throw Error(`Cannot use ${eM} "${em}" from another module or realm. Ensure that there is only one instance of "graphql" in the node_modules directory. If different versions of "graphql" are the dependencies of other @@ -172,105 +175,73 @@ https://yarnpkg.com/en/docs/selective-version-resolutions Duplicate "graphql" modules cannot be used at the same time since different versions may have different capabilities and behavior. The data from one version used in the function from another could produce confusing and -spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={line:1,column:1}){"string"==typeof eb||Cx(!1,`Body must be a string. Received: ${C_(eb)}.`),this.body=eb,this.name=em,this.locationOffset=eH,this.locationOffset.line>0||Cx(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||Cx(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}}function CB(eb){return CO(eb,CR)}function CF(eb,em){let eH=new Cj(eb,em);return eH.parseDocument()}class Cj{constructor(eb,em={}){let eH=CB(eb)?eb:new CR(eb);this._lexer=new LQ(eH),this._options=em,this._tokenCounter=0}parseName(){let eb=this.expectToken(kq.NAME);return this.node(eb,{kind:kU.NAME,value:eb.value})}parseDocument(){return this.node(this._lexer.token,{kind:kU.DOCUMENT,definitions:this.many(kq.SOF,this.parseDefinition,kq.EOF)})}parseDefinition(){if(this.peek(kq.BRACE_L))return this.parseOperationDefinition();let eb=this.peekDescription(),em=eb?this._lexer.lookahead():this._lexer.token;if(em.kind===kq.NAME){switch(em.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(eb)throw LR(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(em.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(em)}parseOperationDefinition(){let eb;let em=this._lexer.token;if(this.peek(kq.BRACE_L))return this.node(em,{kind:kU.OPERATION_DEFINITION,operation:kF.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let eH=this.parseOperationType();return this.peek(kq.NAME)&&(eb=this.parseName()),this.node(em,{kind:kU.OPERATION_DEFINITION,operation:eH,name:eb,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let eb=this.expectToken(kq.NAME);switch(eb.value){case"query":return kF.QUERY;case"mutation":return kF.MUTATION;case"subscription":return kF.SUBSCRIPTION}throw this.unexpected(eb)}parseVariableDefinitions(){return this.optionalMany(kq.PAREN_L,this.parseVariableDefinition,kq.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:kU.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(kq.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(kq.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let eb=this._lexer.token;return this.expectToken(kq.DOLLAR),this.node(eb,{kind:kU.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:kU.SELECTION_SET,selections:this.many(kq.BRACE_L,this.parseSelection,kq.BRACE_R)})}parseSelection(){return this.peek(kq.SPREAD)?this.parseFragment():this.parseField()}parseField(){let eb,em;let eH=this._lexer.token,eV=this.parseName();return this.expectOptionalToken(kq.COLON)?(eb=eV,em=this.parseName()):em=eV,this.node(eH,{kind:kU.FIELD,alias:eb,name:em,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(kq.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(eb){let em=eb?this.parseConstArgument:this.parseArgument;return this.optionalMany(kq.PAREN_L,em,kq.PAREN_R)}parseArgument(eb=!1){let em=this._lexer.token,eH=this.parseName();return this.expectToken(kq.COLON),this.node(em,{kind:kU.ARGUMENT,name:eH,value:this.parseValueLiteral(eb)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let eb=this._lexer.token;this.expectToken(kq.SPREAD);let em=this.expectOptionalKeyword("on");return!em&&this.peek(kq.NAME)?this.node(eb,{kind:kU.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(eb,{kind:kU.INLINE_FRAGMENT,typeCondition:em?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let eb=this._lexer.token;return(this.expectKeyword("fragment"),!0===this._options.allowLegacyFragmentVariables)?this.node(eb,{kind:kU.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(eb,{kind:kU.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()}parseValueLiteral(eb){let em=this._lexer.token;switch(em.kind){case kq.BRACKET_L:return this.parseList(eb);case kq.BRACE_L:return this.parseObject(eb);case kq.INT:return this.advanceLexer(),this.node(em,{kind:kU.INT,value:em.value});case kq.FLOAT:return this.advanceLexer(),this.node(em,{kind:kU.FLOAT,value:em.value});case kq.STRING:case kq.BLOCK_STRING:return this.parseStringLiteral();case kq.NAME:switch(this.advanceLexer(),em.value){case"true":return this.node(em,{kind:kU.BOOLEAN,value:!0});case"false":return this.node(em,{kind:kU.BOOLEAN,value:!1});case"null":return this.node(em,{kind:kU.NULL});default:return this.node(em,{kind:kU.ENUM,value:em.value})}case kq.DOLLAR:if(eb){if(this.expectToken(kq.DOLLAR),this._lexer.token.kind===kq.NAME){let eb=this._lexer.token.value;throw LR(this._lexer.source,em.start,`Unexpected variable "$${eb}" in constant value.`)}throw this.unexpected(em)}return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let eb=this._lexer.token;return this.advanceLexer(),this.node(eb,{kind:kU.STRING,value:eb.value,block:eb.kind===kq.BLOCK_STRING})}parseList(eb){let em=()=>this.parseValueLiteral(eb);return this.node(this._lexer.token,{kind:kU.LIST,values:this.any(kq.BRACKET_L,em,kq.BRACKET_R)})}parseObject(eb){let em=()=>this.parseObjectField(eb);return this.node(this._lexer.token,{kind:kU.OBJECT,fields:this.any(kq.BRACE_L,em,kq.BRACE_R)})}parseObjectField(eb){let em=this._lexer.token,eH=this.parseName();return this.expectToken(kq.COLON),this.node(em,{kind:kU.OBJECT_FIELD,name:eH,value:this.parseValueLiteral(eb)})}parseDirectives(eb){let em=[];for(;this.peek(kq.AT);)em.push(this.parseDirective(eb));return em}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(eb){let em=this._lexer.token;return this.expectToken(kq.AT),this.node(em,{kind:kU.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(eb)})}parseTypeReference(){let eb;let em=this._lexer.token;if(this.expectOptionalToken(kq.BRACKET_L)){let eH=this.parseTypeReference();this.expectToken(kq.BRACKET_R),eb=this.node(em,{kind:kU.LIST_TYPE,type:eH})}else eb=this.parseNamedType();return this.expectOptionalToken(kq.BANG)?this.node(em,{kind:kU.NON_NULL_TYPE,type:eb}):eb}parseNamedType(){return this.node(this._lexer.token,{kind:kU.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(kq.STRING)||this.peek(kq.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let eb=this._lexer.token,em=this.parseDescription();this.expectKeyword("schema");let eH=this.parseConstDirectives(),eV=this.many(kq.BRACE_L,this.parseOperationTypeDefinition,kq.BRACE_R);return this.node(eb,{kind:kU.SCHEMA_DEFINITION,description:em,directives:eH,operationTypes:eV})}parseOperationTypeDefinition(){let eb=this._lexer.token,em=this.parseOperationType();this.expectToken(kq.COLON);let eH=this.parseNamedType();return this.node(eb,{kind:kU.OPERATION_TYPE_DEFINITION,operation:em,type:eH})}parseScalarTypeDefinition(){let eb=this._lexer.token,em=this.parseDescription();this.expectKeyword("scalar");let eH=this.parseName(),eV=this.parseConstDirectives();return this.node(eb,{kind:kU.SCALAR_TYPE_DEFINITION,description:em,name:eH,directives:eV})}parseObjectTypeDefinition(){let eb=this._lexer.token,em=this.parseDescription();this.expectKeyword("type");let eH=this.parseName(),eV=this.parseImplementsInterfaces(),ew=this.parseConstDirectives(),eM=this.parseFieldsDefinition();return this.node(eb,{kind:kU.OBJECT_TYPE_DEFINITION,description:em,name:eH,interfaces:eV,directives:ew,fields:eM})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(kq.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(kq.BRACE_L,this.parseFieldDefinition,kq.BRACE_R)}parseFieldDefinition(){let eb=this._lexer.token,em=this.parseDescription(),eH=this.parseName(),eV=this.parseArgumentDefs();this.expectToken(kq.COLON);let ew=this.parseTypeReference(),eM=this.parseConstDirectives();return this.node(eb,{kind:kU.FIELD_DEFINITION,description:em,name:eH,arguments:eV,type:ew,directives:eM})}parseArgumentDefs(){return this.optionalMany(kq.PAREN_L,this.parseInputValueDef,kq.PAREN_R)}parseInputValueDef(){let eb;let em=this._lexer.token,eH=this.parseDescription(),eV=this.parseName();this.expectToken(kq.COLON);let ew=this.parseTypeReference();this.expectOptionalToken(kq.EQUALS)&&(eb=this.parseConstValueLiteral());let eM=this.parseConstDirectives();return this.node(em,{kind:kU.INPUT_VALUE_DEFINITION,description:eH,name:eV,type:ew,defaultValue:eb,directives:eM})}parseInterfaceTypeDefinition(){let eb=this._lexer.token,em=this.parseDescription();this.expectKeyword("interface");let eH=this.parseName(),eV=this.parseImplementsInterfaces(),ew=this.parseConstDirectives(),eM=this.parseFieldsDefinition();return this.node(eb,{kind:kU.INTERFACE_TYPE_DEFINITION,description:em,name:eH,interfaces:eV,directives:ew,fields:eM})}parseUnionTypeDefinition(){let eb=this._lexer.token,em=this.parseDescription();this.expectKeyword("union");let eH=this.parseName(),eV=this.parseConstDirectives(),ew=this.parseUnionMemberTypes();return this.node(eb,{kind:kU.UNION_TYPE_DEFINITION,description:em,name:eH,directives:eV,types:ew})}parseUnionMemberTypes(){return this.expectOptionalToken(kq.EQUALS)?this.delimitedMany(kq.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let eb=this._lexer.token,em=this.parseDescription();this.expectKeyword("enum");let eH=this.parseName(),eV=this.parseConstDirectives(),ew=this.parseEnumValuesDefinition();return this.node(eb,{kind:kU.ENUM_TYPE_DEFINITION,description:em,name:eH,directives:eV,values:ew})}parseEnumValuesDefinition(){return this.optionalMany(kq.BRACE_L,this.parseEnumValueDefinition,kq.BRACE_R)}parseEnumValueDefinition(){let eb=this._lexer.token,em=this.parseDescription(),eH=this.parseEnumValueName(),eV=this.parseConstDirectives();return this.node(eb,{kind:kU.ENUM_VALUE_DEFINITION,description:em,name:eH,directives:eV})}parseEnumValueName(){if("true"===this._lexer.token.value||"false"===this._lexer.token.value||"null"===this._lexer.token.value)throw LR(this._lexer.source,this._lexer.token.start,`${CU(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let eb=this._lexer.token,em=this.parseDescription();this.expectKeyword("input");let eH=this.parseName(),eV=this.parseConstDirectives(),ew=this.parseInputFieldsDefinition();return this.node(eb,{kind:kU.INPUT_OBJECT_TYPE_DEFINITION,description:em,name:eH,directives:eV,fields:ew})}parseInputFieldsDefinition(){return this.optionalMany(kq.BRACE_L,this.parseInputValueDef,kq.BRACE_R)}parseTypeSystemExtension(){let eb=this._lexer.lookahead();if(eb.kind===kq.NAME)switch(eb.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(eb)}parseSchemaExtension(){let eb=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let em=this.parseConstDirectives(),eH=this.optionalMany(kq.BRACE_L,this.parseOperationTypeDefinition,kq.BRACE_R);if(0===em.length&&0===eH.length)throw this.unexpected();return this.node(eb,{kind:kU.SCHEMA_EXTENSION,directives:em,operationTypes:eH})}parseScalarTypeExtension(){let eb=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let em=this.parseName(),eH=this.parseConstDirectives();if(0===eH.length)throw this.unexpected();return this.node(eb,{kind:kU.SCALAR_TYPE_EXTENSION,name:em,directives:eH})}parseObjectTypeExtension(){let eb=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let em=this.parseName(),eH=this.parseImplementsInterfaces(),eV=this.parseConstDirectives(),ew=this.parseFieldsDefinition();if(0===eH.length&&0===eV.length&&0===ew.length)throw this.unexpected();return this.node(eb,{kind:kU.OBJECT_TYPE_EXTENSION,name:em,interfaces:eH,directives:eV,fields:ew})}parseInterfaceTypeExtension(){let eb=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let em=this.parseName(),eH=this.parseImplementsInterfaces(),eV=this.parseConstDirectives(),ew=this.parseFieldsDefinition();if(0===eH.length&&0===eV.length&&0===ew.length)throw this.unexpected();return this.node(eb,{kind:kU.INTERFACE_TYPE_EXTENSION,name:em,interfaces:eH,directives:eV,fields:ew})}parseUnionTypeExtension(){let eb=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let em=this.parseName(),eH=this.parseConstDirectives(),eV=this.parseUnionMemberTypes();if(0===eH.length&&0===eV.length)throw this.unexpected();return this.node(eb,{kind:kU.UNION_TYPE_EXTENSION,name:em,directives:eH,types:eV})}parseEnumTypeExtension(){let eb=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let em=this.parseName(),eH=this.parseConstDirectives(),eV=this.parseEnumValuesDefinition();if(0===eH.length&&0===eV.length)throw this.unexpected();return this.node(eb,{kind:kU.ENUM_TYPE_EXTENSION,name:em,directives:eH,values:eV})}parseInputObjectTypeExtension(){let eb=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let em=this.parseName(),eH=this.parseConstDirectives(),eV=this.parseInputFieldsDefinition();if(0===eH.length&&0===eV.length)throw this.unexpected();return this.node(eb,{kind:kU.INPUT_OBJECT_TYPE_EXTENSION,name:em,directives:eH,fields:eV})}parseDirectiveDefinition(){let eb=this._lexer.token,em=this.parseDescription();this.expectKeyword("directive"),this.expectToken(kq.AT);let eH=this.parseName(),eV=this.parseArgumentDefs(),ew=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let eM=this.parseDirectiveLocations();return this.node(eb,{kind:kU.DIRECTIVE_DEFINITION,description:em,name:eH,arguments:eV,repeatable:ew,locations:eM})}parseDirectiveLocations(){return this.delimitedMany(kq.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let eb=this._lexer.token,em=this.parseName();if(Object.prototype.hasOwnProperty.call(kj,em.value))return em;throw this.unexpected(eb)}node(eb,em){return!0!==this._options.noLocation&&(em.loc=new LB(eb,this._lexer.lastToken,this._lexer.source)),em}peek(eb){return this._lexer.token.kind===eb}expectToken(eb){let em=this._lexer.token;if(em.kind===eb)return this.advanceLexer(),em;throw LR(this._lexer.source,em.start,`Expected ${Cq(eb)}, found ${CU(em)}.`)}expectOptionalToken(eb){let em=this._lexer.token;return em.kind===eb&&(this.advanceLexer(),!0)}expectKeyword(eb){let em=this._lexer.token;if(em.kind===kq.NAME&&em.value===eb)this.advanceLexer();else throw LR(this._lexer.source,em.start,`Expected "${eb}", found ${CU(em)}.`)}expectOptionalKeyword(eb){let em=this._lexer.token;return em.kind===kq.NAME&&em.value===eb&&(this.advanceLexer(),!0)}unexpected(eb){let em=null!=eb?eb:this._lexer.token;return LR(this._lexer.source,em.start,`Unexpected ${CU(em)}.`)}any(eb,em,eH){this.expectToken(eb);let eV=[];for(;!this.expectOptionalToken(eH);)eV.push(em.call(this));return eV}optionalMany(eb,em,eH){if(this.expectOptionalToken(eb)){let eb=[];do eb.push(em.call(this));while(!this.expectOptionalToken(eH));return eb}return[]}many(eb,em,eH){this.expectToken(eb);let eV=[];do eV.push(em.call(this));while(!this.expectOptionalToken(eH));return eV}delimitedMany(eb,em){this.expectOptionalToken(eb);let eH=[];do eH.push(em.call(this));while(this.expectOptionalToken(eb));return eH}advanceLexer(){let{maxTokens:eb}=this._options,em=this._lexer.advance();if(void 0!==eb&&em.kind!==kq.EOF&&(++this._tokenCounter,this._tokenCounter>eb))throw LR(this._lexer.source,em.start,`Document contains more that ${eb} tokens. Parsing aborted.`)}}function CU(eb){let em=eb.value;return Cq(eb.kind)+(null!=em?` "${em}"`:"")}function Cq(eb){return L1(eb)?`"${eb}"`:eb}function C$(eb){return`"${eb.replace(CW,CZ)}"`}let CW=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function CZ(eb){return CG[eb.charCodeAt(0)]}let CG=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"],CK=Object.freeze({});function CY(eb,em,eH=Lj){let eV,ew,eM;let eC=new Map;for(let eb of Object.values(kU))eC.set(eb,CX(em,eb));let eT=Array.isArray(eb),e_=[eb],eS=-1,eE=[],eA=eb,eN=[],eI=[];do{var eD,eP,eO;let eb;eS++;let eR=eS===e_.length,eB=eR&&0!==eE.length;if(eR){if(ew=0===eI.length?void 0:eN[eN.length-1],eA=eM,eM=eI.pop(),eB){if(eT){eA=eA.slice();let eb=0;for(let[em,eH]of eE){let eV=em-eb;null===eH?(eA.splice(eV,1),eb++):eA[eV]=eH}}else for(let[eb,em]of(eA=Object.defineProperties({},Object.getOwnPropertyDescriptors(eA)),eE))eA[eb]=em}eS=eV.index,e_=eV.keys,eE=eV.edits,eT=eV.inArray,eV=eV.prev}else if(eM){if(null==(eA=eM[ew=eT?eS:e_[eS]]))continue;eN.push(ew)}if(!Array.isArray(eA)){Lq(eA)||Cx(!1,`Invalid AST Node: ${C_(eA)}.`);let eH=eR?null===(eD=eC.get(eA.kind))||void 0===eD?void 0:eD.leave:null===(eP=eC.get(eA.kind))||void 0===eP?void 0:eP.enter;if((eb=null==eH?void 0:eH.call(em,eA,ew,eM,eN,eI))===CK)break;if(!1===eb){if(!eR){eN.pop();continue}}else if(void 0!==eb&&(eE.push([ew,eb]),!eR)){if(Lq(eb))eA=eb;else{eN.pop();continue}}}void 0===eb&&eB&&eE.push([ew,eA]),eR?eN.pop():(eV={inArray:eT,index:eS,keys:e_,edits:eE,prev:eV},e_=(eT=Array.isArray(eA))?eA:null!==(eO=eH[eA.kind])&&void 0!==eO?eO:[],eS=-1,eE=[],eM&&eI.push(eM),eM=eA)}while(void 0!==eV);return 0!==eE.length?eE[eE.length-1][1]:eb}function CX(eb,em){let eH=eb[em];return"object"==typeof eH?eH:"function"==typeof eH?{enter:eH,leave:void 0}:{enter:eb.enter,leave:eb.leave}}function CJ(eb){return CY(eb,C1)}let CQ=80,C1={Name:{leave:eb=>eb.value},Variable:{leave:eb=>"$"+eb.name},Document:{leave:eb=>C2(eb.definitions,"\n\n")},OperationDefinition:{leave(eb){let em=C4("(",C2(eb.variableDefinitions,", "),")"),eH=C2([eb.operation,C2([eb.name,em]),C2(eb.directives," ")]," ");return("query"===eH?"":eH+" ")+eb.selectionSet}},VariableDefinition:{leave:({variable:eb,type:em,defaultValue:eH,directives:eV})=>eb+": "+em+C4(" = ",eH)+C4(" ",C2(eV," "))},SelectionSet:{leave:({selections:eb})=>C6(eb)},Field:{leave({alias:eb,name:em,arguments:eH,directives:eV,selectionSet:ew}){let eM=C4("",eb,": ")+em,eC=eM+C4("(",C2(eH,", "),")");return eC.length>CQ&&(eC=eM+C4("(\n",C3(C2(eH,"\n")),"\n)")),C2([eC,C2(eV," "),ew]," ")}},Argument:{leave:({name:eb,value:em})=>eb+": "+em},FragmentSpread:{leave:({name:eb,directives:em})=>"..."+eb+C4(" ",C2(em," "))},InlineFragment:{leave:({typeCondition:eb,directives:em,selectionSet:eH})=>C2(["...",C4("on ",eb),C2(em," "),eH]," ")},FragmentDefinition:{leave:({name:eb,typeCondition:em,variableDefinitions:eH,directives:eV,selectionSet:ew})=>`fragment ${eb}${C4("(",C2(eH,", "),")")} on ${em} ${C4("",C2(eV," ")," ")}`+ew},IntValue:{leave:({value:eb})=>eb},FloatValue:{leave:({value:eb})=>eb},StringValue:{leave:({value:eb,block:em})=>em?LJ(eb):C$(eb)},BooleanValue:{leave:({value:eb})=>eb?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:eb})=>eb},ListValue:{leave:({values:eb})=>"["+C2(eb,", ")+"]"},ObjectValue:{leave:({fields:eb})=>"{"+C2(eb,", ")+"}"},ObjectField:{leave:({name:eb,value:em})=>eb+": "+em},Directive:{leave:({name:eb,arguments:em})=>"@"+eb+C4("(",C2(em,", "),")")},NamedType:{leave:({name:eb})=>eb},ListType:{leave:({type:eb})=>"["+eb+"]"},NonNullType:{leave:({type:eb})=>eb+"!"},SchemaDefinition:{leave:({description:eb,directives:em,operationTypes:eH})=>C4("",eb,"\n")+C2(["schema",C2(em," "),C6(eH)]," ")},OperationTypeDefinition:{leave:({operation:eb,type:em})=>eb+": "+em},ScalarTypeDefinition:{leave:({description:eb,name:em,directives:eH})=>C4("",eb,"\n")+C2(["scalar",em,C2(eH," ")]," ")},ObjectTypeDefinition:{leave:({description:eb,name:em,interfaces:eH,directives:eV,fields:ew})=>C4("",eb,"\n")+C2(["type",em,C4("implements ",C2(eH," & ")),C2(eV," "),C6(ew)]," ")},FieldDefinition:{leave:({description:eb,name:em,arguments:eH,type:eV,directives:ew})=>C4("",eb,"\n")+em+(C5(eH)?C4("(\n",C3(C2(eH,"\n")),"\n)"):C4("(",C2(eH,", "),")"))+": "+eV+C4(" ",C2(ew," "))},InputValueDefinition:{leave:({description:eb,name:em,type:eH,defaultValue:eV,directives:ew})=>C4("",eb,"\n")+C2([em+": "+eH,C4("= ",eV),C2(ew," ")]," ")},InterfaceTypeDefinition:{leave:({description:eb,name:em,interfaces:eH,directives:eV,fields:ew})=>C4("",eb,"\n")+C2(["interface",em,C4("implements ",C2(eH," & ")),C2(eV," "),C6(ew)]," ")},UnionTypeDefinition:{leave:({description:eb,name:em,directives:eH,types:eV})=>C4("",eb,"\n")+C2(["union",em,C2(eH," "),C4("= ",C2(eV," | "))]," ")},EnumTypeDefinition:{leave:({description:eb,name:em,directives:eH,values:eV})=>C4("",eb,"\n")+C2(["enum",em,C2(eH," "),C6(eV)]," ")},EnumValueDefinition:{leave:({description:eb,name:em,directives:eH})=>C4("",eb,"\n")+C2([em,C2(eH," ")]," ")},InputObjectTypeDefinition:{leave:({description:eb,name:em,directives:eH,fields:eV})=>C4("",eb,"\n")+C2(["input",em,C2(eH," "),C6(eV)]," ")},DirectiveDefinition:{leave:({description:eb,name:em,arguments:eH,repeatable:eV,locations:ew})=>C4("",eb,"\n")+"directive @"+em+(C5(eH)?C4("(\n",C3(C2(eH,"\n")),"\n)"):C4("(",C2(eH,", "),")"))+(eV?" repeatable":"")+" on "+C2(ew," | ")},SchemaExtension:{leave:({directives:eb,operationTypes:em})=>C2(["extend schema",C2(eb," "),C6(em)]," ")},ScalarTypeExtension:{leave:({name:eb,directives:em})=>C2(["extend scalar",eb,C2(em," ")]," ")},ObjectTypeExtension:{leave:({name:eb,interfaces:em,directives:eH,fields:eV})=>C2(["extend type",eb,C4("implements ",C2(em," & ")),C2(eH," "),C6(eV)]," ")},InterfaceTypeExtension:{leave:({name:eb,interfaces:em,directives:eH,fields:eV})=>C2(["extend interface",eb,C4("implements ",C2(em," & ")),C2(eH," "),C6(eV)]," ")},UnionTypeExtension:{leave:({name:eb,directives:em,types:eH})=>C2(["extend union",eb,C2(em," "),C4("= ",C2(eH," | "))]," ")},EnumTypeExtension:{leave:({name:eb,directives:em,values:eH})=>C2(["extend enum",eb,C2(em," "),C6(eH)]," ")},InputObjectTypeExtension:{leave:({name:eb,directives:em,fields:eH})=>C2(["extend input",eb,C2(em," "),C6(eH)]," ")}};function C2(eb,em=""){var eH;return null!==(eH=null==eb?void 0:eb.filter(eb=>eb).join(em))&&void 0!==eH?eH:""}function C6(eb){return C4("{\n",C3(C2(eb,"\n")),"\n}")}function C4(eb,em,eH=""){return null!=em&&""!==em?eb+em+eH:""}function C3(eb){return C4(" ",eb.replace(/\n/g,"\n "))}function C5(eb){var em;return null!==(em=null==eb?void 0:eb.some(eb=>eb.includes("\n")))&&void 0!==em&&em}let C8=eb=>{let em;let eH=eb.definitions.filter(eb=>"OperationDefinition"===eb.kind);return 1===eH.length&&(em=eH[0]?.name?.value),em},C9=eb=>{if("string"==typeof eb){let em;try{let eH=CF(eb);em=C8(eH)}catch(eb){}return{query:eb,operationName:em}}let em=C8(eb);return{query:CJ(eb),operationName:em}};class C7 extends Error{constructor(eb,em){let eH=`${C7.extractMessage(eb)}: ${JSON.stringify({response:eb,request:em})}`;super(eH),Object.setPrototypeOf(this,C7.prototype),this.response=eb,this.request=em,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,C7)}static extractMessage(eb){return eb.errors?.[0]?.message??`GraphQL Error (Code: ${eb.status})`}}var xb=eH(54098),xy=eH.t(xb,2);let xv="connection_init",xz="connection_ack",xH="ping",xV="pong",xw="subscribe",xC="next",xk="error",xT="complete";class x_{get type(){return this._type}get id(){return this._id}get payload(){return this._payload}constructor(eb,em,eH){this._type=eb,this._payload=em,this._id=eH}get text(){let eb={type:this.type};return null!=this.id&&void 0!=this.id&&(eb.id=this.id),null!=this.payload&&void 0!=this.payload&&(eb.payload=this.payload),JSON.stringify(eb)}static parse(eb,em){let{type:eH,payload:eV,id:ew}=JSON.parse(eb);return new x_(eH,em(eV),ew)}}class xS{constructor(eb,{onInit:em,onAcknowledged:eH,onPing:eV,onPong:ew}){this.socketState={acknowledged:!1,lastRequestId:0,subscriptions:{}},this.socket=eb,eb.addEventListener("open",async eH=>{this.socketState.acknowledged=!1,this.socketState.subscriptions={},eb.send(xA(em?await em():null).text)}),eb.addEventListener("close",eb=>{this.socketState.acknowledged=!1,this.socketState.subscriptions={}}),eb.addEventListener("error",eb=>{console.error(eb)}),eb.addEventListener("message",em=>{try{let eM=xE(em.data);switch(eM.type){case xz:this.socketState.acknowledged?console.warn("Duplicate CONNECTION_ACK message ignored"):(this.socketState.acknowledged=!0,eH&&eH(eM.payload));return;case xH:eV?eV(eM.payload).then(em=>eb.send(xI(em).text)):eb.send(xI(null).text);return;case xV:ew&&ew(eM.payload);return}if(!this.socketState.acknowledged||void 0===eM.id||null===eM.id||!this.socketState.subscriptions[eM.id])return;let{query:eC,variables:eT,subscriber:e_}=this.socketState.subscriptions[eM.id];switch(eM.type){case xC:!eM.payload.errors&&eM.payload.data&&e_.next&&e_.next(eM.payload.data),eM.payload.errors&&e_.error&&e_.error(new C7({...eM.payload,status:200},{query:eC,variables:eT}));return;case xk:e_.error&&e_.error(new C7({errors:eM.payload,status:200},{query:eC,variables:eT}));return;case xT:e_.complete&&e_.complete(),delete this.socketState.subscriptions[eM.id];return}}catch(em){console.error(em),eb.close(1006)}eb.close(4400,"Unknown graphql-ws message.")})}makeSubscribe(eb,em,eH,eV){let ew=(this.socketState.lastRequestId++).toString();return this.socketState.subscriptions[ew]={query:eb,variables:eV,subscriber:eH},this.socket.send(xD(ew,{query:eb,operationName:em,variables:eV}).text),()=>{this.socket.send(xP(ew).text),delete this.socketState.subscriptions[ew]}}rawRequest(eb,em){return new Promise((eH,eV)=>{let ew;this.rawSubscribe(eb,{next:(eb,em)=>ew={data:eb,extensions:em},error:eV,complete:()=>eH(ew)},em)})}request(eb,em){return new Promise((eH,eV)=>{let ew;this.subscribe(eb,{next:eb=>ew=eb,error:eV,complete:()=>eH(ew)},em)})}subscribe(eb,em,eH){let{query:eV,operationName:ew}=C9(eb);return this.makeSubscribe(eV,ew,em,eH)}rawSubscribe(eb,em,eH){return this.makeSubscribe(eb,void 0,em,eH)}ping(eb){this.socket.send(xN(eb).text)}close(){this.socket.close(1e3)}}function xE(eb,em=eb=>eb){let eH=x_.parse(eb,em);return eH}function xA(eb){return new x_(xv,eb)}function xN(eb){return new x_(xH,eb,void 0)}function xI(eb){return new x_(xV,eb,void 0)}function xD(eb,em){return new x_(xw,em,eb)}function xP(eb){return new x_(xT,void 0,eb)}xS.PROTOCOL="graphql-transport-ws";let xO=eb=>{let em={};return eb&&("undefined"!=typeof Headers&&eb instanceof Headers||xy&&xb.Headers&&eb instanceof xb.Headers?em=Lw(eb):Array.isArray(eb)?eb.forEach(([eb,eH])=>{eb&&void 0!==eH&&(em[eb]=eH)}):em=eb),em},xR=eb=>eb.replace(/([\s,]|#[^\n\r]+)+/g," ").trim(),xB=eb=>{if(!Array.isArray(eb.query)){let em=eb,eH=[`query=${encodeURIComponent(xR(em.query))}`];return eb.variables&&eH.push(`variables=${encodeURIComponent(em.jsonSerializer.stringify(em.variables))}`),em.operationName&&eH.push(`operationName=${encodeURIComponent(em.operationName)}`),eH.join("&")}if(void 0!==eb.variables&&!Array.isArray(eb.variables))throw Error("Cannot create query with given variable type, array expected");let em=eb,eH=eb.query.reduce((eb,eH,eV)=>(eb.push({query:xR(eH),variables:em.variables?em.jsonSerializer.stringify(em.variables[eV]):void 0}),eb),[]);return`query=${encodeURIComponent(em.jsonSerializer.stringify(eH))}`},xF=eb=>async em=>{let eH;let{url:eV,query:ew,variables:eM,operationName:eC,fetch:eT,fetchOptions:e_,middleware:eS}=em,eE={...em.headers},eA="";"POST"===eb?"string"==typeof(eH=x$(ew,eM,eC,e_.jsonSerializer))&&(eE["Content-Type"]="application/json"):eA=xB({query:ew,variables:eM,operationName:eC,jsonSerializer:e_.jsonSerializer??LH});let eN={method:eb,headers:eE,body:eH,...e_},eI=eV,eD=eN;if(eS){let eb=await Promise.resolve(eS({...eN,url:eV,operationName:eC,variables:eM})),{url:em,...eH}=eb;eI=em,eD=eH}return eA&&(eI=`${eI}?${eA}`),await eT(eI,eD)};class xj{constructor(eb,em={}){this.url=eb,this.requestConfig=em,this.rawRequest=async(...eb)=>{let[em,eH,eV]=eb,ew=LC(em,eH,eV),{headers:eM,fetch:eC=xb,method:eT="POST",requestMiddleware:e_,responseMiddleware:eS,...eE}=this.requestConfig,{url:eA}=this;void 0!==ew.signal&&(eE.signal=ew.signal);let{operationName:eN}=C9(ew.query);return xU({url:eA,query:ew.query,variables:ew.variables,headers:{...xO(xZ(eM)),...xO(ew.requestHeaders)},operationName:eN,fetch:eC,method:eT,fetchOptions:eE,middleware:e_}).then(eb=>(eS&&eS(eb),eb)).catch(eb=>{throw eS&&eS(eb),eb})}}async request(eb,...em){let[eH,eV]=em,ew=LM(eb,eH,eV),{headers:eM,fetch:eC=xb,method:eT="POST",requestMiddleware:e_,responseMiddleware:eS,...eE}=this.requestConfig,{url:eA}=this;void 0!==ew.signal&&(eE.signal=ew.signal);let{query:eN,operationName:eI}=C9(ew.document);return xU({url:eA,query:eN,variables:ew.variables,headers:{...xO(xZ(eM)),...xO(ew.requestHeaders)},operationName:eI,fetch:eC,method:eT,fetchOptions:eE,middleware:e_}).then(eb=>(eS&&eS(eb),eb.data)).catch(eb=>{throw eS&&eS(eb),eb})}batchRequests(eb,em){let eH=Lx(eb,em),{headers:eV,...ew}=this.requestConfig;void 0!==eH.signal&&(ew.signal=eH.signal);let eM=eH.documents.map(({document:eb})=>C9(eb).query),eC=eH.documents.map(({variables:eb})=>eb);return xU({url:this.url,query:eM,variables:eC,headers:{...xO(xZ(eV)),...xO(eH.requestHeaders)},operationName:void 0,fetch:this.requestConfig.fetch??xb,method:this.requestConfig.method||"POST",fetchOptions:ew,middleware:this.requestConfig.requestMiddleware}).then(eb=>(this.requestConfig.responseMiddleware&&this.requestConfig.responseMiddleware(eb),eb.data)).catch(eb=>{throw this.requestConfig.responseMiddleware&&this.requestConfig.responseMiddleware(eb),eb})}setHeaders(eb){return this.requestConfig.headers=eb,this}setHeader(eb,em){let{headers:eH}=this.requestConfig;return eH?eH[eb]=em:this.requestConfig.headers={[eb]:em},this}setEndpoint(eb){return this.url=eb,this}}let xU=async eb=>{let{query:em,variables:eH,fetchOptions:eV}=eb,ew=xF(LV(eb.method??"post")),eM=Array.isArray(eb.query),eC=await ew(eb),eT=await xW(eC,eV.jsonSerializer??LH),e_=Array.isArray(eT)?!eT.some(({data:eb})=>!eb):!!eT.data,eS=Array.isArray(eT)||!eT.errors||Array.isArray(eT.errors)&&!eT.errors.length||"all"===eV.errorPolicy||"ignore"===eV.errorPolicy;if(eC.ok&&eS&&e_){let{errors:eb,...em}=(Array.isArray(eT),eT),eH="ignore"===eV.errorPolicy?em:eT,ew=eM?{data:eH}:eH;return{...ew,headers:eC.headers,status:eC.status}}{let eb="string"==typeof eT?{error:eT}:eT;throw new C7({...eb,status:eC.status,headers:eC.headers},{query:em,variables:eH})}};async function xq(eb,em,...eH){let eV=Lk(eb,em,...eH),ew=new xj(eV.url);return ew.request({...eV})}let x$=(eb,em,eH,eV)=>{let ew=eV??LH;if(!Array.isArray(eb))return ew.stringify({query:eb,variables:em,operationName:eH});if(void 0!==em&&!Array.isArray(em))throw Error("Cannot create request body with given variable type, array expected");let eM=eb.reduce((eb,eH,eV)=>(eb.push({query:eH,variables:em?em[eV]:void 0}),eb),[]);return ew.stringify(eM)},xW=async(eb,em)=>{let eH;return(eb.headers.forEach((eb,em)=>{"content-type"===em.toLowerCase()&&(eH=eb)}),eH&&(eH.toLowerCase().startsWith("application/json")||eH.toLowerCase().startsWith("application/graphql+json")||eH.toLowerCase().startsWith("application/graphql-response+json")))?em.parse(await eb.text()):eb.text()},xZ=eb=>"function"==typeof eb?eb():eb;class xG{constructor(eb){this.subgraphUrl=eb}async request(eb,em){return await xq({url:this.subgraphUrl,document:eb,variables:em?xK(em):void 0})}}function xK(eb){return Object.fromEntries(Object.entries(eb).filter(([,eb])=>""!==eb&&null!=eb).map(([eb,em])=>[eb,em!==Object(em)||Array.isArray(em)?em:xK(em)]))}let xY={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getAccountTokenSnapshots"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"where"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"AccountTokenSnapshot_filter"}}},defaultValue:{kind:"ObjectValue",fields:[]}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"skip"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"0"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"first"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"10"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderBy"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"AccountTokenSnapshot_orderBy"}}},defaultValue:{kind:"EnumValue",value:"id"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"OrderDirection"}}},defaultValue:{kind:"EnumValue",value:"asc"}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",alias:{kind:"Name",value:"result"},name:{kind:"Name",value:"accountTokenSnapshots"},arguments:[{kind:"Argument",name:{kind:"Name",value:"where"},value:{kind:"Variable",name:{kind:"Name",value:"where"}}},{kind:"Argument",name:{kind:"Name",value:"skip"},value:{kind:"Variable",name:{kind:"Name",value:"skip"}}},{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"Variable",name:{kind:"Name",value:"first"}}},{kind:"Argument",name:{kind:"Name",value:"orderDirection"},value:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}}},{kind:"Argument",name:{kind:"Name",value:"orderBy"},value:{kind:"Variable",name:{kind:"Name",value:"orderBy"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"updatedAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"updatedAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"totalNumberOfActiveStreams"}},{kind:"Field",name:{kind:"Name",value:"activeOutgoingStreamCount"}},{kind:"Field",name:{kind:"Name",value:"activeIncomingStreamCount"}},{kind:"Field",name:{kind:"Name",value:"totalNumberOfClosedStreams"}},{kind:"Field",name:{kind:"Name",value:"inactiveOutgoingStreamCount"}},{kind:"Field",name:{kind:"Name",value:"inactiveIncomingStreamCount"}},{kind:"Field",name:{kind:"Name",value:"totalSubscriptionsWithUnits"}},{kind:"Field",name:{kind:"Name",value:"totalApprovedSubscriptions"}},{kind:"Field",name:{kind:"Name",value:"balanceUntilUpdatedAt"}},{kind:"Field",name:{kind:"Name",value:"totalNetFlowRate"}},{kind:"Field",name:{kind:"Name",value:"totalInflowRate"}},{kind:"Field",name:{kind:"Name",value:"totalOutflowRate"}},{kind:"Field",name:{kind:"Name",value:"totalAmountStreamedUntilUpdatedAt"}},{kind:"Field",name:{kind:"Name",value:"totalAmountTransferredUntilUpdatedAt"}},{kind:"Field",name:{kind:"Name",value:"account"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"token"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"createdAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"createdAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"symbol"}},{kind:"Field",name:{kind:"Name",value:"isListed"}},{kind:"Field",name:{kind:"Name",value:"isNativeAssetSuperToken"}},{kind:"Field",name:{kind:"Name",value:"underlyingAddress"}}]}}]}}]}}]},xX={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getAllEvents"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"where"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Event_filter"}}},defaultValue:{kind:"ObjectValue",fields:[]}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"skip"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"0"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"first"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"10"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderBy"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Event_orderBy"}}},defaultValue:{kind:"EnumValue",value:"id"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"OrderDirection"}}},defaultValue:{kind:"EnumValue",value:"asc"}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"events"},arguments:[{kind:"Argument",name:{kind:"Name",value:"where"},value:{kind:"Variable",name:{kind:"Name",value:"where"}}},{kind:"Argument",name:{kind:"Name",value:"skip"},value:{kind:"Variable",name:{kind:"Name",value:"skip"}}},{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"Variable",name:{kind:"Name",value:"first"}}},{kind:"Argument",name:{kind:"Name",value:"orderBy"},value:{kind:"Variable",name:{kind:"Name",value:"orderBy"}}},{kind:"Argument",name:{kind:"Name",value:"orderDirection"},value:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"FlowUpdatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"type"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"sender"}},{kind:"Field",name:{kind:"Name",value:"receiver"}},{kind:"Field",name:{kind:"Name",value:"flowRate"}},{kind:"Field",name:{kind:"Name",value:"flowOperator"}},{kind:"Field",name:{kind:"Name",value:"deposit"}},{kind:"Field",name:{kind:"Name",value:"stream"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"FlowOperatorUpdatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"sender"}},{kind:"Field",name:{kind:"Name",value:"permissions"}},{kind:"Field",name:{kind:"Name",value:"flowRateAllowance"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"IndexCreatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"index"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"IndexDistributionClaimedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"subscriber"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"index"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"amount"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"IndexUpdatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"totalUnitsPending"}},{kind:"Field",name:{kind:"Name",value:"totalUnitsApproved"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"oldIndexValue"}},{kind:"Field",name:{kind:"Name",value:"newIndexValue"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"index"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"IndexSubscribedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"subscriber"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"index"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"IndexUnitsUpdatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"units"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"subscriber"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"oldUnits"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"index"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"IndexUnsubscribedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"subscriber"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"index"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SubscriptionApprovedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"subscription"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"subscriber"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SubscriptionDistributionClaimedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"subscription"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"subscriber"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"amount"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SubscriptionRevokedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"subscription"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"subscriber"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SubscriptionUnitsUpdatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"units"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"subscription"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"subscriber"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"oldUnits"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"TransferEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"value"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"to"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"from"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"TokenUpgradedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"amount"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"account"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"TokenDowngradedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"amount"}},{kind:"Field",name:{kind:"Name",value:"account"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"AgreementClassRegisteredEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"code"}},{kind:"Field",name:{kind:"Name",value:"agreementType"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"AgreementClassUpdatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"code"}},{kind:"Field",name:{kind:"Name",value:"agreementType"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"AppRegisteredEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"app"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"GovernanceReplacedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"oldGovernance"}},{kind:"Field",name:{kind:"Name",value:"newGovernance"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"JailEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"reason"}},{kind:"Field",name:{kind:"Name",value:"app"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SuperTokenFactoryUpdatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"newFactory"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SuperTokenLogicUpdatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"code"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"RoleAdminChangedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"previousAdminRole"}},{kind:"Field",name:{kind:"Name",value:"newAdminRole"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"RoleGrantedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"sender"}},{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"account"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"RoleRevokedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"sender"}},{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"account"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SetEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"hashedName"}},{kind:"Field",name:{kind:"Name",value:"target"}},{kind:"Field",name:{kind:"Name",value:"resolverEntry"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"CFAv1LiquidationPeriodChangedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"superToken"}},{kind:"Field",name:{kind:"Name",value:"host"}},{kind:"Field",name:{kind:"Name",value:"governanceAddress"}},{kind:"Field",name:{kind:"Name",value:"liquidationPeriod"}},{kind:"Field",name:{kind:"Name",value:"isKeySet"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"ConfigChangedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"value"}},{kind:"Field",name:{kind:"Name",value:"superToken"}},{kind:"Field",name:{kind:"Name",value:"key"}},{kind:"Field",name:{kind:"Name",value:"isKeySet"}},{kind:"Field",name:{kind:"Name",value:"host"}},{kind:"Field",name:{kind:"Name",value:"governanceAddress"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"RewardAddressChangedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"superToken"}},{kind:"Field",name:{kind:"Name",value:"rewardAddress"}},{kind:"Field",name:{kind:"Name",value:"isKeySet"}},{kind:"Field",name:{kind:"Name",value:"host"}},{kind:"Field",name:{kind:"Name",value:"governanceAddress"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"PPPConfigurationChangedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"host"}},{kind:"Field",name:{kind:"Name",value:"governanceAddress"}},{kind:"Field",name:{kind:"Name",value:"superToken"}},{kind:"Field",name:{kind:"Name",value:"isKeySet"}},{kind:"Field",name:{kind:"Name",value:"liquidationPeriod"}},{kind:"Field",name:{kind:"Name",value:"patricianPeriod"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"TrustedForwarderChangedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"isKeySet"}},{kind:"Field",name:{kind:"Name",value:"host"}},{kind:"Field",name:{kind:"Name",value:"governanceAddress"}},{kind:"Field",name:{kind:"Name",value:"forwarder"}},{kind:"Field",name:{kind:"Name",value:"enabled"}},{kind:"Field",name:{kind:"Name",value:"superToken"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SuperTokenMinimumDepositChangedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"isKeySet"}},{kind:"Field",name:{kind:"Name",value:"host"}},{kind:"Field",name:{kind:"Name",value:"governanceAddress"}},{kind:"Field",name:{kind:"Name",value:"minimumDeposit"}},{kind:"Field",name:{kind:"Name",value:"superToken"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"AgreementLiquidatedByEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"rewardAmount"}},{kind:"Field",name:{kind:"Name",value:"penaltyAccount"}},{kind:"Field",name:{kind:"Name",value:"liquidatorAccount"}},{kind:"Field",name:{kind:"Name",value:"bondAccount"}},{kind:"Field",name:{kind:"Name",value:"bailoutAmount"}},{kind:"Field",name:{kind:"Name",value:"agreementId"}},{kind:"Field",name:{kind:"Name",value:"agreementClass"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"AgreementLiquidatedV2Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"liquidatorAccount"}},{kind:"Field",name:{kind:"Name",value:"agreementClass"}},{kind:"Field",name:{kind:"Name",value:"agreementId"}},{kind:"Field",name:{kind:"Name",value:"targetAccount"}},{kind:"Field",name:{kind:"Name",value:"rewardAmountReceiver"}},{kind:"Field",name:{kind:"Name",value:"rewardAmount"}},{kind:"Field",name:{kind:"Name",value:"targetAccountBalanceDelta"}},{kind:"Field",name:{kind:"Name",value:"version"}},{kind:"Field",name:{kind:"Name",value:"liquidationType"}},{kind:"Field",name:{kind:"Name",value:"rewardAccount"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"BurnedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"operatorData"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"operator"}},{kind:"Field",name:{kind:"Name",value:"from"}},{kind:"Field",name:{kind:"Name",value:"data"}},{kind:"Field",name:{kind:"Name",value:"amount"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"MintedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"operatorData"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"operator"}},{kind:"Field",name:{kind:"Name",value:"data"}},{kind:"Field",name:{kind:"Name",value:"amount"}},{kind:"Field",name:{kind:"Name",value:"to"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SentEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"to"}},{kind:"Field",name:{kind:"Name",value:"operatorData"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"operator"}},{kind:"Field",name:{kind:"Name",value:"data"}},{kind:"Field",name:{kind:"Name",value:"amount"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"CustomSuperTokenCreatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SuperTokenCreatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SuperTokenLogicCreatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"tokenLogic"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"NewPICEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"pic"}},{kind:"Field",name:{kind:"Name",value:"bond"}},{kind:"Field",name:{kind:"Name",value:"exitRate"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"ExitRateChangedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"exitRate"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"BondIncreasedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"additionalBond"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}}]}}]}}]},xJ={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getIndexSubscriptions"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"where"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"IndexSubscription_filter"}}},defaultValue:{kind:"ObjectValue",fields:[]}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"skip"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"0"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"first"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"10"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderBy"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"IndexSubscription_orderBy"}}},defaultValue:{kind:"EnumValue",value:"id"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"OrderDirection"}}},defaultValue:{kind:"EnumValue",value:"asc"}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",alias:{kind:"Name",value:"result"},name:{kind:"Name",value:"indexSubscriptions"},arguments:[{kind:"Argument",name:{kind:"Name",value:"where"},value:{kind:"Variable",name:{kind:"Name",value:"where"}}},{kind:"Argument",name:{kind:"Name",value:"skip"},value:{kind:"Variable",name:{kind:"Name",value:"skip"}}},{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"Variable",name:{kind:"Name",value:"first"}}},{kind:"Argument",name:{kind:"Name",value:"orderBy"},value:{kind:"Variable",name:{kind:"Name",value:"orderBy"}}},{kind:"Argument",name:{kind:"Name",value:"orderDirection"},value:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"createdAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"createdAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"updatedAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"updatedAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"subscriber"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"approved"}},{kind:"Field",name:{kind:"Name",value:"units"}},{kind:"Field",name:{kind:"Name",value:"totalAmountReceivedUntilUpdatedAt"}},{kind:"Field",name:{kind:"Name",value:"indexValueUntilUpdatedAt"}},{kind:"Field",name:{kind:"Name",value:"index"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"indexValue"}},{kind:"Field",name:{kind:"Name",value:"token"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"createdAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"createdAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"symbol"}},{kind:"Field",name:{kind:"Name",value:"isListed"}},{kind:"Field",name:{kind:"Name",value:"isNativeAssetSuperToken"}},{kind:"Field",name:{kind:"Name",value:"underlyingAddress"}}]}}]}}]}}]}}]},xQ={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getIndexes"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"where"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Index_filter"}}},defaultValue:{kind:"ObjectValue",fields:[]}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"skip"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"0"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"first"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"10"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderBy"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Index_orderBy"}}},defaultValue:{kind:"EnumValue",value:"id"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"OrderDirection"}}},defaultValue:{kind:"EnumValue",value:"asc"}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",alias:{kind:"Name",value:"result"},name:{kind:"Name",value:"indexes"},arguments:[{kind:"Argument",name:{kind:"Name",value:"where"},value:{kind:"Variable",name:{kind:"Name",value:"where"}}},{kind:"Argument",name:{kind:"Name",value:"skip"},value:{kind:"Variable",name:{kind:"Name",value:"skip"}}},{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"Variable",name:{kind:"Name",value:"first"}}},{kind:"Argument",name:{kind:"Name",value:"orderBy"},value:{kind:"Variable",name:{kind:"Name",value:"orderBy"}}},{kind:"Argument",name:{kind:"Name",value:"orderDirection"},value:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"createdAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"createdAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"updatedAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"updatedAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"indexValue"}},{kind:"Field",name:{kind:"Name",value:"totalSubscriptionsWithUnits"}},{kind:"Field",name:{kind:"Name",value:"totalUnitsPending"}},{kind:"Field",name:{kind:"Name",value:"totalUnitsApproved"}},{kind:"Field",name:{kind:"Name",value:"totalUnits"}},{kind:"Field",name:{kind:"Name",value:"totalAmountDistributedUntilUpdatedAt"}},{kind:"Field",name:{kind:"Name",value:"token"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"createdAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"createdAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"symbol"}},{kind:"Field",name:{kind:"Name",value:"isListed"}},{kind:"Field",name:{kind:"Name",value:"isNativeAssetSuperToken"}},{kind:"Field",name:{kind:"Name",value:"underlyingAddress"}}]}},{kind:"Field",name:{kind:"Name",value:"publisher"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}}]}}]}}]},kb={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getStreams"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"where"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Stream_filter"}}},defaultValue:{kind:"ObjectValue",fields:[]}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"skip"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"0"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"first"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"10"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderBy"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Stream_orderBy"}}},defaultValue:{kind:"EnumValue",value:"id"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"OrderDirection"}}},defaultValue:{kind:"EnumValue",value:"asc"}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",alias:{kind:"Name",value:"result"},name:{kind:"Name",value:"streams"},arguments:[{kind:"Argument",name:{kind:"Name",value:"where"},value:{kind:"Variable",name:{kind:"Name",value:"where"}}},{kind:"Argument",name:{kind:"Name",value:"skip"},value:{kind:"Variable",name:{kind:"Name",value:"skip"}}},{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"Variable",name:{kind:"Name",value:"first"}}},{kind:"Argument",name:{kind:"Name",value:"orderBy"},value:{kind:"Variable",name:{kind:"Name",value:"orderBy"}}},{kind:"Argument",name:{kind:"Name",value:"orderDirection"},value:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"createdAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"createdAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"updatedAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"updatedAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"currentFlowRate"}},{kind:"Field",name:{kind:"Name",value:"streamedUntilUpdatedAt"}},{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"token"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"createdAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"createdAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"symbol"}},{kind:"Field",name:{kind:"Name",value:"isListed"}},{kind:"Field",name:{kind:"Name",value:"isNativeAssetSuperToken"}},{kind:"Field",name:{kind:"Name",value:"underlyingAddress"}}]}},{kind:"Field",name:{kind:"Name",value:"sender"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"receiver"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"flowUpdatedEvents"},arguments:[{kind:"Argument",name:{kind:"Name",value:"orderBy"},value:{kind:"EnumValue",value:"timestamp"}},{kind:"Argument",name:{kind:"Name",value:"orderDirection"},value:{kind:"EnumValue",value:"asc"}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"sender"}},{kind:"Field",name:{kind:"Name",value:"receiver"}},{kind:"Field",name:{kind:"Name",value:"flowRate"}},{kind:"Field",name:{kind:"Name",value:"totalSenderFlowRate"}},{kind:"Field",name:{kind:"Name",value:"totalReceiverFlowRate"}},{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"oldFlowRate"}},{kind:"Field",name:{kind:"Name",value:"type"}},{kind:"Field",name:{kind:"Name",value:"totalAmountStreamedUntilTimestamp"}}]}}]}}]}}]},km={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getTokens"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"where"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Token_filter"}}},defaultValue:{kind:"ObjectValue",fields:[]}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"skip"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"0"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"first"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"10"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderBy"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Token_orderBy"}}},defaultValue:{kind:"EnumValue",value:"id"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"OrderDirection"}}},defaultValue:{kind:"EnumValue",value:"asc"}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",alias:{kind:"Name",value:"result"},name:{kind:"Name",value:"tokens"},arguments:[{kind:"Argument",name:{kind:"Name",value:"where"},value:{kind:"Variable",name:{kind:"Name",value:"where"}}},{kind:"Argument",name:{kind:"Name",value:"skip"},value:{kind:"Variable",name:{kind:"Name",value:"skip"}}},{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"Variable",name:{kind:"Name",value:"first"}}},{kind:"Argument",name:{kind:"Name",value:"orderBy"},value:{kind:"Variable",name:{kind:"Name",value:"orderBy"}}},{kind:"Argument",name:{kind:"Name",value:"orderDirection"},value:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"createdAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"createdAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"symbol"}},{kind:"Field",name:{kind:"Name",value:"isListed"}},{kind:"Field",name:{kind:"Name",value:"isNativeAssetSuperToken"}},{kind:"Field",name:{kind:"Name",value:"underlyingAddress"}}]}}]}}]};class ky{constructor(eb){this.listAllSuperTokens=async(eb,em=Lb(),eH={orderBy:"createdAtBlockNumber",orderDirection:"desc"})=>{MU(eb);let eV=await this.subgraphClient.request(km,{where:{isListed:eb.isListed,isSuperToken:!0,id_gt:em.lastId},orderBy:null==eH?void 0:eH.orderBy,orderDirection:null==eH?void 0:eH.orderDirection,first:Lz(em),skip:em.skip}),ew=eV.result.map(eb=>Mx({...eb,createdAtTimestamp:Number(eb.createdAtTimestamp),createdAtBlockNumber:Number(eb.createdAtBlockNumber)}));return M5(ew,em)},this.listIndexes=async(eb,em=Lb(),eH={orderBy:"createdAtBlockNumber",orderDirection:"desc"})=>{var eV,ew;MG(eb);let eM=await this.subgraphClient.request(xQ,{where:{indexId:eb.indexId,publisher:null===(eV=eb.publisher)||void 0===eV?void 0:eV.toLowerCase(),token:null===(ew=eb.token)||void 0===ew?void 0:ew.toLowerCase(),id_gt:em.lastId},orderBy:null==eH?void 0:eH.orderBy,orderDirection:null==eH?void 0:eH.orderDirection,first:Lz(em),skip:em.skip}),eC=eM.result.map(eb=>Mx({...eb,publisher:eb.publisher.id,createdAtTimestamp:Number(eb.createdAtTimestamp),createdAtBlockNumber:Number(eb.createdAtBlockNumber),updatedAtTimestamp:Number(eb.updatedAtTimestamp),updatedAtBlockNumber:Number(eb.updatedAtBlockNumber),token:{...eb.token,createdAtTimestamp:Number(eb.token.createdAtTimestamp),createdAtBlockNumber:Number(eb.token.createdAtBlockNumber)}}));return M5(eC,em)},this.listIndexSubscriptions=async(eb,em=Lb(),eH={orderBy:"createdAtBlockNumber",orderDirection:"desc"})=>{var eV;MQ(eb);let ew=await this.subgraphClient.request(xJ,{where:{subscriber:null===(eV=eb.subscriber)||void 0===eV?void 0:eV.toLowerCase(),approved:eb.approved,id_gt:em.lastId},orderBy:null==eH?void 0:eH.orderBy,orderDirection:null==eH?void 0:eH.orderDirection,first:Lz(em),skip:em.skip}),eM=ew.result.map(eb=>Mx({...eb,subscriber:eb.subscriber.id,createdAtTimestamp:Number(eb.createdAtTimestamp),createdAtBlockNumber:Number(eb.createdAtBlockNumber),updatedAtTimestamp:Number(eb.updatedAtTimestamp),updatedAtBlockNumber:Number(eb.updatedAtBlockNumber),index:{...eb.index,token:{...eb.index.token,createdAtTimestamp:Number(eb.index.token.createdAtTimestamp),createdAtBlockNumber:Number(eb.index.token.createdAtBlockNumber)}}}));return M5(eM,em)},this.listStreams=async(eb,em=Lb(),eH={orderBy:"createdAtBlockNumber",orderDirection:"desc"})=>{var eV,ew,eM;M2(eb);let eC=await this.subgraphClient.request(kb,{where:{sender:null===(eV=eb.sender)||void 0===eV?void 0:eV.toLowerCase(),receiver:null===(ew=eb.receiver)||void 0===ew?void 0:ew.toLowerCase(),token:null===(eM=eb.token)||void 0===eM?void 0:eM.toLowerCase(),id_gt:em.lastId},orderBy:null==eH?void 0:eH.orderBy,orderDirection:null==eH?void 0:eH.orderDirection,first:Lz(em),skip:em.skip}),eT=eC.result.map(eb=>Mx({...eb,sender:eb.sender.id,receiver:eb.receiver.id,createdAtTimestamp:Number(eb.createdAtTimestamp),createdAtBlockNumber:Number(eb.createdAtBlockNumber),updatedAtTimestamp:Number(eb.updatedAtTimestamp),updatedAtBlockNumber:Number(eb.updatedAtBlockNumber),token:{...eb.token,createdAtTimestamp:Number(eb.token.createdAtTimestamp),createdAtBlockNumber:Number(eb.token.createdAtBlockNumber)},flowUpdatedEvents:eb.flowUpdatedEvents.map(eb=>({...eb,blockNumber:Number(eb.blockNumber),timestamp:Number(eb.timestamp)}))}));return M5(eT,em)},this.listUserInteractedSuperTokens=async(eb,em=Lb(),eH={orderBy:"updatedAtBlockNumber",orderDirection:"desc"})=>{var eV,ew;MX(eb);let eM=await this.subgraphClient.request(xY,{where:{account:null===(eV=eb.account)||void 0===eV?void 0:eV.toLowerCase(),token:null===(ew=eb.token)||void 0===ew?void 0:ew.toLowerCase(),id_gt:em.lastId},orderBy:null==eH?void 0:eH.orderBy,orderDirection:null==eH?void 0:eH.orderDirection,first:Lz(em),skip:em.skip}),eC=eM.result.map(eb=>Mx({...eb,account:eb.account.id,updatedAtTimestamp:Number(eb.updatedAtTimestamp),updatedAtBlockNumber:Number(eb.updatedAtBlockNumber),token:{...eb.token,createdAtTimestamp:Number(eb.token.createdAtTimestamp),createdAtBlockNumber:Number(eb.token.createdAtBlockNumber)}}));return M5(eC,em)},this.listEvents=async(eb,em=Lb(),eH={orderBy:"blockNumber",orderDirection:"desc"})=>{var eV,ew;M$(eb);let eM=await this.subgraphClient.request(xX,{orderBy:null==eH?void 0:eH.orderBy,orderDirection:null==eH?void 0:eH.orderDirection,where:{addresses_contains:eb.account?[null===(eV=eb.account)||void 0===eV?void 0:eV.toLowerCase()]:void 0,timestamp_gt:null===(ew=eb.timestamp_gt)||void 0===ew?void 0:ew.toString(),id_gt:em.lastId},first:Lz(em),skip:em.skip});return M5(M4(eM.events),em)},this.options=eb,this.subgraphClient=new xG(this.options.customSubgraphQueriesEndpoint)}on(eb,em,eH,eV){if(em<1e3)throw Error("Let's not go crazy with the queries...");let ew=25e3,eM=Math.floor((new Date().getTime()-ew)/1e3),eC=!1,eT=()=>{eC=!0},e_=async()=>{if(eC)return;let eV=await kv(eb=>this.listEvents({account:eH,timestamp_gt:eM},eb,{orderBy:"timestamp",orderDirection:"asc"})),ew=Mj().last(eV);return ew&&(eb(eV,eT),eM=ew.timestamp),setTimeout(()=>{e_()},em)};return eV&&setTimeout(()=>{eT()},eV),e_(),eT}}let kv=async eb=>{let em=async eH=>{let eV=await eb(eH);if(!eV.nextPaging)return eV.data;let ew=await em(eV.nextPaging);return eV.data.concat(ew)};return em(Lm({take:999}))};class kz{constructor(eb){this.balanceOf=async eb=>{try{let em=Mm(eb.owner),eH=await this.contract.connect(eb.providerOrSigner).balanceOf(em);return eH.toString()}catch(eb){throw new uS({type:"NFT_READ",message:"There was an error getting balanceOf",cause:eb})}},this.ownerOf=async eb=>{try{let em=await this.contract.connect(eb.providerOrSigner).ownerOf(eb.tokenId);return em.toString()}catch(eb){throw new uS({type:"NFT_READ",message:"There was an error getting ownerOf",cause:eb})}},this.getApproved=async eb=>{try{let em=await this.contract.connect(eb.providerOrSigner).getApproved(eb.tokenId);return em}catch(eb){throw new uS({type:"NFT_READ",message:"There was an error getting getApproved",cause:eb})}},this.isApprovedForAll=async eb=>{try{let em=Mm(eb.owner),eH=Mm(eb.operator),eV=await this.contract.connect(eb.providerOrSigner).isApprovedForAll(em,eH);return eV}catch(eb){throw new uS({type:"NFT_READ",message:"There was an error getting isApprovedForAll",cause:eb})}},this.name=async({providerOrSigner:eb})=>{try{let em=await this.contract.connect(eb).name();return em}catch(eb){throw new uS({type:"NFT_READ",message:"There was an error getting name",cause:eb})}},this.symbol=async({providerOrSigner:eb})=>{try{let em=await this.contract.connect(eb).symbol();return em}catch(eb){throw new uS({type:"NFT_READ",message:"There was an error getting symbol",cause:eb})}},this.tokenURI=async eb=>{try{let em=await this.contract.connect(eb.providerOrSigner).tokenURI(eb.tokenId);return em}catch(eb){throw new uS({type:"NFT_READ",message:"There was an error getting tokenURI",cause:eb})}},this.approve=eb=>{let em=Mm(eb.approved),eH=this.contract.populateTransaction.approve(em,eb.tokenId,eb.overrides||{});return new MT(eH,"UNSUPPORTED")},this.setApprovalForAll=eb=>{let em=Mm(eb.operator),eH=this.contract.populateTransaction.setApprovalForAll(em,eb.approved,eb.overrides||{});return new MT(eH,"UNSUPPORTED")},this.transferFrom=eb=>{let em=Mm(eb.from),eH=Mm(eb.to),eV=this.contract.populateTransaction.transferFrom(em,eH,eb.tokenId,eb.overrides||{});return new MT(eV,"UNSUPPORTED")},this.safeTransferFrom=eb=>{let em=Mm(eb.from),eH=Mm(eb.to),eV=this.contract.populateTransaction["safeTransferFrom(address,address,uint256)"](em,eH,eb.tokenId,eb.overrides||{});return new MT(eV,"UNSUPPORTED")},this.safeTransferFromWithData=eb=>{let em=Mm(eb.from),eH=Mm(eb.to),eV=this.contract.populateTransaction["safeTransferFrom(address,address,uint256,bytes)"](em,eH,eb.tokenId,eb.data,eb.overrides||{});return new MT(eV,"UNSUPPORTED")},this._sanitizeNFTFlowData=eb=>({flowSender:eb.flowSender,flowStartDate:Mw(eb.flowStartDate),flowReceiver:eb.flowReceiver}),this.address=eb,this.contract=new uw.CH(eb,pV.abi)}}class kH extends kz{constructor(eb){super(eb),this.getTokenId=async({superToken:eb,sender:em,receiver:eH,providerOrSigner:eV})=>{let ew=Mm(eb),eM=Mm(em),eC=Mm(eH);try{let eb=await this.contract.connect(eV).getTokenId(ew,eM,eC);return eb.toString()}catch(eb){throw new uS({type:"NFT_READ",message:"There was an error getting token id",cause:eb})}},this.flowDataByTokenId=async({tokenId:eb,providerOrSigner:em})=>{try{let eH=await this.contract.connect(em).flowDataByTokenId(eb);return this._sanitizeNFTFlowData(eH)}catch(eb){throw new uS({type:"NFT_READ",message:"There was an error getting flow data by token id",cause:eb})}},this.contract=new uw.CH(eb,HY.abi)}}class kV extends kH{constructor(eb){super(eb),this.contract=new uw.CH(eb,Hq.abi)}}class kw extends kH{constructor(eb){super(eb),this.contract=new uw.CH(eb,HG.abi)}}let kM=eb=>{if(!eb.chainId)throw new uS({type:"FRAMEWORK_INITIALIZATION",message:"You must input chainId."});if(!eb.provider)throw new uS({type:"FRAMEWORK_INITIALIZATION",message:"You must pass in a provider, an injected web3.js or ethers.js instance when initializing the framework."});if(null!=eb.chainId&&!wW.includes(eb.chainId)&&Mv(eb.resolverAddress))throw new uS({type:"FRAMEWORK_INITIALIZATION",message:"You must input your own resolver address if you use an unsupported network."})},kC=eb=>{let em=eb.chainId?wJ.get(eb.chainId):null;return em?em.subgraphAPIEndpoint:""},kx=eb=>{var em;return(eb.chainId?null===(em=wJ.get(eb.chainId))||void 0===em?void 0:em.networkName:void 0)||"custom"};class kk extends MD{constructor(eb,em){super(em.address),this.send=eb=>{let em=Mm(eb.recipient),eH=this.contract.populateTransaction.send(em,eb.amount,eb.userData||"0x",eb.overrides||{});return new MT(eH,"ERC777_SEND")},this.realtimeBalanceOf=async({providerOrSigner:eb,account:em,timestamp:eH=MV()})=>{let eV=Mm(em);try{let em=await this.contract.connect(eb).realtimeBalanceOf(eV,eH);return{availableBalance:em.availableBalance.toString(),deposit:em.deposit.toString(),owedDeposit:em.owedDeposit.toString(),timestamp:Mw(eH)}}catch(eb){throw new uS({type:"SUPERTOKEN_READ",message:"There was an error getting realtimeBalanceOf",cause:eb})}},this.getFlow=async eb=>await this.cfaV1.getFlow({superToken:this.settings.address,sender:eb.sender,receiver:eb.receiver,providerOrSigner:eb.providerOrSigner}),this.getAccountFlowInfo=async eb=>await this.cfaV1.getAccountFlowInfo({superToken:this.settings.address,account:eb.account,providerOrSigner:eb.providerOrSigner}),this.getNetFlow=async eb=>await this.cfaV1.getNetFlow({superToken:this.settings.address,account:eb.account,providerOrSigner:eb.providerOrSigner}),this.getFlowOperatorData=async eb=>{let em=Mm(eb.sender),eH=Mm(eb.flowOperator);return await this.cfaV1.getFlowOperatorData({superToken:this.settings.address,sender:em,flowOperator:eH,providerOrSigner:eb.providerOrSigner})},this.getFlowOperatorDataByID=async eb=>await this.cfaV1.getFlowOperatorDataByID({superToken:this.settings.address,flowOperatorId:eb.flowOperatorId,providerOrSigner:eb.providerOrSigner}),this.increaseAllowance=eb=>{let em=Mm(eb.spender),eH=this.contract.populateTransaction.increaseAllowance(em,eb.amount,eb.overrides||{});return new MT(eH,"ERC20_INCREASE_ALLOWANCE")},this.decreaseAllowance=eb=>{let em=Mm(eb.spender),eH=this.contract.populateTransaction.decreaseAllowance(em,eb.amount,eb.overrides||{});return new MT(eH,"ERC20_DECREASE_ALLOWANCE")},this.createFlow=eb=>this.cfaV1.createFlow({superToken:this.settings.address,...eb}),this.updateFlow=eb=>this.cfaV1.updateFlow({superToken:this.settings.address,...eb}),this.deleteFlow=eb=>this.cfaV1.deleteFlow({superToken:this.settings.address,...eb}),this.createFlowByOperator=eb=>this.cfaV1.createFlowByOperator({superToken:this.settings.address,...eb}),this.updateFlowByOperator=eb=>this.cfaV1.updateFlowByOperator({superToken:this.settings.address,...eb}),this.deleteFlowByOperator=eb=>this.cfaV1.deleteFlowByOperator({superToken:this.settings.address,...eb}),this.getSubscription=async eb=>await this.idaV1.getSubscription({superToken:this.settings.address,...eb}),this.getIndex=async eb=>await this.idaV1.getIndex({superToken:this.settings.address,...eb}),this.createIndex=eb=>this.idaV1.createIndex({superToken:this.settings.address,...eb}),this.distribute=eb=>this.idaV1.distribute({superToken:this.settings.address,...eb}),this.updateIndexValue=eb=>this.idaV1.updateIndexValue({superToken:this.settings.address,...eb}),this.updateSubscriptionUnits=eb=>this.idaV1.updateSubscriptionUnits({superToken:this.settings.address,...eb}),this.approveSubscription=eb=>this.idaV1.approveSubscription({superToken:this.settings.address,...eb}),this.revokeSubscription=eb=>this.idaV1.revokeSubscription({superToken:this.settings.address,...eb}),this.deleteSubscription=eb=>this.idaV1.deleteSubscription({superToken:this.settings.address,...eb}),this.claim=eb=>this.idaV1.claim({superToken:this.settings.address,...eb}),this.getGovernanceParameters=async eb=>this.governance.getGovernanceParameters({providerOrSigner:eb,token:this.settings.address}),this.options=eb,this.settings=em,this.cfaV1=new MI(em.config.hostAddress,em.config.cfaV1Address,em.config.cfaV1ForwarderAddress),this.idaV1=new MB(em.config.hostAddress,em.config.idaV1Address),this.governance=new MO(em.config.hostAddress,em.config.governanceAddress),this.contract=new uw.CH(em.address,bv.abi)}increaseFlowRateAllowance(eb){return this.cfaV1.increaseFlowRateAllowance({superToken:this.settings.address,...eb})}decreaseFlowRateAllowance(eb){return this.cfaV1.decreaseFlowRateAllowance({superToken:this.settings.address,...eb})}increaseFlowRateAllowanceWithPermissions(eb){return this.cfaV1.increaseFlowRateAllowanceWithPermissions({superToken:this.settings.address,...eb})}decreaseFlowRateAllowanceWithPermissions(eb){return this.cfaV1.decreaseFlowRateAllowanceWithPermissions({superToken:this.settings.address,...eb})}updateFlowOperatorPermissions(eb){return this.cfaV1.updateFlowOperatorPermissions({superToken:this.settings.address,...eb})}authorizeFlowOperatorWithFullControl(eb){return this.cfaV1.authorizeFlowOperatorWithFullControl({superToken:this.settings.address,...eb})}revokeFlowOperatorWithFullControl(eb){return this.cfaV1.revokeFlowOperatorWithFullControl({superToken:this.settings.address,...eb})}}k$=kk,kk.create=async eb=>{if(!eb.chainId&&!eb.networkName)throw new uS({type:"SUPERTOKEN_INITIALIZATION",message:"You must input chainId or networkName."});let em=kx(eb),eH=eb.chainId||wQ.get(em);try{let eV=bv.connect(eb.address,eb.provider),ew=eV.connect(eb.provider).getUnderlyingToken(),eM=await Mk(ew,MP.d),eC={address:eb.address,config:eb.config,chainId:eH,networkName:em},eT=await eV.connect(eb.provider).symbol(),e_=wJ.get(eH)||{subgraphAPIEndpoint:"",resolverAddress:"",networkName:"",nativeTokenSymbol:""},eS=e_.nativeTokenSymbol||"ETH",eE=eS+"x",eA=await Mk(eV.CONSTANT_OUTFLOW_NFT(),MP.d),eN=await Mk(eV.CONSTANT_INFLOW_NFT(),MP.d),eI="G$";if(eT===eI){let eb=new uN.vU(["function constantInflowNFT() view returns (address)","function constantOutflowNFT() view returns (address)"]),em=new uw.CH(eV.address,eb);eA===MP.d&&(eA=await Mk(em.constantOutflowNFT(),MP.d)),eN===MP.d&&(eN=await Mk(em.constantInflowNFT(),MP.d))}let eD={constantOutflowNFTProxy:eA,constantInflowNFTProxy:eN};if(eE===eT)return new kA(eb,eC,eS,eD);if(eM!==MP.d)return new kS(eb,{...eC,underlyingTokenAddress:eM},eD);return new kE(eb,eC,eD)}catch(eb){throw new uS({type:"SUPERTOKEN_INITIALIZATION",message:"There was an error initializing the SuperToken",cause:eb})}};var kT=kk;class kS extends kk{constructor(eb,em,eH){super(eb,em),this.downgrade=({amount:eb,overrides:em})=>{let eH=this.contract.populateTransaction.downgrade(eb,em||{});return new MT(eH,"SUPERTOKEN_DOWNGRADE")},this.downgradeTo=({amount:eb,to:em,overrides:eH})=>{let eV=this.contract.populateTransaction.downgradeTo(em,eb,{...eH});return new MT(eV,"UNSUPPORTED")},this.upgrade=({amount:eb,overrides:em})=>{let eH=this.contract.populateTransaction.upgrade(eb,em||{});return new MT(eH,"SUPERTOKEN_UPGRADE")},this.upgradeTo=({amount:eb,to:em,data:eH="0x",overrides:eV})=>{let ew=this.contract.populateTransaction.upgradeTo(em,eb,eH,{...eV});return new MT(ew,"UNSUPPORTED")},this.underlyingToken=new MD(em.underlyingTokenAddress),this.constantInflowNFTProxy=new kV(eH.constantInflowNFTProxy),this.constantOutflowNFTProxy=new kw(eH.constantOutflowNFTProxy)}}class kE extends kk{constructor(eb,em,eH){super(eb,em),this.constantInflowNFTProxy=new kV(eH.constantInflowNFTProxy),this.constantOutflowNFTProxy=new kw(eH.constantOutflowNFTProxy)}}class kA extends kk{constructor(eb,em,eH,eV){super(eb,em),this.upgrade=({amount:eb,overrides:em})=>{let eH=this.nativeAssetContract.populateTransaction.upgradeByETH({...em,value:eb});return new MT(eH,"UNSUPPORTED")},this.upgradeTo=({amount:eb,to:em,overrides:eH})=>{let eV=this.nativeAssetContract.populateTransaction.upgradeByETHTo(em,{...eH,value:eb});return new MT(eV,"UNSUPPORTED")},this.downgrade=({amount:eb,overrides:em})=>{let eH=this.nativeAssetContract.populateTransaction.downgradeToETH(eb,{...em});return new MT(eH,"UNSUPPORTED")},this.nativeTokenSymbol=eH,this.constantInflowNFTProxy=new kV(eV.constantInflowNFTProxy),this.constantOutflowNFTProxy=new kw(eV.constantOutflowNFTProxy)}get nativeAssetContract(){return new uw.CH(this.settings.address,bP.abi)}}let kN="v1";class kI{constructor(eb,em){this.createSigner=eb=>{if(!eb.privateKey&&!eb.provider&&!eb.signer&&!eb.web3Provider)throw new uS({type:"CREATE_SIGNER",message:"You must pass in a private key, provider or signer."});if(eb.privateKey){if(!eb.provider)throw new uS({type:"CREATE_SIGNER",message:"You must pass in a provider with your private key."});return new eS.w5(eb.privateKey,eb.provider)}if(eb.signer)return eb.signer;if(eb.web3Provider)return eb.web3Provider.getSigner();throw new uS({type:"CREATE_SIGNER",message:"Something went wrong, this should never occur."})},this.batchCall=eb=>new MA({operations:eb,hostAddress:this.settings.config.hostAddress}),this.operation=(eb,em)=>new MT(eb,em),this.loadNativeAssetSuperToken=async eb=>{let em=await this.loadSuperToken(eb),eH=!!em.nativeTokenSymbol;if(!eH)throw new uS({type:"SUPERTOKEN_INITIALIZATION",message:"The token is not a native asset supertoken."});return em},this.loadPureSuperToken=async eb=>{let em=await this.loadSuperToken(eb),eH=!1==!!em.downgrade;if(!eH)throw new uS({type:"SUPERTOKEN_INITIALIZATION",message:"The token is not a pure supertoken."});return em},this.loadWrapperSuperToken=async eb=>{let em=await this.loadSuperToken(eb),eH=!!em.underlyingToken;if(!eH)throw new uS({type:"SUPERTOKEN_INITIALIZATION",message:"The token is not a wrapper supertoken."});return em},this.loadSuperToken=async eb=>{let em=await this._tryGetTokenAddress(eb);return await kT.create({...this.settings,address:em})},this._tryGetTokenAddress=async eb=>{let em=wj.UJ(eb);if(em)return eb;try{let em="supertokens."+this.settings.protocolReleaseVersion+"."+eb,eH=V5.connect(this.settings.config.resolverAddress,this.settings.provider);return await eH.get(em)}catch(em){throw new uS({type:"SUPERTOKEN_INITIALIZATION",message:"There was an error with loading the SuperToken with symbol: "+eb+" with the resolver.",cause:em})}},this.userInputOptions=eb,this.settings=em,this.cfaV1=new MI(em.config.hostAddress,em.config.cfaV1Address,em.config.cfaV1ForwarderAddress),this.governance=new MO(em.config.hostAddress,em.config.governanceAddress),this.host=new M_(em.config.hostAddress),this.idaV1=new MB(em.config.hostAddress,em.config.idaV1Address),this.query=new ky(em);let eH=new uw.CH(em.config.resolverAddress,V5.abi);this.contracts={cfaV1:this.cfaV1.contract,governance:this.governance.contract,host:this.host.contract,idaV1:this.idaV1.contract,resolver:eH}}}kW=kI,kI.create=async eb=>{kM({...eb,protocolReleaseVersion:eb.protocolReleaseVersion||kN});let em=kx(eb),eH=eb.chainId||wQ.get(em),eV=eb.protocolReleaseVersion||kN,ew=eb.customSubgraphQueriesEndpoint||kC(eb),eM=MM(eb.provider)?eb.provider:MC(eb.provider)?new eE.Q(eb.provider.currentProvider):eb.provider.provider,eC=await eM.getNetwork();if(eC.chainId!==eH&&null!=eH)throw new uS({type:"NETWORK_MISMATCH",message:"Your provider network chainId is: "+eC.chainId+" whereas your desired chainId is: "+eH});try{let eC=wJ.get(eH),eT=eb.resolverAddress?eb.resolverAddress:eC?eC.addresses.resolver:MP.d,e_=V5.connect(eT,eM),eS={chainId:eH,customSubgraphQueriesEndpoint:ew,protocolReleaseVersion:eb.protocolReleaseVersion||kN,provider:eM,networkName:em};if(eC&&eS.protocolReleaseVersion===kN){let em=eC.addresses.governance?eC.addresses.governance:await H7.connect(eC.addresses.host,eM).getGovernance(),eH={...eS,config:{resolverAddress:eT,hostAddress:eC.addresses.host,cfaV1Address:eC.addresses.cfaV1,idaV1Address:eC.addresses.idaV1,governanceAddress:em,cfaV1ForwarderAddress:eC.addresses.cfaV1Forwarder}};return new kW(eb,eH)}{let em=await e_.get("SuperfluidLoader-v1"),eH=await e_.get("CFAv1Forwarder"),ew=wT.connect(em,eM),eC=await ew.loadFramework(eV),eE=await H7.connect(eC.superfluid,eM).getGovernance(),eA={...eS,config:{resolverAddress:eT,hostAddress:eC.superfluid,cfaV1Address:eC.agreementCFAv1,idaV1Address:eC.agreementIDAv1,governanceAddress:eE,cfaV1ForwarderAddress:eH}};return new kW(eb,eA)}}catch(eb){throw new uS({type:"FRAMEWORK_INITIALIZATION",message:"There was an error initializing the framework",cause:eb})}};var kD,kP,kO,kR,kB,kF,kj,kU,kq,k$,kW,kZ,kG,kK=kI,kY=eH(61744),kX=9e15,kJ=1e9,kQ="0123456789abcdef",k6="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",k4="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",k3={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-9e15,maxE:9e15,crypto:!1},k5=!0,k8="[DecimalError] ",k9=k8+"Invalid argument: ",k7=k8+"Precision limit exceeded",Tb=k8+"crypto unavailable",Tm="[object Decimal]",Ty=Math.floor,Tg=Math.pow,Tv=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Tz=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,TH=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,TV=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,Tw=1e7,TM=7,TC=9007199254740991,Tk=k6.length-1,TT=k4.length-1,T_={toStringTag:Tm};function TS(eb){var em,eH,eV,ew=eb.length-1,eM="",eC=eb[0];if(ew>0){for(eM+=eC,em=1;emeH)throw Error(k9+eb)}function TA(eb,em,eH,eV){var ew,eM,eC,eT;for(eM=eb[0];eM>=10;eM/=10)--em;return--em<0?(em+=TM,ew=0):(ew=Math.ceil((em+1)/TM),em%=TM),eM=Tg(10,TM-em),eT=eb[ew]%eM|0,null==eV?em<3?(0==em?eT=eT/100|0:1==em&&(eT=eT/10|0),eC=eH<4&&99999==eT||eH>3&&49999==eT||5e4==eT||0==eT):eC=(eH<4&&eT+1==eM||eH>3&&eT+1==eM/2)&&(eb[ew+1]/eM/100|0)==Tg(10,em-2)-1||(eT==eM/2||0==eT)&&(eb[ew+1]/eM/100|0)==0:em<4?(0==em?eT=eT/1e3|0:1==em?eT=eT/100|0:2==em&&(eT=eT/10|0),eC=(eV||eH<4)&&9999==eT||!eV&&eH>3&&4999==eT):eC=((eV||eH<4)&&eT+1==eM||!eV&&eH>3&&eT+1==eM/2)&&(eb[ew+1]/eM/1e3|0)==Tg(10,em-3)-1,eC}function TN(eb,em,eH){for(var eV,ew,eM=[0],eC=0,eT=eb.length;eCeH-1&&(void 0===eM[eV+1]&&(eM[eV+1]=0),eM[eV+1]+=eM[eV]/eH|0,eM[eV]%=eH)}return eM.reverse()}function TI(eb,em){var eH,eV,ew;if(em.isZero())return em;(eV=em.d.length)<32?ew=(1/T9(4,eH=Math.ceil(eV/3))).toString():(eH=16,ew="2.3283064365386962890625e-10"),eb.precision+=eH,em=TQ(eb,1,em.times(ew),new eb(1));for(var eM=eH;eM--;){var eC=em.times(em);em=eC.times(eC).minus(eC).times(8).plus(1)}return eb.precision-=eH,em}T_.absoluteValue=T_.abs=function(){var eb=new this.constructor(this);return eb.s<0&&(eb.s=1),TP(eb)},T_.ceil=function(){return TP(new this.constructor(this),this.e+1,2)},T_.clampedTo=T_.clamp=function(eb,em){var eH=this,eV=eH.constructor;if(eb=new eV(eb),em=new eV(em),!eb.s||!em.s)return new eV(NaN);if(eb.gt(em))throw Error(k9+em);return 0>eH.cmp(eb)?eb:eH.cmp(em)>0?em:new eV(eH)},T_.comparedTo=T_.cmp=function(eb){var em,eH,eV,ew,eM=this,eC=eM.d,eT=(eb=new eM.constructor(eb)).d,e_=eM.s,eS=eb.s;if(!eC||!eT)return e_&&eS?e_!==eS?e_:eC===eT?0:!eC^e_<0?1:-1:NaN;if(!eC[0]||!eT[0])return eC[0]?e_:eT[0]?-eS:0;if(e_!==eS)return e_;if(eM.e!==eb.e)return eM.e>eb.e^e_<0?1:-1;for(em=0,eH=(eV=eC.length)<(ew=eT.length)?eV:ew;emeT[em]^e_<0?1:-1;return eV===ew?0:eV>ew^e_<0?1:-1},T_.cosine=T_.cos=function(){var eb,em,eH=this,eV=eH.constructor;return eH.d?eH.d[0]?(eb=eV.precision,em=eV.rounding,eV.precision=eb+Math.max(eH.e,eH.sd())+TM,eV.rounding=1,eH=TI(eV,_m(eV,eH)),eV.precision=eb,eV.rounding=em,TP(2==kG||3==kG?eH.neg():eH,eb,em,!0)):new eV(1):new eV(NaN)},T_.cubeRoot=T_.cbrt=function(){var eb,em,eH,eV,ew,eM,eC,eT,e_,eS,eE=this,eA=eE.constructor;if(!eE.isFinite()||eE.isZero())return new eA(eE);for(k5=!1,(eM=eE.s*Tg(eE.s*eE,1/3))&&Math.abs(eM)!=1/0?eV=new eA(eM.toString()):(eH=TS(eE.d),(eM=((eb=eE.e)-eH.length+1)%3)&&(eH+=1==eM||-2==eM?"0":"00"),eM=Tg(eH,1/3),eb=Ty((eb+1)/3)-(eb%3==(eb<0?-1:2)),eH=eM==1/0?"5e"+eb:(eH=eM.toExponential()).slice(0,eH.indexOf("e")+1)+eb,(eV=new eA(eH)).s=eE.s),eC=(eb=eA.precision)+3;;)if(eS=(e_=(eT=eV).times(eT).times(eT)).plus(eE),eV=TD(eS.plus(eE).times(eT),eS.plus(e_),eC+2,1),TS(eT.d).slice(0,eC)===(eH=TS(eV.d)).slice(0,eC)){if("9999"!=(eH=eH.slice(eC-3,eC+1))&&(ew||"4999"!=eH)){+eH&&(+eH.slice(1)||"5"!=eH.charAt(0))||(TP(eV,eb+1,1),em=!eV.times(eV).times(eV).eq(eE));break}if(!ew&&(TP(eT,eb+1,0),eT.times(eT).times(eT).eq(eE))){eV=eT;break}eC+=4,ew=1}return k5=!0,TP(eV,eb,eA.rounding,em)},T_.decimalPlaces=T_.dp=function(){var eb,em=this.d,eH=NaN;if(em){if(eH=((eb=em.length-1)-Ty(this.e/TM))*TM,eb=em[eb])for(;eb%10==0;eb/=10)eH--;eH<0&&(eH=0)}return eH},T_.dividedBy=T_.div=function(eb){return TD(this,new this.constructor(eb))},T_.dividedToIntegerBy=T_.divToInt=function(eb){var em=this,eH=em.constructor;return TP(TD(em,new eH(eb),0,1,1),eH.precision,eH.rounding)},T_.equals=T_.eq=function(eb){return 0===this.cmp(eb)},T_.floor=function(){return TP(new this.constructor(this),this.e+1,3)},T_.greaterThan=T_.gt=function(eb){return this.cmp(eb)>0},T_.greaterThanOrEqualTo=T_.gte=function(eb){var em=this.cmp(eb);return 1==em||0===em},T_.hyperbolicCosine=T_.cosh=function(){var eb,em,eH,eV,ew,eM=this,eC=eM.constructor,eT=new eC(1);if(!eM.isFinite())return new eC(eM.s?1/0:NaN);if(eM.isZero())return eT;eH=eC.precision,eV=eC.rounding,eC.precision=eH+Math.max(eM.e,eM.sd())+4,eC.rounding=1,(ew=eM.d.length)<32?em=(1/T9(4,eb=Math.ceil(ew/3))).toString():(eb=16,em="2.3283064365386962890625e-10"),eM=TQ(eC,1,eM.times(em),new eC(1),!0);for(var e_,eS=eb,eE=new eC(8);eS--;)e_=eM.times(eM),eM=eT.minus(e_.times(eE.minus(e_.times(eE))));return TP(eM,eC.precision=eH,eC.rounding=eV,!0)},T_.hyperbolicSine=T_.sinh=function(){var eb,em,eH,eV,ew=this,eM=ew.constructor;if(!ew.isFinite()||ew.isZero())return new eM(ew);if(em=eM.precision,eH=eM.rounding,eM.precision=em+Math.max(ew.e,ew.sd())+4,eM.rounding=1,(eV=ew.d.length)<3)ew=TQ(eM,2,ew,ew,!0);else{eb=(eb=1.4*Math.sqrt(eV))>16?16:0|eb,ew=ew.times(1/T9(5,eb)),ew=TQ(eM,2,ew,ew,!0);for(var eC,eT=new eM(5),e_=new eM(16),eS=new eM(20);eb--;)eC=ew.times(ew),ew=ew.times(eT.plus(eC.times(e_.times(eC).plus(eS))))}return eM.precision=em,eM.rounding=eH,TP(ew,em,eH,!0)},T_.hyperbolicTangent=T_.tanh=function(){var eb,em,eH=this,eV=eH.constructor;return eH.isFinite()?eH.isZero()?new eV(eH):(eb=eV.precision,em=eV.rounding,eV.precision=eb+7,eV.rounding=1,TD(eH.sinh(),eH.cosh(),eV.precision=eb,eV.rounding=em)):new eV(eH.s)},T_.inverseCosine=T_.acos=function(){var eb,em=this,eH=em.constructor,eV=em.abs().cmp(1),ew=eH.precision,eM=eH.rounding;return -1!==eV?0===eV?em.isNeg()?TF(eH,ew,eM):new eH(0):new eH(NaN):em.isZero()?TF(eH,ew+4,eM).times(.5):(eH.precision=ew+6,eH.rounding=1,em=em.asin(),eb=TF(eH,ew+4,eM).times(.5),eH.precision=ew,eH.rounding=eM,eb.minus(em))},T_.inverseHyperbolicCosine=T_.acosh=function(){var eb,em,eH=this,eV=eH.constructor;return eH.lte(1)?new eV(eH.eq(1)?0:NaN):eH.isFinite()?(eb=eV.precision,em=eV.rounding,eV.precision=eb+Math.max(Math.abs(eH.e),eH.sd())+4,eV.rounding=1,k5=!1,eH=eH.times(eH).minus(1).sqrt().plus(eH),k5=!0,eV.precision=eb,eV.rounding=em,eH.ln()):new eV(eH)},T_.inverseHyperbolicSine=T_.asinh=function(){var eb,em,eH=this,eV=eH.constructor;return!eH.isFinite()||eH.isZero()?new eV(eH):(eb=eV.precision,em=eV.rounding,eV.precision=eb+2*Math.max(Math.abs(eH.e),eH.sd())+6,eV.rounding=1,k5=!1,eH=eH.times(eH).plus(1).sqrt().plus(eH),k5=!0,eV.precision=eb,eV.rounding=em,eH.ln())},T_.inverseHyperbolicTangent=T_.atanh=function(){var eb,em,eH,eV,ew=this,eM=ew.constructor;return ew.isFinite()?ew.e>=0?new eM(ew.abs().eq(1)?ew.s/0:ew.isZero()?ew:NaN):(eb=eM.precision,em=eM.rounding,Math.max(eV=ew.sd(),eb)<-(2*ew.e)-1)?TP(new eM(ew),eb,em,!0):(eM.precision=eH=eV-ew.e,ew=TD(ew.plus(1),new eM(1).minus(ew),eH+eb,1),eM.precision=eb+4,eM.rounding=1,ew=ew.ln(),eM.precision=eb,eM.rounding=em,ew.times(.5)):new eM(NaN)},T_.inverseSine=T_.asin=function(){var eb,em,eH,eV,ew=this,eM=ew.constructor;return ew.isZero()?new eM(ew):(em=ew.abs().cmp(1),eH=eM.precision,eV=eM.rounding,-1!==em)?0===em?((eb=TF(eM,eH+4,eV).times(.5)).s=ew.s,eb):new eM(NaN):(eM.precision=eH+6,eM.rounding=1,ew=ew.div(new eM(1).minus(ew.times(ew)).sqrt().plus(1)).atan(),eM.precision=eH,eM.rounding=eV,ew.times(2))},T_.inverseTangent=T_.atan=function(){var eb,em,eH,eV,ew,eM,eC,eT,e_,eS=this,eE=eS.constructor,eA=eE.precision,eN=eE.rounding;if(eS.isFinite()){if(eS.isZero())return new eE(eS);if(eS.abs().eq(1)&&eA+4<=TT)return(eC=TF(eE,eA+4,eN).times(.25)).s=eS.s,eC}else{if(!eS.s)return new eE(NaN);if(eA+4<=TT)return(eC=TF(eE,eA+4,eN).times(.5)).s=eS.s,eC}for(eE.precision=eT=eA+10,eE.rounding=1,eb=eH=Math.min(28,eT/TM+2|0);eb;--eb)eS=eS.div(eS.times(eS).plus(1).sqrt().plus(1));for(k5=!1,em=Math.ceil(eT/TM),eV=1,e_=eS.times(eS),eC=new eE(eS),ew=eS;-1!==eb;)if(ew=ew.times(e_),eM=eC.minus(ew.div(eV+=2)),ew=ew.times(e_),void 0!==(eC=eM.plus(ew.div(eV+=2))).d[em])for(eb=em;eC.d[eb]===eM.d[eb]&&eb--;);return eH&&(eC=eC.times(2<this.d.length-2},T_.isNaN=function(){return!this.s},T_.isNegative=T_.isNeg=function(){return this.s<0},T_.isPositive=T_.isPos=function(){return this.s>0},T_.isZero=function(){return!!this.d&&0===this.d[0]},T_.lessThan=T_.lt=function(eb){return 0>this.cmp(eb)},T_.lessThanOrEqualTo=T_.lte=function(eb){return 1>this.cmp(eb)},T_.logarithm=T_.log=function(eb){var em,eH,eV,ew,eM,eC,eT,e_,eS=this,eE=eS.constructor,eA=eE.precision,eN=eE.rounding,eI=5;if(null==eb)eb=new eE(10),em=!0;else{if(eH=(eb=new eE(eb)).d,eb.s<0||!eH||!eH[0]||eb.eq(1))return new eE(NaN);em=eb.eq(10)}if(eH=eS.d,eS.s<0||!eH||!eH[0]||eS.eq(1))return new eE(eH&&!eH[0]?-1/0:1!=eS.s?NaN:eH?0:1/0);if(em){if(eH.length>1)eM=!0;else{for(ew=eH[0];ew%10==0;)ew/=10;eM=1!==ew}}if(k5=!1,TA((e_=TD(eC=TG(eS,eT=eA+eI),eV=em?TB(eE,eT+10):TG(eb,eT),eT,1)).d,ew=eA,eN))do if(eT+=10,e_=TD(eC=TG(eS,eT),eV=em?TB(eE,eT+10):TG(eb,eT),eT,1),!eM){+TS(e_.d).slice(ew+1,ew+15)+1==1e14&&(e_=TP(e_,eA+1,0));break}while(TA(e_.d,ew+=10,eN));return k5=!0,TP(e_,eA,eN)},T_.minus=T_.sub=function(eb){var em,eH,eV,ew,eM,eC,eT,e_,eS,eE,eA,eN,eI=this,eD=eI.constructor;if(eb=new eD(eb),!eI.d||!eb.d)return eI.s&&eb.s?eI.d?eb.s=-eb.s:eb=new eD(eb.d||eI.s!==eb.s?eI:NaN):eb=new eD(NaN),eb;if(eI.s!=eb.s)return eb.s=-eb.s,eI.plus(eb);if(eS=eI.d,eN=eb.d,eT=eD.precision,e_=eD.rounding,!eS[0]||!eN[0]){if(eN[0])eb.s=-eb.s;else{if(!eS[0])return new eD(3===e_?-0:0);eb=new eD(eI)}return k5?TP(eb,eT,e_):eb}if(eH=Ty(eb.e/TM),eE=Ty(eI.e/TM),eS=eS.slice(),eM=eE-eH){for((eA=eM<0)?(em=eS,eM=-eM,eC=eN.length):(em=eN,eH=eE,eC=eS.length),eV=Math.max(Math.ceil(eT/TM),eC)+2,eM>eV&&(eM=eV,em.length=1),em.reverse(),eV=eM;eV--;)em.push(0);em.reverse()}else{for((eA=(eV=eS.length)<(eC=eN.length))&&(eC=eV),eV=0;eV0;--eV)eS[eC++]=0;for(eV=eN.length;eV>eM;){if(eS[--eV](eC=(eM=Math.ceil(eT/TM))>eC?eM+1:eC+1)&&(ew=eC,eH.length=1),eH.reverse();ew--;)eH.push(0);eH.reverse()}for((eC=eS.length)-(ew=eE.length)<0&&(ew=eC,eH=eE,eE=eS,eS=eH),em=0;ew;)em=(eS[--ew]=eS[ew]+eE[ew]+em)/Tw|0,eS[ew]%=Tw;for(em&&(eS.unshift(em),++eV),eC=eS.length;0==eS[--eC];)eS.pop();return eb.d=eS,eb.e=TR(eS,eV),k5?TP(eb,eT,e_):eb},T_.precision=T_.sd=function(eb){var em,eH=this;if(void 0!==eb&&!!eb!==eb&&1!==eb&&0!==eb)throw Error(k9+eb);return eH.d?(em=Tj(eH.d),eb&&eH.e+1>em&&(em=eH.e+1)):em=NaN,em},T_.round=function(){var eb=this,em=eb.constructor;return TP(new em(eb),eb.e+1,em.rounding)},T_.sine=T_.sin=function(){var eb,em,eH=this,eV=eH.constructor;return eH.isFinite()?eH.isZero()?new eV(eH):(eb=eV.precision,em=eV.rounding,eV.precision=eb+Math.max(eH.e,eH.sd())+TM,eV.rounding=1,eH=TJ(eV,_m(eV,eH)),eV.precision=eb,eV.rounding=em,TP(kG>2?eH.neg():eH,eb,em,!0)):new eV(NaN)},T_.squareRoot=T_.sqrt=function(){var eb,em,eH,eV,ew,eM,eC=this,eT=eC.d,e_=eC.e,eS=eC.s,eE=eC.constructor;if(1!==eS||!eT||!eT[0])return new eE(!eS||eS<0&&(!eT||eT[0])?NaN:eT?eC:1/0);for(k5=!1,0==(eS=Math.sqrt(+eC))||eS==1/0?(((em=TS(eT)).length+e_)%2==0&&(em+="0"),eS=Math.sqrt(em),e_=Ty((e_+1)/2)-(e_<0||e_%2),em=eS==1/0?"5e"+e_:(em=eS.toExponential()).slice(0,em.indexOf("e")+1)+e_,eV=new eE(em)):eV=new eE(eS.toString()),eH=(e_=eE.precision)+3;;)if(eV=(eM=eV).plus(TD(eC,eM,eH+2,1)).times(.5),TS(eM.d).slice(0,eH)===(em=TS(eV.d)).slice(0,eH)){if("9999"!=(em=em.slice(eH-3,eH+1))&&(ew||"4999"!=em)){+em&&(+em.slice(1)||"5"!=em.charAt(0))||(TP(eV,e_+1,1),eb=!eV.times(eV).eq(eC));break}if(!ew&&(TP(eM,e_+1,0),eM.times(eM).eq(eC))){eV=eM;break}eH+=4,ew=1}return k5=!0,TP(eV,e_,eE.rounding,eb)},T_.tangent=T_.tan=function(){var eb,em,eH=this,eV=eH.constructor;return eH.isFinite()?eH.isZero()?new eV(eH):(eb=eV.precision,em=eV.rounding,eV.precision=eb+10,eV.rounding=1,(eH=eH.sin()).s=1,eH=TD(eH,new eV(1).minus(eH.times(eH)).sqrt(),eb+10,0),eV.precision=eb,eV.rounding=em,TP(2==kG||4==kG?eH.neg():eH,eb,em,!0)):new eV(NaN)},T_.times=T_.mul=function(eb){var em,eH,eV,ew,eM,eC,eT,e_,eS,eE=this,eA=eE.constructor,eN=eE.d,eI=(eb=new eA(eb)).d;if(eb.s*=eE.s,!eN||!eN[0]||!eI||!eI[0])return new eA(eb.s&&(!eN||eN[0]||eI)&&(!eI||eI[0]||eN)?eN&&eI?0*eb.s:eb.s/0:NaN);for(eH=Ty(eE.e/TM)+Ty(eb.e/TM),(e_=eN.length)<(eS=eI.length)&&(eM=eN,eN=eI,eI=eM,eC=e_,e_=eS,eS=eC),eM=[],eV=eC=e_+eS;eV--;)eM.push(0);for(eV=eS;--eV>=0;){for(em=0,ew=e_+eV;ew>eV;)eT=eM[ew]+eI[eV]*eN[ew-eV-1]+em,eM[ew--]=eT%Tw|0,em=eT/Tw|0;eM[ew]=(eM[ew]+em)%Tw|0}for(;!eM[--eC];)eM.pop();return em?++eH:eM.shift(),eb.d=eM,eb.e=TR(eM,eH),k5?TP(eb,eA.precision,eA.rounding):eb},T_.toBinary=function(eb,em){return _z(this,2,eb,em)},T_.toDecimalPlaces=T_.toDP=function(eb,em){var eH=this,eV=eH.constructor;return(eH=new eV(eH),void 0===eb)?eH:(TE(eb,0,kJ),void 0===em?em=eV.rounding:TE(em,0,8),TP(eH,eb+eH.e+1,em))},T_.toExponential=function(eb,em){var eH,eV=this,ew=eV.constructor;return void 0===eb?eH=TO(eV,!0):(TE(eb,0,kJ),void 0===em?em=ew.rounding:TE(em,0,8),eH=TO(eV=TP(new ew(eV),eb+1,em),!0,eb+1)),eV.isNeg()&&!eV.isZero()?"-"+eH:eH},T_.toFixed=function(eb,em){var eH,eV,ew=this,eM=ew.constructor;return void 0===eb?eH=TO(ew):(TE(eb,0,kJ),void 0===em?em=eM.rounding:TE(em,0,8),eH=TO(eV=TP(new eM(ew),eb+ew.e+1,em),!1,eb+eV.e+1)),ew.isNeg()&&!ew.isZero()?"-"+eH:eH},T_.toFraction=function(eb){var em,eH,eV,ew,eM,eC,eT,e_,eS,eE,eA,eN,eI=this,eD=eI.d,eP=eI.constructor;if(!eD)return new eP(eI);if(eS=eH=new eP(1),eV=e_=new eP(0),eC=(eM=(em=new eP(eV)).e=Tj(eD)-eI.e-1)%TM,em.d[0]=Tg(10,eC<0?TM+eC:eC),null==eb)eb=eM>0?em:eS;else{if(!(eT=new eP(eb)).isInt()||eT.lt(eS))throw Error(k9+eT);eb=eT.gt(em)?eM>0?em:eS:eT}for(k5=!1,eT=new eP(TS(eD)),eE=eP.precision,eP.precision=eM=eD.length*TM*2;eA=TD(eT,em,0,1,1),1!=(ew=eH.plus(eA.times(eV))).cmp(eb);)eH=eV,eV=ew,ew=eS,eS=e_.plus(eA.times(ew)),e_=ew,ew=em,em=eT.minus(eA.times(ew)),eT=ew;return ew=TD(eb.minus(eH),eV,0,1,1),e_=e_.plus(ew.times(eS)),eH=eH.plus(ew.times(eV)),e_.s=eS.s=eI.s,eN=1>TD(eS,eV,eM,1).minus(eI).abs().cmp(TD(e_,eH,eM,1).minus(eI).abs())?[eS,eV]:[e_,eH],eP.precision=eE,k5=!0,eN},T_.toHexadecimal=T_.toHex=function(eb,em){return _z(this,16,eb,em)},T_.toNearest=function(eb,em){var eH=this,eV=eH.constructor;if(eH=new eV(eH),null==eb){if(!eH.d)return eH;eb=new eV(1),em=eV.rounding}else{if(eb=new eV(eb),void 0===em?em=eV.rounding:TE(em,0,8),!eH.d)return eb.s?eH:eb;if(!eb.d)return eb.s&&(eb.s=eH.s),eb}return eb.d[0]?(k5=!1,eH=TD(eH,eb,0,em,1).times(eb),k5=!0,TP(eH)):(eb.s=eH.s,eH=eb),eH},T_.toNumber=function(){return+this},T_.toOctal=function(eb,em){return _z(this,8,eb,em)},T_.toPower=T_.pow=function(eb){var em,eH,eV,ew,eM,eC,eT=this,e_=eT.constructor,eS=+(eb=new e_(eb));if(!eT.d||!eb.d||!eT.d[0]||!eb.d[0])return new e_(Tg(+eT,eS));if((eT=new e_(eT)).eq(1))return eT;if(eV=e_.precision,eM=e_.rounding,eb.eq(1))return TP(eT,eV,eM);if((em=Ty(eb.e/TM))>=eb.d.length-1&&(eH=eS<0?-eS:eS)<=TC)return ew=Tq(e_,eT,eH,eV),eb.s<0?new e_(1).div(ew):TP(ew,eV,eM);if((eC=eT.s)<0){if(eme_.maxE+1||em0?eC/0:0):(k5=!1,e_.rounding=eT.s=1,eH=Math.min(12,(em+"").length),(ew=TZ(eb.times(TG(eT,eV+eH)),eV)).d&&TA((ew=TP(ew,eV+5,1)).d,eV,eM)&&(em=eV+10,+TS((ew=TP(TZ(eb.times(TG(eT,em+eH)),em),em+5,1)).d).slice(eV+1,eV+15)+1==1e14&&(ew=TP(ew,eV+1,0))),ew.s=eC,k5=!0,e_.rounding=eM,TP(ew,eV,eM))},T_.toPrecision=function(eb,em){var eH,eV=this,ew=eV.constructor;return void 0===eb?eH=TO(eV,eV.e<=ew.toExpNeg||eV.e>=ew.toExpPos):(TE(eb,1,kJ),void 0===em?em=ew.rounding:TE(em,0,8),eH=TO(eV=TP(new ew(eV),eb,em),eb<=eV.e||eV.e<=ew.toExpNeg,eb)),eV.isNeg()&&!eV.isZero()?"-"+eH:eH},T_.toSignificantDigits=T_.toSD=function(eb,em){var eH=this,eV=eH.constructor;return void 0===eb?(eb=eV.precision,em=eV.rounding):(TE(eb,1,kJ),void 0===em?em=eV.rounding:TE(em,0,8)),TP(new eV(eH),eb,em)},T_.toString=function(){var eb=this,em=eb.constructor,eH=TO(eb,eb.e<=em.toExpNeg||eb.e>=em.toExpPos);return eb.isNeg()&&!eb.isZero()?"-"+eH:eH},T_.truncated=T_.trunc=function(){return TP(new this.constructor(this),this.e+1,1)},T_.valueOf=T_.toJSON=function(){var eb=this,em=eb.constructor,eH=TO(eb,eb.e<=em.toExpNeg||eb.e>=em.toExpPos);return eb.isNeg()?"-"+eH:eH};var TD=function(){function eb(eb,em,eH){var eV,ew=0,eM=eb.length;for(eb=eb.slice();eM--;)eV=eb[eM]*em+ew,eb[eM]=eV%eH|0,ew=eV/eH|0;return ew&&eb.unshift(ew),eb}function em(eb,em,eH,eV){var ew,eM;if(eH!=eV)eM=eH>eV?1:-1;else for(ew=eM=0;ewem[ew]?1:-1;break}return eM}function eH(eb,em,eH,eV){for(var ew=0;eH--;)eb[eH]-=ew,ew=eb[eH]1;)eb.shift()}return function(eV,ew,eM,eC,eT,e_){var eS,eE,eA,eN,eI,eD,eP,eO,eR,eB,eF,ej,eU,e$,eW,eZ,eG,eK,eY,eX,eJ=eV.constructor,eQ=eV.s==ew.s?1:-1,e0=eV.d,e6=ew.d;if(!e0||!e0[0]||!e6||!e6[0])return new eJ(eV.s&&ew.s&&(e0?!e6||e0[0]!=e6[0]:e6)?e0&&0==e0[0]||!e6?0*eQ:eQ/0:NaN);for(e_?(eI=1,eE=eV.e-ew.e):(e_=Tw,eI=TM,eE=Ty(eV.e/eI)-Ty(ew.e/eI)),eY=e6.length,eG=e0.length,eB=(eR=new eJ(eQ)).d=[],eA=0;e6[eA]==(e0[eA]||0);eA++);if(e6[eA]>(e0[eA]||0)&&eE--,null==eM?(e$=eM=eJ.precision,eC=eJ.rounding):e$=eT?eM+(eV.e-ew.e)+1:eM,e$<0)eB.push(1),eD=!0;else{if(e$=e$/eI+2|0,eA=0,1==eY){for(eN=0,e6=e6[0],e$++;(eA1&&(e6=eb(e6,eN,e_),e0=eb(e0,eN,e_),eY=e6.length,eG=e0.length),eZ=eY,ej=(eF=e0.slice(0,eY)).length;ej=e_/2&&++eK;do eN=0,(eS=em(e6,eF,eY,ej))<0?(eU=eF[0],eY!=ej&&(eU=eU*e_+(eF[1]||0)),(eN=eU/eK|0)>1?(eN>=e_&&(eN=e_-1),eO=(eP=eb(e6,eN,e_)).length,ej=eF.length,1==(eS=em(eP,eF,eO,ej))&&(eN--,eH(eP,eY=10;eN/=10)eA++;eR.e=eA+eE*eI-1,TP(eR,eT?eM+eR.e+1:eM,eC,eD)}return eR}}();function TP(eb,em,eH,eV){var ew,eM,eC,eT,e_,eS,eE,eA,eN,eI=eb.constructor;t:if(null!=em){if(!(eA=eb.d))return eb;for(ew=1,eT=eA[0];eT>=10;eT/=10)ew++;if((eM=em-ew)<0)eM+=TM,eC=em,e_=(eE=eA[eN=0])/Tg(10,ew-eC-1)%10|0;else if(eN=Math.ceil((eM+1)/TM),eT=eA.length,eN>=eT){if(eV){for(;eT++<=eN;)eA.push(0);eE=e_=0,ew=1,eM%=TM,eC=eM-TM+1}else break t}else{for(ew=1,eE=eT=eA[eN];eT>=10;eT/=10)ew++;eM%=TM,e_=(eC=eM-TM+ew)<0?0:eE/Tg(10,ew-eC-1)%10|0}if(eV=eV||em<0||void 0!==eA[eN+1]||(eC<0?eE:eE%Tg(10,ew-eC-1)),eS=eH<4?(e_||eV)&&(0==eH||eH==(eb.s<0?3:2)):e_>5||5==e_&&(4==eH||eV||6==eH&&(eM>0?eC>0?eE/Tg(10,ew-eC):0:eA[eN-1])%10&1||eH==(eb.s<0?8:7)),em<1||!eA[0])return eA.length=0,eS?(em-=eb.e+1,eA[0]=Tg(10,(TM-em%TM)%TM),eb.e=-em||0):eA[0]=eb.e=0,eb;if(0==eM?(eA.length=eN,eT=1,eN--):(eA.length=eN+1,eT=Tg(10,TM-eM),eA[eN]=eC>0?(eE/Tg(10,ew-eC)%Tg(10,eC)|0)*eT:0),eS)for(;;){if(0==eN){for(eM=1,eC=eA[0];eC>=10;eC/=10)eM++;for(eC=eA[0]+=eT,eT=1;eC>=10;eC/=10)eT++;eM!=eT&&(eb.e++,eA[0]==Tw&&(eA[0]=1));break}if(eA[eN]+=eT,eA[eN]!=Tw)break;eA[eN--]=0,eT=1}for(eM=eA.length;0===eA[--eM];)eA.pop()}return k5&&(eb.e>eI.maxE?(eb.d=null,eb.e=NaN):eb.e0?eM=eM.charAt(0)+"."+eM.slice(1)+TU(eV):eC>1&&(eM=eM.charAt(0)+"."+eM.slice(1)),eM=eM+(eb.e<0?"e":"e+")+eb.e):ew<0?(eM="0."+TU(-ew-1)+eM,eH&&(eV=eH-eC)>0&&(eM+=TU(eV))):ew>=eC?(eM+=TU(ew+1-eC),eH&&(eV=eH-ew-1)>0&&(eM=eM+"."+TU(eV))):((eV=ew+1)0&&(ew+1===eC&&(eM+="."),eM+=TU(eV))),eM}function TR(eb,em){var eH=eb[0];for(em*=TM;eH>=10;eH/=10)em++;return em}function TB(eb,em,eH){if(em>Tk)throw k5=!0,eH&&(eb.precision=eH),Error(k7);return TP(new eb(k6),em,1,!0)}function TF(eb,em,eH){if(em>TT)throw Error(k7);return TP(new eb(k4),em,eH,!0)}function Tj(eb){var em=eb.length-1,eH=em*TM+1;if(em=eb[em]){for(;em%10==0;em/=10)eH--;for(em=eb[0];em>=10;em/=10)eH++}return eH}function TU(eb){for(var em="";eb--;)em+="0";return em}function Tq(eb,em,eH,eV){var ew,eM=new eb(1),eC=Math.ceil(eV/TM+4);for(k5=!1;;){if(eH%2&&_H((eM=eM.times(em)).d,eC)&&(ew=!0),0===(eH=Ty(eH/2))){eH=eM.d.length-1,ew&&0===eM.d[eH]&&++eM.d[eH];break}_H((em=em.times(em)).d,eC)}return k5=!0,eM}function T$(eb){return 1&eb.d[eb.d.length-1]}function TW(eb,em,eH){for(var eV,ew=new eb(em[0]),eM=0;++eM17)return new eN(eb.d?eb.d[0]?eb.s<0?0:1/0:1:eb.s?eb.s<0?0:eb:0/0);for(null==em?(k5=!1,e_=eD):e_=em,eT=new eN(.03125);eb.e>-2;)eb=eb.times(eT),eA+=5;for(e_+=eV=Math.log(Tg(2,eA))/Math.LN10*2+5|0,eH=eM=eC=new eN(1),eN.precision=e_;;){if(eM=TP(eM.times(eb),e_,1),eH=eH.times(++eE),TS((eT=eC.plus(TD(eM,eH,e_,1))).d).slice(0,e_)===TS(eC.d).slice(0,e_)){for(ew=eA;ew--;)eC=TP(eC.times(eC),e_,1);if(null!=em)return eN.precision=eD,eC;if(!(eS<3&&TA(eC.d,e_-eV,eI,eS)))return TP(eC,eN.precision=eD,eI,k5=!0);eN.precision=e_+=10,eH=eM=eT=new eN(1),eE=0,eS++}eC=eT}}function TG(eb,em){var eH,eV,ew,eM,eC,eT,e_,eS,eE,eA,eN,eI=1,eD=10,eP=eb,eO=eP.d,eR=eP.constructor,eB=eR.rounding,eF=eR.precision;if(eP.s<0||!eO||!eO[0]||!eP.e&&1==eO[0]&&1==eO.length)return new eR(eO&&!eO[0]?-1/0:1!=eP.s?NaN:eO?0:eP);if(null==em?(k5=!1,eE=eF):eE=em,eR.precision=eE+=eD,eV=(eH=TS(eO)).charAt(0),!(15e14>Math.abs(eM=eP.e)))return eS=TB(eR,eE+2,eF).times(eM+""),eP=TG(new eR(eV+"."+eH.slice(1)),eE-eD).plus(eS),eR.precision=eF,null==em?TP(eP,eF,eB,k5=!0):eP;for(;eV<7&&1!=eV||1==eV&&eH.charAt(1)>3;)eV=(eH=TS((eP=eP.times(eb)).d)).charAt(0),eI++;for(eM=eP.e,eV>1?(eP=new eR("0."+eH),eM++):eP=new eR(eV+"."+eH.slice(1)),eA=eP,e_=eC=eP=TD(eP.minus(1),eP.plus(1),eE,1),eN=TP(eP.times(eP),eE,1),ew=3;;){if(eC=TP(eC.times(eN),eE,1),TS((eS=e_.plus(TD(eC,new eR(ew),eE,1))).d).slice(0,eE)===TS(e_.d).slice(0,eE)){if(e_=e_.times(2),0!==eM&&(e_=e_.plus(TB(eR,eE+2,eF).times(eM+""))),e_=TD(e_,new eR(eI),eE,1),null!=em)return eR.precision=eF,e_;if(!TA(e_.d,eE-eD,eB,eT))return TP(e_,eR.precision=eF,eB,k5=!0);eR.precision=eE+=eD,eS=eC=eP=TD(eA.minus(1),eA.plus(1),eE,1),eN=TP(eP.times(eP),eE,1),ew=eT=1}e_=eS,ew+=2}}function TK(eb){return String(eb.s*eb.s/0)}function TY(eb,em){var eH,eV,ew;for((eH=em.indexOf("."))>-1&&(em=em.replace(".","")),(eV=em.search(/e/i))>0?(eH<0&&(eH=eV),eH+=+em.slice(eV+1),em=em.substring(0,eV)):eH<0&&(eH=em.length),eV=0;48===em.charCodeAt(eV);eV++);for(ew=em.length;48===em.charCodeAt(ew-1);--ew);if(em=em.slice(eV,ew)){if(ew-=eV,eb.e=eH=eH-eV-1,eb.d=[],eV=(eH+1)%TM,eH<0&&(eV+=TM),eVeb.constructor.maxE?(eb.d=null,eb.e=NaN):eb.e-1){if(em=em.replace(/(\d)_(?=\d)/g,"$1"),TV.test(em))return TY(eb,em)}else if("Infinity"===em||"NaN"===em)return+em||(eb.s=NaN),eb.e=NaN,eb.d=null,eb;if(Tz.test(em))eH=16,em=em.toLowerCase();else if(Tv.test(em))eH=2;else if(TH.test(em))eH=8;else throw Error(k9+em);for((eM=em.search(/p/i))>0?(e_=+em.slice(eM+1),em=em.substring(2,eM)):em=em.slice(2),eC=(eM=em.indexOf("."))>=0,eV=eb.constructor,eC&&(eM=(eT=(em=em.replace(".","")).length)-eM,ew=Tq(eV,new eV(eH),eM,2*eM)),eM=eE=(eS=TN(em,eH,Tw)).length-1;0===eS[eM];--eM)eS.pop();return eM<0?new eV(0*eb.s):(eb.e=TR(eS,eE),eb.d=eS,k5=!1,eC&&(eb=TD(eb,ew,4*eT)),e_&&(eb=eb.times(54>Math.abs(e_)?Tg(2,e_):SM.pow(2,e_))),k5=!0,eb)}function TJ(eb,em){var eH,eV=em.d.length;if(eV<3)return em.isZero()?em:TQ(eb,2,em,em);eH=(eH=1.4*Math.sqrt(eV))>16?16:0|eH,em=em.times(1/T9(5,eH)),em=TQ(eb,2,em,em);for(var ew,eM=new eb(5),eC=new eb(16),eT=new eb(20);eH--;)ew=em.times(em),em=em.times(eM.plus(ew.times(eC.times(ew).minus(eT))));return em}function TQ(eb,em,eH,eV,ew){var eM,eC,eT,e_,eS=eb.precision,eE=Math.ceil(eS/TM);for(k5=!1,e_=eH.times(eH),eT=new eb(eV);;){if(eC=TD(eT.times(e_),new eb(em++*em++),eS,1),eT=ew?eV.plus(eC):eV.minus(eC),eV=TD(eC.times(e_),new eb(em++*em++),eS,1),void 0!==(eC=eT.plus(eV)).d[eE]){for(eM=eE;eC.d[eM]===eT.d[eM]&&eM--;);if(-1==eM)break}eM=eT,eT=eV,eV=eC,eC=eM}return k5=!0,eC.d.length=eE+1,eC}function T9(eb,em){for(var eH=eb;--em;)eH*=eb;return eH}function _m(eb,em){var eH,eV=em.s<0,ew=TF(eb,eb.precision,1),eM=ew.times(.5);if((em=em.abs()).lte(eM))return kG=eV?4:1,em;if((eH=em.divToInt(ew)).isZero())kG=eV?3:2;else{if((em=em.minus(eH.times(ew))).lte(eM))return kG=T$(eH)?eV?2:3:eV?4:1,em;kG=T$(eH)?eV?1:4:eV?3:2}return em.minus(ew).abs()}function _z(eb,em,eH,eV){var ew,eM,eC,eT,e_,eS,eE,eA,eN,eI=eb.constructor,eD=void 0!==eH;if(eD?(TE(eH,1,kJ),void 0===eV?eV=eI.rounding:TE(eV,0,8)):(eH=eI.precision,eV=eI.rounding),eb.isFinite()){for(eC=(eE=TO(eb)).indexOf("."),eD?(ew=2,16==em?eH=4*eH-3:8==em&&(eH=3*eH-2)):ew=em,eC>=0&&(eE=eE.replace(".",""),(eN=new eI(1)).e=eE.length-eC,eN.d=TN(TO(eN),10,ew),eN.e=eN.d.length),eM=e_=(eA=TN(eE,10,ew)).length;0==eA[--e_];)eA.pop();if(eA[0]){if(eC<0?eM--:((eb=new eI(eb)).d=eA,eb.e=eM,eA=(eb=TD(eb,eN,eH,eV,0,ew)).d,eM=eb.e,eS=kZ),eC=eA[eH],eT=ew/2,eS=eS||void 0!==eA[eH+1],eS=eV<4?(void 0!==eC||eS)&&(0===eV||eV===(eb.s<0?3:2)):eC>eT||eC===eT&&(4===eV||eS||6===eV&&1&eA[eH-1]||eV===(eb.s<0?8:7)),eA.length=eH,eS)for(;++eA[--eH]>ew-1;)eA[eH]=0,eH||(++eM,eA.unshift(1));for(e_=eA.length;!eA[e_-1];--e_);for(eC=0,eE="";eC1){if(16==em||8==em){for(eC=16==em?4:3,--e_;e_%eC;e_++)eE+="0";for(e_=(eA=TN(eE,ew,em)).length;!eA[e_-1];--e_);for(eC=1,eE="1.";eCe_)for(eM-=e_;eM--;)eE+="0";else eMem)return eb.length=em,!0}function _V(eb){return new this(eb).abs()}function _w(eb){return new this(eb).acos()}function _M(eb){return new this(eb).acosh()}function _C(eb,em){return new this(eb).plus(em)}function _k(eb){return new this(eb).asin()}function _T(eb){return new this(eb).asinh()}function _S(eb){return new this(eb).atan()}function _E(eb){return new this(eb).atanh()}function _A(eb,em){eb=new this(eb),em=new this(em);var eH,eV=this.precision,ew=this.rounding,eM=eV+4;return eb.s&&em.s?eb.d||em.d?!em.d||eb.isZero()?(eH=em.s<0?TF(this,eV,ew):new this(0)).s=eb.s:!eb.d||em.isZero()?(eH=TF(this,eM,1).times(.5)).s=eb.s:em.s<0?(this.precision=eM,this.rounding=1,eH=this.atan(TD(eb,em,eM,1)),em=TF(this,eM,1),this.precision=eV,this.rounding=ew,eH=eb.s<0?eH.minus(em):eH.plus(em)):eH=this.atan(TD(eb,em,eM,1)):(eH=TF(this,eM,1).times(em.s>0?.25:.75)).s=eb.s:eH=new this(NaN),eH}function _N(eb){return new this(eb).cbrt()}function _I(eb){return TP(eb=new this(eb),eb.e+1,2)}function _D(eb,em,eH){return new this(eb).clamp(em,eH)}function _P(eb){if(!eb||"object"!=typeof eb)throw Error(k8+"Object expected");var em,eH,eV,ew=!0===eb.defaults,eM=["precision",1,kJ,"rounding",0,8,"toExpNeg",-kX,0,"toExpPos",0,kX,"maxE",0,kX,"minE",-kX,0,"modulo",0,9];for(em=0;em=eM[em+1]&&eV<=eM[em+2])this[eH]=eV;else throw Error(k9+eH+": "+eV)}if(eH="crypto",ew&&(this[eH]=k3[eH]),void 0!==(eV=eb[eH])){if(!0===eV||!1===eV||0===eV||1===eV){if(eV){if("undefined"!=typeof crypto&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[eH]=!0;else throw Error(Tb)}else this[eH]=!1}else throw Error(k9+eH+": "+eV)}return this}function _O(eb){return new this(eb).cos()}function _R(eb){return new this(eb).cosh()}function _B(eb){var em,eH,eV;function ew(eb){var em,eH,eV,eM=this;if(!(eM instanceof ew))return new ew(eb);if(eM.constructor=ew,_$(eb)){eM.s=eb.s,k5?!eb.d||eb.e>ew.maxE?(eM.e=NaN,eM.d=null):eb.e=10;eH/=10)em++;k5?em>ew.maxE?(eM.e=NaN,eM.d=null):em=429e7?em[eM]=crypto.getRandomValues(new Uint32Array(1))[0]:eT[eM++]=ew%1e7;else if(crypto.randomBytes){for(em=crypto.randomBytes(eV*=4);eM=214e7?crypto.randomBytes(4).copy(em,eM):(eT.push(ew%1e7),eM+=4);eM=eV/4}else throw Error(Tb)}else for(;eM=10;ew/=10)eV++;eVem in eb?S_(eb,em,{enumerable:!0,configurable:!0,writable:!0,value:eH}):eb[em]=eH,SE=(eb,em,eH)=>(SS(eb,"symbol"!=typeof em?em+"":em,eH),eH);class SA extends uz{constructor(eb,em,eH){if(super(eb,em,eH),SE(this,"wallet"),SE(this,"framework"),SE(this,"alephx"),eb instanceof eY)this.wallet=eb;else if(eb instanceof dK.r)this.wallet=new eY(eb);else throw Error("Unsupported wallet type")}async init(){if(!this.wallet)throw Error("PublicKey Error: No providers are set up");if(await this.wallet.connect(),this.framework||(this.framework=await kK.create({chainId:await this.wallet.getCurrentChainId(),provider:this.wallet.provider})),!this.alephx){if(eK[eZ.AVAX_TESTNET].chainId===eG(await this.getChainId()))this.alephx=await this.framework.loadSuperToken(SC);else if(eK[eZ.AVAX].chainId===eG(await this.getChainId()))this.alephx=await this.framework.loadSuperToken(Sx);else throw Error(`ChainID ${await this.getChainId()} not supported`)}}alephToWei(eb){let em=new SM(eb).mul(1e18);return uE.O$.from(em.toString())}weiToAleph(eb){return new SM(kY.dF(uE.O$.from(eb)))}alephPerHourToFlowRate(eb){return this.alephToWei(eb).div(uE.O$.from(3600))}flowRateToAlephPerHour(eb){return new SM(kY.dF(uE.O$.from(eb).mul(uE.O$.from(3600))))}async getALEPHBalance(){if(!this.wallet)throw Error("PublicKey Error: No providers are set up");if(!this.alephx)throw Error("SuperfluidAccount not initialized");let eb=await this.alephx.balanceOf({account:this.address,providerOrSigner:this.wallet.provider});return this.weiToAleph(eb)}async getALEPHFlow(eb){if(!this.wallet)throw Error("PublicKey Error: No providers are set up");if(!this.alephx)throw Error("SuperfluidAccount not initialized");let em=await this.alephx.getFlow({sender:this.address,receiver:eb,providerOrSigner:this.wallet.provider});return em?this.flowRateToAlephPerHour(em.flowRate):new SM(0)}async getNetALEPHFlow(){if(!this.wallet)throw Error("PublicKey Error: No providers are set up");if(!this.alephx)throw Error("SuperfluidAccount not initialized");let eb=await this.alephx.getNetFlow({account:this.address,providerOrSigner:this.wallet.provider});return this.flowRateToAlephPerHour(eb)}async getAllALEPHOutflows(){if(!this.wallet)throw Error("PublicKey Error: No providers are set up");if(!this.framework||!this.alephx)throw Error("SuperfluidAccount not initialized");let eb=` - query { - accounts(where: {outflows_: {sender: ${this.address}}}) { - id - outflows(where: {currentFlowRate_not: "0"}) { - sender { - id - } - receiver { - id - } - createdAtTimestamp - currentFlowRate - } - } - } - `,em=(await this.querySubgraph(eb)).data.accounts,eH={};for(let eb of em)for(let em of eb.outflows){let eb=this.flowRateToAlephPerHour(em.currentFlowRate);em.sender.id===this.address&&(eH[em.sender.id]=eb)}return eH}async querySubgraph(eb){return await (await fetch(await this.getSubgraphUrl(),{method:"POST",body:JSON.stringify({query:eb})})).json()}async getAllALEPHInflows(){if(!this.wallet)throw Error("PublicKey Error: No providers are set up");if(!this.framework||!this.alephx)throw Error("SuperfluidAccount not initialized");let eb=` - query { - accounts(where: {inflows_: {receiver: ${this.address}}}) { - id - inflows(where: {currentFlowRate_not: "0"}) { - sender { - id - } - receiver { - id - } - createdAtTimestamp - currentFlowRate - } - } - } - `,em=(await this.querySubgraph(eb)).data.accounts,eH={};for(let eb of em)for(let em of eb.inflows){let eb=this.flowRateToAlephPerHour(em.currentFlowRate);em.receiver.id===this.address&&(eH[em.sender.id]=eb)}return eH}async getSubgraphUrl(){if(eK[eZ.AVAX_TESTNET].chainId===eG(await this.getChainId()))return Sk;if(eK[eZ.AVAX].chainId===eG(await this.getChainId()))return ST;throw Error(`ChainID ${await this.getChainId()} not supported`)}async increaseALEPHFlow(eb,em){if(!this.wallet)throw Error("PublicKey Error: No providers are set up");if(!this.alephx)throw Error("SuperfluidAccount is not initialized");let eH=await this.alephx.getFlow({sender:this.address,receiver:eb,providerOrSigner:this.wallet.provider});if(uE.O$.from(await this.alephx.balanceOf({account:this.address,providerOrSigner:this.wallet.provider})).lt(this.alephToWei(em)))throw Error("Not enough ALEPH to increase flow");let eV=this.wallet.provider.getSigner();if(!eH||uE.O$.from(eH.flowRate).eq(0))await this.alephx.createFlow({sender:this.address,receiver:eb,flowRate:this.alephPerHourToFlowRate(em).toString()}).exec(eV);else{let ew=uE.O$.from(eH.flowRate.toString()).add(this.alephPerHourToFlowRate(em));await this.alephx.updateFlow({sender:this.address,receiver:eb,flowRate:ew.toString()}).exec(eV)}}async decreaseALEPHFlow(eb,em){if(!this.wallet)throw Error("PublicKey Error: No providers are set up");if(!this.alephx)throw Error("SuperfluidAccount not initialized");let eH=await this.alephx.getFlow({sender:this.address,receiver:eb,providerOrSigner:this.wallet.provider});if(!eH||uE.O$.from(eH.flowRate).eq(0))return;let eV=uE.O$.from(eH.flowRate.toString()).sub(this.alephPerHourToFlowRate(em)),ew=this.wallet.provider.getSigner();eV.lte(0)?await this.alephx.deleteFlow({sender:this.address,receiver:eb}).exec(ew):await this.alephx.updateFlow({sender:this.address,receiver:eb,flowRate:eV.toString()}).exec(ew)}}function SN(eb,em){if(eb.wallet)return new SA(eb.wallet,eb.address,eb.publicKey);throw Error("Wallet is required")}var SI=eH(81287),SD=eH(34853);!function(eb){eb.Metamask="metamask",eb.WalletConnect="wallet-connect"}(ew||(ew={})),ew.Metamask,ew.Metamask,ew.WalletConnect,ew.WalletConnect;let SP={[e_.$O.ETH]:{id:e_.$O.ETH,name:"Ethereum",chainId:1,eip155:!0,currency:"ETH",explorerUrl:"https://etherscan.io/",rpcUrl:"https://eth.drpc.org"},[e_.$O.AVAX]:{id:e_.$O.AVAX,name:"Avalanche",chainId:43114,eip155:!0,currency:"AVAX",explorerUrl:"https://snowtrace.io/",rpcUrl:"https://avalanche.drpc.org"},[e_.$O.SOL]:{id:e_.$O.SOL,name:"Solana",chainId:900,eip155:!1,currency:"SOL"}},SO={1:SP.ETH,43114:SP.AVAX,900:SP.SOL};class SR{async connect(eb){let em=await this.mutex.acquire();try{let em=SP[eb];if(!this.supportedBlockchains.includes(eb))throw Error('Blockchain "'.concat((null==em?void 0:em.name)||eb,'" not supported'));await this.onConnect(eb),this.events.emit("connect",{provider:this.providerId}),this.isReady=!0,await this.switchBlockchain(eb),await this.onUpdate(eb)}finally{em()}}async disconnect(eb){let em=await this.mutex.acquire();try{this.isReady=!1,await this.onDisconnect(),this.events.emit("disconnect",{provider:this.providerId,error:eb})}finally{em()}}async switchBlockchain(eb){let em=await this.getBlockchain().catch(()=>void 0);if(em!==eb)try{var eH;let em=SP[eb];if(!em)throw Error('Blockchain "'.concat(eb,'" not supported'));let eV=this.getProvider(),ew="0x".concat(em.chainId.toString(16));await (null===(eH=eV.request)||void 0===eH?void 0:eH.call(eV,{method:"wallet_switchEthereumChain",params:[{chainId:ew}]}))}catch(eb){throw await this.onUpdate(em),eb}}async onUpdate(eb){if(!this.isReady)return;let em=eb||await this.getBlockchain(),eH=await this.getAccount(),eV=await this.getBalance(eH);this.events.emit("update",{provider:this.providerId,blockchain:em,account:eH,balance:eV})}async onBlockchain(eb){if(!this.isReady)return;eb="string"==typeof eb?parseInt(eb,16):eb;let em=SO[eb],eH=null==em?void 0:em.id;if(!this.supportedBlockchains.includes(eH)){await (0,SD._v)(0),await this.onDisconnect(),this.events.emit("disconnect",{provider:this.providerId,error:Error('Blockchain "'.concat((null==em?void 0:em.name)||eb,'" not supported'))});return}return this.onUpdate(eH)}async onAccount(){return this.onUpdate()}async getBlockchain(){var eb;let em=this.getProvider(),eH=await (null===(eb=em.request)||void 0===eb?void 0:eb.call(em,{method:"eth_chainId"}));eH="string"==typeof eH?parseInt(eH,16):eH;let eV=SO[eH];if(!eV)throw Error('Blockchain "'.concat(eH,'" not supported'));return eV.id}async getAccount(){let eb=this.getProvider(),em=await this.getBlockchain();switch(em){case e_.$O.ETH:return e8(eb);case e_.$O.AVAX:return uV(eb);case e_.$O.SOL:return d$(eb);default:throw SI.Z.ChainNotYetSupported}}async getBalance(eb){if(eb instanceof uz)try{let em=SN(eb);await em.init();let eH=await em.getALEPHBalance();return eH.toNumber()}catch(eb){return console.error(eb),0}if(eb instanceof e5)return(0,SD.Eb)(eb.address);if(eb instanceof dq)return(0,SD.f6)(eb.address);throw SI.Z.ChainNotYetSupported}constructor(eb){this.supportedBlockchains=eb,this.events=new(eT()),this.mutex=new SD.WU,this.isReady=!1}}},72479:function(eb,em,eH){"use strict";eH.d(em,{B:function(){return eK},r:function(){return eV}});var eV,ew=eH(33358),eM=eH(18735),eC=eH(34853),eT=eH(1604);let e_=eT.z.string().trim().min(1,{message:"Required field"});function eS(eb){return eb.optional().or(eT.z.literal(""))}eT.z.string().trim().optional();let eE=e_.regex(/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/,{message:"Invalid url format"}),eA=e_.regex(/^\/ip4\/(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/tcp\/[0-9]{1,4}\/p2p\/Qm[1-9A-HJ-NP-Za-km-z]{44}$/,{message:"Invalid multiaddress format"}),eN=e_.regex(/^0x[a-fA-F0-9]{40}$/,{message:"Invalid address format"}),eI=e_.regex(/^[0-9a-f]{64}$/,{message:"Invalid hash format"}),eD=eT.z.object({name:e_,multiaddress:eA}),eP=eT.z.object({name:e_,address:eE}),eO=eT.z.custom(eb=>eb instanceof File,"Invalid file type").refine(eb=>"image/jpeg"===eb.type||"image/png"===eb.type||"image/svg+xml"===eb.type,{message:"only png, jpg, jpeg or svg formats are valid"}).refine(eb=>eb.size>0,{message:"Image size size should be greater than 0"}),eR=eT.z.object({name:e_,hash:eI,picture:eS(e_).or(eO),banner:eS(e_).or(eO),description:eS(e_),reward:eS(eN),authorized:eS(e_).or(eT.z.array(eN).optional()),locked:eT.z.boolean().optional(),registration_url:eS(eE)}),eB=eR.extend({multiaddress:eS(eA),manager:eS(eN)}),eF=eR.extend({address:eS(eE),stream_reward:eS(eN)});var ej=eH(92064),eU=eH(48764).Buffer;class e${async getFiles(){let[eb,em]=await Promise.all([this.getFileMessages(),this.getFileObjects()]),eH=(null==em?void 0:em.totalSize)||(null==eb?void 0:eb.totalSize);if(void 0===eH)return;let eV=(null==em?void 0:em.files)||[],ew=eV.map(eb=>[eb.item_hash,eb]),eM=new Map(ew),eC=(null==eb?void 0:eb.files)||[],eT=[...eC].map(eb=>{var em;let eH={...eb};return eH.content.size=(null===(em=eM.get(eb.item_hash))||void 0===em?void 0:em.size)||0,eH});return{files:eT,totalSize:eH=eT.reduce((eb,em)=>{var eH;return eb+((null==em?void 0:null===(eH=em.content)||void 0===eH?void 0:eH.size)||0)},0)/1048576}}async getFileMessages(){if(!this.account)return;let{address:eb}=this.account,em=await this.sdkClient.getMessages({messageTypes:[eM.Cs.store],addresses:[eb],pageSize:1e3}),eH=(null==em?void 0:em.messages)||[],eV=eH.reduce((eb,em)=>{var eH;return eb+((null==em?void 0:null===(eH=em.content)||void 0===eH?void 0:eH.size)||0)},0);return{files:eH,totalSize:eV}}async getFileObjects(){if(!this.account)return;let{address:eb}=this.account;try{let em=await fetch("".concat(ew.pf,"/api/v0/addresses/").concat(eb,"/files?pagination=1000")),eH=await em.json(),eV=eH.total_size/1048576,eM=eH.files;return{files:eM,totalSize:eV}}catch(eb){console.log("Files API is not yet implemented on the node")}}async uploadFile(eb){if(!(this.sdkClient instanceof ej.x))throw Error("Account needed to perform this action");let em=eU.from(await eb.arrayBuffer()),eH=await this.sdkClient.createStore({channel:ew.CE,fileObject:em});return eH.content.item_hash}constructor(eb,em=ew.Nr,eH=eb?new ej.x(eb,ew.pf):new ej.O(ew.pf)){this.account=eb,this.channel=em,this.sdkClient=eH}}var eW=eH(65929),eZ=eH(47630),eG=eH(81287);!function(eb){eb[eb.Valid=0]="Valid",eb[eb.IPV6=1]="IPV6",eb[eb.MinSpecs=2]="MinSpecs",eb[eb.Version=3]="Version",eb[eb.RewardAddress=4]="RewardAddress"}(eV||(eV={}));class eK{async getCCNNodes(){let{ccns:eb}=await this.getAllNodes();return eb}async getCRNNodes(){let{crns:eb}=await this.getAllNodes();return eb}async getAllNodes(){let eb=await this.fetchAllNodes(),{timestamp:em}=eb,{ccns:eH,crns:eV}=eb;return eV=this.parseResourceNodes(eV),eV=await this.parseScores(eV,!0),eV=await this.parseMetrics(eV,!0),eH=await this.parseScores(eH,!1),eH=await this.parseMetrics(eH,!1),this.linkChildrenNodes(eH,eV),this.linkParentNodes(eV,eH),{ccns:eH,crns:eV,timestamp:em}}async *subscribeNodesFeed(eb){let em=(0,eW.Q)("".concat(ew.tC,"/api/ws0/messages?msgType=AGGREGATE&history=1&addresses=").concat(ew.Lp),eb);for await(let eb of em){if(!eb.content||!eb.content.content)return;let{content:em,address:eH,key:eV,time:eM}=eb.content||{},{nodes:eC,resource_nodes:eT}=em;if(eH===ew.Lp&&"corechannel"===eV&&(void 0!==eC||void 0!==eT)){let eb=eT,em=eC;eb=this.parseResourceNodes(eb),eb=await this.parseScores(eb,!0),eb=await this.parseMetrics(eb,!0),em=await this.parseScores(em,!1),em=await this.parseMetrics(em,!1),this.linkChildrenNodes(em,eb),this.linkParentNodes(eb,em);let eH=Math.trunc(1e3*eM);yield{ccns:em,crns:eb,timestamp:eH}}}}async getLatestVersion(eb){return this.isCRN(eb)?this.getLatestCRNVersion():this.getLatestCCNVersion()}async getLatestCCNVersion(){return(0,eC.vM)("https://api.github.com/repos/aleph-im/pyaleph/releases","ccn_versions",3e5,eC.dU)}async getLatestCRNVersion(){return(0,eC.vM)("https://api.github.com/repos/aleph-im/aleph-vm/releases","crn_versions",3e5,eC.dU)}async newCoreChannelNode(eb){if(!(this.sdkClient instanceof ej.x))throw eG.Z.InvalidAccount;eb=await eK.newCCNSchema.parseAsync(eb);let em=await this.sdkClient.createPost({postType:ew.gE,channel:ew.CE,content:{tags:["create-node",...ew.pJ],action:"create-node",details:eb},storageEngine:eM.qG.inline});return em.item_hash}async newComputeResourceNode(eb){if(!(this.sdkClient instanceof ej.x))throw eG.Z.InvalidAccount;eb=await eK.newCRNSchema.parseAsync(eb);let em=await this.sdkClient.createPost({postType:ew.gE,channel:ew.CE,content:{tags:["create-resource-node",...ew.pJ],action:"create-resource-node",details:{...eb,type:"compute"}},storageEngine:eM.qG.inline});return em.item_hash}async updateCoreChannelNode(eb){return eb=await eK.updateCCNSchema.parseAsync(eb),this.updateNode(eb,"create-node")}async updateComputeResourceNode(eb){return eb=await eK.updateCRNSchema.parseAsync(eb),this.updateNode(eb,"create-resource-node")}async removeNode(eb){if(!(this.sdkClient instanceof ej.x))throw eG.Z.InvalidAccount;let em=await this.sdkClient.createPost({postType:ew.gE,channel:ew.CE,ref:eb,content:{tags:["drop-node",...ew.pJ],action:"drop-node"},storageEngine:eM.qG.inline});return em.item_hash}async linkComputeResourceNode(eb){if(!(this.sdkClient instanceof ej.x))throw eG.Z.InvalidAccount;await this.sdkClient.createPost({postType:ew.gE,channel:ew.CE,ref:eb,content:{tags:["link",...ew.pJ],action:"link"},storageEngine:eM.qG.inline})}async unlinkComputeResourceNode(eb){if(!(this.sdkClient instanceof ej.x))throw eG.Z.InvalidAccount;await this.sdkClient.createPost({postType:ew.gE,channel:ew.CE,ref:eb,content:{tags:["unlink",...ew.pJ],action:"unlink"},storageEngine:eM.qG.inline})}async fetchAllNodes(){return(0,eC.vM)("".concat(ew.pf,"/api/v0/aggregates/0xa1B3bb7d2332383D96b7796B908fB7f7F3c2Be10.json?keys=corechannel&limit=100"),"nodes",5e3,async eb=>{var em,eH,eV,ew;let eM=null==eb?void 0:null===(em=eb.data)||void 0===em?void 0:null===(eH=em.corechannel)||void 0===eH?void 0:eH.resource_nodes,eC=null==eb?void 0:null===(eV=eb.data)||void 0===eV?void 0:null===(ew=eV.corechannel)||void 0===ew?void 0:ew.nodes,eT=0;return{ccns:eC,crns:eM,timestamp:eT}})}async updateNode(eb,em){let{hash:eH,...eV}=eb;if(!(this.sdkClient instanceof ej.x))throw eG.Z.InvalidAccount;if(!eH)throw Error("Invalid node hash");eV.locked||(eV.registration_url=""),eV.picture instanceof File&&(eV.picture=await this.fileManager.uploadFile(eV.picture)),eV.banner instanceof File&&(eV.banner=await this.fileManager.uploadFile(eV.banner));let eC=await this.sdkClient.createPost({postType:"amend",ref:eH,content:{tags:[em,...ew.pJ],action:em,details:eV},channel:ew.CE,storageEngine:eM.qG.inline});return[eC.item_hash,{hash:eH,...eV,picture:eV.picture,banner:eV.banner}]}isCRN(eb){return Object.hasOwn(eb,"parent")}isKYCRequired(eb){return void 0!==eb.registration_url&&""!==eb.registration_url}isKYCCleared(eb){var em;return!!this.account&&((null===(em=eb.authorized)||void 0===em?void 0:em.includes(this.account.address))||!1)}isLocked(eb){return!!eb.locked&&!(this.isKYCRequired(eb)&&this.isKYCCleared(eb))}isUserNode(eb){return!!this.account&&this.account.address===eb.owner}isUserStake(eb){return!!this.account&&!!eb.stakers[this.account.address]}isLinked(eb){return!!eb.parentData}isUnlinkableBy(eb,em){return!!em&&(this.isUserNode(em)&&em.hash===eb.parent||this.isUserNode(eb)&&!!eb.parent)}isStakeable(eb){return eb.total_staked>=eK.maxStakedPerNode?[!1,"Too many ALEPH staked on that node"]:this.isLocked(eb)?[!1,"This node is locked"]:[!0,"".concat(eb.hash," is stakeable")]}isStakeableBy(eb,em){let eH=this.isStakeable(eb);return eH[0]?!em||em<1e4?[!1,"You need at least 10000 ALEPH to stake"]:this.isUserNode(eb)?[!1,"You can't stake while you operate a node"]:this.isUserStake(eb)?[!1,"Already staking in this node"]:[!0,"Stake ".concat(em.toFixed(2)," ALEPH in this node")]:eH}isLinkable(eb){return eb.locked?[!1,"This node is locked"]:eb.parent?[!1,"The node is already linked to ".concat(eb.parent," ccn")]:[!0,"".concat(eb.hash," is linkable")]}isLinkableBy(eb,em){let eH=this.isLinkable(eb);return eH[0]?em&&this.isUserNode(em)?eb.locked?[!1,"This node is locked"]:eb.parent?[!1,"The node is already linked to ".concat(eb.parent," ccn")]:em.resource_nodes.length>=eK.maxLinkedPerNode?[!1,"The user node is already linked to ".concat(em.resource_nodes.length," nodes")]:[!0,"Link ".concat(eb.hash," to ").concat(em.hash)]:[!1,"The user doesn't own a core channel node"]:eH}hasIssues(eb){let em=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.isCRN(eb)){var eH;if(eb.score<.8)return"The CRN is underperforming";if(!eb.parentData)return"The CRN is not being linked to a CCN";if(0>=((null==eb?void 0:null===(eH=eb.parentData)||void 0===eH?void 0:eH.score)||0))return"The linked CCN is underperforming"}else{if(eb.score<.8)return"The CCN is underperforming";if(((null==eb?void 0:eb.crnsData.length)||0)eb.score<.8)))return"One of the linked CRN is underperforming"}}getNodeVersionNumber(eb){var em,eH;return(null===(em=eb.metricsData)||void 0===em?void 0:em.version)?(0,eC.L1)(null===(eH=eb.metricsData)||void 0===eH?void 0:eH.version):0}isStreamPaymentNotSupported(eb){return eb.stream_reward?this.getNodeVersionNumber(eb)<(0,eC.L1)("v0.4.0")?eV.Version:eV.Valid:eV.RewardAddress}validateMinNodeSpecs(eb,em){return eb.cpu<=em.cpu.count&&eb.ram<=(em.mem.available_kB||0)/1024&&eb.storage<=(em.disk.available_kB||0)/1024}async getCRNsSpecs(eb){let em=await Promise.all(eb.map(eb=>this.getCRNspecs(eb)));console.log("specs",em);let eH=em.filter(eb=>void 0!==eb);return console.log("filtered",eH),eH}async getCRNspecs(eb){let em=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;if(!eb.address)return;let eH=eb.address.toLowerCase().replace(/\/$/,""),eV="".concat(eH,"/about/usage/system"),{success:ew}=eE.safeParse(eV);if(ew)try{return await (0,eC.vM)(eV,"crn_specs_".concat(eb.hash,"_1"),3600,em=>{if(void 0===em.cpu)throw Error("invalid response");return{...em,hash:eb.hash,name:eb.name}})}catch(eH){if(!em)return;return await (0,eC._v)(200),this.getCRNspecs(eb,em-1)}}async getCRNips(eb){let em=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;if(!eb.address)return;let eH=eb.address.toLowerCase().replace(/\/$/,""),eV="".concat(eH,"/status/check/ipv6"),{success:ew}=eE.safeParse(eV);if(ew)try{return await (0,eC.vM)(eV,"crn_ips_".concat(eb.hash,"_1"),3600,em=>{if(void 0===em.vm)throw Error("invalid response");return{...em,hash:eb.hash,name:eb.name}})}catch(eH){if(!em)return;return await (0,eC._v)(200),this.getCRNips(eb,em-1)}}async getCRNBenchmark(eb){let em=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(!eb.address)return;let{hash:eH,name:eV}=eb,ew=eb.address.toLowerCase().replace(/\/$/,""),eM="".concat(ew,"/vm/873889eb4ce554385e7263724bd0745130099c24fd9c535f0a648100138a2514/benchmark"),eT="".concat(ew,"/vm/873889eb4ce554385e7263724bd0745130099c24fd9c535f0a648100138a2514/memory_speed"),{success:e_}=eE.safeParse(eM),{success:eS}=eE.safeParse(eT);if(e_&&eS)try{let[em,ew]=await Promise.all([(0,eC.vM)(eM,"4crn_benchmark_cpu_".concat(eb.hash),3600,eb=>{if(void 0===eb.benchmark)throw Error("invalid response");return eb}),(0,eC.vM)(eT,"4crn_benchmark_ram_".concat(eb.hash),3600,eb=>{if(void 0===eb.speed_str)throw Error("invalid response");return eb})]);return{hash:eH,name:eV,cpu:em,ram:ew}}catch(eH){if(!em)return;return await (0,eC._v)(200),this.getCRNBenchmark(eb,em-1)}}parseResourceNodes(eb){return eb.map(eb=>(eb.locked=!!eb.locked,eb))}linkChildrenNodes(eb,em){let eH=em.reduce((eb,em)=>{if(!em.parent)return eb;let eH=eb[em.parent]=eb[em.parent]||[];return eH.push(em),eb},{});eb.forEach(eb=>{let em=eH[eb.hash]||[];em&&(eb.crnsData=em)})}linkParentNodes(eb,em){let eH=em.reduce((eb,em)=>(eb[em.hash]=em,eb),{});eb.forEach(eb=>{if(!eb.parent)return;let em=eH[eb.parent];em&&(eb.parentData=em)})}async parseScores(eb,em){let eH=em?await this.getCRNScores():await this.getCCNScores(),eV=new Map(eH.map(eb=>[eb.node_id,eb]));return eb.map(eb=>{let em=eV.get(eb.hash);return em?{...eb,score:em.total_score,decentralization:em.decentralization,performance:em.performance,version:em.version,scoreData:em}:eb})}async parseMetrics(eb,em){let eH=em?await this.getCRNMetrics():await this.getCCNMetrics(),eV=new Map(eH.map(eb=>[eb.node_id,eb]));return eb.map(eb=>{let em=eV.get(eb.hash);return em?{...eb,metricsData:em}:eb})}async getScores(){var eb,em;let eH=await this.sdkClient.getPosts({types:"aleph-scoring-scores",addresses:[ew.id],pageSize:1,page:1});return null===(eb=null===(em=eH.posts[0])||void 0===em?void 0:em.content)||void 0===eb?void 0:eb.scores}async getMetrics(){var eb,em;let eH=await this.sdkClient.getPosts({types:"aleph-network-metrics",addresses:[ew.id],pageSize:1,page:1});return null===(eb=null===(em=eH.posts[0])||void 0===em?void 0:em.content)||void 0===eb?void 0:eb.metrics}async getCCNScores(){let eb=await this.getScores();return eb.ccn}async getCCNMetrics(){let eb=await this.getMetrics();return eb.ccn}async getCRNScores(){let eb=await this.getScores();return eb.crn}async getCRNMetrics(){let eb=await this.getMetrics();return eb.crn}constructor(eb,em=eb?new ej.x(eb,ew.pf):new ej.O(ew.pf),eH=new e$(eb,ew.CE,em)){this.account=eb,this.sdkClient=em,this.fileManager=eH}}(()=>{eK.newCCNSchema=eD})(),(()=>{eK.newCRNSchema=eP})(),(()=>{eK.updateCCNSchema=eB})(),(()=>{eK.updateCRNSchema=eF})(),(()=>{eK.maxStakedPerNode=1e6})(),(()=>{eK.maxLinkedPerNode=5})()},47630:function(eb,em,eH){"use strict";eH.d(em,{S:function(){return e_}});var eV=eH(33358),ew=eH(34853),eM=eH(18735),eC=eH(65929),eT=eH(92064);class e_{async getLastRewardsCalculation(){let eb=await this.sdkClient.getPosts({types:"staking-rewards-distribution",addresses:[eV.Lp],tags:["calculation"],pageSize:1,page:1}),{content:em,time:eH}=eb.posts[0],{rewards:ew,end_height:eM}=em;return{type:"calculation",rewards:ew,lastHeight:eM,timestamp:Math.trunc(1e3*eH)}}async getLastRewardsDistribution(){let eb=await this.sdkClient.getPosts({types:"staking-rewards-distribution",addresses:[eV.jM],tags:["distribution"],pageSize:1,page:1}),{content:em,time:eH}=eb.posts[0],{rewards:ew,end_height:eM}=em;return{type:"distribution",rewards:ew,lastHeight:eM,timestamp:Math.trunc(1e3*eH)}}async *subscribeRewardsFeed(eb){let em=(0,eC.Q)("".concat(eV.tC,"/api/ws0/messages?msgType=POST&history=1&contentTypes=staking-rewards-distribution&addresses=").concat(eV.jM,",").concat(eV.Lp),eb);for await(let eb of em){if(!eb.content||!eb.content.content)return;let{content:em,time:eH}=eb.content||{},{status:eV,rewards:ew,end_height:eM}=em;("calculation"===eV||"distribution"===eV&&eb.content.content.targets.some(eb=>{let{success:em}=eb;return em}))&&(yield{type:eV,rewards:ew,lastHeight:eM,timestamp:Math.trunc(1e3*eH)})}}async stake(eb){if(!(this.sdkClient instanceof eT.x))throw Error("Account needed to perform this action");await this.sdkClient.createPost({postType:eV.gE,channel:eV.CE,ref:eb,content:{tags:["stake-split",...eV.pJ],action:"stake-split"},storageEngine:eM.qG.inline})}async unstake(eb){if(!(this.sdkClient instanceof eT.x))throw Error("Account needed to perform this action");await this.sdkClient.createPost({postType:eV.gE,channel:eV.CE,ref:eb,content:{tags:["unstake",...eV.pJ],action:"unstake"},storageEngine:eM.qG.inline})}isCRN(eb){return Object.hasOwn(eb,"parent")}activeNodes(eb){return eb.filter(eb=>this.isCRN(eb)?"linked"===eb.status:"active"===eb.status)}totalStaked(eb){return eb.reduce((eb,em)=>eb+em.total_staked,0)}totalStakedByUser(eb){let{account:em}=this;return em?eb.reduce((eb,eH)=>eb+(eH.stakers[em.address]||0),0):0}totalStakedByOperators(eb){return eb.length*e_.minStakeToActivateNode}totalStakedInActive(eb){return this.totalStaked(this.activeNodes(eb))}totalPerDay(eb){let em=this.activeNodes(eb).length;return em?e_.dailyCCNRewardsPool*((Math.log10(em)+1)/3):0}totalPerAlephPerDay(eb){let em=this.totalStakedInActive(eb);return em?this.totalPerDay(eb)/em:0}currentAPY(eb){return(1+this.totalPerAlephPerDay(eb))**365-1}computeEstimatedStakersAPY(eb,em){let eH=0;if(eb.score){let eV=(0,ew._1)(eb.score,.2,.8,0,1),eM=this.totalLinkedCRNPenaltyFactor(eb);eH=this.currentAPY(em)*eV*eM}return eH}stakingRewardsPerDay(eb,em){return eb*this.totalPerAlephPerDay(em)}totalLinkedCRNPenaltyFactor(eb){let em=Math.min(eb.crnsData.filter(eb=>eb.score>=.2).length,e_.minLinkedNodesForPenalty);return 1-(e_.minLinkedNodesForPenalty-em)/10}CCNRewardsPerDay(eb,em){if(!eb.score)return 0;let eH=this.activeNodes(em).length,eV=e_.dailyCCNRewardsPool/eH,eM=(0,ew._1)(eb.score,.2,.8,0,1),eC=this.totalLinkedCRNPenaltyFactor(eb);return eV*eM*eC}CRNRewardsPerDay(eb){if(!eb.parent||!eb.score||!eb.decentralization)return 0;let{decentralization:em,score:eH}=eb,eV=e_.dailyCRNRewardsBase+e_.dailyCRNRewardsVariable*em,eM=(0,ew._1)(eH,.2,.8,0,1);return eV*eM}constructor(eb,em=eV.Nr,eH=eb?new eT.x(eb,eV.pf):new eT.O(eV.pf)){this.account=eb,this.channel=em,this.sdkClient=eH}}(()=>{e_.dailyCCNRewardsPool=15e3})(),(()=>{e_.dailyCRNRewardsBase=250/(365/12)})(),(()=>{e_.dailyCRNRewardsVariable=1250/(365/12)})(),(()=>{e_.minStakeToActivateNode=2e5})(),(()=>{e_.minLinkedNodesForPenalty=3})()},33358:function(eb,em,eH){"use strict";eH.d(em,{CE:function(){return ew},Lp:function(){return eE},Nr:function(){return eV},RG:function(){return eI},gE:function(){return eC},id:function(){return eS},jM:function(){return eA},pJ:function(){return eM},pf:function(){return eT},tC:function(){return e_}});let eV="ALEPH-ACCOUNT",ew="FOUNDATION",eM=["mainnet"],eC="corechan-operation",eT="https://api3.aleph.im",e_="wss://api3.aleph.im",eS="0x4D52380D3191274a04846c89c069E6C3F2Ed94e4",eE="0xa1B3bb7d2332383D96b7796B908fB7f7F3c2Be10",eA="0x3a5CC6aBd06B601f4654035d125F9DD2FC992C25",eN="https://console.twentysix.cloud",eI="".concat(eN,"/computing/instance/new")},81287:function(eb,em){"use strict";em.Z={ChainNotYetSupported:Error("Chain is not yet supported"),RequestTimeout:Error("Request timed out"),RequestFailed:eb=>Error("Request failed",{cause:eb}),InvalidAccount:Error("Account needed to perform this action")}},65929:function(eb,em,eH){"use strict";eH.d(em,{Q:function(){return ew}});var eV=eH(34853);async function*ew(eb,em){let eH;let ew=[],eM=[];function eC(){for(;ew.length;)ew.pop();for(;eM.length;){let eb=eM.shift();null==eb||eb.reject()}}function eT(){for(;;){if(0===ew.length||0===eM.length)return;let eb=ew.shift(),em=eM.shift();null==em||em.resolve(eb)}}em.then(eC);let e_=()=>{let em=new WebSocket(eb);eH=em,em.addEventListener("message",eA),em.addEventListener("close",eN),em.addEventListener("error",eI),em.addEventListener("open",()=>{})},eS=function(eb){let em=!(arguments.length>1)||void 0===arguments[1]||arguments[1];if(!eH)return;let eV=eH;function ew(){eV.close(),eV.removeEventListener("open",ew),em&&setTimeout(e_,1e3)}eV.removeEventListener("message",eA),eV.removeEventListener("close",eN),eV.removeEventListener("error",eI),eH=void 0,1===eV.readyState?ew():eV.addEventListener("open",ew)},eE=eb=>{ew.push(eb),eT()},eA=eb=>{let em=JSON.parse(eb.data);eE(em)},eN=eb=>{eS(eb,!0)},eI=eb=>{console.error("Socket encountered error: ",null==eb?void 0:eb.message,"Closing socket"),eS(void 0,!1)};e_();try{for(;;){let eb=new eV.ol;eM.push(eb),eT(),yield await eb.promise}}finally{eS(void 0,!1)}}},34853:function(eb,em,eH){"use strict";eH.d(em,{Eb:function(){return e_},Fx:function(){return eN},L1:function(){return eK},RK:function(){return eP},WU:function(){return ej},_1:function(){return e$},_v:function(){return eU},dU:function(){return eZ},eB:function(){return eD},f6:function(){return eS},gl:function(){return eR},k2:function(){return eB},ol:function(){return eF},s5:function(){return eG},tz:function(){return eO},vM:function(){return eW},zN:function(){return eT}});var eV=eH(33358),ew=eH(81287),eM=eH(18735);let eC=function(eb){let em=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,eH=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return eb.length<=em||eb.length<=eH?eb:"".concat(eb.slice(0,em),"...").concat(eH>0?eb.slice(-eH):"")},eT=eb=>eC(eb,6,4),e_=async eb=>{try{let em=await fetch("".concat(eV.pf,"/api/v0/addresses/").concat(eb,"/balance"));if(404===em.status)return 0;let{balance:eH}=await em.json();return eH}catch(eb){throw ew.Z.RequestFailed(eb)}},eS=async eb=>{try{let em=await fetch("https://balance1.api.aleph.cloud/solana/".concat(eb)),{balance:eH}=await em.json();return eH}catch(eb){throw ew.Z.RequestFailed(eb)}},eE={B:1,kB:1e3,MB:1e6,GB:1e9,TB:1e12,KiB:1024,MiB:1048576,GiB:1073741824,TiB:1099511627776},eA={B:"B",kB:"kB",MB:"MB",GB:"GB",TB:"TB",KiB:"kB",MiB:"MB",GiB:"GB",TiB:"TB"};function eN(eb,em){let{from:eH="MiB",to:eV="GiB",displayUnit:ew=!1}=em,eM=eb*eE[eH]/eE[eV];return ew?"".concat(eM.toFixed(2)," ").concat(eA[eV]):eM}function eI(eb){let em=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["B","KiB","MiB","GiB","TiB"],eH="B";for(let eV of em){if(eb1&&void 0!==arguments[1]?arguments[1]:"B";if(void 0===eb)return"n/a";if(0===eb)return"-";let eH=eN(eb,{from:em,to:"B"}),eV=eI(eH);return eN(eb,{from:em,to:eV,displayUnit:!0})}let eP=eb=>void 0===eb?"n/a":0===eb?eb:eb<1e3?eb.toFixed(1):eb<1e6?(eb/1e3).toFixed(1)+"K":eb<1e9?(eb/1e6).toFixed(1)+"M":(eb/1e9).toFixed(1)+"B";Object.values(eM.Cs);let eO=eb=>{let{hash:em,address:eH,tokenAddress:eV}=eb;return em?"https://etherscan.io/tx/".concat(em):eH?"https://etherscan.io/address/".concat(eH):eV?"https://etherscan.io/token/0x27702a26126e0B3702af63Ee09aC4d1A084EF628?a=".concat(eV):void 0},eR=eb=>{let{hash:em,address:eH,tokenAddress:eV}=eb;return em?"https://subnets.avax.network/c-chain/tx/".concat(em):eH?"https://subnets.avax.network/c-chain/address/".concat(eH):eV?"https://subnets.avax.network/c-chain/address/".concat(eV,"?tab=erc20"):void 0},eB=eb=>{let{multiaddress:em}=eb;if(!em)return;let[,eH]=em.match(/\/ip4\/(.+?)\//)||[];if(eH)return"http://".concat(eH,":4024")};class eF{constructor(){this.promise=new Promise((eb,em)=>{this.resolve=eb,this.reject=em})}}class ej{async acquire(){let eb=new eF,em=this.queue;return this.queue=this.queue.then(()=>eb.promise),this.count++,await em,()=>{this.count--,eb.resolve()}}constructor(){this.queue=Promise.resolve(),this.count=0}}function eU(eb){return new Promise(em=>setTimeout(em,eb))}function e$(eb,em,eH,eV,ew){if(!eb)return 0;if(eb>eH)return 1;if(ebeH?ew:eM}async function eW(eb,em,eH,eV){let ew=localStorage.getItem(em),eM=Date.now();if(ew){let{cachedAt:eb,value:eV}=JSON.parse(ew);if(eM-eb1&&void 0!==arguments[1]?arguments[1]:12096e5,eH={latest:null,prerelease:null,outdated:null},eV=0;if(!eb)return eH;for(let ew of eb)ew.prerelease&&!eH.prerelease&&(eH.prerelease=ew.tag_name),ew.prerelease||eH.latest||(eH.latest=ew.tag_name,eV=new Date(ew.published_at).getTime()),eH.latest&&eH.prerelease&&!eH.outdated&&!ew.prerelease&&Date.now()-eV{let eV=new FileReader;eV.readAsDataURL(eb),eV.addEventListener("error",eH),eV.addEventListener("load",()=>{let eb=new Image;eb.src=eV.result,em(eb)})})}function eK(eb){if(!eb)return 0;try{let em=eb.replace(/[a-zA-Z-]/g,"").split(".").map(Number);return em.reduce((eb,em)=>1e3*eb+em,0)}catch(eb){return 0}}},38753:function(eb,em,eH){"use strict";eH.d(em,{i:function(){return eC}});var eV=eH(67294),ew=eH(72479),eM=eH(94461);function eC(eb){let{nodes:em,isStaking:eH}=eb,[eC]=(0,eM.mr)(),{account:eT}=eC.connection,e_=(0,eV.useMemo)(()=>new ew.B(eT),[eT]),eS=(0,eV.useMemo)(()=>{let eb={};return(null==em?void 0:em.length)?em.reduce((eb,em)=>{let eV=e_.hasIssues(em,eH);return eV&&(eb[em.hash]=eV),eb},eb):eb},[eH,e_,em]),eE=(0,eV.useMemo)(()=>Object.values(eS).length,[eS]);return{nodesIssues:eS,warningFlag:eE}}},69797:function(eb,em,eH){"use strict";eH.d(em,{M:function(){return eC}});var eV=eH(67294),ew=eH(72479),eM=eH(94461);function eC(eb){let{nodes:em}=eb,[eH]=(0,eM.mr)(),{account:eC}=eH.connection,eT=(0,eV.useMemo)(()=>new ew.B(eC),[eC]),e_=(0,eV.useCallback)(eb=>{if(eb)return eb.filter(eb=>eT.isUserNode(eb))},[eT]),eS=(0,eV.useMemo)(()=>e_(em),[e_,em]);return{userNodes:eS}}},87274:function(eb,em,eH){"use strict";eH.d(em,{e:function(){return eC}});var eV=eH(67294),ew=eH(72479),eM=eH(94461);function eC(eb){let{nodes:em}=eb,[eH]=(0,eM.mr)(),{account:eC}=eH.connection,eT=(0,eV.useMemo)(()=>new ew.B(eC),[eC]),e_=(0,eV.useCallback)(eb=>{if(eb)return eb.filter(eb=>eT.isUserStake(eb))},[eT]),eS=(0,eV.useMemo)(()=>e_(em),[e_,em]);return{stakeNodes:eS}}},3859:function(eb,em,eH){"use strict";let eV;eH.r(em),eH.d(em,{default:function(){return jv}});var ew,eM,eC,eT,e_,eS={};eH.r(eS),eH.d(eS,{identity:function(){return fI}});var eE={};eH.r(eE),eH.d(eE,{base2:function(){return fD}});var eA={};eH.r(eA),eH.d(eA,{base8:function(){return fP}});var eN={};eH.r(eN),eH.d(eN,{base10:function(){return fO}});var eI={};eH.r(eI),eH.d(eI,{base16:function(){return fR},base16upper:function(){return fB}});var eD={};eH.r(eD),eH.d(eD,{base32:function(){return fF},base32hex:function(){return f$},base32hexpad:function(){return fZ},base32hexpadupper:function(){return fG},base32hexupper:function(){return fW},base32pad:function(){return fU},base32padupper:function(){return fq},base32upper:function(){return fj},base32z:function(){return fK}});var eP={};eH.r(eP),eH.d(eP,{base36:function(){return fY},base36upper:function(){return fX}});var eO={};eH.r(eO),eH.d(eO,{base58btc:function(){return fJ},base58flickr:function(){return fQ}});var eR={};eH.r(eR),eH.d(eR,{base64:function(){return f0},base64pad:function(){return f6},base64url:function(){return f4},base64urlpad:function(){return f3}});var eB={};eH.r(eB),eH.d(eB,{base256emoji:function(){return dz}});var eF={};eH.r(eF),eH.d(eF,{sha256:function(){return dK},sha512:function(){return dY}});var ej={};eH.r(ej),eH.d(ej,{identity:function(){return um}});var eU={};eH.r(eU),eH.d(eU,{code:function(){return uz},decode:function(){return uV},encode:function(){return uH},name:function(){return uy}});var e$={};eH.r(e$),eH.d(e$,{code:function(){return ux},decode:function(){return uT},encode:function(){return uk},name:function(){return uC}});var eW={};eH.r(eW),eH.d(eW,{identity:function(){return xk}});var eZ={};eH.r(eZ),eH.d(eZ,{base2:function(){return xT}});var eG={};eH.r(eG),eH.d(eG,{base8:function(){return x_}});var eK={};eH.r(eK),eH.d(eK,{base10:function(){return xS}});var eY={};eH.r(eY),eH.d(eY,{base16:function(){return xE},base16upper:function(){return xA}});var eX={};eH.r(eX),eH.d(eX,{base32:function(){return xN},base32hex:function(){return xO},base32hexpad:function(){return xB},base32hexpadupper:function(){return xF},base32hexupper:function(){return xR},base32pad:function(){return xD},base32padupper:function(){return xP},base32upper:function(){return xI},base32z:function(){return xj}});var eJ={};eH.r(eJ),eH.d(eJ,{base36:function(){return xU},base36upper:function(){return xq}});var eQ={};eH.r(eQ),eH.d(eQ,{base58btc:function(){return x$},base58flickr:function(){return xW}});var e0={};eH.r(e0),eH.d(e0,{base64:function(){return xZ},base64pad:function(){return xG},base64url:function(){return xK},base64urlpad:function(){return xY}});var e6={};eH.r(e6),eH.d(e6,{base256emoji:function(){return ky}});var e4={};eH.r(e4),eH.d(e4,{sha256:function(){return k$},sha512:function(){return kW}});var e3={};eH.r(e3),eH.d(e3,{identity:function(){return kX}});var e5={};eH.r(e5),eH.d(e5,{code:function(){return kQ},decode:function(){return k4},encode:function(){return k6},name:function(){return kJ}});var e8={};eH.r(e8),eH.d(e8,{code:function(){return k9},decode:function(){return Tb},encode:function(){return k7},name:function(){return k8}});var e9={};eH.r(e9),eH.d(e9,{identity:function(){return _M}});var e7={};eH.r(e7),eH.d(e7,{base2:function(){return _C}});var tH={};eH.r(tH),eH.d(tH,{base8:function(){return _k}});var tV={};eH.r(tV),eH.d(tV,{base10:function(){return _T}});var tw={};eH.r(tw),eH.d(tw,{base16:function(){return _S},base16upper:function(){return _E}});var tC={};eH.r(tC),eH.d(tC,{base32:function(){return _A},base32hex:function(){return _P},base32hexpad:function(){return _R},base32hexpadupper:function(){return _B},base32hexupper:function(){return _O},base32pad:function(){return _I},base32padupper:function(){return _D},base32upper:function(){return _N},base32z:function(){return _F}});var tT={};eH.r(tT),eH.d(tT,{base36:function(){return _j},base36upper:function(){return _U}});var t_={};eH.r(t_),eH.d(t_,{base58btc:function(){return _q},base58flickr:function(){return _$}});var tS={};eH.r(tS),eH.d(tS,{base64:function(){return _W},base64pad:function(){return _Z},base64url:function(){return _G},base64urlpad:function(){return _K}});var tE={};eH.r(tE),eH.d(tE,{base256emoji:function(){return _5}});var tA={};eH.r(tA),eH.d(tA,{sha256:function(){return SR},sha512:function(){return SF}});var tN={};eH.r(tN),eH.d(tN,{identity:function(){return SW}});var tI={};eH.r(tI),eH.d(tI,{code:function(){return SK},decode:function(){return SX},encode:function(){return SY},name:function(){return SZ}});var tD={};eH.r(tD),eH.d(tD,{code:function(){return S2},decode:function(){return S4},encode:function(){return S6},name:function(){return S1}});var tP=eH(85893),tO=eH(19521),tR=eH(79632);let tB=(0,tO.vJ)(["html,body,#__next{height:100%;}section{padding:0;}.unavailable-content{opacity:0.3;filter:grayscale(1);pointer-events:none;}textarea{width:100%;background:linear-gradient(to bottom,#FFFFFF33,transparent);border-radius:0.3125rem;padding:0.3125rem;border:1px solid #FFFFFF33;color:inherit;}p{color:",";}html{}"],eb=>{let{theme:em}=eb;return em.color.text});var tF=eH(94461),tj=eH(67294),tU=eH(41664),tq=eH.n(tU);let t$=tO.ZP.div.withConfig({displayName:"styles__StyledNavbarDesktop",componentId:"sc-a6yyy7-0"})(["",""],eb=>{let{$breakpoint:em}=eb;return(0,tO.iv)([""," height:6.5rem;backdrop-filter:blur(50px);",""],{position:"relative",top:"0px",zIndex:"10",margin:"0px",display:"none",width:"100%",flex:"0 1 auto",flexShrink:"0",alignItems:"center",justifyContent:"space-between",paddingLeft:"4rem",paddingRight:"4rem"},(0,tR.gn)(em,(0,tO.iv)(["",""],{display:"flex"})))}),tW=(0,tO.ZP)(tR.Gi).withConfig({displayName:"styles__StyledNavbarMobile",componentId:"sc-a6yyy7-1"})(["",""],eb=>{let{breakpoint:em}=eb;return(0,tO.iv)([""," ",""],{position:"relative",zIndex:"10",display:"block"},(0,tR.gn)(em,(0,tO.iv)(["",""],{display:"none"})))}),tZ=tO.ZP.header.withConfig({displayName:"styles__StyledHeader",componentId:"sc-a6yyy7-2"})(["",""],eb=>{let{$breakpoint:em}=eb;return(0,tO.iv)([""," font-size:inherit;line-height:inherit;box-sizing:border-box;",";"],{position:"fixed",left:"0px",top:"0px",zIndex:"10",margin:"0px",width:"100%"},(0,tR.gn)(em,(0,tO.iv)(["",""],{position:"sticky"})))});var tG=eH(11163);let tK={"/":"HOME","/earn/ccn":"CORE NODES","/earn/crn":"COMPUTE RESOURCE NODES","/earn/ccn/new":"CREATE CORE NODE","/earn/crn/new":"CREATE COMPUTE RESOURCE NODE"};function tY(){let[eb]=(0,tF.mr)(),em=(0,tj.useCallback)(eb=>eb?em=>{let eH=eb.find(eb=>eb.hash===em.query.hash);return((null==eH?void 0:eH.name)||"").toUpperCase()}:"",[]),eH=(0,tj.useMemo)(()=>({...tK}),[]);return eH=(0,tj.useMemo)(()=>({...eH,"/earn/ccn/[hash]":em(eb.ccns.entities)}),[eH,em,eb.ccns.entities]),{names:eH=(0,tj.useMemo)(()=>({...eH,"/earn/crn/[hash]":em(eb.crns.entities)}),[eH,em,eb.crns.entities])}}var tX=eH(87274),tJ=eH(69797),tQ=eH(38753);function aH(){let[eb]=(0,tF.mr)(),{entities:em}=eb.ccns,{entities:eH}=eb.crns,{stakeNodes:eV}=(0,tX.e)({nodes:em}),{userNodes:ew}=(0,tJ.M)({nodes:em}),{userNodes:eM}=(0,tJ.M)({nodes:eH}),{warningFlag:eC}=(0,tQ.i)({nodes:eV,isStaking:!0}),{warningFlag:eT}=(0,tQ.i)({nodes:ew}),{warningFlag:e_}=(0,tQ.i)({nodes:eM}),eS=(0,tj.useMemo)(()=>[{name:"Account",href:"/",icon:"earn",children:[{name:"Earn",href:"/",icon:"earn",children:[{name:"Staking",href:"/earn/staking",icon:"earn",flag:eC},{name:"Core nodes",href:"/earn/ccn",icon:"ccn",flag:eT},{name:"Compute nodes",href:"/earn/crn",icon:"crn",flag:e_}]}]},{name:"Console",icon:"console",href:"https://console.aleph.im/",target:"_blank",external:!0},{name:"Explorer",icon:"explore",href:"https://explorer.aleph.im/",target:"_blank",external:!0},{name:"Swap",icon:"swap",href:"https://swap.aleph.im/",target:"_blank",external:!0}],[eC,eT,e_]);return{routes:eS}}function aV(){let[eb]=(0,tF.mr)(),{data:em}=eb.lastRewardsCalculation,{data:eH}=eb.lastRewardsDistribution;return{lastRewardsDistribution:eH,lastRewardsCalculation:em}}function aM(eb){let{address:em}=eb,{lastRewardsCalculation:eH,lastRewardsDistribution:eV}=aV(),ew=null==eH?void 0:eH.timestamp,eM=null==eV?void 0:eV.timestamp,eC=(null==eH?void 0:eH.lastHeight)||0,eT=(null==eV?void 0:eV.lastHeight)||0,e_=eC>=eT&&(null==eH?void 0:eH.rewards[em])||0;return{calculatedRewards:e_,calculatedTimestamp:ew,distributionTimestamp:eM}}var aC=eH(96116),ak=eH(4582);class a_ extends ak.q6{async isConnected(){var eb;return!!(null===(eb=window.ethereum)||void 0===eb?void 0:eb.isMetaMask)}async onConnect(eb){let em=this.getProvider();em.on("accountsChanged",this.handleAccountChange),em.on("chainChanged",this.handleBlockchainChange),em.on("disconnect",this.handleDisconnect)}async onDisconnect(){let eb=this.getProvider();eb.off("accountsChanged",this.handleAccountChange),eb.off("chainChanged",this.handleBlockchainChange),eb.off("disconnect",this.handleDisconnect)}getProvider(){let eb=window.ethereum;if(!eb)throw Error("Metamask is not installed");return eb}constructor(...eb){super(...eb),this.providerId=ak.F7.Metamask,this.handleAccountChange=this.onAccount.bind(this),this.handleBlockchainChange=this.onBlockchain.bind(this),this.handleDisconnect=this.disconnect.bind(this,void 0)}}var aS=eH(34853),aE=eH(48207),aN=eH(76962),aI=eH(92233),aD=eH(18569),aP=eH(88382);/** +spurious results.`)}}return!1};class TH{constructor(eb,em="GraphQL request",ew={line:1,column:1}){"string"==typeof eb||TA(!1,`Body must be a string. Received: ${TD(eb)}.`),this.body=eb,this.name=em,this.locationOffset=ew,this.locationOffset.line>0||TA(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||TA(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}}function T$(eb){return TV(eb,TH)}function Tq(eb,em){let ew=new TW(eb,em),eM=ew.parseDocument();return Object.defineProperty(eM,"tokenCount",{enumerable:!1,value:ew.tokenCount}),eM}class TW{constructor(eb,em={}){let ew=T$(eb)?eb:new TH(eb);this._lexer=new k4(ew),this._options=em,this._tokenCounter=0}get tokenCount(){return this._tokenCounter}parseName(){let eb=this.expectToken(eN.NAME);return this.node(eb,{kind:eA.NAME,value:eb.value})}parseDocument(){return this.node(this._lexer.token,{kind:eA.DOCUMENT,definitions:this.many(eN.SOF,this.parseDefinition,eN.EOF)})}parseDefinition(){if(this.peek(eN.BRACE_L))return this.parseOperationDefinition();let eb=this.peekDescription(),em=eb?this._lexer.lookahead():this._lexer.token;if(em.kind===eN.NAME){switch(em.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(eb)throw kU(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(em.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(em)}parseOperationDefinition(){let eb;let em=this._lexer.token;if(this.peek(eN.BRACE_L))return this.node(em,{kind:eA.OPERATION_DEFINITION,operation:eE.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let ew=this.parseOperationType();return this.peek(eN.NAME)&&(eb=this.parseName()),this.node(em,{kind:eA.OPERATION_DEFINITION,operation:ew,name:eb,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let eb=this.expectToken(eN.NAME);switch(eb.value){case"query":return eE.QUERY;case"mutation":return eE.MUTATION;case"subscription":return eE.SUBSCRIPTION}throw this.unexpected(eb)}parseVariableDefinitions(){return this.optionalMany(eN.PAREN_L,this.parseVariableDefinition,eN.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:eA.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(eN.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(eN.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let eb=this._lexer.token;return this.expectToken(eN.DOLLAR),this.node(eb,{kind:eA.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:eA.SELECTION_SET,selections:this.many(eN.BRACE_L,this.parseSelection,eN.BRACE_R)})}parseSelection(){return this.peek(eN.SPREAD)?this.parseFragment():this.parseField()}parseField(){let eb,em;let ew=this._lexer.token,eM=this.parseName();return this.expectOptionalToken(eN.COLON)?(eb=eM,em=this.parseName()):em=eM,this.node(ew,{kind:eA.FIELD,alias:eb,name:em,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(eN.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(eb){let em=eb?this.parseConstArgument:this.parseArgument;return this.optionalMany(eN.PAREN_L,em,eN.PAREN_R)}parseArgument(eb=!1){let em=this._lexer.token,ew=this.parseName();return this.expectToken(eN.COLON),this.node(em,{kind:eA.ARGUMENT,name:ew,value:this.parseValueLiteral(eb)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let eb=this._lexer.token;this.expectToken(eN.SPREAD);let em=this.expectOptionalKeyword("on");return!em&&this.peek(eN.NAME)?this.node(eb,{kind:eA.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(eb,{kind:eA.INLINE_FRAGMENT,typeCondition:em?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let eb=this._lexer.token;return(this.expectKeyword("fragment"),!0===this._options.allowLegacyFragmentVariables)?this.node(eb,{kind:eA.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(eb,{kind:eA.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()}parseValueLiteral(eb){let em=this._lexer.token;switch(em.kind){case eN.BRACKET_L:return this.parseList(eb);case eN.BRACE_L:return this.parseObject(eb);case eN.INT:return this.advanceLexer(),this.node(em,{kind:eA.INT,value:em.value});case eN.FLOAT:return this.advanceLexer(),this.node(em,{kind:eA.FLOAT,value:em.value});case eN.STRING:case eN.BLOCK_STRING:return this.parseStringLiteral();case eN.NAME:switch(this.advanceLexer(),em.value){case"true":return this.node(em,{kind:eA.BOOLEAN,value:!0});case"false":return this.node(em,{kind:eA.BOOLEAN,value:!1});case"null":return this.node(em,{kind:eA.NULL});default:return this.node(em,{kind:eA.ENUM,value:em.value})}case eN.DOLLAR:if(eb){if(this.expectToken(eN.DOLLAR),this._lexer.token.kind===eN.NAME){let eb=this._lexer.token.value;throw kU(this._lexer.source,em.start,`Unexpected variable "$${eb}" in constant value.`)}throw this.unexpected(em)}return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let eb=this._lexer.token;return this.advanceLexer(),this.node(eb,{kind:eA.STRING,value:eb.value,block:eb.kind===eN.BLOCK_STRING})}parseList(eb){let em=()=>this.parseValueLiteral(eb);return this.node(this._lexer.token,{kind:eA.LIST,values:this.any(eN.BRACKET_L,em,eN.BRACKET_R)})}parseObject(eb){let em=()=>this.parseObjectField(eb);return this.node(this._lexer.token,{kind:eA.OBJECT,fields:this.any(eN.BRACE_L,em,eN.BRACE_R)})}parseObjectField(eb){let em=this._lexer.token,ew=this.parseName();return this.expectToken(eN.COLON),this.node(em,{kind:eA.OBJECT_FIELD,name:ew,value:this.parseValueLiteral(eb)})}parseDirectives(eb){let em=[];for(;this.peek(eN.AT);)em.push(this.parseDirective(eb));return em}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(eb){let em=this._lexer.token;return this.expectToken(eN.AT),this.node(em,{kind:eA.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(eb)})}parseTypeReference(){let eb;let em=this._lexer.token;if(this.expectOptionalToken(eN.BRACKET_L)){let ew=this.parseTypeReference();this.expectToken(eN.BRACKET_R),eb=this.node(em,{kind:eA.LIST_TYPE,type:ew})}else eb=this.parseNamedType();return this.expectOptionalToken(eN.BANG)?this.node(em,{kind:eA.NON_NULL_TYPE,type:eb}):eb}parseNamedType(){return this.node(this._lexer.token,{kind:eA.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(eN.STRING)||this.peek(eN.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let eb=this._lexer.token,em=this.parseDescription();this.expectKeyword("schema");let ew=this.parseConstDirectives(),eM=this.many(eN.BRACE_L,this.parseOperationTypeDefinition,eN.BRACE_R);return this.node(eb,{kind:eA.SCHEMA_DEFINITION,description:em,directives:ew,operationTypes:eM})}parseOperationTypeDefinition(){let eb=this._lexer.token,em=this.parseOperationType();this.expectToken(eN.COLON);let ew=this.parseNamedType();return this.node(eb,{kind:eA.OPERATION_TYPE_DEFINITION,operation:em,type:ew})}parseScalarTypeDefinition(){let eb=this._lexer.token,em=this.parseDescription();this.expectKeyword("scalar");let ew=this.parseName(),eM=this.parseConstDirectives();return this.node(eb,{kind:eA.SCALAR_TYPE_DEFINITION,description:em,name:ew,directives:eM})}parseObjectTypeDefinition(){let eb=this._lexer.token,em=this.parseDescription();this.expectKeyword("type");let ew=this.parseName(),eM=this.parseImplementsInterfaces(),eC=this.parseConstDirectives(),eT=this.parseFieldsDefinition();return this.node(eb,{kind:eA.OBJECT_TYPE_DEFINITION,description:em,name:ew,interfaces:eM,directives:eC,fields:eT})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(eN.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(eN.BRACE_L,this.parseFieldDefinition,eN.BRACE_R)}parseFieldDefinition(){let eb=this._lexer.token,em=this.parseDescription(),ew=this.parseName(),eM=this.parseArgumentDefs();this.expectToken(eN.COLON);let eC=this.parseTypeReference(),eT=this.parseConstDirectives();return this.node(eb,{kind:eA.FIELD_DEFINITION,description:em,name:ew,arguments:eM,type:eC,directives:eT})}parseArgumentDefs(){return this.optionalMany(eN.PAREN_L,this.parseInputValueDef,eN.PAREN_R)}parseInputValueDef(){let eb;let em=this._lexer.token,ew=this.parseDescription(),eM=this.parseName();this.expectToken(eN.COLON);let eC=this.parseTypeReference();this.expectOptionalToken(eN.EQUALS)&&(eb=this.parseConstValueLiteral());let eT=this.parseConstDirectives();return this.node(em,{kind:eA.INPUT_VALUE_DEFINITION,description:ew,name:eM,type:eC,defaultValue:eb,directives:eT})}parseInterfaceTypeDefinition(){let eb=this._lexer.token,em=this.parseDescription();this.expectKeyword("interface");let ew=this.parseName(),eM=this.parseImplementsInterfaces(),eC=this.parseConstDirectives(),eT=this.parseFieldsDefinition();return this.node(eb,{kind:eA.INTERFACE_TYPE_DEFINITION,description:em,name:ew,interfaces:eM,directives:eC,fields:eT})}parseUnionTypeDefinition(){let eb=this._lexer.token,em=this.parseDescription();this.expectKeyword("union");let ew=this.parseName(),eM=this.parseConstDirectives(),eC=this.parseUnionMemberTypes();return this.node(eb,{kind:eA.UNION_TYPE_DEFINITION,description:em,name:ew,directives:eM,types:eC})}parseUnionMemberTypes(){return this.expectOptionalToken(eN.EQUALS)?this.delimitedMany(eN.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let eb=this._lexer.token,em=this.parseDescription();this.expectKeyword("enum");let ew=this.parseName(),eM=this.parseConstDirectives(),eC=this.parseEnumValuesDefinition();return this.node(eb,{kind:eA.ENUM_TYPE_DEFINITION,description:em,name:ew,directives:eM,values:eC})}parseEnumValuesDefinition(){return this.optionalMany(eN.BRACE_L,this.parseEnumValueDefinition,eN.BRACE_R)}parseEnumValueDefinition(){let eb=this._lexer.token,em=this.parseDescription(),ew=this.parseEnumValueName(),eM=this.parseConstDirectives();return this.node(eb,{kind:eA.ENUM_VALUE_DEFINITION,description:em,name:ew,directives:eM})}parseEnumValueName(){if("true"===this._lexer.token.value||"false"===this._lexer.token.value||"null"===this._lexer.token.value)throw kU(this._lexer.source,this._lexer.token.start,`${TZ(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let eb=this._lexer.token,em=this.parseDescription();this.expectKeyword("input");let ew=this.parseName(),eM=this.parseConstDirectives(),eC=this.parseInputFieldsDefinition();return this.node(eb,{kind:eA.INPUT_OBJECT_TYPE_DEFINITION,description:em,name:ew,directives:eM,fields:eC})}parseInputFieldsDefinition(){return this.optionalMany(eN.BRACE_L,this.parseInputValueDef,eN.BRACE_R)}parseTypeSystemExtension(){let eb=this._lexer.lookahead();if(eb.kind===eN.NAME)switch(eb.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(eb)}parseSchemaExtension(){let eb=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let em=this.parseConstDirectives(),ew=this.optionalMany(eN.BRACE_L,this.parseOperationTypeDefinition,eN.BRACE_R);if(0===em.length&&0===ew.length)throw this.unexpected();return this.node(eb,{kind:eA.SCHEMA_EXTENSION,directives:em,operationTypes:ew})}parseScalarTypeExtension(){let eb=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let em=this.parseName(),ew=this.parseConstDirectives();if(0===ew.length)throw this.unexpected();return this.node(eb,{kind:eA.SCALAR_TYPE_EXTENSION,name:em,directives:ew})}parseObjectTypeExtension(){let eb=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let em=this.parseName(),ew=this.parseImplementsInterfaces(),eM=this.parseConstDirectives(),eC=this.parseFieldsDefinition();if(0===ew.length&&0===eM.length&&0===eC.length)throw this.unexpected();return this.node(eb,{kind:eA.OBJECT_TYPE_EXTENSION,name:em,interfaces:ew,directives:eM,fields:eC})}parseInterfaceTypeExtension(){let eb=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let em=this.parseName(),ew=this.parseImplementsInterfaces(),eM=this.parseConstDirectives(),eC=this.parseFieldsDefinition();if(0===ew.length&&0===eM.length&&0===eC.length)throw this.unexpected();return this.node(eb,{kind:eA.INTERFACE_TYPE_EXTENSION,name:em,interfaces:ew,directives:eM,fields:eC})}parseUnionTypeExtension(){let eb=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let em=this.parseName(),ew=this.parseConstDirectives(),eM=this.parseUnionMemberTypes();if(0===ew.length&&0===eM.length)throw this.unexpected();return this.node(eb,{kind:eA.UNION_TYPE_EXTENSION,name:em,directives:ew,types:eM})}parseEnumTypeExtension(){let eb=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let em=this.parseName(),ew=this.parseConstDirectives(),eM=this.parseEnumValuesDefinition();if(0===ew.length&&0===eM.length)throw this.unexpected();return this.node(eb,{kind:eA.ENUM_TYPE_EXTENSION,name:em,directives:ew,values:eM})}parseInputObjectTypeExtension(){let eb=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let em=this.parseName(),ew=this.parseConstDirectives(),eM=this.parseInputFieldsDefinition();if(0===ew.length&&0===eM.length)throw this.unexpected();return this.node(eb,{kind:eA.INPUT_OBJECT_TYPE_EXTENSION,name:em,directives:ew,fields:eM})}parseDirectiveDefinition(){let eb=this._lexer.token,em=this.parseDescription();this.expectKeyword("directive"),this.expectToken(eN.AT);let ew=this.parseName(),eM=this.parseArgumentDefs(),eC=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let eT=this.parseDirectiveLocations();return this.node(eb,{kind:eA.DIRECTIVE_DEFINITION,description:em,name:ew,arguments:eM,repeatable:eC,locations:eT})}parseDirectiveLocations(){return this.delimitedMany(eN.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let eb=this._lexer.token,em=this.parseName();if(Object.prototype.hasOwnProperty.call(eS,em.value))return em;throw this.unexpected(eb)}node(eb,em){return!0!==this._options.noLocation&&(em.loc=new kV(eb,this._lexer.lastToken,this._lexer.source)),em}peek(eb){return this._lexer.token.kind===eb}expectToken(eb){let em=this._lexer.token;if(em.kind===eb)return this.advanceLexer(),em;throw kU(this._lexer.source,em.start,`Expected ${TK(eb)}, found ${TZ(em)}.`)}expectOptionalToken(eb){let em=this._lexer.token;return em.kind===eb&&(this.advanceLexer(),!0)}expectKeyword(eb){let em=this._lexer.token;if(em.kind===eN.NAME&&em.value===eb)this.advanceLexer();else throw kU(this._lexer.source,em.start,`Expected "${eb}", found ${TZ(em)}.`)}expectOptionalKeyword(eb){let em=this._lexer.token;return em.kind===eN.NAME&&em.value===eb&&(this.advanceLexer(),!0)}unexpected(eb){let em=null!=eb?eb:this._lexer.token;return kU(this._lexer.source,em.start,`Unexpected ${TZ(em)}.`)}any(eb,em,ew){this.expectToken(eb);let eM=[];for(;!this.expectOptionalToken(ew);)eM.push(em.call(this));return eM}optionalMany(eb,em,ew){if(this.expectOptionalToken(eb)){let eb=[];do eb.push(em.call(this));while(!this.expectOptionalToken(ew));return eb}return[]}many(eb,em,ew){this.expectToken(eb);let eM=[];do eM.push(em.call(this));while(!this.expectOptionalToken(ew));return eM}delimitedMany(eb,em){this.expectOptionalToken(eb);let ew=[];do ew.push(em.call(this));while(this.expectOptionalToken(eb));return ew}advanceLexer(){let{maxTokens:eb}=this._options,em=this._lexer.advance();if(em.kind!==eN.EOF&&(++this._tokenCounter,void 0!==eb&&this._tokenCounter>eb))throw kU(this._lexer.source,em.start,`Document contains more that ${eb} tokens. Parsing aborted.`)}}function TZ(eb){let em=eb.value;return TK(eb.kind)+(null!=em?` "${em}"`:"")}function TK(eb){return k3(eb)?`"${eb}"`:eb}function TG(eb){return`"${eb.replace(TY,TJ)}"`}let TY=/[\x00-\x1f\x22\x5c\x7f-\x9f]/g;function TJ(eb){return TX[eb.charCodeAt(0)]}let TX=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F","","",'\\"',"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\\\","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","\\u007F","\\u0080","\\u0081","\\u0082","\\u0083","\\u0084","\\u0085","\\u0086","\\u0087","\\u0088","\\u0089","\\u008A","\\u008B","\\u008C","\\u008D","\\u008E","\\u008F","\\u0090","\\u0091","\\u0092","\\u0093","\\u0094","\\u0095","\\u0096","\\u0097","\\u0098","\\u0099","\\u009A","\\u009B","\\u009C","\\u009D","\\u009E","\\u009F"],TQ=Object.freeze({});function T9(eb,em,ew=k$){let eM,eC,eT;let e_=new Map;for(let eb of Object.values(eA))e_.set(eb,_m(em,eb));let eE=Array.isArray(eb),eS=[eb],eN=-1,eI=[],eD=eb,eO=[],eP=[];do{var eR,eB,eF;let eb;eN++;let eA=eN===eS.length,ej=eA&&0!==eI.length;if(eA){if(eC=0===eP.length?void 0:eO[eO.length-1],eD=eT,eT=eP.pop(),ej){if(eE){eD=eD.slice();let eb=0;for(let[em,ew]of eI){let eM=em-eb;null===ew?(eD.splice(eM,1),eb++):eD[eM]=ew}}else for(let[eb,em]of(eD=Object.defineProperties({},Object.getOwnPropertyDescriptors(eD)),eI))eD[eb]=em}eN=eM.index,eS=eM.keys,eI=eM.edits,eE=eM.inArray,eM=eM.prev}else if(eT){if(null==(eD=eT[eC=eE?eN:eS[eN]]))continue;eO.push(eC)}if(!Array.isArray(eD)){kW(eD)||TA(!1,`Invalid AST Node: ${TD(eD)}.`);let ew=eA?null===(eR=e_.get(eD.kind))||void 0===eR?void 0:eR.leave:null===(eB=e_.get(eD.kind))||void 0===eB?void 0:eB.enter;if((eb=null==ew?void 0:ew.call(em,eD,eC,eT,eO,eP))===TQ)break;if(!1===eb){if(!eA){eO.pop();continue}}else if(void 0!==eb&&(eI.push([eC,eb]),!eA)){if(kW(eb))eD=eb;else{eO.pop();continue}}}void 0===eb&&ej&&eI.push([eC,eD]),eA?eO.pop():(eM={inArray:eE,index:eN,keys:eS,edits:eI,prev:eM},eS=(eE=Array.isArray(eD))?eD:null!==(eF=ew[eD.kind])&&void 0!==eF?eF:[],eN=-1,eI=[],eT&&eP.push(eT),eT=eD)}while(void 0!==eM);return 0!==eI.length?eI[eI.length-1][1]:eb}function _m(eb,em){let ew=eb[em];return"object"==typeof ew?ew:"function"==typeof ew?{enter:ew,leave:void 0}:{enter:eb.enter,leave:eb.leave}}function _z(eb){return T9(eb,_M)}let _w=80,_M={Name:{leave:eb=>eb.value},Variable:{leave:eb=>"$"+eb.name},Document:{leave:eb=>_C(eb.definitions,"\n\n")},OperationDefinition:{leave(eb){let em=_T("(",_C(eb.variableDefinitions,", "),")"),ew=_C([eb.operation,_C([eb.name,em]),_C(eb.directives," ")]," ");return("query"===ew?"":ew+" ")+eb.selectionSet}},VariableDefinition:{leave:({variable:eb,type:em,defaultValue:ew,directives:eM})=>eb+": "+em+_T(" = ",ew)+_T(" ",_C(eM," "))},SelectionSet:{leave:({selections:eb})=>_k(eb)},Field:{leave({alias:eb,name:em,arguments:ew,directives:eM,selectionSet:eC}){let eT=_T("",eb,": ")+em,e_=eT+_T("(",_C(ew,", "),")");return e_.length>_w&&(e_=eT+_T("(\n",_E(_C(ew,"\n")),"\n)")),_C([e_,_C(eM," "),eC]," ")}},Argument:{leave:({name:eb,value:em})=>eb+": "+em},FragmentSpread:{leave:({name:eb,directives:em})=>"..."+eb+_T(" ",_C(em," "))},InlineFragment:{leave:({typeCondition:eb,directives:em,selectionSet:ew})=>_C(["...",_T("on ",eb),_C(em," "),ew]," ")},FragmentDefinition:{leave:({name:eb,typeCondition:em,variableDefinitions:ew,directives:eM,selectionSet:eC})=>`fragment ${eb}${_T("(",_C(ew,", "),")")} on ${em} ${_T("",_C(eM," ")," ")}`+eC},IntValue:{leave:({value:eb})=>eb},FloatValue:{leave:({value:eb})=>eb},StringValue:{leave:({value:eb,block:em})=>em?k6(eb):TG(eb)},BooleanValue:{leave:({value:eb})=>eb?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:eb})=>eb},ListValue:{leave:({values:eb})=>"["+_C(eb,", ")+"]"},ObjectValue:{leave:({fields:eb})=>"{"+_C(eb,", ")+"}"},ObjectField:{leave:({name:eb,value:em})=>eb+": "+em},Directive:{leave:({name:eb,arguments:em})=>"@"+eb+_T("(",_C(em,", "),")")},NamedType:{leave:({name:eb})=>eb},ListType:{leave:({type:eb})=>"["+eb+"]"},NonNullType:{leave:({type:eb})=>eb+"!"},SchemaDefinition:{leave:({description:eb,directives:em,operationTypes:ew})=>_T("",eb,"\n")+_C(["schema",_C(em," "),_k(ew)]," ")},OperationTypeDefinition:{leave:({operation:eb,type:em})=>eb+": "+em},ScalarTypeDefinition:{leave:({description:eb,name:em,directives:ew})=>_T("",eb,"\n")+_C(["scalar",em,_C(ew," ")]," ")},ObjectTypeDefinition:{leave:({description:eb,name:em,interfaces:ew,directives:eM,fields:eC})=>_T("",eb,"\n")+_C(["type",em,_T("implements ",_C(ew," & ")),_C(eM," "),_k(eC)]," ")},FieldDefinition:{leave:({description:eb,name:em,arguments:ew,type:eM,directives:eC})=>_T("",eb,"\n")+em+(_S(ew)?_T("(\n",_E(_C(ew,"\n")),"\n)"):_T("(",_C(ew,", "),")"))+": "+eM+_T(" ",_C(eC," "))},InputValueDefinition:{leave:({description:eb,name:em,type:ew,defaultValue:eM,directives:eC})=>_T("",eb,"\n")+_C([em+": "+ew,_T("= ",eM),_C(eC," ")]," ")},InterfaceTypeDefinition:{leave:({description:eb,name:em,interfaces:ew,directives:eM,fields:eC})=>_T("",eb,"\n")+_C(["interface",em,_T("implements ",_C(ew," & ")),_C(eM," "),_k(eC)]," ")},UnionTypeDefinition:{leave:({description:eb,name:em,directives:ew,types:eM})=>_T("",eb,"\n")+_C(["union",em,_C(ew," "),_T("= ",_C(eM," | "))]," ")},EnumTypeDefinition:{leave:({description:eb,name:em,directives:ew,values:eM})=>_T("",eb,"\n")+_C(["enum",em,_C(ew," "),_k(eM)]," ")},EnumValueDefinition:{leave:({description:eb,name:em,directives:ew})=>_T("",eb,"\n")+_C([em,_C(ew," ")]," ")},InputObjectTypeDefinition:{leave:({description:eb,name:em,directives:ew,fields:eM})=>_T("",eb,"\n")+_C(["input",em,_C(ew," "),_k(eM)]," ")},DirectiveDefinition:{leave:({description:eb,name:em,arguments:ew,repeatable:eM,locations:eC})=>_T("",eb,"\n")+"directive @"+em+(_S(ew)?_T("(\n",_E(_C(ew,"\n")),"\n)"):_T("(",_C(ew,", "),")"))+(eM?" repeatable":"")+" on "+_C(eC," | ")},SchemaExtension:{leave:({directives:eb,operationTypes:em})=>_C(["extend schema",_C(eb," "),_k(em)]," ")},ScalarTypeExtension:{leave:({name:eb,directives:em})=>_C(["extend scalar",eb,_C(em," ")]," ")},ObjectTypeExtension:{leave:({name:eb,interfaces:em,directives:ew,fields:eM})=>_C(["extend type",eb,_T("implements ",_C(em," & ")),_C(ew," "),_k(eM)]," ")},InterfaceTypeExtension:{leave:({name:eb,interfaces:em,directives:ew,fields:eM})=>_C(["extend interface",eb,_T("implements ",_C(em," & ")),_C(ew," "),_k(eM)]," ")},UnionTypeExtension:{leave:({name:eb,directives:em,types:ew})=>_C(["extend union",eb,_C(em," "),_T("= ",_C(ew," | "))]," ")},EnumTypeExtension:{leave:({name:eb,directives:em,values:ew})=>_C(["extend enum",eb,_C(em," "),_k(ew)]," ")},InputObjectTypeExtension:{leave:({name:eb,directives:em,fields:ew})=>_C(["extend input",eb,_C(em," "),_k(ew)]," ")}};function _C(eb,em=""){var ew;return null!==(ew=null==eb?void 0:eb.filter(eb=>eb).join(em))&&void 0!==ew?ew:""}function _k(eb){return _T("{\n",_E(_C(eb,"\n")),"\n}")}function _T(eb,em,ew=""){return null!=em&&""!==em?eb+em+ew:""}function _E(eb){return _T(" ",eb.replace(/\n/g,"\n "))}function _S(eb){var em;return null!==(em=null==eb?void 0:eb.some(eb=>eb.includes("\n")))&&void 0!==em&&em}let _A=eb=>{let em;let ew=eb.definitions.filter(eb=>"OperationDefinition"===eb.kind);return 1===ew.length&&(em=ew[0]?.name?.value),em},_N=eb=>{if("string"==typeof eb){let em;try{let ew=Tq(eb);em=_A(ew)}catch(eb){}return{query:eb,operationName:em}}let em=_A(eb);return{query:_z(eb),operationName:em}};class _I extends Error{constructor(eb,em){let ew=`${_I.extractMessage(eb)}: ${JSON.stringify({response:eb,request:em})}`;super(ew),Object.setPrototypeOf(this,_I.prototype),this.response=eb,this.request=em,"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,_I)}static extractMessage(eb){return eb.errors?.[0]?.message??`GraphQL Error (Code: ${eb.status})`}}var _D=ew(54098),_O=ew.t(_D,2);let _P="connection_init",_R="connection_ack",_B="ping",_F="pong",_j="subscribe",_U="next",_V="error",_H="complete";class _${get type(){return this._type}get id(){return this._id}get payload(){return this._payload}constructor(eb,em,ew){this._type=eb,this._payload=em,this._id=ew}get text(){let eb={type:this.type};return null!=this.id&&void 0!=this.id&&(eb.id=this.id),null!=this.payload&&void 0!=this.payload&&(eb.payload=this.payload),JSON.stringify(eb)}static parse(eb,em){let{type:ew,payload:eM,id:eC}=JSON.parse(eb);return new _$(ew,em(eM),eC)}}class _q{constructor(eb,{onInit:em,onAcknowledged:ew,onPing:eM,onPong:eC}){this.socketState={acknowledged:!1,lastRequestId:0,subscriptions:{}},this.socket=eb,eb.addEventListener("open",async ew=>{this.socketState.acknowledged=!1,this.socketState.subscriptions={},eb.send(_Z(em?await em():null).text)}),eb.addEventListener("close",eb=>{this.socketState.acknowledged=!1,this.socketState.subscriptions={}}),eb.addEventListener("error",eb=>{console.error(eb)}),eb.addEventListener("message",em=>{try{let eT=_W(em.data);switch(eT.type){case _R:this.socketState.acknowledged?console.warn("Duplicate CONNECTION_ACK message ignored"):(this.socketState.acknowledged=!0,ew&&ew(eT.payload));return;case _B:eM?eM(eT.payload).then(em=>eb.send(_G(em).text)):eb.send(_G(null).text);return;case _F:eC&&eC(eT.payload);return}if(!this.socketState.acknowledged||void 0===eT.id||null===eT.id||!this.socketState.subscriptions[eT.id])return;let{query:e_,variables:eE,subscriber:eS}=this.socketState.subscriptions[eT.id];switch(eT.type){case _U:!eT.payload.errors&&eT.payload.data&&eS.next&&eS.next(eT.payload.data),eT.payload.errors&&eS.error&&eS.error(new _I({...eT.payload,status:200},{query:e_,variables:eE}));return;case _V:eS.error&&eS.error(new _I({errors:eT.payload,status:200},{query:e_,variables:eE}));return;case _H:eS.complete&&eS.complete(),delete this.socketState.subscriptions[eT.id];return}}catch(em){console.error(em),eb.close(1006)}eb.close(4400,"Unknown graphql-ws message.")})}makeSubscribe(eb,em,ew,eM){let eC=(this.socketState.lastRequestId++).toString();return this.socketState.subscriptions[eC]={query:eb,variables:eM,subscriber:ew},this.socket.send(_Y(eC,{query:eb,operationName:em,variables:eM}).text),()=>{this.socket.send(_J(eC).text),delete this.socketState.subscriptions[eC]}}rawRequest(eb,em){return new Promise((ew,eM)=>{let eC;this.rawSubscribe(eb,{next:(eb,em)=>eC={data:eb,extensions:em},error:eM,complete:()=>ew(eC)},em)})}request(eb,em){return new Promise((ew,eM)=>{let eC;this.subscribe(eb,{next:eb=>eC=eb,error:eM,complete:()=>ew(eC)},em)})}subscribe(eb,em,ew){let{query:eM,operationName:eC}=_N(eb);return this.makeSubscribe(eM,eC,em,ew)}rawSubscribe(eb,em,ew){return this.makeSubscribe(eb,void 0,em,ew)}ping(eb){this.socket.send(_K(eb).text)}close(){this.socket.close(1e3)}}function _W(eb,em=eb=>eb){let ew=_$.parse(eb,em);return ew}function _Z(eb){return new _$(_P,eb)}function _K(eb){return new _$(_B,eb,void 0)}function _G(eb){return new _$(_F,eb,void 0)}function _Y(eb,em){return new _$(_j,em,eb)}function _J(eb){return new _$(_H,void 0,eb)}_q.PROTOCOL="graphql-transport-ws";let _Q=eb=>{let em={};return eb&&("undefined"!=typeof Headers&&eb instanceof Headers||_O&&_D.Headers&&eb instanceof _D.Headers?em=kx(eb):Array.isArray(eb)?eb.forEach(([eb,ew])=>{eb&&void 0!==ew&&(em[eb]=ew)}):em=eb),em},_2=eb=>eb.replace(/([\s,]|#[^\n\r]+)+/g," ").trim(),_6=eb=>{if(!Array.isArray(eb.query)){let em=eb,ew=[`query=${encodeURIComponent(_2(em.query))}`];return eb.variables&&ew.push(`variables=${encodeURIComponent(em.jsonSerializer.stringify(em.variables))}`),em.operationName&&ew.push(`operationName=${encodeURIComponent(em.operationName)}`),ew.join("&")}if(void 0!==eb.variables&&!Array.isArray(eb.variables))throw Error("Cannot create query with given variable type, array expected");let em=eb,ew=eb.query.reduce((eb,ew,eM)=>(eb.push({query:_2(ew),variables:em.variables?em.jsonSerializer.stringify(em.variables[eM]):void 0}),eb),[]);return`query=${encodeURIComponent(em.jsonSerializer.stringify(ew))}`},_4=eb=>async em=>{let ew;let{url:eM,query:eC,variables:eT,operationName:e_,fetch:eE,fetchOptions:eS,middleware:eA}=em,eN={...em.headers},eI="";"POST"===eb?"string"==typeof(ew=_7(eC,eT,e_,eS.jsonSerializer))&&(eN["Content-Type"]="application/json"):eI=_6({query:eC,variables:eT,operationName:e_,jsonSerializer:eS.jsonSerializer??kM});let eD={method:eb,headers:eN,body:ew,...eS},eO=eM,eP=eD;if(eA){let eb=await Promise.resolve(eA({...eD,url:eM,operationName:e_,variables:eT})),{url:em,...ew}=eb;eO=em,eP=ew}return eI&&(eO=`${eO}?${eI}`),await eE(eO,eP)};class _3{constructor(eb,em={}){this.url=eb,this.requestConfig=em,this.rawRequest=async(...eb)=>{let[em,ew,eM]=eb,eC=kT(em,ew,eM),{headers:eT,fetch:e_=_D,method:eE="POST",requestMiddleware:eS,responseMiddleware:eA,...eN}=this.requestConfig,{url:eI}=this;void 0!==eC.signal&&(eN.signal=eC.signal);let{operationName:eD}=_N(eC.query);return _5({url:eI,query:eC.query,variables:eC.variables,headers:{..._Q(Em(eT)),..._Q(eC.requestHeaders)},operationName:eD,fetch:e_,method:eE,fetchOptions:eN,middleware:eS}).then(eb=>(eA&&eA(eb),eb)).catch(eb=>{throw eA&&eA(eb),eb})}}async request(eb,...em){let[ew,eM]=em,eC=kk(eb,ew,eM),{headers:eT,fetch:e_=_D,method:eE="POST",requestMiddleware:eS,responseMiddleware:eA,...eN}=this.requestConfig,{url:eI}=this;void 0!==eC.signal&&(eN.signal=eC.signal);let{query:eD,operationName:eO}=_N(eC.document);return _5({url:eI,query:eD,variables:eC.variables,headers:{..._Q(Em(eT)),..._Q(eC.requestHeaders)},operationName:eO,fetch:e_,method:eE,fetchOptions:eN,middleware:eS}).then(eb=>(eA&&eA(eb),eb.data)).catch(eb=>{throw eA&&eA(eb),eb})}batchRequests(eb,em){let ew=kE(eb,em),{headers:eM,...eC}=this.requestConfig;void 0!==ew.signal&&(eC.signal=ew.signal);let eT=ew.documents.map(({document:eb})=>_N(eb).query),e_=ew.documents.map(({variables:eb})=>eb);return _5({url:this.url,query:eT,variables:e_,headers:{..._Q(Em(eM)),..._Q(ew.requestHeaders)},operationName:void 0,fetch:this.requestConfig.fetch??_D,method:this.requestConfig.method||"POST",fetchOptions:eC,middleware:this.requestConfig.requestMiddleware}).then(eb=>(this.requestConfig.responseMiddleware&&this.requestConfig.responseMiddleware(eb),eb.data)).catch(eb=>{throw this.requestConfig.responseMiddleware&&this.requestConfig.responseMiddleware(eb),eb})}setHeaders(eb){return this.requestConfig.headers=eb,this}setHeader(eb,em){let{headers:ew}=this.requestConfig;return ew?ew[eb]=em:this.requestConfig.headers={[eb]:em},this}setEndpoint(eb){return this.url=eb,this}}let _5=async eb=>{let{query:em,variables:ew,fetchOptions:eM}=eb,eC=_4(kC(eb.method??"post")),eT=Array.isArray(eb.query),e_=await eC(eb),eE=await Eb(e_,eM.jsonSerializer??kM),eS=Array.isArray(eE)?!eE.some(({data:eb})=>!eb):!!eE.data,eA=Array.isArray(eE)||!eE.errors||Array.isArray(eE.errors)&&!eE.errors.length||"all"===eM.errorPolicy||"ignore"===eM.errorPolicy;if(e_.ok&&eA&&eS){let{errors:eb,...em}=(Array.isArray(eE),eE),ew="ignore"===eM.errorPolicy?em:eE,eC=eT?{data:ew}:ew;return{...eC,headers:e_.headers,status:e_.status}}{let eb="string"==typeof eE?{error:eE}:eE;throw new _I({...eb,status:e_.status,headers:e_.headers},{query:em,variables:ew})}};async function _8(eb,em,...ew){let eM=kS(eb,em,...ew),eC=new _3(eM.url);return eC.request({...eM})}let _7=(eb,em,ew,eM)=>{let eC=eM??kM;if(!Array.isArray(eb))return eC.stringify({query:eb,variables:em,operationName:ew});if(void 0!==em&&!Array.isArray(em))throw Error("Cannot create request body with given variable type, array expected");let eT=eb.reduce((eb,ew,eM)=>(eb.push({query:ew,variables:em?em[eM]:void 0}),eb),[]);return eC.stringify(eT)},Eb=async(eb,em)=>{let ew;return(eb.headers.forEach((eb,em)=>{"content-type"===em.toLowerCase()&&(ew=eb)}),ew&&(ew.toLowerCase().startsWith("application/json")||ew.toLowerCase().startsWith("application/graphql+json")||ew.toLowerCase().startsWith("application/graphql-response+json")))?em.parse(await eb.text()):eb.text()},Em=eb=>"function"==typeof eb?eb():eb;class Ey{constructor(eb){this.subgraphUrl=eb}async request(eb,em){return await _8({url:this.subgraphUrl,document:eb,variables:em?Ev(em):void 0})}}function Ev(eb){return Object.fromEntries(Object.entries(eb).filter(([,eb])=>""!==eb&&null!=eb).map(([eb,em])=>[eb,em!==Object(em)||Array.isArray(em)?em:Ev(em)]))}let Ez={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getAccountTokenSnapshots"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"where"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"AccountTokenSnapshot_filter"}}},defaultValue:{kind:"ObjectValue",fields:[]}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"skip"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"0"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"first"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"10"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderBy"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"AccountTokenSnapshot_orderBy"}}},defaultValue:{kind:"EnumValue",value:"id"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"OrderDirection"}}},defaultValue:{kind:"EnumValue",value:"asc"}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",alias:{kind:"Name",value:"result"},name:{kind:"Name",value:"accountTokenSnapshots"},arguments:[{kind:"Argument",name:{kind:"Name",value:"where"},value:{kind:"Variable",name:{kind:"Name",value:"where"}}},{kind:"Argument",name:{kind:"Name",value:"skip"},value:{kind:"Variable",name:{kind:"Name",value:"skip"}}},{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"Variable",name:{kind:"Name",value:"first"}}},{kind:"Argument",name:{kind:"Name",value:"orderDirection"},value:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}}},{kind:"Argument",name:{kind:"Name",value:"orderBy"},value:{kind:"Variable",name:{kind:"Name",value:"orderBy"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"updatedAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"updatedAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"totalNumberOfActiveStreams"}},{kind:"Field",name:{kind:"Name",value:"activeOutgoingStreamCount"}},{kind:"Field",name:{kind:"Name",value:"activeIncomingStreamCount"}},{kind:"Field",name:{kind:"Name",value:"totalNumberOfClosedStreams"}},{kind:"Field",name:{kind:"Name",value:"inactiveOutgoingStreamCount"}},{kind:"Field",name:{kind:"Name",value:"inactiveIncomingStreamCount"}},{kind:"Field",name:{kind:"Name",value:"totalSubscriptionsWithUnits"}},{kind:"Field",name:{kind:"Name",value:"totalApprovedSubscriptions"}},{kind:"Field",name:{kind:"Name",value:"balanceUntilUpdatedAt"}},{kind:"Field",name:{kind:"Name",value:"totalNetFlowRate"}},{kind:"Field",name:{kind:"Name",value:"totalInflowRate"}},{kind:"Field",name:{kind:"Name",value:"totalOutflowRate"}},{kind:"Field",name:{kind:"Name",value:"totalAmountStreamedUntilUpdatedAt"}},{kind:"Field",name:{kind:"Name",value:"totalAmountTransferredUntilUpdatedAt"}},{kind:"Field",name:{kind:"Name",value:"account"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"token"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"createdAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"createdAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"symbol"}},{kind:"Field",name:{kind:"Name",value:"isListed"}},{kind:"Field",name:{kind:"Name",value:"isNativeAssetSuperToken"}},{kind:"Field",name:{kind:"Name",value:"underlyingAddress"}}]}}]}}]}}]},Ew={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getAllEvents"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"where"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Event_filter"}}},defaultValue:{kind:"ObjectValue",fields:[]}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"skip"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"0"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"first"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"10"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderBy"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Event_orderBy"}}},defaultValue:{kind:"EnumValue",value:"id"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"OrderDirection"}}},defaultValue:{kind:"EnumValue",value:"asc"}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"events"},arguments:[{kind:"Argument",name:{kind:"Name",value:"where"},value:{kind:"Variable",name:{kind:"Name",value:"where"}}},{kind:"Argument",name:{kind:"Name",value:"skip"},value:{kind:"Variable",name:{kind:"Name",value:"skip"}}},{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"Variable",name:{kind:"Name",value:"first"}}},{kind:"Argument",name:{kind:"Name",value:"orderBy"},value:{kind:"Variable",name:{kind:"Name",value:"orderBy"}}},{kind:"Argument",name:{kind:"Name",value:"orderDirection"},value:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"FlowUpdatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"type"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"sender"}},{kind:"Field",name:{kind:"Name",value:"receiver"}},{kind:"Field",name:{kind:"Name",value:"flowRate"}},{kind:"Field",name:{kind:"Name",value:"flowOperator"}},{kind:"Field",name:{kind:"Name",value:"deposit"}},{kind:"Field",name:{kind:"Name",value:"stream"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"FlowOperatorUpdatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"sender"}},{kind:"Field",name:{kind:"Name",value:"permissions"}},{kind:"Field",name:{kind:"Name",value:"flowRateAllowance"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"IndexCreatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"index"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"IndexDistributionClaimedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"subscriber"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"index"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"amount"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"IndexUpdatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"totalUnitsPending"}},{kind:"Field",name:{kind:"Name",value:"totalUnitsApproved"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"oldIndexValue"}},{kind:"Field",name:{kind:"Name",value:"newIndexValue"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"index"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"IndexSubscribedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"subscriber"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"index"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"IndexUnitsUpdatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"units"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"subscriber"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"oldUnits"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"index"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"IndexUnsubscribedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"subscriber"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"index"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SubscriptionApprovedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"subscription"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"subscriber"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SubscriptionDistributionClaimedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"subscription"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"subscriber"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"amount"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SubscriptionRevokedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"subscription"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"subscriber"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SubscriptionUnitsUpdatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"units"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"subscription"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"subscriber"}},{kind:"Field",name:{kind:"Name",value:"publisher"}},{kind:"Field",name:{kind:"Name",value:"oldUnits"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"TransferEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"value"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"to"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"from"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"TokenUpgradedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"amount"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"account"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"TokenDowngradedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"amount"}},{kind:"Field",name:{kind:"Name",value:"account"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"AgreementClassRegisteredEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"code"}},{kind:"Field",name:{kind:"Name",value:"agreementType"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"AgreementClassUpdatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"code"}},{kind:"Field",name:{kind:"Name",value:"agreementType"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"AppRegisteredEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"app"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"GovernanceReplacedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"oldGovernance"}},{kind:"Field",name:{kind:"Name",value:"newGovernance"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"JailEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"reason"}},{kind:"Field",name:{kind:"Name",value:"app"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SuperTokenFactoryUpdatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"newFactory"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SuperTokenLogicUpdatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"code"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"RoleAdminChangedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"previousAdminRole"}},{kind:"Field",name:{kind:"Name",value:"newAdminRole"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"RoleGrantedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"sender"}},{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"account"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"RoleRevokedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"sender"}},{kind:"Field",name:{kind:"Name",value:"role"}},{kind:"Field",name:{kind:"Name",value:"account"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SetEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"hashedName"}},{kind:"Field",name:{kind:"Name",value:"target"}},{kind:"Field",name:{kind:"Name",value:"resolverEntry"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"CFAv1LiquidationPeriodChangedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"superToken"}},{kind:"Field",name:{kind:"Name",value:"host"}},{kind:"Field",name:{kind:"Name",value:"governanceAddress"}},{kind:"Field",name:{kind:"Name",value:"liquidationPeriod"}},{kind:"Field",name:{kind:"Name",value:"isKeySet"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"ConfigChangedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"value"}},{kind:"Field",name:{kind:"Name",value:"superToken"}},{kind:"Field",name:{kind:"Name",value:"key"}},{kind:"Field",name:{kind:"Name",value:"isKeySet"}},{kind:"Field",name:{kind:"Name",value:"host"}},{kind:"Field",name:{kind:"Name",value:"governanceAddress"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"RewardAddressChangedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"superToken"}},{kind:"Field",name:{kind:"Name",value:"rewardAddress"}},{kind:"Field",name:{kind:"Name",value:"isKeySet"}},{kind:"Field",name:{kind:"Name",value:"host"}},{kind:"Field",name:{kind:"Name",value:"governanceAddress"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"PPPConfigurationChangedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"host"}},{kind:"Field",name:{kind:"Name",value:"governanceAddress"}},{kind:"Field",name:{kind:"Name",value:"superToken"}},{kind:"Field",name:{kind:"Name",value:"isKeySet"}},{kind:"Field",name:{kind:"Name",value:"liquidationPeriod"}},{kind:"Field",name:{kind:"Name",value:"patricianPeriod"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"TrustedForwarderChangedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"isKeySet"}},{kind:"Field",name:{kind:"Name",value:"host"}},{kind:"Field",name:{kind:"Name",value:"governanceAddress"}},{kind:"Field",name:{kind:"Name",value:"forwarder"}},{kind:"Field",name:{kind:"Name",value:"enabled"}},{kind:"Field",name:{kind:"Name",value:"superToken"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SuperTokenMinimumDepositChangedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"isKeySet"}},{kind:"Field",name:{kind:"Name",value:"host"}},{kind:"Field",name:{kind:"Name",value:"governanceAddress"}},{kind:"Field",name:{kind:"Name",value:"minimumDeposit"}},{kind:"Field",name:{kind:"Name",value:"superToken"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"AgreementLiquidatedByEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"rewardAmount"}},{kind:"Field",name:{kind:"Name",value:"penaltyAccount"}},{kind:"Field",name:{kind:"Name",value:"liquidatorAccount"}},{kind:"Field",name:{kind:"Name",value:"bondAccount"}},{kind:"Field",name:{kind:"Name",value:"bailoutAmount"}},{kind:"Field",name:{kind:"Name",value:"agreementId"}},{kind:"Field",name:{kind:"Name",value:"agreementClass"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"AgreementLiquidatedV2Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"liquidatorAccount"}},{kind:"Field",name:{kind:"Name",value:"agreementClass"}},{kind:"Field",name:{kind:"Name",value:"agreementId"}},{kind:"Field",name:{kind:"Name",value:"targetAccount"}},{kind:"Field",name:{kind:"Name",value:"rewardAmountReceiver"}},{kind:"Field",name:{kind:"Name",value:"rewardAmount"}},{kind:"Field",name:{kind:"Name",value:"targetAccountBalanceDelta"}},{kind:"Field",name:{kind:"Name",value:"version"}},{kind:"Field",name:{kind:"Name",value:"liquidationType"}},{kind:"Field",name:{kind:"Name",value:"rewardAccount"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"BurnedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"operatorData"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"operator"}},{kind:"Field",name:{kind:"Name",value:"from"}},{kind:"Field",name:{kind:"Name",value:"data"}},{kind:"Field",name:{kind:"Name",value:"amount"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"MintedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"operatorData"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"operator"}},{kind:"Field",name:{kind:"Name",value:"data"}},{kind:"Field",name:{kind:"Name",value:"amount"}},{kind:"Field",name:{kind:"Name",value:"to"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SentEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"to"}},{kind:"Field",name:{kind:"Name",value:"operatorData"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"operator"}},{kind:"Field",name:{kind:"Name",value:"data"}},{kind:"Field",name:{kind:"Name",value:"amount"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"CustomSuperTokenCreatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SuperTokenCreatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"SuperTokenLogicCreatedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"tokenLogic"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"NewPICEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"pic"}},{kind:"Field",name:{kind:"Name",value:"bond"}},{kind:"Field",name:{kind:"Name",value:"exitRate"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"ExitRateChangedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"exitRate"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"BondIncreasedEvent"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"additionalBond"}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Event"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"}},{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"gasPrice"}},{kind:"Field",name:{kind:"Name",value:"order"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"logIndex"}}]}}]}}]}}]}}]},EM={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getIndexSubscriptions"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"where"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"IndexSubscription_filter"}}},defaultValue:{kind:"ObjectValue",fields:[]}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"skip"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"0"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"first"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"10"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderBy"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"IndexSubscription_orderBy"}}},defaultValue:{kind:"EnumValue",value:"id"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"OrderDirection"}}},defaultValue:{kind:"EnumValue",value:"asc"}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",alias:{kind:"Name",value:"result"},name:{kind:"Name",value:"indexSubscriptions"},arguments:[{kind:"Argument",name:{kind:"Name",value:"where"},value:{kind:"Variable",name:{kind:"Name",value:"where"}}},{kind:"Argument",name:{kind:"Name",value:"skip"},value:{kind:"Variable",name:{kind:"Name",value:"skip"}}},{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"Variable",name:{kind:"Name",value:"first"}}},{kind:"Argument",name:{kind:"Name",value:"orderBy"},value:{kind:"Variable",name:{kind:"Name",value:"orderBy"}}},{kind:"Argument",name:{kind:"Name",value:"orderDirection"},value:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"createdAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"createdAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"updatedAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"updatedAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"subscriber"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"approved"}},{kind:"Field",name:{kind:"Name",value:"units"}},{kind:"Field",name:{kind:"Name",value:"totalAmountReceivedUntilUpdatedAt"}},{kind:"Field",name:{kind:"Name",value:"indexValueUntilUpdatedAt"}},{kind:"Field",name:{kind:"Name",value:"index"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"indexValue"}},{kind:"Field",name:{kind:"Name",value:"token"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"createdAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"createdAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"symbol"}},{kind:"Field",name:{kind:"Name",value:"isListed"}},{kind:"Field",name:{kind:"Name",value:"isNativeAssetSuperToken"}},{kind:"Field",name:{kind:"Name",value:"underlyingAddress"}}]}}]}}]}}]}}]},Ex={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getIndexes"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"where"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Index_filter"}}},defaultValue:{kind:"ObjectValue",fields:[]}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"skip"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"0"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"first"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"10"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderBy"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Index_orderBy"}}},defaultValue:{kind:"EnumValue",value:"id"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"OrderDirection"}}},defaultValue:{kind:"EnumValue",value:"asc"}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",alias:{kind:"Name",value:"result"},name:{kind:"Name",value:"indexes"},arguments:[{kind:"Argument",name:{kind:"Name",value:"where"},value:{kind:"Variable",name:{kind:"Name",value:"where"}}},{kind:"Argument",name:{kind:"Name",value:"skip"},value:{kind:"Variable",name:{kind:"Name",value:"skip"}}},{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"Variable",name:{kind:"Name",value:"first"}}},{kind:"Argument",name:{kind:"Name",value:"orderBy"},value:{kind:"Variable",name:{kind:"Name",value:"orderBy"}}},{kind:"Argument",name:{kind:"Name",value:"orderDirection"},value:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"createdAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"createdAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"updatedAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"updatedAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"indexId"}},{kind:"Field",name:{kind:"Name",value:"indexValue"}},{kind:"Field",name:{kind:"Name",value:"totalSubscriptionsWithUnits"}},{kind:"Field",name:{kind:"Name",value:"totalUnitsPending"}},{kind:"Field",name:{kind:"Name",value:"totalUnitsApproved"}},{kind:"Field",name:{kind:"Name",value:"totalUnits"}},{kind:"Field",name:{kind:"Name",value:"totalAmountDistributedUntilUpdatedAt"}},{kind:"Field",name:{kind:"Name",value:"token"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"createdAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"createdAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"symbol"}},{kind:"Field",name:{kind:"Name",value:"isListed"}},{kind:"Field",name:{kind:"Name",value:"isNativeAssetSuperToken"}},{kind:"Field",name:{kind:"Name",value:"underlyingAddress"}}]}},{kind:"Field",name:{kind:"Name",value:"publisher"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}}]}}]}}]},Ek={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getStreams"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"where"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Stream_filter"}}},defaultValue:{kind:"ObjectValue",fields:[]}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"skip"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"0"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"first"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"10"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderBy"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Stream_orderBy"}}},defaultValue:{kind:"EnumValue",value:"id"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"OrderDirection"}}},defaultValue:{kind:"EnumValue",value:"asc"}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",alias:{kind:"Name",value:"result"},name:{kind:"Name",value:"streams"},arguments:[{kind:"Argument",name:{kind:"Name",value:"where"},value:{kind:"Variable",name:{kind:"Name",value:"where"}}},{kind:"Argument",name:{kind:"Name",value:"skip"},value:{kind:"Variable",name:{kind:"Name",value:"skip"}}},{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"Variable",name:{kind:"Name",value:"first"}}},{kind:"Argument",name:{kind:"Name",value:"orderBy"},value:{kind:"Variable",name:{kind:"Name",value:"orderBy"}}},{kind:"Argument",name:{kind:"Name",value:"orderDirection"},value:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"createdAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"createdAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"updatedAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"updatedAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"currentFlowRate"}},{kind:"Field",name:{kind:"Name",value:"streamedUntilUpdatedAt"}},{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"token"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"createdAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"createdAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"symbol"}},{kind:"Field",name:{kind:"Name",value:"isListed"}},{kind:"Field",name:{kind:"Name",value:"isNativeAssetSuperToken"}},{kind:"Field",name:{kind:"Name",value:"underlyingAddress"}}]}},{kind:"Field",name:{kind:"Name",value:"sender"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"receiver"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"flowUpdatedEvents"},arguments:[{kind:"Argument",name:{kind:"Name",value:"orderBy"},value:{kind:"EnumValue",value:"timestamp"}},{kind:"Argument",name:{kind:"Name",value:"orderDirection"},value:{kind:"EnumValue",value:"asc"}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"blockNumber"}},{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"transactionHash"}},{kind:"Field",name:{kind:"Name",value:"token"}},{kind:"Field",name:{kind:"Name",value:"sender"}},{kind:"Field",name:{kind:"Name",value:"receiver"}},{kind:"Field",name:{kind:"Name",value:"flowRate"}},{kind:"Field",name:{kind:"Name",value:"totalSenderFlowRate"}},{kind:"Field",name:{kind:"Name",value:"totalReceiverFlowRate"}},{kind:"Field",name:{kind:"Name",value:"userData"}},{kind:"Field",name:{kind:"Name",value:"oldFlowRate"}},{kind:"Field",name:{kind:"Name",value:"type"}},{kind:"Field",name:{kind:"Name",value:"totalAmountStreamedUntilTimestamp"}}]}}]}}]}}]},ET={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getTokens"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"where"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Token_filter"}}},defaultValue:{kind:"ObjectValue",fields:[]}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"skip"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"0"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"first"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},defaultValue:{kind:"IntValue",value:"10"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderBy"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Token_orderBy"}}},defaultValue:{kind:"EnumValue",value:"id"}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"OrderDirection"}}},defaultValue:{kind:"EnumValue",value:"asc"}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",alias:{kind:"Name",value:"result"},name:{kind:"Name",value:"tokens"},arguments:[{kind:"Argument",name:{kind:"Name",value:"where"},value:{kind:"Variable",name:{kind:"Name",value:"where"}}},{kind:"Argument",name:{kind:"Name",value:"skip"},value:{kind:"Variable",name:{kind:"Name",value:"skip"}}},{kind:"Argument",name:{kind:"Name",value:"first"},value:{kind:"Variable",name:{kind:"Name",value:"first"}}},{kind:"Argument",name:{kind:"Name",value:"orderBy"},value:{kind:"Variable",name:{kind:"Name",value:"orderBy"}}},{kind:"Argument",name:{kind:"Name",value:"orderDirection"},value:{kind:"Variable",name:{kind:"Name",value:"orderDirection"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"createdAtTimestamp"}},{kind:"Field",name:{kind:"Name",value:"createdAtBlockNumber"}},{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"symbol"}},{kind:"Field",name:{kind:"Name",value:"isListed"}},{kind:"Field",name:{kind:"Name",value:"isNativeAssetSuperToken"}},{kind:"Field",name:{kind:"Name",value:"underlyingAddress"}}]}}]}}]};class E_{constructor(eb){this.listAllSuperTokens=async(eb,em=kb(),ew={orderBy:"createdAtBlockNumber",orderDirection:"desc"})=>{xD(eb);let eM=await this.subgraphClient.request(ET,{where:{isListed:eb.isListed,isSuperToken:!0,id_gt:em.lastId},orderBy:null==ew?void 0:ew.orderBy,orderDirection:null==ew?void 0:ew.orderDirection,first:kw(em),skip:em.skip}),eC=eM.result.map(eb=>C9({...eb,createdAtTimestamp:Number(eb.createdAtTimestamp),createdAtBlockNumber:Number(eb.createdAtBlockNumber)}));return xY(eC,em)},this.listIndexes=async(eb,em=kb(),ew={orderBy:"createdAtBlockNumber",orderDirection:"desc"})=>{var eM,eC;xF(eb);let eT=await this.subgraphClient.request(Ex,{where:{indexId:eb.indexId,publisher:null===(eM=eb.publisher)||void 0===eM?void 0:eM.toLowerCase(),token:null===(eC=eb.token)||void 0===eC?void 0:eC.toLowerCase(),id_gt:em.lastId},orderBy:null==ew?void 0:ew.orderBy,orderDirection:null==ew?void 0:ew.orderDirection,first:kw(em),skip:em.skip}),e_=eT.result.map(eb=>C9({...eb,publisher:eb.publisher.id,createdAtTimestamp:Number(eb.createdAtTimestamp),createdAtBlockNumber:Number(eb.createdAtBlockNumber),updatedAtTimestamp:Number(eb.updatedAtTimestamp),updatedAtBlockNumber:Number(eb.updatedAtBlockNumber),token:{...eb.token,createdAtTimestamp:Number(eb.token.createdAtTimestamp),createdAtBlockNumber:Number(eb.token.createdAtBlockNumber)}}));return xY(e_,em)},this.listIndexSubscriptions=async(eb,em=kb(),ew={orderBy:"createdAtBlockNumber",orderDirection:"desc"})=>{var eM;x$(eb);let eC=await this.subgraphClient.request(EM,{where:{subscriber:null===(eM=eb.subscriber)||void 0===eM?void 0:eM.toLowerCase(),approved:eb.approved,id_gt:em.lastId},orderBy:null==ew?void 0:ew.orderBy,orderDirection:null==ew?void 0:ew.orderDirection,first:kw(em),skip:em.skip}),eT=eC.result.map(eb=>C9({...eb,subscriber:eb.subscriber.id,createdAtTimestamp:Number(eb.createdAtTimestamp),createdAtBlockNumber:Number(eb.createdAtBlockNumber),updatedAtTimestamp:Number(eb.updatedAtTimestamp),updatedAtBlockNumber:Number(eb.updatedAtBlockNumber),index:{...eb.index,token:{...eb.index.token,createdAtTimestamp:Number(eb.index.token.createdAtTimestamp),createdAtBlockNumber:Number(eb.index.token.createdAtBlockNumber)}}}));return xY(eT,em)},this.listStreams=async(eb,em=kb(),ew={orderBy:"createdAtBlockNumber",orderDirection:"desc"})=>{var eM,eC,eT;xW(eb);let e_=await this.subgraphClient.request(Ek,{where:{sender:null===(eM=eb.sender)||void 0===eM?void 0:eM.toLowerCase(),receiver:null===(eC=eb.receiver)||void 0===eC?void 0:eC.toLowerCase(),token:null===(eT=eb.token)||void 0===eT?void 0:eT.toLowerCase(),id_gt:em.lastId},orderBy:null==ew?void 0:ew.orderBy,orderDirection:null==ew?void 0:ew.orderDirection,first:kw(em),skip:em.skip}),eE=e_.result.map(eb=>C9({...eb,sender:eb.sender.id,receiver:eb.receiver.id,createdAtTimestamp:Number(eb.createdAtTimestamp),createdAtBlockNumber:Number(eb.createdAtBlockNumber),updatedAtTimestamp:Number(eb.updatedAtTimestamp),updatedAtBlockNumber:Number(eb.updatedAtBlockNumber),token:{...eb.token,createdAtTimestamp:Number(eb.token.createdAtTimestamp),createdAtBlockNumber:Number(eb.token.createdAtBlockNumber)},flowUpdatedEvents:eb.flowUpdatedEvents.map(eb=>({...eb,blockNumber:Number(eb.blockNumber),timestamp:Number(eb.timestamp)}))}));return xY(eE,em)},this.listUserInteractedSuperTokens=async(eb,em=kb(),ew={orderBy:"updatedAtBlockNumber",orderDirection:"desc"})=>{var eM,eC;xV(eb);let eT=await this.subgraphClient.request(Ez,{where:{account:null===(eM=eb.account)||void 0===eM?void 0:eM.toLowerCase(),token:null===(eC=eb.token)||void 0===eC?void 0:eC.toLowerCase(),id_gt:em.lastId},orderBy:null==ew?void 0:ew.orderBy,orderDirection:null==ew?void 0:ew.orderDirection,first:kw(em),skip:em.skip}),e_=eT.result.map(eb=>C9({...eb,account:eb.account.id,updatedAtTimestamp:Number(eb.updatedAtTimestamp),updatedAtBlockNumber:Number(eb.updatedAtBlockNumber),token:{...eb.token,createdAtTimestamp:Number(eb.token.createdAtTimestamp),createdAtBlockNumber:Number(eb.token.createdAtBlockNumber)}}));return xY(e_,em)},this.listEvents=async(eb,em=kb(),ew={orderBy:"blockNumber",orderDirection:"desc"})=>{var eM,eC;xP(eb);let eT=await this.subgraphClient.request(Ew,{orderBy:null==ew?void 0:ew.orderBy,orderDirection:null==ew?void 0:ew.orderDirection,where:{addresses_contains:eb.account?[null===(eM=eb.account)||void 0===eM?void 0:eM.toLowerCase()]:void 0,timestamp_gt:null===(eC=eb.timestamp_gt)||void 0===eC?void 0:eC.toString(),id_gt:em.lastId},first:kw(em),skip:em.skip});return xY(xK(eT.events),em)},this.options=eb,this.subgraphClient=new Ey(this.options.customSubgraphQueriesEndpoint)}on(eb,em,ew,eM){if(em<1e3)throw Error("Let's not go crazy with the queries...");let eC=25e3,eT=Math.floor((new Date().getTime()-eC)/1e3),e_=!1,eE=()=>{e_=!0},eS=async()=>{if(e_)return;let eM=await ES(eb=>this.listEvents({account:ew,timestamp_gt:eT},eb,{orderBy:"timestamp",orderDirection:"asc"})),eC=xI().last(eM);return eC&&(eb(eM,eE),eT=eC.timestamp),setTimeout(()=>{eS()},em)};return eM&&setTimeout(()=>{eE()},eM),eS(),eE}}let ES=async eb=>{let em=async ew=>{let eM=await eb(ew);if(!eM.nextPaging)return eM.data;let eC=await em(eM.nextPaging);return eM.data.concat(eC)};return em(km({take:999}))};class EA{constructor(eb){this.balanceOf=async eb=>{try{let em=CX(eb.owner),ew=await this.contract.connect(eb.providerOrSigner).balanceOf(em);return ew.toString()}catch(eb){throw new pC({type:"NFT_READ",message:"There was an error getting balanceOf",cause:eb})}},this.ownerOf=async eb=>{try{let em=await this.contract.connect(eb.providerOrSigner).ownerOf(eb.tokenId);return em.toString()}catch(eb){throw new pC({type:"NFT_READ",message:"There was an error getting ownerOf",cause:eb})}},this.getApproved=async eb=>{try{let em=await this.contract.connect(eb.providerOrSigner).getApproved(eb.tokenId);return em}catch(eb){throw new pC({type:"NFT_READ",message:"There was an error getting getApproved",cause:eb})}},this.isApprovedForAll=async eb=>{try{let em=CX(eb.owner),ew=CX(eb.operator),eM=await this.contract.connect(eb.providerOrSigner).isApprovedForAll(em,ew);return eM}catch(eb){throw new pC({type:"NFT_READ",message:"There was an error getting isApprovedForAll",cause:eb})}},this.name=async({providerOrSigner:eb})=>{try{let em=await this.contract.connect(eb).name();return em}catch(eb){throw new pC({type:"NFT_READ",message:"There was an error getting name",cause:eb})}},this.symbol=async({providerOrSigner:eb})=>{try{let em=await this.contract.connect(eb).symbol();return em}catch(eb){throw new pC({type:"NFT_READ",message:"There was an error getting symbol",cause:eb})}},this.tokenURI=async eb=>{try{let em=await this.contract.connect(eb.providerOrSigner).tokenURI(eb.tokenId);return em}catch(eb){throw new pC({type:"NFT_READ",message:"There was an error getting tokenURI",cause:eb})}},this.approve=eb=>{let em=CX(eb.approved),ew=this.contract.populateTransaction.approve(em,eb.tokenId,eb.overrides||{});return new xb(ew,"UNSUPPORTED")},this.setApprovalForAll=eb=>{let em=CX(eb.operator),ew=this.contract.populateTransaction.setApprovalForAll(em,eb.approved,eb.overrides||{});return new xb(ew,"UNSUPPORTED")},this.transferFrom=eb=>{let em=CX(eb.from),ew=CX(eb.to),eM=this.contract.populateTransaction.transferFrom(em,ew,eb.tokenId,eb.overrides||{});return new xb(eM,"UNSUPPORTED")},this.safeTransferFrom=eb=>{let em=CX(eb.from),ew=CX(eb.to),eM=this.contract.populateTransaction["safeTransferFrom(address,address,uint256)"](em,ew,eb.tokenId,eb.overrides||{});return new xb(eM,"UNSUPPORTED")},this.safeTransferFromWithData=eb=>{let em=CX(eb.from),ew=CX(eb.to),eM=this.contract.populateTransaction["safeTransferFrom(address,address,uint256,bytes)"](em,ew,eb.tokenId,eb.data,eb.overrides||{});return new xb(eM,"UNSUPPORTED")},this._sanitizeNFTFlowData=eb=>({flowSender:eb.flowSender,flowStartDate:C3(eb.flowStartDate),flowReceiver:eb.flowReceiver}),this.address=eb,this.contract=new u9.CH(eb,bv.abi)}}class EN extends EA{constructor(eb){super(eb),this.getTokenId=async({superToken:eb,sender:em,receiver:ew,providerOrSigner:eM})=>{let eC=CX(eb),eT=CX(em),e_=CX(ew);try{let eb=await this.contract.connect(eM).getTokenId(eC,eT,e_);return eb.toString()}catch(eb){throw new pC({type:"NFT_READ",message:"There was an error getting token id",cause:eb})}},this.flowDataByTokenId=async({tokenId:eb,providerOrSigner:em})=>{try{let ew=await this.contract.connect(em).flowDataByTokenId(eb);return this._sanitizeNFTFlowData(ew)}catch(eb){throw new pC({type:"NFT_READ",message:"There was an error getting flow data by token id",cause:eb})}},this.contract=new u9.CH(eb,wB.abi)}}class EI extends EN{constructor(eb){super(eb),this.contract=new u9.CH(eb,wN.abi)}}class ED extends EN{constructor(eb){super(eb),this.contract=new u9.CH(eb,wP.abi)}}let EO=eb=>{if(!eb.chainId)throw new pC({type:"FRAMEWORK_INITIALIZATION",message:"You must input chainId."});if(!eb.provider)throw new pC({type:"FRAMEWORK_INITIALIZATION",message:"You must pass in a provider, an injected web3.js or ethers.js instance when initializing the framework."});if(null!=eb.chainId&&!CH.includes(eb.chainId)&&C1(eb.resolverAddress))throw new pC({type:"FRAMEWORK_INITIALIZATION",message:"You must input your own resolver address if you use an unsupported network."})},EP=eb=>{let em=eb.chainId?CG.get(eb.chainId):null;return em?em.subgraphAPIEndpoint:""},ER=eb=>{var em;return(eb.chainId?null===(em=CG.get(eb.chainId))||void 0===em?void 0:em.networkName:void 0)||"custom"};class EB extends xT{constructor(eb,em){super(em.address),this.send=eb=>{let em=CX(eb.recipient),ew=this.contract.populateTransaction.send(em,eb.amount,eb.userData||"0x",eb.overrides||{});return new xb(ew,"ERC777_SEND")},this.realtimeBalanceOf=async({providerOrSigner:eb,account:em,timestamp:ew=C4()})=>{let eM=CX(em);try{let em=await this.contract.connect(eb).realtimeBalanceOf(eM,ew);return{availableBalance:em.availableBalance.toString(),deposit:em.deposit.toString(),owedDeposit:em.owedDeposit.toString(),timestamp:C3(ew)}}catch(eb){throw new pC({type:"SUPERTOKEN_READ",message:"There was an error getting realtimeBalanceOf",cause:eb})}},this.getFlow=async eb=>await this.cfaV1.getFlow({superToken:this.settings.address,sender:eb.sender,receiver:eb.receiver,providerOrSigner:eb.providerOrSigner}),this.getAccountFlowInfo=async eb=>await this.cfaV1.getAccountFlowInfo({superToken:this.settings.address,account:eb.account,providerOrSigner:eb.providerOrSigner}),this.getNetFlow=async eb=>await this.cfaV1.getNetFlow({superToken:this.settings.address,account:eb.account,providerOrSigner:eb.providerOrSigner}),this.getFlowOperatorData=async eb=>{let em=CX(eb.sender),ew=CX(eb.flowOperator);return await this.cfaV1.getFlowOperatorData({superToken:this.settings.address,sender:em,flowOperator:ew,providerOrSigner:eb.providerOrSigner})},this.getFlowOperatorDataByID=async eb=>await this.cfaV1.getFlowOperatorDataByID({superToken:this.settings.address,flowOperatorId:eb.flowOperatorId,providerOrSigner:eb.providerOrSigner}),this.increaseAllowance=eb=>{let em=CX(eb.spender),ew=this.contract.populateTransaction.increaseAllowance(em,eb.amount,eb.overrides||{});return new xb(ew,"ERC20_INCREASE_ALLOWANCE")},this.decreaseAllowance=eb=>{let em=CX(eb.spender),ew=this.contract.populateTransaction.decreaseAllowance(em,eb.amount,eb.overrides||{});return new xb(ew,"ERC20_DECREASE_ALLOWANCE")},this.createFlow=eb=>this.cfaV1.createFlow({superToken:this.settings.address,...eb}),this.updateFlow=eb=>this.cfaV1.updateFlow({superToken:this.settings.address,...eb}),this.deleteFlow=eb=>this.cfaV1.deleteFlow({superToken:this.settings.address,...eb}),this.createFlowByOperator=eb=>this.cfaV1.createFlowByOperator({superToken:this.settings.address,...eb}),this.updateFlowByOperator=eb=>this.cfaV1.updateFlowByOperator({superToken:this.settings.address,...eb}),this.deleteFlowByOperator=eb=>this.cfaV1.deleteFlowByOperator({superToken:this.settings.address,...eb}),this.getSubscription=async eb=>await this.idaV1.getSubscription({superToken:this.settings.address,...eb}),this.getIndex=async eb=>await this.idaV1.getIndex({superToken:this.settings.address,...eb}),this.createIndex=eb=>this.idaV1.createIndex({superToken:this.settings.address,...eb}),this.distribute=eb=>this.idaV1.distribute({superToken:this.settings.address,...eb}),this.updateIndexValue=eb=>this.idaV1.updateIndexValue({superToken:this.settings.address,...eb}),this.updateSubscriptionUnits=eb=>this.idaV1.updateSubscriptionUnits({superToken:this.settings.address,...eb}),this.approveSubscription=eb=>this.idaV1.approveSubscription({superToken:this.settings.address,...eb}),this.revokeSubscription=eb=>this.idaV1.revokeSubscription({superToken:this.settings.address,...eb}),this.deleteSubscription=eb=>this.idaV1.deleteSubscription({superToken:this.settings.address,...eb}),this.claim=eb=>this.idaV1.claim({superToken:this.settings.address,...eb}),this.getGovernanceParameters=async eb=>this.governance.getGovernanceParameters({providerOrSigner:eb,token:this.settings.address}),this.options=eb,this.settings=em,this.cfaV1=new xk(em.config.hostAddress,em.config.cfaV1Address,em.config.cfaV1ForwarderAddress),this.idaV1=new xA(em.config.hostAddress,em.config.idaV1Address),this.governance=new xE(em.config.hostAddress,em.config.governanceAddress),this.contract=new u9.CH(em.address,mz.abi)}increaseFlowRateAllowance(eb){return this.cfaV1.increaseFlowRateAllowance({superToken:this.settings.address,...eb})}decreaseFlowRateAllowance(eb){return this.cfaV1.decreaseFlowRateAllowance({superToken:this.settings.address,...eb})}increaseFlowRateAllowanceWithPermissions(eb){return this.cfaV1.increaseFlowRateAllowanceWithPermissions({superToken:this.settings.address,...eb})}decreaseFlowRateAllowanceWithPermissions(eb){return this.cfaV1.decreaseFlowRateAllowanceWithPermissions({superToken:this.settings.address,...eb})}updateFlowOperatorPermissions(eb){return this.cfaV1.updateFlowOperatorPermissions({superToken:this.settings.address,...eb})}authorizeFlowOperatorWithFullControl(eb){return this.cfaV1.authorizeFlowOperatorWithFullControl({superToken:this.settings.address,...eb})}revokeFlowOperatorWithFullControl(eb){return this.cfaV1.revokeFlowOperatorWithFullControl({superToken:this.settings.address,...eb})}}eI=EB,EB.create=async eb=>{if(!eb.chainId&&!eb.networkName)throw new pC({type:"SUPERTOKEN_INITIALIZATION",message:"You must input chainId or networkName."});let em=ER(eb),ew=eb.chainId||CY.get(em);try{let eM=mz.connect(eb.address,eb.provider),eC=eM.connect(eb.provider).getUnderlyingToken(),eT=await C7(eC,x_.d),e_={address:eb.address,config:eb.config,chainId:ew,networkName:em},eE=await eM.connect(eb.provider).symbol(),eS=CG.get(ew)||{subgraphAPIEndpoint:"",resolverAddress:"",networkName:"",nativeTokenSymbol:""},eA=eS.nativeTokenSymbol||"ETH",eN=eA+"x",eI=await C7(eM.CONSTANT_OUTFLOW_NFT(),x_.d),eD=await C7(eM.CONSTANT_INFLOW_NFT(),x_.d),eO="G$";if(eE===eO){let eb=new pE.vU(["function constantInflowNFT() view returns (address)","function constantOutflowNFT() view returns (address)"]),em=new u9.CH(eM.address,eb);eI===x_.d&&(eI=await C7(em.constantOutflowNFT(),x_.d)),eD===x_.d&&(eD=await C7(em.constantInflowNFT(),x_.d))}let eP={constantOutflowNFTProxy:eI,constantInflowNFTProxy:eD};if(eN===eE)return new EV(eb,e_,eA,eP);if(eT!==x_.d)return new Ej(eb,{...e_,underlyingTokenAddress:eT},eP);return new EU(eb,e_,eP)}catch(eb){throw new pC({type:"SUPERTOKEN_INITIALIZATION",message:"There was an error initializing the SuperToken",cause:eb})}};var EF=EB;class Ej extends EB{constructor(eb,em,ew){super(eb,em),this.downgrade=({amount:eb,overrides:em})=>{let ew=this.contract.populateTransaction.downgrade(eb,em||{});return new xb(ew,"SUPERTOKEN_DOWNGRADE")},this.downgradeTo=({amount:eb,to:em,overrides:ew})=>{let eM=this.contract.populateTransaction.downgradeTo(em,eb,{...ew});return new xb(eM,"UNSUPPORTED")},this.upgrade=({amount:eb,overrides:em})=>{let ew=this.contract.populateTransaction.upgrade(eb,em||{});return new xb(ew,"SUPERTOKEN_UPGRADE")},this.upgradeTo=({amount:eb,to:em,data:ew="0x",overrides:eM})=>{let eC=this.contract.populateTransaction.upgradeTo(em,eb,ew,{...eM});return new xb(eC,"UNSUPPORTED")},this.underlyingToken=new xT(em.underlyingTokenAddress),this.constantInflowNFTProxy=new EI(ew.constantInflowNFTProxy),this.constantOutflowNFTProxy=new ED(ew.constantOutflowNFTProxy)}}class EU extends EB{constructor(eb,em,ew){super(eb,em),this.constantInflowNFTProxy=new EI(ew.constantInflowNFTProxy),this.constantOutflowNFTProxy=new ED(ew.constantOutflowNFTProxy)}}class EV extends EB{constructor(eb,em,ew,eM){super(eb,em),this.upgrade=({amount:eb,overrides:em})=>{let ew=this.nativeAssetContract.populateTransaction.upgradeByETH({...em,value:eb});return new xb(ew,"UNSUPPORTED")},this.upgradeTo=({amount:eb,to:em,overrides:ew})=>{let eM=this.nativeAssetContract.populateTransaction.upgradeByETHTo(em,{...ew,value:eb});return new xb(eM,"UNSUPPORTED")},this.downgrade=({amount:eb,overrides:em})=>{let ew=this.nativeAssetContract.populateTransaction.downgradeToETH(eb,{...em});return new xb(ew,"UNSUPPORTED")},this.nativeTokenSymbol=ew,this.constantInflowNFTProxy=new EI(eM.constantInflowNFTProxy),this.constantOutflowNFTProxy=new ED(eM.constantOutflowNFTProxy)}get nativeAssetContract(){return new u9.CH(this.settings.address,mP.abi)}}let EH="v1";class E${constructor(eb,em){this.createSigner=eb=>{if(!eb.privateKey&&!eb.provider&&!eb.signer&&!eb.web3Provider)throw new pC({type:"CREATE_SIGNER",message:"You must pass in a private key, provider or signer."});if(eb.privateKey){if(!eb.provider)throw new pC({type:"CREATE_SIGNER",message:"You must pass in a provider with your private key."});return new eU.w5(eb.privateKey,eb.provider)}if(eb.signer)return eb.signer;if(eb.web3Provider)return eb.web3Provider.getSigner();throw new pC({type:"CREATE_SIGNER",message:"Something went wrong, this should never occur."})},this.batchCall=eb=>new xw({operations:eb,hostAddress:this.settings.config.hostAddress}),this.operation=(eb,em)=>new xb(eb,em),this.loadNativeAssetSuperToken=async eb=>{let em=await this.loadSuperToken(eb),ew=!!em.nativeTokenSymbol;if(!ew)throw new pC({type:"SUPERTOKEN_INITIALIZATION",message:"The token is not a native asset supertoken."});return em},this.loadPureSuperToken=async eb=>{let em=await this.loadSuperToken(eb),ew=!1==!!em.downgrade;if(!ew)throw new pC({type:"SUPERTOKEN_INITIALIZATION",message:"The token is not a pure supertoken."});return em},this.loadWrapperSuperToken=async eb=>{let em=await this.loadSuperToken(eb),ew=!!em.underlyingToken;if(!ew)throw new pC({type:"SUPERTOKEN_INITIALIZATION",message:"The token is not a wrapper supertoken."});return em},this.loadSuperToken=async eb=>{let em=await this._tryGetTokenAddress(eb);return await EF.create({...this.settings,address:em})},this._tryGetTokenAddress=async eb=>{let em=CF.UJ(eb);if(em)return eb;try{let em="supertokens."+this.settings.protocolReleaseVersion+"."+eb,ew=M2.connect(this.settings.config.resolverAddress,this.settings.provider);return await ew.get(em)}catch(em){throw new pC({type:"SUPERTOKEN_INITIALIZATION",message:"There was an error with loading the SuperToken with symbol: "+eb+" with the resolver.",cause:em})}},this.userInputOptions=eb,this.settings=em,this.cfaV1=new xk(em.config.hostAddress,em.config.cfaV1Address,em.config.cfaV1ForwarderAddress),this.governance=new xE(em.config.hostAddress,em.config.governanceAddress),this.host=new xy(em.config.hostAddress),this.idaV1=new xA(em.config.hostAddress,em.config.idaV1Address),this.query=new E_(em);let ew=new u9.CH(em.config.resolverAddress,M2.abi);this.contracts={cfaV1:this.cfaV1.contract,governance:this.governance.contract,host:this.host.contract,idaV1:this.idaV1.contract,resolver:ew}}}eD=E$,E$.create=async eb=>{EO({...eb,protocolReleaseVersion:eb.protocolReleaseVersion||EH});let em=ER(eb),ew=eb.chainId||CY.get(em),eM=eb.protocolReleaseVersion||EH,eC=eb.customSubgraphQueriesEndpoint||EP(eb),eT=C5(eb.provider)?eb.provider:C8(eb.provider)?new eH.Q(eb.provider.currentProvider):eb.provider.provider,e_=await eT.getNetwork();if(e_.chainId!==ew&&null!=ew)throw new pC({type:"NETWORK_MISMATCH",message:"Your provider network chainId is: "+e_.chainId+" whereas your desired chainId is: "+ew});try{let e_=CG.get(ew),eE=eb.resolverAddress?eb.resolverAddress:e_?e_.addresses.resolver:x_.d,eS=M2.connect(eE,eT),eA={chainId:ew,customSubgraphQueriesEndpoint:eC,protocolReleaseVersion:eb.protocolReleaseVersion||EH,provider:eT,networkName:em};if(e_&&eA.protocolReleaseVersion===EH){let em=e_.addresses.governance?e_.addresses.governance:await wY.connect(e_.addresses.host,eT).getGovernance(),ew={...eA,config:{resolverAddress:eE,hostAddress:e_.addresses.host,cfaV1Address:e_.addresses.cfaV1,idaV1Address:e_.addresses.idaV1,governanceAddress:em,cfaV1ForwarderAddress:e_.addresses.cfaV1Forwarder}};return new eD(eb,ew)}{let em=await eS.get("SuperfluidLoader-v1"),ew=await eS.get("CFAv1Forwarder"),eC=Cx.connect(em,eT),e_=await eC.loadFramework(eM),eN=await wY.connect(e_.superfluid,eT).getGovernance(),eI={...eA,config:{resolverAddress:eE,hostAddress:e_.superfluid,cfaV1Address:e_.agreementCFAv1,idaV1Address:e_.agreementIDAv1,governanceAddress:eN,cfaV1ForwarderAddress:ew}};return new eD(eb,eI)}}catch(eb){throw new pC({type:"FRAMEWORK_INITIALIZATION",message:"There was an error initializing the framework",cause:eb})}};var Eq=E$,EW=ew(90482),EZ=ew(61744),EK=Object.defineProperty,EG=(eb,em,ew)=>em in eb?EK(eb,em,{enumerable:!0,configurable:!0,writable:!0,value:ew}):eb[em]=ew,EY=(eb,em,ew)=>(EG(eb,"symbol"!=typeof em?em+"":em,ew),ew);class EJ extends ej.TM{constructor(eb){if(super(eb.address,eb.publicKey),EY(this,"wallet"),EY(this,"account"),EY(this,"framework"),EY(this,"alephx"),this.account=eb,eb.wallet instanceof ej.u6)this.wallet=eb.wallet;else if(eb.wallet instanceof eV.r||eb.wallet instanceof eU.w5)this.wallet=new ej.u6(eb.wallet);else throw Error("Unsupported wallet type")}async init(){if(!this.wallet)throw Error("PublicKey Error: No providers are set up");await this.wallet.connect(),this.framework||(this.framework=await Eq.create({chainId:await this.wallet.getCurrentChainId(),provider:this.wallet.provider}));let eb=await this.getChainId(),em=ej.HR(eb)?.superTokenAddress;if(!em)throw Error(`ChainID ${eb} not supported`);this.alephx=await this.framework.loadSuperToken(em)}async askPubKey(){return this.account.askPubKey()}getChain(){return this.account.getChain()}async sign(eb){return this.account.sign(eb)}alephPerHourToFlowRate(eb){return(0,ej.Is)(eb).div(pT.O$.from(3600))}flowRateToAlephPerHour(eb){return new EW.t(EZ.dF(pT.O$.from(eb).mul(pT.O$.from(3600))))}async getALEPHBalance(){if(!this.wallet)throw Error("PublicKey Error: No providers are set up");if(!this.alephx)throw Error("SuperfluidAccount not initialized");let eb=await this.alephx.balanceOf({account:this.address,providerOrSigner:this.wallet.provider});return(0,ej.zW)(eb)}async getALEPHFlow(eb){if(!this.wallet)throw Error("PublicKey Error: No providers are set up");if(!this.alephx)throw Error("SuperfluidAccount not initialized");let em=await this.alephx.getFlow({sender:this.address,receiver:eb,providerOrSigner:this.wallet.provider});return em?this.flowRateToAlephPerHour(em.flowRate):new EW.t(0)}async increaseALEPHFlow(eb,em){if(!this.wallet)throw Error("PublicKey Error: No providers are set up");if(!this.alephx)throw Error("SuperfluidAccount is not initialized");if(pT.O$.from(await this.alephx.balanceOf({account:this.address,providerOrSigner:this.wallet.provider})).lt((0,ej.Is)(em)))throw Error("Not enough ALEPH to increase flow");let ew=this.wallet.provider.getSigner(),eM=this.address,eC=await this.getFlow(eb),eT=eC?pT.O$.from(eC.flowRate.toString()).add(this.alephPerHourToFlowRate(em)):this.alephPerHourToFlowRate(em);await (eC?this.alephx.updateFlow({sender:eM,receiver:eb,flowRate:eT.toString()}):this.alephx.createFlow({sender:eM,receiver:eb,flowRate:eT.toString()})).exec(ew)}async decreaseALEPHFlow(eb,em){if(!this.wallet)throw Error("PublicKey Error: No providers are set up");if(!this.alephx)throw Error("SuperfluidAccount not initialized");let ew=await this.getFlow(eb);if(!ew)throw Error("No flow to decrease flow");let eM=this.address,eC=this.wallet.provider.getSigner(),eT=pT.O$.from(ew.flowRate.toString()).sub(this.alephPerHourToFlowRate(em));await (eT.lte(0)?this.alephx.deleteFlow({sender:eM,receiver:eb}):this.alephx.updateFlow({sender:eM,receiver:eb,flowRate:eT.toString()})).exec(eC)}async getFlow(eb){if(!this.wallet)throw Error("PublicKey Error: No providers are set up");if(!this.alephx)throw Error("SuperfluidAccount not initialized");let em=await this.alephx.getFlow({sender:this.address,receiver:eb,providerOrSigner:this.wallet.provider});return!em||pT.O$.from(em.flowRate).eq(0)?null:em}}function EX(eb){return!!eb&&(eb instanceof u6||eb instanceof u5)}async function EQ(eb){if(!eb.wallet)throw Error("Wallet is required");let em=new EJ(eb);return await em.init(),em}var E1=ew(81287),E2=ew(34853);!function(eb){eb.Metamask="metamask",eb.WalletConnect="wallet-connect"}(eO||(eO={})),eO.Metamask,eO.Metamask,eO.WalletConnect,eO.WalletConnect;let E6={[eF.$O.ETH]:{id:eF.$O.ETH,name:"Ethereum",chainId:1,eip155:!0,currency:"ETH",explorerUrl:"https://etherscan.io/",rpcUrl:"https://eth.drpc.org"},[eF.$O.AVAX]:{id:eF.$O.AVAX,name:"Avalanche",chainId:43114,eip155:!0,currency:"AVAX",explorerUrl:"https://snowtrace.io/",rpcUrl:"https://avalanche.drpc.org"},[eF.$O.SOL]:{id:eF.$O.SOL,name:"Solana",chainId:900,eip155:!1,currency:"SOL"}},E4={1:E6.ETH,43114:E6.AVAX,900:E6.SOL};class E3{async connect(eb){let em=await this.mutex.acquire();try{let em=E6[eb];if(!this.supportedBlockchains.includes(eb))throw Error('Blockchain "'.concat((null==em?void 0:em.name)||eb,'" not supported'));await this.onConnect(eb),this.events.emit("connect",{provider:this.providerId}),this.isReady=!0,await this.switchBlockchain(eb),await this.onUpdate(eb)}finally{em()}}async disconnect(eb){let em=await this.mutex.acquire();try{this.isReady=!1,await this.onDisconnect(),this.events.emit("disconnect",{provider:this.providerId,error:eb})}finally{em()}}async switchBlockchain(eb){let em=await this.getBlockchain().catch(()=>void 0);if(em!==eb)try{var ew;let em=E6[eb];if(!em)throw Error('Blockchain "'.concat(eb,'" not supported'));let eM=this.getProvider(),eC="0x".concat(em.chainId.toString(16));await (null===(ew=eM.request)||void 0===ew?void 0:ew.call(eM,{method:"wallet_switchEthereumChain",params:[{chainId:eC}]}))}catch(eb){throw await this.onUpdate(em),eb}}async onUpdate(eb){if(!this.isReady)return;let em=eb||await this.getBlockchain(),ew=await this.getAccount(),eM=await this.getBalance(ew);this.events.emit("update",{provider:this.providerId,blockchain:em,account:ew,balance:eM})}async onBlockchain(eb){if(!this.isReady)return;eb="string"==typeof eb?parseInt(eb,16):eb;let em=E4[eb],ew=null==em?void 0:em.id;if(!this.supportedBlockchains.includes(ew)){await (0,E2._v)(0),await this.onDisconnect(),this.events.emit("disconnect",{provider:this.providerId,error:Error('Blockchain "'.concat((null==em?void 0:em.name)||eb,'" not supported'))});return}return this.onUpdate(ew)}async onAccount(){return this.onUpdate()}async getBlockchain(){var eb;let em=this.getProvider(),ew=await (null===(eb=em.request)||void 0===eb?void 0:eb.call(em,{method:"eth_chainId"}));ew="string"==typeof ew?parseInt(ew,16):ew;let eM=E4[ew];if(!eM)throw Error('Blockchain "'.concat(ew,'" not supported'));return eM.id}async getAccount(){let eb=this.getProvider(),em=await this.getBlockchain();switch(em){case eF.$O.ETH:return eG(eb);case eF.$O.AVAX:return u3(eb);case eF.$O.SOL:return uH(eb);default:throw E1.Z.ChainNotYetSupported}}async getBalance(eb){if(EX(eb))try{let em=await EQ(eb),ew=await em.getALEPHBalance();return ew.toNumber()}catch(eb){return console.error(eb),0}if(eb instanceof eK||eb instanceof uV)return(0,E2.P$)(eb.address);throw E1.Z.ChainNotYetSupported}constructor(eb){this.supportedBlockchains=eb,this.events=new(eB()),this.mutex=new E2.WU,this.isReady=!1}}},18210:function(eb,em,ew){"use strict";ew.d(em,{p:function(){return eE}});var eM=ew(33358),eC=ew(92975),eT=ew(92064),e_=ew(48764).Buffer;class eE{async getFiles(){let[eb,em]=await Promise.all([this.getFileMessages(),this.getFileObjects()]),ew=(null==em?void 0:em.totalSize)||(null==eb?void 0:eb.totalSize);if(void 0===ew)return;let eM=(null==em?void 0:em.files)||[],eC=eM.map(eb=>[eb.item_hash,eb]),eT=new Map(eC),e_=(null==eb?void 0:eb.files)||[],eE=[...e_].map(eb=>{var em;let ew={...eb};return ew.content.size=(null===(em=eT.get(eb.item_hash))||void 0===em?void 0:em.size)||0,ew});return{files:eE,totalSize:ew=eE.reduce((eb,em)=>{var ew;return eb+((null==em?void 0:null===(ew=em.content)||void 0===ew?void 0:ew.size)||0)},0)/1048576}}async getFileMessages(){if(!this.account)return;let{address:eb}=this.account,em=await this.sdkClient.getMessages({messageTypes:[eC.Cs.store],addresses:[eb],pagination:1e3}),ew=(null==em?void 0:em.messages)||[],eM=ew.reduce((eb,em)=>{var ew;return eb+((null==em?void 0:null===(ew=em.content)||void 0===ew?void 0:ew.size)||0)},0);return{files:ew,totalSize:eM}}async getFileObjects(){if(!this.account)return;let{address:eb}=this.account;try{let em=await fetch("".concat(eM.pf,"/api/v0/addresses/").concat(eb,"/files?pagination=1000")),ew=await em.json(),eC=ew.total_size/1048576,eT=ew.files;return{files:eT,totalSize:eC}}catch(eb){console.log("Files API is not yet implemented on the node")}}async uploadFile(eb){if(!(this.sdkClient instanceof eT.x))throw Error("Account needed to perform this action");let em=e_.from(await eb.arrayBuffer()),ew=await this.sdkClient.createStore({channel:eM.CE,fileObject:em,storageEngine:eC.qG.ipfs,metadata:{name:eb.name,format:eb.type}});return{contentItemHash:ew.content.item_hash,messageItemHash:ew.item_hash}}async downloadFile(eb){let em=await this.sdkClient.downloadFile(eb);return new File([em],eb)}constructor(eb,em=eM.Nr,ew=eb?new eT.x(eb,eM.pf):new eT.O(eM.pf)){this.account=eb,this.channel=em,this.sdkClient=ew}}},48107:function(eb,em,ew){"use strict";ew.d(em,{B:function(){return eY},r:function(){return eM}});var eM,eC=ew(33358),eT=ew(92975),e_=ew(34853),eE=ew(1604);let eS=eE.z.string().trim().min(1,{message:"Required field"});function eA(eb){return eb.optional().or(eE.z.literal(""))}let eN=eE.z.string().trim().optional(),eI=eS.regex(/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/,{message:"Invalid url format"}),eD=eS.regex(/^\/ip4\/(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/tcp\/[0-9]{1,4}\/p2p\/Qm[1-9A-HJ-NP-Za-km-z]{44}$/,{message:"Invalid multiaddress format"}),eO=eS.regex(/^0x[a-fA-F0-9]{40}$/,{message:"Invalid address format"}),eP=eS.regex(/^[0-9a-f]{64}$/,{message:"Invalid hash format"}),eR=eE.z.object({name:eS,multiaddress:eD}),eB=eE.z.object({name:eS,address:eI}),eF=eE.z.custom(),ej=eE.z.custom(eb=>eb instanceof File,"Invalid file type").refine(eb=>"image/jpeg"===eb.type||"image/png"===eb.type||"image/svg+xml"===eb.type,{message:"only png, jpg, jpeg or svg formats are valid"}).refine(eb=>eb.size>0,{message:"Image size size should be greater than 0"}),eU=eE.z.object({name:eS,hash:eP,picture:eA(eS).or(ej),banner:eA(eS).or(ej),description:eA(eS),reward:eA(eO),authorized:eA(eS).or(eE.z.array(eO).optional()),locked:eE.z.boolean().optional(),registration_url:eA(eI)}),eV=eU.extend({multiaddress:eA(eD),manager:eA(eO)}),eH=eU.extend({address:eA(eI),stream_reward:eA(eO),terms_and_conditions:eN.or(eF)});var e$=ew(18210),eW=ew(65929),eZ=ew(47630),eK=ew(92064),eG=ew(81287);!function(eb){eb[eb.Valid=0]="Valid",eb[eb.IPV6=1]="IPV6",eb[eb.MinSpecs=2]="MinSpecs",eb[eb.Version=3]="Version",eb[eb.RewardAddress=4]="RewardAddress"}(eM||(eM={}));class eY{async getCCNNodes(){let{ccns:eb}=await this.getAllNodes();return eb}async getCRNNodes(){let{crns:eb}=await this.getAllNodes();return eb}async getAllNodes(){let eb=await this.fetchAllNodes(),{timestamp:em}=eb,{ccns:ew,crns:eM}=eb;return eM=this.parseResourceNodes(eM),eM=await this.parseScores(eM,!0),eM=await this.parseMetrics(eM,!0),ew=await this.parseScores(ew,!1),ew=await this.parseMetrics(ew,!1),this.linkChildrenNodes(ew,eM),this.linkParentNodes(eM,ew),{ccns:ew,crns:eM,timestamp:em}}async *subscribeNodesFeed(eb){let em=(0,eW.Q)("".concat(eC.tC,"/api/ws0/messages?msgType=AGGREGATE&history=1&addresses=").concat(eC.Lp),eb);for await(let eb of em){if(!eb.content||!eb.content.content)return;let{content:em,address:ew,key:eM,time:eT}=eb.content||{},{nodes:e_,resource_nodes:eE}=em;if(ew===eC.Lp&&"corechannel"===eM&&(void 0!==e_||void 0!==eE)){let eb=eE,em=e_;eb=this.parseResourceNodes(eb),eb=await this.parseScores(eb,!0),eb=await this.parseMetrics(eb,!0),em=await this.parseScores(em,!1),em=await this.parseMetrics(em,!1),this.linkChildrenNodes(em,eb),this.linkParentNodes(eb,em);let ew=Math.trunc(1e3*eT);yield{ccns:em,crns:eb,timestamp:ew}}}}async getLatestVersion(eb){return this.isCRN(eb)?this.getLatestCRNVersion():this.getLatestCCNVersion()}async getLatestCCNVersion(){return(0,e_.vM)("https://api.github.com/repos/aleph-im/pyaleph/releases","ccn_versions",3e5,e_.dU)}async getLatestCRNVersion(){return(0,e_.vM)("https://api.github.com/repos/aleph-im/aleph-vm/releases","crn_versions",3e5,e_.dU)}async newCoreChannelNode(eb){if(!(this.sdkClient instanceof eK.x))throw eG.Z.InvalidAccount;eb=await eY.newCCNSchema.parseAsync(eb);let em=await this.sdkClient.createPost({postType:eC.gE,channel:eC.CE,content:{tags:["create-node",...eC.pJ],action:"create-node",details:eb},storageEngine:eT.qG.inline});return em.item_hash}async newComputeResourceNode(eb){if(!(this.sdkClient instanceof eK.x))throw eG.Z.InvalidAccount;eb=await eY.newCRNSchema.parseAsync(eb);let em=await this.sdkClient.createPost({postType:eC.gE,channel:eC.CE,content:{tags:["create-resource-node",...eC.pJ],action:"create-resource-node",details:{...eb,type:"compute"}},storageEngine:eT.qG.inline});return em.item_hash}async updateCoreChannelNode(eb){return eb=await eY.updateCCNSchema.parseAsync(eb),this.updateNode(eb,"create-node")}async updateComputeResourceNode(eb){return eb=await eY.updateCRNSchema.parseAsync(eb),this.updateNode(eb,"create-resource-node")}async removeNode(eb){if(!(this.sdkClient instanceof eK.x))throw eG.Z.InvalidAccount;let em=await this.sdkClient.createPost({postType:eC.gE,channel:eC.CE,ref:eb,content:{tags:["drop-node",...eC.pJ],action:"drop-node"},storageEngine:eT.qG.inline});return em.item_hash}async linkComputeResourceNode(eb){if(!(this.sdkClient instanceof eK.x))throw eG.Z.InvalidAccount;await this.sdkClient.createPost({postType:eC.gE,channel:eC.CE,ref:eb,content:{tags:["link",...eC.pJ],action:"link"},storageEngine:eT.qG.inline})}async unlinkComputeResourceNode(eb){if(!(this.sdkClient instanceof eK.x))throw eG.Z.InvalidAccount;await this.sdkClient.createPost({postType:eC.gE,channel:eC.CE,ref:eb,content:{tags:["unlink",...eC.pJ],action:"unlink"},storageEngine:eT.qG.inline})}async fetchAllNodes(){return(0,e_.vM)("".concat(eC.pf,"/api/v0/aggregates/0xa1B3bb7d2332383D96b7796B908fB7f7F3c2Be10.json?keys=corechannel&limit=100"),"nodes",5e3,async eb=>{var em,ew,eM,eC;let eT=null==eb?void 0:null===(em=eb.data)||void 0===em?void 0:null===(ew=em.corechannel)||void 0===ew?void 0:ew.resource_nodes,e_=null==eb?void 0:null===(eM=eb.data)||void 0===eM?void 0:null===(eC=eM.corechannel)||void 0===eC?void 0:eC.nodes,eE=0;return{ccns:e_,crns:eT,timestamp:eE}})}async updateNode(eb,em){let{hash:ew,...eM}=eb;if(!(this.sdkClient instanceof eK.x))throw eG.Z.InvalidAccount;if(!ew)throw Error("Invalid node hash");if(eM.locked||(eM.registration_url=""),eM.picture instanceof File){let{contentItemHash:eb}=await this.fileManager.uploadFile(eM.picture);eM.picture=eb}if(eM.banner instanceof File){let{contentItemHash:eb}=await this.fileManager.uploadFile(eM.banner);eM.banner=eb}if("terms_and_conditions"in eM&&eM.terms_and_conditions instanceof File){let{messageItemHash:eb}=await this.fileManager.uploadFile(eM.terms_and_conditions);eM.terms_and_conditions=eb}let e_=await this.sdkClient.createPost({postType:"amend",ref:ew,content:{tags:[em,...eC.pJ],action:em,details:eM},channel:eC.CE,storageEngine:eT.qG.inline});return[e_.item_hash,{hash:ew,...eM,picture:eM.picture,banner:eM.banner}]}isCRN(eb){return Object.hasOwn(eb,"parent")}isKYCRequired(eb){return void 0!==eb.registration_url&&""!==eb.registration_url}isKYCCleared(eb){var em;return!!this.account&&((null===(em=eb.authorized)||void 0===em?void 0:em.includes(this.account.address))||!1)}isLocked(eb){return!!eb.locked&&!(this.isKYCRequired(eb)&&this.isKYCCleared(eb))}isUserNode(eb){return!!this.account&&this.account.address===eb.owner}isUserStake(eb){return!!this.account&&!!eb.stakers[this.account.address]}isLinked(eb){return!!eb.parentData}isUnlinkableBy(eb,em){return!!em&&(this.isUserNode(em)&&em.hash===eb.parent||this.isUserNode(eb)&&!!eb.parent)}isStakeable(eb){return eb.total_staked>=eY.maxStakedPerNode?[!1,"Too many ALEPH staked on that node"]:this.isLocked(eb)?[!1,"This node is locked"]:[!0,"".concat(eb.hash," is stakeable")]}isStakeableBy(eb,em){let ew=this.isStakeable(eb);return ew[0]?!em||em<1e4?[!1,"You need at least 10000 ALEPH to stake"]:this.isUserNode(eb)?[!1,"You can't stake while you operate a node"]:this.isUserStake(eb)?[!1,"Already staking in this node"]:[!0,"Stake ".concat(em.toFixed(2)," ALEPH in this node")]:ew}isLinkable(eb){return eb.locked?[!1,"This node is locked"]:eb.parent?[!1,"The node is already linked to ".concat(eb.parent," ccn")]:[!0,"".concat(eb.hash," is linkable")]}isLinkableBy(eb,em){let ew=this.isLinkable(eb);return ew[0]?em&&this.isUserNode(em)?eb.locked?[!1,"This node is locked"]:eb.parent?[!1,"The node is already linked to ".concat(eb.parent," ccn")]:em.resource_nodes.length>=eY.maxLinkedPerNode?[!1,"The user node is already linked to ".concat(em.resource_nodes.length," nodes")]:[!0,"Link ".concat(eb.hash," to ").concat(em.hash)]:[!1,"The user doesn't own a core channel node"]:ew}hasIssues(eb){let em=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.isCRN(eb)){var ew;if(eb.score<.8)return"The CRN is underperforming";if(!eb.parentData)return"The CRN is not being linked to a CCN";if(0>=((null==eb?void 0:null===(ew=eb.parentData)||void 0===ew?void 0:ew.score)||0))return"The linked CCN is underperforming"}else{if(eb.score<.8)return"The CCN is underperforming";if(((null==eb?void 0:eb.crnsData.length)||0)eb.score<.8)))return"One of the linked CRN is underperforming"}}getNodeVersionNumber(eb){var em,ew;return(null===(em=eb.metricsData)||void 0===em?void 0:em.version)?(0,e_.L1)(null===(ew=eb.metricsData)||void 0===ew?void 0:ew.version):0}isStreamPaymentNotSupported(eb){return eb.stream_reward?this.getNodeVersionNumber(eb)<(0,e_.L1)("v0.4.0")?eM.Version:eM.Valid:eM.RewardAddress}validateMinNodeSpecs(eb,em){return eb.cpu<=em.cpu.count&&eb.ram<=(em.mem.available_kB||0)/1024&&eb.storage<=(em.disk.available_kB||0)/1024}async getCRNsSpecs(eb){let em=await Promise.all(eb.map(eb=>this.getCRNspecs(eb)));console.log("specs",em);let ew=em.filter(eb=>void 0!==eb);return console.log("filtered",ew),ew}async getCRNspecs(eb){let em=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;if(!eb.address)return;let ew=eb.address.toLowerCase().replace(/\/$/,""),eM="".concat(ew,"/about/usage/system"),{success:eC}=eI.safeParse(eM);if(eC)try{return await (0,e_.vM)(eM,"crn_specs_".concat(eb.hash,"_1"),3600,em=>{if(void 0===em.cpu)throw Error("invalid response");return{...em,hash:eb.hash,name:eb.name}})}catch(ew){if(!em)return;return await (0,e_._v)(200),this.getCRNspecs(eb,em-1)}}async getCRNips(eb){let em=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;if(!eb.address)return;let ew=eb.address.toLowerCase().replace(/\/$/,""),eM="".concat(ew,"/status/check/ipv6"),{success:eC}=eI.safeParse(eM);if(eC)try{return await (0,e_.vM)(eM,"crn_ips_".concat(eb.hash,"_1"),3600,em=>{if(void 0===em.vm)throw Error("invalid response");return{...em,hash:eb.hash,name:eb.name}})}catch(ew){if(!em)return;return await (0,e_._v)(200),this.getCRNips(eb,em-1)}}async getCRNBenchmark(eb){let em=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(!eb.address)return;let{hash:ew,name:eM}=eb,eC=eb.address.toLowerCase().replace(/\/$/,""),eT="".concat(eC,"/vm/873889eb4ce554385e7263724bd0745130099c24fd9c535f0a648100138a2514/benchmark"),eE="".concat(eC,"/vm/873889eb4ce554385e7263724bd0745130099c24fd9c535f0a648100138a2514/memory_speed"),{success:eS}=eI.safeParse(eT),{success:eA}=eI.safeParse(eE);if(eS&&eA)try{let[em,eC]=await Promise.all([(0,e_.vM)(eT,"4crn_benchmark_cpu_".concat(eb.hash),3600,eb=>{if(void 0===eb.benchmark)throw Error("invalid response");return eb}),(0,e_.vM)(eE,"4crn_benchmark_ram_".concat(eb.hash),3600,eb=>{if(void 0===eb.speed_str)throw Error("invalid response");return eb})]);return{hash:ew,name:eM,cpu:em,ram:eC}}catch(ew){if(!em)return;return await (0,e_._v)(200),this.getCRNBenchmark(eb,em-1)}}parseResourceNodes(eb){return eb.map(eb=>(eb.locked=!!eb.locked,eb))}linkChildrenNodes(eb,em){let ew=em.reduce((eb,em)=>{if(!em.parent)return eb;let ew=eb[em.parent]=eb[em.parent]||[];return ew.push(em),eb},{});eb.forEach(eb=>{let em=ew[eb.hash]||[];em&&(eb.crnsData=em)})}linkParentNodes(eb,em){let ew=em.reduce((eb,em)=>(eb[em.hash]=em,eb),{});eb.forEach(eb=>{if(!eb.parent)return;let em=ew[eb.parent];em&&(eb.parentData=em)})}async parseScores(eb,em){let ew=em?await this.getCRNScores():await this.getCCNScores(),eM=new Map(ew.map(eb=>[eb.node_id,eb]));return eb.map(eb=>{let em=eM.get(eb.hash);return em?{...eb,score:em.total_score,decentralization:em.decentralization,performance:em.performance,version:em.version,scoreData:em}:eb})}async parseMetrics(eb,em){let ew=em?await this.getCRNMetrics():await this.getCCNMetrics(),eM=new Map(ew.map(eb=>[eb.node_id,eb]));return eb.map(eb=>{let em=eM.get(eb.hash);return em?{...eb,metricsData:em}:eb})}async getScores(){var eb,em;let ew=await this.sdkClient.getPosts({types:"aleph-scoring-scores",addresses:[eC.id],pagination:1,page:1});return null===(eb=null===(em=ew.posts[0])||void 0===em?void 0:em.content)||void 0===eb?void 0:eb.scores}async getMetrics(){var eb,em;let ew=await this.sdkClient.getPosts({types:"aleph-network-metrics",addresses:[eC.id],pagination:1,page:1});return null===(eb=null===(em=ew.posts[0])||void 0===em?void 0:em.content)||void 0===eb?void 0:eb.metrics}async getCCNScores(){let eb=await this.getScores();return eb.ccn}async getCCNMetrics(){let eb=await this.getMetrics();return eb.ccn}async getCRNScores(){let eb=await this.getScores();return eb.crn}async getCRNMetrics(){let eb=await this.getMetrics();return eb.crn}constructor(eb,em=eb?new eK.x(eb,eC.pf):new eK.O(eC.pf),ew=new e$.p(eb,eC.CE,em)){this.account=eb,this.sdkClient=em,this.fileManager=ew}}(()=>{eY.newCCNSchema=eR})(),(()=>{eY.newCRNSchema=eB})(),(()=>{eY.updateCCNSchema=eV})(),(()=>{eY.updateCRNSchema=eH})(),(()=>{eY.maxStakedPerNode=1e6})(),(()=>{eY.maxLinkedPerNode=5})()},47630:function(eb,em,ew){"use strict";ew.d(em,{S:function(){return eS}});var eM=ew(33358),eC=ew(34853),eT=ew(92975),e_=ew(65929),eE=ew(92064);class eS{async getLastRewardsCalculation(){let eb=await this.sdkClient.getPosts({types:"staking-rewards-distribution",addresses:[eM.Lp],tags:["calculation"],pagination:1,page:1}),{content:em,time:ew}=eb.posts[0],{rewards:eC,end_height:eT}=em;return{type:"calculation",rewards:eC,lastHeight:eT,timestamp:Math.trunc(1e3*ew)}}async getLastRewardsDistribution(){let eb=await this.sdkClient.getPosts({types:"staking-rewards-distribution",addresses:[eM.jM],tags:["distribution"],pagination:1,page:1}),{content:em,time:ew}=eb.posts[0],{rewards:eC,end_height:eT}=em;return{type:"distribution",rewards:eC,lastHeight:eT,timestamp:Math.trunc(1e3*ew)}}async *subscribeRewardsFeed(eb){let em=(0,e_.Q)("".concat(eM.tC,"/api/ws0/messages?msgType=POST&history=1&contentTypes=staking-rewards-distribution&addresses=").concat(eM.jM,",").concat(eM.Lp),eb);for await(let eb of em){if(!eb.content||!eb.content.content)return;let{content:em,time:ew}=eb.content||{},{status:eM,rewards:eC,end_height:eT}=em;("calculation"===eM||"distribution"===eM&&eb.content.content.targets.some(eb=>{let{success:em}=eb;return em}))&&(yield{type:eM,rewards:eC,lastHeight:eT,timestamp:Math.trunc(1e3*ew)})}}async stake(eb){if(!(this.sdkClient instanceof eE.x))throw Error("Account needed to perform this action");await this.sdkClient.createPost({postType:eM.gE,channel:eM.CE,ref:eb,content:{tags:["stake-split",...eM.pJ],action:"stake-split"},storageEngine:eT.qG.inline})}async unstake(eb){if(!(this.sdkClient instanceof eE.x))throw Error("Account needed to perform this action");await this.sdkClient.createPost({postType:eM.gE,channel:eM.CE,ref:eb,content:{tags:["unstake",...eM.pJ],action:"unstake"},storageEngine:eT.qG.inline})}isCRN(eb){return Object.hasOwn(eb,"parent")}activeNodes(eb){return eb.filter(eb=>this.isCRN(eb)?"linked"===eb.status:"active"===eb.status)}totalStaked(eb){return eb.reduce((eb,em)=>eb+em.total_staked,0)}totalStakedByUser(eb){let{account:em}=this;return em?eb.reduce((eb,ew)=>eb+(ew.stakers[em.address]||0),0):0}totalStakedByOperators(eb){return eb.length*eS.minStakeToActivateNode}totalStakedInActive(eb){return this.totalStaked(this.activeNodes(eb))}totalPerDay(eb){let em=this.activeNodes(eb).length;return em?eS.dailyCCNRewardsPool*((Math.log10(em)+1)/3):0}totalPerAlephPerDay(eb){let em=this.totalStakedInActive(eb);return em?this.totalPerDay(eb)/em:0}currentAPY(eb){return(1+this.totalPerAlephPerDay(eb))**365-1}computeEstimatedStakersAPY(eb,em){let ew=0;if(eb.score){let eM=(0,eC._1)(eb.score,.2,.8,0,1),eT=this.totalLinkedCRNPenaltyFactor(eb);ew=this.currentAPY(em)*eM*eT}return ew}stakingRewardsPerDay(eb,em){return eb*this.totalPerAlephPerDay(em)}totalLinkedCRNPenaltyFactor(eb){let em=Math.min(eb.crnsData.filter(eb=>eb.score>=.2).length,eS.minLinkedNodesForPenalty);return 1-(eS.minLinkedNodesForPenalty-em)/10}CCNRewardsPerDay(eb,em){if(!eb.score)return 0;let ew=this.activeNodes(em).length,eM=eS.dailyCCNRewardsPool/ew,eT=(0,eC._1)(eb.score,.2,.8,0,1),e_=this.totalLinkedCRNPenaltyFactor(eb);return eM*eT*e_}CRNRewardsPerDay(eb){if(!eb.parent||!eb.score||!eb.decentralization)return 0;let{decentralization:em,score:ew}=eb,eM=eS.dailyCRNRewardsBase+eS.dailyCRNRewardsVariable*em,eT=(0,eC._1)(ew,.2,.8,0,1);return eM*eT}constructor(eb,em=eM.Nr,ew=eb?new eE.x(eb,eM.pf):new eE.O(eM.pf)){this.account=eb,this.channel=em,this.sdkClient=ew}}(()=>{eS.dailyCCNRewardsPool=15e3})(),(()=>{eS.dailyCRNRewardsBase=250/(365/12)})(),(()=>{eS.dailyCRNRewardsVariable=1250/(365/12)})(),(()=>{eS.minStakeToActivateNode=2e5})(),(()=>{eS.minLinkedNodesForPenalty=3})()},33358:function(eb,em,ew){"use strict";ew.d(em,{CE:function(){return eC},Lp:function(){return eN},Nr:function(){return eM},RG:function(){return eO},gE:function(){return e_},id:function(){return eA},jM:function(){return eI},pJ:function(){return eT},pf:function(){return eE},tC:function(){return eS}});let eM="ALEPH-ACCOUNT",eC="FOUNDATION",eT=["mainnet"],e_="corechan-operation",eE="https://api3.aleph.im",eS="wss://api3.aleph.im",eA="0x4D52380D3191274a04846c89c069E6C3F2Ed94e4",eN="0xa1B3bb7d2332383D96b7796B908fB7f7F3c2Be10",eI="0x3a5CC6aBd06B601f4654035d125F9DD2FC992C25",eD="https://console.twentysix.cloud",eO="".concat(eD,"/computing/instance/new")},81287:function(eb,em){"use strict";em.Z={ChainNotYetSupported:Error("Chain is not yet supported"),RequestTimeout:Error("Request timed out"),RequestFailed:eb=>Error("Request failed",{cause:eb}),InvalidAccount:Error("Account needed to perform this action")}},65929:function(eb,em,ew){"use strict";ew.d(em,{Q:function(){return eC}});var eM=ew(34853);async function*eC(eb,em){let ew;let eC=[],eT=[];function e_(){for(;eC.length;)eC.pop();for(;eT.length;){let eb=eT.shift();null==eb||eb.reject()}}function eE(){for(;;){if(0===eC.length||0===eT.length)return;let eb=eC.shift(),em=eT.shift();null==em||em.resolve(eb)}}em.then(e_);let eS=()=>{let em=new WebSocket(eb);ew=em,em.addEventListener("message",eI),em.addEventListener("close",eD),em.addEventListener("error",eO),em.addEventListener("open",()=>{})},eA=function(eb){let em=!(arguments.length>1)||void 0===arguments[1]||arguments[1];if(!ew)return;let eM=ew;function eC(){eM.close(),eM.removeEventListener("open",eC),em&&setTimeout(eS,1e3)}eM.removeEventListener("message",eI),eM.removeEventListener("close",eD),eM.removeEventListener("error",eO),ew=void 0,1===eM.readyState?eC():eM.addEventListener("open",eC)},eN=eb=>{eC.push(eb),eE()},eI=eb=>{let em=JSON.parse(eb.data);eN(em)},eD=eb=>{eA(eb,!0)},eO=eb=>{console.error("Socket encountered error: ",null==eb?void 0:eb.message,"Closing socket"),eA(void 0,!1)};eS();try{for(;;){let eb=new eM.ol;eT.push(eb),eE(),yield await eb.promise}}finally{eA(void 0,!1)}}},34853:function(eb,em,ew){"use strict";ew.d(em,{Fx:function(){return eI},L1:function(){return eK},P$:function(){return eS},RK:function(){return eP},WU:function(){return eU},_1:function(){return eH},_v:function(){return eV},dU:function(){return eW},eB:function(){return eO},gl:function(){return eB},k2:function(){return eF},ol:function(){return ej},s5:function(){return eZ},tz:function(){return eR},vM:function(){return e$},zN:function(){return eE}});var eM=ew(33358),eC=ew(81287),eT=ew(92975);let e_=function(eb){let em=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,ew=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return eb.length<=em||eb.length<=ew?eb:"".concat(eb.slice(0,em),"...").concat(ew>0?eb.slice(-ew):"")},eE=eb=>e_(eb,6,4),eS=async eb=>{try{let em=await fetch("".concat(eM.pf,"/api/v0/addresses/").concat(eb,"/balance"));if(404===em.status)return 0;let{balance:ew}=await em.json();return ew}catch(eb){throw eC.Z.RequestFailed(eb)}},eA={B:1,kB:1e3,MB:1e6,GB:1e9,TB:1e12,KiB:1024,MiB:1048576,GiB:1073741824,TiB:1099511627776},eN={B:"B",kB:"kB",MB:"MB",GB:"GB",TB:"TB",KiB:"kB",MiB:"MB",GiB:"GB",TiB:"TB"};function eI(eb,em){let{from:ew="MiB",to:eM="GiB",displayUnit:eC=!1}=em,eT=eb*eA[ew]/eA[eM];return eC?"".concat(eT.toFixed(2)," ").concat(eN[eM]):eT}function eD(eb){let em=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["B","KiB","MiB","GiB","TiB"],ew="B";for(let eM of em){if(eb1&&void 0!==arguments[1]?arguments[1]:"B";if(void 0===eb)return"n/a";if(0===eb)return"-";let ew=eI(eb,{from:em,to:"B"}),eM=eD(ew);return eI(eb,{from:em,to:eM,displayUnit:!0})}let eP=eb=>void 0===eb?"n/a":0===eb?eb:eb<1e3?eb.toFixed(1):eb<1e6?(eb/1e3).toFixed(1)+"K":eb<1e9?(eb/1e6).toFixed(1)+"M":(eb/1e9).toFixed(1)+"B";Object.values(eT.Cs);let eR=eb=>{let{hash:em,address:ew,tokenAddress:eM}=eb;return em?"https://etherscan.io/tx/".concat(em):ew?"https://etherscan.io/address/".concat(ew):eM?"https://etherscan.io/token/0x27702a26126e0B3702af63Ee09aC4d1A084EF628?a=".concat(eM):void 0},eB=eb=>{let{hash:em,address:ew,tokenAddress:eM}=eb;return em?"https://subnets.avax.network/c-chain/tx/".concat(em):ew?"https://subnets.avax.network/c-chain/address/".concat(ew):eM?"https://subnets.avax.network/c-chain/address/".concat(eM,"?tab=erc20"):void 0},eF=eb=>{let{multiaddress:em}=eb;if(!em)return;let[,ew]=em.match(/\/ip4\/(.+?)\//)||[];if(ew)return"http://".concat(ew,":4024")};class ej{constructor(){this.promise=new Promise((eb,em)=>{this.resolve=eb,this.reject=em})}}class eU{async acquire(){let eb=new ej,em=this.queue;return this.queue=this.queue.then(()=>eb.promise),this.count++,await em,()=>{this.count--,eb.resolve()}}constructor(){this.queue=Promise.resolve(),this.count=0}}function eV(eb){return new Promise(em=>setTimeout(em,eb))}function eH(eb,em,ew,eM,eC){if(!eb)return 0;if(eb>ew)return 1;if(ebew?eC:eT}async function e$(eb,em,ew,eM){let eC=localStorage.getItem(em),eT=Date.now();if(eC){let{cachedAt:eb,value:eM}=JSON.parse(eC);if(eT-eb1&&void 0!==arguments[1]?arguments[1]:12096e5,ew={latest:null,prerelease:null,outdated:null},eM=0;if(!eb)return ew;for(let eC of eb)eC.prerelease&&!ew.prerelease&&(ew.prerelease=eC.tag_name),eC.prerelease||ew.latest||(ew.latest=eC.tag_name,eM=new Date(eC.published_at).getTime()),ew.latest&&ew.prerelease&&!ew.outdated&&!eC.prerelease&&Date.now()-eM{let eM=new FileReader;eM.readAsDataURL(eb),eM.addEventListener("error",ew),eM.addEventListener("load",()=>{let eb=new Image;eb.src=eM.result,em(eb)})})}function eK(eb){if(!eb)return 0;try{let em=eb.replace(/[a-zA-Z-]/g,"").split(".").map(Number);return em.reduce((eb,em)=>1e3*eb+em,0)}catch(eb){return 0}}},38753:function(eb,em,ew){"use strict";ew.d(em,{i:function(){return e_}});var eM=ew(67294),eC=ew(48107),eT=ew(94461);function e_(eb){let{nodes:em,isStaking:ew}=eb,[e_]=(0,eT.mr)(),{account:eE}=e_.connection,eS=(0,eM.useMemo)(()=>new eC.B(eE),[eE]),eA=(0,eM.useMemo)(()=>{let eb={};return(null==em?void 0:em.length)?em.reduce((eb,em)=>{let eM=eS.hasIssues(em,ew);return eM&&(eb[em.hash]=eM),eb},eb):eb},[ew,eS,em]),eN=(0,eM.useMemo)(()=>Object.values(eA).length,[eA]);return{nodesIssues:eA,warningFlag:eN}}},69797:function(eb,em,ew){"use strict";ew.d(em,{M:function(){return e_}});var eM=ew(67294),eC=ew(48107),eT=ew(94461);function e_(eb){let{nodes:em}=eb,[ew]=(0,eT.mr)(),{account:e_}=ew.connection,eE=(0,eM.useMemo)(()=>new eC.B(e_),[e_]),eS=(0,eM.useCallback)(eb=>{if(eb)return eb.filter(eb=>eE.isUserNode(eb))},[eE]),eA=(0,eM.useMemo)(()=>eS(em),[eS,em]);return{userNodes:eA}}},87274:function(eb,em,ew){"use strict";ew.d(em,{e:function(){return e_}});var eM=ew(67294),eC=ew(48107),eT=ew(94461);function e_(eb){let{nodes:em}=eb,[ew]=(0,eT.mr)(),{account:e_}=ew.connection,eE=(0,eM.useMemo)(()=>new eC.B(e_),[e_]),eS=(0,eM.useCallback)(eb=>{if(eb)return eb.filter(eb=>eE.isUserStake(eb))},[eE]),eA=(0,eM.useMemo)(()=>eS(em),[eS,em]);return{stakeNodes:eA}}},3859:function(eb,em,ew){"use strict";let eM;ew.r(em),ew.d(em,{default:function(){return VI}});var eC,eT,e_,eE,eS,eA={};ew.r(eA),ew.d(eA,{identity:function(){return fP}});var eN={};ew.r(eN),ew.d(eN,{base2:function(){return fR}});var eI={};ew.r(eI),ew.d(eI,{base8:function(){return fB}});var eD={};ew.r(eD),ew.d(eD,{base10:function(){return fF}});var eO={};ew.r(eO),ew.d(eO,{base16:function(){return fj},base16upper:function(){return fU}});var eP={};ew.r(eP),ew.d(eP,{base32:function(){return fV},base32hex:function(){return fW},base32hexpad:function(){return fK},base32hexpadupper:function(){return fG},base32hexupper:function(){return fZ},base32pad:function(){return f$},base32padupper:function(){return fq},base32upper:function(){return fH},base32z:function(){return fY}});var eR={};ew.r(eR),ew.d(eR,{base36:function(){return fJ},base36upper:function(){return fX}});var eB={};ew.r(eB),ew.d(eB,{base58btc:function(){return fQ},base58flickr:function(){return f0}});var eF={};ew.r(eF),ew.d(eF,{base64:function(){return f6},base64pad:function(){return f4},base64url:function(){return f3},base64urlpad:function(){return f5}});var ej={};ew.r(ej),ew.d(ej,{base256emoji:function(){return dw}});var eU={};ew.r(eU),ew.d(eU,{sha256:function(){return dY},sha512:function(){return dJ}});var eV={};ew.r(eV),ew.d(eV,{identity:function(){return uy}});var eH={};ew.r(eH),ew.d(eH,{code:function(){return uw},decode:function(){return uC},encode:function(){return uM},name:function(){return uz}});var e$={};ew.r(e$),ew.d(e$,{code:function(){return u_},decode:function(){return uS},encode:function(){return uE},name:function(){return uT}});var eW={};ew.r(eW),ew.d(eW,{identity:function(){return TU}});var eZ={};ew.r(eZ),ew.d(eZ,{base2:function(){return TV}});var eK={};ew.r(eK),ew.d(eK,{base8:function(){return TH}});var eG={};ew.r(eG),ew.d(eG,{base10:function(){return T$}});var eY={};ew.r(eY),ew.d(eY,{base16:function(){return Tq},base16upper:function(){return TW}});var eJ={};ew.r(eJ),ew.d(eJ,{base32:function(){return TZ},base32hex:function(){return TJ},base32hexpad:function(){return TQ},base32hexpadupper:function(){return T9},base32hexupper:function(){return TX},base32pad:function(){return TG},base32padupper:function(){return TY},base32upper:function(){return TK},base32z:function(){return _m}});var eX={};ew.r(eX),ew.d(eX,{base36:function(){return _z},base36upper:function(){return _w}});var eQ={};ew.r(eQ),ew.d(eQ,{base58btc:function(){return _M},base58flickr:function(){return _C}});var e0={};ew.r(e0),ew.d(e0,{base64:function(){return _k},base64pad:function(){return _T},base64url:function(){return _E},base64urlpad:function(){return _S}});var e6={};ew.r(e6),ew.d(e6,{base256emoji:function(){return _P}});var e4={};ew.r(e4),ew.d(e4,{sha256:function(){return Em},sha512:function(){return Ey}});var e3={};ew.r(e3),ew.d(e3,{identity:function(){return Ex}});var e5={};ew.r(e5),ew.d(e5,{code:function(){return ET},decode:function(){return ES},encode:function(){return E_},name:function(){return Ek}});var e8={};ew.r(e8),ew.d(e8,{code:function(){return ED},decode:function(){return EP},encode:function(){return EO},name:function(){return EI}});var e9={};ew.r(e9),ew.d(e9,{identity:function(){return SI}});var e7={};ew.r(e7),ew.d(e7,{base2:function(){return SD}});var tw={};ew.r(tw),ew.d(tw,{base8:function(){return SO}});var tC={};ew.r(tC),ew.d(tC,{base10:function(){return SP}});var tT={};ew.r(tT),ew.d(tT,{base16:function(){return SR},base16upper:function(){return SF}});var t_={};ew.r(t_),ew.d(t_,{base32:function(){return Sj},base32hex:function(){return S$},base32hexpad:function(){return SW},base32hexpadupper:function(){return SZ},base32hexupper:function(){return Sq},base32pad:function(){return SV},base32padupper:function(){return SH},base32upper:function(){return SU},base32z:function(){return SK}});var tE={};ew.r(tE),ew.d(tE,{base36:function(){return SY},base36upper:function(){return SJ}});var tS={};ew.r(tS),ew.d(tS,{base58btc:function(){return SX},base58flickr:function(){return SQ}});var tA={};ew.r(tA),ew.d(tA,{base64:function(){return S1},base64pad:function(){return S2},base64url:function(){return S6},base64urlpad:function(){return S4}});var tN={};ew.r(tN),ew.d(tN,{base256emoji:function(){return Ab}});var tI={};ew.r(tI),ew.d(tI,{sha256:function(){return AV},sha512:function(){return AH}});var tD={};ew.r(tD),ew.d(tD,{identity:function(){return AK}});var tO={};ew.r(tO),ew.d(tO,{code:function(){return AY},decode:function(){return AX},encode:function(){return AJ},name:function(){return AG}});var tP={};ew.r(tP),ew.d(tP,{code:function(){return A6},decode:function(){return A3},encode:function(){return A4},name:function(){return A2}});var tR=ew(85893),tB=ew(19521),tF=ew(31515);let tj=(0,tB.vJ)(["html,body,#__next{height:100%;}section{padding:0;}.unavailable-content{opacity:0.3;filter:grayscale(1);pointer-events:none;}textarea{width:100%;background:linear-gradient(to bottom,#FFFFFF33,transparent);border-radius:0.3125rem;padding:0.3125rem;border:1px solid #FFFFFF33;color:inherit;}p{color:",";}html{}"],eb=>{let{theme:em}=eb;return em.color.text});var tU=ew(94461),tV=ew(67294),tH=ew(41664),t$=ew.n(tH);let tq=tB.ZP.div.withConfig({displayName:"styles__StyledNavbarDesktop",componentId:"sc-a6yyy7-0"})(["",""],eb=>{let{$breakpoint:em}=eb;return(0,tB.iv)([""," height:6.5rem;backdrop-filter:blur(50px);",""],{position:"relative",top:"0px",zIndex:"10",margin:"0px",display:"none",width:"100%",flex:"0 1 auto",flexShrink:"0",alignItems:"center",justifyContent:"space-between",paddingLeft:"4rem",paddingRight:"4rem"},(0,tF.gn)(em,(0,tB.iv)(["",""],{display:"flex"})))}),tW=(0,tB.ZP)(tF.Gi).withConfig({displayName:"styles__StyledNavbarMobile",componentId:"sc-a6yyy7-1"})(["",""],eb=>{let{breakpoint:em}=eb;return(0,tB.iv)([""," ",""],{position:"relative",zIndex:"10",display:"block"},(0,tF.gn)(em,(0,tB.iv)(["",""],{display:"none"})))}),tZ=tB.ZP.header.withConfig({displayName:"styles__StyledHeader",componentId:"sc-a6yyy7-2"})(["",""],eb=>{let{$breakpoint:em}=eb;return(0,tB.iv)([""," font-size:inherit;line-height:inherit;box-sizing:border-box;",";"],{position:"fixed",left:"0px",top:"0px",zIndex:"10",margin:"0px",width:"100%"},(0,tF.gn)(em,(0,tB.iv)(["",""],{position:"sticky"})))});var tK=ew(11163);let tG={"/":"HOME","/earn/ccn":"CORE NODES","/earn/crn":"COMPUTE RESOURCE NODES","/earn/ccn/new":"CREATE CORE NODE","/earn/crn/new":"CREATE COMPUTE RESOURCE NODE"};function tY(){let[eb]=(0,tU.mr)(),em=(0,tV.useCallback)(eb=>eb?em=>{let ew=eb.find(eb=>eb.hash===em.query.hash);return((null==ew?void 0:ew.name)||"").toUpperCase()}:"",[]),ew=(0,tV.useMemo)(()=>({...tG}),[]);return ew=(0,tV.useMemo)(()=>({...ew,"/earn/ccn/[hash]":em(eb.ccns.entities)}),[ew,em,eb.ccns.entities]),{names:ew=(0,tV.useMemo)(()=>({...ew,"/earn/crn/[hash]":em(eb.crns.entities)}),[ew,em,eb.crns.entities])}}var tJ=ew(87274),tX=ew(69797),tQ=ew(38753);function nw(){let[eb]=(0,tU.mr)(),{entities:em}=eb.ccns,{entities:ew}=eb.crns,{stakeNodes:eM}=(0,tJ.e)({nodes:em}),{userNodes:eC}=(0,tX.M)({nodes:em}),{userNodes:eT}=(0,tX.M)({nodes:ew}),{warningFlag:e_}=(0,tQ.i)({nodes:eM,isStaking:!0}),{warningFlag:eE}=(0,tQ.i)({nodes:eC}),{warningFlag:eS}=(0,tQ.i)({nodes:eT}),eA=(0,tV.useMemo)(()=>[{name:"Account",href:"/",icon:"earn",children:[{name:"Earn",href:"/",icon:"earn",children:[{name:"Staking",href:"/earn/staking",icon:"earn",flag:e_},{name:"Core nodes",href:"/earn/ccn",icon:"ccn",flag:eE},{name:"Compute nodes",href:"/earn/crn",icon:"crn",flag:eS}]}]},{name:"Console",icon:"console",href:"https://console.aleph.im/",target:"_blank",external:!0},{name:"Explorer",icon:"explore",href:"https://explorer.aleph.im/",target:"_blank",external:!0},{name:"Swap",icon:"swap",href:"https://swap.aleph.im/",target:"_blank",external:!0}],[e_,eE,eS]);return{routes:eA}}function nM(){let[eb]=(0,tU.mr)(),{data:em}=eb.lastRewardsCalculation,{data:ew}=eb.lastRewardsDistribution;return{lastRewardsDistribution:ew,lastRewardsCalculation:em}}function nC(eb){let{address:em}=eb,{lastRewardsCalculation:ew,lastRewardsDistribution:eM}=nM(),eC=null==ew?void 0:ew.timestamp,eT=null==eM?void 0:eM.timestamp,e_=(null==ew?void 0:ew.lastHeight)||0,eE=(null==eM?void 0:eM.lastHeight)||0,eS=e_>=eE&&(null==ew?void 0:ew.rewards[em])||0;return{calculatedRewards:eS,calculatedTimestamp:eC,distributionTimestamp:eT}}var nk=ew(96116),nT=ew(82927);class n_ extends nT.q6{async isConnected(){var eb;return!!(null===(eb=window.ethereum)||void 0===eb?void 0:eb.isMetaMask)}async onConnect(eb){let em=this.getProvider();em.on("accountsChanged",this.handleAccountChange),em.on("chainChanged",this.handleBlockchainChange),em.on("disconnect",this.handleDisconnect)}async onDisconnect(){let eb=this.getProvider();eb.off("accountsChanged",this.handleAccountChange),eb.off("chainChanged",this.handleBlockchainChange),eb.off("disconnect",this.handleDisconnect)}getProvider(){let eb=window.ethereum;if(!eb)throw Error("Metamask is not installed");return eb}constructor(...eb){super(...eb),this.providerId=nT.F7.Metamask,this.handleAccountChange=this.onAccount.bind(this),this.handleBlockchainChange=this.onBlockchain.bind(this),this.handleDisconnect=this.disconnect.bind(this,void 0)}}var nE=ew(34853),nS=ew(48207),nA=ew(76962),nN=ew(92233),nI=ew(18569),nD=ew(88382);/** * @license * Copyright 2018 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */let aO=eb=>eb??aP.Ld;var aR=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let aF=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.disabled=!1,this.balance="show",this.charsStart=4,this.charsEnd=6,this.address=aE.Ni.state.address,this.balanceVal=aE.Ni.state.balance,this.balanceSymbol=aE.Ni.state.balanceSymbol,this.profileName=aE.Ni.state.profileName,this.profileImage=aE.Ni.state.profileImage,this.network=aE.fB.state.caipNetwork,this.isUnsupportedChain=aE.fB.state.isUnsupportedChain,this.unsubscribe.push(...[aE.Ni.subscribe(eb=>{eb.isConnected?(this.address=eb.address,this.balanceVal=eb.balance,this.profileName=eb.profileName,this.profileImage=eb.profileImage,this.balanceSymbol=eb.balanceSymbol):(this.address="",this.balanceVal="",this.profileName="",this.profileImage="",this.balanceSymbol="")}),aE.fB.subscribeKey("caipNetwork",eb=>this.network=eb),aE.fB.subscribeKey("isUnsupportedChain",eb=>this.isUnsupportedChain=eb)])}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){let eb=aE.fz.getNetworkImage(this.network),em="show"===this.balance;return aI.dy` + */let nO=eb=>eb??nD.Ld;var nP=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let nR=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.disabled=!1,this.balance="show",this.charsStart=4,this.charsEnd=6,this.address=nS.Ni.state.address,this.balanceVal=nS.Ni.state.balance,this.balanceSymbol=nS.Ni.state.balanceSymbol,this.profileName=nS.Ni.state.profileName,this.profileImage=nS.Ni.state.profileImage,this.network=nS.fB.state.caipNetwork,this.isUnsupportedChain=nS.fB.state.isUnsupportedChain,this.unsubscribe.push(...[nS.Ni.subscribe(eb=>{eb.isConnected?(this.address=eb.address,this.balanceVal=eb.balance,this.profileName=eb.profileName,this.profileImage=eb.profileImage,this.balanceSymbol=eb.balanceSymbol):(this.address="",this.balanceVal="",this.profileName="",this.profileImage="",this.balanceSymbol="")}),nS.fB.subscribeKey("caipNetwork",eb=>this.network=eb),nS.fB.subscribeKey("isUnsupportedChain",eb=>this.isUnsupportedChain=eb)])}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){let eb=nS.fz.getNetworkImage(this.network),em="show"===this.balance;return nN.dy` - `}onClick(){this.isUnsupportedChain?aE.IN.open({view:"UnsupportedChain"}):aE.IN.open()}};aR([(0,aD.Cb)({type:Boolean})],aF.prototype,"disabled",void 0),aR([(0,aD.Cb)()],aF.prototype,"balance",void 0),aR([(0,aD.Cb)()],aF.prototype,"charsStart",void 0),aR([(0,aD.Cb)()],aF.prototype,"charsEnd",void 0),aR([(0,aD.SB)()],aF.prototype,"address",void 0),aR([(0,aD.SB)()],aF.prototype,"balanceVal",void 0),aR([(0,aD.SB)()],aF.prototype,"balanceSymbol",void 0),aR([(0,aD.SB)()],aF.prototype,"profileName",void 0),aR([(0,aD.SB)()],aF.prototype,"profileImage",void 0),aR([(0,aD.SB)()],aF.prototype,"network",void 0),aR([(0,aD.SB)()],aF.prototype,"isUnsupportedChain",void 0),aF=aR([(0,aN.customElement)("w3m-account-button")],aF);var aj=aI.iv` + `}onClick(){this.isUnsupportedChain?nS.IN.open({view:"UnsupportedChain"}):nS.IN.open()}};nP([(0,nI.Cb)({type:Boolean})],nR.prototype,"disabled",void 0),nP([(0,nI.Cb)()],nR.prototype,"balance",void 0),nP([(0,nI.Cb)()],nR.prototype,"charsStart",void 0),nP([(0,nI.Cb)()],nR.prototype,"charsEnd",void 0),nP([(0,nI.SB)()],nR.prototype,"address",void 0),nP([(0,nI.SB)()],nR.prototype,"balanceVal",void 0),nP([(0,nI.SB)()],nR.prototype,"balanceSymbol",void 0),nP([(0,nI.SB)()],nR.prototype,"profileName",void 0),nP([(0,nI.SB)()],nR.prototype,"profileImage",void 0),nP([(0,nI.SB)()],nR.prototype,"network",void 0),nP([(0,nI.SB)()],nR.prototype,"isUnsupportedChain",void 0),nR=nP([(0,nA.customElement)("w3m-account-button")],nR);var nB=nN.iv` :host { display: block; width: max-content; } -`,aU=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let aq=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.disabled=!1,this.balance=void 0,this.size=void 0,this.label=void 0,this.loadingLabel=void 0,this.charsStart=4,this.charsEnd=6,this.isAccount=aE.Ni.state.isConnected,this.isLoading=aE.IN.state.loading,this.unsubscribe.push(aE.Ni.subscribeKey("isConnected",eb=>{this.isAccount=eb}),aE.IN.subscribeKey("loading",eb=>{this.isLoading=eb}))}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return this.isAccount&&!this.isLoading?aI.dy` +`,nF=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let nj=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.disabled=!1,this.balance=void 0,this.size=void 0,this.label=void 0,this.loadingLabel=void 0,this.charsStart=4,this.charsEnd=6,this.isAccount=nS.Ni.state.isConnected,this.isLoading=nS.IN.state.loading,this.unsubscribe.push(nS.Ni.subscribeKey("isConnected",eb=>{this.isAccount=eb}),nS.IN.subscribeKey("loading",eb=>{this.isLoading=eb}))}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return this.isAccount&&!this.isLoading?nN.dy` - `:aI.dy` + `:nN.dy` - `}};aq.styles=aj,aU([(0,aD.Cb)({type:Boolean})],aq.prototype,"disabled",void 0),aU([(0,aD.Cb)()],aq.prototype,"balance",void 0),aU([(0,aD.Cb)()],aq.prototype,"size",void 0),aU([(0,aD.Cb)()],aq.prototype,"label",void 0),aU([(0,aD.Cb)()],aq.prototype,"loadingLabel",void 0),aU([(0,aD.Cb)()],aq.prototype,"charsStart",void 0),aU([(0,aD.Cb)()],aq.prototype,"charsEnd",void 0),aU([(0,aD.SB)()],aq.prototype,"isAccount",void 0),aU([(0,aD.SB)()],aq.prototype,"isLoading",void 0),aq=aU([(0,aN.customElement)("w3m-button")],aq);var a$=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let aW=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.size="md",this.label="Connect Wallet",this.loadingLabel="Connecting...",this.open=aE.IN.state.open,this.loading=aE.IN.state.loading,this.unsubscribe.push(aE.IN.subscribe(eb=>{this.open=eb.open,this.loading=eb.loading}))}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){let eb=this.loading||this.open;return aI.dy` + `}};nj.styles=nB,nF([(0,nI.Cb)({type:Boolean})],nj.prototype,"disabled",void 0),nF([(0,nI.Cb)()],nj.prototype,"balance",void 0),nF([(0,nI.Cb)()],nj.prototype,"size",void 0),nF([(0,nI.Cb)()],nj.prototype,"label",void 0),nF([(0,nI.Cb)()],nj.prototype,"loadingLabel",void 0),nF([(0,nI.Cb)()],nj.prototype,"charsStart",void 0),nF([(0,nI.Cb)()],nj.prototype,"charsEnd",void 0),nF([(0,nI.SB)()],nj.prototype,"isAccount",void 0),nF([(0,nI.SB)()],nj.prototype,"isLoading",void 0),nj=nF([(0,nA.customElement)("w3m-button")],nj);var nU=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let nV=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.size="md",this.label="Connect Wallet",this.loadingLabel="Connecting...",this.open=nS.IN.state.open,this.loading=nS.IN.state.loading,this.unsubscribe.push(nS.IN.subscribe(eb=>{this.open=eb.open,this.loading=eb.loading}))}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){let eb=this.loading||this.open;return nN.dy` ${eb?this.loadingLabel:this.label} - `}onClick(){this.open?aE.IN.close():this.loading||aE.IN.open()}};a$([(0,aD.Cb)()],aW.prototype,"size",void 0),a$([(0,aD.Cb)()],aW.prototype,"label",void 0),a$([(0,aD.Cb)()],aW.prototype,"loadingLabel",void 0),a$([(0,aD.SB)()],aW.prototype,"open",void 0),a$([(0,aD.SB)()],aW.prototype,"loading",void 0),aW=a$([(0,aN.customElement)("w3m-connect-button")],aW),eH(90078);var aZ=aI.iv` + `}onClick(){this.open?nS.IN.close():this.loading||nS.IN.open()}};nU([(0,nI.Cb)()],nV.prototype,"size",void 0),nU([(0,nI.Cb)()],nV.prototype,"label",void 0),nU([(0,nI.Cb)()],nV.prototype,"loadingLabel",void 0),nU([(0,nI.SB)()],nV.prototype,"open",void 0),nU([(0,nI.SB)()],nV.prototype,"loading",void 0),nV=nU([(0,nA.customElement)("w3m-connect-button")],nV),ew(90078);var nH=nN.iv` :host { display: block; width: max-content; } -`,aG=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let aK=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.disabled=!1,this.network=aE.fB.state.caipNetwork,this.connected=aE.Ni.state.isConnected,this.loading=aE.IN.state.loading,this.isUnsupportedChain=aE.fB.state.isUnsupportedChain,this.unsubscribe.push(...[aE.fB.subscribeKey("caipNetwork",eb=>this.network=eb),aE.Ni.subscribeKey("isConnected",eb=>this.connected=eb),aE.IN.subscribeKey("loading",eb=>this.loading=eb),aE.fB.subscribeKey("isUnsupportedChain",eb=>this.isUnsupportedChain=eb)])}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return aI.dy` +`,n$=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let nq=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.disabled=!1,this.network=nS.fB.state.caipNetwork,this.connected=nS.Ni.state.isConnected,this.loading=nS.IN.state.loading,this.isUnsupportedChain=nS.fB.state.isUnsupportedChain,this.unsubscribe.push(...[nS.fB.subscribeKey("caipNetwork",eb=>this.network=eb),nS.Ni.subscribeKey("isConnected",eb=>this.connected=eb),nS.IN.subscribeKey("loading",eb=>this.loading=eb),nS.fB.subscribeKey("isUnsupportedChain",eb=>this.isUnsupportedChain=eb)])}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return nN.dy` ${this.isUnsupportedChain?"Switch Network":this.network?.name??(this.connected?"Unknown Network":"Select Network")} - `}onClick(){this.loading||(aE.Xs.sendEvent({type:"track",event:"CLICK_NETWORKS"}),aE.IN.open({view:"Networks"}))}};aK.styles=aZ,aG([(0,aD.Cb)({type:Boolean})],aK.prototype,"disabled",void 0),aG([(0,aD.SB)()],aK.prototype,"network",void 0),aG([(0,aD.SB)()],aK.prototype,"connected",void 0),aG([(0,aD.SB)()],aK.prototype,"loading",void 0),aG([(0,aD.SB)()],aK.prototype,"isUnsupportedChain",void 0),aK=aG([(0,aN.customElement)("w3m-network-button")],aK);var aY=aI.iv` + `}onClick(){this.loading||(nS.Xs.sendEvent({type:"track",event:"CLICK_NETWORKS"}),nS.IN.open({view:"Networks"}))}};nq.styles=nH,n$([(0,nI.Cb)({type:Boolean})],nq.prototype,"disabled",void 0),n$([(0,nI.SB)()],nq.prototype,"network",void 0),n$([(0,nI.SB)()],nq.prototype,"connected",void 0),n$([(0,nI.SB)()],nq.prototype,"loading",void 0),n$([(0,nI.SB)()],nq.prototype,"isUnsupportedChain",void 0),nq=n$([(0,nA.customElement)("w3m-network-button")],nq);var nW=nN.iv` :host { display: block; will-change: transform, opacity; } -`,aJ=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let aQ=class extends aI.oi{constructor(){super(),this.resizeObserver=void 0,this.prevHeight="0px",this.prevHistoryLength=1,this.unsubscribe=[],this.view=aE.Pc.state.view,this.unsubscribe.push(aE.Pc.subscribeKey("view",eb=>this.onViewChange(eb)))}firstUpdated(){this.resizeObserver=new ResizeObserver(async([eb])=>{let em=`${eb?.contentRect.height}px`;"0px"!==this.prevHeight&&(await this.animate([{height:this.prevHeight},{height:em}],{duration:150,easing:"ease",fill:"forwards"}).finished,this.style.height="auto"),this.prevHeight=em}),this.resizeObserver.observe(this.getWrapper())}disconnectedCallback(){this.resizeObserver?.unobserve(this.getWrapper()),this.unsubscribe.forEach(eb=>eb())}render(){return aI.dy`
${this.viewTemplate()}
`}viewTemplate(){switch(this.view){case"Connect":default:return aI.dy``;case"ConnectingWalletConnect":return aI.dy``;case"ConnectingExternal":return aI.dy``;case"ConnectingSiwe":return aI.dy``;case"AllWallets":return aI.dy``;case"Networks":return aI.dy``;case"SwitchNetwork":return aI.dy``;case"Account":return aI.dy``;case"AccountSettings":return aI.dy``;case"WhatIsAWallet":return aI.dy``;case"WhatIsANetwork":return aI.dy``;case"GetWallet":return aI.dy``;case"Downloads":return aI.dy``;case"EmailVerifyOtp":return aI.dy``;case"EmailVerifyDevice":return aI.dy``;case"ApproveTransaction":return aI.dy``;case"Transactions":return aI.dy``;case"UpgradeEmailWallet":return aI.dy``;case"UpgradeToSmartAccount":return aI.dy``;case"UpdateEmailWallet":return aI.dy``;case"UpdateEmailPrimaryOtp":return aI.dy``;case"UpdateEmailSecondaryOtp":return aI.dy``;case"UnsupportedChain":return aI.dy``;case"OnRampProviders":return aI.dy``;case"OnRampActivity":return aI.dy``;case"OnRampTokenSelect":return aI.dy``;case"OnRampFiatSelect":return aI.dy``;case"WhatIsABuy":return aI.dy``;case"BuyInProgress":return aI.dy``;case"WalletReceive":return aI.dy``;case"WalletCompatibleNetworks":return aI.dy``;case"Swap":return aI.dy``;case"SwapSelectToken":return aI.dy``;case"SwapPreview":return aI.dy``;case"WalletSend":return aI.dy``;case"WalletSendSelectToken":return aI.dy``;case"WalletSendPreview":return aI.dy``}}async onViewChange(eb){aE.fw.hide();let{history:em}=aE.Pc.state,eH=-10,eV=10;em.length=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let nK=class extends nN.oi{constructor(){super(),this.resizeObserver=void 0,this.prevHeight="0px",this.prevHistoryLength=1,this.unsubscribe=[],this.view=nS.Pc.state.view,this.unsubscribe.push(nS.Pc.subscribeKey("view",eb=>this.onViewChange(eb)))}firstUpdated(){this.resizeObserver=new ResizeObserver(async([eb])=>{let em=`${eb?.contentRect.height}px`;"0px"!==this.prevHeight&&(await this.animate([{height:this.prevHeight},{height:em}],{duration:150,easing:"ease",fill:"forwards"}).finished,this.style.height="auto"),this.prevHeight=em}),this.resizeObserver.observe(this.getWrapper())}disconnectedCallback(){this.resizeObserver?.unobserve(this.getWrapper()),this.unsubscribe.forEach(eb=>eb())}render(){return nN.dy`
${this.viewTemplate()}
`}viewTemplate(){switch(this.view){case"Connect":default:return nN.dy``;case"ConnectingWalletConnect":return nN.dy``;case"ConnectingExternal":return nN.dy``;case"ConnectingSiwe":return nN.dy``;case"AllWallets":return nN.dy``;case"Networks":return nN.dy``;case"SwitchNetwork":return nN.dy``;case"Account":return nN.dy``;case"AccountSettings":return nN.dy``;case"WhatIsAWallet":return nN.dy``;case"WhatIsANetwork":return nN.dy``;case"GetWallet":return nN.dy``;case"Downloads":return nN.dy``;case"EmailVerifyOtp":return nN.dy``;case"EmailVerifyDevice":return nN.dy``;case"ApproveTransaction":return nN.dy``;case"Transactions":return nN.dy``;case"UpgradeEmailWallet":return nN.dy``;case"UpgradeToSmartAccount":return nN.dy``;case"UpdateEmailWallet":return nN.dy``;case"UpdateEmailPrimaryOtp":return nN.dy``;case"UpdateEmailSecondaryOtp":return nN.dy``;case"UnsupportedChain":return nN.dy``;case"OnRampProviders":return nN.dy``;case"OnRampActivity":return nN.dy``;case"OnRampTokenSelect":return nN.dy``;case"OnRampFiatSelect":return nN.dy``;case"WhatIsABuy":return nN.dy``;case"BuyInProgress":return nN.dy``;case"WalletReceive":return nN.dy``;case"WalletCompatibleNetworks":return nN.dy``;case"Swap":return nN.dy``;case"SwapSelectToken":return nN.dy``;case"SwapPreview":return nN.dy``;case"WalletSend":return nN.dy``;case"WalletSendSelectToken":return nN.dy``;case"WalletSendPreview":return nN.dy``}}async onViewChange(eb){nS.fw.hide();let{history:em}=nS.Pc.state,ew=-10,eM=10;em.length wui-flex { width: 100%; max-width: 360px; @@ -284,7 +255,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ .amounts-container { width: 100%; } -`,nV=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let nw={USD:"$",EUR:"€",GBP:"\xa3"},nM=[100,250,500,1e3],nC=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.disabled=!1,this.connected=aE.Ni.state.isConnected,this.loading=aE.IN.state.loading,this.paymentCurrency=aE.ph.state.paymentCurrency,this.paymentAmount=aE.ph.state.paymentAmount,this.purchaseAmount=aE.ph.state.purchaseAmount,this.quoteLoading=aE.ph.state.quotesLoading,this.unsubscribe.push(...[aE.Ni.subscribeKey("isConnected",eb=>{this.connected=eb}),aE.IN.subscribeKey("loading",eb=>{this.loading=eb}),aE.ph.subscribe(eb=>{this.paymentCurrency=eb.paymentCurrency,this.paymentAmount=eb.paymentAmount,this.purchaseAmount=eb.purchaseAmount,this.quoteLoading=eb.quotesLoading})])}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return aI.dy` +`,nY=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let nJ={USD:"$",EUR:"€",GBP:"\xa3"},nX=[100,250,500,1e3],nQ=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.disabled=!1,this.connected=nS.Ni.state.isConnected,this.loading=nS.IN.state.loading,this.paymentCurrency=nS.ph.state.paymentCurrency,this.paymentAmount=nS.ph.state.paymentAmount,this.purchaseAmount=nS.ph.state.purchaseAmount,this.quoteLoading=nS.ph.state.quotesLoading,this.unsubscribe.push(...[nS.Ni.subscribeKey("isConnected",eb=>{this.connected=eb}),nS.IN.subscribeKey("loading",eb=>{this.loading=eb}),nS.ph.subscribe(eb=>{this.paymentCurrency=eb.paymentCurrency,this.paymentAmount=eb.paymentAmount,this.purchaseAmount=eb.purchaseAmount,this.quoteLoading=eb.quotesLoading})])}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return nN.dy` - ${nM.map(eb=>aI.dy`nN.dy`this.selectPresetAmount(eb)} - >${`${nw[this.paymentCurrency?.id||"USD"]} ${eb}`}${`${nJ[this.paymentCurrency?.id||"USD"]} ${eb}`}`)} ${this.templateButton()} - `}templateButton(){return this.connected?aI.dy` Get quotes - `:aI.dy``:nN.dy` Connect wallet - `}getQuotes(){this.loading||aE.IN.open({view:"OnRampProviders"})}openModal(){aE.IN.open({view:"Connect"})}async onPaymentAmountChange(eb){aE.ph.setPaymentAmount(Number(eb.detail)),await aE.ph.getQuote()}async selectPresetAmount(eb){aE.ph.setPaymentAmount(eb),await aE.ph.getQuote()}};nC.styles=nH,nV([(0,aD.Cb)({type:Boolean})],nC.prototype,"disabled",void 0),nV([(0,aD.SB)()],nC.prototype,"connected",void 0),nV([(0,aD.SB)()],nC.prototype,"loading",void 0),nV([(0,aD.SB)()],nC.prototype,"paymentCurrency",void 0),nV([(0,aD.SB)()],nC.prototype,"paymentAmount",void 0),nV([(0,aD.SB)()],nC.prototype,"purchaseAmount",void 0),nV([(0,aD.SB)()],nC.prototype,"quoteLoading",void 0),nC=nV([(0,aN.customElement)("w3m-onramp-widget")],nC);var nk=aI.iv` + `}getQuotes(){this.loading||nS.IN.open({view:"OnRampProviders"})}openModal(){nS.IN.open({view:"Connect"})}async onPaymentAmountChange(eb){nS.ph.setPaymentAmount(Number(eb.detail)),await nS.ph.getQuote()}async selectPresetAmount(eb){nS.ph.setPaymentAmount(eb),await nS.ph.getQuote()}};nQ.styles=nG,nY([(0,nI.Cb)({type:Boolean})],nQ.prototype,"disabled",void 0),nY([(0,nI.SB)()],nQ.prototype,"connected",void 0),nY([(0,nI.SB)()],nQ.prototype,"loading",void 0),nY([(0,nI.SB)()],nQ.prototype,"paymentCurrency",void 0),nY([(0,nI.SB)()],nQ.prototype,"paymentAmount",void 0),nY([(0,nI.SB)()],nQ.prototype,"purchaseAmount",void 0),nY([(0,nI.SB)()],nQ.prototype,"quoteLoading",void 0),nQ=nY([(0,nA.customElement)("w3m-onramp-widget")],nQ);var n6=nN.iv` wui-flex { width: 100%; } @@ -373,7 +344,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ .account-links wui-flex wui-icon svg path { stroke: #47a1ff; } -`,nT=eH(23781),n_=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let nS=class extends aI.oi{constructor(){super(),this.usubscribe=[],this.networkImages=aE.WM.state.networkImages,this.address=aE.Ni.state.address,this.profileImage=aE.Ni.state.profileImage,this.profileName=aE.Ni.state.profileName,this.network=aE.fB.state.caipNetwork,this.preferredAccountType=aE.Ni.state.preferredAccountType,this.disconnecting=!1,this.loading=!1,this.switched=!1,this.text="",this.usubscribe.push(...[aE.Ni.subscribe(eb=>{eb.address?(this.address=eb.address,this.profileImage=eb.profileImage,this.profileName=eb.profileName,this.preferredAccountType=eb.preferredAccountType):aE.IN.close()})],aE.fB.subscribeKey("caipNetwork",eb=>{eb?.id&&(this.network=eb)}))}disconnectedCallback(){this.usubscribe.forEach(eb=>eb())}render(){if(!this.address)throw Error("w3m-account-settings-view: No account provided");let eb=this.networkImages[this.network?.imageId??""];return aI.dy` +`,n4=ew(23781),n3=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let n5=class extends nN.oi{constructor(){super(),this.usubscribe=[],this.networkImages=nS.WM.state.networkImages,this.address=nS.Ni.state.address,this.profileImage=nS.Ni.state.profileImage,this.profileName=nS.Ni.state.profileName,this.network=nS.fB.state.caipNetwork,this.preferredAccountType=nS.Ni.state.preferredAccountType,this.disconnecting=!1,this.loading=!1,this.switched=!1,this.text="",this.usubscribe.push(...[nS.Ni.subscribe(eb=>{eb.address?(this.address=eb.address,this.profileImage=eb.profileImage,this.profileName=eb.profileName,this.preferredAccountType=eb.preferredAccountType):nS.IN.close()})],nS.fB.subscribeKey("caipNetwork",eb=>{eb?.id&&(this.network=eb)}))}disconnectedCallback(){this.usubscribe.forEach(eb=>eb())}render(){if(!this.address)throw Error("w3m-account-settings-view: No account provided");let eb=this.networkImages[this.network?.imageId??""];return nN.dy` - ${this.profileName?aN.UiHelperUtil.getTruncateString({string:this.profileName,charsStart:20,charsEnd:0,truncate:"end"}):aN.UiHelperUtil.getTruncateString({string:this.address,charsStart:4,charsEnd:6,truncate:"middle"})} + ${this.profileName?nA.UiHelperUtil.getTruncateString({string:this.profileName,charsStart:20,charsEnd:0,truncate:"end"}):nA.UiHelperUtil.getTruncateString({string:this.address,charsStart:4,charsEnd:6,truncate:"middle"})} - `}isAllowedNetworkSwitch(){let{requestedCaipNetworks:eb}=aE.fB.state,em=!!eb&&eb.length>1,eH=eb?.find(({id:eb})=>eb===this.network?.id);return em||!eH}onCopyAddress(){try{this.address&&(aE.j1.copyToClopboard(this.address),aE.KC.showSuccess("Address copied"))}catch{aE.KC.showError("Failed to copy")}}emailBtnTemplate(){let eb=aE.MO.getConnectedConnector(),em=aE.AA.getAuthConnector();if(!em||"AUTH"!==eb)return null;let eH=em.provider.getEmail()??"";return aI.dy` + `}isAllowedNetworkSwitch(){let{requestedCaipNetworks:eb}=nS.fB.state,em=!!eb&&eb.length>1,ew=eb?.find(({id:eb})=>eb===this.network?.id);return em||!ew}onCopyAddress(){try{this.address&&(nS.j1.copyToClopboard(this.address),nS.KC.showSuccess("Address copied"))}catch{nS.KC.showError("Failed to copy")}}emailBtnTemplate(){let eb=nS.MO.getConnectedConnector(),em=nS.AA.getAuthConnector();if(!em||"AUTH"!==eb)return null;let ew=em.provider.getEmail()??"";return nN.dy` this.onGoToUpdateEmail(eH)} + @click=${()=>this.onGoToUpdateEmail(ew)} > - ${eH} + ${ew} - `}togglePreferredAccountBtnTemplate(){let eb=aE.fB.checkIfSmartAccountEnabled(),em=aE.MO.getConnectedConnector(),eH=aE.AA.getAuthConnector();return eH&&"AUTH"===em&&eb?(this.switched||(this.text=this.preferredAccountType===nT.y_.ACCOUNT_TYPES.SMART_ACCOUNT?"Switch to your EOA":"Switch to your smart account"),aI.dy` + `}togglePreferredAccountBtnTemplate(){let eb=nS.fB.checkIfSmartAccountEnabled(),em=nS.MO.getConnectedConnector(),ew=nS.AA.getAuthConnector();return ew&&"AUTH"===em&&eb?(this.switched||(this.text=this.preferredAccountType===n4.y_.ACCOUNT_TYPES.SMART_ACCOUNT?"Switch to your EOA":"Switch to your smart account"),nN.dy` ${this.text} - `):null}async changePreferredAccountType(){let eb=aE.fB.checkIfSmartAccountEnabled(),em=this.preferredAccountType!==nT.y_.ACCOUNT_TYPES.SMART_ACCOUNT&&eb?nT.y_.ACCOUNT_TYPES.SMART_ACCOUNT:nT.y_.ACCOUNT_TYPES.EOA,eH=aE.AA.getAuthConnector();eH&&(this.loading=!0,await eH?.provider.setPreferredAccount(em),await aE.lZ.reconnectExternal(eH),this.text=em===nT.y_.ACCOUNT_TYPES.SMART_ACCOUNT?"Switch to your EOA":"Switch to your smart account",this.switched=!0,aE.Si.resetSend(),this.loading=!1,this.requestUpdate())}onGoToUpdateEmail(eb){aE.Pc.push("UpdateEmailWallet",{email:eb})}onNetworks(){this.isAllowedNetworkSwitch()&&aE.Pc.push("Networks")}async onDisconnect(){try{this.disconnecting=!0,await aE.lZ.disconnect(),aE.Xs.sendEvent({type:"track",event:"DISCONNECT_SUCCESS"}),aE.IN.close()}catch{aE.Xs.sendEvent({type:"track",event:"DISCONNECT_ERROR"}),aE.KC.showError("Failed to disconnect")}finally{this.disconnecting=!1}}};nS.styles=nk,n_([(0,aD.SB)()],nS.prototype,"address",void 0),n_([(0,aD.SB)()],nS.prototype,"profileImage",void 0),n_([(0,aD.SB)()],nS.prototype,"profileName",void 0),n_([(0,aD.SB)()],nS.prototype,"network",void 0),n_([(0,aD.SB)()],nS.prototype,"preferredAccountType",void 0),n_([(0,aD.SB)()],nS.prototype,"disconnecting",void 0),n_([(0,aD.SB)()],nS.prototype,"loading",void 0),n_([(0,aD.SB)()],nS.prototype,"switched",void 0),n_([(0,aD.SB)()],nS.prototype,"text",void 0),nS=n_([(0,aN.customElement)("w3m-account-settings-view")],nS);let nE=class extends aI.oi{render(){let eb=aE.MO.getConnectedConnector();return aI.dy` - ${aE.hD.state.enableWalletFeatures&&"AUTH"===eb?this.walletFeaturesTemplate():this.defaultTemplate()} - `}walletFeaturesTemplate(){return aI.dy``}defaultTemplate(){return aI.dy``}};nE=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC}([(0,aN.customElement)("w3m-account-view")],nE);var nA=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let nN=class extends aI.oi{constructor(){super(...arguments),this.search="",this.onDebouncedSearch=aE.j1.debounce(eb=>{this.search=eb})}render(){let eb=this.search.length>=2;return aI.dy` + `):null}async changePreferredAccountType(){let eb=nS.fB.checkIfSmartAccountEnabled(),em=this.preferredAccountType!==n4.y_.ACCOUNT_TYPES.SMART_ACCOUNT&&eb?n4.y_.ACCOUNT_TYPES.SMART_ACCOUNT:n4.y_.ACCOUNT_TYPES.EOA,ew=nS.AA.getAuthConnector();ew&&(this.loading=!0,await ew?.provider.setPreferredAccount(em),await nS.lZ.reconnectExternal(ew),this.text=em===n4.y_.ACCOUNT_TYPES.SMART_ACCOUNT?"Switch to your EOA":"Switch to your smart account",this.switched=!0,nS.Si.resetSend(),this.loading=!1,this.requestUpdate())}onGoToUpdateEmail(eb){nS.Pc.push("UpdateEmailWallet",{email:eb})}onNetworks(){this.isAllowedNetworkSwitch()&&nS.Pc.push("Networks")}async onDisconnect(){try{this.disconnecting=!0,await nS.lZ.disconnect(),nS.Xs.sendEvent({type:"track",event:"DISCONNECT_SUCCESS"}),nS.IN.close()}catch{nS.Xs.sendEvent({type:"track",event:"DISCONNECT_ERROR"}),nS.KC.showError("Failed to disconnect")}finally{this.disconnecting=!1}}};n5.styles=n6,n3([(0,nI.SB)()],n5.prototype,"address",void 0),n3([(0,nI.SB)()],n5.prototype,"profileImage",void 0),n3([(0,nI.SB)()],n5.prototype,"profileName",void 0),n3([(0,nI.SB)()],n5.prototype,"network",void 0),n3([(0,nI.SB)()],n5.prototype,"preferredAccountType",void 0),n3([(0,nI.SB)()],n5.prototype,"disconnecting",void 0),n3([(0,nI.SB)()],n5.prototype,"loading",void 0),n3([(0,nI.SB)()],n5.prototype,"switched",void 0),n3([(0,nI.SB)()],n5.prototype,"text",void 0),n5=n3([(0,nA.customElement)("w3m-account-settings-view")],n5);let n8=class extends nN.oi{render(){let eb=nS.MO.getConnectedConnector();return nN.dy` + ${nS.hD.state.enableWalletFeatures&&"AUTH"===eb?this.walletFeaturesTemplate():this.defaultTemplate()} + `}walletFeaturesTemplate(){return nN.dy``}defaultTemplate(){return nN.dy``}};n8=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_}([(0,nA.customElement)("w3m-account-view")],n8);var n9=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let n7=class extends nN.oi{constructor(){super(...arguments),this.search="",this.onDebouncedSearch=nS.j1.debounce(eb=>{this.search=eb})}render(){let eb=this.search.length>=2;return nN.dy` ${this.qrButtonTemplate()} - ${eb?aI.dy``:aI.dy``} - `}onInputChange(eb){this.onDebouncedSearch(eb.detail)}qrButtonTemplate(){return aE.j1.isMobile()?aI.dy` + ${eb?nN.dy``:nN.dy``} + `}onInputChange(eb){this.onDebouncedSearch(eb.detail)}qrButtonTemplate(){return nS.j1.isMobile()?nN.dy` - `:null}onWalletConnectQr(){aE.Pc.push("ConnectingWalletConnect")}};nA([(0,aD.SB)()],nN.prototype,"search",void 0),nN=nA([(0,aN.customElement)("w3m-all-wallets-view")],nN);var nI=aI.iv` + `:null}onWalletConnectQr(){nS.Pc.push("ConnectingWalletConnect")}};n9([(0,nI.SB)()],n7.prototype,"search",void 0),n7=n9([(0,nA.customElement)("w3m-all-wallets-view")],n7);var ry=nN.iv` @keyframes shake { 0% { transform: translateX(0); @@ -558,9 +529,9 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ wui-link { padding: var(--wui-spacing-4xs) var(--wui-spacing-xxs); } -`,nD=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let nP=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.selectedOnRampProvider=aE.ph.state.selectedProvider,this.uri=aE.lZ.state.wcUri,this.ready=!1,this.showRetry=!1,this.buffering=!1,this.error=!1,this.startTime=null,this.isMobile=!1,this.onRetry=void 0,this.unsubscribe.push(...[aE.ph.subscribeKey("selectedProvider",eb=>{this.selectedOnRampProvider=eb})]),this.watchTransactions()}disconnectedCallback(){this.intervalId&&clearInterval(this.intervalId)}render(){let eb="Continue in external window";this.error?eb="Buy failed":this.selectedOnRampProvider&&(eb=`Buy in ${this.selectedOnRampProvider?.label}`);let em=this.error?"Buy can be declined from your side or due to and error on the provider app":`We’ll notify you once your Buy is processed`;return aI.dy` +`,rz=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let rw=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.selectedOnRampProvider=nS.ph.state.selectedProvider,this.uri=nS.lZ.state.wcUri,this.ready=!1,this.showRetry=!1,this.buffering=!1,this.error=!1,this.startTime=null,this.isMobile=!1,this.onRetry=void 0,this.unsubscribe.push(...[nS.ph.subscribeKey("selectedProvider",eb=>{this.selectedOnRampProvider=eb})]),this.watchTransactions()}disconnectedCallback(){this.intervalId&&clearInterval(this.intervalId)}render(){let eb="Continue in external window";this.error?eb="Buy failed":this.selectedOnRampProvider&&(eb=`Buy in ${this.selectedOnRampProvider?.label}`);let em=this.error?"Buy can be declined from your side or due to and error on the provider app":`We’ll notify you once your Buy is processed`;return nN.dy` @@ -604,10 +575,10 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ Copy link - `}watchTransactions(){this.selectedOnRampProvider&&"coinbase"===this.selectedOnRampProvider.name&&(this.startTime=Date.now(),this.initializeCoinbaseTransactions())}async initializeCoinbaseTransactions(){await this.watchCoinbaseTransactions(),this.intervalId=setInterval(()=>this.watchCoinbaseTransactions(),4e3)}async watchCoinbaseTransactions(){try{let eb=aE.Ni.state.address,em=aE.hD.state.projectId;if(!eb)throw Error("No address found");let eH=await aE.Lr.fetchTransactions({account:eb,onramp:"coinbase",projectId:em}),eV=eH.data.filter(eb=>new Date(eb.metadata.minedAt)>new Date(this.startTime)||"ONRAMP_TRANSACTION_STATUS_IN_PROGRESS"===eb.metadata.status);eV.length?(clearInterval(this.intervalId),aE.Pc.replace("OnRampActivity")):this.startTime&&Date.now()-this.startTime>=18e4&&(clearInterval(this.intervalId),this.error=!0)}catch(eb){aE.KC.showError(eb)}}onTryAgain(){this.selectedOnRampProvider&&(this.error=!1,aE.j1.openHref(this.selectedOnRampProvider.url,"popupWindow","width=600,height=800,scrollbars=yes"))}tryAgainTemplate(){return this.selectedOnRampProvider?.url?aI.dy` + `}watchTransactions(){this.selectedOnRampProvider&&"coinbase"===this.selectedOnRampProvider.name&&(this.startTime=Date.now(),this.initializeCoinbaseTransactions())}async initializeCoinbaseTransactions(){await this.watchCoinbaseTransactions(),this.intervalId=setInterval(()=>this.watchCoinbaseTransactions(),4e3)}async watchCoinbaseTransactions(){try{let eb=nS.Ni.state.address,em=nS.hD.state.projectId;if(!eb)throw Error("No address found");let ew=await nS.Lr.fetchTransactions({account:eb,onramp:"coinbase",projectId:em}),eM=ew.data.filter(eb=>new Date(eb.metadata.minedAt)>new Date(this.startTime)||"ONRAMP_TRANSACTION_STATUS_IN_PROGRESS"===eb.metadata.status);eM.length?(clearInterval(this.intervalId),nS.Pc.replace("OnRampActivity")):this.startTime&&Date.now()-this.startTime>=18e4&&(clearInterval(this.intervalId),this.error=!0)}catch(eb){nS.KC.showError(eb)}}onTryAgain(){this.selectedOnRampProvider&&(this.error=!1,nS.j1.openHref(this.selectedOnRampProvider.url,"popupWindow","width=600,height=800,scrollbars=yes"))}tryAgainTemplate(){return this.selectedOnRampProvider?.url?nN.dy` Try again - `:null}loaderTemplate(){let eb=aE.u0.state.themeVariables["--w3m-border-radius-master"],em=eb?parseInt(eb.replace("px",""),10):4;return aI.dy``}onCopyUri(){if(!this.selectedOnRampProvider?.url){aE.KC.showError("No link found"),aE.Pc.goBack();return}try{aE.j1.copyToClopboard(this.selectedOnRampProvider.url),aE.KC.showSuccess("Link copied")}catch{aE.KC.showError("Failed to copy")}}};nP.styles=nI,nD([(0,aD.SB)()],nP.prototype,"selectedOnRampProvider",void 0),nD([(0,aD.SB)()],nP.prototype,"uri",void 0),nD([(0,aD.SB)()],nP.prototype,"ready",void 0),nD([(0,aD.SB)()],nP.prototype,"showRetry",void 0),nD([(0,aD.SB)()],nP.prototype,"buffering",void 0),nD([(0,aD.SB)()],nP.prototype,"error",void 0),nD([(0,aD.SB)()],nP.prototype,"intervalId",void 0),nD([(0,aD.SB)()],nP.prototype,"startTime",void 0),nD([(0,aD.Cb)({type:Boolean})],nP.prototype,"isMobile",void 0),nD([(0,aD.Cb)()],nP.prototype,"onRetry",void 0),nP=nD([(0,aN.customElement)("w3m-buy-in-progress-view")],nP);var nO=aI.iv` + `:null}loaderTemplate(){let eb=nS.u0.state.themeVariables["--w3m-border-radius-master"],em=eb?parseInt(eb.replace("px",""),10):4;return nN.dy``}onCopyUri(){if(!this.selectedOnRampProvider?.url){nS.KC.showError("No link found"),nS.Pc.goBack();return}try{nS.j1.copyToClopboard(this.selectedOnRampProvider.url),nS.KC.showSuccess("Link copied")}catch{nS.KC.showError("Failed to copy")}}};rw.styles=ry,rz([(0,nI.SB)()],rw.prototype,"selectedOnRampProvider",void 0),rz([(0,nI.SB)()],rw.prototype,"uri",void 0),rz([(0,nI.SB)()],rw.prototype,"ready",void 0),rz([(0,nI.SB)()],rw.prototype,"showRetry",void 0),rz([(0,nI.SB)()],rw.prototype,"buffering",void 0),rz([(0,nI.SB)()],rw.prototype,"error",void 0),rz([(0,nI.SB)()],rw.prototype,"intervalId",void 0),rz([(0,nI.SB)()],rw.prototype,"startTime",void 0),rz([(0,nI.Cb)({type:Boolean})],rw.prototype,"isMobile",void 0),rz([(0,nI.Cb)()],rw.prototype,"onRetry",void 0),rw=rz([(0,nA.customElement)("w3m-buy-in-progress-view")],rw);var rM=nN.iv` wui-flex { max-height: clamp(360px, 540px, 80vh); overflow: scroll; @@ -617,7 +588,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ wui-flex::-webkit-scrollbar { display: none; } -`;let nR={WALLET_CONNECT_CONNECTOR_ID:"walletConnect",INJECTED_CONNECTOR_ID:"injected",COINBASE_CONNECTOR_ID:"coinbaseWallet",COINBASE_SDK_CONNECTOR_ID:"coinbaseWalletSDK",SAFE_CONNECTOR_ID:"safe",LEDGER_CONNECTOR_ID:"ledger",EIP6963_CONNECTOR_ID:"eip6963",AUTH_CONNECTOR_ID:"w3mAuth",EIP155:"eip155",ADD_CHAIN_METHOD:"wallet_addEthereumChain",EIP6963_ANNOUNCE_EVENT:"eip6963:announceProvider",EIP6963_REQUEST_EVENT:"eip6963:requestProvider",CONNECTOR_RDNS_MAP:{coinbaseWallet:"com.coinbase.wallet"},VERSION:"4.2.1"},nB={ConnectorExplorerIds:{[nR.COINBASE_CONNECTOR_ID]:"fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa",[nR.SAFE_CONNECTOR_ID]:"225affb176778569276e484e1b92637ad061b01e13a048b35a9d280c3b58970f",[nR.LEDGER_CONNECTOR_ID]:"19177a98252e07ddfc9af2083ba8e07ef627cb6103467ffebb3f8f4205fd7927"},EIP155NetworkImageIds:{1:"692ed6ba-e569-459a-556a-776476829e00",42161:"3bff954d-5cb0-47a0-9a23-d20192e74600",43114:"30c46e53-e989-45fb-4549-be3bd4eb3b00",56:"93564157-2e8e-4ce7-81df-b264dbee9b00",250:"06b26297-fe0c-4733-5d6b-ffa5498aac00",10:"ab9c186a-c52f-464b-2906-ca59d760a400",137:"41d04d42-da3b-4453-8506-668cc0727900",100:"02b53f6a-e3d4-479e-1cb4-21178987d100",9001:"f926ff41-260d-4028-635e-91913fc28e00",324:"b310f07f-4ef7-49f3-7073-2a0a39685800",314:"5a73b3dd-af74-424e-cae0-0de859ee9400",4689:"34e68754-e536-40da-c153-6ef2e7188a00",1088:"3897a66d-40b9-4833-162f-a2c90531c900",1284:"161038da-44ae-4ec7-1208-0ea569454b00",1285:"f1d73bb6-5450-4e18-38f7-fb6484264a00",7777777:"845c60df-d429-4991-e687-91ae45791600",42220:"ab781bbc-ccc6-418d-d32d-789b15da1f00",8453:"7289c336-3981-4081-c5f4-efc26ac64a00",1313161554:"3ff73439-a619-4894-9262-4470c773a100",2020:"b8101fc0-9c19-4b6f-ec65-f6dfff106e00",2021:"b8101fc0-9c19-4b6f-ec65-f6dfff106e00","5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp":"a1b58899-f671-4276-6a5e-56ca5bd59700","4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z":"a1b58899-f671-4276-6a5e-56ca5bd59700",EtWTRABZaYq6iMfeYKouRu166VU2xqa1:"a1b58899-f671-4276-6a5e-56ca5bd59700"},ConnectorImageIds:{[nR.COINBASE_CONNECTOR_ID]:"0c2840c3-5b04-4c44-9661-fbd4b49e1800",[nR.COINBASE_SDK_CONNECTOR_ID]:"0c2840c3-5b04-4c44-9661-fbd4b49e1800",[nR.SAFE_CONNECTOR_ID]:"461db637-8616-43ce-035a-d89b8a1d5800",[nR.LEDGER_CONNECTOR_ID]:"54a1aa77-d202-4f8d-0fb2-5d2bb6db0300",[nR.WALLET_CONNECT_CONNECTOR_ID]:"ef1a1fcf-7fe8-4d69-bd6d-fda1345b4400",[nR.INJECTED_CONNECTOR_ID]:"07ba87ed-43aa-4adf-4540-9e6a2b9cae00"},ConnectorNamesMap:{[nR.INJECTED_CONNECTOR_ID]:"Browser Wallet",[nR.WALLET_CONNECT_CONNECTOR_ID]:"WalletConnect",[nR.COINBASE_CONNECTOR_ID]:"Coinbase",[nR.COINBASE_SDK_CONNECTOR_ID]:"Coinbase",[nR.LEDGER_CONNECTOR_ID]:"Ledger",[nR.SAFE_CONNECTOR_ID]:"Safe"},ConnectorTypesMap:{[nR.INJECTED_CONNECTOR_ID]:"INJECTED",[nR.WALLET_CONNECT_CONNECTOR_ID]:"WALLET_CONNECT",[nR.EIP6963_CONNECTOR_ID]:"ANNOUNCED",[nR.AUTH_CONNECTOR_ID]:"AUTH"},WalletConnectRpcChainIds:[1,5,11155111,10,420,42161,421613,137,80001,42220,1313161554,1313161555,56,97,43114,43113,100,8453,84531,7777777,999,324,280]},nF={getCaipTokens(eb){if(!eb)return;let em={};return Object.entries(eb).forEach(([eb,eH])=>{em[`${nR.EIP155}:${eb}`]=eH}),em}};var nj=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let nU=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.connectors=aE.AA.state.connectors,this.count=aE.QT.state.count,this.unsubscribe.push(aE.AA.subscribeKey("connectors",eb=>this.connectors=eb),aE.QT.subscribeKey("count",eb=>this.count=eb))}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return aI.dy` +`;let rC={WALLET_CONNECT_CONNECTOR_ID:"walletConnect",INJECTED_CONNECTOR_ID:"injected",COINBASE_CONNECTOR_ID:"coinbaseWallet",COINBASE_SDK_CONNECTOR_ID:"coinbaseWalletSDK",SAFE_CONNECTOR_ID:"safe",LEDGER_CONNECTOR_ID:"ledger",EIP6963_CONNECTOR_ID:"eip6963",AUTH_CONNECTOR_ID:"w3mAuth",EIP155:"eip155",ADD_CHAIN_METHOD:"wallet_addEthereumChain",EIP6963_ANNOUNCE_EVENT:"eip6963:announceProvider",EIP6963_REQUEST_EVENT:"eip6963:requestProvider",CONNECTOR_RDNS_MAP:{coinbaseWallet:"com.coinbase.wallet"},VERSION:"4.2.1"},rk={ConnectorExplorerIds:{[rC.COINBASE_CONNECTOR_ID]:"fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa",[rC.SAFE_CONNECTOR_ID]:"225affb176778569276e484e1b92637ad061b01e13a048b35a9d280c3b58970f",[rC.LEDGER_CONNECTOR_ID]:"19177a98252e07ddfc9af2083ba8e07ef627cb6103467ffebb3f8f4205fd7927"},EIP155NetworkImageIds:{1:"692ed6ba-e569-459a-556a-776476829e00",42161:"3bff954d-5cb0-47a0-9a23-d20192e74600",43114:"30c46e53-e989-45fb-4549-be3bd4eb3b00",56:"93564157-2e8e-4ce7-81df-b264dbee9b00",250:"06b26297-fe0c-4733-5d6b-ffa5498aac00",10:"ab9c186a-c52f-464b-2906-ca59d760a400",137:"41d04d42-da3b-4453-8506-668cc0727900",100:"02b53f6a-e3d4-479e-1cb4-21178987d100",9001:"f926ff41-260d-4028-635e-91913fc28e00",324:"b310f07f-4ef7-49f3-7073-2a0a39685800",314:"5a73b3dd-af74-424e-cae0-0de859ee9400",4689:"34e68754-e536-40da-c153-6ef2e7188a00",1088:"3897a66d-40b9-4833-162f-a2c90531c900",1284:"161038da-44ae-4ec7-1208-0ea569454b00",1285:"f1d73bb6-5450-4e18-38f7-fb6484264a00",7777777:"845c60df-d429-4991-e687-91ae45791600",42220:"ab781bbc-ccc6-418d-d32d-789b15da1f00",8453:"7289c336-3981-4081-c5f4-efc26ac64a00",1313161554:"3ff73439-a619-4894-9262-4470c773a100",2020:"b8101fc0-9c19-4b6f-ec65-f6dfff106e00",2021:"b8101fc0-9c19-4b6f-ec65-f6dfff106e00","5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp":"a1b58899-f671-4276-6a5e-56ca5bd59700","4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z":"a1b58899-f671-4276-6a5e-56ca5bd59700",EtWTRABZaYq6iMfeYKouRu166VU2xqa1:"a1b58899-f671-4276-6a5e-56ca5bd59700"},ConnectorImageIds:{[rC.COINBASE_CONNECTOR_ID]:"0c2840c3-5b04-4c44-9661-fbd4b49e1800",[rC.COINBASE_SDK_CONNECTOR_ID]:"0c2840c3-5b04-4c44-9661-fbd4b49e1800",[rC.SAFE_CONNECTOR_ID]:"461db637-8616-43ce-035a-d89b8a1d5800",[rC.LEDGER_CONNECTOR_ID]:"54a1aa77-d202-4f8d-0fb2-5d2bb6db0300",[rC.WALLET_CONNECT_CONNECTOR_ID]:"ef1a1fcf-7fe8-4d69-bd6d-fda1345b4400",[rC.INJECTED_CONNECTOR_ID]:"07ba87ed-43aa-4adf-4540-9e6a2b9cae00"},ConnectorNamesMap:{[rC.INJECTED_CONNECTOR_ID]:"Browser Wallet",[rC.WALLET_CONNECT_CONNECTOR_ID]:"WalletConnect",[rC.COINBASE_CONNECTOR_ID]:"Coinbase",[rC.COINBASE_SDK_CONNECTOR_ID]:"Coinbase",[rC.LEDGER_CONNECTOR_ID]:"Ledger",[rC.SAFE_CONNECTOR_ID]:"Safe"},ConnectorTypesMap:{[rC.INJECTED_CONNECTOR_ID]:"INJECTED",[rC.WALLET_CONNECT_CONNECTOR_ID]:"WALLET_CONNECT",[rC.EIP6963_CONNECTOR_ID]:"ANNOUNCED",[rC.AUTH_CONNECTOR_ID]:"AUTH"},WalletConnectRpcChainIds:[1,5,11155111,10,420,42161,421613,137,80001,42220,1313161554,1313161555,56,97,43114,43113,100,8453,84531,7777777,999,324,280]},rT={getCaipTokens(eb){if(!eb)return;let em={};return Object.entries(eb).forEach(([eb,ew])=>{em[`${rC.EIP155}:${eb}`]=ew}),em}};var r_=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let rE=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.connectors=nS.AA.state.connectors,this.count=nS.QT.state.count,this.unsubscribe.push(nS.AA.subscribeKey("connectors",eb=>this.connectors=eb),nS.QT.subscribeKey("count",eb=>this.count=eb))}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return nN.dy` @@ -627,9 +598,9 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ ${this.allWalletsTemplate()} - `}walletConnectConnectorTemplate(){if(aE.j1.isMobile())return null;let eb=this.connectors.find(eb=>"WALLET_CONNECT"===eb.type);return eb?aI.dy` + `}walletConnectConnectorTemplate(){if(nS.j1.isMobile())return null;let eb=this.connectors.find(eb=>"WALLET_CONNECT"===eb.type);return eb?nN.dy` this.onConnector(eb)} tagLabel="qr code" @@ -637,33 +608,33 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ data-testid="wallet-selector-walletconnect" > - `:null}customTemplate(){let{customWallets:eb}=aE.hD.state;if(!eb?.length)return null;let em=this.filterOutDuplicateWallets(eb);return em.map(eb=>aI.dy` + `:null}customTemplate(){let{customWallets:eb}=nS.hD.state;if(!eb?.length)return null;let em=this.filterOutDuplicateWallets(eb);return em.map(eb=>nN.dy` this.onConnectWallet(eb)} data-testid=${`wallet-selector-${eb.id}`} > - `)}featuredTemplate(){let eb=this.connectors.find(eb=>"WALLET_CONNECT"===eb.type);if(!eb)return null;let{featured:em}=aE.QT.state;if(!em.length)return null;let eH=this.filterOutDuplicateWallets(em);return eH.map(eb=>aI.dy` + `)}featuredTemplate(){let eb=this.connectors.find(eb=>"WALLET_CONNECT"===eb.type);if(!eb)return null;let{featured:em}=nS.QT.state;if(!em.length)return null;let ew=this.filterOutDuplicateWallets(em);return ew.map(eb=>nN.dy` this.onConnectWallet(eb)} > - `)}recentTemplate(){let eb=aE.MO.getRecentWallets();return eb.map(eb=>aI.dy` + `)}recentTemplate(){let eb=nS.MO.getRecentWallets();return eb.map(eb=>nN.dy` this.onConnectWallet(eb)} tagLabel="recent" tagVariant="shade" > - `)}announcedTemplate(){return this.connectors.map(eb=>"ANNOUNCED"!==eb.type?null:aI.dy` + `)}announcedTemplate(){return this.connectors.map(eb=>"ANNOUNCED"!==eb.type?null:nN.dy` this.onConnector(eb)} tagVariant="success" @@ -672,9 +643,9 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ .installed=${!0} > - `)}injectedTemplate(){return this.connectors.map(eb=>"INJECTED"===eb.type&&(aE.j1.isMobile()||"Browser Wallet"!==eb.name)&&aE.lZ.checkInstalled()?aI.dy` + `)}injectedTemplate(){return this.connectors.map(eb=>"INJECTED"===eb.type&&(nS.j1.isMobile()||"Browser Wallet"!==eb.name)&&nS.lZ.checkInstalled()?nN.dy` this.onConnector(eb)} > - `:null)}externalTemplate(){let eb=aE.AA.getAnnouncedConnectorRdns();return this.connectors.map(em=>["WALLET_CONNECT","INJECTED","ANNOUNCED","AUTH"].includes(em.type)||eb.includes(nR.CONNECTOR_RDNS_MAP[em.id])?null:aI.dy` + `:null)}externalTemplate(){let eb=nS.AA.getAnnouncedConnectorRdns();return this.connectors.map(em=>["WALLET_CONNECT","INJECTED","ANNOUNCED","AUTH"].includes(em.type)||eb.includes(rC.CONNECTOR_RDNS_MAP[em.id])?null:nN.dy` this.onConnector(em)} > - `)}allWalletsTemplate(){let eb=this.connectors.find(eb=>"WALLET_CONNECT"===eb.type),{allWallets:em}=aE.hD.state;if(!eb||"HIDE"===em||"ONLY_MOBILE"===em&&!aE.j1.isMobile())return null;let eH=aE.QT.state.featured.length,eV=this.count+eH,ew=eV<10?eV:10*Math.floor(eV/10),eM=ew"WALLET_CONNECT"===eb.type),{allWallets:em}=nS.hD.state;if(!eb||"HIDE"===em||"ONLY_MOBILE"===em&&!nS.j1.isMobile())return null;let ew=nS.QT.state.featured.length,eM=this.count+ew,eC=eM<10?eM:10*Math.floor(eM/10),eT=eC - `}recommendedTemplate(){let eb=this.connectors.find(eb=>"WALLET_CONNECT"===eb.type);if(!eb)return null;let{recommended:em}=aE.QT.state,{customWallets:eH,featuredWalletIds:eV}=aE.hD.state,{connectors:ew}=aE.AA.state,eM=aE.MO.getRecentWallets(),eC=ew.filter(eb=>"INJECTED"===eb.type||"ANNOUNCED"===eb.type),eT=eC.filter(eb=>"Browser Wallet"!==eb.name);if(eV||eH||!em.length)return null;let e_=eT.length+eM.length,eS=Math.max(0,2-e_),eE=this.filterOutDuplicateWallets(em).slice(0,eS);return eE.map(eb=>aI.dy` + `}recommendedTemplate(){let eb=this.connectors.find(eb=>"WALLET_CONNECT"===eb.type);if(!eb)return null;let{recommended:em}=nS.QT.state,{customWallets:ew,featuredWalletIds:eM}=nS.hD.state,{connectors:eC}=nS.AA.state,eT=nS.MO.getRecentWallets(),e_=eC.filter(eb=>"INJECTED"===eb.type||"ANNOUNCED"===eb.type),eE=e_.filter(eb=>"Browser Wallet"!==eb.name);if(eM||ew||!em.length)return null;let eS=eE.length+eT.length,eA=Math.max(0,2-eS),eN=this.filterOutDuplicateWallets(em).slice(0,eA);return eN.map(eb=>nN.dy` this.onConnectWallet(eb)} > - `)}onConnector(eb){"WALLET_CONNECT"===eb.type?aE.j1.isMobile()?aE.Pc.push("AllWallets"):aE.Pc.push("ConnectingWalletConnect"):aE.Pc.push("ConnectingExternal",{connector:eb})}filterOutDuplicateWallets(eb){let em=aE.MO.getRecentWallets(),eH=this.connectors.map(eb=>eb.info?.rdns).filter(Boolean),eV=em.map(eb=>eb.rdns).filter(Boolean),ew=eH.concat(eV);if(ew.includes("io.metamask.mobile")&&aE.j1.isMobile()){let eb=ew.indexOf("io.metamask.mobile");ew[eb]="io.metamask"}let eM=eb.filter(eb=>!ew.includes(String(eb?.rdns)));return eM}onAllWallets(){aE.Xs.sendEvent({type:"track",event:"CLICK_ALL_WALLETS"}),aE.Pc.push("AllWallets")}onConnectWallet(eb){aE.Pc.push("ConnectingWalletConnect",{wallet:eb})}};nU.styles=nO,nj([(0,aD.SB)()],nU.prototype,"connectors",void 0),nj([(0,aD.SB)()],nU.prototype,"count",void 0),nU=nj([(0,aN.customElement)("w3m-connect-view")],nU);var nq=aI.iv` + `)}onConnector(eb){"WALLET_CONNECT"===eb.type?nS.j1.isMobile()?nS.Pc.push("AllWallets"):nS.Pc.push("ConnectingWalletConnect"):nS.Pc.push("ConnectingExternal",{connector:eb})}filterOutDuplicateWallets(eb){let em=nS.MO.getRecentWallets(),ew=this.connectors.map(eb=>eb.info?.rdns).filter(Boolean),eM=em.map(eb=>eb.rdns).filter(Boolean),eC=ew.concat(eM);if(eC.includes("io.metamask.mobile")&&nS.j1.isMobile()){let eb=eC.indexOf("io.metamask.mobile");eC[eb]="io.metamask"}let eT=eb.filter(eb=>!eC.includes(String(eb?.rdns)));return eT}onAllWallets(){nS.Xs.sendEvent({type:"track",event:"CLICK_ALL_WALLETS"}),nS.Pc.push("AllWallets")}onConnectWallet(eb){nS.Pc.push("ConnectingWalletConnect",{wallet:eb})}};rE.styles=rM,r_([(0,nI.SB)()],rE.prototype,"connectors",void 0),r_([(0,nI.SB)()],rE.prototype,"count",void 0),rE=r_([(0,nA.customElement)("w3m-connect-view")],rE);var rS=nN.iv` @keyframes shake { 0% { transform: translateX(0); @@ -768,9 +739,9 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ display: block; opacity: 1; } -`,n$=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};class nW extends aI.oi{constructor(){super(),this.wallet=aE.Pc.state.data?.wallet,this.connector=aE.Pc.state.data?.connector,this.timeout=void 0,this.secondaryBtnLabel="Try again",this.secondaryBtnIcon="refresh",this.secondaryLabel="Accept connection request in the wallet",this.onConnect=void 0,this.onRender=void 0,this.onAutoConnect=void 0,this.isWalletConnect=!0,this.unsubscribe=[],this.imageSrc=aE.fz.getWalletImage(this.wallet)??aE.fz.getConnectorImage(this.connector),this.name=this.wallet?.name??this.connector?.name??"Wallet",this.isRetrying=!1,this.uri=aE.lZ.state.wcUri,this.error=aE.lZ.state.wcError,this.ready=!1,this.showRetry=!1,this.buffering=!1,this.isMobile=!1,this.onRetry=void 0,this.unsubscribe.push(...[aE.lZ.subscribeKey("wcUri",eb=>{this.uri=eb,this.isRetrying&&this.onRetry&&(this.isRetrying=!1,this.onConnect?.())}),aE.lZ.subscribeKey("wcError",eb=>this.error=eb),aE.lZ.subscribeKey("buffering",eb=>this.buffering=eb)])}firstUpdated(){this.onAutoConnect?.(),this.showRetry=!this.onAutoConnect}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb()),clearTimeout(this.timeout)}render(){this.onRender?.(),this.onShowRetry();let eb=this.error?"Connection can be declined if a previous request is still active":this.secondaryLabel,em=`Continue in ${this.name}`;return this.buffering&&(em="Connecting..."),this.error&&(em="Connection declined"),aI.dy` +`,rA=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};class rN extends nN.oi{constructor(){super(),this.wallet=nS.Pc.state.data?.wallet,this.connector=nS.Pc.state.data?.connector,this.timeout=void 0,this.secondaryBtnLabel="Try again",this.secondaryBtnIcon="refresh",this.secondaryLabel="Accept connection request in the wallet",this.onConnect=void 0,this.onRender=void 0,this.onAutoConnect=void 0,this.isWalletConnect=!0,this.unsubscribe=[],this.imageSrc=nS.fz.getWalletImage(this.wallet)??nS.fz.getConnectorImage(this.connector),this.name=this.wallet?.name??this.connector?.name??"Wallet",this.isRetrying=!1,this.uri=nS.lZ.state.wcUri,this.error=nS.lZ.state.wcError,this.ready=!1,this.showRetry=!1,this.buffering=!1,this.isMobile=!1,this.onRetry=void 0,this.unsubscribe.push(...[nS.lZ.subscribeKey("wcUri",eb=>{this.uri=eb,this.isRetrying&&this.onRetry&&(this.isRetrying=!1,this.onConnect?.())}),nS.lZ.subscribeKey("wcError",eb=>this.error=eb),nS.lZ.subscribeKey("buffering",eb=>this.buffering=eb)])}firstUpdated(){this.onAutoConnect?.(),this.showRetry=!this.onAutoConnect}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb()),clearTimeout(this.timeout)}render(){this.onRender?.(),this.onShowRetry();let eb=this.error?"Connection can be declined if a previous request is still active":this.secondaryLabel,em=`Continue in ${this.name}`;return this.buffering&&(em="Connecting..."),this.error&&(em="Connection declined"),nN.dy` - + ${this.error?null:this.loaderTemplate()} @@ -810,7 +781,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ - ${this.isWalletConnect?aI.dy` + ${this.isWalletConnect?nN.dy` @@ -820,30 +791,30 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ `:null} - `}onShowRetry(){if(this.error&&!this.showRetry){this.showRetry=!0;let eb=this.shadowRoot?.querySelector("wui-button");eb?.animate([{opacity:0},{opacity:1}],{fill:"forwards",easing:"ease"})}}onTryAgain(){this.buffering||(aE.lZ.setWcError(!1),this.onRetry?(this.isRetrying=!0,this.onRetry?.()):this.onConnect?.())}loaderTemplate(){let eb=aE.u0.state.themeVariables["--w3m-border-radius-master"],em=eb?parseInt(eb.replace("px",""),10):4;return aI.dy``}onCopyUri(){try{this.uri&&(aE.j1.copyToClopboard(this.uri),aE.KC.showSuccess("Link copied"))}catch{aE.KC.showError("Failed to copy")}}}nW.styles=nq,n$([(0,aD.SB)()],nW.prototype,"uri",void 0),n$([(0,aD.SB)()],nW.prototype,"error",void 0),n$([(0,aD.SB)()],nW.prototype,"ready",void 0),n$([(0,aD.SB)()],nW.prototype,"showRetry",void 0),n$([(0,aD.SB)()],nW.prototype,"buffering",void 0),n$([(0,aD.Cb)({type:Boolean})],nW.prototype,"isMobile",void 0),n$([(0,aD.Cb)()],nW.prototype,"onRetry",void 0);var nZ=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let nG=class extends nW{constructor(){if(super(),!this.connector)throw Error("w3m-connecting-view: No connector provided");aE.Xs.sendEvent({type:"track",event:"SELECT_WALLET",properties:{name:this.connector.name??"Unknown",platform:"browser"}}),this.onConnect=this.onConnectProxy.bind(this),this.onAutoConnect=this.onConnectProxy.bind(this),this.isWalletConnect=!1}async onConnectProxy(){try{this.error=!1,this.connector&&(this.connector.imageUrl&&aE.MO.setConnectedWalletImageUrl(this.connector.imageUrl),await aE.lZ.connectExternal(this.connector),aE.hD.state.isSiweEnabled?aE.Pc.push("ConnectingSiwe"):aE.IN.close(),aE.Xs.sendEvent({type:"track",event:"CONNECT_SUCCESS",properties:{method:"browser",name:this.connector.name||"Unknown"}}))}catch(eb){aE.Xs.sendEvent({type:"track",event:"CONNECT_ERROR",properties:{message:eb?.message??"Unknown"}}),this.error=!0}}};nG=nZ([(0,aN.customElement)("w3m-connecting-external-view")],nG);var nK=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let nY=class extends aI.oi{constructor(){super(),this.interval=void 0,this.lastRetry=Date.now(),this.wallet=aE.Pc.state.data?.wallet,this.platform=void 0,this.platforms=[],this.initializeConnection(),this.interval=setInterval(this.initializeConnection.bind(this),aE.bq.TEN_SEC_MS)}disconnectedCallback(){clearTimeout(this.interval)}render(){return this.wallet?(this.determinePlatforms(),aI.dy` + `}onShowRetry(){if(this.error&&!this.showRetry){this.showRetry=!0;let eb=this.shadowRoot?.querySelector("wui-button");eb?.animate([{opacity:0},{opacity:1}],{fill:"forwards",easing:"ease"})}}onTryAgain(){this.buffering||(nS.lZ.setWcError(!1),this.onRetry?(this.isRetrying=!0,this.onRetry?.()):this.onConnect?.())}loaderTemplate(){let eb=nS.u0.state.themeVariables["--w3m-border-radius-master"],em=eb?parseInt(eb.replace("px",""),10):4;return nN.dy``}onCopyUri(){try{this.uri&&(nS.j1.copyToClopboard(this.uri),nS.KC.showSuccess("Link copied"))}catch{nS.KC.showError("Failed to copy")}}}rN.styles=rS,rA([(0,nI.SB)()],rN.prototype,"uri",void 0),rA([(0,nI.SB)()],rN.prototype,"error",void 0),rA([(0,nI.SB)()],rN.prototype,"ready",void 0),rA([(0,nI.SB)()],rN.prototype,"showRetry",void 0),rA([(0,nI.SB)()],rN.prototype,"buffering",void 0),rA([(0,nI.Cb)({type:Boolean})],rN.prototype,"isMobile",void 0),rA([(0,nI.Cb)()],rN.prototype,"onRetry",void 0);var rI=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let rD=class extends rN{constructor(){if(super(),!this.connector)throw Error("w3m-connecting-view: No connector provided");nS.Xs.sendEvent({type:"track",event:"SELECT_WALLET",properties:{name:this.connector.name??"Unknown",platform:"browser"}}),this.onConnect=this.onConnectProxy.bind(this),this.onAutoConnect=this.onConnectProxy.bind(this),this.isWalletConnect=!1}async onConnectProxy(){try{this.error=!1,this.connector&&(this.connector.imageUrl&&nS.MO.setConnectedWalletImageUrl(this.connector.imageUrl),await nS.lZ.connectExternal(this.connector),nS.hD.state.isSiweEnabled?nS.Pc.push("ConnectingSiwe"):nS.IN.close(),nS.Xs.sendEvent({type:"track",event:"CONNECT_SUCCESS",properties:{method:"browser",name:this.connector.name||"Unknown"}}))}catch(eb){nS.Xs.sendEvent({type:"track",event:"CONNECT_ERROR",properties:{message:eb?.message??"Unknown"}}),this.error=!0}}};rD=rI([(0,nA.customElement)("w3m-connecting-external-view")],rD);var rO=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let rP=class extends nN.oi{constructor(){super(),this.interval=void 0,this.lastRetry=Date.now(),this.wallet=nS.Pc.state.data?.wallet,this.platform=void 0,this.platforms=[],this.initializeConnection(),this.interval=setInterval(this.initializeConnection.bind(this),nS.bq.TEN_SEC_MS)}disconnectedCallback(){clearTimeout(this.interval)}render(){return this.wallet?(this.determinePlatforms(),nN.dy` ${this.headerTemplate()}
${this.platformTemplate()}
- `):aI.dy``}async initializeConnection(eb=!1){try{let{wcPairingExpiry:em}=aE.lZ.state;if(eb||aE.j1.isPairingExpired(em)){if(aE.lZ.connectWalletConnect(),this.wallet){let eb=aE.fz.getWalletImage(this.wallet);eb&&aE.MO.setConnectedWalletImageUrl(eb)}else{let eb=aE.AA.state.connectors,em=eb.find(eb=>"WALLET_CONNECT"===eb.type),eH=aE.fz.getConnectorImage(em);eH&&aE.MO.setConnectedWalletImageUrl(eH)}if(await aE.lZ.state.wcPromise,this.finalizeConnection(),aE.hD.state.isSiweEnabled){let{SIWEController:eb}=await Promise.all([eH.e(561),eH.e(281)]).then(eH.bind(eH,38042));"success"===eb.state.status?aE.IN.close():aE.Pc.push("ConnectingSiwe")}else aE.IN.close()}}catch(eb){aE.Xs.sendEvent({type:"track",event:"CONNECT_ERROR",properties:{message:eb?.message??"Unknown"}}),aE.lZ.setWcError(!0),aE.j1.isAllowedRetry(this.lastRetry)&&(aE.KC.showError("Declined"),this.lastRetry=Date.now(),this.initializeConnection(!0))}}finalizeConnection(){let{wcLinking:eb,recentWallet:em}=aE.lZ.state;eb&&aE.MO.setWalletConnectDeepLink(eb),em&&aE.MO.setWeb3ModalRecent(em),aE.Xs.sendEvent({type:"track",event:"CONNECT_SUCCESS",properties:{method:eb?"mobile":"qrcode",name:this.wallet?.name||"Unknown"}})}determinePlatforms(){if(!this.wallet)throw Error("w3m-connecting-wc-view:determinePlatforms No wallet");if(this.platform)return;let{mobile_link:eb,desktop_link:em,webapp_link:eH,injected:eV,rdns:ew}=this.wallet,eM=eV?.map(({injected_id:eb})=>eb).filter(Boolean),eC=ew?[ew]:eM??[],eT=eC.length,e_=eb,eS=eH,eE=aE.lZ.checkInstalled(eC),eA=eT&&eE,eN=em&&!aE.j1.isMobile();eA&&this.platforms.push("browser"),e_&&this.platforms.push(aE.j1.isMobile()?"mobile":"qrcode"),eS&&this.platforms.push("web"),eN&&this.platforms.push("desktop"),!eA&&eT&&this.platforms.push("unsupported"),this.platform=this.platforms[0]}platformTemplate(){switch(this.platform){case"browser":return aI.dy``;case"desktop":return aI.dy` + `):nN.dy``}async initializeConnection(eb=!1){try{let{wcPairingExpiry:em}=nS.lZ.state;if(eb||nS.j1.isPairingExpired(em)){if(nS.lZ.connectWalletConnect(),this.wallet){let eb=nS.fz.getWalletImage(this.wallet);eb&&nS.MO.setConnectedWalletImageUrl(eb)}else{let eb=nS.AA.state.connectors,em=eb.find(eb=>"WALLET_CONNECT"===eb.type),ew=nS.fz.getConnectorImage(em);ew&&nS.MO.setConnectedWalletImageUrl(ew)}if(await nS.lZ.state.wcPromise,this.finalizeConnection(),nS.hD.state.isSiweEnabled){let{SIWEController:eb}=await Promise.all([ew.e(561),ew.e(281)]).then(ew.bind(ew,38042));"success"===eb.state.status?nS.IN.close():nS.Pc.push("ConnectingSiwe")}else nS.IN.close()}}catch(eb){nS.Xs.sendEvent({type:"track",event:"CONNECT_ERROR",properties:{message:eb?.message??"Unknown"}}),nS.lZ.setWcError(!0),nS.j1.isAllowedRetry(this.lastRetry)&&(nS.KC.showError("Declined"),this.lastRetry=Date.now(),this.initializeConnection(!0))}}finalizeConnection(){let{wcLinking:eb,recentWallet:em}=nS.lZ.state;eb&&nS.MO.setWalletConnectDeepLink(eb),em&&nS.MO.setWeb3ModalRecent(em),nS.Xs.sendEvent({type:"track",event:"CONNECT_SUCCESS",properties:{method:eb?"mobile":"qrcode",name:this.wallet?.name||"Unknown"}})}determinePlatforms(){if(!this.wallet)throw Error("w3m-connecting-wc-view:determinePlatforms No wallet");if(this.platform)return;let{mobile_link:eb,desktop_link:em,webapp_link:ew,injected:eM,rdns:eC}=this.wallet,eT=eM?.map(({injected_id:eb})=>eb).filter(Boolean),e_=eC?[eC]:eT??[],eE=e_.length,eS=eb,eA=ew,eN=nS.lZ.checkInstalled(e_),eI=eE&&eN,eD=em&&!nS.j1.isMobile();eI&&this.platforms.push("browser"),eS&&this.platforms.push(nS.j1.isMobile()?"mobile":"qrcode"),eA&&this.platforms.push("web"),eD&&this.platforms.push("desktop"),!eI&&eE&&this.platforms.push("unsupported"),this.platform=this.platforms[0]}platformTemplate(){switch(this.platform){case"browser":return nN.dy``;case"desktop":return nN.dy` this.initializeConnection(!0)}> - `;case"web":return aI.dy` + `;case"web":return nN.dy` this.initializeConnection(!0)}> - `;case"mobile":return aI.dy` + `;case"mobile":return nN.dy` this.initializeConnection(!0)}> - `;case"qrcode":return aI.dy``;default:return aI.dy``}}headerTemplate(){let eb=this.platforms.length>1;return eb?aI.dy` + `;case"qrcode":return nN.dy``;default:return nN.dy``}}headerTemplate(){let eb=this.platforms.length>1;return eb?nN.dy` - `:null}async onSelectPlatform(eb){let em=this.shadowRoot?.querySelector("div");em&&(await em.animate([{opacity:1},{opacity:0}],{duration:200,fill:"forwards",easing:"ease"}).finished,this.platform=eb,em.animate([{opacity:0},{opacity:1}],{duration:200,fill:"forwards",easing:"ease"}))}};nK([(0,aD.SB)()],nY.prototype,"platform",void 0),nK([(0,aD.SB)()],nY.prototype,"platforms",void 0),nY=nK([(0,aN.customElement)("w3m-connecting-wc-view")],nY);let nX=class extends aI.oi{constructor(){super(...arguments),this.wallet=aE.Pc.state.data?.wallet}render(){if(!this.wallet)throw Error("w3m-downloads-view");return aI.dy` + `:null}async onSelectPlatform(eb){let em=this.shadowRoot?.querySelector("div");em&&(await em.animate([{opacity:1},{opacity:0}],{duration:200,fill:"forwards",easing:"ease"}).finished,this.platform=eb,em.animate([{opacity:0},{opacity:1}],{duration:200,fill:"forwards",easing:"ease"}))}};rO([(0,nI.SB)()],rP.prototype,"platform",void 0),rO([(0,nI.SB)()],rP.prototype,"platforms",void 0),rP=rO([(0,nA.customElement)("w3m-connecting-wc-view")],rP);let rR=class extends nN.oi{constructor(){super(...arguments),this.wallet=nS.Pc.state.data?.wallet}render(){if(!this.wallet)throw Error("w3m-downloads-view");return nN.dy` ${this.chromeTemplate()} ${this.iosTemplate()} ${this.androidTemplate()} ${this.homepageTemplate()} - `}chromeTemplate(){return this.wallet?.chrome_store?aI.dy` Chrome Extension - `:null}iosTemplate(){return this.wallet?.app_store?aI.dy``:null}iosTemplate(){return this.wallet?.app_store?nN.dy` iOS App - `:null}androidTemplate(){return this.wallet?.play_store?aI.dy``:null}androidTemplate(){return this.wallet?.play_store?nN.dy` Android App - `:null}homepageTemplate(){return this.wallet?.homepage?aI.dy` + `:null}homepageTemplate(){return this.wallet?.homepage?nN.dy` Website - `:null}onChromeStore(){this.wallet?.chrome_store&&aE.j1.openHref(this.wallet.chrome_store,"_blank")}onAppStore(){this.wallet?.app_store&&aE.j1.openHref(this.wallet.app_store,"_blank")}onPlayStore(){this.wallet?.play_store&&aE.j1.openHref(this.wallet.play_store,"_blank")}onHomePage(){this.wallet?.homepage&&aE.j1.openHref(this.wallet.homepage,"_blank")}};nX=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC}([(0,aN.customElement)("w3m-downloads-view")],nX);var nJ=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let nQ="https://walletconnect.com/explorer",n6=class extends aI.oi{render(){return aI.dy` + `:null}onChromeStore(){this.wallet?.chrome_store&&nS.j1.openHref(this.wallet.chrome_store,"_blank")}onAppStore(){this.wallet?.app_store&&nS.j1.openHref(this.wallet.app_store,"_blank")}onPlayStore(){this.wallet?.play_store&&nS.j1.openHref(this.wallet.play_store,"_blank")}onHomePage(){this.wallet?.homepage&&nS.j1.openHref(this.wallet.homepage,"_blank")}};rR=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_}([(0,nA.customElement)("w3m-downloads-view")],rR);var rB=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let rF="https://walletconnect.com/explorer",rj=class extends nN.oi{render(){return nN.dy` ${this.recommendedWalletsTemplate()} {aE.j1.openHref("https://walletconnect.com/explorer?type=wallet","_blank")}} + @click=${()=>{nS.j1.openHref("https://walletconnect.com/explorer?type=wallet","_blank")}} > - `}recommendedWalletsTemplate(){let{recommended:eb,featured:em}=aE.QT.state,{customWallets:eH}=aE.hD.state,eV=[...em,...eH??[],...eb].slice(0,4);return eV.map(eb=>aI.dy` + `}recommendedWalletsTemplate(){let{recommended:eb,featured:em}=nS.QT.state,{customWallets:ew}=nS.hD.state,eM=[...em,...ew??[],...eb].slice(0,4);return eM.map(eb=>nN.dy` {aE.j1.openHref(eb.homepage??nQ,"_blank")}} + imageSrc=${nO(nS.fz.getWalletImage(eb))} + @click=${()=>{nS.j1.openHref(eb.homepage??rF,"_blank")}} > - `)}};n6=nJ([(0,aN.customElement)("w3m-get-wallet-view")],n6);var n4=aI.iv` + `)}};rj=rB([(0,nA.customElement)("w3m-get-wallet-view")],rj);var rU=nN.iv` @keyframes shake { 0% { transform: translateX(0); @@ -948,7 +919,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ display: block; opacity: 1; } -`,n3=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let n5=class extends aI.oi{constructor(){super(),this.network=aE.Pc.state.data?.network,this.unsubscribe=[],this.showRetry=!1,this.error=!1}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}firstUpdated(){this.onSwitchNetwork()}render(){if(!this.network)throw Error("w3m-network-switch-view: No network provided");this.onShowRetry();let eb=this.getLabel(),em=this.getSubLabel();return aI.dy` +`,rV=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let rH=class extends nN.oi{constructor(){super(),this.network=nS.Pc.state.data?.network,this.unsubscribe=[],this.showRetry=!1,this.error=!1}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}firstUpdated(){this.onSwitchNetwork()}render(){if(!this.network)throw Error("w3m-network-switch-view: No network provided");this.onShowRetry();let eb=this.getLabel(),em=this.getSubLabel();return nN.dy` - ${this.error?null:aI.dy``} + ${this.error?null:nN.dy``} - `}getSubLabel(){let eb=aE.MO.getConnectedConnector(),em=aE.AA.getAuthConnector();return em&&"AUTH"===eb?"":this.error?"Switch can be declined if chain is not supported by a wallet or previous request is still active":"Accept connection request in your wallet"}getLabel(){let eb=aE.MO.getConnectedConnector(),em=aE.AA.getAuthConnector();return em&&"AUTH"===eb?`Switching to ${this.network?.name??"Unknown"} network...`:this.error?"Switch declined":"Approve in wallet"}onShowRetry(){if(this.error&&!this.showRetry){this.showRetry=!0;let eb=this.shadowRoot?.querySelector("wui-button");eb?.animate([{opacity:0},{opacity:1}],{fill:"forwards",easing:"ease"})}}async onSwitchNetwork(){try{this.error=!1,this.network&&(await aE.fB.switchActiveNetwork(this.network),aE.hD.state.isSiweEnabled||aE._4.navigateAfterNetworkSwitch())}catch{this.error=!0}}};n5.styles=n4,n3([(0,aD.SB)()],n5.prototype,"showRetry",void 0),n3([(0,aD.SB)()],n5.prototype,"error",void 0),n5=n3([(0,aN.customElement)("w3m-network-switch-view")],n5);var n8=aI.iv` + `}getSubLabel(){let eb=nS.MO.getConnectedConnector(),em=nS.AA.getAuthConnector();return em&&"AUTH"===eb?"":this.error?"Switch can be declined if chain is not supported by a wallet or previous request is still active":"Accept connection request in your wallet"}getLabel(){let eb=nS.MO.getConnectedConnector(),em=nS.AA.getAuthConnector();return em&&"AUTH"===eb?`Switching to ${this.network?.name??"Unknown"} network...`:this.error?"Switch declined":"Approve in wallet"}onShowRetry(){if(this.error&&!this.showRetry){this.showRetry=!0;let eb=this.shadowRoot?.querySelector("wui-button");eb?.animate([{opacity:0},{opacity:1}],{fill:"forwards",easing:"ease"})}}async onSwitchNetwork(){try{this.error=!1,this.network&&(await nS.fB.switchActiveNetwork(this.network),nS.hD.state.isSiweEnabled||nS._4.navigateAfterNetworkSwitch())}catch{this.error=!0}}};rH.styles=rU,rV([(0,nI.SB)()],rH.prototype,"showRetry",void 0),rV([(0,nI.SB)()],rH.prototype,"error",void 0),rH=rV([(0,nA.customElement)("w3m-network-switch-view")],rH);var r$=nN.iv` :host > wui-grid { max-height: 360px; overflow: auto; @@ -999,7 +970,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ wui-grid::-webkit-scrollbar { display: none; } -`,n9=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let n7=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.caipNetwork=aE.fB.state.caipNetwork,this.unsubscribe.push(aE.fB.subscribeKey("caipNetwork",eb=>this.caipNetwork=eb))}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return aI.dy` +`,rq=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let rW=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.caipNetwork=nS.fB.state.caipNetwork,this.unsubscribe.push(nS.fB.subscribeKey("caipNetwork",eb=>this.caipNetwork=eb))}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return nN.dy` ${this.networksTemplate()} @@ -1015,17 +986,17 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ What is a network
- `}onNetworkHelp(){aE.Xs.sendEvent({type:"track",event:"CLICK_NETWORK_HELP"}),aE.Pc.push("WhatIsANetwork")}networksTemplate(){let{approvedCaipNetworkIds:eb,requestedCaipNetworks:em,supportsAllNetworks:eH}=aE.fB.state,eV=aE.j1.sortRequestedNetworks(eb,em);return eV?.map(em=>aI.dy` + `}onNetworkHelp(){nS.Xs.sendEvent({type:"track",event:"CLICK_NETWORK_HELP"}),nS.Pc.push("WhatIsANetwork")}networksTemplate(){let{approvedCaipNetworkIds:eb,requestedCaipNetworks:em,supportsAllNetworks:ew}=nS.fB.state,eM=nS.j1.sortRequestedNetworks(eb,em);return eM?.map(em=>nN.dy` this.onSwitchNetwork(em)} - .disabled=${!eH&&!eb?.includes(em.id)} + .disabled=${!ew&&!eb?.includes(em.id)} data-testid=${`w3m-network-switch-${em.name??em.id}`} > - `)}async onSwitchNetwork(eb){let{isConnected:em}=aE.Ni.state,{approvedCaipNetworkIds:eH,supportsAllNetworks:eV,caipNetwork:ew}=aE.fB.state,{data:eM}=aE.Pc.state;em&&ew?.id!==eb.id?eH?.includes(eb.id)?(await aE.fB.switchActiveNetwork(eb),aE._4.navigateAfterNetworkSwitch()):eV&&aE.Pc.push("SwitchNetwork",{...eM,network:eb}):em||(aE.fB.setCaipNetwork(eb),aE.Pc.push("Connect"))}};n7.styles=n8,n9([(0,aD.SB)()],n7.prototype,"caipNetwork",void 0),n7=n9([(0,aN.customElement)("w3m-networks-view")],n7);var ry=eH(56055),rz=aI.iv` + `)}async onSwitchNetwork(eb){let{isConnected:em}=nS.Ni.state,{approvedCaipNetworkIds:ew,supportsAllNetworks:eM,caipNetwork:eC}=nS.fB.state,{data:eT}=nS.Pc.state;em&&eC?.id!==eb.id?ew?.includes(eb.id)?(await nS.fB.switchActiveNetwork(eb),nS._4.navigateAfterNetworkSwitch()):eM&&nS.Pc.push("SwitchNetwork",{...eT,network:eb}):em||(nS.fB.setCaipNetwork(eb),nS.Pc.push("Connect"))}};rW.styles=r$,rq([(0,nI.SB)()],rW.prototype,"caipNetwork",void 0),rW=rq([(0,nA.customElement)("w3m-networks-view")],rW);var rZ=ew(56055),rK=nN.iv` :host > wui-flex { height: 500px; overflow-y: auto; @@ -1049,36 +1020,36 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ wui-transaction-list-item-loader { width: 100%; } -`,rH=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let rV=7,rw=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.refetchTimeout=void 0,this.selectedOnRampProvider=aE.ph.state.selectedProvider,this.loading=!1,this.coinbaseTransactions=aE.sl.state.coinbaseTransactions,this.tokenImages=aE.WM.state.tokenImages,this.unsubscribe.push(...[aE.ph.subscribeKey("selectedProvider",eb=>{this.selectedOnRampProvider=eb}),aE.WM.subscribeKey("tokenImages",eb=>this.tokenImages=eb),()=>{clearTimeout(this.refetchTimeout)},aE.sl.subscribe(eb=>{this.coinbaseTransactions={...eb.coinbaseTransactions}})]),aE.sl.clearCursor(),this.fetchTransactions()}render(){return aI.dy` +`,rG=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let rY=7,rJ=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.refetchTimeout=void 0,this.selectedOnRampProvider=nS.ph.state.selectedProvider,this.loading=!1,this.coinbaseTransactions=nS.sl.state.coinbaseTransactions,this.tokenImages=nS.WM.state.tokenImages,this.unsubscribe.push(...[nS.ph.subscribeKey("selectedProvider",eb=>{this.selectedOnRampProvider=eb}),nS.WM.subscribeKey("tokenImages",eb=>this.tokenImages=eb),()=>{clearTimeout(this.refetchTimeout)},nS.sl.subscribe(eb=>{this.coinbaseTransactions={...eb.coinbaseTransactions}})]),nS.sl.clearCursor(),this.fetchTransactions()}render(){return nN.dy` ${this.loading?this.templateLoading():this.templateTransactionsByYear()} - `}templateTransactions(eb){return eb?.map(eb=>{let em=ry.Em.formatDate(eb?.metadata?.minedAt),eH=eb.transfers[0],eV=eH?.fungible_info;if(!eV)return null;let ew=eV?.icon?.url||this.tokenImages?.[eV.symbol||""];return aI.dy` + `}templateTransactions(eb){return eb?.map(eb=>{let em=rZ.Em.formatDate(eb?.metadata?.minedAt),ew=eb.transfers[0],eM=ew?.fungible_info;if(!eM)return null;let eC=eM?.icon?.url||this.tokenImages?.[eM.symbol||""];return nN.dy` - `})}templateTransactionsByYear(){let eb=Object.keys(this.coinbaseTransactions).sort().reverse();return eb.map(eb=>{let em=parseInt(eb,10),eH=Array(12).fill(null).map((eb,em)=>em).reverse();return eH.map(eb=>{let eH=aN.TransactionUtil.getTransactionGroupTitle(em,eb),eV=this.coinbaseTransactions[em]?.[eb];return eV?aI.dy` + `})}templateTransactionsByYear(){let eb=Object.keys(this.coinbaseTransactions).sort().reverse();return eb.map(eb=>{let em=parseInt(eb,10),ew=Array(12).fill(null).map((eb,em)=>em).reverse();return ew.map(eb=>{let ew=nA.TransactionUtil.getTransactionGroupTitle(em,eb),eM=this.coinbaseTransactions[em]?.[eb];return eM?nN.dy` - ${eH} + ${ew} - ${this.templateTransactions(eV)} + ${this.templateTransactions(eM)} - `:null})})}async fetchTransactions(){let eb="coinbase";"coinbase"===eb&&await this.fetchCoinbaseTransactions()}async fetchCoinbaseTransactions(){let eb=aE.Ni.state.address,em=aE.hD.state.projectId;if(!eb)throw Error("No address found");if(!em)throw Error("No projectId found");this.loading=!0,await aE.sl.fetchTransactions(eb,"coinbase"),this.loading=!1,this.refetchLoadingTransactions()}refetchLoadingTransactions(){let eb=new Date,em=this.coinbaseTransactions[eb.getFullYear()]?.[eb.getMonth()]||[],eH=em.filter(eb=>"ONRAMP_TRANSACTION_STATUS_IN_PROGRESS"===eb.metadata.status);if(0===eH.length){clearTimeout(this.refetchTimeout);return}this.refetchTimeout=setTimeout(async()=>{let eb=aE.Ni.state.address;await aE.sl.fetchTransactions(eb,"coinbase"),this.refetchLoadingTransactions()},3e3)}templateLoading(){return Array(rV).fill(aI.dy` `).map(eb=>eb)}};rw.styles=rz,rH([(0,aD.SB)()],rw.prototype,"selectedOnRampProvider",void 0),rH([(0,aD.SB)()],rw.prototype,"loading",void 0),rH([(0,aD.SB)()],rw.prototype,"coinbaseTransactions",void 0),rH([(0,aD.SB)()],rw.prototype,"tokenImages",void 0),rw=rH([(0,aN.customElement)("w3m-onramp-activity-view")],rw);var rM=aI.iv` + `:null})})}async fetchTransactions(){let eb="coinbase";"coinbase"===eb&&await this.fetchCoinbaseTransactions()}async fetchCoinbaseTransactions(){let eb=nS.Ni.state.address,em=nS.hD.state.projectId;if(!eb)throw Error("No address found");if(!em)throw Error("No projectId found");this.loading=!0,await nS.sl.fetchTransactions(eb,"coinbase"),this.loading=!1,this.refetchLoadingTransactions()}refetchLoadingTransactions(){let eb=new Date,em=this.coinbaseTransactions[eb.getFullYear()]?.[eb.getMonth()]||[],ew=em.filter(eb=>"ONRAMP_TRANSACTION_STATUS_IN_PROGRESS"===eb.metadata.status);if(0===ew.length){clearTimeout(this.refetchTimeout);return}this.refetchTimeout=setTimeout(async()=>{let eb=nS.Ni.state.address;await nS.sl.fetchTransactions(eb,"coinbase"),this.refetchLoadingTransactions()},3e3)}templateLoading(){return Array(rY).fill(nN.dy` `).map(eb=>eb)}};rJ.styles=rK,rG([(0,nI.SB)()],rJ.prototype,"selectedOnRampProvider",void 0),rG([(0,nI.SB)()],rJ.prototype,"loading",void 0),rG([(0,nI.SB)()],rJ.prototype,"coinbaseTransactions",void 0),rG([(0,nI.SB)()],rJ.prototype,"tokenImages",void 0),rJ=rG([(0,nA.customElement)("w3m-onramp-activity-view")],rJ);var rX=nN.iv` :host > wui-grid { max-height: 360px; overflow: auto; @@ -1087,25 +1058,25 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ wui-grid::-webkit-scrollbar { display: none; } -`,rC=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let rk=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.selectedCurrency=aE.ph.state.paymentCurrency,this.currencies=aE.ph.state.paymentCurrencies,this.currencyImages=aE.WM.state.currencyImages,this.unsubscribe.push(...[aE.ph.subscribe(eb=>{this.selectedCurrency=eb.paymentCurrency,this.currencies=eb.paymentCurrencies}),aE.WM.subscribeKey("currencyImages",eb=>this.currencyImages=eb)])}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return aI.dy` +`,rQ=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let aM=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.selectedCurrency=nS.ph.state.paymentCurrency,this.currencies=nS.ph.state.paymentCurrencies,this.currencyImages=nS.WM.state.currencyImages,this.unsubscribe.push(...[nS.ph.subscribe(eb=>{this.selectedCurrency=eb.paymentCurrency,this.currencies=eb.paymentCurrencies}),nS.WM.subscribeKey("currencyImages",eb=>this.currencyImages=eb)])}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return nN.dy` ${this.currenciesTemplate()} - `}currenciesTemplate(){return this.currencies.map(eb=>aI.dy` + `}currenciesTemplate(){return this.currencies.map(eb=>nN.dy` this.selectCurrency(eb)} variant="image" > ${eb.id} - `)}selectCurrency(eb){eb&&(aE.ph.setPaymentCurrency(eb),aE.IN.close())}};rk.styles=rM,rC([(0,aD.SB)()],rk.prototype,"selectedCurrency",void 0),rC([(0,aD.SB)()],rk.prototype,"currencies",void 0),rC([(0,aD.SB)()],rk.prototype,"currencyImages",void 0),rk=rC([(0,aN.customElement)("w3m-onramp-fiat-select-view")],rk);var rT=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let r_=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.providers=aE.ph.state.providers,this.unsubscribe.push(...[aE.ph.subscribeKey("providers",eb=>{this.providers=eb})])}firstUpdated(){let eb=this.providers.map(async eb=>"coinbase"===eb.name?await this.getCoinbaseOnRampURL():Promise.resolve(eb?.url));Promise.all(eb).then(eb=>{this.providers=this.providers.map((em,eH)=>({...em,url:eb[eH]||""}))})}render(){return aI.dy` + `)}selectCurrency(eb){eb&&(nS.ph.setPaymentCurrency(eb),nS.IN.close())}};aM.styles=rX,rQ([(0,nI.SB)()],aM.prototype,"selectedCurrency",void 0),rQ([(0,nI.SB)()],aM.prototype,"currencies",void 0),rQ([(0,nI.SB)()],aM.prototype,"currencyImages",void 0),aM=rQ([(0,nA.customElement)("w3m-onramp-fiat-select-view")],aM);var aC=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let ak=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.providers=nS.ph.state.providers,this.unsubscribe.push(...[nS.ph.subscribeKey("providers",eb=>{this.providers=eb})])}firstUpdated(){let eb=this.providers.map(async eb=>"coinbase"===eb.name?await this.getCoinbaseOnRampURL():Promise.resolve(eb?.url));Promise.all(eb).then(eb=>{this.providers=this.providers.map((em,ew)=>({...em,url:eb[ew]||""}))})}render(){return nN.dy` ${this.onRampProvidersTemplate()} - `}onRampProvidersTemplate(){return this.providers.map(eb=>aI.dy` + `}onRampProvidersTemplate(){return this.providers.map(eb=>nN.dy` {this.onClickProvider(eb)}} ?disabled=${!eb.url} > - `)}onClickProvider(eb){aE.ph.setSelectedProvider(eb),aE.Pc.push("BuyInProgress"),aE.j1.openHref(eb.url,"popupWindow","width=600,height=800,scrollbars=yes")}async getCoinbaseOnRampURL(){let eb=aE.Ni.state.address,em=aE.fB.state.caipNetwork;if(!eb)throw Error("No address found");if(!em?.name)throw Error("No network found");let eH=aE.bq.WC_COINBASE_PAY_SDK_CHAIN_NAME_MAP[em.name]??aE.bq.WC_COINBASE_PAY_SDK_FALLBACK_CHAIN,eV=aE.ph.state.purchaseCurrency,ew=eV?[eV.symbol]:aE.ph.state.purchaseCurrencies.map(eb=>eb.symbol);return await aE.Lr.generateOnRampURL({defaultNetwork:eH,destinationWallets:[{address:eb,blockchains:aE.bq.WC_COINBASE_PAY_SDK_CHAINS,assets:ew}],partnerUserId:eb,purchaseAmount:aE.ph.state.purchaseAmount})}};rT([(0,aD.SB)()],r_.prototype,"providers",void 0),r_=rT([(0,aN.customElement)("w3m-onramp-providers-view")],r_);var rS=aI.iv` + `)}onClickProvider(eb){nS.ph.setSelectedProvider(eb),nS.Pc.push("BuyInProgress"),nS.j1.openHref(eb.url,"popupWindow","width=600,height=800,scrollbars=yes")}async getCoinbaseOnRampURL(){let eb=nS.Ni.state.address,em=nS.fB.state.caipNetwork;if(!eb)throw Error("No address found");if(!em?.name)throw Error("No network found");let ew=nS.bq.WC_COINBASE_PAY_SDK_CHAIN_NAME_MAP[em.name]??nS.bq.WC_COINBASE_PAY_SDK_FALLBACK_CHAIN,eM=nS.ph.state.purchaseCurrency,eC=eM?[eM.symbol]:nS.ph.state.purchaseCurrencies.map(eb=>eb.symbol);return await nS.Lr.generateOnRampURL({defaultNetwork:ew,destinationWallets:[{address:eb,blockchains:nS.bq.WC_COINBASE_PAY_SDK_CHAINS,assets:eC}],partnerUserId:eb,purchaseAmount:nS.ph.state.purchaseAmount})}};aC([(0,nI.SB)()],ak.prototype,"providers",void 0),ak=aC([(0,nA.customElement)("w3m-onramp-providers-view")],ak);var a_=nN.iv` :host > wui-grid { max-height: 360px; overflow: auto; @@ -1122,14 +1093,14 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ wui-grid::-webkit-scrollbar { display: none; } -`,rE=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let rA=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.selectedCurrency=aE.ph.state.purchaseCurrencies,this.tokens=aE.ph.state.purchaseCurrencies,this.tokenImages=aE.WM.state.tokenImages,this.unsubscribe.push(...[aE.ph.subscribe(eb=>{this.selectedCurrency=eb.purchaseCurrencies,this.tokens=eb.purchaseCurrencies}),aE.WM.subscribeKey("tokenImages",eb=>this.tokenImages=eb)])}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return aI.dy` +`,aE=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let aS=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.selectedCurrency=nS.ph.state.purchaseCurrencies,this.tokens=nS.ph.state.purchaseCurrencies,this.tokenImages=nS.WM.state.tokenImages,this.unsubscribe.push(...[nS.ph.subscribe(eb=>{this.selectedCurrency=eb.purchaseCurrencies,this.tokens=eb.purchaseCurrencies}),nS.WM.subscribeKey("tokenImages",eb=>this.tokenImages=eb)])}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return nN.dy` ${this.currenciesTemplate()} - `}currenciesTemplate(){return this.tokens.map(eb=>aI.dy` + `}currenciesTemplate(){return this.tokens.map(eb=>nN.dy` this.selectToken(eb)} variant="image" > @@ -1138,7 +1109,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ ${eb.symbol}
- `)}selectToken(eb){eb&&(aE.ph.setPurchaseCurrency(eb),aE.IN.close())}};rA.styles=rS,rE([(0,aD.SB)()],rA.prototype,"selectedCurrency",void 0),rE([(0,aD.SB)()],rA.prototype,"tokens",void 0),rE([(0,aD.SB)()],rA.prototype,"tokenImages",void 0),rA=rE([(0,aN.customElement)("w3m-onramp-token-select-view")],rA);var rN=aI.iv` + `)}selectToken(eb){eb&&(nS.ph.setPurchaseCurrency(eb),nS.IN.close())}};aS.styles=a_,aE([(0,nI.SB)()],aS.prototype,"selectedCurrency",void 0),aE([(0,nI.SB)()],aS.prototype,"tokens",void 0),aE([(0,nI.SB)()],aS.prototype,"tokenImages",void 0),aS=aE([(0,nA.customElement)("w3m-onramp-token-select-view")],aS);var aN=nN.iv` :host > wui-flex:first-child { overflow-y: auto; overflow-x: hidden; @@ -1234,11 +1205,11 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ border-radius: var(--wui-border-radius-xxs); background: var(--wui-gray-glass-002); } -`,rI=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let rD=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.detailsOpen=!1,this.caipNetworkId=aE.fB.state.caipNetwork?.id,this.initialized=aE.nY.state.initialized,this.loading=aE.nY.state.loading,this.loadingPrices=aE.nY.state.loadingPrices,this.sourceToken=aE.nY.state.sourceToken,this.sourceTokenAmount=aE.nY.state.sourceTokenAmount,this.sourceTokenPriceInUSD=aE.nY.state.sourceTokenPriceInUSD,this.toToken=aE.nY.state.toToken,this.toTokenAmount=aE.nY.state.toTokenAmount,this.toTokenPriceInUSD=aE.nY.state.toTokenPriceInUSD,this.inputError=aE.nY.state.inputError,this.gasPriceInUSD=aE.nY.state.gasPriceInUSD,this.priceImpact=aE.nY.state.priceImpact,this.maxSlippage=aE.nY.state.maxSlippage,this.providerFee=aE.nY.state.providerFee,this.transactionLoading=aE.nY.state.transactionLoading,this.networkTokenSymbol=aE.nY.state.networkTokenSymbol,this.fetchError=aE.nY.state.fetchError,this.onDebouncedGetSwapCalldata=aE.j1.debounce(async()=>{await aE.nY.swapTokens()},200),aE.fB.subscribeKey("caipNetwork",eb=>{this.caipNetworkId!==eb?.id&&(this.caipNetworkId=eb?.id,aE.nY.resetState(),aE.nY.initializeState())}),this.unsubscribe.push(...[aE.IN.subscribeKey("open",eb=>{eb||aE.nY.resetState()}),aE.Pc.subscribeKey("view",eb=>{eb.includes("Swap")||aE.nY.resetValues()}),aE.nY.subscribe(eb=>{this.initialized=eb.initialized,this.loading=eb.loading,this.loadingPrices=eb.loadingPrices,this.transactionLoading=eb.transactionLoading,this.sourceToken=eb.sourceToken,this.sourceTokenAmount=eb.sourceTokenAmount,this.sourceTokenPriceInUSD=eb.sourceTokenPriceInUSD,this.toToken=eb.toToken,this.toTokenAmount=eb.toTokenAmount,this.toTokenPriceInUSD=eb.toTokenPriceInUSD,this.inputError=eb.inputError,this.gasPriceInUSD=eb.gasPriceInUSD,this.priceImpact=eb.priceImpact,this.maxSlippage=eb.maxSlippage,this.providerFee=eb.providerFee,this.fetchError=eb.fetchError})])}firstUpdated(){aE.nY.initializeState(),this.watchTokensAndValues()}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb?.()),clearInterval(this.interval)}render(){return aI.dy` +`,aI=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let aD=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.detailsOpen=!1,this.caipNetworkId=nS.fB.state.caipNetwork?.id,this.initialized=nS.nY.state.initialized,this.loading=nS.nY.state.loading,this.loadingPrices=nS.nY.state.loadingPrices,this.sourceToken=nS.nY.state.sourceToken,this.sourceTokenAmount=nS.nY.state.sourceTokenAmount,this.sourceTokenPriceInUSD=nS.nY.state.sourceTokenPriceInUSD,this.toToken=nS.nY.state.toToken,this.toTokenAmount=nS.nY.state.toTokenAmount,this.toTokenPriceInUSD=nS.nY.state.toTokenPriceInUSD,this.inputError=nS.nY.state.inputError,this.gasPriceInUSD=nS.nY.state.gasPriceInUSD,this.priceImpact=nS.nY.state.priceImpact,this.maxSlippage=nS.nY.state.maxSlippage,this.providerFee=nS.nY.state.providerFee,this.transactionLoading=nS.nY.state.transactionLoading,this.networkTokenSymbol=nS.nY.state.networkTokenSymbol,this.fetchError=nS.nY.state.fetchError,this.onDebouncedGetSwapCalldata=nS.j1.debounce(async()=>{await nS.nY.swapTokens()},200),nS.fB.subscribeKey("caipNetwork",eb=>{this.caipNetworkId!==eb?.id&&(this.caipNetworkId=eb?.id,nS.nY.resetState(),nS.nY.initializeState())}),this.unsubscribe.push(...[nS.IN.subscribeKey("open",eb=>{eb||nS.nY.resetState()}),nS.Pc.subscribeKey("view",eb=>{eb.includes("Swap")||nS.nY.resetValues()}),nS.nY.subscribe(eb=>{this.initialized=eb.initialized,this.loading=eb.loading,this.loadingPrices=eb.loadingPrices,this.transactionLoading=eb.transactionLoading,this.sourceToken=eb.sourceToken,this.sourceTokenAmount=eb.sourceTokenAmount,this.sourceTokenPriceInUSD=eb.sourceTokenPriceInUSD,this.toToken=eb.toToken,this.toTokenAmount=eb.toTokenAmount,this.toTokenPriceInUSD=eb.toTokenPriceInUSD,this.inputError=eb.inputError,this.gasPriceInUSD=eb.gasPriceInUSD,this.priceImpact=eb.priceImpact,this.maxSlippage=eb.maxSlippage,this.providerFee=eb.providerFee,this.fetchError=eb.fetchError})])}firstUpdated(){nS.nY.initializeState(),this.watchTokensAndValues()}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb?.()),clearInterval(this.interval)}render(){return nN.dy` ${this.initialized?this.templateSwap():this.templateLoading()} - `}watchTokensAndValues(){this.interval=setInterval(()=>{aE.nY.getNetworkTokenPrice(),aE.nY.getMyTokensWithBalance(),aE.nY.swapTokens()},1e4)}templateSwap(){return aI.dy` + `}watchTokensAndValues(){this.interval=setInterval(()=>{nS.nY.getNetworkTokenPrice(),nS.nY.getMyTokensWithBalance(),nS.nY.swapTokens()},1e4)}templateSwap(){return nN.dy` ${this.templateTokenInput("sourceToken",this.sourceToken)} @@ -1246,13 +1217,13 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ ${this.templateDetails()} ${this.templateActionButton()} - `}actionButtonLabel(){return this.fetchError?"Swap":this.sourceToken&&this.toToken?this.sourceTokenAmount?this.initialized?this.inputError?this.inputError:"Review swap":"Swap":"Enter amount":"Select token"}templateReplaceTokensButton(){return aI.dy` + `}actionButtonLabel(){return this.fetchError?"Swap":this.sourceToken&&this.toToken?this.sourceTokenAmount?this.initialized?this.inputError?this.inputError:"Review swap":"Swap":"Enter amount":"Select token"}templateReplaceTokensButton(){return nN.dy` - `}templateLoading(){return aI.dy` + `}templateLoading(){return nN.dy` @@ -1261,17 +1232,17 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ ${this.templateActionButton()} - `}templateTokenInput(eb,em){let eH=aE.nY.state.myTokensWithBalance?.find(eb=>eb?.address===em?.address),eV="toToken"===eb?this.toTokenAmount:this.sourceTokenAmount,ew="toToken"===eb?this.toTokenPriceInUSD:this.sourceTokenPriceInUSD,eM=parseFloat(eV)*ew;return"toToken"===eb&&(eM-=this.gasPriceInUSD||0),aI.dy`eb?.address===em?.address),eM="toToken"===eb?this.toTokenAmount:this.sourceTokenAmount,eC="toToken"===eb?this.toTokenPriceInUSD:this.sourceTokenPriceInUSD,eT=parseFloat(eM)*eC;return"toToken"===eb&&(eT-=this.gasPriceInUSD||0),nN.dy``}onSetMaxValue(eb,em){let eH="sourceToken"===eb?this.sourceToken:this.toToken,eV=eH?.address===aE.bq.NATIVE_TOKEN_ADDRESS,ew="0";if(!em){ew="0",this.handleChangeAmount(eb,ew);return}if(!this.gasPriceInUSD){ew=em,this.handleChangeAmount(eb,ew);return}let eM=ry.C6.bigNumber(this.gasPriceInUSD.toFixed(5)).dividedBy(this.sourceTokenPriceInUSD),eC=eV?ry.C6.bigNumber(em).minus(eM):ry.C6.bigNumber(em);this.handleChangeAmount(eb,eC.isGreaterThan(0)?eC.toFixed(20):"0")}templateDetails(){if(this.inputError||!this.sourceToken||!this.toToken||!this.sourceTokenAmount||!this.toTokenAmount)return null;let eb=this.sourceTokenPriceInUSD&&this.toTokenPriceInUSD?1/this.toTokenPriceInUSD*this.sourceTokenPriceInUSD:0;return aI.dy` + >`}onSetMaxValue(eb,em){let ew="sourceToken"===eb?this.sourceToken:this.toToken,eM=ew?.address===nS.bq.NATIVE_TOKEN_ADDRESS,eC="0";if(!em){eC="0",this.handleChangeAmount(eb,eC);return}if(!this.gasPriceInUSD){eC=em,this.handleChangeAmount(eb,eC);return}let eT=rZ.C6.bigNumber(this.gasPriceInUSD.toFixed(5)).dividedBy(this.sourceTokenPriceInUSD),e_=eM?rZ.C6.bigNumber(em).minus(eT):rZ.C6.bigNumber(em);this.handleChangeAmount(eb,e_.isGreaterThan(0)?e_.toFixed(20):"0")}templateDetails(){if(this.inputError||!this.sourceToken||!this.toToken||!this.sourceTokenAmount||!this.toTokenAmount)return null;let eb=this.sourceTokenPriceInUSD&&this.toTokenPriceInUSD?1/this.toTokenPriceInUSD*this.sourceTokenPriceInUSD:0;return nN.dy` - `}handleChangeAmount(eb,em){aE.nY.clearError(),"sourceToken"===eb?aE.nY.setSourceTokenAmount(em):aE.nY.setToTokenAmount(em),this.onDebouncedGetSwapCalldata()}templateActionButton(){let eb=!this.toToken||!this.sourceToken,em=!this.sourceTokenAmount,eH=this.loading||this.loadingPrices||this.transactionLoading,eV=eH||eb||em||this.inputError;return aI.dy` + `}handleChangeAmount(eb,em){nS.nY.clearError(),"sourceToken"===eb?nS.nY.setSourceTokenAmount(em):nS.nY.setToTokenAmount(em),this.onDebouncedGetSwapCalldata()}templateActionButton(){let eb=!this.toToken||!this.sourceToken,em=!this.sourceTokenAmount,ew=this.loading||this.loadingPrices||this.transactionLoading,eM=ew||eb||em||this.inputError;return nN.dy` ${this.actionButtonLabel()} - `}onSwitchTokens(){aE.nY.switchTokens()}onSwapPreview(){if(this.fetchError){aE.nY.swapTokens();return}aE.Pc.push("SwapPreview")}};rD.styles=rN,rI([(0,aD.SB)()],rD.prototype,"interval",void 0),rI([(0,aD.SB)()],rD.prototype,"detailsOpen",void 0),rI([(0,aD.SB)()],rD.prototype,"caipNetworkId",void 0),rI([(0,aD.SB)()],rD.prototype,"initialized",void 0),rI([(0,aD.SB)()],rD.prototype,"loading",void 0),rI([(0,aD.SB)()],rD.prototype,"loadingPrices",void 0),rI([(0,aD.SB)()],rD.prototype,"sourceToken",void 0),rI([(0,aD.SB)()],rD.prototype,"sourceTokenAmount",void 0),rI([(0,aD.SB)()],rD.prototype,"sourceTokenPriceInUSD",void 0),rI([(0,aD.SB)()],rD.prototype,"toToken",void 0),rI([(0,aD.SB)()],rD.prototype,"toTokenAmount",void 0),rI([(0,aD.SB)()],rD.prototype,"toTokenPriceInUSD",void 0),rI([(0,aD.SB)()],rD.prototype,"inputError",void 0),rI([(0,aD.SB)()],rD.prototype,"gasPriceInUSD",void 0),rI([(0,aD.SB)()],rD.prototype,"priceImpact",void 0),rI([(0,aD.SB)()],rD.prototype,"maxSlippage",void 0),rI([(0,aD.SB)()],rD.prototype,"providerFee",void 0),rI([(0,aD.SB)()],rD.prototype,"transactionLoading",void 0),rI([(0,aD.SB)()],rD.prototype,"networkTokenSymbol",void 0),rI([(0,aD.SB)()],rD.prototype,"fetchError",void 0),rD=rI([(0,aN.customElement)("w3m-swap-view")],rD);var rP=aI.iv` + `}onSwitchTokens(){nS.nY.switchTokens()}onSwapPreview(){if(this.fetchError){nS.nY.swapTokens();return}nS.Pc.push("SwapPreview")}};aD.styles=aN,aI([(0,nI.SB)()],aD.prototype,"interval",void 0),aI([(0,nI.SB)()],aD.prototype,"detailsOpen",void 0),aI([(0,nI.SB)()],aD.prototype,"caipNetworkId",void 0),aI([(0,nI.SB)()],aD.prototype,"initialized",void 0),aI([(0,nI.SB)()],aD.prototype,"loading",void 0),aI([(0,nI.SB)()],aD.prototype,"loadingPrices",void 0),aI([(0,nI.SB)()],aD.prototype,"sourceToken",void 0),aI([(0,nI.SB)()],aD.prototype,"sourceTokenAmount",void 0),aI([(0,nI.SB)()],aD.prototype,"sourceTokenPriceInUSD",void 0),aI([(0,nI.SB)()],aD.prototype,"toToken",void 0),aI([(0,nI.SB)()],aD.prototype,"toTokenAmount",void 0),aI([(0,nI.SB)()],aD.prototype,"toTokenPriceInUSD",void 0),aI([(0,nI.SB)()],aD.prototype,"inputError",void 0),aI([(0,nI.SB)()],aD.prototype,"gasPriceInUSD",void 0),aI([(0,nI.SB)()],aD.prototype,"priceImpact",void 0),aI([(0,nI.SB)()],aD.prototype,"maxSlippage",void 0),aI([(0,nI.SB)()],aD.prototype,"providerFee",void 0),aI([(0,nI.SB)()],aD.prototype,"transactionLoading",void 0),aI([(0,nI.SB)()],aD.prototype,"networkTokenSymbol",void 0),aI([(0,nI.SB)()],aD.prototype,"fetchError",void 0),aD=aI([(0,nA.customElement)("w3m-swap-view")],aD);var aO=nN.iv` :host > wui-flex:first-child { overflow-y: auto; overflow-x: hidden; @@ -1430,9 +1401,9 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ border-radius: var(--wui-border-radius-xxs); background: var(--wui-gray-glass-002); } -`,rO=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let rR=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.detailsOpen=!0,this.approvalTransaction=aE.nY.state.approvalTransaction,this.swapTransaction=aE.nY.state.swapTransaction,this.sourceToken=aE.nY.state.sourceToken,this.sourceTokenAmount=aE.nY.state.sourceTokenAmount??"",this.sourceTokenPriceInUSD=aE.nY.state.sourceTokenPriceInUSD,this.toToken=aE.nY.state.toToken,this.toTokenAmount=aE.nY.state.toTokenAmount??"",this.toTokenPriceInUSD=aE.nY.state.toTokenPriceInUSD,this.caipNetwork=aE.fB.state.caipNetwork,this.transactionLoading=aE.nY.state.transactionLoading,this.balanceSymbol=aE.Ni.state.balanceSymbol,this.gasPriceInUSD=aE.nY.state.gasPriceInUSD,this.priceImpact=aE.nY.state.priceImpact,this.maxSlippage=aE.nY.state.maxSlippage,this.providerFee=aE.nY.state.providerFee,this.unsubscribe.push(...[aE.Ni.subscribeKey("balanceSymbol",eb=>{this.balanceSymbol!==eb&&aE.Pc.goBack()}),aE.fB.subscribeKey("caipNetwork",eb=>{this.caipNetwork!==eb&&(this.caipNetwork=eb)}),aE.nY.subscribe(eb=>{this.approvalTransaction=eb.approvalTransaction,this.swapTransaction=eb.swapTransaction,this.sourceToken=eb.sourceToken,this.gasPriceInUSD=eb.gasPriceInUSD,this.toToken=eb.toToken,this.transactionLoading=eb.transactionLoading,this.gasPriceInUSD=eb.gasPriceInUSD,this.toTokenPriceInUSD=eb.toTokenPriceInUSD,this.sourceTokenAmount=eb.sourceTokenAmount??"",this.toTokenAmount=eb.toTokenAmount??"",this.priceImpact=eb.priceImpact,this.maxSlippage=eb.maxSlippage,this.providerFee=eb.providerFee})])}render(){return aI.dy` +`,aP=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let aR=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.detailsOpen=!0,this.approvalTransaction=nS.nY.state.approvalTransaction,this.swapTransaction=nS.nY.state.swapTransaction,this.sourceToken=nS.nY.state.sourceToken,this.sourceTokenAmount=nS.nY.state.sourceTokenAmount??"",this.sourceTokenPriceInUSD=nS.nY.state.sourceTokenPriceInUSD,this.toToken=nS.nY.state.toToken,this.toTokenAmount=nS.nY.state.toTokenAmount??"",this.toTokenPriceInUSD=nS.nY.state.toTokenPriceInUSD,this.caipNetwork=nS.fB.state.caipNetwork,this.transactionLoading=nS.nY.state.transactionLoading,this.balanceSymbol=nS.Ni.state.balanceSymbol,this.gasPriceInUSD=nS.nY.state.gasPriceInUSD,this.priceImpact=nS.nY.state.priceImpact,this.maxSlippage=nS.nY.state.maxSlippage,this.providerFee=nS.nY.state.providerFee,this.unsubscribe.push(...[nS.Ni.subscribeKey("balanceSymbol",eb=>{this.balanceSymbol!==eb&&nS.Pc.goBack()}),nS.fB.subscribeKey("caipNetwork",eb=>{this.caipNetwork!==eb&&(this.caipNetwork=eb)}),nS.nY.subscribe(eb=>{this.approvalTransaction=eb.approvalTransaction,this.swapTransaction=eb.swapTransaction,this.sourceToken=eb.sourceToken,this.gasPriceInUSD=eb.gasPriceInUSD,this.toToken=eb.toToken,this.transactionLoading=eb.transactionLoading,this.gasPriceInUSD=eb.gasPriceInUSD,this.toTokenPriceInUSD=eb.toTokenPriceInUSD,this.sourceTokenAmount=eb.sourceTokenAmount??"",this.toTokenAmount=eb.toTokenAmount??"",this.priceImpact=eb.priceImpact,this.maxSlippage=eb.maxSlippage,this.providerFee=eb.providerFee})])}render(){return nN.dy` ${this.templateSwap()} - `}templateSwap(){let eb=`${aN.UiHelperUtil.formatNumberToLocalString(parseFloat(this.sourceTokenAmount))} ${this.sourceToken?.symbol}`,em=`${aN.UiHelperUtil.formatNumberToLocalString(parseFloat(this.toTokenAmount))} ${this.toToken?.symbol}`,eH=parseFloat(this.sourceTokenAmount)*this.sourceTokenPriceInUSD,eV=parseFloat(this.toTokenAmount)*this.toTokenPriceInUSD-(this.gasPriceInUSD||0),ew=aN.UiHelperUtil.formatNumberToLocalString(eH),eM=aN.UiHelperUtil.formatNumberToLocalString(eV);return aI.dy` + `}templateSwap(){let eb=`${nA.UiHelperUtil.formatNumberToLocalString(parseFloat(this.sourceTokenAmount))} ${this.sourceToken?.symbol}`,em=`${nA.UiHelperUtil.formatNumberToLocalString(parseFloat(this.toTokenAmount))} ${this.toToken?.symbol}`,ew=parseFloat(this.sourceTokenAmount)*this.sourceTokenPriceInUSD,eM=parseFloat(this.toTokenAmount)*this.toTokenPriceInUSD-(this.gasPriceInUSD||0),eC=nA.UiHelperUtil.formatNumberToLocalString(ew),eT=nA.UiHelperUtil.formatNumberToLocalString(eM);return nN.dy` Send - $${ew} + $${eC} Receive - $${eM} + $${eT} - ${this.transactionLoading?aI.dy``:aI.dy` + ${this.transactionLoading?nN.dy``:nN.dy` ${this.actionButtonLabel()} `} - `}templateDetails(){let eb=this.sourceTokenPriceInUSD&&this.toTokenPriceInUSD?1/this.toTokenPriceInUSD*this.sourceTokenPriceInUSD:0;return aI.dy` + `}templateDetails(){let eb=this.sourceTokenPriceInUSD&&this.toTokenPriceInUSD?1/this.toTokenPriceInUSD*this.sourceTokenPriceInUSD:0;return nN.dy` - `}actionButtonLabel(){return this.approvalTransaction?"Approve":"Swap"}onCancelTransaction(){aE.Pc.goBack()}onSendTransaction(){this.approvalTransaction?aE.nY.sendTransactionForApproval(this.approvalTransaction):aE.nY.sendTransactionForSwap(this.swapTransaction)}};rR.styles=rP,rO([(0,aD.SB)()],rR.prototype,"detailsOpen",void 0),rO([(0,aD.SB)()],rR.prototype,"approvalTransaction",void 0),rO([(0,aD.SB)()],rR.prototype,"swapTransaction",void 0),rO([(0,aD.SB)()],rR.prototype,"sourceToken",void 0),rO([(0,aD.SB)()],rR.prototype,"sourceTokenAmount",void 0),rO([(0,aD.SB)()],rR.prototype,"sourceTokenPriceInUSD",void 0),rO([(0,aD.SB)()],rR.prototype,"toToken",void 0),rO([(0,aD.SB)()],rR.prototype,"toTokenAmount",void 0),rO([(0,aD.SB)()],rR.prototype,"toTokenPriceInUSD",void 0),rO([(0,aD.SB)()],rR.prototype,"caipNetwork",void 0),rO([(0,aD.SB)()],rR.prototype,"transactionLoading",void 0),rO([(0,aD.SB)()],rR.prototype,"balanceSymbol",void 0),rO([(0,aD.SB)()],rR.prototype,"gasPriceInUSD",void 0),rO([(0,aD.SB)()],rR.prototype,"priceImpact",void 0),rO([(0,aD.SB)()],rR.prototype,"maxSlippage",void 0),rO([(0,aD.SB)()],rR.prototype,"providerFee",void 0),rR=rO([(0,aN.customElement)("w3m-swap-preview-view")],rR);var rB=aI.iv` + `}actionButtonLabel(){return this.approvalTransaction?"Approve":"Swap"}onCancelTransaction(){nS.Pc.goBack()}onSendTransaction(){this.approvalTransaction?nS.nY.sendTransactionForApproval(this.approvalTransaction):nS.nY.sendTransactionForSwap(this.swapTransaction)}};aR.styles=aO,aP([(0,nI.SB)()],aR.prototype,"detailsOpen",void 0),aP([(0,nI.SB)()],aR.prototype,"approvalTransaction",void 0),aP([(0,nI.SB)()],aR.prototype,"swapTransaction",void 0),aP([(0,nI.SB)()],aR.prototype,"sourceToken",void 0),aP([(0,nI.SB)()],aR.prototype,"sourceTokenAmount",void 0),aP([(0,nI.SB)()],aR.prototype,"sourceTokenPriceInUSD",void 0),aP([(0,nI.SB)()],aR.prototype,"toToken",void 0),aP([(0,nI.SB)()],aR.prototype,"toTokenAmount",void 0),aP([(0,nI.SB)()],aR.prototype,"toTokenPriceInUSD",void 0),aP([(0,nI.SB)()],aR.prototype,"caipNetwork",void 0),aP([(0,nI.SB)()],aR.prototype,"transactionLoading",void 0),aP([(0,nI.SB)()],aR.prototype,"balanceSymbol",void 0),aP([(0,nI.SB)()],aR.prototype,"gasPriceInUSD",void 0),aP([(0,nI.SB)()],aR.prototype,"priceImpact",void 0),aP([(0,nI.SB)()],aR.prototype,"maxSlippage",void 0),aP([(0,nI.SB)()],aR.prototype,"providerFee",void 0),aR=aP([(0,nA.customElement)("w3m-swap-preview-view")],aR);var aF=nN.iv` :host { --tokens-scroll--top-opacity: 0; --tokens-scroll--bottom-opacity: 1; @@ -1634,11 +1605,11 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ border-radius: var(--wui-border-radius-xs); box-shadow: inset 0 0 0 1px var(--wui-gray-glass-010); } -`,rF=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let rj=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.targetToken=aE.Pc.state.data?.target,this.sourceToken=aE.nY.state.sourceToken,this.sourceTokenAmount=aE.nY.state.sourceTokenAmount,this.toToken=aE.nY.state.toToken,this.myTokensWithBalance=aE.nY.state.myTokensWithBalance,this.popularTokens=aE.nY.state.popularTokens,this.searchValue="",this.unsubscribe.push(...[aE.nY.subscribe(eb=>{this.sourceToken=eb.sourceToken,this.toToken=eb.toToken,this.myTokensWithBalance=eb.myTokensWithBalance})])}updated(){let eb=this.renderRoot?.querySelector(".suggested-tokens-container");eb?.addEventListener("scroll",this.handleSuggestedTokensScroll.bind(this));let em=this.renderRoot?.querySelector(".tokens");em?.addEventListener("scroll",this.handleTokenListScroll.bind(this))}disconnectedCallback(){super.disconnectedCallback();let eb=this.renderRoot?.querySelector(".suggested-tokens-container"),em=this.renderRoot?.querySelector(".tokens");eb?.removeEventListener("scroll",this.handleSuggestedTokensScroll.bind(this)),em?.removeEventListener("scroll",this.handleTokenListScroll.bind(this)),clearInterval(this.interval)}render(){return aI.dy` +`,aj=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let aU=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.targetToken=nS.Pc.state.data?.target,this.sourceToken=nS.nY.state.sourceToken,this.sourceTokenAmount=nS.nY.state.sourceTokenAmount,this.toToken=nS.nY.state.toToken,this.myTokensWithBalance=nS.nY.state.myTokensWithBalance,this.popularTokens=nS.nY.state.popularTokens,this.searchValue="",this.unsubscribe.push(...[nS.nY.subscribe(eb=>{this.sourceToken=eb.sourceToken,this.toToken=eb.toToken,this.myTokensWithBalance=eb.myTokensWithBalance})])}updated(){let eb=this.renderRoot?.querySelector(".suggested-tokens-container");eb?.addEventListener("scroll",this.handleSuggestedTokensScroll.bind(this));let em=this.renderRoot?.querySelector(".tokens");em?.addEventListener("scroll",this.handleTokenListScroll.bind(this))}disconnectedCallback(){super.disconnectedCallback();let eb=this.renderRoot?.querySelector(".suggested-tokens-container"),em=this.renderRoot?.querySelector(".tokens");eb?.removeEventListener("scroll",this.handleSuggestedTokensScroll.bind(this)),em?.removeEventListener("scroll",this.handleTokenListScroll.bind(this)),clearInterval(this.interval)}render(){return nN.dy` ${this.templateSearchInput()} ${this.templateSuggestedTokens()} ${this.templateTokens()} - `}onSelectToken(eb){"sourceToken"===this.targetToken?aE.nY.setSourceToken(eb):(aE.nY.setToToken(eb),this.sourceToken&&this.sourceTokenAmount&&aE.nY.swapTokens()),aE.Pc.goBack()}templateSearchInput(){return aI.dy` + `}onSelectToken(eb){"sourceToken"===this.targetToken?nS.nY.setSourceToken(eb):(nS.nY.setToToken(eb),this.sourceToken&&this.sourceTokenAmount&&nS.nY.swapTokens()),nS.Pc.goBack()}templateSearchInput(){return nN.dy` - `}templateTokens(){let eb=this.myTokensWithBalance?Object.values(this.myTokensWithBalance):[],em=this.popularTokens?this.popularTokens:[],eH=this.filterTokensWithText(eb,this.searchValue),eV=this.filterTokensWithText(em,this.searchValue);return aI.dy` + `}templateTokens(){let eb=this.myTokensWithBalance?Object.values(this.myTokensWithBalance):[],em=this.popularTokens?this.popularTokens:[],ew=this.filterTokensWithText(eb,this.searchValue),eM=this.filterTokensWithText(em,this.searchValue);return nN.dy` - ${eH?.length>0?aI.dy` + ${ew?.length>0?nN.dy` Your tokens - ${eH.map(eb=>{let em=eb.symbol===this.sourceToken?.symbol||eb.symbol===this.toToken?.symbol;return aI.dy` + ${ew.map(eb=>{let em=eb.symbol===this.sourceToken?.symbol||eb.symbol===this.toToken?.symbol;return nN.dy` Popular tokens - ${eV?.length>0?eV.map(eb=>aI.dy` + ${eM?.length>0?eM.map(eb=>nN.dy` - `}templateSuggestedTokens(){let eb=aE.nY.state.suggestedTokens?aE.nY.state.suggestedTokens.slice(0,8):null;return eb?aI.dy` + `}templateSuggestedTokens(){let eb=nS.nY.state.suggestedTokens?nS.nY.state.suggestedTokens.slice(0,8):null;return eb?nN.dy` - ${eb.map(eb=>aI.dy` + ${eb.map(eb=>nN.dy` `)} - `:null}onSearchInputChange(eb){this.searchValue=eb.detail}handleSuggestedTokensScroll(){let eb=this.renderRoot?.querySelector(".suggested-tokens-container");eb&&(eb.style.setProperty("--suggested-tokens-scroll--left-opacity",aN.MathUtil.interpolate([0,100],[0,1],eb.scrollLeft).toString()),eb.style.setProperty("--suggested-tokens-scroll--right-opacity",aN.MathUtil.interpolate([0,100],[0,1],eb.scrollWidth-eb.scrollLeft-eb.offsetWidth).toString()))}handleTokenListScroll(){let eb=this.renderRoot?.querySelector(".tokens");eb&&(eb.style.setProperty("--tokens-scroll--top-opacity",aN.MathUtil.interpolate([0,100],[0,1],eb.scrollTop).toString()),eb.style.setProperty("--tokens-scroll--bottom-opacity",aN.MathUtil.interpolate([0,100],[0,1],eb.scrollHeight-eb.scrollTop-eb.offsetHeight).toString()))}filterTokensWithText(eb,em){return eb.filter(eb=>`${eb.symbol} ${eb.name} ${eb.address}`.toLowerCase().includes(em.toLowerCase()))}};rj.styles=rB,rF([(0,aD.SB)()],rj.prototype,"interval",void 0),rF([(0,aD.SB)()],rj.prototype,"targetToken",void 0),rF([(0,aD.SB)()],rj.prototype,"sourceToken",void 0),rF([(0,aD.SB)()],rj.prototype,"sourceTokenAmount",void 0),rF([(0,aD.SB)()],rj.prototype,"toToken",void 0),rF([(0,aD.SB)()],rj.prototype,"myTokensWithBalance",void 0),rF([(0,aD.SB)()],rj.prototype,"popularTokens",void 0),rF([(0,aD.SB)()],rj.prototype,"searchValue",void 0),rj=rF([(0,aN.customElement)("w3m-swap-select-token-view")],rj);var rU=aI.iv` + `:null}onSearchInputChange(eb){this.searchValue=eb.detail}handleSuggestedTokensScroll(){let eb=this.renderRoot?.querySelector(".suggested-tokens-container");eb&&(eb.style.setProperty("--suggested-tokens-scroll--left-opacity",nA.MathUtil.interpolate([0,100],[0,1],eb.scrollLeft).toString()),eb.style.setProperty("--suggested-tokens-scroll--right-opacity",nA.MathUtil.interpolate([0,100],[0,1],eb.scrollWidth-eb.scrollLeft-eb.offsetWidth).toString()))}handleTokenListScroll(){let eb=this.renderRoot?.querySelector(".tokens");eb&&(eb.style.setProperty("--tokens-scroll--top-opacity",nA.MathUtil.interpolate([0,100],[0,1],eb.scrollTop).toString()),eb.style.setProperty("--tokens-scroll--bottom-opacity",nA.MathUtil.interpolate([0,100],[0,1],eb.scrollHeight-eb.scrollTop-eb.offsetHeight).toString()))}filterTokensWithText(eb,em){return eb.filter(eb=>`${eb.symbol} ${eb.name} ${eb.address}`.toLowerCase().includes(em.toLowerCase()))}};aU.styles=aF,aj([(0,nI.SB)()],aU.prototype,"interval",void 0),aj([(0,nI.SB)()],aU.prototype,"targetToken",void 0),aj([(0,nI.SB)()],aU.prototype,"sourceToken",void 0),aj([(0,nI.SB)()],aU.prototype,"sourceTokenAmount",void 0),aj([(0,nI.SB)()],aU.prototype,"toToken",void 0),aj([(0,nI.SB)()],aU.prototype,"myTokensWithBalance",void 0),aj([(0,nI.SB)()],aU.prototype,"popularTokens",void 0),aj([(0,nI.SB)()],aU.prototype,"searchValue",void 0),aU=aj([(0,nA.customElement)("w3m-swap-select-token-view")],aU);var aV=nN.iv` :host > wui-flex:first-child { height: 500px; overflow-y: auto; @@ -1707,41 +1678,41 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ :host > wui-flex:first-child::-webkit-scrollbar { display: none; } -`,rq=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let r$=class extends aI.oi{render(){return aI.dy` +`,aH=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let a$=class extends nN.oi{render(){return nN.dy` - `}};r$.styles=rU,r$=rq([(0,aN.customElement)("w3m-transactions-view")],r$);var rW=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let rZ=[{images:["network","layers","system"],title:"The system’s nuts and bolts",text:"A network is what brings the blockchain to life, as this technical infrastructure allows apps to access the ledger and smart contract services."},{images:["noun","defiAlt","dao"],title:"Designed for different uses",text:"Each network is designed differently, and may therefore suit certain apps and experiences."}],rG=class extends aI.oi{render(){return aI.dy` + `}};a$.styles=aV,a$=aH([(0,nA.customElement)("w3m-transactions-view")],a$);var aq=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let aW=[{images:["network","layers","system"],title:"The system’s nuts and bolts",text:"A network is what brings the blockchain to life, as this technical infrastructure allows apps to access the ledger and smart contract services."},{images:["noun","defiAlt","dao"],title:"Designed for different uses",text:"Each network is designed differently, and may therefore suit certain apps and experiences."}],aZ=class extends nN.oi{render(){return nN.dy` - + {aE.j1.openHref("https://ethereum.org/en/developers/docs/networks/","_blank")}} + @click=${()=>{nS.j1.openHref("https://ethereum.org/en/developers/docs/networks/","_blank")}} > Learn more - `}};rG=rW([(0,aN.customElement)("w3m-what-is-a-network-view")],rG);var rK=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let rY=[{images:["login","profile","lock"],title:"One login for all of web3",text:"Log in to any app by connecting your wallet. Say goodbye to countless passwords!"},{images:["defi","nft","eth"],title:"A home for your digital assets",text:"A wallet lets you store, send and receive digital assets like cryptocurrencies and NFTs."},{images:["browser","noun","dao"],title:"Your gateway to a new web",text:"With your wallet, you can explore and interact with DeFi, NFTs, DAOs, and much more."}],rX=class extends aI.oi{render(){return aI.dy` + `}};aZ=aq([(0,nA.customElement)("w3m-what-is-a-network-view")],aZ);var aK=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let aG=[{images:["login","profile","lock"],title:"One login for all of web3",text:"Log in to any app by connecting your wallet. Say goodbye to countless passwords!"},{images:["defi","nft","eth"],title:"A home for your digital assets",text:"A wallet lets you store, send and receive digital assets like cryptocurrencies and NFTs."},{images:["browser","noun","dao"],title:"Your gateway to a new web",text:"With your wallet, you can explore and interact with DeFi, NFTs, DAOs, and much more."}],aY=class extends nN.oi{render(){return nN.dy` - + Get a wallet - `}onGetWallet(){aE.Xs.sendEvent({type:"track",event:"CLICK_GET_WALLET"}),aE.Pc.push("GetWallet")}};rX=rK([(0,aN.customElement)("w3m-what-is-a-wallet-view")],rX);let rJ=class extends aI.oi{render(){return aI.dy` + `}onGetWallet(){nS.Xs.sendEvent({type:"track",event:"CLICK_GET_WALLET"}),nS.Pc.push("GetWallet")}};aY=aK([(0,nA.customElement)("w3m-what-is-a-wallet-view")],aY);let aJ=class extends nN.oi{render(){return nN.dy` - + Buy - `}};rJ=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC}([(0,aN.customElement)("w3m-what-is-a-buy-view")],rJ);var rQ=aI.iv` + `}};aJ=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_}([(0,nA.customElement)("w3m-what-is-a-buy-view")],aJ);var aQ=nN.iv` wui-loading-spinner { margin: 9px auto; } -`,ib=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let iy=6,iH=class extends aI.oi{firstUpdated(){this.startOTPTimeout()}disconnectedCallback(){clearTimeout(this.OTPTimeout)}constructor(){super(),this.loading=!1,this.timeoutTimeLeft=nT.$D.getTimeToNextEmailLogin(),this.error="",this.otp="",this.email=aE.Pc.state.data?.email,this.authConnector=aE.AA.getAuthConnector()}render(){if(!this.email)throw Error("w3m-email-otp-widget: No email provided");let eb=!!this.timeoutTimeLeft,em=this.getFooterLabels(eb);return aI.dy` +`,ib=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let iy=6,iw=class extends nN.oi{firstUpdated(){this.startOTPTimeout()}disconnectedCallback(){clearTimeout(this.OTPTimeout)}constructor(){super(),this.loading=!1,this.timeoutTimeLeft=n4.$D.getTimeToNextEmailLogin(),this.error="",this.otp="",this.email=nS.Pc.state.data?.email,this.authConnector=nS.AA.getAuthConnector()}render(){if(!this.email)throw Error("w3m-email-otp-widget: No email provided");let eb=!!this.timeoutTimeLeft,em=this.getFooterLabels(eb);return nN.dy` The code expires in 20 minutes - ${this.loading?aI.dy``:aI.dy` + ${this.loading?nN.dy``:nN.dy` - ${this.error?aI.dy` + ${this.error?nN.dy` ${this.error}. Try Again @@ -1802,12 +1773,12 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ - `}startOTPTimeout(){this.timeoutTimeLeft=nT.$D.getTimeToNextEmailLogin(),this.OTPTimeout=setInterval(()=>{this.timeoutTimeLeft>0?this.timeoutTimeLeft=nT.$D.getTimeToNextEmailLogin():clearInterval(this.OTPTimeout)},1e3)}async onOtpInputChange(eb){try{!this.loading&&(this.otp=eb.detail,this.authConnector&&this.otp.length===iy&&(this.loading=!0,await this.onOtpSubmit?.(this.otp)))}catch(eb){this.error=aE.j1.parseError(eb),this.loading=!1}}async onResendCode(){try{if(this.onOtpResend){if(!this.loading&&!this.timeoutTimeLeft){this.error="",this.otp="";let eb=aE.AA.getAuthConnector();if(!eb||!this.email)throw Error("w3m-email-otp-widget: Unable to resend email");this.loading=!0,await this.onOtpResend(this.email),this.startOTPTimeout(),aE.KC.showSuccess("Code email resent")}}else this.onStartOver&&this.onStartOver()}catch(eb){aE.KC.showError(eb)}finally{this.loading=!1}}getFooterLabels(eb){return this.onStartOver?{title:"Something wrong?",action:`Try again ${eb?`in ${this.timeoutTimeLeft}s`:""}`}:{title:"Didn't receive it?",action:`Resend ${eb?`in ${this.timeoutTimeLeft}s`:"Code"}`}}};iH.styles=rQ,ib([(0,aD.SB)()],iH.prototype,"loading",void 0),ib([(0,aD.SB)()],iH.prototype,"timeoutTimeLeft",void 0),ib([(0,aD.SB)()],iH.prototype,"error",void 0),iH=ib([(0,aN.customElement)("w3m-email-otp-widget")],iH);var iV=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let iw=class extends iH{constructor(){super(),this.unsubscribe=[],this.smartAccountDeployed=aE.Ni.state.smartAccountDeployed,this.onOtpSubmit=async eb=>{try{if(this.authConnector){let em=aE.fB.checkIfSmartAccountEnabled();await this.authConnector.provider.connectOtp({otp:eb}),aE.Xs.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_PASS"}),await aE.lZ.connectExternal(this.authConnector),aE.Xs.sendEvent({type:"track",event:"CONNECT_SUCCESS",properties:{method:"email",name:this.authConnector.name||"Unknown"}}),em&&!this.smartAccountDeployed?aE.Pc.push("UpgradeToSmartAccount"):aE.IN.close()}}catch(eb){throw aE.Xs.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_FAIL"}),eb}},this.onOtpResend=async eb=>{this.authConnector&&(await this.authConnector.provider.connectEmail({email:eb}),aE.Xs.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_SENT"}))},this.unsubscribe.push(aE.Ni.subscribeKey("smartAccountDeployed",eb=>{this.smartAccountDeployed=eb}))}};iV([(0,aD.SB)()],iw.prototype,"smartAccountDeployed",void 0),iw=iV([(0,aN.customElement)("w3m-email-verify-otp-view")],iw);var iM=aI.iv` + `}startOTPTimeout(){this.timeoutTimeLeft=n4.$D.getTimeToNextEmailLogin(),this.OTPTimeout=setInterval(()=>{this.timeoutTimeLeft>0?this.timeoutTimeLeft=n4.$D.getTimeToNextEmailLogin():clearInterval(this.OTPTimeout)},1e3)}async onOtpInputChange(eb){try{!this.loading&&(this.otp=eb.detail,this.authConnector&&this.otp.length===iy&&(this.loading=!0,await this.onOtpSubmit?.(this.otp)))}catch(eb){this.error=nS.j1.parseError(eb),this.loading=!1}}async onResendCode(){try{if(this.onOtpResend){if(!this.loading&&!this.timeoutTimeLeft){this.error="",this.otp="";let eb=nS.AA.getAuthConnector();if(!eb||!this.email)throw Error("w3m-email-otp-widget: Unable to resend email");this.loading=!0,await this.onOtpResend(this.email),this.startOTPTimeout(),nS.KC.showSuccess("Code email resent")}}else this.onStartOver&&this.onStartOver()}catch(eb){nS.KC.showError(eb)}finally{this.loading=!1}}getFooterLabels(eb){return this.onStartOver?{title:"Something wrong?",action:`Try again ${eb?`in ${this.timeoutTimeLeft}s`:""}`}:{title:"Didn't receive it?",action:`Resend ${eb?`in ${this.timeoutTimeLeft}s`:"Code"}`}}};iw.styles=aQ,ib([(0,nI.SB)()],iw.prototype,"loading",void 0),ib([(0,nI.SB)()],iw.prototype,"timeoutTimeLeft",void 0),ib([(0,nI.SB)()],iw.prototype,"error",void 0),iw=ib([(0,nA.customElement)("w3m-email-otp-widget")],iw);var iM=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let iC=class extends iw{constructor(){super(),this.unsubscribe=[],this.smartAccountDeployed=nS.Ni.state.smartAccountDeployed,this.onOtpSubmit=async eb=>{try{if(this.authConnector){let em=nS.fB.checkIfSmartAccountEnabled();await this.authConnector.provider.connectOtp({otp:eb}),nS.Xs.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_PASS"}),await nS.lZ.connectExternal(this.authConnector),nS.Xs.sendEvent({type:"track",event:"CONNECT_SUCCESS",properties:{method:"email",name:this.authConnector.name||"Unknown"}}),em&&!this.smartAccountDeployed?nS.Pc.push("UpgradeToSmartAccount"):nS.IN.close()}}catch(eb){throw nS.Xs.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_FAIL"}),eb}},this.onOtpResend=async eb=>{this.authConnector&&(await this.authConnector.provider.connectEmail({email:eb}),nS.Xs.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_SENT"}))},this.unsubscribe.push(nS.Ni.subscribeKey("smartAccountDeployed",eb=>{this.smartAccountDeployed=eb}))}};iM([(0,nI.SB)()],iC.prototype,"smartAccountDeployed",void 0),iC=iM([(0,nA.customElement)("w3m-email-verify-otp-view")],iC);var iT=nN.iv` wui-icon-box { height: var(--wui-icon-box-size-xl); width: var(--wui-icon-box-size-xl); } -`,iC=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let iT=class extends aI.oi{constructor(){super(),this.email=aE.Pc.state.data?.email,this.authConnector=aE.AA.getAuthConnector(),this.loading=!1,this.listenForDeviceApproval()}render(){if(!this.email)throw Error("w3m-email-verify-device-view: No email provided");if(!this.authConnector)throw Error("w3m-email-verify-device-view: No email connector provided");return aI.dy` +`,i_=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let iE=class extends nN.oi{constructor(){super(),this.email=nS.Pc.state.data?.email,this.authConnector=nS.AA.getAuthConnector(),this.loading=!1,this.listenForDeviceApproval()}render(){if(!this.email)throw Error("w3m-email-verify-device-view: No email provided");if(!this.authConnector)throw Error("w3m-email-verify-device-view: No email connector provided");return nN.dy` - `}async listenForDeviceApproval(){if(this.authConnector)try{await this.authConnector.provider.connectDevice(),aE.Xs.sendEvent({type:"track",event:"DEVICE_REGISTERED_FOR_EMAIL"}),aE.Xs.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_SENT"}),aE.Pc.replace("EmailVerifyOtp",{email:this.email})}catch(eb){aE.Pc.goBack()}}async onResendCode(){try{if(!this.loading){if(!this.authConnector||!this.email)throw Error("w3m-email-login-widget: Unable to resend email");this.loading=!0,await this.authConnector.provider.connectEmail({email:this.email}),this.listenForDeviceApproval(),aE.KC.showSuccess("Code email resent")}}catch(eb){aE.KC.showError(eb)}finally{this.loading=!1}}};iT.styles=iM,iC([(0,aD.SB)()],iT.prototype,"loading",void 0),iT=iC([(0,aN.customElement)("w3m-email-verify-device-view")],iT);var i_=aI.iv` + `}async listenForDeviceApproval(){if(this.authConnector)try{await this.authConnector.provider.connectDevice(),nS.Xs.sendEvent({type:"track",event:"DEVICE_REGISTERED_FOR_EMAIL"}),nS.Xs.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_SENT"}),nS.Pc.replace("EmailVerifyOtp",{email:this.email})}catch(eb){nS.Pc.goBack()}}async onResendCode(){try{if(!this.loading){if(!this.authConnector||!this.email)throw Error("w3m-email-login-widget: Unable to resend email");this.loading=!0,await this.authConnector.provider.connectEmail({email:this.email}),this.listenForDeviceApproval(),nS.KC.showSuccess("Code email resent")}}catch(eb){nS.KC.showError(eb)}finally{this.loading=!1}}};iE.styles=iT,i_([(0,nI.SB)()],iE.prototype,"loading",void 0),iE=i_([(0,nA.customElement)("w3m-email-verify-device-view")],iE);var iS=nN.iv` div { width: 100%; height: 400px; @@ -1859,14 +1830,14 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ transform: translateY(-50px); } } -`,iS=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let iE=400,iA=360,iN=64,iI=class extends aI.oi{constructor(){super(),this.bodyObserver=void 0,this.unsubscribe=[],this.iframe=document.getElementById("w3m-iframe"),this.ready=!1,this.unsubscribe.push(...[aE.IN.subscribeKey("open",eb=>{eb||(this.onHideIframe(),aE.Pc.popTransactionStack())})])}disconnectedCallback(){this.onHideIframe(),this.unsubscribe.forEach(eb=>eb()),this.bodyObserver?.unobserve(window.document.body)}async firstUpdated(){await this.syncTheme(),this.iframe.style.display="block",this.bodyObserver=new ResizeObserver(eb=>{let em=eb?.[0]?.contentBoxSize,eH=em?.[0]?.inlineSize;this.iframe.style.height=`${iE}px`,eH&&eH<=430?(this.iframe.style.width="100%",this.iframe.style.left="0px",this.iframe.style.bottom="0px",this.iframe.style.top="unset"):(this.iframe.style.width=`${iA}px`,this.iframe.style.left=`calc(50% - ${iA/2}px)`,this.iframe.style.top=`calc(50% - ${iE/2}px + ${iN/2}px)`,this.iframe.style.bottom="unset"),this.ready=!0}),this.bodyObserver.observe(window.document.body)}render(){return this.ready&&this.onShowIframe(),aI.dy`
`}onShowIframe(){let eb=window.innerWidth<=430;this.iframe.animate([{opacity:0,transform:eb?"translateY(50px)":"scale(.95)"},{opacity:1,transform:eb?"translateY(0)":"scale(1)"}],{duration:200,easing:"ease",fill:"forwards"})}async onHideIframe(){this.iframe.style.display="none",await this.iframe.animate([{opacity:1},{opacity:0}],{duration:200,easing:"ease",fill:"forwards"}).finished}async syncTheme(){let eb=aE.AA.getAuthConnector();if(eb){let em=aE.u0.getSnapshot().themeMode,eH=aE.u0.getSnapshot().themeVariables;await eb.provider.syncTheme({themeVariables:eH,w3mThemeVariables:(0,ry.tU)(eH,em)})}}};iI.styles=i_,iS([(0,aD.SB)()],iI.prototype,"ready",void 0),iI=iS([(0,aN.customElement)("w3m-approve-transaction-view")],iI);let iD=class extends aI.oi{render(){return aI.dy` +`,iA=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let iN=400,iI=360,iD=64,iO=class extends nN.oi{constructor(){super(),this.bodyObserver=void 0,this.unsubscribe=[],this.iframe=document.getElementById("w3m-iframe"),this.ready=!1,this.unsubscribe.push(...[nS.IN.subscribeKey("open",eb=>{eb||(this.onHideIframe(),nS.Pc.popTransactionStack())})])}disconnectedCallback(){this.onHideIframe(),this.unsubscribe.forEach(eb=>eb()),this.bodyObserver?.unobserve(window.document.body)}async firstUpdated(){await this.syncTheme(),this.iframe.style.display="block",this.bodyObserver=new ResizeObserver(eb=>{let em=eb?.[0]?.contentBoxSize,ew=em?.[0]?.inlineSize;this.iframe.style.height=`${iN}px`,ew&&ew<=430?(this.iframe.style.width="100%",this.iframe.style.left="0px",this.iframe.style.bottom="0px",this.iframe.style.top="unset"):(this.iframe.style.width=`${iI}px`,this.iframe.style.left=`calc(50% - ${iI/2}px)`,this.iframe.style.top=`calc(50% - ${iN/2}px + ${iD/2}px)`,this.iframe.style.bottom="unset"),this.ready=!0}),this.bodyObserver.observe(window.document.body)}render(){return this.ready&&this.onShowIframe(),nN.dy`
`}onShowIframe(){let eb=window.innerWidth<=430;this.iframe.animate([{opacity:0,transform:eb?"translateY(50px)":"scale(.95)"},{opacity:1,transform:eb?"translateY(0)":"scale(1)"}],{duration:200,easing:"ease",fill:"forwards"})}async onHideIframe(){this.iframe.style.display="none",await this.iframe.animate([{opacity:1},{opacity:0}],{duration:200,easing:"ease",fill:"forwards"}).finished}async syncTheme(){let eb=nS.AA.getAuthConnector();if(eb){let em=nS.u0.getSnapshot().themeMode,ew=nS.u0.getSnapshot().themeVariables;await eb.provider.syncTheme({themeVariables:ew,w3mThemeVariables:(0,rZ.tU)(ew,em)})}}};iO.styles=iS,iA([(0,nI.SB)()],iO.prototype,"ready",void 0),iO=iA([(0,nA.customElement)("w3m-approve-transaction-view")],iO);let iP=class extends nN.oi{render(){return nN.dy` Follow the instructions on @@ -1874,7 +1845,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ You will have to reconnect for security reasons - `}};iD=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC}([(0,aN.customElement)("w3m-upgrade-wallet-view")],iD);var iP=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let iO=class extends aI.oi{constructor(){super(...arguments),this.authConnector=aE.AA.getAuthConnector(),this.loading=!1,this.setPreferSmartAccount=async()=>{if(this.authConnector)try{this.loading=!0,await this.authConnector.provider.setPreferredAccount(nT.y_.ACCOUNT_TYPES.SMART_ACCOUNT),await aE.lZ.reconnectExternal(this.authConnector),this.loading=!1,aE._4.navigateAfterPreferredAccountTypeSelect()}catch(eb){aE.KC.showError("Error upgrading to smart account")}}}render(){return aI.dy` + `}};iP=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_}([(0,nA.customElement)("w3m-upgrade-wallet-view")],iP);var iR=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let iB=class extends nN.oi{constructor(){super(...arguments),this.authConnector=nS.AA.getAuthConnector(),this.loading=!1,this.setPreferSmartAccount=async()=>{if(this.authConnector)try{this.loading=!0,await this.authConnector.provider.setPreferredAccount(n4.y_.ACCOUNT_TYPES.SMART_ACCOUNT),await nS.lZ.reconnectExternal(this.authConnector),this.loading=!1,nS._4.navigateAfterPreferredAccountTypeSelect()}catch(eb){nS.KC.showError("Error upgrading to smart account")}}}render(){return nN.dy` - `}onboardingTemplate(){return aI.dy` -
`}buttonsTemplate(){return aI.dy` + `}buttonsTemplate(){return nN.dy` Continue - `}redirectToAccount(){aE.Pc.push("Account")}};iP([(0,aD.SB)()],iO.prototype,"authConnector",void 0),iP([(0,aD.SB)()],iO.prototype,"loading",void 0),iO=iP([(0,aN.customElement)("w3m-upgrade-to-smart-account-view")],iO);/** +
`}redirectToAccount(){nS.Pc.push("Account")}};iR([(0,nI.SB)()],iB.prototype,"authConnector",void 0),iR([(0,nI.SB)()],iB.prototype,"loading",void 0),iB=iR([(0,nA.customElement)("w3m-upgrade-to-smart-account-view")],iB);/** * @license * Copyright 2020 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */let{I:iR}=aP.Al,iB=eb=>void 0===eb.strings,iF={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},ij=eb=>(...em)=>({_$litDirective$:eb,values:em});class iU{constructor(eb){}get _$AU(){return this._$AM._$AU}_$AT(eb,em,eH){this._$Ct=eb,this._$AM=em,this._$Ci=eH}_$AS(eb,em){return this.update(eb,em)}update(eb,em){return this.render(...em)}}/** + */let{I:iF}=nD.Al,ij=eb=>void 0===eb.strings,iU={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},iV=eb=>(...em)=>({_$litDirective$:eb,values:em});class iH{constructor(eb){}get _$AU(){return this._$AM._$AU}_$AT(eb,em,ew){this._$Ct=eb,this._$AM=em,this._$Ci=ew}_$AS(eb,em){return this.update(eb,em)}update(eb,em){return this.render(...em)}}/** * @license * Copyright 2017 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */let iq=(eb,em)=>{let eH=eb._$AN;if(void 0===eH)return!1;for(let eb of eH)eb._$AO?.(em,!1),iq(eb,em);return!0},i$=eb=>{let em,eH;do{if(void 0===(em=eb._$AM))break;(eH=em._$AN).delete(eb),eb=em}while(0===eH?.size)},iW=eb=>{for(let em;em=eb._$AM;eb=em){let eH=em._$AN;if(void 0===eH)em._$AN=eH=new Set;else if(eH.has(eb))break;eH.add(eb),iK(em)}};function iZ(eb){void 0!==this._$AN?(i$(this),this._$AM=eb,iW(this)):this._$AM=eb}function iG(eb,em=!1,eH=0){let eV=this._$AH,ew=this._$AN;if(void 0!==ew&&0!==ew.size){if(em){if(Array.isArray(eV))for(let eb=eH;eb{eb.type==iF.CHILD&&(eb._$AP??=iG,eb._$AQ??=iZ)};class iJ extends iU{constructor(){super(...arguments),this._$AN=void 0}_$AT(eb,em,eH){super._$AT(eb,em,eH),iW(this),this.isConnected=eb._$AU}_$AO(eb,em=!0){eb!==this.isConnected&&(this.isConnected=eb,eb?this.reconnected?.():this.disconnected?.()),em&&(iq(this,eb),i$(this))}setValue(eb){if(iB(this._$Ct))this._$Ct._$AI(eb,this);else{let em=[...this._$Ct._$AH];em[this._$Ci]=eb,this._$Ct._$AI(em,this,0)}}disconnected(){}reconnected(){}}/** + */let i$=(eb,em)=>{let ew=eb._$AN;if(void 0===ew)return!1;for(let eb of ew)eb._$AO?.(em,!1),i$(eb,em);return!0},iq=eb=>{let em,ew;do{if(void 0===(em=eb._$AM))break;(ew=em._$AN).delete(eb),eb=em}while(0===ew?.size)},iW=eb=>{for(let em;em=eb._$AM;eb=em){let ew=em._$AN;if(void 0===ew)em._$AN=ew=new Set;else if(ew.has(eb))break;ew.add(eb),iG(em)}};function iZ(eb){void 0!==this._$AN?(iq(this),this._$AM=eb,iW(this)):this._$AM=eb}function iK(eb,em=!1,ew=0){let eM=this._$AH,eC=this._$AN;if(void 0!==eC&&0!==eC.size){if(em){if(Array.isArray(eM))for(let eb=ew;eb{eb.type==iU.CHILD&&(eb._$AP??=iK,eb._$AQ??=iZ)};class iJ extends iH{constructor(){super(...arguments),this._$AN=void 0}_$AT(eb,em,ew){super._$AT(eb,em,ew),iW(this),this.isConnected=eb._$AU}_$AO(eb,em=!0){eb!==this.isConnected&&(this.isConnected=eb,eb?this.reconnected?.():this.disconnected?.()),em&&(i$(this,eb),iq(this))}setValue(eb){if(ij(this._$Ct))this._$Ct._$AI(eb,this);else{let em=[...this._$Ct._$AH];em[this._$Ci]=eb,this._$Ct._$AI(em,this,0)}}disconnected(){}reconnected(){}}/** * @license * Copyright 2020 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */let iQ=()=>new i6;class i6{}let i4=new WeakMap,i3=ij(class extends iJ{render(eb){return aP.Ld}update(eb,[em]){let eH=em!==this.Y;return eH&&void 0!==this.Y&&this.rt(void 0),(eH||this.lt!==this.ct)&&(this.Y=em,this.ht=eb.options?.host,this.rt(this.ct=eb.element)),aP.Ld}rt(eb){if("function"==typeof this.Y){let em=this.ht??globalThis,eH=i4.get(em);void 0===eH&&(eH=new WeakMap,i4.set(em,eH)),void 0!==eH.get(this.Y)&&this.Y.call(this.ht,void 0),eH.set(this.Y,eb),void 0!==eb&&this.Y.call(this.ht,eb)}else this.Y.value=eb}get lt(){return"function"==typeof this.Y?i4.get(this.ht??globalThis)?.get(this.Y):this.Y?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});var i5=aI.iv` + */let iQ=()=>new i6;class i6{}let i4=new WeakMap,i3=iV(class extends iJ{render(eb){return nD.Ld}update(eb,[em]){let ew=em!==this.Y;return ew&&void 0!==this.Y&&this.rt(void 0),(ew||this.lt!==this.ct)&&(this.Y=em,this.ht=eb.options?.host,this.rt(this.ct=eb.element)),nD.Ld}rt(eb){if("function"==typeof this.Y){let em=this.ht??globalThis,ew=i4.get(em);void 0===ew&&(ew=new WeakMap,i4.set(em,ew)),void 0!==ew.get(this.Y)&&this.Y.call(this.ht,void 0),ew.set(this.Y,eb),void 0!==eb&&this.Y.call(this.ht,eb)}else this.Y.value=eb}get lt(){return"function"==typeof this.Y?i4.get(this.ht??globalThis)?.get(this.Y):this.Y?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});var i5=nN.iv` wui-email-input { width: 100%; } @@ -1945,7 +1916,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ display: block; position: relative; } -`,i8=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let i9=class extends aI.oi{constructor(){super(...arguments),this.formRef=iQ(),this.initialEmail=aE.Pc.state.data?.email??"",this.email="",this.loading=!1}firstUpdated(){this.formRef.value?.addEventListener("keydown",eb=>{"Enter"===eb.key&&this.onSubmitEmail(eb)})}render(){let eb=!this.loading&&this.email.length>3&&this.email!==this.initialEmail;return aI.dy` +`,i8=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let i9=class extends nN.oi{constructor(){super(...arguments),this.formRef=iQ(),this.initialEmail=nS.Pc.state.data?.email??"",this.email="",this.loading=!1}firstUpdated(){this.formRef.value?.addEventListener("keydown",eb=>{"Enter"===eb.key&&this.onSubmitEmail(eb)})}render(){let eb=!this.loading&&this.email.length>3&&this.email!==this.initialEmail;return nN.dy`
- + Cancel @@ -1974,7 +1945,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ - `}onEmailInputChange(eb){this.email=eb.detail}async onSubmitEmail(eb){try{if(this.loading)return;this.loading=!0,eb.preventDefault();let em=aE.AA.getAuthConnector();if(!em)throw Error("w3m-update-email-wallet: Email connector not found");let eH=await em.provider.updateEmail({email:this.email});aE.Xs.sendEvent({type:"track",event:"EMAIL_EDIT"}),"VERIFY_SECONDARY_OTP"===eH.action?aE.Pc.push("UpdateEmailSecondaryOtp",{email:this.initialEmail,newEmail:this.email}):aE.Pc.push("UpdateEmailPrimaryOtp",{email:this.initialEmail,newEmail:this.email})}catch(eb){aE.KC.showError(eb),this.loading=!1}}};i9.styles=i5,i8([(0,aD.SB)()],i9.prototype,"email",void 0),i8([(0,aD.SB)()],i9.prototype,"loading",void 0),i9=i8([(0,aN.customElement)("w3m-update-email-wallet-view")],i9);var i7=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let cm=class extends iH{constructor(){super(),this.email=aE.Pc.state.data?.email,this.onOtpSubmit=async eb=>{try{this.authConnector&&(await this.authConnector.provider.updateEmailPrimaryOtp({otp:eb}),aE.Xs.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_PASS"}),aE.Pc.replace("UpdateEmailSecondaryOtp",aE.Pc.state.data))}catch(eb){throw aE.Xs.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_FAIL"}),eb}},this.onStartOver=()=>{aE.Pc.replace("UpdateEmailWallet",aE.Pc.state.data)}}};cm=i7([(0,aN.customElement)("w3m-update-email-primary-otp-view")],cm);var cz=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let cH=class extends iH{constructor(){super(),this.email=aE.Pc.state.data?.newEmail,this.onOtpSubmit=async eb=>{try{this.authConnector&&(await this.authConnector.provider.updateEmailSecondaryOtp({otp:eb}),aE.Xs.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_PASS"}),aE.Pc.reset("Account"))}catch(eb){throw aE.Xs.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_FAIL"}),eb}},this.onStartOver=()=>{aE.Pc.replace("UpdateEmailWallet",aE.Pc.state.data)}}};cH=cz([(0,aN.customElement)("w3m-update-email-secondary-otp-view")],cH);var cV=aI.iv` + `}onEmailInputChange(eb){this.email=eb.detail}async onSubmitEmail(eb){try{if(this.loading)return;this.loading=!0,eb.preventDefault();let em=nS.AA.getAuthConnector();if(!em)throw Error("w3m-update-email-wallet: Email connector not found");let ew=await em.provider.updateEmail({email:this.email});nS.Xs.sendEvent({type:"track",event:"EMAIL_EDIT"}),"VERIFY_SECONDARY_OTP"===ew.action?nS.Pc.push("UpdateEmailSecondaryOtp",{email:this.initialEmail,newEmail:this.email}):nS.Pc.push("UpdateEmailPrimaryOtp",{email:this.initialEmail,newEmail:this.email})}catch(eb){nS.KC.showError(eb),this.loading=!1}}};i9.styles=i5,i8([(0,nI.SB)()],i9.prototype,"email",void 0),i8([(0,nI.SB)()],i9.prototype,"loading",void 0),i9=i8([(0,nA.customElement)("w3m-update-email-wallet-view")],i9);var i7=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let cz=class extends iw{constructor(){super(),this.email=nS.Pc.state.data?.email,this.onOtpSubmit=async eb=>{try{this.authConnector&&(await this.authConnector.provider.updateEmailPrimaryOtp({otp:eb}),nS.Xs.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_PASS"}),nS.Pc.replace("UpdateEmailSecondaryOtp",nS.Pc.state.data))}catch(eb){throw nS.Xs.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_FAIL"}),eb}},this.onStartOver=()=>{nS.Pc.replace("UpdateEmailWallet",nS.Pc.state.data)}}};cz=i7([(0,nA.customElement)("w3m-update-email-primary-otp-view")],cz);var cw=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let cM=class extends iw{constructor(){super(),this.email=nS.Pc.state.data?.newEmail,this.onOtpSubmit=async eb=>{try{this.authConnector&&(await this.authConnector.provider.updateEmailSecondaryOtp({otp:eb}),nS.Xs.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_PASS"}),nS.Pc.reset("Account"))}catch(eb){throw nS.Xs.sendEvent({type:"track",event:"EMAIL_VERIFICATION_CODE_FAIL"}),eb}},this.onStartOver=()=>{nS.Pc.replace("UpdateEmailWallet",nS.Pc.state.data)}}};cM=cw([(0,nA.customElement)("w3m-update-email-secondary-otp-view")],cM);var cC=nN.iv` :host > wui-flex { max-height: clamp(360px, 540px, 80vh); overflow: scroll; @@ -1984,7 +1955,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ :host > wui-flex::-webkit-scrollbar { display: none; } -`,cw=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let cM=class extends aI.oi{constructor(){super(...arguments),this.swapUnsupportedChain=aE.Pc.state.data?.swapUnsupportedChain,this.disconecting=!1}render(){return aI.dy` +`,ck=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let cT=class extends nN.oi{constructor(){super(...arguments),this.swapUnsupportedChain=nS.Pc.state.data?.swapUnsupportedChain,this.disconecting=!1}render(){return nN.dy` - `}descriptionTemplate(){return this.swapUnsupportedChain?aI.dy` + `}descriptionTemplate(){return this.swapUnsupportedChain?nN.dy` The swap feature doesn’t support your current network. Switch to an available option to continue. - `:aI.dy` + `:nN.dy` This app doesn’t support your current network. Switch to an available option to continue. - `}networksTemplate(){let{approvedCaipNetworkIds:eb,requestedCaipNetworks:em}=aE.fB.state,eH=aE.j1.sortRequestedNetworks(eb,em),eV=this.swapUnsupportedChain?eH.filter(eb=>aE.bq.SWAP_SUPPORTED_NETWORKS.includes(eb.id)):eH;return eV.map(eb=>aI.dy` + `}networksTemplate(){let{approvedCaipNetworkIds:eb,requestedCaipNetworks:em}=nS.fB.state,ew=nS.j1.sortRequestedNetworks(eb,em),eM=this.swapUnsupportedChain?ew.filter(eb=>nS.bq.SWAP_SUPPORTED_NETWORKS.includes(eb.id)):ew;return eM.map(eb=>nN.dy` this.onSwitchNetwork(eb)} > - `)}async onDisconnect(){try{this.disconecting=!0,await aE.lZ.disconnect(),aE.Xs.sendEvent({type:"track",event:"DISCONNECT_SUCCESS"}),aE.IN.close()}catch{aE.Xs.sendEvent({type:"track",event:"DISCONNECT_ERROR"}),aE.KC.showError("Failed to disconnect")}finally{this.disconecting=!1}}async onSwitchNetwork(eb){let{isConnected:em}=aE.Ni.state,{approvedCaipNetworkIds:eH,supportsAllNetworks:eV,caipNetwork:ew}=aE.fB.state,{data:eM}=aE.Pc.state;em&&ew?.id!==eb.id?eH?.includes(eb.id)?(await aE.fB.switchActiveNetwork(eb),aE._4.navigateAfterNetworkSwitch()):eV&&aE.Pc.push("SwitchNetwork",{...eM,network:eb}):em||(aE.fB.setCaipNetwork(eb),aE.Pc.push("Connect"))}};cM.styles=cV,cw([(0,aD.SB)()],cM.prototype,"disconecting",void 0),cM=cw([(0,aN.customElement)("w3m-unsupported-chain-view")],cM);var cC=aI.iv` + `)}async onDisconnect(){try{this.disconecting=!0,await nS.lZ.disconnect(),nS.Xs.sendEvent({type:"track",event:"DISCONNECT_SUCCESS"}),nS.IN.close()}catch{nS.Xs.sendEvent({type:"track",event:"DISCONNECT_ERROR"}),nS.KC.showError("Failed to disconnect")}finally{this.disconecting=!1}}async onSwitchNetwork(eb){let{isConnected:em}=nS.Ni.state,{approvedCaipNetworkIds:ew,supportsAllNetworks:eM,caipNetwork:eC}=nS.fB.state,{data:eT}=nS.Pc.state;em&&eC?.id!==eb.id?ew?.includes(eb.id)?(await nS.fB.switchActiveNetwork(eb),nS._4.navigateAfterNetworkSwitch()):eM&&nS.Pc.push("SwitchNetwork",{...eT,network:eb}):em||(nS.fB.setCaipNetwork(eb),nS.Pc.push("Connect"))}};cT.styles=cC,ck([(0,nI.SB)()],cT.prototype,"disconecting",void 0),cT=ck([(0,nA.customElement)("w3m-unsupported-chain-view")],cT);var c_=nN.iv` wui-compatible-network { margin-top: var(--wui-spacing-l); } -`,ck=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let cT=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.address=aE.Ni.state.address,this.profileName=aE.Ni.state.profileName,this.network=aE.fB.state.caipNetwork,this.preferredAccountType=aE.Ni.state.preferredAccountType,this.unsubscribe.push(...[aE.Ni.subscribe(eb=>{eb.address?(this.address=eb.address,this.profileName=eb.profileName,this.preferredAccountType=eb.preferredAccountType):aE.KC.showError("Account not found")})],aE.fB.subscribeKey("caipNetwork",eb=>{eb?.id&&(this.network=eb)}))}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){if(!this.address)throw Error("w3m-wallet-receive-view: No account provided");let eb=aE.fz.getNetworkImage(this.network);return aI.dy` =0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let cS=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.address=nS.Ni.state.address,this.profileName=nS.Ni.state.profileName,this.network=nS.fB.state.caipNetwork,this.preferredAccountType=nS.Ni.state.preferredAccountType,this.unsubscribe.push(...[nS.Ni.subscribe(eb=>{eb.address?(this.address=eb.address,this.profileName=eb.profileName,this.preferredAccountType=eb.preferredAccountType):nS.KC.showError("Account not found")})],nS.fB.subscribeKey("caipNetwork",eb=>{eb?.id&&(this.network=eb)}))}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){if(!this.address)throw Error("w3m-wallet-receive-view: No account provided");let eb=nS.fz.getNetworkImage(this.network);return nN.dy` ${this.networkTemplate()} - `}networkTemplate(){let eb=aE.fB.getRequestedCaipNetworks(),em=aE.fB.checkIfSmartAccountEnabled(),eH=aE.fB.state.caipNetwork;if(this.preferredAccountType===nT.y_.ACCOUNT_TYPES.SMART_ACCOUNT&&em)return eH?aI.dy``}networkTemplate(){let eb=nS.fB.getRequestedCaipNetworks(),em=nS.fB.checkIfSmartAccountEnabled(),ew=nS.fB.state.caipNetwork;if(this.preferredAccountType===n4.y_.ACCOUNT_TYPES.SMART_ACCOUNT&&em)return ew?nN.dy``:null;let eV=eb?.filter(eb=>eb?.imageId)?.slice(0,5),ew=eV.map(aE.fz.getNetworkImage).filter(Boolean);return aI.dy``:null;let eM=eb?.filter(eb=>eb?.imageId)?.slice(0,5),eC=eM.map(nS.fz.getNetworkImage).filter(Boolean);return nN.dy``}onReceiveClick(){aE.Pc.push("WalletCompatibleNetworks")}onCopyClick(){try{this.address&&(aE.j1.copyToClopboard(this.address),aE.KC.showSuccess("Address copied"))}catch{aE.KC.showError("Failed to copy")}}};cT.styles=cC,ck([(0,aD.SB)()],cT.prototype,"address",void 0),ck([(0,aD.SB)()],cT.prototype,"profileName",void 0),ck([(0,aD.SB)()],cT.prototype,"network",void 0),ck([(0,aD.SB)()],cT.prototype,"preferredAccountType",void 0),cT=ck([(0,aN.customElement)("w3m-wallet-receive-view")],cT);var c_=aI.iv` + .networkImages=${eC} + >`}onReceiveClick(){nS.Pc.push("WalletCompatibleNetworks")}onCopyClick(){try{this.address&&(nS.j1.copyToClopboard(this.address),nS.KC.showSuccess("Address copied"))}catch{nS.KC.showError("Failed to copy")}}};cS.styles=c_,cE([(0,nI.SB)()],cS.prototype,"address",void 0),cE([(0,nI.SB)()],cS.prototype,"profileName",void 0),cE([(0,nI.SB)()],cS.prototype,"network",void 0),cE([(0,nI.SB)()],cS.prototype,"preferredAccountType",void 0),cS=cE([(0,nA.customElement)("w3m-wallet-receive-view")],cS);var cA=nN.iv` :host > wui-flex { max-height: clamp(360px, 540px, 80vh); overflow: scroll; @@ -2083,7 +2054,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ :host > wui-flex::-webkit-scrollbar { display: none; } -`,cS=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let cE=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.preferredAccountType=aE.Ni.state.preferredAccountType,this.unsubscribe.push(aE.Ni.subscribeKey("preferredAccountType",eb=>{this.preferredAccountType=eb}))}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return aI.dy` =0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let cI=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.preferredAccountType=nS.Ni.state.preferredAccountType,this.unsubscribe.push(nS.Ni.subscribeKey("preferredAccountType",eb=>{this.preferredAccountType=eb}))}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return nN.dy` ${this.networkTemplate()} - `}networkTemplate(){let{approvedCaipNetworkIds:eb,requestedCaipNetworks:em,caipNetwork:eH}=aE.fB.state,eV=aE.fB.checkIfSmartAccountEnabled(),ew=aE.j1.sortRequestedNetworks(eb,em);if(eV&&this.preferredAccountType===nT.y_.ACCOUNT_TYPES.SMART_ACCOUNT){if(!eH)return null;ew=[eH]}return ew.map(eb=>aI.dy` + `}networkTemplate(){let{approvedCaipNetworkIds:eb,requestedCaipNetworks:em,caipNetwork:ew}=nS.fB.state,eM=nS.fB.checkIfSmartAccountEnabled(),eC=nS.j1.sortRequestedNetworks(eb,em);if(eM&&this.preferredAccountType===n4.y_.ACCOUNT_TYPES.SMART_ACCOUNT){if(!ew)return null;eC=[ew]}return eC.map(eb=>nN.dy` - `)}};cE.styles=c_,cS([(0,aD.SB)()],cE.prototype,"preferredAccountType",void 0),cE=cS([(0,aN.customElement)("w3m-wallet-compatible-networks-view")],cE);var cA=aI.iv` + `)}};cI.styles=cA,cN([(0,nI.SB)()],cI.prototype,"preferredAccountType",void 0),cI=cN([(0,nA.customElement)("w3m-wallet-compatible-networks-view")],cI);var cD=nN.iv` :host { display: block; } @@ -2129,7 +2100,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ .inputContainer { height: fit-content; } -`,cN=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let cI=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.token=aE.Si.state.token,this.sendTokenAmount=aE.Si.state.sendTokenAmount,this.receiverAddress=aE.Si.state.receiverAddress,this.receiverProfileName=aE.Si.state.receiverProfileName,this.loading=aE.Si.state.loading,this.gasPriceInUSD=aE.Si.state.gasPriceInUSD,this.message="Preview Send",this.fetchNetworkPrice(),this.unsubscribe.push(...[aE.Si.subscribe(eb=>{this.token=eb.token,this.sendTokenAmount=eb.sendTokenAmount,this.receiverAddress=eb.receiverAddress,this.gasPriceInUSD=eb.gasPriceInUSD,this.receiverProfileName=eb.receiverProfileName,this.loading=eb.loading})])}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return this.getMessage(),aI.dy` +`,cO=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let cP=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.token=nS.Si.state.token,this.sendTokenAmount=nS.Si.state.sendTokenAmount,this.receiverAddress=nS.Si.state.receiverAddress,this.receiverProfileName=nS.Si.state.receiverProfileName,this.loading=nS.Si.state.loading,this.gasPriceInUSD=nS.Si.state.gasPriceInUSD,this.message="Preview Send",this.fetchNetworkPrice(),this.unsubscribe.push(...[nS.Si.subscribe(eb=>{this.token=eb.token,this.sendTokenAmount=eb.sendTokenAmount,this.receiverAddress=eb.receiverAddress,this.gasPriceInUSD=eb.gasPriceInUSD,this.receiverProfileName=eb.receiverProfileName,this.loading=eb.loading})])}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return this.getMessage(),nN.dy` - `}async fetchNetworkPrice(){await aE.nY.getNetworkTokenPrice();let eb=await aE.nY.getInitialGasPrice();eb?.gasPrice&&eb?.gasPriceInUSD&&(aE.Si.setGasPrice(eb.gasPrice),aE.Si.setGasPriceInUsd(eb.gasPriceInUSD))}onButtonClick(){aE.Pc.push("WalletSendPreview")}getMessage(){if(this.message="Preview Send",this.receiverAddress&&!aE.j1.isAddress(this.receiverAddress)&&(this.message="Invalid Address"),this.receiverAddress||(this.message="Add Address"),this.sendTokenAmount&&this.token&&this.sendTokenAmount>Number(this.token.quantity.numeric)&&(this.message="Insufficient Funds"),this.sendTokenAmount||(this.message="Add Amount"),this.sendTokenAmount&&this.token?.price){let eb=this.sendTokenAmount*this.token.price;eb||(this.message="Incorrect Value")}this.token||(this.message="Select Token")}};cI.styles=cA,cN([(0,aD.SB)()],cI.prototype,"token",void 0),cN([(0,aD.SB)()],cI.prototype,"sendTokenAmount",void 0),cN([(0,aD.SB)()],cI.prototype,"receiverAddress",void 0),cN([(0,aD.SB)()],cI.prototype,"receiverProfileName",void 0),cN([(0,aD.SB)()],cI.prototype,"loading",void 0),cN([(0,aD.SB)()],cI.prototype,"gasPriceInUSD",void 0),cN([(0,aD.SB)()],cI.prototype,"message",void 0),cI=cN([(0,aN.customElement)("w3m-wallet-send-view")],cI);var cD=aI.iv` + `}async fetchNetworkPrice(){await nS.nY.getNetworkTokenPrice();let eb=await nS.nY.getInitialGasPrice();eb?.gasPrice&&eb?.gasPriceInUSD&&(nS.Si.setGasPrice(eb.gasPrice),nS.Si.setGasPriceInUsd(eb.gasPriceInUSD))}onButtonClick(){nS.Pc.push("WalletSendPreview")}getMessage(){if(this.message="Preview Send",this.receiverAddress&&!nS.j1.isAddress(this.receiverAddress)&&(this.message="Invalid Address"),this.receiverAddress||(this.message="Add Address"),this.sendTokenAmount&&this.token&&this.sendTokenAmount>Number(this.token.quantity.numeric)&&(this.message="Insufficient Funds"),this.sendTokenAmount||(this.message="Add Amount"),this.sendTokenAmount&&this.token?.price){let eb=this.sendTokenAmount*this.token.price;eb||(this.message="Incorrect Value")}this.token||(this.message="Select Token")}};cP.styles=cD,cO([(0,nI.SB)()],cP.prototype,"token",void 0),cO([(0,nI.SB)()],cP.prototype,"sendTokenAmount",void 0),cO([(0,nI.SB)()],cP.prototype,"receiverAddress",void 0),cO([(0,nI.SB)()],cP.prototype,"receiverProfileName",void 0),cO([(0,nI.SB)()],cP.prototype,"loading",void 0),cO([(0,nI.SB)()],cP.prototype,"gasPriceInUSD",void 0),cO([(0,nI.SB)()],cP.prototype,"message",void 0),cP=cO([(0,nA.customElement)("w3m-wallet-send-view")],cP);var cR=nN.iv` .contentContainer { height: 440px; overflow: scroll; @@ -2176,11 +2147,11 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ height: 40px; border-radius: var(--wui-border-radius-xxs); } -`,cP=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let cO=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.tokenBalance=aE.Ni.state.tokenBalance,this.search="",this.onDebouncedSearch=aE.j1.debounce(eb=>{this.search=eb}),this.unsubscribe.push(...[aE.Ni.subscribe(eb=>{this.tokenBalance=eb.tokenBalance})])}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return aI.dy` +`,cB=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let cF=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.tokenBalance=nS.Ni.state.tokenBalance,this.search="",this.onDebouncedSearch=nS.j1.debounce(eb=>{this.search=eb}),this.unsubscribe.push(...[nS.Ni.subscribe(eb=>{this.tokenBalance=eb.tokenBalance})])}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return nN.dy` ${this.templateSearchInput()} ${this.templateTokens()} - `}templateSearchInput(){return aI.dy` + `}templateSearchInput(){return nN.dy` - `}templateTokens(){return this.tokens=this.tokenBalance?.filter(eb=>eb.chainId===aE.fB.state.caipNetwork?.id),this.search?this.filteredTokens=this.tokenBalance?.filter(eb=>eb.name.toLowerCase().includes(this.search.toLowerCase())):this.filteredTokens=this.tokens,aI.dy` + `}templateTokens(){return this.tokens=this.tokenBalance?.filter(eb=>eb.chainId===nS.fB.state.caipNetwork?.id),this.search?this.filteredTokens=this.tokenBalance?.filter(eb=>eb.name.toLowerCase().includes(this.search.toLowerCase())):this.filteredTokens=this.tokens,nN.dy` Your tokens - ${this.filteredTokens&&this.filteredTokens.length>0?this.filteredTokens.map(eb=>aI.dy`0?this.filteredTokens.map(eb=>nN.dy``):aI.dy``):nN.dy``} - `}onBuyClick(){aE.Pc.push("OnRampProviders")}onInputChange(eb){this.onDebouncedSearch(eb.detail)}handleTokenClick(eb){aE.Si.setToken(eb),aE.Si.setTokenAmount(void 0),aE.Pc.goBack()}};cO.styles=cD,cP([(0,aD.SB)()],cO.prototype,"tokenBalance",void 0),cP([(0,aD.SB)()],cO.prototype,"tokens",void 0),cP([(0,aD.SB)()],cO.prototype,"filteredTokens",void 0),cP([(0,aD.SB)()],cO.prototype,"search",void 0),cO=cP([(0,aN.customElement)("w3m-wallet-send-select-token-view")],cO);var cR=aI.iv` + `}onBuyClick(){nS.Pc.push("OnRampProviders")}onInputChange(eb){this.onDebouncedSearch(eb.detail)}handleTokenClick(eb){nS.Si.setToken(eb),nS.Si.setTokenAmount(void 0),nS.Pc.goBack()}};cF.styles=cR,cB([(0,nI.SB)()],cF.prototype,"tokenBalance",void 0),cB([(0,nI.SB)()],cF.prototype,"tokens",void 0),cB([(0,nI.SB)()],cF.prototype,"filteredTokens",void 0),cB([(0,nI.SB)()],cF.prototype,"search",void 0),cF=cB([(0,nA.customElement)("w3m-wallet-send-select-token-view")],cF);var cj=nN.iv` wui-avatar, wui-image { display: ruby; @@ -2259,7 +2230,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ --local-width: 100% !important; --local-border-radius: var(--wui-border-radius-xs) !important; } -`,cB=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let cF=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.token=aE.Si.state.token,this.sendTokenAmount=aE.Si.state.sendTokenAmount,this.receiverAddress=aE.Si.state.receiverAddress,this.receiverProfileName=aE.Si.state.receiverProfileName,this.receiverProfileImageUrl=aE.Si.state.receiverProfileImageUrl,this.gasPriceInUSD=aE.Si.state.gasPriceInUSD,this.caipNetwork=aE.fB.state.caipNetwork,this.unsubscribe.push(...[aE.Si.subscribe(eb=>{this.token=eb.token,this.sendTokenAmount=eb.sendTokenAmount,this.receiverAddress=eb.receiverAddress,this.gasPriceInUSD=eb.gasPriceInUSD,this.receiverProfileName=eb.receiverProfileName,this.receiverProfileImageUrl=eb.receiverProfileImageUrl}),aE.fB.subscribeKey("caipNetwork",eb=>this.caipNetwork=eb)])}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return aI.dy` +`,cU=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let cV=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.token=nS.Si.state.token,this.sendTokenAmount=nS.Si.state.sendTokenAmount,this.receiverAddress=nS.Si.state.receiverAddress,this.receiverProfileName=nS.Si.state.receiverProfileName,this.receiverProfileImageUrl=nS.Si.state.receiverProfileImageUrl,this.gasPriceInUSD=nS.Si.state.gasPriceInUSD,this.caipNetwork=nS.fB.state.caipNetwork,this.unsubscribe.push(...[nS.Si.subscribe(eb=>{this.token=eb.token,this.sendTokenAmount=eb.sendTokenAmount,this.receiverAddress=eb.receiverAddress,this.gasPriceInUSD=eb.gasPriceInUSD,this.receiverProfileName=eb.receiverProfileName,this.receiverProfileImageUrl=eb.receiverProfileImageUrl}),nS.fB.subscribeKey("caipNetwork",eb=>this.caipNetwork=eb)])}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return nN.dy` @@ -2267,7 +2238,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ ${this.sendValueTemplate()} @@ -2277,7 +2248,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ To `}sendValueTemplate(){if(this.token&&this.sendTokenAmount){let eb=this.token.price,em=eb*this.sendTokenAmount;return aI.dy``}sendValueTemplate(){if(this.token&&this.sendTokenAmount){let eb=this.token.price,em=eb*this.sendTokenAmount;return nN.dy`$${em.toFixed(2)}`}return null}onSendClick(){aE.Si.sendToken()}onCancelClick(){aE.Pc.goBack()}};cF.styles=cR,cB([(0,aD.SB)()],cF.prototype,"token",void 0),cB([(0,aD.SB)()],cF.prototype,"sendTokenAmount",void 0),cB([(0,aD.SB)()],cF.prototype,"receiverAddress",void 0),cB([(0,aD.SB)()],cF.prototype,"receiverProfileName",void 0),cB([(0,aD.SB)()],cF.prototype,"receiverProfileImageUrl",void 0),cB([(0,aD.SB)()],cF.prototype,"gasPriceInUSD",void 0),cB([(0,aD.SB)()],cF.prototype,"caipNetwork",void 0),cF=cB([(0,aN.customElement)("w3m-wallet-send-preview-view")],cF);var cj=aI.iv` + >`}return null}onSendClick(){nS.Si.sendToken()}onCancelClick(){nS.Pc.goBack()}};cV.styles=cj,cU([(0,nI.SB)()],cV.prototype,"token",void 0),cU([(0,nI.SB)()],cV.prototype,"sendTokenAmount",void 0),cU([(0,nI.SB)()],cV.prototype,"receiverAddress",void 0),cU([(0,nI.SB)()],cV.prototype,"receiverProfileName",void 0),cU([(0,nI.SB)()],cV.prototype,"receiverProfileImageUrl",void 0),cU([(0,nI.SB)()],cV.prototype,"gasPriceInUSD",void 0),cU([(0,nI.SB)()],cV.prototype,"caipNetwork",void 0),cV=cU([(0,nA.customElement)("w3m-wallet-send-preview-view")],cV);var cH=nN.iv` wui-grid { max-height: clamp(360px, 400px, 80vh); overflow: scroll; @@ -2344,7 +2315,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ justify-content: center; grid-column: 1 / span 4; } -`;function cU(eb){let{connectors:em}=aE.AA.state,eH=em.filter(eb=>"ANNOUNCED"===eb.type).reduce((eb,em)=>(em.info?.rdns&&(eb[em.info.rdns]=!0),eb),{}),eV=eb.map(eb=>({...eb,installed:!!eb.rdns&&!!eH[eb.rdns??""]})),ew=eV.sort((eb,em)=>Number(em.installed)-Number(eb.installed));return ew}var cq=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let c$="local-paginator",cW=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.paginationObserver=void 0,this.initial=!aE.QT.state.wallets.length,this.wallets=aE.QT.state.wallets,this.recommended=aE.QT.state.recommended,this.featured=aE.QT.state.featured,this.unsubscribe.push(...[aE.QT.subscribeKey("wallets",eb=>this.wallets=eb),aE.QT.subscribeKey("recommended",eb=>this.recommended=eb),aE.QT.subscribeKey("featured",eb=>this.featured=eb)])}firstUpdated(){this.initialFetch(),this.createPaginationObserver()}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb()),this.paginationObserver?.disconnect()}render(){return aI.dy` +`;function c$(eb){let{connectors:em}=nS.AA.state,ew=em.filter(eb=>"ANNOUNCED"===eb.type).reduce((eb,em)=>(em.info?.rdns&&(eb[em.info.rdns]=!0),eb),{}),eM=eb.map(eb=>({...eb,installed:!!eb.rdns&&!!ew[eb.rdns??""]})),eC=eM.sort((eb,em)=>Number(em.installed)-Number(eb.installed));return eC}var cq=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let cW="local-paginator",cZ=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.paginationObserver=void 0,this.initial=!nS.QT.state.wallets.length,this.wallets=nS.QT.state.wallets,this.recommended=nS.QT.state.recommended,this.featured=nS.QT.state.featured,this.unsubscribe.push(...[nS.QT.subscribeKey("wallets",eb=>this.wallets=eb),nS.QT.subscribeKey("recommended",eb=>this.recommended=eb),nS.QT.subscribeKey("featured",eb=>this.featured=eb)])}firstUpdated(){this.initialFetch(),this.createPaginationObserver()}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb()),this.paginationObserver?.disconnect()}render(){return nN.dy` - `}async initialFetch(){let eb=this.shadowRoot?.querySelector("wui-grid");this.initial&&eb&&(await aE.QT.fetchWallets({page:1}),await eb.animate([{opacity:1},{opacity:0}],{duration:200,fill:"forwards",easing:"ease"}).finished,this.initial=!1,eb.animate([{opacity:0},{opacity:1}],{duration:200,fill:"forwards",easing:"ease"}))}shimmerTemplate(eb,em){return[...Array(eb)].map(()=>aI.dy` - - `)}walletsTemplate(){let eb=[...this.featured,...this.recommended,...this.wallets],em=cU(eb);return em.map(eb=>aI.dy` + `}async initialFetch(){let eb=this.shadowRoot?.querySelector("wui-grid");this.initial&&eb&&(await nS.QT.fetchWallets({page:1}),await eb.animate([{opacity:1},{opacity:0}],{duration:200,fill:"forwards",easing:"ease"}).finished,this.initial=!1,eb.animate([{opacity:0},{opacity:1}],{duration:200,fill:"forwards",easing:"ease"}))}shimmerTemplate(eb,em){return[...Array(eb)].map(()=>nN.dy` + + `)}walletsTemplate(){let eb=[...this.featured,...this.recommended,...this.wallets],em=c$(eb);return em.map(eb=>nN.dy` this.onConnectWallet(eb)} .installed=${eb.installed} > - `)}paginationLoaderTemplate(){let{wallets:eb,recommended:em,featured:eH,count:eV}=aE.QT.state,ew=window.innerWidth<352?3:4,eM=eb.length+em.length,eC=Math.ceil(eM/ew),eT=eC*ew-eM+ew;return(eT-=eb.length?eH.length%ew:0,0===eV&&eH.length>0)?null:0===eV||[...eH,...eb,...em].length{if(eb?.isIntersecting&&!this.initial){let{page:eb,count:em,wallets:eH}=aE.QT.state;eH.length0)?null:0===eM||[...ew,...eb,...em].length{if(eb?.isIntersecting&&!this.initial){let{page:eb,count:em,wallets:ew}=nS.QT.state;ew.length=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let cK=class extends aI.oi{constructor(){super(...arguments),this.prevQuery="",this.loading=!0,this.query=""}render(){return this.onSearch(),this.loading?aI.dy``:this.walletsTemplate()}async onSearch(){this.query.trim()!==this.prevQuery.trim()&&(this.prevQuery=this.query,this.loading=!0,await aE.QT.searchWallet({search:this.query}),this.loading=!1)}walletsTemplate(){let{search:eb}=aE.QT.state,em=cU(eb);return eb.length?aI.dy` +`,cG=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let cY=class extends nN.oi{constructor(){super(...arguments),this.prevQuery="",this.loading=!0,this.query=""}render(){return this.onSearch(),this.loading?nN.dy``:this.walletsTemplate()}async onSearch(){this.query.trim()!==this.prevQuery.trim()&&(this.prevQuery=this.query,this.loading=!0,await nS.QT.searchWallet({search:this.query}),this.loading=!1)}walletsTemplate(){let{search:eb}=nS.QT.state,em=c$(eb);return eb.length?nN.dy` - ${em.map(eb=>aI.dy` + ${em.map(eb=>nN.dy` this.onConnectWallet(eb)} @@ -2407,7 +2378,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ > `)} - `:aI.dy` + `:nN.dy` No Wallet found - `}onConnectWallet(eb){let em=aE.AA.getConnector(eb.id,eb.rdns);em?aE.Pc.push("ConnectingExternal",{connector:em}):aE.Pc.push("ConnectingWalletConnect",{wallet:eb})}};cK.styles=cZ,cG([(0,aD.SB)()],cK.prototype,"loading",void 0),cG([(0,aD.Cb)()],cK.prototype,"query",void 0),cK=cG([(0,aN.customElement)("w3m-all-wallets-search")],cK);var cY=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let cX=class extends aI.oi{constructor(){super(),this.platformTabs=[],this.unsubscribe=[],this.platforms=[],this.onSelectPlatfrom=void 0,this.buffering=!1,this.unsubscribe.push(aE.lZ.subscribeKey("buffering",eb=>this.buffering=eb))}disconnectCallback(){this.unsubscribe.forEach(eb=>eb())}render(){let eb=this.generateTabs();return aI.dy` + `}onConnectWallet(eb){let em=nS.AA.getConnector(eb.id,eb.rdns);em?nS.Pc.push("ConnectingExternal",{connector:em}):nS.Pc.push("ConnectingWalletConnect",{wallet:eb})}};cY.styles=cK,cG([(0,nI.SB)()],cY.prototype,"loading",void 0),cG([(0,nI.Cb)()],cY.prototype,"query",void 0),cY=cG([(0,nA.customElement)("w3m-all-wallets-search")],cY);var cJ=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let cX=class extends nN.oi{constructor(){super(),this.platformTabs=[],this.unsubscribe=[],this.platforms=[],this.onSelectPlatfrom=void 0,this.buffering=!1,this.unsubscribe.push(nS.lZ.subscribeKey("buffering",eb=>this.buffering=eb))}disconnectCallback(){this.unsubscribe.forEach(eb=>eb())}render(){let eb=this.generateTabs();return nN.dy` - `}generateTabs(){let eb=this.platforms.map(eb=>"browser"===eb?{label:"Browser",icon:"extension",platform:"browser"}:"mobile"===eb?{label:"Mobile",icon:"mobile",platform:"mobile"}:"qrcode"===eb?{label:"Mobile",icon:"mobile",platform:"qrcode"}:"web"===eb?{label:"Webapp",icon:"browser",platform:"web"}:"desktop"===eb?{label:"Desktop",icon:"desktop",platform:"desktop"}:{label:"Browser",icon:"extension",platform:"unsupported"});return this.platformTabs=eb.map(({platform:eb})=>eb),eb}onTabChange(eb){let em=this.platformTabs[eb];em&&this.onSelectPlatfrom?.(em)}};cY([(0,aD.Cb)({type:Array})],cX.prototype,"platforms",void 0),cY([(0,aD.Cb)()],cX.prototype,"onSelectPlatfrom",void 0),cY([(0,aD.SB)()],cX.prototype,"buffering",void 0),cX=cY([(0,aN.customElement)("w3m-connecting-header")],cX);var cJ=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let cQ=class extends nW{constructor(){if(super(),!this.wallet)throw Error("w3m-connecting-wc-browser: No wallet provided");this.onConnect=this.onConnectProxy.bind(this),this.onAutoConnect=this.onConnectProxy.bind(this),aE.Xs.sendEvent({type:"track",event:"SELECT_WALLET",properties:{name:this.wallet.name,platform:"browser"}})}async onConnectProxy(){try{this.error=!1;let{connectors:eb}=aE.AA.state,em=eb.find(eb=>"ANNOUNCED"===eb.type&&eb.info?.rdns===this.wallet?.rdns),eH=eb.find(eb=>"INJECTED"===eb.type);em?await aE.lZ.connectExternal(em):eH&&await aE.lZ.connectExternal(eH),aE.IN.close(),aE.Xs.sendEvent({type:"track",event:"CONNECT_SUCCESS",properties:{method:"browser",name:this.wallet?.name||"Unknown"}})}catch(eb){aE.Xs.sendEvent({type:"track",event:"CONNECT_ERROR",properties:{message:eb?.message??"Unknown"}}),this.error=!0}}};cQ=cJ([(0,aN.customElement)("w3m-connecting-wc-browser")],cQ);var sb=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let sH=class extends nW{constructor(){if(super(),!this.wallet)throw Error("w3m-connecting-wc-desktop: No wallet provided");this.onConnect=this.onConnectProxy.bind(this),this.onRender=this.onRenderProxy.bind(this),aE.Xs.sendEvent({type:"track",event:"SELECT_WALLET",properties:{name:this.wallet.name,platform:"desktop"}})}onRenderProxy(){!this.ready&&this.uri&&(this.ready=!0,this.timeout=setTimeout(()=>{this.onConnect?.()},200))}onConnectProxy(){if(this.wallet?.desktop_link&&this.uri)try{this.error=!1;let{desktop_link:eb,name:em}=this.wallet,{redirect:eH,href:eV}=aE.j1.formatNativeUrl(eb,this.uri);aE.lZ.setWcLinking({name:em,href:eV}),aE.lZ.setRecentWallet(this.wallet),aE.j1.openHref(eH,"_blank")}catch{this.error=!0}}};sH=sb([(0,aN.customElement)("w3m-connecting-wc-desktop")],sH);var sV=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let sM=class extends nW{constructor(){if(super(),!this.wallet)throw Error("w3m-connecting-wc-mobile: No wallet provided");this.onConnect=this.onConnectProxy.bind(this),this.onRender=this.onRenderProxy.bind(this),document.addEventListener("visibilitychange",this.onBuffering.bind(this)),aE.Xs.sendEvent({type:"track",event:"SELECT_WALLET",properties:{name:this.wallet.name,platform:"mobile"}})}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("visibilitychange",this.onBuffering.bind(this))}onRenderProxy(){!this.ready&&this.uri&&(this.ready=!0,this.onConnect?.())}onConnectProxy(){if(this.wallet?.mobile_link&&this.uri)try{this.error=!1;let{mobile_link:eb,name:em}=this.wallet,{redirect:eH,href:eV}=aE.j1.formatNativeUrl(eb,this.uri);aE.lZ.setWcLinking({name:em,href:eV}),aE.lZ.setRecentWallet(this.wallet),aE.j1.openHref(eH,"_self")}catch{this.error=!0}}onBuffering(){let eb=aE.j1.isIos();document?.visibilityState==="visible"&&!this.error&&eb&&(aE.lZ.setBuffering(!0),setTimeout(()=>{aE.lZ.setBuffering(!1)},5e3))}};sM=sV([(0,aN.customElement)("w3m-connecting-wc-mobile")],sM);var sC=aI.iv` + `}generateTabs(){let eb=this.platforms.map(eb=>"browser"===eb?{label:"Browser",icon:"extension",platform:"browser"}:"mobile"===eb?{label:"Mobile",icon:"mobile",platform:"mobile"}:"qrcode"===eb?{label:"Mobile",icon:"mobile",platform:"qrcode"}:"web"===eb?{label:"Webapp",icon:"browser",platform:"web"}:"desktop"===eb?{label:"Desktop",icon:"desktop",platform:"desktop"}:{label:"Browser",icon:"extension",platform:"unsupported"});return this.platformTabs=eb.map(({platform:eb})=>eb),eb}onTabChange(eb){let em=this.platformTabs[eb];em&&this.onSelectPlatfrom?.(em)}};cJ([(0,nI.Cb)({type:Array})],cX.prototype,"platforms",void 0),cJ([(0,nI.Cb)()],cX.prototype,"onSelectPlatfrom",void 0),cJ([(0,nI.SB)()],cX.prototype,"buffering",void 0),cX=cJ([(0,nA.customElement)("w3m-connecting-header")],cX);var cQ=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let sb=class extends rN{constructor(){if(super(),!this.wallet)throw Error("w3m-connecting-wc-browser: No wallet provided");this.onConnect=this.onConnectProxy.bind(this),this.onAutoConnect=this.onConnectProxy.bind(this),nS.Xs.sendEvent({type:"track",event:"SELECT_WALLET",properties:{name:this.wallet.name,platform:"browser"}})}async onConnectProxy(){try{this.error=!1;let{connectors:eb}=nS.AA.state,em=eb.find(eb=>"ANNOUNCED"===eb.type&&eb.info?.rdns===this.wallet?.rdns),ew=eb.find(eb=>"INJECTED"===eb.type);em?await nS.lZ.connectExternal(em):ew&&await nS.lZ.connectExternal(ew),nS.IN.close(),nS.Xs.sendEvent({type:"track",event:"CONNECT_SUCCESS",properties:{method:"browser",name:this.wallet?.name||"Unknown"}})}catch(eb){nS.Xs.sendEvent({type:"track",event:"CONNECT_ERROR",properties:{message:eb?.message??"Unknown"}}),this.error=!0}}};sb=cQ([(0,nA.customElement)("w3m-connecting-wc-browser")],sb);var sM=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let sC=class extends rN{constructor(){if(super(),!this.wallet)throw Error("w3m-connecting-wc-desktop: No wallet provided");this.onConnect=this.onConnectProxy.bind(this),this.onRender=this.onRenderProxy.bind(this),nS.Xs.sendEvent({type:"track",event:"SELECT_WALLET",properties:{name:this.wallet.name,platform:"desktop"}})}onRenderProxy(){!this.ready&&this.uri&&(this.ready=!0,this.timeout=setTimeout(()=>{this.onConnect?.()},200))}onConnectProxy(){if(this.wallet?.desktop_link&&this.uri)try{this.error=!1;let{desktop_link:eb,name:em}=this.wallet,{redirect:ew,href:eM}=nS.j1.formatNativeUrl(eb,this.uri);nS.lZ.setWcLinking({name:em,href:eM}),nS.lZ.setRecentWallet(this.wallet),nS.j1.openHref(ew,"_blank")}catch{this.error=!0}}};sC=sM([(0,nA.customElement)("w3m-connecting-wc-desktop")],sC);var sT=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let sE=class extends rN{constructor(){if(super(),!this.wallet)throw Error("w3m-connecting-wc-mobile: No wallet provided");this.onConnect=this.onConnectProxy.bind(this),this.onRender=this.onRenderProxy.bind(this),document.addEventListener("visibilitychange",this.onBuffering.bind(this)),nS.Xs.sendEvent({type:"track",event:"SELECT_WALLET",properties:{name:this.wallet.name,platform:"mobile"}})}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("visibilitychange",this.onBuffering.bind(this))}onRenderProxy(){!this.ready&&this.uri&&(this.ready=!0,this.onConnect?.())}onConnectProxy(){if(this.wallet?.mobile_link&&this.uri)try{this.error=!1;let{mobile_link:eb,name:em}=this.wallet,{redirect:ew,href:eM}=nS.j1.formatNativeUrl(eb,this.uri);nS.lZ.setWcLinking({name:em,href:eM}),nS.lZ.setRecentWallet(this.wallet),nS.j1.openHref(ew,"_self")}catch{this.error=!0}}onBuffering(){let eb=nS.j1.isIos();document?.visibilityState==="visible"&&!this.error&&eb&&(nS.lZ.setBuffering(!0),setTimeout(()=>{nS.lZ.setBuffering(!1)},5e3))}};sE=sT([(0,nA.customElement)("w3m-connecting-wc-mobile")],sE);var sS=nN.iv` @keyframes fadein { from { opacity: 0; @@ -2449,7 +2420,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ animation-name: fadein; animation-fill-mode: forwards; } -`,sT=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let sS=class extends nW{constructor(){super(),this.forceUpdate=()=>{this.requestUpdate()},window.addEventListener("resize",this.forceUpdate),aE.Xs.sendEvent({type:"track",event:"SELECT_WALLET",properties:{name:this.wallet?.name??"WalletConnect",platform:"qrcode"}})}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("resize",this.forceUpdate)}render(){return this.onRenderProxy(),aI.dy` +`,sA=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let sN=class extends rN{constructor(){super(),this.forceUpdate=()=>{this.requestUpdate()},window.addEventListener("resize",this.forceUpdate),nS.Xs.sendEvent({type:"track",event:"SELECT_WALLET",properties:{name:this.wallet?.name??"WalletConnect",platform:"qrcode"}})}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("resize",this.forceUpdate)}render(){return this.onRenderProxy(),nN.dy` ${this.qrCodeTemplate()} @@ -2460,14 +2431,14 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ - `}onRenderProxy(){!this.ready&&this.uri&&(this.timeout=setTimeout(()=>{this.ready=!0},200))}qrCodeTemplate(){if(!this.uri||!this.ready)return null;let eb=this.getBoundingClientRect().width-40,em=this.wallet?this.wallet.name:void 0;return aE.lZ.setWcLinking(void 0),aE.lZ.setRecentWallet(this.wallet),aI.dy` {this.ready=!0},200))}qrCodeTemplate(){if(!this.uri||!this.ready)return null;let eb=this.getBoundingClientRect().width-40,em=this.wallet?this.wallet.name:void 0;return nS.lZ.setWcLinking(void 0),nS.lZ.setRecentWallet(this.wallet),nN.dy` `}copyTemplate(){let eb=!this.uri||!this.ready;return aI.dy``}copyTemplate(){let eb=!this.uri||!this.ready;return nN.dy` Copy link - `}};sS.styles=sC,sS=sT([(0,aN.customElement)("w3m-connecting-wc-qrcode")],sS);let sE=class extends aI.oi{constructor(){if(super(),this.wallet=aE.Pc.state.data?.wallet,!this.wallet)throw Error("w3m-connecting-wc-unsupported: No wallet provided");aE.Xs.sendEvent({type:"track",event:"SELECT_WALLET",properties:{name:this.wallet.name,platform:"browser"}})}render(){return aI.dy` + `}};sN.styles=sS,sN=sA([(0,nA.customElement)("w3m-connecting-wc-qrcode")],sN);let sI=class extends nN.oi{constructor(){if(super(),this.wallet=nS.Pc.state.data?.wallet,!this.wallet)throw Error("w3m-connecting-wc-unsupported: No wallet provided");nS.Xs.sendEvent({type:"track",event:"SELECT_WALLET",properties:{name:this.wallet.name,platform:"browser"}})}render(){return nN.dy` Not Detected - `}};sE=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC}([(0,aN.customElement)("w3m-connecting-wc-unsupported")],sE);var sA=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let sN=class extends nW{constructor(){if(super(),!this.wallet)throw Error("w3m-connecting-wc-web: No wallet provided");this.onConnect=this.onConnectProxy.bind(this),this.secondaryBtnLabel="Open",this.secondaryLabel="Open and continue in a new browser tab",this.secondaryBtnIcon="externalLink",aE.Xs.sendEvent({type:"track",event:"SELECT_WALLET",properties:{name:this.wallet.name,platform:"web"}})}onConnectProxy(){if(this.wallet?.webapp_link&&this.uri)try{this.error=!1;let{webapp_link:eb,name:em}=this.wallet,{redirect:eH,href:eV}=aE.j1.formatUniversalUrl(eb,this.uri);aE.lZ.setWcLinking({name:em,href:eV}),aE.lZ.setRecentWallet(this.wallet),aE.j1.openHref(eH,"_blank")}catch{this.error=!0}}};sN=sA([(0,aN.customElement)("w3m-connecting-wc-web")],sN);var sI=aI.iv` + `}};sI=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_}([(0,nA.customElement)("w3m-connecting-wc-unsupported")],sI);var sD=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let sO=class extends rN{constructor(){if(super(),!this.wallet)throw Error("w3m-connecting-wc-web: No wallet provided");this.onConnect=this.onConnectProxy.bind(this),this.secondaryBtnLabel="Open",this.secondaryLabel="Open and continue in a new browser tab",this.secondaryBtnIcon="externalLink",nS.Xs.sendEvent({type:"track",event:"SELECT_WALLET",properties:{name:this.wallet.name,platform:"web"}})}onConnectProxy(){if(this.wallet?.webapp_link&&this.uri)try{this.error=!1;let{webapp_link:eb,name:em}=this.wallet,{redirect:ew,href:eM}=nS.j1.formatUniversalUrl(eb,this.uri);nS.lZ.setWcLinking({name:em,href:eM}),nS.lZ.setRecentWallet(this.wallet),nS.j1.openHref(ew,"_blank")}catch{this.error=!0}}};sO=sD([(0,nA.customElement)("w3m-connecting-wc-web")],sO);var sP=nN.iv` :host { width: 100%; } @@ -2538,7 +2509,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ .details-row.provider-free-row { padding-right: var(--wui-spacing-xs); } -`,sD=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let sP=class extends aI.oi{constructor(){super(...arguments),this.networkName=aE.fB.state.caipNetwork?.name,this.detailsOpen=!1,this.slippageRate=1}render(){let eb=this.toTokenAmount&&this.maxSlippage?ry.C6.bigNumber(this.toTokenAmount).minus(this.maxSlippage).toString():null;return aI.dy` +`,sR=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let sB=class extends nN.oi{constructor(){super(...arguments),this.networkName=nS.fB.state.caipNetwork?.name,this.detailsOpen=!1,this.slippageRate=1}render(){let eb=this.toTokenAmount&&this.maxSlippage?rZ.C6.bigNumber(this.toTokenAmount).minus(this.maxSlippage).toString():null;return nN.dy` - ${this.detailsOpen?aI.dy` + ${this.detailsOpen?nN.dy` - $${aN.UiHelperUtil.formatNumberToLocalString(this.gasPriceInUSD,3)} + $${nA.UiHelperUtil.formatNumberToLocalString(this.gasPriceInUSD,3)} - ${this.priceImpact?aI.dy` + ${this.priceImpact?nN.dy` - ${aN.UiHelperUtil.formatNumberToLocalString(this.priceImpact,3)}% + ${nA.UiHelperUtil.formatNumberToLocalString(this.priceImpact,3)}% `:null} - ${this.maxSlippage&&this.sourceTokenSymbol?aI.dy` + ${this.maxSlippage&&this.sourceTokenSymbol?nN.dy` - ${aN.UiHelperUtil.formatNumberToLocalString(this.maxSlippage,6)} + ${nA.UiHelperUtil.formatNumberToLocalString(this.maxSlippage,6)} ${this.toTokenSymbol} ${this.slippageRate}% @@ -2638,9 +2609,9 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ - ${this.providerFee?aI.dy` + ${this.providerFee?nN.dy` - ${aN.UiHelperUtil.formatNumberToLocalString(this.providerFee,6)} + ${nA.UiHelperUtil.formatNumberToLocalString(this.providerFee,6)} ${this.sourceTokenSymbol} `:null} @@ -2651,7 +2622,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ `:null} - `}toggleDetails(){this.detailsOpen=!this.detailsOpen}};sP.styles=[sI],sD([(0,aD.Cb)()],sP.prototype,"networkName",void 0),sD([(0,aD.Cb)()],sP.prototype,"detailsOpen",void 0),sD([(0,aD.Cb)()],sP.prototype,"sourceTokenSymbol",void 0),sD([(0,aD.Cb)()],sP.prototype,"sourceTokenPrice",void 0),sD([(0,aD.Cb)()],sP.prototype,"toTokenSymbol",void 0),sD([(0,aD.Cb)()],sP.prototype,"toTokenAmount",void 0),sD([(0,aD.Cb)()],sP.prototype,"toTokenSwappedAmount",void 0),sD([(0,aD.Cb)()],sP.prototype,"gasPriceInUSD",void 0),sD([(0,aD.Cb)()],sP.prototype,"priceImpact",void 0),sD([(0,aD.Cb)()],sP.prototype,"slippageRate",void 0),sD([(0,aD.Cb)()],sP.prototype,"maxSlippage",void 0),sD([(0,aD.Cb)()],sP.prototype,"providerFee",void 0),sD([(0,aD.Cb)()],sP.prototype,"networkTokenSymbol",void 0),sP=sD([(0,aN.customElement)("w3m-swap-details")],sP);var sO=aI.iv` + `}toggleDetails(){this.detailsOpen=!this.detailsOpen}};sB.styles=[sP],sR([(0,nI.Cb)()],sB.prototype,"networkName",void 0),sR([(0,nI.Cb)()],sB.prototype,"detailsOpen",void 0),sR([(0,nI.Cb)()],sB.prototype,"sourceTokenSymbol",void 0),sR([(0,nI.Cb)()],sB.prototype,"sourceTokenPrice",void 0),sR([(0,nI.Cb)()],sB.prototype,"toTokenSymbol",void 0),sR([(0,nI.Cb)()],sB.prototype,"toTokenAmount",void 0),sR([(0,nI.Cb)()],sB.prototype,"toTokenSwappedAmount",void 0),sR([(0,nI.Cb)()],sB.prototype,"gasPriceInUSD",void 0),sR([(0,nI.Cb)()],sB.prototype,"priceImpact",void 0),sR([(0,nI.Cb)()],sB.prototype,"slippageRate",void 0),sR([(0,nI.Cb)()],sB.prototype,"maxSlippage",void 0),sR([(0,nI.Cb)()],sB.prototype,"providerFee",void 0),sR([(0,nI.Cb)()],sB.prototype,"networkTokenSymbol",void 0),sB=sR([(0,nA.customElement)("w3m-swap-details")],sB);var sF=nN.iv` :host > wui-flex { display: flex; flex-direction: row; @@ -2763,7 +2734,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ .market-value { min-height: 18px; } -`,sR=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let sB=5e-5,sF=class extends aI.oi{constructor(){super(...arguments),this.focused=!1,this.price=0,this.target="sourceToken",this.onSetAmount=null,this.onSetMaxValue=null}render(){let eb=this.marketValue||"0",em=ry.C6.bigNumber(eb).isGreaterThan("0");return aI.dy` +`,sj=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let sU=5e-5,sV=class extends nN.oi{constructor(){super(...arguments),this.focused=!1,this.price=0,this.target="sourceToken",this.onSetAmount=null,this.onSetMaxValue=null}render(){let eb=this.marketValue||"0",em=rZ.C6.bigNumber(eb).isGreaterThan("0");return nN.dy` - ${em?`$${aN.UiHelperUtil.formatNumberToLocalString(this.marketValue,3)}`:null} + ${em?`$${nA.UiHelperUtil.formatNumberToLocalString(this.marketValue,3)}`:null} ${this.templateTokenSelectButton()} - `}handleKeydown(eb){let em=["Backspace","Meta","Ctrl","a","c","v","ArrowLeft","ArrowRight","Tab"],eH=","===eb.key,eV="."===eb.key,ew=eb.key>="0"&&eb.key<="9",eM=this.value;ew||em.includes(eb.key)||eV||eH||eb.preventDefault(),(eH||eV)&&(eM?.includes(".")||eM?.includes(","))&&eb.preventDefault()}dispatchInputChangeEvent(eb){if(!this.onSetAmount)return;let em=eb.target.value;","===em||"."===em?this.onSetAmount(this.target,"0."):em.endsWith(",")?this.onSetAmount(this.target,em.replace(",",".")):this.onSetAmount(this.target,em)}setMaxValueToInput(){this.onSetMaxValue?.(this.target,this.balance)}templateTokenSelectButton(){if(!this.token)return aI.dy` ="0"&&eb.key<="9",eT=this.value;eC||em.includes(eb.key)||eM||ew||eb.preventDefault(),(ew||eM)&&(eT?.includes(".")||eT?.includes(","))&&eb.preventDefault()}dispatchInputChangeEvent(eb){if(!this.onSetAmount)return;let em=eb.target.value;","===em||"."===em?this.onSetAmount(this.target,"0."):em.endsWith(",")?this.onSetAmount(this.target,em.replace(",",".")):this.onSetAmount(this.target,em)}setMaxValueToInput(){this.onSetMaxValue?.(this.target,this.balance)}templateTokenSelectButton(){if(!this.token)return nN.dy` Select token - `;let eb=this.token.logoUri?aI.dy``:aI.dy` + `;let eb=this.token.logoUri?nN.dy``:nN.dy` - `;return aI.dy` + `;return nN.dy` ${this.tokenBalanceTemplate()} - `}tokenBalanceTemplate(){let eb=ry.C6.multiply(this.balance,this.price),em=!!eb&&eb?.isGreaterThan(sB);return aI.dy` - ${em?aI.dy` - ${aN.UiHelperUtil.formatNumberToLocalString(this.balance,3)} + `}tokenBalanceTemplate(){let eb=rZ.C6.multiply(this.balance,this.price),em=!!eb&&eb?.isGreaterThan(sU);return nN.dy` + ${em?nN.dy` + ${nA.UiHelperUtil.formatNumberToLocalString(this.balance,3)} `:null} ${"sourceToken"===this.target?this.tokenActionButtonTemplate(em):null} - `}tokenActionButtonTemplate(eb){return eb?aI.dy` `:aI.dy` `:nN.dy` `}onFocusChange(eb){this.focused=eb}onSelectToken(){aE.Xs.sendEvent({type:"track",event:"CLICK_SELECT_TOKEN_TO_SWAP"}),aE.Pc.push("SwapSelectToken",{target:this.target})}onBuyToken(){aE.Pc.push("OnRampProviders")}};sF.styles=[sO],sR([(0,aD.Cb)()],sF.prototype,"focused",void 0),sR([(0,aD.Cb)()],sF.prototype,"balance",void 0),sR([(0,aD.Cb)()],sF.prototype,"value",void 0),sR([(0,aD.Cb)()],sF.prototype,"price",void 0),sR([(0,aD.Cb)()],sF.prototype,"marketValue",void 0),sR([(0,aD.Cb)()],sF.prototype,"disabled",void 0),sR([(0,aD.Cb)()],sF.prototype,"target",void 0),sR([(0,aD.Cb)()],sF.prototype,"token",void 0),sR([(0,aD.Cb)()],sF.prototype,"onSetAmount",void 0),sR([(0,aD.Cb)()],sF.prototype,"onSetMaxValue",void 0),sF=sR([(0,aN.customElement)("w3m-swap-input")],sF);var sj=aI.iv` + `}onFocusChange(eb){this.focused=eb}onSelectToken(){nS.Xs.sendEvent({type:"track",event:"CLICK_SELECT_TOKEN_TO_SWAP"}),nS.Pc.push("SwapSelectToken",{target:this.target})}onBuyToken(){nS.Pc.push("OnRampProviders")}};sV.styles=[sF],sj([(0,nI.Cb)()],sV.prototype,"focused",void 0),sj([(0,nI.Cb)()],sV.prototype,"balance",void 0),sj([(0,nI.Cb)()],sV.prototype,"value",void 0),sj([(0,nI.Cb)()],sV.prototype,"price",void 0),sj([(0,nI.Cb)()],sV.prototype,"marketValue",void 0),sj([(0,nI.Cb)()],sV.prototype,"disabled",void 0),sj([(0,nI.Cb)()],sV.prototype,"target",void 0),sj([(0,nI.Cb)()],sV.prototype,"token",void 0),sj([(0,nI.Cb)()],sV.prototype,"onSetAmount",void 0),sj([(0,nI.Cb)()],sV.prototype,"onSetMaxValue",void 0),sV=sj([(0,nA.customElement)("w3m-swap-input")],sV);var sH=nN.iv` :host { width: 100%; } @@ -2873,7 +2844,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ :host wui-flex .input_mask__background { fill: var(--wui-gray-glass-002); } -`,sU=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let sq=class extends aI.oi{constructor(){super(...arguments),this.target="sourceToken"}render(){return aI.dy` +`,s$=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let sq=class extends nN.oi{constructor(){super(...arguments),this.target="sourceToken"}render(){return nN.dy` ${this.templateTokenSelectButton()} - `}templateTokenSelectButton(){return aI.dy` + `}templateTokenSelectButton(){return nN.dy` - `}};sq.styles=[sj],sU([(0,aD.Cb)()],sq.prototype,"target",void 0),sq=sU([(0,aN.customElement)("w3m-swap-input-skeleton")],sq);var s$=aI.iv` + `}};sq.styles=[sH],s$([(0,nI.Cb)()],sq.prototype,"target",void 0),sq=s$([(0,nA.customElement)("w3m-swap-input-skeleton")],sq);var sW=nN.iv` :host { height: 64px; } @@ -2906,7 +2877,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ opacity: 0 !important; pointer-events: none; } -`,sW=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};function sZ(){let eb=aE.Pc.state.data?.connector?.name,em=aE.Pc.state.data?.wallet?.name,eH=aE.Pc.state.data?.network?.name,eV=em??eb,ew=aE.AA.getConnectors(),eM=1===ew.length&&ew[0]?.id==="w3m-email";return{Connect:`Connect ${eM?"Email":""} Wallet`,Account:void 0,AccountSettings:void 0,ConnectingExternal:eV??"Connect Wallet",ConnectingWalletConnect:eV??"WalletConnect",ConnectingSiwe:"Sign In",Networks:"Choose Network",SwitchNetwork:eH??"Switch Network",AllWallets:"All Wallets",WhatIsANetwork:"What is a network?",WhatIsAWallet:"What is a wallet?",GetWallet:"Get a wallet",Downloads:eV?`Get ${eV}`:"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",Swap:"Swap",SwapSelectToken:"Select token",SwapPreview:"Preview swap",WalletSend:"Send",WalletSendPreview:"Review send",WalletSendSelectToken:"Select Token"}}let sG=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.heading=sZ()[aE.Pc.state.view],this.buffering=!1,this.showBack=!1,this.unsubscribe.push(aE.Pc.subscribeKey("view",eb=>{this.onViewChange(eb),this.onHistoryChange()}),aE.lZ.subscribeKey("buffering",eb=>this.buffering=eb))}disconnectCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return aI.dy` +`,sZ=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};function sK(){let eb=nS.Pc.state.data?.connector?.name,em=nS.Pc.state.data?.wallet?.name,ew=nS.Pc.state.data?.network?.name,eM=em??eb,eC=nS.AA.getConnectors(),eT=1===eC.length&&eC[0]?.id==="w3m-email";return{Connect:`Connect ${eT?"Email":""} Wallet`,Account:void 0,AccountSettings:void 0,ConnectingExternal:eM??"Connect Wallet",ConnectingWalletConnect:eM??"WalletConnect",ConnectingSiwe:"Sign In",Networks:"Choose Network",SwitchNetwork:ew??"Switch Network",AllWallets:"All Wallets",WhatIsANetwork:"What is a network?",WhatIsAWallet:"What is a wallet?",GetWallet:"Get a wallet",Downloads:eM?`Get ${eM}`:"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",Swap:"Swap",SwapSelectToken:"Select token",SwapPreview:"Preview swap",WalletSend:"Send",WalletSendPreview:"Review send",WalletSendSelectToken:"Select Token"}}let sG=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.heading=sK()[nS.Pc.state.view],this.buffering=!1,this.showBack=!1,this.unsubscribe.push(nS.Pc.subscribeKey("view",eb=>{this.onViewChange(eb),this.onHistoryChange()}),nS.lZ.subscribeKey("buffering",eb=>this.buffering=eb))}disconnectCallback(){this.unsubscribe.forEach(eb=>eb())}render(){return nN.dy` ${this.dynamicButtonTemplate()} ${this.titleTemplate()} - `}onWalletHelp(){aE.Xs.sendEvent({type:"track",event:"CLICK_WALLET_HELP"}),aE.Pc.push("WhatIsAWallet")}async onClose(){if(aE.hD.state.isSiweEnabled){let{SIWEController:eb}=await Promise.all([eH.e(561),eH.e(281)]).then(eH.bind(eH,38042));"success"!==eb.state.status&&await aE.lZ.disconnect()}aE.IN.close()}titleTemplate(){return aI.dy`${this.heading}`}dynamicButtonTemplate(){let{view:eb}=aE.Pc.state,em="Connect"===eb,eH="ApproveTransaction"===eb,eV="UpgradeToSmartAccount"===eb,ew="ConnectingSiwe"===eb,eM=eH||eV||ew;return this.showBack&&!eM?aI.dy`${this.heading}`}dynamicButtonTemplate(){let{view:eb}=nS.Pc.state,em="Connect"===eb,ew="ApproveTransaction"===eb,eM="UpgradeToSmartAccount"===eb,eC="ConnectingSiwe"===eb,eT=ew||eM||eC;return this.showBack&&!eT?nN.dy``:aI.dy``:nN.dy``}getPadding(){return this.heading?["l","2l","l","2l"]:["l","2l","0","2l"]}async onViewChange(eb){let em=this.shadowRoot?.querySelector("wui-text");if(em){let eH=sZ()[eb];await em.animate([{opacity:1},{opacity:0}],{duration:200,fill:"forwards",easing:"ease"}).finished,this.heading=eH,em.animate([{opacity:0},{opacity:1}],{duration:200,fill:"forwards",easing:"ease"})}}async onHistoryChange(){let{history:eb}=aE.Pc.state,em=this.shadowRoot?.querySelector("#dynamic");eb.length>1&&!this.showBack&&em?(await em.animate([{opacity:1},{opacity:0}],{duration:200,fill:"forwards",easing:"ease"}).finished,this.showBack=!0,em.animate([{opacity:0},{opacity:1}],{duration:200,fill:"forwards",easing:"ease"})):eb.length<=1&&this.showBack&&em&&(await em.animate([{opacity:1},{opacity:0}],{duration:200,fill:"forwards",easing:"ease"}).finished,this.showBack=!1,em.animate([{opacity:0},{opacity:1}],{duration:200,fill:"forwards",easing:"ease"}))}onGoBack(){aE.Pc.goBack()}};sG.styles=[s$],sW([(0,aD.SB)()],sG.prototype,"heading",void 0),sW([(0,aD.SB)()],sG.prototype,"buffering",void 0),sW([(0,aD.SB)()],sG.prototype,"showBack",void 0),sG=sW([(0,aN.customElement)("w3m-header")],sG);var sK=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let sY=class extends aI.oi{constructor(){super(...arguments),this.data=[]}render(){return aI.dy` + >`}getPadding(){return this.heading?["l","2l","l","2l"]:["l","2l","0","2l"]}async onViewChange(eb){let em=this.shadowRoot?.querySelector("wui-text");if(em){let ew=sK()[eb];await em.animate([{opacity:1},{opacity:0}],{duration:200,fill:"forwards",easing:"ease"}).finished,this.heading=ew,em.animate([{opacity:0},{opacity:1}],{duration:200,fill:"forwards",easing:"ease"})}}async onHistoryChange(){let{history:eb}=nS.Pc.state,em=this.shadowRoot?.querySelector("#dynamic");eb.length>1&&!this.showBack&&em?(await em.animate([{opacity:1},{opacity:0}],{duration:200,fill:"forwards",easing:"ease"}).finished,this.showBack=!0,em.animate([{opacity:0},{opacity:1}],{duration:200,fill:"forwards",easing:"ease"})):eb.length<=1&&this.showBack&&em&&(await em.animate([{opacity:1},{opacity:0}],{duration:200,fill:"forwards",easing:"ease"}).finished,this.showBack=!1,em.animate([{opacity:0},{opacity:1}],{duration:200,fill:"forwards",easing:"ease"}))}onGoBack(){nS.Pc.goBack()}};sG.styles=[sW],sZ([(0,nI.SB)()],sG.prototype,"heading",void 0),sZ([(0,nI.SB)()],sG.prototype,"buffering",void 0),sZ([(0,nI.SB)()],sG.prototype,"showBack",void 0),sG=sZ([(0,nA.customElement)("w3m-header")],sG);var sY=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let sJ=class extends nN.oi{constructor(){super(...arguments),this.data=[]}render(){return nN.dy` - ${this.data.map(eb=>aI.dy` + ${this.data.map(eb=>nN.dy` - ${eb.images.map(eb=>aI.dy``)} + ${eb.images.map(eb=>nN.dy``)} @@ -2942,7 +2913,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ `)} - `}};sK([(0,aD.Cb)({type:Array})],sY.prototype,"data",void 0),sY=sK([(0,aN.customElement)("w3m-help-widget")],sY);var sX=aI.iv` + `}};sY([(0,nI.Cb)({type:Array})],sJ.prototype,"data",void 0),sJ=sY([(0,nA.customElement)("w3m-help-widget")],sJ);var sX=nN.iv` :host { width: 100%; } @@ -2974,18 +2945,18 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ width: 24px; border-radius: 50%; } -`,sJ=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let sQ=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.type="Token",this.value=0,this.currencies=[],this.selectedCurrency=this.currencies?.[0],this.currencyImages=aE.WM.state.currencyImages,this.tokenImages=aE.WM.state.tokenImages,this.unsubscribe.push(aE.ph.subscribeKey("purchaseCurrency",eb=>{eb&&"Fiat"!==this.type&&(this.selectedCurrency=this.formatPurchaseCurrency(eb))}),aE.ph.subscribeKey("paymentCurrency",eb=>{eb&&"Token"!==this.type&&(this.selectedCurrency=this.formatPaymentCurrency(eb))}),aE.ph.subscribe(eb=>{"Fiat"===this.type?this.currencies=eb.purchaseCurrencies.map(this.formatPurchaseCurrency):this.currencies=eb.paymentCurrencies.map(this.formatPaymentCurrency)}),aE.WM.subscribe(eb=>{this.currencyImages={...eb.currencyImages},this.tokenImages={...eb.tokenImages}}))}firstUpdated(){aE.ph.getAvailableCurrencies()}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){let eb=this.selectedCurrency?.symbol||"",em=this.currencyImages[eb]||this.tokenImages[eb];return aI.dy` - ${this.selectedCurrency?aI.dy` =0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let s6=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.type="Token",this.value=0,this.currencies=[],this.selectedCurrency=this.currencies?.[0],this.currencyImages=nS.WM.state.currencyImages,this.tokenImages=nS.WM.state.tokenImages,this.unsubscribe.push(nS.ph.subscribeKey("purchaseCurrency",eb=>{eb&&"Fiat"!==this.type&&(this.selectedCurrency=this.formatPurchaseCurrency(eb))}),nS.ph.subscribeKey("paymentCurrency",eb=>{eb&&"Token"!==this.type&&(this.selectedCurrency=this.formatPaymentCurrency(eb))}),nS.ph.subscribe(eb=>{"Fiat"===this.type?this.currencies=eb.purchaseCurrencies.map(this.formatPurchaseCurrency):this.currencies=eb.paymentCurrencies.map(this.formatPaymentCurrency)}),nS.WM.subscribe(eb=>{this.currencyImages={...eb.currencyImages},this.tokenImages={...eb.tokenImages}}))}firstUpdated(){nS.ph.getAvailableCurrencies()}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}render(){let eb=this.selectedCurrency?.symbol||"",em=this.currencyImages[eb]||this.tokenImages[eb];return nN.dy` + ${this.selectedCurrency?nN.dy` aE.IN.open({view:`OnRamp${this.type}Select`})} + @click=${()=>nS.IN.open({view:`OnRamp${this.type}Select`})} > - + ${this.selectedCurrency.symbol} - `:aI.dy``} - `}formatPaymentCurrency(eb){return{name:eb.id,symbol:eb.id}}formatPurchaseCurrency(eb){return{name:eb.name,symbol:eb.symbol}}};sQ.styles=sX,sJ([(0,aD.Cb)({type:String})],sQ.prototype,"type",void 0),sJ([(0,aD.Cb)({type:Number})],sQ.prototype,"value",void 0),sJ([(0,aD.SB)()],sQ.prototype,"currencies",void 0),sJ([(0,aD.SB)()],sQ.prototype,"selectedCurrency",void 0),sJ([(0,aD.SB)()],sQ.prototype,"currencyImages",void 0),sJ([(0,aD.SB)()],sQ.prototype,"tokenImages",void 0),sQ=sJ([(0,aN.customElement)("w3m-onramp-input")],sQ);var s6=aI.iv` + `:nN.dy``} + `}formatPaymentCurrency(eb){return{name:eb.id,symbol:eb.id}}formatPurchaseCurrency(eb){return{name:eb.name,symbol:eb.symbol}}};s6.styles=sX,sQ([(0,nI.Cb)({type:String})],s6.prototype,"type",void 0),sQ([(0,nI.Cb)({type:Number})],s6.prototype,"value",void 0),sQ([(0,nI.SB)()],s6.prototype,"currencies",void 0),sQ([(0,nI.SB)()],s6.prototype,"selectedCurrency",void 0),sQ([(0,nI.SB)()],s6.prototype,"currencyImages",void 0),sQ([(0,nI.SB)()],s6.prototype,"tokenImages",void 0),s6=sQ([(0,nA.customElement)("w3m-onramp-input")],s6);var s4=nN.iv` wui-flex { background-color: var(--wui-gray-glass-005); } @@ -2995,43 +2966,43 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ color: var(--wui-color-fg-175); font-weight: 500; } -`,s4=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let s5=class extends aI.oi{render(){let{termsConditionsUrl:eb,privacyPolicyUrl:em}=aE.hD.state;return eb||em?aI.dy` +`,s5=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let s8=class extends nN.oi{render(){let{termsConditionsUrl:eb,privacyPolicyUrl:em}=nS.hD.state;return eb||em?nN.dy` By connecting your wallet, you agree to our
${this.termsTemplate()} ${this.andTemplate()} ${this.privacyTemplate()}
- `:null}andTemplate(){let{termsConditionsUrl:eb,privacyPolicyUrl:em}=aE.hD.state;return eb&&em?"and":""}termsTemplate(){let{termsConditionsUrl:eb}=aE.hD.state;return eb?aI.dy`Terms of Service`:null}privacyTemplate(){let{privacyPolicyUrl:eb}=aE.hD.state;return eb?aI.dy`Privacy Policy`:null}};s5.styles=[s6],s5=s4([(0,aN.customElement)("w3m-legal-footer")],s5);var s8=aI.iv` + `:null}andTemplate(){let{termsConditionsUrl:eb,privacyPolicyUrl:em}=nS.hD.state;return eb&&em?"and":""}termsTemplate(){let{termsConditionsUrl:eb}=nS.hD.state;return eb?nN.dy`Terms of Service`:null}privacyTemplate(){let{privacyPolicyUrl:eb}=nS.hD.state;return eb?nN.dy`Privacy Policy`:null}};s8.styles=[s4],s8=s5([(0,nA.customElement)("w3m-legal-footer")],s8);var s9=nN.iv` :host { display: block; padding: 0 var(--wui-spacing-xl) var(--wui-spacing-xl); } -`,s9=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let s7=class extends aI.oi{constructor(){super(...arguments),this.wallet=void 0}render(){if(!this.wallet)return this.style.display="none",null;let{name:eb,app_store:em,play_store:eH,chrome_store:eV,homepage:ew}=this.wallet,eM=aE.j1.isMobile(),eC=aE.j1.isIos(),eT=aE.j1.isAndroid(),e_=[em,eH,ew,eV].filter(Boolean).length>1,eS=aN.UiHelperUtil.getTruncateString({string:eb,charsStart:12,charsEnd:0,truncate:"end"});return e_&&!eM?aI.dy` +`,s7=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let om=class extends nN.oi{constructor(){super(...arguments),this.wallet=void 0}render(){if(!this.wallet)return this.style.display="none",null;let{name:eb,app_store:em,play_store:ew,chrome_store:eM,homepage:eC}=this.wallet,eT=nS.j1.isMobile(),e_=nS.j1.isIos(),eE=nS.j1.isAndroid(),eS=[em,ew,eC,eM].filter(Boolean).length>1,eA=nA.UiHelperUtil.getTruncateString({string:eb,charsStart:12,charsEnd:0,truncate:"end"});return eS&&!eT?nN.dy` aE.Pc.push("Downloads",{wallet:this.wallet})} + @click=${()=>nS.Pc.push("Downloads",{wallet:this.wallet})} > - `:!e_&&ew?aI.dy` + `:!eS&&eC?nN.dy` - `:em&&eC?aI.dy` + `:em&&e_?nN.dy` - `:eH&&eT?aI.dy` + `:ew&&eE?nN.dy` - `:(this.style.display="none",null)}onAppStore(){this.wallet?.app_store&&aE.j1.openHref(this.wallet.app_store,"_blank")}onPlayStore(){this.wallet?.play_store&&aE.j1.openHref(this.wallet.play_store,"_blank")}onHomePage(){this.wallet?.homepage&&aE.j1.openHref(this.wallet.homepage,"_blank")}};s7.styles=[s8],s9([(0,aD.Cb)({type:Object})],s7.prototype,"wallet",void 0),s7=s9([(0,aN.customElement)("w3m-mobile-download-links")],s7);var om=aI.iv` + `:(this.style.display="none",null)}onAppStore(){this.wallet?.app_store&&nS.j1.openHref(this.wallet.app_store,"_blank")}onPlayStore(){this.wallet?.play_store&&nS.j1.openHref(this.wallet.play_store,"_blank")}onHomePage(){this.wallet?.homepage&&nS.j1.openHref(this.wallet.homepage,"_blank")}};om.styles=[s9],s7([(0,nI.Cb)({type:Object})],om.prototype,"wallet",void 0),om=s7([(0,nA.customElement)("w3m-mobile-download-links")],om);var oz=nN.iv` wui-flex { border-top: 1px solid var(--wui-gray-glass-005); } @@ -3045,7 +3016,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ justify-content: center; gap: var(--wui-spacing-3xs); } -`,oz=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let oH=class extends aI.oi{render(){let{termsConditionsUrl:eb,privacyPolicyUrl:em}=aE.hD.state;return eb||em?aI.dy` +`,ow=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let oM=class extends nN.oi{render(){let{termsConditionsUrl:eb,privacyPolicyUrl:em}=nS.hD.state;return eb||em?nN.dy` - `:null}howDoesItWorkTemplate(){return aI.dy` + `:null}howDoesItWorkTemplate(){return nN.dy` How does it work? - `}onWhatIsBuy(){aE.Pc.push("WhatIsABuy")}};oH.styles=[om],oH=oz([(0,aN.customElement)("w3m-onramp-providers-footer")],oH);var oV=aI.iv` + `}onWhatIsBuy(){nS.Pc.push("WhatIsABuy")}};oM.styles=[oz],oM=ow([(0,nA.customElement)("w3m-onramp-providers-footer")],oM);var oC=nN.iv` :host { display: block; position: absolute; @@ -3073,14 +3044,14 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ left: 50%; width: max-content; } -`,ow=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let oM={success:{backgroundColor:"success-100",iconColor:"success-100",icon:"checkmark"},error:{backgroundColor:"error-100",iconColor:"error-100",icon:"close"}},oC=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.timeout=void 0,this.open=aE.KC.state.open,this.unsubscribe.push(aE.KC.subscribeKey("open",eb=>{this.open=eb,this.onOpen()}))}disconnectedCallback(){clearTimeout(this.timeout),this.unsubscribe.forEach(eb=>eb())}render(){let{message:eb,variant:em}=aE.KC.state,eH=oM[em];return aI.dy` +`,oT=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let o_={success:{backgroundColor:"success-100",iconColor:"success-100",icon:"checkmark"},error:{backgroundColor:"error-100",iconColor:"error-100",icon:"close"}},oE=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.timeout=void 0,this.open=nS.KC.state.open,this.unsubscribe.push(nS.KC.subscribeKey("open",eb=>{this.open=eb,this.onOpen()}))}disconnectedCallback(){clearTimeout(this.timeout),this.unsubscribe.forEach(eb=>eb())}render(){let{message:eb,variant:em}=nS.KC.state,ew=o_[em];return nN.dy` - `}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(()=>aE.KC.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"})}};oC.styles=oV,ow([(0,aD.SB)()],oC.prototype,"open",void 0),oC=ow([(0,aN.customElement)("w3m-snackbar")],oC);var oT=aI.iv` + `}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(()=>nS.KC.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"})}};oE.styles=oC,oT([(0,nI.SB)()],oE.prototype,"open",void 0),oE=oT([(0,nA.customElement)("w3m-snackbar")],oE);var oS=nN.iv` wui-separator { margin: var(--wui-spacing-s) calc(var(--wui-spacing-s) * -1); width: calc(100% + var(--wui-spacing-s) * 2); @@ -3110,7 +3081,7 @@ spurious results.`)}}return!1};class CR{constructor(eb,em="GraphQL request",eH={ wui-loading-spinner { right: var(--wui-spacing-m); } -`,o_=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let oS=class extends aI.oi{constructor(){super(),this.unsubscribe=[],this.formRef=iQ(),this.connectors=aE.AA.state.connectors,this.email="",this.loading=!1,this.error="",this.unsubscribe.push(aE.AA.subscribeKey("connectors",eb=>this.connectors=eb))}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}firstUpdated(){this.formRef.value?.addEventListener("keydown",eb=>{"Enter"===eb.key&&this.onSubmitEmail(eb)})}render(){let eb=this.connectors.length>1,em=this.connectors.find(eb=>"AUTH"===eb.type);return em?.email?aI.dy` +`,oA=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let oN=class extends nN.oi{constructor(){super(),this.unsubscribe=[],this.formRef=iQ(),this.connectors=nS.AA.state.connectors,this.email="",this.loading=!1,this.error="",this.unsubscribe.push(nS.AA.subscribeKey("connectors",eb=>this.connectors=eb))}disconnectedCallback(){this.unsubscribe.forEach(eb=>eb())}firstUpdated(){this.formRef.value?.addEventListener("keydown",eb=>{"Enter"===eb.key&&this.onSubmitEmail(eb)})}render(){let eb=this.connectors.length>1,em=this.connectors.find(eb=>"AUTH"===eb.type);return em?.email?nN.dy` `}};cJ.styles=[nP,cK],cG([nZ({type:Array})],cJ.prototype,"walletImages",void 0),cJ=cG([nU("wui-all-wallets-image")],cJ);var cX=eD` :host { width: var(--local-width); position: relative; @@ -7292,12 +7264,12 @@ img, video { transform: translate(-50%, -50%); opacity: var(--local-opacity-000); } -`,cJ=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let cQ={xs:"small-600",sm:"paragraph-600",md:"small-600",mdl:"small-600",lg:"paragraph-600"},sb=class extends aC{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=` +`,cQ=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let sb={xs:"small-600",sm:"paragraph-600",md:"small-600",mdl:"small-600",lg:"paragraph-600"},sM=class extends nk{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}); - `;let eb=this.textVariant??cQ[this.size];return tP` + `;let eb=this.textVariant??sb[this.size];return tR` - `}handleSlotLeftChange(){this.hasIconLeft=!0}handleSlotRightChange(){this.hasIconRight=!0}loadingTemplate(){return this.loading?tP``:tP``}};sb.styles=[aR,aF,cX],cJ([aJ()],sb.prototype,"size",void 0),cJ([aJ({type:Boolean})],sb.prototype,"disabled",void 0),cJ([aJ({type:Boolean})],sb.prototype,"fullWidth",void 0),cJ([aJ({type:Boolean})],sb.prototype,"loading",void 0),cJ([aJ()],sb.prototype,"variant",void 0),cJ([aJ({type:Boolean})],sb.prototype,"hasIconLeft",void 0),cJ([aJ({type:Boolean})],sb.prototype,"hasIconRight",void 0),cJ([aJ()],sb.prototype,"borderRadius",void 0),cJ([aJ()],sb.prototype,"textVariant",void 0),sb=cJ([a$("wui-button")],sb);let sH=tO` + `}handleSlotLeftChange(){this.hasIconLeft=!0}handleSlotRightChange(){this.hasIconRight=!0}loadingTemplate(){return this.loading?tR``:tR``}};sM.styles=[nP,nR,cX],cQ([nZ()],sM.prototype,"size",void 0),cQ([nZ({type:Boolean})],sM.prototype,"disabled",void 0),cQ([nZ({type:Boolean})],sM.prototype,"fullWidth",void 0),cQ([nZ({type:Boolean})],sM.prototype,"loading",void 0),cQ([nZ()],sM.prototype,"variant",void 0),cQ([nZ({type:Boolean})],sM.prototype,"hasIconLeft",void 0),cQ([nZ({type:Boolean})],sM.prototype,"hasIconRight",void 0),cQ([nZ()],sM.prototype,"borderRadius",void 0),cQ([nZ()],sM.prototype,"textVariant",void 0),sM=cQ([nU("wui-button")],sM);let sC=tB` -`;var sV=eN` +`;var sT=eD` :host { display: flex; flex-direction: column; @@ -7347,26 +7319,26 @@ img, video { stroke: var(--wui-gray-glass-010); stroke-width: 1px; } -`,sM=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let sC=class extends aC{constructor(){super(...arguments),this.type="wallet"}render(){return tP` +`,sE=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let sS=class extends nk{constructor(){super(...arguments),this.type="wallet"}render(){return tR` ${this.shimmerTemplate()} - `}shimmerTemplate(){return"network"===this.type?tP` - ${sH}`:tP``}};sC.styles=[aR,aF,sV],sM([aJ()],sC.prototype,"type",void 0),sC=sM([a$("wui-card-select-loader")],sC);let sT=tO` + ${sC}`:tR``}};sS.styles=[nP,nR,sT],sE([nZ()],sS.prototype,"type",void 0),sS=sE([nU("wui-card-select-loader")],sS);let sA=tB` -`,sS=tO` +`,sN=tB` -`;var sE=eN` +`;var sI=eD` :host { position: relative; border-radius: inherit; @@ -7404,13 +7376,13 @@ img, video { width: var(--local-icon-size); height: var(--local-icon-size); } -`,sA=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let sN=class extends aC{constructor(){super(...arguments),this.size="md",this.name="uknown",this.selected=!1}render(){let eb={sm:sT,md:sH,lg:sS};return this.style.cssText=` +`,sD=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let sO=class extends nk{constructor(){super(...arguments),this.size="md",this.name="uknown",this.selected=!1}render(){let eb={sm:sA,md:sC,lg:sN};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}); - `,tP`${this.templateVisual()} ${eb[this.size]}`}templateVisual(){return this.imageSrc?tP``:tP``}};sN.styles=[aR,sE],sA([aJ()],sN.prototype,"size",void 0),sA([aJ()],sN.prototype,"name",void 0),sA([aJ()],sN.prototype,"imageSrc",void 0),sA([aJ({type:Boolean})],sN.prototype,"selected",void 0),sN=sA([a$("wui-network-image")],sN);var sI=eN` + `,tR`${this.templateVisual()} ${eb[this.size]}`}templateVisual(){return this.imageSrc?tR``:tR``}};sO.styles=[nP,sI],sD([nZ()],sO.prototype,"size",void 0),sD([nZ()],sO.prototype,"name",void 0),sD([nZ()],sO.prototype,"imageSrc",void 0),sD([nZ({type:Boolean})],sO.prototype,"selected",void 0),sO=sD([nU("wui-network-image")],sO);var sP=eD` button { flex-direction: column; width: 76px; @@ -7446,30 +7418,30 @@ img, video { [data-selected='true']:active:enabled { background-color: var(--wui-accent-glass-010); } -`,sD=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let sP=class extends aC{constructor(){super(...arguments),this.name="Unknown",this.type="wallet",this.imageSrc=void 0,this.disabled=!1,this.selected=!1,this.installed=!1}render(){return tP` - - `}imageTemplate(){return"network"===this.type?tP` + `}imageTemplate(){return"network"===this.type?tR` - `:tP` + `:tR` - `}};sP.styles=[aR,aF,sI],sD([aJ()],sP.prototype,"name",void 0),sD([aJ()],sP.prototype,"type",void 0),sD([aJ()],sP.prototype,"imageSrc",void 0),sD([aJ({type:Boolean})],sP.prototype,"disabled",void 0),sD([aJ({type:Boolean})],sP.prototype,"selected",void 0),sD([aJ({type:Boolean})],sP.prototype,"installed",void 0),sP=sD([a$("wui-card-select")],sP);var sO=eN` + `}};sB.styles=[nP,nR,sP],sR([nZ()],sB.prototype,"name",void 0),sR([nZ()],sB.prototype,"type",void 0),sR([nZ()],sB.prototype,"imageSrc",void 0),sR([nZ({type:Boolean})],sB.prototype,"disabled",void 0),sR([nZ({type:Boolean})],sB.prototype,"selected",void 0),sR([nZ({type:Boolean})],sB.prototype,"installed",void 0),sB=sR([nU("wui-card-select")],sB);var sF=eD` a { border: 1px solid var(--wui-gray-glass-010); border-radius: var(--wui-border-radius-3xl); @@ -7650,7 +7622,7 @@ img, video { a[data-variant='error']:active { background-color: var(--wui-error-glass-020); } -`,sR=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let sB=class extends aC{constructor(){super(...arguments),this.variant="fill",this.imageSrc=void 0,this.disabled=!1,this.icon="externalLink",this.href="",this.text=void 0}render(){let eb="success"===this.variant||"transparent"===this.variant||"shadeSmall"===this.variant,em=eb?"small-600":"paragraph-600";return tP` +`,sj=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let sU=class extends nk{constructor(){super(...arguments),this.variant="fill",this.imageSrc=void 0,this.disabled=!1,this.icon="externalLink",this.href="",this.text=void 0}render(){let eb="success"===this.variant||"transparent"===this.variant||"shadeSmall"===this.variant,em=eb?"small-600":"paragraph-600";return tR` ${this.imageTemplate()} - ${this.title?this.title:cS.getHostName(this.href)} + ${this.title?this.title:cN.getHostName(this.href)} - `}imageTemplate(){return this.imageSrc?tP``:null}};sB.styles=[aR,aF,sO],sR([aJ()],sB.prototype,"variant",void 0),sR([aJ()],sB.prototype,"imageSrc",void 0),sR([aJ({type:Boolean})],sB.prototype,"disabled",void 0),sR([aJ()],sB.prototype,"icon",void 0),sR([aJ()],sB.prototype,"href",void 0),sR([aJ()],sB.prototype,"text",void 0),sB=sR([a$("wui-chip")],sB);var sF=eN` + `}imageTemplate(){return this.imageSrc?tR``:null}};sU.styles=[nP,nR,sF],sj([nZ()],sU.prototype,"variant",void 0),sj([nZ()],sU.prototype,"imageSrc",void 0),sj([nZ({type:Boolean})],sU.prototype,"disabled",void 0),sj([nZ()],sU.prototype,"icon",void 0),sj([nZ()],sU.prototype,"href",void 0),sj([nZ()],sU.prototype,"text",void 0),sU=sj([nU("wui-chip")],sU);var sV=eD` :host { position: relative; display: block; @@ -7760,20 +7732,20 @@ img, video { width: 12px; height: 12px; } -`,sj=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let sU=class extends aC{constructor(){super(...arguments),this.size="md",this.loading=!1}render(){let eb="md"===this.size?"paragraph-600":"small-600";return tP` +`,sH=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let s$=class extends nk{constructor(){super(...arguments),this.size="md",this.loading=!1}render(){let eb="md"===this.size?"paragraph-600":"small-600";return tR` - `}loadingTemplate(){return this.loading?tP``:null}};sU.styles=[aR,aF,sF],sj([aJ()],sU.prototype,"size",void 0),sj([aJ({type:Boolean})],sU.prototype,"loading",void 0),sU=sj([a$("wui-connect-button")],sU);var sq=eN` + `}loadingTemplate(){return this.loading?tR``:null}};s$.styles=[nP,nR,sV],sH([nZ()],s$.prototype,"size",void 0),sH([nZ({type:Boolean})],s$.prototype,"loading",void 0),s$=sH([nU("wui-connect-button")],s$);var sq=eD` wui-flex { width: 100%; background-color: var(--wui-gray-glass-002); border-radius: var(--wui-border-radius-xs); } -`,s$=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let sW=class extends aC{constructor(){super(...arguments),this.disabled=!1,this.label="",this.buttonLabel=""}render(){return tP` +`,sW=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let sZ=class extends nk{constructor(){super(...arguments),this.disabled=!1,this.label="",this.buttonLabel=""}render(){return tR` - `}};sW.styles=[aR,aF,sq],s$([aJ({type:Boolean})],sW.prototype,"disabled",void 0),s$([aJ()],sW.prototype,"label",void 0),s$([aJ()],sW.prototype,"buttonLabel",void 0),sW=s$([a$("wui-cta-button")],sW);var sZ=eN` + `}};sZ.styles=[nP,nR,sq],sW([nZ({type:Boolean})],sZ.prototype,"disabled",void 0),sW([nZ()],sZ.prototype,"label",void 0),sW([nZ()],sZ.prototype,"buttonLabel",void 0),sZ=sW([nU("wui-cta-button")],sZ);var sK=eD` :host { display: block; padding: var(--wui-spacing-l) var(--wui-spacing-m); @@ -7793,11 +7765,11 @@ img, video { border-radius: var(--wui-border-radius-xs); width: 100%; } -`,sG=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let sK=class extends aC{render(){return tP` +`,sG=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let sY=class extends nk{render(){return tR` - `}};sK.styles=[aR,aF,sZ],sK=sG([a$("wui-details-group")],sK);var sY=eN` + `}};sY.styles=[nP,nR,sK],sY=sG([nU("wui-details-group")],sY);var sJ=eD` :host { display: flex; flex-direction: row; @@ -7805,22 +7777,22 @@ img, video { width: 100%; border-radius: var(--wui-border-radius-xs); } -`,sX=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let sJ=class extends aC{constructor(){super(...arguments),this.name=""}render(){return tP` +`,sX=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let sQ=class extends nk{constructor(){super(...arguments),this.name=""}render(){return tR` ${this.name} - `}};sJ.styles=[aR,aF,sY],sX([aJ()],sJ.prototype,"name",void 0),sJ=sX([a$("wui-details-group-item")],sJ);/** + `}};sQ.styles=[nP,nR,sJ],sX([nZ()],sQ.prototype,"name",void 0),sQ=sX([nU("wui-details-group-item")],sQ);/** * @license * Copyright 2020 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */let{I:sQ}=aH,s6=eb=>void 0===eb.strings,s4=(eb,em)=>{let eH=eb._$AN;if(void 0===eH)return!1;for(let eb of eH)eb._$AO?.(em,!1),s4(eb,em);return!0},s5=eb=>{let em,eH;do{if(void 0===(em=eb._$AM))break;(eH=em._$AN).delete(eb),eb=em}while(0===eH?.size)},s8=eb=>{for(let em;em=eb._$AM;eb=em){let eH=em._$AN;if(void 0===eH)em._$AN=eH=new Set;else if(eH.has(eb))break;eH.add(eb),om(em)}};function s9(eb){void 0!==this._$AN?(s5(this),this._$AM=eb,s8(this)):this._$AM=eb}function s7(eb,em=!1,eH=0){let eV=this._$AH,ew=this._$AN;if(void 0!==ew&&0!==ew.size){if(em){if(Array.isArray(eV))for(let eb=eH;eb{eb.type==iD.CHILD&&(eb._$AP??=s7,eb._$AQ??=s9)};class oz extends iO{constructor(){super(...arguments),this._$AN=void 0}_$AT(eb,em,eH){super._$AT(eb,em,eH),s8(this),this.isConnected=eb._$AU}_$AO(eb,em=!0){eb!==this.isConnected&&(this.isConnected=eb,eb?this.reconnected?.():this.disconnected?.()),em&&(s4(this,eb),s5(this))}setValue(eb){if(s6(this._$Ct))this._$Ct._$AI(eb,this);else{let em=[...this._$Ct._$AH];em[this._$Ci]=eb,this._$Ct._$AI(em,this,0)}}disconnected(){}reconnected(){}}/** + */let{I:s6}=nw,s4=eb=>void 0===eb.strings,s5=(eb,em)=>{let ew=eb._$AN;if(void 0===ew)return!1;for(let eb of ew)eb._$AO?.(em,!1),s5(eb,em);return!0},s8=eb=>{let em,ew;do{if(void 0===(em=eb._$AM))break;(ew=em._$AN).delete(eb),eb=em}while(0===ew?.size)},s9=eb=>{for(let em;em=eb._$AM;eb=em){let ew=em._$AN;if(void 0===ew)em._$AN=ew=new Set;else if(ew.has(eb))break;ew.add(eb),oz(em)}};function s7(eb){void 0!==this._$AN?(s8(this),this._$AM=eb,s9(this)):this._$AM=eb}function om(eb,em=!1,ew=0){let eM=this._$AH,eC=this._$AN;if(void 0!==eC&&0!==eC.size){if(em){if(Array.isArray(eM))for(let eb=ew;eb{eb.type==iP.CHILD&&(eb._$AP??=om,eb._$AQ??=s7)};class ow extends iB{constructor(){super(...arguments),this._$AN=void 0}_$AT(eb,em,ew){super._$AT(eb,em,ew),s9(this),this.isConnected=eb._$AU}_$AO(eb,em=!0){eb!==this.isConnected&&(this.isConnected=eb,eb?this.reconnected?.():this.disconnected?.()),em&&(s5(this,eb),s8(this))}setValue(eb){if(s4(this._$Ct))this._$Ct._$AI(eb,this);else{let em=[...this._$Ct._$AH];em[this._$Ci]=eb,this._$Ct._$AI(em,this,0)}}disconnected(){}reconnected(){}}/** * @license * Copyright 2020 Google LLC * SPDX-License-Identifier: BSD-3-Clause - */let oH=()=>new oV;class oV{}let ow=new WeakMap,oM=iP(class extends oz{render(eb){return tB}update(eb,[em]){let eH=em!==this.Y;return eH&&void 0!==this.Y&&this.rt(void 0),(eH||this.lt!==this.ct)&&(this.Y=em,this.ht=eb.options?.host,this.rt(this.ct=eb.element)),tB}rt(eb){if("function"==typeof this.Y){let em=this.ht??globalThis,eH=ow.get(em);void 0===eH&&(eH=new WeakMap,ow.set(em,eH)),void 0!==eH.get(this.Y)&&this.Y.call(this.ht,void 0),eH.set(this.Y,eb),void 0!==eb&&this.Y.call(this.ht,eb)}else this.Y.value=eb}get lt(){return"function"==typeof this.Y?ow.get(this.ht??globalThis)?.get(this.Y):this.Y?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});var oC=eN` + */let oM=()=>new oC;class oC{}let oT=new WeakMap,o_=iR(class extends ow{render(eb){return tj}update(eb,[em]){let ew=em!==this.Y;return ew&&void 0!==this.Y&&this.rt(void 0),(ew||this.lt!==this.ct)&&(this.Y=em,this.ht=eb.options?.host,this.rt(this.ct=eb.element)),tj}rt(eb){if("function"==typeof this.Y){let em=this.ht??globalThis,ew=oT.get(em);void 0===ew&&(ew=new WeakMap,oT.set(em,ew)),void 0!==ew.get(this.Y)&&this.Y.call(this.ht,void 0),ew.set(this.Y,eb),void 0!==eb&&this.Y.call(this.ht,eb)}else this.Y.value=eb}get lt(){return"function"==typeof this.Y?oT.get(this.ht??globalThis)?.get(this.Y):this.Y?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});var oE=eD` :host { position: relative; width: 100%; @@ -7962,23 +7934,23 @@ img, video { ::slotted(wui-icon) { right: 0px; } -`,oT=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let o_=class extends aC{constructor(){super(...arguments),this.inputElementRef=oH(),this.size="md",this.disabled=!1,this.placeholder="",this.type="text",this.value=""}render(){let eb=`wui-size-${this.size}`;return tP` ${this.templateIcon()} +`,oS=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let oA=class extends nk{constructor(){super(...arguments),this.inputElementRef=oM(),this.size="md",this.disabled=!1,this.placeholder="",this.type="text",this.value=""}render(){let eb=`wui-size-${this.size}`;return tR` ${this.templateIcon()} - `}templateIcon(){return this.icon?tP``}templateIcon(){return this.icon?tR``:null}dispatchInputChangeEvent(){this.dispatchEvent(new CustomEvent("inputChange",{detail:this.inputElementRef.value?.value,bubbles:!0,composed:!0}))}};o_.styles=[aR,aF,oC],oT([aJ()],o_.prototype,"size",void 0),oT([aJ()],o_.prototype,"icon",void 0),oT([aJ({type:Boolean})],o_.prototype,"disabled",void 0),oT([aJ()],o_.prototype,"placeholder",void 0),oT([aJ()],o_.prototype,"type",void 0),oT([aJ()],o_.prototype,"keyHint",void 0),oT([aJ()],o_.prototype,"value",void 0),o_=oT([a$("wui-input-text")],o_);var oS=eN` + >`:null}dispatchInputChangeEvent(){this.dispatchEvent(new CustomEvent("inputChange",{detail:this.inputElementRef.value?.value,bubbles:!0,composed:!0}))}};oA.styles=[nP,nR,oE],oS([nZ()],oA.prototype,"size",void 0),oS([nZ()],oA.prototype,"icon",void 0),oS([nZ({type:Boolean})],oA.prototype,"disabled",void 0),oS([nZ()],oA.prototype,"placeholder",void 0),oS([nZ()],oA.prototype,"type",void 0),oS([nZ()],oA.prototype,"keyHint",void 0),oS([nZ()],oA.prototype,"value",void 0),oA=oS([nU("wui-input-text")],oA);var oN=eD` :host { position: relative; display: inline-block; @@ -7987,7 +7959,7 @@ img, video { wui-text { margin: var(--wui-spacing-xxs) var(--wui-spacing-m) var(--wui-spacing-0) var(--wui-spacing-m); } -`,oE=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let oA=class extends aC{constructor(){super(...arguments),this.disabled=!1}render(){return tP` +`,oI=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let oD=class extends nk{constructor(){super(...arguments),this.disabled=!1}render(){return tR` ${this.templateError()} - `}templateError(){return this.errorMessage?tP`${this.errorMessage}`:null}};oA.styles=[aR,oS],oE([aJ()],oA.prototype,"errorMessage",void 0),oE([aJ({type:Boolean})],oA.prototype,"disabled",void 0),oE([aJ()],oA.prototype,"value",void 0),oA=oE([a$("wui-email-input")],oA);var oN=eN` + `}templateError(){return this.errorMessage?tR`${this.errorMessage}`:null}};oD.styles=[nP,oN],oI([nZ()],oD.prototype,"errorMessage",void 0),oI([nZ({type:Boolean})],oD.prototype,"disabled",void 0),oI([nZ()],oD.prototype,"value",void 0),oD=oI([nU("wui-email-input")],oD);var oO=eD` button { border-radius: var(--local-border-radius); color: var(--wui-color-fg-100); @@ -8021,14 +7993,14 @@ img, video { button:disabled { background-color: transparent; } -`,oI=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let oD=class extends aC{constructor(){super(...arguments),this.size="md",this.disabled=!1,this.icon="copy",this.iconColor="inherit"}render(){let eb="lg"===this.size?"--wui-border-radius-xs":"--wui-border-radius-xxs",em="lg"===this.size?"--wui-spacing-1xs":"--wui-spacing-2xs";return this.style.cssText=` +`,oP=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let oR=class extends nk{constructor(){super(...arguments),this.size="md",this.disabled=!1,this.icon="copy",this.iconColor="inherit"}render(){let eb="lg"===this.size?"--wui-border-radius-xs":"--wui-border-radius-xxs",em="lg"===this.size?"--wui-spacing-1xs":"--wui-spacing-2xs";return this.style.cssText=` --local-border-radius: var(${eb}); --local-padding: var(${em}); -`,tP` +`,tR` - `}};oD.styles=[aR,aF,aj,oN],oI([aJ()],oD.prototype,"size",void 0),oI([aJ({type:Boolean})],oD.prototype,"disabled",void 0),oI([aJ()],oD.prototype,"icon",void 0),oI([aJ()],oD.prototype,"iconColor",void 0),oD=oI([a$("wui-icon-link")],oD);var oP=eN` + `}};oR.styles=[nP,nR,nB,oO],oP([nZ()],oR.prototype,"size",void 0),oP([nZ({type:Boolean})],oR.prototype,"disabled",void 0),oP([nZ()],oR.prototype,"icon",void 0),oP([nZ()],oR.prototype,"iconColor",void 0),oR=oP([nU("wui-icon-link")],oR);var oB=eD` button { background-color: var(--wui-color-fg-300); border-radius: var(--wui-border-radius-4xs); @@ -8058,11 +8030,11 @@ img, video { background-color: var(--wui-color-fg-250); } } -`,oO=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let oR=class extends aC{constructor(){super(...arguments),this.icon="copy"}render(){return tP` +`,oF=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let oj=class extends nk{constructor(){super(...arguments),this.icon="copy"}render(){return tR` - `}};oR.styles=[aR,aF,oP],oO([aJ()],oR.prototype,"icon",void 0),oR=oO([a$("wui-input-element")],oR);var oB=eN` + `}};oj.styles=[nP,nR,oB],oF([nZ()],oj.prototype,"icon",void 0),oj=oF([nU("wui-input-element")],oj);var oU=eD` :host { position: relative; display: inline-block; @@ -8121,14 +8093,14 @@ img, video { background-color: var(--wui-gray-glass-015); } } -`,oF=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let oj=class extends aC{constructor(){super(...arguments),this.disabled=!1,this.value=""}render(){return tP`=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let oH=class extends nk{constructor(){super(...arguments),this.disabled=!1,this.value=""}render(){return tR` `}};oj.styles=[aR,aF,oB],oF([aJ({type:Boolean})],oj.prototype,"disabled",void 0),oF([aJ({type:String})],oj.prototype,"value",void 0),oj=oF([a$("wui-input-numeric")],oj);var oU=eN` + /> `}};oH.styles=[nP,nR,oU],oV([nZ({type:Boolean})],oH.prototype,"disabled",void 0),oV([nZ({type:String})],oH.prototype,"value",void 0),oH=oV([nU("wui-input-numeric")],oH);var o$=eD` button { padding: var(--wui-spacing-4xs) var(--wui-spacing-xxs); border-radius: var(--wui-border-radius-3xs); @@ -8140,7 +8112,7 @@ img, video { background-color: transparent; color: var(--wui-gray-glass-015); } -`,oq=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let o$=class extends aC{constructor(){super(...arguments),this.disabled=!1,this.color="inherit"}render(){return tP` +`,oq=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let oW=class extends nk{constructor(){super(...arguments),this.disabled=!1,this.color="inherit"}render(){return tR` - `}};o$.styles=[aR,aF,oU],oq([aJ({type:Boolean})],o$.prototype,"disabled",void 0),oq([aJ()],o$.prototype,"color",void 0),o$=oq([a$("wui-link")],o$);var oW=eN` + `}};oW.styles=[nP,nR,o$],oq([nZ({type:Boolean})],oW.prototype,"disabled",void 0),oq([nZ()],oW.prototype,"color",void 0),oW=oq([nU("wui-link")],oW);var oZ=eD` button { column-gap: var(--wui-spacing-s); padding: 11px 18px 11px var(--wui-spacing-s); @@ -8233,11 +8205,11 @@ img, video { top: 50%; transform: translateY(-50%); } -`,oZ=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let oG=class extends aC{constructor(){super(...arguments),this.variant="icon",this.disabled=!1,this.imageSrc=void 0,this.alt=void 0,this.chevron=!1,this.loading=!1}render(){return tP` +`,oK=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let oG=class extends nk{constructor(){super(...arguments),this.variant="icon",this.disabled=!1,this.imageSrc=void 0,this.alt=void 0,this.chevron=!1,this.loading=!1}render(){return tR` - `}visualTemplate(){if("image"===this.variant&&this.imageSrc)return tP``;if("square"===this.iconVariant&&this.icon&&"icon"===this.variant)return tP``;if("icon"===this.variant&&this.icon&&this.iconVariant){let eb=["blue","square-blue"].includes(this.iconVariant)?"accent-100":"fg-200",em="square-blue"===this.iconVariant?"mdl":"md",eH=this.iconSize?this.iconSize:em;return tP` + `}visualTemplate(){if("image"===this.variant&&this.imageSrc)return tR``;if("square"===this.iconVariant&&this.icon&&"icon"===this.variant)return tR``;if("icon"===this.variant&&this.icon&&this.iconVariant){let eb=["blue","square-blue"].includes(this.iconVariant)?"accent-100":"fg-200",em="square-blue"===this.iconVariant?"mdl":"md",ew=this.iconSize?this.iconSize:em;return tR` - `}return null}loadingTemplate(){return this.loading?tP``:tP``}chevronTemplate(){return this.chevron?tP``:null}};oG.styles=[aR,aF,oW],oZ([aJ()],oG.prototype,"icon",void 0),oZ([aJ()],oG.prototype,"iconSize",void 0),oZ([aJ()],oG.prototype,"variant",void 0),oZ([aJ()],oG.prototype,"iconVariant",void 0),oZ([aJ({type:Boolean})],oG.prototype,"disabled",void 0),oZ([aJ()],oG.prototype,"imageSrc",void 0),oZ([aJ()],oG.prototype,"alt",void 0),oZ([aJ({type:Boolean})],oG.prototype,"chevron",void 0),oZ([aJ({type:Boolean})],oG.prototype,"loading",void 0),oG=oZ([a$("wui-list-item")],oG),function(eb){eb.approve="approved",eb.bought="bought",eb.borrow="borrowed",eb.burn="burnt",eb.cancel="canceled",eb.claim="claimed",eb.deploy="deployed",eb.deposit="deposited",eb.execute="executed",eb.mint="minted",eb.receive="received",eb.repay="repaid",eb.send="sent",eb.sell="sold",eb.stake="staked",eb.trade="swapped",eb.unstake="unstaked",eb.withdraw="withdrawn"}(aE||(aE={}));var oK=eN` + `}return null}loadingTemplate(){return this.loading?tR``:tR``}chevronTemplate(){return this.chevron?tR``:null}};oG.styles=[nP,nR,oZ],oK([nZ()],oG.prototype,"icon",void 0),oK([nZ()],oG.prototype,"iconSize",void 0),oK([nZ()],oG.prototype,"variant",void 0),oK([nZ()],oG.prototype,"iconVariant",void 0),oK([nZ({type:Boolean})],oG.prototype,"disabled",void 0),oK([nZ()],oG.prototype,"imageSrc",void 0),oK([nZ()],oG.prototype,"alt",void 0),oK([nZ({type:Boolean})],oG.prototype,"chevron",void 0),oK([nZ({type:Boolean})],oG.prototype,"loading",void 0),oG=oK([nU("wui-list-item")],oG),function(eb){eb.approve="approved",eb.bought="bought",eb.borrow="borrowed",eb.burn="burnt",eb.cancel="canceled",eb.claim="claimed",eb.deploy="deployed",eb.deposit="deposited",eb.execute="executed",eb.mint="minted",eb.receive="received",eb.repay="repaid",eb.send="sent",eb.sell="sold",eb.stake="staked",eb.trade="swapped",eb.unstake="unstaked",eb.withdraw="withdrawn"}(nS||(nS={}));var oJ=eD` :host > wui-flex { display: flex; justify-content: center; @@ -8314,13 +8286,13 @@ img, video { .swap-images-container wui-image:last-child { clip-path: inset(0px 0px 0px calc(50% + 2px)); } -`,oJ=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let oQ=class extends aC{constructor(){super(...arguments),this.images=[],this.secondImage={type:void 0,url:""}}render(){let[eb,em]=this.images,eH=eb?.type==="NFT",eV=em?.url?"NFT"===em.type:eH,ew=eH?"var(--wui-border-radius-xxs)":"var(--wui-border-radius-s)",eM=eV?"var(--wui-border-radius-xxs)":"var(--wui-border-radius-s)";return this.style.cssText=` - --local-left-border-radius: ${ew}; - --local-right-border-radius: ${eM}; - `,tP` ${this.templateVisual()} ${this.templateIcon()} `}templateVisual(){let[eb,em]=this.images,eH=eb?.type,eV=2===this.images.length;return eV&&(eb?.url||em?.url)?tP`
- ${eb?.url?tP``:null} - ${em?.url?tP``:null} -
`:eb?.url?tP``:"NFT"===eH?tP``:tP``}templateIcon(){let eb,em="accent-100";return(eb=this.getIcon(),this.status&&(em=this.getStatusColor()),eb)?tP` +`,oQ=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let o0=class extends nk{constructor(){super(...arguments),this.images=[],this.secondImage={type:void 0,url:""}}render(){let[eb,em]=this.images,ew=eb?.type==="NFT",eM=em?.url?"NFT"===em.type:ew,eC=ew?"var(--wui-border-radius-xxs)":"var(--wui-border-radius-s)",eT=eM?"var(--wui-border-radius-xxs)":"var(--wui-border-radius-s)";return this.style.cssText=` + --local-left-border-radius: ${eC}; + --local-right-border-radius: ${eT}; + `,tR` ${this.templateVisual()} ${this.templateIcon()} `}templateVisual(){let[eb,em]=this.images,ew=eb?.type,eM=2===this.images.length;return eM&&(eb?.url||em?.url)?tR`
+ ${eb?.url?tR``:null} + ${em?.url?tR``:null} +
`:eb?.url?tR``:"NFT"===ew?tR``:tR``}templateIcon(){let eb,em="accent-100";return(eb=this.getIcon(),this.status&&(em=this.getStatusColor()),eb)?tR` - `:null}getDirectionIcon(){switch(this.direction){case"in":return"arrowBottom";case"out":return"arrowTop";default:return}}getIcon(){return this.onlyDirectionIcon?this.getDirectionIcon():"trade"===this.type?"swapHorizontalBold":"approve"===this.type?"checkmark":"cancel"===this.type?"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"}}};oQ.styles=[oK],oJ([aJ()],oQ.prototype,"type",void 0),oJ([aJ()],oQ.prototype,"status",void 0),oJ([aJ()],oQ.prototype,"direction",void 0),oJ([aJ({type:Boolean})],oQ.prototype,"onlyDirectionIcon",void 0),oJ([aJ({type:Array})],oQ.prototype,"images",void 0),oJ([aJ({type:Object})],oQ.prototype,"secondImage",void 0),oQ=oJ([a$("wui-transaction-visual")],oQ);var o0=eN` + `:null}getDirectionIcon(){switch(this.direction){case"in":return"arrowBottom";case"out":return"arrowTop";default:return}}getIcon(){return this.onlyDirectionIcon?this.getDirectionIcon():"trade"===this.type?"swapHorizontalBold":"approve"===this.type?"checkmark":"cancel"===this.type?"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"}}};o0.styles=[oJ],oQ([nZ()],o0.prototype,"type",void 0),oQ([nZ()],o0.prototype,"status",void 0),oQ([nZ()],o0.prototype,"direction",void 0),oQ([nZ({type:Boolean})],o0.prototype,"onlyDirectionIcon",void 0),oQ([nZ({type:Array})],o0.prototype,"images",void 0),oQ([nZ({type:Object})],o0.prototype,"secondImage",void 0),o0=oQ([nU("wui-transaction-visual")],o0);var o6=eD` :host > wui-flex:first-child { align-items: center; column-gap: var(--wui-spacing-s); @@ -8373,18 +8345,18 @@ img, video { -webkit-box-orient: vertical; -webkit-line-clamp: 1; } -`,o6=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let o4=class extends aC{constructor(){super(...arguments),this.type="approve",this.onlyDirectionIcon=!1,this.images=[],this.price=[],this.amount=[],this.symbol=[]}render(){return tP` +`,o4=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let o3=class extends nk{constructor(){super(...arguments),this.type="approve",this.onlyDirectionIcon=!1,this.images=[],this.price=[],this.amount=[],this.symbol=[]}render(){return tR` - ${aE[this.type]||this.type} + ${nS[this.type]||this.type} ${this.templateDescription()} ${this.templateSecondDescription()} @@ -8392,16 +8364,16 @@ img, video { ${this.date} - `}templateDescription(){let eb=this.descriptions?.[0];return eb?tP` + `}templateDescription(){let eb=this.descriptions?.[0];return eb?tR` ${eb} - `:null}templateSecondDescription(){let eb=this.descriptions?.[1];return eb?tP` + `:null}templateSecondDescription(){let eb=this.descriptions?.[1];return eb?tR` ${eb} - `:null}};o4.styles=[aR,o0],o6([aJ()],o4.prototype,"type",void 0),o6([aJ({type:Array})],o4.prototype,"descriptions",void 0),o6([aJ()],o4.prototype,"date",void 0),o6([aJ({type:Boolean})],o4.prototype,"onlyDirectionIcon",void 0),o6([aJ()],o4.prototype,"status",void 0),o6([aJ()],o4.prototype,"direction",void 0),o6([aJ({type:Array})],o4.prototype,"images",void 0),o6([aJ({type:Array})],o4.prototype,"price",void 0),o6([aJ({type:Array})],o4.prototype,"amount",void 0),o6([aJ({type:Array})],o4.prototype,"symbol",void 0),o4=o6([a$("wui-transaction-list-item")],o4);var o3=eN` + `:null}};o3.styles=[nP,o6],o4([nZ()],o3.prototype,"type",void 0),o4([nZ({type:Array})],o3.prototype,"descriptions",void 0),o4([nZ()],o3.prototype,"date",void 0),o4([nZ({type:Boolean})],o3.prototype,"onlyDirectionIcon",void 0),o4([nZ()],o3.prototype,"status",void 0),o4([nZ()],o3.prototype,"direction",void 0),o4([nZ({type:Array})],o3.prototype,"images",void 0),o4([nZ({type:Array})],o3.prototype,"price",void 0),o4([nZ({type:Array})],o3.prototype,"amount",void 0),o4([nZ({type:Array})],o3.prototype,"symbol",void 0),o3=o4([nU("wui-transaction-list-item")],o3);var o5=eD` :host > wui-flex:first-child { column-gap: var(--wui-spacing-s); padding: 7px var(--wui-spacing-l) 7px var(--wui-spacing-xs); @@ -8412,7 +8384,7 @@ img, video { display: flex; flex: 1; } -`,o5=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let o8=class extends aC{render(){return tP` +`,o8=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let o9=class extends nk{render(){return tR` @@ -8421,7 +8393,7 @@ img, video { - `}};o8.styles=[aR,o3],o8=o5([a$("wui-transaction-list-item-loader")],o8);var o9=eN` + `}};o9.styles=[nP,o5],o9=o8([nU("wui-transaction-list-item-loader")],o9);var o7=eD` :host { display: flex; justify-content: center; @@ -8462,11 +8434,11 @@ img, video { :host([data-size='lg']) > wui-text { transform: translateY(2%); } -`,o7=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let lb=class extends aC{constructor(){super(...arguments),this.variant="main",this.size="lg"}render(){this.dataset.variant=this.variant,this.dataset.size=this.size;let eb="md"===this.size?"mini-700":"micro-700";return tP` +`,lb=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let lm=class extends nk{constructor(){super(...arguments),this.variant="main",this.size="lg"}render(){this.dataset.variant=this.variant,this.dataset.size=this.size;let eb="md"===this.size?"mini-700":"micro-700";return tR` - `}};lb.styles=[aR,o9],o7([aJ()],lb.prototype,"variant",void 0),o7([aJ()],lb.prototype,"size",void 0),lb=o7([a$("wui-tag")],lb);var lm=eN` + `}};lm.styles=[nP,o7],lb([nZ()],lm.prototype,"variant",void 0),lb([nZ()],lm.prototype,"size",void 0),lm=lb([nU("wui-tag")],lm);var ly=eD` button { column-gap: var(--wui-spacing-s); padding: 7px var(--wui-spacing-l) 7px var(--wui-spacing-xs); @@ -8494,18 +8466,18 @@ img, video { background-color: var(--wui-gray-glass-010); color: var(--wui-color-fg-300); } -`,ly=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let lv=class extends aC{constructor(){super(...arguments),this.walletImages=[],this.imageSrc="",this.name="",this.installed=!1,this.disabled=!1,this.showAllWallets=!1}render(){return tP` +`,lv=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let lz=class extends nk{constructor(){super(...arguments),this.walletImages=[],this.imageSrc="",this.name="",this.installed=!1,this.disabled=!1,this.showAllWallets=!1}render(){return tR` - `}templateAllWallets(){return this.showAllWallets&&this.imageSrc?tP` `:this.showAllWallets&&this.walletIcon?tP` `:null}templateWalletImage(){return!this.showAllWallets&&this.imageSrc?tP` `:this.showAllWallets&&this.walletIcon?tR` `:null}templateWalletImage(){return!this.showAllWallets&&this.imageSrc?tR``:this.showAllWallets||this.imageSrc?null:tP``}templateStatus(){return this.tagLabel&&this.tagVariant?tP`${this.tagLabel}`:this.icon?tP``:null}};lv.styles=[aR,aF,lm],ly([aJ({type:Array})],lv.prototype,"walletImages",void 0),ly([aJ()],lv.prototype,"imageSrc",void 0),ly([aJ()],lv.prototype,"name",void 0),ly([aJ()],lv.prototype,"tagLabel",void 0),ly([aJ()],lv.prototype,"tagVariant",void 0),ly([aJ()],lv.prototype,"icon",void 0),ly([aJ()],lv.prototype,"walletIcon",void 0),ly([aJ({type:Boolean})],lv.prototype,"installed",void 0),ly([aJ({type:Boolean})],lv.prototype,"disabled",void 0),ly([aJ({type:Boolean})],lv.prototype,"showAllWallets",void 0),lv=ly([a$("wui-list-wallet")],lv);var lz=eN` + >`:this.showAllWallets||this.imageSrc?null:tR``}templateStatus(){return this.tagLabel&&this.tagVariant?tR`${this.tagLabel}`:this.icon?tR``:null}};lz.styles=[nP,nR,ly],lv([nZ({type:Array})],lz.prototype,"walletImages",void 0),lv([nZ()],lz.prototype,"imageSrc",void 0),lv([nZ()],lz.prototype,"name",void 0),lv([nZ()],lz.prototype,"tagLabel",void 0),lv([nZ()],lz.prototype,"tagVariant",void 0),lv([nZ()],lz.prototype,"icon",void 0),lv([nZ()],lz.prototype,"walletIcon",void 0),lv([nZ({type:Boolean})],lz.prototype,"installed",void 0),lv([nZ({type:Boolean})],lz.prototype,"disabled",void 0),lv([nZ({type:Boolean})],lz.prototype,"showAllWallets",void 0),lz=lv([nU("wui-list-wallet")],lz);var lw=eD` :host { display: flex; justify-content: center; @@ -8521,7 +8493,7 @@ img, video { width: 100%; height: 100%; } -`,lH=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let lV=class extends aC{constructor(){super(...arguments),this.logo="google"}render(){return tP` `}};lV.styles=[aR,lz],lH([aJ()],lV.prototype,"logo",void 0),lV=lH([a$("wui-logo")],lV);var lw=eN` +`,lM=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let lx=class extends nk{constructor(){super(...arguments),this.logo="google"}render(){return tR` `}};lx.styles=[nP,lw],lM([nZ()],lx.prototype,"logo",void 0),lx=lM([nU("wui-logo")],lx);var lk=eD` :host { display: block; width: 100%; @@ -8533,11 +8505,11 @@ img, video { background: var(--wui-gray-glass-002); border-radius: var(--wui-border-radius-xs); } -`,lM=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let lx=class extends aC{constructor(){super(...arguments),this.logo="google",this.disabled=!1}render(){return tP` +`,lT=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let l_=class extends nk{constructor(){super(...arguments),this.logo="google",this.disabled=!1}render(){return tR` - `}};lx.styles=[aR,aF,lw],lM([aJ()],lx.prototype,"logo",void 0),lM([aJ({type:Boolean})],lx.prototype,"disabled",void 0),lx=lM([a$("wui-logo-select")],lx);var lk=eN` + `}};l_.styles=[nP,nR,lk],lT([nZ()],l_.prototype,"logo",void 0),lT([nZ({type:Boolean})],l_.prototype,"disabled",void 0),l_=lT([nU("wui-logo-select")],l_);var lE=eD` :host { display: block; } @@ -8576,35 +8548,35 @@ img, video { height: 24px; box-shadow: 0 0 0 2px var(--wui-gray-glass-005); } -`,lT=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let l_=class extends aC{constructor(){super(...arguments),this.imageSrc=void 0,this.isUnsupportedChain=void 0,this.disabled=!1}render(){return tP` +`,lS=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let lA=class extends nk{constructor(){super(...arguments),this.imageSrc=void 0,this.isUnsupportedChain=void 0,this.disabled=!1}render(){return tR` - `}visualTemplate(){return this.isUnsupportedChain?tP` + `}visualTemplate(){return this.isUnsupportedChain?tR` - `:this.imageSrc?tP``:tP` + `:this.imageSrc?tR``:tR` - `}};l_.styles=[aR,aF,lk],lT([aJ()],l_.prototype,"imageSrc",void 0),lT([aJ({type:Boolean})],l_.prototype,"isUnsupportedChain",void 0),lT([aJ({type:Boolean})],l_.prototype,"disabled",void 0),l_=lT([a$("wui-network-button")],l_);var lS=eN` + `}};lA.styles=[nP,nR,lE],lS([nZ()],lA.prototype,"imageSrc",void 0),lS([nZ({type:Boolean})],lA.prototype,"isUnsupportedChain",void 0),lS([nZ({type:Boolean})],lA.prototype,"disabled",void 0),lA=lS([nU("wui-network-button")],lA);var lN=eD` :host { position: relative; display: block; } -`,lE=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let lA=class extends aC{constructor(){super(...arguments),this.length=6,this.otp="",this.values=Array.from({length:this.length}).map(()=>""),this.numerics=[],this.shouldInputBeEnabled=eb=>{let em=this.values.slice(0,eb);return em.every(eb=>""!==eb)},this.handleKeyDown=(eb,em)=>{let eH=eb.target,eV=this.getInputElement(eH),ew=["ArrowLeft","ArrowRight","Shift","Delete"];if(!eV)return;ew.includes(eb.key)&&eb.preventDefault();let eM=eV.selectionStart;switch(eb.key){case"ArrowLeft":eM&&eV.setSelectionRange(eM+1,eM+1),this.focusInputField("prev",em);break;case"ArrowRight":case"Shift":this.focusInputField("next",em);break;case"Delete":case"Backspace":""===eV.value?this.focusInputField("prev",em):this.updateInput(eV,em,"")}},this.focusInputField=(eb,em)=>{if("next"===eb){let eb=em+1;if(!this.shouldInputBeEnabled(eb))return;let eH=this.numerics[eb-1?eb:em],eV=eH?this.getInputElement(eH):void 0;eV&&eV.focus()}}}firstUpdated(){this.otp&&(this.values=this.otp.split(""));let eb=this.shadowRoot?.querySelectorAll("wui-input-numeric");eb&&(this.numerics=Array.from(eb)),this.numerics[0]?.focus()}render(){return tP` +`,lI=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let lD=class extends nk{constructor(){super(...arguments),this.length=6,this.otp="",this.values=Array.from({length:this.length}).map(()=>""),this.numerics=[],this.shouldInputBeEnabled=eb=>{let em=this.values.slice(0,eb);return em.every(eb=>""!==eb)},this.handleKeyDown=(eb,em)=>{let ew=eb.target,eM=this.getInputElement(ew),eC=["ArrowLeft","ArrowRight","Shift","Delete"];if(!eM)return;eC.includes(eb.key)&&eb.preventDefault();let eT=eM.selectionStart;switch(eb.key){case"ArrowLeft":eT&&eM.setSelectionRange(eT+1,eT+1),this.focusInputField("prev",em);break;case"ArrowRight":case"Shift":this.focusInputField("next",em);break;case"Delete":case"Backspace":""===eM.value?this.focusInputField("prev",em):this.updateInput(eM,em,"")}},this.focusInputField=(eb,em)=>{if("next"===eb){let eb=em+1;if(!this.shouldInputBeEnabled(eb))return;let ew=this.numerics[eb-1?eb:em],eM=ew?this.getInputElement(ew):void 0;eM&&eM.focus()}}}firstUpdated(){this.otp&&(this.values=this.otp.split(""));let eb=this.shadowRoot?.querySelectorAll("wui-input-numeric");eb&&(this.numerics=Array.from(eb)),this.numerics[0]?.focus()}render(){return tR` - ${Array.from({length:this.length}).map((eb,em)=>tP` + ${Array.from({length:this.length}).map((eb,em)=>tR` this.handleInput(eb,em)} @click=${eb=>this.selectInput(eb)} @@ -8615,29 +8587,29 @@ img, video { `)} - `}updateInput(eb,em,eH){let eV=this.numerics[em],ew=eb||(eV?this.getInputElement(eV):void 0);ew&&(ew.value=eH,this.values=this.values.map((eb,eV)=>eV===em?eH:eb))}selectInput(eb){let em=eb.target;if(em){let eb=this.getInputElement(em);eb?.select()}}handleInput(eb,em){let eH=eb.target,eV=this.getInputElement(eH);if(eV){let eH=eV.value;if("insertFromPaste"===eb.inputType)this.handlePaste(eV,eH,em);else{let ew=cS.isNumber(eH);ew&&eb.data?(this.updateInput(eV,em,eb.data),this.focusInputField("next",em)):this.updateInput(eV,em,"")}}this.dispatchInputChangeEvent()}handlePaste(eb,em,eH){let eV=em[0],ew=eV&&cS.isNumber(eV);if(ew){this.updateInput(eb,eH,eV);let ew=em.substring(1);if(eH+1(eH%eV==0?eb.push([em]):eb[eb.length-1].push(em))&&eb,[])}let lB={generate(eb,em,eH){let eV="#141414",ew="transparent",eM=5,eC=[],eT=lR(eb,"Q"),e_=em/eT.length,eS=[{x:0,y:0},{x:1,y:0},{x:0,y:1}];eS.forEach(({x:eb,y:em})=>{let eH=(eT.length-lP)*e_*eb,eE=(eT.length-lP)*e_*em,eA=.45;for(let eb=0;ebeM===em?ew:eb))}selectInput(eb){let em=eb.target;if(em){let eb=this.getInputElement(em);eb?.select()}}handleInput(eb,em){let ew=eb.target,eM=this.getInputElement(ew);if(eM){let ew=eM.value;if("insertFromPaste"===eb.inputType)this.handlePaste(eM,ew,em);else{let eC=cN.isNumber(ew);eC&&eb.data?(this.updateInput(eM,em,eb.data),this.focusInputField("next",em)):this.updateInput(eM,em,"")}}this.dispatchInputChangeEvent()}handlePaste(eb,em,ew){let eM=em[0],eC=eM&&cN.isNumber(eM);if(eC){this.updateInput(eb,ew,eM);let eC=em.substring(1);if(ew+1(ew%eM==0?eb.push([em]):eb[eb.length-1].push(em))&&eb,[])}let lU={generate(eb,em,ew){let eM="#141414",eC="transparent",eT=5,e_=[],eE=lj(eb,"Q"),eS=em/eE.length,eA=[{x:0,y:0},{x:1,y:0},{x:0,y:1}];eA.forEach(({x:eb,y:em})=>{let ew=(eE.length-lB)*eS*eb,eN=(eE.length-lB)*eS*em,eI=.45;for(let eb=0;eb - `)}});let eE=Math.floor((eH+25)/e_),eA=eT.length/2-eE/2,eN=eT.length/2+eE/2-1,eI=[];eT.forEach((eb,em)=>{eb.forEach((eb,eH)=>{if(eT[em][eH]&&!(emeT.length-(lP+1)&&eHeT.length-(lP+1))&&!(em>eA&&emeA&&eH{eD[eb]?eD[eb]?.push(em):eD[eb]=[em]}),Object.entries(eD).map(([eb,em])=>{let eH=em.filter(eb=>em.every(em=>!lO(eb,em,e_)));return[Number(eb),eH]}).forEach(([eb,em])=>{em.forEach(em=>{eC.push(tO``)})}),Object.entries(eD).filter(([eb,em])=>em.length>1).map(([eb,em])=>{let eH=em.filter(eb=>em.some(em=>lO(eb,em,e_)));return[Number(eb),eH]}).map(([eb,em])=>{em.sort((eb,em)=>ebem.some(em=>lO(eb,em,e_)));em?em.push(eb):eH.push([eb])}return[eb,eH.map(eb=>[eb[0],eb[eb.length-1]])]}).forEach(([eb,em])=>{em.forEach(([em,eH])=>{eC.push(tO` + `)}});let eN=Math.floor((ew+25)/eS),eI=eE.length/2-eN/2,eD=eE.length/2+eN/2-1,eO=[];eE.forEach((eb,em)=>{eb.forEach((eb,ew)=>{if(eE[em][ew]&&!(emeE.length-(lB+1)&&eweE.length-(lB+1))&&!(em>eI&&emeI&&ew{eP[eb]?eP[eb]?.push(em):eP[eb]=[em]}),Object.entries(eP).map(([eb,em])=>{let ew=em.filter(eb=>em.every(em=>!lF(eb,em,eS)));return[Number(eb),ew]}).forEach(([eb,em])=>{em.forEach(em=>{e_.push(tB``)})}),Object.entries(eP).filter(([eb,em])=>em.length>1).map(([eb,em])=>{let ew=em.filter(eb=>em.some(em=>lF(eb,em,eS)));return[Number(eb),ew]}).map(([eb,em])=>{em.sort((eb,em)=>ebem.some(em=>lF(eb,em,eS)));em?em.push(eb):ew.push([eb])}return[eb,ew.map(eb=>[eb[0],eb[eb.length-1]])]}).forEach(([eb,em])=>{em.forEach(([em,ew])=>{e_.push(tB` - `)})}),eC}};var lF=eN` + `)})}),e_}};var lV=eD` :host { position: relative; user-select: none; @@ -8683,19 +8655,19 @@ img, video { color: #3396ff !important; transform: translateY(-50%) translateX(-50%) scale(0.25); } -`,lj=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let lU=class extends aC{constructor(){super(...arguments),this.uri="",this.size=0,this.theme="dark",this.imageSrc=void 0,this.alt=void 0,this.arenaClear=void 0}render(){return this.dataset.theme=this.theme,this.dataset.clear=String(this.arenaClear),this.style.cssText=`--local-size: ${this.size}px`,tP`${this.templateVisual()} ${this.templateSvg()}`}templateSvg(){let eb="light"===this.theme?this.size:this.size-32;return tO` +`,lH=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let l$=class extends nk{constructor(){super(...arguments),this.uri="",this.size=0,this.theme="dark",this.imageSrc=void 0,this.alt=void 0,this.arenaClear=void 0}render(){return this.dataset.theme=this.theme,this.dataset.clear=String(this.arenaClear),this.style.cssText=`--local-size: ${this.size}px`,tR`${this.templateVisual()} ${this.templateSvg()}`}templateSvg(){let eb="light"===this.theme?this.size:this.size-32;return tB` - ${lB.generate(this.uri,eb,this.arenaClear?0:eb/4)} + ${lU.generate(this.uri,eb,this.arenaClear?0:eb/4)} - `}templateVisual(){return this.imageSrc?tP``:tP``}};lU.styles=[aR,lF],lj([aJ()],lU.prototype,"uri",void 0),lj([aJ({type:Number})],lU.prototype,"size",void 0),lj([aJ()],lU.prototype,"theme",void 0),lj([aJ()],lU.prototype,"imageSrc",void 0),lj([aJ()],lU.prototype,"alt",void 0),lj([aJ({type:Boolean})],lU.prototype,"arenaClear",void 0),lU=lj([a$("wui-qr-code")],lU);var lq=eN` + `}templateVisual(){return this.imageSrc?tR``:tR``}};l$.styles=[nP,lV],lH([nZ()],l$.prototype,"uri",void 0),lH([nZ({type:Number})],l$.prototype,"size",void 0),lH([nZ()],l$.prototype,"theme",void 0),lH([nZ()],l$.prototype,"imageSrc",void 0),lH([nZ()],l$.prototype,"alt",void 0),lH([nZ({type:Boolean})],l$.prototype,"arenaClear",void 0),l$=lH([nU("wui-qr-code")],l$);var lq=eD` :host { position: relative; display: inline-block; width: 100%; } -`,l$=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let lW=class extends aC{constructor(){super(...arguments),this.inputComponentRef=oH()}render(){return tP` +`,lW=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let lZ=class extends nk{constructor(){super(...arguments),this.inputComponentRef=oM()}render(){return tR` - `}clearValue(){let eb=this.inputComponentRef.value,em=eb?.inputElementRef.value;em&&(em.value="",em.focus(),em.dispatchEvent(new Event("input")))}};lW.styles=[aR,lq],lW=l$([a$("wui-search-bar")],lW);var lZ=eN` + `}clearValue(){let eb=this.inputComponentRef.value,em=eb?.inputElementRef.value;em&&(em.value="",em.focus(),em.dispatchEvent(new Event("input")))}};lZ.styles=[nP,lq],lZ=lW([nU("wui-search-bar")],lZ);var lK=eD` :host { display: flex; column-gap: var(--wui-spacing-xs); @@ -8719,7 +8691,7 @@ img, video { 0px 14px 64px -4px rgba(0, 0, 0, 0.15), 0px 8px 22px -6px rgba(0, 0, 0, 0.15); } -`,lG=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let lK=class extends aC{constructor(){super(...arguments),this.backgroundColor="accent-100",this.iconColor="accent-100",this.icon="checkmark",this.message=""}render(){return tP` +`,lG=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let lY=class extends nk{constructor(){super(...arguments),this.backgroundColor="accent-100",this.iconColor="accent-100",this.icon="checkmark",this.message=""}render(){return tR` ${this.message} - `}};lK.styles=[aR,lZ],lG([aJ()],lK.prototype,"backgroundColor",void 0),lG([aJ()],lK.prototype,"iconColor",void 0),lG([aJ()],lK.prototype,"icon",void 0),lG([aJ()],lK.prototype,"message",void 0),lK=lG([a$("wui-snackbar")],lK);var lY=eN` + `}};lY.styles=[nP,lK],lG([nZ()],lY.prototype,"backgroundColor",void 0),lG([nZ()],lY.prototype,"iconColor",void 0),lG([nZ()],lY.prototype,"icon",void 0),lG([nZ()],lY.prototype,"message",void 0),lY=lG([nU("wui-snackbar")],lY);var lJ=eD` :host { display: inline-flex; background-color: var(--wui-gray-glass-002); @@ -8837,20 +8809,20 @@ img, video { button { border-radius: var(--wui-border-radius-3xl); } -`,lX=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let lJ=class extends aC{constructor(){super(...arguments),this.tabs=[],this.onTabChange=()=>null,this.buttons=[],this.disabled=!1,this.localTabWidth="100px",this.activeTab=0,this.isDense=!1}render(){return this.isDense=this.tabs.length>3,this.style.cssText=` +`,lX=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let lQ=class extends nk{constructor(){super(...arguments),this.tabs=[],this.onTabChange=()=>null,this.buttons=[],this.disabled=!1,this.localTabWidth="100px",this.activeTab=0,this.isDense=!1}render(){return this.isDense=this.tabs.length>3,this.style.cssText=` --local-tab: ${this.activeTab}; --local-tab-width: ${this.localTabWidth}; - `,this.dataset.type=this.isDense?"flex":"block",this.tabs.map((eb,em)=>{let eH=em===this.activeTab;return tP` + `,this.dataset.type=this.isDense?"flex":"block",this.tabs.map((eb,em)=>{let ew=em===this.activeTab;return tR` - `})}firstUpdated(){this.shadowRoot&&this.isDense&&(this.buttons=[...this.shadowRoot.querySelectorAll("button")],setTimeout(()=>{this.animateTabs(0,!0)},0))}iconTemplate(eb){return eb.icon?tP``:null}onTabClick(eb){this.buttons&&this.animateTabs(eb,!1),this.activeTab=eb,this.onTabChange(eb)}animateTabs(eb,em){let eH=this.buttons[this.activeTab],eV=this.buttons[eb],ew=eH?.querySelector("wui-text"),eM=eV?.querySelector("wui-text"),eC=eV?.getBoundingClientRect(),eT=eM?.getBoundingClientRect();eH&&ew&&!em&&eb!==this.activeTab&&(ew.animate([{opacity:0}],{duration:50,easing:"ease",fill:"forwards"}),eH.animate([{width:"34px"}],{duration:500,easing:"ease",fill:"forwards"})),eV&&eC&&eT&&eM&&(eb!==this.activeTab||em)&&(this.localTabWidth=`${Math.round(eC.width+eT.width)+6}px`,eV.animate([{width:`${eC.width+eT.width}px`}],{duration:em?0:500,fill:"forwards",easing:"ease"}),eM.animate([{opacity:1}],{duration:em?0:125,delay:em?0:200,fill:"forwards",easing:"ease"}))}};lJ.styles=[aR,aF,lY],lX([aJ({type:Array})],lJ.prototype,"tabs",void 0),lX([aJ()],lJ.prototype,"onTabChange",void 0),lX([aJ({type:Array})],lJ.prototype,"buttons",void 0),lX([aJ({type:Boolean})],lJ.prototype,"disabled",void 0),lX([aJ()],lJ.prototype,"localTabWidth",void 0),lX([aQ()],lJ.prototype,"activeTab",void 0),lX([aQ()],lJ.prototype,"isDense",void 0),lJ=lX([a$("wui-tabs")],lJ);var lQ=eN` + `})}firstUpdated(){this.shadowRoot&&this.isDense&&(this.buttons=[...this.shadowRoot.querySelectorAll("button")],setTimeout(()=>{this.animateTabs(0,!0)},0))}iconTemplate(eb){return eb.icon?tR``:null}onTabClick(eb){this.buttons&&this.animateTabs(eb,!1),this.activeTab=eb,this.onTabChange(eb)}animateTabs(eb,em){let ew=this.buttons[this.activeTab],eM=this.buttons[eb],eC=ew?.querySelector("wui-text"),eT=eM?.querySelector("wui-text"),e_=eM?.getBoundingClientRect(),eE=eT?.getBoundingClientRect();ew&&eC&&!em&&eb!==this.activeTab&&(eC.animate([{opacity:0}],{duration:50,easing:"ease",fill:"forwards"}),ew.animate([{width:"34px"}],{duration:500,easing:"ease",fill:"forwards"})),eM&&e_&&eE&&eT&&(eb!==this.activeTab||em)&&(this.localTabWidth=`${Math.round(e_.width+eE.width)+6}px`,eM.animate([{width:`${e_.width+eE.width}px`}],{duration:em?0:500,fill:"forwards",easing:"ease"}),eT.animate([{opacity:1}],{duration:em?0:125,delay:em?0:200,fill:"forwards",easing:"ease"}))}};lQ.styles=[nP,nR,lJ],lX([nZ({type:Array})],lQ.prototype,"tabs",void 0),lX([nZ()],lQ.prototype,"onTabChange",void 0),lX([nZ({type:Array})],lQ.prototype,"buttons",void 0),lX([nZ({type:Boolean})],lQ.prototype,"disabled",void 0),lX([nZ()],lQ.prototype,"localTabWidth",void 0),lX([nK()],lQ.prototype,"activeTab",void 0),lX([nK()],lQ.prototype,"isDense",void 0),lQ=lX([nU("wui-tabs")],lQ);var l6=eD` :host { display: block; } @@ -8872,19 +8844,19 @@ img, video { border-radius: var(--wui-border-radius-s); box-shadow: inset 0 0 0 1px var(--wui-gray-glass-010); } -`,l6=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let l4=class extends aC{constructor(){super(...arguments),this.text=""}render(){return tP` +`,l4=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let l3=class extends nk{constructor(){super(...arguments),this.text=""}render(){return tR` - `}tokenTemplate(){return this.imageSrc?tP``:tP` + `}tokenTemplate(){return this.imageSrc?tR``:tR` - `}};l4.styles=[aR,aF,lQ],l6([aJ()],l4.prototype,"imageSrc",void 0),l6([aJ()],l4.prototype,"text",void 0),l4=l6([a$("wui-token-button")],l4);var l3=eN` + `}};l3.styles=[nP,nR,l6],l4([nZ()],l3.prototype,"imageSrc",void 0),l4([nZ()],l3.prototype,"text",void 0),l3=l4([nU("wui-token-button")],l3);var l5=eD` :host { display: block; padding: 9px var(--wui-spacing-s) 10px var(--wui-spacing-s); @@ -8937,13 +8909,13 @@ img, video { right: 0%; transform: translate(65%, -50%) rotate(270deg); } -`,l5=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let l8=class extends aC{constructor(){super(...arguments),this.placement="top",this.variant="fill",this.message=""}render(){return this.dataset.variant=this.variant,tP`=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let l9=class extends nk{constructor(){super(...arguments),this.placement="top",this.variant="fill",this.message=""}render(){return this.dataset.variant=this.variant,tR` - ${this.message}`}};l8.styles=[aR,aF,l3],l5([aJ()],l8.prototype,"placement",void 0),l5([aJ()],l8.prototype,"variant",void 0),l5([aJ()],l8.prototype,"message",void 0),l8=l5([a$("wui-tooltip")],l8);var l9=eN` + ${this.message}`}};l9.styles=[nP,nR,l5],l8([nZ()],l9.prototype,"placement",void 0),l8([nZ()],l9.prototype,"variant",void 0),l8([nZ()],l9.prototype,"message",void 0),l9=l8([nU("wui-tooltip")],l9);var l7=eD` :host > wui-flex { cursor: pointer; display: flex; @@ -8995,27 +8967,27 @@ img, video { width: 36px; height: 36px; } -`,l7=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let fy=class extends aC{constructor(){super(...arguments),this.imageSrc=void 0,this.name=void 0,this.symbol=void 0,this.price=void 0,this.amount=void 0}render(){let eb=this.amount&&this.price?aN.C6.multiply(this.price,this.amount)?.toFixed(3):null;return tP` +`,fy=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let fz=class extends nk{constructor(){super(...arguments),this.imageSrc=void 0,this.name=void 0,this.symbol=void 0,this.price=void 0,this.amount=void 0}render(){let eb=this.amount&&this.price?nA.C6.multiply(this.price,this.amount)?.toFixed(3):null;return tR` ${this.visualTemplate()} ${this.name} - ${eb?tP` + ${eb?tR` - $${cS.formatNumberToLocalString(eb,3)} + $${cN.formatNumberToLocalString(eb,3)} `:null} ${this.symbol} - ${this.amount?tP` - ${cS.formatNumberToLocalString(this.amount,4)} + ${this.amount?tR` + ${cN.formatNumberToLocalString(this.amount,4)} `:null} - `}visualTemplate(){return this.imageSrc?tP``:null}};fy.styles=[aR,aF,l9],l7([aJ()],fy.prototype,"imageSrc",void 0),l7([aJ()],fy.prototype,"name",void 0),l7([aJ()],fy.prototype,"symbol",void 0),l7([aJ()],fy.prototype,"price",void 0),l7([aJ()],fy.prototype,"amount",void 0),fy=l7([a$("wui-token-list-item")],fy);var fz=eN` + `}visualTemplate(){return this.imageSrc?tR``:null}};fz.styles=[nP,nR,l7],fy([nZ()],fz.prototype,"imageSrc",void 0),fy([nZ()],fz.prototype,"name",void 0),fy([nZ()],fz.prototype,"symbol",void 0),fy([nZ()],fz.prototype,"price",void 0),fy([nZ()],fz.prototype,"amount",void 0),fz=fy([nU("wui-token-list-item")],fz);var fw=eD` :host { display: flex; justify-content: center; @@ -9031,12 +9003,12 @@ img, video { width: 32px; height: 32px; } -`,fH=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let fV=class extends aC{render(){return this.style.cssText=`--local-border-radius: ${this.borderRadiusFull?"1000px":"20px"};`,tP`${this.templateVisual()}`}templateVisual(){return this.imageSrc?tP``:tP`=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let fx=class extends nk{render(){return this.style.cssText=`--local-border-radius: ${this.borderRadiusFull?"1000px":"20px"};`,tR`${this.templateVisual()}`}templateVisual(){return this.imageSrc?tR``:tR``}};fV.styles=[aR,fz],fH([aJ()],fV.prototype,"imageSrc",void 0),fH([aJ()],fV.prototype,"alt",void 0),fH([aJ({type:Boolean})],fV.prototype,"borderRadiusFull",void 0),fV=fH([a$("wui-visual-thumbnail")],fV);var fw=eN` + >`}};fx.styles=[nP,fw],fC([nZ()],fx.prototype,"imageSrc",void 0),fC([nZ()],fx.prototype,"alt",void 0),fC([nZ({type:Boolean})],fx.prototype,"borderRadiusFull",void 0),fx=fC([nU("wui-visual-thumbnail")],fx);var fk=eD` :host { display: block; } @@ -9059,7 +9031,7 @@ img, video { button:active { background-color: var(--wui-accent-glass-020) !important; } -`,fC=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let fx=class extends aC{constructor(){super(...arguments),this.label="",this.description="",this.icon="wallet"}render(){return tP` +`,fT=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let f_=class extends nk{constructor(){super(...arguments),this.label="",this.description="",this.icon="wallet"}render(){return tR` - `}};fx.styles=[aR,aF,fw],fC([aJ()],fx.prototype,"label",void 0),fC([aJ()],fx.prototype,"description",void 0),fC([aJ()],fx.prototype,"icon",void 0),fx=fC([a$("wui-notice-card")],fx);var fk=eN` + `}};f_.styles=[nP,nR,fk],fT([nZ()],f_.prototype,"label",void 0),fT([nZ()],f_.prototype,"description",void 0),fT([nZ()],f_.prototype,"icon",void 0),f_=fT([nU("wui-notice-card")],f_);var fE=eD` button { height: auto; position: relative; @@ -9119,7 +9091,7 @@ img, video { overflow-x: auto; overflow-wrap: anywhere; } -`,fT=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let f_=100,fS=class extends aC{constructor(){super(...arguments),this.textTitle="",this.overflowedContent="",this.toggled=!1,this.enableAccordion=!1,this.scrollElement=void 0,this.scrollHeightElement=0}updated(eb){super.updated(eb),(eb.has("textTitle")||eb.has("overflowedContent"))&&setTimeout(()=>{this.checkHeight()},1)}checkHeight(){this.updateComplete.then(()=>{let eb=this.shadowRoot?.querySelector(".heightContent"),em=this.shadowRoot?.querySelector(".textContent");if(eb&&em){this.scrollElement=eb;let eH=em?.scrollHeight;eH&&eH>f_&&(this.enableAccordion=!0,this.scrollHeightElement=eH,this.requestUpdate())}})}render(){return tP` +`,fS=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let fA=100,fN=class extends nk{constructor(){super(...arguments),this.textTitle="",this.overflowedContent="",this.toggled=!1,this.enableAccordion=!1,this.scrollElement=void 0,this.scrollHeightElement=0}updated(eb){super.updated(eb),(eb.has("textTitle")||eb.has("overflowedContent"))&&setTimeout(()=>{this.checkHeight()},1)}checkHeight(){this.updateComplete.then(()=>{let eb=this.shadowRoot?.querySelector(".heightContent"),em=this.shadowRoot?.querySelector(".textContent");if(eb&&em){this.scrollElement=eb;let ew=em?.scrollHeight;ew&&ew>fA&&(this.enableAccordion=!0,this.scrollHeightElement=ew,this.requestUpdate())}})}render(){return tR` - `}onClick(){let eb=this.shadowRoot?.querySelector("wui-icon");this.enableAccordion&&(this.toggled=!this.toggled,this.requestUpdate(),this.scrollElement&&this.scrollElement.animate([{maxHeight:this.toggled?`${f_}px`:`${this.scrollHeightElement}px`},{maxHeight:this.toggled?`${this.scrollHeightElement}px`:`${f_}px`}],{duration:300,fill:"forwards",easing:"ease"}),eb&&eb.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?tP` `:null}};fS.styles=[aR,aF,fk],fT([aJ()],fS.prototype,"textTitle",void 0),fT([aJ()],fS.prototype,"overflowedContent",void 0),fS=fT([a$("wui-list-accordion")],fS);var fE=eN` + `}onClick(){let eb=this.shadowRoot?.querySelector("wui-icon");this.enableAccordion&&(this.toggled=!this.toggled,this.requestUpdate(),this.scrollElement&&this.scrollElement.animate([{maxHeight:this.toggled?`${fA}px`:`${this.scrollHeightElement}px`},{maxHeight:this.toggled?`${this.scrollHeightElement}px`:`${fA}px`}],{duration:300,fill:"forwards",easing:"ease"}),eb&&eb.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?tR` `:null}};fN.styles=[nP,nR,fE],fS([nZ()],fN.prototype,"textTitle",void 0),fS([nZ()],fN.prototype,"overflowedContent",void 0),fN=fS([nU("wui-list-accordion")],fN);var fI=eD` :host { display: flex; column-gap: var(--wui-spacing-s); @@ -9157,14 +9129,14 @@ img, video { width: var(--wui-icon-size-lg); height: var(--wui-icon-size-lg); } -`,fA=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let fN=class extends aC{constructor(){super(...arguments),this.imageSrc=void 0,this.textTitle="",this.textValue=void 0}render(){return tP` +`,fD=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let fO=class extends nk{constructor(){super(...arguments),this.imageSrc=void 0,this.textTitle="",this.textValue=void 0}render(){return tR` ${this.textTitle} ${this.templateContent()} - `}templateContent(){return this.imageSrc?tP``:this.textValue?tP` ${this.textValue} `:tP``}};fN.styles=[aR,aF,fE],fA([aJ()],fN.prototype,"imageSrc",void 0),fA([aJ()],fN.prototype,"textTitle",void 0),fA([aJ()],fN.prototype,"textValue",void 0),fN=fA([a$("wui-list-content")],fN);var fI=eN` + `}templateContent(){return this.imageSrc?tR``:this.textValue?tR` ${this.textValue} `:tR``}};fO.styles=[nP,nR,fI],fD([nZ()],fO.prototype,"imageSrc",void 0),fD([nZ()],fO.prototype,"textTitle",void 0),fD([nZ()],fO.prototype,"textValue",void 0),fO=fD([nU("wui-list-content")],fO);var fP=eD` button { column-gap: var(--wui-spacing-s); padding: 7px var(--wui-spacing-l) 7px var(--wui-spacing-xs); @@ -9197,16 +9169,16 @@ img, video { background-color: var(--wui-gray-glass-010); color: var(--wui-color-fg-300); } -`,fD=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let fP=class extends aC{constructor(){super(...arguments),this.imageSrc="",this.name="",this.disabled=!1,this.transparent=!1}render(){return tP` +`,fR=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let fB=class extends nk{constructor(){super(...arguments),this.imageSrc="",this.name="",this.disabled=!1,this.transparent=!1}render(){return tR` - `}templateNetworkImage(){return this.imageSrc?tP``:this.imageSrc?null:tP``}};fP.styles=[aR,aF,fI],fD([aJ()],fP.prototype,"imageSrc",void 0),fD([aJ()],fP.prototype,"name",void 0),fD([aJ({type:Boolean})],fP.prototype,"disabled",void 0),fD([aJ({type:Boolean})],fP.prototype,"transparent",void 0),fP=fD([a$("wui-list-network")],fP);var fO=eN` + >`:this.imageSrc?null:tR``}};fB.styles=[nP,nR,fP],fR([nZ()],fB.prototype,"imageSrc",void 0),fR([nZ()],fB.prototype,"name",void 0),fR([nZ({type:Boolean})],fB.prototype,"disabled",void 0),fR([nZ({type:Boolean})],fB.prototype,"transparent",void 0),fB=fR([nU("wui-list-network")],fB);var fF=eD` :host { display: flex; flex-direction: column; @@ -9228,7 +9200,7 @@ img, video { width: var(--wui-icon-size-lg); height: var(--wui-icon-size-lg); } -`,fR=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let fB=class extends aC{constructor(){super(...arguments),this.amount="",this.networkCurreny="",this.networkImageUrl="",this.receiverAddress="",this.addressExplorerUrl=""}render(){return tP` +`,fj=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let fU=class extends nk{constructor(){super(...arguments),this.amount="",this.networkCurreny="",this.networkImageUrl="",this.receiverAddress="",this.addressExplorerUrl=""}render(){return tR` Sending @@ -9247,7 +9219,7 @@ img, video { title=${this.receiverAddress} > - `}templateNetworkVisual(){return this.networkImageUrl?tP``:tP``}};fB.styles=[aR,aF,fO],fR([aJ()],fB.prototype,"amount",void 0),fR([aJ()],fB.prototype,"networkCurreny",void 0),fR([aJ()],fB.prototype,"networkImageUrl",void 0),fR([aJ()],fB.prototype,"receiverAddress",void 0),fR([aJ()],fB.prototype,"addressExplorerUrl",void 0),fB=fR([a$("wui-list-wallet-transaction")],fB);var fF=eN` + `}templateNetworkVisual(){return this.networkImageUrl?tR``:tR``}};fU.styles=[nP,nR,fF],fj([nZ()],fU.prototype,"amount",void 0),fj([nZ()],fU.prototype,"networkCurreny",void 0),fj([nZ()],fU.prototype,"networkImageUrl",void 0),fj([nZ()],fU.prototype,"receiverAddress",void 0),fj([nZ()],fU.prototype,"addressExplorerUrl",void 0),fU=fj([nU("wui-list-wallet-transaction")],fU);var fV=eD` :host { width: 100%; } @@ -9300,7 +9272,7 @@ img, video { bottom: 0; transform: translate(20%, 20%); } -`,fj=eH(48207),fU=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let fq=class extends aC{constructor(){super(...arguments),this.disabled=!1,this.color="inherit",this.label="Bought",this.purchaseValue="",this.purchaseCurrency="",this.date="",this.completed=!1,this.inProgress=!1,this.failed=!1,this.onClick=null,this.symbol=""}firstUpdated(){this.icon||this.fetchTokenImage()}render(){return tP` +`,fH=ew(48207),f$=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let fq=class extends nk{constructor(){super(...arguments),this.disabled=!1,this.color="inherit",this.label="Bought",this.purchaseValue="",this.purchaseCurrency="",this.date="",this.completed=!1,this.inProgress=!1,this.failed=!1,this.onClick=null,this.symbol=""}firstUpdated(){this.icon||this.fetchTokenImage()}render(){return tR` ${this.imageTemplate()} @@ -9312,25 +9284,25 @@ img, video { + ${this.purchaseValue} ${this.purchaseCurrency} - ${this.inProgress?tP``:tP`${this.date}`} + ${this.inProgress?tR``:tR`${this.date}`} - `}async fetchTokenImage(){await fj.QT._fetchTokenImage(this.purchaseCurrency)}statusIconTemplate(){return this.inProgress?null:this.completed?this.boughtIconTemplate():this.errorIconTemplate()}errorIconTemplate(){return tP``}imageTemplate(){let eb=this.icon||`https://avatar.vercel.sh/andrew.svg?size=50&text=${this.symbol}`;return tP` + >`}imageTemplate(){let eb=this.icon||`https://avatar.vercel.sh/andrew.svg?size=50&text=${this.symbol}`;return tR` - `}boughtIconTemplate(){return tP``}boughtIconTemplate(){return tR``}};fq.styles=[aR,aF,fF],fU([aJ({type:Boolean})],fq.prototype,"disabled",void 0),fU([aJ()],fq.prototype,"color",void 0),fU([aJ()],fq.prototype,"label",void 0),fU([aJ()],fq.prototype,"purchaseValue",void 0),fU([aJ()],fq.prototype,"purchaseCurrency",void 0),fU([aJ()],fq.prototype,"date",void 0),fU([aJ({type:Boolean})],fq.prototype,"completed",void 0),fU([aJ({type:Boolean})],fq.prototype,"inProgress",void 0),fU([aJ({type:Boolean})],fq.prototype,"failed",void 0),fU([aJ()],fq.prototype,"onClick",void 0),fU([aJ()],fq.prototype,"symbol",void 0),fU([aJ()],fq.prototype,"icon",void 0),fq=fU([a$("wui-onramp-activity-item")],fq);var f$=eN` + >`}};fq.styles=[nP,nR,fV],f$([nZ({type:Boolean})],fq.prototype,"disabled",void 0),f$([nZ()],fq.prototype,"color",void 0),f$([nZ()],fq.prototype,"label",void 0),f$([nZ()],fq.prototype,"purchaseValue",void 0),f$([nZ()],fq.prototype,"purchaseCurrency",void 0),f$([nZ()],fq.prototype,"date",void 0),f$([nZ({type:Boolean})],fq.prototype,"completed",void 0),f$([nZ({type:Boolean})],fq.prototype,"inProgress",void 0),f$([nZ({type:Boolean})],fq.prototype,"failed",void 0),f$([nZ()],fq.prototype,"onClick",void 0),f$([nZ()],fq.prototype,"symbol",void 0),f$([nZ()],fq.prototype,"icon",void 0),fq=f$([nU("wui-onramp-activity-item")],fq);var fW=eD` button { padding: var(--wui-spacing-s); border-radius: var(--wui-border-radius-xs); @@ -9385,9 +9357,9 @@ img, video { 0 0 0 3px var(--wui-gray-glass-005), 0 0 0 3px var(--wui-color-modal-bg); } -`,fW=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let fZ=class extends aC{constructor(){super(...arguments),this.disabled=!1,this.color="inherit",this.label="",this.feeRange="",this.loading=!1,this.onClick=null}render(){return tP` +`,fZ=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let fK=class extends nk{constructor(){super(...arguments),this.disabled=!1,this.color="inherit",this.label="",this.feeRange="",this.loading=!1,this.onClick=null}render(){return tR` - `}networksTemplate(){let eb=fj.fB.getRequestedCaipNetworks(),em=eb?.filter(eb=>eb?.imageId)?.slice(0,5);return tP` + `}networksTemplate(){let eb=fH.fB.getRequestedCaipNetworks(),em=eb?.filter(eb=>eb?.imageId)?.slice(0,5);return tR` - ${em?.map(eb=>tP` + ${em?.map(eb=>tR` - + `)} - `}};fZ.styles=[aR,aF,f$],fW([aJ({type:Boolean})],fZ.prototype,"disabled",void 0),fW([aJ()],fZ.prototype,"color",void 0),fW([aJ()],fZ.prototype,"name",void 0),fW([aJ()],fZ.prototype,"label",void 0),fW([aJ()],fZ.prototype,"feeRange",void 0),fW([aJ({type:Boolean})],fZ.prototype,"loading",void 0),fW([aJ()],fZ.prototype,"onClick",void 0),fZ=fW([a$("wui-onramp-provider-item")],fZ);var fG=eN` + `}};fK.styles=[nP,nR,fW],fZ([nZ({type:Boolean})],fK.prototype,"disabled",void 0),fZ([nZ()],fK.prototype,"color",void 0),fZ([nZ()],fK.prototype,"name",void 0),fZ([nZ()],fK.prototype,"label",void 0),fZ([nZ()],fK.prototype,"feeRange",void 0),fZ([nZ({type:Boolean})],fK.prototype,"loading",void 0),fZ([nZ()],fK.prototype,"onClick",void 0),fK=fZ([nU("wui-onramp-provider-item")],fK);var fG=eD` button { display: flex; gap: var(--wui-spacing-3xs); @@ -9434,10 +9406,10 @@ img, video { background-color: var(--wui-gray-glass-060); } } -`,fK=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let fY=class extends aC{constructor(){super(...arguments),this.text=""}render(){return tP``}};fY.styles=[aR,aF,fG],fK([aJ()],fY.prototype,"text",void 0),fY=fK([a$("wui-promo")],fY);var fX=eN` + `}};fJ.styles=[nP,nR,fG],fY([nZ()],fJ.prototype,"text",void 0),fJ=fY([nU("wui-promo")],fJ);var fX=eD` span { font-weight: 500; font-size: 40px; @@ -9450,7 +9422,7 @@ img, video { .pennies { color: var(--wui-color-fg-200); } -`,fJ=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let fQ=class extends aC{constructor(){super(...arguments),this.dollars="0",this.pennies="00"}render(){return tP`$${this.dollars}.${this.pennies}`}};fQ.styles=[aR,fX],fJ([aJ()],fQ.prototype,"dollars",void 0),fJ([aJ()],fQ.prototype,"pennies",void 0),fQ=fJ([a$("wui-balance")],fQ);var f0=eN` +`,fQ=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let f0=class extends nk{constructor(){super(...arguments),this.dollars="0",this.pennies="00"}render(){return tR`$${this.dollars}.${this.pennies}`}};f0.styles=[nP,fX],fQ([nZ()],f0.prototype,"dollars",void 0),fQ([nZ()],f0.prototype,"pennies",void 0),f0=fQ([nU("wui-balance")],f0);var f6=eD` button { background-color: var(--wui-gray-glass-002); border-radius: var(--wui-border-radius-3xl); @@ -9484,7 +9456,7 @@ img, video { outline: 2px solid var(--wui-color-bg-200); background-color: var(--wui-color-bg-250); } -`,f6=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let f4=class extends aC{constructor(){super(...arguments),this.networkSrc=void 0,this.avatarSrc=void 0,this.profileName="",this.address="",this.icon="chevronBottom"}render(){return tP``}networkImageTemplate(){return this.networkSrc?tP``:tP` + `}networkImageTemplate(){return this.networkSrc?tR``:tR` - `}};f4.styles=[aR,aF,f0],f6([aJ()],f4.prototype,"networkSrc",void 0),f6([aJ()],f4.prototype,"avatarSrc",void 0),f6([aJ()],f4.prototype,"profileName",void 0),f6([aJ()],f4.prototype,"address",void 0),f6([aJ()],f4.prototype,"icon",void 0),f4=f6([a$("wui-profile-button")],f4);var f3=eN` + `}};f3.styles=[nP,nR,f6],f4([nZ()],f3.prototype,"networkSrc",void 0),f4([nZ()],f3.prototype,"avatarSrc",void 0),f4([nZ()],f3.prototype,"profileName",void 0),f4([nZ()],f3.prototype,"address",void 0),f4([nZ()],f3.prototype,"icon",void 0),f3=f4([nU("wui-profile-button")],f3);var f5=eD` button { border: 1px solid var(--wui-gray-glass-010); border-radius: var(--wui-border-radius-3xl); @@ -9687,13 +9659,13 @@ img, video { button[data-variant='error']:active { background-color: var(--wui-error-glass-020); } -`,f5=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let f8=class extends aC{constructor(){super(...arguments),this.variant="fill",this.imageSrc="",this.disabled=!1,this.icon="externalLink",this.text=""}render(){let eb="success"===this.variant||"transparent"===this.variant||"shadeSmall"===this.variant,em=eb?"small-600":"paragraph-600";return tP` +`,f8=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let f9=class extends nk{constructor(){super(...arguments),this.variant="fill",this.imageSrc="",this.disabled=!1,this.icon="externalLink",this.text=""}render(){let eb="success"===this.variant||"transparent"===this.variant||"shadeSmall"===this.variant,em=eb?"small-600":"paragraph-600";return tR` - `}};f8.styles=[aR,aF,f3],f5([aJ()],f8.prototype,"variant",void 0),f5([aJ()],f8.prototype,"imageSrc",void 0),f5([aJ({type:Boolean})],f8.prototype,"disabled",void 0),f5([aJ()],f8.prototype,"icon",void 0),f5([aJ()],f8.prototype,"text",void 0),f8=f5([a$("wui-chip-button")],f8);var f9=eN` + `}};f9.styles=[nP,nR,f5],f8([nZ()],f9.prototype,"variant",void 0),f8([nZ()],f9.prototype,"imageSrc",void 0),f8([nZ({type:Boolean})],f9.prototype,"disabled",void 0),f8([nZ()],f9.prototype,"icon",void 0),f8([nZ()],f9.prototype,"text",void 0),f9=f8([nU("wui-chip-button")],f9);var f7=eD` button { display: flex; gap: var(--wui-spacing-xl); @@ -9720,7 +9692,7 @@ img, video { 0 0 0 3px var(--wui-gray-glass-002), 0 0 0 3px var(--wui-color-modal-bg); } -`,f7=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let dv=class extends aC{constructor(){super(...arguments),this.networkImages=[""],this.text=""}render(){return tP` +`,dv=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let dz=class extends nk{constructor(){super(...arguments),this.networkImages=[""],this.text=""}render(){return tR` - `}networksTemplate(){let eb=this.networkImages.slice(0,5);return tP` - ${eb?.map(eb=>tP` `)} - `}};dv.styles=[aR,aF,f9],f7([aJ({type:Array})],dv.prototype,"networkImages",void 0),f7([aJ()],dv.prototype,"text",void 0),dv=f7([a$("wui-compatible-network")],dv);var dz=eN` + `}networksTemplate(){let eb=this.networkImages.slice(0,5);return tR` + ${eb?.map(eb=>tR` `)} + `}};dz.styles=[nP,nR,f7],dv([nZ({type:Array})],dz.prototype,"networkImages",void 0),dv([nZ()],dz.prototype,"text",void 0),dz=dv([nU("wui-compatible-network")],dz);var dw=eD` wui-flex { width: 100%; background-color: var(--wui-gray-glass-005); @@ -9738,7 +9710,7 @@ img, video { padding: var(--wui-spacing-1xs) var(--wui-spacing-s) var(--wui-spacing-1xs) var(--wui-spacing-1xs); } -`,dH=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let dV=class extends aC{constructor(){super(...arguments),this.icon="externalLink",this.text=""}render(){return tP` +`,dM=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let dC=class extends nk{constructor(){super(...arguments),this.icon="externalLink",this.text=""}render(){return tR` ${this.text} - `}};dV.styles=[aR,aF,dz],dH([aJ()],dV.prototype,"icon",void 0),dH([aJ()],dV.prototype,"text",void 0),dV=dH([a$("wui-banner")],dV);var dw=eN` + `}};dC.styles=[nP,nR,dw],dM([nZ()],dC.prototype,"icon",void 0),dM([nZ()],dC.prototype,"text",void 0),dC=dM([nU("wui-banner")],dC);var dT=eD` button { padding: 6.5px var(--wui-spacing-l) 6.5px var(--wui-spacing-xs); display: flex; @@ -9773,20 +9745,20 @@ img, video { wui-image { border-radius: var(--wui-border-radius-3xl); } -`,dM=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let dC=class extends aC{constructor(){super(...arguments),this.tokenName="",this.tokenImageUrl="",this.tokenValue=0,this.tokenAmount="0.0",this.tokenCurrency="",this.clickable=!1}render(){return tP` +`,dE=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let dS=class extends nk{constructor(){super(...arguments),this.tokenName="",this.tokenImageUrl="",this.tokenValue=0,this.tokenAmount="0.0",this.tokenCurrency="",this.clickable=!1}render(){return tR` - `}visualTemplate(){return this.tokenName&&this.tokenImageUrl?tP``:tP``}};dC.styles=[aR,aF,dw],dM([aJ()],dC.prototype,"tokenName",void 0),dM([aJ()],dC.prototype,"tokenImageUrl",void 0),dM([aJ({type:Number})],dC.prototype,"tokenValue",void 0),dM([aJ()],dC.prototype,"tokenAmount",void 0),dM([aJ()],dC.prototype,"tokenCurrency",void 0),dM([aJ({type:Boolean})],dC.prototype,"clickable",void 0),dC=dM([a$("wui-list-token")],dC);var dT=eN` + `}visualTemplate(){return this.tokenName&&this.tokenImageUrl?tR``:tR``}};dS.styles=[nP,nR,dT],dE([nZ()],dS.prototype,"tokenName",void 0),dE([nZ()],dS.prototype,"tokenImageUrl",void 0),dE([nZ({type:Number})],dS.prototype,"tokenValue",void 0),dE([nZ()],dS.prototype,"tokenAmount",void 0),dE([nZ()],dS.prototype,"tokenCurrency",void 0),dE([nZ({type:Boolean})],dS.prototype,"clickable",void 0),dS=dE([nU("wui-list-token")],dS);var dA=eD` button { width: 100%; display: flex; @@ -9806,7 +9778,7 @@ img, video { wui-flex { width: auto; } -`,dS=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let dE=class extends aC{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 tP` +`,dN=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let dI=class extends nk{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 tR` - `}titleTemplate(){return this.tag?tP` ${this.text}${this.tag} - `:tP`${this.text}`}};dE.styles=[aR,aF,dT],dS([aJ()],dE.prototype,"icon",void 0),dS([aJ()],dE.prototype,"text",void 0),dS([aJ()],dE.prototype,"description",void 0),dS([aJ()],dE.prototype,"tag",void 0),dS([aJ()],dE.prototype,"iconBackgroundColor",void 0),dS([aJ()],dE.prototype,"iconColor",void 0),dS([aJ({type:Boolean})],dE.prototype,"disabled",void 0),dE=dS([a$("wui-list-description")],dE);var dA=eN` + `:tR`${this.text}`}};dI.styles=[nP,nR,dA],dN([nZ()],dI.prototype,"icon",void 0),dN([nZ()],dI.prototype,"text",void 0),dN([nZ()],dI.prototype,"description",void 0),dN([nZ()],dI.prototype,"tag",void 0),dN([nZ()],dI.prototype,"iconBackgroundColor",void 0),dN([nZ()],dI.prototype,"iconColor",void 0),dN([nZ({type:Boolean})],dI.prototype,"disabled",void 0),dI=dN([nU("wui-list-description")],dI);var dD=eD` :host { position: relative; display: inline-block; @@ -9857,8 +9829,8 @@ img, video { input::placeholder { color: var(--wui-color-fg-275); } -`;let dN=/[.*+?^${}()|[\]\\]/gu,dI=/[0-9,.]/u;var dD=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let dP=class extends aC{constructor(){super(...arguments),this.inputElementRef=oH(),this.disabled=!1,this.value="",this.placeholder="0"}render(){return this.inputElementRef?.value&&this.value&&(this.inputElementRef.value.value=this.value),tP`=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let dB=class extends nk{constructor(){super(...arguments),this.inputElementRef=oM(),this.disabled=!1,this.value="",this.placeholder="0"}render(){return this.inputElementRef?.value&&this.value&&(this.inputElementRef.value.value=this.value),tR` `}dispatchInputChangeEvent(eb){let em=eb.data;if(em&&this.inputElementRef?.value){if(","===em){let eb=this.inputElementRef.value.value.replace(",",".");this.inputElementRef.value.value=eb,this.value=`${this.value}${eb}`}else dI.test(em)||(this.inputElementRef.value.value=this.value.replace(RegExp(em.replace(dN,"\\$&"),"gu"),""))}this.dispatchEvent(new CustomEvent("inputChange",{detail:this.inputElementRef.value?.value,bubbles:!0,composed:!0}))}};dP.styles=[aR,aF,dA],dD([aJ({type:Boolean})],dP.prototype,"disabled",void 0),dD([aJ({type:String})],dP.prototype,"value",void 0),dD([aJ({type:String})],dP.prototype,"placeholder",void 0),dP=dD([a$("wui-input-amount")],dP);var dO=eN` + /> `}dispatchInputChangeEvent(eb){let em=eb.data;if(em&&this.inputElementRef?.value){if(","===em){let eb=this.inputElementRef.value.value.replace(",",".");this.inputElementRef.value.value=eb,this.value=`${this.value}${eb}`}else dP.test(em)||(this.inputElementRef.value.value=this.value.replace(RegExp(em.replace(dO,"\\$&"),"gu"),""))}this.dispatchEvent(new CustomEvent("inputChange",{detail:this.inputElementRef.value?.value,bubbles:!0,composed:!0}))}};dB.styles=[nP,nR,dD],dR([nZ({type:Boolean})],dB.prototype,"disabled",void 0),dR([nZ({type:String})],dB.prototype,"value",void 0),dR([nZ({type:String})],dB.prototype,"placeholder",void 0),dB=dR([nU("wui-input-amount")],dB);var dF=eD` :host { display: flex; gap: var(--wui-spacing-xs); @@ -9888,8 +9860,8 @@ img, video { border-radius: var(--wui-border-radius-3xl); box-shadow: 0 0 0 2px var(--wui-gray-glass-002); } -`,dR=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let dB=class extends aC{constructor(){super(...arguments),this.text="",this.address="",this.isAddress=!1}render(){return tP`${this.text} - ${this.imageTemplate()}`}imageTemplate(){return this.isAddress?tP``:this.imageSrc?tP``:tP``}};dB.styles=[aR,aF,dO],dR([aJ()],dB.prototype,"text",void 0),dR([aJ()],dB.prototype,"address",void 0),dR([aJ()],dB.prototype,"imageSrc",void 0),dR([aJ({type:Boolean})],dB.prototype,"isAddress",void 0),dB=dR([a$("wui-preview-item")],dB);var dF=eN` +`,dj=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let dU=class extends nk{constructor(){super(...arguments),this.text="",this.address="",this.isAddress=!1}render(){return tR`${this.text} + ${this.imageTemplate()}`}imageTemplate(){return this.isAddress?tR``:this.imageSrc?tR``:tR``}};dU.styles=[nP,nR,dF],dj([nZ()],dU.prototype,"text",void 0),dj([nZ()],dU.prototype,"address",void 0),dj([nZ()],dU.prototype,"imageSrc",void 0),dj([nZ({type:Boolean})],dU.prototype,"isAddress",void 0),dU=dj([nU("wui-preview-item")],dU);var dV=eD` :host { position: relative; } @@ -9926,9 +9898,9 @@ img, video { background-color: var(--wui-accent-glass-020); } } -`,dj=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let dU=class extends aC{constructor(){super(...arguments),this.text="",this.icon="card"}render(){return tP``}};dU.styles=[aR,aF,dF],dj([aJ()],dU.prototype,"text",void 0),dj([aJ()],dU.prototype,"icon",void 0),dU=dj([a$("wui-icon-button")],dU);var dq=eN` + `}};d$.styles=[nP,nR,dV],dH([nZ()],d$.prototype,"text",void 0),dH([nZ()],d$.prototype,"icon",void 0),d$=dH([nU("wui-icon-button")],d$);var dq=eD` button { column-gap: var(--wui-spacing-s); padding: 16.5px var(--wui-spacing-l) 16.5px var(--wui-spacing-xs); @@ -9944,11 +9916,11 @@ img, video { background-color: var(--wui-gray-glass-015); color: var(--wui-gray-glass-015); } -`,d$=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let dW=class extends aC{constructor(){super(...arguments),this.text="",this.disabled=!1}render(){return tP` +`,dW=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let dZ=class extends nk{constructor(){super(...arguments),this.text="",this.disabled=!1}render(){return tR` - `}};dW.styles=[aR,aF,dq],d$([aJ()],dW.prototype,"text",void 0),d$([aJ({type:Boolean})],dW.prototype,"disabled",void 0),dW=d$([a$("wui-list-button")],dW);var dZ=eN` + `}};dZ.styles=[nP,nR,dq],dW([nZ()],dZ.prototype,"text",void 0),dW([nZ({type:Boolean})],dZ.prototype,"disabled",void 0),dZ=dW([nU("wui-list-button")],dZ);var dK=eD` button { column-gap: var(--wui-spacing-s); padding: 7px var(--wui-spacing-l) 7px var(--wui-spacing-xs); @@ -9983,7 +9955,7 @@ img, video { background-color: var(--wui-gray-glass-015); color: var(--wui-gray-glass-015); } -`,dG=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let dK=class extends aC{constructor(){super(...arguments),this.logo="google",this.name="Continue with google",this.align="left",this.disabled=!1}render(){return tP` +`,dG=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let dY=class extends nk{constructor(){super(...arguments),this.logo="google",this.name="Continue with google",this.align="left",this.disabled=!1}render(){return tR` - `}templatePlacement(){return"center"===this.align?tP` `:null}};dK.styles=[aR,aF,dZ],dG([aJ()],dK.prototype,"logo",void 0),dG([aJ()],dK.prototype,"name",void 0),dG([aJ()],dK.prototype,"align",void 0),dG([aJ({type:Boolean})],dK.prototype,"disabled",void 0),dK=dG([a$("wui-list-social")],dK);var dY=eN` + `}templatePlacement(){return"center"===this.align?tR` `:null}};dY.styles=[nP,nR,dK],dG([nZ()],dY.prototype,"logo",void 0),dG([nZ()],dY.prototype,"name",void 0),dG([nZ()],dY.prototype,"align",void 0),dG([nZ({type:Boolean})],dY.prototype,"disabled",void 0),dY=dG([nU("wui-list-social")],dY);var dJ=eD` :host { display: grid; width: inherit; height: inherit; } -`,dX=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let dJ=class extends aC{render(){return this.style.cssText=` +`,dX=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let dQ=class extends nk{render(){return this.style.cssText=` grid-template-rows: ${this.gridTemplateRows}; grid-template-columns: ${this.gridTemplateColumns}; justify-items: ${this.justifyItems}; @@ -10011,15 +9983,15 @@ img, video { 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&&cS.getSpacingStyles(this.padding,0)}; - padding-right: ${this.padding&&cS.getSpacingStyles(this.padding,1)}; - padding-bottom: ${this.padding&&cS.getSpacingStyles(this.padding,2)}; - padding-left: ${this.padding&&cS.getSpacingStyles(this.padding,3)}; - margin-top: ${this.margin&&cS.getSpacingStyles(this.margin,0)}; - margin-right: ${this.margin&&cS.getSpacingStyles(this.margin,1)}; - margin-bottom: ${this.margin&&cS.getSpacingStyles(this.margin,2)}; - margin-left: ${this.margin&&cS.getSpacingStyles(this.margin,3)}; - `,tP``}};dJ.styles=[aR,dY],dX([aJ()],dJ.prototype,"gridTemplateRows",void 0),dX([aJ()],dJ.prototype,"gridTemplateColumns",void 0),dX([aJ()],dJ.prototype,"justifyItems",void 0),dX([aJ()],dJ.prototype,"alignItems",void 0),dX([aJ()],dJ.prototype,"justifyContent",void 0),dX([aJ()],dJ.prototype,"alignContent",void 0),dX([aJ()],dJ.prototype,"columnGap",void 0),dX([aJ()],dJ.prototype,"rowGap",void 0),dX([aJ()],dJ.prototype,"gap",void 0),dX([aJ()],dJ.prototype,"padding",void 0),dX([aJ()],dJ.prototype,"margin",void 0),dJ=dX([a$("wui-grid")],dJ);var dQ=eN` + padding-top: ${this.padding&&cN.getSpacingStyles(this.padding,0)}; + padding-right: ${this.padding&&cN.getSpacingStyles(this.padding,1)}; + padding-bottom: ${this.padding&&cN.getSpacingStyles(this.padding,2)}; + padding-left: ${this.padding&&cN.getSpacingStyles(this.padding,3)}; + margin-top: ${this.margin&&cN.getSpacingStyles(this.margin,0)}; + margin-right: ${this.margin&&cN.getSpacingStyles(this.margin,1)}; + margin-bottom: ${this.margin&&cN.getSpacingStyles(this.margin,2)}; + margin-left: ${this.margin&&cN.getSpacingStyles(this.margin,3)}; + `,tR``}};dQ.styles=[nP,dJ],dX([nZ()],dQ.prototype,"gridTemplateRows",void 0),dX([nZ()],dQ.prototype,"gridTemplateColumns",void 0),dX([nZ()],dQ.prototype,"justifyItems",void 0),dX([nZ()],dQ.prototype,"alignItems",void 0),dX([nZ()],dQ.prototype,"justifyContent",void 0),dX([nZ()],dQ.prototype,"alignContent",void 0),dX([nZ()],dQ.prototype,"columnGap",void 0),dX([nZ()],dQ.prototype,"rowGap",void 0),dX([nZ()],dQ.prototype,"gap",void 0),dX([nZ()],dQ.prototype,"padding",void 0),dX([nZ()],dQ.prototype,"margin",void 0),dQ=dX([nU("wui-grid")],dQ);var ub=eD` :host { position: relative; display: flex; @@ -10035,4 +10007,10 @@ img, video { padding: 0px 10px; background-color: var(--wui-color-modal-bg); } -`,ub=function(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC};let um=class extends aC{constructor(){super(...arguments),this.text=""}render(){return tP`${this.template()}`}template(){return this.text?tP`${this.text}`:null}};um.styles=[aR,dQ],ub([aJ()],um.prototype,"text",void 0),um=ub([a$("wui-separator")],um);let uy={interpolate(eb,em,eH){if(2!==eb.length||2!==em.length)throw Error("inputRange and outputRange must be an array of length 2");let eV=eb[0]||0,ew=eb[1]||0,eM=em[0]||0,eC=em[1]||0;return eHew?eC:(eC-eM)/(ew-eV)*(eH-eV)+eM}},uz=3,uH=["receive","deposit","borrow","claim"],uV=["withdraw","repay","burn"],uw={getMonthName(eb){let em=new Date;return em.setMonth(eb),em.toLocaleString("en-US",{month:"long"})},getTransactionGroupTitle(eb,em){let eH=aN.Em.getYear(),eV=this.getMonthName(em),ew=eb===eH,eM=ew?eV:`${eV} ${eb}`;return eM},getTransactionImages(eb){let[em,eH]=eb,eV=!!em&&eb?.every(eb=>!!eb.nft_info),ew=eb?.length>1,eM=eb?.length===2;return eM&&!eV?[this.getTransactionImage(em),this.getTransactionImage(eH)]:ew?eb.map(eb=>this.getTransactionImage(eb)):[this.getTransactionImage(em)]},getTransactionImage:eb=>({type:uw.getTransactionTransferTokenType(eb),url:uw.getTransactionImageURL(eb)}),getTransactionImageURL(eb){let em;let eH=!!eb?.nft_info,eV=!!eb?.fungible_info;return eb&&eH?em=eb?.nft_info?.content?.preview?.url:eb&&eV&&(em=eb?.fungible_info?.icon?.url),em},getTransactionTransferTokenType:eb=>eb?.fungible_info?"FUNGIBLE":eb?.nft_info?"NFT":void 0,getTransactionDescriptions(eb){let em=eb?.metadata?.operationType,eH=eb?.transfers,eV=eb?.transfers?.length>0,ew=eb?.transfers?.length>1,eM=eV&&eH?.every(eb=>!!eb?.fungible_info),[eC,eT]=eH,e_=this.getTransferDescription(eC),eS=this.getTransferDescription(eT);if(!eV){let eH="send"===em||"receive"===em;return eH&&eM?[e_=cS.getTruncateString({string:eb?.metadata.sentFrom,charsStart:4,charsEnd:6,truncate:"middle"}),eS=cS.getTruncateString({string:eb?.metadata.sentTo,charsStart:4,charsEnd:6,truncate:"middle"})]:[eb.metadata.status]}if(ew)return eH.map(eb=>this.getTransferDescription(eb));let eE="";return uH.includes(em)?eE="+":uV.includes(em)&&(eE="-"),[e_=eE.concat(e_)]},getTransferDescription(eb){let em="";return eb&&(eb?.nft_info?em=eb?.nft_info?.name||"-":eb?.fungible_info&&(em=this.getFungibleTransferDescription(eb)||"-")),em},getFungibleTransferDescription(eb){if(!eb)return null;let em=this.getQuantityFixedValue(eb?.quantity.numeric),eH=[em,eb?.fungible_info?.symbol].join(" ").trim();return eH},getQuantityFixedValue(eb){if(!eb)return null;let em=parseFloat(eb);return em.toFixed(uz)}}},23781:function(eb,em,eH){"use strict";eH.d(em,{$D:function(){return aS},y_:function(){return ew}}),eH(74146),eH(34155).env.NEXT_PUBLIC_SECURE_SITE_SDK_URL;let eV={APP_EVENT_KEY:"@w3m-app/",FRAME_EVENT_KEY:"@w3m-frame/",RPC_METHOD_KEY:"RPC_",STORAGE_KEY:"@w3m-storage/",SESSION_TOKEN_KEY:"SESSION_TOKEN_KEY",EMAIL_LOGIN_USED_KEY:"EMAIL_LOGIN_USED_KEY",LAST_USED_CHAIN_KEY:"LAST_USED_CHAIN_KEY",LAST_EMAIL_LOGIN_TIME:"LAST_EMAIL_LOGIN_TIME",EMAIL:"EMAIL",PREFERRED_ACCOUNT_TYPE:"PREFERRED_ACCOUNT_TYPE",SMART_ACCOUNT_ENABLED:"SMART_ACCOUNT_ENABLED",SMART_ACCOUNT_ENABLED_NETWORKS:"SMART_ACCOUNT_ENABLED_NETWORKS",APP_SWITCH_NETWORK:"@w3m-app/SWITCH_NETWORK",APP_CONNECT_EMAIL:"@w3m-app/CONNECT_EMAIL",APP_CONNECT_DEVICE:"@w3m-app/CONNECT_DEVICE",APP_CONNECT_OTP:"@w3m-app/CONNECT_OTP",APP_CONNECT_SOCIAL:"@w3m-app/CONNECT_SOCIAL",APP_GET_SOCIAL_REDIRECT_URI:"@w3m-app/GET_SOCIAL_REDIRECT_URI",APP_GET_USER:"@w3m-app/GET_USER",APP_SIGN_OUT:"@w3m-app/SIGN_OUT",APP_IS_CONNECTED:"@w3m-app/IS_CONNECTED",APP_GET_CHAIN_ID:"@w3m-app/GET_CHAIN_ID",APP_RPC_REQUEST:"@w3m-app/RPC_REQUEST",APP_UPDATE_EMAIL:"@w3m-app/UPDATE_EMAIL",APP_UPDATE_EMAIL_PRIMARY_OTP:"@w3m-app/UPDATE_EMAIL_PRIMARY_OTP",APP_UPDATE_EMAIL_SECONDARY_OTP:"@w3m-app/UPDATE_EMAIL_SECONDARY_OTP",APP_AWAIT_UPDATE_EMAIL:"@w3m-app/AWAIT_UPDATE_EMAIL",APP_SYNC_THEME:"@w3m-app/SYNC_THEME",APP_SYNC_DAPP_DATA:"@w3m-app/SYNC_DAPP_DATA",APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS:"@w3m-app/GET_SMART_ACCOUNT_ENABLED_NETWORKS",APP_INIT_SMART_ACCOUNT:"@w3m-app/INIT_SMART_ACCOUNT",APP_SET_PREFERRED_ACCOUNT:"@w3m-app/SET_PREFERRED_ACCOUNT",FRAME_SWITCH_NETWORK_ERROR:"@w3m-frame/SWITCH_NETWORK_ERROR",FRAME_SWITCH_NETWORK_SUCCESS:"@w3m-frame/SWITCH_NETWORK_SUCCESS",FRAME_CONNECT_EMAIL_ERROR:"@w3m-frame/CONNECT_EMAIL_ERROR",FRAME_CONNECT_EMAIL_SUCCESS:"@w3m-frame/CONNECT_EMAIL_SUCCESS",FRAME_CONNECT_DEVICE_ERROR:"@w3m-frame/CONNECT_DEVICE_ERROR",FRAME_CONNECT_DEVICE_SUCCESS:"@w3m-frame/CONNECT_DEVICE_SUCCESS",FRAME_CONNECT_OTP_SUCCESS:"@w3m-frame/CONNECT_OTP_SUCCESS",FRAME_CONNECT_OTP_ERROR:"@w3m-frame/CONNECT_OTP_ERROR",FRAME_CONNECT_SOCIAL_SUCCESS:"@w3m-frame/CONNECT_SOCIAL_SUCCESS",FRAME_CONNECT_SOCIAL_ERROR:"@w3m-frame/CONNECT_SOCIAL_ERROR",FRAME_GET_SOCIAL_REDIRECT_URI_SUCCESS:"@w3m-frame/GET_SOCIAL_REDIRECT_URI_SUCCESS",FRAME_GET_SOCIAL_REDIRECT_URI_ERROR:"@w3m-frame/GET_SOCIAL_REDIRECT_URI_ERROR",FRAME_GET_USER_SUCCESS:"@w3m-frame/GET_USER_SUCCESS",FRAME_GET_USER_ERROR:"@w3m-frame/GET_USER_ERROR",FRAME_SIGN_OUT_SUCCESS:"@w3m-frame/SIGN_OUT_SUCCESS",FRAME_SIGN_OUT_ERROR:"@w3m-frame/SIGN_OUT_ERROR",FRAME_IS_CONNECTED_SUCCESS:"@w3m-frame/IS_CONNECTED_SUCCESS",FRAME_IS_CONNECTED_ERROR:"@w3m-frame/IS_CONNECTED_ERROR",FRAME_GET_CHAIN_ID_SUCCESS:"@w3m-frame/GET_CHAIN_ID_SUCCESS",FRAME_GET_CHAIN_ID_ERROR:"@w3m-frame/GET_CHAIN_ID_ERROR",FRAME_RPC_REQUEST_SUCCESS:"@w3m-frame/RPC_REQUEST_SUCCESS",FRAME_RPC_REQUEST_ERROR:"@w3m-frame/RPC_REQUEST_ERROR",FRAME_SESSION_UPDATE:"@w3m-frame/SESSION_UPDATE",FRAME_UPDATE_EMAIL_SUCCESS:"@w3m-frame/UPDATE_EMAIL_SUCCESS",FRAME_UPDATE_EMAIL_ERROR:"@w3m-frame/UPDATE_EMAIL_ERROR",FRAME_UPDATE_EMAIL_PRIMARY_OTP_SUCCESS:"@w3m-frame/UPDATE_EMAIL_PRIMARY_OTP_SUCCESS",FRAME_UPDATE_EMAIL_PRIMARY_OTP_ERROR:"@w3m-frame/UPDATE_EMAIL_PRIMARY_OTP_ERROR",FRAME_UPDATE_EMAIL_SECONDARY_OTP_SUCCESS:"@w3m-frame/UPDATE_EMAIL_SECONDARY_OTP_SUCCESS",FRAME_UPDATE_EMAIL_SECONDARY_OTP_ERROR:"@w3m-frame/UPDATE_EMAIL_SECONDARY_OTP_ERROR",FRAME_SYNC_THEME_SUCCESS:"@w3m-frame/SYNC_THEME_SUCCESS",FRAME_SYNC_THEME_ERROR:"@w3m-frame/SYNC_THEME_ERROR",FRAME_SYNC_DAPP_DATA_SUCCESS:"@w3m-frame/SYNC_DAPP_DATA_SUCCESS",FRAME_SYNC_DAPP_DATA_ERROR:"@w3m-frame/SYNC_DAPP_DATA_ERROR",FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS:"@w3m-frame/GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS",FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR:"@w3m-frame/GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR",FRAME_INIT_SMART_ACCOUNT_SUCCESS:"@w3m-frame/INIT_SMART_ACCOUNT_SUCCESS",FRAME_INIT_SMART_ACCOUNT_ERROR:"@w3m-frame/INIT_SMART_ACCOUNT_ERROR",FRAME_SET_PREFERRED_ACCOUNT_SUCCESS:"@w3m-frame/SET_PREFERRED_ACCOUNT_SUCCESS",FRAME_SET_PREFERRED_ACCOUNT_ERROR:"@w3m-frame/SET_PREFERRED_ACCOUNT_ERROR",RPC_RESPONSE_TYPE_ERROR:"RPC_RESPONSE_ERROR",RPC_RESPONSE_TYPE_TX:"RPC_RESPONSE_TRANSACTION_HASH",RPC_RESPONSE_TYPE_OBJECT:"RPC_RESPONSE_OBJECT"},ew={SAFE_RPC_METHODS:["eth_accounts","eth_blockNumber","eth_call","eth_chainId","eth_estimateGas","eth_feeHistory","eth_gasPrice","eth_getAccount","eth_getBalance","eth_getBlockByHash","eth_getBlockByNumber","eth_getBlockReceipts","eth_getBlockTransactionCountByHash","eth_getBlockTransactionCountByNumber","eth_getCode","eth_getFilterChanges","eth_getFilterLogs","eth_getLogs","eth_getProof","eth_getStorageAt","eth_getTransactionByBlockHashAndIndex","eth_getTransactionByBlockNumberAndIndex","eth_getTransactionByHash","eth_getTransactionCount","eth_getTransactionReceipt","eth_getUncleCountByBlockHash","eth_getUncleCountByBlockNumber","eth_maxPriorityFeePerGas","eth_newBlockFilter","eth_newFilter","eth_newPendingTransactionFilter","eth_sendRawTransaction","eth_syncing","eth_uninstallFilter"],NOT_SAFE_RPC_METHODS:["personal_sign","eth_signTypedData_v4","eth_sendTransaction"],GET_CHAIN_ID:"eth_chainId",RPC_METHOD_NOT_ALLOWED_MESSAGE:"Requested RPC call is not allowed",RPC_METHOD_NOT_ALLOWED_UI_MESSAGE:"Action not allowed",ACCOUNT_TYPES:{EOA:"eoa",SMART_ACCOUNT:"smartAccount"}};var eM=eH(1604);let eC=eM.z.object({message:eM.z.string()});function eT(eb){return eM.z.literal(eV[eb])}eM.z.object({accessList:eM.z.array(eM.z.string()),blockHash:eM.z.string().nullable(),blockNumber:eM.z.string().nullable(),chainId:eM.z.string(),from:eM.z.string(),gas:eM.z.string(),hash:eM.z.string(),input:eM.z.string().nullable(),maxFeePerGas:eM.z.string(),maxPriorityFeePerGas:eM.z.string(),nonce:eM.z.string(),r:eM.z.string(),s:eM.z.string(),to:eM.z.string(),transactionIndex:eM.z.string().nullable(),type:eM.z.string(),v:eM.z.string(),value:eM.z.string()});let e_=eM.z.object({chainId:eM.z.number()}),eS=eM.z.object({email:eM.z.string().email()}),eE=eM.z.object({otp:eM.z.string()}),eA=eM.z.object({uri:eM.z.string()}),eN=eM.z.object({chainId:eM.z.optional(eM.z.number()),preferredAccountType:eM.z.optional(eM.z.string())}),eI=eM.z.object({provider:eM.z.enum(["google","github","apple","facebook","x","discord"])}),eD=eM.z.object({email:eM.z.string().email()}),eP=eM.z.object({otp:eM.z.string()}),eO=eM.z.object({otp:eM.z.string()}),eR=eM.z.object({themeMode:eM.z.optional(eM.z.enum(["light","dark"])),themeVariables:eM.z.optional(eM.z.record(eM.z.string(),eM.z.string().or(eM.z.number()))),w3mThemeVariables:eM.z.record(eM.z.string(),eM.z.string())}),eB=eM.z.object({metadata:eM.z.object({name:eM.z.string(),description:eM.z.string(),url:eM.z.string(),icons:eM.z.array(eM.z.string())}).optional(),sdkVersion:eM.z.string(),projectId:eM.z.string()}),eF=eM.z.object({type:eM.z.string()}),ej=eM.z.object({action:eM.z.enum(["VERIFY_DEVICE","VERIFY_OTP"])}),eU=eM.z.object({email:eM.z.string(),address:eM.z.string(),chainId:eM.z.number()}),e$=eM.z.object({action:eM.z.enum(["VERIFY_PRIMARY_OTP","VERIFY_SECONDARY_OTP"])}),eW=eM.z.object({email:eM.z.string().email(),address:eM.z.string(),chainId:eM.z.number(),smartAccountDeployed:eM.z.optional(eM.z.boolean()),preferredAccountType:eM.z.optional(eM.z.string())}),eZ=eM.z.object({uri:eM.z.string()}),eG=eM.z.object({isConnected:eM.z.boolean()}),eK=eM.z.object({chainId:eM.z.number()}),eY=eM.z.object({chainId:eM.z.number()}),eX=eM.z.object({newEmail:eM.z.string().email()}),eJ=eM.z.object({smartAccountEnabledNetworks:eM.z.array(eM.z.number())});eM.z.object({address:eM.z.string(),isDeployed:eM.z.boolean()});let eQ=eM.z.object({type:eM.z.string(),address:eM.z.string()}),e0=eM.z.any(),e6=eM.z.object({method:eM.z.literal("eth_accounts")}),e4=eM.z.object({method:eM.z.literal("eth_blockNumber")}),e3=eM.z.object({method:eM.z.literal("eth_call"),params:eM.z.array(eM.z.any())}),e5=eM.z.object({method:eM.z.literal("eth_chainId")}),e8=eM.z.object({method:eM.z.literal("eth_estimateGas"),params:eM.z.array(eM.z.any())}),e9=eM.z.object({method:eM.z.literal("eth_feeHistory"),params:eM.z.array(eM.z.any())}),e7=eM.z.object({method:eM.z.literal("eth_gasPrice")}),tH=eM.z.object({method:eM.z.literal("eth_getAccount"),params:eM.z.array(eM.z.any())}),tV=eM.z.object({method:eM.z.literal("eth_getBalance"),params:eM.z.array(eM.z.any())}),tw=eM.z.object({method:eM.z.literal("eth_getBlockByHash"),params:eM.z.array(eM.z.any())}),tC=eM.z.object({method:eM.z.literal("eth_getBlockByNumber"),params:eM.z.array(eM.z.any())}),tT=eM.z.object({method:eM.z.literal("eth_getBlockReceipts"),params:eM.z.array(eM.z.any())}),t_=eM.z.object({method:eM.z.literal("eth_getBlockTransactionCountByHash"),params:eM.z.array(eM.z.any())}),tS=eM.z.object({method:eM.z.literal("eth_getBlockTransactionCountByNumber"),params:eM.z.array(eM.z.any())}),tE=eM.z.object({method:eM.z.literal("eth_getCode"),params:eM.z.array(eM.z.any())}),tA=eM.z.object({method:eM.z.literal("eth_getFilterChanges"),params:eM.z.array(eM.z.any())}),tN=eM.z.object({method:eM.z.literal("eth_getFilterLogs"),params:eM.z.array(eM.z.any())}),tI=eM.z.object({method:eM.z.literal("eth_getLogs"),params:eM.z.array(eM.z.any())}),tD=eM.z.object({method:eM.z.literal("eth_getProof"),params:eM.z.array(eM.z.any())}),tP=eM.z.object({method:eM.z.literal("eth_getStorageAt"),params:eM.z.array(eM.z.any())}),tO=eM.z.object({method:eM.z.literal("eth_getTransactionByBlockHashAndIndex"),params:eM.z.array(eM.z.any())}),tR=eM.z.object({method:eM.z.literal("eth_getTransactionByBlockNumberAndIndex"),params:eM.z.array(eM.z.any())}),tB=eM.z.object({method:eM.z.literal("eth_getTransactionByHash"),params:eM.z.array(eM.z.any())}),tF=eM.z.object({method:eM.z.literal("eth_getTransactionCount"),params:eM.z.array(eM.z.any())}),tj=eM.z.object({method:eM.z.literal("eth_getTransactionReceipt"),params:eM.z.array(eM.z.any())}),tU=eM.z.object({method:eM.z.literal("eth_getUncleCountByBlockHash"),params:eM.z.array(eM.z.any())}),tq=eM.z.object({method:eM.z.literal("eth_getUncleCountByBlockNumber"),params:eM.z.array(eM.z.any())}),t$=eM.z.object({method:eM.z.literal("eth_maxPriorityFeePerGas")}),tW=eM.z.object({method:eM.z.literal("eth_newBlockFilter")}),tZ=eM.z.object({method:eM.z.literal("eth_newFilter"),params:eM.z.array(eM.z.any())}),tG=eM.z.object({method:eM.z.literal("eth_newPendingTransactionFilter")}),tK=eM.z.object({method:eM.z.literal("eth_sendRawTransaction"),params:eM.z.array(eM.z.any())}),tY=eM.z.object({method:eM.z.literal("eth_syncing"),params:eM.z.array(eM.z.any())}),tX=eM.z.object({method:eM.z.literal("eth_uninstallFilter"),params:eM.z.array(eM.z.any())}),tJ=eM.z.object({method:eM.z.literal("personal_sign"),params:eM.z.array(eM.z.any())}),tQ=eM.z.object({method:eM.z.literal("eth_signTypedData_v4"),params:eM.z.array(eM.z.any())}),aH=eM.z.object({method:eM.z.literal("eth_sendTransaction"),params:eM.z.array(eM.z.any())}),aV=eM.z.object({token:eM.z.string()});eM.z.object({type:eT("APP_SWITCH_NETWORK"),payload:e_}).or(eM.z.object({type:eT("APP_CONNECT_EMAIL"),payload:eS})).or(eM.z.object({type:eT("APP_CONNECT_DEVICE")})).or(eM.z.object({type:eT("APP_CONNECT_OTP"),payload:eE})).or(eM.z.object({type:eT("APP_CONNECT_SOCIAL"),payload:eA})).or(eM.z.object({type:eT("APP_GET_USER"),payload:eM.z.optional(eN)})).or(eM.z.object({type:eT("APP_GET_SOCIAL_REDIRECT_URI"),payload:eI})).or(eM.z.object({type:eT("APP_SIGN_OUT")})).or(eM.z.object({type:eT("APP_IS_CONNECTED"),payload:eM.z.optional(aV)})).or(eM.z.object({type:eT("APP_GET_CHAIN_ID")})).or(eM.z.object({type:eT("APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS")})).or(eM.z.object({type:eT("APP_INIT_SMART_ACCOUNT")})).or(eM.z.object({type:eT("APP_SET_PREFERRED_ACCOUNT"),payload:eF})).or(eM.z.object({type:eT("APP_RPC_REQUEST"),payload:tJ.or(aH).or(e6).or(e4).or(e3).or(e5).or(e8).or(e9).or(e7).or(tH).or(tV).or(tw).or(tC).or(tT).or(t_).or(tS).or(tE).or(tA).or(tN).or(tI).or(tD).or(tP).or(tO).or(tR).or(tB).or(tF).or(tj).or(tU).or(tq).or(t$).or(tW).or(tZ).or(tG).or(tK).or(tY).or(tX).or(tJ).or(tQ).or(aH)})).or(eM.z.object({type:eT("APP_UPDATE_EMAIL"),payload:eD})).or(eM.z.object({type:eT("APP_UPDATE_EMAIL_PRIMARY_OTP"),payload:eP})).or(eM.z.object({type:eT("APP_UPDATE_EMAIL_SECONDARY_OTP"),payload:eO})).or(eM.z.object({type:eT("APP_SYNC_THEME"),payload:eR})).or(eM.z.object({type:eT("APP_SYNC_DAPP_DATA"),payload:eB})),eM.z.object({type:eT("FRAME_SWITCH_NETWORK_ERROR"),payload:eC}).or(eM.z.object({type:eT("FRAME_SWITCH_NETWORK_SUCCESS"),payload:eY})).or(eM.z.object({type:eT("FRAME_CONNECT_EMAIL_ERROR"),payload:eC})).or(eM.z.object({type:eT("FRAME_CONNECT_EMAIL_SUCCESS"),payload:ej})).or(eM.z.object({type:eT("FRAME_CONNECT_OTP_ERROR"),payload:eC})).or(eM.z.object({type:eT("FRAME_CONNECT_OTP_SUCCESS")})).or(eM.z.object({type:eT("FRAME_CONNECT_DEVICE_ERROR"),payload:eC})).or(eM.z.object({type:eT("FRAME_CONNECT_DEVICE_SUCCESS")})).or(eM.z.object({type:eT("FRAME_CONNECT_SOCIAL_SUCCESS"),payload:eU})).or(eM.z.object({type:eT("FRAME_CONNECT_SOCIAL_ERROR"),payload:eC})).or(eM.z.object({type:eT("FRAME_GET_USER_ERROR"),payload:eC})).or(eM.z.object({type:eT("FRAME_GET_USER_SUCCESS"),payload:eW})).or(eM.z.object({type:eT("FRAME_GET_SOCIAL_REDIRECT_URI_ERROR"),payload:eC})).or(eM.z.object({type:eT("FRAME_GET_SOCIAL_REDIRECT_URI_SUCCESS"),payload:eZ})).or(eM.z.object({type:eT("FRAME_SIGN_OUT_ERROR"),payload:eC})).or(eM.z.object({type:eT("FRAME_SIGN_OUT_SUCCESS")})).or(eM.z.object({type:eT("FRAME_IS_CONNECTED_ERROR"),payload:eC})).or(eM.z.object({type:eT("FRAME_IS_CONNECTED_SUCCESS"),payload:eG})).or(eM.z.object({type:eT("FRAME_GET_CHAIN_ID_ERROR"),payload:eC})).or(eM.z.object({type:eT("FRAME_GET_CHAIN_ID_SUCCESS"),payload:eK})).or(eM.z.object({type:eT("FRAME_RPC_REQUEST_ERROR"),payload:eC})).or(eM.z.object({type:eT("FRAME_RPC_REQUEST_SUCCESS"),payload:e0})).or(eM.z.object({type:eT("FRAME_SESSION_UPDATE"),payload:aV})).or(eM.z.object({type:eT("FRAME_UPDATE_EMAIL_ERROR"),payload:eC})).or(eM.z.object({type:eT("FRAME_UPDATE_EMAIL_SUCCESS"),payload:e$})).or(eM.z.object({type:eT("FRAME_UPDATE_EMAIL_PRIMARY_OTP_ERROR"),payload:eC})).or(eM.z.object({type:eT("FRAME_UPDATE_EMAIL_PRIMARY_OTP_SUCCESS")})).or(eM.z.object({type:eT("FRAME_UPDATE_EMAIL_SECONDARY_OTP_ERROR"),payload:eC})).or(eM.z.object({type:eT("FRAME_UPDATE_EMAIL_SECONDARY_OTP_SUCCESS"),payload:eX})).or(eM.z.object({type:eT("FRAME_SYNC_THEME_ERROR"),payload:eC})).or(eM.z.object({type:eT("FRAME_SYNC_THEME_SUCCESS")})).or(eM.z.object({type:eT("FRAME_SYNC_DAPP_DATA_ERROR"),payload:eC})).or(eM.z.object({type:eT("FRAME_SYNC_DAPP_DATA_SUCCESS")})).or(eM.z.object({type:eT("FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS"),payload:eJ})).or(eM.z.object({type:eT("FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR"),payload:eC})).or(eM.z.object({type:eT("FRAME_INIT_SMART_ACCOUNT_ERROR"),payload:eC})).or(eM.z.object({type:eT("FRAME_SET_PREFERRED_ACCOUNT_SUCCESS"),payload:eQ})).or(eM.z.object({type:eT("FRAME_SET_PREFERRED_ACCOUNT_ERROR"),payload:eC}));let aM={set(eb,em){aS.isClient&&localStorage.setItem(`${eV.STORAGE_KEY}${eb}`,em)},get:eb=>aS.isClient?localStorage.getItem(`${eV.STORAGE_KEY}${eb}`):null,delete(eb){aS.isClient&&localStorage.removeItem(`${eV.STORAGE_KEY}${eb}`)}},aC={address:/^0x(?:[A-Fa-f0-9]{40})$/u,transactionHash:/^0x(?:[A-Fa-f0-9]{64})$/u,signedMessage:/^0x(?:[a-fA-F0-9]{62,})$/u},ak=["ASIA/SHANGHAI","ASIA/URUMQI","ASIA/CHONGQING","ASIA/HARBIN","ASIA/KASHGAR","ASIA/MACAU","ASIA/HONG_KONG","ASIA/MACAO","ASIA/BEIJING","ASIA/HARBIN"],a_=3e4,aS={getBlockchainApiUrl(){try{let{timeZone:eb}=new Intl.DateTimeFormat().resolvedOptions(),em=eb.toUpperCase();return ak.includes(em)?"https://rpc.walletconnect.org":"https://rpc.walletconnect.com"}catch{return!1}},checkIfAllowedToTriggerEmail(){let eb=aM.get(eV.LAST_EMAIL_LOGIN_TIME);if(eb){let em=Date.now()-Number(eb);if(emeb?.payload?.method,getResponseType(eb){let{type:em,payload:eH}=eb,ew=em===eV.FRAME_RPC_REQUEST_ERROR;if(ew)return eV.RPC_RESPONSE_TYPE_ERROR;let eM="string"==typeof eH,eC=eM&&(eH.match(aC.transactionHash)||eH.match(aC.signedMessage));return eC?eV.RPC_RESPONSE_TYPE_TX:eV.RPC_RESPONSE_TYPE_OBJECT},checkIfRequestIsAllowed(eb){let em=this.getRequestMethod(eb);return ew.SAFE_RPC_METHODS.includes(em)},isClient:"undefined"!=typeof window}},24290:function(eb,em,eH){"use strict";eH.r(em),eH.d(em,{ErrorWithCause:function(){return eV}});class eV extends Error{constructor(eb,{cause:em}={}){super(eb),this.name=eV.name,em&&(this.cause=em),this.message=eb}}},23682:function(eb,em,eH){"use strict";eH.r(em),eH.d(em,{findCauseByReference:function(){return eV},getErrorCause:function(){return ew},messageWithCauses:function(){return e_},stackWithCauses:function(){return eC}});let eV=(eb,em)=>{if(!eb||!em||!(eb instanceof Error)||!(em.prototype instanceof Error)&&em!==Error)return;let eH=new Set,eV=eb;for(;eV&&!eH.has(eV);){if(eH.add(eV),eV instanceof em)return eV;eV=ew(eV)}},ew=eb=>{if(eb&&"object"==typeof eb&&"cause"in eb){if("function"!=typeof eb.cause)return eb.cause instanceof Error?eb.cause:void 0;{let em=eb.cause();return em instanceof Error?em:void 0}}},eM=(eb,em)=>{if(!(eb instanceof Error))return"";let eH=eb.stack||"";if(em.has(eb))return eH+"\ncauses have become circular...";let eV=ew(eb);return eV?(em.add(eb),eH+"\ncaused by: "+eM(eV,em)):eH},eC=eb=>eM(eb,new Set),eT=(eb,em,eH)=>{if(!(eb instanceof Error))return"";let eV=eH?"":eb.message||"";if(em.has(eb))return eV+": ...";let eM=ew(eb);if(!eM)return eV;{em.add(eb);let eH="cause"in eb&&"function"==typeof eb.cause;return eV+(eH?"":": ")+eT(eM,em,eH)}},e_=eb=>eT(eb,new Set)},97884:function(eb,em,eH){"use strict";eH.r(em),eH.d(em,{Struct:function(){return eN},StructError:function(){return eV},any:function(){return eY},array:function(){return eX},assert:function(){return eI},assign:function(){return eB},bigint:function(){return eJ},boolean:function(){return eQ},coerce:function(){return tO},create:function(){return eD},date:function(){return e0},defaulted:function(){return tR},define:function(){return eF},deprecated:function(){return ej},dynamic:function(){return eU},empty:function(){return tF},enums:function(){return e6},func:function(){return e4},instance:function(){return e3},integer:function(){return e5},intersection:function(){return e8},is:function(){return eO},lazy:function(){return e$},literal:function(){return e9},map:function(){return e7},mask:function(){return eP},max:function(){return tU},min:function(){return tq},never:function(){return tH},nonempty:function(){return t$},nullable:function(){return tV},number:function(){return tw},object:function(){return tC},omit:function(){return eW},optional:function(){return tT},partial:function(){return eZ},pattern:function(){return tW},pick:function(){return eG},record:function(){return t_},refine:function(){return tG},regexp:function(){return tS},set:function(){return tE},size:function(){return tZ},string:function(){return tA},struct:function(){return eK},trimmed:function(){return tB},tuple:function(){return tN},type:function(){return tI},union:function(){return tD},unknown:function(){return tP},validate:function(){return eR}});class eV extends TypeError{constructor(eb,em){let eH;let{message:eV,explanation:ew,...eM}=eb,{path:eC}=eb,eT=0===eC.length?eV:`At path: ${eC.join(".")} -- ${eV}`;super(ew??eT),null!=ew&&(this.cause=eT),Object.assign(this,eM),this.name=this.constructor.name,this.failures=()=>eH??(eH=[eb,...em()])}}function ew(eb){return eM(eb)&&"function"==typeof eb[Symbol.iterator]}function eM(eb){return"object"==typeof eb&&null!=eb}function eC(eb){if("[object Object]"!==Object.prototype.toString.call(eb))return!1;let em=Object.getPrototypeOf(eb);return null===em||em===Object.prototype}function eT(eb){return"symbol"==typeof eb?eb.toString():"string"==typeof eb?JSON.stringify(eb):`${eb}`}function e_(eb){let{done:em,value:eH}=eb.next();return em?void 0:eH}function eS(eb,em,eH,eV){if(!0===eb)return;!1===eb?eb={}:"string"==typeof eb&&(eb={message:eb});let{path:ew,branch:eM}=em,{type:eC}=eH,{refinement:e_,message:eS=`Expected a value of type \`${eC}\`${e_?` with refinement \`${e_}\``:""}, but received: \`${eT(eV)}\``}=eb;return{value:eV,type:eC,refinement:e_,key:ew[ew.length-1],path:ew,branch:eM,...eb,message:eS}}function*eE(eb,em,eH,eV){for(let eM of(ew(eb)||(eb=[eb]),eb)){let eb=eS(eM,em,eH,eV);eb&&(yield eb)}}function*eA(eb,em,eH={}){let{path:eV=[],branch:ew=[eb],coerce:eC=!1,mask:eT=!1}=eH,e_={path:eV,branch:ew};if(eC&&(eb=em.coercer(eb,e_),eT&&"type"!==em.type&&eM(em.schema)&&eM(eb)&&!Array.isArray(eb)))for(let eH in eb)void 0===em.schema[eH]&&delete eb[eH];let eS="valid";for(let eV of em.validator(eb,e_))eV.explanation=eH.message,eS="not_valid",yield[eV,void 0];for(let[eE,eN,eI]of em.entries(eb,e_)){let em=eA(eN,eI,{path:void 0===eE?eV:[...eV,eE],branch:void 0===eE?ew:[...ew,eN],coerce:eC,mask:eT,message:eH.message});for(let eH of em)eH[0]?(eS=null!=eH[0].refinement?"not_refined":"not_valid",yield[eH[0],void 0]):eC&&(eN=eH[1],void 0===eE?eb=eN:eb instanceof Map?eb.set(eE,eN):eb instanceof Set?eb.add(eN):eM(eb)&&(void 0!==eN||eE in eb)&&(eb[eE]=eN))}if("not_valid"!==eS)for(let eV of em.refiner(eb,e_))eV.explanation=eH.message,eS="not_refined",yield[eV,void 0];"valid"===eS&&(yield[void 0,eb])}class eN{constructor(eb){let{type:em,schema:eH,validator:eV,refiner:ew,coercer:eM=eb=>eb,entries:eC=function*(){}}=eb;this.type=em,this.schema=eH,this.entries=eC,this.coercer=eM,eV?this.validator=(eb,em)=>{let eH=eV(eb,em);return eE(eH,em,this,eb)}:this.validator=()=>[],ew?this.refiner=(eb,em)=>{let eH=ew(eb,em);return eE(eH,em,this,eb)}:this.refiner=()=>[]}assert(eb,em){return eI(eb,this,em)}create(eb,em){return eD(eb,this,em)}is(eb){return eO(eb,this)}mask(eb,em){return eP(eb,this,em)}validate(eb,em={}){return eR(eb,this,em)}}function eI(eb,em,eH){let eV=eR(eb,em,{message:eH});if(eV[0])throw eV[0]}function eD(eb,em,eH){let eV=eR(eb,em,{coerce:!0,message:eH});if(!eV[0])return eV[1];throw eV[0]}function eP(eb,em,eH){let eV=eR(eb,em,{coerce:!0,mask:!0,message:eH});if(!eV[0])return eV[1];throw eV[0]}function eO(eb,em){let eH=eR(eb,em);return!eH[0]}function eR(eb,em,eH={}){let ew=eA(eb,em,eH),eM=e_(ew);if(eM[0]){let eb=new eV(eM[0],function*(){for(let eb of ew)eb[0]&&(yield eb[0])});return[eb,void 0]}{let eb=eM[1];return[void 0,eb]}}function eB(...eb){let em="type"===eb[0].type,eH=eb.map(eb=>eb.schema),eV=Object.assign({},...eH);return em?tI(eV):tC(eV)}function eF(eb,em){return new eN({type:eb,schema:null,validator:em})}function ej(eb,em){return new eN({...eb,refiner:(em,eH)=>void 0===em||eb.refiner(em,eH),validator:(eH,eV)=>void 0===eH||(em(eH,eV),eb.validator(eH,eV))})}function eU(eb){return new eN({type:"dynamic",schema:null,*entries(em,eH){let eV=eb(em,eH);yield*eV.entries(em,eH)},validator(em,eH){let eV=eb(em,eH);return eV.validator(em,eH)},coercer(em,eH){let eV=eb(em,eH);return eV.coercer(em,eH)},refiner(em,eH){let eV=eb(em,eH);return eV.refiner(em,eH)}})}function e$(eb){let em;return new eN({type:"lazy",schema:null,*entries(eH,eV){em??(em=eb()),yield*em.entries(eH,eV)},validator:(eH,eV)=>(em??(em=eb()),em.validator(eH,eV)),coercer:(eH,eV)=>(em??(em=eb()),em.coercer(eH,eV)),refiner:(eH,eV)=>(em??(em=eb()),em.refiner(eH,eV))})}function eW(eb,em){let{schema:eH}=eb,eV={...eH};for(let eb of em)delete eV[eb];return"type"===eb.type?tI(eV):tC(eV)}function eZ(eb){let em=eb instanceof eN,eH=em?{...eb.schema}:{...eb};for(let eb in eH)eH[eb]=tT(eH[eb]);return em&&"type"===eb.type?tI(eH):tC(eH)}function eG(eb,em){let{schema:eH}=eb,eV={};for(let eb of em)eV[eb]=eH[eb];return"type"===eb.type?tI(eV):tC(eV)}function eK(eb,em){return console.warn("superstruct@0.11 - The `struct` helper has been renamed to `define`."),eF(eb,em)}function eY(){return eF("any",()=>!0)}function eX(eb){return new eN({type:"array",schema:eb,*entries(em){if(eb&&Array.isArray(em))for(let[eH,eV]of em.entries())yield[eH,eV,eb]},coercer:eb=>Array.isArray(eb)?eb.slice():eb,validator:eb=>Array.isArray(eb)||`Expected an array value, but received: ${eT(eb)}`})}function eJ(){return eF("bigint",eb=>"bigint"==typeof eb)}function eQ(){return eF("boolean",eb=>"boolean"==typeof eb)}function e0(){return eF("date",eb=>eb instanceof Date&&!isNaN(eb.getTime())||`Expected a valid \`Date\` object, but received: ${eT(eb)}`)}function e6(eb){let em={},eH=eb.map(eb=>eT(eb)).join();for(let eH of eb)em[eH]=eH;return new eN({type:"enums",schema:em,validator:em=>eb.includes(em)||`Expected one of \`${eH}\`, but received: ${eT(em)}`})}function e4(){return eF("func",eb=>"function"==typeof eb||`Expected a function, but received: ${eT(eb)}`)}function e3(eb){return eF("instance",em=>em instanceof eb||`Expected a \`${eb.name}\` instance, but received: ${eT(em)}`)}function e5(){return eF("integer",eb=>"number"==typeof eb&&!isNaN(eb)&&Number.isInteger(eb)||`Expected an integer, but received: ${eT(eb)}`)}function e8(eb){return new eN({type:"intersection",schema:null,*entries(em,eH){for(let eV of eb)yield*eV.entries(em,eH)},*validator(em,eH){for(let eV of eb)yield*eV.validator(em,eH)},*refiner(em,eH){for(let eV of eb)yield*eV.refiner(em,eH)}})}function e9(eb){let em=eT(eb),eH=typeof eb;return new eN({type:"literal",schema:"string"===eH||"number"===eH||"boolean"===eH?eb:null,validator:eH=>eH===eb||`Expected the literal \`${em}\`, but received: ${eT(eH)}`})}function e7(eb,em){return new eN({type:"map",schema:null,*entries(eH){if(eb&&em&&eH instanceof Map)for(let[eV,ew]of eH.entries())yield[eV,eV,eb],yield[eV,ew,em]},coercer:eb=>eb instanceof Map?new Map(eb):eb,validator:eb=>eb instanceof Map||`Expected a \`Map\` object, but received: ${eT(eb)}`})}function tH(){return eF("never",()=>!1)}function tV(eb){return new eN({...eb,validator:(em,eH)=>null===em||eb.validator(em,eH),refiner:(em,eH)=>null===em||eb.refiner(em,eH)})}function tw(){return eF("number",eb=>"number"==typeof eb&&!isNaN(eb)||`Expected a number, but received: ${eT(eb)}`)}function tC(eb){let em=eb?Object.keys(eb):[],eH=tH();return new eN({type:"object",schema:eb||null,*entries(eV){if(eb&&eM(eV)){let ew=new Set(Object.keys(eV));for(let eH of em)ew.delete(eH),yield[eH,eV[eH],eb[eH]];for(let eb of ew)yield[eb,eV[eb],eH]}},validator:eb=>eM(eb)||`Expected an object, but received: ${eT(eb)}`,coercer:eb=>eM(eb)?{...eb}:eb})}function tT(eb){return new eN({...eb,validator:(em,eH)=>void 0===em||eb.validator(em,eH),refiner:(em,eH)=>void 0===em||eb.refiner(em,eH)})}function t_(eb,em){return new eN({type:"record",schema:null,*entries(eH){if(eM(eH))for(let eV in eH){let ew=eH[eV];yield[eV,eV,eb],yield[eV,ew,em]}},validator:eb=>eM(eb)||`Expected an object, but received: ${eT(eb)}`})}function tS(){return eF("regexp",eb=>eb instanceof RegExp)}function tE(eb){return new eN({type:"set",schema:null,*entries(em){if(eb&&em instanceof Set)for(let eH of em)yield[eH,eH,eb]},coercer:eb=>eb instanceof Set?new Set(eb):eb,validator:eb=>eb instanceof Set||`Expected a \`Set\` object, but received: ${eT(eb)}`})}function tA(){return eF("string",eb=>"string"==typeof eb||`Expected a string, but received: ${eT(eb)}`)}function tN(eb){let em=tH();return new eN({type:"tuple",schema:null,*entries(eH){if(Array.isArray(eH)){let eV=Math.max(eb.length,eH.length);for(let ew=0;ewArray.isArray(eb)||`Expected an array, but received: ${eT(eb)}`})}function tI(eb){let em=Object.keys(eb);return new eN({type:"type",schema:eb,*entries(eH){if(eM(eH))for(let eV of em)yield[eV,eH[eV],eb[eV]]},validator:eb=>eM(eb)||`Expected an object, but received: ${eT(eb)}`,coercer:eb=>eM(eb)?{...eb}:eb})}function tD(eb){let em=eb.map(eb=>eb.type).join(" | ");return new eN({type:"union",schema:null,coercer(em){for(let eH of eb){let[eb,eV]=eH.validate(em,{coerce:!0});if(!eb)return eV}return em},validator(eH,eV){let ew=[];for(let em of eb){let[...eb]=eA(eH,em,eV),[eM]=eb;if(!eM[0])return[];for(let[em]of eb)em&&ew.push(em)}return[`Expected the value to satisfy a union of \`${em}\`, but received: ${eT(eH)}`,...ew]}})}function tP(){return eF("unknown",()=>!0)}function tO(eb,em,eH){return new eN({...eb,coercer:(eV,ew)=>eO(eV,em)?eb.coercer(eH(eV,ew),ew):eb.coercer(eV,ew)})}function tR(eb,em,eH={}){return tO(eb,tP(),eb=>{let eV="function"==typeof em?em():em;if(void 0===eb)return eV;if(!eH.strict&&eC(eb)&&eC(eV)){let em={...eb},eH=!1;for(let eb in eV)void 0===em[eb]&&(em[eb]=eV[eb],eH=!0);if(eH)return em}return eb})}function tB(eb){return tO(eb,tA(),eb=>eb.trim())}function tF(eb){return tG(eb,"empty",em=>{let eH=tj(em);return 0===eH||`Expected an empty ${eb.type} but received one with a size of \`${eH}\``})}function tj(eb){return eb instanceof Map||eb instanceof Set?eb.size:eb.length}function tU(eb,em,eH={}){let{exclusive:eV}=eH;return tG(eb,"max",eH=>eV?eHeV?eH>em:eH>=em||`Expected a ${eb.type} greater than ${eV?"":"or equal to "}${em} but received \`${eH}\``)}function t$(eb){return tG(eb,"nonempty",em=>{let eH=tj(em);return eH>0||`Expected a nonempty ${eb.type} but received an empty one`})}function tW(eb,em){return tG(eb,"pattern",eH=>em.test(eH)||`Expected a ${eb.type} matching \`/${em.source}/\` but received "${eH}"`)}function tZ(eb,em,eH=em){let eV=`Expected a ${eb.type}`,ew=em===eH?`of \`${em}\``:`between \`${em}\` and \`${eH}\``;return tG(eb,"size",eb=>{if("number"==typeof eb||eb instanceof Date)return em<=eb&&eb<=eH||`${eV} ${ew} but received \`${eb}\``;if(eb instanceof Map||eb instanceof Set){let{size:eM}=eb;return em<=eM&&eM<=eH||`${eV} with a size ${ew} but received one with a size of \`${eM}\``}{let{length:eM}=eb;return em<=eM&&eM<=eH||`${eV} with a length ${ew} but received one with a length of \`${eM}\``}})}function tG(eb,em,eH){return new eN({...eb,*refiner(eV,ew){yield*eb.refiner(eV,ew);let eM=eH(eV,ew),eC=eE(eM,ew,eb,eV);for(let eb of eC)yield{...eb,refinement:em}}})}},21127:function(eb,em,eH){"use strict";function eV(eb,em,eH){return em<=eb&&eb<=eH}function ew(eb){if(void 0===eb)return{};if(eb===Object(eb))return eb;throw TypeError("Could not convert argument to dictionary")}function eM(eb){for(var em=String(eb),eH=em.length,eV=0,ew=[];eV57343)ew.push(eM);else if(56320<=eM&&eM<=57343)ew.push(65533);else if(55296<=eM&&eM<=56319){if(eV===eH-1)ew.push(65533);else{var eC=eb.charCodeAt(eV+1);if(56320<=eC&&eC<=57343){var eT=1023&eM,e_=1023&eC;ew.push(65536+(eT<<10)+e_),eV+=1}else ew.push(65533)}}eV+=1}return ew}function eC(eb){for(var em="",eH=0;eH>10)+55296,(1023&eV)+56320))}return em}eH.r(em),eH.d(em,{TextDecoder:function(){return eN},TextEncoder:function(){return eI}});var eT=-1;function e_(eb){this.tokens=[].slice.call(eb)}e_.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():eT},prepend:function(eb){if(Array.isArray(eb))for(var em=eb;em.length;)this.tokens.unshift(em.pop());else this.tokens.unshift(eb)},push:function(eb){if(Array.isArray(eb))for(var em=eb;em.length;)this.tokens.push(em.shift());else this.tokens.push(eb)}};var eS=-1;function eE(eb,em){if(eb)throw TypeError("Decoder error");return em||65533}var eA="utf-8";function eN(eb,em){if(!(this instanceof eN))return new eN(eb,em);if((eb=void 0!==eb?String(eb).toLowerCase():eA)!==eA)throw Error("Encoding not supported. Only utf-8 is supported");em=ew(em),this._streaming=!1,this._BOMseen=!1,this._decoder=null,this._fatal=!!em.fatal,this._ignoreBOM=!!em.ignoreBOM,Object.defineProperty(this,"encoding",{value:"utf-8"}),Object.defineProperty(this,"fatal",{value:this._fatal}),Object.defineProperty(this,"ignoreBOM",{value:this._ignoreBOM})}function eI(eb,em){if(!(this instanceof eI))return new eI(eb,em);if((eb=void 0!==eb?String(eb).toLowerCase():eA)!==eA)throw Error("Encoding not supported. Only utf-8 is supported");em=ew(em),this._streaming=!1,this._encoder=null,this._options={fatal:!!em.fatal},Object.defineProperty(this,"encoding",{value:"utf-8"})}function eD(eb){var em=eb.fatal,eH=0,ew=0,eM=0,eC=128,e_=191;this.handler=function(eb,eA){if(eA===eT&&0!==eM)return eM=0,eE(em);if(eA===eT)return eS;if(0===eM){if(eV(eA,0,127))return eA;if(eV(eA,194,223))eM=1,eH=eA-192;else if(eV(eA,224,239))224===eA&&(eC=160),237===eA&&(e_=159),eM=2,eH=eA-224;else{if(!eV(eA,240,244))return eE(em);240===eA&&(eC=144),244===eA&&(e_=143),eM=3,eH=eA-240}return eH<<=6*eM,null}if(!eV(eA,eC,e_))return eH=eM=ew=0,eC=128,e_=191,eb.prepend(eA),eE(em);if(eC=128,e_=191,ew+=1,eH+=eA-128<<6*(eM-ew),ew!==eM)return null;var eN=eH;return eH=eM=ew=0,eN}}function eP(eb){eb.fatal,this.handler=function(eb,em){if(em===eT)return eS;if(eV(em,0,127))return em;eV(em,128,2047)?(eH=1,ew=192):eV(em,2048,65535)?(eH=2,ew=224):eV(em,65536,1114111)&&(eH=3,ew=240);for(var eH,ew,eM=[(em>>6*eH)+ew];eH>0;){var eC=em>>6*(eH-1);eM.push(128|63&eC),eH-=1}return eM}}eN.prototype={decode:function(eb,em){eH="object"==typeof eb&&eb instanceof ArrayBuffer?new Uint8Array(eb):"object"==typeof eb&&"buffer"in eb&&eb.buffer instanceof ArrayBuffer?new Uint8Array(eb.buffer,eb.byteOffset,eb.byteLength):new Uint8Array(0),em=ew(em),this._streaming||(this._decoder=new eD({fatal:this._fatal}),this._BOMseen=!1),this._streaming=!!em.stream;for(var eH,eV,eM=new e_(eH),eT=[];!eM.endOfStream()&&(eV=this._decoder.handler(eM,eM.read()))!==eS;)null!==eV&&(Array.isArray(eV)?eT.push.apply(eT,eV):eT.push(eV));if(!this._streaming){do{if((eV=this._decoder.handler(eM,eM.read()))===eS)break;if(null===eV)continue;Array.isArray(eV)?eT.push.apply(eT,eV):eT.push(eV)}while(!eM.endOfStream());this._decoder=null}return!eT.length||-1===["utf-8"].indexOf(this.encoding)||this._ignoreBOM||this._BOMseen||(65279===eT[0]?(this._BOMseen=!0,eT.shift()):this._BOMseen=!0),eC(eT)}},eI.prototype={encode:function(eb,em){eb=eb?String(eb):"",em=ew(em),this._streaming||(this._encoder=new eP(this._options)),this._streaming=!!em.stream;for(var eH,eV=[],eC=new e_(eM(eb));!eC.endOfStream()&&(eH=this._encoder.handler(eC,eC.read()))!==eS;)Array.isArray(eH)?eV.push.apply(eV,eH):eV.push(eH);if(!this._streaming){for(;(eH=this._encoder.handler(eC,eC.read()))!==eS;)Array.isArray(eH)?eV.push.apply(eV,eH):eV.push(eH);this._encoder=null}return new Uint8Array(eV)}}},97582:function(eb,em,eH){"use strict";eH.r(em),eH.d(em,{__addDisposableResource:function(){return e3},__assign:function(){return eM},__asyncDelegator:function(){return eG},__asyncGenerator:function(){return eZ},__asyncValues:function(){return eK},__await:function(){return eW},__awaiter:function(){return eD},__classPrivateFieldGet:function(){return e0},__classPrivateFieldIn:function(){return e4},__classPrivateFieldSet:function(){return e6},__createBinding:function(){return eO},__decorate:function(){return eT},__disposeResources:function(){return e8},__esDecorate:function(){return eS},__exportStar:function(){return eR},__extends:function(){return ew},__generator:function(){return eP},__importDefault:function(){return eQ},__importStar:function(){return eJ},__makeTemplateObject:function(){return eY},__metadata:function(){return eI},__param:function(){return e_},__propKey:function(){return eA},__read:function(){return eF},__rest:function(){return eC},__runInitializers:function(){return eE},__setFunctionName:function(){return eN},__spread:function(){return ej},__spreadArray:function(){return e$},__spreadArrays:function(){return eU},__values:function(){return eB}});var eV=function(eb,em){return(eV=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(eb,em){eb.__proto__=em}||function(eb,em){for(var eH in em)Object.prototype.hasOwnProperty.call(em,eH)&&(eb[eH]=em[eH])})(eb,em)};function ew(eb,em){if("function"!=typeof em&&null!==em)throw TypeError("Class extends value "+String(em)+" is not a constructor or null");function eH(){this.constructor=eb}eV(eb,em),eb.prototype=null===em?Object.create(em):(eH.prototype=em.prototype,new eH)}var eM=function(){return(eM=Object.assign||function(eb){for(var em,eH=1,eV=arguments.length;eHem.indexOf(eV)&&(eH[eV]=eb[eV]);if(null!=eb&&"function"==typeof Object.getOwnPropertySymbols)for(var ew=0,eV=Object.getOwnPropertySymbols(eb);ewem.indexOf(eV[ew])&&Object.prototype.propertyIsEnumerable.call(eb,eV[ew])&&(eH[eV[ew]]=eb[eV[ew]]);return eH}function eT(eb,em,eH,eV){var ew,eM=arguments.length,eC=eM<3?em:null===eV?eV=Object.getOwnPropertyDescriptor(em,eH):eV;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)eC=Reflect.decorate(eb,em,eH,eV);else for(var eT=eb.length-1;eT>=0;eT--)(ew=eb[eT])&&(eC=(eM<3?ew(eC):eM>3?ew(em,eH,eC):ew(em,eH))||eC);return eM>3&&eC&&Object.defineProperty(em,eH,eC),eC}function e_(eb,em){return function(eH,eV){em(eH,eV,eb)}}function eS(eb,em,eH,eV,ew,eM){function eC(eb){if(void 0!==eb&&"function"!=typeof eb)throw TypeError("Function expected");return eb}for(var eT,e_=eV.kind,eS="getter"===e_?"get":"setter"===e_?"set":"value",eE=!em&&eb?eV.static?eb:eb.prototype:null,eA=em||(eE?Object.getOwnPropertyDescriptor(eE,eV.name):{}),eN=!1,eI=eH.length-1;eI>=0;eI--){var eD={};for(var eP in eV)eD[eP]="access"===eP?{}:eV[eP];for(var eP in eV.access)eD.access[eP]=eV.access[eP];eD.addInitializer=function(eb){if(eN)throw TypeError("Cannot add initializers after decoration has completed");eM.push(eC(eb||null))};var eO=(0,eH[eI])("accessor"===e_?{get:eA.get,set:eA.set}:eA[eS],eD);if("accessor"===e_){if(void 0===eO)continue;if(null===eO||"object"!=typeof eO)throw TypeError("Object expected");(eT=eC(eO.get))&&(eA.get=eT),(eT=eC(eO.set))&&(eA.set=eT),(eT=eC(eO.init))&&ew.unshift(eT)}else(eT=eC(eO))&&("field"===e_?ew.unshift(eT):eA[eS]=eT)}eE&&Object.defineProperty(eE,eV.name,eA),eN=!0}function eE(eb,em,eH){for(var eV=arguments.length>2,ew=0;ew0&&ew[ew.length-1])&&(6===eT[0]||2===eT[0])){eC=0;continue}if(3===eT[0]&&(!ew||eT[1]>ew[0]&&eT[1]=eb.length&&(eb=void 0),{value:eb&&eb[eV++],done:!eb}}};throw TypeError(em?"Object is not iterable.":"Symbol.iterator is not defined.")}function eF(eb,em){var eH="function"==typeof Symbol&&eb[Symbol.iterator];if(!eH)return eb;var eV,ew,eM=eH.call(eb),eC=[];try{for(;(void 0===em||em-- >0)&&!(eV=eM.next()).done;)eC.push(eV.value)}catch(eb){ew={error:eb}}finally{try{eV&&!eV.done&&(eH=eM.return)&&eH.call(eM)}finally{if(ew)throw ew.error}}return eC}function ej(){for(var eb=[],em=0;em1||eT(eb,em)})})}function eT(eb,em){try{e_(ew[eb](em))}catch(eb){eA(eM[0][3],eb)}}function e_(eb){eb.value instanceof eW?Promise.resolve(eb.value.v).then(eS,eE):eA(eM[0][2],eb)}function eS(eb){eT("next",eb)}function eE(eb){eT("throw",eb)}function eA(eb,em){eb(em),eM.shift(),eM.length&&eT(eM[0][0],eM[0][1])}}function eG(eb){var em,eH;return em={},eV("next"),eV("throw",function(eb){throw eb}),eV("return"),em[Symbol.iterator]=function(){return this},em;function eV(eV,ew){em[eV]=eb[eV]?function(em){return(eH=!eH)?{value:eW(eb[eV](em)),done:!1}:ew?ew(em):em}:ew}}function eK(eb){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var em,eH=eb[Symbol.asyncIterator];return eH?eH.call(eb):(eb=eB(eb),em={},eV("next"),eV("throw"),eV("return"),em[Symbol.asyncIterator]=function(){return this},em);function eV(eH){em[eH]=eb[eH]&&function(em){return new Promise(function(eV,eM){ew(eV,eM,(em=eb[eH](em)).done,em.value)})}}function ew(eb,em,eH,eV){Promise.resolve(eV).then(function(em){eb({value:em,done:eH})},em)}}function eY(eb,em){return Object.defineProperty?Object.defineProperty(eb,"raw",{value:em}):eb.raw=em,eb}var eX=Object.create?function(eb,em){Object.defineProperty(eb,"default",{enumerable:!0,value:em})}:function(eb,em){eb.default=em};function eJ(eb){if(eb&&eb.__esModule)return eb;var em={};if(null!=eb)for(var eH in eb)"default"!==eH&&Object.prototype.hasOwnProperty.call(eb,eH)&&eO(em,eb,eH);return eX(em,eb),em}function eQ(eb){return eb&&eb.__esModule?eb:{default:eb}}function e0(eb,em,eH,eV){if("a"===eH&&!eV)throw TypeError("Private accessor was defined without a getter");if("function"==typeof em?eb!==em||!eV:!em.has(eb))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===eH?eV:"a"===eH?eV.call(eb):eV?eV.value:em.get(eb)}function e6(eb,em,eH,eV,ew){if("m"===eV)throw TypeError("Private method is not writable");if("a"===eV&&!ew)throw TypeError("Private accessor was defined without a setter");if("function"==typeof em?eb!==em||!ew:!em.has(eb))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===eV?ew.call(eb,eH):ew?ew.value=eH:em.set(eb,eH),eH}function e4(eb,em){if(null===em||"object"!=typeof em&&"function"!=typeof em)throw TypeError("Cannot use 'in' operator on non-object");return"function"==typeof eb?em===eb:eb.has(em)}function e3(eb,em,eH){if(null!=em){var eV;if("object"!=typeof em&&"function"!=typeof em)throw TypeError("Object expected.");if(eH){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");eV=em[Symbol.asyncDispose]}if(void 0===eV){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");eV=em[Symbol.dispose]}if("function"!=typeof eV)throw TypeError("Object not disposable.");eb.stack.push({value:em,dispose:eV,async:eH})}else eH&&eb.stack.push({async:!0});return em}var e5="function"==typeof SuppressedError?SuppressedError:function(eb,em,eH){var eV=Error(eH);return eV.name="SuppressedError",eV.error=eb,eV.suppressed=em,eV};function e8(eb){function em(em){eb.error=eb.hasError?new e5(em,eb.error,"An error was suppressed during disposal."):em,eb.hasError=!0}function eH(){for(;eb.stack.length;){var eV=eb.stack.pop();try{var ew=eV.dispose&&eV.dispose.call(eV.value);if(eV.async)return Promise.resolve(ew).then(eH,function(eb){return em(eb),eH()})}catch(eb){em(eb)}}if(eb.hasError)throw eb.error}return eH()}em.default={__extends:ew,__assign:eM,__rest:eC,__decorate:eT,__param:e_,__metadata:eI,__awaiter:eD,__generator:eP,__createBinding:eO,__exportStar:eR,__values:eB,__read:eF,__spread:ej,__spreadArrays:eU,__spreadArray:e$,__await:eW,__asyncGenerator:eZ,__asyncDelegator:eG,__asyncValues:eK,__makeTemplateObject:eY,__importStar:eJ,__importDefault:eQ,__classPrivateFieldGet:e0,__classPrivateFieldSet:e6,__classPrivateFieldIn:e4,__addDisposableResource:e3,__disposeResources:e8}},17832:function(eb,em,eH){"use strict";eH.d(em,{sj:function(){return eW},iH:function(){return eK},CO:function(){return eG},Ld:function(){return eZ}});let eV=Symbol(),ew=Symbol(),eM="a",eC="w",eT=(eb,em)=>new Proxy(eb,em),e_=Object.getPrototypeOf,eS=new WeakMap,eE=eb=>eb&&(eS.has(eb)?eS.get(eb):e_(eb)===Object.prototype||e_(eb)===Array.prototype),eA=eb=>"object"==typeof eb&&null!==eb,eN=eb=>{if(Array.isArray(eb))return Array.from(eb);let em=Object.getOwnPropertyDescriptors(eb);return Object.values(em).forEach(eb=>{eb.configurable=!0}),Object.create(e_(eb),em)},eI=eb=>eb[ew]||eb,eD=(eb,em,eH,e_)=>{if(!eE(eb))return eb;let eS=e_&&e_.get(eb);if(!eS){var eA;let em=eI(eb);eS=Object.values(Object.getOwnPropertyDescriptors(eA=em)).some(eb=>!eb.configurable&&!eb.writable)?[em,eN(em)]:[em],null==e_||e_.set(eb,eS)}let[eP,eO]=eS,eR=eH&&eH.get(eP);return eR&&!!eO===eR[1].f||((eR=((eb,em)=>{let eH={f:em},eT=!1,e_=(em,eV)=>{if(!eT){let ew=eH[eM].get(eb);if(ew||(ew={},eH[eM].set(eb,ew)),em===eC)ew[eC]=!0;else{let eb=ew[em];eb||(eb=new Set,ew[em]=eb),eb.add(eV)}}},eS={get:(em,eV)=>eV===ew?eb:(e_("k",eV),eD(Reflect.get(em,eV),eH[eM],eH.c,eH.t)),has:(em,ew)=>ew===eV?(eT=!0,eH[eM].delete(eb),!0):(e_("h",ew),Reflect.has(em,ew)),getOwnPropertyDescriptor:(eb,em)=>(e_("o",em),Reflect.getOwnPropertyDescriptor(eb,em)),ownKeys:eb=>(e_(eC),Reflect.ownKeys(eb))};return em&&(eS.set=eS.deleteProperty=()=>!1),[eS,eH]})(eP,!!eO))[1].p=eT(eO||eP,eR[0]),eH&&eH.set(eP,eR)),eR[1][eM]=em,eR[1].c=eH,eR[1].t=e_,eR[1].p},eP=(eb,em,eH,eV)=>{if(Object.is(eb,em))return!1;if(!eA(eb)||!eA(em))return!0;let ew=eH.get(eI(eb));if(!ew)return!0;if(eV){let eH=eV.get(eb);if(eH&&eH.n===em)return eH.g;eV.set(eb,{n:em,g:!1})}let eM=null;try{for(let eH of ew.h||[])if(eM=Reflect.has(eb,eH)!==Reflect.has(em,eH))return eM;if(!0===ew[eC]){if(eM=((eb,em)=>{let eH=Reflect.ownKeys(eb),eV=Reflect.ownKeys(em);return eH.length!==eV.length||eH.some((eb,em)=>eb!==eV[em])})(eb,em))return eM}else for(let eH of ew.o||[])if(eM=!!Reflect.getOwnPropertyDescriptor(eb,eH)!=!!Reflect.getOwnPropertyDescriptor(em,eH))return eM;for(let eC of ew.k||[])if(eM=eP(eb[eC],em[eC],eH,eV))return eM;return null===eM&&(eM=!0),eM}finally{eV&&eV.set(eb,{n:em,g:eM})}},eO=eb=>eE(eb)&&eb[ew]||null,eR=(eb,em=!0)=>{eS.set(eb,em)},eB=eb=>"object"==typeof eb&&null!==eb,eF=new WeakMap,ej=new WeakSet,eU=(eb=Object.is,em=(eb,em)=>new Proxy(eb,em),eH=eb=>eB(eb)&&!ej.has(eb)&&(Array.isArray(eb)||!(Symbol.iterator in eb))&&!(eb instanceof WeakMap)&&!(eb instanceof WeakSet)&&!(eb instanceof Error)&&!(eb instanceof Number)&&!(eb instanceof Date)&&!(eb instanceof String)&&!(eb instanceof RegExp)&&!(eb instanceof ArrayBuffer),eV=eb=>{switch(eb.status){case"fulfilled":return eb.value;case"rejected":throw eb.reason;default:throw eb}},ew=new WeakMap,eM=(eb,em,eH=eV)=>{let eC=ew.get(eb);if((null==eC?void 0:eC[0])===em)return eC[1];let eT=Array.isArray(eb)?[]:Object.create(Object.getPrototypeOf(eb));return eR(eT,!0),ew.set(eb,[em,eT]),Reflect.ownKeys(eb).forEach(em=>{if(Object.getOwnPropertyDescriptor(eT,em))return;let eV=Reflect.get(eb,em),ew={value:eV,enumerable:!0,configurable:!0};if(ej.has(eV))eR(eV,!1);else if(eV instanceof Promise)delete ew.value,ew.get=()=>eH(eV);else if(eF.has(eV)){let[eb,em]=eF.get(eV);ew.value=eM(eb,em(),eH)}Object.defineProperty(eT,em,ew)}),Object.preventExtensions(eT)},eC=new WeakMap,eT=[1,1],e_=eV=>{if(!eB(eV))throw Error("object required");let ew=eC.get(eV);if(ew)return ew;let eS=eT[0],eE=new Set,eA=(eb,em=++eT[0])=>{eS!==em&&(eS=em,eE.forEach(eH=>eH(eb,em)))},eN=eT[1],eI=(eb=++eT[1])=>(eN===eb||eE.size||(eN=eb,eP.forEach(([em])=>{let eH=em[1](eb);eH>eS&&(eS=eH)})),eS),eD=eb=>(em,eH)=>{let eV=[...em];eV[1]=[eb,...eV[1]],eA(eV,eH)},eP=new Map,eR=(eb,em)=>{if(eP.has(eb))throw Error("prop listener already exists");if(eE.size){let eH=em[3](eD(eb));eP.set(eb,[em,eH])}else eP.set(eb,[em])},eU=eb=>{var em;let eH=eP.get(eb);eH&&(eP.delete(eb),null==(em=eH[1])||em.call(eH))},e$=eb=>{eE.add(eb),1===eE.size&&eP.forEach(([eb,em],eH)=>{if(em)throw Error("remove already exists");let eV=eb[3](eD(eH));eP.set(eH,[eb,eV])});let em=()=>{eE.delete(eb),0===eE.size&&eP.forEach(([eb,em],eH)=>{em&&(em(),eP.set(eH,[eb]))})};return em},eW=Array.isArray(eV)?[]:Object.create(Object.getPrototypeOf(eV)),eZ={deleteProperty(eb,em){let eH=Reflect.get(eb,em);eU(em);let eV=Reflect.deleteProperty(eb,em);return eV&&eA(["delete",[em],eH]),eV},set(em,eV,ew,eM){let eT=Reflect.has(em,eV),eS=Reflect.get(em,eV,eM);if(eT&&(eb(eS,ew)||eC.has(ew)&&eb(eS,eC.get(ew))))return!0;eU(eV),eB(ew)&&(ew=eO(ew)||ew);let eE=ew;if(ew instanceof Promise)ew.then(eb=>{ew.status="fulfilled",ew.value=eb,eA(["resolve",[eV],eb])}).catch(eb=>{ew.status="rejected",ew.reason=eb,eA(["reject",[eV],eb])});else{!eF.has(ew)&&eH(ew)&&(eE=e_(ew));let eb=!ej.has(eE)&&eF.get(eE);eb&&eR(eV,eb)}return Reflect.set(em,eV,eE,eM),eA(["set",[eV],ew,eS]),!0}},eG=em(eW,eZ);eC.set(eV,eG);let eK=[eW,eI,eM,e$];return eF.set(eG,eK),Reflect.ownKeys(eV).forEach(eb=>{let em=Object.getOwnPropertyDescriptor(eV,eb);"value"in em&&(eG[eb]=eV[eb],delete em.value,delete em.writable),Object.defineProperty(eW,eb,em)}),eG})=>[e_,eF,ej,eb,em,eH,eV,ew,eM,eC,eT],[e$]=eU();function eW(eb={}){return e$(eb)}function eZ(eb,em,eH){let eV;let ew=eF.get(eb);ew||console.warn("Please use proxy object");let eM=[],eC=ew[3],eT=!1,e_=eb=>{if(eM.push(eb),eH){em(eM.splice(0));return}eV||(eV=Promise.resolve().then(()=>{eV=void 0,eT&&em(eM.splice(0))}))},eS=eC(e_);return eT=!0,()=>{eT=!1,eS()}}function eG(eb,em){let eH=eF.get(eb);eH||console.warn("Please use proxy object");let[eV,ew,eM]=eH;return eM(eV,ew(),em)}function eK(eb){return ej.add(eb),eb}},73932:function(eb,em,eH){"use strict";let eV;eH.d(em,{VW:function(){return eM}});var ew=eH(17832);function eM(eb,em,eH,eV){let eM=eb[em];return(0,ew.Ld)(eb,()=>{let eV=eb[em];Object.is(eM,eV)||eH(eM=eV)},eV)}Symbol();let eC=new WeakMap;new WeakMap;let eT=(eb,em)=>{let eH=eC.get(eb);eH&&(eH[0].forEach(em=>{let{d:eH}=em;eb!==eH&&eT(eH)}),++eH[2],em&&eH[3].add(em))},e_=eb=>{let em=eC.get(eb);em&&(--em[2],em[2]||(em[3].forEach(eb=>eb()),em[3].clear()),em[0].forEach(em=>{let{d:eH}=em;eb!==eH&&e_(eH)}))},eS=eb=>"object"==typeof eb&&null!==eb,eE=eb=>{if(eV||(eV=unstable_buildProxyFunction()[2]),!eS(eb)||eV.has(eb))return eb;let em=Array.isArray(eb)?[]:Object.create(Object.getPrototypeOf(eb));return Reflect.ownKeys(eb).forEach(eH=>{em[eH]=eE(eb[eH])}),em}},1604:function(eb,em,eH){"use strict";let eV;eH.d(em,{jm:function(){return e_},z:function(){return n4}}),function(eb){function em(eb){}function eH(eb){throw Error()}function eV(eb,em=" | "){return eb.map(eb=>"string"==typeof eb?`'${eb}'`:eb).join(em)}eb.assertEqual=eb=>eb,eb.assertIs=em,eb.assertNever=eH,eb.arrayToEnum=eb=>{let em={};for(let eH of eb)em[eH]=eH;return em},eb.getValidEnumValues=em=>{let eH=eb.objectKeys(em).filter(eb=>"number"!=typeof em[em[eb]]),eV={};for(let eb of eH)eV[eb]=em[eb];return eb.objectValues(eV)},eb.objectValues=em=>eb.objectKeys(em).map(function(eb){return em[eb]}),eb.objectKeys="function"==typeof Object.keys?eb=>Object.keys(eb):eb=>{let em=[];for(let eH in eb)Object.prototype.hasOwnProperty.call(eb,eH)&&em.push(eH);return em},eb.find=(eb,em)=>{for(let eH of eb)if(em(eH))return eH},eb.isInteger="function"==typeof Number.isInteger?eb=>Number.isInteger(eb):eb=>"number"==typeof eb&&isFinite(eb)&&Math.floor(eb)===eb,eb.joinValues=eV,eb.jsonStringifyReplacer=(eb,em)=>"bigint"==typeof em?em.toString():em}(nX||(nX={})),function(eb){eb.mergeShapes=(eb,em)=>({...eb,...em})}(nJ||(nJ={}));let ew=nX.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),eM=eb=>{let em=typeof eb;switch(em){case"undefined":return ew.undefined;case"string":return ew.string;case"number":return isNaN(eb)?ew.nan:ew.number;case"boolean":return ew.boolean;case"function":return ew.function;case"bigint":return ew.bigint;case"symbol":return ew.symbol;case"object":if(Array.isArray(eb))return ew.array;if(null===eb)return ew.null;if(eb.then&&"function"==typeof eb.then&&eb.catch&&"function"==typeof eb.catch)return ew.promise;if("undefined"!=typeof Map&&eb instanceof Map)return ew.map;if("undefined"!=typeof Set&&eb instanceof Set)return ew.set;if("undefined"!=typeof Date&&eb instanceof Date)return ew.date;return ew.object;default:return ew.unknown}},eC=nX.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"]),eT=eb=>{let em=JSON.stringify(eb,null,2);return em.replace(/"([^"]+)":/g,"$1:")};class e_ extends Error{constructor(eb){super(),this.issues=[],this.addIssue=eb=>{this.issues=[...this.issues,eb]},this.addIssues=(eb=[])=>{this.issues=[...this.issues,...eb]};let em=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,em):this.__proto__=em,this.name="ZodError",this.issues=eb}get errors(){return this.issues}format(eb){let em=eb||function(eb){return eb.message},eH={_errors:[]},eV=eb=>{for(let ew of eb.issues)if("invalid_union"===ew.code)ew.unionErrors.map(eV);else if("invalid_return_type"===ew.code)eV(ew.returnTypeError);else if("invalid_arguments"===ew.code)eV(ew.argumentsError);else if(0===ew.path.length)eH._errors.push(em(ew));else{let eb=eH,eV=0;for(;eVeb.message){let em={},eH=[];for(let eV of this.issues)eV.path.length>0?(em[eV.path[0]]=em[eV.path[0]]||[],em[eV.path[0]].push(eb(eV))):eH.push(eb(eV));return{formErrors:eH,fieldErrors:em}}get formErrors(){return this.flatten()}}e_.create=eb=>{let em=new e_(eb);return em};let eS=(eb,em)=>{let eH;switch(eb.code){case eC.invalid_type:eH=eb.received===ew.undefined?"Required":`Expected ${eb.expected}, received ${eb.received}`;break;case eC.invalid_literal:eH=`Invalid literal value, expected ${JSON.stringify(eb.expected,nX.jsonStringifyReplacer)}`;break;case eC.unrecognized_keys:eH=`Unrecognized key(s) in object: ${nX.joinValues(eb.keys,", ")}`;break;case eC.invalid_union:eH="Invalid input";break;case eC.invalid_union_discriminator:eH=`Invalid discriminator value. Expected ${nX.joinValues(eb.options)}`;break;case eC.invalid_enum_value:eH=`Invalid enum value. Expected ${nX.joinValues(eb.options)}, received '${eb.received}'`;break;case eC.invalid_arguments:eH="Invalid function arguments";break;case eC.invalid_return_type:eH="Invalid function return type";break;case eC.invalid_date:eH="Invalid date";break;case eC.invalid_string:"object"==typeof eb.validation?"includes"in eb.validation?(eH=`Invalid input: must include "${eb.validation.includes}"`,"number"==typeof eb.validation.position&&(eH=`${eH} at one or more positions greater than or equal to ${eb.validation.position}`)):"startsWith"in eb.validation?eH=`Invalid input: must start with "${eb.validation.startsWith}"`:"endsWith"in eb.validation?eH=`Invalid input: must end with "${eb.validation.endsWith}"`:nX.assertNever(eb.validation):eH="regex"!==eb.validation?`Invalid ${eb.validation}`:"Invalid";break;case eC.too_small:eH="array"===eb.type?`Array must contain ${eb.exact?"exactly":eb.inclusive?"at least":"more than"} ${eb.minimum} element(s)`:"string"===eb.type?`String must contain ${eb.exact?"exactly":eb.inclusive?"at least":"over"} ${eb.minimum} character(s)`:"number"===eb.type?`Number must be ${eb.exact?"exactly equal to ":eb.inclusive?"greater than or equal to ":"greater than "}${eb.minimum}`:"date"===eb.type?`Date must be ${eb.exact?"exactly equal to ":eb.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(eb.minimum))}`:"Invalid input";break;case eC.too_big:eH="array"===eb.type?`Array must contain ${eb.exact?"exactly":eb.inclusive?"at most":"less than"} ${eb.maximum} element(s)`:"string"===eb.type?`String must contain ${eb.exact?"exactly":eb.inclusive?"at most":"under"} ${eb.maximum} character(s)`:"number"===eb.type?`Number must be ${eb.exact?"exactly":eb.inclusive?"less than or equal to":"less than"} ${eb.maximum}`:"bigint"===eb.type?`BigInt must be ${eb.exact?"exactly":eb.inclusive?"less than or equal to":"less than"} ${eb.maximum}`:"date"===eb.type?`Date must be ${eb.exact?"exactly":eb.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(eb.maximum))}`:"Invalid input";break;case eC.custom:eH="Invalid input";break;case eC.invalid_intersection_types:eH="Intersection results could not be merged";break;case eC.not_multiple_of:eH=`Number must be a multiple of ${eb.multipleOf}`;break;case eC.not_finite:eH="Number must be finite";break;default:eH=em.defaultError,nX.assertNever(eb)}return{message:eH}},eE=eS;function eA(eb){eE=eb}function eN(){return eE}let eI=eb=>{let{data:em,path:eH,errorMaps:eV,issueData:ew}=eb,eM=[...eH,...ew.path||[]],eC={...ew,path:eM},eT="",e_=eV.filter(eb=>!!eb).slice().reverse();for(let eb of e_)eT=eb(eC,{data:em,defaultError:eT}).message;return{...ew,path:eM,message:ew.message||eT}},eD=[];function eP(eb,em){let eH=eI({issueData:em,data:eb.data,path:eb.path,errorMaps:[eb.common.contextualErrorMap,eb.schemaErrorMap,eN(),eS].filter(eb=>!!eb)});eb.common.issues.push(eH)}class eO{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(eb,em){let eH=[];for(let eV of em){if("aborted"===eV.status)return eR;"dirty"===eV.status&&eb.dirty(),eH.push(eV.value)}return{status:eb.value,value:eH}}static async mergeObjectAsync(eb,em){let eH=[];for(let eb of em)eH.push({key:await eb.key,value:await eb.value});return eO.mergeObjectSync(eb,eH)}static mergeObjectSync(eb,em){let eH={};for(let eV of em){let{key:em,value:ew}=eV;if("aborted"===em.status||"aborted"===ew.status)return eR;"dirty"===em.status&&eb.dirty(),"dirty"===ew.status&&eb.dirty(),"__proto__"!==em.value&&(void 0!==ew.value||eV.alwaysSet)&&(eH[em.value]=ew.value)}return{status:eb.value,value:eH}}}let eR=Object.freeze({status:"aborted"}),eB=eb=>({status:"dirty",value:eb}),eF=eb=>({status:"valid",value:eb}),ej=eb=>"aborted"===eb.status,eU=eb=>"dirty"===eb.status,e$=eb=>"valid"===eb.status,eW=eb=>"undefined"!=typeof Promise&&eb instanceof Promise;!function(eb){eb.errToObj=eb=>"string"==typeof eb?{message:eb}:eb||{},eb.toString=eb=>"string"==typeof eb?eb:null==eb?void 0:eb.message}(nQ||(nQ={}));class eZ{constructor(eb,em,eH,eV){this._cachedPath=[],this.parent=eb,this.data=em,this._path=eH,this._key=eV}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}}let eG=(eb,em)=>{if(e$(em))return{success:!0,data:em.value};if(!eb.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let em=new e_(eb.common.issues);return this._error=em,this._error}}};function eK(eb){if(!eb)return{};let{errorMap:em,invalid_type_error:eH,required_error:eV,description:ew}=eb;if(em&&(eH||eV))throw Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(em)return{errorMap:em,description:ew};let eM=(eb,em)=>"invalid_type"!==eb.code?{message:em.defaultError}:void 0===em.data?{message:null!=eV?eV:em.defaultError}:{message:null!=eH?eH:em.defaultError};return{errorMap:eM,description:ew}}class eY{constructor(eb){this.spa=this.safeParseAsync,this._def=eb,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(eb){return eM(eb.data)}_getOrReturnCtx(eb,em){return em||{common:eb.parent.common,data:eb.data,parsedType:eM(eb.data),schemaErrorMap:this._def.errorMap,path:eb.path,parent:eb.parent}}_processInputParams(eb){return{status:new eO,ctx:{common:eb.parent.common,data:eb.data,parsedType:eM(eb.data),schemaErrorMap:this._def.errorMap,path:eb.path,parent:eb.parent}}}_parseSync(eb){let em=this._parse(eb);if(eW(em))throw Error("Synchronous parse encountered promise.");return em}_parseAsync(eb){let em=this._parse(eb);return Promise.resolve(em)}parse(eb,em){let eH=this.safeParse(eb,em);if(eH.success)return eH.data;throw eH.error}safeParse(eb,em){var eH;let eV={common:{issues:[],async:null!==(eH=null==em?void 0:em.async)&&void 0!==eH&&eH,contextualErrorMap:null==em?void 0:em.errorMap},path:(null==em?void 0:em.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:eb,parsedType:eM(eb)},ew=this._parseSync({data:eb,path:eV.path,parent:eV});return eG(eV,ew)}async parseAsync(eb,em){let eH=await this.safeParseAsync(eb,em);if(eH.success)return eH.data;throw eH.error}async safeParseAsync(eb,em){let eH={common:{issues:[],contextualErrorMap:null==em?void 0:em.errorMap,async:!0},path:(null==em?void 0:em.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:eb,parsedType:eM(eb)},eV=this._parse({data:eb,path:eH.path,parent:eH}),ew=await (eW(eV)?eV:Promise.resolve(eV));return eG(eH,ew)}refine(eb,em){let eH=eb=>"string"==typeof em||void 0===em?{message:em}:"function"==typeof em?em(eb):em;return this._refinement((em,eV)=>{let ew=eb(em),eM=()=>eV.addIssue({code:eC.custom,...eH(em)});return"undefined"!=typeof Promise&&ew instanceof Promise?ew.then(eb=>!!eb||(eM(),!1)):!!ew||(eM(),!1)})}refinement(eb,em){return this._refinement((eH,eV)=>!!eb(eH)||(eV.addIssue("function"==typeof em?em(eH,eV):em),!1))}_refinement(eb){return new aM({schema:this,typeName:n6.ZodEffects,effect:{type:"refinement",refinement:eb}})}superRefine(eb){return this._refinement(eb)}optional(){return aC.create(this,this._def)}nullable(){return ak.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return tP.create(this,this._def)}promise(){return aV.create(this,this._def)}or(eb){return tB.create([this,eb],this._def)}and(eb){return tq.create(this,eb,this._def)}transform(eb){return new aM({...eK(this._def),schema:this,typeName:n6.ZodEffects,effect:{type:"transform",transform:eb}})}default(eb){let em="function"==typeof eb?eb:()=>eb;return new a_({...eK(this._def),innerType:this,defaultValue:em,typeName:n6.ZodDefault})}brand(){return new aI({typeName:n6.ZodBranded,type:this,...eK(this._def)})}catch(eb){let em="function"==typeof eb?eb:()=>eb;return new aS({...eK(this._def),innerType:this,catchValue:em,typeName:n6.ZodCatch})}describe(eb){let em=this.constructor;return new em({...this._def,description:eb})}pipe(eb){return aD.create(this,eb)}readonly(){return aP.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}let eX=/^c[^\s-]{8,}$/i,eJ=/^[a-z][a-z0-9]*$/,eQ=/^[0-9A-HJKMNP-TV-Z]{26}$/,e0=/^[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,e6=/^(?!\.)(?!.*\.\.)([A-Z0-9_+-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,e4="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",e3=/^(((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}))$/,e5=/^(([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})))$/,e8=eb=>eb.precision?eb.offset?RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${eb.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${eb.precision}}Z$`):0===eb.precision?eb.offset?RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):eb.offset?RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function e9(eb,em){return!!(("v4"===em||!em)&&e3.test(eb)||("v6"===em||!em)&&e5.test(eb))}class e7 extends eY{_parse(eb){let em;this._def.coerce&&(eb.data=String(eb.data));let eH=this._getType(eb);if(eH!==ew.string){let em=this._getOrReturnCtx(eb);return eP(em,{code:eC.invalid_type,expected:ew.string,received:em.parsedType}),eR}let eM=new eO;for(let eH of this._def.checks)if("min"===eH.kind)eb.data.lengtheH.value&&(eP(em=this._getOrReturnCtx(eb,em),{code:eC.too_big,maximum:eH.value,type:"string",inclusive:!0,exact:!1,message:eH.message}),eM.dirty());else if("length"===eH.kind){let eV=eb.data.length>eH.value,ew=eb.data.lengtheb.test(em),{validation:em,code:eC.invalid_string,...nQ.errToObj(eH)})}_addCheck(eb){return new e7({...this._def,checks:[...this._def.checks,eb]})}email(eb){return this._addCheck({kind:"email",...nQ.errToObj(eb)})}url(eb){return this._addCheck({kind:"url",...nQ.errToObj(eb)})}emoji(eb){return this._addCheck({kind:"emoji",...nQ.errToObj(eb)})}uuid(eb){return this._addCheck({kind:"uuid",...nQ.errToObj(eb)})}cuid(eb){return this._addCheck({kind:"cuid",...nQ.errToObj(eb)})}cuid2(eb){return this._addCheck({kind:"cuid2",...nQ.errToObj(eb)})}ulid(eb){return this._addCheck({kind:"ulid",...nQ.errToObj(eb)})}ip(eb){return this._addCheck({kind:"ip",...nQ.errToObj(eb)})}datetime(eb){var em;return"string"==typeof eb?this._addCheck({kind:"datetime",precision:null,offset:!1,message:eb}):this._addCheck({kind:"datetime",precision:void 0===(null==eb?void 0:eb.precision)?null:null==eb?void 0:eb.precision,offset:null!==(em=null==eb?void 0:eb.offset)&&void 0!==em&&em,...nQ.errToObj(null==eb?void 0:eb.message)})}regex(eb,em){return this._addCheck({kind:"regex",regex:eb,...nQ.errToObj(em)})}includes(eb,em){return this._addCheck({kind:"includes",value:eb,position:null==em?void 0:em.position,...nQ.errToObj(null==em?void 0:em.message)})}startsWith(eb,em){return this._addCheck({kind:"startsWith",value:eb,...nQ.errToObj(em)})}endsWith(eb,em){return this._addCheck({kind:"endsWith",value:eb,...nQ.errToObj(em)})}min(eb,em){return this._addCheck({kind:"min",value:eb,...nQ.errToObj(em)})}max(eb,em){return this._addCheck({kind:"max",value:eb,...nQ.errToObj(em)})}length(eb,em){return this._addCheck({kind:"length",value:eb,...nQ.errToObj(em)})}nonempty(eb){return this.min(1,nQ.errToObj(eb))}trim(){return new e7({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e7({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e7({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(eb=>"datetime"===eb.kind)}get isEmail(){return!!this._def.checks.find(eb=>"email"===eb.kind)}get isURL(){return!!this._def.checks.find(eb=>"url"===eb.kind)}get isEmoji(){return!!this._def.checks.find(eb=>"emoji"===eb.kind)}get isUUID(){return!!this._def.checks.find(eb=>"uuid"===eb.kind)}get isCUID(){return!!this._def.checks.find(eb=>"cuid"===eb.kind)}get isCUID2(){return!!this._def.checks.find(eb=>"cuid2"===eb.kind)}get isULID(){return!!this._def.checks.find(eb=>"ulid"===eb.kind)}get isIP(){return!!this._def.checks.find(eb=>"ip"===eb.kind)}get minLength(){let eb=null;for(let em of this._def.checks)"min"===em.kind&&(null===eb||em.value>eb)&&(eb=em.value);return eb}get maxLength(){let eb=null;for(let em of this._def.checks)"max"===em.kind&&(null===eb||em.valueeV?eH:eV,eM=parseInt(eb.toFixed(ew).replace(".","")),eC=parseInt(em.toFixed(ew).replace(".",""));return eM%eC/Math.pow(10,ew)}e7.create=eb=>{var em;return new e7({checks:[],typeName:n6.ZodString,coerce:null!==(em=null==eb?void 0:eb.coerce)&&void 0!==em&&em,...eK(eb)})};class tV extends eY{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(eb){let em;this._def.coerce&&(eb.data=Number(eb.data));let eH=this._getType(eb);if(eH!==ew.number){let em=this._getOrReturnCtx(eb);return eP(em,{code:eC.invalid_type,expected:ew.number,received:em.parsedType}),eR}let eV=new eO;for(let eH of this._def.checks)if("int"===eH.kind)nX.isInteger(eb.data)||(eP(em=this._getOrReturnCtx(eb,em),{code:eC.invalid_type,expected:"integer",received:"float",message:eH.message}),eV.dirty());else if("min"===eH.kind){let ew=eH.inclusive?eb.dataeH.value:eb.data>=eH.value;ew&&(eP(em=this._getOrReturnCtx(eb,em),{code:eC.too_big,maximum:eH.value,type:"number",inclusive:eH.inclusive,exact:!1,message:eH.message}),eV.dirty())}else"multipleOf"===eH.kind?0!==tH(eb.data,eH.value)&&(eP(em=this._getOrReturnCtx(eb,em),{code:eC.not_multiple_of,multipleOf:eH.value,message:eH.message}),eV.dirty()):"finite"===eH.kind?Number.isFinite(eb.data)||(eP(em=this._getOrReturnCtx(eb,em),{code:eC.not_finite,message:eH.message}),eV.dirty()):nX.assertNever(eH);return{status:eV.value,value:eb.data}}gte(eb,em){return this.setLimit("min",eb,!0,nQ.toString(em))}gt(eb,em){return this.setLimit("min",eb,!1,nQ.toString(em))}lte(eb,em){return this.setLimit("max",eb,!0,nQ.toString(em))}lt(eb,em){return this.setLimit("max",eb,!1,nQ.toString(em))}setLimit(eb,em,eH,eV){return new tV({...this._def,checks:[...this._def.checks,{kind:eb,value:em,inclusive:eH,message:nQ.toString(eV)}]})}_addCheck(eb){return new tV({...this._def,checks:[...this._def.checks,eb]})}int(eb){return this._addCheck({kind:"int",message:nQ.toString(eb)})}positive(eb){return this._addCheck({kind:"min",value:0,inclusive:!1,message:nQ.toString(eb)})}negative(eb){return this._addCheck({kind:"max",value:0,inclusive:!1,message:nQ.toString(eb)})}nonpositive(eb){return this._addCheck({kind:"max",value:0,inclusive:!0,message:nQ.toString(eb)})}nonnegative(eb){return this._addCheck({kind:"min",value:0,inclusive:!0,message:nQ.toString(eb)})}multipleOf(eb,em){return this._addCheck({kind:"multipleOf",value:eb,message:nQ.toString(em)})}finite(eb){return this._addCheck({kind:"finite",message:nQ.toString(eb)})}safe(eb){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:nQ.toString(eb)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:nQ.toString(eb)})}get minValue(){let eb=null;for(let em of this._def.checks)"min"===em.kind&&(null===eb||em.value>eb)&&(eb=em.value);return eb}get maxValue(){let eb=null;for(let em of this._def.checks)"max"===em.kind&&(null===eb||em.value"int"===eb.kind||"multipleOf"===eb.kind&&nX.isInteger(eb.value))}get isFinite(){let eb=null,em=null;for(let eH of this._def.checks){if("finite"===eH.kind||"int"===eH.kind||"multipleOf"===eH.kind)return!0;"min"===eH.kind?(null===em||eH.value>em)&&(em=eH.value):"max"===eH.kind&&(null===eb||eH.valuenew tV({checks:[],typeName:n6.ZodNumber,coerce:(null==eb?void 0:eb.coerce)||!1,...eK(eb)});class tw extends eY{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(eb){let em;this._def.coerce&&(eb.data=BigInt(eb.data));let eH=this._getType(eb);if(eH!==ew.bigint){let em=this._getOrReturnCtx(eb);return eP(em,{code:eC.invalid_type,expected:ew.bigint,received:em.parsedType}),eR}let eV=new eO;for(let eH of this._def.checks)if("min"===eH.kind){let ew=eH.inclusive?eb.dataeH.value:eb.data>=eH.value;ew&&(eP(em=this._getOrReturnCtx(eb,em),{code:eC.too_big,type:"bigint",maximum:eH.value,inclusive:eH.inclusive,message:eH.message}),eV.dirty())}else"multipleOf"===eH.kind?eb.data%eH.value!==BigInt(0)&&(eP(em=this._getOrReturnCtx(eb,em),{code:eC.not_multiple_of,multipleOf:eH.value,message:eH.message}),eV.dirty()):nX.assertNever(eH);return{status:eV.value,value:eb.data}}gte(eb,em){return this.setLimit("min",eb,!0,nQ.toString(em))}gt(eb,em){return this.setLimit("min",eb,!1,nQ.toString(em))}lte(eb,em){return this.setLimit("max",eb,!0,nQ.toString(em))}lt(eb,em){return this.setLimit("max",eb,!1,nQ.toString(em))}setLimit(eb,em,eH,eV){return new tw({...this._def,checks:[...this._def.checks,{kind:eb,value:em,inclusive:eH,message:nQ.toString(eV)}]})}_addCheck(eb){return new tw({...this._def,checks:[...this._def.checks,eb]})}positive(eb){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:nQ.toString(eb)})}negative(eb){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:nQ.toString(eb)})}nonpositive(eb){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:nQ.toString(eb)})}nonnegative(eb){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:nQ.toString(eb)})}multipleOf(eb,em){return this._addCheck({kind:"multipleOf",value:eb,message:nQ.toString(em)})}get minValue(){let eb=null;for(let em of this._def.checks)"min"===em.kind&&(null===eb||em.value>eb)&&(eb=em.value);return eb}get maxValue(){let eb=null;for(let em of this._def.checks)"max"===em.kind&&(null===eb||em.value{var em;return new tw({checks:[],typeName:n6.ZodBigInt,coerce:null!==(em=null==eb?void 0:eb.coerce)&&void 0!==em&&em,...eK(eb)})};class tC extends eY{_parse(eb){this._def.coerce&&(eb.data=!!eb.data);let em=this._getType(eb);if(em!==ew.boolean){let em=this._getOrReturnCtx(eb);return eP(em,{code:eC.invalid_type,expected:ew.boolean,received:em.parsedType}),eR}return eF(eb.data)}}tC.create=eb=>new tC({typeName:n6.ZodBoolean,coerce:(null==eb?void 0:eb.coerce)||!1,...eK(eb)});class tT extends eY{_parse(eb){let em;this._def.coerce&&(eb.data=new Date(eb.data));let eH=this._getType(eb);if(eH!==ew.date){let em=this._getOrReturnCtx(eb);return eP(em,{code:eC.invalid_type,expected:ew.date,received:em.parsedType}),eR}if(isNaN(eb.data.getTime())){let em=this._getOrReturnCtx(eb);return eP(em,{code:eC.invalid_date}),eR}let eV=new eO;for(let eH of this._def.checks)"min"===eH.kind?eb.data.getTime()eH.value&&(eP(em=this._getOrReturnCtx(eb,em),{code:eC.too_big,message:eH.message,inclusive:!0,exact:!1,maximum:eH.value,type:"date"}),eV.dirty()):nX.assertNever(eH);return{status:eV.value,value:new Date(eb.data.getTime())}}_addCheck(eb){return new tT({...this._def,checks:[...this._def.checks,eb]})}min(eb,em){return this._addCheck({kind:"min",value:eb.getTime(),message:nQ.toString(em)})}max(eb,em){return this._addCheck({kind:"max",value:eb.getTime(),message:nQ.toString(em)})}get minDate(){let eb=null;for(let em of this._def.checks)"min"===em.kind&&(null===eb||em.value>eb)&&(eb=em.value);return null!=eb?new Date(eb):null}get maxDate(){let eb=null;for(let em of this._def.checks)"max"===em.kind&&(null===eb||em.valuenew tT({checks:[],coerce:(null==eb?void 0:eb.coerce)||!1,typeName:n6.ZodDate,...eK(eb)});class t_ extends eY{_parse(eb){let em=this._getType(eb);if(em!==ew.symbol){let em=this._getOrReturnCtx(eb);return eP(em,{code:eC.invalid_type,expected:ew.symbol,received:em.parsedType}),eR}return eF(eb.data)}}t_.create=eb=>new t_({typeName:n6.ZodSymbol,...eK(eb)});class tS extends eY{_parse(eb){let em=this._getType(eb);if(em!==ew.undefined){let em=this._getOrReturnCtx(eb);return eP(em,{code:eC.invalid_type,expected:ew.undefined,received:em.parsedType}),eR}return eF(eb.data)}}tS.create=eb=>new tS({typeName:n6.ZodUndefined,...eK(eb)});class tE extends eY{_parse(eb){let em=this._getType(eb);if(em!==ew.null){let em=this._getOrReturnCtx(eb);return eP(em,{code:eC.invalid_type,expected:ew.null,received:em.parsedType}),eR}return eF(eb.data)}}tE.create=eb=>new tE({typeName:n6.ZodNull,...eK(eb)});class tA extends eY{constructor(){super(...arguments),this._any=!0}_parse(eb){return eF(eb.data)}}tA.create=eb=>new tA({typeName:n6.ZodAny,...eK(eb)});class tN extends eY{constructor(){super(...arguments),this._unknown=!0}_parse(eb){return eF(eb.data)}}tN.create=eb=>new tN({typeName:n6.ZodUnknown,...eK(eb)});class tI extends eY{_parse(eb){let em=this._getOrReturnCtx(eb);return eP(em,{code:eC.invalid_type,expected:ew.never,received:em.parsedType}),eR}}tI.create=eb=>new tI({typeName:n6.ZodNever,...eK(eb)});class tD extends eY{_parse(eb){let em=this._getType(eb);if(em!==ew.undefined){let em=this._getOrReturnCtx(eb);return eP(em,{code:eC.invalid_type,expected:ew.void,received:em.parsedType}),eR}return eF(eb.data)}}tD.create=eb=>new tD({typeName:n6.ZodVoid,...eK(eb)});class tP extends eY{_parse(eb){let{ctx:em,status:eH}=this._processInputParams(eb),eV=this._def;if(em.parsedType!==ew.array)return eP(em,{code:eC.invalid_type,expected:ew.array,received:em.parsedType}),eR;if(null!==eV.exactLength){let eb=em.data.length>eV.exactLength.value,ew=em.data.lengtheV.maxLength.value&&(eP(em,{code:eC.too_big,maximum:eV.maxLength.value,type:"array",inclusive:!0,exact:!1,message:eV.maxLength.message}),eH.dirty()),em.common.async)return Promise.all([...em.data].map((eb,eH)=>eV.type._parseAsync(new eZ(em,eb,em.path,eH)))).then(eb=>eO.mergeArray(eH,eb));let eM=[...em.data].map((eb,eH)=>eV.type._parseSync(new eZ(em,eb,em.path,eH)));return eO.mergeArray(eH,eM)}get element(){return this._def.type}min(eb,em){return new tP({...this._def,minLength:{value:eb,message:nQ.toString(em)}})}max(eb,em){return new tP({...this._def,maxLength:{value:eb,message:nQ.toString(em)}})}length(eb,em){return new tP({...this._def,exactLength:{value:eb,message:nQ.toString(em)}})}nonempty(eb){return this.min(1,eb)}}function tO(eb){if(eb instanceof tR){let em={};for(let eH in eb.shape){let eV=eb.shape[eH];em[eH]=aC.create(tO(eV))}return new tR({...eb._def,shape:()=>em})}return eb instanceof tP?new tP({...eb._def,type:tO(eb.element)}):eb instanceof aC?aC.create(tO(eb.unwrap())):eb instanceof ak?ak.create(tO(eb.unwrap())):eb instanceof t$?t$.create(eb.items.map(eb=>tO(eb))):eb}tP.create=(eb,em)=>new tP({type:eb,minLength:null,maxLength:null,exactLength:null,typeName:n6.ZodArray,...eK(em)});class tR extends eY{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;let eb=this._def.shape(),em=nX.objectKeys(eb);return this._cached={shape:eb,keys:em}}_parse(eb){let em=this._getType(eb);if(em!==ew.object){let em=this._getOrReturnCtx(eb);return eP(em,{code:eC.invalid_type,expected:ew.object,received:em.parsedType}),eR}let{status:eH,ctx:eV}=this._processInputParams(eb),{shape:eM,keys:eT}=this._getCached(),e_=[];if(!(this._def.catchall instanceof tI&&"strip"===this._def.unknownKeys))for(let eb in eV.data)eT.includes(eb)||e_.push(eb);let eS=[];for(let eb of eT){let em=eM[eb],eH=eV.data[eb];eS.push({key:{status:"valid",value:eb},value:em._parse(new eZ(eV,eH,eV.path,eb)),alwaysSet:eb in eV.data})}if(this._def.catchall instanceof tI){let eb=this._def.unknownKeys;if("passthrough"===eb)for(let eb of e_)eS.push({key:{status:"valid",value:eb},value:{status:"valid",value:eV.data[eb]}});else if("strict"===eb)e_.length>0&&(eP(eV,{code:eC.unrecognized_keys,keys:e_}),eH.dirty());else if("strip"===eb);else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let eb=this._def.catchall;for(let em of e_){let eH=eV.data[em];eS.push({key:{status:"valid",value:em},value:eb._parse(new eZ(eV,eH,eV.path,em)),alwaysSet:em in eV.data})}}return eV.common.async?Promise.resolve().then(async()=>{let eb=[];for(let em of eS){let eH=await em.key;eb.push({key:eH,value:await em.value,alwaysSet:em.alwaysSet})}return eb}).then(eb=>eO.mergeObjectSync(eH,eb)):eO.mergeObjectSync(eH,eS)}get shape(){return this._def.shape()}strict(eb){return nQ.errToObj,new tR({...this._def,unknownKeys:"strict",...void 0!==eb?{errorMap:(em,eH)=>{var eV,ew,eM,eC;let eT=null!==(eM=null===(ew=(eV=this._def).errorMap)||void 0===ew?void 0:ew.call(eV,em,eH).message)&&void 0!==eM?eM:eH.defaultError;return"unrecognized_keys"===em.code?{message:null!==(eC=nQ.errToObj(eb).message)&&void 0!==eC?eC:eT}:{message:eT}}}:{}})}strip(){return new tR({...this._def,unknownKeys:"strip"})}passthrough(){return new tR({...this._def,unknownKeys:"passthrough"})}extend(eb){return new tR({...this._def,shape:()=>({...this._def.shape(),...eb})})}merge(eb){let em=new tR({unknownKeys:eb._def.unknownKeys,catchall:eb._def.catchall,shape:()=>({...this._def.shape(),...eb._def.shape()}),typeName:n6.ZodObject});return em}setKey(eb,em){return this.augment({[eb]:em})}catchall(eb){return new tR({...this._def,catchall:eb})}pick(eb){let em={};return nX.objectKeys(eb).forEach(eH=>{eb[eH]&&this.shape[eH]&&(em[eH]=this.shape[eH])}),new tR({...this._def,shape:()=>em})}omit(eb){let em={};return nX.objectKeys(this.shape).forEach(eH=>{eb[eH]||(em[eH]=this.shape[eH])}),new tR({...this._def,shape:()=>em})}deepPartial(){return tO(this)}partial(eb){let em={};return nX.objectKeys(this.shape).forEach(eH=>{let eV=this.shape[eH];eb&&!eb[eH]?em[eH]=eV:em[eH]=eV.optional()}),new tR({...this._def,shape:()=>em})}required(eb){let em={};return nX.objectKeys(this.shape).forEach(eH=>{if(eb&&!eb[eH])em[eH]=this.shape[eH];else{let eb=this.shape[eH],eV=eb;for(;eV instanceof aC;)eV=eV._def.innerType;em[eH]=eV}}),new tR({...this._def,shape:()=>em})}keyof(){return tJ(nX.objectKeys(this.shape))}}tR.create=(eb,em)=>new tR({shape:()=>eb,unknownKeys:"strip",catchall:tI.create(),typeName:n6.ZodObject,...eK(em)}),tR.strictCreate=(eb,em)=>new tR({shape:()=>eb,unknownKeys:"strict",catchall:tI.create(),typeName:n6.ZodObject,...eK(em)}),tR.lazycreate=(eb,em)=>new tR({shape:eb,unknownKeys:"strip",catchall:tI.create(),typeName:n6.ZodObject,...eK(em)});class tB extends eY{_parse(eb){let{ctx:em}=this._processInputParams(eb),eH=this._def.options;function eV(eb){for(let em of eb)if("valid"===em.result.status)return em.result;for(let eH of eb)if("dirty"===eH.result.status)return em.common.issues.push(...eH.ctx.common.issues),eH.result;let eH=eb.map(eb=>new e_(eb.ctx.common.issues));return eP(em,{code:eC.invalid_union,unionErrors:eH}),eR}if(em.common.async)return Promise.all(eH.map(async eb=>{let eH={...em,common:{...em.common,issues:[]},parent:null};return{result:await eb._parseAsync({data:em.data,path:em.path,parent:eH}),ctx:eH}})).then(eV);{let eb;let eV=[];for(let ew of eH){let eH={...em,common:{...em.common,issues:[]},parent:null},eM=ew._parseSync({data:em.data,path:em.path,parent:eH});if("valid"===eM.status)return eM;"dirty"!==eM.status||eb||(eb={result:eM,ctx:eH}),eH.common.issues.length&&eV.push(eH.common.issues)}if(eb)return em.common.issues.push(...eb.ctx.common.issues),eb.result;let ew=eV.map(eb=>new e_(eb));return eP(em,{code:eC.invalid_union,unionErrors:ew}),eR}}get options(){return this._def.options}}tB.create=(eb,em)=>new tB({options:eb,typeName:n6.ZodUnion,...eK(em)});let tF=eb=>{if(eb instanceof tY)return tF(eb.schema);if(eb instanceof aM)return tF(eb.innerType());if(eb instanceof tX)return[eb.value];if(eb instanceof tQ)return eb.options;if(eb instanceof aH)return Object.keys(eb.enum);if(eb instanceof a_)return tF(eb._def.innerType);if(eb instanceof tS)return[void 0];else if(eb instanceof tE)return[null];else return null};class tj extends eY{_parse(eb){let{ctx:em}=this._processInputParams(eb);if(em.parsedType!==ew.object)return eP(em,{code:eC.invalid_type,expected:ew.object,received:em.parsedType}),eR;let eH=this.discriminator,eV=em.data[eH],eM=this.optionsMap.get(eV);return eM?em.common.async?eM._parseAsync({data:em.data,path:em.path,parent:em}):eM._parseSync({data:em.data,path:em.path,parent:em}):(eP(em,{code:eC.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[eH]}),eR)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(eb,em,eH){let eV=new Map;for(let eH of em){let em=tF(eH.shape[eb]);if(!em)throw Error(`A discriminator value for key \`${eb}\` could not be extracted from all schema options`);for(let ew of em){if(eV.has(ew))throw Error(`Discriminator property ${String(eb)} has duplicate value ${String(ew)}`);eV.set(ew,eH)}}return new tj({typeName:n6.ZodDiscriminatedUnion,discriminator:eb,options:em,optionsMap:eV,...eK(eH)})}}function tU(eb,em){let eH=eM(eb),eV=eM(em);if(eb===em)return{valid:!0,data:eb};if(eH===ew.object&&eV===ew.object){let eH=nX.objectKeys(em),eV=nX.objectKeys(eb).filter(eb=>-1!==eH.indexOf(eb)),ew={...eb,...em};for(let eH of eV){let eV=tU(eb[eH],em[eH]);if(!eV.valid)return{valid:!1};ew[eH]=eV.data}return{valid:!0,data:ew}}if(eH===ew.array&&eV===ew.array){if(eb.length!==em.length)return{valid:!1};let eH=[];for(let eV=0;eV{if(ej(eb)||ej(eV))return eR;let ew=tU(eb.value,eV.value);return ew.valid?((eU(eb)||eU(eV))&&em.dirty(),{status:em.value,value:ew.data}):(eP(eH,{code:eC.invalid_intersection_types}),eR)};return eH.common.async?Promise.all([this._def.left._parseAsync({data:eH.data,path:eH.path,parent:eH}),this._def.right._parseAsync({data:eH.data,path:eH.path,parent:eH})]).then(([eb,em])=>eV(eb,em)):eV(this._def.left._parseSync({data:eH.data,path:eH.path,parent:eH}),this._def.right._parseSync({data:eH.data,path:eH.path,parent:eH}))}}tq.create=(eb,em,eH)=>new tq({left:eb,right:em,typeName:n6.ZodIntersection,...eK(eH)});class t$ extends eY{_parse(eb){let{status:em,ctx:eH}=this._processInputParams(eb);if(eH.parsedType!==ew.array)return eP(eH,{code:eC.invalid_type,expected:ew.array,received:eH.parsedType}),eR;if(eH.data.lengththis._def.items.length&&(eP(eH,{code:eC.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),em.dirty());let eM=[...eH.data].map((eb,em)=>{let eV=this._def.items[em]||this._def.rest;return eV?eV._parse(new eZ(eH,eb,eH.path,em)):null}).filter(eb=>!!eb);return eH.common.async?Promise.all(eM).then(eb=>eO.mergeArray(em,eb)):eO.mergeArray(em,eM)}get items(){return this._def.items}rest(eb){return new t$({...this._def,rest:eb})}}t$.create=(eb,em)=>{if(!Array.isArray(eb))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new t$({items:eb,typeName:n6.ZodTuple,rest:null,...eK(em)})};class tW extends eY{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(eb){let{status:em,ctx:eH}=this._processInputParams(eb);if(eH.parsedType!==ew.object)return eP(eH,{code:eC.invalid_type,expected:ew.object,received:eH.parsedType}),eR;let eV=[],eM=this._def.keyType,eT=this._def.valueType;for(let eb in eH.data)eV.push({key:eM._parse(new eZ(eH,eb,eH.path,eb)),value:eT._parse(new eZ(eH,eH.data[eb],eH.path,eb))});return eH.common.async?eO.mergeObjectAsync(em,eV):eO.mergeObjectSync(em,eV)}get element(){return this._def.valueType}static create(eb,em,eH){return new tW(em instanceof eY?{keyType:eb,valueType:em,typeName:n6.ZodRecord,...eK(eH)}:{keyType:e7.create(),valueType:eb,typeName:n6.ZodRecord,...eK(em)})}}class tZ extends eY{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(eb){let{status:em,ctx:eH}=this._processInputParams(eb);if(eH.parsedType!==ew.map)return eP(eH,{code:eC.invalid_type,expected:ew.map,received:eH.parsedType}),eR;let eV=this._def.keyType,eM=this._def.valueType,eT=[...eH.data.entries()].map(([eb,em],ew)=>({key:eV._parse(new eZ(eH,eb,eH.path,[ew,"key"])),value:eM._parse(new eZ(eH,em,eH.path,[ew,"value"]))}));if(eH.common.async){let eb=new Map;return Promise.resolve().then(async()=>{for(let eH of eT){let eV=await eH.key,ew=await eH.value;if("aborted"===eV.status||"aborted"===ew.status)return eR;("dirty"===eV.status||"dirty"===ew.status)&&em.dirty(),eb.set(eV.value,ew.value)}return{status:em.value,value:eb}})}{let eb=new Map;for(let eH of eT){let eV=eH.key,ew=eH.value;if("aborted"===eV.status||"aborted"===ew.status)return eR;("dirty"===eV.status||"dirty"===ew.status)&&em.dirty(),eb.set(eV.value,ew.value)}return{status:em.value,value:eb}}}}tZ.create=(eb,em,eH)=>new tZ({valueType:em,keyType:eb,typeName:n6.ZodMap,...eK(eH)});class tG extends eY{_parse(eb){let{status:em,ctx:eH}=this._processInputParams(eb);if(eH.parsedType!==ew.set)return eP(eH,{code:eC.invalid_type,expected:ew.set,received:eH.parsedType}),eR;let eV=this._def;null!==eV.minSize&&eH.data.sizeeV.maxSize.value&&(eP(eH,{code:eC.too_big,maximum:eV.maxSize.value,type:"set",inclusive:!0,exact:!1,message:eV.maxSize.message}),em.dirty());let eM=this._def.valueType;function eT(eb){let eH=new Set;for(let eV of eb){if("aborted"===eV.status)return eR;"dirty"===eV.status&&em.dirty(),eH.add(eV.value)}return{status:em.value,value:eH}}let e_=[...eH.data.values()].map((eb,em)=>eM._parse(new eZ(eH,eb,eH.path,em)));return eH.common.async?Promise.all(e_).then(eb=>eT(eb)):eT(e_)}min(eb,em){return new tG({...this._def,minSize:{value:eb,message:nQ.toString(em)}})}max(eb,em){return new tG({...this._def,maxSize:{value:eb,message:nQ.toString(em)}})}size(eb,em){return this.min(eb,em).max(eb,em)}nonempty(eb){return this.min(1,eb)}}tG.create=(eb,em)=>new tG({valueType:eb,minSize:null,maxSize:null,typeName:n6.ZodSet,...eK(em)});class tK extends eY{constructor(){super(...arguments),this.validate=this.implement}_parse(eb){let{ctx:em}=this._processInputParams(eb);if(em.parsedType!==ew.function)return eP(em,{code:eC.invalid_type,expected:ew.function,received:em.parsedType}),eR;function eH(eb,eH){return eI({data:eb,path:em.path,errorMaps:[em.common.contextualErrorMap,em.schemaErrorMap,eN(),eS].filter(eb=>!!eb),issueData:{code:eC.invalid_arguments,argumentsError:eH}})}function eV(eb,eH){return eI({data:eb,path:em.path,errorMaps:[em.common.contextualErrorMap,em.schemaErrorMap,eN(),eS].filter(eb=>!!eb),issueData:{code:eC.invalid_return_type,returnTypeError:eH}})}let eM={errorMap:em.common.contextualErrorMap},eT=em.data;if(this._def.returns instanceof aV){let eb=this;return eF(async function(...em){let ew=new e_([]),eC=await eb._def.args.parseAsync(em,eM).catch(eb=>{throw ew.addIssue(eH(em,eb)),ew}),eS=await Reflect.apply(eT,this,eC),eE=await eb._def.returns._def.type.parseAsync(eS,eM).catch(eb=>{throw ew.addIssue(eV(eS,eb)),ew});return eE})}{let eb=this;return eF(function(...em){let ew=eb._def.args.safeParse(em,eM);if(!ew.success)throw new e_([eH(em,ew.error)]);let eC=Reflect.apply(eT,this,ew.data),eS=eb._def.returns.safeParse(eC,eM);if(!eS.success)throw new e_([eV(eC,eS.error)]);return eS.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...eb){return new tK({...this._def,args:t$.create(eb).rest(tN.create())})}returns(eb){return new tK({...this._def,returns:eb})}implement(eb){let em=this.parse(eb);return em}strictImplement(eb){let em=this.parse(eb);return em}static create(eb,em,eH){return new tK({args:eb||t$.create([]).rest(tN.create()),returns:em||tN.create(),typeName:n6.ZodFunction,...eK(eH)})}}class tY extends eY{get schema(){return this._def.getter()}_parse(eb){let{ctx:em}=this._processInputParams(eb),eH=this._def.getter();return eH._parse({data:em.data,path:em.path,parent:em})}}tY.create=(eb,em)=>new tY({getter:eb,typeName:n6.ZodLazy,...eK(em)});class tX extends eY{_parse(eb){if(eb.data!==this._def.value){let em=this._getOrReturnCtx(eb);return eP(em,{received:em.data,code:eC.invalid_literal,expected:this._def.value}),eR}return{status:"valid",value:eb.data}}get value(){return this._def.value}}function tJ(eb,em){return new tQ({values:eb,typeName:n6.ZodEnum,...eK(em)})}tX.create=(eb,em)=>new tX({value:eb,typeName:n6.ZodLiteral,...eK(em)});class tQ extends eY{_parse(eb){if("string"!=typeof eb.data){let em=this._getOrReturnCtx(eb),eH=this._def.values;return eP(em,{expected:nX.joinValues(eH),received:em.parsedType,code:eC.invalid_type}),eR}if(-1===this._def.values.indexOf(eb.data)){let em=this._getOrReturnCtx(eb),eH=this._def.values;return eP(em,{received:em.data,code:eC.invalid_enum_value,options:eH}),eR}return eF(eb.data)}get options(){return this._def.values}get enum(){let eb={};for(let em of this._def.values)eb[em]=em;return eb}get Values(){let eb={};for(let em of this._def.values)eb[em]=em;return eb}get Enum(){let eb={};for(let em of this._def.values)eb[em]=em;return eb}extract(eb){return tQ.create(eb)}exclude(eb){return tQ.create(this.options.filter(em=>!eb.includes(em)))}}tQ.create=tJ;class aH extends eY{_parse(eb){let em=nX.getValidEnumValues(this._def.values),eH=this._getOrReturnCtx(eb);if(eH.parsedType!==ew.string&&eH.parsedType!==ew.number){let eb=nX.objectValues(em);return eP(eH,{expected:nX.joinValues(eb),received:eH.parsedType,code:eC.invalid_type}),eR}if(-1===em.indexOf(eb.data)){let eb=nX.objectValues(em);return eP(eH,{received:eH.data,code:eC.invalid_enum_value,options:eb}),eR}return eF(eb.data)}get enum(){return this._def.values}}aH.create=(eb,em)=>new aH({values:eb,typeName:n6.ZodNativeEnum,...eK(em)});class aV extends eY{unwrap(){return this._def.type}_parse(eb){let{ctx:em}=this._processInputParams(eb);if(em.parsedType!==ew.promise&&!1===em.common.async)return eP(em,{code:eC.invalid_type,expected:ew.promise,received:em.parsedType}),eR;let eH=em.parsedType===ew.promise?em.data:Promise.resolve(em.data);return eF(eH.then(eb=>this._def.type.parseAsync(eb,{path:em.path,errorMap:em.common.contextualErrorMap})))}}aV.create=(eb,em)=>new aV({type:eb,typeName:n6.ZodPromise,...eK(em)});class aM extends eY{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===n6.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(eb){let{status:em,ctx:eH}=this._processInputParams(eb),eV=this._def.effect||null,ew={addIssue:eb=>{eP(eH,eb),eb.fatal?em.abort():em.dirty()},get path(){return eH.path}};if(ew.addIssue=ew.addIssue.bind(ew),"preprocess"===eV.type){let eb=eV.transform(eH.data,ew);return eH.common.issues.length?{status:"dirty",value:eH.data}:eH.common.async?Promise.resolve(eb).then(eb=>this._def.schema._parseAsync({data:eb,path:eH.path,parent:eH})):this._def.schema._parseSync({data:eb,path:eH.path,parent:eH})}if("refinement"===eV.type){let eb=eb=>{let em=eV.refinement(eb,ew);if(eH.common.async)return Promise.resolve(em);if(em instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return eb};if(!1!==eH.common.async)return this._def.schema._parseAsync({data:eH.data,path:eH.path,parent:eH}).then(eH=>"aborted"===eH.status?eR:("dirty"===eH.status&&em.dirty(),eb(eH.value).then(()=>({status:em.value,value:eH.value}))));{let eV=this._def.schema._parseSync({data:eH.data,path:eH.path,parent:eH});return"aborted"===eV.status?eR:("dirty"===eV.status&&em.dirty(),eb(eV.value),{status:em.value,value:eV.value})}}if("transform"===eV.type){if(!1!==eH.common.async)return this._def.schema._parseAsync({data:eH.data,path:eH.path,parent:eH}).then(eb=>e$(eb)?Promise.resolve(eV.transform(eb.value,ew)).then(eb=>({status:em.value,value:eb})):eb);{let eb=this._def.schema._parseSync({data:eH.data,path:eH.path,parent:eH});if(!e$(eb))return eb;let eM=eV.transform(eb.value,ew);if(eM instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:em.value,value:eM}}}nX.assertNever(eV)}}aM.create=(eb,em,eH)=>new aM({schema:eb,typeName:n6.ZodEffects,effect:em,...eK(eH)}),aM.createWithPreprocess=(eb,em,eH)=>new aM({schema:em,effect:{type:"preprocess",transform:eb},typeName:n6.ZodEffects,...eK(eH)});class aC extends eY{_parse(eb){let em=this._getType(eb);return em===ew.undefined?eF(void 0):this._def.innerType._parse(eb)}unwrap(){return this._def.innerType}}aC.create=(eb,em)=>new aC({innerType:eb,typeName:n6.ZodOptional,...eK(em)});class ak extends eY{_parse(eb){let em=this._getType(eb);return em===ew.null?eF(null):this._def.innerType._parse(eb)}unwrap(){return this._def.innerType}}ak.create=(eb,em)=>new ak({innerType:eb,typeName:n6.ZodNullable,...eK(em)});class a_ extends eY{_parse(eb){let{ctx:em}=this._processInputParams(eb),eH=em.data;return em.parsedType===ew.undefined&&(eH=this._def.defaultValue()),this._def.innerType._parse({data:eH,path:em.path,parent:em})}removeDefault(){return this._def.innerType}}a_.create=(eb,em)=>new a_({innerType:eb,typeName:n6.ZodDefault,defaultValue:"function"==typeof em.default?em.default:()=>em.default,...eK(em)});class aS extends eY{_parse(eb){let{ctx:em}=this._processInputParams(eb),eH={...em,common:{...em.common,issues:[]}},eV=this._def.innerType._parse({data:eH.data,path:eH.path,parent:{...eH}});return eW(eV)?eV.then(eb=>({status:"valid",value:"valid"===eb.status?eb.value:this._def.catchValue({get error(){return new e_(eH.common.issues)},input:eH.data})})):{status:"valid",value:"valid"===eV.status?eV.value:this._def.catchValue({get error(){return new e_(eH.common.issues)},input:eH.data})}}removeCatch(){return this._def.innerType}}aS.create=(eb,em)=>new aS({innerType:eb,typeName:n6.ZodCatch,catchValue:"function"==typeof em.catch?em.catch:()=>em.catch,...eK(em)});class aE extends eY{_parse(eb){let em=this._getType(eb);if(em!==ew.nan){let em=this._getOrReturnCtx(eb);return eP(em,{code:eC.invalid_type,expected:ew.nan,received:em.parsedType}),eR}return{status:"valid",value:eb.data}}}aE.create=eb=>new aE({typeName:n6.ZodNaN,...eK(eb)});let aN=Symbol("zod_brand");class aI extends eY{_parse(eb){let{ctx:em}=this._processInputParams(eb),eH=em.data;return this._def.type._parse({data:eH,path:em.path,parent:em})}unwrap(){return this._def.type}}class aD extends eY{_parse(eb){let{status:em,ctx:eH}=this._processInputParams(eb);if(eH.common.async){let eb=async()=>{let eb=await this._def.in._parseAsync({data:eH.data,path:eH.path,parent:eH});return"aborted"===eb.status?eR:"dirty"===eb.status?(em.dirty(),eB(eb.value)):this._def.out._parseAsync({data:eb.value,path:eH.path,parent:eH})};return eb()}{let eb=this._def.in._parseSync({data:eH.data,path:eH.path,parent:eH});return"aborted"===eb.status?eR:"dirty"===eb.status?(em.dirty(),{status:"dirty",value:eb.value}):this._def.out._parseSync({data:eb.value,path:eH.path,parent:eH})}}static create(eb,em){return new aD({in:eb,out:em,typeName:n6.ZodPipeline})}}class aP extends eY{_parse(eb){let em=this._def.innerType._parse(eb);return e$(em)&&(em.value=Object.freeze(em.value)),em}}aP.create=(eb,em)=>new aP({innerType:eb,typeName:n6.ZodReadonly,...eK(em)});let aO=(eb,em={},eH)=>eb?tA.create().superRefine((eV,ew)=>{var eM,eC;if(!eb(eV)){let eb="function"==typeof em?em(eV):"string"==typeof em?{message:em}:em,eT=null===(eC=null!==(eM=eb.fatal)&&void 0!==eM?eM:eH)||void 0===eC||eC,e_="string"==typeof eb?{message:eb}:eb;ew.addIssue({code:"custom",...e_,fatal:eT})}}):tA.create(),aR={object:tR.lazycreate};!function(eb){eb.ZodString="ZodString",eb.ZodNumber="ZodNumber",eb.ZodNaN="ZodNaN",eb.ZodBigInt="ZodBigInt",eb.ZodBoolean="ZodBoolean",eb.ZodDate="ZodDate",eb.ZodSymbol="ZodSymbol",eb.ZodUndefined="ZodUndefined",eb.ZodNull="ZodNull",eb.ZodAny="ZodAny",eb.ZodUnknown="ZodUnknown",eb.ZodNever="ZodNever",eb.ZodVoid="ZodVoid",eb.ZodArray="ZodArray",eb.ZodObject="ZodObject",eb.ZodUnion="ZodUnion",eb.ZodDiscriminatedUnion="ZodDiscriminatedUnion",eb.ZodIntersection="ZodIntersection",eb.ZodTuple="ZodTuple",eb.ZodRecord="ZodRecord",eb.ZodMap="ZodMap",eb.ZodSet="ZodSet",eb.ZodFunction="ZodFunction",eb.ZodLazy="ZodLazy",eb.ZodLiteral="ZodLiteral",eb.ZodEnum="ZodEnum",eb.ZodEffects="ZodEffects",eb.ZodNativeEnum="ZodNativeEnum",eb.ZodOptional="ZodOptional",eb.ZodNullable="ZodNullable",eb.ZodDefault="ZodDefault",eb.ZodCatch="ZodCatch",eb.ZodPromise="ZodPromise",eb.ZodBranded="ZodBranded",eb.ZodPipeline="ZodPipeline",eb.ZodReadonly="ZodReadonly"}(n6||(n6={}));let aF=(eb,em={message:`Input not instance of ${eb.name}`})=>aO(em=>em instanceof eb,em),aj=e7.create,aU=tV.create,aq=aE.create,a$=tw.create,aW=tC.create,aZ=tT.create,aG=t_.create,aK=tS.create,aY=tE.create,aJ=tA.create,aQ=tN.create,nH=tI.create,nV=tD.create,nw=tP.create,nM=tR.create,nC=tR.strictCreate,nk=tB.create,nT=tj.create,n_=tq.create,nS=t$.create,nE=tW.create,nA=tZ.create,nN=tG.create,nI=tK.create,nD=tY.create,nP=tX.create,nO=tQ.create,nR=aH.create,nB=aV.create,nF=aM.create,nj=aC.create,nU=ak.create,nq=aM.createWithPreprocess,n$=aD.create,nW=()=>aj().optional(),nZ=()=>aU().optional(),nG=()=>aW().optional(),nK={string:eb=>e7.create({...eb,coerce:!0}),number:eb=>tV.create({...eb,coerce:!0}),boolean:eb=>tC.create({...eb,coerce:!0}),bigint:eb=>tw.create({...eb,coerce:!0}),date:eb=>tT.create({...eb,coerce:!0})},nY=eR;var nX,nJ,nQ,n6,n4=Object.freeze({__proto__:null,defaultErrorMap:eS,setErrorMap:eA,getErrorMap:eN,makeIssue:eI,EMPTY_PATH:eD,addIssueToContext:eP,ParseStatus:eO,INVALID:eR,DIRTY:eB,OK:eF,isAborted:ej,isDirty:eU,isValid:e$,isAsync:eW,get util(){return nX},get objectUtil(){return nJ},ZodParsedType:ew,getParsedType:eM,ZodType:eY,ZodString:e7,ZodNumber:tV,ZodBigInt:tw,ZodBoolean:tC,ZodDate:tT,ZodSymbol:t_,ZodUndefined:tS,ZodNull:tE,ZodAny:tA,ZodUnknown:tN,ZodNever:tI,ZodVoid:tD,ZodArray:tP,ZodObject:tR,ZodUnion:tB,ZodDiscriminatedUnion:tj,ZodIntersection:tq,ZodTuple:t$,ZodRecord:tW,ZodMap:tZ,ZodSet:tG,ZodFunction:tK,ZodLazy:tY,ZodLiteral:tX,ZodEnum:tQ,ZodNativeEnum:aH,ZodPromise:aV,ZodEffects:aM,ZodTransformer:aM,ZodOptional:aC,ZodNullable:ak,ZodDefault:a_,ZodCatch:aS,ZodNaN:aE,BRAND:aN,ZodBranded:aI,ZodPipeline:aD,ZodReadonly:aP,custom:aO,Schema:eY,ZodSchema:eY,late:aR,get ZodFirstPartyTypeKind(){return n6},coerce:nK,any:aJ,array:nw,bigint:a$,boolean:aW,date:aZ,discriminatedUnion:nT,effect:nF,enum:nO,function:nI,instanceof:aF,intersection:n_,lazy:nD,literal:nP,map:nA,nan:aq,nativeEnum:nR,never:nH,null:aY,nullable:nU,number:aU,object:nM,oboolean:nG,onumber:nZ,optional:nj,ostring:nW,pipeline:n$,preprocess:nq,promise:nB,record:nE,set:nN,strictObject:nC,string:aj,symbol:aG,transformer:nF,tuple:nS,undefined:aK,union:nk,unknown:aQ,void:nV,NEVER:nY,ZodIssueCode:eC,quotelessJson:eT,ZodError:e_})},36099:function(eb){"use strict";eb.exports=JSON.parse('["的","一","是","在","不","了","有","和","人","这","中","大","为","上","个","国","我","以","要","他","时","来","用","们","生","到","作","地","于","出","就","分","对","成","会","可","主","发","年","动","同","工","也","能","下","过","子","说","产","种","面","而","方","后","多","定","行","学","法","所","民","得","经","十","三","之","进","着","等","部","度","家","电","力","里","如","水","化","高","自","二","理","起","小","物","现","实","加","量","都","两","体","制","机","当","使","点","从","业","本","去","把","性","好","应","开","它","合","还","因","由","其","些","然","前","外","天","政","四","日","那","社","义","事","平","形","相","全","表","间","样","与","关","各","重","新","线","内","数","正","心","反","你","明","看","原","又","么","利","比","或","但","质","气","第","向","道","命","此","变","条","只","没","结","解","问","意","建","月","公","无","系","军","很","情","者","最","立","代","想","已","通","并","提","直","题","党","程","展","五","果","料","象","员","革","位","入","常","文","总","次","品","式","活","设","及","管","特","件","长","求","老","头","基","资","边","流","路","级","少","图","山","统","接","知","较","将","组","见","计","别","她","手","角","期","根","论","运","农","指","几","九","区","强","放","决","西","被","干","做","必","战","先","回","则","任","取","据","处","队","南","给","色","光","门","即","保","治","北","造","百","规","热","领","七","海","口","东","导","器","压","志","世","金","增","争","济","阶","油","思","术","极","交","受","联","什","认","六","共","权","收","证","改","清","美","再","采","转","更","单","风","切","打","白","教","速","花","带","安","场","身","车","例","真","务","具","万","每","目","至","达","走","积","示","议","声","报","斗","完","类","八","离","华","名","确","才","科","张","信","马","节","话","米","整","空","元","况","今","集","温","传","土","许","步","群","广","石","记","需","段","研","界","拉","林","律","叫","且","究","观","越","织","装","影","算","低","持","音","众","书","布","复","容","儿","须","际","商","非","验","连","断","深","难","近","矿","千","周","委","素","技","备","半","办","青","省","列","习","响","约","支","般","史","感","劳","便","团","往","酸","历","市","克","何","除","消","构","府","称","太","准","精","值","号","率","族","维","划","选","标","写","存","候","毛","亲","快","效","斯","院","查","江","型","眼","王","按","格","养","易","置","派","层","片","始","却","专","状","育","厂","京","识","适","属","圆","包","火","住","调","满","县","局","照","参","红","细","引","听","该","铁","价","严","首","底","液","官","德","随","病","苏","失","尔","死","讲","配","女","黄","推","显","谈","罪","神","艺","呢","席","含","企","望","密","批","营","项","防","举","球","英","氧","势","告","李","台","落","木","帮","轮","破","亚","师","围","注","远","字","材","排","供","河","态","封","另","施","减","树","溶","怎","止","案","言","士","均","武","固","叶","鱼","波","视","仅","费","紧","爱","左","章","早","朝","害","续","轻","服","试","食","充","兵","源","判","护","司","足","某","练","差","致","板","田","降","黑","犯","负","击","范","继","兴","似","余","坚","曲","输","修","故","城","夫","够","送","笔","船","占","右","财","吃","富","春","职","觉","汉","画","功","巴","跟","虽","杂","飞","检","吸","助","升","阳","互","初","创","抗","考","投","坏","策","古","径","换","未","跑","留","钢","曾","端","责","站","简","述","钱","副","尽","帝","射","草","冲","承","独","令","限","阿","宣","环","双","请","超","微","让","控","州","良","轴","找","否","纪","益","依","优","顶","础","载","倒","房","突","坐","粉","敌","略","客","袁","冷","胜","绝","析","块","剂","测","丝","协","诉","念","陈","仍","罗","盐","友","洋","错","苦","夜","刑","移","频","逐","靠","混","母","短","皮","终","聚","汽","村","云","哪","既","距","卫","停","烈","央","察","烧","迅","境","若","印","洲","刻","括","激","孔","搞","甚","室","待","核","校","散","侵","吧","甲","游","久","菜","味","旧","模","湖","货","损","预","阻","毫","普","稳","乙","妈","植","息","扩","银","语","挥","酒","守","拿","序","纸","医","缺","雨","吗","针","刘","啊","急","唱","误","训","愿","审","附","获","茶","鲜","粮","斤","孩","脱","硫","肥","善","龙","演","父","渐","血","欢","械","掌","歌","沙","刚","攻","谓","盾","讨","晚","粒","乱","燃","矛","乎","杀","药","宁","鲁","贵","钟","煤","读","班","伯","香","介","迫","句","丰","培","握","兰","担","弦","蛋","沉","假","穿","执","答","乐","谁","顺","烟","缩","征","脸","喜","松","脚","困","异","免","背","星","福","买","染","井","概","慢","怕","磁","倍","祖","皇","促","静","补","评","翻","肉","践","尼","衣","宽","扬","棉","希","伤","操","垂","秋","宜","氢","套","督","振","架","亮","末","宪","庆","编","牛","触","映","雷","销","诗","座","居","抓","裂","胞","呼","娘","景","威","绿","晶","厚","盟","衡","鸡","孙","延","危","胶","屋","乡","临","陆","顾","掉","呀","灯","岁","措","束","耐","剧","玉","赵","跳","哥","季","课","凯","胡","额","款","绍","卷","齐","伟","蒸","殖","永","宗","苗","川","炉","岩","弱","零","杨","奏","沿","露","杆","探","滑","镇","饭","浓","航","怀","赶","库","夺","伊","灵","税","途","灭","赛","归","召","鼓","播","盘","裁","险","康","唯","录","菌","纯","借","糖","盖","横","符","私","努","堂","域","枪","润","幅","哈","竟","熟","虫","泽","脑","壤","碳","欧","遍","侧","寨","敢","彻","虑","斜","薄","庭","纳","弹","饲","伸","折","麦","湿","暗","荷","瓦","塞","床","筑","恶","户","访","塔","奇","透","梁","刀","旋","迹","卡","氯","遇","份","毒","泥","退","洗","摆","灰","彩","卖","耗","夏","择","忙","铜","献","硬","予","繁","圈","雪","函","亦","抽","篇","阵","阴","丁","尺","追","堆","雄","迎","泛","爸","楼","避","谋","吨","野","猪","旗","累","偏","典","馆","索","秦","脂","潮","爷","豆","忽","托","惊","塑","遗","愈","朱","替","纤","粗","倾","尚","痛","楚","谢","奋","购","磨","君","池","旁","碎","骨","监","捕","弟","暴","割","贯","殊","释","词","亡","壁","顿","宝","午","尘","闻","揭","炮","残","冬","桥","妇","警","综","招","吴","付","浮","遭","徐","您","摇","谷","赞","箱","隔","订","男","吹","园","纷","唐","败","宋","玻","巨","耕","坦","荣","闭","湾","键","凡","驻","锅","救","恩","剥","凝","碱","齿","截","炼","麻","纺","禁","废","盛","版","缓","净","睛","昌","婚","涉","筒","嘴","插","岸","朗","庄","街","藏","姑","贸","腐","奴","啦","惯","乘","伙","恢","匀","纱","扎","辩","耳","彪","臣","亿","璃","抵","脉","秀","萨","俄","网","舞","店","喷","纵","寸","汗","挂","洪","贺","闪","柬","爆","烯","津","稻","墙","软","勇","像","滚","厘","蒙","芳","肯","坡","柱","荡","腿","仪","旅","尾","轧","冰","贡","登","黎","削","钻","勒","逃","障","氨","郭","峰","币","港","伏","轨","亩","毕","擦","莫","刺","浪","秘","援","株","健","售","股","岛","甘","泡","睡","童","铸","汤","阀","休","汇","舍","牧","绕","炸","哲","磷","绩","朋","淡","尖","启","陷","柴","呈","徒","颜","泪","稍","忘","泵","蓝","拖","洞","授","镜","辛","壮","锋","贫","虚","弯","摩","泰","幼","廷","尊","窗","纲","弄","隶","疑","氏","宫","姐","震","瑞","怪","尤","琴","循","描","膜","违","夹","腰","缘","珠","穷","森","枝","竹","沟","催","绳","忆","邦","剩","幸","浆","栏","拥","牙","贮","礼","滤","钠","纹","罢","拍","咱","喊","袖","埃","勤","罚","焦","潜","伍","墨","欲","缝","姓","刊","饱","仿","奖","铝","鬼","丽","跨","默","挖","链","扫","喝","袋","炭","污","幕","诸","弧","励","梅","奶","洁","灾","舟","鉴","苯","讼","抱","毁","懂","寒","智","埔","寄","届","跃","渡","挑","丹","艰","贝","碰","拔","爹","戴","码","梦","芽","熔","赤","渔","哭","敬","颗","奔","铅","仲","虎","稀","妹","乏","珍","申","桌","遵","允","隆","螺","仓","魏","锐","晓","氮","兼","隐","碍","赫","拨","忠","肃","缸","牵","抢","博","巧","壳","兄","杜","讯","诚","碧","祥","柯","页","巡","矩","悲","灌","龄","伦","票","寻","桂","铺","圣","恐","恰","郑","趣","抬","荒","腾","贴","柔","滴","猛","阔","辆","妻","填","撤","储","签","闹","扰","紫","砂","递","戏","吊","陶","伐","喂","疗","瓶","婆","抚","臂","摸","忍","虾","蜡","邻","胸","巩","挤","偶","弃","槽","劲","乳","邓","吉","仁","烂","砖","租","乌","舰","伴","瓜","浅","丙","暂","燥","橡","柳","迷","暖","牌","秧","胆","详","簧","踏","瓷","谱","呆","宾","糊","洛","辉","愤","竞","隙","怒","粘","乃","绪","肩","籍","敏","涂","熙","皆","侦","悬","掘","享","纠","醒","狂","锁","淀","恨","牲","霸","爬","赏","逆","玩","陵","祝","秒","浙","貌","役","彼","悉","鸭","趋","凤","晨","畜","辈","秩","卵","署","梯","炎","滩","棋","驱","筛","峡","冒","啥","寿","译","浸","泉","帽","迟","硅","疆","贷","漏","稿","冠","嫩","胁","芯","牢","叛","蚀","奥","鸣","岭","羊","凭","串","塘","绘","酵","融","盆","锡","庙","筹","冻","辅","摄","袭","筋","拒","僚","旱","钾","鸟","漆","沈","眉","疏","添","棒","穗","硝","韩","逼","扭","侨","凉","挺","碗","栽","炒","杯","患","馏","劝","豪","辽","勃","鸿","旦","吏","拜","狗","埋","辊","掩","饮","搬","骂","辞","勾","扣","估","蒋","绒","雾","丈","朵","姆","拟","宇","辑","陕","雕","偿","蓄","崇","剪","倡","厅","咬","驶","薯","刷","斥","番","赋","奉","佛","浇","漫","曼","扇","钙","桃","扶","仔","返","俗","亏","腔","鞋","棱","覆","框","悄","叔","撞","骗","勘","旺","沸","孤","吐","孟","渠","屈","疾","妙","惜","仰","狠","胀","谐","抛","霉","桑","岗","嘛","衰","盗","渗","脏","赖","涌","甜","曹","阅","肌","哩","厉","烃","纬","毅","昨","伪","症","煮","叹","钉","搭","茎","笼","酷","偷","弓","锥","恒","杰","坑","鼻","翼","纶","叙","狱","逮","罐","络","棚","抑","膨","蔬","寺","骤","穆","冶","枯","册","尸","凸","绅","坯","牺","焰","轰","欣","晋","瘦","御","锭","锦","丧","旬","锻","垄","搜","扑","邀","亭","酯","迈","舒","脆","酶","闲","忧","酚","顽","羽","涨","卸","仗","陪","辟","惩","杭","姚","肚","捉","飘","漂","昆","欺","吾","郎","烷","汁","呵","饰","萧","雅","邮","迁","燕","撒","姻","赴","宴","烦","债","帐","斑","铃","旨","醇","董","饼","雏","姿","拌","傅","腹","妥","揉","贤","拆","歪","葡","胺","丢","浩","徽","昂","垫","挡","览","贪","慰","缴","汪","慌","冯","诺","姜","谊","凶","劣","诬","耀","昏","躺","盈","骑","乔","溪","丛","卢","抹","闷","咨","刮","驾","缆","悟","摘","铒","掷","颇","幻","柄","惠","惨","佳","仇","腊","窝","涤","剑","瞧","堡","泼","葱","罩","霍","捞","胎","苍","滨","俩","捅","湘","砍","霞","邵","萄","疯","淮","遂","熊","粪","烘","宿","档","戈","驳","嫂","裕","徙","箭","捐","肠","撑","晒","辨","殿","莲","摊","搅","酱","屏","疫","哀","蔡","堵","沫","皱","畅","叠","阁","莱","敲","辖","钩","痕","坝","巷","饿","祸","丘","玄","溜","曰","逻","彭","尝","卿","妨","艇","吞","韦","怨","矮","歇"]')},28350:function(eb){"use strict";eb.exports=JSON.parse('["的","一","是","在","不","了","有","和","人","這","中","大","為","上","個","國","我","以","要","他","時","來","用","們","生","到","作","地","於","出","就","分","對","成","會","可","主","發","年","動","同","工","也","能","下","過","子","說","產","種","面","而","方","後","多","定","行","學","法","所","民","得","經","十","三","之","進","著","等","部","度","家","電","力","裡","如","水","化","高","自","二","理","起","小","物","現","實","加","量","都","兩","體","制","機","當","使","點","從","業","本","去","把","性","好","應","開","它","合","還","因","由","其","些","然","前","外","天","政","四","日","那","社","義","事","平","形","相","全","表","間","樣","與","關","各","重","新","線","內","數","正","心","反","你","明","看","原","又","麼","利","比","或","但","質","氣","第","向","道","命","此","變","條","只","沒","結","解","問","意","建","月","公","無","系","軍","很","情","者","最","立","代","想","已","通","並","提","直","題","黨","程","展","五","果","料","象","員","革","位","入","常","文","總","次","品","式","活","設","及","管","特","件","長","求","老","頭","基","資","邊","流","路","級","少","圖","山","統","接","知","較","將","組","見","計","別","她","手","角","期","根","論","運","農","指","幾","九","區","強","放","決","西","被","幹","做","必","戰","先","回","則","任","取","據","處","隊","南","給","色","光","門","即","保","治","北","造","百","規","熱","領","七","海","口","東","導","器","壓","志","世","金","增","爭","濟","階","油","思","術","極","交","受","聯","什","認","六","共","權","收","證","改","清","美","再","採","轉","更","單","風","切","打","白","教","速","花","帶","安","場","身","車","例","真","務","具","萬","每","目","至","達","走","積","示","議","聲","報","鬥","完","類","八","離","華","名","確","才","科","張","信","馬","節","話","米","整","空","元","況","今","集","溫","傳","土","許","步","群","廣","石","記","需","段","研","界","拉","林","律","叫","且","究","觀","越","織","裝","影","算","低","持","音","眾","書","布","复","容","兒","須","際","商","非","驗","連","斷","深","難","近","礦","千","週","委","素","技","備","半","辦","青","省","列","習","響","約","支","般","史","感","勞","便","團","往","酸","歷","市","克","何","除","消","構","府","稱","太","準","精","值","號","率","族","維","劃","選","標","寫","存","候","毛","親","快","效","斯","院","查","江","型","眼","王","按","格","養","易","置","派","層","片","始","卻","專","狀","育","廠","京","識","適","屬","圓","包","火","住","調","滿","縣","局","照","參","紅","細","引","聽","該","鐵","價","嚴","首","底","液","官","德","隨","病","蘇","失","爾","死","講","配","女","黃","推","顯","談","罪","神","藝","呢","席","含","企","望","密","批","營","項","防","舉","球","英","氧","勢","告","李","台","落","木","幫","輪","破","亞","師","圍","注","遠","字","材","排","供","河","態","封","另","施","減","樹","溶","怎","止","案","言","士","均","武","固","葉","魚","波","視","僅","費","緊","愛","左","章","早","朝","害","續","輕","服","試","食","充","兵","源","判","護","司","足","某","練","差","致","板","田","降","黑","犯","負","擊","范","繼","興","似","餘","堅","曲","輸","修","故","城","夫","夠","送","筆","船","佔","右","財","吃","富","春","職","覺","漢","畫","功","巴","跟","雖","雜","飛","檢","吸","助","昇","陽","互","初","創","抗","考","投","壞","策","古","徑","換","未","跑","留","鋼","曾","端","責","站","簡","述","錢","副","盡","帝","射","草","衝","承","獨","令","限","阿","宣","環","雙","請","超","微","讓","控","州","良","軸","找","否","紀","益","依","優","頂","礎","載","倒","房","突","坐","粉","敵","略","客","袁","冷","勝","絕","析","塊","劑","測","絲","協","訴","念","陳","仍","羅","鹽","友","洋","錯","苦","夜","刑","移","頻","逐","靠","混","母","短","皮","終","聚","汽","村","雲","哪","既","距","衛","停","烈","央","察","燒","迅","境","若","印","洲","刻","括","激","孔","搞","甚","室","待","核","校","散","侵","吧","甲","遊","久","菜","味","舊","模","湖","貨","損","預","阻","毫","普","穩","乙","媽","植","息","擴","銀","語","揮","酒","守","拿","序","紙","醫","缺","雨","嗎","針","劉","啊","急","唱","誤","訓","願","審","附","獲","茶","鮮","糧","斤","孩","脫","硫","肥","善","龍","演","父","漸","血","歡","械","掌","歌","沙","剛","攻","謂","盾","討","晚","粒","亂","燃","矛","乎","殺","藥","寧","魯","貴","鐘","煤","讀","班","伯","香","介","迫","句","豐","培","握","蘭","擔","弦","蛋","沉","假","穿","執","答","樂","誰","順","煙","縮","徵","臉","喜","松","腳","困","異","免","背","星","福","買","染","井","概","慢","怕","磁","倍","祖","皇","促","靜","補","評","翻","肉","踐","尼","衣","寬","揚","棉","希","傷","操","垂","秋","宜","氫","套","督","振","架","亮","末","憲","慶","編","牛","觸","映","雷","銷","詩","座","居","抓","裂","胞","呼","娘","景","威","綠","晶","厚","盟","衡","雞","孫","延","危","膠","屋","鄉","臨","陸","顧","掉","呀","燈","歲","措","束","耐","劇","玉","趙","跳","哥","季","課","凱","胡","額","款","紹","卷","齊","偉","蒸","殖","永","宗","苗","川","爐","岩","弱","零","楊","奏","沿","露","桿","探","滑","鎮","飯","濃","航","懷","趕","庫","奪","伊","靈","稅","途","滅","賽","歸","召","鼓","播","盤","裁","險","康","唯","錄","菌","純","借","糖","蓋","橫","符","私","努","堂","域","槍","潤","幅","哈","竟","熟","蟲","澤","腦","壤","碳","歐","遍","側","寨","敢","徹","慮","斜","薄","庭","納","彈","飼","伸","折","麥","濕","暗","荷","瓦","塞","床","築","惡","戶","訪","塔","奇","透","梁","刀","旋","跡","卡","氯","遇","份","毒","泥","退","洗","擺","灰","彩","賣","耗","夏","擇","忙","銅","獻","硬","予","繁","圈","雪","函","亦","抽","篇","陣","陰","丁","尺","追","堆","雄","迎","泛","爸","樓","避","謀","噸","野","豬","旗","累","偏","典","館","索","秦","脂","潮","爺","豆","忽","托","驚","塑","遺","愈","朱","替","纖","粗","傾","尚","痛","楚","謝","奮","購","磨","君","池","旁","碎","骨","監","捕","弟","暴","割","貫","殊","釋","詞","亡","壁","頓","寶","午","塵","聞","揭","炮","殘","冬","橋","婦","警","綜","招","吳","付","浮","遭","徐","您","搖","谷","贊","箱","隔","訂","男","吹","園","紛","唐","敗","宋","玻","巨","耕","坦","榮","閉","灣","鍵","凡","駐","鍋","救","恩","剝","凝","鹼","齒","截","煉","麻","紡","禁","廢","盛","版","緩","淨","睛","昌","婚","涉","筒","嘴","插","岸","朗","莊","街","藏","姑","貿","腐","奴","啦","慣","乘","夥","恢","勻","紗","扎","辯","耳","彪","臣","億","璃","抵","脈","秀","薩","俄","網","舞","店","噴","縱","寸","汗","掛","洪","賀","閃","柬","爆","烯","津","稻","牆","軟","勇","像","滾","厘","蒙","芳","肯","坡","柱","盪","腿","儀","旅","尾","軋","冰","貢","登","黎","削","鑽","勒","逃","障","氨","郭","峰","幣","港","伏","軌","畝","畢","擦","莫","刺","浪","秘","援","株","健","售","股","島","甘","泡","睡","童","鑄","湯","閥","休","匯","舍","牧","繞","炸","哲","磷","績","朋","淡","尖","啟","陷","柴","呈","徒","顏","淚","稍","忘","泵","藍","拖","洞","授","鏡","辛","壯","鋒","貧","虛","彎","摩","泰","幼","廷","尊","窗","綱","弄","隸","疑","氏","宮","姐","震","瑞","怪","尤","琴","循","描","膜","違","夾","腰","緣","珠","窮","森","枝","竹","溝","催","繩","憶","邦","剩","幸","漿","欄","擁","牙","貯","禮","濾","鈉","紋","罷","拍","咱","喊","袖","埃","勤","罰","焦","潛","伍","墨","欲","縫","姓","刊","飽","仿","獎","鋁","鬼","麗","跨","默","挖","鏈","掃","喝","袋","炭","污","幕","諸","弧","勵","梅","奶","潔","災","舟","鑑","苯","訟","抱","毀","懂","寒","智","埔","寄","屆","躍","渡","挑","丹","艱","貝","碰","拔","爹","戴","碼","夢","芽","熔","赤","漁","哭","敬","顆","奔","鉛","仲","虎","稀","妹","乏","珍","申","桌","遵","允","隆","螺","倉","魏","銳","曉","氮","兼","隱","礙","赫","撥","忠","肅","缸","牽","搶","博","巧","殼","兄","杜","訊","誠","碧","祥","柯","頁","巡","矩","悲","灌","齡","倫","票","尋","桂","鋪","聖","恐","恰","鄭","趣","抬","荒","騰","貼","柔","滴","猛","闊","輛","妻","填","撤","儲","簽","鬧","擾","紫","砂","遞","戲","吊","陶","伐","餵","療","瓶","婆","撫","臂","摸","忍","蝦","蠟","鄰","胸","鞏","擠","偶","棄","槽","勁","乳","鄧","吉","仁","爛","磚","租","烏","艦","伴","瓜","淺","丙","暫","燥","橡","柳","迷","暖","牌","秧","膽","詳","簧","踏","瓷","譜","呆","賓","糊","洛","輝","憤","競","隙","怒","粘","乃","緒","肩","籍","敏","塗","熙","皆","偵","懸","掘","享","糾","醒","狂","鎖","淀","恨","牲","霸","爬","賞","逆","玩","陵","祝","秒","浙","貌","役","彼","悉","鴨","趨","鳳","晨","畜","輩","秩","卵","署","梯","炎","灘","棋","驅","篩","峽","冒","啥","壽","譯","浸","泉","帽","遲","矽","疆","貸","漏","稿","冠","嫩","脅","芯","牢","叛","蝕","奧","鳴","嶺","羊","憑","串","塘","繪","酵","融","盆","錫","廟","籌","凍","輔","攝","襲","筋","拒","僚","旱","鉀","鳥","漆","沈","眉","疏","添","棒","穗","硝","韓","逼","扭","僑","涼","挺","碗","栽","炒","杯","患","餾","勸","豪","遼","勃","鴻","旦","吏","拜","狗","埋","輥","掩","飲","搬","罵","辭","勾","扣","估","蔣","絨","霧","丈","朵","姆","擬","宇","輯","陝","雕","償","蓄","崇","剪","倡","廳","咬","駛","薯","刷","斥","番","賦","奉","佛","澆","漫","曼","扇","鈣","桃","扶","仔","返","俗","虧","腔","鞋","棱","覆","框","悄","叔","撞","騙","勘","旺","沸","孤","吐","孟","渠","屈","疾","妙","惜","仰","狠","脹","諧","拋","黴","桑","崗","嘛","衰","盜","滲","臟","賴","湧","甜","曹","閱","肌","哩","厲","烴","緯","毅","昨","偽","症","煮","嘆","釘","搭","莖","籠","酷","偷","弓","錐","恆","傑","坑","鼻","翼","綸","敘","獄","逮","罐","絡","棚","抑","膨","蔬","寺","驟","穆","冶","枯","冊","屍","凸","紳","坯","犧","焰","轟","欣","晉","瘦","禦","錠","錦","喪","旬","鍛","壟","搜","撲","邀","亭","酯","邁","舒","脆","酶","閒","憂","酚","頑","羽","漲","卸","仗","陪","闢","懲","杭","姚","肚","捉","飄","漂","昆","欺","吾","郎","烷","汁","呵","飾","蕭","雅","郵","遷","燕","撒","姻","赴","宴","煩","債","帳","斑","鈴","旨","醇","董","餅","雛","姿","拌","傅","腹","妥","揉","賢","拆","歪","葡","胺","丟","浩","徽","昂","墊","擋","覽","貪","慰","繳","汪","慌","馮","諾","姜","誼","兇","劣","誣","耀","昏","躺","盈","騎","喬","溪","叢","盧","抹","悶","諮","刮","駕","纜","悟","摘","鉺","擲","頗","幻","柄","惠","慘","佳","仇","臘","窩","滌","劍","瞧","堡","潑","蔥","罩","霍","撈","胎","蒼","濱","倆","捅","湘","砍","霞","邵","萄","瘋","淮","遂","熊","糞","烘","宿","檔","戈","駁","嫂","裕","徙","箭","捐","腸","撐","曬","辨","殿","蓮","攤","攪","醬","屏","疫","哀","蔡","堵","沫","皺","暢","疊","閣","萊","敲","轄","鉤","痕","壩","巷","餓","禍","丘","玄","溜","曰","邏","彭","嘗","卿","妨","艇","吞","韋","怨","矮","歇"]')},58059:function(eb){"use strict";eb.exports=JSON.parse('["abdikace","abeceda","adresa","agrese","akce","aktovka","alej","alkohol","amputace","ananas","andulka","anekdota","anketa","antika","anulovat","archa","arogance","asfalt","asistent","aspirace","astma","astronom","atlas","atletika","atol","autobus","azyl","babka","bachor","bacil","baculka","badatel","bageta","bagr","bahno","bakterie","balada","baletka","balkon","balonek","balvan","balza","bambus","bankomat","barbar","baret","barman","baroko","barva","baterka","batoh","bavlna","bazalka","bazilika","bazuka","bedna","beran","beseda","bestie","beton","bezinka","bezmoc","beztak","bicykl","bidlo","biftek","bikiny","bilance","biograf","biolog","bitva","bizon","blahobyt","blatouch","blecha","bledule","blesk","blikat","blizna","blokovat","bloudit","blud","bobek","bobr","bodlina","bodnout","bohatost","bojkot","bojovat","bokorys","bolest","borec","borovice","bota","boubel","bouchat","bouda","boule","bourat","boxer","bradavka","brambora","branka","bratr","brepta","briketa","brko","brloh","bronz","broskev","brunetka","brusinka","brzda","brzy","bublina","bubnovat","buchta","buditel","budka","budova","bufet","bujarost","bukvice","buldok","bulva","bunda","bunkr","burza","butik","buvol","buzola","bydlet","bylina","bytovka","bzukot","capart","carevna","cedr","cedule","cejch","cejn","cela","celer","celkem","celnice","cenina","cennost","cenovka","centrum","cenzor","cestopis","cetka","chalupa","chapadlo","charita","chata","chechtat","chemie","chichot","chirurg","chlad","chleba","chlubit","chmel","chmura","chobot","chochol","chodba","cholera","chomout","chopit","choroba","chov","chrapot","chrlit","chrt","chrup","chtivost","chudina","chutnat","chvat","chvilka","chvost","chyba","chystat","chytit","cibule","cigareta","cihelna","cihla","cinkot","cirkus","cisterna","citace","citrus","cizinec","cizost","clona","cokoliv","couvat","ctitel","ctnost","cudnost","cuketa","cukr","cupot","cvaknout","cval","cvik","cvrkot","cyklista","daleko","dareba","datel","datum","dcera","debata","dechovka","decibel","deficit","deflace","dekl","dekret","demokrat","deprese","derby","deska","detektiv","dikobraz","diktovat","dioda","diplom","disk","displej","divadlo","divoch","dlaha","dlouho","dluhopis","dnes","dobro","dobytek","docent","dochutit","dodnes","dohled","dohoda","dohra","dojem","dojnice","doklad","dokola","doktor","dokument","dolar","doleva","dolina","doma","dominant","domluvit","domov","donutit","dopad","dopis","doplnit","doposud","doprovod","dopustit","dorazit","dorost","dort","dosah","doslov","dostatek","dosud","dosyta","dotaz","dotek","dotknout","doufat","doutnat","dovozce","dozadu","doznat","dozorce","drahota","drak","dramatik","dravec","draze","drdol","drobnost","drogerie","drozd","drsnost","drtit","drzost","duben","duchovno","dudek","duha","duhovka","dusit","dusno","dutost","dvojice","dvorec","dynamit","ekolog","ekonomie","elektron","elipsa","email","emise","emoce","empatie","epizoda","epocha","epopej","epos","esej","esence","eskorta","eskymo","etiketa","euforie","evoluce","exekuce","exkurze","expedice","exploze","export","extrakt","facka","fajfka","fakulta","fanatik","fantazie","farmacie","favorit","fazole","federace","fejeton","fenka","fialka","figurant","filozof","filtr","finance","finta","fixace","fjord","flanel","flirt","flotila","fond","fosfor","fotbal","fotka","foton","frakce","freska","fronta","fukar","funkce","fyzika","galeje","garant","genetika","geolog","gilotina","glazura","glejt","golem","golfista","gotika","graf","gramofon","granule","grep","gril","grog","groteska","guma","hadice","hadr","hala","halenka","hanba","hanopis","harfa","harpuna","havran","hebkost","hejkal","hejno","hejtman","hektar","helma","hematom","herec","herna","heslo","hezky","historik","hladovka","hlasivky","hlava","hledat","hlen","hlodavec","hloh","hloupost","hltat","hlubina","hluchota","hmat","hmota","hmyz","hnis","hnojivo","hnout","hoblina","hoboj","hoch","hodiny","hodlat","hodnota","hodovat","hojnost","hokej","holinka","holka","holub","homole","honitba","honorace","horal","horda","horizont","horko","horlivec","hormon","hornina","horoskop","horstvo","hospoda","hostina","hotovost","houba","houf","houpat","houska","hovor","hradba","hranice","hravost","hrazda","hrbolek","hrdina","hrdlo","hrdost","hrnek","hrobka","hromada","hrot","hrouda","hrozen","hrstka","hrubost","hryzat","hubenost","hubnout","hudba","hukot","humr","husita","hustota","hvozd","hybnost","hydrant","hygiena","hymna","hysterik","idylka","ihned","ikona","iluze","imunita","infekce","inflace","inkaso","inovace","inspekce","internet","invalida","investor","inzerce","ironie","jablko","jachta","jahoda","jakmile","jakost","jalovec","jantar","jarmark","jaro","jasan","jasno","jatka","javor","jazyk","jedinec","jedle","jednatel","jehlan","jekot","jelen","jelito","jemnost","jenom","jepice","jeseter","jevit","jezdec","jezero","jinak","jindy","jinoch","jiskra","jistota","jitrnice","jizva","jmenovat","jogurt","jurta","kabaret","kabel","kabinet","kachna","kadet","kadidlo","kahan","kajak","kajuta","kakao","kaktus","kalamita","kalhoty","kalibr","kalnost","kamera","kamkoliv","kamna","kanibal","kanoe","kantor","kapalina","kapela","kapitola","kapka","kaple","kapota","kapr","kapusta","kapybara","karamel","karotka","karton","kasa","katalog","katedra","kauce","kauza","kavalec","kazajka","kazeta","kazivost","kdekoliv","kdesi","kedluben","kemp","keramika","kino","klacek","kladivo","klam","klapot","klasika","klaun","klec","klenba","klepat","klesnout","klid","klima","klisna","klobouk","klokan","klopa","kloub","klubovna","klusat","kluzkost","kmen","kmitat","kmotr","kniha","knot","koalice","koberec","kobka","kobliha","kobyla","kocour","kohout","kojenec","kokos","koktejl","kolaps","koleda","kolize","kolo","komando","kometa","komik","komnata","komora","kompas","komunita","konat","koncept","kondice","konec","konfese","kongres","konina","konkurs","kontakt","konzerva","kopanec","kopie","kopnout","koprovka","korbel","korektor","kormidlo","koroptev","korpus","koruna","koryto","korzet","kosatec","kostka","kotel","kotleta","kotoul","koukat","koupelna","kousek","kouzlo","kovboj","koza","kozoroh","krabice","krach","krajina","kralovat","krasopis","kravata","kredit","krejcar","kresba","kreveta","kriket","kritik","krize","krkavec","krmelec","krmivo","krocan","krok","kronika","kropit","kroupa","krovka","krtek","kruhadlo","krupice","krutost","krvinka","krychle","krypta","krystal","kryt","kudlanka","kufr","kujnost","kukla","kulajda","kulich","kulka","kulomet","kultura","kuna","kupodivu","kurt","kurzor","kutil","kvalita","kvasinka","kvestor","kynolog","kyselina","kytara","kytice","kytka","kytovec","kyvadlo","labrador","lachtan","ladnost","laik","lakomec","lamela","lampa","lanovka","lasice","laso","lastura","latinka","lavina","lebka","leckdy","leden","lednice","ledovka","ledvina","legenda","legie","legrace","lehce","lehkost","lehnout","lektvar","lenochod","lentilka","lepenka","lepidlo","letadlo","letec","letmo","letokruh","levhart","levitace","levobok","libra","lichotka","lidojed","lidskost","lihovina","lijavec","lilek","limetka","linie","linka","linoleum","listopad","litina","litovat","lobista","lodivod","logika","logoped","lokalita","loket","lomcovat","lopata","lopuch","lord","losos","lotr","loudal","louh","louka","louskat","lovec","lstivost","lucerna","lucifer","lump","lusk","lustrace","lvice","lyra","lyrika","lysina","madam","madlo","magistr","mahagon","majetek","majitel","majorita","makak","makovice","makrela","malba","malina","malovat","malvice","maminka","mandle","manko","marnost","masakr","maskot","masopust","matice","matrika","maturita","mazanec","mazivo","mazlit","mazurka","mdloba","mechanik","meditace","medovina","melasa","meloun","mentolka","metla","metoda","metr","mezera","migrace","mihnout","mihule","mikina","mikrofon","milenec","milimetr","milost","mimika","mincovna","minibar","minomet","minulost","miska","mistr","mixovat","mladost","mlha","mlhovina","mlok","mlsat","mluvit","mnich","mnohem","mobil","mocnost","modelka","modlitba","mohyla","mokro","molekula","momentka","monarcha","monokl","monstrum","montovat","monzun","mosaz","moskyt","most","motivace","motorka","motyka","moucha","moudrost","mozaika","mozek","mozol","mramor","mravenec","mrkev","mrtvola","mrzet","mrzutost","mstitel","mudrc","muflon","mulat","mumie","munice","muset","mutace","muzeum","muzikant","myslivec","mzda","nabourat","nachytat","nadace","nadbytek","nadhoz","nadobro","nadpis","nahlas","nahnat","nahodile","nahradit","naivita","najednou","najisto","najmout","naklonit","nakonec","nakrmit","nalevo","namazat","namluvit","nanometr","naoko","naopak","naostro","napadat","napevno","naplnit","napnout","naposled","naprosto","narodit","naruby","narychlo","nasadit","nasekat","naslepo","nastat","natolik","navenek","navrch","navzdory","nazvat","nebe","nechat","necky","nedaleko","nedbat","neduh","negace","nehet","nehoda","nejen","nejprve","neklid","nelibost","nemilost","nemoc","neochota","neonka","nepokoj","nerost","nerv","nesmysl","nesoulad","netvor","neuron","nevina","nezvykle","nicota","nijak","nikam","nikdy","nikl","nikterak","nitro","nocleh","nohavice","nominace","nora","norek","nositel","nosnost","nouze","noviny","novota","nozdra","nuda","nudle","nuget","nutit","nutnost","nutrie","nymfa","obal","obarvit","obava","obdiv","obec","obehnat","obejmout","obezita","obhajoba","obilnice","objasnit","objekt","obklopit","oblast","oblek","obliba","obloha","obluda","obnos","obohatit","obojek","obout","obrazec","obrna","obruba","obrys","obsah","obsluha","obstarat","obuv","obvaz","obvinit","obvod","obvykle","obyvatel","obzor","ocas","ocel","ocenit","ochladit","ochota","ochrana","ocitnout","odboj","odbyt","odchod","odcizit","odebrat","odeslat","odevzdat","odezva","odhadce","odhodit","odjet","odjinud","odkaz","odkoupit","odliv","odluka","odmlka","odolnost","odpad","odpis","odplout","odpor","odpustit","odpykat","odrazka","odsoudit","odstup","odsun","odtok","odtud","odvaha","odveta","odvolat","odvracet","odznak","ofina","ofsajd","ohlas","ohnisko","ohrada","ohrozit","ohryzek","okap","okenice","oklika","okno","okouzlit","okovy","okrasa","okres","okrsek","okruh","okupant","okurka","okusit","olejnina","olizovat","omak","omeleta","omezit","omladina","omlouvat","omluva","omyl","onehdy","opakovat","opasek","operace","opice","opilost","opisovat","opora","opozice","opravdu","oproti","orbital","orchestr","orgie","orlice","orloj","ortel","osada","oschnout","osika","osivo","oslava","oslepit","oslnit","oslovit","osnova","osoba","osolit","ospalec","osten","ostraha","ostuda","ostych","osvojit","oteplit","otisk","otop","otrhat","otrlost","otrok","otruby","otvor","ovanout","ovar","oves","ovlivnit","ovoce","oxid","ozdoba","pachatel","pacient","padouch","pahorek","pakt","palanda","palec","palivo","paluba","pamflet","pamlsek","panenka","panika","panna","panovat","panstvo","pantofle","paprika","parketa","parodie","parta","paruka","paryba","paseka","pasivita","pastelka","patent","patrona","pavouk","pazneht","pazourek","pecka","pedagog","pejsek","peklo","peloton","penalta","pendrek","penze","periskop","pero","pestrost","petarda","petice","petrolej","pevnina","pexeso","pianista","piha","pijavice","pikle","piknik","pilina","pilnost","pilulka","pinzeta","pipeta","pisatel","pistole","pitevna","pivnice","pivovar","placenta","plakat","plamen","planeta","plastika","platit","plavidlo","plaz","plech","plemeno","plenta","ples","pletivo","plevel","plivat","plnit","plno","plocha","plodina","plomba","plout","pluk","plyn","pobavit","pobyt","pochod","pocit","poctivec","podat","podcenit","podepsat","podhled","podivit","podklad","podmanit","podnik","podoba","podpora","podraz","podstata","podvod","podzim","poezie","pohanka","pohnutka","pohovor","pohroma","pohyb","pointa","pojistka","pojmout","pokazit","pokles","pokoj","pokrok","pokuta","pokyn","poledne","polibek","polknout","poloha","polynom","pomalu","pominout","pomlka","pomoc","pomsta","pomyslet","ponechat","ponorka","ponurost","popadat","popel","popisek","poplach","poprosit","popsat","popud","poradce","porce","porod","porucha","poryv","posadit","posed","posila","poskok","poslanec","posoudit","pospolu","postava","posudek","posyp","potah","potkan","potlesk","potomek","potrava","potupa","potvora","poukaz","pouto","pouzdro","povaha","povidla","povlak","povoz","povrch","povstat","povyk","povzdech","pozdrav","pozemek","poznatek","pozor","pozvat","pracovat","prahory","praktika","prales","praotec","praporek","prase","pravda","princip","prkno","probudit","procento","prodej","profese","prohra","projekt","prolomit","promile","pronikat","propad","prorok","prosba","proton","proutek","provaz","prskavka","prsten","prudkost","prut","prvek","prvohory","psanec","psovod","pstruh","ptactvo","puberta","puch","pudl","pukavec","puklina","pukrle","pult","pumpa","punc","pupen","pusa","pusinka","pustina","putovat","putyka","pyramida","pysk","pytel","racek","rachot","radiace","radnice","radon","raft","ragby","raketa","rakovina","rameno","rampouch","rande","rarach","rarita","rasovna","rastr","ratolest","razance","razidlo","reagovat","reakce","recept","redaktor","referent","reflex","rejnok","reklama","rekord","rekrut","rektor","reputace","revize","revma","revolver","rezerva","riskovat","riziko","robotika","rodokmen","rohovka","rokle","rokoko","romaneto","ropovod","ropucha","rorejs","rosol","rostlina","rotmistr","rotoped","rotunda","roubenka","roucho","roup","roura","rovina","rovnice","rozbor","rozchod","rozdat","rozeznat","rozhodce","rozinka","rozjezd","rozkaz","rozloha","rozmar","rozpad","rozruch","rozsah","roztok","rozum","rozvod","rubrika","ruchadlo","rukavice","rukopis","ryba","rybolov","rychlost","rydlo","rypadlo","rytina","ryzost","sadista","sahat","sako","samec","samizdat","samota","sanitka","sardinka","sasanka","satelit","sazba","sazenice","sbor","schovat","sebranka","secese","sedadlo","sediment","sedlo","sehnat","sejmout","sekera","sekta","sekunda","sekvoje","semeno","seno","servis","sesadit","seshora","seskok","seslat","sestra","sesuv","sesypat","setba","setina","setkat","setnout","setrvat","sever","seznam","shoda","shrnout","sifon","silnice","sirka","sirotek","sirup","situace","skafandr","skalisko","skanzen","skaut","skeptik","skica","skladba","sklenice","sklo","skluz","skoba","skokan","skoro","skripta","skrz","skupina","skvost","skvrna","slabika","sladidlo","slanina","slast","slavnost","sledovat","slepec","sleva","slezina","slib","slina","sliznice","slon","sloupek","slovo","sluch","sluha","slunce","slupka","slza","smaragd","smetana","smilstvo","smlouva","smog","smrad","smrk","smrtka","smutek","smysl","snad","snaha","snob","sobota","socha","sodovka","sokol","sopka","sotva","souboj","soucit","soudce","souhlas","soulad","soumrak","souprava","soused","soutok","souviset","spalovna","spasitel","spis","splav","spodek","spojenec","spolu","sponzor","spornost","spousta","sprcha","spustit","sranda","sraz","srdce","srna","srnec","srovnat","srpen","srst","srub","stanice","starosta","statika","stavba","stehno","stezka","stodola","stolek","stopa","storno","stoupat","strach","stres","strhnout","strom","struna","studna","stupnice","stvol","styk","subjekt","subtropy","suchar","sudost","sukno","sundat","sunout","surikata","surovina","svah","svalstvo","svetr","svatba","svazek","svisle","svitek","svoboda","svodidlo","svorka","svrab","sykavka","sykot","synek","synovec","sypat","sypkost","syrovost","sysel","sytost","tabletka","tabule","tahoun","tajemno","tajfun","tajga","tajit","tajnost","taktika","tamhle","tampon","tancovat","tanec","tanker","tapeta","tavenina","tazatel","technika","tehdy","tekutina","telefon","temnota","tendence","tenista","tenor","teplota","tepna","teprve","terapie","termoska","textil","ticho","tiskopis","titulek","tkadlec","tkanina","tlapka","tleskat","tlukot","tlupa","tmel","toaleta","topinka","topol","torzo","touha","toulec","tradice","traktor","tramp","trasa","traverza","trefit","trest","trezor","trhavina","trhlina","trochu","trojice","troska","trouba","trpce","trpitel","trpkost","trubec","truchlit","truhlice","trus","trvat","tudy","tuhnout","tuhost","tundra","turista","turnaj","tuzemsko","tvaroh","tvorba","tvrdost","tvrz","tygr","tykev","ubohost","uboze","ubrat","ubrousek","ubrus","ubytovna","ucho","uctivost","udivit","uhradit","ujednat","ujistit","ujmout","ukazatel","uklidnit","uklonit","ukotvit","ukrojit","ulice","ulita","ulovit","umyvadlo","unavit","uniforma","uniknout","upadnout","uplatnit","uplynout","upoutat","upravit","uran","urazit","usednout","usilovat","usmrtit","usnadnit","usnout","usoudit","ustlat","ustrnout","utahovat","utkat","utlumit","utonout","utopenec","utrousit","uvalit","uvolnit","uvozovka","uzdravit","uzel","uzenina","uzlina","uznat","vagon","valcha","valoun","vana","vandal","vanilka","varan","varhany","varovat","vcelku","vchod","vdova","vedro","vegetace","vejce","velbloud","veletrh","velitel","velmoc","velryba","venkov","veranda","verze","veselka","veskrze","vesnice","vespodu","vesta","veterina","veverka","vibrace","vichr","videohra","vidina","vidle","vila","vinice","viset","vitalita","vize","vizitka","vjezd","vklad","vkus","vlajka","vlak","vlasec","vlevo","vlhkost","vliv","vlnovka","vloupat","vnucovat","vnuk","voda","vodivost","vodoznak","vodstvo","vojensky","vojna","vojsko","volant","volba","volit","volno","voskovka","vozidlo","vozovna","vpravo","vrabec","vracet","vrah","vrata","vrba","vrcholek","vrhat","vrstva","vrtule","vsadit","vstoupit","vstup","vtip","vybavit","vybrat","vychovat","vydat","vydra","vyfotit","vyhledat","vyhnout","vyhodit","vyhradit","vyhubit","vyjasnit","vyjet","vyjmout","vyklopit","vykonat","vylekat","vymazat","vymezit","vymizet","vymyslet","vynechat","vynikat","vynutit","vypadat","vyplatit","vypravit","vypustit","vyrazit","vyrovnat","vyrvat","vyslovit","vysoko","vystavit","vysunout","vysypat","vytasit","vytesat","vytratit","vyvinout","vyvolat","vyvrhel","vyzdobit","vyznat","vzadu","vzbudit","vzchopit","vzdor","vzduch","vzdychat","vzestup","vzhledem","vzkaz","vzlykat","vznik","vzorek","vzpoura","vztah","vztek","xylofon","zabrat","zabydlet","zachovat","zadarmo","zadusit","zafoukat","zahltit","zahodit","zahrada","zahynout","zajatec","zajet","zajistit","zaklepat","zakoupit","zalepit","zamezit","zamotat","zamyslet","zanechat","zanikat","zaplatit","zapojit","zapsat","zarazit","zastavit","zasunout","zatajit","zatemnit","zatknout","zaujmout","zavalit","zavelet","zavinit","zavolat","zavrtat","zazvonit","zbavit","zbrusu","zbudovat","zbytek","zdaleka","zdarma","zdatnost","zdivo","zdobit","zdroj","zdvih","zdymadlo","zelenina","zeman","zemina","zeptat","zezadu","zezdola","zhatit","zhltnout","zhluboka","zhotovit","zhruba","zima","zimnice","zjemnit","zklamat","zkoumat","zkratka","zkumavka","zlato","zlehka","zloba","zlom","zlost","zlozvyk","zmapovat","zmar","zmatek","zmije","zmizet","zmocnit","zmodrat","zmrzlina","zmutovat","znak","znalost","znamenat","znovu","zobrazit","zotavit","zoubek","zoufale","zplodit","zpomalit","zprava","zprostit","zprudka","zprvu","zrada","zranit","zrcadlo","zrnitost","zrno","zrovna","zrychlit","zrzavost","zticha","ztratit","zubovina","zubr","zvednout","zvenku","zvesela","zvon","zvrat","zvukovod","zvyk"]')},81633:function(eb){"use strict";eb.exports=JSON.parse('["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"]')},97727:function(eb){"use strict";eb.exports=JSON.parse('["abaisser","abandon","abdiquer","abeille","abolir","aborder","aboutir","aboyer","abrasif","abreuver","abriter","abroger","abrupt","absence","absolu","absurde","abusif","abyssal","académie","acajou","acarien","accabler","accepter","acclamer","accolade","accroche","accuser","acerbe","achat","acheter","aciduler","acier","acompte","acquérir","acronyme","acteur","actif","actuel","adepte","adéquat","adhésif","adjectif","adjuger","admettre","admirer","adopter","adorer","adoucir","adresse","adroit","adulte","adverbe","aérer","aéronef","affaire","affecter","affiche","affreux","affubler","agacer","agencer","agile","agiter","agrafer","agréable","agrume","aider","aiguille","ailier","aimable","aisance","ajouter","ajuster","alarmer","alchimie","alerte","algèbre","algue","aliéner","aliment","alléger","alliage","allouer","allumer","alourdir","alpaga","altesse","alvéole","amateur","ambigu","ambre","aménager","amertume","amidon","amiral","amorcer","amour","amovible","amphibie","ampleur","amusant","analyse","anaphore","anarchie","anatomie","ancien","anéantir","angle","angoisse","anguleux","animal","annexer","annonce","annuel","anodin","anomalie","anonyme","anormal","antenne","antidote","anxieux","apaiser","apéritif","aplanir","apologie","appareil","appeler","apporter","appuyer","aquarium","aqueduc","arbitre","arbuste","ardeur","ardoise","argent","arlequin","armature","armement","armoire","armure","arpenter","arracher","arriver","arroser","arsenic","artériel","article","aspect","asphalte","aspirer","assaut","asservir","assiette","associer","assurer","asticot","astre","astuce","atelier","atome","atrium","atroce","attaque","attentif","attirer","attraper","aubaine","auberge","audace","audible","augurer","aurore","automne","autruche","avaler","avancer","avarice","avenir","averse","aveugle","aviateur","avide","avion","aviser","avoine","avouer","avril","axial","axiome","badge","bafouer","bagage","baguette","baignade","balancer","balcon","baleine","balisage","bambin","bancaire","bandage","banlieue","bannière","banquier","barbier","baril","baron","barque","barrage","bassin","bastion","bataille","bateau","batterie","baudrier","bavarder","belette","bélier","belote","bénéfice","berceau","berger","berline","bermuda","besace","besogne","bétail","beurre","biberon","bicycle","bidule","bijou","bilan","bilingue","billard","binaire","biologie","biopsie","biotype","biscuit","bison","bistouri","bitume","bizarre","blafard","blague","blanchir","blessant","blinder","blond","bloquer","blouson","bobard","bobine","boire","boiser","bolide","bonbon","bondir","bonheur","bonifier","bonus","bordure","borne","botte","boucle","boueux","bougie","boulon","bouquin","bourse","boussole","boutique","boxeur","branche","brasier","brave","brebis","brèche","breuvage","bricoler","brigade","brillant","brioche","brique","brochure","broder","bronzer","brousse","broyeur","brume","brusque","brutal","bruyant","buffle","buisson","bulletin","bureau","burin","bustier","butiner","butoir","buvable","buvette","cabanon","cabine","cachette","cadeau","cadre","caféine","caillou","caisson","calculer","calepin","calibre","calmer","calomnie","calvaire","camarade","caméra","camion","campagne","canal","caneton","canon","cantine","canular","capable","caporal","caprice","capsule","capter","capuche","carabine","carbone","caresser","caribou","carnage","carotte","carreau","carton","cascade","casier","casque","cassure","causer","caution","cavalier","caverne","caviar","cédille","ceinture","céleste","cellule","cendrier","censurer","central","cercle","cérébral","cerise","cerner","cerveau","cesser","chagrin","chaise","chaleur","chambre","chance","chapitre","charbon","chasseur","chaton","chausson","chavirer","chemise","chenille","chéquier","chercher","cheval","chien","chiffre","chignon","chimère","chiot","chlorure","chocolat","choisir","chose","chouette","chrome","chute","cigare","cigogne","cimenter","cinéma","cintrer","circuler","cirer","cirque","citerne","citoyen","citron","civil","clairon","clameur","claquer","classe","clavier","client","cligner","climat","clivage","cloche","clonage","cloporte","cobalt","cobra","cocasse","cocotier","coder","codifier","coffre","cogner","cohésion","coiffer","coincer","colère","colibri","colline","colmater","colonel","combat","comédie","commande","compact","concert","conduire","confier","congeler","connoter","consonne","contact","convexe","copain","copie","corail","corbeau","cordage","corniche","corpus","correct","cortège","cosmique","costume","coton","coude","coupure","courage","couteau","couvrir","coyote","crabe","crainte","cravate","crayon","créature","créditer","crémeux","creuser","crevette","cribler","crier","cristal","critère","croire","croquer","crotale","crucial","cruel","crypter","cubique","cueillir","cuillère","cuisine","cuivre","culminer","cultiver","cumuler","cupide","curatif","curseur","cyanure","cycle","cylindre","cynique","daigner","damier","danger","danseur","dauphin","débattre","débiter","déborder","débrider","débutant","décaler","décembre","déchirer","décider","déclarer","décorer","décrire","décupler","dédale","déductif","déesse","défensif","défiler","défrayer","dégager","dégivrer","déglutir","dégrafer","déjeuner","délice","déloger","demander","demeurer","démolir","dénicher","dénouer","dentelle","dénuder","départ","dépenser","déphaser","déplacer","déposer","déranger","dérober","désastre","descente","désert","désigner","désobéir","dessiner","destrier","détacher","détester","détourer","détresse","devancer","devenir","deviner","devoir","diable","dialogue","diamant","dicter","différer","digérer","digital","digne","diluer","dimanche","diminuer","dioxyde","directif","diriger","discuter","disposer","dissiper","distance","divertir","diviser","docile","docteur","dogme","doigt","domaine","domicile","dompter","donateur","donjon","donner","dopamine","dortoir","dorure","dosage","doseur","dossier","dotation","douanier","double","douceur","douter","doyen","dragon","draper","dresser","dribbler","droiture","duperie","duplexe","durable","durcir","dynastie","éblouir","écarter","écharpe","échelle","éclairer","éclipse","éclore","écluse","école","économie","écorce","écouter","écraser","écrémer","écrivain","écrou","écume","écureuil","édifier","éduquer","effacer","effectif","effigie","effort","effrayer","effusion","égaliser","égarer","éjecter","élaborer","élargir","électron","élégant","éléphant","élève","éligible","élitisme","éloge","élucider","éluder","emballer","embellir","embryon","émeraude","émission","emmener","émotion","émouvoir","empereur","employer","emporter","emprise","émulsion","encadrer","enchère","enclave","encoche","endiguer","endosser","endroit","enduire","énergie","enfance","enfermer","enfouir","engager","engin","englober","énigme","enjamber","enjeu","enlever","ennemi","ennuyeux","enrichir","enrobage","enseigne","entasser","entendre","entier","entourer","entraver","énumérer","envahir","enviable","envoyer","enzyme","éolien","épaissir","épargne","épatant","épaule","épicerie","épidémie","épier","épilogue","épine","épisode","épitaphe","époque","épreuve","éprouver","épuisant","équerre","équipe","ériger","érosion","erreur","éruption","escalier","espadon","espèce","espiègle","espoir","esprit","esquiver","essayer","essence","essieu","essorer","estime","estomac","estrade","étagère","étaler","étanche","étatique","éteindre","étendoir","éternel","éthanol","éthique","ethnie","étirer","étoffer","étoile","étonnant","étourdir","étrange","étroit","étude","euphorie","évaluer","évasion","éventail","évidence","éviter","évolutif","évoquer","exact","exagérer","exaucer","exceller","excitant","exclusif","excuse","exécuter","exemple","exercer","exhaler","exhorter","exigence","exiler","exister","exotique","expédier","explorer","exposer","exprimer","exquis","extensif","extraire","exulter","fable","fabuleux","facette","facile","facture","faiblir","falaise","fameux","famille","farceur","farfelu","farine","farouche","fasciner","fatal","fatigue","faucon","fautif","faveur","favori","fébrile","féconder","fédérer","félin","femme","fémur","fendoir","féodal","fermer","féroce","ferveur","festival","feuille","feutre","février","fiasco","ficeler","fictif","fidèle","figure","filature","filetage","filière","filleul","filmer","filou","filtrer","financer","finir","fiole","firme","fissure","fixer","flairer","flamme","flasque","flatteur","fléau","flèche","fleur","flexion","flocon","flore","fluctuer","fluide","fluvial","folie","fonderie","fongible","fontaine","forcer","forgeron","formuler","fortune","fossile","foudre","fougère","fouiller","foulure","fourmi","fragile","fraise","franchir","frapper","frayeur","frégate","freiner","frelon","frémir","frénésie","frère","friable","friction","frisson","frivole","froid","fromage","frontal","frotter","fruit","fugitif","fuite","fureur","furieux","furtif","fusion","futur","gagner","galaxie","galerie","gambader","garantir","gardien","garnir","garrigue","gazelle","gazon","géant","gélatine","gélule","gendarme","général","génie","genou","gentil","géologie","géomètre","géranium","germe","gestuel","geyser","gibier","gicler","girafe","givre","glace","glaive","glisser","globe","gloire","glorieux","golfeur","gomme","gonfler","gorge","gorille","goudron","gouffre","goulot","goupille","gourmand","goutte","graduel","graffiti","graine","grand","grappin","gratuit","gravir","grenat","griffure","griller","grimper","grogner","gronder","grotte","groupe","gruger","grutier","gruyère","guépard","guerrier","guide","guimauve","guitare","gustatif","gymnaste","gyrostat","habitude","hachoir","halte","hameau","hangar","hanneton","haricot","harmonie","harpon","hasard","hélium","hématome","herbe","hérisson","hermine","héron","hésiter","heureux","hiberner","hibou","hilarant","histoire","hiver","homard","hommage","homogène","honneur","honorer","honteux","horde","horizon","horloge","hormone","horrible","houleux","housse","hublot","huileux","humain","humble","humide","humour","hurler","hydromel","hygiène","hymne","hypnose","idylle","ignorer","iguane","illicite","illusion","image","imbiber","imiter","immense","immobile","immuable","impact","impérial","implorer","imposer","imprimer","imputer","incarner","incendie","incident","incliner","incolore","indexer","indice","inductif","inédit","ineptie","inexact","infini","infliger","informer","infusion","ingérer","inhaler","inhiber","injecter","injure","innocent","inoculer","inonder","inscrire","insecte","insigne","insolite","inspirer","instinct","insulter","intact","intense","intime","intrigue","intuitif","inutile","invasion","inventer","inviter","invoquer","ironique","irradier","irréel","irriter","isoler","ivoire","ivresse","jaguar","jaillir","jambe","janvier","jardin","jauger","jaune","javelot","jetable","jeton","jeudi","jeunesse","joindre","joncher","jongler","joueur","jouissif","journal","jovial","joyau","joyeux","jubiler","jugement","junior","jupon","juriste","justice","juteux","juvénile","kayak","kimono","kiosque","label","labial","labourer","lacérer","lactose","lagune","laine","laisser","laitier","lambeau","lamelle","lampe","lanceur","langage","lanterne","lapin","largeur","larme","laurier","lavabo","lavoir","lecture","légal","léger","légume","lessive","lettre","levier","lexique","lézard","liasse","libérer","libre","licence","licorne","liège","lièvre","ligature","ligoter","ligue","limer","limite","limonade","limpide","linéaire","lingot","lionceau","liquide","lisière","lister","lithium","litige","littoral","livreur","logique","lointain","loisir","lombric","loterie","louer","lourd","loutre","louve","loyal","lubie","lucide","lucratif","lueur","lugubre","luisant","lumière","lunaire","lundi","luron","lutter","luxueux","machine","magasin","magenta","magique","maigre","maillon","maintien","mairie","maison","majorer","malaxer","maléfice","malheur","malice","mallette","mammouth","mandater","maniable","manquant","manteau","manuel","marathon","marbre","marchand","mardi","maritime","marqueur","marron","marteler","mascotte","massif","matériel","matière","matraque","maudire","maussade","mauve","maximal","méchant","méconnu","médaille","médecin","méditer","méduse","meilleur","mélange","mélodie","membre","mémoire","menacer","mener","menhir","mensonge","mentor","mercredi","mérite","merle","messager","mesure","métal","météore","méthode","métier","meuble","miauler","microbe","miette","mignon","migrer","milieu","million","mimique","mince","minéral","minimal","minorer","minute","miracle","miroiter","missile","mixte","mobile","moderne","moelleux","mondial","moniteur","monnaie","monotone","monstre","montagne","monument","moqueur","morceau","morsure","mortier","moteur","motif","mouche","moufle","moulin","mousson","mouton","mouvant","multiple","munition","muraille","murène","murmure","muscle","muséum","musicien","mutation","muter","mutuel","myriade","myrtille","mystère","mythique","nageur","nappe","narquois","narrer","natation","nation","nature","naufrage","nautique","navire","nébuleux","nectar","néfaste","négation","négliger","négocier","neige","nerveux","nettoyer","neurone","neutron","neveu","niche","nickel","nitrate","niveau","noble","nocif","nocturne","noirceur","noisette","nomade","nombreux","nommer","normatif","notable","notifier","notoire","nourrir","nouveau","novateur","novembre","novice","nuage","nuancer","nuire","nuisible","numéro","nuptial","nuque","nutritif","obéir","objectif","obliger","obscur","observer","obstacle","obtenir","obturer","occasion","occuper","océan","octobre","octroyer","octupler","oculaire","odeur","odorant","offenser","officier","offrir","ogive","oiseau","oisillon","olfactif","olivier","ombrage","omettre","onctueux","onduler","onéreux","onirique","opale","opaque","opérer","opinion","opportun","opprimer","opter","optique","orageux","orange","orbite","ordonner","oreille","organe","orgueil","orifice","ornement","orque","ortie","osciller","osmose","ossature","otarie","ouragan","ourson","outil","outrager","ouvrage","ovation","oxyde","oxygène","ozone","paisible","palace","palmarès","palourde","palper","panache","panda","pangolin","paniquer","panneau","panorama","pantalon","papaye","papier","papoter","papyrus","paradoxe","parcelle","paresse","parfumer","parler","parole","parrain","parsemer","partager","parure","parvenir","passion","pastèque","paternel","patience","patron","pavillon","pavoiser","payer","paysage","peigne","peintre","pelage","pélican","pelle","pelouse","peluche","pendule","pénétrer","pénible","pensif","pénurie","pépite","péplum","perdrix","perforer","période","permuter","perplexe","persil","perte","peser","pétale","petit","pétrir","peuple","pharaon","phobie","phoque","photon","phrase","physique","piano","pictural","pièce","pierre","pieuvre","pilote","pinceau","pipette","piquer","pirogue","piscine","piston","pivoter","pixel","pizza","placard","plafond","plaisir","planer","plaque","plastron","plateau","pleurer","plexus","pliage","plomb","plonger","pluie","plumage","pochette","poésie","poète","pointe","poirier","poisson","poivre","polaire","policier","pollen","polygone","pommade","pompier","ponctuel","pondérer","poney","portique","position","posséder","posture","potager","poteau","potion","pouce","poulain","poumon","pourpre","poussin","pouvoir","prairie","pratique","précieux","prédire","préfixe","prélude","prénom","présence","prétexte","prévoir","primitif","prince","prison","priver","problème","procéder","prodige","profond","progrès","proie","projeter","prologue","promener","propre","prospère","protéger","prouesse","proverbe","prudence","pruneau","psychose","public","puceron","puiser","pulpe","pulsar","punaise","punitif","pupitre","purifier","puzzle","pyramide","quasar","querelle","question","quiétude","quitter","quotient","racine","raconter","radieux","ragondin","raideur","raisin","ralentir","rallonge","ramasser","rapide","rasage","ratisser","ravager","ravin","rayonner","réactif","réagir","réaliser","réanimer","recevoir","réciter","réclamer","récolter","recruter","reculer","recycler","rédiger","redouter","refaire","réflexe","réformer","refrain","refuge","régalien","région","réglage","régulier","réitérer","rejeter","rejouer","relatif","relever","relief","remarque","remède","remise","remonter","remplir","remuer","renard","renfort","renifler","renoncer","rentrer","renvoi","replier","reporter","reprise","reptile","requin","réserve","résineux","résoudre","respect","rester","résultat","rétablir","retenir","réticule","retomber","retracer","réunion","réussir","revanche","revivre","révolte","révulsif","richesse","rideau","rieur","rigide","rigoler","rincer","riposter","risible","risque","rituel","rival","rivière","rocheux","romance","rompre","ronce","rondin","roseau","rosier","rotatif","rotor","rotule","rouge","rouille","rouleau","routine","royaume","ruban","rubis","ruche","ruelle","rugueux","ruiner","ruisseau","ruser","rustique","rythme","sabler","saboter","sabre","sacoche","safari","sagesse","saisir","salade","salive","salon","saluer","samedi","sanction","sanglier","sarcasme","sardine","saturer","saugrenu","saumon","sauter","sauvage","savant","savonner","scalpel","scandale","scélérat","scénario","sceptre","schéma","science","scinder","score","scrutin","sculpter","séance","sécable","sécher","secouer","sécréter","sédatif","séduire","seigneur","séjour","sélectif","semaine","sembler","semence","séminal","sénateur","sensible","sentence","séparer","séquence","serein","sergent","sérieux","serrure","sérum","service","sésame","sévir","sevrage","sextuple","sidéral","siècle","siéger","siffler","sigle","signal","silence","silicium","simple","sincère","sinistre","siphon","sirop","sismique","situer","skier","social","socle","sodium","soigneux","soldat","soleil","solitude","soluble","sombre","sommeil","somnoler","sonde","songeur","sonnette","sonore","sorcier","sortir","sosie","sottise","soucieux","soudure","souffle","soulever","soupape","source","soutirer","souvenir","spacieux","spatial","spécial","sphère","spiral","stable","station","sternum","stimulus","stipuler","strict","studieux","stupeur","styliste","sublime","substrat","subtil","subvenir","succès","sucre","suffixe","suggérer","suiveur","sulfate","superbe","supplier","surface","suricate","surmener","surprise","sursaut","survie","suspect","syllabe","symbole","symétrie","synapse","syntaxe","système","tabac","tablier","tactile","tailler","talent","talisman","talonner","tambour","tamiser","tangible","tapis","taquiner","tarder","tarif","tartine","tasse","tatami","tatouage","taupe","taureau","taxer","témoin","temporel","tenaille","tendre","teneur","tenir","tension","terminer","terne","terrible","tétine","texte","thème","théorie","thérapie","thorax","tibia","tiède","timide","tirelire","tiroir","tissu","titane","titre","tituber","toboggan","tolérant","tomate","tonique","tonneau","toponyme","torche","tordre","tornade","torpille","torrent","torse","tortue","totem","toucher","tournage","tousser","toxine","traction","trafic","tragique","trahir","train","trancher","travail","trèfle","tremper","trésor","treuil","triage","tribunal","tricoter","trilogie","triomphe","tripler","triturer","trivial","trombone","tronc","tropical","troupeau","tuile","tulipe","tumulte","tunnel","turbine","tuteur","tutoyer","tuyau","tympan","typhon","typique","tyran","ubuesque","ultime","ultrason","unanime","unifier","union","unique","unitaire","univers","uranium","urbain","urticant","usage","usine","usuel","usure","utile","utopie","vacarme","vaccin","vagabond","vague","vaillant","vaincre","vaisseau","valable","valise","vallon","valve","vampire","vanille","vapeur","varier","vaseux","vassal","vaste","vecteur","vedette","végétal","véhicule","veinard","véloce","vendredi","vénérer","venger","venimeux","ventouse","verdure","vérin","vernir","verrou","verser","vertu","veston","vétéran","vétuste","vexant","vexer","viaduc","viande","victoire","vidange","vidéo","vignette","vigueur","vilain","village","vinaigre","violon","vipère","virement","virtuose","virus","visage","viseur","vision","visqueux","visuel","vital","vitesse","viticole","vitrine","vivace","vivipare","vocation","voguer","voile","voisin","voiture","volaille","volcan","voltiger","volume","vorace","vortex","voter","vouloir","voyage","voyelle","wagon","xénon","yacht","zèbre","zénith","zeste","zoologie"]')},94019:function(eb){"use strict";eb.exports=JSON.parse('["abaco","abbaglio","abbinato","abete","abisso","abolire","abrasivo","abrogato","accadere","accenno","accusato","acetone","achille","acido","acqua","acre","acrilico","acrobata","acuto","adagio","addebito","addome","adeguato","aderire","adipe","adottare","adulare","affabile","affetto","affisso","affranto","aforisma","afoso","africano","agave","agente","agevole","aggancio","agire","agitare","agonismo","agricolo","agrumeto","aguzzo","alabarda","alato","albatro","alberato","albo","albume","alce","alcolico","alettone","alfa","algebra","aliante","alibi","alimento","allagato","allegro","allievo","allodola","allusivo","almeno","alogeno","alpaca","alpestre","altalena","alterno","alticcio","altrove","alunno","alveolo","alzare","amalgama","amanita","amarena","ambito","ambrato","ameba","america","ametista","amico","ammasso","ammenda","ammirare","ammonito","amore","ampio","ampliare","amuleto","anacardo","anagrafe","analista","anarchia","anatra","anca","ancella","ancora","andare","andrea","anello","angelo","angolare","angusto","anima","annegare","annidato","anno","annuncio","anonimo","anticipo","anzi","apatico","apertura","apode","apparire","appetito","appoggio","approdo","appunto","aprile","arabica","arachide","aragosta","araldica","arancio","aratura","arazzo","arbitro","archivio","ardito","arenile","argento","argine","arguto","aria","armonia","arnese","arredato","arringa","arrosto","arsenico","arso","artefice","arzillo","asciutto","ascolto","asepsi","asettico","asfalto","asino","asola","aspirato","aspro","assaggio","asse","assoluto","assurdo","asta","astenuto","astice","astratto","atavico","ateismo","atomico","atono","attesa","attivare","attorno","attrito","attuale","ausilio","austria","autista","autonomo","autunno","avanzato","avere","avvenire","avviso","avvolgere","azione","azoto","azzimo","azzurro","babele","baccano","bacino","baco","badessa","badilata","bagnato","baita","balcone","baldo","balena","ballata","balzano","bambino","bandire","baraonda","barbaro","barca","baritono","barlume","barocco","basilico","basso","batosta","battuto","baule","bava","bavosa","becco","beffa","belgio","belva","benda","benevole","benigno","benzina","bere","berlina","beta","bibita","bici","bidone","bifido","biga","bilancia","bimbo","binocolo","biologo","bipede","bipolare","birbante","birra","biscotto","bisesto","bisnonno","bisonte","bisturi","bizzarro","blando","blatta","bollito","bonifico","bordo","bosco","botanico","bottino","bozzolo","braccio","bradipo","brama","branca","bravura","bretella","brevetto","brezza","briglia","brillante","brindare","broccolo","brodo","bronzina","brullo","bruno","bubbone","buca","budino","buffone","buio","bulbo","buono","burlone","burrasca","bussola","busta","cadetto","caduco","calamaro","calcolo","calesse","calibro","calmo","caloria","cambusa","camerata","camicia","cammino","camola","campale","canapa","candela","cane","canino","canotto","cantina","capace","capello","capitolo","capogiro","cappero","capra","capsula","carapace","carcassa","cardo","carisma","carovana","carretto","cartolina","casaccio","cascata","caserma","caso","cassone","castello","casuale","catasta","catena","catrame","cauto","cavillo","cedibile","cedrata","cefalo","celebre","cellulare","cena","cenone","centesimo","ceramica","cercare","certo","cerume","cervello","cesoia","cespo","ceto","chela","chiaro","chicca","chiedere","chimera","china","chirurgo","chitarra","ciao","ciclismo","cifrare","cigno","cilindro","ciottolo","circa","cirrosi","citrico","cittadino","ciuffo","civetta","civile","classico","clinica","cloro","cocco","codardo","codice","coerente","cognome","collare","colmato","colore","colposo","coltivato","colza","coma","cometa","commando","comodo","computer","comune","conciso","condurre","conferma","congelare","coniuge","connesso","conoscere","consumo","continuo","convegno","coperto","copione","coppia","copricapo","corazza","cordata","coricato","cornice","corolla","corpo","corredo","corsia","cortese","cosmico","costante","cottura","covato","cratere","cravatta","creato","credere","cremoso","crescita","creta","criceto","crinale","crisi","critico","croce","cronaca","crostata","cruciale","crusca","cucire","cuculo","cugino","cullato","cupola","curatore","cursore","curvo","cuscino","custode","dado","daino","dalmata","damerino","daniela","dannoso","danzare","datato","davanti","davvero","debutto","decennio","deciso","declino","decollo","decreto","dedicato","definito","deforme","degno","delegare","delfino","delirio","delta","demenza","denotato","dentro","deposito","derapata","derivare","deroga","descritto","deserto","desiderio","desumere","detersivo","devoto","diametro","dicembre","diedro","difeso","diffuso","digerire","digitale","diluvio","dinamico","dinnanzi","dipinto","diploma","dipolo","diradare","dire","dirotto","dirupo","disagio","discreto","disfare","disgelo","disposto","distanza","disumano","dito","divano","divelto","dividere","divorato","doblone","docente","doganale","dogma","dolce","domato","domenica","dominare","dondolo","dono","dormire","dote","dottore","dovuto","dozzina","drago","druido","dubbio","dubitare","ducale","duna","duomo","duplice","duraturo","ebano","eccesso","ecco","eclissi","economia","edera","edicola","edile","editoria","educare","egemonia","egli","egoismo","egregio","elaborato","elargire","elegante","elencato","eletto","elevare","elfico","elica","elmo","elsa","eluso","emanato","emblema","emesso","emiro","emotivo","emozione","empirico","emulo","endemico","enduro","energia","enfasi","enoteca","entrare","enzima","epatite","epilogo","episodio","epocale","eppure","equatore","erario","erba","erboso","erede","eremita","erigere","ermetico","eroe","erosivo","errante","esagono","esame","esanime","esaudire","esca","esempio","esercito","esibito","esigente","esistere","esito","esofago","esortato","esoso","espanso","espresso","essenza","esso","esteso","estimare","estonia","estroso","esultare","etilico","etnico","etrusco","etto","euclideo","europa","evaso","evidenza","evitato","evoluto","evviva","fabbrica","faccenda","fachiro","falco","famiglia","fanale","fanfara","fango","fantasma","fare","farfalla","farinoso","farmaco","fascia","fastoso","fasullo","faticare","fato","favoloso","febbre","fecola","fede","fegato","felpa","feltro","femmina","fendere","fenomeno","fermento","ferro","fertile","fessura","festivo","fetta","feudo","fiaba","fiducia","fifa","figurato","filo","finanza","finestra","finire","fiore","fiscale","fisico","fiume","flacone","flamenco","flebo","flemma","florido","fluente","fluoro","fobico","focaccia","focoso","foderato","foglio","folata","folclore","folgore","fondente","fonetico","fonia","fontana","forbito","forchetta","foresta","formica","fornaio","foro","fortezza","forzare","fosfato","fosso","fracasso","frana","frassino","fratello","freccetta","frenata","fresco","frigo","frollino","fronde","frugale","frutta","fucilata","fucsia","fuggente","fulmine","fulvo","fumante","fumetto","fumoso","fune","funzione","fuoco","furbo","furgone","furore","fuso","futile","gabbiano","gaffe","galateo","gallina","galoppo","gambero","gamma","garanzia","garbo","garofano","garzone","gasdotto","gasolio","gastrico","gatto","gaudio","gazebo","gazzella","geco","gelatina","gelso","gemello","gemmato","gene","genitore","gennaio","genotipo","gergo","ghepardo","ghiaccio","ghisa","giallo","gilda","ginepro","giocare","gioiello","giorno","giove","girato","girone","gittata","giudizio","giurato","giusto","globulo","glutine","gnomo","gobba","golf","gomito","gommone","gonfio","gonna","governo","gracile","grado","grafico","grammo","grande","grattare","gravoso","grazia","greca","gregge","grifone","grigio","grinza","grotta","gruppo","guadagno","guaio","guanto","guardare","gufo","guidare","ibernato","icona","identico","idillio","idolo","idra","idrico","idrogeno","igiene","ignaro","ignorato","ilare","illeso","illogico","illudere","imballo","imbevuto","imbocco","imbuto","immane","immerso","immolato","impacco","impeto","impiego","importo","impronta","inalare","inarcare","inattivo","incanto","incendio","inchino","incisivo","incluso","incontro","incrocio","incubo","indagine","india","indole","inedito","infatti","infilare","inflitto","ingaggio","ingegno","inglese","ingordo","ingrosso","innesco","inodore","inoltrare","inondato","insano","insetto","insieme","insonnia","insulina","intasato","intero","intonaco","intuito","inumidire","invalido","invece","invito","iperbole","ipnotico","ipotesi","ippica","iride","irlanda","ironico","irrigato","irrorare","isolato","isotopo","isterico","istituto","istrice","italia","iterare","labbro","labirinto","lacca","lacerato","lacrima","lacuna","laddove","lago","lampo","lancetta","lanterna","lardoso","larga","laringe","lastra","latenza","latino","lattuga","lavagna","lavoro","legale","leggero","lembo","lentezza","lenza","leone","lepre","lesivo","lessato","lesto","letterale","leva","levigato","libero","lido","lievito","lilla","limatura","limitare","limpido","lineare","lingua","liquido","lira","lirica","lisca","lite","litigio","livrea","locanda","lode","logica","lombare","londra","longevo","loquace","lorenzo","loto","lotteria","luce","lucidato","lumaca","luminoso","lungo","lupo","luppolo","lusinga","lusso","lutto","macabro","macchina","macero","macinato","madama","magico","maglia","magnete","magro","maiolica","malafede","malgrado","malinteso","malsano","malto","malumore","mana","mancia","mandorla","mangiare","manifesto","mannaro","manovra","mansarda","mantide","manubrio","mappa","maratona","marcire","maretta","marmo","marsupio","maschera","massaia","mastino","materasso","matricola","mattone","maturo","mazurca","meandro","meccanico","mecenate","medesimo","meditare","mega","melassa","melis","melodia","meninge","meno","mensola","mercurio","merenda","merlo","meschino","mese","messere","mestolo","metallo","metodo","mettere","miagolare","mica","micelio","michele","microbo","midollo","miele","migliore","milano","milite","mimosa","minerale","mini","minore","mirino","mirtillo","miscela","missiva","misto","misurare","mitezza","mitigare","mitra","mittente","mnemonico","modello","modifica","modulo","mogano","mogio","mole","molosso","monastero","monco","mondina","monetario","monile","monotono","monsone","montato","monviso","mora","mordere","morsicato","mostro","motivato","motosega","motto","movenza","movimento","mozzo","mucca","mucosa","muffa","mughetto","mugnaio","mulatto","mulinello","multiplo","mummia","munto","muovere","murale","musa","muscolo","musica","mutevole","muto","nababbo","nafta","nanometro","narciso","narice","narrato","nascere","nastrare","naturale","nautica","naviglio","nebulosa","necrosi","negativo","negozio","nemmeno","neofita","neretto","nervo","nessuno","nettuno","neutrale","neve","nevrotico","nicchia","ninfa","nitido","nobile","nocivo","nodo","nome","nomina","nordico","normale","norvegese","nostrano","notare","notizia","notturno","novella","nucleo","nulla","numero","nuovo","nutrire","nuvola","nuziale","oasi","obbedire","obbligo","obelisco","oblio","obolo","obsoleto","occasione","occhio","occidente","occorrere","occultare","ocra","oculato","odierno","odorare","offerta","offrire","offuscato","oggetto","oggi","ognuno","olandese","olfatto","oliato","oliva","ologramma","oltre","omaggio","ombelico","ombra","omega","omissione","ondoso","onere","onice","onnivoro","onorevole","onta","operato","opinione","opposto","oracolo","orafo","ordine","orecchino","orefice","orfano","organico","origine","orizzonte","orma","ormeggio","ornativo","orologio","orrendo","orribile","ortensia","ortica","orzata","orzo","osare","oscurare","osmosi","ospedale","ospite","ossa","ossidare","ostacolo","oste","otite","otre","ottagono","ottimo","ottobre","ovale","ovest","ovino","oviparo","ovocito","ovunque","ovviare","ozio","pacchetto","pace","pacifico","padella","padrone","paese","paga","pagina","palazzina","palesare","pallido","palo","palude","pandoro","pannello","paolo","paonazzo","paprica","parabola","parcella","parere","pargolo","pari","parlato","parola","partire","parvenza","parziale","passivo","pasticca","patacca","patologia","pattume","pavone","peccato","pedalare","pedonale","peggio","peloso","penare","pendice","penisola","pennuto","penombra","pensare","pentola","pepe","pepita","perbene","percorso","perdonato","perforare","pergamena","periodo","permesso","perno","perplesso","persuaso","pertugio","pervaso","pesatore","pesista","peso","pestifero","petalo","pettine","petulante","pezzo","piacere","pianta","piattino","piccino","picozza","piega","pietra","piffero","pigiama","pigolio","pigro","pila","pilifero","pillola","pilota","pimpante","pineta","pinna","pinolo","pioggia","piombo","piramide","piretico","pirite","pirolisi","pitone","pizzico","placebo","planare","plasma","platano","plenario","pochezza","poderoso","podismo","poesia","poggiare","polenta","poligono","pollice","polmonite","polpetta","polso","poltrona","polvere","pomice","pomodoro","ponte","popoloso","porfido","poroso","porpora","porre","portata","posa","positivo","possesso","postulato","potassio","potere","pranzo","prassi","pratica","precluso","predica","prefisso","pregiato","prelievo","premere","prenotare","preparato","presenza","pretesto","prevalso","prima","principe","privato","problema","procura","produrre","profumo","progetto","prolunga","promessa","pronome","proposta","proroga","proteso","prova","prudente","prugna","prurito","psiche","pubblico","pudica","pugilato","pugno","pulce","pulito","pulsante","puntare","pupazzo","pupilla","puro","quadro","qualcosa","quasi","querela","quota","raccolto","raddoppio","radicale","radunato","raffica","ragazzo","ragione","ragno","ramarro","ramingo","ramo","randagio","rantolare","rapato","rapina","rappreso","rasatura","raschiato","rasente","rassegna","rastrello","rata","ravveduto","reale","recepire","recinto","recluta","recondito","recupero","reddito","redimere","regalato","registro","regola","regresso","relazione","remare","remoto","renna","replica","reprimere","reputare","resa","residente","responso","restauro","rete","retina","retorica","rettifica","revocato","riassunto","ribadire","ribelle","ribrezzo","ricarica","ricco","ricevere","riciclato","ricordo","ricreduto","ridicolo","ridurre","rifasare","riflesso","riforma","rifugio","rigare","rigettato","righello","rilassato","rilevato","rimanere","rimbalzo","rimedio","rimorchio","rinascita","rincaro","rinforzo","rinnovo","rinomato","rinsavito","rintocco","rinuncia","rinvenire","riparato","ripetuto","ripieno","riportare","ripresa","ripulire","risata","rischio","riserva","risibile","riso","rispetto","ristoro","risultato","risvolto","ritardo","ritegno","ritmico","ritrovo","riunione","riva","riverso","rivincita","rivolto","rizoma","roba","robotico","robusto","roccia","roco","rodaggio","rodere","roditore","rogito","rollio","romantico","rompere","ronzio","rosolare","rospo","rotante","rotondo","rotula","rovescio","rubizzo","rubrica","ruga","rullino","rumine","rumoroso","ruolo","rupe","russare","rustico","sabato","sabbiare","sabotato","sagoma","salasso","saldatura","salgemma","salivare","salmone","salone","saltare","saluto","salvo","sapere","sapido","saporito","saraceno","sarcasmo","sarto","sassoso","satellite","satira","satollo","saturno","savana","savio","saziato","sbadiglio","sbalzo","sbancato","sbarra","sbattere","sbavare","sbendare","sbirciare","sbloccato","sbocciato","sbrinare","sbruffone","sbuffare","scabroso","scadenza","scala","scambiare","scandalo","scapola","scarso","scatenare","scavato","scelto","scenico","scettro","scheda","schiena","sciarpa","scienza","scindere","scippo","sciroppo","scivolo","sclerare","scodella","scolpito","scomparto","sconforto","scoprire","scorta","scossone","scozzese","scriba","scrollare","scrutinio","scuderia","scultore","scuola","scuro","scusare","sdebitare","sdoganare","seccatura","secondo","sedano","seggiola","segnalato","segregato","seguito","selciato","selettivo","sella","selvaggio","semaforo","sembrare","seme","seminato","sempre","senso","sentire","sepolto","sequenza","serata","serbato","sereno","serio","serpente","serraglio","servire","sestina","setola","settimana","sfacelo","sfaldare","sfamato","sfarzoso","sfaticato","sfera","sfida","sfilato","sfinge","sfocato","sfoderare","sfogo","sfoltire","sforzato","sfratto","sfruttato","sfuggito","sfumare","sfuso","sgabello","sgarbato","sgonfiare","sgorbio","sgrassato","sguardo","sibilo","siccome","sierra","sigla","signore","silenzio","sillaba","simbolo","simpatico","simulato","sinfonia","singolo","sinistro","sino","sintesi","sinusoide","sipario","sisma","sistole","situato","slitta","slogatura","sloveno","smarrito","smemorato","smentito","smeraldo","smilzo","smontare","smottato","smussato","snellire","snervato","snodo","sobbalzo","sobrio","soccorso","sociale","sodale","soffitto","sogno","soldato","solenne","solido","sollazzo","solo","solubile","solvente","somatico","somma","sonda","sonetto","sonnifero","sopire","soppeso","sopra","sorgere","sorpasso","sorriso","sorso","sorteggio","sorvolato","sospiro","sosta","sottile","spada","spalla","spargere","spatola","spavento","spazzola","specie","spedire","spegnere","spelatura","speranza","spessore","spettrale","spezzato","spia","spigoloso","spillato","spinoso","spirale","splendido","sportivo","sposo","spranga","sprecare","spronato","spruzzo","spuntino","squillo","sradicare","srotolato","stabile","stacco","staffa","stagnare","stampato","stantio","starnuto","stasera","statuto","stelo","steppa","sterzo","stiletto","stima","stirpe","stivale","stizzoso","stonato","storico","strappo","stregato","stridulo","strozzare","strutto","stuccare","stufo","stupendo","subentro","succoso","sudore","suggerito","sugo","sultano","suonare","superbo","supporto","surgelato","surrogato","sussurro","sutura","svagare","svedese","sveglio","svelare","svenuto","svezia","sviluppo","svista","svizzera","svolta","svuotare","tabacco","tabulato","tacciare","taciturno","tale","talismano","tampone","tannino","tara","tardivo","targato","tariffa","tarpare","tartaruga","tasto","tattico","taverna","tavolata","tazza","teca","tecnico","telefono","temerario","tempo","temuto","tendone","tenero","tensione","tentacolo","teorema","terme","terrazzo","terzetto","tesi","tesserato","testato","tetro","tettoia","tifare","tigella","timbro","tinto","tipico","tipografo","tiraggio","tiro","titanio","titolo","titubante","tizio","tizzone","toccare","tollerare","tolto","tombola","tomo","tonfo","tonsilla","topazio","topologia","toppa","torba","tornare","torrone","tortora","toscano","tossire","tostatura","totano","trabocco","trachea","trafila","tragedia","tralcio","tramonto","transito","trapano","trarre","trasloco","trattato","trave","treccia","tremolio","trespolo","tributo","tricheco","trifoglio","trillo","trincea","trio","tristezza","triturato","trivella","tromba","trono","troppo","trottola","trovare","truccato","tubatura","tuffato","tulipano","tumulto","tunisia","turbare","turchino","tuta","tutela","ubicato","uccello","uccisore","udire","uditivo","uffa","ufficio","uguale","ulisse","ultimato","umano","umile","umorismo","uncinetto","ungere","ungherese","unicorno","unificato","unisono","unitario","unte","uovo","upupa","uragano","urgenza","urlo","usanza","usato","uscito","usignolo","usuraio","utensile","utilizzo","utopia","vacante","vaccinato","vagabondo","vagliato","valanga","valgo","valico","valletta","valoroso","valutare","valvola","vampata","vangare","vanitoso","vano","vantaggio","vanvera","vapore","varano","varcato","variante","vasca","vedetta","vedova","veduto","vegetale","veicolo","velcro","velina","velluto","veloce","venato","vendemmia","vento","verace","verbale","vergogna","verifica","vero","verruca","verticale","vescica","vessillo","vestale","veterano","vetrina","vetusto","viandante","vibrante","vicenda","vichingo","vicinanza","vidimare","vigilia","vigneto","vigore","vile","villano","vimini","vincitore","viola","vipera","virgola","virologo","virulento","viscoso","visione","vispo","vissuto","visura","vita","vitello","vittima","vivanda","vivido","viziare","voce","voga","volatile","volere","volpe","voragine","vulcano","zampogna","zanna","zappato","zattera","zavorra","zefiro","zelante","zelo","zenzero","zerbino","zibetto","zinco","zircone","zitto","zolla","zotico","zucchero","zufolo","zulu","zuppa"]')},67868:function(eb){"use strict";eb.exports=JSON.parse('["あいこくしん","あいさつ","あいだ","あおぞら","あかちゃん","あきる","あけがた","あける","あこがれる","あさい","あさひ","あしあと","あじわう","あずかる","あずき","あそぶ","あたえる","あたためる","あたりまえ","あたる","あつい","あつかう","あっしゅく","あつまり","あつめる","あてな","あてはまる","あひる","あぶら","あぶる","あふれる","あまい","あまど","あまやかす","あまり","あみもの","あめりか","あやまる","あゆむ","あらいぐま","あらし","あらすじ","あらためる","あらゆる","あらわす","ありがとう","あわせる","あわてる","あんい","あんがい","あんこ","あんぜん","あんてい","あんない","あんまり","いいだす","いおん","いがい","いがく","いきおい","いきなり","いきもの","いきる","いくじ","いくぶん","いけばな","いけん","いこう","いこく","いこつ","いさましい","いさん","いしき","いじゅう","いじょう","いじわる","いずみ","いずれ","いせい","いせえび","いせかい","いせき","いぜん","いそうろう","いそがしい","いだい","いだく","いたずら","いたみ","いたりあ","いちおう","いちじ","いちど","いちば","いちぶ","いちりゅう","いつか","いっしゅん","いっせい","いっそう","いったん","いっち","いってい","いっぽう","いてざ","いてん","いどう","いとこ","いない","いなか","いねむり","いのち","いのる","いはつ","いばる","いはん","いびき","いひん","いふく","いへん","いほう","いみん","いもうと","いもたれ","いもり","いやがる","いやす","いよかん","いよく","いらい","いらすと","いりぐち","いりょう","いれい","いれもの","いれる","いろえんぴつ","いわい","いわう","いわかん","いわば","いわゆる","いんげんまめ","いんさつ","いんしょう","いんよう","うえき","うえる","うおざ","うがい","うかぶ","うかべる","うきわ","うくらいな","うくれれ","うけたまわる","うけつけ","うけとる","うけもつ","うける","うごかす","うごく","うこん","うさぎ","うしなう","うしろがみ","うすい","うすぎ","うすぐらい","うすめる","うせつ","うちあわせ","うちがわ","うちき","うちゅう","うっかり","うつくしい","うったえる","うつる","うどん","うなぎ","うなじ","うなずく","うなる","うねる","うのう","うぶげ","うぶごえ","うまれる","うめる","うもう","うやまう","うよく","うらがえす","うらぐち","うらない","うりあげ","うりきれ","うるさい","うれしい","うれゆき","うれる","うろこ","うわき","うわさ","うんこう","うんちん","うんてん","うんどう","えいえん","えいが","えいきょう","えいご","えいせい","えいぶん","えいよう","えいわ","えおり","えがお","えがく","えきたい","えくせる","えしゃく","えすて","えつらん","えのぐ","えほうまき","えほん","えまき","えもじ","えもの","えらい","えらぶ","えりあ","えんえん","えんかい","えんぎ","えんげき","えんしゅう","えんぜつ","えんそく","えんちょう","えんとつ","おいかける","おいこす","おいしい","おいつく","おうえん","おうさま","おうじ","おうせつ","おうたい","おうふく","おうべい","おうよう","おえる","おおい","おおう","おおどおり","おおや","おおよそ","おかえり","おかず","おがむ","おかわり","おぎなう","おきる","おくさま","おくじょう","おくりがな","おくる","おくれる","おこす","おこなう","おこる","おさえる","おさない","おさめる","おしいれ","おしえる","おじぎ","おじさん","おしゃれ","おそらく","おそわる","おたがい","おたく","おだやか","おちつく","おっと","おつり","おでかけ","おとしもの","おとなしい","おどり","おどろかす","おばさん","おまいり","おめでとう","おもいで","おもう","おもたい","おもちゃ","おやつ","おやゆび","およぼす","おらんだ","おろす","おんがく","おんけい","おんしゃ","おんせん","おんだん","おんちゅう","おんどけい","かあつ","かいが","がいき","がいけん","がいこう","かいさつ","かいしゃ","かいすいよく","かいぜん","かいぞうど","かいつう","かいてん","かいとう","かいふく","がいへき","かいほう","かいよう","がいらい","かいわ","かえる","かおり","かかえる","かがく","かがし","かがみ","かくご","かくとく","かざる","がぞう","かたい","かたち","がちょう","がっきゅう","がっこう","がっさん","がっしょう","かなざわし","かのう","がはく","かぶか","かほう","かほご","かまう","かまぼこ","かめれおん","かゆい","かようび","からい","かるい","かろう","かわく","かわら","がんか","かんけい","かんこう","かんしゃ","かんそう","かんたん","かんち","がんばる","きあい","きあつ","きいろ","ぎいん","きうい","きうん","きえる","きおう","きおく","きおち","きおん","きかい","きかく","きかんしゃ","ききて","きくばり","きくらげ","きけんせい","きこう","きこえる","きこく","きさい","きさく","きさま","きさらぎ","ぎじかがく","ぎしき","ぎじたいけん","ぎじにってい","ぎじゅつしゃ","きすう","きせい","きせき","きせつ","きそう","きぞく","きぞん","きたえる","きちょう","きつえん","ぎっちり","きつつき","きつね","きてい","きどう","きどく","きない","きなが","きなこ","きぬごし","きねん","きのう","きのした","きはく","きびしい","きひん","きふく","きぶん","きぼう","きほん","きまる","きみつ","きむずかしい","きめる","きもだめし","きもち","きもの","きゃく","きやく","ぎゅうにく","きよう","きょうりゅう","きらい","きらく","きりん","きれい","きれつ","きろく","ぎろん","きわめる","ぎんいろ","きんかくじ","きんじょ","きんようび","ぐあい","くいず","くうかん","くうき","くうぐん","くうこう","ぐうせい","くうそう","ぐうたら","くうふく","くうぼ","くかん","くきょう","くげん","ぐこう","くさい","くさき","くさばな","くさる","くしゃみ","くしょう","くすのき","くすりゆび","くせげ","くせん","ぐたいてき","くださる","くたびれる","くちこみ","くちさき","くつした","ぐっすり","くつろぐ","くとうてん","くどく","くなん","くねくね","くのう","くふう","くみあわせ","くみたてる","くめる","くやくしょ","くらす","くらべる","くるま","くれる","くろう","くわしい","ぐんかん","ぐんしょく","ぐんたい","ぐんて","けあな","けいかく","けいけん","けいこ","けいさつ","げいじゅつ","けいたい","げいのうじん","けいれき","けいろ","けおとす","けおりもの","げきか","げきげん","げきだん","げきちん","げきとつ","げきは","げきやく","げこう","げこくじょう","げざい","けさき","げざん","けしき","けしごむ","けしょう","げすと","けたば","けちゃっぷ","けちらす","けつあつ","けつい","けつえき","けっこん","けつじょ","けっせき","けってい","けつまつ","げつようび","げつれい","けつろん","げどく","けとばす","けとる","けなげ","けなす","けなみ","けぬき","げねつ","けねん","けはい","げひん","けぶかい","げぼく","けまり","けみかる","けむし","けむり","けもの","けらい","けろけろ","けわしい","けんい","けんえつ","けんお","けんか","げんき","けんげん","けんこう","けんさく","けんしゅう","けんすう","げんそう","けんちく","けんてい","けんとう","けんない","けんにん","げんぶつ","けんま","けんみん","けんめい","けんらん","けんり","こあくま","こいぬ","こいびと","ごうい","こうえん","こうおん","こうかん","ごうきゅう","ごうけい","こうこう","こうさい","こうじ","こうすい","ごうせい","こうそく","こうたい","こうちゃ","こうつう","こうてい","こうどう","こうない","こうはい","ごうほう","ごうまん","こうもく","こうりつ","こえる","こおり","ごかい","ごがつ","ごかん","こくご","こくさい","こくとう","こくない","こくはく","こぐま","こけい","こける","ここのか","こころ","こさめ","こしつ","こすう","こせい","こせき","こぜん","こそだて","こたい","こたえる","こたつ","こちょう","こっか","こつこつ","こつばん","こつぶ","こてい","こてん","ことがら","ことし","ことば","ことり","こなごな","こねこね","このまま","このみ","このよ","ごはん","こひつじ","こふう","こふん","こぼれる","ごまあぶら","こまかい","ごますり","こまつな","こまる","こむぎこ","こもじ","こもち","こもの","こもん","こやく","こやま","こゆう","こゆび","こよい","こよう","こりる","これくしょん","ころっけ","こわもて","こわれる","こんいん","こんかい","こんき","こんしゅう","こんすい","こんだて","こんとん","こんなん","こんびに","こんぽん","こんまけ","こんや","こんれい","こんわく","ざいえき","さいかい","さいきん","ざいげん","ざいこ","さいしょ","さいせい","ざいたく","ざいちゅう","さいてき","ざいりょう","さうな","さかいし","さがす","さかな","さかみち","さがる","さぎょう","さくし","さくひん","さくら","さこく","さこつ","さずかる","ざせき","さたん","さつえい","ざつおん","ざっか","ざつがく","さっきょく","ざっし","さつじん","ざっそう","さつたば","さつまいも","さてい","さといも","さとう","さとおや","さとし","さとる","さのう","さばく","さびしい","さべつ","さほう","さほど","さます","さみしい","さみだれ","さむけ","さめる","さやえんどう","さゆう","さよう","さよく","さらだ","ざるそば","さわやか","さわる","さんいん","さんか","さんきゃく","さんこう","さんさい","ざんしょ","さんすう","さんせい","さんそ","さんち","さんま","さんみ","さんらん","しあい","しあげ","しあさって","しあわせ","しいく","しいん","しうち","しえい","しおけ","しかい","しかく","じかん","しごと","しすう","じだい","したうけ","したぎ","したて","したみ","しちょう","しちりん","しっかり","しつじ","しつもん","してい","してき","してつ","じてん","じどう","しなぎれ","しなもの","しなん","しねま","しねん","しのぐ","しのぶ","しはい","しばかり","しはつ","しはらい","しはん","しひょう","しふく","じぶん","しへい","しほう","しほん","しまう","しまる","しみん","しむける","じむしょ","しめい","しめる","しもん","しゃいん","しゃうん","しゃおん","じゃがいも","しやくしょ","しゃくほう","しゃけん","しゃこ","しゃざい","しゃしん","しゃせん","しゃそう","しゃたい","しゃちょう","しゃっきん","じゃま","しゃりん","しゃれい","じゆう","じゅうしょ","しゅくはく","じゅしん","しゅっせき","しゅみ","しゅらば","じゅんばん","しょうかい","しょくたく","しょっけん","しょどう","しょもつ","しらせる","しらべる","しんか","しんこう","じんじゃ","しんせいじ","しんちく","しんりん","すあげ","すあし","すあな","ずあん","すいえい","すいか","すいとう","ずいぶん","すいようび","すうがく","すうじつ","すうせん","すおどり","すきま","すくう","すくない","すける","すごい","すこし","ずさん","すずしい","すすむ","すすめる","すっかり","ずっしり","ずっと","すてき","すてる","すねる","すのこ","すはだ","すばらしい","ずひょう","ずぶぬれ","すぶり","すふれ","すべて","すべる","ずほう","すぼん","すまい","すめし","すもう","すやき","すらすら","するめ","すれちがう","すろっと","すわる","すんぜん","すんぽう","せあぶら","せいかつ","せいげん","せいじ","せいよう","せおう","せかいかん","せきにん","せきむ","せきゆ","せきらんうん","せけん","せこう","せすじ","せたい","せたけ","せっかく","せっきゃく","ぜっく","せっけん","せっこつ","せっさたくま","せつぞく","せつだん","せつでん","せっぱん","せつび","せつぶん","せつめい","せつりつ","せなか","せのび","せはば","せびろ","せぼね","せまい","せまる","せめる","せもたれ","せりふ","ぜんあく","せんい","せんえい","せんか","せんきょ","せんく","せんげん","ぜんご","せんさい","せんしゅ","せんすい","せんせい","せんぞ","せんたく","せんちょう","せんてい","せんとう","せんぬき","せんねん","せんぱい","ぜんぶ","ぜんぽう","せんむ","せんめんじょ","せんもん","せんやく","せんゆう","せんよう","ぜんら","ぜんりゃく","せんれい","せんろ","そあく","そいとげる","そいね","そうがんきょう","そうき","そうご","そうしん","そうだん","そうなん","そうび","そうめん","そうり","そえもの","そえん","そがい","そげき","そこう","そこそこ","そざい","そしな","そせい","そせん","そそぐ","そだてる","そつう","そつえん","そっかん","そつぎょう","そっけつ","そっこう","そっせん","そっと","そとがわ","そとづら","そなえる","そなた","そふぼ","そぼく","そぼろ","そまつ","そまる","そむく","そむりえ","そめる","そもそも","そよかぜ","そらまめ","そろう","そんかい","そんけい","そんざい","そんしつ","そんぞく","そんちょう","ぞんび","ぞんぶん","そんみん","たあい","たいいん","たいうん","たいえき","たいおう","だいがく","たいき","たいぐう","たいけん","たいこ","たいざい","だいじょうぶ","だいすき","たいせつ","たいそう","だいたい","たいちょう","たいてい","だいどころ","たいない","たいねつ","たいのう","たいはん","だいひょう","たいふう","たいへん","たいほ","たいまつばな","たいみんぐ","たいむ","たいめん","たいやき","たいよう","たいら","たいりょく","たいる","たいわん","たうえ","たえる","たおす","たおる","たおれる","たかい","たかね","たきび","たくさん","たこく","たこやき","たさい","たしざん","だじゃれ","たすける","たずさわる","たそがれ","たたかう","たたく","ただしい","たたみ","たちばな","だっかい","だっきゃく","だっこ","だっしゅつ","だったい","たてる","たとえる","たなばた","たにん","たぬき","たのしみ","たはつ","たぶん","たべる","たぼう","たまご","たまる","だむる","ためいき","ためす","ためる","たもつ","たやすい","たよる","たらす","たりきほんがん","たりょう","たりる","たると","たれる","たれんと","たろっと","たわむれる","だんあつ","たんい","たんおん","たんか","たんき","たんけん","たんご","たんさん","たんじょうび","だんせい","たんそく","たんたい","だんち","たんてい","たんとう","だんな","たんにん","だんねつ","たんのう","たんぴん","だんぼう","たんまつ","たんめい","だんれつ","だんろ","だんわ","ちあい","ちあん","ちいき","ちいさい","ちえん","ちかい","ちから","ちきゅう","ちきん","ちけいず","ちけん","ちこく","ちさい","ちしき","ちしりょう","ちせい","ちそう","ちたい","ちたん","ちちおや","ちつじょ","ちてき","ちてん","ちぬき","ちぬり","ちのう","ちひょう","ちへいせん","ちほう","ちまた","ちみつ","ちみどろ","ちめいど","ちゃんこなべ","ちゅうい","ちゆりょく","ちょうし","ちょさくけん","ちらし","ちらみ","ちりがみ","ちりょう","ちるど","ちわわ","ちんたい","ちんもく","ついか","ついたち","つうか","つうじょう","つうはん","つうわ","つかう","つかれる","つくね","つくる","つけね","つける","つごう","つたえる","つづく","つつじ","つつむ","つとめる","つながる","つなみ","つねづね","つのる","つぶす","つまらない","つまる","つみき","つめたい","つもり","つもる","つよい","つるぼ","つるみく","つわもの","つわり","てあし","てあて","てあみ","ていおん","ていか","ていき","ていけい","ていこく","ていさつ","ていし","ていせい","ていたい","ていど","ていねい","ていひょう","ていへん","ていぼう","てうち","ておくれ","てきとう","てくび","でこぼこ","てさぎょう","てさげ","てすり","てそう","てちがい","てちょう","てつがく","てつづき","でっぱ","てつぼう","てつや","でぬかえ","てぬき","てぬぐい","てのひら","てはい","てぶくろ","てふだ","てほどき","てほん","てまえ","てまきずし","てみじか","てみやげ","てらす","てれび","てわけ","てわたし","でんあつ","てんいん","てんかい","てんき","てんぐ","てんけん","てんごく","てんさい","てんし","てんすう","でんち","てんてき","てんとう","てんない","てんぷら","てんぼうだい","てんめつ","てんらんかい","でんりょく","でんわ","どあい","といれ","どうかん","とうきゅう","どうぐ","とうし","とうむぎ","とおい","とおか","とおく","とおす","とおる","とかい","とかす","ときおり","ときどき","とくい","とくしゅう","とくてん","とくに","とくべつ","とけい","とける","とこや","とさか","としょかん","とそう","とたん","とちゅう","とっきゅう","とっくん","とつぜん","とつにゅう","とどける","ととのえる","とない","となえる","となり","とのさま","とばす","どぶがわ","とほう","とまる","とめる","ともだち","ともる","どようび","とらえる","とんかつ","どんぶり","ないかく","ないこう","ないしょ","ないす","ないせん","ないそう","なおす","ながい","なくす","なげる","なこうど","なさけ","なたでここ","なっとう","なつやすみ","ななおし","なにごと","なにもの","なにわ","なのか","なふだ","なまいき","なまえ","なまみ","なみだ","なめらか","なめる","なやむ","ならう","ならび","ならぶ","なれる","なわとび","なわばり","にあう","にいがた","にうけ","におい","にかい","にがて","にきび","にくしみ","にくまん","にげる","にさんかたんそ","にしき","にせもの","にちじょう","にちようび","にっか","にっき","にっけい","にっこう","にっさん","にっしょく","にっすう","にっせき","にってい","になう","にほん","にまめ","にもつ","にやり","にゅういん","にりんしゃ","にわとり","にんい","にんか","にんき","にんげん","にんしき","にんずう","にんそう","にんたい","にんち","にんてい","にんにく","にんぷ","にんまり","にんむ","にんめい","にんよう","ぬいくぎ","ぬかす","ぬぐいとる","ぬぐう","ぬくもり","ぬすむ","ぬまえび","ぬめり","ぬらす","ぬんちゃく","ねあげ","ねいき","ねいる","ねいろ","ねぐせ","ねくたい","ねくら","ねこぜ","ねこむ","ねさげ","ねすごす","ねそべる","ねだん","ねつい","ねっしん","ねつぞう","ねったいぎょ","ねぶそく","ねふだ","ねぼう","ねほりはほり","ねまき","ねまわし","ねみみ","ねむい","ねむたい","ねもと","ねらう","ねわざ","ねんいり","ねんおし","ねんかん","ねんきん","ねんぐ","ねんざ","ねんし","ねんちゃく","ねんど","ねんぴ","ねんぶつ","ねんまつ","ねんりょう","ねんれい","のいず","のおづま","のがす","のきなみ","のこぎり","のこす","のこる","のせる","のぞく","のぞむ","のたまう","のちほど","のっく","のばす","のはら","のべる","のぼる","のみもの","のやま","のらいぬ","のらねこ","のりもの","のりゆき","のれん","のんき","ばあい","はあく","ばあさん","ばいか","ばいく","はいけん","はいご","はいしん","はいすい","はいせん","はいそう","はいち","ばいばい","はいれつ","はえる","はおる","はかい","ばかり","はかる","はくしゅ","はけん","はこぶ","はさみ","はさん","はしご","ばしょ","はしる","はせる","ぱそこん","はそん","はたん","はちみつ","はつおん","はっかく","はづき","はっきり","はっくつ","はっけん","はっこう","はっさん","はっしん","はったつ","はっちゅう","はってん","はっぴょう","はっぽう","はなす","はなび","はにかむ","はぶらし","はみがき","はむかう","はめつ","はやい","はやし","はらう","はろうぃん","はわい","はんい","はんえい","はんおん","はんかく","はんきょう","ばんぐみ","はんこ","はんしゃ","はんすう","はんだん","ぱんち","ぱんつ","はんてい","はんとし","はんのう","はんぱ","はんぶん","はんぺん","はんぼうき","はんめい","はんらん","はんろん","ひいき","ひうん","ひえる","ひかく","ひかり","ひかる","ひかん","ひくい","ひけつ","ひこうき","ひこく","ひさい","ひさしぶり","ひさん","びじゅつかん","ひしょ","ひそか","ひそむ","ひたむき","ひだり","ひたる","ひつぎ","ひっこし","ひっし","ひつじゅひん","ひっす","ひつぜん","ぴったり","ぴっちり","ひつよう","ひてい","ひとごみ","ひなまつり","ひなん","ひねる","ひはん","ひびく","ひひょう","ひほう","ひまわり","ひまん","ひみつ","ひめい","ひめじし","ひやけ","ひやす","ひよう","びょうき","ひらがな","ひらく","ひりつ","ひりょう","ひるま","ひるやすみ","ひれい","ひろい","ひろう","ひろき","ひろゆき","ひんかく","ひんけつ","ひんこん","ひんしゅ","ひんそう","ぴんち","ひんぱん","びんぼう","ふあん","ふいうち","ふうけい","ふうせん","ぷうたろう","ふうとう","ふうふ","ふえる","ふおん","ふかい","ふきん","ふくざつ","ふくぶくろ","ふこう","ふさい","ふしぎ","ふじみ","ふすま","ふせい","ふせぐ","ふそく","ぶたにく","ふたん","ふちょう","ふつう","ふつか","ふっかつ","ふっき","ふっこく","ぶどう","ふとる","ふとん","ふのう","ふはい","ふひょう","ふへん","ふまん","ふみん","ふめつ","ふめん","ふよう","ふりこ","ふりる","ふるい","ふんいき","ぶんがく","ぶんぐ","ふんしつ","ぶんせき","ふんそう","ぶんぽう","へいあん","へいおん","へいがい","へいき","へいげん","へいこう","へいさ","へいしゃ","へいせつ","へいそ","へいたく","へいてん","へいねつ","へいわ","へきが","へこむ","べにいろ","べにしょうが","へらす","へんかん","べんきょう","べんごし","へんさい","へんたい","べんり","ほあん","ほいく","ぼうぎょ","ほうこく","ほうそう","ほうほう","ほうもん","ほうりつ","ほえる","ほおん","ほかん","ほきょう","ぼきん","ほくろ","ほけつ","ほけん","ほこう","ほこる","ほしい","ほしつ","ほしゅ","ほしょう","ほせい","ほそい","ほそく","ほたて","ほたる","ぽちぶくろ","ほっきょく","ほっさ","ほったん","ほとんど","ほめる","ほんい","ほんき","ほんけ","ほんしつ","ほんやく","まいにち","まかい","まかせる","まがる","まける","まこと","まさつ","まじめ","ますく","まぜる","まつり","まとめ","まなぶ","まぬけ","まねく","まほう","まもる","まゆげ","まよう","まろやか","まわす","まわり","まわる","まんが","まんきつ","まんぞく","まんなか","みいら","みうち","みえる","みがく","みかた","みかん","みけん","みこん","みじかい","みすい","みすえる","みせる","みっか","みつかる","みつける","みてい","みとめる","みなと","みなみかさい","みねらる","みのう","みのがす","みほん","みもと","みやげ","みらい","みりょく","みわく","みんか","みんぞく","むいか","むえき","むえん","むかい","むかう","むかえ","むかし","むぎちゃ","むける","むげん","むさぼる","むしあつい","むしば","むじゅん","むしろ","むすう","むすこ","むすぶ","むすめ","むせる","むせん","むちゅう","むなしい","むのう","むやみ","むよう","むらさき","むりょう","むろん","めいあん","めいうん","めいえん","めいかく","めいきょく","めいさい","めいし","めいそう","めいぶつ","めいれい","めいわく","めぐまれる","めざす","めした","めずらしい","めだつ","めまい","めやす","めんきょ","めんせき","めんどう","もうしあげる","もうどうけん","もえる","もくし","もくてき","もくようび","もちろん","もどる","もらう","もんく","もんだい","やおや","やける","やさい","やさしい","やすい","やすたろう","やすみ","やせる","やそう","やたい","やちん","やっと","やっぱり","やぶる","やめる","ややこしい","やよい","やわらかい","ゆうき","ゆうびんきょく","ゆうべ","ゆうめい","ゆけつ","ゆしゅつ","ゆせん","ゆそう","ゆたか","ゆちゃく","ゆでる","ゆにゅう","ゆびわ","ゆらい","ゆれる","ようい","ようか","ようきゅう","ようじ","ようす","ようちえん","よかぜ","よかん","よきん","よくせい","よくぼう","よけい","よごれる","よさん","よしゅう","よそう","よそく","よっか","よてい","よどがわく","よねつ","よやく","よゆう","よろこぶ","よろしい","らいう","らくがき","らくご","らくさつ","らくだ","らしんばん","らせん","らぞく","らたい","らっか","られつ","りえき","りかい","りきさく","りきせつ","りくぐん","りくつ","りけん","りこう","りせい","りそう","りそく","りてん","りねん","りゆう","りゅうがく","りよう","りょうり","りょかん","りょくちゃ","りょこう","りりく","りれき","りろん","りんご","るいけい","るいさい","るいじ","るいせき","るすばん","るりがわら","れいかん","れいぎ","れいせい","れいぞうこ","れいとう","れいぼう","れきし","れきだい","れんあい","れんけい","れんこん","れんさい","れんしゅう","れんぞく","れんらく","ろうか","ろうご","ろうじん","ろうそく","ろくが","ろこつ","ろじうら","ろしゅつ","ろせん","ろてん","ろめん","ろれつ","ろんぎ","ろんぱ","ろんぶん","ろんり","わかす","わかめ","わかやま","わかれる","わしつ","わじまし","わすれもの","わらう","われる"]')},31902:function(eb){"use strict";eb.exports=JSON.parse('["가격","가끔","가난","가능","가득","가르침","가뭄","가방","가상","가슴","가운데","가을","가이드","가입","가장","가정","가족","가죽","각오","각자","간격","간부","간섭","간장","간접","간판","갈등","갈비","갈색","갈증","감각","감기","감소","감수성","감자","감정","갑자기","강남","강당","강도","강력히","강변","강북","강사","강수량","강아지","강원도","강의","강제","강조","같이","개구리","개나리","개방","개별","개선","개성","개인","객관적","거실","거액","거울","거짓","거품","걱정","건강","건물","건설","건조","건축","걸음","검사","검토","게시판","게임","겨울","견해","결과","결국","결론","결석","결승","결심","결정","결혼","경계","경고","경기","경력","경복궁","경비","경상도","경영","경우","경쟁","경제","경주","경찰","경치","경향","경험","계곡","계단","계란","계산","계속","계약","계절","계층","계획","고객","고구려","고궁","고급","고등학생","고무신","고민","고양이","고장","고전","고집","고춧가루","고통","고향","곡식","골목","골짜기","골프","공간","공개","공격","공군","공급","공기","공동","공무원","공부","공사","공식","공업","공연","공원","공장","공짜","공책","공통","공포","공항","공휴일","과목","과일","과장","과정","과학","관객","관계","관광","관념","관람","관련","관리","관습","관심","관점","관찰","광경","광고","광장","광주","괴로움","굉장히","교과서","교문","교복","교실","교양","교육","교장","교직","교통","교환","교훈","구경","구름","구멍","구별","구분","구석","구성","구속","구역","구입","구청","구체적","국가","국기","국내","국립","국물","국민","국수","국어","국왕","국적","국제","국회","군대","군사","군인","궁극적","권리","권위","권투","귀국","귀신","규정","규칙","균형","그날","그냥","그늘","그러나","그룹","그릇","그림","그제서야","그토록","극복","극히","근거","근교","근래","근로","근무","근본","근원","근육","근처","글씨","글자","금강산","금고","금년","금메달","금액","금연","금요일","금지","긍정적","기간","기관","기념","기능","기독교","기둥","기록","기름","기법","기본","기분","기쁨","기숙사","기술","기억","기업","기온","기운","기원","기적","기준","기침","기혼","기획","긴급","긴장","길이","김밥","김치","김포공항","깍두기","깜빡","깨달음","깨소금","껍질","꼭대기","꽃잎","나들이","나란히","나머지","나물","나침반","나흘","낙엽","난방","날개","날씨","날짜","남녀","남대문","남매","남산","남자","남편","남학생","낭비","낱말","내년","내용","내일","냄비","냄새","냇물","냉동","냉면","냉방","냉장고","넥타이","넷째","노동","노란색","노력","노인","녹음","녹차","녹화","논리","논문","논쟁","놀이","농구","농담","농민","농부","농업","농장","농촌","높이","눈동자","눈물","눈썹","뉴욕","느낌","늑대","능동적","능력","다방","다양성","다음","다이어트","다행","단계","단골","단독","단맛","단순","단어","단위","단점","단체","단추","단편","단풍","달걀","달러","달력","달리","닭고기","담당","담배","담요","담임","답변","답장","당근","당분간","당연히","당장","대규모","대낮","대단히","대답","대도시","대략","대량","대륙","대문","대부분","대신","대응","대장","대전","대접","대중","대책","대출","대충","대통령","대학","대한민국","대합실","대형","덩어리","데이트","도대체","도덕","도둑","도망","도서관","도심","도움","도입","도자기","도저히","도전","도중","도착","독감","독립","독서","독일","독창적","동화책","뒷모습","뒷산","딸아이","마누라","마늘","마당","마라톤","마련","마무리","마사지","마약","마요네즈","마을","마음","마이크","마중","마지막","마찬가지","마찰","마흔","막걸리","막내","막상","만남","만두","만세","만약","만일","만점","만족","만화","많이","말기","말씀","말투","맘대로","망원경","매년","매달","매력","매번","매스컴","매일","매장","맥주","먹이","먼저","먼지","멀리","메일","며느리","며칠","면담","멸치","명단","명령","명예","명의","명절","명칭","명함","모금","모니터","모델","모든","모범","모습","모양","모임","모조리","모집","모퉁이","목걸이","목록","목사","목소리","목숨","목적","목표","몰래","몸매","몸무게","몸살","몸속","몸짓","몸통","몹시","무관심","무궁화","무더위","무덤","무릎","무슨","무엇","무역","무용","무조건","무지개","무척","문구","문득","문법","문서","문제","문학","문화","물가","물건","물결","물고기","물론","물리학","물음","물질","물체","미국","미디어","미사일","미술","미역","미용실","미움","미인","미팅","미혼","민간","민족","민주","믿음","밀가루","밀리미터","밑바닥","바가지","바구니","바나나","바늘","바닥","바닷가","바람","바이러스","바탕","박물관","박사","박수","반대","반드시","반말","반발","반성","반응","반장","반죽","반지","반찬","받침","발가락","발걸음","발견","발달","발레","발목","발바닥","발생","발음","발자국","발전","발톱","발표","밤하늘","밥그릇","밥맛","밥상","밥솥","방금","방면","방문","방바닥","방법","방송","방식","방안","방울","방지","방학","방해","방향","배경","배꼽","배달","배드민턴","백두산","백색","백성","백인","백제","백화점","버릇","버섯","버튼","번개","번역","번지","번호","벌금","벌레","벌써","범위","범인","범죄","법률","법원","법적","법칙","베이징","벨트","변경","변동","변명","변신","변호사","변화","별도","별명","별일","병실","병아리","병원","보관","보너스","보라색","보람","보름","보상","보안","보자기","보장","보전","보존","보통","보편적","보험","복도","복사","복숭아","복습","볶음","본격적","본래","본부","본사","본성","본인","본질","볼펜","봉사","봉지","봉투","부근","부끄러움","부담","부동산","부문","부분","부산","부상","부엌","부인","부작용","부장","부정","부족","부지런히","부친","부탁","부품","부회장","북부","북한","분노","분량","분리","분명","분석","분야","분위기","분필","분홍색","불고기","불과","불교","불꽃","불만","불법","불빛","불안","불이익","불행","브랜드","비극","비난","비닐","비둘기","비디오","비로소","비만","비명","비밀","비바람","비빔밥","비상","비용","비율","비중","비타민","비판","빌딩","빗물","빗방울","빗줄기","빛깔","빨간색","빨래","빨리","사건","사계절","사나이","사냥","사람","사랑","사립","사모님","사물","사방","사상","사생활","사설","사슴","사실","사업","사용","사월","사장","사전","사진","사촌","사춘기","사탕","사투리","사흘","산길","산부인과","산업","산책","살림","살인","살짝","삼계탕","삼국","삼십","삼월","삼촌","상관","상금","상대","상류","상반기","상상","상식","상업","상인","상자","상점","상처","상추","상태","상표","상품","상황","새벽","색깔","색연필","생각","생명","생물","생방송","생산","생선","생신","생일","생활","서랍","서른","서명","서민","서비스","서양","서울","서적","서점","서쪽","서클","석사","석유","선거","선물","선배","선생","선수","선원","선장","선전","선택","선풍기","설거지","설날","설렁탕","설명","설문","설사","설악산","설치","설탕","섭씨","성공","성당","성명","성별","성인","성장","성적","성질","성함","세금","세미나","세상","세월","세종대왕","세탁","센터","센티미터","셋째","소규모","소극적","소금","소나기","소년","소득","소망","소문","소설","소속","소아과","소용","소원","소음","소중히","소지품","소질","소풍","소형","속담","속도","속옷","손가락","손길","손녀","손님","손등","손목","손뼉","손실","손질","손톱","손해","솔직히","솜씨","송아지","송이","송편","쇠고기","쇼핑","수건","수년","수단","수돗물","수동적","수면","수명","수박","수상","수석","수술","수시로","수업","수염","수영","수입","수준","수집","수출","수컷","수필","수학","수험생","수화기","숙녀","숙소","숙제","순간","순서","순수","순식간","순위","숟가락","술병","술집","숫자","스님","스물","스스로","스승","스웨터","스위치","스케이트","스튜디오","스트레스","스포츠","슬쩍","슬픔","습관","습기","승객","승리","승부","승용차","승진","시각","시간","시골","시금치","시나리오","시댁","시리즈","시멘트","시민","시부모","시선","시설","시스템","시아버지","시어머니","시월","시인","시일","시작","시장","시절","시점","시중","시즌","시집","시청","시합","시험","식구","식기","식당","식량","식료품","식물","식빵","식사","식생활","식초","식탁","식품","신고","신규","신념","신문","신발","신비","신사","신세","신용","신제품","신청","신체","신화","실감","실내","실력","실례","실망","실수","실습","실시","실장","실정","실질적","실천","실체","실컷","실태","실패","실험","실현","심리","심부름","심사","심장","심정","심판","쌍둥이","씨름","씨앗","아가씨","아나운서","아드님","아들","아쉬움","아스팔트","아시아","아울러","아저씨","아줌마","아직","아침","아파트","아프리카","아픔","아홉","아흔","악기","악몽","악수","안개","안경","안과","안내","안녕","안동","안방","안부","안주","알루미늄","알코올","암시","암컷","압력","앞날","앞문","애인","애정","액수","앨범","야간","야단","야옹","약간","약국","약속","약수","약점","약품","약혼녀","양념","양력","양말","양배추","양주","양파","어둠","어려움","어른","어젯밤","어쨌든","어쩌다가","어쩐지","언니","언덕","언론","언어","얼굴","얼른","얼음","얼핏","엄마","업무","업종","업체","엉덩이","엉망","엉터리","엊그제","에너지","에어컨","엔진","여건","여고생","여관","여군","여권","여대생","여덟","여동생","여든","여론","여름","여섯","여성","여왕","여인","여전히","여직원","여학생","여행","역사","역시","역할","연결","연구","연극","연기","연락","연설","연세","연속","연습","연애","연예인","연인","연장","연주","연출","연필","연합","연휴","열기","열매","열쇠","열심히","열정","열차","열흘","염려","엽서","영국","영남","영상","영양","영역","영웅","영원히","영하","영향","영혼","영화","옆구리","옆방","옆집","예감","예금","예방","예산","예상","예선","예술","예습","예식장","예약","예전","예절","예정","예컨대","옛날","오늘","오락","오랫동안","오렌지","오로지","오른발","오븐","오십","오염","오월","오전","오직","오징어","오페라","오피스텔","오히려","옥상","옥수수","온갖","온라인","온몸","온종일","온통","올가을","올림픽","올해","옷차림","와이셔츠","와인","완성","완전","왕비","왕자","왜냐하면","왠지","외갓집","외국","외로움","외삼촌","외출","외침","외할머니","왼발","왼손","왼쪽","요금","요일","요즘","요청","용기","용서","용어","우산","우선","우승","우연히","우정","우체국","우편","운동","운명","운반","운전","운행","울산","울음","움직임","웃어른","웃음","워낙","원고","원래","원서","원숭이","원인","원장","원피스","월급","월드컵","월세","월요일","웨이터","위반","위법","위성","위원","위험","위협","윗사람","유난히","유럽","유명","유물","유산","유적","유치원","유학","유행","유형","육군","육상","육십","육체","은행","음력","음료","음반","음성","음식","음악","음주","의견","의논","의문","의복","의식","의심","의외로","의욕","의원","의학","이것","이곳","이념","이놈","이달","이대로","이동","이렇게","이력서","이론적","이름","이민","이발소","이별","이불","이빨","이상","이성","이슬","이야기","이용","이웃","이월","이윽고","이익","이전","이중","이튿날","이틀","이혼","인간","인격","인공","인구","인근","인기","인도","인류","인물","인생","인쇄","인연","인원","인재","인종","인천","인체","인터넷","인하","인형","일곱","일기","일단","일대","일등","일반","일본","일부","일상","일생","일손","일요일","일월","일정","일종","일주일","일찍","일체","일치","일행","일회용","임금","임무","입대","입력","입맛","입사","입술","입시","입원","입장","입학","자가용","자격","자극","자동","자랑","자부심","자식","자신","자연","자원","자율","자전거","자정","자존심","자판","작가","작년","작성","작업","작용","작은딸","작품","잔디","잔뜩","잔치","잘못","잠깐","잠수함","잠시","잠옷","잠자리","잡지","장관","장군","장기간","장래","장례","장르","장마","장면","장모","장미","장비","장사","장소","장식","장애인","장인","장점","장차","장학금","재능","재빨리","재산","재생","재작년","재정","재채기","재판","재학","재활용","저것","저고리","저곳","저녁","저런","저렇게","저번","저울","저절로","저축","적극","적당히","적성","적용","적응","전개","전공","전기","전달","전라도","전망","전문","전반","전부","전세","전시","전용","전자","전쟁","전주","전철","전체","전통","전혀","전후","절대","절망","절반","절약","절차","점검","점수","점심","점원","점점","점차","접근","접시","접촉","젓가락","정거장","정도","정류장","정리","정말","정면","정문","정반대","정보","정부","정비","정상","정성","정오","정원","정장","정지","정치","정확히","제공","제과점","제대로","제목","제발","제법","제삿날","제안","제일","제작","제주도","제출","제품","제한","조각","조건","조금","조깅","조명","조미료","조상","조선","조용히","조절","조정","조직","존댓말","존재","졸업","졸음","종교","종로","종류","종소리","종업원","종종","종합","좌석","죄인","주관적","주름","주말","주머니","주먹","주문","주민","주방","주변","주식","주인","주일","주장","주전자","주택","준비","줄거리","줄기","줄무늬","중간","중계방송","중국","중년","중단","중독","중반","중부","중세","중소기업","중순","중앙","중요","중학교","즉석","즉시","즐거움","증가","증거","증권","증상","증세","지각","지갑","지경","지극히","지금","지급","지능","지름길","지리산","지방","지붕","지식","지역","지우개","지원","지적","지점","지진","지출","직선","직업","직원","직장","진급","진동","진로","진료","진리","진짜","진찰","진출","진통","진행","질문","질병","질서","짐작","집단","집안","집중","짜증","찌꺼기","차남","차라리","차량","차림","차별","차선","차츰","착각","찬물","찬성","참가","참기름","참새","참석","참여","참외","참조","찻잔","창가","창고","창구","창문","창밖","창작","창조","채널","채점","책가방","책방","책상","책임","챔피언","처벌","처음","천국","천둥","천장","천재","천천히","철도","철저히","철학","첫날","첫째","청년","청바지","청소","청춘","체계","체력","체온","체육","체중","체험","초등학생","초반","초밥","초상화","초순","초여름","초원","초저녁","초점","초청","초콜릿","촛불","총각","총리","총장","촬영","최근","최상","최선","최신","최악","최종","추석","추억","추진","추천","추측","축구","축소","축제","축하","출근","출발","출산","출신","출연","출입","출장","출판","충격","충고","충돌","충분히","충청도","취업","취직","취향","치약","친구","친척","칠십","칠월","칠판","침대","침묵","침실","칫솔","칭찬","카메라","카운터","칼국수","캐릭터","캠퍼스","캠페인","커튼","컨디션","컬러","컴퓨터","코끼리","코미디","콘서트","콜라","콤플렉스","콩나물","쾌감","쿠데타","크림","큰길","큰딸","큰소리","큰아들","큰어머니","큰일","큰절","클래식","클럽","킬로","타입","타자기","탁구","탁자","탄생","태권도","태양","태풍","택시","탤런트","터널","터미널","테니스","테스트","테이블","텔레비전","토론","토마토","토요일","통계","통과","통로","통신","통역","통일","통장","통제","통증","통합","통화","퇴근","퇴원","퇴직금","튀김","트럭","특급","특별","특성","특수","특징","특히","튼튼히","티셔츠","파란색","파일","파출소","판결","판단","판매","판사","팔십","팔월","팝송","패션","팩스","팩시밀리","팬티","퍼센트","페인트","편견","편의","편지","편히","평가","평균","평생","평소","평양","평일","평화","포스터","포인트","포장","포함","표면","표정","표준","표현","품목","품질","풍경","풍속","풍습","프랑스","프린터","플라스틱","피곤","피망","피아노","필름","필수","필요","필자","필통","핑계","하느님","하늘","하드웨어","하룻밤","하반기","하숙집","하순","하여튼","하지만","하천","하품","하필","학과","학교","학급","학기","학년","학력","학번","학부모","학비","학생","학술","학습","학용품","학원","학위","학자","학점","한계","한글","한꺼번에","한낮","한눈","한동안","한때","한라산","한마디","한문","한번","한복","한식","한여름","한쪽","할머니","할아버지","할인","함께","함부로","합격","합리적","항공","항구","항상","항의","해결","해군","해답","해당","해물","해석","해설","해수욕장","해안","핵심","핸드백","햄버거","햇볕","햇살","행동","행복","행사","행운","행위","향기","향상","향수","허락","허용","헬기","현관","현금","현대","현상","현실","현장","현재","현지","혈액","협력","형부","형사","형수","형식","형제","형태","형편","혜택","호기심","호남","호랑이","호박","호텔","호흡","혹시","홀로","홈페이지","홍보","홍수","홍차","화면","화분","화살","화요일","화장","화학","확보","확인","확장","확정","환갑","환경","환영","환율","환자","활기","활동","활발히","활용","활짝","회견","회관","회복","회색","회원","회장","회전","횟수","횡단보도","효율적","후반","후춧가루","훈련","훨씬","휴식","휴일","흉내","흐름","흑백","흑인","흔적","흔히","흥미","흥분","희곡","희망","희생","흰색","힘껏"]')},13816:function(eb){"use strict";eb.exports=JSON.parse('["abacate","abaixo","abalar","abater","abduzir","abelha","aberto","abismo","abotoar","abranger","abreviar","abrigar","abrupto","absinto","absoluto","absurdo","abutre","acabado","acalmar","acampar","acanhar","acaso","aceitar","acelerar","acenar","acervo","acessar","acetona","achatar","acidez","acima","acionado","acirrar","aclamar","aclive","acolhida","acomodar","acoplar","acordar","acumular","acusador","adaptar","adega","adentro","adepto","adequar","aderente","adesivo","adeus","adiante","aditivo","adjetivo","adjunto","admirar","adorar","adquirir","adubo","adverso","advogado","aeronave","afastar","aferir","afetivo","afinador","afivelar","aflito","afluente","afrontar","agachar","agarrar","agasalho","agenciar","agilizar","agiota","agitado","agora","agradar","agreste","agrupar","aguardar","agulha","ajoelhar","ajudar","ajustar","alameda","alarme","alastrar","alavanca","albergue","albino","alcatra","aldeia","alecrim","alegria","alertar","alface","alfinete","algum","alheio","aliar","alicate","alienar","alinhar","aliviar","almofada","alocar","alpiste","alterar","altitude","alucinar","alugar","aluno","alusivo","alvo","amaciar","amador","amarelo","amassar","ambas","ambiente","ameixa","amenizar","amido","amistoso","amizade","amolador","amontoar","amoroso","amostra","amparar","ampliar","ampola","anagrama","analisar","anarquia","anatomia","andaime","anel","anexo","angular","animar","anjo","anomalia","anotado","ansioso","anterior","anuidade","anunciar","anzol","apagador","apalpar","apanhado","apego","apelido","apertada","apesar","apetite","apito","aplauso","aplicada","apoio","apontar","aposta","aprendiz","aprovar","aquecer","arame","aranha","arara","arcada","ardente","areia","arejar","arenito","aresta","argiloso","argola","arma","arquivo","arraial","arrebate","arriscar","arroba","arrumar","arsenal","arterial","artigo","arvoredo","asfaltar","asilado","aspirar","assador","assinar","assoalho","assunto","astral","atacado","atadura","atalho","atarefar","atear","atender","aterro","ateu","atingir","atirador","ativo","atoleiro","atracar","atrevido","atriz","atual","atum","auditor","aumentar","aura","aurora","autismo","autoria","autuar","avaliar","avante","avaria","avental","avesso","aviador","avisar","avulso","axila","azarar","azedo","azeite","azulejo","babar","babosa","bacalhau","bacharel","bacia","bagagem","baiano","bailar","baioneta","bairro","baixista","bajular","baleia","baliza","balsa","banal","bandeira","banho","banir","banquete","barato","barbado","baronesa","barraca","barulho","baseado","bastante","batata","batedor","batida","batom","batucar","baunilha","beber","beijo","beirada","beisebol","beldade","beleza","belga","beliscar","bendito","bengala","benzer","berimbau","berlinda","berro","besouro","bexiga","bezerro","bico","bicudo","bienal","bifocal","bifurcar","bigorna","bilhete","bimestre","bimotor","biologia","biombo","biosfera","bipolar","birrento","biscoito","bisneto","bispo","bissexto","bitola","bizarro","blindado","bloco","bloquear","boato","bobagem","bocado","bocejo","bochecha","boicotar","bolada","boletim","bolha","bolo","bombeiro","bonde","boneco","bonita","borbulha","borda","boreal","borracha","bovino","boxeador","branco","brasa","braveza","breu","briga","brilho","brincar","broa","brochura","bronzear","broto","bruxo","bucha","budismo","bufar","bule","buraco","busca","busto","buzina","cabana","cabelo","cabide","cabo","cabrito","cacau","cacetada","cachorro","cacique","cadastro","cadeado","cafezal","caiaque","caipira","caixote","cajado","caju","calafrio","calcular","caldeira","calibrar","calmante","calota","camada","cambista","camisa","camomila","campanha","camuflar","canavial","cancelar","caneta","canguru","canhoto","canivete","canoa","cansado","cantar","canudo","capacho","capela","capinar","capotar","capricho","captador","capuz","caracol","carbono","cardeal","careca","carimbar","carneiro","carpete","carreira","cartaz","carvalho","casaco","casca","casebre","castelo","casulo","catarata","cativar","caule","causador","cautelar","cavalo","caverna","cebola","cedilha","cegonha","celebrar","celular","cenoura","censo","centeio","cercar","cerrado","certeiro","cerveja","cetim","cevada","chacota","chaleira","chamado","chapada","charme","chatice","chave","chefe","chegada","cheiro","cheque","chicote","chifre","chinelo","chocalho","chover","chumbo","chutar","chuva","cicatriz","ciclone","cidade","cidreira","ciente","cigana","cimento","cinto","cinza","ciranda","circuito","cirurgia","citar","clareza","clero","clicar","clone","clube","coado","coagir","cobaia","cobertor","cobrar","cocada","coelho","coentro","coeso","cogumelo","coibir","coifa","coiote","colar","coleira","colher","colidir","colmeia","colono","coluna","comando","combinar","comentar","comitiva","comover","complexo","comum","concha","condor","conectar","confuso","congelar","conhecer","conjugar","consumir","contrato","convite","cooperar","copeiro","copiador","copo","coquetel","coragem","cordial","corneta","coronha","corporal","correio","cortejo","coruja","corvo","cosseno","costela","cotonete","couro","couve","covil","cozinha","cratera","cravo","creche","credor","creme","crer","crespo","criada","criminal","crioulo","crise","criticar","crosta","crua","cruzeiro","cubano","cueca","cuidado","cujo","culatra","culminar","culpar","cultura","cumprir","cunhado","cupido","curativo","curral","cursar","curto","cuspir","custear","cutelo","damasco","datar","debater","debitar","deboche","debulhar","decalque","decimal","declive","decote","decretar","dedal","dedicado","deduzir","defesa","defumar","degelo","degrau","degustar","deitado","deixar","delator","delegado","delinear","delonga","demanda","demitir","demolido","dentista","depenado","depilar","depois","depressa","depurar","deriva","derramar","desafio","desbotar","descanso","desenho","desfiado","desgaste","desigual","deslize","desmamar","desova","despesa","destaque","desviar","detalhar","detentor","detonar","detrito","deusa","dever","devido","devotado","dezena","diagrama","dialeto","didata","difuso","digitar","dilatado","diluente","diminuir","dinastia","dinheiro","diocese","direto","discreta","disfarce","disparo","disquete","dissipar","distante","ditador","diurno","diverso","divisor","divulgar","dizer","dobrador","dolorido","domador","dominado","donativo","donzela","dormente","dorsal","dosagem","dourado","doutor","drenagem","drible","drogaria","duelar","duende","dueto","duplo","duquesa","durante","duvidoso","eclodir","ecoar","ecologia","edificar","edital","educado","efeito","efetivar","ejetar","elaborar","eleger","eleitor","elenco","elevador","eliminar","elogiar","embargo","embolado","embrulho","embutido","emenda","emergir","emissor","empatia","empenho","empinado","empolgar","emprego","empurrar","emulador","encaixe","encenado","enchente","encontro","endeusar","endossar","enfaixar","enfeite","enfim","engajado","engenho","englobar","engomado","engraxar","enguia","enjoar","enlatar","enquanto","enraizar","enrolado","enrugar","ensaio","enseada","ensino","ensopado","entanto","enteado","entidade","entortar","entrada","entulho","envergar","enviado","envolver","enxame","enxerto","enxofre","enxuto","epiderme","equipar","ereto","erguido","errata","erva","ervilha","esbanjar","esbelto","escama","escola","escrita","escuta","esfinge","esfolar","esfregar","esfumado","esgrima","esmalte","espanto","espelho","espiga","esponja","espreita","espumar","esquerda","estaca","esteira","esticar","estofado","estrela","estudo","esvaziar","etanol","etiqueta","euforia","europeu","evacuar","evaporar","evasivo","eventual","evidente","evoluir","exagero","exalar","examinar","exato","exausto","excesso","excitar","exclamar","executar","exemplo","exibir","exigente","exonerar","expandir","expelir","expirar","explanar","exposto","expresso","expulsar","externo","extinto","extrato","fabricar","fabuloso","faceta","facial","fada","fadiga","faixa","falar","falta","familiar","fandango","fanfarra","fantoche","fardado","farelo","farinha","farofa","farpa","fartura","fatia","fator","favorita","faxina","fazenda","fechado","feijoada","feirante","felino","feminino","fenda","feno","fera","feriado","ferrugem","ferver","festejar","fetal","feudal","fiapo","fibrose","ficar","ficheiro","figurado","fileira","filho","filme","filtrar","firmeza","fisgada","fissura","fita","fivela","fixador","fixo","flacidez","flamingo","flanela","flechada","flora","flutuar","fluxo","focal","focinho","fofocar","fogo","foguete","foice","folgado","folheto","forjar","formiga","forno","forte","fosco","fossa","fragata","fralda","frango","frasco","fraterno","freira","frente","fretar","frieza","friso","fritura","fronha","frustrar","fruteira","fugir","fulano","fuligem","fundar","fungo","funil","furador","furioso","futebol","gabarito","gabinete","gado","gaiato","gaiola","gaivota","galega","galho","galinha","galocha","ganhar","garagem","garfo","gargalo","garimpo","garoupa","garrafa","gasoduto","gasto","gata","gatilho","gaveta","gazela","gelado","geleia","gelo","gemada","gemer","gemido","generoso","gengiva","genial","genoma","genro","geologia","gerador","germinar","gesso","gestor","ginasta","gincana","gingado","girafa","girino","glacial","glicose","global","glorioso","goela","goiaba","golfe","golpear","gordura","gorjeta","gorro","gostoso","goteira","governar","gracejo","gradual","grafite","gralha","grampo","granada","gratuito","graveto","graxa","grego","grelhar","greve","grilo","grisalho","gritaria","grosso","grotesco","grudado","grunhido","gruta","guache","guarani","guaxinim","guerrear","guiar","guincho","guisado","gula","guloso","guru","habitar","harmonia","haste","haver","hectare","herdar","heresia","hesitar","hiato","hibernar","hidratar","hiena","hino","hipismo","hipnose","hipoteca","hoje","holofote","homem","honesto","honrado","hormonal","hospedar","humorado","iate","ideia","idoso","ignorado","igreja","iguana","ileso","ilha","iludido","iluminar","ilustrar","imagem","imediato","imenso","imersivo","iminente","imitador","imortal","impacto","impedir","implante","impor","imprensa","impune","imunizar","inalador","inapto","inativo","incenso","inchar","incidir","incluir","incolor","indeciso","indireto","indutor","ineficaz","inerente","infantil","infestar","infinito","inflamar","informal","infrator","ingerir","inibido","inicial","inimigo","injetar","inocente","inodoro","inovador","inox","inquieto","inscrito","inseto","insistir","inspetor","instalar","insulto","intacto","integral","intimar","intocado","intriga","invasor","inverno","invicto","invocar","iogurte","iraniano","ironizar","irreal","irritado","isca","isento","isolado","isqueiro","italiano","janeiro","jangada","janta","jararaca","jardim","jarro","jasmim","jato","javali","jazida","jejum","joaninha","joelhada","jogador","joia","jornal","jorrar","jovem","juba","judeu","judoca","juiz","julgador","julho","jurado","jurista","juro","justa","labareda","laboral","lacre","lactante","ladrilho","lagarta","lagoa","laje","lamber","lamentar","laminar","lampejo","lanche","lapidar","lapso","laranja","lareira","largura","lasanha","lastro","lateral","latido","lavanda","lavoura","lavrador","laxante","lazer","lealdade","lebre","legado","legendar","legista","leigo","leiloar","leitura","lembrete","leme","lenhador","lentilha","leoa","lesma","leste","letivo","letreiro","levar","leveza","levitar","liberal","libido","liderar","ligar","ligeiro","limitar","limoeiro","limpador","linda","linear","linhagem","liquidez","listagem","lisura","litoral","livro","lixa","lixeira","locador","locutor","lojista","lombo","lona","longe","lontra","lorde","lotado","loteria","loucura","lousa","louvar","luar","lucidez","lucro","luneta","lustre","lutador","luva","macaco","macete","machado","macio","madeira","madrinha","magnata","magreza","maior","mais","malandro","malha","malote","maluco","mamilo","mamoeiro","mamute","manada","mancha","mandato","manequim","manhoso","manivela","manobrar","mansa","manter","manusear","mapeado","maquinar","marcador","maresia","marfim","margem","marinho","marmita","maroto","marquise","marreco","martelo","marujo","mascote","masmorra","massagem","mastigar","matagal","materno","matinal","matutar","maxilar","medalha","medida","medusa","megafone","meiga","melancia","melhor","membro","memorial","menino","menos","mensagem","mental","merecer","mergulho","mesada","mesclar","mesmo","mesquita","mestre","metade","meteoro","metragem","mexer","mexicano","micro","migalha","migrar","milagre","milenar","milhar","mimado","minerar","minhoca","ministro","minoria","miolo","mirante","mirtilo","misturar","mocidade","moderno","modular","moeda","moer","moinho","moita","moldura","moleza","molho","molinete","molusco","montanha","moqueca","morango","morcego","mordomo","morena","mosaico","mosquete","mostarda","motel","motim","moto","motriz","muda","muito","mulata","mulher","multar","mundial","munido","muralha","murcho","muscular","museu","musical","nacional","nadador","naja","namoro","narina","narrado","nascer","nativa","natureza","navalha","navegar","navio","neblina","nebuloso","negativa","negociar","negrito","nervoso","neta","neural","nevasca","nevoeiro","ninar","ninho","nitidez","nivelar","nobreza","noite","noiva","nomear","nominal","nordeste","nortear","notar","noticiar","noturno","novelo","novilho","novo","nublado","nudez","numeral","nupcial","nutrir","nuvem","obcecado","obedecer","objetivo","obrigado","obscuro","obstetra","obter","obturar","ocidente","ocioso","ocorrer","oculista","ocupado","ofegante","ofensiva","oferenda","oficina","ofuscado","ogiva","olaria","oleoso","olhar","oliveira","ombro","omelete","omisso","omitir","ondulado","oneroso","ontem","opcional","operador","oponente","oportuno","oposto","orar","orbitar","ordem","ordinal","orfanato","orgasmo","orgulho","oriental","origem","oriundo","orla","ortodoxo","orvalho","oscilar","ossada","osso","ostentar","otimismo","ousadia","outono","outubro","ouvido","ovelha","ovular","oxidar","oxigenar","pacato","paciente","pacote","pactuar","padaria","padrinho","pagar","pagode","painel","pairar","paisagem","palavra","palestra","palheta","palito","palmada","palpitar","pancada","panela","panfleto","panqueca","pantanal","papagaio","papelada","papiro","parafina","parcial","pardal","parede","partida","pasmo","passado","pastel","patamar","patente","patinar","patrono","paulada","pausar","peculiar","pedalar","pedestre","pediatra","pedra","pegada","peitoral","peixe","pele","pelicano","penca","pendurar","peneira","penhasco","pensador","pente","perceber","perfeito","pergunta","perito","permitir","perna","perplexo","persiana","pertence","peruca","pescado","pesquisa","pessoa","petiscar","piada","picado","piedade","pigmento","pilastra","pilhado","pilotar","pimenta","pincel","pinguim","pinha","pinote","pintar","pioneiro","pipoca","piquete","piranha","pires","pirueta","piscar","pistola","pitanga","pivete","planta","plaqueta","platina","plebeu","plumagem","pluvial","pneu","poda","poeira","poetisa","polegada","policiar","poluente","polvilho","pomar","pomba","ponderar","pontaria","populoso","porta","possuir","postal","pote","poupar","pouso","povoar","praia","prancha","prato","praxe","prece","predador","prefeito","premiar","prensar","preparar","presilha","pretexto","prevenir","prezar","primata","princesa","prisma","privado","processo","produto","profeta","proibido","projeto","prometer","propagar","prosa","protetor","provador","publicar","pudim","pular","pulmonar","pulseira","punhal","punir","pupilo","pureza","puxador","quadra","quantia","quarto","quase","quebrar","queda","queijo","quente","querido","quimono","quina","quiosque","rabanada","rabisco","rachar","racionar","radial","raiar","rainha","raio","raiva","rajada","ralado","ramal","ranger","ranhura","rapadura","rapel","rapidez","raposa","raquete","raridade","rasante","rascunho","rasgar","raspador","rasteira","rasurar","ratazana","ratoeira","realeza","reanimar","reaver","rebaixar","rebelde","rebolar","recado","recente","recheio","recibo","recordar","recrutar","recuar","rede","redimir","redonda","reduzida","reenvio","refinar","refletir","refogar","refresco","refugiar","regalia","regime","regra","reinado","reitor","rejeitar","relativo","remador","remendo","remorso","renovado","reparo","repelir","repleto","repolho","represa","repudiar","requerer","resenha","resfriar","resgatar","residir","resolver","respeito","ressaca","restante","resumir","retalho","reter","retirar","retomada","retratar","revelar","revisor","revolta","riacho","rica","rigidez","rigoroso","rimar","ringue","risada","risco","risonho","robalo","rochedo","rodada","rodeio","rodovia","roedor","roleta","romano","roncar","rosado","roseira","rosto","rota","roteiro","rotina","rotular","rouco","roupa","roxo","rubro","rugido","rugoso","ruivo","rumo","rupestre","russo","sabor","saciar","sacola","sacudir","sadio","safira","saga","sagrada","saibro","salada","saleiro","salgado","saliva","salpicar","salsicha","saltar","salvador","sambar","samurai","sanar","sanfona","sangue","sanidade","sapato","sarda","sargento","sarjeta","saturar","saudade","saxofone","sazonal","secar","secular","seda","sedento","sediado","sedoso","sedutor","segmento","segredo","segundo","seiva","seleto","selvagem","semanal","semente","senador","senhor","sensual","sentado","separado","sereia","seringa","serra","servo","setembro","setor","sigilo","silhueta","silicone","simetria","simpatia","simular","sinal","sincero","singular","sinopse","sintonia","sirene","siri","situado","soberano","sobra","socorro","sogro","soja","solda","soletrar","solteiro","sombrio","sonata","sondar","sonegar","sonhador","sono","soprano","soquete","sorrir","sorteio","sossego","sotaque","soterrar","sovado","sozinho","suavizar","subida","submerso","subsolo","subtrair","sucata","sucesso","suco","sudeste","sufixo","sugador","sugerir","sujeito","sulfato","sumir","suor","superior","suplicar","suposto","suprimir","surdina","surfista","surpresa","surreal","surtir","suspiro","sustento","tabela","tablete","tabuada","tacho","tagarela","talher","talo","talvez","tamanho","tamborim","tampa","tangente","tanto","tapar","tapioca","tardio","tarefa","tarja","tarraxa","tatuagem","taurino","taxativo","taxista","teatral","tecer","tecido","teclado","tedioso","teia","teimar","telefone","telhado","tempero","tenente","tensor","tentar","termal","terno","terreno","tese","tesoura","testado","teto","textura","texugo","tiara","tigela","tijolo","timbrar","timidez","tingido","tinteiro","tiragem","titular","toalha","tocha","tolerar","tolice","tomada","tomilho","tonel","tontura","topete","tora","torcido","torneio","torque","torrada","torto","tostar","touca","toupeira","toxina","trabalho","tracejar","tradutor","trafegar","trajeto","trama","trancar","trapo","traseiro","tratador","travar","treino","tremer","trepidar","trevo","triagem","tribo","triciclo","tridente","trilogia","trindade","triplo","triturar","triunfal","trocar","trombeta","trova","trunfo","truque","tubular","tucano","tudo","tulipa","tupi","turbo","turma","turquesa","tutelar","tutorial","uivar","umbigo","unha","unidade","uniforme","urologia","urso","urtiga","urubu","usado","usina","usufruir","vacina","vadiar","vagaroso","vaidoso","vala","valente","validade","valores","vantagem","vaqueiro","varanda","vareta","varrer","vascular","vasilha","vassoura","vazar","vazio","veado","vedar","vegetar","veicular","veleiro","velhice","veludo","vencedor","vendaval","venerar","ventre","verbal","verdade","vereador","vergonha","vermelho","verniz","versar","vertente","vespa","vestido","vetorial","viaduto","viagem","viajar","viatura","vibrador","videira","vidraria","viela","viga","vigente","vigiar","vigorar","vilarejo","vinco","vinheta","vinil","violeta","virada","virtude","visitar","visto","vitral","viveiro","vizinho","voador","voar","vogal","volante","voleibol","voltagem","volumoso","vontade","vulto","vuvuzela","xadrez","xarope","xeque","xeretar","xerife","xingar","zangado","zarpar","zebu","zelador","zombar","zoologia","zumbido"]')},55655:function(eb){"use strict";eb.exports=JSON.parse('["ábaco","abdomen","abeja","abierto","abogado","abono","aborto","abrazo","abrir","abuelo","abuso","acabar","academia","acceso","acción","aceite","acelga","acento","aceptar","ácido","aclarar","acné","acoger","acoso","activo","acto","actriz","actuar","acudir","acuerdo","acusar","adicto","admitir","adoptar","adorno","aduana","adulto","aéreo","afectar","afición","afinar","afirmar","ágil","agitar","agonía","agosto","agotar","agregar","agrio","agua","agudo","águila","aguja","ahogo","ahorro","aire","aislar","ajedrez","ajeno","ajuste","alacrán","alambre","alarma","alba","álbum","alcalde","aldea","alegre","alejar","alerta","aleta","alfiler","alga","algodón","aliado","aliento","alivio","alma","almeja","almíbar","altar","alteza","altivo","alto","altura","alumno","alzar","amable","amante","amapola","amargo","amasar","ámbar","ámbito","ameno","amigo","amistad","amor","amparo","amplio","ancho","anciano","ancla","andar","andén","anemia","ángulo","anillo","ánimo","anís","anotar","antena","antiguo","antojo","anual","anular","anuncio","añadir","añejo","año","apagar","aparato","apetito","apio","aplicar","apodo","aporte","apoyo","aprender","aprobar","apuesta","apuro","arado","araña","arar","árbitro","árbol","arbusto","archivo","arco","arder","ardilla","arduo","área","árido","aries","armonía","arnés","aroma","arpa","arpón","arreglo","arroz","arruga","arte","artista","asa","asado","asalto","ascenso","asegurar","aseo","asesor","asiento","asilo","asistir","asno","asombro","áspero","astilla","astro","astuto","asumir","asunto","atajo","ataque","atar","atento","ateo","ático","atleta","átomo","atraer","atroz","atún","audaz","audio","auge","aula","aumento","ausente","autor","aval","avance","avaro","ave","avellana","avena","avestruz","avión","aviso","ayer","ayuda","ayuno","azafrán","azar","azote","azúcar","azufre","azul","baba","babor","bache","bahía","baile","bajar","balanza","balcón","balde","bambú","banco","banda","baño","barba","barco","barniz","barro","báscula","bastón","basura","batalla","batería","batir","batuta","baúl","bazar","bebé","bebida","bello","besar","beso","bestia","bicho","bien","bingo","blanco","bloque","blusa","boa","bobina","bobo","boca","bocina","boda","bodega","boina","bola","bolero","bolsa","bomba","bondad","bonito","bono","bonsái","borde","borrar","bosque","bote","botín","bóveda","bozal","bravo","brazo","brecha","breve","brillo","brinco","brisa","broca","broma","bronce","brote","bruja","brusco","bruto","buceo","bucle","bueno","buey","bufanda","bufón","búho","buitre","bulto","burbuja","burla","burro","buscar","butaca","buzón","caballo","cabeza","cabina","cabra","cacao","cadáver","cadena","caer","café","caída","caimán","caja","cajón","cal","calamar","calcio","caldo","calidad","calle","calma","calor","calvo","cama","cambio","camello","camino","campo","cáncer","candil","canela","canguro","canica","canto","caña","cañón","caoba","caos","capaz","capitán","capote","captar","capucha","cara","carbón","cárcel","careta","carga","cariño","carne","carpeta","carro","carta","casa","casco","casero","caspa","castor","catorce","catre","caudal","causa","cazo","cebolla","ceder","cedro","celda","célebre","celoso","célula","cemento","ceniza","centro","cerca","cerdo","cereza","cero","cerrar","certeza","césped","cetro","chacal","chaleco","champú","chancla","chapa","charla","chico","chiste","chivo","choque","choza","chuleta","chupar","ciclón","ciego","cielo","cien","cierto","cifra","cigarro","cima","cinco","cine","cinta","ciprés","circo","ciruela","cisne","cita","ciudad","clamor","clan","claro","clase","clave","cliente","clima","clínica","cobre","cocción","cochino","cocina","coco","código","codo","cofre","coger","cohete","cojín","cojo","cola","colcha","colegio","colgar","colina","collar","colmo","columna","combate","comer","comida","cómodo","compra","conde","conejo","conga","conocer","consejo","contar","copa","copia","corazón","corbata","corcho","cordón","corona","correr","coser","cosmos","costa","cráneo","cráter","crear","crecer","creído","crema","cría","crimen","cripta","crisis","cromo","crónica","croqueta","crudo","cruz","cuadro","cuarto","cuatro","cubo","cubrir","cuchara","cuello","cuento","cuerda","cuesta","cueva","cuidar","culebra","culpa","culto","cumbre","cumplir","cuna","cuneta","cuota","cupón","cúpula","curar","curioso","curso","curva","cutis","dama","danza","dar","dardo","dátil","deber","débil","década","decir","dedo","defensa","definir","dejar","delfín","delgado","delito","demora","denso","dental","deporte","derecho","derrota","desayuno","deseo","desfile","desnudo","destino","desvío","detalle","detener","deuda","día","diablo","diadema","diamante","diana","diario","dibujo","dictar","diente","dieta","diez","difícil","digno","dilema","diluir","dinero","directo","dirigir","disco","diseño","disfraz","diva","divino","doble","doce","dolor","domingo","don","donar","dorado","dormir","dorso","dos","dosis","dragón","droga","ducha","duda","duelo","dueño","dulce","dúo","duque","durar","dureza","duro","ébano","ebrio","echar","eco","ecuador","edad","edición","edificio","editor","educar","efecto","eficaz","eje","ejemplo","elefante","elegir","elemento","elevar","elipse","élite","elixir","elogio","eludir","embudo","emitir","emoción","empate","empeño","empleo","empresa","enano","encargo","enchufe","encía","enemigo","enero","enfado","enfermo","engaño","enigma","enlace","enorme","enredo","ensayo","enseñar","entero","entrar","envase","envío","época","equipo","erizo","escala","escena","escolar","escribir","escudo","esencia","esfera","esfuerzo","espada","espejo","espía","esposa","espuma","esquí","estar","este","estilo","estufa","etapa","eterno","ética","etnia","evadir","evaluar","evento","evitar","exacto","examen","exceso","excusa","exento","exigir","exilio","existir","éxito","experto","explicar","exponer","extremo","fábrica","fábula","fachada","fácil","factor","faena","faja","falda","fallo","falso","faltar","fama","familia","famoso","faraón","farmacia","farol","farsa","fase","fatiga","fauna","favor","fax","febrero","fecha","feliz","feo","feria","feroz","fértil","fervor","festín","fiable","fianza","fiar","fibra","ficción","ficha","fideo","fiebre","fiel","fiera","fiesta","figura","fijar","fijo","fila","filete","filial","filtro","fin","finca","fingir","finito","firma","flaco","flauta","flecha","flor","flota","fluir","flujo","flúor","fobia","foca","fogata","fogón","folio","folleto","fondo","forma","forro","fortuna","forzar","fosa","foto","fracaso","frágil","franja","frase","fraude","freír","freno","fresa","frío","frito","fruta","fuego","fuente","fuerza","fuga","fumar","función","funda","furgón","furia","fusil","fútbol","futuro","gacela","gafas","gaita","gajo","gala","galería","gallo","gamba","ganar","gancho","ganga","ganso","garaje","garza","gasolina","gastar","gato","gavilán","gemelo","gemir","gen","género","genio","gente","geranio","gerente","germen","gesto","gigante","gimnasio","girar","giro","glaciar","globo","gloria","gol","golfo","goloso","golpe","goma","gordo","gorila","gorra","gota","goteo","gozar","grada","gráfico","grano","grasa","gratis","grave","grieta","grillo","gripe","gris","grito","grosor","grúa","grueso","grumo","grupo","guante","guapo","guardia","guerra","guía","guiño","guion","guiso","guitarra","gusano","gustar","haber","hábil","hablar","hacer","hacha","hada","hallar","hamaca","harina","haz","hazaña","hebilla","hebra","hecho","helado","helio","hembra","herir","hermano","héroe","hervir","hielo","hierro","hígado","higiene","hijo","himno","historia","hocico","hogar","hoguera","hoja","hombre","hongo","honor","honra","hora","hormiga","horno","hostil","hoyo","hueco","huelga","huerta","hueso","huevo","huida","huir","humano","húmedo","humilde","humo","hundir","huracán","hurto","icono","ideal","idioma","ídolo","iglesia","iglú","igual","ilegal","ilusión","imagen","imán","imitar","impar","imperio","imponer","impulso","incapaz","índice","inerte","infiel","informe","ingenio","inicio","inmenso","inmune","innato","insecto","instante","interés","íntimo","intuir","inútil","invierno","ira","iris","ironía","isla","islote","jabalí","jabón","jamón","jarabe","jardín","jarra","jaula","jazmín","jefe","jeringa","jinete","jornada","joroba","joven","joya","juerga","jueves","juez","jugador","jugo","juguete","juicio","junco","jungla","junio","juntar","júpiter","jurar","justo","juvenil","juzgar","kilo","koala","labio","lacio","lacra","lado","ladrón","lagarto","lágrima","laguna","laico","lamer","lámina","lámpara","lana","lancha","langosta","lanza","lápiz","largo","larva","lástima","lata","látex","latir","laurel","lavar","lazo","leal","lección","leche","lector","leer","legión","legumbre","lejano","lengua","lento","leña","león","leopardo","lesión","letal","letra","leve","leyenda","libertad","libro","licor","líder","lidiar","lienzo","liga","ligero","lima","límite","limón","limpio","lince","lindo","línea","lingote","lino","linterna","líquido","liso","lista","litera","litio","litro","llaga","llama","llanto","llave","llegar","llenar","llevar","llorar","llover","lluvia","lobo","loción","loco","locura","lógica","logro","lombriz","lomo","lonja","lote","lucha","lucir","lugar","lujo","luna","lunes","lupa","lustro","luto","luz","maceta","macho","madera","madre","maduro","maestro","mafia","magia","mago","maíz","maldad","maleta","malla","malo","mamá","mambo","mamut","manco","mando","manejar","manga","maniquí","manjar","mano","manso","manta","mañana","mapa","máquina","mar","marco","marea","marfil","margen","marido","mármol","marrón","martes","marzo","masa","máscara","masivo","matar","materia","matiz","matriz","máximo","mayor","mazorca","mecha","medalla","medio","médula","mejilla","mejor","melena","melón","memoria","menor","mensaje","mente","menú","mercado","merengue","mérito","mes","mesón","meta","meter","método","metro","mezcla","miedo","miel","miembro","miga","mil","milagro","militar","millón","mimo","mina","minero","mínimo","minuto","miope","mirar","misa","miseria","misil","mismo","mitad","mito","mochila","moción","moda","modelo","moho","mojar","molde","moler","molino","momento","momia","monarca","moneda","monja","monto","moño","morada","morder","moreno","morir","morro","morsa","mortal","mosca","mostrar","motivo","mover","móvil","mozo","mucho","mudar","mueble","muela","muerte","muestra","mugre","mujer","mula","muleta","multa","mundo","muñeca","mural","muro","músculo","museo","musgo","música","muslo","nácar","nación","nadar","naipe","naranja","nariz","narrar","nasal","natal","nativo","natural","náusea","naval","nave","navidad","necio","néctar","negar","negocio","negro","neón","nervio","neto","neutro","nevar","nevera","nicho","nido","niebla","nieto","niñez","niño","nítido","nivel","nobleza","noche","nómina","noria","norma","norte","nota","noticia","novato","novela","novio","nube","nuca","núcleo","nudillo","nudo","nuera","nueve","nuez","nulo","número","nutria","oasis","obeso","obispo","objeto","obra","obrero","observar","obtener","obvio","oca","ocaso","océano","ochenta","ocho","ocio","ocre","octavo","octubre","oculto","ocupar","ocurrir","odiar","odio","odisea","oeste","ofensa","oferta","oficio","ofrecer","ogro","oído","oír","ojo","ola","oleada","olfato","olivo","olla","olmo","olor","olvido","ombligo","onda","onza","opaco","opción","ópera","opinar","oponer","optar","óptica","opuesto","oración","orador","oral","órbita","orca","orden","oreja","órgano","orgía","orgullo","oriente","origen","orilla","oro","orquesta","oruga","osadía","oscuro","osezno","oso","ostra","otoño","otro","oveja","óvulo","óxido","oxígeno","oyente","ozono","pacto","padre","paella","página","pago","país","pájaro","palabra","palco","paleta","pálido","palma","paloma","palpar","pan","panal","pánico","pantera","pañuelo","papá","papel","papilla","paquete","parar","parcela","pared","parir","paro","párpado","parque","párrafo","parte","pasar","paseo","pasión","paso","pasta","pata","patio","patria","pausa","pauta","pavo","payaso","peatón","pecado","pecera","pecho","pedal","pedir","pegar","peine","pelar","peldaño","pelea","peligro","pellejo","pelo","peluca","pena","pensar","peñón","peón","peor","pepino","pequeño","pera","percha","perder","pereza","perfil","perico","perla","permiso","perro","persona","pesa","pesca","pésimo","pestaña","pétalo","petróleo","pez","pezuña","picar","pichón","pie","piedra","pierna","pieza","pijama","pilar","piloto","pimienta","pino","pintor","pinza","piña","piojo","pipa","pirata","pisar","piscina","piso","pista","pitón","pizca","placa","plan","plata","playa","plaza","pleito","pleno","plomo","pluma","plural","pobre","poco","poder","podio","poema","poesía","poeta","polen","policía","pollo","polvo","pomada","pomelo","pomo","pompa","poner","porción","portal","posada","poseer","posible","poste","potencia","potro","pozo","prado","precoz","pregunta","premio","prensa","preso","previo","primo","príncipe","prisión","privar","proa","probar","proceso","producto","proeza","profesor","programa","prole","promesa","pronto","propio","próximo","prueba","público","puchero","pudor","pueblo","puerta","puesto","pulga","pulir","pulmón","pulpo","pulso","puma","punto","puñal","puño","pupa","pupila","puré","quedar","queja","quemar","querer","queso","quieto","química","quince","quitar","rábano","rabia","rabo","ración","radical","raíz","rama","rampa","rancho","rango","rapaz","rápido","rapto","rasgo","raspa","rato","rayo","raza","razón","reacción","realidad","rebaño","rebote","recaer","receta","rechazo","recoger","recreo","recto","recurso","red","redondo","reducir","reflejo","reforma","refrán","refugio","regalo","regir","regla","regreso","rehén","reino","reír","reja","relato","relevo","relieve","relleno","reloj","remar","remedio","remo","rencor","rendir","renta","reparto","repetir","reposo","reptil","res","rescate","resina","respeto","resto","resumen","retiro","retorno","retrato","reunir","revés","revista","rey","rezar","rico","riego","rienda","riesgo","rifa","rígido","rigor","rincón","riñón","río","riqueza","risa","ritmo","rito","rizo","roble","roce","rociar","rodar","rodeo","rodilla","roer","rojizo","rojo","romero","romper","ron","ronco","ronda","ropa","ropero","rosa","rosca","rostro","rotar","rubí","rubor","rudo","rueda","rugir","ruido","ruina","ruleta","rulo","rumbo","rumor","ruptura","ruta","rutina","sábado","saber","sabio","sable","sacar","sagaz","sagrado","sala","saldo","salero","salir","salmón","salón","salsa","salto","salud","salvar","samba","sanción","sandía","sanear","sangre","sanidad","sano","santo","sapo","saque","sardina","sartén","sastre","satán","sauna","saxofón","sección","seco","secreto","secta","sed","seguir","seis","sello","selva","semana","semilla","senda","sensor","señal","señor","separar","sepia","sequía","ser","serie","sermón","servir","sesenta","sesión","seta","setenta","severo","sexo","sexto","sidra","siesta","siete","siglo","signo","sílaba","silbar","silencio","silla","símbolo","simio","sirena","sistema","sitio","situar","sobre","socio","sodio","sol","solapa","soldado","soledad","sólido","soltar","solución","sombra","sondeo","sonido","sonoro","sonrisa","sopa","soplar","soporte","sordo","sorpresa","sorteo","sostén","sótano","suave","subir","suceso","sudor","suegra","suelo","sueño","suerte","sufrir","sujeto","sultán","sumar","superar","suplir","suponer","supremo","sur","surco","sureño","surgir","susto","sutil","tabaco","tabique","tabla","tabú","taco","tacto","tajo","talar","talco","talento","talla","talón","tamaño","tambor","tango","tanque","tapa","tapete","tapia","tapón","taquilla","tarde","tarea","tarifa","tarjeta","tarot","tarro","tarta","tatuaje","tauro","taza","tazón","teatro","techo","tecla","técnica","tejado","tejer","tejido","tela","teléfono","tema","temor","templo","tenaz","tender","tener","tenis","tenso","teoría","terapia","terco","término","ternura","terror","tesis","tesoro","testigo","tetera","texto","tez","tibio","tiburón","tiempo","tienda","tierra","tieso","tigre","tijera","tilde","timbre","tímido","timo","tinta","tío","típico","tipo","tira","tirón","titán","títere","título","tiza","toalla","tobillo","tocar","tocino","todo","toga","toldo","tomar","tono","tonto","topar","tope","toque","tórax","torero","tormenta","torneo","toro","torpedo","torre","torso","tortuga","tos","tosco","toser","tóxico","trabajo","tractor","traer","tráfico","trago","traje","tramo","trance","trato","trauma","trazar","trébol","tregua","treinta","tren","trepar","tres","tribu","trigo","tripa","triste","triunfo","trofeo","trompa","tronco","tropa","trote","trozo","truco","trueno","trufa","tubería","tubo","tuerto","tumba","tumor","túnel","túnica","turbina","turismo","turno","tutor","ubicar","úlcera","umbral","unidad","unir","universo","uno","untar","uña","urbano","urbe","urgente","urna","usar","usuario","útil","utopía","uva","vaca","vacío","vacuna","vagar","vago","vaina","vajilla","vale","válido","valle","valor","válvula","vampiro","vara","variar","varón","vaso","vecino","vector","vehículo","veinte","vejez","vela","velero","veloz","vena","vencer","venda","veneno","vengar","venir","venta","venus","ver","verano","verbo","verde","vereda","verja","verso","verter","vía","viaje","vibrar","vicio","víctima","vida","vídeo","vidrio","viejo","viernes","vigor","vil","villa","vinagre","vino","viñedo","violín","viral","virgo","virtud","visor","víspera","vista","vitamina","viudo","vivaz","vivero","vivir","vivo","volcán","volumen","volver","voraz","votar","voto","voz","vuelo","vulgar","yacer","yate","yegua","yema","yerno","yeso","yodo","yoga","yogur","zafiro","zanja","zapato","zarza","zona","zorro","zumo","zurdo"]')},46996:function(eb){"use strict";eb.exports=JSON.parse('["的","一","是","在","不","了","有","和","人","这","中","大","为","上","个","国","我","以","要","他","时","来","用","们","生","到","作","地","于","出","就","分","对","成","会","可","主","发","年","动","同","工","也","能","下","过","子","说","产","种","面","而","方","后","多","定","行","学","法","所","民","得","经","十","三","之","进","着","等","部","度","家","电","力","里","如","水","化","高","自","二","理","起","小","物","现","实","加","量","都","两","体","制","机","当","使","点","从","业","本","去","把","性","好","应","开","它","合","还","因","由","其","些","然","前","外","天","政","四","日","那","社","义","事","平","形","相","全","表","间","样","与","关","各","重","新","线","内","数","正","心","反","你","明","看","原","又","么","利","比","或","但","质","气","第","向","道","命","此","变","条","只","没","结","解","问","意","建","月","公","无","系","军","很","情","者","最","立","代","想","已","通","并","提","直","题","党","程","展","五","果","料","象","员","革","位","入","常","文","总","次","品","式","活","设","及","管","特","件","长","求","老","头","基","资","边","流","路","级","少","图","山","统","接","知","较","将","组","见","计","别","她","手","角","期","根","论","运","农","指","几","九","区","强","放","决","西","被","干","做","必","战","先","回","则","任","取","据","处","队","南","给","色","光","门","即","保","治","北","造","百","规","热","领","七","海","口","东","导","器","压","志","世","金","增","争","济","阶","油","思","术","极","交","受","联","什","认","六","共","权","收","证","改","清","美","再","采","转","更","单","风","切","打","白","教","速","花","带","安","场","身","车","例","真","务","具","万","每","目","至","达","走","积","示","议","声","报","斗","完","类","八","离","华","名","确","才","科","张","信","马","节","话","米","整","空","元","况","今","集","温","传","土","许","步","群","广","石","记","需","段","研","界","拉","林","律","叫","且","究","观","越","织","装","影","算","低","持","音","众","书","布","复","容","儿","须","际","商","非","验","连","断","深","难","近","矿","千","周","委","素","技","备","半","办","青","省","列","习","响","约","支","般","史","感","劳","便","团","往","酸","历","市","克","何","除","消","构","府","称","太","准","精","值","号","率","族","维","划","选","标","写","存","候","毛","亲","快","效","斯","院","查","江","型","眼","王","按","格","养","易","置","派","层","片","始","却","专","状","育","厂","京","识","适","属","圆","包","火","住","调","满","县","局","照","参","红","细","引","听","该","铁","价","严","首","底","液","官","德","随","病","苏","失","尔","死","讲","配","女","黄","推","显","谈","罪","神","艺","呢","席","含","企","望","密","批","营","项","防","举","球","英","氧","势","告","李","台","落","木","帮","轮","破","亚","师","围","注","远","字","材","排","供","河","态","封","另","施","减","树","溶","怎","止","案","言","士","均","武","固","叶","鱼","波","视","仅","费","紧","爱","左","章","早","朝","害","续","轻","服","试","食","充","兵","源","判","护","司","足","某","练","差","致","板","田","降","黑","犯","负","击","范","继","兴","似","余","坚","曲","输","修","故","城","夫","够","送","笔","船","占","右","财","吃","富","春","职","觉","汉","画","功","巴","跟","虽","杂","飞","检","吸","助","升","阳","互","初","创","抗","考","投","坏","策","古","径","换","未","跑","留","钢","曾","端","责","站","简","述","钱","副","尽","帝","射","草","冲","承","独","令","限","阿","宣","环","双","请","超","微","让","控","州","良","轴","找","否","纪","益","依","优","顶","础","载","倒","房","突","坐","粉","敌","略","客","袁","冷","胜","绝","析","块","剂","测","丝","协","诉","念","陈","仍","罗","盐","友","洋","错","苦","夜","刑","移","频","逐","靠","混","母","短","皮","终","聚","汽","村","云","哪","既","距","卫","停","烈","央","察","烧","迅","境","若","印","洲","刻","括","激","孔","搞","甚","室","待","核","校","散","侵","吧","甲","游","久","菜","味","旧","模","湖","货","损","预","阻","毫","普","稳","乙","妈","植","息","扩","银","语","挥","酒","守","拿","序","纸","医","缺","雨","吗","针","刘","啊","急","唱","误","训","愿","审","附","获","茶","鲜","粮","斤","孩","脱","硫","肥","善","龙","演","父","渐","血","欢","械","掌","歌","沙","刚","攻","谓","盾","讨","晚","粒","乱","燃","矛","乎","杀","药","宁","鲁","贵","钟","煤","读","班","伯","香","介","迫","句","丰","培","握","兰","担","弦","蛋","沉","假","穿","执","答","乐","谁","顺","烟","缩","征","脸","喜","松","脚","困","异","免","背","星","福","买","染","井","概","慢","怕","磁","倍","祖","皇","促","静","补","评","翻","肉","践","尼","衣","宽","扬","棉","希","伤","操","垂","秋","宜","氢","套","督","振","架","亮","末","宪","庆","编","牛","触","映","雷","销","诗","座","居","抓","裂","胞","呼","娘","景","威","绿","晶","厚","盟","衡","鸡","孙","延","危","胶","屋","乡","临","陆","顾","掉","呀","灯","岁","措","束","耐","剧","玉","赵","跳","哥","季","课","凯","胡","额","款","绍","卷","齐","伟","蒸","殖","永","宗","苗","川","炉","岩","弱","零","杨","奏","沿","露","杆","探","滑","镇","饭","浓","航","怀","赶","库","夺","伊","灵","税","途","灭","赛","归","召","鼓","播","盘","裁","险","康","唯","录","菌","纯","借","糖","盖","横","符","私","努","堂","域","枪","润","幅","哈","竟","熟","虫","泽","脑","壤","碳","欧","遍","侧","寨","敢","彻","虑","斜","薄","庭","纳","弹","饲","伸","折","麦","湿","暗","荷","瓦","塞","床","筑","恶","户","访","塔","奇","透","梁","刀","旋","迹","卡","氯","遇","份","毒","泥","退","洗","摆","灰","彩","卖","耗","夏","择","忙","铜","献","硬","予","繁","圈","雪","函","亦","抽","篇","阵","阴","丁","尺","追","堆","雄","迎","泛","爸","楼","避","谋","吨","野","猪","旗","累","偏","典","馆","索","秦","脂","潮","爷","豆","忽","托","惊","塑","遗","愈","朱","替","纤","粗","倾","尚","痛","楚","谢","奋","购","磨","君","池","旁","碎","骨","监","捕","弟","暴","割","贯","殊","释","词","亡","壁","顿","宝","午","尘","闻","揭","炮","残","冬","桥","妇","警","综","招","吴","付","浮","遭","徐","您","摇","谷","赞","箱","隔","订","男","吹","园","纷","唐","败","宋","玻","巨","耕","坦","荣","闭","湾","键","凡","驻","锅","救","恩","剥","凝","碱","齿","截","炼","麻","纺","禁","废","盛","版","缓","净","睛","昌","婚","涉","筒","嘴","插","岸","朗","庄","街","藏","姑","贸","腐","奴","啦","惯","乘","伙","恢","匀","纱","扎","辩","耳","彪","臣","亿","璃","抵","脉","秀","萨","俄","网","舞","店","喷","纵","寸","汗","挂","洪","贺","闪","柬","爆","烯","津","稻","墙","软","勇","像","滚","厘","蒙","芳","肯","坡","柱","荡","腿","仪","旅","尾","轧","冰","贡","登","黎","削","钻","勒","逃","障","氨","郭","峰","币","港","伏","轨","亩","毕","擦","莫","刺","浪","秘","援","株","健","售","股","岛","甘","泡","睡","童","铸","汤","阀","休","汇","舍","牧","绕","炸","哲","磷","绩","朋","淡","尖","启","陷","柴","呈","徒","颜","泪","稍","忘","泵","蓝","拖","洞","授","镜","辛","壮","锋","贫","虚","弯","摩","泰","幼","廷","尊","窗","纲","弄","隶","疑","氏","宫","姐","震","瑞","怪","尤","琴","循","描","膜","违","夹","腰","缘","珠","穷","森","枝","竹","沟","催","绳","忆","邦","剩","幸","浆","栏","拥","牙","贮","礼","滤","钠","纹","罢","拍","咱","喊","袖","埃","勤","罚","焦","潜","伍","墨","欲","缝","姓","刊","饱","仿","奖","铝","鬼","丽","跨","默","挖","链","扫","喝","袋","炭","污","幕","诸","弧","励","梅","奶","洁","灾","舟","鉴","苯","讼","抱","毁","懂","寒","智","埔","寄","届","跃","渡","挑","丹","艰","贝","碰","拔","爹","戴","码","梦","芽","熔","赤","渔","哭","敬","颗","奔","铅","仲","虎","稀","妹","乏","珍","申","桌","遵","允","隆","螺","仓","魏","锐","晓","氮","兼","隐","碍","赫","拨","忠","肃","缸","牵","抢","博","巧","壳","兄","杜","讯","诚","碧","祥","柯","页","巡","矩","悲","灌","龄","伦","票","寻","桂","铺","圣","恐","恰","郑","趣","抬","荒","腾","贴","柔","滴","猛","阔","辆","妻","填","撤","储","签","闹","扰","紫","砂","递","戏","吊","陶","伐","喂","疗","瓶","婆","抚","臂","摸","忍","虾","蜡","邻","胸","巩","挤","偶","弃","槽","劲","乳","邓","吉","仁","烂","砖","租","乌","舰","伴","瓜","浅","丙","暂","燥","橡","柳","迷","暖","牌","秧","胆","详","簧","踏","瓷","谱","呆","宾","糊","洛","辉","愤","竞","隙","怒","粘","乃","绪","肩","籍","敏","涂","熙","皆","侦","悬","掘","享","纠","醒","狂","锁","淀","恨","牲","霸","爬","赏","逆","玩","陵","祝","秒","浙","貌","役","彼","悉","鸭","趋","凤","晨","畜","辈","秩","卵","署","梯","炎","滩","棋","驱","筛","峡","冒","啥","寿","译","浸","泉","帽","迟","硅","疆","贷","漏","稿","冠","嫩","胁","芯","牢","叛","蚀","奥","鸣","岭","羊","凭","串","塘","绘","酵","融","盆","锡","庙","筹","冻","辅","摄","袭","筋","拒","僚","旱","钾","鸟","漆","沈","眉","疏","添","棒","穗","硝","韩","逼","扭","侨","凉","挺","碗","栽","炒","杯","患","馏","劝","豪","辽","勃","鸿","旦","吏","拜","狗","埋","辊","掩","饮","搬","骂","辞","勾","扣","估","蒋","绒","雾","丈","朵","姆","拟","宇","辑","陕","雕","偿","蓄","崇","剪","倡","厅","咬","驶","薯","刷","斥","番","赋","奉","佛","浇","漫","曼","扇","钙","桃","扶","仔","返","俗","亏","腔","鞋","棱","覆","框","悄","叔","撞","骗","勘","旺","沸","孤","吐","孟","渠","屈","疾","妙","惜","仰","狠","胀","谐","抛","霉","桑","岗","嘛","衰","盗","渗","脏","赖","涌","甜","曹","阅","肌","哩","厉","烃","纬","毅","昨","伪","症","煮","叹","钉","搭","茎","笼","酷","偷","弓","锥","恒","杰","坑","鼻","翼","纶","叙","狱","逮","罐","络","棚","抑","膨","蔬","寺","骤","穆","冶","枯","册","尸","凸","绅","坯","牺","焰","轰","欣","晋","瘦","御","锭","锦","丧","旬","锻","垄","搜","扑","邀","亭","酯","迈","舒","脆","酶","闲","忧","酚","顽","羽","涨","卸","仗","陪","辟","惩","杭","姚","肚","捉","飘","漂","昆","欺","吾","郎","烷","汁","呵","饰","萧","雅","邮","迁","燕","撒","姻","赴","宴","烦","债","帐","斑","铃","旨","醇","董","饼","雏","姿","拌","傅","腹","妥","揉","贤","拆","歪","葡","胺","丢","浩","徽","昂","垫","挡","览","贪","慰","缴","汪","慌","冯","诺","姜","谊","凶","劣","诬","耀","昏","躺","盈","骑","乔","溪","丛","卢","抹","闷","咨","刮","驾","缆","悟","摘","铒","掷","颇","幻","柄","惠","惨","佳","仇","腊","窝","涤","剑","瞧","堡","泼","葱","罩","霍","捞","胎","苍","滨","俩","捅","湘","砍","霞","邵","萄","疯","淮","遂","熊","粪","烘","宿","档","戈","驳","嫂","裕","徙","箭","捐","肠","撑","晒","辨","殿","莲","摊","搅","酱","屏","疫","哀","蔡","堵","沫","皱","畅","叠","阁","莱","敲","辖","钩","痕","坝","巷","饿","祸","丘","玄","溜","曰","逻","彭","尝","卿","妨","艇","吞","韦","怨","矮","歇"]')},4262:function(eb){"use strict";eb.exports=JSON.parse('["的","一","是","在","不","了","有","和","人","這","中","大","為","上","個","國","我","以","要","他","時","來","用","們","生","到","作","地","於","出","就","分","對","成","會","可","主","發","年","動","同","工","也","能","下","過","子","說","產","種","面","而","方","後","多","定","行","學","法","所","民","得","經","十","三","之","進","著","等","部","度","家","電","力","裡","如","水","化","高","自","二","理","起","小","物","現","實","加","量","都","兩","體","制","機","當","使","點","從","業","本","去","把","性","好","應","開","它","合","還","因","由","其","些","然","前","外","天","政","四","日","那","社","義","事","平","形","相","全","表","間","樣","與","關","各","重","新","線","內","數","正","心","反","你","明","看","原","又","麼","利","比","或","但","質","氣","第","向","道","命","此","變","條","只","沒","結","解","問","意","建","月","公","無","系","軍","很","情","者","最","立","代","想","已","通","並","提","直","題","黨","程","展","五","果","料","象","員","革","位","入","常","文","總","次","品","式","活","設","及","管","特","件","長","求","老","頭","基","資","邊","流","路","級","少","圖","山","統","接","知","較","將","組","見","計","別","她","手","角","期","根","論","運","農","指","幾","九","區","強","放","決","西","被","幹","做","必","戰","先","回","則","任","取","據","處","隊","南","給","色","光","門","即","保","治","北","造","百","規","熱","領","七","海","口","東","導","器","壓","志","世","金","增","爭","濟","階","油","思","術","極","交","受","聯","什","認","六","共","權","收","證","改","清","美","再","採","轉","更","單","風","切","打","白","教","速","花","帶","安","場","身","車","例","真","務","具","萬","每","目","至","達","走","積","示","議","聲","報","鬥","完","類","八","離","華","名","確","才","科","張","信","馬","節","話","米","整","空","元","況","今","集","溫","傳","土","許","步","群","廣","石","記","需","段","研","界","拉","林","律","叫","且","究","觀","越","織","裝","影","算","低","持","音","眾","書","布","复","容","兒","須","際","商","非","驗","連","斷","深","難","近","礦","千","週","委","素","技","備","半","辦","青","省","列","習","響","約","支","般","史","感","勞","便","團","往","酸","歷","市","克","何","除","消","構","府","稱","太","準","精","值","號","率","族","維","劃","選","標","寫","存","候","毛","親","快","效","斯","院","查","江","型","眼","王","按","格","養","易","置","派","層","片","始","卻","專","狀","育","廠","京","識","適","屬","圓","包","火","住","調","滿","縣","局","照","參","紅","細","引","聽","該","鐵","價","嚴","首","底","液","官","德","隨","病","蘇","失","爾","死","講","配","女","黃","推","顯","談","罪","神","藝","呢","席","含","企","望","密","批","營","項","防","舉","球","英","氧","勢","告","李","台","落","木","幫","輪","破","亞","師","圍","注","遠","字","材","排","供","河","態","封","另","施","減","樹","溶","怎","止","案","言","士","均","武","固","葉","魚","波","視","僅","費","緊","愛","左","章","早","朝","害","續","輕","服","試","食","充","兵","源","判","護","司","足","某","練","差","致","板","田","降","黑","犯","負","擊","范","繼","興","似","餘","堅","曲","輸","修","故","城","夫","夠","送","筆","船","佔","右","財","吃","富","春","職","覺","漢","畫","功","巴","跟","雖","雜","飛","檢","吸","助","昇","陽","互","初","創","抗","考","投","壞","策","古","徑","換","未","跑","留","鋼","曾","端","責","站","簡","述","錢","副","盡","帝","射","草","衝","承","獨","令","限","阿","宣","環","雙","請","超","微","讓","控","州","良","軸","找","否","紀","益","依","優","頂","礎","載","倒","房","突","坐","粉","敵","略","客","袁","冷","勝","絕","析","塊","劑","測","絲","協","訴","念","陳","仍","羅","鹽","友","洋","錯","苦","夜","刑","移","頻","逐","靠","混","母","短","皮","終","聚","汽","村","雲","哪","既","距","衛","停","烈","央","察","燒","迅","境","若","印","洲","刻","括","激","孔","搞","甚","室","待","核","校","散","侵","吧","甲","遊","久","菜","味","舊","模","湖","貨","損","預","阻","毫","普","穩","乙","媽","植","息","擴","銀","語","揮","酒","守","拿","序","紙","醫","缺","雨","嗎","針","劉","啊","急","唱","誤","訓","願","審","附","獲","茶","鮮","糧","斤","孩","脫","硫","肥","善","龍","演","父","漸","血","歡","械","掌","歌","沙","剛","攻","謂","盾","討","晚","粒","亂","燃","矛","乎","殺","藥","寧","魯","貴","鐘","煤","讀","班","伯","香","介","迫","句","豐","培","握","蘭","擔","弦","蛋","沉","假","穿","執","答","樂","誰","順","煙","縮","徵","臉","喜","松","腳","困","異","免","背","星","福","買","染","井","概","慢","怕","磁","倍","祖","皇","促","靜","補","評","翻","肉","踐","尼","衣","寬","揚","棉","希","傷","操","垂","秋","宜","氫","套","督","振","架","亮","末","憲","慶","編","牛","觸","映","雷","銷","詩","座","居","抓","裂","胞","呼","娘","景","威","綠","晶","厚","盟","衡","雞","孫","延","危","膠","屋","鄉","臨","陸","顧","掉","呀","燈","歲","措","束","耐","劇","玉","趙","跳","哥","季","課","凱","胡","額","款","紹","卷","齊","偉","蒸","殖","永","宗","苗","川","爐","岩","弱","零","楊","奏","沿","露","桿","探","滑","鎮","飯","濃","航","懷","趕","庫","奪","伊","靈","稅","途","滅","賽","歸","召","鼓","播","盤","裁","險","康","唯","錄","菌","純","借","糖","蓋","橫","符","私","努","堂","域","槍","潤","幅","哈","竟","熟","蟲","澤","腦","壤","碳","歐","遍","側","寨","敢","徹","慮","斜","薄","庭","納","彈","飼","伸","折","麥","濕","暗","荷","瓦","塞","床","築","惡","戶","訪","塔","奇","透","梁","刀","旋","跡","卡","氯","遇","份","毒","泥","退","洗","擺","灰","彩","賣","耗","夏","擇","忙","銅","獻","硬","予","繁","圈","雪","函","亦","抽","篇","陣","陰","丁","尺","追","堆","雄","迎","泛","爸","樓","避","謀","噸","野","豬","旗","累","偏","典","館","索","秦","脂","潮","爺","豆","忽","托","驚","塑","遺","愈","朱","替","纖","粗","傾","尚","痛","楚","謝","奮","購","磨","君","池","旁","碎","骨","監","捕","弟","暴","割","貫","殊","釋","詞","亡","壁","頓","寶","午","塵","聞","揭","炮","殘","冬","橋","婦","警","綜","招","吳","付","浮","遭","徐","您","搖","谷","贊","箱","隔","訂","男","吹","園","紛","唐","敗","宋","玻","巨","耕","坦","榮","閉","灣","鍵","凡","駐","鍋","救","恩","剝","凝","鹼","齒","截","煉","麻","紡","禁","廢","盛","版","緩","淨","睛","昌","婚","涉","筒","嘴","插","岸","朗","莊","街","藏","姑","貿","腐","奴","啦","慣","乘","夥","恢","勻","紗","扎","辯","耳","彪","臣","億","璃","抵","脈","秀","薩","俄","網","舞","店","噴","縱","寸","汗","掛","洪","賀","閃","柬","爆","烯","津","稻","牆","軟","勇","像","滾","厘","蒙","芳","肯","坡","柱","盪","腿","儀","旅","尾","軋","冰","貢","登","黎","削","鑽","勒","逃","障","氨","郭","峰","幣","港","伏","軌","畝","畢","擦","莫","刺","浪","秘","援","株","健","售","股","島","甘","泡","睡","童","鑄","湯","閥","休","匯","舍","牧","繞","炸","哲","磷","績","朋","淡","尖","啟","陷","柴","呈","徒","顏","淚","稍","忘","泵","藍","拖","洞","授","鏡","辛","壯","鋒","貧","虛","彎","摩","泰","幼","廷","尊","窗","綱","弄","隸","疑","氏","宮","姐","震","瑞","怪","尤","琴","循","描","膜","違","夾","腰","緣","珠","窮","森","枝","竹","溝","催","繩","憶","邦","剩","幸","漿","欄","擁","牙","貯","禮","濾","鈉","紋","罷","拍","咱","喊","袖","埃","勤","罰","焦","潛","伍","墨","欲","縫","姓","刊","飽","仿","獎","鋁","鬼","麗","跨","默","挖","鏈","掃","喝","袋","炭","污","幕","諸","弧","勵","梅","奶","潔","災","舟","鑑","苯","訟","抱","毀","懂","寒","智","埔","寄","屆","躍","渡","挑","丹","艱","貝","碰","拔","爹","戴","碼","夢","芽","熔","赤","漁","哭","敬","顆","奔","鉛","仲","虎","稀","妹","乏","珍","申","桌","遵","允","隆","螺","倉","魏","銳","曉","氮","兼","隱","礙","赫","撥","忠","肅","缸","牽","搶","博","巧","殼","兄","杜","訊","誠","碧","祥","柯","頁","巡","矩","悲","灌","齡","倫","票","尋","桂","鋪","聖","恐","恰","鄭","趣","抬","荒","騰","貼","柔","滴","猛","闊","輛","妻","填","撤","儲","簽","鬧","擾","紫","砂","遞","戲","吊","陶","伐","餵","療","瓶","婆","撫","臂","摸","忍","蝦","蠟","鄰","胸","鞏","擠","偶","棄","槽","勁","乳","鄧","吉","仁","爛","磚","租","烏","艦","伴","瓜","淺","丙","暫","燥","橡","柳","迷","暖","牌","秧","膽","詳","簧","踏","瓷","譜","呆","賓","糊","洛","輝","憤","競","隙","怒","粘","乃","緒","肩","籍","敏","塗","熙","皆","偵","懸","掘","享","糾","醒","狂","鎖","淀","恨","牲","霸","爬","賞","逆","玩","陵","祝","秒","浙","貌","役","彼","悉","鴨","趨","鳳","晨","畜","輩","秩","卵","署","梯","炎","灘","棋","驅","篩","峽","冒","啥","壽","譯","浸","泉","帽","遲","矽","疆","貸","漏","稿","冠","嫩","脅","芯","牢","叛","蝕","奧","鳴","嶺","羊","憑","串","塘","繪","酵","融","盆","錫","廟","籌","凍","輔","攝","襲","筋","拒","僚","旱","鉀","鳥","漆","沈","眉","疏","添","棒","穗","硝","韓","逼","扭","僑","涼","挺","碗","栽","炒","杯","患","餾","勸","豪","遼","勃","鴻","旦","吏","拜","狗","埋","輥","掩","飲","搬","罵","辭","勾","扣","估","蔣","絨","霧","丈","朵","姆","擬","宇","輯","陝","雕","償","蓄","崇","剪","倡","廳","咬","駛","薯","刷","斥","番","賦","奉","佛","澆","漫","曼","扇","鈣","桃","扶","仔","返","俗","虧","腔","鞋","棱","覆","框","悄","叔","撞","騙","勘","旺","沸","孤","吐","孟","渠","屈","疾","妙","惜","仰","狠","脹","諧","拋","黴","桑","崗","嘛","衰","盜","滲","臟","賴","湧","甜","曹","閱","肌","哩","厲","烴","緯","毅","昨","偽","症","煮","嘆","釘","搭","莖","籠","酷","偷","弓","錐","恆","傑","坑","鼻","翼","綸","敘","獄","逮","罐","絡","棚","抑","膨","蔬","寺","驟","穆","冶","枯","冊","屍","凸","紳","坯","犧","焰","轟","欣","晉","瘦","禦","錠","錦","喪","旬","鍛","壟","搜","撲","邀","亭","酯","邁","舒","脆","酶","閒","憂","酚","頑","羽","漲","卸","仗","陪","闢","懲","杭","姚","肚","捉","飄","漂","昆","欺","吾","郎","烷","汁","呵","飾","蕭","雅","郵","遷","燕","撒","姻","赴","宴","煩","債","帳","斑","鈴","旨","醇","董","餅","雛","姿","拌","傅","腹","妥","揉","賢","拆","歪","葡","胺","丟","浩","徽","昂","墊","擋","覽","貪","慰","繳","汪","慌","馮","諾","姜","誼","兇","劣","誣","耀","昏","躺","盈","騎","喬","溪","叢","盧","抹","悶","諮","刮","駕","纜","悟","摘","鉺","擲","頗","幻","柄","惠","慘","佳","仇","臘","窩","滌","劍","瞧","堡","潑","蔥","罩","霍","撈","胎","蒼","濱","倆","捅","湘","砍","霞","邵","萄","瘋","淮","遂","熊","糞","烘","宿","檔","戈","駁","嫂","裕","徙","箭","捐","腸","撐","曬","辨","殿","蓮","攤","攪","醬","屏","疫","哀","蔡","堵","沫","皺","暢","疊","閣","萊","敲","轄","鉤","痕","壩","巷","餓","禍","丘","玄","溜","曰","邏","彭","嘗","卿","妨","艇","吞","韋","怨","矮","歇"]')},40032:function(eb){"use strict";eb.exports=JSON.parse('["abdikace","abeceda","adresa","agrese","akce","aktovka","alej","alkohol","amputace","ananas","andulka","anekdota","anketa","antika","anulovat","archa","arogance","asfalt","asistent","aspirace","astma","astronom","atlas","atletika","atol","autobus","azyl","babka","bachor","bacil","baculka","badatel","bageta","bagr","bahno","bakterie","balada","baletka","balkon","balonek","balvan","balza","bambus","bankomat","barbar","baret","barman","baroko","barva","baterka","batoh","bavlna","bazalka","bazilika","bazuka","bedna","beran","beseda","bestie","beton","bezinka","bezmoc","beztak","bicykl","bidlo","biftek","bikiny","bilance","biograf","biolog","bitva","bizon","blahobyt","blatouch","blecha","bledule","blesk","blikat","blizna","blokovat","bloudit","blud","bobek","bobr","bodlina","bodnout","bohatost","bojkot","bojovat","bokorys","bolest","borec","borovice","bota","boubel","bouchat","bouda","boule","bourat","boxer","bradavka","brambora","branka","bratr","brepta","briketa","brko","brloh","bronz","broskev","brunetka","brusinka","brzda","brzy","bublina","bubnovat","buchta","buditel","budka","budova","bufet","bujarost","bukvice","buldok","bulva","bunda","bunkr","burza","butik","buvol","buzola","bydlet","bylina","bytovka","bzukot","capart","carevna","cedr","cedule","cejch","cejn","cela","celer","celkem","celnice","cenina","cennost","cenovka","centrum","cenzor","cestopis","cetka","chalupa","chapadlo","charita","chata","chechtat","chemie","chichot","chirurg","chlad","chleba","chlubit","chmel","chmura","chobot","chochol","chodba","cholera","chomout","chopit","choroba","chov","chrapot","chrlit","chrt","chrup","chtivost","chudina","chutnat","chvat","chvilka","chvost","chyba","chystat","chytit","cibule","cigareta","cihelna","cihla","cinkot","cirkus","cisterna","citace","citrus","cizinec","cizost","clona","cokoliv","couvat","ctitel","ctnost","cudnost","cuketa","cukr","cupot","cvaknout","cval","cvik","cvrkot","cyklista","daleko","dareba","datel","datum","dcera","debata","dechovka","decibel","deficit","deflace","dekl","dekret","demokrat","deprese","derby","deska","detektiv","dikobraz","diktovat","dioda","diplom","disk","displej","divadlo","divoch","dlaha","dlouho","dluhopis","dnes","dobro","dobytek","docent","dochutit","dodnes","dohled","dohoda","dohra","dojem","dojnice","doklad","dokola","doktor","dokument","dolar","doleva","dolina","doma","dominant","domluvit","domov","donutit","dopad","dopis","doplnit","doposud","doprovod","dopustit","dorazit","dorost","dort","dosah","doslov","dostatek","dosud","dosyta","dotaz","dotek","dotknout","doufat","doutnat","dovozce","dozadu","doznat","dozorce","drahota","drak","dramatik","dravec","draze","drdol","drobnost","drogerie","drozd","drsnost","drtit","drzost","duben","duchovno","dudek","duha","duhovka","dusit","dusno","dutost","dvojice","dvorec","dynamit","ekolog","ekonomie","elektron","elipsa","email","emise","emoce","empatie","epizoda","epocha","epopej","epos","esej","esence","eskorta","eskymo","etiketa","euforie","evoluce","exekuce","exkurze","expedice","exploze","export","extrakt","facka","fajfka","fakulta","fanatik","fantazie","farmacie","favorit","fazole","federace","fejeton","fenka","fialka","figurant","filozof","filtr","finance","finta","fixace","fjord","flanel","flirt","flotila","fond","fosfor","fotbal","fotka","foton","frakce","freska","fronta","fukar","funkce","fyzika","galeje","garant","genetika","geolog","gilotina","glazura","glejt","golem","golfista","gotika","graf","gramofon","granule","grep","gril","grog","groteska","guma","hadice","hadr","hala","halenka","hanba","hanopis","harfa","harpuna","havran","hebkost","hejkal","hejno","hejtman","hektar","helma","hematom","herec","herna","heslo","hezky","historik","hladovka","hlasivky","hlava","hledat","hlen","hlodavec","hloh","hloupost","hltat","hlubina","hluchota","hmat","hmota","hmyz","hnis","hnojivo","hnout","hoblina","hoboj","hoch","hodiny","hodlat","hodnota","hodovat","hojnost","hokej","holinka","holka","holub","homole","honitba","honorace","horal","horda","horizont","horko","horlivec","hormon","hornina","horoskop","horstvo","hospoda","hostina","hotovost","houba","houf","houpat","houska","hovor","hradba","hranice","hravost","hrazda","hrbolek","hrdina","hrdlo","hrdost","hrnek","hrobka","hromada","hrot","hrouda","hrozen","hrstka","hrubost","hryzat","hubenost","hubnout","hudba","hukot","humr","husita","hustota","hvozd","hybnost","hydrant","hygiena","hymna","hysterik","idylka","ihned","ikona","iluze","imunita","infekce","inflace","inkaso","inovace","inspekce","internet","invalida","investor","inzerce","ironie","jablko","jachta","jahoda","jakmile","jakost","jalovec","jantar","jarmark","jaro","jasan","jasno","jatka","javor","jazyk","jedinec","jedle","jednatel","jehlan","jekot","jelen","jelito","jemnost","jenom","jepice","jeseter","jevit","jezdec","jezero","jinak","jindy","jinoch","jiskra","jistota","jitrnice","jizva","jmenovat","jogurt","jurta","kabaret","kabel","kabinet","kachna","kadet","kadidlo","kahan","kajak","kajuta","kakao","kaktus","kalamita","kalhoty","kalibr","kalnost","kamera","kamkoliv","kamna","kanibal","kanoe","kantor","kapalina","kapela","kapitola","kapka","kaple","kapota","kapr","kapusta","kapybara","karamel","karotka","karton","kasa","katalog","katedra","kauce","kauza","kavalec","kazajka","kazeta","kazivost","kdekoliv","kdesi","kedluben","kemp","keramika","kino","klacek","kladivo","klam","klapot","klasika","klaun","klec","klenba","klepat","klesnout","klid","klima","klisna","klobouk","klokan","klopa","kloub","klubovna","klusat","kluzkost","kmen","kmitat","kmotr","kniha","knot","koalice","koberec","kobka","kobliha","kobyla","kocour","kohout","kojenec","kokos","koktejl","kolaps","koleda","kolize","kolo","komando","kometa","komik","komnata","komora","kompas","komunita","konat","koncept","kondice","konec","konfese","kongres","konina","konkurs","kontakt","konzerva","kopanec","kopie","kopnout","koprovka","korbel","korektor","kormidlo","koroptev","korpus","koruna","koryto","korzet","kosatec","kostka","kotel","kotleta","kotoul","koukat","koupelna","kousek","kouzlo","kovboj","koza","kozoroh","krabice","krach","krajina","kralovat","krasopis","kravata","kredit","krejcar","kresba","kreveta","kriket","kritik","krize","krkavec","krmelec","krmivo","krocan","krok","kronika","kropit","kroupa","krovka","krtek","kruhadlo","krupice","krutost","krvinka","krychle","krypta","krystal","kryt","kudlanka","kufr","kujnost","kukla","kulajda","kulich","kulka","kulomet","kultura","kuna","kupodivu","kurt","kurzor","kutil","kvalita","kvasinka","kvestor","kynolog","kyselina","kytara","kytice","kytka","kytovec","kyvadlo","labrador","lachtan","ladnost","laik","lakomec","lamela","lampa","lanovka","lasice","laso","lastura","latinka","lavina","lebka","leckdy","leden","lednice","ledovka","ledvina","legenda","legie","legrace","lehce","lehkost","lehnout","lektvar","lenochod","lentilka","lepenka","lepidlo","letadlo","letec","letmo","letokruh","levhart","levitace","levobok","libra","lichotka","lidojed","lidskost","lihovina","lijavec","lilek","limetka","linie","linka","linoleum","listopad","litina","litovat","lobista","lodivod","logika","logoped","lokalita","loket","lomcovat","lopata","lopuch","lord","losos","lotr","loudal","louh","louka","louskat","lovec","lstivost","lucerna","lucifer","lump","lusk","lustrace","lvice","lyra","lyrika","lysina","madam","madlo","magistr","mahagon","majetek","majitel","majorita","makak","makovice","makrela","malba","malina","malovat","malvice","maminka","mandle","manko","marnost","masakr","maskot","masopust","matice","matrika","maturita","mazanec","mazivo","mazlit","mazurka","mdloba","mechanik","meditace","medovina","melasa","meloun","mentolka","metla","metoda","metr","mezera","migrace","mihnout","mihule","mikina","mikrofon","milenec","milimetr","milost","mimika","mincovna","minibar","minomet","minulost","miska","mistr","mixovat","mladost","mlha","mlhovina","mlok","mlsat","mluvit","mnich","mnohem","mobil","mocnost","modelka","modlitba","mohyla","mokro","molekula","momentka","monarcha","monokl","monstrum","montovat","monzun","mosaz","moskyt","most","motivace","motorka","motyka","moucha","moudrost","mozaika","mozek","mozol","mramor","mravenec","mrkev","mrtvola","mrzet","mrzutost","mstitel","mudrc","muflon","mulat","mumie","munice","muset","mutace","muzeum","muzikant","myslivec","mzda","nabourat","nachytat","nadace","nadbytek","nadhoz","nadobro","nadpis","nahlas","nahnat","nahodile","nahradit","naivita","najednou","najisto","najmout","naklonit","nakonec","nakrmit","nalevo","namazat","namluvit","nanometr","naoko","naopak","naostro","napadat","napevno","naplnit","napnout","naposled","naprosto","narodit","naruby","narychlo","nasadit","nasekat","naslepo","nastat","natolik","navenek","navrch","navzdory","nazvat","nebe","nechat","necky","nedaleko","nedbat","neduh","negace","nehet","nehoda","nejen","nejprve","neklid","nelibost","nemilost","nemoc","neochota","neonka","nepokoj","nerost","nerv","nesmysl","nesoulad","netvor","neuron","nevina","nezvykle","nicota","nijak","nikam","nikdy","nikl","nikterak","nitro","nocleh","nohavice","nominace","nora","norek","nositel","nosnost","nouze","noviny","novota","nozdra","nuda","nudle","nuget","nutit","nutnost","nutrie","nymfa","obal","obarvit","obava","obdiv","obec","obehnat","obejmout","obezita","obhajoba","obilnice","objasnit","objekt","obklopit","oblast","oblek","obliba","obloha","obluda","obnos","obohatit","obojek","obout","obrazec","obrna","obruba","obrys","obsah","obsluha","obstarat","obuv","obvaz","obvinit","obvod","obvykle","obyvatel","obzor","ocas","ocel","ocenit","ochladit","ochota","ochrana","ocitnout","odboj","odbyt","odchod","odcizit","odebrat","odeslat","odevzdat","odezva","odhadce","odhodit","odjet","odjinud","odkaz","odkoupit","odliv","odluka","odmlka","odolnost","odpad","odpis","odplout","odpor","odpustit","odpykat","odrazka","odsoudit","odstup","odsun","odtok","odtud","odvaha","odveta","odvolat","odvracet","odznak","ofina","ofsajd","ohlas","ohnisko","ohrada","ohrozit","ohryzek","okap","okenice","oklika","okno","okouzlit","okovy","okrasa","okres","okrsek","okruh","okupant","okurka","okusit","olejnina","olizovat","omak","omeleta","omezit","omladina","omlouvat","omluva","omyl","onehdy","opakovat","opasek","operace","opice","opilost","opisovat","opora","opozice","opravdu","oproti","orbital","orchestr","orgie","orlice","orloj","ortel","osada","oschnout","osika","osivo","oslava","oslepit","oslnit","oslovit","osnova","osoba","osolit","ospalec","osten","ostraha","ostuda","ostych","osvojit","oteplit","otisk","otop","otrhat","otrlost","otrok","otruby","otvor","ovanout","ovar","oves","ovlivnit","ovoce","oxid","ozdoba","pachatel","pacient","padouch","pahorek","pakt","palanda","palec","palivo","paluba","pamflet","pamlsek","panenka","panika","panna","panovat","panstvo","pantofle","paprika","parketa","parodie","parta","paruka","paryba","paseka","pasivita","pastelka","patent","patrona","pavouk","pazneht","pazourek","pecka","pedagog","pejsek","peklo","peloton","penalta","pendrek","penze","periskop","pero","pestrost","petarda","petice","petrolej","pevnina","pexeso","pianista","piha","pijavice","pikle","piknik","pilina","pilnost","pilulka","pinzeta","pipeta","pisatel","pistole","pitevna","pivnice","pivovar","placenta","plakat","plamen","planeta","plastika","platit","plavidlo","plaz","plech","plemeno","plenta","ples","pletivo","plevel","plivat","plnit","plno","plocha","plodina","plomba","plout","pluk","plyn","pobavit","pobyt","pochod","pocit","poctivec","podat","podcenit","podepsat","podhled","podivit","podklad","podmanit","podnik","podoba","podpora","podraz","podstata","podvod","podzim","poezie","pohanka","pohnutka","pohovor","pohroma","pohyb","pointa","pojistka","pojmout","pokazit","pokles","pokoj","pokrok","pokuta","pokyn","poledne","polibek","polknout","poloha","polynom","pomalu","pominout","pomlka","pomoc","pomsta","pomyslet","ponechat","ponorka","ponurost","popadat","popel","popisek","poplach","poprosit","popsat","popud","poradce","porce","porod","porucha","poryv","posadit","posed","posila","poskok","poslanec","posoudit","pospolu","postava","posudek","posyp","potah","potkan","potlesk","potomek","potrava","potupa","potvora","poukaz","pouto","pouzdro","povaha","povidla","povlak","povoz","povrch","povstat","povyk","povzdech","pozdrav","pozemek","poznatek","pozor","pozvat","pracovat","prahory","praktika","prales","praotec","praporek","prase","pravda","princip","prkno","probudit","procento","prodej","profese","prohra","projekt","prolomit","promile","pronikat","propad","prorok","prosba","proton","proutek","provaz","prskavka","prsten","prudkost","prut","prvek","prvohory","psanec","psovod","pstruh","ptactvo","puberta","puch","pudl","pukavec","puklina","pukrle","pult","pumpa","punc","pupen","pusa","pusinka","pustina","putovat","putyka","pyramida","pysk","pytel","racek","rachot","radiace","radnice","radon","raft","ragby","raketa","rakovina","rameno","rampouch","rande","rarach","rarita","rasovna","rastr","ratolest","razance","razidlo","reagovat","reakce","recept","redaktor","referent","reflex","rejnok","reklama","rekord","rekrut","rektor","reputace","revize","revma","revolver","rezerva","riskovat","riziko","robotika","rodokmen","rohovka","rokle","rokoko","romaneto","ropovod","ropucha","rorejs","rosol","rostlina","rotmistr","rotoped","rotunda","roubenka","roucho","roup","roura","rovina","rovnice","rozbor","rozchod","rozdat","rozeznat","rozhodce","rozinka","rozjezd","rozkaz","rozloha","rozmar","rozpad","rozruch","rozsah","roztok","rozum","rozvod","rubrika","ruchadlo","rukavice","rukopis","ryba","rybolov","rychlost","rydlo","rypadlo","rytina","ryzost","sadista","sahat","sako","samec","samizdat","samota","sanitka","sardinka","sasanka","satelit","sazba","sazenice","sbor","schovat","sebranka","secese","sedadlo","sediment","sedlo","sehnat","sejmout","sekera","sekta","sekunda","sekvoje","semeno","seno","servis","sesadit","seshora","seskok","seslat","sestra","sesuv","sesypat","setba","setina","setkat","setnout","setrvat","sever","seznam","shoda","shrnout","sifon","silnice","sirka","sirotek","sirup","situace","skafandr","skalisko","skanzen","skaut","skeptik","skica","skladba","sklenice","sklo","skluz","skoba","skokan","skoro","skripta","skrz","skupina","skvost","skvrna","slabika","sladidlo","slanina","slast","slavnost","sledovat","slepec","sleva","slezina","slib","slina","sliznice","slon","sloupek","slovo","sluch","sluha","slunce","slupka","slza","smaragd","smetana","smilstvo","smlouva","smog","smrad","smrk","smrtka","smutek","smysl","snad","snaha","snob","sobota","socha","sodovka","sokol","sopka","sotva","souboj","soucit","soudce","souhlas","soulad","soumrak","souprava","soused","soutok","souviset","spalovna","spasitel","spis","splav","spodek","spojenec","spolu","sponzor","spornost","spousta","sprcha","spustit","sranda","sraz","srdce","srna","srnec","srovnat","srpen","srst","srub","stanice","starosta","statika","stavba","stehno","stezka","stodola","stolek","stopa","storno","stoupat","strach","stres","strhnout","strom","struna","studna","stupnice","stvol","styk","subjekt","subtropy","suchar","sudost","sukno","sundat","sunout","surikata","surovina","svah","svalstvo","svetr","svatba","svazek","svisle","svitek","svoboda","svodidlo","svorka","svrab","sykavka","sykot","synek","synovec","sypat","sypkost","syrovost","sysel","sytost","tabletka","tabule","tahoun","tajemno","tajfun","tajga","tajit","tajnost","taktika","tamhle","tampon","tancovat","tanec","tanker","tapeta","tavenina","tazatel","technika","tehdy","tekutina","telefon","temnota","tendence","tenista","tenor","teplota","tepna","teprve","terapie","termoska","textil","ticho","tiskopis","titulek","tkadlec","tkanina","tlapka","tleskat","tlukot","tlupa","tmel","toaleta","topinka","topol","torzo","touha","toulec","tradice","traktor","tramp","trasa","traverza","trefit","trest","trezor","trhavina","trhlina","trochu","trojice","troska","trouba","trpce","trpitel","trpkost","trubec","truchlit","truhlice","trus","trvat","tudy","tuhnout","tuhost","tundra","turista","turnaj","tuzemsko","tvaroh","tvorba","tvrdost","tvrz","tygr","tykev","ubohost","uboze","ubrat","ubrousek","ubrus","ubytovna","ucho","uctivost","udivit","uhradit","ujednat","ujistit","ujmout","ukazatel","uklidnit","uklonit","ukotvit","ukrojit","ulice","ulita","ulovit","umyvadlo","unavit","uniforma","uniknout","upadnout","uplatnit","uplynout","upoutat","upravit","uran","urazit","usednout","usilovat","usmrtit","usnadnit","usnout","usoudit","ustlat","ustrnout","utahovat","utkat","utlumit","utonout","utopenec","utrousit","uvalit","uvolnit","uvozovka","uzdravit","uzel","uzenina","uzlina","uznat","vagon","valcha","valoun","vana","vandal","vanilka","varan","varhany","varovat","vcelku","vchod","vdova","vedro","vegetace","vejce","velbloud","veletrh","velitel","velmoc","velryba","venkov","veranda","verze","veselka","veskrze","vesnice","vespodu","vesta","veterina","veverka","vibrace","vichr","videohra","vidina","vidle","vila","vinice","viset","vitalita","vize","vizitka","vjezd","vklad","vkus","vlajka","vlak","vlasec","vlevo","vlhkost","vliv","vlnovka","vloupat","vnucovat","vnuk","voda","vodivost","vodoznak","vodstvo","vojensky","vojna","vojsko","volant","volba","volit","volno","voskovka","vozidlo","vozovna","vpravo","vrabec","vracet","vrah","vrata","vrba","vrcholek","vrhat","vrstva","vrtule","vsadit","vstoupit","vstup","vtip","vybavit","vybrat","vychovat","vydat","vydra","vyfotit","vyhledat","vyhnout","vyhodit","vyhradit","vyhubit","vyjasnit","vyjet","vyjmout","vyklopit","vykonat","vylekat","vymazat","vymezit","vymizet","vymyslet","vynechat","vynikat","vynutit","vypadat","vyplatit","vypravit","vypustit","vyrazit","vyrovnat","vyrvat","vyslovit","vysoko","vystavit","vysunout","vysypat","vytasit","vytesat","vytratit","vyvinout","vyvolat","vyvrhel","vyzdobit","vyznat","vzadu","vzbudit","vzchopit","vzdor","vzduch","vzdychat","vzestup","vzhledem","vzkaz","vzlykat","vznik","vzorek","vzpoura","vztah","vztek","xylofon","zabrat","zabydlet","zachovat","zadarmo","zadusit","zafoukat","zahltit","zahodit","zahrada","zahynout","zajatec","zajet","zajistit","zaklepat","zakoupit","zalepit","zamezit","zamotat","zamyslet","zanechat","zanikat","zaplatit","zapojit","zapsat","zarazit","zastavit","zasunout","zatajit","zatemnit","zatknout","zaujmout","zavalit","zavelet","zavinit","zavolat","zavrtat","zazvonit","zbavit","zbrusu","zbudovat","zbytek","zdaleka","zdarma","zdatnost","zdivo","zdobit","zdroj","zdvih","zdymadlo","zelenina","zeman","zemina","zeptat","zezadu","zezdola","zhatit","zhltnout","zhluboka","zhotovit","zhruba","zima","zimnice","zjemnit","zklamat","zkoumat","zkratka","zkumavka","zlato","zlehka","zloba","zlom","zlost","zlozvyk","zmapovat","zmar","zmatek","zmije","zmizet","zmocnit","zmodrat","zmrzlina","zmutovat","znak","znalost","znamenat","znovu","zobrazit","zotavit","zoubek","zoufale","zplodit","zpomalit","zprava","zprostit","zprudka","zprvu","zrada","zranit","zrcadlo","zrnitost","zrno","zrovna","zrychlit","zrzavost","zticha","ztratit","zubovina","zubr","zvednout","zvenku","zvesela","zvon","zvrat","zvukovod","zvyk"]')},24573:function(eb){"use strict";eb.exports=JSON.parse('["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"]')},11848:function(eb){"use strict";eb.exports=JSON.parse('["abaisser","abandon","abdiquer","abeille","abolir","aborder","aboutir","aboyer","abrasif","abreuver","abriter","abroger","abrupt","absence","absolu","absurde","abusif","abyssal","académie","acajou","acarien","accabler","accepter","acclamer","accolade","accroche","accuser","acerbe","achat","acheter","aciduler","acier","acompte","acquérir","acronyme","acteur","actif","actuel","adepte","adéquat","adhésif","adjectif","adjuger","admettre","admirer","adopter","adorer","adoucir","adresse","adroit","adulte","adverbe","aérer","aéronef","affaire","affecter","affiche","affreux","affubler","agacer","agencer","agile","agiter","agrafer","agréable","agrume","aider","aiguille","ailier","aimable","aisance","ajouter","ajuster","alarmer","alchimie","alerte","algèbre","algue","aliéner","aliment","alléger","alliage","allouer","allumer","alourdir","alpaga","altesse","alvéole","amateur","ambigu","ambre","aménager","amertume","amidon","amiral","amorcer","amour","amovible","amphibie","ampleur","amusant","analyse","anaphore","anarchie","anatomie","ancien","anéantir","angle","angoisse","anguleux","animal","annexer","annonce","annuel","anodin","anomalie","anonyme","anormal","antenne","antidote","anxieux","apaiser","apéritif","aplanir","apologie","appareil","appeler","apporter","appuyer","aquarium","aqueduc","arbitre","arbuste","ardeur","ardoise","argent","arlequin","armature","armement","armoire","armure","arpenter","arracher","arriver","arroser","arsenic","artériel","article","aspect","asphalte","aspirer","assaut","asservir","assiette","associer","assurer","asticot","astre","astuce","atelier","atome","atrium","atroce","attaque","attentif","attirer","attraper","aubaine","auberge","audace","audible","augurer","aurore","automne","autruche","avaler","avancer","avarice","avenir","averse","aveugle","aviateur","avide","avion","aviser","avoine","avouer","avril","axial","axiome","badge","bafouer","bagage","baguette","baignade","balancer","balcon","baleine","balisage","bambin","bancaire","bandage","banlieue","bannière","banquier","barbier","baril","baron","barque","barrage","bassin","bastion","bataille","bateau","batterie","baudrier","bavarder","belette","bélier","belote","bénéfice","berceau","berger","berline","bermuda","besace","besogne","bétail","beurre","biberon","bicycle","bidule","bijou","bilan","bilingue","billard","binaire","biologie","biopsie","biotype","biscuit","bison","bistouri","bitume","bizarre","blafard","blague","blanchir","blessant","blinder","blond","bloquer","blouson","bobard","bobine","boire","boiser","bolide","bonbon","bondir","bonheur","bonifier","bonus","bordure","borne","botte","boucle","boueux","bougie","boulon","bouquin","bourse","boussole","boutique","boxeur","branche","brasier","brave","brebis","brèche","breuvage","bricoler","brigade","brillant","brioche","brique","brochure","broder","bronzer","brousse","broyeur","brume","brusque","brutal","bruyant","buffle","buisson","bulletin","bureau","burin","bustier","butiner","butoir","buvable","buvette","cabanon","cabine","cachette","cadeau","cadre","caféine","caillou","caisson","calculer","calepin","calibre","calmer","calomnie","calvaire","camarade","caméra","camion","campagne","canal","caneton","canon","cantine","canular","capable","caporal","caprice","capsule","capter","capuche","carabine","carbone","caresser","caribou","carnage","carotte","carreau","carton","cascade","casier","casque","cassure","causer","caution","cavalier","caverne","caviar","cédille","ceinture","céleste","cellule","cendrier","censurer","central","cercle","cérébral","cerise","cerner","cerveau","cesser","chagrin","chaise","chaleur","chambre","chance","chapitre","charbon","chasseur","chaton","chausson","chavirer","chemise","chenille","chéquier","chercher","cheval","chien","chiffre","chignon","chimère","chiot","chlorure","chocolat","choisir","chose","chouette","chrome","chute","cigare","cigogne","cimenter","cinéma","cintrer","circuler","cirer","cirque","citerne","citoyen","citron","civil","clairon","clameur","claquer","classe","clavier","client","cligner","climat","clivage","cloche","clonage","cloporte","cobalt","cobra","cocasse","cocotier","coder","codifier","coffre","cogner","cohésion","coiffer","coincer","colère","colibri","colline","colmater","colonel","combat","comédie","commande","compact","concert","conduire","confier","congeler","connoter","consonne","contact","convexe","copain","copie","corail","corbeau","cordage","corniche","corpus","correct","cortège","cosmique","costume","coton","coude","coupure","courage","couteau","couvrir","coyote","crabe","crainte","cravate","crayon","créature","créditer","crémeux","creuser","crevette","cribler","crier","cristal","critère","croire","croquer","crotale","crucial","cruel","crypter","cubique","cueillir","cuillère","cuisine","cuivre","culminer","cultiver","cumuler","cupide","curatif","curseur","cyanure","cycle","cylindre","cynique","daigner","damier","danger","danseur","dauphin","débattre","débiter","déborder","débrider","débutant","décaler","décembre","déchirer","décider","déclarer","décorer","décrire","décupler","dédale","déductif","déesse","défensif","défiler","défrayer","dégager","dégivrer","déglutir","dégrafer","déjeuner","délice","déloger","demander","demeurer","démolir","dénicher","dénouer","dentelle","dénuder","départ","dépenser","déphaser","déplacer","déposer","déranger","dérober","désastre","descente","désert","désigner","désobéir","dessiner","destrier","détacher","détester","détourer","détresse","devancer","devenir","deviner","devoir","diable","dialogue","diamant","dicter","différer","digérer","digital","digne","diluer","dimanche","diminuer","dioxyde","directif","diriger","discuter","disposer","dissiper","distance","divertir","diviser","docile","docteur","dogme","doigt","domaine","domicile","dompter","donateur","donjon","donner","dopamine","dortoir","dorure","dosage","doseur","dossier","dotation","douanier","double","douceur","douter","doyen","dragon","draper","dresser","dribbler","droiture","duperie","duplexe","durable","durcir","dynastie","éblouir","écarter","écharpe","échelle","éclairer","éclipse","éclore","écluse","école","économie","écorce","écouter","écraser","écrémer","écrivain","écrou","écume","écureuil","édifier","éduquer","effacer","effectif","effigie","effort","effrayer","effusion","égaliser","égarer","éjecter","élaborer","élargir","électron","élégant","éléphant","élève","éligible","élitisme","éloge","élucider","éluder","emballer","embellir","embryon","émeraude","émission","emmener","émotion","émouvoir","empereur","employer","emporter","emprise","émulsion","encadrer","enchère","enclave","encoche","endiguer","endosser","endroit","enduire","énergie","enfance","enfermer","enfouir","engager","engin","englober","énigme","enjamber","enjeu","enlever","ennemi","ennuyeux","enrichir","enrobage","enseigne","entasser","entendre","entier","entourer","entraver","énumérer","envahir","enviable","envoyer","enzyme","éolien","épaissir","épargne","épatant","épaule","épicerie","épidémie","épier","épilogue","épine","épisode","épitaphe","époque","épreuve","éprouver","épuisant","équerre","équipe","ériger","érosion","erreur","éruption","escalier","espadon","espèce","espiègle","espoir","esprit","esquiver","essayer","essence","essieu","essorer","estime","estomac","estrade","étagère","étaler","étanche","étatique","éteindre","étendoir","éternel","éthanol","éthique","ethnie","étirer","étoffer","étoile","étonnant","étourdir","étrange","étroit","étude","euphorie","évaluer","évasion","éventail","évidence","éviter","évolutif","évoquer","exact","exagérer","exaucer","exceller","excitant","exclusif","excuse","exécuter","exemple","exercer","exhaler","exhorter","exigence","exiler","exister","exotique","expédier","explorer","exposer","exprimer","exquis","extensif","extraire","exulter","fable","fabuleux","facette","facile","facture","faiblir","falaise","fameux","famille","farceur","farfelu","farine","farouche","fasciner","fatal","fatigue","faucon","fautif","faveur","favori","fébrile","féconder","fédérer","félin","femme","fémur","fendoir","féodal","fermer","féroce","ferveur","festival","feuille","feutre","février","fiasco","ficeler","fictif","fidèle","figure","filature","filetage","filière","filleul","filmer","filou","filtrer","financer","finir","fiole","firme","fissure","fixer","flairer","flamme","flasque","flatteur","fléau","flèche","fleur","flexion","flocon","flore","fluctuer","fluide","fluvial","folie","fonderie","fongible","fontaine","forcer","forgeron","formuler","fortune","fossile","foudre","fougère","fouiller","foulure","fourmi","fragile","fraise","franchir","frapper","frayeur","frégate","freiner","frelon","frémir","frénésie","frère","friable","friction","frisson","frivole","froid","fromage","frontal","frotter","fruit","fugitif","fuite","fureur","furieux","furtif","fusion","futur","gagner","galaxie","galerie","gambader","garantir","gardien","garnir","garrigue","gazelle","gazon","géant","gélatine","gélule","gendarme","général","génie","genou","gentil","géologie","géomètre","géranium","germe","gestuel","geyser","gibier","gicler","girafe","givre","glace","glaive","glisser","globe","gloire","glorieux","golfeur","gomme","gonfler","gorge","gorille","goudron","gouffre","goulot","goupille","gourmand","goutte","graduel","graffiti","graine","grand","grappin","gratuit","gravir","grenat","griffure","griller","grimper","grogner","gronder","grotte","groupe","gruger","grutier","gruyère","guépard","guerrier","guide","guimauve","guitare","gustatif","gymnaste","gyrostat","habitude","hachoir","halte","hameau","hangar","hanneton","haricot","harmonie","harpon","hasard","hélium","hématome","herbe","hérisson","hermine","héron","hésiter","heureux","hiberner","hibou","hilarant","histoire","hiver","homard","hommage","homogène","honneur","honorer","honteux","horde","horizon","horloge","hormone","horrible","houleux","housse","hublot","huileux","humain","humble","humide","humour","hurler","hydromel","hygiène","hymne","hypnose","idylle","ignorer","iguane","illicite","illusion","image","imbiber","imiter","immense","immobile","immuable","impact","impérial","implorer","imposer","imprimer","imputer","incarner","incendie","incident","incliner","incolore","indexer","indice","inductif","inédit","ineptie","inexact","infini","infliger","informer","infusion","ingérer","inhaler","inhiber","injecter","injure","innocent","inoculer","inonder","inscrire","insecte","insigne","insolite","inspirer","instinct","insulter","intact","intense","intime","intrigue","intuitif","inutile","invasion","inventer","inviter","invoquer","ironique","irradier","irréel","irriter","isoler","ivoire","ivresse","jaguar","jaillir","jambe","janvier","jardin","jauger","jaune","javelot","jetable","jeton","jeudi","jeunesse","joindre","joncher","jongler","joueur","jouissif","journal","jovial","joyau","joyeux","jubiler","jugement","junior","jupon","juriste","justice","juteux","juvénile","kayak","kimono","kiosque","label","labial","labourer","lacérer","lactose","lagune","laine","laisser","laitier","lambeau","lamelle","lampe","lanceur","langage","lanterne","lapin","largeur","larme","laurier","lavabo","lavoir","lecture","légal","léger","légume","lessive","lettre","levier","lexique","lézard","liasse","libérer","libre","licence","licorne","liège","lièvre","ligature","ligoter","ligue","limer","limite","limonade","limpide","linéaire","lingot","lionceau","liquide","lisière","lister","lithium","litige","littoral","livreur","logique","lointain","loisir","lombric","loterie","louer","lourd","loutre","louve","loyal","lubie","lucide","lucratif","lueur","lugubre","luisant","lumière","lunaire","lundi","luron","lutter","luxueux","machine","magasin","magenta","magique","maigre","maillon","maintien","mairie","maison","majorer","malaxer","maléfice","malheur","malice","mallette","mammouth","mandater","maniable","manquant","manteau","manuel","marathon","marbre","marchand","mardi","maritime","marqueur","marron","marteler","mascotte","massif","matériel","matière","matraque","maudire","maussade","mauve","maximal","méchant","méconnu","médaille","médecin","méditer","méduse","meilleur","mélange","mélodie","membre","mémoire","menacer","mener","menhir","mensonge","mentor","mercredi","mérite","merle","messager","mesure","métal","météore","méthode","métier","meuble","miauler","microbe","miette","mignon","migrer","milieu","million","mimique","mince","minéral","minimal","minorer","minute","miracle","miroiter","missile","mixte","mobile","moderne","moelleux","mondial","moniteur","monnaie","monotone","monstre","montagne","monument","moqueur","morceau","morsure","mortier","moteur","motif","mouche","moufle","moulin","mousson","mouton","mouvant","multiple","munition","muraille","murène","murmure","muscle","muséum","musicien","mutation","muter","mutuel","myriade","myrtille","mystère","mythique","nageur","nappe","narquois","narrer","natation","nation","nature","naufrage","nautique","navire","nébuleux","nectar","néfaste","négation","négliger","négocier","neige","nerveux","nettoyer","neurone","neutron","neveu","niche","nickel","nitrate","niveau","noble","nocif","nocturne","noirceur","noisette","nomade","nombreux","nommer","normatif","notable","notifier","notoire","nourrir","nouveau","novateur","novembre","novice","nuage","nuancer","nuire","nuisible","numéro","nuptial","nuque","nutritif","obéir","objectif","obliger","obscur","observer","obstacle","obtenir","obturer","occasion","occuper","océan","octobre","octroyer","octupler","oculaire","odeur","odorant","offenser","officier","offrir","ogive","oiseau","oisillon","olfactif","olivier","ombrage","omettre","onctueux","onduler","onéreux","onirique","opale","opaque","opérer","opinion","opportun","opprimer","opter","optique","orageux","orange","orbite","ordonner","oreille","organe","orgueil","orifice","ornement","orque","ortie","osciller","osmose","ossature","otarie","ouragan","ourson","outil","outrager","ouvrage","ovation","oxyde","oxygène","ozone","paisible","palace","palmarès","palourde","palper","panache","panda","pangolin","paniquer","panneau","panorama","pantalon","papaye","papier","papoter","papyrus","paradoxe","parcelle","paresse","parfumer","parler","parole","parrain","parsemer","partager","parure","parvenir","passion","pastèque","paternel","patience","patron","pavillon","pavoiser","payer","paysage","peigne","peintre","pelage","pélican","pelle","pelouse","peluche","pendule","pénétrer","pénible","pensif","pénurie","pépite","péplum","perdrix","perforer","période","permuter","perplexe","persil","perte","peser","pétale","petit","pétrir","peuple","pharaon","phobie","phoque","photon","phrase","physique","piano","pictural","pièce","pierre","pieuvre","pilote","pinceau","pipette","piquer","pirogue","piscine","piston","pivoter","pixel","pizza","placard","plafond","plaisir","planer","plaque","plastron","plateau","pleurer","plexus","pliage","plomb","plonger","pluie","plumage","pochette","poésie","poète","pointe","poirier","poisson","poivre","polaire","policier","pollen","polygone","pommade","pompier","ponctuel","pondérer","poney","portique","position","posséder","posture","potager","poteau","potion","pouce","poulain","poumon","pourpre","poussin","pouvoir","prairie","pratique","précieux","prédire","préfixe","prélude","prénom","présence","prétexte","prévoir","primitif","prince","prison","priver","problème","procéder","prodige","profond","progrès","proie","projeter","prologue","promener","propre","prospère","protéger","prouesse","proverbe","prudence","pruneau","psychose","public","puceron","puiser","pulpe","pulsar","punaise","punitif","pupitre","purifier","puzzle","pyramide","quasar","querelle","question","quiétude","quitter","quotient","racine","raconter","radieux","ragondin","raideur","raisin","ralentir","rallonge","ramasser","rapide","rasage","ratisser","ravager","ravin","rayonner","réactif","réagir","réaliser","réanimer","recevoir","réciter","réclamer","récolter","recruter","reculer","recycler","rédiger","redouter","refaire","réflexe","réformer","refrain","refuge","régalien","région","réglage","régulier","réitérer","rejeter","rejouer","relatif","relever","relief","remarque","remède","remise","remonter","remplir","remuer","renard","renfort","renifler","renoncer","rentrer","renvoi","replier","reporter","reprise","reptile","requin","réserve","résineux","résoudre","respect","rester","résultat","rétablir","retenir","réticule","retomber","retracer","réunion","réussir","revanche","revivre","révolte","révulsif","richesse","rideau","rieur","rigide","rigoler","rincer","riposter","risible","risque","rituel","rival","rivière","rocheux","romance","rompre","ronce","rondin","roseau","rosier","rotatif","rotor","rotule","rouge","rouille","rouleau","routine","royaume","ruban","rubis","ruche","ruelle","rugueux","ruiner","ruisseau","ruser","rustique","rythme","sabler","saboter","sabre","sacoche","safari","sagesse","saisir","salade","salive","salon","saluer","samedi","sanction","sanglier","sarcasme","sardine","saturer","saugrenu","saumon","sauter","sauvage","savant","savonner","scalpel","scandale","scélérat","scénario","sceptre","schéma","science","scinder","score","scrutin","sculpter","séance","sécable","sécher","secouer","sécréter","sédatif","séduire","seigneur","séjour","sélectif","semaine","sembler","semence","séminal","sénateur","sensible","sentence","séparer","séquence","serein","sergent","sérieux","serrure","sérum","service","sésame","sévir","sevrage","sextuple","sidéral","siècle","siéger","siffler","sigle","signal","silence","silicium","simple","sincère","sinistre","siphon","sirop","sismique","situer","skier","social","socle","sodium","soigneux","soldat","soleil","solitude","soluble","sombre","sommeil","somnoler","sonde","songeur","sonnette","sonore","sorcier","sortir","sosie","sottise","soucieux","soudure","souffle","soulever","soupape","source","soutirer","souvenir","spacieux","spatial","spécial","sphère","spiral","stable","station","sternum","stimulus","stipuler","strict","studieux","stupeur","styliste","sublime","substrat","subtil","subvenir","succès","sucre","suffixe","suggérer","suiveur","sulfate","superbe","supplier","surface","suricate","surmener","surprise","sursaut","survie","suspect","syllabe","symbole","symétrie","synapse","syntaxe","système","tabac","tablier","tactile","tailler","talent","talisman","talonner","tambour","tamiser","tangible","tapis","taquiner","tarder","tarif","tartine","tasse","tatami","tatouage","taupe","taureau","taxer","témoin","temporel","tenaille","tendre","teneur","tenir","tension","terminer","terne","terrible","tétine","texte","thème","théorie","thérapie","thorax","tibia","tiède","timide","tirelire","tiroir","tissu","titane","titre","tituber","toboggan","tolérant","tomate","tonique","tonneau","toponyme","torche","tordre","tornade","torpille","torrent","torse","tortue","totem","toucher","tournage","tousser","toxine","traction","trafic","tragique","trahir","train","trancher","travail","trèfle","tremper","trésor","treuil","triage","tribunal","tricoter","trilogie","triomphe","tripler","triturer","trivial","trombone","tronc","tropical","troupeau","tuile","tulipe","tumulte","tunnel","turbine","tuteur","tutoyer","tuyau","tympan","typhon","typique","tyran","ubuesque","ultime","ultrason","unanime","unifier","union","unique","unitaire","univers","uranium","urbain","urticant","usage","usine","usuel","usure","utile","utopie","vacarme","vaccin","vagabond","vague","vaillant","vaincre","vaisseau","valable","valise","vallon","valve","vampire","vanille","vapeur","varier","vaseux","vassal","vaste","vecteur","vedette","végétal","véhicule","veinard","véloce","vendredi","vénérer","venger","venimeux","ventouse","verdure","vérin","vernir","verrou","verser","vertu","veston","vétéran","vétuste","vexant","vexer","viaduc","viande","victoire","vidange","vidéo","vignette","vigueur","vilain","village","vinaigre","violon","vipère","virement","virtuose","virus","visage","viseur","vision","visqueux","visuel","vital","vitesse","viticole","vitrine","vivace","vivipare","vocation","voguer","voile","voisin","voiture","volaille","volcan","voltiger","volume","vorace","vortex","voter","vouloir","voyage","voyelle","wagon","xénon","yacht","zèbre","zénith","zeste","zoologie"]')},72841:function(eb){"use strict";eb.exports=JSON.parse('["abaco","abbaglio","abbinato","abete","abisso","abolire","abrasivo","abrogato","accadere","accenno","accusato","acetone","achille","acido","acqua","acre","acrilico","acrobata","acuto","adagio","addebito","addome","adeguato","aderire","adipe","adottare","adulare","affabile","affetto","affisso","affranto","aforisma","afoso","africano","agave","agente","agevole","aggancio","agire","agitare","agonismo","agricolo","agrumeto","aguzzo","alabarda","alato","albatro","alberato","albo","albume","alce","alcolico","alettone","alfa","algebra","aliante","alibi","alimento","allagato","allegro","allievo","allodola","allusivo","almeno","alogeno","alpaca","alpestre","altalena","alterno","alticcio","altrove","alunno","alveolo","alzare","amalgama","amanita","amarena","ambito","ambrato","ameba","america","ametista","amico","ammasso","ammenda","ammirare","ammonito","amore","ampio","ampliare","amuleto","anacardo","anagrafe","analista","anarchia","anatra","anca","ancella","ancora","andare","andrea","anello","angelo","angolare","angusto","anima","annegare","annidato","anno","annuncio","anonimo","anticipo","anzi","apatico","apertura","apode","apparire","appetito","appoggio","approdo","appunto","aprile","arabica","arachide","aragosta","araldica","arancio","aratura","arazzo","arbitro","archivio","ardito","arenile","argento","argine","arguto","aria","armonia","arnese","arredato","arringa","arrosto","arsenico","arso","artefice","arzillo","asciutto","ascolto","asepsi","asettico","asfalto","asino","asola","aspirato","aspro","assaggio","asse","assoluto","assurdo","asta","astenuto","astice","astratto","atavico","ateismo","atomico","atono","attesa","attivare","attorno","attrito","attuale","ausilio","austria","autista","autonomo","autunno","avanzato","avere","avvenire","avviso","avvolgere","azione","azoto","azzimo","azzurro","babele","baccano","bacino","baco","badessa","badilata","bagnato","baita","balcone","baldo","balena","ballata","balzano","bambino","bandire","baraonda","barbaro","barca","baritono","barlume","barocco","basilico","basso","batosta","battuto","baule","bava","bavosa","becco","beffa","belgio","belva","benda","benevole","benigno","benzina","bere","berlina","beta","bibita","bici","bidone","bifido","biga","bilancia","bimbo","binocolo","biologo","bipede","bipolare","birbante","birra","biscotto","bisesto","bisnonno","bisonte","bisturi","bizzarro","blando","blatta","bollito","bonifico","bordo","bosco","botanico","bottino","bozzolo","braccio","bradipo","brama","branca","bravura","bretella","brevetto","brezza","briglia","brillante","brindare","broccolo","brodo","bronzina","brullo","bruno","bubbone","buca","budino","buffone","buio","bulbo","buono","burlone","burrasca","bussola","busta","cadetto","caduco","calamaro","calcolo","calesse","calibro","calmo","caloria","cambusa","camerata","camicia","cammino","camola","campale","canapa","candela","cane","canino","canotto","cantina","capace","capello","capitolo","capogiro","cappero","capra","capsula","carapace","carcassa","cardo","carisma","carovana","carretto","cartolina","casaccio","cascata","caserma","caso","cassone","castello","casuale","catasta","catena","catrame","cauto","cavillo","cedibile","cedrata","cefalo","celebre","cellulare","cena","cenone","centesimo","ceramica","cercare","certo","cerume","cervello","cesoia","cespo","ceto","chela","chiaro","chicca","chiedere","chimera","china","chirurgo","chitarra","ciao","ciclismo","cifrare","cigno","cilindro","ciottolo","circa","cirrosi","citrico","cittadino","ciuffo","civetta","civile","classico","clinica","cloro","cocco","codardo","codice","coerente","cognome","collare","colmato","colore","colposo","coltivato","colza","coma","cometa","commando","comodo","computer","comune","conciso","condurre","conferma","congelare","coniuge","connesso","conoscere","consumo","continuo","convegno","coperto","copione","coppia","copricapo","corazza","cordata","coricato","cornice","corolla","corpo","corredo","corsia","cortese","cosmico","costante","cottura","covato","cratere","cravatta","creato","credere","cremoso","crescita","creta","criceto","crinale","crisi","critico","croce","cronaca","crostata","cruciale","crusca","cucire","cuculo","cugino","cullato","cupola","curatore","cursore","curvo","cuscino","custode","dado","daino","dalmata","damerino","daniela","dannoso","danzare","datato","davanti","davvero","debutto","decennio","deciso","declino","decollo","decreto","dedicato","definito","deforme","degno","delegare","delfino","delirio","delta","demenza","denotato","dentro","deposito","derapata","derivare","deroga","descritto","deserto","desiderio","desumere","detersivo","devoto","diametro","dicembre","diedro","difeso","diffuso","digerire","digitale","diluvio","dinamico","dinnanzi","dipinto","diploma","dipolo","diradare","dire","dirotto","dirupo","disagio","discreto","disfare","disgelo","disposto","distanza","disumano","dito","divano","divelto","dividere","divorato","doblone","docente","doganale","dogma","dolce","domato","domenica","dominare","dondolo","dono","dormire","dote","dottore","dovuto","dozzina","drago","druido","dubbio","dubitare","ducale","duna","duomo","duplice","duraturo","ebano","eccesso","ecco","eclissi","economia","edera","edicola","edile","editoria","educare","egemonia","egli","egoismo","egregio","elaborato","elargire","elegante","elencato","eletto","elevare","elfico","elica","elmo","elsa","eluso","emanato","emblema","emesso","emiro","emotivo","emozione","empirico","emulo","endemico","enduro","energia","enfasi","enoteca","entrare","enzima","epatite","epilogo","episodio","epocale","eppure","equatore","erario","erba","erboso","erede","eremita","erigere","ermetico","eroe","erosivo","errante","esagono","esame","esanime","esaudire","esca","esempio","esercito","esibito","esigente","esistere","esito","esofago","esortato","esoso","espanso","espresso","essenza","esso","esteso","estimare","estonia","estroso","esultare","etilico","etnico","etrusco","etto","euclideo","europa","evaso","evidenza","evitato","evoluto","evviva","fabbrica","faccenda","fachiro","falco","famiglia","fanale","fanfara","fango","fantasma","fare","farfalla","farinoso","farmaco","fascia","fastoso","fasullo","faticare","fato","favoloso","febbre","fecola","fede","fegato","felpa","feltro","femmina","fendere","fenomeno","fermento","ferro","fertile","fessura","festivo","fetta","feudo","fiaba","fiducia","fifa","figurato","filo","finanza","finestra","finire","fiore","fiscale","fisico","fiume","flacone","flamenco","flebo","flemma","florido","fluente","fluoro","fobico","focaccia","focoso","foderato","foglio","folata","folclore","folgore","fondente","fonetico","fonia","fontana","forbito","forchetta","foresta","formica","fornaio","foro","fortezza","forzare","fosfato","fosso","fracasso","frana","frassino","fratello","freccetta","frenata","fresco","frigo","frollino","fronde","frugale","frutta","fucilata","fucsia","fuggente","fulmine","fulvo","fumante","fumetto","fumoso","fune","funzione","fuoco","furbo","furgone","furore","fuso","futile","gabbiano","gaffe","galateo","gallina","galoppo","gambero","gamma","garanzia","garbo","garofano","garzone","gasdotto","gasolio","gastrico","gatto","gaudio","gazebo","gazzella","geco","gelatina","gelso","gemello","gemmato","gene","genitore","gennaio","genotipo","gergo","ghepardo","ghiaccio","ghisa","giallo","gilda","ginepro","giocare","gioiello","giorno","giove","girato","girone","gittata","giudizio","giurato","giusto","globulo","glutine","gnomo","gobba","golf","gomito","gommone","gonfio","gonna","governo","gracile","grado","grafico","grammo","grande","grattare","gravoso","grazia","greca","gregge","grifone","grigio","grinza","grotta","gruppo","guadagno","guaio","guanto","guardare","gufo","guidare","ibernato","icona","identico","idillio","idolo","idra","idrico","idrogeno","igiene","ignaro","ignorato","ilare","illeso","illogico","illudere","imballo","imbevuto","imbocco","imbuto","immane","immerso","immolato","impacco","impeto","impiego","importo","impronta","inalare","inarcare","inattivo","incanto","incendio","inchino","incisivo","incluso","incontro","incrocio","incubo","indagine","india","indole","inedito","infatti","infilare","inflitto","ingaggio","ingegno","inglese","ingordo","ingrosso","innesco","inodore","inoltrare","inondato","insano","insetto","insieme","insonnia","insulina","intasato","intero","intonaco","intuito","inumidire","invalido","invece","invito","iperbole","ipnotico","ipotesi","ippica","iride","irlanda","ironico","irrigato","irrorare","isolato","isotopo","isterico","istituto","istrice","italia","iterare","labbro","labirinto","lacca","lacerato","lacrima","lacuna","laddove","lago","lampo","lancetta","lanterna","lardoso","larga","laringe","lastra","latenza","latino","lattuga","lavagna","lavoro","legale","leggero","lembo","lentezza","lenza","leone","lepre","lesivo","lessato","lesto","letterale","leva","levigato","libero","lido","lievito","lilla","limatura","limitare","limpido","lineare","lingua","liquido","lira","lirica","lisca","lite","litigio","livrea","locanda","lode","logica","lombare","londra","longevo","loquace","lorenzo","loto","lotteria","luce","lucidato","lumaca","luminoso","lungo","lupo","luppolo","lusinga","lusso","lutto","macabro","macchina","macero","macinato","madama","magico","maglia","magnete","magro","maiolica","malafede","malgrado","malinteso","malsano","malto","malumore","mana","mancia","mandorla","mangiare","manifesto","mannaro","manovra","mansarda","mantide","manubrio","mappa","maratona","marcire","maretta","marmo","marsupio","maschera","massaia","mastino","materasso","matricola","mattone","maturo","mazurca","meandro","meccanico","mecenate","medesimo","meditare","mega","melassa","melis","melodia","meninge","meno","mensola","mercurio","merenda","merlo","meschino","mese","messere","mestolo","metallo","metodo","mettere","miagolare","mica","micelio","michele","microbo","midollo","miele","migliore","milano","milite","mimosa","minerale","mini","minore","mirino","mirtillo","miscela","missiva","misto","misurare","mitezza","mitigare","mitra","mittente","mnemonico","modello","modifica","modulo","mogano","mogio","mole","molosso","monastero","monco","mondina","monetario","monile","monotono","monsone","montato","monviso","mora","mordere","morsicato","mostro","motivato","motosega","motto","movenza","movimento","mozzo","mucca","mucosa","muffa","mughetto","mugnaio","mulatto","mulinello","multiplo","mummia","munto","muovere","murale","musa","muscolo","musica","mutevole","muto","nababbo","nafta","nanometro","narciso","narice","narrato","nascere","nastrare","naturale","nautica","naviglio","nebulosa","necrosi","negativo","negozio","nemmeno","neofita","neretto","nervo","nessuno","nettuno","neutrale","neve","nevrotico","nicchia","ninfa","nitido","nobile","nocivo","nodo","nome","nomina","nordico","normale","norvegese","nostrano","notare","notizia","notturno","novella","nucleo","nulla","numero","nuovo","nutrire","nuvola","nuziale","oasi","obbedire","obbligo","obelisco","oblio","obolo","obsoleto","occasione","occhio","occidente","occorrere","occultare","ocra","oculato","odierno","odorare","offerta","offrire","offuscato","oggetto","oggi","ognuno","olandese","olfatto","oliato","oliva","ologramma","oltre","omaggio","ombelico","ombra","omega","omissione","ondoso","onere","onice","onnivoro","onorevole","onta","operato","opinione","opposto","oracolo","orafo","ordine","orecchino","orefice","orfano","organico","origine","orizzonte","orma","ormeggio","ornativo","orologio","orrendo","orribile","ortensia","ortica","orzata","orzo","osare","oscurare","osmosi","ospedale","ospite","ossa","ossidare","ostacolo","oste","otite","otre","ottagono","ottimo","ottobre","ovale","ovest","ovino","oviparo","ovocito","ovunque","ovviare","ozio","pacchetto","pace","pacifico","padella","padrone","paese","paga","pagina","palazzina","palesare","pallido","palo","palude","pandoro","pannello","paolo","paonazzo","paprica","parabola","parcella","parere","pargolo","pari","parlato","parola","partire","parvenza","parziale","passivo","pasticca","patacca","patologia","pattume","pavone","peccato","pedalare","pedonale","peggio","peloso","penare","pendice","penisola","pennuto","penombra","pensare","pentola","pepe","pepita","perbene","percorso","perdonato","perforare","pergamena","periodo","permesso","perno","perplesso","persuaso","pertugio","pervaso","pesatore","pesista","peso","pestifero","petalo","pettine","petulante","pezzo","piacere","pianta","piattino","piccino","picozza","piega","pietra","piffero","pigiama","pigolio","pigro","pila","pilifero","pillola","pilota","pimpante","pineta","pinna","pinolo","pioggia","piombo","piramide","piretico","pirite","pirolisi","pitone","pizzico","placebo","planare","plasma","platano","plenario","pochezza","poderoso","podismo","poesia","poggiare","polenta","poligono","pollice","polmonite","polpetta","polso","poltrona","polvere","pomice","pomodoro","ponte","popoloso","porfido","poroso","porpora","porre","portata","posa","positivo","possesso","postulato","potassio","potere","pranzo","prassi","pratica","precluso","predica","prefisso","pregiato","prelievo","premere","prenotare","preparato","presenza","pretesto","prevalso","prima","principe","privato","problema","procura","produrre","profumo","progetto","prolunga","promessa","pronome","proposta","proroga","proteso","prova","prudente","prugna","prurito","psiche","pubblico","pudica","pugilato","pugno","pulce","pulito","pulsante","puntare","pupazzo","pupilla","puro","quadro","qualcosa","quasi","querela","quota","raccolto","raddoppio","radicale","radunato","raffica","ragazzo","ragione","ragno","ramarro","ramingo","ramo","randagio","rantolare","rapato","rapina","rappreso","rasatura","raschiato","rasente","rassegna","rastrello","rata","ravveduto","reale","recepire","recinto","recluta","recondito","recupero","reddito","redimere","regalato","registro","regola","regresso","relazione","remare","remoto","renna","replica","reprimere","reputare","resa","residente","responso","restauro","rete","retina","retorica","rettifica","revocato","riassunto","ribadire","ribelle","ribrezzo","ricarica","ricco","ricevere","riciclato","ricordo","ricreduto","ridicolo","ridurre","rifasare","riflesso","riforma","rifugio","rigare","rigettato","righello","rilassato","rilevato","rimanere","rimbalzo","rimedio","rimorchio","rinascita","rincaro","rinforzo","rinnovo","rinomato","rinsavito","rintocco","rinuncia","rinvenire","riparato","ripetuto","ripieno","riportare","ripresa","ripulire","risata","rischio","riserva","risibile","riso","rispetto","ristoro","risultato","risvolto","ritardo","ritegno","ritmico","ritrovo","riunione","riva","riverso","rivincita","rivolto","rizoma","roba","robotico","robusto","roccia","roco","rodaggio","rodere","roditore","rogito","rollio","romantico","rompere","ronzio","rosolare","rospo","rotante","rotondo","rotula","rovescio","rubizzo","rubrica","ruga","rullino","rumine","rumoroso","ruolo","rupe","russare","rustico","sabato","sabbiare","sabotato","sagoma","salasso","saldatura","salgemma","salivare","salmone","salone","saltare","saluto","salvo","sapere","sapido","saporito","saraceno","sarcasmo","sarto","sassoso","satellite","satira","satollo","saturno","savana","savio","saziato","sbadiglio","sbalzo","sbancato","sbarra","sbattere","sbavare","sbendare","sbirciare","sbloccato","sbocciato","sbrinare","sbruffone","sbuffare","scabroso","scadenza","scala","scambiare","scandalo","scapola","scarso","scatenare","scavato","scelto","scenico","scettro","scheda","schiena","sciarpa","scienza","scindere","scippo","sciroppo","scivolo","sclerare","scodella","scolpito","scomparto","sconforto","scoprire","scorta","scossone","scozzese","scriba","scrollare","scrutinio","scuderia","scultore","scuola","scuro","scusare","sdebitare","sdoganare","seccatura","secondo","sedano","seggiola","segnalato","segregato","seguito","selciato","selettivo","sella","selvaggio","semaforo","sembrare","seme","seminato","sempre","senso","sentire","sepolto","sequenza","serata","serbato","sereno","serio","serpente","serraglio","servire","sestina","setola","settimana","sfacelo","sfaldare","sfamato","sfarzoso","sfaticato","sfera","sfida","sfilato","sfinge","sfocato","sfoderare","sfogo","sfoltire","sforzato","sfratto","sfruttato","sfuggito","sfumare","sfuso","sgabello","sgarbato","sgonfiare","sgorbio","sgrassato","sguardo","sibilo","siccome","sierra","sigla","signore","silenzio","sillaba","simbolo","simpatico","simulato","sinfonia","singolo","sinistro","sino","sintesi","sinusoide","sipario","sisma","sistole","situato","slitta","slogatura","sloveno","smarrito","smemorato","smentito","smeraldo","smilzo","smontare","smottato","smussato","snellire","snervato","snodo","sobbalzo","sobrio","soccorso","sociale","sodale","soffitto","sogno","soldato","solenne","solido","sollazzo","solo","solubile","solvente","somatico","somma","sonda","sonetto","sonnifero","sopire","soppeso","sopra","sorgere","sorpasso","sorriso","sorso","sorteggio","sorvolato","sospiro","sosta","sottile","spada","spalla","spargere","spatola","spavento","spazzola","specie","spedire","spegnere","spelatura","speranza","spessore","spettrale","spezzato","spia","spigoloso","spillato","spinoso","spirale","splendido","sportivo","sposo","spranga","sprecare","spronato","spruzzo","spuntino","squillo","sradicare","srotolato","stabile","stacco","staffa","stagnare","stampato","stantio","starnuto","stasera","statuto","stelo","steppa","sterzo","stiletto","stima","stirpe","stivale","stizzoso","stonato","storico","strappo","stregato","stridulo","strozzare","strutto","stuccare","stufo","stupendo","subentro","succoso","sudore","suggerito","sugo","sultano","suonare","superbo","supporto","surgelato","surrogato","sussurro","sutura","svagare","svedese","sveglio","svelare","svenuto","svezia","sviluppo","svista","svizzera","svolta","svuotare","tabacco","tabulato","tacciare","taciturno","tale","talismano","tampone","tannino","tara","tardivo","targato","tariffa","tarpare","tartaruga","tasto","tattico","taverna","tavolata","tazza","teca","tecnico","telefono","temerario","tempo","temuto","tendone","tenero","tensione","tentacolo","teorema","terme","terrazzo","terzetto","tesi","tesserato","testato","tetro","tettoia","tifare","tigella","timbro","tinto","tipico","tipografo","tiraggio","tiro","titanio","titolo","titubante","tizio","tizzone","toccare","tollerare","tolto","tombola","tomo","tonfo","tonsilla","topazio","topologia","toppa","torba","tornare","torrone","tortora","toscano","tossire","tostatura","totano","trabocco","trachea","trafila","tragedia","tralcio","tramonto","transito","trapano","trarre","trasloco","trattato","trave","treccia","tremolio","trespolo","tributo","tricheco","trifoglio","trillo","trincea","trio","tristezza","triturato","trivella","tromba","trono","troppo","trottola","trovare","truccato","tubatura","tuffato","tulipano","tumulto","tunisia","turbare","turchino","tuta","tutela","ubicato","uccello","uccisore","udire","uditivo","uffa","ufficio","uguale","ulisse","ultimato","umano","umile","umorismo","uncinetto","ungere","ungherese","unicorno","unificato","unisono","unitario","unte","uovo","upupa","uragano","urgenza","urlo","usanza","usato","uscito","usignolo","usuraio","utensile","utilizzo","utopia","vacante","vaccinato","vagabondo","vagliato","valanga","valgo","valico","valletta","valoroso","valutare","valvola","vampata","vangare","vanitoso","vano","vantaggio","vanvera","vapore","varano","varcato","variante","vasca","vedetta","vedova","veduto","vegetale","veicolo","velcro","velina","velluto","veloce","venato","vendemmia","vento","verace","verbale","vergogna","verifica","vero","verruca","verticale","vescica","vessillo","vestale","veterano","vetrina","vetusto","viandante","vibrante","vicenda","vichingo","vicinanza","vidimare","vigilia","vigneto","vigore","vile","villano","vimini","vincitore","viola","vipera","virgola","virologo","virulento","viscoso","visione","vispo","vissuto","visura","vita","vitello","vittima","vivanda","vivido","viziare","voce","voga","volatile","volere","volpe","voragine","vulcano","zampogna","zanna","zappato","zattera","zavorra","zefiro","zelante","zelo","zenzero","zerbino","zibetto","zinco","zircone","zitto","zolla","zotico","zucchero","zufolo","zulu","zuppa"]')},94472:function(eb){"use strict";eb.exports=JSON.parse('["あいこくしん","あいさつ","あいだ","あおぞら","あかちゃん","あきる","あけがた","あける","あこがれる","あさい","あさひ","あしあと","あじわう","あずかる","あずき","あそぶ","あたえる","あたためる","あたりまえ","あたる","あつい","あつかう","あっしゅく","あつまり","あつめる","あてな","あてはまる","あひる","あぶら","あぶる","あふれる","あまい","あまど","あまやかす","あまり","あみもの","あめりか","あやまる","あゆむ","あらいぐま","あらし","あらすじ","あらためる","あらゆる","あらわす","ありがとう","あわせる","あわてる","あんい","あんがい","あんこ","あんぜん","あんてい","あんない","あんまり","いいだす","いおん","いがい","いがく","いきおい","いきなり","いきもの","いきる","いくじ","いくぶん","いけばな","いけん","いこう","いこく","いこつ","いさましい","いさん","いしき","いじゅう","いじょう","いじわる","いずみ","いずれ","いせい","いせえび","いせかい","いせき","いぜん","いそうろう","いそがしい","いだい","いだく","いたずら","いたみ","いたりあ","いちおう","いちじ","いちど","いちば","いちぶ","いちりゅう","いつか","いっしゅん","いっせい","いっそう","いったん","いっち","いってい","いっぽう","いてざ","いてん","いどう","いとこ","いない","いなか","いねむり","いのち","いのる","いはつ","いばる","いはん","いびき","いひん","いふく","いへん","いほう","いみん","いもうと","いもたれ","いもり","いやがる","いやす","いよかん","いよく","いらい","いらすと","いりぐち","いりょう","いれい","いれもの","いれる","いろえんぴつ","いわい","いわう","いわかん","いわば","いわゆる","いんげんまめ","いんさつ","いんしょう","いんよう","うえき","うえる","うおざ","うがい","うかぶ","うかべる","うきわ","うくらいな","うくれれ","うけたまわる","うけつけ","うけとる","うけもつ","うける","うごかす","うごく","うこん","うさぎ","うしなう","うしろがみ","うすい","うすぎ","うすぐらい","うすめる","うせつ","うちあわせ","うちがわ","うちき","うちゅう","うっかり","うつくしい","うったえる","うつる","うどん","うなぎ","うなじ","うなずく","うなる","うねる","うのう","うぶげ","うぶごえ","うまれる","うめる","うもう","うやまう","うよく","うらがえす","うらぐち","うらない","うりあげ","うりきれ","うるさい","うれしい","うれゆき","うれる","うろこ","うわき","うわさ","うんこう","うんちん","うんてん","うんどう","えいえん","えいが","えいきょう","えいご","えいせい","えいぶん","えいよう","えいわ","えおり","えがお","えがく","えきたい","えくせる","えしゃく","えすて","えつらん","えのぐ","えほうまき","えほん","えまき","えもじ","えもの","えらい","えらぶ","えりあ","えんえん","えんかい","えんぎ","えんげき","えんしゅう","えんぜつ","えんそく","えんちょう","えんとつ","おいかける","おいこす","おいしい","おいつく","おうえん","おうさま","おうじ","おうせつ","おうたい","おうふく","おうべい","おうよう","おえる","おおい","おおう","おおどおり","おおや","おおよそ","おかえり","おかず","おがむ","おかわり","おぎなう","おきる","おくさま","おくじょう","おくりがな","おくる","おくれる","おこす","おこなう","おこる","おさえる","おさない","おさめる","おしいれ","おしえる","おじぎ","おじさん","おしゃれ","おそらく","おそわる","おたがい","おたく","おだやか","おちつく","おっと","おつり","おでかけ","おとしもの","おとなしい","おどり","おどろかす","おばさん","おまいり","おめでとう","おもいで","おもう","おもたい","おもちゃ","おやつ","おやゆび","およぼす","おらんだ","おろす","おんがく","おんけい","おんしゃ","おんせん","おんだん","おんちゅう","おんどけい","かあつ","かいが","がいき","がいけん","がいこう","かいさつ","かいしゃ","かいすいよく","かいぜん","かいぞうど","かいつう","かいてん","かいとう","かいふく","がいへき","かいほう","かいよう","がいらい","かいわ","かえる","かおり","かかえる","かがく","かがし","かがみ","かくご","かくとく","かざる","がぞう","かたい","かたち","がちょう","がっきゅう","がっこう","がっさん","がっしょう","かなざわし","かのう","がはく","かぶか","かほう","かほご","かまう","かまぼこ","かめれおん","かゆい","かようび","からい","かるい","かろう","かわく","かわら","がんか","かんけい","かんこう","かんしゃ","かんそう","かんたん","かんち","がんばる","きあい","きあつ","きいろ","ぎいん","きうい","きうん","きえる","きおう","きおく","きおち","きおん","きかい","きかく","きかんしゃ","ききて","きくばり","きくらげ","きけんせい","きこう","きこえる","きこく","きさい","きさく","きさま","きさらぎ","ぎじかがく","ぎしき","ぎじたいけん","ぎじにってい","ぎじゅつしゃ","きすう","きせい","きせき","きせつ","きそう","きぞく","きぞん","きたえる","きちょう","きつえん","ぎっちり","きつつき","きつね","きてい","きどう","きどく","きない","きなが","きなこ","きぬごし","きねん","きのう","きのした","きはく","きびしい","きひん","きふく","きぶん","きぼう","きほん","きまる","きみつ","きむずかしい","きめる","きもだめし","きもち","きもの","きゃく","きやく","ぎゅうにく","きよう","きょうりゅう","きらい","きらく","きりん","きれい","きれつ","きろく","ぎろん","きわめる","ぎんいろ","きんかくじ","きんじょ","きんようび","ぐあい","くいず","くうかん","くうき","くうぐん","くうこう","ぐうせい","くうそう","ぐうたら","くうふく","くうぼ","くかん","くきょう","くげん","ぐこう","くさい","くさき","くさばな","くさる","くしゃみ","くしょう","くすのき","くすりゆび","くせげ","くせん","ぐたいてき","くださる","くたびれる","くちこみ","くちさき","くつした","ぐっすり","くつろぐ","くとうてん","くどく","くなん","くねくね","くのう","くふう","くみあわせ","くみたてる","くめる","くやくしょ","くらす","くらべる","くるま","くれる","くろう","くわしい","ぐんかん","ぐんしょく","ぐんたい","ぐんて","けあな","けいかく","けいけん","けいこ","けいさつ","げいじゅつ","けいたい","げいのうじん","けいれき","けいろ","けおとす","けおりもの","げきか","げきげん","げきだん","げきちん","げきとつ","げきは","げきやく","げこう","げこくじょう","げざい","けさき","げざん","けしき","けしごむ","けしょう","げすと","けたば","けちゃっぷ","けちらす","けつあつ","けつい","けつえき","けっこん","けつじょ","けっせき","けってい","けつまつ","げつようび","げつれい","けつろん","げどく","けとばす","けとる","けなげ","けなす","けなみ","けぬき","げねつ","けねん","けはい","げひん","けぶかい","げぼく","けまり","けみかる","けむし","けむり","けもの","けらい","けろけろ","けわしい","けんい","けんえつ","けんお","けんか","げんき","けんげん","けんこう","けんさく","けんしゅう","けんすう","げんそう","けんちく","けんてい","けんとう","けんない","けんにん","げんぶつ","けんま","けんみん","けんめい","けんらん","けんり","こあくま","こいぬ","こいびと","ごうい","こうえん","こうおん","こうかん","ごうきゅう","ごうけい","こうこう","こうさい","こうじ","こうすい","ごうせい","こうそく","こうたい","こうちゃ","こうつう","こうてい","こうどう","こうない","こうはい","ごうほう","ごうまん","こうもく","こうりつ","こえる","こおり","ごかい","ごがつ","ごかん","こくご","こくさい","こくとう","こくない","こくはく","こぐま","こけい","こける","ここのか","こころ","こさめ","こしつ","こすう","こせい","こせき","こぜん","こそだて","こたい","こたえる","こたつ","こちょう","こっか","こつこつ","こつばん","こつぶ","こてい","こてん","ことがら","ことし","ことば","ことり","こなごな","こねこね","このまま","このみ","このよ","ごはん","こひつじ","こふう","こふん","こぼれる","ごまあぶら","こまかい","ごますり","こまつな","こまる","こむぎこ","こもじ","こもち","こもの","こもん","こやく","こやま","こゆう","こゆび","こよい","こよう","こりる","これくしょん","ころっけ","こわもて","こわれる","こんいん","こんかい","こんき","こんしゅう","こんすい","こんだて","こんとん","こんなん","こんびに","こんぽん","こんまけ","こんや","こんれい","こんわく","ざいえき","さいかい","さいきん","ざいげん","ざいこ","さいしょ","さいせい","ざいたく","ざいちゅう","さいてき","ざいりょう","さうな","さかいし","さがす","さかな","さかみち","さがる","さぎょう","さくし","さくひん","さくら","さこく","さこつ","さずかる","ざせき","さたん","さつえい","ざつおん","ざっか","ざつがく","さっきょく","ざっし","さつじん","ざっそう","さつたば","さつまいも","さてい","さといも","さとう","さとおや","さとし","さとる","さのう","さばく","さびしい","さべつ","さほう","さほど","さます","さみしい","さみだれ","さむけ","さめる","さやえんどう","さゆう","さよう","さよく","さらだ","ざるそば","さわやか","さわる","さんいん","さんか","さんきゃく","さんこう","さんさい","ざんしょ","さんすう","さんせい","さんそ","さんち","さんま","さんみ","さんらん","しあい","しあげ","しあさって","しあわせ","しいく","しいん","しうち","しえい","しおけ","しかい","しかく","じかん","しごと","しすう","じだい","したうけ","したぎ","したて","したみ","しちょう","しちりん","しっかり","しつじ","しつもん","してい","してき","してつ","じてん","じどう","しなぎれ","しなもの","しなん","しねま","しねん","しのぐ","しのぶ","しはい","しばかり","しはつ","しはらい","しはん","しひょう","しふく","じぶん","しへい","しほう","しほん","しまう","しまる","しみん","しむける","じむしょ","しめい","しめる","しもん","しゃいん","しゃうん","しゃおん","じゃがいも","しやくしょ","しゃくほう","しゃけん","しゃこ","しゃざい","しゃしん","しゃせん","しゃそう","しゃたい","しゃちょう","しゃっきん","じゃま","しゃりん","しゃれい","じゆう","じゅうしょ","しゅくはく","じゅしん","しゅっせき","しゅみ","しゅらば","じゅんばん","しょうかい","しょくたく","しょっけん","しょどう","しょもつ","しらせる","しらべる","しんか","しんこう","じんじゃ","しんせいじ","しんちく","しんりん","すあげ","すあし","すあな","ずあん","すいえい","すいか","すいとう","ずいぶん","すいようび","すうがく","すうじつ","すうせん","すおどり","すきま","すくう","すくない","すける","すごい","すこし","ずさん","すずしい","すすむ","すすめる","すっかり","ずっしり","ずっと","すてき","すてる","すねる","すのこ","すはだ","すばらしい","ずひょう","ずぶぬれ","すぶり","すふれ","すべて","すべる","ずほう","すぼん","すまい","すめし","すもう","すやき","すらすら","するめ","すれちがう","すろっと","すわる","すんぜん","すんぽう","せあぶら","せいかつ","せいげん","せいじ","せいよう","せおう","せかいかん","せきにん","せきむ","せきゆ","せきらんうん","せけん","せこう","せすじ","せたい","せたけ","せっかく","せっきゃく","ぜっく","せっけん","せっこつ","せっさたくま","せつぞく","せつだん","せつでん","せっぱん","せつび","せつぶん","せつめい","せつりつ","せなか","せのび","せはば","せびろ","せぼね","せまい","せまる","せめる","せもたれ","せりふ","ぜんあく","せんい","せんえい","せんか","せんきょ","せんく","せんげん","ぜんご","せんさい","せんしゅ","せんすい","せんせい","せんぞ","せんたく","せんちょう","せんてい","せんとう","せんぬき","せんねん","せんぱい","ぜんぶ","ぜんぽう","せんむ","せんめんじょ","せんもん","せんやく","せんゆう","せんよう","ぜんら","ぜんりゃく","せんれい","せんろ","そあく","そいとげる","そいね","そうがんきょう","そうき","そうご","そうしん","そうだん","そうなん","そうび","そうめん","そうり","そえもの","そえん","そがい","そげき","そこう","そこそこ","そざい","そしな","そせい","そせん","そそぐ","そだてる","そつう","そつえん","そっかん","そつぎょう","そっけつ","そっこう","そっせん","そっと","そとがわ","そとづら","そなえる","そなた","そふぼ","そぼく","そぼろ","そまつ","そまる","そむく","そむりえ","そめる","そもそも","そよかぜ","そらまめ","そろう","そんかい","そんけい","そんざい","そんしつ","そんぞく","そんちょう","ぞんび","ぞんぶん","そんみん","たあい","たいいん","たいうん","たいえき","たいおう","だいがく","たいき","たいぐう","たいけん","たいこ","たいざい","だいじょうぶ","だいすき","たいせつ","たいそう","だいたい","たいちょう","たいてい","だいどころ","たいない","たいねつ","たいのう","たいはん","だいひょう","たいふう","たいへん","たいほ","たいまつばな","たいみんぐ","たいむ","たいめん","たいやき","たいよう","たいら","たいりょく","たいる","たいわん","たうえ","たえる","たおす","たおる","たおれる","たかい","たかね","たきび","たくさん","たこく","たこやき","たさい","たしざん","だじゃれ","たすける","たずさわる","たそがれ","たたかう","たたく","ただしい","たたみ","たちばな","だっかい","だっきゃく","だっこ","だっしゅつ","だったい","たてる","たとえる","たなばた","たにん","たぬき","たのしみ","たはつ","たぶん","たべる","たぼう","たまご","たまる","だむる","ためいき","ためす","ためる","たもつ","たやすい","たよる","たらす","たりきほんがん","たりょう","たりる","たると","たれる","たれんと","たろっと","たわむれる","だんあつ","たんい","たんおん","たんか","たんき","たんけん","たんご","たんさん","たんじょうび","だんせい","たんそく","たんたい","だんち","たんてい","たんとう","だんな","たんにん","だんねつ","たんのう","たんぴん","だんぼう","たんまつ","たんめい","だんれつ","だんろ","だんわ","ちあい","ちあん","ちいき","ちいさい","ちえん","ちかい","ちから","ちきゅう","ちきん","ちけいず","ちけん","ちこく","ちさい","ちしき","ちしりょう","ちせい","ちそう","ちたい","ちたん","ちちおや","ちつじょ","ちてき","ちてん","ちぬき","ちぬり","ちのう","ちひょう","ちへいせん","ちほう","ちまた","ちみつ","ちみどろ","ちめいど","ちゃんこなべ","ちゅうい","ちゆりょく","ちょうし","ちょさくけん","ちらし","ちらみ","ちりがみ","ちりょう","ちるど","ちわわ","ちんたい","ちんもく","ついか","ついたち","つうか","つうじょう","つうはん","つうわ","つかう","つかれる","つくね","つくる","つけね","つける","つごう","つたえる","つづく","つつじ","つつむ","つとめる","つながる","つなみ","つねづね","つのる","つぶす","つまらない","つまる","つみき","つめたい","つもり","つもる","つよい","つるぼ","つるみく","つわもの","つわり","てあし","てあて","てあみ","ていおん","ていか","ていき","ていけい","ていこく","ていさつ","ていし","ていせい","ていたい","ていど","ていねい","ていひょう","ていへん","ていぼう","てうち","ておくれ","てきとう","てくび","でこぼこ","てさぎょう","てさげ","てすり","てそう","てちがい","てちょう","てつがく","てつづき","でっぱ","てつぼう","てつや","でぬかえ","てぬき","てぬぐい","てのひら","てはい","てぶくろ","てふだ","てほどき","てほん","てまえ","てまきずし","てみじか","てみやげ","てらす","てれび","てわけ","てわたし","でんあつ","てんいん","てんかい","てんき","てんぐ","てんけん","てんごく","てんさい","てんし","てんすう","でんち","てんてき","てんとう","てんない","てんぷら","てんぼうだい","てんめつ","てんらんかい","でんりょく","でんわ","どあい","といれ","どうかん","とうきゅう","どうぐ","とうし","とうむぎ","とおい","とおか","とおく","とおす","とおる","とかい","とかす","ときおり","ときどき","とくい","とくしゅう","とくてん","とくに","とくべつ","とけい","とける","とこや","とさか","としょかん","とそう","とたん","とちゅう","とっきゅう","とっくん","とつぜん","とつにゅう","とどける","ととのえる","とない","となえる","となり","とのさま","とばす","どぶがわ","とほう","とまる","とめる","ともだち","ともる","どようび","とらえる","とんかつ","どんぶり","ないかく","ないこう","ないしょ","ないす","ないせん","ないそう","なおす","ながい","なくす","なげる","なこうど","なさけ","なたでここ","なっとう","なつやすみ","ななおし","なにごと","なにもの","なにわ","なのか","なふだ","なまいき","なまえ","なまみ","なみだ","なめらか","なめる","なやむ","ならう","ならび","ならぶ","なれる","なわとび","なわばり","にあう","にいがた","にうけ","におい","にかい","にがて","にきび","にくしみ","にくまん","にげる","にさんかたんそ","にしき","にせもの","にちじょう","にちようび","にっか","にっき","にっけい","にっこう","にっさん","にっしょく","にっすう","にっせき","にってい","になう","にほん","にまめ","にもつ","にやり","にゅういん","にりんしゃ","にわとり","にんい","にんか","にんき","にんげん","にんしき","にんずう","にんそう","にんたい","にんち","にんてい","にんにく","にんぷ","にんまり","にんむ","にんめい","にんよう","ぬいくぎ","ぬかす","ぬぐいとる","ぬぐう","ぬくもり","ぬすむ","ぬまえび","ぬめり","ぬらす","ぬんちゃく","ねあげ","ねいき","ねいる","ねいろ","ねぐせ","ねくたい","ねくら","ねこぜ","ねこむ","ねさげ","ねすごす","ねそべる","ねだん","ねつい","ねっしん","ねつぞう","ねったいぎょ","ねぶそく","ねふだ","ねぼう","ねほりはほり","ねまき","ねまわし","ねみみ","ねむい","ねむたい","ねもと","ねらう","ねわざ","ねんいり","ねんおし","ねんかん","ねんきん","ねんぐ","ねんざ","ねんし","ねんちゃく","ねんど","ねんぴ","ねんぶつ","ねんまつ","ねんりょう","ねんれい","のいず","のおづま","のがす","のきなみ","のこぎり","のこす","のこる","のせる","のぞく","のぞむ","のたまう","のちほど","のっく","のばす","のはら","のべる","のぼる","のみもの","のやま","のらいぬ","のらねこ","のりもの","のりゆき","のれん","のんき","ばあい","はあく","ばあさん","ばいか","ばいく","はいけん","はいご","はいしん","はいすい","はいせん","はいそう","はいち","ばいばい","はいれつ","はえる","はおる","はかい","ばかり","はかる","はくしゅ","はけん","はこぶ","はさみ","はさん","はしご","ばしょ","はしる","はせる","ぱそこん","はそん","はたん","はちみつ","はつおん","はっかく","はづき","はっきり","はっくつ","はっけん","はっこう","はっさん","はっしん","はったつ","はっちゅう","はってん","はっぴょう","はっぽう","はなす","はなび","はにかむ","はぶらし","はみがき","はむかう","はめつ","はやい","はやし","はらう","はろうぃん","はわい","はんい","はんえい","はんおん","はんかく","はんきょう","ばんぐみ","はんこ","はんしゃ","はんすう","はんだん","ぱんち","ぱんつ","はんてい","はんとし","はんのう","はんぱ","はんぶん","はんぺん","はんぼうき","はんめい","はんらん","はんろん","ひいき","ひうん","ひえる","ひかく","ひかり","ひかる","ひかん","ひくい","ひけつ","ひこうき","ひこく","ひさい","ひさしぶり","ひさん","びじゅつかん","ひしょ","ひそか","ひそむ","ひたむき","ひだり","ひたる","ひつぎ","ひっこし","ひっし","ひつじゅひん","ひっす","ひつぜん","ぴったり","ぴっちり","ひつよう","ひてい","ひとごみ","ひなまつり","ひなん","ひねる","ひはん","ひびく","ひひょう","ひほう","ひまわり","ひまん","ひみつ","ひめい","ひめじし","ひやけ","ひやす","ひよう","びょうき","ひらがな","ひらく","ひりつ","ひりょう","ひるま","ひるやすみ","ひれい","ひろい","ひろう","ひろき","ひろゆき","ひんかく","ひんけつ","ひんこん","ひんしゅ","ひんそう","ぴんち","ひんぱん","びんぼう","ふあん","ふいうち","ふうけい","ふうせん","ぷうたろう","ふうとう","ふうふ","ふえる","ふおん","ふかい","ふきん","ふくざつ","ふくぶくろ","ふこう","ふさい","ふしぎ","ふじみ","ふすま","ふせい","ふせぐ","ふそく","ぶたにく","ふたん","ふちょう","ふつう","ふつか","ふっかつ","ふっき","ふっこく","ぶどう","ふとる","ふとん","ふのう","ふはい","ふひょう","ふへん","ふまん","ふみん","ふめつ","ふめん","ふよう","ふりこ","ふりる","ふるい","ふんいき","ぶんがく","ぶんぐ","ふんしつ","ぶんせき","ふんそう","ぶんぽう","へいあん","へいおん","へいがい","へいき","へいげん","へいこう","へいさ","へいしゃ","へいせつ","へいそ","へいたく","へいてん","へいねつ","へいわ","へきが","へこむ","べにいろ","べにしょうが","へらす","へんかん","べんきょう","べんごし","へんさい","へんたい","べんり","ほあん","ほいく","ぼうぎょ","ほうこく","ほうそう","ほうほう","ほうもん","ほうりつ","ほえる","ほおん","ほかん","ほきょう","ぼきん","ほくろ","ほけつ","ほけん","ほこう","ほこる","ほしい","ほしつ","ほしゅ","ほしょう","ほせい","ほそい","ほそく","ほたて","ほたる","ぽちぶくろ","ほっきょく","ほっさ","ほったん","ほとんど","ほめる","ほんい","ほんき","ほんけ","ほんしつ","ほんやく","まいにち","まかい","まかせる","まがる","まける","まこと","まさつ","まじめ","ますく","まぜる","まつり","まとめ","まなぶ","まぬけ","まねく","まほう","まもる","まゆげ","まよう","まろやか","まわす","まわり","まわる","まんが","まんきつ","まんぞく","まんなか","みいら","みうち","みえる","みがく","みかた","みかん","みけん","みこん","みじかい","みすい","みすえる","みせる","みっか","みつかる","みつける","みてい","みとめる","みなと","みなみかさい","みねらる","みのう","みのがす","みほん","みもと","みやげ","みらい","みりょく","みわく","みんか","みんぞく","むいか","むえき","むえん","むかい","むかう","むかえ","むかし","むぎちゃ","むける","むげん","むさぼる","むしあつい","むしば","むじゅん","むしろ","むすう","むすこ","むすぶ","むすめ","むせる","むせん","むちゅう","むなしい","むのう","むやみ","むよう","むらさき","むりょう","むろん","めいあん","めいうん","めいえん","めいかく","めいきょく","めいさい","めいし","めいそう","めいぶつ","めいれい","めいわく","めぐまれる","めざす","めした","めずらしい","めだつ","めまい","めやす","めんきょ","めんせき","めんどう","もうしあげる","もうどうけん","もえる","もくし","もくてき","もくようび","もちろん","もどる","もらう","もんく","もんだい","やおや","やける","やさい","やさしい","やすい","やすたろう","やすみ","やせる","やそう","やたい","やちん","やっと","やっぱり","やぶる","やめる","ややこしい","やよい","やわらかい","ゆうき","ゆうびんきょく","ゆうべ","ゆうめい","ゆけつ","ゆしゅつ","ゆせん","ゆそう","ゆたか","ゆちゃく","ゆでる","ゆにゅう","ゆびわ","ゆらい","ゆれる","ようい","ようか","ようきゅう","ようじ","ようす","ようちえん","よかぜ","よかん","よきん","よくせい","よくぼう","よけい","よごれる","よさん","よしゅう","よそう","よそく","よっか","よてい","よどがわく","よねつ","よやく","よゆう","よろこぶ","よろしい","らいう","らくがき","らくご","らくさつ","らくだ","らしんばん","らせん","らぞく","らたい","らっか","られつ","りえき","りかい","りきさく","りきせつ","りくぐん","りくつ","りけん","りこう","りせい","りそう","りそく","りてん","りねん","りゆう","りゅうがく","りよう","りょうり","りょかん","りょくちゃ","りょこう","りりく","りれき","りろん","りんご","るいけい","るいさい","るいじ","るいせき","るすばん","るりがわら","れいかん","れいぎ","れいせい","れいぞうこ","れいとう","れいぼう","れきし","れきだい","れんあい","れんけい","れんこん","れんさい","れんしゅう","れんぞく","れんらく","ろうか","ろうご","ろうじん","ろうそく","ろくが","ろこつ","ろじうら","ろしゅつ","ろせん","ろてん","ろめん","ろれつ","ろんぎ","ろんぱ","ろんぶん","ろんり","わかす","わかめ","わかやま","わかれる","わしつ","わじまし","わすれもの","わらう","われる"]')},8013:function(eb){"use strict";eb.exports=JSON.parse('["가격","가끔","가난","가능","가득","가르침","가뭄","가방","가상","가슴","가운데","가을","가이드","가입","가장","가정","가족","가죽","각오","각자","간격","간부","간섭","간장","간접","간판","갈등","갈비","갈색","갈증","감각","감기","감소","감수성","감자","감정","갑자기","강남","강당","강도","강력히","강변","강북","강사","강수량","강아지","강원도","강의","강제","강조","같이","개구리","개나리","개방","개별","개선","개성","개인","객관적","거실","거액","거울","거짓","거품","걱정","건강","건물","건설","건조","건축","걸음","검사","검토","게시판","게임","겨울","견해","결과","결국","결론","결석","결승","결심","결정","결혼","경계","경고","경기","경력","경복궁","경비","경상도","경영","경우","경쟁","경제","경주","경찰","경치","경향","경험","계곡","계단","계란","계산","계속","계약","계절","계층","계획","고객","고구려","고궁","고급","고등학생","고무신","고민","고양이","고장","고전","고집","고춧가루","고통","고향","곡식","골목","골짜기","골프","공간","공개","공격","공군","공급","공기","공동","공무원","공부","공사","공식","공업","공연","공원","공장","공짜","공책","공통","공포","공항","공휴일","과목","과일","과장","과정","과학","관객","관계","관광","관념","관람","관련","관리","관습","관심","관점","관찰","광경","광고","광장","광주","괴로움","굉장히","교과서","교문","교복","교실","교양","교육","교장","교직","교통","교환","교훈","구경","구름","구멍","구별","구분","구석","구성","구속","구역","구입","구청","구체적","국가","국기","국내","국립","국물","국민","국수","국어","국왕","국적","국제","국회","군대","군사","군인","궁극적","권리","권위","권투","귀국","귀신","규정","규칙","균형","그날","그냥","그늘","그러나","그룹","그릇","그림","그제서야","그토록","극복","극히","근거","근교","근래","근로","근무","근본","근원","근육","근처","글씨","글자","금강산","금고","금년","금메달","금액","금연","금요일","금지","긍정적","기간","기관","기념","기능","기독교","기둥","기록","기름","기법","기본","기분","기쁨","기숙사","기술","기억","기업","기온","기운","기원","기적","기준","기침","기혼","기획","긴급","긴장","길이","김밥","김치","김포공항","깍두기","깜빡","깨달음","깨소금","껍질","꼭대기","꽃잎","나들이","나란히","나머지","나물","나침반","나흘","낙엽","난방","날개","날씨","날짜","남녀","남대문","남매","남산","남자","남편","남학생","낭비","낱말","내년","내용","내일","냄비","냄새","냇물","냉동","냉면","냉방","냉장고","넥타이","넷째","노동","노란색","노력","노인","녹음","녹차","녹화","논리","논문","논쟁","놀이","농구","농담","농민","농부","농업","농장","농촌","높이","눈동자","눈물","눈썹","뉴욕","느낌","늑대","능동적","능력","다방","다양성","다음","다이어트","다행","단계","단골","단독","단맛","단순","단어","단위","단점","단체","단추","단편","단풍","달걀","달러","달력","달리","닭고기","담당","담배","담요","담임","답변","답장","당근","당분간","당연히","당장","대규모","대낮","대단히","대답","대도시","대략","대량","대륙","대문","대부분","대신","대응","대장","대전","대접","대중","대책","대출","대충","대통령","대학","대한민국","대합실","대형","덩어리","데이트","도대체","도덕","도둑","도망","도서관","도심","도움","도입","도자기","도저히","도전","도중","도착","독감","독립","독서","독일","독창적","동화책","뒷모습","뒷산","딸아이","마누라","마늘","마당","마라톤","마련","마무리","마사지","마약","마요네즈","마을","마음","마이크","마중","마지막","마찬가지","마찰","마흔","막걸리","막내","막상","만남","만두","만세","만약","만일","만점","만족","만화","많이","말기","말씀","말투","맘대로","망원경","매년","매달","매력","매번","매스컴","매일","매장","맥주","먹이","먼저","먼지","멀리","메일","며느리","며칠","면담","멸치","명단","명령","명예","명의","명절","명칭","명함","모금","모니터","모델","모든","모범","모습","모양","모임","모조리","모집","모퉁이","목걸이","목록","목사","목소리","목숨","목적","목표","몰래","몸매","몸무게","몸살","몸속","몸짓","몸통","몹시","무관심","무궁화","무더위","무덤","무릎","무슨","무엇","무역","무용","무조건","무지개","무척","문구","문득","문법","문서","문제","문학","문화","물가","물건","물결","물고기","물론","물리학","물음","물질","물체","미국","미디어","미사일","미술","미역","미용실","미움","미인","미팅","미혼","민간","민족","민주","믿음","밀가루","밀리미터","밑바닥","바가지","바구니","바나나","바늘","바닥","바닷가","바람","바이러스","바탕","박물관","박사","박수","반대","반드시","반말","반발","반성","반응","반장","반죽","반지","반찬","받침","발가락","발걸음","발견","발달","발레","발목","발바닥","발생","발음","발자국","발전","발톱","발표","밤하늘","밥그릇","밥맛","밥상","밥솥","방금","방면","방문","방바닥","방법","방송","방식","방안","방울","방지","방학","방해","방향","배경","배꼽","배달","배드민턴","백두산","백색","백성","백인","백제","백화점","버릇","버섯","버튼","번개","번역","번지","번호","벌금","벌레","벌써","범위","범인","범죄","법률","법원","법적","법칙","베이징","벨트","변경","변동","변명","변신","변호사","변화","별도","별명","별일","병실","병아리","병원","보관","보너스","보라색","보람","보름","보상","보안","보자기","보장","보전","보존","보통","보편적","보험","복도","복사","복숭아","복습","볶음","본격적","본래","본부","본사","본성","본인","본질","볼펜","봉사","봉지","봉투","부근","부끄러움","부담","부동산","부문","부분","부산","부상","부엌","부인","부작용","부장","부정","부족","부지런히","부친","부탁","부품","부회장","북부","북한","분노","분량","분리","분명","분석","분야","분위기","분필","분홍색","불고기","불과","불교","불꽃","불만","불법","불빛","불안","불이익","불행","브랜드","비극","비난","비닐","비둘기","비디오","비로소","비만","비명","비밀","비바람","비빔밥","비상","비용","비율","비중","비타민","비판","빌딩","빗물","빗방울","빗줄기","빛깔","빨간색","빨래","빨리","사건","사계절","사나이","사냥","사람","사랑","사립","사모님","사물","사방","사상","사생활","사설","사슴","사실","사업","사용","사월","사장","사전","사진","사촌","사춘기","사탕","사투리","사흘","산길","산부인과","산업","산책","살림","살인","살짝","삼계탕","삼국","삼십","삼월","삼촌","상관","상금","상대","상류","상반기","상상","상식","상업","상인","상자","상점","상처","상추","상태","상표","상품","상황","새벽","색깔","색연필","생각","생명","생물","생방송","생산","생선","생신","생일","생활","서랍","서른","서명","서민","서비스","서양","서울","서적","서점","서쪽","서클","석사","석유","선거","선물","선배","선생","선수","선원","선장","선전","선택","선풍기","설거지","설날","설렁탕","설명","설문","설사","설악산","설치","설탕","섭씨","성공","성당","성명","성별","성인","성장","성적","성질","성함","세금","세미나","세상","세월","세종대왕","세탁","센터","센티미터","셋째","소규모","소극적","소금","소나기","소년","소득","소망","소문","소설","소속","소아과","소용","소원","소음","소중히","소지품","소질","소풍","소형","속담","속도","속옷","손가락","손길","손녀","손님","손등","손목","손뼉","손실","손질","손톱","손해","솔직히","솜씨","송아지","송이","송편","쇠고기","쇼핑","수건","수년","수단","수돗물","수동적","수면","수명","수박","수상","수석","수술","수시로","수업","수염","수영","수입","수준","수집","수출","수컷","수필","수학","수험생","수화기","숙녀","숙소","숙제","순간","순서","순수","순식간","순위","숟가락","술병","술집","숫자","스님","스물","스스로","스승","스웨터","스위치","스케이트","스튜디오","스트레스","스포츠","슬쩍","슬픔","습관","습기","승객","승리","승부","승용차","승진","시각","시간","시골","시금치","시나리오","시댁","시리즈","시멘트","시민","시부모","시선","시설","시스템","시아버지","시어머니","시월","시인","시일","시작","시장","시절","시점","시중","시즌","시집","시청","시합","시험","식구","식기","식당","식량","식료품","식물","식빵","식사","식생활","식초","식탁","식품","신고","신규","신념","신문","신발","신비","신사","신세","신용","신제품","신청","신체","신화","실감","실내","실력","실례","실망","실수","실습","실시","실장","실정","실질적","실천","실체","실컷","실태","실패","실험","실현","심리","심부름","심사","심장","심정","심판","쌍둥이","씨름","씨앗","아가씨","아나운서","아드님","아들","아쉬움","아스팔트","아시아","아울러","아저씨","아줌마","아직","아침","아파트","아프리카","아픔","아홉","아흔","악기","악몽","악수","안개","안경","안과","안내","안녕","안동","안방","안부","안주","알루미늄","알코올","암시","암컷","압력","앞날","앞문","애인","애정","액수","앨범","야간","야단","야옹","약간","약국","약속","약수","약점","약품","약혼녀","양념","양력","양말","양배추","양주","양파","어둠","어려움","어른","어젯밤","어쨌든","어쩌다가","어쩐지","언니","언덕","언론","언어","얼굴","얼른","얼음","얼핏","엄마","업무","업종","업체","엉덩이","엉망","엉터리","엊그제","에너지","에어컨","엔진","여건","여고생","여관","여군","여권","여대생","여덟","여동생","여든","여론","여름","여섯","여성","여왕","여인","여전히","여직원","여학생","여행","역사","역시","역할","연결","연구","연극","연기","연락","연설","연세","연속","연습","연애","연예인","연인","연장","연주","연출","연필","연합","연휴","열기","열매","열쇠","열심히","열정","열차","열흘","염려","엽서","영국","영남","영상","영양","영역","영웅","영원히","영하","영향","영혼","영화","옆구리","옆방","옆집","예감","예금","예방","예산","예상","예선","예술","예습","예식장","예약","예전","예절","예정","예컨대","옛날","오늘","오락","오랫동안","오렌지","오로지","오른발","오븐","오십","오염","오월","오전","오직","오징어","오페라","오피스텔","오히려","옥상","옥수수","온갖","온라인","온몸","온종일","온통","올가을","올림픽","올해","옷차림","와이셔츠","와인","완성","완전","왕비","왕자","왜냐하면","왠지","외갓집","외국","외로움","외삼촌","외출","외침","외할머니","왼발","왼손","왼쪽","요금","요일","요즘","요청","용기","용서","용어","우산","우선","우승","우연히","우정","우체국","우편","운동","운명","운반","운전","운행","울산","울음","움직임","웃어른","웃음","워낙","원고","원래","원서","원숭이","원인","원장","원피스","월급","월드컵","월세","월요일","웨이터","위반","위법","위성","위원","위험","위협","윗사람","유난히","유럽","유명","유물","유산","유적","유치원","유학","유행","유형","육군","육상","육십","육체","은행","음력","음료","음반","음성","음식","음악","음주","의견","의논","의문","의복","의식","의심","의외로","의욕","의원","의학","이것","이곳","이념","이놈","이달","이대로","이동","이렇게","이력서","이론적","이름","이민","이발소","이별","이불","이빨","이상","이성","이슬","이야기","이용","이웃","이월","이윽고","이익","이전","이중","이튿날","이틀","이혼","인간","인격","인공","인구","인근","인기","인도","인류","인물","인생","인쇄","인연","인원","인재","인종","인천","인체","인터넷","인하","인형","일곱","일기","일단","일대","일등","일반","일본","일부","일상","일생","일손","일요일","일월","일정","일종","일주일","일찍","일체","일치","일행","일회용","임금","임무","입대","입력","입맛","입사","입술","입시","입원","입장","입학","자가용","자격","자극","자동","자랑","자부심","자식","자신","자연","자원","자율","자전거","자정","자존심","자판","작가","작년","작성","작업","작용","작은딸","작품","잔디","잔뜩","잔치","잘못","잠깐","잠수함","잠시","잠옷","잠자리","잡지","장관","장군","장기간","장래","장례","장르","장마","장면","장모","장미","장비","장사","장소","장식","장애인","장인","장점","장차","장학금","재능","재빨리","재산","재생","재작년","재정","재채기","재판","재학","재활용","저것","저고리","저곳","저녁","저런","저렇게","저번","저울","저절로","저축","적극","적당히","적성","적용","적응","전개","전공","전기","전달","전라도","전망","전문","전반","전부","전세","전시","전용","전자","전쟁","전주","전철","전체","전통","전혀","전후","절대","절망","절반","절약","절차","점검","점수","점심","점원","점점","점차","접근","접시","접촉","젓가락","정거장","정도","정류장","정리","정말","정면","정문","정반대","정보","정부","정비","정상","정성","정오","정원","정장","정지","정치","정확히","제공","제과점","제대로","제목","제발","제법","제삿날","제안","제일","제작","제주도","제출","제품","제한","조각","조건","조금","조깅","조명","조미료","조상","조선","조용히","조절","조정","조직","존댓말","존재","졸업","졸음","종교","종로","종류","종소리","종업원","종종","종합","좌석","죄인","주관적","주름","주말","주머니","주먹","주문","주민","주방","주변","주식","주인","주일","주장","주전자","주택","준비","줄거리","줄기","줄무늬","중간","중계방송","중국","중년","중단","중독","중반","중부","중세","중소기업","중순","중앙","중요","중학교","즉석","즉시","즐거움","증가","증거","증권","증상","증세","지각","지갑","지경","지극히","지금","지급","지능","지름길","지리산","지방","지붕","지식","지역","지우개","지원","지적","지점","지진","지출","직선","직업","직원","직장","진급","진동","진로","진료","진리","진짜","진찰","진출","진통","진행","질문","질병","질서","짐작","집단","집안","집중","짜증","찌꺼기","차남","차라리","차량","차림","차별","차선","차츰","착각","찬물","찬성","참가","참기름","참새","참석","참여","참외","참조","찻잔","창가","창고","창구","창문","창밖","창작","창조","채널","채점","책가방","책방","책상","책임","챔피언","처벌","처음","천국","천둥","천장","천재","천천히","철도","철저히","철학","첫날","첫째","청년","청바지","청소","청춘","체계","체력","체온","체육","체중","체험","초등학생","초반","초밥","초상화","초순","초여름","초원","초저녁","초점","초청","초콜릿","촛불","총각","총리","총장","촬영","최근","최상","최선","최신","최악","최종","추석","추억","추진","추천","추측","축구","축소","축제","축하","출근","출발","출산","출신","출연","출입","출장","출판","충격","충고","충돌","충분히","충청도","취업","취직","취향","치약","친구","친척","칠십","칠월","칠판","침대","침묵","침실","칫솔","칭찬","카메라","카운터","칼국수","캐릭터","캠퍼스","캠페인","커튼","컨디션","컬러","컴퓨터","코끼리","코미디","콘서트","콜라","콤플렉스","콩나물","쾌감","쿠데타","크림","큰길","큰딸","큰소리","큰아들","큰어머니","큰일","큰절","클래식","클럽","킬로","타입","타자기","탁구","탁자","탄생","태권도","태양","태풍","택시","탤런트","터널","터미널","테니스","테스트","테이블","텔레비전","토론","토마토","토요일","통계","통과","통로","통신","통역","통일","통장","통제","통증","통합","통화","퇴근","퇴원","퇴직금","튀김","트럭","특급","특별","특성","특수","특징","특히","튼튼히","티셔츠","파란색","파일","파출소","판결","판단","판매","판사","팔십","팔월","팝송","패션","팩스","팩시밀리","팬티","퍼센트","페인트","편견","편의","편지","편히","평가","평균","평생","평소","평양","평일","평화","포스터","포인트","포장","포함","표면","표정","표준","표현","품목","품질","풍경","풍속","풍습","프랑스","프린터","플라스틱","피곤","피망","피아노","필름","필수","필요","필자","필통","핑계","하느님","하늘","하드웨어","하룻밤","하반기","하숙집","하순","하여튼","하지만","하천","하품","하필","학과","학교","학급","학기","학년","학력","학번","학부모","학비","학생","학술","학습","학용품","학원","학위","학자","학점","한계","한글","한꺼번에","한낮","한눈","한동안","한때","한라산","한마디","한문","한번","한복","한식","한여름","한쪽","할머니","할아버지","할인","함께","함부로","합격","합리적","항공","항구","항상","항의","해결","해군","해답","해당","해물","해석","해설","해수욕장","해안","핵심","핸드백","햄버거","햇볕","햇살","행동","행복","행사","행운","행위","향기","향상","향수","허락","허용","헬기","현관","현금","현대","현상","현실","현장","현재","현지","혈액","협력","형부","형사","형수","형식","형제","형태","형편","혜택","호기심","호남","호랑이","호박","호텔","호흡","혹시","홀로","홈페이지","홍보","홍수","홍차","화면","화분","화살","화요일","화장","화학","확보","확인","확장","확정","환갑","환경","환영","환율","환자","활기","활동","활발히","활용","활짝","회견","회관","회복","회색","회원","회장","회전","횟수","횡단보도","효율적","후반","후춧가루","훈련","훨씬","휴식","휴일","흉내","흐름","흑백","흑인","흔적","흔히","흥미","흥분","희곡","희망","희생","흰색","힘껏"]')},71945:function(eb){"use strict";eb.exports=JSON.parse('["abacate","abaixo","abalar","abater","abduzir","abelha","aberto","abismo","abotoar","abranger","abreviar","abrigar","abrupto","absinto","absoluto","absurdo","abutre","acabado","acalmar","acampar","acanhar","acaso","aceitar","acelerar","acenar","acervo","acessar","acetona","achatar","acidez","acima","acionado","acirrar","aclamar","aclive","acolhida","acomodar","acoplar","acordar","acumular","acusador","adaptar","adega","adentro","adepto","adequar","aderente","adesivo","adeus","adiante","aditivo","adjetivo","adjunto","admirar","adorar","adquirir","adubo","adverso","advogado","aeronave","afastar","aferir","afetivo","afinador","afivelar","aflito","afluente","afrontar","agachar","agarrar","agasalho","agenciar","agilizar","agiota","agitado","agora","agradar","agreste","agrupar","aguardar","agulha","ajoelhar","ajudar","ajustar","alameda","alarme","alastrar","alavanca","albergue","albino","alcatra","aldeia","alecrim","alegria","alertar","alface","alfinete","algum","alheio","aliar","alicate","alienar","alinhar","aliviar","almofada","alocar","alpiste","alterar","altitude","alucinar","alugar","aluno","alusivo","alvo","amaciar","amador","amarelo","amassar","ambas","ambiente","ameixa","amenizar","amido","amistoso","amizade","amolador","amontoar","amoroso","amostra","amparar","ampliar","ampola","anagrama","analisar","anarquia","anatomia","andaime","anel","anexo","angular","animar","anjo","anomalia","anotado","ansioso","anterior","anuidade","anunciar","anzol","apagador","apalpar","apanhado","apego","apelido","apertada","apesar","apetite","apito","aplauso","aplicada","apoio","apontar","aposta","aprendiz","aprovar","aquecer","arame","aranha","arara","arcada","ardente","areia","arejar","arenito","aresta","argiloso","argola","arma","arquivo","arraial","arrebate","arriscar","arroba","arrumar","arsenal","arterial","artigo","arvoredo","asfaltar","asilado","aspirar","assador","assinar","assoalho","assunto","astral","atacado","atadura","atalho","atarefar","atear","atender","aterro","ateu","atingir","atirador","ativo","atoleiro","atracar","atrevido","atriz","atual","atum","auditor","aumentar","aura","aurora","autismo","autoria","autuar","avaliar","avante","avaria","avental","avesso","aviador","avisar","avulso","axila","azarar","azedo","azeite","azulejo","babar","babosa","bacalhau","bacharel","bacia","bagagem","baiano","bailar","baioneta","bairro","baixista","bajular","baleia","baliza","balsa","banal","bandeira","banho","banir","banquete","barato","barbado","baronesa","barraca","barulho","baseado","bastante","batata","batedor","batida","batom","batucar","baunilha","beber","beijo","beirada","beisebol","beldade","beleza","belga","beliscar","bendito","bengala","benzer","berimbau","berlinda","berro","besouro","bexiga","bezerro","bico","bicudo","bienal","bifocal","bifurcar","bigorna","bilhete","bimestre","bimotor","biologia","biombo","biosfera","bipolar","birrento","biscoito","bisneto","bispo","bissexto","bitola","bizarro","blindado","bloco","bloquear","boato","bobagem","bocado","bocejo","bochecha","boicotar","bolada","boletim","bolha","bolo","bombeiro","bonde","boneco","bonita","borbulha","borda","boreal","borracha","bovino","boxeador","branco","brasa","braveza","breu","briga","brilho","brincar","broa","brochura","bronzear","broto","bruxo","bucha","budismo","bufar","bule","buraco","busca","busto","buzina","cabana","cabelo","cabide","cabo","cabrito","cacau","cacetada","cachorro","cacique","cadastro","cadeado","cafezal","caiaque","caipira","caixote","cajado","caju","calafrio","calcular","caldeira","calibrar","calmante","calota","camada","cambista","camisa","camomila","campanha","camuflar","canavial","cancelar","caneta","canguru","canhoto","canivete","canoa","cansado","cantar","canudo","capacho","capela","capinar","capotar","capricho","captador","capuz","caracol","carbono","cardeal","careca","carimbar","carneiro","carpete","carreira","cartaz","carvalho","casaco","casca","casebre","castelo","casulo","catarata","cativar","caule","causador","cautelar","cavalo","caverna","cebola","cedilha","cegonha","celebrar","celular","cenoura","censo","centeio","cercar","cerrado","certeiro","cerveja","cetim","cevada","chacota","chaleira","chamado","chapada","charme","chatice","chave","chefe","chegada","cheiro","cheque","chicote","chifre","chinelo","chocalho","chover","chumbo","chutar","chuva","cicatriz","ciclone","cidade","cidreira","ciente","cigana","cimento","cinto","cinza","ciranda","circuito","cirurgia","citar","clareza","clero","clicar","clone","clube","coado","coagir","cobaia","cobertor","cobrar","cocada","coelho","coentro","coeso","cogumelo","coibir","coifa","coiote","colar","coleira","colher","colidir","colmeia","colono","coluna","comando","combinar","comentar","comitiva","comover","complexo","comum","concha","condor","conectar","confuso","congelar","conhecer","conjugar","consumir","contrato","convite","cooperar","copeiro","copiador","copo","coquetel","coragem","cordial","corneta","coronha","corporal","correio","cortejo","coruja","corvo","cosseno","costela","cotonete","couro","couve","covil","cozinha","cratera","cravo","creche","credor","creme","crer","crespo","criada","criminal","crioulo","crise","criticar","crosta","crua","cruzeiro","cubano","cueca","cuidado","cujo","culatra","culminar","culpar","cultura","cumprir","cunhado","cupido","curativo","curral","cursar","curto","cuspir","custear","cutelo","damasco","datar","debater","debitar","deboche","debulhar","decalque","decimal","declive","decote","decretar","dedal","dedicado","deduzir","defesa","defumar","degelo","degrau","degustar","deitado","deixar","delator","delegado","delinear","delonga","demanda","demitir","demolido","dentista","depenado","depilar","depois","depressa","depurar","deriva","derramar","desafio","desbotar","descanso","desenho","desfiado","desgaste","desigual","deslize","desmamar","desova","despesa","destaque","desviar","detalhar","detentor","detonar","detrito","deusa","dever","devido","devotado","dezena","diagrama","dialeto","didata","difuso","digitar","dilatado","diluente","diminuir","dinastia","dinheiro","diocese","direto","discreta","disfarce","disparo","disquete","dissipar","distante","ditador","diurno","diverso","divisor","divulgar","dizer","dobrador","dolorido","domador","dominado","donativo","donzela","dormente","dorsal","dosagem","dourado","doutor","drenagem","drible","drogaria","duelar","duende","dueto","duplo","duquesa","durante","duvidoso","eclodir","ecoar","ecologia","edificar","edital","educado","efeito","efetivar","ejetar","elaborar","eleger","eleitor","elenco","elevador","eliminar","elogiar","embargo","embolado","embrulho","embutido","emenda","emergir","emissor","empatia","empenho","empinado","empolgar","emprego","empurrar","emulador","encaixe","encenado","enchente","encontro","endeusar","endossar","enfaixar","enfeite","enfim","engajado","engenho","englobar","engomado","engraxar","enguia","enjoar","enlatar","enquanto","enraizar","enrolado","enrugar","ensaio","enseada","ensino","ensopado","entanto","enteado","entidade","entortar","entrada","entulho","envergar","enviado","envolver","enxame","enxerto","enxofre","enxuto","epiderme","equipar","ereto","erguido","errata","erva","ervilha","esbanjar","esbelto","escama","escola","escrita","escuta","esfinge","esfolar","esfregar","esfumado","esgrima","esmalte","espanto","espelho","espiga","esponja","espreita","espumar","esquerda","estaca","esteira","esticar","estofado","estrela","estudo","esvaziar","etanol","etiqueta","euforia","europeu","evacuar","evaporar","evasivo","eventual","evidente","evoluir","exagero","exalar","examinar","exato","exausto","excesso","excitar","exclamar","executar","exemplo","exibir","exigente","exonerar","expandir","expelir","expirar","explanar","exposto","expresso","expulsar","externo","extinto","extrato","fabricar","fabuloso","faceta","facial","fada","fadiga","faixa","falar","falta","familiar","fandango","fanfarra","fantoche","fardado","farelo","farinha","farofa","farpa","fartura","fatia","fator","favorita","faxina","fazenda","fechado","feijoada","feirante","felino","feminino","fenda","feno","fera","feriado","ferrugem","ferver","festejar","fetal","feudal","fiapo","fibrose","ficar","ficheiro","figurado","fileira","filho","filme","filtrar","firmeza","fisgada","fissura","fita","fivela","fixador","fixo","flacidez","flamingo","flanela","flechada","flora","flutuar","fluxo","focal","focinho","fofocar","fogo","foguete","foice","folgado","folheto","forjar","formiga","forno","forte","fosco","fossa","fragata","fralda","frango","frasco","fraterno","freira","frente","fretar","frieza","friso","fritura","fronha","frustrar","fruteira","fugir","fulano","fuligem","fundar","fungo","funil","furador","furioso","futebol","gabarito","gabinete","gado","gaiato","gaiola","gaivota","galega","galho","galinha","galocha","ganhar","garagem","garfo","gargalo","garimpo","garoupa","garrafa","gasoduto","gasto","gata","gatilho","gaveta","gazela","gelado","geleia","gelo","gemada","gemer","gemido","generoso","gengiva","genial","genoma","genro","geologia","gerador","germinar","gesso","gestor","ginasta","gincana","gingado","girafa","girino","glacial","glicose","global","glorioso","goela","goiaba","golfe","golpear","gordura","gorjeta","gorro","gostoso","goteira","governar","gracejo","gradual","grafite","gralha","grampo","granada","gratuito","graveto","graxa","grego","grelhar","greve","grilo","grisalho","gritaria","grosso","grotesco","grudado","grunhido","gruta","guache","guarani","guaxinim","guerrear","guiar","guincho","guisado","gula","guloso","guru","habitar","harmonia","haste","haver","hectare","herdar","heresia","hesitar","hiato","hibernar","hidratar","hiena","hino","hipismo","hipnose","hipoteca","hoje","holofote","homem","honesto","honrado","hormonal","hospedar","humorado","iate","ideia","idoso","ignorado","igreja","iguana","ileso","ilha","iludido","iluminar","ilustrar","imagem","imediato","imenso","imersivo","iminente","imitador","imortal","impacto","impedir","implante","impor","imprensa","impune","imunizar","inalador","inapto","inativo","incenso","inchar","incidir","incluir","incolor","indeciso","indireto","indutor","ineficaz","inerente","infantil","infestar","infinito","inflamar","informal","infrator","ingerir","inibido","inicial","inimigo","injetar","inocente","inodoro","inovador","inox","inquieto","inscrito","inseto","insistir","inspetor","instalar","insulto","intacto","integral","intimar","intocado","intriga","invasor","inverno","invicto","invocar","iogurte","iraniano","ironizar","irreal","irritado","isca","isento","isolado","isqueiro","italiano","janeiro","jangada","janta","jararaca","jardim","jarro","jasmim","jato","javali","jazida","jejum","joaninha","joelhada","jogador","joia","jornal","jorrar","jovem","juba","judeu","judoca","juiz","julgador","julho","jurado","jurista","juro","justa","labareda","laboral","lacre","lactante","ladrilho","lagarta","lagoa","laje","lamber","lamentar","laminar","lampejo","lanche","lapidar","lapso","laranja","lareira","largura","lasanha","lastro","lateral","latido","lavanda","lavoura","lavrador","laxante","lazer","lealdade","lebre","legado","legendar","legista","leigo","leiloar","leitura","lembrete","leme","lenhador","lentilha","leoa","lesma","leste","letivo","letreiro","levar","leveza","levitar","liberal","libido","liderar","ligar","ligeiro","limitar","limoeiro","limpador","linda","linear","linhagem","liquidez","listagem","lisura","litoral","livro","lixa","lixeira","locador","locutor","lojista","lombo","lona","longe","lontra","lorde","lotado","loteria","loucura","lousa","louvar","luar","lucidez","lucro","luneta","lustre","lutador","luva","macaco","macete","machado","macio","madeira","madrinha","magnata","magreza","maior","mais","malandro","malha","malote","maluco","mamilo","mamoeiro","mamute","manada","mancha","mandato","manequim","manhoso","manivela","manobrar","mansa","manter","manusear","mapeado","maquinar","marcador","maresia","marfim","margem","marinho","marmita","maroto","marquise","marreco","martelo","marujo","mascote","masmorra","massagem","mastigar","matagal","materno","matinal","matutar","maxilar","medalha","medida","medusa","megafone","meiga","melancia","melhor","membro","memorial","menino","menos","mensagem","mental","merecer","mergulho","mesada","mesclar","mesmo","mesquita","mestre","metade","meteoro","metragem","mexer","mexicano","micro","migalha","migrar","milagre","milenar","milhar","mimado","minerar","minhoca","ministro","minoria","miolo","mirante","mirtilo","misturar","mocidade","moderno","modular","moeda","moer","moinho","moita","moldura","moleza","molho","molinete","molusco","montanha","moqueca","morango","morcego","mordomo","morena","mosaico","mosquete","mostarda","motel","motim","moto","motriz","muda","muito","mulata","mulher","multar","mundial","munido","muralha","murcho","muscular","museu","musical","nacional","nadador","naja","namoro","narina","narrado","nascer","nativa","natureza","navalha","navegar","navio","neblina","nebuloso","negativa","negociar","negrito","nervoso","neta","neural","nevasca","nevoeiro","ninar","ninho","nitidez","nivelar","nobreza","noite","noiva","nomear","nominal","nordeste","nortear","notar","noticiar","noturno","novelo","novilho","novo","nublado","nudez","numeral","nupcial","nutrir","nuvem","obcecado","obedecer","objetivo","obrigado","obscuro","obstetra","obter","obturar","ocidente","ocioso","ocorrer","oculista","ocupado","ofegante","ofensiva","oferenda","oficina","ofuscado","ogiva","olaria","oleoso","olhar","oliveira","ombro","omelete","omisso","omitir","ondulado","oneroso","ontem","opcional","operador","oponente","oportuno","oposto","orar","orbitar","ordem","ordinal","orfanato","orgasmo","orgulho","oriental","origem","oriundo","orla","ortodoxo","orvalho","oscilar","ossada","osso","ostentar","otimismo","ousadia","outono","outubro","ouvido","ovelha","ovular","oxidar","oxigenar","pacato","paciente","pacote","pactuar","padaria","padrinho","pagar","pagode","painel","pairar","paisagem","palavra","palestra","palheta","palito","palmada","palpitar","pancada","panela","panfleto","panqueca","pantanal","papagaio","papelada","papiro","parafina","parcial","pardal","parede","partida","pasmo","passado","pastel","patamar","patente","patinar","patrono","paulada","pausar","peculiar","pedalar","pedestre","pediatra","pedra","pegada","peitoral","peixe","pele","pelicano","penca","pendurar","peneira","penhasco","pensador","pente","perceber","perfeito","pergunta","perito","permitir","perna","perplexo","persiana","pertence","peruca","pescado","pesquisa","pessoa","petiscar","piada","picado","piedade","pigmento","pilastra","pilhado","pilotar","pimenta","pincel","pinguim","pinha","pinote","pintar","pioneiro","pipoca","piquete","piranha","pires","pirueta","piscar","pistola","pitanga","pivete","planta","plaqueta","platina","plebeu","plumagem","pluvial","pneu","poda","poeira","poetisa","polegada","policiar","poluente","polvilho","pomar","pomba","ponderar","pontaria","populoso","porta","possuir","postal","pote","poupar","pouso","povoar","praia","prancha","prato","praxe","prece","predador","prefeito","premiar","prensar","preparar","presilha","pretexto","prevenir","prezar","primata","princesa","prisma","privado","processo","produto","profeta","proibido","projeto","prometer","propagar","prosa","protetor","provador","publicar","pudim","pular","pulmonar","pulseira","punhal","punir","pupilo","pureza","puxador","quadra","quantia","quarto","quase","quebrar","queda","queijo","quente","querido","quimono","quina","quiosque","rabanada","rabisco","rachar","racionar","radial","raiar","rainha","raio","raiva","rajada","ralado","ramal","ranger","ranhura","rapadura","rapel","rapidez","raposa","raquete","raridade","rasante","rascunho","rasgar","raspador","rasteira","rasurar","ratazana","ratoeira","realeza","reanimar","reaver","rebaixar","rebelde","rebolar","recado","recente","recheio","recibo","recordar","recrutar","recuar","rede","redimir","redonda","reduzida","reenvio","refinar","refletir","refogar","refresco","refugiar","regalia","regime","regra","reinado","reitor","rejeitar","relativo","remador","remendo","remorso","renovado","reparo","repelir","repleto","repolho","represa","repudiar","requerer","resenha","resfriar","resgatar","residir","resolver","respeito","ressaca","restante","resumir","retalho","reter","retirar","retomada","retratar","revelar","revisor","revolta","riacho","rica","rigidez","rigoroso","rimar","ringue","risada","risco","risonho","robalo","rochedo","rodada","rodeio","rodovia","roedor","roleta","romano","roncar","rosado","roseira","rosto","rota","roteiro","rotina","rotular","rouco","roupa","roxo","rubro","rugido","rugoso","ruivo","rumo","rupestre","russo","sabor","saciar","sacola","sacudir","sadio","safira","saga","sagrada","saibro","salada","saleiro","salgado","saliva","salpicar","salsicha","saltar","salvador","sambar","samurai","sanar","sanfona","sangue","sanidade","sapato","sarda","sargento","sarjeta","saturar","saudade","saxofone","sazonal","secar","secular","seda","sedento","sediado","sedoso","sedutor","segmento","segredo","segundo","seiva","seleto","selvagem","semanal","semente","senador","senhor","sensual","sentado","separado","sereia","seringa","serra","servo","setembro","setor","sigilo","silhueta","silicone","simetria","simpatia","simular","sinal","sincero","singular","sinopse","sintonia","sirene","siri","situado","soberano","sobra","socorro","sogro","soja","solda","soletrar","solteiro","sombrio","sonata","sondar","sonegar","sonhador","sono","soprano","soquete","sorrir","sorteio","sossego","sotaque","soterrar","sovado","sozinho","suavizar","subida","submerso","subsolo","subtrair","sucata","sucesso","suco","sudeste","sufixo","sugador","sugerir","sujeito","sulfato","sumir","suor","superior","suplicar","suposto","suprimir","surdina","surfista","surpresa","surreal","surtir","suspiro","sustento","tabela","tablete","tabuada","tacho","tagarela","talher","talo","talvez","tamanho","tamborim","tampa","tangente","tanto","tapar","tapioca","tardio","tarefa","tarja","tarraxa","tatuagem","taurino","taxativo","taxista","teatral","tecer","tecido","teclado","tedioso","teia","teimar","telefone","telhado","tempero","tenente","tensor","tentar","termal","terno","terreno","tese","tesoura","testado","teto","textura","texugo","tiara","tigela","tijolo","timbrar","timidez","tingido","tinteiro","tiragem","titular","toalha","tocha","tolerar","tolice","tomada","tomilho","tonel","tontura","topete","tora","torcido","torneio","torque","torrada","torto","tostar","touca","toupeira","toxina","trabalho","tracejar","tradutor","trafegar","trajeto","trama","trancar","trapo","traseiro","tratador","travar","treino","tremer","trepidar","trevo","triagem","tribo","triciclo","tridente","trilogia","trindade","triplo","triturar","triunfal","trocar","trombeta","trova","trunfo","truque","tubular","tucano","tudo","tulipa","tupi","turbo","turma","turquesa","tutelar","tutorial","uivar","umbigo","unha","unidade","uniforme","urologia","urso","urtiga","urubu","usado","usina","usufruir","vacina","vadiar","vagaroso","vaidoso","vala","valente","validade","valores","vantagem","vaqueiro","varanda","vareta","varrer","vascular","vasilha","vassoura","vazar","vazio","veado","vedar","vegetar","veicular","veleiro","velhice","veludo","vencedor","vendaval","venerar","ventre","verbal","verdade","vereador","vergonha","vermelho","verniz","versar","vertente","vespa","vestido","vetorial","viaduto","viagem","viajar","viatura","vibrador","videira","vidraria","viela","viga","vigente","vigiar","vigorar","vilarejo","vinco","vinheta","vinil","violeta","virada","virtude","visitar","visto","vitral","viveiro","vizinho","voador","voar","vogal","volante","voleibol","voltagem","volumoso","vontade","vulto","vuvuzela","xadrez","xarope","xeque","xeretar","xerife","xingar","zangado","zarpar","zebu","zelador","zombar","zoologia","zumbido"]')},80659:function(eb){"use strict";eb.exports=JSON.parse('["ábaco","abdomen","abeja","abierto","abogado","abono","aborto","abrazo","abrir","abuelo","abuso","acabar","academia","acceso","acción","aceite","acelga","acento","aceptar","ácido","aclarar","acné","acoger","acoso","activo","acto","actriz","actuar","acudir","acuerdo","acusar","adicto","admitir","adoptar","adorno","aduana","adulto","aéreo","afectar","afición","afinar","afirmar","ágil","agitar","agonía","agosto","agotar","agregar","agrio","agua","agudo","águila","aguja","ahogo","ahorro","aire","aislar","ajedrez","ajeno","ajuste","alacrán","alambre","alarma","alba","álbum","alcalde","aldea","alegre","alejar","alerta","aleta","alfiler","alga","algodón","aliado","aliento","alivio","alma","almeja","almíbar","altar","alteza","altivo","alto","altura","alumno","alzar","amable","amante","amapola","amargo","amasar","ámbar","ámbito","ameno","amigo","amistad","amor","amparo","amplio","ancho","anciano","ancla","andar","andén","anemia","ángulo","anillo","ánimo","anís","anotar","antena","antiguo","antojo","anual","anular","anuncio","añadir","añejo","año","apagar","aparato","apetito","apio","aplicar","apodo","aporte","apoyo","aprender","aprobar","apuesta","apuro","arado","araña","arar","árbitro","árbol","arbusto","archivo","arco","arder","ardilla","arduo","área","árido","aries","armonía","arnés","aroma","arpa","arpón","arreglo","arroz","arruga","arte","artista","asa","asado","asalto","ascenso","asegurar","aseo","asesor","asiento","asilo","asistir","asno","asombro","áspero","astilla","astro","astuto","asumir","asunto","atajo","ataque","atar","atento","ateo","ático","atleta","átomo","atraer","atroz","atún","audaz","audio","auge","aula","aumento","ausente","autor","aval","avance","avaro","ave","avellana","avena","avestruz","avión","aviso","ayer","ayuda","ayuno","azafrán","azar","azote","azúcar","azufre","azul","baba","babor","bache","bahía","baile","bajar","balanza","balcón","balde","bambú","banco","banda","baño","barba","barco","barniz","barro","báscula","bastón","basura","batalla","batería","batir","batuta","baúl","bazar","bebé","bebida","bello","besar","beso","bestia","bicho","bien","bingo","blanco","bloque","blusa","boa","bobina","bobo","boca","bocina","boda","bodega","boina","bola","bolero","bolsa","bomba","bondad","bonito","bono","bonsái","borde","borrar","bosque","bote","botín","bóveda","bozal","bravo","brazo","brecha","breve","brillo","brinco","brisa","broca","broma","bronce","brote","bruja","brusco","bruto","buceo","bucle","bueno","buey","bufanda","bufón","búho","buitre","bulto","burbuja","burla","burro","buscar","butaca","buzón","caballo","cabeza","cabina","cabra","cacao","cadáver","cadena","caer","café","caída","caimán","caja","cajón","cal","calamar","calcio","caldo","calidad","calle","calma","calor","calvo","cama","cambio","camello","camino","campo","cáncer","candil","canela","canguro","canica","canto","caña","cañón","caoba","caos","capaz","capitán","capote","captar","capucha","cara","carbón","cárcel","careta","carga","cariño","carne","carpeta","carro","carta","casa","casco","casero","caspa","castor","catorce","catre","caudal","causa","cazo","cebolla","ceder","cedro","celda","célebre","celoso","célula","cemento","ceniza","centro","cerca","cerdo","cereza","cero","cerrar","certeza","césped","cetro","chacal","chaleco","champú","chancla","chapa","charla","chico","chiste","chivo","choque","choza","chuleta","chupar","ciclón","ciego","cielo","cien","cierto","cifra","cigarro","cima","cinco","cine","cinta","ciprés","circo","ciruela","cisne","cita","ciudad","clamor","clan","claro","clase","clave","cliente","clima","clínica","cobre","cocción","cochino","cocina","coco","código","codo","cofre","coger","cohete","cojín","cojo","cola","colcha","colegio","colgar","colina","collar","colmo","columna","combate","comer","comida","cómodo","compra","conde","conejo","conga","conocer","consejo","contar","copa","copia","corazón","corbata","corcho","cordón","corona","correr","coser","cosmos","costa","cráneo","cráter","crear","crecer","creído","crema","cría","crimen","cripta","crisis","cromo","crónica","croqueta","crudo","cruz","cuadro","cuarto","cuatro","cubo","cubrir","cuchara","cuello","cuento","cuerda","cuesta","cueva","cuidar","culebra","culpa","culto","cumbre","cumplir","cuna","cuneta","cuota","cupón","cúpula","curar","curioso","curso","curva","cutis","dama","danza","dar","dardo","dátil","deber","débil","década","decir","dedo","defensa","definir","dejar","delfín","delgado","delito","demora","denso","dental","deporte","derecho","derrota","desayuno","deseo","desfile","desnudo","destino","desvío","detalle","detener","deuda","día","diablo","diadema","diamante","diana","diario","dibujo","dictar","diente","dieta","diez","difícil","digno","dilema","diluir","dinero","directo","dirigir","disco","diseño","disfraz","diva","divino","doble","doce","dolor","domingo","don","donar","dorado","dormir","dorso","dos","dosis","dragón","droga","ducha","duda","duelo","dueño","dulce","dúo","duque","durar","dureza","duro","ébano","ebrio","echar","eco","ecuador","edad","edición","edificio","editor","educar","efecto","eficaz","eje","ejemplo","elefante","elegir","elemento","elevar","elipse","élite","elixir","elogio","eludir","embudo","emitir","emoción","empate","empeño","empleo","empresa","enano","encargo","enchufe","encía","enemigo","enero","enfado","enfermo","engaño","enigma","enlace","enorme","enredo","ensayo","enseñar","entero","entrar","envase","envío","época","equipo","erizo","escala","escena","escolar","escribir","escudo","esencia","esfera","esfuerzo","espada","espejo","espía","esposa","espuma","esquí","estar","este","estilo","estufa","etapa","eterno","ética","etnia","evadir","evaluar","evento","evitar","exacto","examen","exceso","excusa","exento","exigir","exilio","existir","éxito","experto","explicar","exponer","extremo","fábrica","fábula","fachada","fácil","factor","faena","faja","falda","fallo","falso","faltar","fama","familia","famoso","faraón","farmacia","farol","farsa","fase","fatiga","fauna","favor","fax","febrero","fecha","feliz","feo","feria","feroz","fértil","fervor","festín","fiable","fianza","fiar","fibra","ficción","ficha","fideo","fiebre","fiel","fiera","fiesta","figura","fijar","fijo","fila","filete","filial","filtro","fin","finca","fingir","finito","firma","flaco","flauta","flecha","flor","flota","fluir","flujo","flúor","fobia","foca","fogata","fogón","folio","folleto","fondo","forma","forro","fortuna","forzar","fosa","foto","fracaso","frágil","franja","frase","fraude","freír","freno","fresa","frío","frito","fruta","fuego","fuente","fuerza","fuga","fumar","función","funda","furgón","furia","fusil","fútbol","futuro","gacela","gafas","gaita","gajo","gala","galería","gallo","gamba","ganar","gancho","ganga","ganso","garaje","garza","gasolina","gastar","gato","gavilán","gemelo","gemir","gen","género","genio","gente","geranio","gerente","germen","gesto","gigante","gimnasio","girar","giro","glaciar","globo","gloria","gol","golfo","goloso","golpe","goma","gordo","gorila","gorra","gota","goteo","gozar","grada","gráfico","grano","grasa","gratis","grave","grieta","grillo","gripe","gris","grito","grosor","grúa","grueso","grumo","grupo","guante","guapo","guardia","guerra","guía","guiño","guion","guiso","guitarra","gusano","gustar","haber","hábil","hablar","hacer","hacha","hada","hallar","hamaca","harina","haz","hazaña","hebilla","hebra","hecho","helado","helio","hembra","herir","hermano","héroe","hervir","hielo","hierro","hígado","higiene","hijo","himno","historia","hocico","hogar","hoguera","hoja","hombre","hongo","honor","honra","hora","hormiga","horno","hostil","hoyo","hueco","huelga","huerta","hueso","huevo","huida","huir","humano","húmedo","humilde","humo","hundir","huracán","hurto","icono","ideal","idioma","ídolo","iglesia","iglú","igual","ilegal","ilusión","imagen","imán","imitar","impar","imperio","imponer","impulso","incapaz","índice","inerte","infiel","informe","ingenio","inicio","inmenso","inmune","innato","insecto","instante","interés","íntimo","intuir","inútil","invierno","ira","iris","ironía","isla","islote","jabalí","jabón","jamón","jarabe","jardín","jarra","jaula","jazmín","jefe","jeringa","jinete","jornada","joroba","joven","joya","juerga","jueves","juez","jugador","jugo","juguete","juicio","junco","jungla","junio","juntar","júpiter","jurar","justo","juvenil","juzgar","kilo","koala","labio","lacio","lacra","lado","ladrón","lagarto","lágrima","laguna","laico","lamer","lámina","lámpara","lana","lancha","langosta","lanza","lápiz","largo","larva","lástima","lata","látex","latir","laurel","lavar","lazo","leal","lección","leche","lector","leer","legión","legumbre","lejano","lengua","lento","leña","león","leopardo","lesión","letal","letra","leve","leyenda","libertad","libro","licor","líder","lidiar","lienzo","liga","ligero","lima","límite","limón","limpio","lince","lindo","línea","lingote","lino","linterna","líquido","liso","lista","litera","litio","litro","llaga","llama","llanto","llave","llegar","llenar","llevar","llorar","llover","lluvia","lobo","loción","loco","locura","lógica","logro","lombriz","lomo","lonja","lote","lucha","lucir","lugar","lujo","luna","lunes","lupa","lustro","luto","luz","maceta","macho","madera","madre","maduro","maestro","mafia","magia","mago","maíz","maldad","maleta","malla","malo","mamá","mambo","mamut","manco","mando","manejar","manga","maniquí","manjar","mano","manso","manta","mañana","mapa","máquina","mar","marco","marea","marfil","margen","marido","mármol","marrón","martes","marzo","masa","máscara","masivo","matar","materia","matiz","matriz","máximo","mayor","mazorca","mecha","medalla","medio","médula","mejilla","mejor","melena","melón","memoria","menor","mensaje","mente","menú","mercado","merengue","mérito","mes","mesón","meta","meter","método","metro","mezcla","miedo","miel","miembro","miga","mil","milagro","militar","millón","mimo","mina","minero","mínimo","minuto","miope","mirar","misa","miseria","misil","mismo","mitad","mito","mochila","moción","moda","modelo","moho","mojar","molde","moler","molino","momento","momia","monarca","moneda","monja","monto","moño","morada","morder","moreno","morir","morro","morsa","mortal","mosca","mostrar","motivo","mover","móvil","mozo","mucho","mudar","mueble","muela","muerte","muestra","mugre","mujer","mula","muleta","multa","mundo","muñeca","mural","muro","músculo","museo","musgo","música","muslo","nácar","nación","nadar","naipe","naranja","nariz","narrar","nasal","natal","nativo","natural","náusea","naval","nave","navidad","necio","néctar","negar","negocio","negro","neón","nervio","neto","neutro","nevar","nevera","nicho","nido","niebla","nieto","niñez","niño","nítido","nivel","nobleza","noche","nómina","noria","norma","norte","nota","noticia","novato","novela","novio","nube","nuca","núcleo","nudillo","nudo","nuera","nueve","nuez","nulo","número","nutria","oasis","obeso","obispo","objeto","obra","obrero","observar","obtener","obvio","oca","ocaso","océano","ochenta","ocho","ocio","ocre","octavo","octubre","oculto","ocupar","ocurrir","odiar","odio","odisea","oeste","ofensa","oferta","oficio","ofrecer","ogro","oído","oír","ojo","ola","oleada","olfato","olivo","olla","olmo","olor","olvido","ombligo","onda","onza","opaco","opción","ópera","opinar","oponer","optar","óptica","opuesto","oración","orador","oral","órbita","orca","orden","oreja","órgano","orgía","orgullo","oriente","origen","orilla","oro","orquesta","oruga","osadía","oscuro","osezno","oso","ostra","otoño","otro","oveja","óvulo","óxido","oxígeno","oyente","ozono","pacto","padre","paella","página","pago","país","pájaro","palabra","palco","paleta","pálido","palma","paloma","palpar","pan","panal","pánico","pantera","pañuelo","papá","papel","papilla","paquete","parar","parcela","pared","parir","paro","párpado","parque","párrafo","parte","pasar","paseo","pasión","paso","pasta","pata","patio","patria","pausa","pauta","pavo","payaso","peatón","pecado","pecera","pecho","pedal","pedir","pegar","peine","pelar","peldaño","pelea","peligro","pellejo","pelo","peluca","pena","pensar","peñón","peón","peor","pepino","pequeño","pera","percha","perder","pereza","perfil","perico","perla","permiso","perro","persona","pesa","pesca","pésimo","pestaña","pétalo","petróleo","pez","pezuña","picar","pichón","pie","piedra","pierna","pieza","pijama","pilar","piloto","pimienta","pino","pintor","pinza","piña","piojo","pipa","pirata","pisar","piscina","piso","pista","pitón","pizca","placa","plan","plata","playa","plaza","pleito","pleno","plomo","pluma","plural","pobre","poco","poder","podio","poema","poesía","poeta","polen","policía","pollo","polvo","pomada","pomelo","pomo","pompa","poner","porción","portal","posada","poseer","posible","poste","potencia","potro","pozo","prado","precoz","pregunta","premio","prensa","preso","previo","primo","príncipe","prisión","privar","proa","probar","proceso","producto","proeza","profesor","programa","prole","promesa","pronto","propio","próximo","prueba","público","puchero","pudor","pueblo","puerta","puesto","pulga","pulir","pulmón","pulpo","pulso","puma","punto","puñal","puño","pupa","pupila","puré","quedar","queja","quemar","querer","queso","quieto","química","quince","quitar","rábano","rabia","rabo","ración","radical","raíz","rama","rampa","rancho","rango","rapaz","rápido","rapto","rasgo","raspa","rato","rayo","raza","razón","reacción","realidad","rebaño","rebote","recaer","receta","rechazo","recoger","recreo","recto","recurso","red","redondo","reducir","reflejo","reforma","refrán","refugio","regalo","regir","regla","regreso","rehén","reino","reír","reja","relato","relevo","relieve","relleno","reloj","remar","remedio","remo","rencor","rendir","renta","reparto","repetir","reposo","reptil","res","rescate","resina","respeto","resto","resumen","retiro","retorno","retrato","reunir","revés","revista","rey","rezar","rico","riego","rienda","riesgo","rifa","rígido","rigor","rincón","riñón","río","riqueza","risa","ritmo","rito","rizo","roble","roce","rociar","rodar","rodeo","rodilla","roer","rojizo","rojo","romero","romper","ron","ronco","ronda","ropa","ropero","rosa","rosca","rostro","rotar","rubí","rubor","rudo","rueda","rugir","ruido","ruina","ruleta","rulo","rumbo","rumor","ruptura","ruta","rutina","sábado","saber","sabio","sable","sacar","sagaz","sagrado","sala","saldo","salero","salir","salmón","salón","salsa","salto","salud","salvar","samba","sanción","sandía","sanear","sangre","sanidad","sano","santo","sapo","saque","sardina","sartén","sastre","satán","sauna","saxofón","sección","seco","secreto","secta","sed","seguir","seis","sello","selva","semana","semilla","senda","sensor","señal","señor","separar","sepia","sequía","ser","serie","sermón","servir","sesenta","sesión","seta","setenta","severo","sexo","sexto","sidra","siesta","siete","siglo","signo","sílaba","silbar","silencio","silla","símbolo","simio","sirena","sistema","sitio","situar","sobre","socio","sodio","sol","solapa","soldado","soledad","sólido","soltar","solución","sombra","sondeo","sonido","sonoro","sonrisa","sopa","soplar","soporte","sordo","sorpresa","sorteo","sostén","sótano","suave","subir","suceso","sudor","suegra","suelo","sueño","suerte","sufrir","sujeto","sultán","sumar","superar","suplir","suponer","supremo","sur","surco","sureño","surgir","susto","sutil","tabaco","tabique","tabla","tabú","taco","tacto","tajo","talar","talco","talento","talla","talón","tamaño","tambor","tango","tanque","tapa","tapete","tapia","tapón","taquilla","tarde","tarea","tarifa","tarjeta","tarot","tarro","tarta","tatuaje","tauro","taza","tazón","teatro","techo","tecla","técnica","tejado","tejer","tejido","tela","teléfono","tema","temor","templo","tenaz","tender","tener","tenis","tenso","teoría","terapia","terco","término","ternura","terror","tesis","tesoro","testigo","tetera","texto","tez","tibio","tiburón","tiempo","tienda","tierra","tieso","tigre","tijera","tilde","timbre","tímido","timo","tinta","tío","típico","tipo","tira","tirón","titán","títere","título","tiza","toalla","tobillo","tocar","tocino","todo","toga","toldo","tomar","tono","tonto","topar","tope","toque","tórax","torero","tormenta","torneo","toro","torpedo","torre","torso","tortuga","tos","tosco","toser","tóxico","trabajo","tractor","traer","tráfico","trago","traje","tramo","trance","trato","trauma","trazar","trébol","tregua","treinta","tren","trepar","tres","tribu","trigo","tripa","triste","triunfo","trofeo","trompa","tronco","tropa","trote","trozo","truco","trueno","trufa","tubería","tubo","tuerto","tumba","tumor","túnel","túnica","turbina","turismo","turno","tutor","ubicar","úlcera","umbral","unidad","unir","universo","uno","untar","uña","urbano","urbe","urgente","urna","usar","usuario","útil","utopía","uva","vaca","vacío","vacuna","vagar","vago","vaina","vajilla","vale","válido","valle","valor","válvula","vampiro","vara","variar","varón","vaso","vecino","vector","vehículo","veinte","vejez","vela","velero","veloz","vena","vencer","venda","veneno","vengar","venir","venta","venus","ver","verano","verbo","verde","vereda","verja","verso","verter","vía","viaje","vibrar","vicio","víctima","vida","vídeo","vidrio","viejo","viernes","vigor","vil","villa","vinagre","vino","viñedo","violín","viral","virgo","virtud","visor","víspera","vista","vitamina","viudo","vivaz","vivero","vivir","vivo","volcán","volumen","volver","voraz","votar","voto","voz","vuelo","vulgar","yacer","yate","yegua","yema","yerno","yeso","yodo","yoga","yogur","zafiro","zanja","zapato","zarza","zona","zorro","zumo","zurdo"]')},18597:function(eb){"use strict";eb.exports={i8:"6.5.4"}}},function(eb){var em=function(em){return eb(eb.s=em)};eb.O(0,[774,179],function(){return em(6840),em(96885)}),_N_E=eb.O()}]); \ No newline at end of file +`,um=function(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_};let uy=class extends nk{constructor(){super(...arguments),this.text=""}render(){return tR`${this.template()}`}template(){return this.text?tR`${this.text}`:null}};uy.styles=[nP,ub],um([nZ()],uy.prototype,"text",void 0),uy=um([nU("wui-separator")],uy);let uz={interpolate(eb,em,ew){if(2!==eb.length||2!==em.length)throw Error("inputRange and outputRange must be an array of length 2");let eM=eb[0]||0,eC=eb[1]||0,eT=em[0]||0,e_=em[1]||0;return eweC?e_:(e_-eT)/(eC-eM)*(ew-eM)+eT}},uw=3,uM=["receive","deposit","borrow","claim"],uC=["withdraw","repay","burn"],ux={getMonthName(eb){let em=new Date;return em.setMonth(eb),em.toLocaleString("en-US",{month:"long"})},getTransactionGroupTitle(eb,em){let ew=nA.Em.getYear(),eM=this.getMonthName(em),eC=eb===ew,eT=eC?eM:`${eM} ${eb}`;return eT},getTransactionImages(eb){let[em,ew]=eb,eM=!!em&&eb?.every(eb=>!!eb.nft_info),eC=eb?.length>1,eT=eb?.length===2;return eT&&!eM?[this.getTransactionImage(em),this.getTransactionImage(ew)]:eC?eb.map(eb=>this.getTransactionImage(eb)):[this.getTransactionImage(em)]},getTransactionImage:eb=>({type:ux.getTransactionTransferTokenType(eb),url:ux.getTransactionImageURL(eb)}),getTransactionImageURL(eb){let em;let ew=!!eb?.nft_info,eM=!!eb?.fungible_info;return eb&&ew?em=eb?.nft_info?.content?.preview?.url:eb&&eM&&(em=eb?.fungible_info?.icon?.url),em},getTransactionTransferTokenType:eb=>eb?.fungible_info?"FUNGIBLE":eb?.nft_info?"NFT":void 0,getTransactionDescriptions(eb){let em=eb?.metadata?.operationType,ew=eb?.transfers,eM=eb?.transfers?.length>0,eC=eb?.transfers?.length>1,eT=eM&&ew?.every(eb=>!!eb?.fungible_info),[e_,eE]=ew,eS=this.getTransferDescription(e_),eA=this.getTransferDescription(eE);if(!eM){let ew="send"===em||"receive"===em;return ew&&eT?[eS=cN.getTruncateString({string:eb?.metadata.sentFrom,charsStart:4,charsEnd:6,truncate:"middle"}),eA=cN.getTruncateString({string:eb?.metadata.sentTo,charsStart:4,charsEnd:6,truncate:"middle"})]:[eb.metadata.status]}if(eC)return ew.map(eb=>this.getTransferDescription(eb));let eN="";return uM.includes(em)?eN="+":uC.includes(em)&&(eN="-"),[eS=eN.concat(eS)]},getTransferDescription(eb){let em="";return eb&&(eb?.nft_info?em=eb?.nft_info?.name||"-":eb?.fungible_info&&(em=this.getFungibleTransferDescription(eb)||"-")),em},getFungibleTransferDescription(eb){if(!eb)return null;let em=this.getQuantityFixedValue(eb?.quantity.numeric),ew=[em,eb?.fungible_info?.symbol].join(" ").trim();return ew},getQuantityFixedValue(eb){if(!eb)return null;let em=parseFloat(eb);return em.toFixed(uw)}}},23781:function(eb,em,ew){"use strict";ew.d(em,{$D:function(){return nE},y_:function(){return eC}}),ew(74146),ew(34155).env.NEXT_PUBLIC_SECURE_SITE_SDK_URL;let eM={APP_EVENT_KEY:"@w3m-app/",FRAME_EVENT_KEY:"@w3m-frame/",RPC_METHOD_KEY:"RPC_",STORAGE_KEY:"@w3m-storage/",SESSION_TOKEN_KEY:"SESSION_TOKEN_KEY",EMAIL_LOGIN_USED_KEY:"EMAIL_LOGIN_USED_KEY",LAST_USED_CHAIN_KEY:"LAST_USED_CHAIN_KEY",LAST_EMAIL_LOGIN_TIME:"LAST_EMAIL_LOGIN_TIME",EMAIL:"EMAIL",PREFERRED_ACCOUNT_TYPE:"PREFERRED_ACCOUNT_TYPE",SMART_ACCOUNT_ENABLED:"SMART_ACCOUNT_ENABLED",SMART_ACCOUNT_ENABLED_NETWORKS:"SMART_ACCOUNT_ENABLED_NETWORKS",APP_SWITCH_NETWORK:"@w3m-app/SWITCH_NETWORK",APP_CONNECT_EMAIL:"@w3m-app/CONNECT_EMAIL",APP_CONNECT_DEVICE:"@w3m-app/CONNECT_DEVICE",APP_CONNECT_OTP:"@w3m-app/CONNECT_OTP",APP_CONNECT_SOCIAL:"@w3m-app/CONNECT_SOCIAL",APP_GET_SOCIAL_REDIRECT_URI:"@w3m-app/GET_SOCIAL_REDIRECT_URI",APP_GET_USER:"@w3m-app/GET_USER",APP_SIGN_OUT:"@w3m-app/SIGN_OUT",APP_IS_CONNECTED:"@w3m-app/IS_CONNECTED",APP_GET_CHAIN_ID:"@w3m-app/GET_CHAIN_ID",APP_RPC_REQUEST:"@w3m-app/RPC_REQUEST",APP_UPDATE_EMAIL:"@w3m-app/UPDATE_EMAIL",APP_UPDATE_EMAIL_PRIMARY_OTP:"@w3m-app/UPDATE_EMAIL_PRIMARY_OTP",APP_UPDATE_EMAIL_SECONDARY_OTP:"@w3m-app/UPDATE_EMAIL_SECONDARY_OTP",APP_AWAIT_UPDATE_EMAIL:"@w3m-app/AWAIT_UPDATE_EMAIL",APP_SYNC_THEME:"@w3m-app/SYNC_THEME",APP_SYNC_DAPP_DATA:"@w3m-app/SYNC_DAPP_DATA",APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS:"@w3m-app/GET_SMART_ACCOUNT_ENABLED_NETWORKS",APP_INIT_SMART_ACCOUNT:"@w3m-app/INIT_SMART_ACCOUNT",APP_SET_PREFERRED_ACCOUNT:"@w3m-app/SET_PREFERRED_ACCOUNT",FRAME_SWITCH_NETWORK_ERROR:"@w3m-frame/SWITCH_NETWORK_ERROR",FRAME_SWITCH_NETWORK_SUCCESS:"@w3m-frame/SWITCH_NETWORK_SUCCESS",FRAME_CONNECT_EMAIL_ERROR:"@w3m-frame/CONNECT_EMAIL_ERROR",FRAME_CONNECT_EMAIL_SUCCESS:"@w3m-frame/CONNECT_EMAIL_SUCCESS",FRAME_CONNECT_DEVICE_ERROR:"@w3m-frame/CONNECT_DEVICE_ERROR",FRAME_CONNECT_DEVICE_SUCCESS:"@w3m-frame/CONNECT_DEVICE_SUCCESS",FRAME_CONNECT_OTP_SUCCESS:"@w3m-frame/CONNECT_OTP_SUCCESS",FRAME_CONNECT_OTP_ERROR:"@w3m-frame/CONNECT_OTP_ERROR",FRAME_CONNECT_SOCIAL_SUCCESS:"@w3m-frame/CONNECT_SOCIAL_SUCCESS",FRAME_CONNECT_SOCIAL_ERROR:"@w3m-frame/CONNECT_SOCIAL_ERROR",FRAME_GET_SOCIAL_REDIRECT_URI_SUCCESS:"@w3m-frame/GET_SOCIAL_REDIRECT_URI_SUCCESS",FRAME_GET_SOCIAL_REDIRECT_URI_ERROR:"@w3m-frame/GET_SOCIAL_REDIRECT_URI_ERROR",FRAME_GET_USER_SUCCESS:"@w3m-frame/GET_USER_SUCCESS",FRAME_GET_USER_ERROR:"@w3m-frame/GET_USER_ERROR",FRAME_SIGN_OUT_SUCCESS:"@w3m-frame/SIGN_OUT_SUCCESS",FRAME_SIGN_OUT_ERROR:"@w3m-frame/SIGN_OUT_ERROR",FRAME_IS_CONNECTED_SUCCESS:"@w3m-frame/IS_CONNECTED_SUCCESS",FRAME_IS_CONNECTED_ERROR:"@w3m-frame/IS_CONNECTED_ERROR",FRAME_GET_CHAIN_ID_SUCCESS:"@w3m-frame/GET_CHAIN_ID_SUCCESS",FRAME_GET_CHAIN_ID_ERROR:"@w3m-frame/GET_CHAIN_ID_ERROR",FRAME_RPC_REQUEST_SUCCESS:"@w3m-frame/RPC_REQUEST_SUCCESS",FRAME_RPC_REQUEST_ERROR:"@w3m-frame/RPC_REQUEST_ERROR",FRAME_SESSION_UPDATE:"@w3m-frame/SESSION_UPDATE",FRAME_UPDATE_EMAIL_SUCCESS:"@w3m-frame/UPDATE_EMAIL_SUCCESS",FRAME_UPDATE_EMAIL_ERROR:"@w3m-frame/UPDATE_EMAIL_ERROR",FRAME_UPDATE_EMAIL_PRIMARY_OTP_SUCCESS:"@w3m-frame/UPDATE_EMAIL_PRIMARY_OTP_SUCCESS",FRAME_UPDATE_EMAIL_PRIMARY_OTP_ERROR:"@w3m-frame/UPDATE_EMAIL_PRIMARY_OTP_ERROR",FRAME_UPDATE_EMAIL_SECONDARY_OTP_SUCCESS:"@w3m-frame/UPDATE_EMAIL_SECONDARY_OTP_SUCCESS",FRAME_UPDATE_EMAIL_SECONDARY_OTP_ERROR:"@w3m-frame/UPDATE_EMAIL_SECONDARY_OTP_ERROR",FRAME_SYNC_THEME_SUCCESS:"@w3m-frame/SYNC_THEME_SUCCESS",FRAME_SYNC_THEME_ERROR:"@w3m-frame/SYNC_THEME_ERROR",FRAME_SYNC_DAPP_DATA_SUCCESS:"@w3m-frame/SYNC_DAPP_DATA_SUCCESS",FRAME_SYNC_DAPP_DATA_ERROR:"@w3m-frame/SYNC_DAPP_DATA_ERROR",FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS:"@w3m-frame/GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS",FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR:"@w3m-frame/GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR",FRAME_INIT_SMART_ACCOUNT_SUCCESS:"@w3m-frame/INIT_SMART_ACCOUNT_SUCCESS",FRAME_INIT_SMART_ACCOUNT_ERROR:"@w3m-frame/INIT_SMART_ACCOUNT_ERROR",FRAME_SET_PREFERRED_ACCOUNT_SUCCESS:"@w3m-frame/SET_PREFERRED_ACCOUNT_SUCCESS",FRAME_SET_PREFERRED_ACCOUNT_ERROR:"@w3m-frame/SET_PREFERRED_ACCOUNT_ERROR",RPC_RESPONSE_TYPE_ERROR:"RPC_RESPONSE_ERROR",RPC_RESPONSE_TYPE_TX:"RPC_RESPONSE_TRANSACTION_HASH",RPC_RESPONSE_TYPE_OBJECT:"RPC_RESPONSE_OBJECT"},eC={SAFE_RPC_METHODS:["eth_accounts","eth_blockNumber","eth_call","eth_chainId","eth_estimateGas","eth_feeHistory","eth_gasPrice","eth_getAccount","eth_getBalance","eth_getBlockByHash","eth_getBlockByNumber","eth_getBlockReceipts","eth_getBlockTransactionCountByHash","eth_getBlockTransactionCountByNumber","eth_getCode","eth_getFilterChanges","eth_getFilterLogs","eth_getLogs","eth_getProof","eth_getStorageAt","eth_getTransactionByBlockHashAndIndex","eth_getTransactionByBlockNumberAndIndex","eth_getTransactionByHash","eth_getTransactionCount","eth_getTransactionReceipt","eth_getUncleCountByBlockHash","eth_getUncleCountByBlockNumber","eth_maxPriorityFeePerGas","eth_newBlockFilter","eth_newFilter","eth_newPendingTransactionFilter","eth_sendRawTransaction","eth_syncing","eth_uninstallFilter"],NOT_SAFE_RPC_METHODS:["personal_sign","eth_signTypedData_v4","eth_sendTransaction"],GET_CHAIN_ID:"eth_chainId",RPC_METHOD_NOT_ALLOWED_MESSAGE:"Requested RPC call is not allowed",RPC_METHOD_NOT_ALLOWED_UI_MESSAGE:"Action not allowed",ACCOUNT_TYPES:{EOA:"eoa",SMART_ACCOUNT:"smartAccount"}};var eT=ew(1604);let e_=eT.z.object({message:eT.z.string()});function eE(eb){return eT.z.literal(eM[eb])}eT.z.object({accessList:eT.z.array(eT.z.string()),blockHash:eT.z.string().nullable(),blockNumber:eT.z.string().nullable(),chainId:eT.z.string(),from:eT.z.string(),gas:eT.z.string(),hash:eT.z.string(),input:eT.z.string().nullable(),maxFeePerGas:eT.z.string(),maxPriorityFeePerGas:eT.z.string(),nonce:eT.z.string(),r:eT.z.string(),s:eT.z.string(),to:eT.z.string(),transactionIndex:eT.z.string().nullable(),type:eT.z.string(),v:eT.z.string(),value:eT.z.string()});let eS=eT.z.object({chainId:eT.z.number()}),eA=eT.z.object({email:eT.z.string().email()}),eN=eT.z.object({otp:eT.z.string()}),eI=eT.z.object({uri:eT.z.string()}),eD=eT.z.object({chainId:eT.z.optional(eT.z.number()),preferredAccountType:eT.z.optional(eT.z.string())}),eO=eT.z.object({provider:eT.z.enum(["google","github","apple","facebook","x","discord"])}),eP=eT.z.object({email:eT.z.string().email()}),eR=eT.z.object({otp:eT.z.string()}),eB=eT.z.object({otp:eT.z.string()}),eF=eT.z.object({themeMode:eT.z.optional(eT.z.enum(["light","dark"])),themeVariables:eT.z.optional(eT.z.record(eT.z.string(),eT.z.string().or(eT.z.number()))),w3mThemeVariables:eT.z.record(eT.z.string(),eT.z.string())}),ej=eT.z.object({metadata:eT.z.object({name:eT.z.string(),description:eT.z.string(),url:eT.z.string(),icons:eT.z.array(eT.z.string())}).optional(),sdkVersion:eT.z.string(),projectId:eT.z.string()}),eU=eT.z.object({type:eT.z.string()}),eV=eT.z.object({action:eT.z.enum(["VERIFY_DEVICE","VERIFY_OTP"])}),eH=eT.z.object({email:eT.z.string(),address:eT.z.string(),chainId:eT.z.number()}),e$=eT.z.object({action:eT.z.enum(["VERIFY_PRIMARY_OTP","VERIFY_SECONDARY_OTP"])}),eW=eT.z.object({email:eT.z.string().email(),address:eT.z.string(),chainId:eT.z.number(),smartAccountDeployed:eT.z.optional(eT.z.boolean()),preferredAccountType:eT.z.optional(eT.z.string())}),eZ=eT.z.object({uri:eT.z.string()}),eK=eT.z.object({isConnected:eT.z.boolean()}),eG=eT.z.object({chainId:eT.z.number()}),eY=eT.z.object({chainId:eT.z.number()}),eJ=eT.z.object({newEmail:eT.z.string().email()}),eX=eT.z.object({smartAccountEnabledNetworks:eT.z.array(eT.z.number())});eT.z.object({address:eT.z.string(),isDeployed:eT.z.boolean()});let eQ=eT.z.object({type:eT.z.string(),address:eT.z.string()}),e0=eT.z.any(),e6=eT.z.object({method:eT.z.literal("eth_accounts")}),e4=eT.z.object({method:eT.z.literal("eth_blockNumber")}),e3=eT.z.object({method:eT.z.literal("eth_call"),params:eT.z.array(eT.z.any())}),e5=eT.z.object({method:eT.z.literal("eth_chainId")}),e8=eT.z.object({method:eT.z.literal("eth_estimateGas"),params:eT.z.array(eT.z.any())}),e9=eT.z.object({method:eT.z.literal("eth_feeHistory"),params:eT.z.array(eT.z.any())}),e7=eT.z.object({method:eT.z.literal("eth_gasPrice")}),tw=eT.z.object({method:eT.z.literal("eth_getAccount"),params:eT.z.array(eT.z.any())}),tC=eT.z.object({method:eT.z.literal("eth_getBalance"),params:eT.z.array(eT.z.any())}),tT=eT.z.object({method:eT.z.literal("eth_getBlockByHash"),params:eT.z.array(eT.z.any())}),t_=eT.z.object({method:eT.z.literal("eth_getBlockByNumber"),params:eT.z.array(eT.z.any())}),tE=eT.z.object({method:eT.z.literal("eth_getBlockReceipts"),params:eT.z.array(eT.z.any())}),tS=eT.z.object({method:eT.z.literal("eth_getBlockTransactionCountByHash"),params:eT.z.array(eT.z.any())}),tA=eT.z.object({method:eT.z.literal("eth_getBlockTransactionCountByNumber"),params:eT.z.array(eT.z.any())}),tN=eT.z.object({method:eT.z.literal("eth_getCode"),params:eT.z.array(eT.z.any())}),tI=eT.z.object({method:eT.z.literal("eth_getFilterChanges"),params:eT.z.array(eT.z.any())}),tD=eT.z.object({method:eT.z.literal("eth_getFilterLogs"),params:eT.z.array(eT.z.any())}),tO=eT.z.object({method:eT.z.literal("eth_getLogs"),params:eT.z.array(eT.z.any())}),tP=eT.z.object({method:eT.z.literal("eth_getProof"),params:eT.z.array(eT.z.any())}),tR=eT.z.object({method:eT.z.literal("eth_getStorageAt"),params:eT.z.array(eT.z.any())}),tB=eT.z.object({method:eT.z.literal("eth_getTransactionByBlockHashAndIndex"),params:eT.z.array(eT.z.any())}),tF=eT.z.object({method:eT.z.literal("eth_getTransactionByBlockNumberAndIndex"),params:eT.z.array(eT.z.any())}),tj=eT.z.object({method:eT.z.literal("eth_getTransactionByHash"),params:eT.z.array(eT.z.any())}),tU=eT.z.object({method:eT.z.literal("eth_getTransactionCount"),params:eT.z.array(eT.z.any())}),tV=eT.z.object({method:eT.z.literal("eth_getTransactionReceipt"),params:eT.z.array(eT.z.any())}),tH=eT.z.object({method:eT.z.literal("eth_getUncleCountByBlockHash"),params:eT.z.array(eT.z.any())}),t$=eT.z.object({method:eT.z.literal("eth_getUncleCountByBlockNumber"),params:eT.z.array(eT.z.any())}),tq=eT.z.object({method:eT.z.literal("eth_maxPriorityFeePerGas")}),tW=eT.z.object({method:eT.z.literal("eth_newBlockFilter")}),tZ=eT.z.object({method:eT.z.literal("eth_newFilter"),params:eT.z.array(eT.z.any())}),tK=eT.z.object({method:eT.z.literal("eth_newPendingTransactionFilter")}),tG=eT.z.object({method:eT.z.literal("eth_sendRawTransaction"),params:eT.z.array(eT.z.any())}),tY=eT.z.object({method:eT.z.literal("eth_syncing"),params:eT.z.array(eT.z.any())}),tJ=eT.z.object({method:eT.z.literal("eth_uninstallFilter"),params:eT.z.array(eT.z.any())}),tX=eT.z.object({method:eT.z.literal("personal_sign"),params:eT.z.array(eT.z.any())}),tQ=eT.z.object({method:eT.z.literal("eth_signTypedData_v4"),params:eT.z.array(eT.z.any())}),nw=eT.z.object({method:eT.z.literal("eth_sendTransaction"),params:eT.z.array(eT.z.any())}),nM=eT.z.object({token:eT.z.string()});eT.z.object({type:eE("APP_SWITCH_NETWORK"),payload:eS}).or(eT.z.object({type:eE("APP_CONNECT_EMAIL"),payload:eA})).or(eT.z.object({type:eE("APP_CONNECT_DEVICE")})).or(eT.z.object({type:eE("APP_CONNECT_OTP"),payload:eN})).or(eT.z.object({type:eE("APP_CONNECT_SOCIAL"),payload:eI})).or(eT.z.object({type:eE("APP_GET_USER"),payload:eT.z.optional(eD)})).or(eT.z.object({type:eE("APP_GET_SOCIAL_REDIRECT_URI"),payload:eO})).or(eT.z.object({type:eE("APP_SIGN_OUT")})).or(eT.z.object({type:eE("APP_IS_CONNECTED"),payload:eT.z.optional(nM)})).or(eT.z.object({type:eE("APP_GET_CHAIN_ID")})).or(eT.z.object({type:eE("APP_GET_SMART_ACCOUNT_ENABLED_NETWORKS")})).or(eT.z.object({type:eE("APP_INIT_SMART_ACCOUNT")})).or(eT.z.object({type:eE("APP_SET_PREFERRED_ACCOUNT"),payload:eU})).or(eT.z.object({type:eE("APP_RPC_REQUEST"),payload:tX.or(nw).or(e6).or(e4).or(e3).or(e5).or(e8).or(e9).or(e7).or(tw).or(tC).or(tT).or(t_).or(tE).or(tS).or(tA).or(tN).or(tI).or(tD).or(tO).or(tP).or(tR).or(tB).or(tF).or(tj).or(tU).or(tV).or(tH).or(t$).or(tq).or(tW).or(tZ).or(tK).or(tG).or(tY).or(tJ).or(tX).or(tQ).or(nw)})).or(eT.z.object({type:eE("APP_UPDATE_EMAIL"),payload:eP})).or(eT.z.object({type:eE("APP_UPDATE_EMAIL_PRIMARY_OTP"),payload:eR})).or(eT.z.object({type:eE("APP_UPDATE_EMAIL_SECONDARY_OTP"),payload:eB})).or(eT.z.object({type:eE("APP_SYNC_THEME"),payload:eF})).or(eT.z.object({type:eE("APP_SYNC_DAPP_DATA"),payload:ej})),eT.z.object({type:eE("FRAME_SWITCH_NETWORK_ERROR"),payload:e_}).or(eT.z.object({type:eE("FRAME_SWITCH_NETWORK_SUCCESS"),payload:eY})).or(eT.z.object({type:eE("FRAME_CONNECT_EMAIL_ERROR"),payload:e_})).or(eT.z.object({type:eE("FRAME_CONNECT_EMAIL_SUCCESS"),payload:eV})).or(eT.z.object({type:eE("FRAME_CONNECT_OTP_ERROR"),payload:e_})).or(eT.z.object({type:eE("FRAME_CONNECT_OTP_SUCCESS")})).or(eT.z.object({type:eE("FRAME_CONNECT_DEVICE_ERROR"),payload:e_})).or(eT.z.object({type:eE("FRAME_CONNECT_DEVICE_SUCCESS")})).or(eT.z.object({type:eE("FRAME_CONNECT_SOCIAL_SUCCESS"),payload:eH})).or(eT.z.object({type:eE("FRAME_CONNECT_SOCIAL_ERROR"),payload:e_})).or(eT.z.object({type:eE("FRAME_GET_USER_ERROR"),payload:e_})).or(eT.z.object({type:eE("FRAME_GET_USER_SUCCESS"),payload:eW})).or(eT.z.object({type:eE("FRAME_GET_SOCIAL_REDIRECT_URI_ERROR"),payload:e_})).or(eT.z.object({type:eE("FRAME_GET_SOCIAL_REDIRECT_URI_SUCCESS"),payload:eZ})).or(eT.z.object({type:eE("FRAME_SIGN_OUT_ERROR"),payload:e_})).or(eT.z.object({type:eE("FRAME_SIGN_OUT_SUCCESS")})).or(eT.z.object({type:eE("FRAME_IS_CONNECTED_ERROR"),payload:e_})).or(eT.z.object({type:eE("FRAME_IS_CONNECTED_SUCCESS"),payload:eK})).or(eT.z.object({type:eE("FRAME_GET_CHAIN_ID_ERROR"),payload:e_})).or(eT.z.object({type:eE("FRAME_GET_CHAIN_ID_SUCCESS"),payload:eG})).or(eT.z.object({type:eE("FRAME_RPC_REQUEST_ERROR"),payload:e_})).or(eT.z.object({type:eE("FRAME_RPC_REQUEST_SUCCESS"),payload:e0})).or(eT.z.object({type:eE("FRAME_SESSION_UPDATE"),payload:nM})).or(eT.z.object({type:eE("FRAME_UPDATE_EMAIL_ERROR"),payload:e_})).or(eT.z.object({type:eE("FRAME_UPDATE_EMAIL_SUCCESS"),payload:e$})).or(eT.z.object({type:eE("FRAME_UPDATE_EMAIL_PRIMARY_OTP_ERROR"),payload:e_})).or(eT.z.object({type:eE("FRAME_UPDATE_EMAIL_PRIMARY_OTP_SUCCESS")})).or(eT.z.object({type:eE("FRAME_UPDATE_EMAIL_SECONDARY_OTP_ERROR"),payload:e_})).or(eT.z.object({type:eE("FRAME_UPDATE_EMAIL_SECONDARY_OTP_SUCCESS"),payload:eJ})).or(eT.z.object({type:eE("FRAME_SYNC_THEME_ERROR"),payload:e_})).or(eT.z.object({type:eE("FRAME_SYNC_THEME_SUCCESS")})).or(eT.z.object({type:eE("FRAME_SYNC_DAPP_DATA_ERROR"),payload:e_})).or(eT.z.object({type:eE("FRAME_SYNC_DAPP_DATA_SUCCESS")})).or(eT.z.object({type:eE("FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_SUCCESS"),payload:eX})).or(eT.z.object({type:eE("FRAME_GET_SMART_ACCOUNT_ENABLED_NETWORKS_ERROR"),payload:e_})).or(eT.z.object({type:eE("FRAME_INIT_SMART_ACCOUNT_ERROR"),payload:e_})).or(eT.z.object({type:eE("FRAME_SET_PREFERRED_ACCOUNT_SUCCESS"),payload:eQ})).or(eT.z.object({type:eE("FRAME_SET_PREFERRED_ACCOUNT_ERROR"),payload:e_}));let nC={set(eb,em){nE.isClient&&localStorage.setItem(`${eM.STORAGE_KEY}${eb}`,em)},get:eb=>nE.isClient?localStorage.getItem(`${eM.STORAGE_KEY}${eb}`):null,delete(eb){nE.isClient&&localStorage.removeItem(`${eM.STORAGE_KEY}${eb}`)}},nk={address:/^0x(?:[A-Fa-f0-9]{40})$/u,transactionHash:/^0x(?:[A-Fa-f0-9]{64})$/u,signedMessage:/^0x(?:[a-fA-F0-9]{62,})$/u},nT=["ASIA/SHANGHAI","ASIA/URUMQI","ASIA/CHONGQING","ASIA/HARBIN","ASIA/KASHGAR","ASIA/MACAU","ASIA/HONG_KONG","ASIA/MACAO","ASIA/BEIJING","ASIA/HARBIN"],n_=3e4,nE={getBlockchainApiUrl(){try{let{timeZone:eb}=new Intl.DateTimeFormat().resolvedOptions(),em=eb.toUpperCase();return nT.includes(em)?"https://rpc.walletconnect.org":"https://rpc.walletconnect.com"}catch{return!1}},checkIfAllowedToTriggerEmail(){let eb=nC.get(eM.LAST_EMAIL_LOGIN_TIME);if(eb){let em=Date.now()-Number(eb);if(emeb?.payload?.method,getResponseType(eb){let{type:em,payload:ew}=eb,eC=em===eM.FRAME_RPC_REQUEST_ERROR;if(eC)return eM.RPC_RESPONSE_TYPE_ERROR;let eT="string"==typeof ew,e_=eT&&(ew.match(nk.transactionHash)||ew.match(nk.signedMessage));return e_?eM.RPC_RESPONSE_TYPE_TX:eM.RPC_RESPONSE_TYPE_OBJECT},checkIfRequestIsAllowed(eb){let em=this.getRequestMethod(eb);return eC.SAFE_RPC_METHODS.includes(em)},isClient:"undefined"!=typeof window}},90482:function(eb,em,ew){"use strict";ew.d(em,{t:function(){return nX}});/*! + * decimal.js v10.4.3 + * An arbitrary-precision Decimal type for JavaScript. + * https://github.com/MikeMcl/decimal.js + * Copyright (c) 2022 Michael Mclaughlin + * MIT Licence + */var eM,eC,eT=9e15,e_=1e9,eE="0123456789abcdef",eS="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",eA="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",eN={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-9e15,maxE:9e15,crypto:!1},eI=!0,eD="[DecimalError] ",eO=eD+"Invalid argument: ",eP=eD+"Precision limit exceeded",eR=eD+"crypto unavailable",eB="[object Decimal]",eF=Math.floor,ej=Math.pow,eU=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,eV=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,eH=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,e$=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,eW=1e7,eZ=7,eK=9007199254740991,eG=eS.length-1,eY=eA.length-1,eJ={toStringTag:eB};function eX(eb){var em,ew,eM,eC=eb.length-1,eT="",e_=eb[0];if(eC>0){for(eT+=e_,em=1;emew)throw Error(eO+eb)}function e0(eb,em,ew,eM){var eC,eT,e_,eE;for(eT=eb[0];eT>=10;eT/=10)--em;return--em<0?(em+=eZ,eC=0):(eC=Math.ceil((em+1)/eZ),em%=eZ),eT=ej(10,eZ-em),eE=eb[eC]%eT|0,null==eM?em<3?(0==em?eE=eE/100|0:1==em&&(eE=eE/10|0),e_=ew<4&&99999==eE||ew>3&&49999==eE||5e4==eE||0==eE):e_=(ew<4&&eE+1==eT||ew>3&&eE+1==eT/2)&&(eb[eC+1]/eT/100|0)==ej(10,em-2)-1||(eE==eT/2||0==eE)&&(eb[eC+1]/eT/100|0)==0:em<4?(0==em?eE=eE/1e3|0:1==em?eE=eE/100|0:2==em&&(eE=eE/10|0),e_=(eM||ew<4)&&9999==eE||!eM&&ew>3&&4999==eE):e_=((eM||ew<4)&&eE+1==eT||!eM&&ew>3&&eE+1==eT/2)&&(eb[eC+1]/eT/1e3|0)==ej(10,em-3)-1,e_}function e6(eb,em,ew){for(var eM,eC,eT=[0],e_=0,eS=eb.length;e_ew-1&&(void 0===eT[eM+1]&&(eT[eM+1]=0),eT[eM+1]+=eT[eM]/ew|0,eT[eM]%=ew)}return eT.reverse()}function e4(eb,em){var ew,eM,eC;if(em.isZero())return em;(eM=em.d.length)<32?eC=(1/tB(4,ew=Math.ceil(eM/3))).toString():(ew=16,eC="2.3283064365386962890625e-10"),eb.precision+=ew,em=tR(eb,1,em.times(eC),new eb(1));for(var eT=ew;eT--;){var e_=em.times(em);em=e_.times(e_).minus(e_).times(8).plus(1)}return eb.precision-=ew,em}eJ.absoluteValue=eJ.abs=function(){var eb=new this.constructor(this);return eb.s<0&&(eb.s=1),e5(eb)},eJ.ceil=function(){return e5(new this.constructor(this),this.e+1,2)},eJ.clampedTo=eJ.clamp=function(eb,em){var ew=this,eM=ew.constructor;if(eb=new eM(eb),em=new eM(em),!eb.s||!em.s)return new eM(NaN);if(eb.gt(em))throw Error(eO+em);return 0>ew.cmp(eb)?eb:ew.cmp(em)>0?em:new eM(ew)},eJ.comparedTo=eJ.cmp=function(eb){var em,ew,eM,eC,eT=this,e_=eT.d,eE=(eb=new eT.constructor(eb)).d,eS=eT.s,eA=eb.s;if(!e_||!eE)return eS&&eA?eS!==eA?eS:e_===eE?0:!e_^eS<0?1:-1:NaN;if(!e_[0]||!eE[0])return e_[0]?eS:eE[0]?-eA:0;if(eS!==eA)return eS;if(eT.e!==eb.e)return eT.e>eb.e^eS<0?1:-1;for(em=0,ew=(eM=e_.length)<(eC=eE.length)?eM:eC;emeE[em]^eS<0?1:-1;return eM===eC?0:eM>eC^eS<0?1:-1},eJ.cosine=eJ.cos=function(){var eb,em,ew=this,eM=ew.constructor;return ew.d?ew.d[0]?(eb=eM.precision,em=eM.rounding,eM.precision=eb+Math.max(ew.e,ew.sd())+eZ,eM.rounding=1,ew=e4(eM,tF(eM,ew)),eM.precision=eb,eM.rounding=em,e5(2==eC||3==eC?ew.neg():ew,eb,em,!0)):new eM(1):new eM(NaN)},eJ.cubeRoot=eJ.cbrt=function(){var eb,em,ew,eM,eC,eT,e_,eE,eS,eA,eN=this,eD=eN.constructor;if(!eN.isFinite()||eN.isZero())return new eD(eN);for(eI=!1,(eT=eN.s*ej(eN.s*eN,1/3))&&Math.abs(eT)!=1/0?eM=new eD(eT.toString()):(ew=eX(eN.d),(eT=((eb=eN.e)-ew.length+1)%3)&&(ew+=1==eT||-2==eT?"0":"00"),eT=ej(ew,1/3),eb=eF((eb+1)/3)-(eb%3==(eb<0?-1:2)),ew=eT==1/0?"5e"+eb:(ew=eT.toExponential()).slice(0,ew.indexOf("e")+1)+eb,(eM=new eD(ew)).s=eN.s),e_=(eb=eD.precision)+3;;)if(eA=(eS=(eE=eM).times(eE).times(eE)).plus(eN),eM=e3(eA.plus(eN).times(eE),eA.plus(eS),e_+2,1),eX(eE.d).slice(0,e_)===(ew=eX(eM.d)).slice(0,e_)){if("9999"!=(ew=ew.slice(e_-3,e_+1))&&(eC||"4999"!=ew)){+ew&&(+ew.slice(1)||"5"!=ew.charAt(0))||(e5(eM,eb+1,1),em=!eM.times(eM).times(eM).eq(eN));break}if(!eC&&(e5(eE,eb+1,0),eE.times(eE).times(eE).eq(eN))){eM=eE;break}e_+=4,eC=1}return eI=!0,e5(eM,eb,eD.rounding,em)},eJ.decimalPlaces=eJ.dp=function(){var eb,em=this.d,ew=NaN;if(em){if(ew=((eb=em.length-1)-eF(this.e/eZ))*eZ,eb=em[eb])for(;eb%10==0;eb/=10)ew--;ew<0&&(ew=0)}return ew},eJ.dividedBy=eJ.div=function(eb){return e3(this,new this.constructor(eb))},eJ.dividedToIntegerBy=eJ.divToInt=function(eb){var em=this,ew=em.constructor;return e5(e3(em,new ew(eb),0,1,1),ew.precision,ew.rounding)},eJ.equals=eJ.eq=function(eb){return 0===this.cmp(eb)},eJ.floor=function(){return e5(new this.constructor(this),this.e+1,3)},eJ.greaterThan=eJ.gt=function(eb){return this.cmp(eb)>0},eJ.greaterThanOrEqualTo=eJ.gte=function(eb){var em=this.cmp(eb);return 1==em||0===em},eJ.hyperbolicCosine=eJ.cosh=function(){var eb,em,ew,eM,eC,eT=this,e_=eT.constructor,eE=new e_(1);if(!eT.isFinite())return new e_(eT.s?1/0:NaN);if(eT.isZero())return eE;ew=e_.precision,eM=e_.rounding,e_.precision=ew+Math.max(eT.e,eT.sd())+4,e_.rounding=1,(eC=eT.d.length)<32?em=(1/tB(4,eb=Math.ceil(eC/3))).toString():(eb=16,em="2.3283064365386962890625e-10"),eT=tR(e_,1,eT.times(em),new e_(1),!0);for(var eS,eA=eb,eN=new e_(8);eA--;)eS=eT.times(eT),eT=eE.minus(eS.times(eN.minus(eS.times(eN))));return e5(eT,e_.precision=ew,e_.rounding=eM,!0)},eJ.hyperbolicSine=eJ.sinh=function(){var eb,em,ew,eM,eC=this,eT=eC.constructor;if(!eC.isFinite()||eC.isZero())return new eT(eC);if(em=eT.precision,ew=eT.rounding,eT.precision=em+Math.max(eC.e,eC.sd())+4,eT.rounding=1,(eM=eC.d.length)<3)eC=tR(eT,2,eC,eC,!0);else{eb=(eb=1.4*Math.sqrt(eM))>16?16:0|eb,eC=eC.times(1/tB(5,eb)),eC=tR(eT,2,eC,eC,!0);for(var e_,eE=new eT(5),eS=new eT(16),eA=new eT(20);eb--;)e_=eC.times(eC),eC=eC.times(eE.plus(e_.times(eS.times(e_).plus(eA))))}return eT.precision=em,eT.rounding=ew,e5(eC,em,ew,!0)},eJ.hyperbolicTangent=eJ.tanh=function(){var eb,em,ew=this,eM=ew.constructor;return ew.isFinite()?ew.isZero()?new eM(ew):(eb=eM.precision,em=eM.rounding,eM.precision=eb+7,eM.rounding=1,e3(ew.sinh(),ew.cosh(),eM.precision=eb,eM.rounding=em)):new eM(ew.s)},eJ.inverseCosine=eJ.acos=function(){var eb,em=this,ew=em.constructor,eM=em.abs().cmp(1),eC=ew.precision,eT=ew.rounding;return -1!==eM?0===eM?em.isNeg()?tw(ew,eC,eT):new ew(0):new ew(NaN):em.isZero()?tw(ew,eC+4,eT).times(.5):(ew.precision=eC+6,ew.rounding=1,em=em.asin(),eb=tw(ew,eC+4,eT).times(.5),ew.precision=eC,ew.rounding=eT,eb.minus(em))},eJ.inverseHyperbolicCosine=eJ.acosh=function(){var eb,em,ew=this,eM=ew.constructor;return ew.lte(1)?new eM(ew.eq(1)?0:NaN):ew.isFinite()?(eb=eM.precision,em=eM.rounding,eM.precision=eb+Math.max(Math.abs(ew.e),ew.sd())+4,eM.rounding=1,eI=!1,ew=ew.times(ew).minus(1).sqrt().plus(ew),eI=!0,eM.precision=eb,eM.rounding=em,ew.ln()):new eM(ew)},eJ.inverseHyperbolicSine=eJ.asinh=function(){var eb,em,ew=this,eM=ew.constructor;return!ew.isFinite()||ew.isZero()?new eM(ew):(eb=eM.precision,em=eM.rounding,eM.precision=eb+2*Math.max(Math.abs(ew.e),ew.sd())+6,eM.rounding=1,eI=!1,ew=ew.times(ew).plus(1).sqrt().plus(ew),eI=!0,eM.precision=eb,eM.rounding=em,ew.ln())},eJ.inverseHyperbolicTangent=eJ.atanh=function(){var eb,em,ew,eM,eC=this,eT=eC.constructor;return eC.isFinite()?eC.e>=0?new eT(eC.abs().eq(1)?eC.s/0:eC.isZero()?eC:NaN):(eb=eT.precision,em=eT.rounding,Math.max(eM=eC.sd(),eb)<-(2*eC.e)-1)?e5(new eT(eC),eb,em,!0):(eT.precision=ew=eM-eC.e,eC=e3(eC.plus(1),new eT(1).minus(eC),ew+eb,1),eT.precision=eb+4,eT.rounding=1,eC=eC.ln(),eT.precision=eb,eT.rounding=em,eC.times(.5)):new eT(NaN)},eJ.inverseSine=eJ.asin=function(){var eb,em,ew,eM,eC=this,eT=eC.constructor;return eC.isZero()?new eT(eC):(em=eC.abs().cmp(1),ew=eT.precision,eM=eT.rounding,-1!==em)?0===em?((eb=tw(eT,ew+4,eM).times(.5)).s=eC.s,eb):new eT(NaN):(eT.precision=ew+6,eT.rounding=1,eC=eC.div(new eT(1).minus(eC.times(eC)).sqrt().plus(1)).atan(),eT.precision=ew,eT.rounding=eM,eC.times(2))},eJ.inverseTangent=eJ.atan=function(){var eb,em,ew,eM,eC,eT,e_,eE,eS,eA=this,eN=eA.constructor,eD=eN.precision,eO=eN.rounding;if(eA.isFinite()){if(eA.isZero())return new eN(eA);if(eA.abs().eq(1)&&eD+4<=eY)return(e_=tw(eN,eD+4,eO).times(.25)).s=eA.s,e_}else{if(!eA.s)return new eN(NaN);if(eD+4<=eY)return(e_=tw(eN,eD+4,eO).times(.5)).s=eA.s,e_}for(eN.precision=eE=eD+10,eN.rounding=1,eb=ew=Math.min(28,eE/eZ+2|0);eb;--eb)eA=eA.div(eA.times(eA).plus(1).sqrt().plus(1));for(eI=!1,em=Math.ceil(eE/eZ),eM=1,eS=eA.times(eA),e_=new eN(eA),eC=eA;-1!==eb;)if(eC=eC.times(eS),eT=e_.minus(eC.div(eM+=2)),eC=eC.times(eS),void 0!==(e_=eT.plus(eC.div(eM+=2))).d[em])for(eb=em;e_.d[eb]===eT.d[eb]&&eb--;);return ew&&(e_=e_.times(2<this.d.length-2},eJ.isNaN=function(){return!this.s},eJ.isNegative=eJ.isNeg=function(){return this.s<0},eJ.isPositive=eJ.isPos=function(){return this.s>0},eJ.isZero=function(){return!!this.d&&0===this.d[0]},eJ.lessThan=eJ.lt=function(eb){return 0>this.cmp(eb)},eJ.lessThanOrEqualTo=eJ.lte=function(eb){return 1>this.cmp(eb)},eJ.logarithm=eJ.log=function(eb){var em,ew,eM,eC,eT,e_,eE,eS,eA=this,eN=eA.constructor,eD=eN.precision,eO=eN.rounding,eP=5;if(null==eb)eb=new eN(10),em=!0;else{if(ew=(eb=new eN(eb)).d,eb.s<0||!ew||!ew[0]||eb.eq(1))return new eN(NaN);em=eb.eq(10)}if(ew=eA.d,eA.s<0||!ew||!ew[0]||eA.eq(1))return new eN(ew&&!ew[0]?-1/0:1!=eA.s?NaN:ew?0:1/0);if(em){if(ew.length>1)eT=!0;else{for(eC=ew[0];eC%10==0;)eC/=10;eT=1!==eC}}if(eI=!1,e0((eS=e3(e_=tN(eA,eE=eD+eP),eM=em?e7(eN,eE+10):tN(eb,eE),eE,1)).d,eC=eD,eO))do if(eE+=10,eS=e3(e_=tN(eA,eE),eM=em?e7(eN,eE+10):tN(eb,eE),eE,1),!eT){+eX(eS.d).slice(eC+1,eC+15)+1==1e14&&(eS=e5(eS,eD+1,0));break}while(e0(eS.d,eC+=10,eO));return eI=!0,e5(eS,eD,eO)},eJ.minus=eJ.sub=function(eb){var em,ew,eM,eC,eT,e_,eE,eS,eA,eN,eD,eO,eP=this,eR=eP.constructor;if(eb=new eR(eb),!eP.d||!eb.d)return eP.s&&eb.s?eP.d?eb.s=-eb.s:eb=new eR(eb.d||eP.s!==eb.s?eP:NaN):eb=new eR(NaN),eb;if(eP.s!=eb.s)return eb.s=-eb.s,eP.plus(eb);if(eA=eP.d,eO=eb.d,eE=eR.precision,eS=eR.rounding,!eA[0]||!eO[0]){if(eO[0])eb.s=-eb.s;else{if(!eA[0])return new eR(3===eS?-0:0);eb=new eR(eP)}return eI?e5(eb,eE,eS):eb}if(ew=eF(eb.e/eZ),eN=eF(eP.e/eZ),eA=eA.slice(),eT=eN-ew){for((eD=eT<0)?(em=eA,eT=-eT,e_=eO.length):(em=eO,ew=eN,e_=eA.length),eM=Math.max(Math.ceil(eE/eZ),e_)+2,eT>eM&&(eT=eM,em.length=1),em.reverse(),eM=eT;eM--;)em.push(0);em.reverse()}else{for((eD=(eM=eA.length)<(e_=eO.length))&&(e_=eM),eM=0;eM0;--eM)eA[e_++]=0;for(eM=eO.length;eM>eT;){if(eA[--eM](e_=(eT=Math.ceil(eE/eZ))>e_?eT+1:e_+1)&&(eC=e_,ew.length=1),ew.reverse();eC--;)ew.push(0);ew.reverse()}for((e_=eA.length)-(eC=eN.length)<0&&(eC=e_,ew=eN,eN=eA,eA=ew),em=0;eC;)em=(eA[--eC]=eA[eC]+eN[eC]+em)/eW|0,eA[eC]%=eW;for(em&&(eA.unshift(em),++eM),e_=eA.length;0==eA[--e_];)eA.pop();return eb.d=eA,eb.e=e9(eA,eM),eI?e5(eb,eE,eS):eb},eJ.precision=eJ.sd=function(eb){var em,ew=this;if(void 0!==eb&&!!eb!==eb&&1!==eb&&0!==eb)throw Error(eO+eb);return ew.d?(em=tC(ew.d),eb&&ew.e+1>em&&(em=ew.e+1)):em=NaN,em},eJ.round=function(){var eb=this,em=eb.constructor;return e5(new em(eb),eb.e+1,em.rounding)},eJ.sine=eJ.sin=function(){var eb,em,ew=this,eM=ew.constructor;return ew.isFinite()?ew.isZero()?new eM(ew):(eb=eM.precision,em=eM.rounding,eM.precision=eb+Math.max(ew.e,ew.sd())+eZ,eM.rounding=1,ew=tP(eM,tF(eM,ew)),eM.precision=eb,eM.rounding=em,e5(eC>2?ew.neg():ew,eb,em,!0)):new eM(NaN)},eJ.squareRoot=eJ.sqrt=function(){var eb,em,ew,eM,eC,eT,e_=this,eE=e_.d,eS=e_.e,eA=e_.s,eN=e_.constructor;if(1!==eA||!eE||!eE[0])return new eN(!eA||eA<0&&(!eE||eE[0])?NaN:eE?e_:1/0);for(eI=!1,0==(eA=Math.sqrt(+e_))||eA==1/0?(((em=eX(eE)).length+eS)%2==0&&(em+="0"),eA=Math.sqrt(em),eS=eF((eS+1)/2)-(eS<0||eS%2),em=eA==1/0?"5e"+eS:(em=eA.toExponential()).slice(0,em.indexOf("e")+1)+eS,eM=new eN(em)):eM=new eN(eA.toString()),ew=(eS=eN.precision)+3;;)if(eM=(eT=eM).plus(e3(e_,eT,ew+2,1)).times(.5),eX(eT.d).slice(0,ew)===(em=eX(eM.d)).slice(0,ew)){if("9999"!=(em=em.slice(ew-3,ew+1))&&(eC||"4999"!=em)){+em&&(+em.slice(1)||"5"!=em.charAt(0))||(e5(eM,eS+1,1),eb=!eM.times(eM).eq(e_));break}if(!eC&&(e5(eT,eS+1,0),eT.times(eT).eq(e_))){eM=eT;break}ew+=4,eC=1}return eI=!0,e5(eM,eS,eN.rounding,eb)},eJ.tangent=eJ.tan=function(){var eb,em,ew=this,eM=ew.constructor;return ew.isFinite()?ew.isZero()?new eM(ew):(eb=eM.precision,em=eM.rounding,eM.precision=eb+10,eM.rounding=1,(ew=ew.sin()).s=1,ew=e3(ew,new eM(1).minus(ew.times(ew)).sqrt(),eb+10,0),eM.precision=eb,eM.rounding=em,e5(2==eC||4==eC?ew.neg():ew,eb,em,!0)):new eM(NaN)},eJ.times=eJ.mul=function(eb){var em,ew,eM,eC,eT,e_,eE,eS,eA,eN=this,eD=eN.constructor,eO=eN.d,eP=(eb=new eD(eb)).d;if(eb.s*=eN.s,!eO||!eO[0]||!eP||!eP[0])return new eD(eb.s&&(!eO||eO[0]||eP)&&(!eP||eP[0]||eO)?eO&&eP?0*eb.s:eb.s/0:NaN);for(ew=eF(eN.e/eZ)+eF(eb.e/eZ),(eS=eO.length)<(eA=eP.length)&&(eT=eO,eO=eP,eP=eT,e_=eS,eS=eA,eA=e_),eT=[],eM=e_=eS+eA;eM--;)eT.push(0);for(eM=eA;--eM>=0;){for(em=0,eC=eS+eM;eC>eM;)eE=eT[eC]+eP[eM]*eO[eC-eM-1]+em,eT[eC--]=eE%eW|0,em=eE/eW|0;eT[eC]=(eT[eC]+em)%eW|0}for(;!eT[--e_];)eT.pop();return em?++ew:eT.shift(),eb.d=eT,eb.e=e9(eT,ew),eI?e5(eb,eD.precision,eD.rounding):eb},eJ.toBinary=function(eb,em){return tj(this,2,eb,em)},eJ.toDecimalPlaces=eJ.toDP=function(eb,em){var ew=this,eM=ew.constructor;return(ew=new eM(ew),void 0===eb)?ew:(eQ(eb,0,e_),void 0===em?em=eM.rounding:eQ(em,0,8),e5(ew,eb+ew.e+1,em))},eJ.toExponential=function(eb,em){var ew,eM=this,eC=eM.constructor;return void 0===eb?ew=e8(eM,!0):(eQ(eb,0,e_),void 0===em?em=eC.rounding:eQ(em,0,8),ew=e8(eM=e5(new eC(eM),eb+1,em),!0,eb+1)),eM.isNeg()&&!eM.isZero()?"-"+ew:ew},eJ.toFixed=function(eb,em){var ew,eM,eC=this,eT=eC.constructor;return void 0===eb?ew=e8(eC):(eQ(eb,0,e_),void 0===em?em=eT.rounding:eQ(em,0,8),ew=e8(eM=e5(new eT(eC),eb+eC.e+1,em),!1,eb+eM.e+1)),eC.isNeg()&&!eC.isZero()?"-"+ew:ew},eJ.toFraction=function(eb){var em,ew,eM,eC,eT,e_,eE,eS,eA,eN,eD,eP,eR=this,eB=eR.d,eF=eR.constructor;if(!eB)return new eF(eR);if(eA=ew=new eF(1),eM=eS=new eF(0),e_=(eT=(em=new eF(eM)).e=tC(eB)-eR.e-1)%eZ,em.d[0]=ej(10,e_<0?eZ+e_:e_),null==eb)eb=eT>0?em:eA;else{if(!(eE=new eF(eb)).isInt()||eE.lt(eA))throw Error(eO+eE);eb=eE.gt(em)?eT>0?em:eA:eE}for(eI=!1,eE=new eF(eX(eB)),eN=eF.precision,eF.precision=eT=eB.length*eZ*2;eD=e3(eE,em,0,1,1),1!=(eC=ew.plus(eD.times(eM))).cmp(eb);)ew=eM,eM=eC,eC=eA,eA=eS.plus(eD.times(eC)),eS=eC,eC=em,em=eE.minus(eD.times(eC)),eE=eC;return eC=e3(eb.minus(ew),eM,0,1,1),eS=eS.plus(eC.times(eA)),ew=ew.plus(eC.times(eM)),eS.s=eA.s=eR.s,eP=1>e3(eA,eM,eT,1).minus(eR).abs().cmp(e3(eS,ew,eT,1).minus(eR).abs())?[eA,eM]:[eS,ew],eF.precision=eN,eI=!0,eP},eJ.toHexadecimal=eJ.toHex=function(eb,em){return tj(this,16,eb,em)},eJ.toNearest=function(eb,em){var ew=this,eM=ew.constructor;if(ew=new eM(ew),null==eb){if(!ew.d)return ew;eb=new eM(1),em=eM.rounding}else{if(eb=new eM(eb),void 0===em?em=eM.rounding:eQ(em,0,8),!ew.d)return eb.s?ew:eb;if(!eb.d)return eb.s&&(eb.s=ew.s),eb}return eb.d[0]?(eI=!1,ew=e3(ew,eb,0,em,1).times(eb),eI=!0,e5(ew)):(eb.s=ew.s,ew=eb),ew},eJ.toNumber=function(){return+this},eJ.toOctal=function(eb,em){return tj(this,8,eb,em)},eJ.toPower=eJ.pow=function(eb){var em,ew,eM,eC,eT,e_,eE=this,eS=eE.constructor,eA=+(eb=new eS(eb));if(!eE.d||!eb.d||!eE.d[0]||!eb.d[0])return new eS(ej(+eE,eA));if((eE=new eS(eE)).eq(1))return eE;if(eM=eS.precision,eT=eS.rounding,eb.eq(1))return e5(eE,eM,eT);if((em=eF(eb.e/eZ))>=eb.d.length-1&&(ew=eA<0?-eA:eA)<=eK)return eC=t_(eS,eE,ew,eM),eb.s<0?new eS(1).div(eC):e5(eC,eM,eT);if((e_=eE.s)<0){if(emeS.maxE+1||em0?e_/0:0):(eI=!1,eS.rounding=eE.s=1,ew=Math.min(12,(em+"").length),(eC=tA(eb.times(tN(eE,eM+ew)),eM)).d&&e0((eC=e5(eC,eM+5,1)).d,eM,eT)&&(em=eM+10,+eX((eC=e5(tA(eb.times(tN(eE,em+ew)),em),em+5,1)).d).slice(eM+1,eM+15)+1==1e14&&(eC=e5(eC,eM+1,0))),eC.s=e_,eI=!0,eS.rounding=eT,e5(eC,eM,eT))},eJ.toPrecision=function(eb,em){var ew,eM=this,eC=eM.constructor;return void 0===eb?ew=e8(eM,eM.e<=eC.toExpNeg||eM.e>=eC.toExpPos):(eQ(eb,1,e_),void 0===em?em=eC.rounding:eQ(em,0,8),ew=e8(eM=e5(new eC(eM),eb,em),eb<=eM.e||eM.e<=eC.toExpNeg,eb)),eM.isNeg()&&!eM.isZero()?"-"+ew:ew},eJ.toSignificantDigits=eJ.toSD=function(eb,em){var ew=this,eM=ew.constructor;return void 0===eb?(eb=eM.precision,em=eM.rounding):(eQ(eb,1,e_),void 0===em?em=eM.rounding:eQ(em,0,8)),e5(new eM(ew),eb,em)},eJ.toString=function(){var eb=this,em=eb.constructor,ew=e8(eb,eb.e<=em.toExpNeg||eb.e>=em.toExpPos);return eb.isNeg()&&!eb.isZero()?"-"+ew:ew},eJ.truncated=eJ.trunc=function(){return e5(new this.constructor(this),this.e+1,1)},eJ.valueOf=eJ.toJSON=function(){var eb=this,em=eb.constructor,ew=e8(eb,eb.e<=em.toExpNeg||eb.e>=em.toExpPos);return eb.isNeg()?"-"+ew:ew};var e3=function(){function eb(eb,em,ew){var eM,eC=0,eT=eb.length;for(eb=eb.slice();eT--;)eM=eb[eT]*em+eC,eb[eT]=eM%ew|0,eC=eM/ew|0;return eC&&eb.unshift(eC),eb}function em(eb,em,ew,eM){var eC,eT;if(ew!=eM)eT=ew>eM?1:-1;else for(eC=eT=0;eCem[eC]?1:-1;break}return eT}function ew(eb,em,ew,eM){for(var eC=0;ew--;)eb[ew]-=eC,eC=eb[ew]1;)eb.shift()}return function(eC,eT,e_,eE,eS,eA){var eN,eI,eD,eO,eP,eR,eB,ej,eU,eV,eH,e$,eK,eG,eY,eJ,eX,eQ,e0,e6,e4=eC.constructor,e3=eC.s==eT.s?1:-1,e8=eC.d,e9=eT.d;if(!e8||!e8[0]||!e9||!e9[0])return new e4(eC.s&&eT.s&&(e8?!e9||e8[0]!=e9[0]:e9)?e8&&0==e8[0]||!e9?0*e3:e3/0:NaN);for(eA?(eP=1,eI=eC.e-eT.e):(eA=eW,eP=eZ,eI=eF(eC.e/eP)-eF(eT.e/eP)),e0=e9.length,eX=e8.length,eV=(eU=new e4(e3)).d=[],eD=0;e9[eD]==(e8[eD]||0);eD++);if(e9[eD]>(e8[eD]||0)&&eI--,null==e_?(eG=e_=e4.precision,eE=e4.rounding):eG=eS?e_+(eC.e-eT.e)+1:e_,eG<0)eV.push(1),eR=!0;else{if(eG=eG/eP+2|0,eD=0,1==e0){for(eO=0,e9=e9[0],eG++;(eD1&&(e9=eb(e9,eO,eA),e8=eb(e8,eO,eA),e0=e9.length,eX=e8.length),eJ=e0,e$=(eH=e8.slice(0,e0)).length;e$=eA/2&&++eQ;do eO=0,(eN=em(e9,eH,e0,e$))<0?(eK=eH[0],e0!=e$&&(eK=eK*eA+(eH[1]||0)),(eO=eK/eQ|0)>1?(eO>=eA&&(eO=eA-1),ej=(eB=eb(e9,eO,eA)).length,e$=eH.length,1==(eN=em(eB,eH,ej,e$))&&(eO--,ew(eB,e0=10;eO/=10)eD++;eU.e=eD+eI*eP-1,e5(eU,eS?e_+eU.e+1:e_,eE,eR)}return eU}}();function e5(eb,em,ew,eM){var eC,eT,e_,eE,eS,eA,eN,eD,eO,eP=eb.constructor;o:if(null!=em){if(!(eD=eb.d))return eb;for(eC=1,eE=eD[0];eE>=10;eE/=10)eC++;if((eT=em-eC)<0)eT+=eZ,e_=em,eS=(eN=eD[eO=0])/ej(10,eC-e_-1)%10|0;else if(eO=Math.ceil((eT+1)/eZ),eE=eD.length,eO>=eE){if(eM){for(;eE++<=eO;)eD.push(0);eN=eS=0,eC=1,eT%=eZ,e_=eT-eZ+1}else break o}else{for(eC=1,eN=eE=eD[eO];eE>=10;eE/=10)eC++;eT%=eZ,eS=(e_=eT-eZ+eC)<0?0:eN/ej(10,eC-e_-1)%10|0}if(eM=eM||em<0||void 0!==eD[eO+1]||(e_<0?eN:eN%ej(10,eC-e_-1)),eA=ew<4?(eS||eM)&&(0==ew||ew==(eb.s<0?3:2)):eS>5||5==eS&&(4==ew||eM||6==ew&&(eT>0?e_>0?eN/ej(10,eC-e_):0:eD[eO-1])%10&1||ew==(eb.s<0?8:7)),em<1||!eD[0])return eD.length=0,eA?(em-=eb.e+1,eD[0]=ej(10,(eZ-em%eZ)%eZ),eb.e=-em||0):eD[0]=eb.e=0,eb;if(0==eT?(eD.length=eO,eE=1,eO--):(eD.length=eO+1,eE=ej(10,eZ-eT),eD[eO]=e_>0?(eN/ej(10,eC-e_)%ej(10,e_)|0)*eE:0),eA)for(;;){if(0==eO){for(eT=1,e_=eD[0];e_>=10;e_/=10)eT++;for(e_=eD[0]+=eE,eE=1;e_>=10;e_/=10)eE++;eT!=eE&&(eb.e++,eD[0]==eW&&(eD[0]=1));break}if(eD[eO]+=eE,eD[eO]!=eW)break;eD[eO--]=0,eE=1}for(eT=eD.length;0===eD[--eT];)eD.pop()}return eI&&(eb.e>eP.maxE?(eb.d=null,eb.e=NaN):eb.e0?eT=eT.charAt(0)+"."+eT.slice(1)+tT(eM):e_>1&&(eT=eT.charAt(0)+"."+eT.slice(1)),eT=eT+(eb.e<0?"e":"e+")+eb.e):eC<0?(eT="0."+tT(-eC-1)+eT,ew&&(eM=ew-e_)>0&&(eT+=tT(eM))):eC>=e_?(eT+=tT(eC+1-e_),ew&&(eM=ew-eC-1)>0&&(eT=eT+"."+tT(eM))):((eM=eC+1)0&&(eC+1===e_&&(eT+="."),eT+=tT(eM))),eT}function e9(eb,em){var ew=eb[0];for(em*=eZ;ew>=10;ew/=10)em++;return em}function e7(eb,em,ew){if(em>eG)throw eI=!0,ew&&(eb.precision=ew),Error(eP);return e5(new eb(eS),em,1,!0)}function tw(eb,em,ew){if(em>eY)throw Error(eP);return e5(new eb(eA),em,ew,!0)}function tC(eb){var em=eb.length-1,ew=em*eZ+1;if(em=eb[em]){for(;em%10==0;em/=10)ew--;for(em=eb[0];em>=10;em/=10)ew++}return ew}function tT(eb){for(var em="";eb--;)em+="0";return em}function t_(eb,em,ew,eM){var eC,eT=new eb(1),e_=Math.ceil(eM/eZ+4);for(eI=!1;;){if(ew%2&&tU((eT=eT.times(em)).d,e_)&&(eC=!0),0===(ew=eF(ew/2))){ew=eT.d.length-1,eC&&0===eT.d[ew]&&++eT.d[ew];break}tU((em=em.times(em)).d,e_)}return eI=!0,eT}function tE(eb){return 1&eb.d[eb.d.length-1]}function tS(eb,em,ew){for(var eM,eC=new eb(em[0]),eT=0;++eT17)return new eO(eb.d?eb.d[0]?eb.s<0?0:1/0:1:eb.s?eb.s<0?0:eb:0/0);for(null==em?(eI=!1,eS=eR):eS=em,eE=new eO(.03125);eb.e>-2;)eb=eb.times(eE),eD+=5;for(eS+=eM=Math.log(ej(2,eD))/Math.LN10*2+5|0,ew=eT=e_=new eO(1),eO.precision=eS;;){if(eT=e5(eT.times(eb),eS,1),ew=ew.times(++eN),eX((eE=e_.plus(e3(eT,ew,eS,1))).d).slice(0,eS)===eX(e_.d).slice(0,eS)){for(eC=eD;eC--;)e_=e5(e_.times(e_),eS,1);if(null!=em)return eO.precision=eR,e_;if(!(eA<3&&e0(e_.d,eS-eM,eP,eA)))return e5(e_,eO.precision=eR,eP,eI=!0);eO.precision=eS+=10,ew=eT=eE=new eO(1),eN=0,eA++}e_=eE}}function tN(eb,em){var ew,eM,eC,eT,e_,eE,eS,eA,eN,eD,eO,eP=1,eR=10,eB=eb,eF=eB.d,ej=eB.constructor,eU=ej.rounding,eV=ej.precision;if(eB.s<0||!eF||!eF[0]||!eB.e&&1==eF[0]&&1==eF.length)return new ej(eF&&!eF[0]?-1/0:1!=eB.s?NaN:eF?0:eB);if(null==em?(eI=!1,eN=eV):eN=em,ej.precision=eN+=eR,eM=(ew=eX(eF)).charAt(0),!(15e14>Math.abs(eT=eB.e)))return eA=e7(ej,eN+2,eV).times(eT+""),eB=tN(new ej(eM+"."+ew.slice(1)),eN-eR).plus(eA),ej.precision=eV,null==em?e5(eB,eV,eU,eI=!0):eB;for(;eM<7&&1!=eM||1==eM&&ew.charAt(1)>3;)eM=(ew=eX((eB=eB.times(eb)).d)).charAt(0),eP++;for(eT=eB.e,eM>1?(eB=new ej("0."+ew),eT++):eB=new ej(eM+"."+ew.slice(1)),eD=eB,eS=e_=eB=e3(eB.minus(1),eB.plus(1),eN,1),eO=e5(eB.times(eB),eN,1),eC=3;;){if(e_=e5(e_.times(eO),eN,1),eX((eA=eS.plus(e3(e_,new ej(eC),eN,1))).d).slice(0,eN)===eX(eS.d).slice(0,eN)){if(eS=eS.times(2),0!==eT&&(eS=eS.plus(e7(ej,eN+2,eV).times(eT+""))),eS=e3(eS,new ej(eP),eN,1),null!=em)return ej.precision=eV,eS;if(!e0(eS.d,eN-eR,eU,eE))return e5(eS,ej.precision=eV,eU,eI=!0);ej.precision=eN+=eR,eA=e_=eB=e3(eD.minus(1),eD.plus(1),eN,1),eO=e5(eB.times(eB),eN,1),eC=eE=1}eS=eA,eC+=2}}function tI(eb){return String(eb.s*eb.s/0)}function tD(eb,em){var ew,eM,eC;for((ew=em.indexOf("."))>-1&&(em=em.replace(".","")),(eM=em.search(/e/i))>0?(ew<0&&(ew=eM),ew+=+em.slice(eM+1),em=em.substring(0,eM)):ew<0&&(ew=em.length),eM=0;48===em.charCodeAt(eM);eM++);for(eC=em.length;48===em.charCodeAt(eC-1);--eC);if(em=em.slice(eM,eC)){if(eC-=eM,eb.e=ew=ew-eM-1,eb.d=[],eM=(ew+1)%eZ,ew<0&&(eM+=eZ),eMeb.constructor.maxE?(eb.d=null,eb.e=NaN):eb.e-1){if(em=em.replace(/(\d)_(?=\d)/g,"$1"),e$.test(em))return tD(eb,em)}else if("Infinity"===em||"NaN"===em)return+em||(eb.s=NaN),eb.e=NaN,eb.d=null,eb;if(eV.test(em))ew=16,em=em.toLowerCase();else if(eU.test(em))ew=2;else if(eH.test(em))ew=8;else throw Error(eO+em);for((eT=em.search(/p/i))>0?(eS=+em.slice(eT+1),em=em.substring(2,eT)):em=em.slice(2),e_=(eT=em.indexOf("."))>=0,eM=eb.constructor,e_&&(eT=(eE=(em=em.replace(".","")).length)-eT,eC=t_(eM,new eM(ew),eT,2*eT)),eT=eN=(eA=e6(em,ew,eW)).length-1;0===eA[eT];--eT)eA.pop();return eT<0?new eM(0*eb.s):(eb.e=e9(eA,eN),eb.d=eA,eI=!1,e_&&(eb=e3(eb,eC,4*eE)),eS&&(eb=eb.times(54>Math.abs(eS)?ej(2,eS):nX.pow(2,eS))),eI=!0,eb)}function tP(eb,em){var ew,eM=em.d.length;if(eM<3)return em.isZero()?em:tR(eb,2,em,em);ew=(ew=1.4*Math.sqrt(eM))>16?16:0|ew,em=em.times(1/tB(5,ew)),em=tR(eb,2,em,em);for(var eC,eT=new eb(5),e_=new eb(16),eE=new eb(20);ew--;)eC=em.times(em),em=em.times(eT.plus(eC.times(e_.times(eC).minus(eE))));return em}function tR(eb,em,ew,eM,eC){var eT,e_,eE,eS,eA=eb.precision,eN=Math.ceil(eA/eZ);for(eI=!1,eS=ew.times(ew),eE=new eb(eM);;){if(e_=e3(eE.times(eS),new eb(em++*em++),eA,1),eE=eC?eM.plus(e_):eM.minus(e_),eM=e3(e_.times(eS),new eb(em++*em++),eA,1),void 0!==(e_=eE.plus(eM)).d[eN]){for(eT=eN;e_.d[eT]===eE.d[eT]&&eT--;);if(-1==eT)break}eT=eE,eE=eM,eM=e_,e_=eT}return eI=!0,e_.d.length=eN+1,e_}function tB(eb,em){for(var ew=eb;--em;)ew*=eb;return ew}function tF(eb,em){var ew,eM=em.s<0,eT=tw(eb,eb.precision,1),e_=eT.times(.5);if((em=em.abs()).lte(e_))return eC=eM?4:1,em;if((ew=em.divToInt(eT)).isZero())eC=eM?3:2;else{if((em=em.minus(ew.times(eT))).lte(e_))return eC=tE(ew)?eM?2:3:eM?4:1,em;eC=tE(ew)?eM?1:4:eM?3:2}return em.minus(eT).abs()}function tj(eb,em,ew,eC){var eT,eS,eA,eN,eI,eD,eO,eP,eR,eB=eb.constructor,eF=void 0!==ew;if(eF?(eQ(ew,1,e_),void 0===eC?eC=eB.rounding:eQ(eC,0,8)):(ew=eB.precision,eC=eB.rounding),eb.isFinite()){for(eA=(eO=e8(eb)).indexOf("."),eF?(eT=2,16==em?ew=4*ew-3:8==em&&(ew=3*ew-2)):eT=em,eA>=0&&(eO=eO.replace(".",""),(eR=new eB(1)).e=eO.length-eA,eR.d=e6(e8(eR),10,eT),eR.e=eR.d.length),eS=eI=(eP=e6(eO,10,eT)).length;0==eP[--eI];)eP.pop();if(eP[0]){if(eA<0?eS--:((eb=new eB(eb)).d=eP,eb.e=eS,eP=(eb=e3(eb,eR,ew,eC,0,eT)).d,eS=eb.e,eD=eM),eA=eP[ew],eN=eT/2,eD=eD||void 0!==eP[ew+1],eD=eC<4?(void 0!==eA||eD)&&(0===eC||eC===(eb.s<0?3:2)):eA>eN||eA===eN&&(4===eC||eD||6===eC&&1&eP[ew-1]||eC===(eb.s<0?8:7)),eP.length=ew,eD)for(;++eP[--ew]>eT-1;)eP[ew]=0,ew||(++eS,eP.unshift(1));for(eI=eP.length;!eP[eI-1];--eI);for(eA=0,eO="";eA1){if(16==em||8==em){for(eA=16==em?4:3,--eI;eI%eA;eI++)eO+="0";for(eI=(eP=e6(eO,eT,em)).length;!eP[eI-1];--eI);for(eA=1,eO="1.";eAeI)for(eS-=eI;eS--;)eO+="0";else eSem)return eb.length=em,!0}function tV(eb){return new this(eb).abs()}function tH(eb){return new this(eb).acos()}function t$(eb){return new this(eb).acosh()}function tq(eb,em){return new this(eb).plus(em)}function tW(eb){return new this(eb).asin()}function tZ(eb){return new this(eb).asinh()}function tK(eb){return new this(eb).atan()}function tG(eb){return new this(eb).atanh()}function tY(eb,em){eb=new this(eb),em=new this(em);var ew,eM=this.precision,eC=this.rounding,eT=eM+4;return eb.s&&em.s?eb.d||em.d?!em.d||eb.isZero()?(ew=em.s<0?tw(this,eM,eC):new this(0)).s=eb.s:!eb.d||em.isZero()?(ew=tw(this,eT,1).times(.5)).s=eb.s:em.s<0?(this.precision=eT,this.rounding=1,ew=this.atan(e3(eb,em,eT,1)),em=tw(this,eT,1),this.precision=eM,this.rounding=eC,ew=eb.s<0?ew.minus(em):ew.plus(em)):ew=this.atan(e3(eb,em,eT,1)):(ew=tw(this,eT,1).times(em.s>0?.25:.75)).s=eb.s:ew=new this(NaN),ew}function tJ(eb){return new this(eb).cbrt()}function tX(eb){return e5(eb=new this(eb),eb.e+1,2)}function tQ(eb,em,ew){return new this(eb).clamp(em,ew)}function nw(eb){if(!eb||"object"!=typeof eb)throw Error(eD+"Object expected");var em,ew,eM,eC=!0===eb.defaults,eE=["precision",1,e_,"rounding",0,8,"toExpNeg",-eT,0,"toExpPos",0,eT,"maxE",0,eT,"minE",-eT,0,"modulo",0,9];for(em=0;em=eE[em+1]&&eM<=eE[em+2])this[ew]=eM;else throw Error(eO+ew+": "+eM)}if(ew="crypto",eC&&(this[ew]=eN[ew]),void 0!==(eM=eb[ew])){if(!0===eM||!1===eM||0===eM||1===eM){if(eM){if("undefined"!=typeof crypto&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[ew]=!0;else throw Error(eR)}else this[ew]=!1}else throw Error(eO+ew+": "+eM)}return this}function nM(eb){return new this(eb).cos()}function nC(eb){return new this(eb).cosh()}function nk(eb){var em,ew,eM;function eC(eb){var em,ew,eM,eT=this;if(!(eT instanceof eC))return new eC(eb);if(eT.constructor=eC,nA(eb)){eT.s=eb.s,eI?!eb.d||eb.e>eC.maxE?(eT.e=NaN,eT.d=null):eb.e=10;ew/=10)em++;eI?em>eC.maxE?(eT.e=NaN,eT.d=null):em=429e7?em[eT]=crypto.getRandomValues(new Uint32Array(1))[0]:eS[eT++]=eC%1e7;else if(crypto.randomBytes){for(em=crypto.randomBytes(eM*=4);eT=214e7?crypto.randomBytes(4).copy(em,eT):(eS.push(eC%1e7),eT+=4);eT=eM/4}else throw Error(eR)}else for(;eT=10;eC/=10)eM++;eM{if(!eb||!em||!(eb instanceof Error)||!(em.prototype instanceof Error)&&em!==Error)return;let ew=new Set,eM=eb;for(;eM&&!ew.has(eM);){if(ew.add(eM),eM instanceof em)return eM;eM=eC(eM)}},eC=eb=>{if(eb&&"object"==typeof eb&&"cause"in eb){if("function"!=typeof eb.cause)return eb.cause instanceof Error?eb.cause:void 0;{let em=eb.cause();return em instanceof Error?em:void 0}}},eT=(eb,em)=>{if(!(eb instanceof Error))return"";let ew=eb.stack||"";if(em.has(eb))return ew+"\ncauses have become circular...";let eM=eC(eb);return eM?(em.add(eb),ew+"\ncaused by: "+eT(eM,em)):ew},e_=eb=>eT(eb,new Set),eE=(eb,em,ew)=>{if(!(eb instanceof Error))return"";let eM=ew?"":eb.message||"";if(em.has(eb))return eM+": ...";let eT=eC(eb);if(!eT)return eM;{em.add(eb);let ew="cause"in eb&&"function"==typeof eb.cause;return eM+(ew?"":": ")+eE(eT,em,ew)}},eS=eb=>eE(eb,new Set)},97884:function(eb,em,ew){"use strict";ew.r(em),ew.d(em,{Struct:function(){return eD},StructError:function(){return eM},any:function(){return eY},array:function(){return eJ},assert:function(){return eO},assign:function(){return ej},bigint:function(){return eX},boolean:function(){return eQ},coerce:function(){return tB},create:function(){return eP},date:function(){return e0},defaulted:function(){return tF},define:function(){return eU},deprecated:function(){return eV},dynamic:function(){return eH},empty:function(){return tU},enums:function(){return e6},func:function(){return e4},instance:function(){return e3},integer:function(){return e5},intersection:function(){return e8},is:function(){return eB},lazy:function(){return e$},literal:function(){return e9},map:function(){return e7},mask:function(){return eR},max:function(){return tH},min:function(){return t$},never:function(){return tw},nonempty:function(){return tq},nullable:function(){return tC},number:function(){return tT},object:function(){return t_},omit:function(){return eW},optional:function(){return tE},partial:function(){return eZ},pattern:function(){return tW},pick:function(){return eK},record:function(){return tS},refine:function(){return tK},regexp:function(){return tA},set:function(){return tN},size:function(){return tZ},string:function(){return tI},struct:function(){return eG},trimmed:function(){return tj},tuple:function(){return tD},type:function(){return tO},union:function(){return tP},unknown:function(){return tR},validate:function(){return eF}});class eM extends TypeError{constructor(eb,em){let ew;let{message:eM,explanation:eC,...eT}=eb,{path:e_}=eb,eE=0===e_.length?eM:`At path: ${e_.join(".")} -- ${eM}`;super(eC??eE),null!=eC&&(this.cause=eE),Object.assign(this,eT),this.name=this.constructor.name,this.failures=()=>ew??(ew=[eb,...em()])}}function eC(eb){return eT(eb)&&"function"==typeof eb[Symbol.iterator]}function eT(eb){return"object"==typeof eb&&null!=eb}function e_(eb){if("[object Object]"!==Object.prototype.toString.call(eb))return!1;let em=Object.getPrototypeOf(eb);return null===em||em===Object.prototype}function eE(eb){return"symbol"==typeof eb?eb.toString():"string"==typeof eb?JSON.stringify(eb):`${eb}`}function eS(eb){let{done:em,value:ew}=eb.next();return em?void 0:ew}function eA(eb,em,ew,eM){if(!0===eb)return;!1===eb?eb={}:"string"==typeof eb&&(eb={message:eb});let{path:eC,branch:eT}=em,{type:e_}=ew,{refinement:eS,message:eA=`Expected a value of type \`${e_}\`${eS?` with refinement \`${eS}\``:""}, but received: \`${eE(eM)}\``}=eb;return{value:eM,type:e_,refinement:eS,key:eC[eC.length-1],path:eC,branch:eT,...eb,message:eA}}function*eN(eb,em,ew,eM){for(let eT of(eC(eb)||(eb=[eb]),eb)){let eb=eA(eT,em,ew,eM);eb&&(yield eb)}}function*eI(eb,em,ew={}){let{path:eM=[],branch:eC=[eb],coerce:e_=!1,mask:eE=!1}=ew,eS={path:eM,branch:eC};if(e_&&(eb=em.coercer(eb,eS),eE&&"type"!==em.type&&eT(em.schema)&&eT(eb)&&!Array.isArray(eb)))for(let ew in eb)void 0===em.schema[ew]&&delete eb[ew];let eA="valid";for(let eM of em.validator(eb,eS))eM.explanation=ew.message,eA="not_valid",yield[eM,void 0];for(let[eN,eD,eO]of em.entries(eb,eS)){let em=eI(eD,eO,{path:void 0===eN?eM:[...eM,eN],branch:void 0===eN?eC:[...eC,eD],coerce:e_,mask:eE,message:ew.message});for(let ew of em)ew[0]?(eA=null!=ew[0].refinement?"not_refined":"not_valid",yield[ew[0],void 0]):e_&&(eD=ew[1],void 0===eN?eb=eD:eb instanceof Map?eb.set(eN,eD):eb instanceof Set?eb.add(eD):eT(eb)&&(void 0!==eD||eN in eb)&&(eb[eN]=eD))}if("not_valid"!==eA)for(let eM of em.refiner(eb,eS))eM.explanation=ew.message,eA="not_refined",yield[eM,void 0];"valid"===eA&&(yield[void 0,eb])}class eD{constructor(eb){let{type:em,schema:ew,validator:eM,refiner:eC,coercer:eT=eb=>eb,entries:e_=function*(){}}=eb;this.type=em,this.schema=ew,this.entries=e_,this.coercer=eT,eM?this.validator=(eb,em)=>{let ew=eM(eb,em);return eN(ew,em,this,eb)}:this.validator=()=>[],eC?this.refiner=(eb,em)=>{let ew=eC(eb,em);return eN(ew,em,this,eb)}:this.refiner=()=>[]}assert(eb,em){return eO(eb,this,em)}create(eb,em){return eP(eb,this,em)}is(eb){return eB(eb,this)}mask(eb,em){return eR(eb,this,em)}validate(eb,em={}){return eF(eb,this,em)}}function eO(eb,em,ew){let eM=eF(eb,em,{message:ew});if(eM[0])throw eM[0]}function eP(eb,em,ew){let eM=eF(eb,em,{coerce:!0,message:ew});if(!eM[0])return eM[1];throw eM[0]}function eR(eb,em,ew){let eM=eF(eb,em,{coerce:!0,mask:!0,message:ew});if(!eM[0])return eM[1];throw eM[0]}function eB(eb,em){let ew=eF(eb,em);return!ew[0]}function eF(eb,em,ew={}){let eC=eI(eb,em,ew),eT=eS(eC);if(eT[0]){let eb=new eM(eT[0],function*(){for(let eb of eC)eb[0]&&(yield eb[0])});return[eb,void 0]}{let eb=eT[1];return[void 0,eb]}}function ej(...eb){let em="type"===eb[0].type,ew=eb.map(eb=>eb.schema),eM=Object.assign({},...ew);return em?tO(eM):t_(eM)}function eU(eb,em){return new eD({type:eb,schema:null,validator:em})}function eV(eb,em){return new eD({...eb,refiner:(em,ew)=>void 0===em||eb.refiner(em,ew),validator:(ew,eM)=>void 0===ew||(em(ew,eM),eb.validator(ew,eM))})}function eH(eb){return new eD({type:"dynamic",schema:null,*entries(em,ew){let eM=eb(em,ew);yield*eM.entries(em,ew)},validator(em,ew){let eM=eb(em,ew);return eM.validator(em,ew)},coercer(em,ew){let eM=eb(em,ew);return eM.coercer(em,ew)},refiner(em,ew){let eM=eb(em,ew);return eM.refiner(em,ew)}})}function e$(eb){let em;return new eD({type:"lazy",schema:null,*entries(ew,eM){em??(em=eb()),yield*em.entries(ew,eM)},validator:(ew,eM)=>(em??(em=eb()),em.validator(ew,eM)),coercer:(ew,eM)=>(em??(em=eb()),em.coercer(ew,eM)),refiner:(ew,eM)=>(em??(em=eb()),em.refiner(ew,eM))})}function eW(eb,em){let{schema:ew}=eb,eM={...ew};for(let eb of em)delete eM[eb];return"type"===eb.type?tO(eM):t_(eM)}function eZ(eb){let em=eb instanceof eD,ew=em?{...eb.schema}:{...eb};for(let eb in ew)ew[eb]=tE(ew[eb]);return em&&"type"===eb.type?tO(ew):t_(ew)}function eK(eb,em){let{schema:ew}=eb,eM={};for(let eb of em)eM[eb]=ew[eb];return"type"===eb.type?tO(eM):t_(eM)}function eG(eb,em){return console.warn("superstruct@0.11 - The `struct` helper has been renamed to `define`."),eU(eb,em)}function eY(){return eU("any",()=>!0)}function eJ(eb){return new eD({type:"array",schema:eb,*entries(em){if(eb&&Array.isArray(em))for(let[ew,eM]of em.entries())yield[ew,eM,eb]},coercer:eb=>Array.isArray(eb)?eb.slice():eb,validator:eb=>Array.isArray(eb)||`Expected an array value, but received: ${eE(eb)}`})}function eX(){return eU("bigint",eb=>"bigint"==typeof eb)}function eQ(){return eU("boolean",eb=>"boolean"==typeof eb)}function e0(){return eU("date",eb=>eb instanceof Date&&!isNaN(eb.getTime())||`Expected a valid \`Date\` object, but received: ${eE(eb)}`)}function e6(eb){let em={},ew=eb.map(eb=>eE(eb)).join();for(let ew of eb)em[ew]=ew;return new eD({type:"enums",schema:em,validator:em=>eb.includes(em)||`Expected one of \`${ew}\`, but received: ${eE(em)}`})}function e4(){return eU("func",eb=>"function"==typeof eb||`Expected a function, but received: ${eE(eb)}`)}function e3(eb){return eU("instance",em=>em instanceof eb||`Expected a \`${eb.name}\` instance, but received: ${eE(em)}`)}function e5(){return eU("integer",eb=>"number"==typeof eb&&!isNaN(eb)&&Number.isInteger(eb)||`Expected an integer, but received: ${eE(eb)}`)}function e8(eb){return new eD({type:"intersection",schema:null,*entries(em,ew){for(let eM of eb)yield*eM.entries(em,ew)},*validator(em,ew){for(let eM of eb)yield*eM.validator(em,ew)},*refiner(em,ew){for(let eM of eb)yield*eM.refiner(em,ew)}})}function e9(eb){let em=eE(eb),ew=typeof eb;return new eD({type:"literal",schema:"string"===ew||"number"===ew||"boolean"===ew?eb:null,validator:ew=>ew===eb||`Expected the literal \`${em}\`, but received: ${eE(ew)}`})}function e7(eb,em){return new eD({type:"map",schema:null,*entries(ew){if(eb&&em&&ew instanceof Map)for(let[eM,eC]of ew.entries())yield[eM,eM,eb],yield[eM,eC,em]},coercer:eb=>eb instanceof Map?new Map(eb):eb,validator:eb=>eb instanceof Map||`Expected a \`Map\` object, but received: ${eE(eb)}`})}function tw(){return eU("never",()=>!1)}function tC(eb){return new eD({...eb,validator:(em,ew)=>null===em||eb.validator(em,ew),refiner:(em,ew)=>null===em||eb.refiner(em,ew)})}function tT(){return eU("number",eb=>"number"==typeof eb&&!isNaN(eb)||`Expected a number, but received: ${eE(eb)}`)}function t_(eb){let em=eb?Object.keys(eb):[],ew=tw();return new eD({type:"object",schema:eb||null,*entries(eM){if(eb&&eT(eM)){let eC=new Set(Object.keys(eM));for(let ew of em)eC.delete(ew),yield[ew,eM[ew],eb[ew]];for(let eb of eC)yield[eb,eM[eb],ew]}},validator:eb=>eT(eb)||`Expected an object, but received: ${eE(eb)}`,coercer:eb=>eT(eb)?{...eb}:eb})}function tE(eb){return new eD({...eb,validator:(em,ew)=>void 0===em||eb.validator(em,ew),refiner:(em,ew)=>void 0===em||eb.refiner(em,ew)})}function tS(eb,em){return new eD({type:"record",schema:null,*entries(ew){if(eT(ew))for(let eM in ew){let eC=ew[eM];yield[eM,eM,eb],yield[eM,eC,em]}},validator:eb=>eT(eb)||`Expected an object, but received: ${eE(eb)}`})}function tA(){return eU("regexp",eb=>eb instanceof RegExp)}function tN(eb){return new eD({type:"set",schema:null,*entries(em){if(eb&&em instanceof Set)for(let ew of em)yield[ew,ew,eb]},coercer:eb=>eb instanceof Set?new Set(eb):eb,validator:eb=>eb instanceof Set||`Expected a \`Set\` object, but received: ${eE(eb)}`})}function tI(){return eU("string",eb=>"string"==typeof eb||`Expected a string, but received: ${eE(eb)}`)}function tD(eb){let em=tw();return new eD({type:"tuple",schema:null,*entries(ew){if(Array.isArray(ew)){let eM=Math.max(eb.length,ew.length);for(let eC=0;eCArray.isArray(eb)||`Expected an array, but received: ${eE(eb)}`})}function tO(eb){let em=Object.keys(eb);return new eD({type:"type",schema:eb,*entries(ew){if(eT(ew))for(let eM of em)yield[eM,ew[eM],eb[eM]]},validator:eb=>eT(eb)||`Expected an object, but received: ${eE(eb)}`,coercer:eb=>eT(eb)?{...eb}:eb})}function tP(eb){let em=eb.map(eb=>eb.type).join(" | ");return new eD({type:"union",schema:null,coercer(em){for(let ew of eb){let[eb,eM]=ew.validate(em,{coerce:!0});if(!eb)return eM}return em},validator(ew,eM){let eC=[];for(let em of eb){let[...eb]=eI(ew,em,eM),[eT]=eb;if(!eT[0])return[];for(let[em]of eb)em&&eC.push(em)}return[`Expected the value to satisfy a union of \`${em}\`, but received: ${eE(ew)}`,...eC]}})}function tR(){return eU("unknown",()=>!0)}function tB(eb,em,ew){return new eD({...eb,coercer:(eM,eC)=>eB(eM,em)?eb.coercer(ew(eM,eC),eC):eb.coercer(eM,eC)})}function tF(eb,em,ew={}){return tB(eb,tR(),eb=>{let eM="function"==typeof em?em():em;if(void 0===eb)return eM;if(!ew.strict&&e_(eb)&&e_(eM)){let em={...eb},ew=!1;for(let eb in eM)void 0===em[eb]&&(em[eb]=eM[eb],ew=!0);if(ew)return em}return eb})}function tj(eb){return tB(eb,tI(),eb=>eb.trim())}function tU(eb){return tK(eb,"empty",em=>{let ew=tV(em);return 0===ew||`Expected an empty ${eb.type} but received one with a size of \`${ew}\``})}function tV(eb){return eb instanceof Map||eb instanceof Set?eb.size:eb.length}function tH(eb,em,ew={}){let{exclusive:eM}=ew;return tK(eb,"max",ew=>eM?eweM?ew>em:ew>=em||`Expected a ${eb.type} greater than ${eM?"":"or equal to "}${em} but received \`${ew}\``)}function tq(eb){return tK(eb,"nonempty",em=>{let ew=tV(em);return ew>0||`Expected a nonempty ${eb.type} but received an empty one`})}function tW(eb,em){return tK(eb,"pattern",ew=>em.test(ew)||`Expected a ${eb.type} matching \`/${em.source}/\` but received "${ew}"`)}function tZ(eb,em,ew=em){let eM=`Expected a ${eb.type}`,eC=em===ew?`of \`${em}\``:`between \`${em}\` and \`${ew}\``;return tK(eb,"size",eb=>{if("number"==typeof eb||eb instanceof Date)return em<=eb&&eb<=ew||`${eM} ${eC} but received \`${eb}\``;if(eb instanceof Map||eb instanceof Set){let{size:eT}=eb;return em<=eT&&eT<=ew||`${eM} with a size ${eC} but received one with a size of \`${eT}\``}{let{length:eT}=eb;return em<=eT&&eT<=ew||`${eM} with a length ${eC} but received one with a length of \`${eT}\``}})}function tK(eb,em,ew){return new eD({...eb,*refiner(eM,eC){yield*eb.refiner(eM,eC);let eT=ew(eM,eC),e_=eN(eT,eC,eb,eM);for(let eb of e_)yield{...eb,refinement:em}}})}},21127:function(eb,em,ew){"use strict";function eM(eb,em,ew){return em<=eb&&eb<=ew}function eC(eb){if(void 0===eb)return{};if(eb===Object(eb))return eb;throw TypeError("Could not convert argument to dictionary")}function eT(eb){for(var em=String(eb),ew=em.length,eM=0,eC=[];eM57343)eC.push(eT);else if(56320<=eT&&eT<=57343)eC.push(65533);else if(55296<=eT&&eT<=56319){if(eM===ew-1)eC.push(65533);else{var e_=eb.charCodeAt(eM+1);if(56320<=e_&&e_<=57343){var eE=1023&eT,eS=1023&e_;eC.push(65536+(eE<<10)+eS),eM+=1}else eC.push(65533)}}eM+=1}return eC}function e_(eb){for(var em="",ew=0;ew>10)+55296,(1023&eM)+56320))}return em}ew.r(em),ew.d(em,{TextDecoder:function(){return eD},TextEncoder:function(){return eO}});var eE=-1;function eS(eb){this.tokens=[].slice.call(eb)}eS.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():eE},prepend:function(eb){if(Array.isArray(eb))for(var em=eb;em.length;)this.tokens.unshift(em.pop());else this.tokens.unshift(eb)},push:function(eb){if(Array.isArray(eb))for(var em=eb;em.length;)this.tokens.push(em.shift());else this.tokens.push(eb)}};var eA=-1;function eN(eb,em){if(eb)throw TypeError("Decoder error");return em||65533}var eI="utf-8";function eD(eb,em){if(!(this instanceof eD))return new eD(eb,em);if((eb=void 0!==eb?String(eb).toLowerCase():eI)!==eI)throw Error("Encoding not supported. Only utf-8 is supported");em=eC(em),this._streaming=!1,this._BOMseen=!1,this._decoder=null,this._fatal=!!em.fatal,this._ignoreBOM=!!em.ignoreBOM,Object.defineProperty(this,"encoding",{value:"utf-8"}),Object.defineProperty(this,"fatal",{value:this._fatal}),Object.defineProperty(this,"ignoreBOM",{value:this._ignoreBOM})}function eO(eb,em){if(!(this instanceof eO))return new eO(eb,em);if((eb=void 0!==eb?String(eb).toLowerCase():eI)!==eI)throw Error("Encoding not supported. Only utf-8 is supported");em=eC(em),this._streaming=!1,this._encoder=null,this._options={fatal:!!em.fatal},Object.defineProperty(this,"encoding",{value:"utf-8"})}function eP(eb){var em=eb.fatal,ew=0,eC=0,eT=0,e_=128,eS=191;this.handler=function(eb,eI){if(eI===eE&&0!==eT)return eT=0,eN(em);if(eI===eE)return eA;if(0===eT){if(eM(eI,0,127))return eI;if(eM(eI,194,223))eT=1,ew=eI-192;else if(eM(eI,224,239))224===eI&&(e_=160),237===eI&&(eS=159),eT=2,ew=eI-224;else{if(!eM(eI,240,244))return eN(em);240===eI&&(e_=144),244===eI&&(eS=143),eT=3,ew=eI-240}return ew<<=6*eT,null}if(!eM(eI,e_,eS))return ew=eT=eC=0,e_=128,eS=191,eb.prepend(eI),eN(em);if(e_=128,eS=191,eC+=1,ew+=eI-128<<6*(eT-eC),eC!==eT)return null;var eD=ew;return ew=eT=eC=0,eD}}function eR(eb){eb.fatal,this.handler=function(eb,em){if(em===eE)return eA;if(eM(em,0,127))return em;eM(em,128,2047)?(ew=1,eC=192):eM(em,2048,65535)?(ew=2,eC=224):eM(em,65536,1114111)&&(ew=3,eC=240);for(var ew,eC,eT=[(em>>6*ew)+eC];ew>0;){var e_=em>>6*(ew-1);eT.push(128|63&e_),ew-=1}return eT}}eD.prototype={decode:function(eb,em){ew="object"==typeof eb&&eb instanceof ArrayBuffer?new Uint8Array(eb):"object"==typeof eb&&"buffer"in eb&&eb.buffer instanceof ArrayBuffer?new Uint8Array(eb.buffer,eb.byteOffset,eb.byteLength):new Uint8Array(0),em=eC(em),this._streaming||(this._decoder=new eP({fatal:this._fatal}),this._BOMseen=!1),this._streaming=!!em.stream;for(var ew,eM,eT=new eS(ew),eE=[];!eT.endOfStream()&&(eM=this._decoder.handler(eT,eT.read()))!==eA;)null!==eM&&(Array.isArray(eM)?eE.push.apply(eE,eM):eE.push(eM));if(!this._streaming){do{if((eM=this._decoder.handler(eT,eT.read()))===eA)break;if(null===eM)continue;Array.isArray(eM)?eE.push.apply(eE,eM):eE.push(eM)}while(!eT.endOfStream());this._decoder=null}return!eE.length||-1===["utf-8"].indexOf(this.encoding)||this._ignoreBOM||this._BOMseen||(65279===eE[0]?(this._BOMseen=!0,eE.shift()):this._BOMseen=!0),e_(eE)}},eO.prototype={encode:function(eb,em){eb=eb?String(eb):"",em=eC(em),this._streaming||(this._encoder=new eR(this._options)),this._streaming=!!em.stream;for(var ew,eM=[],e_=new eS(eT(eb));!e_.endOfStream()&&(ew=this._encoder.handler(e_,e_.read()))!==eA;)Array.isArray(ew)?eM.push.apply(eM,ew):eM.push(ew);if(!this._streaming){for(;(ew=this._encoder.handler(e_,e_.read()))!==eA;)Array.isArray(ew)?eM.push.apply(eM,ew):eM.push(ew);this._encoder=null}return new Uint8Array(eM)}}},97582:function(eb,em,ew){"use strict";ew.r(em),ew.d(em,{__addDisposableResource:function(){return e5},__assign:function(){return eT},__asyncDelegator:function(){return eK},__asyncGenerator:function(){return eZ},__asyncValues:function(){return eG},__await:function(){return eW},__awaiter:function(){return eP},__classPrivateFieldGet:function(){return e6},__classPrivateFieldIn:function(){return e3},__classPrivateFieldSet:function(){return e4},__createBinding:function(){return eB},__decorate:function(){return eE},__disposeResources:function(){return e9},__esDecorate:function(){return eA},__exportStar:function(){return eF},__extends:function(){return eC},__generator:function(){return eR},__importDefault:function(){return e0},__importStar:function(){return eQ},__makeTemplateObject:function(){return eY},__metadata:function(){return eO},__param:function(){return eS},__propKey:function(){return eI},__read:function(){return eU},__rest:function(){return e_},__rewriteRelativeImportExtension:function(){return e7},__runInitializers:function(){return eN},__setFunctionName:function(){return eD},__spread:function(){return eV},__spreadArray:function(){return e$},__spreadArrays:function(){return eH},__values:function(){return ej}});var eM=function(eb,em){return(eM=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(eb,em){eb.__proto__=em}||function(eb,em){for(var ew in em)Object.prototype.hasOwnProperty.call(em,ew)&&(eb[ew]=em[ew])})(eb,em)};function eC(eb,em){if("function"!=typeof em&&null!==em)throw TypeError("Class extends value "+String(em)+" is not a constructor or null");function ew(){this.constructor=eb}eM(eb,em),eb.prototype=null===em?Object.create(em):(ew.prototype=em.prototype,new ew)}var eT=function(){return(eT=Object.assign||function(eb){for(var em,ew=1,eM=arguments.length;ewem.indexOf(eM)&&(ew[eM]=eb[eM]);if(null!=eb&&"function"==typeof Object.getOwnPropertySymbols)for(var eC=0,eM=Object.getOwnPropertySymbols(eb);eCem.indexOf(eM[eC])&&Object.prototype.propertyIsEnumerable.call(eb,eM[eC])&&(ew[eM[eC]]=eb[eM[eC]]);return ew}function eE(eb,em,ew,eM){var eC,eT=arguments.length,e_=eT<3?em:null===eM?eM=Object.getOwnPropertyDescriptor(em,ew):eM;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)e_=Reflect.decorate(eb,em,ew,eM);else for(var eE=eb.length-1;eE>=0;eE--)(eC=eb[eE])&&(e_=(eT<3?eC(e_):eT>3?eC(em,ew,e_):eC(em,ew))||e_);return eT>3&&e_&&Object.defineProperty(em,ew,e_),e_}function eS(eb,em){return function(ew,eM){em(ew,eM,eb)}}function eA(eb,em,ew,eM,eC,eT){function e_(eb){if(void 0!==eb&&"function"!=typeof eb)throw TypeError("Function expected");return eb}for(var eE,eS=eM.kind,eA="getter"===eS?"get":"setter"===eS?"set":"value",eN=!em&&eb?eM.static?eb:eb.prototype:null,eI=em||(eN?Object.getOwnPropertyDescriptor(eN,eM.name):{}),eD=!1,eO=ew.length-1;eO>=0;eO--){var eP={};for(var eR in eM)eP[eR]="access"===eR?{}:eM[eR];for(var eR in eM.access)eP.access[eR]=eM.access[eR];eP.addInitializer=function(eb){if(eD)throw TypeError("Cannot add initializers after decoration has completed");eT.push(e_(eb||null))};var eB=(0,ew[eO])("accessor"===eS?{get:eI.get,set:eI.set}:eI[eA],eP);if("accessor"===eS){if(void 0===eB)continue;if(null===eB||"object"!=typeof eB)throw TypeError("Object expected");(eE=e_(eB.get))&&(eI.get=eE),(eE=e_(eB.set))&&(eI.set=eE),(eE=e_(eB.init))&&eC.unshift(eE)}else(eE=e_(eB))&&("field"===eS?eC.unshift(eE):eI[eA]=eE)}eN&&Object.defineProperty(eN,eM.name,eI),eD=!0}function eN(eb,em,ew){for(var eM=arguments.length>2,eC=0;eC0&&eC[eC.length-1])&&(6===eE[0]||2===eE[0])){eT=0;continue}if(3===eE[0]&&(!eC||eE[1]>eC[0]&&eE[1]=eb.length&&(eb=void 0),{value:eb&&eb[eM++],done:!eb}}};throw TypeError(em?"Object is not iterable.":"Symbol.iterator is not defined.")}function eU(eb,em){var ew="function"==typeof Symbol&&eb[Symbol.iterator];if(!ew)return eb;var eM,eC,eT=ew.call(eb),e_=[];try{for(;(void 0===em||em-- >0)&&!(eM=eT.next()).done;)e_.push(eM.value)}catch(eb){eC={error:eb}}finally{try{eM&&!eM.done&&(ew=eT.return)&&ew.call(eT)}finally{if(eC)throw eC.error}}return e_}function eV(){for(var eb=[],em=0;em1||eS(eb,em)})},em&&(eM[eb]=em(eM[eb])))}function eS(eb,em){try{eA(eC[eb](em))}catch(eb){eD(eT[0][3],eb)}}function eA(eb){eb.value instanceof eW?Promise.resolve(eb.value.v).then(eN,eI):eD(eT[0][2],eb)}function eN(eb){eS("next",eb)}function eI(eb){eS("throw",eb)}function eD(eb,em){eb(em),eT.shift(),eT.length&&eS(eT[0][0],eT[0][1])}}function eK(eb){var em,ew;return em={},eM("next"),eM("throw",function(eb){throw eb}),eM("return"),em[Symbol.iterator]=function(){return this},em;function eM(eM,eC){em[eM]=eb[eM]?function(em){return(ew=!ew)?{value:eW(eb[eM](em)),done:!1}:eC?eC(em):em}:eC}}function eG(eb){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var em,ew=eb[Symbol.asyncIterator];return ew?ew.call(eb):(eb=ej(eb),em={},eM("next"),eM("throw"),eM("return"),em[Symbol.asyncIterator]=function(){return this},em);function eM(ew){em[ew]=eb[ew]&&function(em){return new Promise(function(eM,eT){eC(eM,eT,(em=eb[ew](em)).done,em.value)})}}function eC(eb,em,ew,eM){Promise.resolve(eM).then(function(em){eb({value:em,done:ew})},em)}}function eY(eb,em){return Object.defineProperty?Object.defineProperty(eb,"raw",{value:em}):eb.raw=em,eb}var eJ=Object.create?function(eb,em){Object.defineProperty(eb,"default",{enumerable:!0,value:em})}:function(eb,em){eb.default=em},eX=function(eb){return(eX=Object.getOwnPropertyNames||function(eb){var em=[];for(var ew in eb)Object.prototype.hasOwnProperty.call(eb,ew)&&(em[em.length]=ew);return em})(eb)};function eQ(eb){if(eb&&eb.__esModule)return eb;var em={};if(null!=eb)for(var ew=eX(eb),eM=0;eMnew Proxy(eb,em),eS=Object.getPrototypeOf,eA=new WeakMap,eN=eb=>eb&&(eA.has(eb)?eA.get(eb):eS(eb)===Object.prototype||eS(eb)===Array.prototype),eI=eb=>"object"==typeof eb&&null!==eb,eD=eb=>{if(Array.isArray(eb))return Array.from(eb);let em=Object.getOwnPropertyDescriptors(eb);return Object.values(em).forEach(eb=>{eb.configurable=!0}),Object.create(eS(eb),em)},eO=eb=>eb[eC]||eb,eP=(eb,em,ew,eS)=>{if(!eN(eb))return eb;let eA=eS&&eS.get(eb);if(!eA){var eI;let em=eO(eb);eA=Object.values(Object.getOwnPropertyDescriptors(eI=em)).some(eb=>!eb.configurable&&!eb.writable)?[em,eD(em)]:[em],null==eS||eS.set(eb,eA)}let[eR,eB]=eA,eF=ew&&ew.get(eR);return eF&&!!eB===eF[1].f||((eF=((eb,em)=>{let ew={f:em},eE=!1,eS=(em,eM)=>{if(!eE){let eC=ew[eT].get(eb);if(eC||(eC={},ew[eT].set(eb,eC)),em===e_)eC[e_]=!0;else{let eb=eC[em];eb||(eb=new Set,eC[em]=eb),eb.add(eM)}}},eA={get:(em,eM)=>eM===eC?eb:(eS("k",eM),eP(Reflect.get(em,eM),ew[eT],ew.c,ew.t)),has:(em,eC)=>eC===eM?(eE=!0,ew[eT].delete(eb),!0):(eS("h",eC),Reflect.has(em,eC)),getOwnPropertyDescriptor:(eb,em)=>(eS("o",em),Reflect.getOwnPropertyDescriptor(eb,em)),ownKeys:eb=>(eS(e_),Reflect.ownKeys(eb))};return em&&(eA.set=eA.deleteProperty=()=>!1),[eA,ew]})(eR,!!eB))[1].p=eE(eB||eR,eF[0]),ew&&ew.set(eR,eF)),eF[1][eT]=em,eF[1].c=ew,eF[1].t=eS,eF[1].p},eR=(eb,em,ew,eM)=>{if(Object.is(eb,em))return!1;if(!eI(eb)||!eI(em))return!0;let eC=ew.get(eO(eb));if(!eC)return!0;if(eM){let ew=eM.get(eb);if(ew&&ew.n===em)return ew.g;eM.set(eb,{n:em,g:!1})}let eT=null;try{for(let ew of eC.h||[])if(eT=Reflect.has(eb,ew)!==Reflect.has(em,ew))return eT;if(!0===eC[e_]){if(eT=((eb,em)=>{let ew=Reflect.ownKeys(eb),eM=Reflect.ownKeys(em);return ew.length!==eM.length||ew.some((eb,em)=>eb!==eM[em])})(eb,em))return eT}else for(let ew of eC.o||[])if(eT=!!Reflect.getOwnPropertyDescriptor(eb,ew)!=!!Reflect.getOwnPropertyDescriptor(em,ew))return eT;for(let e_ of eC.k||[])if(eT=eR(eb[e_],em[e_],ew,eM))return eT;return null===eT&&(eT=!0),eT}finally{eM&&eM.set(eb,{n:em,g:eT})}},eB=eb=>eN(eb)&&eb[eC]||null,eF=(eb,em=!0)=>{eA.set(eb,em)},ej=eb=>"object"==typeof eb&&null!==eb,eU=new WeakMap,eV=new WeakSet,eH=(eb=Object.is,em=(eb,em)=>new Proxy(eb,em),ew=eb=>ej(eb)&&!eV.has(eb)&&(Array.isArray(eb)||!(Symbol.iterator in eb))&&!(eb instanceof WeakMap)&&!(eb instanceof WeakSet)&&!(eb instanceof Error)&&!(eb instanceof Number)&&!(eb instanceof Date)&&!(eb instanceof String)&&!(eb instanceof RegExp)&&!(eb instanceof ArrayBuffer),eM=eb=>{switch(eb.status){case"fulfilled":return eb.value;case"rejected":throw eb.reason;default:throw eb}},eC=new WeakMap,eT=(eb,em,ew=eM)=>{let e_=eC.get(eb);if((null==e_?void 0:e_[0])===em)return e_[1];let eE=Array.isArray(eb)?[]:Object.create(Object.getPrototypeOf(eb));return eF(eE,!0),eC.set(eb,[em,eE]),Reflect.ownKeys(eb).forEach(em=>{if(Object.getOwnPropertyDescriptor(eE,em))return;let eM=Reflect.get(eb,em),eC={value:eM,enumerable:!0,configurable:!0};if(eV.has(eM))eF(eM,!1);else if(eM instanceof Promise)delete eC.value,eC.get=()=>ew(eM);else if(eU.has(eM)){let[eb,em]=eU.get(eM);eC.value=eT(eb,em(),ew)}Object.defineProperty(eE,em,eC)}),Object.preventExtensions(eE)},e_=new WeakMap,eE=[1,1],eS=eM=>{if(!ej(eM))throw Error("object required");let eC=e_.get(eM);if(eC)return eC;let eA=eE[0],eN=new Set,eI=(eb,em=++eE[0])=>{eA!==em&&(eA=em,eN.forEach(ew=>ew(eb,em)))},eD=eE[1],eO=(eb=++eE[1])=>(eD===eb||eN.size||(eD=eb,eR.forEach(([em])=>{let ew=em[1](eb);ew>eA&&(eA=ew)})),eA),eP=eb=>(em,ew)=>{let eM=[...em];eM[1]=[eb,...eM[1]],eI(eM,ew)},eR=new Map,eF=(eb,em)=>{if(eR.has(eb))throw Error("prop listener already exists");if(eN.size){let ew=em[3](eP(eb));eR.set(eb,[em,ew])}else eR.set(eb,[em])},eH=eb=>{var em;let ew=eR.get(eb);ew&&(eR.delete(eb),null==(em=ew[1])||em.call(ew))},e$=eb=>{eN.add(eb),1===eN.size&&eR.forEach(([eb,em],ew)=>{if(em)throw Error("remove already exists");let eM=eb[3](eP(ew));eR.set(ew,[eb,eM])});let em=()=>{eN.delete(eb),0===eN.size&&eR.forEach(([eb,em],ew)=>{em&&(em(),eR.set(ew,[eb]))})};return em},eW=Array.isArray(eM)?[]:Object.create(Object.getPrototypeOf(eM)),eZ={deleteProperty(eb,em){let ew=Reflect.get(eb,em);eH(em);let eM=Reflect.deleteProperty(eb,em);return eM&&eI(["delete",[em],ew]),eM},set(em,eM,eC,eT){let eE=Reflect.has(em,eM),eA=Reflect.get(em,eM,eT);if(eE&&(eb(eA,eC)||e_.has(eC)&&eb(eA,e_.get(eC))))return!0;eH(eM),ej(eC)&&(eC=eB(eC)||eC);let eN=eC;if(eC instanceof Promise)eC.then(eb=>{eC.status="fulfilled",eC.value=eb,eI(["resolve",[eM],eb])}).catch(eb=>{eC.status="rejected",eC.reason=eb,eI(["reject",[eM],eb])});else{!eU.has(eC)&&ew(eC)&&(eN=eS(eC));let eb=!eV.has(eN)&&eU.get(eN);eb&&eF(eM,eb)}return Reflect.set(em,eM,eN,eT),eI(["set",[eM],eC,eA]),!0}},eK=em(eW,eZ);e_.set(eM,eK);let eG=[eW,eO,eT,e$];return eU.set(eK,eG),Reflect.ownKeys(eM).forEach(eb=>{let em=Object.getOwnPropertyDescriptor(eM,eb);"value"in em&&(eK[eb]=eM[eb],delete em.value,delete em.writable),Object.defineProperty(eW,eb,em)}),eK})=>[eS,eU,eV,eb,em,ew,eM,eC,eT,e_,eE],[e$]=eH();function eW(eb={}){return e$(eb)}function eZ(eb,em,ew){let eM;let eC=eU.get(eb);eC||console.warn("Please use proxy object");let eT=[],e_=eC[3],eE=!1,eS=eb=>{if(eT.push(eb),ew){em(eT.splice(0));return}eM||(eM=Promise.resolve().then(()=>{eM=void 0,eE&&em(eT.splice(0))}))},eA=e_(eS);return eE=!0,()=>{eE=!1,eA()}}function eK(eb,em){let ew=eU.get(eb);ew||console.warn("Please use proxy object");let[eM,eC,eT]=ew;return eT(eM,eC(),em)}function eG(eb){return eV.add(eb),eb}},73932:function(eb,em,ew){"use strict";let eM;ew.d(em,{VW:function(){return eT}});var eC=ew(17832);function eT(eb,em,ew,eM){let eT=eb[em];return(0,eC.Ld)(eb,()=>{let eM=eb[em];Object.is(eT,eM)||ew(eT=eM)},eM)}Symbol();let e_=new WeakMap;new WeakMap;let eE=(eb,em)=>{let ew=e_.get(eb);ew&&(ew[0].forEach(em=>{let{d:ew}=em;eb!==ew&&eE(ew)}),++ew[2],em&&ew[3].add(em))},eS=eb=>{let em=e_.get(eb);em&&(--em[2],em[2]||(em[3].forEach(eb=>eb()),em[3].clear()),em[0].forEach(em=>{let{d:ew}=em;eb!==ew&&eS(ew)}))},eA=eb=>"object"==typeof eb&&null!==eb,eN=eb=>{if(eM||(eM=unstable_buildProxyFunction()[2]),!eA(eb)||eM.has(eb))return eb;let em=Array.isArray(eb)?[]:Object.create(Object.getPrototypeOf(eb));return Reflect.ownKeys(eb).forEach(ew=>{em[ew]=eN(eb[ew])}),em}},1604:function(eb,em,ew){"use strict";let eM;ew.d(em,{jm:function(){return eS},z:function(){return rU}}),function(eb){function em(eb){}function ew(eb){throw Error()}function eM(eb,em=" | "){return eb.map(eb=>"string"==typeof eb?`'${eb}'`:eb).join(em)}eb.assertEqual=eb=>eb,eb.assertIs=em,eb.assertNever=ew,eb.arrayToEnum=eb=>{let em={};for(let ew of eb)em[ew]=ew;return em},eb.getValidEnumValues=em=>{let ew=eb.objectKeys(em).filter(eb=>"number"!=typeof em[em[eb]]),eM={};for(let eb of ew)eM[eb]=em[eb];return eb.objectValues(eM)},eb.objectValues=em=>eb.objectKeys(em).map(function(eb){return em[eb]}),eb.objectKeys="function"==typeof Object.keys?eb=>Object.keys(eb):eb=>{let em=[];for(let ew in eb)Object.prototype.hasOwnProperty.call(eb,ew)&&em.push(ew);return em},eb.find=(eb,em)=>{for(let ew of eb)if(em(ew))return ew},eb.isInteger="function"==typeof Number.isInteger?eb=>Number.isInteger(eb):eb=>"number"==typeof eb&&isFinite(eb)&&Math.floor(eb)===eb,eb.joinValues=eM,eb.jsonStringifyReplacer=(eb,em)=>"bigint"==typeof em?em.toString():em}(rR||(rR={})),function(eb){eb.mergeShapes=(eb,em)=>({...eb,...em})}(rB||(rB={}));let eC=rR.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),eT=eb=>{let em=typeof eb;switch(em){case"undefined":return eC.undefined;case"string":return eC.string;case"number":return isNaN(eb)?eC.nan:eC.number;case"boolean":return eC.boolean;case"function":return eC.function;case"bigint":return eC.bigint;case"symbol":return eC.symbol;case"object":if(Array.isArray(eb))return eC.array;if(null===eb)return eC.null;if(eb.then&&"function"==typeof eb.then&&eb.catch&&"function"==typeof eb.catch)return eC.promise;if("undefined"!=typeof Map&&eb instanceof Map)return eC.map;if("undefined"!=typeof Set&&eb instanceof Set)return eC.set;if("undefined"!=typeof Date&&eb instanceof Date)return eC.date;return eC.object;default:return eC.unknown}},e_=rR.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"]),eE=eb=>{let em=JSON.stringify(eb,null,2);return em.replace(/"([^"]+)":/g,"$1:")};class eS extends Error{constructor(eb){super(),this.issues=[],this.addIssue=eb=>{this.issues=[...this.issues,eb]},this.addIssues=(eb=[])=>{this.issues=[...this.issues,...eb]};let em=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,em):this.__proto__=em,this.name="ZodError",this.issues=eb}get errors(){return this.issues}format(eb){let em=eb||function(eb){return eb.message},ew={_errors:[]},eM=eb=>{for(let eC of eb.issues)if("invalid_union"===eC.code)eC.unionErrors.map(eM);else if("invalid_return_type"===eC.code)eM(eC.returnTypeError);else if("invalid_arguments"===eC.code)eM(eC.argumentsError);else if(0===eC.path.length)ew._errors.push(em(eC));else{let eb=ew,eM=0;for(;eMeb.message){let em={},ew=[];for(let eM of this.issues)eM.path.length>0?(em[eM.path[0]]=em[eM.path[0]]||[],em[eM.path[0]].push(eb(eM))):ew.push(eb(eM));return{formErrors:ew,fieldErrors:em}}get formErrors(){return this.flatten()}}eS.create=eb=>{let em=new eS(eb);return em};let eA=(eb,em)=>{let ew;switch(eb.code){case e_.invalid_type:ew=eb.received===eC.undefined?"Required":`Expected ${eb.expected}, received ${eb.received}`;break;case e_.invalid_literal:ew=`Invalid literal value, expected ${JSON.stringify(eb.expected,rR.jsonStringifyReplacer)}`;break;case e_.unrecognized_keys:ew=`Unrecognized key(s) in object: ${rR.joinValues(eb.keys,", ")}`;break;case e_.invalid_union:ew="Invalid input";break;case e_.invalid_union_discriminator:ew=`Invalid discriminator value. Expected ${rR.joinValues(eb.options)}`;break;case e_.invalid_enum_value:ew=`Invalid enum value. Expected ${rR.joinValues(eb.options)}, received '${eb.received}'`;break;case e_.invalid_arguments:ew="Invalid function arguments";break;case e_.invalid_return_type:ew="Invalid function return type";break;case e_.invalid_date:ew="Invalid date";break;case e_.invalid_string:"object"==typeof eb.validation?"includes"in eb.validation?(ew=`Invalid input: must include "${eb.validation.includes}"`,"number"==typeof eb.validation.position&&(ew=`${ew} at one or more positions greater than or equal to ${eb.validation.position}`)):"startsWith"in eb.validation?ew=`Invalid input: must start with "${eb.validation.startsWith}"`:"endsWith"in eb.validation?ew=`Invalid input: must end with "${eb.validation.endsWith}"`:rR.assertNever(eb.validation):ew="regex"!==eb.validation?`Invalid ${eb.validation}`:"Invalid";break;case e_.too_small:ew="array"===eb.type?`Array must contain ${eb.exact?"exactly":eb.inclusive?"at least":"more than"} ${eb.minimum} element(s)`:"string"===eb.type?`String must contain ${eb.exact?"exactly":eb.inclusive?"at least":"over"} ${eb.minimum} character(s)`:"number"===eb.type?`Number must be ${eb.exact?"exactly equal to ":eb.inclusive?"greater than or equal to ":"greater than "}${eb.minimum}`:"date"===eb.type?`Date must be ${eb.exact?"exactly equal to ":eb.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(eb.minimum))}`:"Invalid input";break;case e_.too_big:ew="array"===eb.type?`Array must contain ${eb.exact?"exactly":eb.inclusive?"at most":"less than"} ${eb.maximum} element(s)`:"string"===eb.type?`String must contain ${eb.exact?"exactly":eb.inclusive?"at most":"under"} ${eb.maximum} character(s)`:"number"===eb.type?`Number must be ${eb.exact?"exactly":eb.inclusive?"less than or equal to":"less than"} ${eb.maximum}`:"bigint"===eb.type?`BigInt must be ${eb.exact?"exactly":eb.inclusive?"less than or equal to":"less than"} ${eb.maximum}`:"date"===eb.type?`Date must be ${eb.exact?"exactly":eb.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(eb.maximum))}`:"Invalid input";break;case e_.custom:ew="Invalid input";break;case e_.invalid_intersection_types:ew="Intersection results could not be merged";break;case e_.not_multiple_of:ew=`Number must be a multiple of ${eb.multipleOf}`;break;case e_.not_finite:ew="Number must be finite";break;default:ew=em.defaultError,rR.assertNever(eb)}return{message:ew}},eN=eA;function eI(eb){eN=eb}function eD(){return eN}let eO=eb=>{let{data:em,path:ew,errorMaps:eM,issueData:eC}=eb,eT=[...ew,...eC.path||[]],e_={...eC,path:eT},eE="",eS=eM.filter(eb=>!!eb).slice().reverse();for(let eb of eS)eE=eb(e_,{data:em,defaultError:eE}).message;return{...eC,path:eT,message:eC.message||eE}},eP=[];function eR(eb,em){let ew=eO({issueData:em,data:eb.data,path:eb.path,errorMaps:[eb.common.contextualErrorMap,eb.schemaErrorMap,eD(),eA].filter(eb=>!!eb)});eb.common.issues.push(ew)}class eB{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(eb,em){let ew=[];for(let eM of em){if("aborted"===eM.status)return eF;"dirty"===eM.status&&eb.dirty(),ew.push(eM.value)}return{status:eb.value,value:ew}}static async mergeObjectAsync(eb,em){let ew=[];for(let eb of em)ew.push({key:await eb.key,value:await eb.value});return eB.mergeObjectSync(eb,ew)}static mergeObjectSync(eb,em){let ew={};for(let eM of em){let{key:em,value:eC}=eM;if("aborted"===em.status||"aborted"===eC.status)return eF;"dirty"===em.status&&eb.dirty(),"dirty"===eC.status&&eb.dirty(),"__proto__"!==em.value&&(void 0!==eC.value||eM.alwaysSet)&&(ew[em.value]=eC.value)}return{status:eb.value,value:ew}}}let eF=Object.freeze({status:"aborted"}),ej=eb=>({status:"dirty",value:eb}),eU=eb=>({status:"valid",value:eb}),eV=eb=>"aborted"===eb.status,eH=eb=>"dirty"===eb.status,e$=eb=>"valid"===eb.status,eW=eb=>"undefined"!=typeof Promise&&eb instanceof Promise;!function(eb){eb.errToObj=eb=>"string"==typeof eb?{message:eb}:eb||{},eb.toString=eb=>"string"==typeof eb?eb:null==eb?void 0:eb.message}(rF||(rF={}));class eZ{constructor(eb,em,ew,eM){this._cachedPath=[],this.parent=eb,this.data=em,this._path=ew,this._key=eM}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}}let eK=(eb,em)=>{if(e$(em))return{success:!0,data:em.value};if(!eb.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let em=new eS(eb.common.issues);return this._error=em,this._error}}};function eG(eb){if(!eb)return{};let{errorMap:em,invalid_type_error:ew,required_error:eM,description:eC}=eb;if(em&&(ew||eM))throw Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(em)return{errorMap:em,description:eC};let eT=(eb,em)=>"invalid_type"!==eb.code?{message:em.defaultError}:void 0===em.data?{message:null!=eM?eM:em.defaultError}:{message:null!=ew?ew:em.defaultError};return{errorMap:eT,description:eC}}class eY{constructor(eb){this.spa=this.safeParseAsync,this._def=eb,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(eb){return eT(eb.data)}_getOrReturnCtx(eb,em){return em||{common:eb.parent.common,data:eb.data,parsedType:eT(eb.data),schemaErrorMap:this._def.errorMap,path:eb.path,parent:eb.parent}}_processInputParams(eb){return{status:new eB,ctx:{common:eb.parent.common,data:eb.data,parsedType:eT(eb.data),schemaErrorMap:this._def.errorMap,path:eb.path,parent:eb.parent}}}_parseSync(eb){let em=this._parse(eb);if(eW(em))throw Error("Synchronous parse encountered promise.");return em}_parseAsync(eb){let em=this._parse(eb);return Promise.resolve(em)}parse(eb,em){let ew=this.safeParse(eb,em);if(ew.success)return ew.data;throw ew.error}safeParse(eb,em){var ew;let eM={common:{issues:[],async:null!==(ew=null==em?void 0:em.async)&&void 0!==ew&&ew,contextualErrorMap:null==em?void 0:em.errorMap},path:(null==em?void 0:em.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:eb,parsedType:eT(eb)},eC=this._parseSync({data:eb,path:eM.path,parent:eM});return eK(eM,eC)}async parseAsync(eb,em){let ew=await this.safeParseAsync(eb,em);if(ew.success)return ew.data;throw ew.error}async safeParseAsync(eb,em){let ew={common:{issues:[],contextualErrorMap:null==em?void 0:em.errorMap,async:!0},path:(null==em?void 0:em.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:eb,parsedType:eT(eb)},eM=this._parse({data:eb,path:ew.path,parent:ew}),eC=await (eW(eM)?eM:Promise.resolve(eM));return eK(ew,eC)}refine(eb,em){let ew=eb=>"string"==typeof em||void 0===em?{message:em}:"function"==typeof em?em(eb):em;return this._refinement((em,eM)=>{let eC=eb(em),eT=()=>eM.addIssue({code:e_.custom,...ew(em)});return"undefined"!=typeof Promise&&eC instanceof Promise?eC.then(eb=>!!eb||(eT(),!1)):!!eC||(eT(),!1)})}refinement(eb,em){return this._refinement((ew,eM)=>!!eb(ew)||(eM.addIssue("function"==typeof em?em(ew,eM):em),!1))}_refinement(eb){return new nC({schema:this,typeName:rj.ZodEffects,effect:{type:"refinement",refinement:eb}})}superRefine(eb){return this._refinement(eb)}optional(){return nk.create(this,this._def)}nullable(){return nT.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return tR.create(this,this._def)}promise(){return nM.create(this,this._def)}or(eb){return tj.create([this,eb],this._def)}and(eb){return t$.create(this,eb,this._def)}transform(eb){return new nC({...eG(this._def),schema:this,typeName:rj.ZodEffects,effect:{type:"transform",transform:eb}})}default(eb){let em="function"==typeof eb?eb:()=>eb;return new n_({...eG(this._def),innerType:this,defaultValue:em,typeName:rj.ZodDefault})}brand(){return new nN({typeName:rj.ZodBranded,type:this,...eG(this._def)})}catch(eb){let em="function"==typeof eb?eb:()=>eb;return new nE({...eG(this._def),innerType:this,catchValue:em,typeName:rj.ZodCatch})}describe(eb){let em=this.constructor;return new em({...this._def,description:eb})}pipe(eb){return nI.create(this,eb)}readonly(){return nD.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}let eJ=/^c[^\s-]{8,}$/i,eX=/^[a-z][a-z0-9]*$/,eQ=/^[0-9A-HJKMNP-TV-Z]{26}$/,e0=/^[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,e6=/^(?!\.)(?!.*\.\.)([A-Z0-9_+-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,e4="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",e3=/^(((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}))$/,e5=/^(([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})))$/,e8=eb=>eb.precision?eb.offset?RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${eb.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${eb.precision}}Z$`):0===eb.precision?eb.offset?RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):eb.offset?RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$");function e9(eb,em){return!!(("v4"===em||!em)&&e3.test(eb)||("v6"===em||!em)&&e5.test(eb))}class e7 extends eY{_parse(eb){let em;this._def.coerce&&(eb.data=String(eb.data));let ew=this._getType(eb);if(ew!==eC.string){let em=this._getOrReturnCtx(eb);return eR(em,{code:e_.invalid_type,expected:eC.string,received:em.parsedType}),eF}let eT=new eB;for(let ew of this._def.checks)if("min"===ew.kind)eb.data.lengthew.value&&(eR(em=this._getOrReturnCtx(eb,em),{code:e_.too_big,maximum:ew.value,type:"string",inclusive:!0,exact:!1,message:ew.message}),eT.dirty());else if("length"===ew.kind){let eM=eb.data.length>ew.value,eC=eb.data.lengtheb.test(em),{validation:em,code:e_.invalid_string,...rF.errToObj(ew)})}_addCheck(eb){return new e7({...this._def,checks:[...this._def.checks,eb]})}email(eb){return this._addCheck({kind:"email",...rF.errToObj(eb)})}url(eb){return this._addCheck({kind:"url",...rF.errToObj(eb)})}emoji(eb){return this._addCheck({kind:"emoji",...rF.errToObj(eb)})}uuid(eb){return this._addCheck({kind:"uuid",...rF.errToObj(eb)})}cuid(eb){return this._addCheck({kind:"cuid",...rF.errToObj(eb)})}cuid2(eb){return this._addCheck({kind:"cuid2",...rF.errToObj(eb)})}ulid(eb){return this._addCheck({kind:"ulid",...rF.errToObj(eb)})}ip(eb){return this._addCheck({kind:"ip",...rF.errToObj(eb)})}datetime(eb){var em;return"string"==typeof eb?this._addCheck({kind:"datetime",precision:null,offset:!1,message:eb}):this._addCheck({kind:"datetime",precision:void 0===(null==eb?void 0:eb.precision)?null:null==eb?void 0:eb.precision,offset:null!==(em=null==eb?void 0:eb.offset)&&void 0!==em&&em,...rF.errToObj(null==eb?void 0:eb.message)})}regex(eb,em){return this._addCheck({kind:"regex",regex:eb,...rF.errToObj(em)})}includes(eb,em){return this._addCheck({kind:"includes",value:eb,position:null==em?void 0:em.position,...rF.errToObj(null==em?void 0:em.message)})}startsWith(eb,em){return this._addCheck({kind:"startsWith",value:eb,...rF.errToObj(em)})}endsWith(eb,em){return this._addCheck({kind:"endsWith",value:eb,...rF.errToObj(em)})}min(eb,em){return this._addCheck({kind:"min",value:eb,...rF.errToObj(em)})}max(eb,em){return this._addCheck({kind:"max",value:eb,...rF.errToObj(em)})}length(eb,em){return this._addCheck({kind:"length",value:eb,...rF.errToObj(em)})}nonempty(eb){return this.min(1,rF.errToObj(eb))}trim(){return new e7({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e7({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e7({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(eb=>"datetime"===eb.kind)}get isEmail(){return!!this._def.checks.find(eb=>"email"===eb.kind)}get isURL(){return!!this._def.checks.find(eb=>"url"===eb.kind)}get isEmoji(){return!!this._def.checks.find(eb=>"emoji"===eb.kind)}get isUUID(){return!!this._def.checks.find(eb=>"uuid"===eb.kind)}get isCUID(){return!!this._def.checks.find(eb=>"cuid"===eb.kind)}get isCUID2(){return!!this._def.checks.find(eb=>"cuid2"===eb.kind)}get isULID(){return!!this._def.checks.find(eb=>"ulid"===eb.kind)}get isIP(){return!!this._def.checks.find(eb=>"ip"===eb.kind)}get minLength(){let eb=null;for(let em of this._def.checks)"min"===em.kind&&(null===eb||em.value>eb)&&(eb=em.value);return eb}get maxLength(){let eb=null;for(let em of this._def.checks)"max"===em.kind&&(null===eb||em.valueeM?ew:eM,eT=parseInt(eb.toFixed(eC).replace(".","")),e_=parseInt(em.toFixed(eC).replace(".",""));return eT%e_/Math.pow(10,eC)}e7.create=eb=>{var em;return new e7({checks:[],typeName:rj.ZodString,coerce:null!==(em=null==eb?void 0:eb.coerce)&&void 0!==em&&em,...eG(eb)})};class tC extends eY{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(eb){let em;this._def.coerce&&(eb.data=Number(eb.data));let ew=this._getType(eb);if(ew!==eC.number){let em=this._getOrReturnCtx(eb);return eR(em,{code:e_.invalid_type,expected:eC.number,received:em.parsedType}),eF}let eM=new eB;for(let ew of this._def.checks)if("int"===ew.kind)rR.isInteger(eb.data)||(eR(em=this._getOrReturnCtx(eb,em),{code:e_.invalid_type,expected:"integer",received:"float",message:ew.message}),eM.dirty());else if("min"===ew.kind){let eC=ew.inclusive?eb.dataew.value:eb.data>=ew.value;eC&&(eR(em=this._getOrReturnCtx(eb,em),{code:e_.too_big,maximum:ew.value,type:"number",inclusive:ew.inclusive,exact:!1,message:ew.message}),eM.dirty())}else"multipleOf"===ew.kind?0!==tw(eb.data,ew.value)&&(eR(em=this._getOrReturnCtx(eb,em),{code:e_.not_multiple_of,multipleOf:ew.value,message:ew.message}),eM.dirty()):"finite"===ew.kind?Number.isFinite(eb.data)||(eR(em=this._getOrReturnCtx(eb,em),{code:e_.not_finite,message:ew.message}),eM.dirty()):rR.assertNever(ew);return{status:eM.value,value:eb.data}}gte(eb,em){return this.setLimit("min",eb,!0,rF.toString(em))}gt(eb,em){return this.setLimit("min",eb,!1,rF.toString(em))}lte(eb,em){return this.setLimit("max",eb,!0,rF.toString(em))}lt(eb,em){return this.setLimit("max",eb,!1,rF.toString(em))}setLimit(eb,em,ew,eM){return new tC({...this._def,checks:[...this._def.checks,{kind:eb,value:em,inclusive:ew,message:rF.toString(eM)}]})}_addCheck(eb){return new tC({...this._def,checks:[...this._def.checks,eb]})}int(eb){return this._addCheck({kind:"int",message:rF.toString(eb)})}positive(eb){return this._addCheck({kind:"min",value:0,inclusive:!1,message:rF.toString(eb)})}negative(eb){return this._addCheck({kind:"max",value:0,inclusive:!1,message:rF.toString(eb)})}nonpositive(eb){return this._addCheck({kind:"max",value:0,inclusive:!0,message:rF.toString(eb)})}nonnegative(eb){return this._addCheck({kind:"min",value:0,inclusive:!0,message:rF.toString(eb)})}multipleOf(eb,em){return this._addCheck({kind:"multipleOf",value:eb,message:rF.toString(em)})}finite(eb){return this._addCheck({kind:"finite",message:rF.toString(eb)})}safe(eb){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:rF.toString(eb)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:rF.toString(eb)})}get minValue(){let eb=null;for(let em of this._def.checks)"min"===em.kind&&(null===eb||em.value>eb)&&(eb=em.value);return eb}get maxValue(){let eb=null;for(let em of this._def.checks)"max"===em.kind&&(null===eb||em.value"int"===eb.kind||"multipleOf"===eb.kind&&rR.isInteger(eb.value))}get isFinite(){let eb=null,em=null;for(let ew of this._def.checks){if("finite"===ew.kind||"int"===ew.kind||"multipleOf"===ew.kind)return!0;"min"===ew.kind?(null===em||ew.value>em)&&(em=ew.value):"max"===ew.kind&&(null===eb||ew.valuenew tC({checks:[],typeName:rj.ZodNumber,coerce:(null==eb?void 0:eb.coerce)||!1,...eG(eb)});class tT extends eY{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(eb){let em;this._def.coerce&&(eb.data=BigInt(eb.data));let ew=this._getType(eb);if(ew!==eC.bigint){let em=this._getOrReturnCtx(eb);return eR(em,{code:e_.invalid_type,expected:eC.bigint,received:em.parsedType}),eF}let eM=new eB;for(let ew of this._def.checks)if("min"===ew.kind){let eC=ew.inclusive?eb.dataew.value:eb.data>=ew.value;eC&&(eR(em=this._getOrReturnCtx(eb,em),{code:e_.too_big,type:"bigint",maximum:ew.value,inclusive:ew.inclusive,message:ew.message}),eM.dirty())}else"multipleOf"===ew.kind?eb.data%ew.value!==BigInt(0)&&(eR(em=this._getOrReturnCtx(eb,em),{code:e_.not_multiple_of,multipleOf:ew.value,message:ew.message}),eM.dirty()):rR.assertNever(ew);return{status:eM.value,value:eb.data}}gte(eb,em){return this.setLimit("min",eb,!0,rF.toString(em))}gt(eb,em){return this.setLimit("min",eb,!1,rF.toString(em))}lte(eb,em){return this.setLimit("max",eb,!0,rF.toString(em))}lt(eb,em){return this.setLimit("max",eb,!1,rF.toString(em))}setLimit(eb,em,ew,eM){return new tT({...this._def,checks:[...this._def.checks,{kind:eb,value:em,inclusive:ew,message:rF.toString(eM)}]})}_addCheck(eb){return new tT({...this._def,checks:[...this._def.checks,eb]})}positive(eb){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:rF.toString(eb)})}negative(eb){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:rF.toString(eb)})}nonpositive(eb){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:rF.toString(eb)})}nonnegative(eb){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:rF.toString(eb)})}multipleOf(eb,em){return this._addCheck({kind:"multipleOf",value:eb,message:rF.toString(em)})}get minValue(){let eb=null;for(let em of this._def.checks)"min"===em.kind&&(null===eb||em.value>eb)&&(eb=em.value);return eb}get maxValue(){let eb=null;for(let em of this._def.checks)"max"===em.kind&&(null===eb||em.value{var em;return new tT({checks:[],typeName:rj.ZodBigInt,coerce:null!==(em=null==eb?void 0:eb.coerce)&&void 0!==em&&em,...eG(eb)})};class t_ extends eY{_parse(eb){this._def.coerce&&(eb.data=!!eb.data);let em=this._getType(eb);if(em!==eC.boolean){let em=this._getOrReturnCtx(eb);return eR(em,{code:e_.invalid_type,expected:eC.boolean,received:em.parsedType}),eF}return eU(eb.data)}}t_.create=eb=>new t_({typeName:rj.ZodBoolean,coerce:(null==eb?void 0:eb.coerce)||!1,...eG(eb)});class tE extends eY{_parse(eb){let em;this._def.coerce&&(eb.data=new Date(eb.data));let ew=this._getType(eb);if(ew!==eC.date){let em=this._getOrReturnCtx(eb);return eR(em,{code:e_.invalid_type,expected:eC.date,received:em.parsedType}),eF}if(isNaN(eb.data.getTime())){let em=this._getOrReturnCtx(eb);return eR(em,{code:e_.invalid_date}),eF}let eM=new eB;for(let ew of this._def.checks)"min"===ew.kind?eb.data.getTime()ew.value&&(eR(em=this._getOrReturnCtx(eb,em),{code:e_.too_big,message:ew.message,inclusive:!0,exact:!1,maximum:ew.value,type:"date"}),eM.dirty()):rR.assertNever(ew);return{status:eM.value,value:new Date(eb.data.getTime())}}_addCheck(eb){return new tE({...this._def,checks:[...this._def.checks,eb]})}min(eb,em){return this._addCheck({kind:"min",value:eb.getTime(),message:rF.toString(em)})}max(eb,em){return this._addCheck({kind:"max",value:eb.getTime(),message:rF.toString(em)})}get minDate(){let eb=null;for(let em of this._def.checks)"min"===em.kind&&(null===eb||em.value>eb)&&(eb=em.value);return null!=eb?new Date(eb):null}get maxDate(){let eb=null;for(let em of this._def.checks)"max"===em.kind&&(null===eb||em.valuenew tE({checks:[],coerce:(null==eb?void 0:eb.coerce)||!1,typeName:rj.ZodDate,...eG(eb)});class tS extends eY{_parse(eb){let em=this._getType(eb);if(em!==eC.symbol){let em=this._getOrReturnCtx(eb);return eR(em,{code:e_.invalid_type,expected:eC.symbol,received:em.parsedType}),eF}return eU(eb.data)}}tS.create=eb=>new tS({typeName:rj.ZodSymbol,...eG(eb)});class tA extends eY{_parse(eb){let em=this._getType(eb);if(em!==eC.undefined){let em=this._getOrReturnCtx(eb);return eR(em,{code:e_.invalid_type,expected:eC.undefined,received:em.parsedType}),eF}return eU(eb.data)}}tA.create=eb=>new tA({typeName:rj.ZodUndefined,...eG(eb)});class tN extends eY{_parse(eb){let em=this._getType(eb);if(em!==eC.null){let em=this._getOrReturnCtx(eb);return eR(em,{code:e_.invalid_type,expected:eC.null,received:em.parsedType}),eF}return eU(eb.data)}}tN.create=eb=>new tN({typeName:rj.ZodNull,...eG(eb)});class tI extends eY{constructor(){super(...arguments),this._any=!0}_parse(eb){return eU(eb.data)}}tI.create=eb=>new tI({typeName:rj.ZodAny,...eG(eb)});class tD extends eY{constructor(){super(...arguments),this._unknown=!0}_parse(eb){return eU(eb.data)}}tD.create=eb=>new tD({typeName:rj.ZodUnknown,...eG(eb)});class tO extends eY{_parse(eb){let em=this._getOrReturnCtx(eb);return eR(em,{code:e_.invalid_type,expected:eC.never,received:em.parsedType}),eF}}tO.create=eb=>new tO({typeName:rj.ZodNever,...eG(eb)});class tP extends eY{_parse(eb){let em=this._getType(eb);if(em!==eC.undefined){let em=this._getOrReturnCtx(eb);return eR(em,{code:e_.invalid_type,expected:eC.void,received:em.parsedType}),eF}return eU(eb.data)}}tP.create=eb=>new tP({typeName:rj.ZodVoid,...eG(eb)});class tR extends eY{_parse(eb){let{ctx:em,status:ew}=this._processInputParams(eb),eM=this._def;if(em.parsedType!==eC.array)return eR(em,{code:e_.invalid_type,expected:eC.array,received:em.parsedType}),eF;if(null!==eM.exactLength){let eb=em.data.length>eM.exactLength.value,eC=em.data.lengtheM.maxLength.value&&(eR(em,{code:e_.too_big,maximum:eM.maxLength.value,type:"array",inclusive:!0,exact:!1,message:eM.maxLength.message}),ew.dirty()),em.common.async)return Promise.all([...em.data].map((eb,ew)=>eM.type._parseAsync(new eZ(em,eb,em.path,ew)))).then(eb=>eB.mergeArray(ew,eb));let eT=[...em.data].map((eb,ew)=>eM.type._parseSync(new eZ(em,eb,em.path,ew)));return eB.mergeArray(ew,eT)}get element(){return this._def.type}min(eb,em){return new tR({...this._def,minLength:{value:eb,message:rF.toString(em)}})}max(eb,em){return new tR({...this._def,maxLength:{value:eb,message:rF.toString(em)}})}length(eb,em){return new tR({...this._def,exactLength:{value:eb,message:rF.toString(em)}})}nonempty(eb){return this.min(1,eb)}}function tB(eb){if(eb instanceof tF){let em={};for(let ew in eb.shape){let eM=eb.shape[ew];em[ew]=nk.create(tB(eM))}return new tF({...eb._def,shape:()=>em})}return eb instanceof tR?new tR({...eb._def,type:tB(eb.element)}):eb instanceof nk?nk.create(tB(eb.unwrap())):eb instanceof nT?nT.create(tB(eb.unwrap())):eb instanceof tq?tq.create(eb.items.map(eb=>tB(eb))):eb}tR.create=(eb,em)=>new tR({type:eb,minLength:null,maxLength:null,exactLength:null,typeName:rj.ZodArray,...eG(em)});class tF extends eY{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;let eb=this._def.shape(),em=rR.objectKeys(eb);return this._cached={shape:eb,keys:em}}_parse(eb){let em=this._getType(eb);if(em!==eC.object){let em=this._getOrReturnCtx(eb);return eR(em,{code:e_.invalid_type,expected:eC.object,received:em.parsedType}),eF}let{status:ew,ctx:eM}=this._processInputParams(eb),{shape:eT,keys:eE}=this._getCached(),eS=[];if(!(this._def.catchall instanceof tO&&"strip"===this._def.unknownKeys))for(let eb in eM.data)eE.includes(eb)||eS.push(eb);let eA=[];for(let eb of eE){let em=eT[eb],ew=eM.data[eb];eA.push({key:{status:"valid",value:eb},value:em._parse(new eZ(eM,ew,eM.path,eb)),alwaysSet:eb in eM.data})}if(this._def.catchall instanceof tO){let eb=this._def.unknownKeys;if("passthrough"===eb)for(let eb of eS)eA.push({key:{status:"valid",value:eb},value:{status:"valid",value:eM.data[eb]}});else if("strict"===eb)eS.length>0&&(eR(eM,{code:e_.unrecognized_keys,keys:eS}),ew.dirty());else if("strip"===eb);else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let eb=this._def.catchall;for(let em of eS){let ew=eM.data[em];eA.push({key:{status:"valid",value:em},value:eb._parse(new eZ(eM,ew,eM.path,em)),alwaysSet:em in eM.data})}}return eM.common.async?Promise.resolve().then(async()=>{let eb=[];for(let em of eA){let ew=await em.key;eb.push({key:ew,value:await em.value,alwaysSet:em.alwaysSet})}return eb}).then(eb=>eB.mergeObjectSync(ew,eb)):eB.mergeObjectSync(ew,eA)}get shape(){return this._def.shape()}strict(eb){return rF.errToObj,new tF({...this._def,unknownKeys:"strict",...void 0!==eb?{errorMap:(em,ew)=>{var eM,eC,eT,e_;let eE=null!==(eT=null===(eC=(eM=this._def).errorMap)||void 0===eC?void 0:eC.call(eM,em,ew).message)&&void 0!==eT?eT:ew.defaultError;return"unrecognized_keys"===em.code?{message:null!==(e_=rF.errToObj(eb).message)&&void 0!==e_?e_:eE}:{message:eE}}}:{}})}strip(){return new tF({...this._def,unknownKeys:"strip"})}passthrough(){return new tF({...this._def,unknownKeys:"passthrough"})}extend(eb){return new tF({...this._def,shape:()=>({...this._def.shape(),...eb})})}merge(eb){let em=new tF({unknownKeys:eb._def.unknownKeys,catchall:eb._def.catchall,shape:()=>({...this._def.shape(),...eb._def.shape()}),typeName:rj.ZodObject});return em}setKey(eb,em){return this.augment({[eb]:em})}catchall(eb){return new tF({...this._def,catchall:eb})}pick(eb){let em={};return rR.objectKeys(eb).forEach(ew=>{eb[ew]&&this.shape[ew]&&(em[ew]=this.shape[ew])}),new tF({...this._def,shape:()=>em})}omit(eb){let em={};return rR.objectKeys(this.shape).forEach(ew=>{eb[ew]||(em[ew]=this.shape[ew])}),new tF({...this._def,shape:()=>em})}deepPartial(){return tB(this)}partial(eb){let em={};return rR.objectKeys(this.shape).forEach(ew=>{let eM=this.shape[ew];eb&&!eb[ew]?em[ew]=eM:em[ew]=eM.optional()}),new tF({...this._def,shape:()=>em})}required(eb){let em={};return rR.objectKeys(this.shape).forEach(ew=>{if(eb&&!eb[ew])em[ew]=this.shape[ew];else{let eb=this.shape[ew],eM=eb;for(;eM instanceof nk;)eM=eM._def.innerType;em[ew]=eM}}),new tF({...this._def,shape:()=>em})}keyof(){return tX(rR.objectKeys(this.shape))}}tF.create=(eb,em)=>new tF({shape:()=>eb,unknownKeys:"strip",catchall:tO.create(),typeName:rj.ZodObject,...eG(em)}),tF.strictCreate=(eb,em)=>new tF({shape:()=>eb,unknownKeys:"strict",catchall:tO.create(),typeName:rj.ZodObject,...eG(em)}),tF.lazycreate=(eb,em)=>new tF({shape:eb,unknownKeys:"strip",catchall:tO.create(),typeName:rj.ZodObject,...eG(em)});class tj extends eY{_parse(eb){let{ctx:em}=this._processInputParams(eb),ew=this._def.options;function eM(eb){for(let em of eb)if("valid"===em.result.status)return em.result;for(let ew of eb)if("dirty"===ew.result.status)return em.common.issues.push(...ew.ctx.common.issues),ew.result;let ew=eb.map(eb=>new eS(eb.ctx.common.issues));return eR(em,{code:e_.invalid_union,unionErrors:ew}),eF}if(em.common.async)return Promise.all(ew.map(async eb=>{let ew={...em,common:{...em.common,issues:[]},parent:null};return{result:await eb._parseAsync({data:em.data,path:em.path,parent:ew}),ctx:ew}})).then(eM);{let eb;let eM=[];for(let eC of ew){let ew={...em,common:{...em.common,issues:[]},parent:null},eT=eC._parseSync({data:em.data,path:em.path,parent:ew});if("valid"===eT.status)return eT;"dirty"!==eT.status||eb||(eb={result:eT,ctx:ew}),ew.common.issues.length&&eM.push(ew.common.issues)}if(eb)return em.common.issues.push(...eb.ctx.common.issues),eb.result;let eC=eM.map(eb=>new eS(eb));return eR(em,{code:e_.invalid_union,unionErrors:eC}),eF}}get options(){return this._def.options}}tj.create=(eb,em)=>new tj({options:eb,typeName:rj.ZodUnion,...eG(em)});let tU=eb=>{if(eb instanceof tY)return tU(eb.schema);if(eb instanceof nC)return tU(eb.innerType());if(eb instanceof tJ)return[eb.value];if(eb instanceof tQ)return eb.options;if(eb instanceof nw)return Object.keys(eb.enum);if(eb instanceof n_)return tU(eb._def.innerType);if(eb instanceof tA)return[void 0];else if(eb instanceof tN)return[null];else return null};class tV extends eY{_parse(eb){let{ctx:em}=this._processInputParams(eb);if(em.parsedType!==eC.object)return eR(em,{code:e_.invalid_type,expected:eC.object,received:em.parsedType}),eF;let ew=this.discriminator,eM=em.data[ew],eT=this.optionsMap.get(eM);return eT?em.common.async?eT._parseAsync({data:em.data,path:em.path,parent:em}):eT._parseSync({data:em.data,path:em.path,parent:em}):(eR(em,{code:e_.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[ew]}),eF)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(eb,em,ew){let eM=new Map;for(let ew of em){let em=tU(ew.shape[eb]);if(!em)throw Error(`A discriminator value for key \`${eb}\` could not be extracted from all schema options`);for(let eC of em){if(eM.has(eC))throw Error(`Discriminator property ${String(eb)} has duplicate value ${String(eC)}`);eM.set(eC,ew)}}return new tV({typeName:rj.ZodDiscriminatedUnion,discriminator:eb,options:em,optionsMap:eM,...eG(ew)})}}function tH(eb,em){let ew=eT(eb),eM=eT(em);if(eb===em)return{valid:!0,data:eb};if(ew===eC.object&&eM===eC.object){let ew=rR.objectKeys(em),eM=rR.objectKeys(eb).filter(eb=>-1!==ew.indexOf(eb)),eC={...eb,...em};for(let ew of eM){let eM=tH(eb[ew],em[ew]);if(!eM.valid)return{valid:!1};eC[ew]=eM.data}return{valid:!0,data:eC}}if(ew===eC.array&&eM===eC.array){if(eb.length!==em.length)return{valid:!1};let ew=[];for(let eM=0;eM{if(eV(eb)||eV(eM))return eF;let eC=tH(eb.value,eM.value);return eC.valid?((eH(eb)||eH(eM))&&em.dirty(),{status:em.value,value:eC.data}):(eR(ew,{code:e_.invalid_intersection_types}),eF)};return ew.common.async?Promise.all([this._def.left._parseAsync({data:ew.data,path:ew.path,parent:ew}),this._def.right._parseAsync({data:ew.data,path:ew.path,parent:ew})]).then(([eb,em])=>eM(eb,em)):eM(this._def.left._parseSync({data:ew.data,path:ew.path,parent:ew}),this._def.right._parseSync({data:ew.data,path:ew.path,parent:ew}))}}t$.create=(eb,em,ew)=>new t$({left:eb,right:em,typeName:rj.ZodIntersection,...eG(ew)});class tq extends eY{_parse(eb){let{status:em,ctx:ew}=this._processInputParams(eb);if(ew.parsedType!==eC.array)return eR(ew,{code:e_.invalid_type,expected:eC.array,received:ew.parsedType}),eF;if(ew.data.lengththis._def.items.length&&(eR(ew,{code:e_.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),em.dirty());let eT=[...ew.data].map((eb,em)=>{let eM=this._def.items[em]||this._def.rest;return eM?eM._parse(new eZ(ew,eb,ew.path,em)):null}).filter(eb=>!!eb);return ew.common.async?Promise.all(eT).then(eb=>eB.mergeArray(em,eb)):eB.mergeArray(em,eT)}get items(){return this._def.items}rest(eb){return new tq({...this._def,rest:eb})}}tq.create=(eb,em)=>{if(!Array.isArray(eb))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new tq({items:eb,typeName:rj.ZodTuple,rest:null,...eG(em)})};class tW extends eY{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(eb){let{status:em,ctx:ew}=this._processInputParams(eb);if(ew.parsedType!==eC.object)return eR(ew,{code:e_.invalid_type,expected:eC.object,received:ew.parsedType}),eF;let eM=[],eT=this._def.keyType,eE=this._def.valueType;for(let eb in ew.data)eM.push({key:eT._parse(new eZ(ew,eb,ew.path,eb)),value:eE._parse(new eZ(ew,ew.data[eb],ew.path,eb))});return ew.common.async?eB.mergeObjectAsync(em,eM):eB.mergeObjectSync(em,eM)}get element(){return this._def.valueType}static create(eb,em,ew){return new tW(em instanceof eY?{keyType:eb,valueType:em,typeName:rj.ZodRecord,...eG(ew)}:{keyType:e7.create(),valueType:eb,typeName:rj.ZodRecord,...eG(em)})}}class tZ extends eY{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(eb){let{status:em,ctx:ew}=this._processInputParams(eb);if(ew.parsedType!==eC.map)return eR(ew,{code:e_.invalid_type,expected:eC.map,received:ew.parsedType}),eF;let eM=this._def.keyType,eT=this._def.valueType,eE=[...ew.data.entries()].map(([eb,em],eC)=>({key:eM._parse(new eZ(ew,eb,ew.path,[eC,"key"])),value:eT._parse(new eZ(ew,em,ew.path,[eC,"value"]))}));if(ew.common.async){let eb=new Map;return Promise.resolve().then(async()=>{for(let ew of eE){let eM=await ew.key,eC=await ew.value;if("aborted"===eM.status||"aborted"===eC.status)return eF;("dirty"===eM.status||"dirty"===eC.status)&&em.dirty(),eb.set(eM.value,eC.value)}return{status:em.value,value:eb}})}{let eb=new Map;for(let ew of eE){let eM=ew.key,eC=ew.value;if("aborted"===eM.status||"aborted"===eC.status)return eF;("dirty"===eM.status||"dirty"===eC.status)&&em.dirty(),eb.set(eM.value,eC.value)}return{status:em.value,value:eb}}}}tZ.create=(eb,em,ew)=>new tZ({valueType:em,keyType:eb,typeName:rj.ZodMap,...eG(ew)});class tK extends eY{_parse(eb){let{status:em,ctx:ew}=this._processInputParams(eb);if(ew.parsedType!==eC.set)return eR(ew,{code:e_.invalid_type,expected:eC.set,received:ew.parsedType}),eF;let eM=this._def;null!==eM.minSize&&ew.data.sizeeM.maxSize.value&&(eR(ew,{code:e_.too_big,maximum:eM.maxSize.value,type:"set",inclusive:!0,exact:!1,message:eM.maxSize.message}),em.dirty());let eT=this._def.valueType;function eE(eb){let ew=new Set;for(let eM of eb){if("aborted"===eM.status)return eF;"dirty"===eM.status&&em.dirty(),ew.add(eM.value)}return{status:em.value,value:ew}}let eS=[...ew.data.values()].map((eb,em)=>eT._parse(new eZ(ew,eb,ew.path,em)));return ew.common.async?Promise.all(eS).then(eb=>eE(eb)):eE(eS)}min(eb,em){return new tK({...this._def,minSize:{value:eb,message:rF.toString(em)}})}max(eb,em){return new tK({...this._def,maxSize:{value:eb,message:rF.toString(em)}})}size(eb,em){return this.min(eb,em).max(eb,em)}nonempty(eb){return this.min(1,eb)}}tK.create=(eb,em)=>new tK({valueType:eb,minSize:null,maxSize:null,typeName:rj.ZodSet,...eG(em)});class tG extends eY{constructor(){super(...arguments),this.validate=this.implement}_parse(eb){let{ctx:em}=this._processInputParams(eb);if(em.parsedType!==eC.function)return eR(em,{code:e_.invalid_type,expected:eC.function,received:em.parsedType}),eF;function ew(eb,ew){return eO({data:eb,path:em.path,errorMaps:[em.common.contextualErrorMap,em.schemaErrorMap,eD(),eA].filter(eb=>!!eb),issueData:{code:e_.invalid_arguments,argumentsError:ew}})}function eM(eb,ew){return eO({data:eb,path:em.path,errorMaps:[em.common.contextualErrorMap,em.schemaErrorMap,eD(),eA].filter(eb=>!!eb),issueData:{code:e_.invalid_return_type,returnTypeError:ew}})}let eT={errorMap:em.common.contextualErrorMap},eE=em.data;if(this._def.returns instanceof nM){let eb=this;return eU(async function(...em){let eC=new eS([]),e_=await eb._def.args.parseAsync(em,eT).catch(eb=>{throw eC.addIssue(ew(em,eb)),eC}),eA=await Reflect.apply(eE,this,e_),eN=await eb._def.returns._def.type.parseAsync(eA,eT).catch(eb=>{throw eC.addIssue(eM(eA,eb)),eC});return eN})}{let eb=this;return eU(function(...em){let eC=eb._def.args.safeParse(em,eT);if(!eC.success)throw new eS([ew(em,eC.error)]);let e_=Reflect.apply(eE,this,eC.data),eA=eb._def.returns.safeParse(e_,eT);if(!eA.success)throw new eS([eM(e_,eA.error)]);return eA.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...eb){return new tG({...this._def,args:tq.create(eb).rest(tD.create())})}returns(eb){return new tG({...this._def,returns:eb})}implement(eb){let em=this.parse(eb);return em}strictImplement(eb){let em=this.parse(eb);return em}static create(eb,em,ew){return new tG({args:eb||tq.create([]).rest(tD.create()),returns:em||tD.create(),typeName:rj.ZodFunction,...eG(ew)})}}class tY extends eY{get schema(){return this._def.getter()}_parse(eb){let{ctx:em}=this._processInputParams(eb),ew=this._def.getter();return ew._parse({data:em.data,path:em.path,parent:em})}}tY.create=(eb,em)=>new tY({getter:eb,typeName:rj.ZodLazy,...eG(em)});class tJ extends eY{_parse(eb){if(eb.data!==this._def.value){let em=this._getOrReturnCtx(eb);return eR(em,{received:em.data,code:e_.invalid_literal,expected:this._def.value}),eF}return{status:"valid",value:eb.data}}get value(){return this._def.value}}function tX(eb,em){return new tQ({values:eb,typeName:rj.ZodEnum,...eG(em)})}tJ.create=(eb,em)=>new tJ({value:eb,typeName:rj.ZodLiteral,...eG(em)});class tQ extends eY{_parse(eb){if("string"!=typeof eb.data){let em=this._getOrReturnCtx(eb),ew=this._def.values;return eR(em,{expected:rR.joinValues(ew),received:em.parsedType,code:e_.invalid_type}),eF}if(-1===this._def.values.indexOf(eb.data)){let em=this._getOrReturnCtx(eb),ew=this._def.values;return eR(em,{received:em.data,code:e_.invalid_enum_value,options:ew}),eF}return eU(eb.data)}get options(){return this._def.values}get enum(){let eb={};for(let em of this._def.values)eb[em]=em;return eb}get Values(){let eb={};for(let em of this._def.values)eb[em]=em;return eb}get Enum(){let eb={};for(let em of this._def.values)eb[em]=em;return eb}extract(eb){return tQ.create(eb)}exclude(eb){return tQ.create(this.options.filter(em=>!eb.includes(em)))}}tQ.create=tX;class nw extends eY{_parse(eb){let em=rR.getValidEnumValues(this._def.values),ew=this._getOrReturnCtx(eb);if(ew.parsedType!==eC.string&&ew.parsedType!==eC.number){let eb=rR.objectValues(em);return eR(ew,{expected:rR.joinValues(eb),received:ew.parsedType,code:e_.invalid_type}),eF}if(-1===em.indexOf(eb.data)){let eb=rR.objectValues(em);return eR(ew,{received:ew.data,code:e_.invalid_enum_value,options:eb}),eF}return eU(eb.data)}get enum(){return this._def.values}}nw.create=(eb,em)=>new nw({values:eb,typeName:rj.ZodNativeEnum,...eG(em)});class nM extends eY{unwrap(){return this._def.type}_parse(eb){let{ctx:em}=this._processInputParams(eb);if(em.parsedType!==eC.promise&&!1===em.common.async)return eR(em,{code:e_.invalid_type,expected:eC.promise,received:em.parsedType}),eF;let ew=em.parsedType===eC.promise?em.data:Promise.resolve(em.data);return eU(ew.then(eb=>this._def.type.parseAsync(eb,{path:em.path,errorMap:em.common.contextualErrorMap})))}}nM.create=(eb,em)=>new nM({type:eb,typeName:rj.ZodPromise,...eG(em)});class nC extends eY{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===rj.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(eb){let{status:em,ctx:ew}=this._processInputParams(eb),eM=this._def.effect||null,eC={addIssue:eb=>{eR(ew,eb),eb.fatal?em.abort():em.dirty()},get path(){return ew.path}};if(eC.addIssue=eC.addIssue.bind(eC),"preprocess"===eM.type){let eb=eM.transform(ew.data,eC);return ew.common.issues.length?{status:"dirty",value:ew.data}:ew.common.async?Promise.resolve(eb).then(eb=>this._def.schema._parseAsync({data:eb,path:ew.path,parent:ew})):this._def.schema._parseSync({data:eb,path:ew.path,parent:ew})}if("refinement"===eM.type){let eb=eb=>{let em=eM.refinement(eb,eC);if(ew.common.async)return Promise.resolve(em);if(em instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return eb};if(!1!==ew.common.async)return this._def.schema._parseAsync({data:ew.data,path:ew.path,parent:ew}).then(ew=>"aborted"===ew.status?eF:("dirty"===ew.status&&em.dirty(),eb(ew.value).then(()=>({status:em.value,value:ew.value}))));{let eM=this._def.schema._parseSync({data:ew.data,path:ew.path,parent:ew});return"aborted"===eM.status?eF:("dirty"===eM.status&&em.dirty(),eb(eM.value),{status:em.value,value:eM.value})}}if("transform"===eM.type){if(!1!==ew.common.async)return this._def.schema._parseAsync({data:ew.data,path:ew.path,parent:ew}).then(eb=>e$(eb)?Promise.resolve(eM.transform(eb.value,eC)).then(eb=>({status:em.value,value:eb})):eb);{let eb=this._def.schema._parseSync({data:ew.data,path:ew.path,parent:ew});if(!e$(eb))return eb;let eT=eM.transform(eb.value,eC);if(eT instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:em.value,value:eT}}}rR.assertNever(eM)}}nC.create=(eb,em,ew)=>new nC({schema:eb,typeName:rj.ZodEffects,effect:em,...eG(ew)}),nC.createWithPreprocess=(eb,em,ew)=>new nC({schema:em,effect:{type:"preprocess",transform:eb},typeName:rj.ZodEffects,...eG(ew)});class nk extends eY{_parse(eb){let em=this._getType(eb);return em===eC.undefined?eU(void 0):this._def.innerType._parse(eb)}unwrap(){return this._def.innerType}}nk.create=(eb,em)=>new nk({innerType:eb,typeName:rj.ZodOptional,...eG(em)});class nT extends eY{_parse(eb){let em=this._getType(eb);return em===eC.null?eU(null):this._def.innerType._parse(eb)}unwrap(){return this._def.innerType}}nT.create=(eb,em)=>new nT({innerType:eb,typeName:rj.ZodNullable,...eG(em)});class n_ extends eY{_parse(eb){let{ctx:em}=this._processInputParams(eb),ew=em.data;return em.parsedType===eC.undefined&&(ew=this._def.defaultValue()),this._def.innerType._parse({data:ew,path:em.path,parent:em})}removeDefault(){return this._def.innerType}}n_.create=(eb,em)=>new n_({innerType:eb,typeName:rj.ZodDefault,defaultValue:"function"==typeof em.default?em.default:()=>em.default,...eG(em)});class nE extends eY{_parse(eb){let{ctx:em}=this._processInputParams(eb),ew={...em,common:{...em.common,issues:[]}},eM=this._def.innerType._parse({data:ew.data,path:ew.path,parent:{...ew}});return eW(eM)?eM.then(eb=>({status:"valid",value:"valid"===eb.status?eb.value:this._def.catchValue({get error(){return new eS(ew.common.issues)},input:ew.data})})):{status:"valid",value:"valid"===eM.status?eM.value:this._def.catchValue({get error(){return new eS(ew.common.issues)},input:ew.data})}}removeCatch(){return this._def.innerType}}nE.create=(eb,em)=>new nE({innerType:eb,typeName:rj.ZodCatch,catchValue:"function"==typeof em.catch?em.catch:()=>em.catch,...eG(em)});class nS extends eY{_parse(eb){let em=this._getType(eb);if(em!==eC.nan){let em=this._getOrReturnCtx(eb);return eR(em,{code:e_.invalid_type,expected:eC.nan,received:em.parsedType}),eF}return{status:"valid",value:eb.data}}}nS.create=eb=>new nS({typeName:rj.ZodNaN,...eG(eb)});let nA=Symbol("zod_brand");class nN extends eY{_parse(eb){let{ctx:em}=this._processInputParams(eb),ew=em.data;return this._def.type._parse({data:ew,path:em.path,parent:em})}unwrap(){return this._def.type}}class nI extends eY{_parse(eb){let{status:em,ctx:ew}=this._processInputParams(eb);if(ew.common.async){let eb=async()=>{let eb=await this._def.in._parseAsync({data:ew.data,path:ew.path,parent:ew});return"aborted"===eb.status?eF:"dirty"===eb.status?(em.dirty(),ej(eb.value)):this._def.out._parseAsync({data:eb.value,path:ew.path,parent:ew})};return eb()}{let eb=this._def.in._parseSync({data:ew.data,path:ew.path,parent:ew});return"aborted"===eb.status?eF:"dirty"===eb.status?(em.dirty(),{status:"dirty",value:eb.value}):this._def.out._parseSync({data:eb.value,path:ew.path,parent:ew})}}static create(eb,em){return new nI({in:eb,out:em,typeName:rj.ZodPipeline})}}class nD extends eY{_parse(eb){let em=this._def.innerType._parse(eb);return e$(em)&&(em.value=Object.freeze(em.value)),em}}nD.create=(eb,em)=>new nD({innerType:eb,typeName:rj.ZodReadonly,...eG(em)});let nO=(eb,em={},ew)=>eb?tI.create().superRefine((eM,eC)=>{var eT,e_;if(!eb(eM)){let eb="function"==typeof em?em(eM):"string"==typeof em?{message:em}:em,eE=null===(e_=null!==(eT=eb.fatal)&&void 0!==eT?eT:ew)||void 0===e_||e_,eS="string"==typeof eb?{message:eb}:eb;eC.addIssue({code:"custom",...eS,fatal:eE})}}):tI.create(),nP={object:tF.lazycreate};!function(eb){eb.ZodString="ZodString",eb.ZodNumber="ZodNumber",eb.ZodNaN="ZodNaN",eb.ZodBigInt="ZodBigInt",eb.ZodBoolean="ZodBoolean",eb.ZodDate="ZodDate",eb.ZodSymbol="ZodSymbol",eb.ZodUndefined="ZodUndefined",eb.ZodNull="ZodNull",eb.ZodAny="ZodAny",eb.ZodUnknown="ZodUnknown",eb.ZodNever="ZodNever",eb.ZodVoid="ZodVoid",eb.ZodArray="ZodArray",eb.ZodObject="ZodObject",eb.ZodUnion="ZodUnion",eb.ZodDiscriminatedUnion="ZodDiscriminatedUnion",eb.ZodIntersection="ZodIntersection",eb.ZodTuple="ZodTuple",eb.ZodRecord="ZodRecord",eb.ZodMap="ZodMap",eb.ZodSet="ZodSet",eb.ZodFunction="ZodFunction",eb.ZodLazy="ZodLazy",eb.ZodLiteral="ZodLiteral",eb.ZodEnum="ZodEnum",eb.ZodEffects="ZodEffects",eb.ZodNativeEnum="ZodNativeEnum",eb.ZodOptional="ZodOptional",eb.ZodNullable="ZodNullable",eb.ZodDefault="ZodDefault",eb.ZodCatch="ZodCatch",eb.ZodPromise="ZodPromise",eb.ZodBranded="ZodBranded",eb.ZodPipeline="ZodPipeline",eb.ZodReadonly="ZodReadonly"}(rj||(rj={}));let nR=(eb,em={message:`Input not instance of ${eb.name}`})=>nO(em=>em instanceof eb,em),nB=e7.create,nF=tC.create,nj=nS.create,nU=tT.create,nV=t_.create,nH=tE.create,n$=tS.create,nq=tA.create,nW=tN.create,nZ=tI.create,nK=tD.create,nG=tO.create,nY=tP.create,nJ=tR.create,nX=tF.create,nQ=tF.strictCreate,n6=tj.create,n4=tV.create,n3=t$.create,n5=tq.create,n8=tW.create,n9=tZ.create,n7=tK.create,ry=tG.create,rz=tY.create,rw=tJ.create,rM=tQ.create,rC=nw.create,rk=nM.create,rT=nC.create,r_=nk.create,rE=nT.create,rS=nC.createWithPreprocess,rA=nI.create,rN=()=>nB().optional(),rI=()=>nF().optional(),rD=()=>nV().optional(),rO={string:eb=>e7.create({...eb,coerce:!0}),number:eb=>tC.create({...eb,coerce:!0}),boolean:eb=>t_.create({...eb,coerce:!0}),bigint:eb=>tT.create({...eb,coerce:!0}),date:eb=>tE.create({...eb,coerce:!0})},rP=eF;var rR,rB,rF,rj,rU=Object.freeze({__proto__:null,defaultErrorMap:eA,setErrorMap:eI,getErrorMap:eD,makeIssue:eO,EMPTY_PATH:eP,addIssueToContext:eR,ParseStatus:eB,INVALID:eF,DIRTY:ej,OK:eU,isAborted:eV,isDirty:eH,isValid:e$,isAsync:eW,get util(){return rR},get objectUtil(){return rB},ZodParsedType:eC,getParsedType:eT,ZodType:eY,ZodString:e7,ZodNumber:tC,ZodBigInt:tT,ZodBoolean:t_,ZodDate:tE,ZodSymbol:tS,ZodUndefined:tA,ZodNull:tN,ZodAny:tI,ZodUnknown:tD,ZodNever:tO,ZodVoid:tP,ZodArray:tR,ZodObject:tF,ZodUnion:tj,ZodDiscriminatedUnion:tV,ZodIntersection:t$,ZodTuple:tq,ZodRecord:tW,ZodMap:tZ,ZodSet:tK,ZodFunction:tG,ZodLazy:tY,ZodLiteral:tJ,ZodEnum:tQ,ZodNativeEnum:nw,ZodPromise:nM,ZodEffects:nC,ZodTransformer:nC,ZodOptional:nk,ZodNullable:nT,ZodDefault:n_,ZodCatch:nE,ZodNaN:nS,BRAND:nA,ZodBranded:nN,ZodPipeline:nI,ZodReadonly:nD,custom:nO,Schema:eY,ZodSchema:eY,late:nP,get ZodFirstPartyTypeKind(){return rj},coerce:rO,any:nZ,array:nJ,bigint:nU,boolean:nV,date:nH,discriminatedUnion:n4,effect:rT,enum:rM,function:ry,instanceof:nR,intersection:n3,lazy:rz,literal:rw,map:n9,nan:nj,nativeEnum:rC,never:nG,null:nW,nullable:rE,number:nF,object:nX,oboolean:rD,onumber:rI,optional:r_,ostring:rN,pipeline:rA,preprocess:rS,promise:rk,record:n8,set:n7,strictObject:nQ,string:nB,symbol:n$,transformer:rT,tuple:n5,undefined:nq,union:n6,unknown:nK,void:nY,NEVER:rP,ZodIssueCode:e_,quotelessJson:eE,ZodError:eS})},36099:function(eb){"use strict";eb.exports=JSON.parse('["的","一","是","在","不","了","有","和","人","这","中","大","为","上","个","国","我","以","要","他","时","来","用","们","生","到","作","地","于","出","就","分","对","成","会","可","主","发","年","动","同","工","也","能","下","过","子","说","产","种","面","而","方","后","多","定","行","学","法","所","民","得","经","十","三","之","进","着","等","部","度","家","电","力","里","如","水","化","高","自","二","理","起","小","物","现","实","加","量","都","两","体","制","机","当","使","点","从","业","本","去","把","性","好","应","开","它","合","还","因","由","其","些","然","前","外","天","政","四","日","那","社","义","事","平","形","相","全","表","间","样","与","关","各","重","新","线","内","数","正","心","反","你","明","看","原","又","么","利","比","或","但","质","气","第","向","道","命","此","变","条","只","没","结","解","问","意","建","月","公","无","系","军","很","情","者","最","立","代","想","已","通","并","提","直","题","党","程","展","五","果","料","象","员","革","位","入","常","文","总","次","品","式","活","设","及","管","特","件","长","求","老","头","基","资","边","流","路","级","少","图","山","统","接","知","较","将","组","见","计","别","她","手","角","期","根","论","运","农","指","几","九","区","强","放","决","西","被","干","做","必","战","先","回","则","任","取","据","处","队","南","给","色","光","门","即","保","治","北","造","百","规","热","领","七","海","口","东","导","器","压","志","世","金","增","争","济","阶","油","思","术","极","交","受","联","什","认","六","共","权","收","证","改","清","美","再","采","转","更","单","风","切","打","白","教","速","花","带","安","场","身","车","例","真","务","具","万","每","目","至","达","走","积","示","议","声","报","斗","完","类","八","离","华","名","确","才","科","张","信","马","节","话","米","整","空","元","况","今","集","温","传","土","许","步","群","广","石","记","需","段","研","界","拉","林","律","叫","且","究","观","越","织","装","影","算","低","持","音","众","书","布","复","容","儿","须","际","商","非","验","连","断","深","难","近","矿","千","周","委","素","技","备","半","办","青","省","列","习","响","约","支","般","史","感","劳","便","团","往","酸","历","市","克","何","除","消","构","府","称","太","准","精","值","号","率","族","维","划","选","标","写","存","候","毛","亲","快","效","斯","院","查","江","型","眼","王","按","格","养","易","置","派","层","片","始","却","专","状","育","厂","京","识","适","属","圆","包","火","住","调","满","县","局","照","参","红","细","引","听","该","铁","价","严","首","底","液","官","德","随","病","苏","失","尔","死","讲","配","女","黄","推","显","谈","罪","神","艺","呢","席","含","企","望","密","批","营","项","防","举","球","英","氧","势","告","李","台","落","木","帮","轮","破","亚","师","围","注","远","字","材","排","供","河","态","封","另","施","减","树","溶","怎","止","案","言","士","均","武","固","叶","鱼","波","视","仅","费","紧","爱","左","章","早","朝","害","续","轻","服","试","食","充","兵","源","判","护","司","足","某","练","差","致","板","田","降","黑","犯","负","击","范","继","兴","似","余","坚","曲","输","修","故","城","夫","够","送","笔","船","占","右","财","吃","富","春","职","觉","汉","画","功","巴","跟","虽","杂","飞","检","吸","助","升","阳","互","初","创","抗","考","投","坏","策","古","径","换","未","跑","留","钢","曾","端","责","站","简","述","钱","副","尽","帝","射","草","冲","承","独","令","限","阿","宣","环","双","请","超","微","让","控","州","良","轴","找","否","纪","益","依","优","顶","础","载","倒","房","突","坐","粉","敌","略","客","袁","冷","胜","绝","析","块","剂","测","丝","协","诉","念","陈","仍","罗","盐","友","洋","错","苦","夜","刑","移","频","逐","靠","混","母","短","皮","终","聚","汽","村","云","哪","既","距","卫","停","烈","央","察","烧","迅","境","若","印","洲","刻","括","激","孔","搞","甚","室","待","核","校","散","侵","吧","甲","游","久","菜","味","旧","模","湖","货","损","预","阻","毫","普","稳","乙","妈","植","息","扩","银","语","挥","酒","守","拿","序","纸","医","缺","雨","吗","针","刘","啊","急","唱","误","训","愿","审","附","获","茶","鲜","粮","斤","孩","脱","硫","肥","善","龙","演","父","渐","血","欢","械","掌","歌","沙","刚","攻","谓","盾","讨","晚","粒","乱","燃","矛","乎","杀","药","宁","鲁","贵","钟","煤","读","班","伯","香","介","迫","句","丰","培","握","兰","担","弦","蛋","沉","假","穿","执","答","乐","谁","顺","烟","缩","征","脸","喜","松","脚","困","异","免","背","星","福","买","染","井","概","慢","怕","磁","倍","祖","皇","促","静","补","评","翻","肉","践","尼","衣","宽","扬","棉","希","伤","操","垂","秋","宜","氢","套","督","振","架","亮","末","宪","庆","编","牛","触","映","雷","销","诗","座","居","抓","裂","胞","呼","娘","景","威","绿","晶","厚","盟","衡","鸡","孙","延","危","胶","屋","乡","临","陆","顾","掉","呀","灯","岁","措","束","耐","剧","玉","赵","跳","哥","季","课","凯","胡","额","款","绍","卷","齐","伟","蒸","殖","永","宗","苗","川","炉","岩","弱","零","杨","奏","沿","露","杆","探","滑","镇","饭","浓","航","怀","赶","库","夺","伊","灵","税","途","灭","赛","归","召","鼓","播","盘","裁","险","康","唯","录","菌","纯","借","糖","盖","横","符","私","努","堂","域","枪","润","幅","哈","竟","熟","虫","泽","脑","壤","碳","欧","遍","侧","寨","敢","彻","虑","斜","薄","庭","纳","弹","饲","伸","折","麦","湿","暗","荷","瓦","塞","床","筑","恶","户","访","塔","奇","透","梁","刀","旋","迹","卡","氯","遇","份","毒","泥","退","洗","摆","灰","彩","卖","耗","夏","择","忙","铜","献","硬","予","繁","圈","雪","函","亦","抽","篇","阵","阴","丁","尺","追","堆","雄","迎","泛","爸","楼","避","谋","吨","野","猪","旗","累","偏","典","馆","索","秦","脂","潮","爷","豆","忽","托","惊","塑","遗","愈","朱","替","纤","粗","倾","尚","痛","楚","谢","奋","购","磨","君","池","旁","碎","骨","监","捕","弟","暴","割","贯","殊","释","词","亡","壁","顿","宝","午","尘","闻","揭","炮","残","冬","桥","妇","警","综","招","吴","付","浮","遭","徐","您","摇","谷","赞","箱","隔","订","男","吹","园","纷","唐","败","宋","玻","巨","耕","坦","荣","闭","湾","键","凡","驻","锅","救","恩","剥","凝","碱","齿","截","炼","麻","纺","禁","废","盛","版","缓","净","睛","昌","婚","涉","筒","嘴","插","岸","朗","庄","街","藏","姑","贸","腐","奴","啦","惯","乘","伙","恢","匀","纱","扎","辩","耳","彪","臣","亿","璃","抵","脉","秀","萨","俄","网","舞","店","喷","纵","寸","汗","挂","洪","贺","闪","柬","爆","烯","津","稻","墙","软","勇","像","滚","厘","蒙","芳","肯","坡","柱","荡","腿","仪","旅","尾","轧","冰","贡","登","黎","削","钻","勒","逃","障","氨","郭","峰","币","港","伏","轨","亩","毕","擦","莫","刺","浪","秘","援","株","健","售","股","岛","甘","泡","睡","童","铸","汤","阀","休","汇","舍","牧","绕","炸","哲","磷","绩","朋","淡","尖","启","陷","柴","呈","徒","颜","泪","稍","忘","泵","蓝","拖","洞","授","镜","辛","壮","锋","贫","虚","弯","摩","泰","幼","廷","尊","窗","纲","弄","隶","疑","氏","宫","姐","震","瑞","怪","尤","琴","循","描","膜","违","夹","腰","缘","珠","穷","森","枝","竹","沟","催","绳","忆","邦","剩","幸","浆","栏","拥","牙","贮","礼","滤","钠","纹","罢","拍","咱","喊","袖","埃","勤","罚","焦","潜","伍","墨","欲","缝","姓","刊","饱","仿","奖","铝","鬼","丽","跨","默","挖","链","扫","喝","袋","炭","污","幕","诸","弧","励","梅","奶","洁","灾","舟","鉴","苯","讼","抱","毁","懂","寒","智","埔","寄","届","跃","渡","挑","丹","艰","贝","碰","拔","爹","戴","码","梦","芽","熔","赤","渔","哭","敬","颗","奔","铅","仲","虎","稀","妹","乏","珍","申","桌","遵","允","隆","螺","仓","魏","锐","晓","氮","兼","隐","碍","赫","拨","忠","肃","缸","牵","抢","博","巧","壳","兄","杜","讯","诚","碧","祥","柯","页","巡","矩","悲","灌","龄","伦","票","寻","桂","铺","圣","恐","恰","郑","趣","抬","荒","腾","贴","柔","滴","猛","阔","辆","妻","填","撤","储","签","闹","扰","紫","砂","递","戏","吊","陶","伐","喂","疗","瓶","婆","抚","臂","摸","忍","虾","蜡","邻","胸","巩","挤","偶","弃","槽","劲","乳","邓","吉","仁","烂","砖","租","乌","舰","伴","瓜","浅","丙","暂","燥","橡","柳","迷","暖","牌","秧","胆","详","簧","踏","瓷","谱","呆","宾","糊","洛","辉","愤","竞","隙","怒","粘","乃","绪","肩","籍","敏","涂","熙","皆","侦","悬","掘","享","纠","醒","狂","锁","淀","恨","牲","霸","爬","赏","逆","玩","陵","祝","秒","浙","貌","役","彼","悉","鸭","趋","凤","晨","畜","辈","秩","卵","署","梯","炎","滩","棋","驱","筛","峡","冒","啥","寿","译","浸","泉","帽","迟","硅","疆","贷","漏","稿","冠","嫩","胁","芯","牢","叛","蚀","奥","鸣","岭","羊","凭","串","塘","绘","酵","融","盆","锡","庙","筹","冻","辅","摄","袭","筋","拒","僚","旱","钾","鸟","漆","沈","眉","疏","添","棒","穗","硝","韩","逼","扭","侨","凉","挺","碗","栽","炒","杯","患","馏","劝","豪","辽","勃","鸿","旦","吏","拜","狗","埋","辊","掩","饮","搬","骂","辞","勾","扣","估","蒋","绒","雾","丈","朵","姆","拟","宇","辑","陕","雕","偿","蓄","崇","剪","倡","厅","咬","驶","薯","刷","斥","番","赋","奉","佛","浇","漫","曼","扇","钙","桃","扶","仔","返","俗","亏","腔","鞋","棱","覆","框","悄","叔","撞","骗","勘","旺","沸","孤","吐","孟","渠","屈","疾","妙","惜","仰","狠","胀","谐","抛","霉","桑","岗","嘛","衰","盗","渗","脏","赖","涌","甜","曹","阅","肌","哩","厉","烃","纬","毅","昨","伪","症","煮","叹","钉","搭","茎","笼","酷","偷","弓","锥","恒","杰","坑","鼻","翼","纶","叙","狱","逮","罐","络","棚","抑","膨","蔬","寺","骤","穆","冶","枯","册","尸","凸","绅","坯","牺","焰","轰","欣","晋","瘦","御","锭","锦","丧","旬","锻","垄","搜","扑","邀","亭","酯","迈","舒","脆","酶","闲","忧","酚","顽","羽","涨","卸","仗","陪","辟","惩","杭","姚","肚","捉","飘","漂","昆","欺","吾","郎","烷","汁","呵","饰","萧","雅","邮","迁","燕","撒","姻","赴","宴","烦","债","帐","斑","铃","旨","醇","董","饼","雏","姿","拌","傅","腹","妥","揉","贤","拆","歪","葡","胺","丢","浩","徽","昂","垫","挡","览","贪","慰","缴","汪","慌","冯","诺","姜","谊","凶","劣","诬","耀","昏","躺","盈","骑","乔","溪","丛","卢","抹","闷","咨","刮","驾","缆","悟","摘","铒","掷","颇","幻","柄","惠","惨","佳","仇","腊","窝","涤","剑","瞧","堡","泼","葱","罩","霍","捞","胎","苍","滨","俩","捅","湘","砍","霞","邵","萄","疯","淮","遂","熊","粪","烘","宿","档","戈","驳","嫂","裕","徙","箭","捐","肠","撑","晒","辨","殿","莲","摊","搅","酱","屏","疫","哀","蔡","堵","沫","皱","畅","叠","阁","莱","敲","辖","钩","痕","坝","巷","饿","祸","丘","玄","溜","曰","逻","彭","尝","卿","妨","艇","吞","韦","怨","矮","歇"]')},28350:function(eb){"use strict";eb.exports=JSON.parse('["的","一","是","在","不","了","有","和","人","這","中","大","為","上","個","國","我","以","要","他","時","來","用","們","生","到","作","地","於","出","就","分","對","成","會","可","主","發","年","動","同","工","也","能","下","過","子","說","產","種","面","而","方","後","多","定","行","學","法","所","民","得","經","十","三","之","進","著","等","部","度","家","電","力","裡","如","水","化","高","自","二","理","起","小","物","現","實","加","量","都","兩","體","制","機","當","使","點","從","業","本","去","把","性","好","應","開","它","合","還","因","由","其","些","然","前","外","天","政","四","日","那","社","義","事","平","形","相","全","表","間","樣","與","關","各","重","新","線","內","數","正","心","反","你","明","看","原","又","麼","利","比","或","但","質","氣","第","向","道","命","此","變","條","只","沒","結","解","問","意","建","月","公","無","系","軍","很","情","者","最","立","代","想","已","通","並","提","直","題","黨","程","展","五","果","料","象","員","革","位","入","常","文","總","次","品","式","活","設","及","管","特","件","長","求","老","頭","基","資","邊","流","路","級","少","圖","山","統","接","知","較","將","組","見","計","別","她","手","角","期","根","論","運","農","指","幾","九","區","強","放","決","西","被","幹","做","必","戰","先","回","則","任","取","據","處","隊","南","給","色","光","門","即","保","治","北","造","百","規","熱","領","七","海","口","東","導","器","壓","志","世","金","增","爭","濟","階","油","思","術","極","交","受","聯","什","認","六","共","權","收","證","改","清","美","再","採","轉","更","單","風","切","打","白","教","速","花","帶","安","場","身","車","例","真","務","具","萬","每","目","至","達","走","積","示","議","聲","報","鬥","完","類","八","離","華","名","確","才","科","張","信","馬","節","話","米","整","空","元","況","今","集","溫","傳","土","許","步","群","廣","石","記","需","段","研","界","拉","林","律","叫","且","究","觀","越","織","裝","影","算","低","持","音","眾","書","布","复","容","兒","須","際","商","非","驗","連","斷","深","難","近","礦","千","週","委","素","技","備","半","辦","青","省","列","習","響","約","支","般","史","感","勞","便","團","往","酸","歷","市","克","何","除","消","構","府","稱","太","準","精","值","號","率","族","維","劃","選","標","寫","存","候","毛","親","快","效","斯","院","查","江","型","眼","王","按","格","養","易","置","派","層","片","始","卻","專","狀","育","廠","京","識","適","屬","圓","包","火","住","調","滿","縣","局","照","參","紅","細","引","聽","該","鐵","價","嚴","首","底","液","官","德","隨","病","蘇","失","爾","死","講","配","女","黃","推","顯","談","罪","神","藝","呢","席","含","企","望","密","批","營","項","防","舉","球","英","氧","勢","告","李","台","落","木","幫","輪","破","亞","師","圍","注","遠","字","材","排","供","河","態","封","另","施","減","樹","溶","怎","止","案","言","士","均","武","固","葉","魚","波","視","僅","費","緊","愛","左","章","早","朝","害","續","輕","服","試","食","充","兵","源","判","護","司","足","某","練","差","致","板","田","降","黑","犯","負","擊","范","繼","興","似","餘","堅","曲","輸","修","故","城","夫","夠","送","筆","船","佔","右","財","吃","富","春","職","覺","漢","畫","功","巴","跟","雖","雜","飛","檢","吸","助","昇","陽","互","初","創","抗","考","投","壞","策","古","徑","換","未","跑","留","鋼","曾","端","責","站","簡","述","錢","副","盡","帝","射","草","衝","承","獨","令","限","阿","宣","環","雙","請","超","微","讓","控","州","良","軸","找","否","紀","益","依","優","頂","礎","載","倒","房","突","坐","粉","敵","略","客","袁","冷","勝","絕","析","塊","劑","測","絲","協","訴","念","陳","仍","羅","鹽","友","洋","錯","苦","夜","刑","移","頻","逐","靠","混","母","短","皮","終","聚","汽","村","雲","哪","既","距","衛","停","烈","央","察","燒","迅","境","若","印","洲","刻","括","激","孔","搞","甚","室","待","核","校","散","侵","吧","甲","遊","久","菜","味","舊","模","湖","貨","損","預","阻","毫","普","穩","乙","媽","植","息","擴","銀","語","揮","酒","守","拿","序","紙","醫","缺","雨","嗎","針","劉","啊","急","唱","誤","訓","願","審","附","獲","茶","鮮","糧","斤","孩","脫","硫","肥","善","龍","演","父","漸","血","歡","械","掌","歌","沙","剛","攻","謂","盾","討","晚","粒","亂","燃","矛","乎","殺","藥","寧","魯","貴","鐘","煤","讀","班","伯","香","介","迫","句","豐","培","握","蘭","擔","弦","蛋","沉","假","穿","執","答","樂","誰","順","煙","縮","徵","臉","喜","松","腳","困","異","免","背","星","福","買","染","井","概","慢","怕","磁","倍","祖","皇","促","靜","補","評","翻","肉","踐","尼","衣","寬","揚","棉","希","傷","操","垂","秋","宜","氫","套","督","振","架","亮","末","憲","慶","編","牛","觸","映","雷","銷","詩","座","居","抓","裂","胞","呼","娘","景","威","綠","晶","厚","盟","衡","雞","孫","延","危","膠","屋","鄉","臨","陸","顧","掉","呀","燈","歲","措","束","耐","劇","玉","趙","跳","哥","季","課","凱","胡","額","款","紹","卷","齊","偉","蒸","殖","永","宗","苗","川","爐","岩","弱","零","楊","奏","沿","露","桿","探","滑","鎮","飯","濃","航","懷","趕","庫","奪","伊","靈","稅","途","滅","賽","歸","召","鼓","播","盤","裁","險","康","唯","錄","菌","純","借","糖","蓋","橫","符","私","努","堂","域","槍","潤","幅","哈","竟","熟","蟲","澤","腦","壤","碳","歐","遍","側","寨","敢","徹","慮","斜","薄","庭","納","彈","飼","伸","折","麥","濕","暗","荷","瓦","塞","床","築","惡","戶","訪","塔","奇","透","梁","刀","旋","跡","卡","氯","遇","份","毒","泥","退","洗","擺","灰","彩","賣","耗","夏","擇","忙","銅","獻","硬","予","繁","圈","雪","函","亦","抽","篇","陣","陰","丁","尺","追","堆","雄","迎","泛","爸","樓","避","謀","噸","野","豬","旗","累","偏","典","館","索","秦","脂","潮","爺","豆","忽","托","驚","塑","遺","愈","朱","替","纖","粗","傾","尚","痛","楚","謝","奮","購","磨","君","池","旁","碎","骨","監","捕","弟","暴","割","貫","殊","釋","詞","亡","壁","頓","寶","午","塵","聞","揭","炮","殘","冬","橋","婦","警","綜","招","吳","付","浮","遭","徐","您","搖","谷","贊","箱","隔","訂","男","吹","園","紛","唐","敗","宋","玻","巨","耕","坦","榮","閉","灣","鍵","凡","駐","鍋","救","恩","剝","凝","鹼","齒","截","煉","麻","紡","禁","廢","盛","版","緩","淨","睛","昌","婚","涉","筒","嘴","插","岸","朗","莊","街","藏","姑","貿","腐","奴","啦","慣","乘","夥","恢","勻","紗","扎","辯","耳","彪","臣","億","璃","抵","脈","秀","薩","俄","網","舞","店","噴","縱","寸","汗","掛","洪","賀","閃","柬","爆","烯","津","稻","牆","軟","勇","像","滾","厘","蒙","芳","肯","坡","柱","盪","腿","儀","旅","尾","軋","冰","貢","登","黎","削","鑽","勒","逃","障","氨","郭","峰","幣","港","伏","軌","畝","畢","擦","莫","刺","浪","秘","援","株","健","售","股","島","甘","泡","睡","童","鑄","湯","閥","休","匯","舍","牧","繞","炸","哲","磷","績","朋","淡","尖","啟","陷","柴","呈","徒","顏","淚","稍","忘","泵","藍","拖","洞","授","鏡","辛","壯","鋒","貧","虛","彎","摩","泰","幼","廷","尊","窗","綱","弄","隸","疑","氏","宮","姐","震","瑞","怪","尤","琴","循","描","膜","違","夾","腰","緣","珠","窮","森","枝","竹","溝","催","繩","憶","邦","剩","幸","漿","欄","擁","牙","貯","禮","濾","鈉","紋","罷","拍","咱","喊","袖","埃","勤","罰","焦","潛","伍","墨","欲","縫","姓","刊","飽","仿","獎","鋁","鬼","麗","跨","默","挖","鏈","掃","喝","袋","炭","污","幕","諸","弧","勵","梅","奶","潔","災","舟","鑑","苯","訟","抱","毀","懂","寒","智","埔","寄","屆","躍","渡","挑","丹","艱","貝","碰","拔","爹","戴","碼","夢","芽","熔","赤","漁","哭","敬","顆","奔","鉛","仲","虎","稀","妹","乏","珍","申","桌","遵","允","隆","螺","倉","魏","銳","曉","氮","兼","隱","礙","赫","撥","忠","肅","缸","牽","搶","博","巧","殼","兄","杜","訊","誠","碧","祥","柯","頁","巡","矩","悲","灌","齡","倫","票","尋","桂","鋪","聖","恐","恰","鄭","趣","抬","荒","騰","貼","柔","滴","猛","闊","輛","妻","填","撤","儲","簽","鬧","擾","紫","砂","遞","戲","吊","陶","伐","餵","療","瓶","婆","撫","臂","摸","忍","蝦","蠟","鄰","胸","鞏","擠","偶","棄","槽","勁","乳","鄧","吉","仁","爛","磚","租","烏","艦","伴","瓜","淺","丙","暫","燥","橡","柳","迷","暖","牌","秧","膽","詳","簧","踏","瓷","譜","呆","賓","糊","洛","輝","憤","競","隙","怒","粘","乃","緒","肩","籍","敏","塗","熙","皆","偵","懸","掘","享","糾","醒","狂","鎖","淀","恨","牲","霸","爬","賞","逆","玩","陵","祝","秒","浙","貌","役","彼","悉","鴨","趨","鳳","晨","畜","輩","秩","卵","署","梯","炎","灘","棋","驅","篩","峽","冒","啥","壽","譯","浸","泉","帽","遲","矽","疆","貸","漏","稿","冠","嫩","脅","芯","牢","叛","蝕","奧","鳴","嶺","羊","憑","串","塘","繪","酵","融","盆","錫","廟","籌","凍","輔","攝","襲","筋","拒","僚","旱","鉀","鳥","漆","沈","眉","疏","添","棒","穗","硝","韓","逼","扭","僑","涼","挺","碗","栽","炒","杯","患","餾","勸","豪","遼","勃","鴻","旦","吏","拜","狗","埋","輥","掩","飲","搬","罵","辭","勾","扣","估","蔣","絨","霧","丈","朵","姆","擬","宇","輯","陝","雕","償","蓄","崇","剪","倡","廳","咬","駛","薯","刷","斥","番","賦","奉","佛","澆","漫","曼","扇","鈣","桃","扶","仔","返","俗","虧","腔","鞋","棱","覆","框","悄","叔","撞","騙","勘","旺","沸","孤","吐","孟","渠","屈","疾","妙","惜","仰","狠","脹","諧","拋","黴","桑","崗","嘛","衰","盜","滲","臟","賴","湧","甜","曹","閱","肌","哩","厲","烴","緯","毅","昨","偽","症","煮","嘆","釘","搭","莖","籠","酷","偷","弓","錐","恆","傑","坑","鼻","翼","綸","敘","獄","逮","罐","絡","棚","抑","膨","蔬","寺","驟","穆","冶","枯","冊","屍","凸","紳","坯","犧","焰","轟","欣","晉","瘦","禦","錠","錦","喪","旬","鍛","壟","搜","撲","邀","亭","酯","邁","舒","脆","酶","閒","憂","酚","頑","羽","漲","卸","仗","陪","闢","懲","杭","姚","肚","捉","飄","漂","昆","欺","吾","郎","烷","汁","呵","飾","蕭","雅","郵","遷","燕","撒","姻","赴","宴","煩","債","帳","斑","鈴","旨","醇","董","餅","雛","姿","拌","傅","腹","妥","揉","賢","拆","歪","葡","胺","丟","浩","徽","昂","墊","擋","覽","貪","慰","繳","汪","慌","馮","諾","姜","誼","兇","劣","誣","耀","昏","躺","盈","騎","喬","溪","叢","盧","抹","悶","諮","刮","駕","纜","悟","摘","鉺","擲","頗","幻","柄","惠","慘","佳","仇","臘","窩","滌","劍","瞧","堡","潑","蔥","罩","霍","撈","胎","蒼","濱","倆","捅","湘","砍","霞","邵","萄","瘋","淮","遂","熊","糞","烘","宿","檔","戈","駁","嫂","裕","徙","箭","捐","腸","撐","曬","辨","殿","蓮","攤","攪","醬","屏","疫","哀","蔡","堵","沫","皺","暢","疊","閣","萊","敲","轄","鉤","痕","壩","巷","餓","禍","丘","玄","溜","曰","邏","彭","嘗","卿","妨","艇","吞","韋","怨","矮","歇"]')},58059:function(eb){"use strict";eb.exports=JSON.parse('["abdikace","abeceda","adresa","agrese","akce","aktovka","alej","alkohol","amputace","ananas","andulka","anekdota","anketa","antika","anulovat","archa","arogance","asfalt","asistent","aspirace","astma","astronom","atlas","atletika","atol","autobus","azyl","babka","bachor","bacil","baculka","badatel","bageta","bagr","bahno","bakterie","balada","baletka","balkon","balonek","balvan","balza","bambus","bankomat","barbar","baret","barman","baroko","barva","baterka","batoh","bavlna","bazalka","bazilika","bazuka","bedna","beran","beseda","bestie","beton","bezinka","bezmoc","beztak","bicykl","bidlo","biftek","bikiny","bilance","biograf","biolog","bitva","bizon","blahobyt","blatouch","blecha","bledule","blesk","blikat","blizna","blokovat","bloudit","blud","bobek","bobr","bodlina","bodnout","bohatost","bojkot","bojovat","bokorys","bolest","borec","borovice","bota","boubel","bouchat","bouda","boule","bourat","boxer","bradavka","brambora","branka","bratr","brepta","briketa","brko","brloh","bronz","broskev","brunetka","brusinka","brzda","brzy","bublina","bubnovat","buchta","buditel","budka","budova","bufet","bujarost","bukvice","buldok","bulva","bunda","bunkr","burza","butik","buvol","buzola","bydlet","bylina","bytovka","bzukot","capart","carevna","cedr","cedule","cejch","cejn","cela","celer","celkem","celnice","cenina","cennost","cenovka","centrum","cenzor","cestopis","cetka","chalupa","chapadlo","charita","chata","chechtat","chemie","chichot","chirurg","chlad","chleba","chlubit","chmel","chmura","chobot","chochol","chodba","cholera","chomout","chopit","choroba","chov","chrapot","chrlit","chrt","chrup","chtivost","chudina","chutnat","chvat","chvilka","chvost","chyba","chystat","chytit","cibule","cigareta","cihelna","cihla","cinkot","cirkus","cisterna","citace","citrus","cizinec","cizost","clona","cokoliv","couvat","ctitel","ctnost","cudnost","cuketa","cukr","cupot","cvaknout","cval","cvik","cvrkot","cyklista","daleko","dareba","datel","datum","dcera","debata","dechovka","decibel","deficit","deflace","dekl","dekret","demokrat","deprese","derby","deska","detektiv","dikobraz","diktovat","dioda","diplom","disk","displej","divadlo","divoch","dlaha","dlouho","dluhopis","dnes","dobro","dobytek","docent","dochutit","dodnes","dohled","dohoda","dohra","dojem","dojnice","doklad","dokola","doktor","dokument","dolar","doleva","dolina","doma","dominant","domluvit","domov","donutit","dopad","dopis","doplnit","doposud","doprovod","dopustit","dorazit","dorost","dort","dosah","doslov","dostatek","dosud","dosyta","dotaz","dotek","dotknout","doufat","doutnat","dovozce","dozadu","doznat","dozorce","drahota","drak","dramatik","dravec","draze","drdol","drobnost","drogerie","drozd","drsnost","drtit","drzost","duben","duchovno","dudek","duha","duhovka","dusit","dusno","dutost","dvojice","dvorec","dynamit","ekolog","ekonomie","elektron","elipsa","email","emise","emoce","empatie","epizoda","epocha","epopej","epos","esej","esence","eskorta","eskymo","etiketa","euforie","evoluce","exekuce","exkurze","expedice","exploze","export","extrakt","facka","fajfka","fakulta","fanatik","fantazie","farmacie","favorit","fazole","federace","fejeton","fenka","fialka","figurant","filozof","filtr","finance","finta","fixace","fjord","flanel","flirt","flotila","fond","fosfor","fotbal","fotka","foton","frakce","freska","fronta","fukar","funkce","fyzika","galeje","garant","genetika","geolog","gilotina","glazura","glejt","golem","golfista","gotika","graf","gramofon","granule","grep","gril","grog","groteska","guma","hadice","hadr","hala","halenka","hanba","hanopis","harfa","harpuna","havran","hebkost","hejkal","hejno","hejtman","hektar","helma","hematom","herec","herna","heslo","hezky","historik","hladovka","hlasivky","hlava","hledat","hlen","hlodavec","hloh","hloupost","hltat","hlubina","hluchota","hmat","hmota","hmyz","hnis","hnojivo","hnout","hoblina","hoboj","hoch","hodiny","hodlat","hodnota","hodovat","hojnost","hokej","holinka","holka","holub","homole","honitba","honorace","horal","horda","horizont","horko","horlivec","hormon","hornina","horoskop","horstvo","hospoda","hostina","hotovost","houba","houf","houpat","houska","hovor","hradba","hranice","hravost","hrazda","hrbolek","hrdina","hrdlo","hrdost","hrnek","hrobka","hromada","hrot","hrouda","hrozen","hrstka","hrubost","hryzat","hubenost","hubnout","hudba","hukot","humr","husita","hustota","hvozd","hybnost","hydrant","hygiena","hymna","hysterik","idylka","ihned","ikona","iluze","imunita","infekce","inflace","inkaso","inovace","inspekce","internet","invalida","investor","inzerce","ironie","jablko","jachta","jahoda","jakmile","jakost","jalovec","jantar","jarmark","jaro","jasan","jasno","jatka","javor","jazyk","jedinec","jedle","jednatel","jehlan","jekot","jelen","jelito","jemnost","jenom","jepice","jeseter","jevit","jezdec","jezero","jinak","jindy","jinoch","jiskra","jistota","jitrnice","jizva","jmenovat","jogurt","jurta","kabaret","kabel","kabinet","kachna","kadet","kadidlo","kahan","kajak","kajuta","kakao","kaktus","kalamita","kalhoty","kalibr","kalnost","kamera","kamkoliv","kamna","kanibal","kanoe","kantor","kapalina","kapela","kapitola","kapka","kaple","kapota","kapr","kapusta","kapybara","karamel","karotka","karton","kasa","katalog","katedra","kauce","kauza","kavalec","kazajka","kazeta","kazivost","kdekoliv","kdesi","kedluben","kemp","keramika","kino","klacek","kladivo","klam","klapot","klasika","klaun","klec","klenba","klepat","klesnout","klid","klima","klisna","klobouk","klokan","klopa","kloub","klubovna","klusat","kluzkost","kmen","kmitat","kmotr","kniha","knot","koalice","koberec","kobka","kobliha","kobyla","kocour","kohout","kojenec","kokos","koktejl","kolaps","koleda","kolize","kolo","komando","kometa","komik","komnata","komora","kompas","komunita","konat","koncept","kondice","konec","konfese","kongres","konina","konkurs","kontakt","konzerva","kopanec","kopie","kopnout","koprovka","korbel","korektor","kormidlo","koroptev","korpus","koruna","koryto","korzet","kosatec","kostka","kotel","kotleta","kotoul","koukat","koupelna","kousek","kouzlo","kovboj","koza","kozoroh","krabice","krach","krajina","kralovat","krasopis","kravata","kredit","krejcar","kresba","kreveta","kriket","kritik","krize","krkavec","krmelec","krmivo","krocan","krok","kronika","kropit","kroupa","krovka","krtek","kruhadlo","krupice","krutost","krvinka","krychle","krypta","krystal","kryt","kudlanka","kufr","kujnost","kukla","kulajda","kulich","kulka","kulomet","kultura","kuna","kupodivu","kurt","kurzor","kutil","kvalita","kvasinka","kvestor","kynolog","kyselina","kytara","kytice","kytka","kytovec","kyvadlo","labrador","lachtan","ladnost","laik","lakomec","lamela","lampa","lanovka","lasice","laso","lastura","latinka","lavina","lebka","leckdy","leden","lednice","ledovka","ledvina","legenda","legie","legrace","lehce","lehkost","lehnout","lektvar","lenochod","lentilka","lepenka","lepidlo","letadlo","letec","letmo","letokruh","levhart","levitace","levobok","libra","lichotka","lidojed","lidskost","lihovina","lijavec","lilek","limetka","linie","linka","linoleum","listopad","litina","litovat","lobista","lodivod","logika","logoped","lokalita","loket","lomcovat","lopata","lopuch","lord","losos","lotr","loudal","louh","louka","louskat","lovec","lstivost","lucerna","lucifer","lump","lusk","lustrace","lvice","lyra","lyrika","lysina","madam","madlo","magistr","mahagon","majetek","majitel","majorita","makak","makovice","makrela","malba","malina","malovat","malvice","maminka","mandle","manko","marnost","masakr","maskot","masopust","matice","matrika","maturita","mazanec","mazivo","mazlit","mazurka","mdloba","mechanik","meditace","medovina","melasa","meloun","mentolka","metla","metoda","metr","mezera","migrace","mihnout","mihule","mikina","mikrofon","milenec","milimetr","milost","mimika","mincovna","minibar","minomet","minulost","miska","mistr","mixovat","mladost","mlha","mlhovina","mlok","mlsat","mluvit","mnich","mnohem","mobil","mocnost","modelka","modlitba","mohyla","mokro","molekula","momentka","monarcha","monokl","monstrum","montovat","monzun","mosaz","moskyt","most","motivace","motorka","motyka","moucha","moudrost","mozaika","mozek","mozol","mramor","mravenec","mrkev","mrtvola","mrzet","mrzutost","mstitel","mudrc","muflon","mulat","mumie","munice","muset","mutace","muzeum","muzikant","myslivec","mzda","nabourat","nachytat","nadace","nadbytek","nadhoz","nadobro","nadpis","nahlas","nahnat","nahodile","nahradit","naivita","najednou","najisto","najmout","naklonit","nakonec","nakrmit","nalevo","namazat","namluvit","nanometr","naoko","naopak","naostro","napadat","napevno","naplnit","napnout","naposled","naprosto","narodit","naruby","narychlo","nasadit","nasekat","naslepo","nastat","natolik","navenek","navrch","navzdory","nazvat","nebe","nechat","necky","nedaleko","nedbat","neduh","negace","nehet","nehoda","nejen","nejprve","neklid","nelibost","nemilost","nemoc","neochota","neonka","nepokoj","nerost","nerv","nesmysl","nesoulad","netvor","neuron","nevina","nezvykle","nicota","nijak","nikam","nikdy","nikl","nikterak","nitro","nocleh","nohavice","nominace","nora","norek","nositel","nosnost","nouze","noviny","novota","nozdra","nuda","nudle","nuget","nutit","nutnost","nutrie","nymfa","obal","obarvit","obava","obdiv","obec","obehnat","obejmout","obezita","obhajoba","obilnice","objasnit","objekt","obklopit","oblast","oblek","obliba","obloha","obluda","obnos","obohatit","obojek","obout","obrazec","obrna","obruba","obrys","obsah","obsluha","obstarat","obuv","obvaz","obvinit","obvod","obvykle","obyvatel","obzor","ocas","ocel","ocenit","ochladit","ochota","ochrana","ocitnout","odboj","odbyt","odchod","odcizit","odebrat","odeslat","odevzdat","odezva","odhadce","odhodit","odjet","odjinud","odkaz","odkoupit","odliv","odluka","odmlka","odolnost","odpad","odpis","odplout","odpor","odpustit","odpykat","odrazka","odsoudit","odstup","odsun","odtok","odtud","odvaha","odveta","odvolat","odvracet","odznak","ofina","ofsajd","ohlas","ohnisko","ohrada","ohrozit","ohryzek","okap","okenice","oklika","okno","okouzlit","okovy","okrasa","okres","okrsek","okruh","okupant","okurka","okusit","olejnina","olizovat","omak","omeleta","omezit","omladina","omlouvat","omluva","omyl","onehdy","opakovat","opasek","operace","opice","opilost","opisovat","opora","opozice","opravdu","oproti","orbital","orchestr","orgie","orlice","orloj","ortel","osada","oschnout","osika","osivo","oslava","oslepit","oslnit","oslovit","osnova","osoba","osolit","ospalec","osten","ostraha","ostuda","ostych","osvojit","oteplit","otisk","otop","otrhat","otrlost","otrok","otruby","otvor","ovanout","ovar","oves","ovlivnit","ovoce","oxid","ozdoba","pachatel","pacient","padouch","pahorek","pakt","palanda","palec","palivo","paluba","pamflet","pamlsek","panenka","panika","panna","panovat","panstvo","pantofle","paprika","parketa","parodie","parta","paruka","paryba","paseka","pasivita","pastelka","patent","patrona","pavouk","pazneht","pazourek","pecka","pedagog","pejsek","peklo","peloton","penalta","pendrek","penze","periskop","pero","pestrost","petarda","petice","petrolej","pevnina","pexeso","pianista","piha","pijavice","pikle","piknik","pilina","pilnost","pilulka","pinzeta","pipeta","pisatel","pistole","pitevna","pivnice","pivovar","placenta","plakat","plamen","planeta","plastika","platit","plavidlo","plaz","plech","plemeno","plenta","ples","pletivo","plevel","plivat","plnit","plno","plocha","plodina","plomba","plout","pluk","plyn","pobavit","pobyt","pochod","pocit","poctivec","podat","podcenit","podepsat","podhled","podivit","podklad","podmanit","podnik","podoba","podpora","podraz","podstata","podvod","podzim","poezie","pohanka","pohnutka","pohovor","pohroma","pohyb","pointa","pojistka","pojmout","pokazit","pokles","pokoj","pokrok","pokuta","pokyn","poledne","polibek","polknout","poloha","polynom","pomalu","pominout","pomlka","pomoc","pomsta","pomyslet","ponechat","ponorka","ponurost","popadat","popel","popisek","poplach","poprosit","popsat","popud","poradce","porce","porod","porucha","poryv","posadit","posed","posila","poskok","poslanec","posoudit","pospolu","postava","posudek","posyp","potah","potkan","potlesk","potomek","potrava","potupa","potvora","poukaz","pouto","pouzdro","povaha","povidla","povlak","povoz","povrch","povstat","povyk","povzdech","pozdrav","pozemek","poznatek","pozor","pozvat","pracovat","prahory","praktika","prales","praotec","praporek","prase","pravda","princip","prkno","probudit","procento","prodej","profese","prohra","projekt","prolomit","promile","pronikat","propad","prorok","prosba","proton","proutek","provaz","prskavka","prsten","prudkost","prut","prvek","prvohory","psanec","psovod","pstruh","ptactvo","puberta","puch","pudl","pukavec","puklina","pukrle","pult","pumpa","punc","pupen","pusa","pusinka","pustina","putovat","putyka","pyramida","pysk","pytel","racek","rachot","radiace","radnice","radon","raft","ragby","raketa","rakovina","rameno","rampouch","rande","rarach","rarita","rasovna","rastr","ratolest","razance","razidlo","reagovat","reakce","recept","redaktor","referent","reflex","rejnok","reklama","rekord","rekrut","rektor","reputace","revize","revma","revolver","rezerva","riskovat","riziko","robotika","rodokmen","rohovka","rokle","rokoko","romaneto","ropovod","ropucha","rorejs","rosol","rostlina","rotmistr","rotoped","rotunda","roubenka","roucho","roup","roura","rovina","rovnice","rozbor","rozchod","rozdat","rozeznat","rozhodce","rozinka","rozjezd","rozkaz","rozloha","rozmar","rozpad","rozruch","rozsah","roztok","rozum","rozvod","rubrika","ruchadlo","rukavice","rukopis","ryba","rybolov","rychlost","rydlo","rypadlo","rytina","ryzost","sadista","sahat","sako","samec","samizdat","samota","sanitka","sardinka","sasanka","satelit","sazba","sazenice","sbor","schovat","sebranka","secese","sedadlo","sediment","sedlo","sehnat","sejmout","sekera","sekta","sekunda","sekvoje","semeno","seno","servis","sesadit","seshora","seskok","seslat","sestra","sesuv","sesypat","setba","setina","setkat","setnout","setrvat","sever","seznam","shoda","shrnout","sifon","silnice","sirka","sirotek","sirup","situace","skafandr","skalisko","skanzen","skaut","skeptik","skica","skladba","sklenice","sklo","skluz","skoba","skokan","skoro","skripta","skrz","skupina","skvost","skvrna","slabika","sladidlo","slanina","slast","slavnost","sledovat","slepec","sleva","slezina","slib","slina","sliznice","slon","sloupek","slovo","sluch","sluha","slunce","slupka","slza","smaragd","smetana","smilstvo","smlouva","smog","smrad","smrk","smrtka","smutek","smysl","snad","snaha","snob","sobota","socha","sodovka","sokol","sopka","sotva","souboj","soucit","soudce","souhlas","soulad","soumrak","souprava","soused","soutok","souviset","spalovna","spasitel","spis","splav","spodek","spojenec","spolu","sponzor","spornost","spousta","sprcha","spustit","sranda","sraz","srdce","srna","srnec","srovnat","srpen","srst","srub","stanice","starosta","statika","stavba","stehno","stezka","stodola","stolek","stopa","storno","stoupat","strach","stres","strhnout","strom","struna","studna","stupnice","stvol","styk","subjekt","subtropy","suchar","sudost","sukno","sundat","sunout","surikata","surovina","svah","svalstvo","svetr","svatba","svazek","svisle","svitek","svoboda","svodidlo","svorka","svrab","sykavka","sykot","synek","synovec","sypat","sypkost","syrovost","sysel","sytost","tabletka","tabule","tahoun","tajemno","tajfun","tajga","tajit","tajnost","taktika","tamhle","tampon","tancovat","tanec","tanker","tapeta","tavenina","tazatel","technika","tehdy","tekutina","telefon","temnota","tendence","tenista","tenor","teplota","tepna","teprve","terapie","termoska","textil","ticho","tiskopis","titulek","tkadlec","tkanina","tlapka","tleskat","tlukot","tlupa","tmel","toaleta","topinka","topol","torzo","touha","toulec","tradice","traktor","tramp","trasa","traverza","trefit","trest","trezor","trhavina","trhlina","trochu","trojice","troska","trouba","trpce","trpitel","trpkost","trubec","truchlit","truhlice","trus","trvat","tudy","tuhnout","tuhost","tundra","turista","turnaj","tuzemsko","tvaroh","tvorba","tvrdost","tvrz","tygr","tykev","ubohost","uboze","ubrat","ubrousek","ubrus","ubytovna","ucho","uctivost","udivit","uhradit","ujednat","ujistit","ujmout","ukazatel","uklidnit","uklonit","ukotvit","ukrojit","ulice","ulita","ulovit","umyvadlo","unavit","uniforma","uniknout","upadnout","uplatnit","uplynout","upoutat","upravit","uran","urazit","usednout","usilovat","usmrtit","usnadnit","usnout","usoudit","ustlat","ustrnout","utahovat","utkat","utlumit","utonout","utopenec","utrousit","uvalit","uvolnit","uvozovka","uzdravit","uzel","uzenina","uzlina","uznat","vagon","valcha","valoun","vana","vandal","vanilka","varan","varhany","varovat","vcelku","vchod","vdova","vedro","vegetace","vejce","velbloud","veletrh","velitel","velmoc","velryba","venkov","veranda","verze","veselka","veskrze","vesnice","vespodu","vesta","veterina","veverka","vibrace","vichr","videohra","vidina","vidle","vila","vinice","viset","vitalita","vize","vizitka","vjezd","vklad","vkus","vlajka","vlak","vlasec","vlevo","vlhkost","vliv","vlnovka","vloupat","vnucovat","vnuk","voda","vodivost","vodoznak","vodstvo","vojensky","vojna","vojsko","volant","volba","volit","volno","voskovka","vozidlo","vozovna","vpravo","vrabec","vracet","vrah","vrata","vrba","vrcholek","vrhat","vrstva","vrtule","vsadit","vstoupit","vstup","vtip","vybavit","vybrat","vychovat","vydat","vydra","vyfotit","vyhledat","vyhnout","vyhodit","vyhradit","vyhubit","vyjasnit","vyjet","vyjmout","vyklopit","vykonat","vylekat","vymazat","vymezit","vymizet","vymyslet","vynechat","vynikat","vynutit","vypadat","vyplatit","vypravit","vypustit","vyrazit","vyrovnat","vyrvat","vyslovit","vysoko","vystavit","vysunout","vysypat","vytasit","vytesat","vytratit","vyvinout","vyvolat","vyvrhel","vyzdobit","vyznat","vzadu","vzbudit","vzchopit","vzdor","vzduch","vzdychat","vzestup","vzhledem","vzkaz","vzlykat","vznik","vzorek","vzpoura","vztah","vztek","xylofon","zabrat","zabydlet","zachovat","zadarmo","zadusit","zafoukat","zahltit","zahodit","zahrada","zahynout","zajatec","zajet","zajistit","zaklepat","zakoupit","zalepit","zamezit","zamotat","zamyslet","zanechat","zanikat","zaplatit","zapojit","zapsat","zarazit","zastavit","zasunout","zatajit","zatemnit","zatknout","zaujmout","zavalit","zavelet","zavinit","zavolat","zavrtat","zazvonit","zbavit","zbrusu","zbudovat","zbytek","zdaleka","zdarma","zdatnost","zdivo","zdobit","zdroj","zdvih","zdymadlo","zelenina","zeman","zemina","zeptat","zezadu","zezdola","zhatit","zhltnout","zhluboka","zhotovit","zhruba","zima","zimnice","zjemnit","zklamat","zkoumat","zkratka","zkumavka","zlato","zlehka","zloba","zlom","zlost","zlozvyk","zmapovat","zmar","zmatek","zmije","zmizet","zmocnit","zmodrat","zmrzlina","zmutovat","znak","znalost","znamenat","znovu","zobrazit","zotavit","zoubek","zoufale","zplodit","zpomalit","zprava","zprostit","zprudka","zprvu","zrada","zranit","zrcadlo","zrnitost","zrno","zrovna","zrychlit","zrzavost","zticha","ztratit","zubovina","zubr","zvednout","zvenku","zvesela","zvon","zvrat","zvukovod","zvyk"]')},81633:function(eb){"use strict";eb.exports=JSON.parse('["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"]')},97727:function(eb){"use strict";eb.exports=JSON.parse('["abaisser","abandon","abdiquer","abeille","abolir","aborder","aboutir","aboyer","abrasif","abreuver","abriter","abroger","abrupt","absence","absolu","absurde","abusif","abyssal","académie","acajou","acarien","accabler","accepter","acclamer","accolade","accroche","accuser","acerbe","achat","acheter","aciduler","acier","acompte","acquérir","acronyme","acteur","actif","actuel","adepte","adéquat","adhésif","adjectif","adjuger","admettre","admirer","adopter","adorer","adoucir","adresse","adroit","adulte","adverbe","aérer","aéronef","affaire","affecter","affiche","affreux","affubler","agacer","agencer","agile","agiter","agrafer","agréable","agrume","aider","aiguille","ailier","aimable","aisance","ajouter","ajuster","alarmer","alchimie","alerte","algèbre","algue","aliéner","aliment","alléger","alliage","allouer","allumer","alourdir","alpaga","altesse","alvéole","amateur","ambigu","ambre","aménager","amertume","amidon","amiral","amorcer","amour","amovible","amphibie","ampleur","amusant","analyse","anaphore","anarchie","anatomie","ancien","anéantir","angle","angoisse","anguleux","animal","annexer","annonce","annuel","anodin","anomalie","anonyme","anormal","antenne","antidote","anxieux","apaiser","apéritif","aplanir","apologie","appareil","appeler","apporter","appuyer","aquarium","aqueduc","arbitre","arbuste","ardeur","ardoise","argent","arlequin","armature","armement","armoire","armure","arpenter","arracher","arriver","arroser","arsenic","artériel","article","aspect","asphalte","aspirer","assaut","asservir","assiette","associer","assurer","asticot","astre","astuce","atelier","atome","atrium","atroce","attaque","attentif","attirer","attraper","aubaine","auberge","audace","audible","augurer","aurore","automne","autruche","avaler","avancer","avarice","avenir","averse","aveugle","aviateur","avide","avion","aviser","avoine","avouer","avril","axial","axiome","badge","bafouer","bagage","baguette","baignade","balancer","balcon","baleine","balisage","bambin","bancaire","bandage","banlieue","bannière","banquier","barbier","baril","baron","barque","barrage","bassin","bastion","bataille","bateau","batterie","baudrier","bavarder","belette","bélier","belote","bénéfice","berceau","berger","berline","bermuda","besace","besogne","bétail","beurre","biberon","bicycle","bidule","bijou","bilan","bilingue","billard","binaire","biologie","biopsie","biotype","biscuit","bison","bistouri","bitume","bizarre","blafard","blague","blanchir","blessant","blinder","blond","bloquer","blouson","bobard","bobine","boire","boiser","bolide","bonbon","bondir","bonheur","bonifier","bonus","bordure","borne","botte","boucle","boueux","bougie","boulon","bouquin","bourse","boussole","boutique","boxeur","branche","brasier","brave","brebis","brèche","breuvage","bricoler","brigade","brillant","brioche","brique","brochure","broder","bronzer","brousse","broyeur","brume","brusque","brutal","bruyant","buffle","buisson","bulletin","bureau","burin","bustier","butiner","butoir","buvable","buvette","cabanon","cabine","cachette","cadeau","cadre","caféine","caillou","caisson","calculer","calepin","calibre","calmer","calomnie","calvaire","camarade","caméra","camion","campagne","canal","caneton","canon","cantine","canular","capable","caporal","caprice","capsule","capter","capuche","carabine","carbone","caresser","caribou","carnage","carotte","carreau","carton","cascade","casier","casque","cassure","causer","caution","cavalier","caverne","caviar","cédille","ceinture","céleste","cellule","cendrier","censurer","central","cercle","cérébral","cerise","cerner","cerveau","cesser","chagrin","chaise","chaleur","chambre","chance","chapitre","charbon","chasseur","chaton","chausson","chavirer","chemise","chenille","chéquier","chercher","cheval","chien","chiffre","chignon","chimère","chiot","chlorure","chocolat","choisir","chose","chouette","chrome","chute","cigare","cigogne","cimenter","cinéma","cintrer","circuler","cirer","cirque","citerne","citoyen","citron","civil","clairon","clameur","claquer","classe","clavier","client","cligner","climat","clivage","cloche","clonage","cloporte","cobalt","cobra","cocasse","cocotier","coder","codifier","coffre","cogner","cohésion","coiffer","coincer","colère","colibri","colline","colmater","colonel","combat","comédie","commande","compact","concert","conduire","confier","congeler","connoter","consonne","contact","convexe","copain","copie","corail","corbeau","cordage","corniche","corpus","correct","cortège","cosmique","costume","coton","coude","coupure","courage","couteau","couvrir","coyote","crabe","crainte","cravate","crayon","créature","créditer","crémeux","creuser","crevette","cribler","crier","cristal","critère","croire","croquer","crotale","crucial","cruel","crypter","cubique","cueillir","cuillère","cuisine","cuivre","culminer","cultiver","cumuler","cupide","curatif","curseur","cyanure","cycle","cylindre","cynique","daigner","damier","danger","danseur","dauphin","débattre","débiter","déborder","débrider","débutant","décaler","décembre","déchirer","décider","déclarer","décorer","décrire","décupler","dédale","déductif","déesse","défensif","défiler","défrayer","dégager","dégivrer","déglutir","dégrafer","déjeuner","délice","déloger","demander","demeurer","démolir","dénicher","dénouer","dentelle","dénuder","départ","dépenser","déphaser","déplacer","déposer","déranger","dérober","désastre","descente","désert","désigner","désobéir","dessiner","destrier","détacher","détester","détourer","détresse","devancer","devenir","deviner","devoir","diable","dialogue","diamant","dicter","différer","digérer","digital","digne","diluer","dimanche","diminuer","dioxyde","directif","diriger","discuter","disposer","dissiper","distance","divertir","diviser","docile","docteur","dogme","doigt","domaine","domicile","dompter","donateur","donjon","donner","dopamine","dortoir","dorure","dosage","doseur","dossier","dotation","douanier","double","douceur","douter","doyen","dragon","draper","dresser","dribbler","droiture","duperie","duplexe","durable","durcir","dynastie","éblouir","écarter","écharpe","échelle","éclairer","éclipse","éclore","écluse","école","économie","écorce","écouter","écraser","écrémer","écrivain","écrou","écume","écureuil","édifier","éduquer","effacer","effectif","effigie","effort","effrayer","effusion","égaliser","égarer","éjecter","élaborer","élargir","électron","élégant","éléphant","élève","éligible","élitisme","éloge","élucider","éluder","emballer","embellir","embryon","émeraude","émission","emmener","émotion","émouvoir","empereur","employer","emporter","emprise","émulsion","encadrer","enchère","enclave","encoche","endiguer","endosser","endroit","enduire","énergie","enfance","enfermer","enfouir","engager","engin","englober","énigme","enjamber","enjeu","enlever","ennemi","ennuyeux","enrichir","enrobage","enseigne","entasser","entendre","entier","entourer","entraver","énumérer","envahir","enviable","envoyer","enzyme","éolien","épaissir","épargne","épatant","épaule","épicerie","épidémie","épier","épilogue","épine","épisode","épitaphe","époque","épreuve","éprouver","épuisant","équerre","équipe","ériger","érosion","erreur","éruption","escalier","espadon","espèce","espiègle","espoir","esprit","esquiver","essayer","essence","essieu","essorer","estime","estomac","estrade","étagère","étaler","étanche","étatique","éteindre","étendoir","éternel","éthanol","éthique","ethnie","étirer","étoffer","étoile","étonnant","étourdir","étrange","étroit","étude","euphorie","évaluer","évasion","éventail","évidence","éviter","évolutif","évoquer","exact","exagérer","exaucer","exceller","excitant","exclusif","excuse","exécuter","exemple","exercer","exhaler","exhorter","exigence","exiler","exister","exotique","expédier","explorer","exposer","exprimer","exquis","extensif","extraire","exulter","fable","fabuleux","facette","facile","facture","faiblir","falaise","fameux","famille","farceur","farfelu","farine","farouche","fasciner","fatal","fatigue","faucon","fautif","faveur","favori","fébrile","féconder","fédérer","félin","femme","fémur","fendoir","féodal","fermer","féroce","ferveur","festival","feuille","feutre","février","fiasco","ficeler","fictif","fidèle","figure","filature","filetage","filière","filleul","filmer","filou","filtrer","financer","finir","fiole","firme","fissure","fixer","flairer","flamme","flasque","flatteur","fléau","flèche","fleur","flexion","flocon","flore","fluctuer","fluide","fluvial","folie","fonderie","fongible","fontaine","forcer","forgeron","formuler","fortune","fossile","foudre","fougère","fouiller","foulure","fourmi","fragile","fraise","franchir","frapper","frayeur","frégate","freiner","frelon","frémir","frénésie","frère","friable","friction","frisson","frivole","froid","fromage","frontal","frotter","fruit","fugitif","fuite","fureur","furieux","furtif","fusion","futur","gagner","galaxie","galerie","gambader","garantir","gardien","garnir","garrigue","gazelle","gazon","géant","gélatine","gélule","gendarme","général","génie","genou","gentil","géologie","géomètre","géranium","germe","gestuel","geyser","gibier","gicler","girafe","givre","glace","glaive","glisser","globe","gloire","glorieux","golfeur","gomme","gonfler","gorge","gorille","goudron","gouffre","goulot","goupille","gourmand","goutte","graduel","graffiti","graine","grand","grappin","gratuit","gravir","grenat","griffure","griller","grimper","grogner","gronder","grotte","groupe","gruger","grutier","gruyère","guépard","guerrier","guide","guimauve","guitare","gustatif","gymnaste","gyrostat","habitude","hachoir","halte","hameau","hangar","hanneton","haricot","harmonie","harpon","hasard","hélium","hématome","herbe","hérisson","hermine","héron","hésiter","heureux","hiberner","hibou","hilarant","histoire","hiver","homard","hommage","homogène","honneur","honorer","honteux","horde","horizon","horloge","hormone","horrible","houleux","housse","hublot","huileux","humain","humble","humide","humour","hurler","hydromel","hygiène","hymne","hypnose","idylle","ignorer","iguane","illicite","illusion","image","imbiber","imiter","immense","immobile","immuable","impact","impérial","implorer","imposer","imprimer","imputer","incarner","incendie","incident","incliner","incolore","indexer","indice","inductif","inédit","ineptie","inexact","infini","infliger","informer","infusion","ingérer","inhaler","inhiber","injecter","injure","innocent","inoculer","inonder","inscrire","insecte","insigne","insolite","inspirer","instinct","insulter","intact","intense","intime","intrigue","intuitif","inutile","invasion","inventer","inviter","invoquer","ironique","irradier","irréel","irriter","isoler","ivoire","ivresse","jaguar","jaillir","jambe","janvier","jardin","jauger","jaune","javelot","jetable","jeton","jeudi","jeunesse","joindre","joncher","jongler","joueur","jouissif","journal","jovial","joyau","joyeux","jubiler","jugement","junior","jupon","juriste","justice","juteux","juvénile","kayak","kimono","kiosque","label","labial","labourer","lacérer","lactose","lagune","laine","laisser","laitier","lambeau","lamelle","lampe","lanceur","langage","lanterne","lapin","largeur","larme","laurier","lavabo","lavoir","lecture","légal","léger","légume","lessive","lettre","levier","lexique","lézard","liasse","libérer","libre","licence","licorne","liège","lièvre","ligature","ligoter","ligue","limer","limite","limonade","limpide","linéaire","lingot","lionceau","liquide","lisière","lister","lithium","litige","littoral","livreur","logique","lointain","loisir","lombric","loterie","louer","lourd","loutre","louve","loyal","lubie","lucide","lucratif","lueur","lugubre","luisant","lumière","lunaire","lundi","luron","lutter","luxueux","machine","magasin","magenta","magique","maigre","maillon","maintien","mairie","maison","majorer","malaxer","maléfice","malheur","malice","mallette","mammouth","mandater","maniable","manquant","manteau","manuel","marathon","marbre","marchand","mardi","maritime","marqueur","marron","marteler","mascotte","massif","matériel","matière","matraque","maudire","maussade","mauve","maximal","méchant","méconnu","médaille","médecin","méditer","méduse","meilleur","mélange","mélodie","membre","mémoire","menacer","mener","menhir","mensonge","mentor","mercredi","mérite","merle","messager","mesure","métal","météore","méthode","métier","meuble","miauler","microbe","miette","mignon","migrer","milieu","million","mimique","mince","minéral","minimal","minorer","minute","miracle","miroiter","missile","mixte","mobile","moderne","moelleux","mondial","moniteur","monnaie","monotone","monstre","montagne","monument","moqueur","morceau","morsure","mortier","moteur","motif","mouche","moufle","moulin","mousson","mouton","mouvant","multiple","munition","muraille","murène","murmure","muscle","muséum","musicien","mutation","muter","mutuel","myriade","myrtille","mystère","mythique","nageur","nappe","narquois","narrer","natation","nation","nature","naufrage","nautique","navire","nébuleux","nectar","néfaste","négation","négliger","négocier","neige","nerveux","nettoyer","neurone","neutron","neveu","niche","nickel","nitrate","niveau","noble","nocif","nocturne","noirceur","noisette","nomade","nombreux","nommer","normatif","notable","notifier","notoire","nourrir","nouveau","novateur","novembre","novice","nuage","nuancer","nuire","nuisible","numéro","nuptial","nuque","nutritif","obéir","objectif","obliger","obscur","observer","obstacle","obtenir","obturer","occasion","occuper","océan","octobre","octroyer","octupler","oculaire","odeur","odorant","offenser","officier","offrir","ogive","oiseau","oisillon","olfactif","olivier","ombrage","omettre","onctueux","onduler","onéreux","onirique","opale","opaque","opérer","opinion","opportun","opprimer","opter","optique","orageux","orange","orbite","ordonner","oreille","organe","orgueil","orifice","ornement","orque","ortie","osciller","osmose","ossature","otarie","ouragan","ourson","outil","outrager","ouvrage","ovation","oxyde","oxygène","ozone","paisible","palace","palmarès","palourde","palper","panache","panda","pangolin","paniquer","panneau","panorama","pantalon","papaye","papier","papoter","papyrus","paradoxe","parcelle","paresse","parfumer","parler","parole","parrain","parsemer","partager","parure","parvenir","passion","pastèque","paternel","patience","patron","pavillon","pavoiser","payer","paysage","peigne","peintre","pelage","pélican","pelle","pelouse","peluche","pendule","pénétrer","pénible","pensif","pénurie","pépite","péplum","perdrix","perforer","période","permuter","perplexe","persil","perte","peser","pétale","petit","pétrir","peuple","pharaon","phobie","phoque","photon","phrase","physique","piano","pictural","pièce","pierre","pieuvre","pilote","pinceau","pipette","piquer","pirogue","piscine","piston","pivoter","pixel","pizza","placard","plafond","plaisir","planer","plaque","plastron","plateau","pleurer","plexus","pliage","plomb","plonger","pluie","plumage","pochette","poésie","poète","pointe","poirier","poisson","poivre","polaire","policier","pollen","polygone","pommade","pompier","ponctuel","pondérer","poney","portique","position","posséder","posture","potager","poteau","potion","pouce","poulain","poumon","pourpre","poussin","pouvoir","prairie","pratique","précieux","prédire","préfixe","prélude","prénom","présence","prétexte","prévoir","primitif","prince","prison","priver","problème","procéder","prodige","profond","progrès","proie","projeter","prologue","promener","propre","prospère","protéger","prouesse","proverbe","prudence","pruneau","psychose","public","puceron","puiser","pulpe","pulsar","punaise","punitif","pupitre","purifier","puzzle","pyramide","quasar","querelle","question","quiétude","quitter","quotient","racine","raconter","radieux","ragondin","raideur","raisin","ralentir","rallonge","ramasser","rapide","rasage","ratisser","ravager","ravin","rayonner","réactif","réagir","réaliser","réanimer","recevoir","réciter","réclamer","récolter","recruter","reculer","recycler","rédiger","redouter","refaire","réflexe","réformer","refrain","refuge","régalien","région","réglage","régulier","réitérer","rejeter","rejouer","relatif","relever","relief","remarque","remède","remise","remonter","remplir","remuer","renard","renfort","renifler","renoncer","rentrer","renvoi","replier","reporter","reprise","reptile","requin","réserve","résineux","résoudre","respect","rester","résultat","rétablir","retenir","réticule","retomber","retracer","réunion","réussir","revanche","revivre","révolte","révulsif","richesse","rideau","rieur","rigide","rigoler","rincer","riposter","risible","risque","rituel","rival","rivière","rocheux","romance","rompre","ronce","rondin","roseau","rosier","rotatif","rotor","rotule","rouge","rouille","rouleau","routine","royaume","ruban","rubis","ruche","ruelle","rugueux","ruiner","ruisseau","ruser","rustique","rythme","sabler","saboter","sabre","sacoche","safari","sagesse","saisir","salade","salive","salon","saluer","samedi","sanction","sanglier","sarcasme","sardine","saturer","saugrenu","saumon","sauter","sauvage","savant","savonner","scalpel","scandale","scélérat","scénario","sceptre","schéma","science","scinder","score","scrutin","sculpter","séance","sécable","sécher","secouer","sécréter","sédatif","séduire","seigneur","séjour","sélectif","semaine","sembler","semence","séminal","sénateur","sensible","sentence","séparer","séquence","serein","sergent","sérieux","serrure","sérum","service","sésame","sévir","sevrage","sextuple","sidéral","siècle","siéger","siffler","sigle","signal","silence","silicium","simple","sincère","sinistre","siphon","sirop","sismique","situer","skier","social","socle","sodium","soigneux","soldat","soleil","solitude","soluble","sombre","sommeil","somnoler","sonde","songeur","sonnette","sonore","sorcier","sortir","sosie","sottise","soucieux","soudure","souffle","soulever","soupape","source","soutirer","souvenir","spacieux","spatial","spécial","sphère","spiral","stable","station","sternum","stimulus","stipuler","strict","studieux","stupeur","styliste","sublime","substrat","subtil","subvenir","succès","sucre","suffixe","suggérer","suiveur","sulfate","superbe","supplier","surface","suricate","surmener","surprise","sursaut","survie","suspect","syllabe","symbole","symétrie","synapse","syntaxe","système","tabac","tablier","tactile","tailler","talent","talisman","talonner","tambour","tamiser","tangible","tapis","taquiner","tarder","tarif","tartine","tasse","tatami","tatouage","taupe","taureau","taxer","témoin","temporel","tenaille","tendre","teneur","tenir","tension","terminer","terne","terrible","tétine","texte","thème","théorie","thérapie","thorax","tibia","tiède","timide","tirelire","tiroir","tissu","titane","titre","tituber","toboggan","tolérant","tomate","tonique","tonneau","toponyme","torche","tordre","tornade","torpille","torrent","torse","tortue","totem","toucher","tournage","tousser","toxine","traction","trafic","tragique","trahir","train","trancher","travail","trèfle","tremper","trésor","treuil","triage","tribunal","tricoter","trilogie","triomphe","tripler","triturer","trivial","trombone","tronc","tropical","troupeau","tuile","tulipe","tumulte","tunnel","turbine","tuteur","tutoyer","tuyau","tympan","typhon","typique","tyran","ubuesque","ultime","ultrason","unanime","unifier","union","unique","unitaire","univers","uranium","urbain","urticant","usage","usine","usuel","usure","utile","utopie","vacarme","vaccin","vagabond","vague","vaillant","vaincre","vaisseau","valable","valise","vallon","valve","vampire","vanille","vapeur","varier","vaseux","vassal","vaste","vecteur","vedette","végétal","véhicule","veinard","véloce","vendredi","vénérer","venger","venimeux","ventouse","verdure","vérin","vernir","verrou","verser","vertu","veston","vétéran","vétuste","vexant","vexer","viaduc","viande","victoire","vidange","vidéo","vignette","vigueur","vilain","village","vinaigre","violon","vipère","virement","virtuose","virus","visage","viseur","vision","visqueux","visuel","vital","vitesse","viticole","vitrine","vivace","vivipare","vocation","voguer","voile","voisin","voiture","volaille","volcan","voltiger","volume","vorace","vortex","voter","vouloir","voyage","voyelle","wagon","xénon","yacht","zèbre","zénith","zeste","zoologie"]')},94019:function(eb){"use strict";eb.exports=JSON.parse('["abaco","abbaglio","abbinato","abete","abisso","abolire","abrasivo","abrogato","accadere","accenno","accusato","acetone","achille","acido","acqua","acre","acrilico","acrobata","acuto","adagio","addebito","addome","adeguato","aderire","adipe","adottare","adulare","affabile","affetto","affisso","affranto","aforisma","afoso","africano","agave","agente","agevole","aggancio","agire","agitare","agonismo","agricolo","agrumeto","aguzzo","alabarda","alato","albatro","alberato","albo","albume","alce","alcolico","alettone","alfa","algebra","aliante","alibi","alimento","allagato","allegro","allievo","allodola","allusivo","almeno","alogeno","alpaca","alpestre","altalena","alterno","alticcio","altrove","alunno","alveolo","alzare","amalgama","amanita","amarena","ambito","ambrato","ameba","america","ametista","amico","ammasso","ammenda","ammirare","ammonito","amore","ampio","ampliare","amuleto","anacardo","anagrafe","analista","anarchia","anatra","anca","ancella","ancora","andare","andrea","anello","angelo","angolare","angusto","anima","annegare","annidato","anno","annuncio","anonimo","anticipo","anzi","apatico","apertura","apode","apparire","appetito","appoggio","approdo","appunto","aprile","arabica","arachide","aragosta","araldica","arancio","aratura","arazzo","arbitro","archivio","ardito","arenile","argento","argine","arguto","aria","armonia","arnese","arredato","arringa","arrosto","arsenico","arso","artefice","arzillo","asciutto","ascolto","asepsi","asettico","asfalto","asino","asola","aspirato","aspro","assaggio","asse","assoluto","assurdo","asta","astenuto","astice","astratto","atavico","ateismo","atomico","atono","attesa","attivare","attorno","attrito","attuale","ausilio","austria","autista","autonomo","autunno","avanzato","avere","avvenire","avviso","avvolgere","azione","azoto","azzimo","azzurro","babele","baccano","bacino","baco","badessa","badilata","bagnato","baita","balcone","baldo","balena","ballata","balzano","bambino","bandire","baraonda","barbaro","barca","baritono","barlume","barocco","basilico","basso","batosta","battuto","baule","bava","bavosa","becco","beffa","belgio","belva","benda","benevole","benigno","benzina","bere","berlina","beta","bibita","bici","bidone","bifido","biga","bilancia","bimbo","binocolo","biologo","bipede","bipolare","birbante","birra","biscotto","bisesto","bisnonno","bisonte","bisturi","bizzarro","blando","blatta","bollito","bonifico","bordo","bosco","botanico","bottino","bozzolo","braccio","bradipo","brama","branca","bravura","bretella","brevetto","brezza","briglia","brillante","brindare","broccolo","brodo","bronzina","brullo","bruno","bubbone","buca","budino","buffone","buio","bulbo","buono","burlone","burrasca","bussola","busta","cadetto","caduco","calamaro","calcolo","calesse","calibro","calmo","caloria","cambusa","camerata","camicia","cammino","camola","campale","canapa","candela","cane","canino","canotto","cantina","capace","capello","capitolo","capogiro","cappero","capra","capsula","carapace","carcassa","cardo","carisma","carovana","carretto","cartolina","casaccio","cascata","caserma","caso","cassone","castello","casuale","catasta","catena","catrame","cauto","cavillo","cedibile","cedrata","cefalo","celebre","cellulare","cena","cenone","centesimo","ceramica","cercare","certo","cerume","cervello","cesoia","cespo","ceto","chela","chiaro","chicca","chiedere","chimera","china","chirurgo","chitarra","ciao","ciclismo","cifrare","cigno","cilindro","ciottolo","circa","cirrosi","citrico","cittadino","ciuffo","civetta","civile","classico","clinica","cloro","cocco","codardo","codice","coerente","cognome","collare","colmato","colore","colposo","coltivato","colza","coma","cometa","commando","comodo","computer","comune","conciso","condurre","conferma","congelare","coniuge","connesso","conoscere","consumo","continuo","convegno","coperto","copione","coppia","copricapo","corazza","cordata","coricato","cornice","corolla","corpo","corredo","corsia","cortese","cosmico","costante","cottura","covato","cratere","cravatta","creato","credere","cremoso","crescita","creta","criceto","crinale","crisi","critico","croce","cronaca","crostata","cruciale","crusca","cucire","cuculo","cugino","cullato","cupola","curatore","cursore","curvo","cuscino","custode","dado","daino","dalmata","damerino","daniela","dannoso","danzare","datato","davanti","davvero","debutto","decennio","deciso","declino","decollo","decreto","dedicato","definito","deforme","degno","delegare","delfino","delirio","delta","demenza","denotato","dentro","deposito","derapata","derivare","deroga","descritto","deserto","desiderio","desumere","detersivo","devoto","diametro","dicembre","diedro","difeso","diffuso","digerire","digitale","diluvio","dinamico","dinnanzi","dipinto","diploma","dipolo","diradare","dire","dirotto","dirupo","disagio","discreto","disfare","disgelo","disposto","distanza","disumano","dito","divano","divelto","dividere","divorato","doblone","docente","doganale","dogma","dolce","domato","domenica","dominare","dondolo","dono","dormire","dote","dottore","dovuto","dozzina","drago","druido","dubbio","dubitare","ducale","duna","duomo","duplice","duraturo","ebano","eccesso","ecco","eclissi","economia","edera","edicola","edile","editoria","educare","egemonia","egli","egoismo","egregio","elaborato","elargire","elegante","elencato","eletto","elevare","elfico","elica","elmo","elsa","eluso","emanato","emblema","emesso","emiro","emotivo","emozione","empirico","emulo","endemico","enduro","energia","enfasi","enoteca","entrare","enzima","epatite","epilogo","episodio","epocale","eppure","equatore","erario","erba","erboso","erede","eremita","erigere","ermetico","eroe","erosivo","errante","esagono","esame","esanime","esaudire","esca","esempio","esercito","esibito","esigente","esistere","esito","esofago","esortato","esoso","espanso","espresso","essenza","esso","esteso","estimare","estonia","estroso","esultare","etilico","etnico","etrusco","etto","euclideo","europa","evaso","evidenza","evitato","evoluto","evviva","fabbrica","faccenda","fachiro","falco","famiglia","fanale","fanfara","fango","fantasma","fare","farfalla","farinoso","farmaco","fascia","fastoso","fasullo","faticare","fato","favoloso","febbre","fecola","fede","fegato","felpa","feltro","femmina","fendere","fenomeno","fermento","ferro","fertile","fessura","festivo","fetta","feudo","fiaba","fiducia","fifa","figurato","filo","finanza","finestra","finire","fiore","fiscale","fisico","fiume","flacone","flamenco","flebo","flemma","florido","fluente","fluoro","fobico","focaccia","focoso","foderato","foglio","folata","folclore","folgore","fondente","fonetico","fonia","fontana","forbito","forchetta","foresta","formica","fornaio","foro","fortezza","forzare","fosfato","fosso","fracasso","frana","frassino","fratello","freccetta","frenata","fresco","frigo","frollino","fronde","frugale","frutta","fucilata","fucsia","fuggente","fulmine","fulvo","fumante","fumetto","fumoso","fune","funzione","fuoco","furbo","furgone","furore","fuso","futile","gabbiano","gaffe","galateo","gallina","galoppo","gambero","gamma","garanzia","garbo","garofano","garzone","gasdotto","gasolio","gastrico","gatto","gaudio","gazebo","gazzella","geco","gelatina","gelso","gemello","gemmato","gene","genitore","gennaio","genotipo","gergo","ghepardo","ghiaccio","ghisa","giallo","gilda","ginepro","giocare","gioiello","giorno","giove","girato","girone","gittata","giudizio","giurato","giusto","globulo","glutine","gnomo","gobba","golf","gomito","gommone","gonfio","gonna","governo","gracile","grado","grafico","grammo","grande","grattare","gravoso","grazia","greca","gregge","grifone","grigio","grinza","grotta","gruppo","guadagno","guaio","guanto","guardare","gufo","guidare","ibernato","icona","identico","idillio","idolo","idra","idrico","idrogeno","igiene","ignaro","ignorato","ilare","illeso","illogico","illudere","imballo","imbevuto","imbocco","imbuto","immane","immerso","immolato","impacco","impeto","impiego","importo","impronta","inalare","inarcare","inattivo","incanto","incendio","inchino","incisivo","incluso","incontro","incrocio","incubo","indagine","india","indole","inedito","infatti","infilare","inflitto","ingaggio","ingegno","inglese","ingordo","ingrosso","innesco","inodore","inoltrare","inondato","insano","insetto","insieme","insonnia","insulina","intasato","intero","intonaco","intuito","inumidire","invalido","invece","invito","iperbole","ipnotico","ipotesi","ippica","iride","irlanda","ironico","irrigato","irrorare","isolato","isotopo","isterico","istituto","istrice","italia","iterare","labbro","labirinto","lacca","lacerato","lacrima","lacuna","laddove","lago","lampo","lancetta","lanterna","lardoso","larga","laringe","lastra","latenza","latino","lattuga","lavagna","lavoro","legale","leggero","lembo","lentezza","lenza","leone","lepre","lesivo","lessato","lesto","letterale","leva","levigato","libero","lido","lievito","lilla","limatura","limitare","limpido","lineare","lingua","liquido","lira","lirica","lisca","lite","litigio","livrea","locanda","lode","logica","lombare","londra","longevo","loquace","lorenzo","loto","lotteria","luce","lucidato","lumaca","luminoso","lungo","lupo","luppolo","lusinga","lusso","lutto","macabro","macchina","macero","macinato","madama","magico","maglia","magnete","magro","maiolica","malafede","malgrado","malinteso","malsano","malto","malumore","mana","mancia","mandorla","mangiare","manifesto","mannaro","manovra","mansarda","mantide","manubrio","mappa","maratona","marcire","maretta","marmo","marsupio","maschera","massaia","mastino","materasso","matricola","mattone","maturo","mazurca","meandro","meccanico","mecenate","medesimo","meditare","mega","melassa","melis","melodia","meninge","meno","mensola","mercurio","merenda","merlo","meschino","mese","messere","mestolo","metallo","metodo","mettere","miagolare","mica","micelio","michele","microbo","midollo","miele","migliore","milano","milite","mimosa","minerale","mini","minore","mirino","mirtillo","miscela","missiva","misto","misurare","mitezza","mitigare","mitra","mittente","mnemonico","modello","modifica","modulo","mogano","mogio","mole","molosso","monastero","monco","mondina","monetario","monile","monotono","monsone","montato","monviso","mora","mordere","morsicato","mostro","motivato","motosega","motto","movenza","movimento","mozzo","mucca","mucosa","muffa","mughetto","mugnaio","mulatto","mulinello","multiplo","mummia","munto","muovere","murale","musa","muscolo","musica","mutevole","muto","nababbo","nafta","nanometro","narciso","narice","narrato","nascere","nastrare","naturale","nautica","naviglio","nebulosa","necrosi","negativo","negozio","nemmeno","neofita","neretto","nervo","nessuno","nettuno","neutrale","neve","nevrotico","nicchia","ninfa","nitido","nobile","nocivo","nodo","nome","nomina","nordico","normale","norvegese","nostrano","notare","notizia","notturno","novella","nucleo","nulla","numero","nuovo","nutrire","nuvola","nuziale","oasi","obbedire","obbligo","obelisco","oblio","obolo","obsoleto","occasione","occhio","occidente","occorrere","occultare","ocra","oculato","odierno","odorare","offerta","offrire","offuscato","oggetto","oggi","ognuno","olandese","olfatto","oliato","oliva","ologramma","oltre","omaggio","ombelico","ombra","omega","omissione","ondoso","onere","onice","onnivoro","onorevole","onta","operato","opinione","opposto","oracolo","orafo","ordine","orecchino","orefice","orfano","organico","origine","orizzonte","orma","ormeggio","ornativo","orologio","orrendo","orribile","ortensia","ortica","orzata","orzo","osare","oscurare","osmosi","ospedale","ospite","ossa","ossidare","ostacolo","oste","otite","otre","ottagono","ottimo","ottobre","ovale","ovest","ovino","oviparo","ovocito","ovunque","ovviare","ozio","pacchetto","pace","pacifico","padella","padrone","paese","paga","pagina","palazzina","palesare","pallido","palo","palude","pandoro","pannello","paolo","paonazzo","paprica","parabola","parcella","parere","pargolo","pari","parlato","parola","partire","parvenza","parziale","passivo","pasticca","patacca","patologia","pattume","pavone","peccato","pedalare","pedonale","peggio","peloso","penare","pendice","penisola","pennuto","penombra","pensare","pentola","pepe","pepita","perbene","percorso","perdonato","perforare","pergamena","periodo","permesso","perno","perplesso","persuaso","pertugio","pervaso","pesatore","pesista","peso","pestifero","petalo","pettine","petulante","pezzo","piacere","pianta","piattino","piccino","picozza","piega","pietra","piffero","pigiama","pigolio","pigro","pila","pilifero","pillola","pilota","pimpante","pineta","pinna","pinolo","pioggia","piombo","piramide","piretico","pirite","pirolisi","pitone","pizzico","placebo","planare","plasma","platano","plenario","pochezza","poderoso","podismo","poesia","poggiare","polenta","poligono","pollice","polmonite","polpetta","polso","poltrona","polvere","pomice","pomodoro","ponte","popoloso","porfido","poroso","porpora","porre","portata","posa","positivo","possesso","postulato","potassio","potere","pranzo","prassi","pratica","precluso","predica","prefisso","pregiato","prelievo","premere","prenotare","preparato","presenza","pretesto","prevalso","prima","principe","privato","problema","procura","produrre","profumo","progetto","prolunga","promessa","pronome","proposta","proroga","proteso","prova","prudente","prugna","prurito","psiche","pubblico","pudica","pugilato","pugno","pulce","pulito","pulsante","puntare","pupazzo","pupilla","puro","quadro","qualcosa","quasi","querela","quota","raccolto","raddoppio","radicale","radunato","raffica","ragazzo","ragione","ragno","ramarro","ramingo","ramo","randagio","rantolare","rapato","rapina","rappreso","rasatura","raschiato","rasente","rassegna","rastrello","rata","ravveduto","reale","recepire","recinto","recluta","recondito","recupero","reddito","redimere","regalato","registro","regola","regresso","relazione","remare","remoto","renna","replica","reprimere","reputare","resa","residente","responso","restauro","rete","retina","retorica","rettifica","revocato","riassunto","ribadire","ribelle","ribrezzo","ricarica","ricco","ricevere","riciclato","ricordo","ricreduto","ridicolo","ridurre","rifasare","riflesso","riforma","rifugio","rigare","rigettato","righello","rilassato","rilevato","rimanere","rimbalzo","rimedio","rimorchio","rinascita","rincaro","rinforzo","rinnovo","rinomato","rinsavito","rintocco","rinuncia","rinvenire","riparato","ripetuto","ripieno","riportare","ripresa","ripulire","risata","rischio","riserva","risibile","riso","rispetto","ristoro","risultato","risvolto","ritardo","ritegno","ritmico","ritrovo","riunione","riva","riverso","rivincita","rivolto","rizoma","roba","robotico","robusto","roccia","roco","rodaggio","rodere","roditore","rogito","rollio","romantico","rompere","ronzio","rosolare","rospo","rotante","rotondo","rotula","rovescio","rubizzo","rubrica","ruga","rullino","rumine","rumoroso","ruolo","rupe","russare","rustico","sabato","sabbiare","sabotato","sagoma","salasso","saldatura","salgemma","salivare","salmone","salone","saltare","saluto","salvo","sapere","sapido","saporito","saraceno","sarcasmo","sarto","sassoso","satellite","satira","satollo","saturno","savana","savio","saziato","sbadiglio","sbalzo","sbancato","sbarra","sbattere","sbavare","sbendare","sbirciare","sbloccato","sbocciato","sbrinare","sbruffone","sbuffare","scabroso","scadenza","scala","scambiare","scandalo","scapola","scarso","scatenare","scavato","scelto","scenico","scettro","scheda","schiena","sciarpa","scienza","scindere","scippo","sciroppo","scivolo","sclerare","scodella","scolpito","scomparto","sconforto","scoprire","scorta","scossone","scozzese","scriba","scrollare","scrutinio","scuderia","scultore","scuola","scuro","scusare","sdebitare","sdoganare","seccatura","secondo","sedano","seggiola","segnalato","segregato","seguito","selciato","selettivo","sella","selvaggio","semaforo","sembrare","seme","seminato","sempre","senso","sentire","sepolto","sequenza","serata","serbato","sereno","serio","serpente","serraglio","servire","sestina","setola","settimana","sfacelo","sfaldare","sfamato","sfarzoso","sfaticato","sfera","sfida","sfilato","sfinge","sfocato","sfoderare","sfogo","sfoltire","sforzato","sfratto","sfruttato","sfuggito","sfumare","sfuso","sgabello","sgarbato","sgonfiare","sgorbio","sgrassato","sguardo","sibilo","siccome","sierra","sigla","signore","silenzio","sillaba","simbolo","simpatico","simulato","sinfonia","singolo","sinistro","sino","sintesi","sinusoide","sipario","sisma","sistole","situato","slitta","slogatura","sloveno","smarrito","smemorato","smentito","smeraldo","smilzo","smontare","smottato","smussato","snellire","snervato","snodo","sobbalzo","sobrio","soccorso","sociale","sodale","soffitto","sogno","soldato","solenne","solido","sollazzo","solo","solubile","solvente","somatico","somma","sonda","sonetto","sonnifero","sopire","soppeso","sopra","sorgere","sorpasso","sorriso","sorso","sorteggio","sorvolato","sospiro","sosta","sottile","spada","spalla","spargere","spatola","spavento","spazzola","specie","spedire","spegnere","spelatura","speranza","spessore","spettrale","spezzato","spia","spigoloso","spillato","spinoso","spirale","splendido","sportivo","sposo","spranga","sprecare","spronato","spruzzo","spuntino","squillo","sradicare","srotolato","stabile","stacco","staffa","stagnare","stampato","stantio","starnuto","stasera","statuto","stelo","steppa","sterzo","stiletto","stima","stirpe","stivale","stizzoso","stonato","storico","strappo","stregato","stridulo","strozzare","strutto","stuccare","stufo","stupendo","subentro","succoso","sudore","suggerito","sugo","sultano","suonare","superbo","supporto","surgelato","surrogato","sussurro","sutura","svagare","svedese","sveglio","svelare","svenuto","svezia","sviluppo","svista","svizzera","svolta","svuotare","tabacco","tabulato","tacciare","taciturno","tale","talismano","tampone","tannino","tara","tardivo","targato","tariffa","tarpare","tartaruga","tasto","tattico","taverna","tavolata","tazza","teca","tecnico","telefono","temerario","tempo","temuto","tendone","tenero","tensione","tentacolo","teorema","terme","terrazzo","terzetto","tesi","tesserato","testato","tetro","tettoia","tifare","tigella","timbro","tinto","tipico","tipografo","tiraggio","tiro","titanio","titolo","titubante","tizio","tizzone","toccare","tollerare","tolto","tombola","tomo","tonfo","tonsilla","topazio","topologia","toppa","torba","tornare","torrone","tortora","toscano","tossire","tostatura","totano","trabocco","trachea","trafila","tragedia","tralcio","tramonto","transito","trapano","trarre","trasloco","trattato","trave","treccia","tremolio","trespolo","tributo","tricheco","trifoglio","trillo","trincea","trio","tristezza","triturato","trivella","tromba","trono","troppo","trottola","trovare","truccato","tubatura","tuffato","tulipano","tumulto","tunisia","turbare","turchino","tuta","tutela","ubicato","uccello","uccisore","udire","uditivo","uffa","ufficio","uguale","ulisse","ultimato","umano","umile","umorismo","uncinetto","ungere","ungherese","unicorno","unificato","unisono","unitario","unte","uovo","upupa","uragano","urgenza","urlo","usanza","usato","uscito","usignolo","usuraio","utensile","utilizzo","utopia","vacante","vaccinato","vagabondo","vagliato","valanga","valgo","valico","valletta","valoroso","valutare","valvola","vampata","vangare","vanitoso","vano","vantaggio","vanvera","vapore","varano","varcato","variante","vasca","vedetta","vedova","veduto","vegetale","veicolo","velcro","velina","velluto","veloce","venato","vendemmia","vento","verace","verbale","vergogna","verifica","vero","verruca","verticale","vescica","vessillo","vestale","veterano","vetrina","vetusto","viandante","vibrante","vicenda","vichingo","vicinanza","vidimare","vigilia","vigneto","vigore","vile","villano","vimini","vincitore","viola","vipera","virgola","virologo","virulento","viscoso","visione","vispo","vissuto","visura","vita","vitello","vittima","vivanda","vivido","viziare","voce","voga","volatile","volere","volpe","voragine","vulcano","zampogna","zanna","zappato","zattera","zavorra","zefiro","zelante","zelo","zenzero","zerbino","zibetto","zinco","zircone","zitto","zolla","zotico","zucchero","zufolo","zulu","zuppa"]')},67868:function(eb){"use strict";eb.exports=JSON.parse('["あいこくしん","あいさつ","あいだ","あおぞら","あかちゃん","あきる","あけがた","あける","あこがれる","あさい","あさひ","あしあと","あじわう","あずかる","あずき","あそぶ","あたえる","あたためる","あたりまえ","あたる","あつい","あつかう","あっしゅく","あつまり","あつめる","あてな","あてはまる","あひる","あぶら","あぶる","あふれる","あまい","あまど","あまやかす","あまり","あみもの","あめりか","あやまる","あゆむ","あらいぐま","あらし","あらすじ","あらためる","あらゆる","あらわす","ありがとう","あわせる","あわてる","あんい","あんがい","あんこ","あんぜん","あんてい","あんない","あんまり","いいだす","いおん","いがい","いがく","いきおい","いきなり","いきもの","いきる","いくじ","いくぶん","いけばな","いけん","いこう","いこく","いこつ","いさましい","いさん","いしき","いじゅう","いじょう","いじわる","いずみ","いずれ","いせい","いせえび","いせかい","いせき","いぜん","いそうろう","いそがしい","いだい","いだく","いたずら","いたみ","いたりあ","いちおう","いちじ","いちど","いちば","いちぶ","いちりゅう","いつか","いっしゅん","いっせい","いっそう","いったん","いっち","いってい","いっぽう","いてざ","いてん","いどう","いとこ","いない","いなか","いねむり","いのち","いのる","いはつ","いばる","いはん","いびき","いひん","いふく","いへん","いほう","いみん","いもうと","いもたれ","いもり","いやがる","いやす","いよかん","いよく","いらい","いらすと","いりぐち","いりょう","いれい","いれもの","いれる","いろえんぴつ","いわい","いわう","いわかん","いわば","いわゆる","いんげんまめ","いんさつ","いんしょう","いんよう","うえき","うえる","うおざ","うがい","うかぶ","うかべる","うきわ","うくらいな","うくれれ","うけたまわる","うけつけ","うけとる","うけもつ","うける","うごかす","うごく","うこん","うさぎ","うしなう","うしろがみ","うすい","うすぎ","うすぐらい","うすめる","うせつ","うちあわせ","うちがわ","うちき","うちゅう","うっかり","うつくしい","うったえる","うつる","うどん","うなぎ","うなじ","うなずく","うなる","うねる","うのう","うぶげ","うぶごえ","うまれる","うめる","うもう","うやまう","うよく","うらがえす","うらぐち","うらない","うりあげ","うりきれ","うるさい","うれしい","うれゆき","うれる","うろこ","うわき","うわさ","うんこう","うんちん","うんてん","うんどう","えいえん","えいが","えいきょう","えいご","えいせい","えいぶん","えいよう","えいわ","えおり","えがお","えがく","えきたい","えくせる","えしゃく","えすて","えつらん","えのぐ","えほうまき","えほん","えまき","えもじ","えもの","えらい","えらぶ","えりあ","えんえん","えんかい","えんぎ","えんげき","えんしゅう","えんぜつ","えんそく","えんちょう","えんとつ","おいかける","おいこす","おいしい","おいつく","おうえん","おうさま","おうじ","おうせつ","おうたい","おうふく","おうべい","おうよう","おえる","おおい","おおう","おおどおり","おおや","おおよそ","おかえり","おかず","おがむ","おかわり","おぎなう","おきる","おくさま","おくじょう","おくりがな","おくる","おくれる","おこす","おこなう","おこる","おさえる","おさない","おさめる","おしいれ","おしえる","おじぎ","おじさん","おしゃれ","おそらく","おそわる","おたがい","おたく","おだやか","おちつく","おっと","おつり","おでかけ","おとしもの","おとなしい","おどり","おどろかす","おばさん","おまいり","おめでとう","おもいで","おもう","おもたい","おもちゃ","おやつ","おやゆび","およぼす","おらんだ","おろす","おんがく","おんけい","おんしゃ","おんせん","おんだん","おんちゅう","おんどけい","かあつ","かいが","がいき","がいけん","がいこう","かいさつ","かいしゃ","かいすいよく","かいぜん","かいぞうど","かいつう","かいてん","かいとう","かいふく","がいへき","かいほう","かいよう","がいらい","かいわ","かえる","かおり","かかえる","かがく","かがし","かがみ","かくご","かくとく","かざる","がぞう","かたい","かたち","がちょう","がっきゅう","がっこう","がっさん","がっしょう","かなざわし","かのう","がはく","かぶか","かほう","かほご","かまう","かまぼこ","かめれおん","かゆい","かようび","からい","かるい","かろう","かわく","かわら","がんか","かんけい","かんこう","かんしゃ","かんそう","かんたん","かんち","がんばる","きあい","きあつ","きいろ","ぎいん","きうい","きうん","きえる","きおう","きおく","きおち","きおん","きかい","きかく","きかんしゃ","ききて","きくばり","きくらげ","きけんせい","きこう","きこえる","きこく","きさい","きさく","きさま","きさらぎ","ぎじかがく","ぎしき","ぎじたいけん","ぎじにってい","ぎじゅつしゃ","きすう","きせい","きせき","きせつ","きそう","きぞく","きぞん","きたえる","きちょう","きつえん","ぎっちり","きつつき","きつね","きてい","きどう","きどく","きない","きなが","きなこ","きぬごし","きねん","きのう","きのした","きはく","きびしい","きひん","きふく","きぶん","きぼう","きほん","きまる","きみつ","きむずかしい","きめる","きもだめし","きもち","きもの","きゃく","きやく","ぎゅうにく","きよう","きょうりゅう","きらい","きらく","きりん","きれい","きれつ","きろく","ぎろん","きわめる","ぎんいろ","きんかくじ","きんじょ","きんようび","ぐあい","くいず","くうかん","くうき","くうぐん","くうこう","ぐうせい","くうそう","ぐうたら","くうふく","くうぼ","くかん","くきょう","くげん","ぐこう","くさい","くさき","くさばな","くさる","くしゃみ","くしょう","くすのき","くすりゆび","くせげ","くせん","ぐたいてき","くださる","くたびれる","くちこみ","くちさき","くつした","ぐっすり","くつろぐ","くとうてん","くどく","くなん","くねくね","くのう","くふう","くみあわせ","くみたてる","くめる","くやくしょ","くらす","くらべる","くるま","くれる","くろう","くわしい","ぐんかん","ぐんしょく","ぐんたい","ぐんて","けあな","けいかく","けいけん","けいこ","けいさつ","げいじゅつ","けいたい","げいのうじん","けいれき","けいろ","けおとす","けおりもの","げきか","げきげん","げきだん","げきちん","げきとつ","げきは","げきやく","げこう","げこくじょう","げざい","けさき","げざん","けしき","けしごむ","けしょう","げすと","けたば","けちゃっぷ","けちらす","けつあつ","けつい","けつえき","けっこん","けつじょ","けっせき","けってい","けつまつ","げつようび","げつれい","けつろん","げどく","けとばす","けとる","けなげ","けなす","けなみ","けぬき","げねつ","けねん","けはい","げひん","けぶかい","げぼく","けまり","けみかる","けむし","けむり","けもの","けらい","けろけろ","けわしい","けんい","けんえつ","けんお","けんか","げんき","けんげん","けんこう","けんさく","けんしゅう","けんすう","げんそう","けんちく","けんてい","けんとう","けんない","けんにん","げんぶつ","けんま","けんみん","けんめい","けんらん","けんり","こあくま","こいぬ","こいびと","ごうい","こうえん","こうおん","こうかん","ごうきゅう","ごうけい","こうこう","こうさい","こうじ","こうすい","ごうせい","こうそく","こうたい","こうちゃ","こうつう","こうてい","こうどう","こうない","こうはい","ごうほう","ごうまん","こうもく","こうりつ","こえる","こおり","ごかい","ごがつ","ごかん","こくご","こくさい","こくとう","こくない","こくはく","こぐま","こけい","こける","ここのか","こころ","こさめ","こしつ","こすう","こせい","こせき","こぜん","こそだて","こたい","こたえる","こたつ","こちょう","こっか","こつこつ","こつばん","こつぶ","こてい","こてん","ことがら","ことし","ことば","ことり","こなごな","こねこね","このまま","このみ","このよ","ごはん","こひつじ","こふう","こふん","こぼれる","ごまあぶら","こまかい","ごますり","こまつな","こまる","こむぎこ","こもじ","こもち","こもの","こもん","こやく","こやま","こゆう","こゆび","こよい","こよう","こりる","これくしょん","ころっけ","こわもて","こわれる","こんいん","こんかい","こんき","こんしゅう","こんすい","こんだて","こんとん","こんなん","こんびに","こんぽん","こんまけ","こんや","こんれい","こんわく","ざいえき","さいかい","さいきん","ざいげん","ざいこ","さいしょ","さいせい","ざいたく","ざいちゅう","さいてき","ざいりょう","さうな","さかいし","さがす","さかな","さかみち","さがる","さぎょう","さくし","さくひん","さくら","さこく","さこつ","さずかる","ざせき","さたん","さつえい","ざつおん","ざっか","ざつがく","さっきょく","ざっし","さつじん","ざっそう","さつたば","さつまいも","さてい","さといも","さとう","さとおや","さとし","さとる","さのう","さばく","さびしい","さべつ","さほう","さほど","さます","さみしい","さみだれ","さむけ","さめる","さやえんどう","さゆう","さよう","さよく","さらだ","ざるそば","さわやか","さわる","さんいん","さんか","さんきゃく","さんこう","さんさい","ざんしょ","さんすう","さんせい","さんそ","さんち","さんま","さんみ","さんらん","しあい","しあげ","しあさって","しあわせ","しいく","しいん","しうち","しえい","しおけ","しかい","しかく","じかん","しごと","しすう","じだい","したうけ","したぎ","したて","したみ","しちょう","しちりん","しっかり","しつじ","しつもん","してい","してき","してつ","じてん","じどう","しなぎれ","しなもの","しなん","しねま","しねん","しのぐ","しのぶ","しはい","しばかり","しはつ","しはらい","しはん","しひょう","しふく","じぶん","しへい","しほう","しほん","しまう","しまる","しみん","しむける","じむしょ","しめい","しめる","しもん","しゃいん","しゃうん","しゃおん","じゃがいも","しやくしょ","しゃくほう","しゃけん","しゃこ","しゃざい","しゃしん","しゃせん","しゃそう","しゃたい","しゃちょう","しゃっきん","じゃま","しゃりん","しゃれい","じゆう","じゅうしょ","しゅくはく","じゅしん","しゅっせき","しゅみ","しゅらば","じゅんばん","しょうかい","しょくたく","しょっけん","しょどう","しょもつ","しらせる","しらべる","しんか","しんこう","じんじゃ","しんせいじ","しんちく","しんりん","すあげ","すあし","すあな","ずあん","すいえい","すいか","すいとう","ずいぶん","すいようび","すうがく","すうじつ","すうせん","すおどり","すきま","すくう","すくない","すける","すごい","すこし","ずさん","すずしい","すすむ","すすめる","すっかり","ずっしり","ずっと","すてき","すてる","すねる","すのこ","すはだ","すばらしい","ずひょう","ずぶぬれ","すぶり","すふれ","すべて","すべる","ずほう","すぼん","すまい","すめし","すもう","すやき","すらすら","するめ","すれちがう","すろっと","すわる","すんぜん","すんぽう","せあぶら","せいかつ","せいげん","せいじ","せいよう","せおう","せかいかん","せきにん","せきむ","せきゆ","せきらんうん","せけん","せこう","せすじ","せたい","せたけ","せっかく","せっきゃく","ぜっく","せっけん","せっこつ","せっさたくま","せつぞく","せつだん","せつでん","せっぱん","せつび","せつぶん","せつめい","せつりつ","せなか","せのび","せはば","せびろ","せぼね","せまい","せまる","せめる","せもたれ","せりふ","ぜんあく","せんい","せんえい","せんか","せんきょ","せんく","せんげん","ぜんご","せんさい","せんしゅ","せんすい","せんせい","せんぞ","せんたく","せんちょう","せんてい","せんとう","せんぬき","せんねん","せんぱい","ぜんぶ","ぜんぽう","せんむ","せんめんじょ","せんもん","せんやく","せんゆう","せんよう","ぜんら","ぜんりゃく","せんれい","せんろ","そあく","そいとげる","そいね","そうがんきょう","そうき","そうご","そうしん","そうだん","そうなん","そうび","そうめん","そうり","そえもの","そえん","そがい","そげき","そこう","そこそこ","そざい","そしな","そせい","そせん","そそぐ","そだてる","そつう","そつえん","そっかん","そつぎょう","そっけつ","そっこう","そっせん","そっと","そとがわ","そとづら","そなえる","そなた","そふぼ","そぼく","そぼろ","そまつ","そまる","そむく","そむりえ","そめる","そもそも","そよかぜ","そらまめ","そろう","そんかい","そんけい","そんざい","そんしつ","そんぞく","そんちょう","ぞんび","ぞんぶん","そんみん","たあい","たいいん","たいうん","たいえき","たいおう","だいがく","たいき","たいぐう","たいけん","たいこ","たいざい","だいじょうぶ","だいすき","たいせつ","たいそう","だいたい","たいちょう","たいてい","だいどころ","たいない","たいねつ","たいのう","たいはん","だいひょう","たいふう","たいへん","たいほ","たいまつばな","たいみんぐ","たいむ","たいめん","たいやき","たいよう","たいら","たいりょく","たいる","たいわん","たうえ","たえる","たおす","たおる","たおれる","たかい","たかね","たきび","たくさん","たこく","たこやき","たさい","たしざん","だじゃれ","たすける","たずさわる","たそがれ","たたかう","たたく","ただしい","たたみ","たちばな","だっかい","だっきゃく","だっこ","だっしゅつ","だったい","たてる","たとえる","たなばた","たにん","たぬき","たのしみ","たはつ","たぶん","たべる","たぼう","たまご","たまる","だむる","ためいき","ためす","ためる","たもつ","たやすい","たよる","たらす","たりきほんがん","たりょう","たりる","たると","たれる","たれんと","たろっと","たわむれる","だんあつ","たんい","たんおん","たんか","たんき","たんけん","たんご","たんさん","たんじょうび","だんせい","たんそく","たんたい","だんち","たんてい","たんとう","だんな","たんにん","だんねつ","たんのう","たんぴん","だんぼう","たんまつ","たんめい","だんれつ","だんろ","だんわ","ちあい","ちあん","ちいき","ちいさい","ちえん","ちかい","ちから","ちきゅう","ちきん","ちけいず","ちけん","ちこく","ちさい","ちしき","ちしりょう","ちせい","ちそう","ちたい","ちたん","ちちおや","ちつじょ","ちてき","ちてん","ちぬき","ちぬり","ちのう","ちひょう","ちへいせん","ちほう","ちまた","ちみつ","ちみどろ","ちめいど","ちゃんこなべ","ちゅうい","ちゆりょく","ちょうし","ちょさくけん","ちらし","ちらみ","ちりがみ","ちりょう","ちるど","ちわわ","ちんたい","ちんもく","ついか","ついたち","つうか","つうじょう","つうはん","つうわ","つかう","つかれる","つくね","つくる","つけね","つける","つごう","つたえる","つづく","つつじ","つつむ","つとめる","つながる","つなみ","つねづね","つのる","つぶす","つまらない","つまる","つみき","つめたい","つもり","つもる","つよい","つるぼ","つるみく","つわもの","つわり","てあし","てあて","てあみ","ていおん","ていか","ていき","ていけい","ていこく","ていさつ","ていし","ていせい","ていたい","ていど","ていねい","ていひょう","ていへん","ていぼう","てうち","ておくれ","てきとう","てくび","でこぼこ","てさぎょう","てさげ","てすり","てそう","てちがい","てちょう","てつがく","てつづき","でっぱ","てつぼう","てつや","でぬかえ","てぬき","てぬぐい","てのひら","てはい","てぶくろ","てふだ","てほどき","てほん","てまえ","てまきずし","てみじか","てみやげ","てらす","てれび","てわけ","てわたし","でんあつ","てんいん","てんかい","てんき","てんぐ","てんけん","てんごく","てんさい","てんし","てんすう","でんち","てんてき","てんとう","てんない","てんぷら","てんぼうだい","てんめつ","てんらんかい","でんりょく","でんわ","どあい","といれ","どうかん","とうきゅう","どうぐ","とうし","とうむぎ","とおい","とおか","とおく","とおす","とおる","とかい","とかす","ときおり","ときどき","とくい","とくしゅう","とくてん","とくに","とくべつ","とけい","とける","とこや","とさか","としょかん","とそう","とたん","とちゅう","とっきゅう","とっくん","とつぜん","とつにゅう","とどける","ととのえる","とない","となえる","となり","とのさま","とばす","どぶがわ","とほう","とまる","とめる","ともだち","ともる","どようび","とらえる","とんかつ","どんぶり","ないかく","ないこう","ないしょ","ないす","ないせん","ないそう","なおす","ながい","なくす","なげる","なこうど","なさけ","なたでここ","なっとう","なつやすみ","ななおし","なにごと","なにもの","なにわ","なのか","なふだ","なまいき","なまえ","なまみ","なみだ","なめらか","なめる","なやむ","ならう","ならび","ならぶ","なれる","なわとび","なわばり","にあう","にいがた","にうけ","におい","にかい","にがて","にきび","にくしみ","にくまん","にげる","にさんかたんそ","にしき","にせもの","にちじょう","にちようび","にっか","にっき","にっけい","にっこう","にっさん","にっしょく","にっすう","にっせき","にってい","になう","にほん","にまめ","にもつ","にやり","にゅういん","にりんしゃ","にわとり","にんい","にんか","にんき","にんげん","にんしき","にんずう","にんそう","にんたい","にんち","にんてい","にんにく","にんぷ","にんまり","にんむ","にんめい","にんよう","ぬいくぎ","ぬかす","ぬぐいとる","ぬぐう","ぬくもり","ぬすむ","ぬまえび","ぬめり","ぬらす","ぬんちゃく","ねあげ","ねいき","ねいる","ねいろ","ねぐせ","ねくたい","ねくら","ねこぜ","ねこむ","ねさげ","ねすごす","ねそべる","ねだん","ねつい","ねっしん","ねつぞう","ねったいぎょ","ねぶそく","ねふだ","ねぼう","ねほりはほり","ねまき","ねまわし","ねみみ","ねむい","ねむたい","ねもと","ねらう","ねわざ","ねんいり","ねんおし","ねんかん","ねんきん","ねんぐ","ねんざ","ねんし","ねんちゃく","ねんど","ねんぴ","ねんぶつ","ねんまつ","ねんりょう","ねんれい","のいず","のおづま","のがす","のきなみ","のこぎり","のこす","のこる","のせる","のぞく","のぞむ","のたまう","のちほど","のっく","のばす","のはら","のべる","のぼる","のみもの","のやま","のらいぬ","のらねこ","のりもの","のりゆき","のれん","のんき","ばあい","はあく","ばあさん","ばいか","ばいく","はいけん","はいご","はいしん","はいすい","はいせん","はいそう","はいち","ばいばい","はいれつ","はえる","はおる","はかい","ばかり","はかる","はくしゅ","はけん","はこぶ","はさみ","はさん","はしご","ばしょ","はしる","はせる","ぱそこん","はそん","はたん","はちみつ","はつおん","はっかく","はづき","はっきり","はっくつ","はっけん","はっこう","はっさん","はっしん","はったつ","はっちゅう","はってん","はっぴょう","はっぽう","はなす","はなび","はにかむ","はぶらし","はみがき","はむかう","はめつ","はやい","はやし","はらう","はろうぃん","はわい","はんい","はんえい","はんおん","はんかく","はんきょう","ばんぐみ","はんこ","はんしゃ","はんすう","はんだん","ぱんち","ぱんつ","はんてい","はんとし","はんのう","はんぱ","はんぶん","はんぺん","はんぼうき","はんめい","はんらん","はんろん","ひいき","ひうん","ひえる","ひかく","ひかり","ひかる","ひかん","ひくい","ひけつ","ひこうき","ひこく","ひさい","ひさしぶり","ひさん","びじゅつかん","ひしょ","ひそか","ひそむ","ひたむき","ひだり","ひたる","ひつぎ","ひっこし","ひっし","ひつじゅひん","ひっす","ひつぜん","ぴったり","ぴっちり","ひつよう","ひてい","ひとごみ","ひなまつり","ひなん","ひねる","ひはん","ひびく","ひひょう","ひほう","ひまわり","ひまん","ひみつ","ひめい","ひめじし","ひやけ","ひやす","ひよう","びょうき","ひらがな","ひらく","ひりつ","ひりょう","ひるま","ひるやすみ","ひれい","ひろい","ひろう","ひろき","ひろゆき","ひんかく","ひんけつ","ひんこん","ひんしゅ","ひんそう","ぴんち","ひんぱん","びんぼう","ふあん","ふいうち","ふうけい","ふうせん","ぷうたろう","ふうとう","ふうふ","ふえる","ふおん","ふかい","ふきん","ふくざつ","ふくぶくろ","ふこう","ふさい","ふしぎ","ふじみ","ふすま","ふせい","ふせぐ","ふそく","ぶたにく","ふたん","ふちょう","ふつう","ふつか","ふっかつ","ふっき","ふっこく","ぶどう","ふとる","ふとん","ふのう","ふはい","ふひょう","ふへん","ふまん","ふみん","ふめつ","ふめん","ふよう","ふりこ","ふりる","ふるい","ふんいき","ぶんがく","ぶんぐ","ふんしつ","ぶんせき","ふんそう","ぶんぽう","へいあん","へいおん","へいがい","へいき","へいげん","へいこう","へいさ","へいしゃ","へいせつ","へいそ","へいたく","へいてん","へいねつ","へいわ","へきが","へこむ","べにいろ","べにしょうが","へらす","へんかん","べんきょう","べんごし","へんさい","へんたい","べんり","ほあん","ほいく","ぼうぎょ","ほうこく","ほうそう","ほうほう","ほうもん","ほうりつ","ほえる","ほおん","ほかん","ほきょう","ぼきん","ほくろ","ほけつ","ほけん","ほこう","ほこる","ほしい","ほしつ","ほしゅ","ほしょう","ほせい","ほそい","ほそく","ほたて","ほたる","ぽちぶくろ","ほっきょく","ほっさ","ほったん","ほとんど","ほめる","ほんい","ほんき","ほんけ","ほんしつ","ほんやく","まいにち","まかい","まかせる","まがる","まける","まこと","まさつ","まじめ","ますく","まぜる","まつり","まとめ","まなぶ","まぬけ","まねく","まほう","まもる","まゆげ","まよう","まろやか","まわす","まわり","まわる","まんが","まんきつ","まんぞく","まんなか","みいら","みうち","みえる","みがく","みかた","みかん","みけん","みこん","みじかい","みすい","みすえる","みせる","みっか","みつかる","みつける","みてい","みとめる","みなと","みなみかさい","みねらる","みのう","みのがす","みほん","みもと","みやげ","みらい","みりょく","みわく","みんか","みんぞく","むいか","むえき","むえん","むかい","むかう","むかえ","むかし","むぎちゃ","むける","むげん","むさぼる","むしあつい","むしば","むじゅん","むしろ","むすう","むすこ","むすぶ","むすめ","むせる","むせん","むちゅう","むなしい","むのう","むやみ","むよう","むらさき","むりょう","むろん","めいあん","めいうん","めいえん","めいかく","めいきょく","めいさい","めいし","めいそう","めいぶつ","めいれい","めいわく","めぐまれる","めざす","めした","めずらしい","めだつ","めまい","めやす","めんきょ","めんせき","めんどう","もうしあげる","もうどうけん","もえる","もくし","もくてき","もくようび","もちろん","もどる","もらう","もんく","もんだい","やおや","やける","やさい","やさしい","やすい","やすたろう","やすみ","やせる","やそう","やたい","やちん","やっと","やっぱり","やぶる","やめる","ややこしい","やよい","やわらかい","ゆうき","ゆうびんきょく","ゆうべ","ゆうめい","ゆけつ","ゆしゅつ","ゆせん","ゆそう","ゆたか","ゆちゃく","ゆでる","ゆにゅう","ゆびわ","ゆらい","ゆれる","ようい","ようか","ようきゅう","ようじ","ようす","ようちえん","よかぜ","よかん","よきん","よくせい","よくぼう","よけい","よごれる","よさん","よしゅう","よそう","よそく","よっか","よてい","よどがわく","よねつ","よやく","よゆう","よろこぶ","よろしい","らいう","らくがき","らくご","らくさつ","らくだ","らしんばん","らせん","らぞく","らたい","らっか","られつ","りえき","りかい","りきさく","りきせつ","りくぐん","りくつ","りけん","りこう","りせい","りそう","りそく","りてん","りねん","りゆう","りゅうがく","りよう","りょうり","りょかん","りょくちゃ","りょこう","りりく","りれき","りろん","りんご","るいけい","るいさい","るいじ","るいせき","るすばん","るりがわら","れいかん","れいぎ","れいせい","れいぞうこ","れいとう","れいぼう","れきし","れきだい","れんあい","れんけい","れんこん","れんさい","れんしゅう","れんぞく","れんらく","ろうか","ろうご","ろうじん","ろうそく","ろくが","ろこつ","ろじうら","ろしゅつ","ろせん","ろてん","ろめん","ろれつ","ろんぎ","ろんぱ","ろんぶん","ろんり","わかす","わかめ","わかやま","わかれる","わしつ","わじまし","わすれもの","わらう","われる"]')},31902:function(eb){"use strict";eb.exports=JSON.parse('["가격","가끔","가난","가능","가득","가르침","가뭄","가방","가상","가슴","가운데","가을","가이드","가입","가장","가정","가족","가죽","각오","각자","간격","간부","간섭","간장","간접","간판","갈등","갈비","갈색","갈증","감각","감기","감소","감수성","감자","감정","갑자기","강남","강당","강도","강력히","강변","강북","강사","강수량","강아지","강원도","강의","강제","강조","같이","개구리","개나리","개방","개별","개선","개성","개인","객관적","거실","거액","거울","거짓","거품","걱정","건강","건물","건설","건조","건축","걸음","검사","검토","게시판","게임","겨울","견해","결과","결국","결론","결석","결승","결심","결정","결혼","경계","경고","경기","경력","경복궁","경비","경상도","경영","경우","경쟁","경제","경주","경찰","경치","경향","경험","계곡","계단","계란","계산","계속","계약","계절","계층","계획","고객","고구려","고궁","고급","고등학생","고무신","고민","고양이","고장","고전","고집","고춧가루","고통","고향","곡식","골목","골짜기","골프","공간","공개","공격","공군","공급","공기","공동","공무원","공부","공사","공식","공업","공연","공원","공장","공짜","공책","공통","공포","공항","공휴일","과목","과일","과장","과정","과학","관객","관계","관광","관념","관람","관련","관리","관습","관심","관점","관찰","광경","광고","광장","광주","괴로움","굉장히","교과서","교문","교복","교실","교양","교육","교장","교직","교통","교환","교훈","구경","구름","구멍","구별","구분","구석","구성","구속","구역","구입","구청","구체적","국가","국기","국내","국립","국물","국민","국수","국어","국왕","국적","국제","국회","군대","군사","군인","궁극적","권리","권위","권투","귀국","귀신","규정","규칙","균형","그날","그냥","그늘","그러나","그룹","그릇","그림","그제서야","그토록","극복","극히","근거","근교","근래","근로","근무","근본","근원","근육","근처","글씨","글자","금강산","금고","금년","금메달","금액","금연","금요일","금지","긍정적","기간","기관","기념","기능","기독교","기둥","기록","기름","기법","기본","기분","기쁨","기숙사","기술","기억","기업","기온","기운","기원","기적","기준","기침","기혼","기획","긴급","긴장","길이","김밥","김치","김포공항","깍두기","깜빡","깨달음","깨소금","껍질","꼭대기","꽃잎","나들이","나란히","나머지","나물","나침반","나흘","낙엽","난방","날개","날씨","날짜","남녀","남대문","남매","남산","남자","남편","남학생","낭비","낱말","내년","내용","내일","냄비","냄새","냇물","냉동","냉면","냉방","냉장고","넥타이","넷째","노동","노란색","노력","노인","녹음","녹차","녹화","논리","논문","논쟁","놀이","농구","농담","농민","농부","농업","농장","농촌","높이","눈동자","눈물","눈썹","뉴욕","느낌","늑대","능동적","능력","다방","다양성","다음","다이어트","다행","단계","단골","단독","단맛","단순","단어","단위","단점","단체","단추","단편","단풍","달걀","달러","달력","달리","닭고기","담당","담배","담요","담임","답변","답장","당근","당분간","당연히","당장","대규모","대낮","대단히","대답","대도시","대략","대량","대륙","대문","대부분","대신","대응","대장","대전","대접","대중","대책","대출","대충","대통령","대학","대한민국","대합실","대형","덩어리","데이트","도대체","도덕","도둑","도망","도서관","도심","도움","도입","도자기","도저히","도전","도중","도착","독감","독립","독서","독일","독창적","동화책","뒷모습","뒷산","딸아이","마누라","마늘","마당","마라톤","마련","마무리","마사지","마약","마요네즈","마을","마음","마이크","마중","마지막","마찬가지","마찰","마흔","막걸리","막내","막상","만남","만두","만세","만약","만일","만점","만족","만화","많이","말기","말씀","말투","맘대로","망원경","매년","매달","매력","매번","매스컴","매일","매장","맥주","먹이","먼저","먼지","멀리","메일","며느리","며칠","면담","멸치","명단","명령","명예","명의","명절","명칭","명함","모금","모니터","모델","모든","모범","모습","모양","모임","모조리","모집","모퉁이","목걸이","목록","목사","목소리","목숨","목적","목표","몰래","몸매","몸무게","몸살","몸속","몸짓","몸통","몹시","무관심","무궁화","무더위","무덤","무릎","무슨","무엇","무역","무용","무조건","무지개","무척","문구","문득","문법","문서","문제","문학","문화","물가","물건","물결","물고기","물론","물리학","물음","물질","물체","미국","미디어","미사일","미술","미역","미용실","미움","미인","미팅","미혼","민간","민족","민주","믿음","밀가루","밀리미터","밑바닥","바가지","바구니","바나나","바늘","바닥","바닷가","바람","바이러스","바탕","박물관","박사","박수","반대","반드시","반말","반발","반성","반응","반장","반죽","반지","반찬","받침","발가락","발걸음","발견","발달","발레","발목","발바닥","발생","발음","발자국","발전","발톱","발표","밤하늘","밥그릇","밥맛","밥상","밥솥","방금","방면","방문","방바닥","방법","방송","방식","방안","방울","방지","방학","방해","방향","배경","배꼽","배달","배드민턴","백두산","백색","백성","백인","백제","백화점","버릇","버섯","버튼","번개","번역","번지","번호","벌금","벌레","벌써","범위","범인","범죄","법률","법원","법적","법칙","베이징","벨트","변경","변동","변명","변신","변호사","변화","별도","별명","별일","병실","병아리","병원","보관","보너스","보라색","보람","보름","보상","보안","보자기","보장","보전","보존","보통","보편적","보험","복도","복사","복숭아","복습","볶음","본격적","본래","본부","본사","본성","본인","본질","볼펜","봉사","봉지","봉투","부근","부끄러움","부담","부동산","부문","부분","부산","부상","부엌","부인","부작용","부장","부정","부족","부지런히","부친","부탁","부품","부회장","북부","북한","분노","분량","분리","분명","분석","분야","분위기","분필","분홍색","불고기","불과","불교","불꽃","불만","불법","불빛","불안","불이익","불행","브랜드","비극","비난","비닐","비둘기","비디오","비로소","비만","비명","비밀","비바람","비빔밥","비상","비용","비율","비중","비타민","비판","빌딩","빗물","빗방울","빗줄기","빛깔","빨간색","빨래","빨리","사건","사계절","사나이","사냥","사람","사랑","사립","사모님","사물","사방","사상","사생활","사설","사슴","사실","사업","사용","사월","사장","사전","사진","사촌","사춘기","사탕","사투리","사흘","산길","산부인과","산업","산책","살림","살인","살짝","삼계탕","삼국","삼십","삼월","삼촌","상관","상금","상대","상류","상반기","상상","상식","상업","상인","상자","상점","상처","상추","상태","상표","상품","상황","새벽","색깔","색연필","생각","생명","생물","생방송","생산","생선","생신","생일","생활","서랍","서른","서명","서민","서비스","서양","서울","서적","서점","서쪽","서클","석사","석유","선거","선물","선배","선생","선수","선원","선장","선전","선택","선풍기","설거지","설날","설렁탕","설명","설문","설사","설악산","설치","설탕","섭씨","성공","성당","성명","성별","성인","성장","성적","성질","성함","세금","세미나","세상","세월","세종대왕","세탁","센터","센티미터","셋째","소규모","소극적","소금","소나기","소년","소득","소망","소문","소설","소속","소아과","소용","소원","소음","소중히","소지품","소질","소풍","소형","속담","속도","속옷","손가락","손길","손녀","손님","손등","손목","손뼉","손실","손질","손톱","손해","솔직히","솜씨","송아지","송이","송편","쇠고기","쇼핑","수건","수년","수단","수돗물","수동적","수면","수명","수박","수상","수석","수술","수시로","수업","수염","수영","수입","수준","수집","수출","수컷","수필","수학","수험생","수화기","숙녀","숙소","숙제","순간","순서","순수","순식간","순위","숟가락","술병","술집","숫자","스님","스물","스스로","스승","스웨터","스위치","스케이트","스튜디오","스트레스","스포츠","슬쩍","슬픔","습관","습기","승객","승리","승부","승용차","승진","시각","시간","시골","시금치","시나리오","시댁","시리즈","시멘트","시민","시부모","시선","시설","시스템","시아버지","시어머니","시월","시인","시일","시작","시장","시절","시점","시중","시즌","시집","시청","시합","시험","식구","식기","식당","식량","식료품","식물","식빵","식사","식생활","식초","식탁","식품","신고","신규","신념","신문","신발","신비","신사","신세","신용","신제품","신청","신체","신화","실감","실내","실력","실례","실망","실수","실습","실시","실장","실정","실질적","실천","실체","실컷","실태","실패","실험","실현","심리","심부름","심사","심장","심정","심판","쌍둥이","씨름","씨앗","아가씨","아나운서","아드님","아들","아쉬움","아스팔트","아시아","아울러","아저씨","아줌마","아직","아침","아파트","아프리카","아픔","아홉","아흔","악기","악몽","악수","안개","안경","안과","안내","안녕","안동","안방","안부","안주","알루미늄","알코올","암시","암컷","압력","앞날","앞문","애인","애정","액수","앨범","야간","야단","야옹","약간","약국","약속","약수","약점","약품","약혼녀","양념","양력","양말","양배추","양주","양파","어둠","어려움","어른","어젯밤","어쨌든","어쩌다가","어쩐지","언니","언덕","언론","언어","얼굴","얼른","얼음","얼핏","엄마","업무","업종","업체","엉덩이","엉망","엉터리","엊그제","에너지","에어컨","엔진","여건","여고생","여관","여군","여권","여대생","여덟","여동생","여든","여론","여름","여섯","여성","여왕","여인","여전히","여직원","여학생","여행","역사","역시","역할","연결","연구","연극","연기","연락","연설","연세","연속","연습","연애","연예인","연인","연장","연주","연출","연필","연합","연휴","열기","열매","열쇠","열심히","열정","열차","열흘","염려","엽서","영국","영남","영상","영양","영역","영웅","영원히","영하","영향","영혼","영화","옆구리","옆방","옆집","예감","예금","예방","예산","예상","예선","예술","예습","예식장","예약","예전","예절","예정","예컨대","옛날","오늘","오락","오랫동안","오렌지","오로지","오른발","오븐","오십","오염","오월","오전","오직","오징어","오페라","오피스텔","오히려","옥상","옥수수","온갖","온라인","온몸","온종일","온통","올가을","올림픽","올해","옷차림","와이셔츠","와인","완성","완전","왕비","왕자","왜냐하면","왠지","외갓집","외국","외로움","외삼촌","외출","외침","외할머니","왼발","왼손","왼쪽","요금","요일","요즘","요청","용기","용서","용어","우산","우선","우승","우연히","우정","우체국","우편","운동","운명","운반","운전","운행","울산","울음","움직임","웃어른","웃음","워낙","원고","원래","원서","원숭이","원인","원장","원피스","월급","월드컵","월세","월요일","웨이터","위반","위법","위성","위원","위험","위협","윗사람","유난히","유럽","유명","유물","유산","유적","유치원","유학","유행","유형","육군","육상","육십","육체","은행","음력","음료","음반","음성","음식","음악","음주","의견","의논","의문","의복","의식","의심","의외로","의욕","의원","의학","이것","이곳","이념","이놈","이달","이대로","이동","이렇게","이력서","이론적","이름","이민","이발소","이별","이불","이빨","이상","이성","이슬","이야기","이용","이웃","이월","이윽고","이익","이전","이중","이튿날","이틀","이혼","인간","인격","인공","인구","인근","인기","인도","인류","인물","인생","인쇄","인연","인원","인재","인종","인천","인체","인터넷","인하","인형","일곱","일기","일단","일대","일등","일반","일본","일부","일상","일생","일손","일요일","일월","일정","일종","일주일","일찍","일체","일치","일행","일회용","임금","임무","입대","입력","입맛","입사","입술","입시","입원","입장","입학","자가용","자격","자극","자동","자랑","자부심","자식","자신","자연","자원","자율","자전거","자정","자존심","자판","작가","작년","작성","작업","작용","작은딸","작품","잔디","잔뜩","잔치","잘못","잠깐","잠수함","잠시","잠옷","잠자리","잡지","장관","장군","장기간","장래","장례","장르","장마","장면","장모","장미","장비","장사","장소","장식","장애인","장인","장점","장차","장학금","재능","재빨리","재산","재생","재작년","재정","재채기","재판","재학","재활용","저것","저고리","저곳","저녁","저런","저렇게","저번","저울","저절로","저축","적극","적당히","적성","적용","적응","전개","전공","전기","전달","전라도","전망","전문","전반","전부","전세","전시","전용","전자","전쟁","전주","전철","전체","전통","전혀","전후","절대","절망","절반","절약","절차","점검","점수","점심","점원","점점","점차","접근","접시","접촉","젓가락","정거장","정도","정류장","정리","정말","정면","정문","정반대","정보","정부","정비","정상","정성","정오","정원","정장","정지","정치","정확히","제공","제과점","제대로","제목","제발","제법","제삿날","제안","제일","제작","제주도","제출","제품","제한","조각","조건","조금","조깅","조명","조미료","조상","조선","조용히","조절","조정","조직","존댓말","존재","졸업","졸음","종교","종로","종류","종소리","종업원","종종","종합","좌석","죄인","주관적","주름","주말","주머니","주먹","주문","주민","주방","주변","주식","주인","주일","주장","주전자","주택","준비","줄거리","줄기","줄무늬","중간","중계방송","중국","중년","중단","중독","중반","중부","중세","중소기업","중순","중앙","중요","중학교","즉석","즉시","즐거움","증가","증거","증권","증상","증세","지각","지갑","지경","지극히","지금","지급","지능","지름길","지리산","지방","지붕","지식","지역","지우개","지원","지적","지점","지진","지출","직선","직업","직원","직장","진급","진동","진로","진료","진리","진짜","진찰","진출","진통","진행","질문","질병","질서","짐작","집단","집안","집중","짜증","찌꺼기","차남","차라리","차량","차림","차별","차선","차츰","착각","찬물","찬성","참가","참기름","참새","참석","참여","참외","참조","찻잔","창가","창고","창구","창문","창밖","창작","창조","채널","채점","책가방","책방","책상","책임","챔피언","처벌","처음","천국","천둥","천장","천재","천천히","철도","철저히","철학","첫날","첫째","청년","청바지","청소","청춘","체계","체력","체온","체육","체중","체험","초등학생","초반","초밥","초상화","초순","초여름","초원","초저녁","초점","초청","초콜릿","촛불","총각","총리","총장","촬영","최근","최상","최선","최신","최악","최종","추석","추억","추진","추천","추측","축구","축소","축제","축하","출근","출발","출산","출신","출연","출입","출장","출판","충격","충고","충돌","충분히","충청도","취업","취직","취향","치약","친구","친척","칠십","칠월","칠판","침대","침묵","침실","칫솔","칭찬","카메라","카운터","칼국수","캐릭터","캠퍼스","캠페인","커튼","컨디션","컬러","컴퓨터","코끼리","코미디","콘서트","콜라","콤플렉스","콩나물","쾌감","쿠데타","크림","큰길","큰딸","큰소리","큰아들","큰어머니","큰일","큰절","클래식","클럽","킬로","타입","타자기","탁구","탁자","탄생","태권도","태양","태풍","택시","탤런트","터널","터미널","테니스","테스트","테이블","텔레비전","토론","토마토","토요일","통계","통과","통로","통신","통역","통일","통장","통제","통증","통합","통화","퇴근","퇴원","퇴직금","튀김","트럭","특급","특별","특성","특수","특징","특히","튼튼히","티셔츠","파란색","파일","파출소","판결","판단","판매","판사","팔십","팔월","팝송","패션","팩스","팩시밀리","팬티","퍼센트","페인트","편견","편의","편지","편히","평가","평균","평생","평소","평양","평일","평화","포스터","포인트","포장","포함","표면","표정","표준","표현","품목","품질","풍경","풍속","풍습","프랑스","프린터","플라스틱","피곤","피망","피아노","필름","필수","필요","필자","필통","핑계","하느님","하늘","하드웨어","하룻밤","하반기","하숙집","하순","하여튼","하지만","하천","하품","하필","학과","학교","학급","학기","학년","학력","학번","학부모","학비","학생","학술","학습","학용품","학원","학위","학자","학점","한계","한글","한꺼번에","한낮","한눈","한동안","한때","한라산","한마디","한문","한번","한복","한식","한여름","한쪽","할머니","할아버지","할인","함께","함부로","합격","합리적","항공","항구","항상","항의","해결","해군","해답","해당","해물","해석","해설","해수욕장","해안","핵심","핸드백","햄버거","햇볕","햇살","행동","행복","행사","행운","행위","향기","향상","향수","허락","허용","헬기","현관","현금","현대","현상","현실","현장","현재","현지","혈액","협력","형부","형사","형수","형식","형제","형태","형편","혜택","호기심","호남","호랑이","호박","호텔","호흡","혹시","홀로","홈페이지","홍보","홍수","홍차","화면","화분","화살","화요일","화장","화학","확보","확인","확장","확정","환갑","환경","환영","환율","환자","활기","활동","활발히","활용","활짝","회견","회관","회복","회색","회원","회장","회전","횟수","횡단보도","효율적","후반","후춧가루","훈련","훨씬","휴식","휴일","흉내","흐름","흑백","흑인","흔적","흔히","흥미","흥분","희곡","희망","희생","흰색","힘껏"]')},13816:function(eb){"use strict";eb.exports=JSON.parse('["abacate","abaixo","abalar","abater","abduzir","abelha","aberto","abismo","abotoar","abranger","abreviar","abrigar","abrupto","absinto","absoluto","absurdo","abutre","acabado","acalmar","acampar","acanhar","acaso","aceitar","acelerar","acenar","acervo","acessar","acetona","achatar","acidez","acima","acionado","acirrar","aclamar","aclive","acolhida","acomodar","acoplar","acordar","acumular","acusador","adaptar","adega","adentro","adepto","adequar","aderente","adesivo","adeus","adiante","aditivo","adjetivo","adjunto","admirar","adorar","adquirir","adubo","adverso","advogado","aeronave","afastar","aferir","afetivo","afinador","afivelar","aflito","afluente","afrontar","agachar","agarrar","agasalho","agenciar","agilizar","agiota","agitado","agora","agradar","agreste","agrupar","aguardar","agulha","ajoelhar","ajudar","ajustar","alameda","alarme","alastrar","alavanca","albergue","albino","alcatra","aldeia","alecrim","alegria","alertar","alface","alfinete","algum","alheio","aliar","alicate","alienar","alinhar","aliviar","almofada","alocar","alpiste","alterar","altitude","alucinar","alugar","aluno","alusivo","alvo","amaciar","amador","amarelo","amassar","ambas","ambiente","ameixa","amenizar","amido","amistoso","amizade","amolador","amontoar","amoroso","amostra","amparar","ampliar","ampola","anagrama","analisar","anarquia","anatomia","andaime","anel","anexo","angular","animar","anjo","anomalia","anotado","ansioso","anterior","anuidade","anunciar","anzol","apagador","apalpar","apanhado","apego","apelido","apertada","apesar","apetite","apito","aplauso","aplicada","apoio","apontar","aposta","aprendiz","aprovar","aquecer","arame","aranha","arara","arcada","ardente","areia","arejar","arenito","aresta","argiloso","argola","arma","arquivo","arraial","arrebate","arriscar","arroba","arrumar","arsenal","arterial","artigo","arvoredo","asfaltar","asilado","aspirar","assador","assinar","assoalho","assunto","astral","atacado","atadura","atalho","atarefar","atear","atender","aterro","ateu","atingir","atirador","ativo","atoleiro","atracar","atrevido","atriz","atual","atum","auditor","aumentar","aura","aurora","autismo","autoria","autuar","avaliar","avante","avaria","avental","avesso","aviador","avisar","avulso","axila","azarar","azedo","azeite","azulejo","babar","babosa","bacalhau","bacharel","bacia","bagagem","baiano","bailar","baioneta","bairro","baixista","bajular","baleia","baliza","balsa","banal","bandeira","banho","banir","banquete","barato","barbado","baronesa","barraca","barulho","baseado","bastante","batata","batedor","batida","batom","batucar","baunilha","beber","beijo","beirada","beisebol","beldade","beleza","belga","beliscar","bendito","bengala","benzer","berimbau","berlinda","berro","besouro","bexiga","bezerro","bico","bicudo","bienal","bifocal","bifurcar","bigorna","bilhete","bimestre","bimotor","biologia","biombo","biosfera","bipolar","birrento","biscoito","bisneto","bispo","bissexto","bitola","bizarro","blindado","bloco","bloquear","boato","bobagem","bocado","bocejo","bochecha","boicotar","bolada","boletim","bolha","bolo","bombeiro","bonde","boneco","bonita","borbulha","borda","boreal","borracha","bovino","boxeador","branco","brasa","braveza","breu","briga","brilho","brincar","broa","brochura","bronzear","broto","bruxo","bucha","budismo","bufar","bule","buraco","busca","busto","buzina","cabana","cabelo","cabide","cabo","cabrito","cacau","cacetada","cachorro","cacique","cadastro","cadeado","cafezal","caiaque","caipira","caixote","cajado","caju","calafrio","calcular","caldeira","calibrar","calmante","calota","camada","cambista","camisa","camomila","campanha","camuflar","canavial","cancelar","caneta","canguru","canhoto","canivete","canoa","cansado","cantar","canudo","capacho","capela","capinar","capotar","capricho","captador","capuz","caracol","carbono","cardeal","careca","carimbar","carneiro","carpete","carreira","cartaz","carvalho","casaco","casca","casebre","castelo","casulo","catarata","cativar","caule","causador","cautelar","cavalo","caverna","cebola","cedilha","cegonha","celebrar","celular","cenoura","censo","centeio","cercar","cerrado","certeiro","cerveja","cetim","cevada","chacota","chaleira","chamado","chapada","charme","chatice","chave","chefe","chegada","cheiro","cheque","chicote","chifre","chinelo","chocalho","chover","chumbo","chutar","chuva","cicatriz","ciclone","cidade","cidreira","ciente","cigana","cimento","cinto","cinza","ciranda","circuito","cirurgia","citar","clareza","clero","clicar","clone","clube","coado","coagir","cobaia","cobertor","cobrar","cocada","coelho","coentro","coeso","cogumelo","coibir","coifa","coiote","colar","coleira","colher","colidir","colmeia","colono","coluna","comando","combinar","comentar","comitiva","comover","complexo","comum","concha","condor","conectar","confuso","congelar","conhecer","conjugar","consumir","contrato","convite","cooperar","copeiro","copiador","copo","coquetel","coragem","cordial","corneta","coronha","corporal","correio","cortejo","coruja","corvo","cosseno","costela","cotonete","couro","couve","covil","cozinha","cratera","cravo","creche","credor","creme","crer","crespo","criada","criminal","crioulo","crise","criticar","crosta","crua","cruzeiro","cubano","cueca","cuidado","cujo","culatra","culminar","culpar","cultura","cumprir","cunhado","cupido","curativo","curral","cursar","curto","cuspir","custear","cutelo","damasco","datar","debater","debitar","deboche","debulhar","decalque","decimal","declive","decote","decretar","dedal","dedicado","deduzir","defesa","defumar","degelo","degrau","degustar","deitado","deixar","delator","delegado","delinear","delonga","demanda","demitir","demolido","dentista","depenado","depilar","depois","depressa","depurar","deriva","derramar","desafio","desbotar","descanso","desenho","desfiado","desgaste","desigual","deslize","desmamar","desova","despesa","destaque","desviar","detalhar","detentor","detonar","detrito","deusa","dever","devido","devotado","dezena","diagrama","dialeto","didata","difuso","digitar","dilatado","diluente","diminuir","dinastia","dinheiro","diocese","direto","discreta","disfarce","disparo","disquete","dissipar","distante","ditador","diurno","diverso","divisor","divulgar","dizer","dobrador","dolorido","domador","dominado","donativo","donzela","dormente","dorsal","dosagem","dourado","doutor","drenagem","drible","drogaria","duelar","duende","dueto","duplo","duquesa","durante","duvidoso","eclodir","ecoar","ecologia","edificar","edital","educado","efeito","efetivar","ejetar","elaborar","eleger","eleitor","elenco","elevador","eliminar","elogiar","embargo","embolado","embrulho","embutido","emenda","emergir","emissor","empatia","empenho","empinado","empolgar","emprego","empurrar","emulador","encaixe","encenado","enchente","encontro","endeusar","endossar","enfaixar","enfeite","enfim","engajado","engenho","englobar","engomado","engraxar","enguia","enjoar","enlatar","enquanto","enraizar","enrolado","enrugar","ensaio","enseada","ensino","ensopado","entanto","enteado","entidade","entortar","entrada","entulho","envergar","enviado","envolver","enxame","enxerto","enxofre","enxuto","epiderme","equipar","ereto","erguido","errata","erva","ervilha","esbanjar","esbelto","escama","escola","escrita","escuta","esfinge","esfolar","esfregar","esfumado","esgrima","esmalte","espanto","espelho","espiga","esponja","espreita","espumar","esquerda","estaca","esteira","esticar","estofado","estrela","estudo","esvaziar","etanol","etiqueta","euforia","europeu","evacuar","evaporar","evasivo","eventual","evidente","evoluir","exagero","exalar","examinar","exato","exausto","excesso","excitar","exclamar","executar","exemplo","exibir","exigente","exonerar","expandir","expelir","expirar","explanar","exposto","expresso","expulsar","externo","extinto","extrato","fabricar","fabuloso","faceta","facial","fada","fadiga","faixa","falar","falta","familiar","fandango","fanfarra","fantoche","fardado","farelo","farinha","farofa","farpa","fartura","fatia","fator","favorita","faxina","fazenda","fechado","feijoada","feirante","felino","feminino","fenda","feno","fera","feriado","ferrugem","ferver","festejar","fetal","feudal","fiapo","fibrose","ficar","ficheiro","figurado","fileira","filho","filme","filtrar","firmeza","fisgada","fissura","fita","fivela","fixador","fixo","flacidez","flamingo","flanela","flechada","flora","flutuar","fluxo","focal","focinho","fofocar","fogo","foguete","foice","folgado","folheto","forjar","formiga","forno","forte","fosco","fossa","fragata","fralda","frango","frasco","fraterno","freira","frente","fretar","frieza","friso","fritura","fronha","frustrar","fruteira","fugir","fulano","fuligem","fundar","fungo","funil","furador","furioso","futebol","gabarito","gabinete","gado","gaiato","gaiola","gaivota","galega","galho","galinha","galocha","ganhar","garagem","garfo","gargalo","garimpo","garoupa","garrafa","gasoduto","gasto","gata","gatilho","gaveta","gazela","gelado","geleia","gelo","gemada","gemer","gemido","generoso","gengiva","genial","genoma","genro","geologia","gerador","germinar","gesso","gestor","ginasta","gincana","gingado","girafa","girino","glacial","glicose","global","glorioso","goela","goiaba","golfe","golpear","gordura","gorjeta","gorro","gostoso","goteira","governar","gracejo","gradual","grafite","gralha","grampo","granada","gratuito","graveto","graxa","grego","grelhar","greve","grilo","grisalho","gritaria","grosso","grotesco","grudado","grunhido","gruta","guache","guarani","guaxinim","guerrear","guiar","guincho","guisado","gula","guloso","guru","habitar","harmonia","haste","haver","hectare","herdar","heresia","hesitar","hiato","hibernar","hidratar","hiena","hino","hipismo","hipnose","hipoteca","hoje","holofote","homem","honesto","honrado","hormonal","hospedar","humorado","iate","ideia","idoso","ignorado","igreja","iguana","ileso","ilha","iludido","iluminar","ilustrar","imagem","imediato","imenso","imersivo","iminente","imitador","imortal","impacto","impedir","implante","impor","imprensa","impune","imunizar","inalador","inapto","inativo","incenso","inchar","incidir","incluir","incolor","indeciso","indireto","indutor","ineficaz","inerente","infantil","infestar","infinito","inflamar","informal","infrator","ingerir","inibido","inicial","inimigo","injetar","inocente","inodoro","inovador","inox","inquieto","inscrito","inseto","insistir","inspetor","instalar","insulto","intacto","integral","intimar","intocado","intriga","invasor","inverno","invicto","invocar","iogurte","iraniano","ironizar","irreal","irritado","isca","isento","isolado","isqueiro","italiano","janeiro","jangada","janta","jararaca","jardim","jarro","jasmim","jato","javali","jazida","jejum","joaninha","joelhada","jogador","joia","jornal","jorrar","jovem","juba","judeu","judoca","juiz","julgador","julho","jurado","jurista","juro","justa","labareda","laboral","lacre","lactante","ladrilho","lagarta","lagoa","laje","lamber","lamentar","laminar","lampejo","lanche","lapidar","lapso","laranja","lareira","largura","lasanha","lastro","lateral","latido","lavanda","lavoura","lavrador","laxante","lazer","lealdade","lebre","legado","legendar","legista","leigo","leiloar","leitura","lembrete","leme","lenhador","lentilha","leoa","lesma","leste","letivo","letreiro","levar","leveza","levitar","liberal","libido","liderar","ligar","ligeiro","limitar","limoeiro","limpador","linda","linear","linhagem","liquidez","listagem","lisura","litoral","livro","lixa","lixeira","locador","locutor","lojista","lombo","lona","longe","lontra","lorde","lotado","loteria","loucura","lousa","louvar","luar","lucidez","lucro","luneta","lustre","lutador","luva","macaco","macete","machado","macio","madeira","madrinha","magnata","magreza","maior","mais","malandro","malha","malote","maluco","mamilo","mamoeiro","mamute","manada","mancha","mandato","manequim","manhoso","manivela","manobrar","mansa","manter","manusear","mapeado","maquinar","marcador","maresia","marfim","margem","marinho","marmita","maroto","marquise","marreco","martelo","marujo","mascote","masmorra","massagem","mastigar","matagal","materno","matinal","matutar","maxilar","medalha","medida","medusa","megafone","meiga","melancia","melhor","membro","memorial","menino","menos","mensagem","mental","merecer","mergulho","mesada","mesclar","mesmo","mesquita","mestre","metade","meteoro","metragem","mexer","mexicano","micro","migalha","migrar","milagre","milenar","milhar","mimado","minerar","minhoca","ministro","minoria","miolo","mirante","mirtilo","misturar","mocidade","moderno","modular","moeda","moer","moinho","moita","moldura","moleza","molho","molinete","molusco","montanha","moqueca","morango","morcego","mordomo","morena","mosaico","mosquete","mostarda","motel","motim","moto","motriz","muda","muito","mulata","mulher","multar","mundial","munido","muralha","murcho","muscular","museu","musical","nacional","nadador","naja","namoro","narina","narrado","nascer","nativa","natureza","navalha","navegar","navio","neblina","nebuloso","negativa","negociar","negrito","nervoso","neta","neural","nevasca","nevoeiro","ninar","ninho","nitidez","nivelar","nobreza","noite","noiva","nomear","nominal","nordeste","nortear","notar","noticiar","noturno","novelo","novilho","novo","nublado","nudez","numeral","nupcial","nutrir","nuvem","obcecado","obedecer","objetivo","obrigado","obscuro","obstetra","obter","obturar","ocidente","ocioso","ocorrer","oculista","ocupado","ofegante","ofensiva","oferenda","oficina","ofuscado","ogiva","olaria","oleoso","olhar","oliveira","ombro","omelete","omisso","omitir","ondulado","oneroso","ontem","opcional","operador","oponente","oportuno","oposto","orar","orbitar","ordem","ordinal","orfanato","orgasmo","orgulho","oriental","origem","oriundo","orla","ortodoxo","orvalho","oscilar","ossada","osso","ostentar","otimismo","ousadia","outono","outubro","ouvido","ovelha","ovular","oxidar","oxigenar","pacato","paciente","pacote","pactuar","padaria","padrinho","pagar","pagode","painel","pairar","paisagem","palavra","palestra","palheta","palito","palmada","palpitar","pancada","panela","panfleto","panqueca","pantanal","papagaio","papelada","papiro","parafina","parcial","pardal","parede","partida","pasmo","passado","pastel","patamar","patente","patinar","patrono","paulada","pausar","peculiar","pedalar","pedestre","pediatra","pedra","pegada","peitoral","peixe","pele","pelicano","penca","pendurar","peneira","penhasco","pensador","pente","perceber","perfeito","pergunta","perito","permitir","perna","perplexo","persiana","pertence","peruca","pescado","pesquisa","pessoa","petiscar","piada","picado","piedade","pigmento","pilastra","pilhado","pilotar","pimenta","pincel","pinguim","pinha","pinote","pintar","pioneiro","pipoca","piquete","piranha","pires","pirueta","piscar","pistola","pitanga","pivete","planta","plaqueta","platina","plebeu","plumagem","pluvial","pneu","poda","poeira","poetisa","polegada","policiar","poluente","polvilho","pomar","pomba","ponderar","pontaria","populoso","porta","possuir","postal","pote","poupar","pouso","povoar","praia","prancha","prato","praxe","prece","predador","prefeito","premiar","prensar","preparar","presilha","pretexto","prevenir","prezar","primata","princesa","prisma","privado","processo","produto","profeta","proibido","projeto","prometer","propagar","prosa","protetor","provador","publicar","pudim","pular","pulmonar","pulseira","punhal","punir","pupilo","pureza","puxador","quadra","quantia","quarto","quase","quebrar","queda","queijo","quente","querido","quimono","quina","quiosque","rabanada","rabisco","rachar","racionar","radial","raiar","rainha","raio","raiva","rajada","ralado","ramal","ranger","ranhura","rapadura","rapel","rapidez","raposa","raquete","raridade","rasante","rascunho","rasgar","raspador","rasteira","rasurar","ratazana","ratoeira","realeza","reanimar","reaver","rebaixar","rebelde","rebolar","recado","recente","recheio","recibo","recordar","recrutar","recuar","rede","redimir","redonda","reduzida","reenvio","refinar","refletir","refogar","refresco","refugiar","regalia","regime","regra","reinado","reitor","rejeitar","relativo","remador","remendo","remorso","renovado","reparo","repelir","repleto","repolho","represa","repudiar","requerer","resenha","resfriar","resgatar","residir","resolver","respeito","ressaca","restante","resumir","retalho","reter","retirar","retomada","retratar","revelar","revisor","revolta","riacho","rica","rigidez","rigoroso","rimar","ringue","risada","risco","risonho","robalo","rochedo","rodada","rodeio","rodovia","roedor","roleta","romano","roncar","rosado","roseira","rosto","rota","roteiro","rotina","rotular","rouco","roupa","roxo","rubro","rugido","rugoso","ruivo","rumo","rupestre","russo","sabor","saciar","sacola","sacudir","sadio","safira","saga","sagrada","saibro","salada","saleiro","salgado","saliva","salpicar","salsicha","saltar","salvador","sambar","samurai","sanar","sanfona","sangue","sanidade","sapato","sarda","sargento","sarjeta","saturar","saudade","saxofone","sazonal","secar","secular","seda","sedento","sediado","sedoso","sedutor","segmento","segredo","segundo","seiva","seleto","selvagem","semanal","semente","senador","senhor","sensual","sentado","separado","sereia","seringa","serra","servo","setembro","setor","sigilo","silhueta","silicone","simetria","simpatia","simular","sinal","sincero","singular","sinopse","sintonia","sirene","siri","situado","soberano","sobra","socorro","sogro","soja","solda","soletrar","solteiro","sombrio","sonata","sondar","sonegar","sonhador","sono","soprano","soquete","sorrir","sorteio","sossego","sotaque","soterrar","sovado","sozinho","suavizar","subida","submerso","subsolo","subtrair","sucata","sucesso","suco","sudeste","sufixo","sugador","sugerir","sujeito","sulfato","sumir","suor","superior","suplicar","suposto","suprimir","surdina","surfista","surpresa","surreal","surtir","suspiro","sustento","tabela","tablete","tabuada","tacho","tagarela","talher","talo","talvez","tamanho","tamborim","tampa","tangente","tanto","tapar","tapioca","tardio","tarefa","tarja","tarraxa","tatuagem","taurino","taxativo","taxista","teatral","tecer","tecido","teclado","tedioso","teia","teimar","telefone","telhado","tempero","tenente","tensor","tentar","termal","terno","terreno","tese","tesoura","testado","teto","textura","texugo","tiara","tigela","tijolo","timbrar","timidez","tingido","tinteiro","tiragem","titular","toalha","tocha","tolerar","tolice","tomada","tomilho","tonel","tontura","topete","tora","torcido","torneio","torque","torrada","torto","tostar","touca","toupeira","toxina","trabalho","tracejar","tradutor","trafegar","trajeto","trama","trancar","trapo","traseiro","tratador","travar","treino","tremer","trepidar","trevo","triagem","tribo","triciclo","tridente","trilogia","trindade","triplo","triturar","triunfal","trocar","trombeta","trova","trunfo","truque","tubular","tucano","tudo","tulipa","tupi","turbo","turma","turquesa","tutelar","tutorial","uivar","umbigo","unha","unidade","uniforme","urologia","urso","urtiga","urubu","usado","usina","usufruir","vacina","vadiar","vagaroso","vaidoso","vala","valente","validade","valores","vantagem","vaqueiro","varanda","vareta","varrer","vascular","vasilha","vassoura","vazar","vazio","veado","vedar","vegetar","veicular","veleiro","velhice","veludo","vencedor","vendaval","venerar","ventre","verbal","verdade","vereador","vergonha","vermelho","verniz","versar","vertente","vespa","vestido","vetorial","viaduto","viagem","viajar","viatura","vibrador","videira","vidraria","viela","viga","vigente","vigiar","vigorar","vilarejo","vinco","vinheta","vinil","violeta","virada","virtude","visitar","visto","vitral","viveiro","vizinho","voador","voar","vogal","volante","voleibol","voltagem","volumoso","vontade","vulto","vuvuzela","xadrez","xarope","xeque","xeretar","xerife","xingar","zangado","zarpar","zebu","zelador","zombar","zoologia","zumbido"]')},55655:function(eb){"use strict";eb.exports=JSON.parse('["ábaco","abdomen","abeja","abierto","abogado","abono","aborto","abrazo","abrir","abuelo","abuso","acabar","academia","acceso","acción","aceite","acelga","acento","aceptar","ácido","aclarar","acné","acoger","acoso","activo","acto","actriz","actuar","acudir","acuerdo","acusar","adicto","admitir","adoptar","adorno","aduana","adulto","aéreo","afectar","afición","afinar","afirmar","ágil","agitar","agonía","agosto","agotar","agregar","agrio","agua","agudo","águila","aguja","ahogo","ahorro","aire","aislar","ajedrez","ajeno","ajuste","alacrán","alambre","alarma","alba","álbum","alcalde","aldea","alegre","alejar","alerta","aleta","alfiler","alga","algodón","aliado","aliento","alivio","alma","almeja","almíbar","altar","alteza","altivo","alto","altura","alumno","alzar","amable","amante","amapola","amargo","amasar","ámbar","ámbito","ameno","amigo","amistad","amor","amparo","amplio","ancho","anciano","ancla","andar","andén","anemia","ángulo","anillo","ánimo","anís","anotar","antena","antiguo","antojo","anual","anular","anuncio","añadir","añejo","año","apagar","aparato","apetito","apio","aplicar","apodo","aporte","apoyo","aprender","aprobar","apuesta","apuro","arado","araña","arar","árbitro","árbol","arbusto","archivo","arco","arder","ardilla","arduo","área","árido","aries","armonía","arnés","aroma","arpa","arpón","arreglo","arroz","arruga","arte","artista","asa","asado","asalto","ascenso","asegurar","aseo","asesor","asiento","asilo","asistir","asno","asombro","áspero","astilla","astro","astuto","asumir","asunto","atajo","ataque","atar","atento","ateo","ático","atleta","átomo","atraer","atroz","atún","audaz","audio","auge","aula","aumento","ausente","autor","aval","avance","avaro","ave","avellana","avena","avestruz","avión","aviso","ayer","ayuda","ayuno","azafrán","azar","azote","azúcar","azufre","azul","baba","babor","bache","bahía","baile","bajar","balanza","balcón","balde","bambú","banco","banda","baño","barba","barco","barniz","barro","báscula","bastón","basura","batalla","batería","batir","batuta","baúl","bazar","bebé","bebida","bello","besar","beso","bestia","bicho","bien","bingo","blanco","bloque","blusa","boa","bobina","bobo","boca","bocina","boda","bodega","boina","bola","bolero","bolsa","bomba","bondad","bonito","bono","bonsái","borde","borrar","bosque","bote","botín","bóveda","bozal","bravo","brazo","brecha","breve","brillo","brinco","brisa","broca","broma","bronce","brote","bruja","brusco","bruto","buceo","bucle","bueno","buey","bufanda","bufón","búho","buitre","bulto","burbuja","burla","burro","buscar","butaca","buzón","caballo","cabeza","cabina","cabra","cacao","cadáver","cadena","caer","café","caída","caimán","caja","cajón","cal","calamar","calcio","caldo","calidad","calle","calma","calor","calvo","cama","cambio","camello","camino","campo","cáncer","candil","canela","canguro","canica","canto","caña","cañón","caoba","caos","capaz","capitán","capote","captar","capucha","cara","carbón","cárcel","careta","carga","cariño","carne","carpeta","carro","carta","casa","casco","casero","caspa","castor","catorce","catre","caudal","causa","cazo","cebolla","ceder","cedro","celda","célebre","celoso","célula","cemento","ceniza","centro","cerca","cerdo","cereza","cero","cerrar","certeza","césped","cetro","chacal","chaleco","champú","chancla","chapa","charla","chico","chiste","chivo","choque","choza","chuleta","chupar","ciclón","ciego","cielo","cien","cierto","cifra","cigarro","cima","cinco","cine","cinta","ciprés","circo","ciruela","cisne","cita","ciudad","clamor","clan","claro","clase","clave","cliente","clima","clínica","cobre","cocción","cochino","cocina","coco","código","codo","cofre","coger","cohete","cojín","cojo","cola","colcha","colegio","colgar","colina","collar","colmo","columna","combate","comer","comida","cómodo","compra","conde","conejo","conga","conocer","consejo","contar","copa","copia","corazón","corbata","corcho","cordón","corona","correr","coser","cosmos","costa","cráneo","cráter","crear","crecer","creído","crema","cría","crimen","cripta","crisis","cromo","crónica","croqueta","crudo","cruz","cuadro","cuarto","cuatro","cubo","cubrir","cuchara","cuello","cuento","cuerda","cuesta","cueva","cuidar","culebra","culpa","culto","cumbre","cumplir","cuna","cuneta","cuota","cupón","cúpula","curar","curioso","curso","curva","cutis","dama","danza","dar","dardo","dátil","deber","débil","década","decir","dedo","defensa","definir","dejar","delfín","delgado","delito","demora","denso","dental","deporte","derecho","derrota","desayuno","deseo","desfile","desnudo","destino","desvío","detalle","detener","deuda","día","diablo","diadema","diamante","diana","diario","dibujo","dictar","diente","dieta","diez","difícil","digno","dilema","diluir","dinero","directo","dirigir","disco","diseño","disfraz","diva","divino","doble","doce","dolor","domingo","don","donar","dorado","dormir","dorso","dos","dosis","dragón","droga","ducha","duda","duelo","dueño","dulce","dúo","duque","durar","dureza","duro","ébano","ebrio","echar","eco","ecuador","edad","edición","edificio","editor","educar","efecto","eficaz","eje","ejemplo","elefante","elegir","elemento","elevar","elipse","élite","elixir","elogio","eludir","embudo","emitir","emoción","empate","empeño","empleo","empresa","enano","encargo","enchufe","encía","enemigo","enero","enfado","enfermo","engaño","enigma","enlace","enorme","enredo","ensayo","enseñar","entero","entrar","envase","envío","época","equipo","erizo","escala","escena","escolar","escribir","escudo","esencia","esfera","esfuerzo","espada","espejo","espía","esposa","espuma","esquí","estar","este","estilo","estufa","etapa","eterno","ética","etnia","evadir","evaluar","evento","evitar","exacto","examen","exceso","excusa","exento","exigir","exilio","existir","éxito","experto","explicar","exponer","extremo","fábrica","fábula","fachada","fácil","factor","faena","faja","falda","fallo","falso","faltar","fama","familia","famoso","faraón","farmacia","farol","farsa","fase","fatiga","fauna","favor","fax","febrero","fecha","feliz","feo","feria","feroz","fértil","fervor","festín","fiable","fianza","fiar","fibra","ficción","ficha","fideo","fiebre","fiel","fiera","fiesta","figura","fijar","fijo","fila","filete","filial","filtro","fin","finca","fingir","finito","firma","flaco","flauta","flecha","flor","flota","fluir","flujo","flúor","fobia","foca","fogata","fogón","folio","folleto","fondo","forma","forro","fortuna","forzar","fosa","foto","fracaso","frágil","franja","frase","fraude","freír","freno","fresa","frío","frito","fruta","fuego","fuente","fuerza","fuga","fumar","función","funda","furgón","furia","fusil","fútbol","futuro","gacela","gafas","gaita","gajo","gala","galería","gallo","gamba","ganar","gancho","ganga","ganso","garaje","garza","gasolina","gastar","gato","gavilán","gemelo","gemir","gen","género","genio","gente","geranio","gerente","germen","gesto","gigante","gimnasio","girar","giro","glaciar","globo","gloria","gol","golfo","goloso","golpe","goma","gordo","gorila","gorra","gota","goteo","gozar","grada","gráfico","grano","grasa","gratis","grave","grieta","grillo","gripe","gris","grito","grosor","grúa","grueso","grumo","grupo","guante","guapo","guardia","guerra","guía","guiño","guion","guiso","guitarra","gusano","gustar","haber","hábil","hablar","hacer","hacha","hada","hallar","hamaca","harina","haz","hazaña","hebilla","hebra","hecho","helado","helio","hembra","herir","hermano","héroe","hervir","hielo","hierro","hígado","higiene","hijo","himno","historia","hocico","hogar","hoguera","hoja","hombre","hongo","honor","honra","hora","hormiga","horno","hostil","hoyo","hueco","huelga","huerta","hueso","huevo","huida","huir","humano","húmedo","humilde","humo","hundir","huracán","hurto","icono","ideal","idioma","ídolo","iglesia","iglú","igual","ilegal","ilusión","imagen","imán","imitar","impar","imperio","imponer","impulso","incapaz","índice","inerte","infiel","informe","ingenio","inicio","inmenso","inmune","innato","insecto","instante","interés","íntimo","intuir","inútil","invierno","ira","iris","ironía","isla","islote","jabalí","jabón","jamón","jarabe","jardín","jarra","jaula","jazmín","jefe","jeringa","jinete","jornada","joroba","joven","joya","juerga","jueves","juez","jugador","jugo","juguete","juicio","junco","jungla","junio","juntar","júpiter","jurar","justo","juvenil","juzgar","kilo","koala","labio","lacio","lacra","lado","ladrón","lagarto","lágrima","laguna","laico","lamer","lámina","lámpara","lana","lancha","langosta","lanza","lápiz","largo","larva","lástima","lata","látex","latir","laurel","lavar","lazo","leal","lección","leche","lector","leer","legión","legumbre","lejano","lengua","lento","leña","león","leopardo","lesión","letal","letra","leve","leyenda","libertad","libro","licor","líder","lidiar","lienzo","liga","ligero","lima","límite","limón","limpio","lince","lindo","línea","lingote","lino","linterna","líquido","liso","lista","litera","litio","litro","llaga","llama","llanto","llave","llegar","llenar","llevar","llorar","llover","lluvia","lobo","loción","loco","locura","lógica","logro","lombriz","lomo","lonja","lote","lucha","lucir","lugar","lujo","luna","lunes","lupa","lustro","luto","luz","maceta","macho","madera","madre","maduro","maestro","mafia","magia","mago","maíz","maldad","maleta","malla","malo","mamá","mambo","mamut","manco","mando","manejar","manga","maniquí","manjar","mano","manso","manta","mañana","mapa","máquina","mar","marco","marea","marfil","margen","marido","mármol","marrón","martes","marzo","masa","máscara","masivo","matar","materia","matiz","matriz","máximo","mayor","mazorca","mecha","medalla","medio","médula","mejilla","mejor","melena","melón","memoria","menor","mensaje","mente","menú","mercado","merengue","mérito","mes","mesón","meta","meter","método","metro","mezcla","miedo","miel","miembro","miga","mil","milagro","militar","millón","mimo","mina","minero","mínimo","minuto","miope","mirar","misa","miseria","misil","mismo","mitad","mito","mochila","moción","moda","modelo","moho","mojar","molde","moler","molino","momento","momia","monarca","moneda","monja","monto","moño","morada","morder","moreno","morir","morro","morsa","mortal","mosca","mostrar","motivo","mover","móvil","mozo","mucho","mudar","mueble","muela","muerte","muestra","mugre","mujer","mula","muleta","multa","mundo","muñeca","mural","muro","músculo","museo","musgo","música","muslo","nácar","nación","nadar","naipe","naranja","nariz","narrar","nasal","natal","nativo","natural","náusea","naval","nave","navidad","necio","néctar","negar","negocio","negro","neón","nervio","neto","neutro","nevar","nevera","nicho","nido","niebla","nieto","niñez","niño","nítido","nivel","nobleza","noche","nómina","noria","norma","norte","nota","noticia","novato","novela","novio","nube","nuca","núcleo","nudillo","nudo","nuera","nueve","nuez","nulo","número","nutria","oasis","obeso","obispo","objeto","obra","obrero","observar","obtener","obvio","oca","ocaso","océano","ochenta","ocho","ocio","ocre","octavo","octubre","oculto","ocupar","ocurrir","odiar","odio","odisea","oeste","ofensa","oferta","oficio","ofrecer","ogro","oído","oír","ojo","ola","oleada","olfato","olivo","olla","olmo","olor","olvido","ombligo","onda","onza","opaco","opción","ópera","opinar","oponer","optar","óptica","opuesto","oración","orador","oral","órbita","orca","orden","oreja","órgano","orgía","orgullo","oriente","origen","orilla","oro","orquesta","oruga","osadía","oscuro","osezno","oso","ostra","otoño","otro","oveja","óvulo","óxido","oxígeno","oyente","ozono","pacto","padre","paella","página","pago","país","pájaro","palabra","palco","paleta","pálido","palma","paloma","palpar","pan","panal","pánico","pantera","pañuelo","papá","papel","papilla","paquete","parar","parcela","pared","parir","paro","párpado","parque","párrafo","parte","pasar","paseo","pasión","paso","pasta","pata","patio","patria","pausa","pauta","pavo","payaso","peatón","pecado","pecera","pecho","pedal","pedir","pegar","peine","pelar","peldaño","pelea","peligro","pellejo","pelo","peluca","pena","pensar","peñón","peón","peor","pepino","pequeño","pera","percha","perder","pereza","perfil","perico","perla","permiso","perro","persona","pesa","pesca","pésimo","pestaña","pétalo","petróleo","pez","pezuña","picar","pichón","pie","piedra","pierna","pieza","pijama","pilar","piloto","pimienta","pino","pintor","pinza","piña","piojo","pipa","pirata","pisar","piscina","piso","pista","pitón","pizca","placa","plan","plata","playa","plaza","pleito","pleno","plomo","pluma","plural","pobre","poco","poder","podio","poema","poesía","poeta","polen","policía","pollo","polvo","pomada","pomelo","pomo","pompa","poner","porción","portal","posada","poseer","posible","poste","potencia","potro","pozo","prado","precoz","pregunta","premio","prensa","preso","previo","primo","príncipe","prisión","privar","proa","probar","proceso","producto","proeza","profesor","programa","prole","promesa","pronto","propio","próximo","prueba","público","puchero","pudor","pueblo","puerta","puesto","pulga","pulir","pulmón","pulpo","pulso","puma","punto","puñal","puño","pupa","pupila","puré","quedar","queja","quemar","querer","queso","quieto","química","quince","quitar","rábano","rabia","rabo","ración","radical","raíz","rama","rampa","rancho","rango","rapaz","rápido","rapto","rasgo","raspa","rato","rayo","raza","razón","reacción","realidad","rebaño","rebote","recaer","receta","rechazo","recoger","recreo","recto","recurso","red","redondo","reducir","reflejo","reforma","refrán","refugio","regalo","regir","regla","regreso","rehén","reino","reír","reja","relato","relevo","relieve","relleno","reloj","remar","remedio","remo","rencor","rendir","renta","reparto","repetir","reposo","reptil","res","rescate","resina","respeto","resto","resumen","retiro","retorno","retrato","reunir","revés","revista","rey","rezar","rico","riego","rienda","riesgo","rifa","rígido","rigor","rincón","riñón","río","riqueza","risa","ritmo","rito","rizo","roble","roce","rociar","rodar","rodeo","rodilla","roer","rojizo","rojo","romero","romper","ron","ronco","ronda","ropa","ropero","rosa","rosca","rostro","rotar","rubí","rubor","rudo","rueda","rugir","ruido","ruina","ruleta","rulo","rumbo","rumor","ruptura","ruta","rutina","sábado","saber","sabio","sable","sacar","sagaz","sagrado","sala","saldo","salero","salir","salmón","salón","salsa","salto","salud","salvar","samba","sanción","sandía","sanear","sangre","sanidad","sano","santo","sapo","saque","sardina","sartén","sastre","satán","sauna","saxofón","sección","seco","secreto","secta","sed","seguir","seis","sello","selva","semana","semilla","senda","sensor","señal","señor","separar","sepia","sequía","ser","serie","sermón","servir","sesenta","sesión","seta","setenta","severo","sexo","sexto","sidra","siesta","siete","siglo","signo","sílaba","silbar","silencio","silla","símbolo","simio","sirena","sistema","sitio","situar","sobre","socio","sodio","sol","solapa","soldado","soledad","sólido","soltar","solución","sombra","sondeo","sonido","sonoro","sonrisa","sopa","soplar","soporte","sordo","sorpresa","sorteo","sostén","sótano","suave","subir","suceso","sudor","suegra","suelo","sueño","suerte","sufrir","sujeto","sultán","sumar","superar","suplir","suponer","supremo","sur","surco","sureño","surgir","susto","sutil","tabaco","tabique","tabla","tabú","taco","tacto","tajo","talar","talco","talento","talla","talón","tamaño","tambor","tango","tanque","tapa","tapete","tapia","tapón","taquilla","tarde","tarea","tarifa","tarjeta","tarot","tarro","tarta","tatuaje","tauro","taza","tazón","teatro","techo","tecla","técnica","tejado","tejer","tejido","tela","teléfono","tema","temor","templo","tenaz","tender","tener","tenis","tenso","teoría","terapia","terco","término","ternura","terror","tesis","tesoro","testigo","tetera","texto","tez","tibio","tiburón","tiempo","tienda","tierra","tieso","tigre","tijera","tilde","timbre","tímido","timo","tinta","tío","típico","tipo","tira","tirón","titán","títere","título","tiza","toalla","tobillo","tocar","tocino","todo","toga","toldo","tomar","tono","tonto","topar","tope","toque","tórax","torero","tormenta","torneo","toro","torpedo","torre","torso","tortuga","tos","tosco","toser","tóxico","trabajo","tractor","traer","tráfico","trago","traje","tramo","trance","trato","trauma","trazar","trébol","tregua","treinta","tren","trepar","tres","tribu","trigo","tripa","triste","triunfo","trofeo","trompa","tronco","tropa","trote","trozo","truco","trueno","trufa","tubería","tubo","tuerto","tumba","tumor","túnel","túnica","turbina","turismo","turno","tutor","ubicar","úlcera","umbral","unidad","unir","universo","uno","untar","uña","urbano","urbe","urgente","urna","usar","usuario","útil","utopía","uva","vaca","vacío","vacuna","vagar","vago","vaina","vajilla","vale","válido","valle","valor","válvula","vampiro","vara","variar","varón","vaso","vecino","vector","vehículo","veinte","vejez","vela","velero","veloz","vena","vencer","venda","veneno","vengar","venir","venta","venus","ver","verano","verbo","verde","vereda","verja","verso","verter","vía","viaje","vibrar","vicio","víctima","vida","vídeo","vidrio","viejo","viernes","vigor","vil","villa","vinagre","vino","viñedo","violín","viral","virgo","virtud","visor","víspera","vista","vitamina","viudo","vivaz","vivero","vivir","vivo","volcán","volumen","volver","voraz","votar","voto","voz","vuelo","vulgar","yacer","yate","yegua","yema","yerno","yeso","yodo","yoga","yogur","zafiro","zanja","zapato","zarza","zona","zorro","zumo","zurdo"]')},46996:function(eb){"use strict";eb.exports=JSON.parse('["的","一","是","在","不","了","有","和","人","这","中","大","为","上","个","国","我","以","要","他","时","来","用","们","生","到","作","地","于","出","就","分","对","成","会","可","主","发","年","动","同","工","也","能","下","过","子","说","产","种","面","而","方","后","多","定","行","学","法","所","民","得","经","十","三","之","进","着","等","部","度","家","电","力","里","如","水","化","高","自","二","理","起","小","物","现","实","加","量","都","两","体","制","机","当","使","点","从","业","本","去","把","性","好","应","开","它","合","还","因","由","其","些","然","前","外","天","政","四","日","那","社","义","事","平","形","相","全","表","间","样","与","关","各","重","新","线","内","数","正","心","反","你","明","看","原","又","么","利","比","或","但","质","气","第","向","道","命","此","变","条","只","没","结","解","问","意","建","月","公","无","系","军","很","情","者","最","立","代","想","已","通","并","提","直","题","党","程","展","五","果","料","象","员","革","位","入","常","文","总","次","品","式","活","设","及","管","特","件","长","求","老","头","基","资","边","流","路","级","少","图","山","统","接","知","较","将","组","见","计","别","她","手","角","期","根","论","运","农","指","几","九","区","强","放","决","西","被","干","做","必","战","先","回","则","任","取","据","处","队","南","给","色","光","门","即","保","治","北","造","百","规","热","领","七","海","口","东","导","器","压","志","世","金","增","争","济","阶","油","思","术","极","交","受","联","什","认","六","共","权","收","证","改","清","美","再","采","转","更","单","风","切","打","白","教","速","花","带","安","场","身","车","例","真","务","具","万","每","目","至","达","走","积","示","议","声","报","斗","完","类","八","离","华","名","确","才","科","张","信","马","节","话","米","整","空","元","况","今","集","温","传","土","许","步","群","广","石","记","需","段","研","界","拉","林","律","叫","且","究","观","越","织","装","影","算","低","持","音","众","书","布","复","容","儿","须","际","商","非","验","连","断","深","难","近","矿","千","周","委","素","技","备","半","办","青","省","列","习","响","约","支","般","史","感","劳","便","团","往","酸","历","市","克","何","除","消","构","府","称","太","准","精","值","号","率","族","维","划","选","标","写","存","候","毛","亲","快","效","斯","院","查","江","型","眼","王","按","格","养","易","置","派","层","片","始","却","专","状","育","厂","京","识","适","属","圆","包","火","住","调","满","县","局","照","参","红","细","引","听","该","铁","价","严","首","底","液","官","德","随","病","苏","失","尔","死","讲","配","女","黄","推","显","谈","罪","神","艺","呢","席","含","企","望","密","批","营","项","防","举","球","英","氧","势","告","李","台","落","木","帮","轮","破","亚","师","围","注","远","字","材","排","供","河","态","封","另","施","减","树","溶","怎","止","案","言","士","均","武","固","叶","鱼","波","视","仅","费","紧","爱","左","章","早","朝","害","续","轻","服","试","食","充","兵","源","判","护","司","足","某","练","差","致","板","田","降","黑","犯","负","击","范","继","兴","似","余","坚","曲","输","修","故","城","夫","够","送","笔","船","占","右","财","吃","富","春","职","觉","汉","画","功","巴","跟","虽","杂","飞","检","吸","助","升","阳","互","初","创","抗","考","投","坏","策","古","径","换","未","跑","留","钢","曾","端","责","站","简","述","钱","副","尽","帝","射","草","冲","承","独","令","限","阿","宣","环","双","请","超","微","让","控","州","良","轴","找","否","纪","益","依","优","顶","础","载","倒","房","突","坐","粉","敌","略","客","袁","冷","胜","绝","析","块","剂","测","丝","协","诉","念","陈","仍","罗","盐","友","洋","错","苦","夜","刑","移","频","逐","靠","混","母","短","皮","终","聚","汽","村","云","哪","既","距","卫","停","烈","央","察","烧","迅","境","若","印","洲","刻","括","激","孔","搞","甚","室","待","核","校","散","侵","吧","甲","游","久","菜","味","旧","模","湖","货","损","预","阻","毫","普","稳","乙","妈","植","息","扩","银","语","挥","酒","守","拿","序","纸","医","缺","雨","吗","针","刘","啊","急","唱","误","训","愿","审","附","获","茶","鲜","粮","斤","孩","脱","硫","肥","善","龙","演","父","渐","血","欢","械","掌","歌","沙","刚","攻","谓","盾","讨","晚","粒","乱","燃","矛","乎","杀","药","宁","鲁","贵","钟","煤","读","班","伯","香","介","迫","句","丰","培","握","兰","担","弦","蛋","沉","假","穿","执","答","乐","谁","顺","烟","缩","征","脸","喜","松","脚","困","异","免","背","星","福","买","染","井","概","慢","怕","磁","倍","祖","皇","促","静","补","评","翻","肉","践","尼","衣","宽","扬","棉","希","伤","操","垂","秋","宜","氢","套","督","振","架","亮","末","宪","庆","编","牛","触","映","雷","销","诗","座","居","抓","裂","胞","呼","娘","景","威","绿","晶","厚","盟","衡","鸡","孙","延","危","胶","屋","乡","临","陆","顾","掉","呀","灯","岁","措","束","耐","剧","玉","赵","跳","哥","季","课","凯","胡","额","款","绍","卷","齐","伟","蒸","殖","永","宗","苗","川","炉","岩","弱","零","杨","奏","沿","露","杆","探","滑","镇","饭","浓","航","怀","赶","库","夺","伊","灵","税","途","灭","赛","归","召","鼓","播","盘","裁","险","康","唯","录","菌","纯","借","糖","盖","横","符","私","努","堂","域","枪","润","幅","哈","竟","熟","虫","泽","脑","壤","碳","欧","遍","侧","寨","敢","彻","虑","斜","薄","庭","纳","弹","饲","伸","折","麦","湿","暗","荷","瓦","塞","床","筑","恶","户","访","塔","奇","透","梁","刀","旋","迹","卡","氯","遇","份","毒","泥","退","洗","摆","灰","彩","卖","耗","夏","择","忙","铜","献","硬","予","繁","圈","雪","函","亦","抽","篇","阵","阴","丁","尺","追","堆","雄","迎","泛","爸","楼","避","谋","吨","野","猪","旗","累","偏","典","馆","索","秦","脂","潮","爷","豆","忽","托","惊","塑","遗","愈","朱","替","纤","粗","倾","尚","痛","楚","谢","奋","购","磨","君","池","旁","碎","骨","监","捕","弟","暴","割","贯","殊","释","词","亡","壁","顿","宝","午","尘","闻","揭","炮","残","冬","桥","妇","警","综","招","吴","付","浮","遭","徐","您","摇","谷","赞","箱","隔","订","男","吹","园","纷","唐","败","宋","玻","巨","耕","坦","荣","闭","湾","键","凡","驻","锅","救","恩","剥","凝","碱","齿","截","炼","麻","纺","禁","废","盛","版","缓","净","睛","昌","婚","涉","筒","嘴","插","岸","朗","庄","街","藏","姑","贸","腐","奴","啦","惯","乘","伙","恢","匀","纱","扎","辩","耳","彪","臣","亿","璃","抵","脉","秀","萨","俄","网","舞","店","喷","纵","寸","汗","挂","洪","贺","闪","柬","爆","烯","津","稻","墙","软","勇","像","滚","厘","蒙","芳","肯","坡","柱","荡","腿","仪","旅","尾","轧","冰","贡","登","黎","削","钻","勒","逃","障","氨","郭","峰","币","港","伏","轨","亩","毕","擦","莫","刺","浪","秘","援","株","健","售","股","岛","甘","泡","睡","童","铸","汤","阀","休","汇","舍","牧","绕","炸","哲","磷","绩","朋","淡","尖","启","陷","柴","呈","徒","颜","泪","稍","忘","泵","蓝","拖","洞","授","镜","辛","壮","锋","贫","虚","弯","摩","泰","幼","廷","尊","窗","纲","弄","隶","疑","氏","宫","姐","震","瑞","怪","尤","琴","循","描","膜","违","夹","腰","缘","珠","穷","森","枝","竹","沟","催","绳","忆","邦","剩","幸","浆","栏","拥","牙","贮","礼","滤","钠","纹","罢","拍","咱","喊","袖","埃","勤","罚","焦","潜","伍","墨","欲","缝","姓","刊","饱","仿","奖","铝","鬼","丽","跨","默","挖","链","扫","喝","袋","炭","污","幕","诸","弧","励","梅","奶","洁","灾","舟","鉴","苯","讼","抱","毁","懂","寒","智","埔","寄","届","跃","渡","挑","丹","艰","贝","碰","拔","爹","戴","码","梦","芽","熔","赤","渔","哭","敬","颗","奔","铅","仲","虎","稀","妹","乏","珍","申","桌","遵","允","隆","螺","仓","魏","锐","晓","氮","兼","隐","碍","赫","拨","忠","肃","缸","牵","抢","博","巧","壳","兄","杜","讯","诚","碧","祥","柯","页","巡","矩","悲","灌","龄","伦","票","寻","桂","铺","圣","恐","恰","郑","趣","抬","荒","腾","贴","柔","滴","猛","阔","辆","妻","填","撤","储","签","闹","扰","紫","砂","递","戏","吊","陶","伐","喂","疗","瓶","婆","抚","臂","摸","忍","虾","蜡","邻","胸","巩","挤","偶","弃","槽","劲","乳","邓","吉","仁","烂","砖","租","乌","舰","伴","瓜","浅","丙","暂","燥","橡","柳","迷","暖","牌","秧","胆","详","簧","踏","瓷","谱","呆","宾","糊","洛","辉","愤","竞","隙","怒","粘","乃","绪","肩","籍","敏","涂","熙","皆","侦","悬","掘","享","纠","醒","狂","锁","淀","恨","牲","霸","爬","赏","逆","玩","陵","祝","秒","浙","貌","役","彼","悉","鸭","趋","凤","晨","畜","辈","秩","卵","署","梯","炎","滩","棋","驱","筛","峡","冒","啥","寿","译","浸","泉","帽","迟","硅","疆","贷","漏","稿","冠","嫩","胁","芯","牢","叛","蚀","奥","鸣","岭","羊","凭","串","塘","绘","酵","融","盆","锡","庙","筹","冻","辅","摄","袭","筋","拒","僚","旱","钾","鸟","漆","沈","眉","疏","添","棒","穗","硝","韩","逼","扭","侨","凉","挺","碗","栽","炒","杯","患","馏","劝","豪","辽","勃","鸿","旦","吏","拜","狗","埋","辊","掩","饮","搬","骂","辞","勾","扣","估","蒋","绒","雾","丈","朵","姆","拟","宇","辑","陕","雕","偿","蓄","崇","剪","倡","厅","咬","驶","薯","刷","斥","番","赋","奉","佛","浇","漫","曼","扇","钙","桃","扶","仔","返","俗","亏","腔","鞋","棱","覆","框","悄","叔","撞","骗","勘","旺","沸","孤","吐","孟","渠","屈","疾","妙","惜","仰","狠","胀","谐","抛","霉","桑","岗","嘛","衰","盗","渗","脏","赖","涌","甜","曹","阅","肌","哩","厉","烃","纬","毅","昨","伪","症","煮","叹","钉","搭","茎","笼","酷","偷","弓","锥","恒","杰","坑","鼻","翼","纶","叙","狱","逮","罐","络","棚","抑","膨","蔬","寺","骤","穆","冶","枯","册","尸","凸","绅","坯","牺","焰","轰","欣","晋","瘦","御","锭","锦","丧","旬","锻","垄","搜","扑","邀","亭","酯","迈","舒","脆","酶","闲","忧","酚","顽","羽","涨","卸","仗","陪","辟","惩","杭","姚","肚","捉","飘","漂","昆","欺","吾","郎","烷","汁","呵","饰","萧","雅","邮","迁","燕","撒","姻","赴","宴","烦","债","帐","斑","铃","旨","醇","董","饼","雏","姿","拌","傅","腹","妥","揉","贤","拆","歪","葡","胺","丢","浩","徽","昂","垫","挡","览","贪","慰","缴","汪","慌","冯","诺","姜","谊","凶","劣","诬","耀","昏","躺","盈","骑","乔","溪","丛","卢","抹","闷","咨","刮","驾","缆","悟","摘","铒","掷","颇","幻","柄","惠","惨","佳","仇","腊","窝","涤","剑","瞧","堡","泼","葱","罩","霍","捞","胎","苍","滨","俩","捅","湘","砍","霞","邵","萄","疯","淮","遂","熊","粪","烘","宿","档","戈","驳","嫂","裕","徙","箭","捐","肠","撑","晒","辨","殿","莲","摊","搅","酱","屏","疫","哀","蔡","堵","沫","皱","畅","叠","阁","莱","敲","辖","钩","痕","坝","巷","饿","祸","丘","玄","溜","曰","逻","彭","尝","卿","妨","艇","吞","韦","怨","矮","歇"]')},4262:function(eb){"use strict";eb.exports=JSON.parse('["的","一","是","在","不","了","有","和","人","這","中","大","為","上","個","國","我","以","要","他","時","來","用","們","生","到","作","地","於","出","就","分","對","成","會","可","主","發","年","動","同","工","也","能","下","過","子","說","產","種","面","而","方","後","多","定","行","學","法","所","民","得","經","十","三","之","進","著","等","部","度","家","電","力","裡","如","水","化","高","自","二","理","起","小","物","現","實","加","量","都","兩","體","制","機","當","使","點","從","業","本","去","把","性","好","應","開","它","合","還","因","由","其","些","然","前","外","天","政","四","日","那","社","義","事","平","形","相","全","表","間","樣","與","關","各","重","新","線","內","數","正","心","反","你","明","看","原","又","麼","利","比","或","但","質","氣","第","向","道","命","此","變","條","只","沒","結","解","問","意","建","月","公","無","系","軍","很","情","者","最","立","代","想","已","通","並","提","直","題","黨","程","展","五","果","料","象","員","革","位","入","常","文","總","次","品","式","活","設","及","管","特","件","長","求","老","頭","基","資","邊","流","路","級","少","圖","山","統","接","知","較","將","組","見","計","別","她","手","角","期","根","論","運","農","指","幾","九","區","強","放","決","西","被","幹","做","必","戰","先","回","則","任","取","據","處","隊","南","給","色","光","門","即","保","治","北","造","百","規","熱","領","七","海","口","東","導","器","壓","志","世","金","增","爭","濟","階","油","思","術","極","交","受","聯","什","認","六","共","權","收","證","改","清","美","再","採","轉","更","單","風","切","打","白","教","速","花","帶","安","場","身","車","例","真","務","具","萬","每","目","至","達","走","積","示","議","聲","報","鬥","完","類","八","離","華","名","確","才","科","張","信","馬","節","話","米","整","空","元","況","今","集","溫","傳","土","許","步","群","廣","石","記","需","段","研","界","拉","林","律","叫","且","究","觀","越","織","裝","影","算","低","持","音","眾","書","布","复","容","兒","須","際","商","非","驗","連","斷","深","難","近","礦","千","週","委","素","技","備","半","辦","青","省","列","習","響","約","支","般","史","感","勞","便","團","往","酸","歷","市","克","何","除","消","構","府","稱","太","準","精","值","號","率","族","維","劃","選","標","寫","存","候","毛","親","快","效","斯","院","查","江","型","眼","王","按","格","養","易","置","派","層","片","始","卻","專","狀","育","廠","京","識","適","屬","圓","包","火","住","調","滿","縣","局","照","參","紅","細","引","聽","該","鐵","價","嚴","首","底","液","官","德","隨","病","蘇","失","爾","死","講","配","女","黃","推","顯","談","罪","神","藝","呢","席","含","企","望","密","批","營","項","防","舉","球","英","氧","勢","告","李","台","落","木","幫","輪","破","亞","師","圍","注","遠","字","材","排","供","河","態","封","另","施","減","樹","溶","怎","止","案","言","士","均","武","固","葉","魚","波","視","僅","費","緊","愛","左","章","早","朝","害","續","輕","服","試","食","充","兵","源","判","護","司","足","某","練","差","致","板","田","降","黑","犯","負","擊","范","繼","興","似","餘","堅","曲","輸","修","故","城","夫","夠","送","筆","船","佔","右","財","吃","富","春","職","覺","漢","畫","功","巴","跟","雖","雜","飛","檢","吸","助","昇","陽","互","初","創","抗","考","投","壞","策","古","徑","換","未","跑","留","鋼","曾","端","責","站","簡","述","錢","副","盡","帝","射","草","衝","承","獨","令","限","阿","宣","環","雙","請","超","微","讓","控","州","良","軸","找","否","紀","益","依","優","頂","礎","載","倒","房","突","坐","粉","敵","略","客","袁","冷","勝","絕","析","塊","劑","測","絲","協","訴","念","陳","仍","羅","鹽","友","洋","錯","苦","夜","刑","移","頻","逐","靠","混","母","短","皮","終","聚","汽","村","雲","哪","既","距","衛","停","烈","央","察","燒","迅","境","若","印","洲","刻","括","激","孔","搞","甚","室","待","核","校","散","侵","吧","甲","遊","久","菜","味","舊","模","湖","貨","損","預","阻","毫","普","穩","乙","媽","植","息","擴","銀","語","揮","酒","守","拿","序","紙","醫","缺","雨","嗎","針","劉","啊","急","唱","誤","訓","願","審","附","獲","茶","鮮","糧","斤","孩","脫","硫","肥","善","龍","演","父","漸","血","歡","械","掌","歌","沙","剛","攻","謂","盾","討","晚","粒","亂","燃","矛","乎","殺","藥","寧","魯","貴","鐘","煤","讀","班","伯","香","介","迫","句","豐","培","握","蘭","擔","弦","蛋","沉","假","穿","執","答","樂","誰","順","煙","縮","徵","臉","喜","松","腳","困","異","免","背","星","福","買","染","井","概","慢","怕","磁","倍","祖","皇","促","靜","補","評","翻","肉","踐","尼","衣","寬","揚","棉","希","傷","操","垂","秋","宜","氫","套","督","振","架","亮","末","憲","慶","編","牛","觸","映","雷","銷","詩","座","居","抓","裂","胞","呼","娘","景","威","綠","晶","厚","盟","衡","雞","孫","延","危","膠","屋","鄉","臨","陸","顧","掉","呀","燈","歲","措","束","耐","劇","玉","趙","跳","哥","季","課","凱","胡","額","款","紹","卷","齊","偉","蒸","殖","永","宗","苗","川","爐","岩","弱","零","楊","奏","沿","露","桿","探","滑","鎮","飯","濃","航","懷","趕","庫","奪","伊","靈","稅","途","滅","賽","歸","召","鼓","播","盤","裁","險","康","唯","錄","菌","純","借","糖","蓋","橫","符","私","努","堂","域","槍","潤","幅","哈","竟","熟","蟲","澤","腦","壤","碳","歐","遍","側","寨","敢","徹","慮","斜","薄","庭","納","彈","飼","伸","折","麥","濕","暗","荷","瓦","塞","床","築","惡","戶","訪","塔","奇","透","梁","刀","旋","跡","卡","氯","遇","份","毒","泥","退","洗","擺","灰","彩","賣","耗","夏","擇","忙","銅","獻","硬","予","繁","圈","雪","函","亦","抽","篇","陣","陰","丁","尺","追","堆","雄","迎","泛","爸","樓","避","謀","噸","野","豬","旗","累","偏","典","館","索","秦","脂","潮","爺","豆","忽","托","驚","塑","遺","愈","朱","替","纖","粗","傾","尚","痛","楚","謝","奮","購","磨","君","池","旁","碎","骨","監","捕","弟","暴","割","貫","殊","釋","詞","亡","壁","頓","寶","午","塵","聞","揭","炮","殘","冬","橋","婦","警","綜","招","吳","付","浮","遭","徐","您","搖","谷","贊","箱","隔","訂","男","吹","園","紛","唐","敗","宋","玻","巨","耕","坦","榮","閉","灣","鍵","凡","駐","鍋","救","恩","剝","凝","鹼","齒","截","煉","麻","紡","禁","廢","盛","版","緩","淨","睛","昌","婚","涉","筒","嘴","插","岸","朗","莊","街","藏","姑","貿","腐","奴","啦","慣","乘","夥","恢","勻","紗","扎","辯","耳","彪","臣","億","璃","抵","脈","秀","薩","俄","網","舞","店","噴","縱","寸","汗","掛","洪","賀","閃","柬","爆","烯","津","稻","牆","軟","勇","像","滾","厘","蒙","芳","肯","坡","柱","盪","腿","儀","旅","尾","軋","冰","貢","登","黎","削","鑽","勒","逃","障","氨","郭","峰","幣","港","伏","軌","畝","畢","擦","莫","刺","浪","秘","援","株","健","售","股","島","甘","泡","睡","童","鑄","湯","閥","休","匯","舍","牧","繞","炸","哲","磷","績","朋","淡","尖","啟","陷","柴","呈","徒","顏","淚","稍","忘","泵","藍","拖","洞","授","鏡","辛","壯","鋒","貧","虛","彎","摩","泰","幼","廷","尊","窗","綱","弄","隸","疑","氏","宮","姐","震","瑞","怪","尤","琴","循","描","膜","違","夾","腰","緣","珠","窮","森","枝","竹","溝","催","繩","憶","邦","剩","幸","漿","欄","擁","牙","貯","禮","濾","鈉","紋","罷","拍","咱","喊","袖","埃","勤","罰","焦","潛","伍","墨","欲","縫","姓","刊","飽","仿","獎","鋁","鬼","麗","跨","默","挖","鏈","掃","喝","袋","炭","污","幕","諸","弧","勵","梅","奶","潔","災","舟","鑑","苯","訟","抱","毀","懂","寒","智","埔","寄","屆","躍","渡","挑","丹","艱","貝","碰","拔","爹","戴","碼","夢","芽","熔","赤","漁","哭","敬","顆","奔","鉛","仲","虎","稀","妹","乏","珍","申","桌","遵","允","隆","螺","倉","魏","銳","曉","氮","兼","隱","礙","赫","撥","忠","肅","缸","牽","搶","博","巧","殼","兄","杜","訊","誠","碧","祥","柯","頁","巡","矩","悲","灌","齡","倫","票","尋","桂","鋪","聖","恐","恰","鄭","趣","抬","荒","騰","貼","柔","滴","猛","闊","輛","妻","填","撤","儲","簽","鬧","擾","紫","砂","遞","戲","吊","陶","伐","餵","療","瓶","婆","撫","臂","摸","忍","蝦","蠟","鄰","胸","鞏","擠","偶","棄","槽","勁","乳","鄧","吉","仁","爛","磚","租","烏","艦","伴","瓜","淺","丙","暫","燥","橡","柳","迷","暖","牌","秧","膽","詳","簧","踏","瓷","譜","呆","賓","糊","洛","輝","憤","競","隙","怒","粘","乃","緒","肩","籍","敏","塗","熙","皆","偵","懸","掘","享","糾","醒","狂","鎖","淀","恨","牲","霸","爬","賞","逆","玩","陵","祝","秒","浙","貌","役","彼","悉","鴨","趨","鳳","晨","畜","輩","秩","卵","署","梯","炎","灘","棋","驅","篩","峽","冒","啥","壽","譯","浸","泉","帽","遲","矽","疆","貸","漏","稿","冠","嫩","脅","芯","牢","叛","蝕","奧","鳴","嶺","羊","憑","串","塘","繪","酵","融","盆","錫","廟","籌","凍","輔","攝","襲","筋","拒","僚","旱","鉀","鳥","漆","沈","眉","疏","添","棒","穗","硝","韓","逼","扭","僑","涼","挺","碗","栽","炒","杯","患","餾","勸","豪","遼","勃","鴻","旦","吏","拜","狗","埋","輥","掩","飲","搬","罵","辭","勾","扣","估","蔣","絨","霧","丈","朵","姆","擬","宇","輯","陝","雕","償","蓄","崇","剪","倡","廳","咬","駛","薯","刷","斥","番","賦","奉","佛","澆","漫","曼","扇","鈣","桃","扶","仔","返","俗","虧","腔","鞋","棱","覆","框","悄","叔","撞","騙","勘","旺","沸","孤","吐","孟","渠","屈","疾","妙","惜","仰","狠","脹","諧","拋","黴","桑","崗","嘛","衰","盜","滲","臟","賴","湧","甜","曹","閱","肌","哩","厲","烴","緯","毅","昨","偽","症","煮","嘆","釘","搭","莖","籠","酷","偷","弓","錐","恆","傑","坑","鼻","翼","綸","敘","獄","逮","罐","絡","棚","抑","膨","蔬","寺","驟","穆","冶","枯","冊","屍","凸","紳","坯","犧","焰","轟","欣","晉","瘦","禦","錠","錦","喪","旬","鍛","壟","搜","撲","邀","亭","酯","邁","舒","脆","酶","閒","憂","酚","頑","羽","漲","卸","仗","陪","闢","懲","杭","姚","肚","捉","飄","漂","昆","欺","吾","郎","烷","汁","呵","飾","蕭","雅","郵","遷","燕","撒","姻","赴","宴","煩","債","帳","斑","鈴","旨","醇","董","餅","雛","姿","拌","傅","腹","妥","揉","賢","拆","歪","葡","胺","丟","浩","徽","昂","墊","擋","覽","貪","慰","繳","汪","慌","馮","諾","姜","誼","兇","劣","誣","耀","昏","躺","盈","騎","喬","溪","叢","盧","抹","悶","諮","刮","駕","纜","悟","摘","鉺","擲","頗","幻","柄","惠","慘","佳","仇","臘","窩","滌","劍","瞧","堡","潑","蔥","罩","霍","撈","胎","蒼","濱","倆","捅","湘","砍","霞","邵","萄","瘋","淮","遂","熊","糞","烘","宿","檔","戈","駁","嫂","裕","徙","箭","捐","腸","撐","曬","辨","殿","蓮","攤","攪","醬","屏","疫","哀","蔡","堵","沫","皺","暢","疊","閣","萊","敲","轄","鉤","痕","壩","巷","餓","禍","丘","玄","溜","曰","邏","彭","嘗","卿","妨","艇","吞","韋","怨","矮","歇"]')},40032:function(eb){"use strict";eb.exports=JSON.parse('["abdikace","abeceda","adresa","agrese","akce","aktovka","alej","alkohol","amputace","ananas","andulka","anekdota","anketa","antika","anulovat","archa","arogance","asfalt","asistent","aspirace","astma","astronom","atlas","atletika","atol","autobus","azyl","babka","bachor","bacil","baculka","badatel","bageta","bagr","bahno","bakterie","balada","baletka","balkon","balonek","balvan","balza","bambus","bankomat","barbar","baret","barman","baroko","barva","baterka","batoh","bavlna","bazalka","bazilika","bazuka","bedna","beran","beseda","bestie","beton","bezinka","bezmoc","beztak","bicykl","bidlo","biftek","bikiny","bilance","biograf","biolog","bitva","bizon","blahobyt","blatouch","blecha","bledule","blesk","blikat","blizna","blokovat","bloudit","blud","bobek","bobr","bodlina","bodnout","bohatost","bojkot","bojovat","bokorys","bolest","borec","borovice","bota","boubel","bouchat","bouda","boule","bourat","boxer","bradavka","brambora","branka","bratr","brepta","briketa","brko","brloh","bronz","broskev","brunetka","brusinka","brzda","brzy","bublina","bubnovat","buchta","buditel","budka","budova","bufet","bujarost","bukvice","buldok","bulva","bunda","bunkr","burza","butik","buvol","buzola","bydlet","bylina","bytovka","bzukot","capart","carevna","cedr","cedule","cejch","cejn","cela","celer","celkem","celnice","cenina","cennost","cenovka","centrum","cenzor","cestopis","cetka","chalupa","chapadlo","charita","chata","chechtat","chemie","chichot","chirurg","chlad","chleba","chlubit","chmel","chmura","chobot","chochol","chodba","cholera","chomout","chopit","choroba","chov","chrapot","chrlit","chrt","chrup","chtivost","chudina","chutnat","chvat","chvilka","chvost","chyba","chystat","chytit","cibule","cigareta","cihelna","cihla","cinkot","cirkus","cisterna","citace","citrus","cizinec","cizost","clona","cokoliv","couvat","ctitel","ctnost","cudnost","cuketa","cukr","cupot","cvaknout","cval","cvik","cvrkot","cyklista","daleko","dareba","datel","datum","dcera","debata","dechovka","decibel","deficit","deflace","dekl","dekret","demokrat","deprese","derby","deska","detektiv","dikobraz","diktovat","dioda","diplom","disk","displej","divadlo","divoch","dlaha","dlouho","dluhopis","dnes","dobro","dobytek","docent","dochutit","dodnes","dohled","dohoda","dohra","dojem","dojnice","doklad","dokola","doktor","dokument","dolar","doleva","dolina","doma","dominant","domluvit","domov","donutit","dopad","dopis","doplnit","doposud","doprovod","dopustit","dorazit","dorost","dort","dosah","doslov","dostatek","dosud","dosyta","dotaz","dotek","dotknout","doufat","doutnat","dovozce","dozadu","doznat","dozorce","drahota","drak","dramatik","dravec","draze","drdol","drobnost","drogerie","drozd","drsnost","drtit","drzost","duben","duchovno","dudek","duha","duhovka","dusit","dusno","dutost","dvojice","dvorec","dynamit","ekolog","ekonomie","elektron","elipsa","email","emise","emoce","empatie","epizoda","epocha","epopej","epos","esej","esence","eskorta","eskymo","etiketa","euforie","evoluce","exekuce","exkurze","expedice","exploze","export","extrakt","facka","fajfka","fakulta","fanatik","fantazie","farmacie","favorit","fazole","federace","fejeton","fenka","fialka","figurant","filozof","filtr","finance","finta","fixace","fjord","flanel","flirt","flotila","fond","fosfor","fotbal","fotka","foton","frakce","freska","fronta","fukar","funkce","fyzika","galeje","garant","genetika","geolog","gilotina","glazura","glejt","golem","golfista","gotika","graf","gramofon","granule","grep","gril","grog","groteska","guma","hadice","hadr","hala","halenka","hanba","hanopis","harfa","harpuna","havran","hebkost","hejkal","hejno","hejtman","hektar","helma","hematom","herec","herna","heslo","hezky","historik","hladovka","hlasivky","hlava","hledat","hlen","hlodavec","hloh","hloupost","hltat","hlubina","hluchota","hmat","hmota","hmyz","hnis","hnojivo","hnout","hoblina","hoboj","hoch","hodiny","hodlat","hodnota","hodovat","hojnost","hokej","holinka","holka","holub","homole","honitba","honorace","horal","horda","horizont","horko","horlivec","hormon","hornina","horoskop","horstvo","hospoda","hostina","hotovost","houba","houf","houpat","houska","hovor","hradba","hranice","hravost","hrazda","hrbolek","hrdina","hrdlo","hrdost","hrnek","hrobka","hromada","hrot","hrouda","hrozen","hrstka","hrubost","hryzat","hubenost","hubnout","hudba","hukot","humr","husita","hustota","hvozd","hybnost","hydrant","hygiena","hymna","hysterik","idylka","ihned","ikona","iluze","imunita","infekce","inflace","inkaso","inovace","inspekce","internet","invalida","investor","inzerce","ironie","jablko","jachta","jahoda","jakmile","jakost","jalovec","jantar","jarmark","jaro","jasan","jasno","jatka","javor","jazyk","jedinec","jedle","jednatel","jehlan","jekot","jelen","jelito","jemnost","jenom","jepice","jeseter","jevit","jezdec","jezero","jinak","jindy","jinoch","jiskra","jistota","jitrnice","jizva","jmenovat","jogurt","jurta","kabaret","kabel","kabinet","kachna","kadet","kadidlo","kahan","kajak","kajuta","kakao","kaktus","kalamita","kalhoty","kalibr","kalnost","kamera","kamkoliv","kamna","kanibal","kanoe","kantor","kapalina","kapela","kapitola","kapka","kaple","kapota","kapr","kapusta","kapybara","karamel","karotka","karton","kasa","katalog","katedra","kauce","kauza","kavalec","kazajka","kazeta","kazivost","kdekoliv","kdesi","kedluben","kemp","keramika","kino","klacek","kladivo","klam","klapot","klasika","klaun","klec","klenba","klepat","klesnout","klid","klima","klisna","klobouk","klokan","klopa","kloub","klubovna","klusat","kluzkost","kmen","kmitat","kmotr","kniha","knot","koalice","koberec","kobka","kobliha","kobyla","kocour","kohout","kojenec","kokos","koktejl","kolaps","koleda","kolize","kolo","komando","kometa","komik","komnata","komora","kompas","komunita","konat","koncept","kondice","konec","konfese","kongres","konina","konkurs","kontakt","konzerva","kopanec","kopie","kopnout","koprovka","korbel","korektor","kormidlo","koroptev","korpus","koruna","koryto","korzet","kosatec","kostka","kotel","kotleta","kotoul","koukat","koupelna","kousek","kouzlo","kovboj","koza","kozoroh","krabice","krach","krajina","kralovat","krasopis","kravata","kredit","krejcar","kresba","kreveta","kriket","kritik","krize","krkavec","krmelec","krmivo","krocan","krok","kronika","kropit","kroupa","krovka","krtek","kruhadlo","krupice","krutost","krvinka","krychle","krypta","krystal","kryt","kudlanka","kufr","kujnost","kukla","kulajda","kulich","kulka","kulomet","kultura","kuna","kupodivu","kurt","kurzor","kutil","kvalita","kvasinka","kvestor","kynolog","kyselina","kytara","kytice","kytka","kytovec","kyvadlo","labrador","lachtan","ladnost","laik","lakomec","lamela","lampa","lanovka","lasice","laso","lastura","latinka","lavina","lebka","leckdy","leden","lednice","ledovka","ledvina","legenda","legie","legrace","lehce","lehkost","lehnout","lektvar","lenochod","lentilka","lepenka","lepidlo","letadlo","letec","letmo","letokruh","levhart","levitace","levobok","libra","lichotka","lidojed","lidskost","lihovina","lijavec","lilek","limetka","linie","linka","linoleum","listopad","litina","litovat","lobista","lodivod","logika","logoped","lokalita","loket","lomcovat","lopata","lopuch","lord","losos","lotr","loudal","louh","louka","louskat","lovec","lstivost","lucerna","lucifer","lump","lusk","lustrace","lvice","lyra","lyrika","lysina","madam","madlo","magistr","mahagon","majetek","majitel","majorita","makak","makovice","makrela","malba","malina","malovat","malvice","maminka","mandle","manko","marnost","masakr","maskot","masopust","matice","matrika","maturita","mazanec","mazivo","mazlit","mazurka","mdloba","mechanik","meditace","medovina","melasa","meloun","mentolka","metla","metoda","metr","mezera","migrace","mihnout","mihule","mikina","mikrofon","milenec","milimetr","milost","mimika","mincovna","minibar","minomet","minulost","miska","mistr","mixovat","mladost","mlha","mlhovina","mlok","mlsat","mluvit","mnich","mnohem","mobil","mocnost","modelka","modlitba","mohyla","mokro","molekula","momentka","monarcha","monokl","monstrum","montovat","monzun","mosaz","moskyt","most","motivace","motorka","motyka","moucha","moudrost","mozaika","mozek","mozol","mramor","mravenec","mrkev","mrtvola","mrzet","mrzutost","mstitel","mudrc","muflon","mulat","mumie","munice","muset","mutace","muzeum","muzikant","myslivec","mzda","nabourat","nachytat","nadace","nadbytek","nadhoz","nadobro","nadpis","nahlas","nahnat","nahodile","nahradit","naivita","najednou","najisto","najmout","naklonit","nakonec","nakrmit","nalevo","namazat","namluvit","nanometr","naoko","naopak","naostro","napadat","napevno","naplnit","napnout","naposled","naprosto","narodit","naruby","narychlo","nasadit","nasekat","naslepo","nastat","natolik","navenek","navrch","navzdory","nazvat","nebe","nechat","necky","nedaleko","nedbat","neduh","negace","nehet","nehoda","nejen","nejprve","neklid","nelibost","nemilost","nemoc","neochota","neonka","nepokoj","nerost","nerv","nesmysl","nesoulad","netvor","neuron","nevina","nezvykle","nicota","nijak","nikam","nikdy","nikl","nikterak","nitro","nocleh","nohavice","nominace","nora","norek","nositel","nosnost","nouze","noviny","novota","nozdra","nuda","nudle","nuget","nutit","nutnost","nutrie","nymfa","obal","obarvit","obava","obdiv","obec","obehnat","obejmout","obezita","obhajoba","obilnice","objasnit","objekt","obklopit","oblast","oblek","obliba","obloha","obluda","obnos","obohatit","obojek","obout","obrazec","obrna","obruba","obrys","obsah","obsluha","obstarat","obuv","obvaz","obvinit","obvod","obvykle","obyvatel","obzor","ocas","ocel","ocenit","ochladit","ochota","ochrana","ocitnout","odboj","odbyt","odchod","odcizit","odebrat","odeslat","odevzdat","odezva","odhadce","odhodit","odjet","odjinud","odkaz","odkoupit","odliv","odluka","odmlka","odolnost","odpad","odpis","odplout","odpor","odpustit","odpykat","odrazka","odsoudit","odstup","odsun","odtok","odtud","odvaha","odveta","odvolat","odvracet","odznak","ofina","ofsajd","ohlas","ohnisko","ohrada","ohrozit","ohryzek","okap","okenice","oklika","okno","okouzlit","okovy","okrasa","okres","okrsek","okruh","okupant","okurka","okusit","olejnina","olizovat","omak","omeleta","omezit","omladina","omlouvat","omluva","omyl","onehdy","opakovat","opasek","operace","opice","opilost","opisovat","opora","opozice","opravdu","oproti","orbital","orchestr","orgie","orlice","orloj","ortel","osada","oschnout","osika","osivo","oslava","oslepit","oslnit","oslovit","osnova","osoba","osolit","ospalec","osten","ostraha","ostuda","ostych","osvojit","oteplit","otisk","otop","otrhat","otrlost","otrok","otruby","otvor","ovanout","ovar","oves","ovlivnit","ovoce","oxid","ozdoba","pachatel","pacient","padouch","pahorek","pakt","palanda","palec","palivo","paluba","pamflet","pamlsek","panenka","panika","panna","panovat","panstvo","pantofle","paprika","parketa","parodie","parta","paruka","paryba","paseka","pasivita","pastelka","patent","patrona","pavouk","pazneht","pazourek","pecka","pedagog","pejsek","peklo","peloton","penalta","pendrek","penze","periskop","pero","pestrost","petarda","petice","petrolej","pevnina","pexeso","pianista","piha","pijavice","pikle","piknik","pilina","pilnost","pilulka","pinzeta","pipeta","pisatel","pistole","pitevna","pivnice","pivovar","placenta","plakat","plamen","planeta","plastika","platit","plavidlo","plaz","plech","plemeno","plenta","ples","pletivo","plevel","plivat","plnit","plno","plocha","plodina","plomba","plout","pluk","plyn","pobavit","pobyt","pochod","pocit","poctivec","podat","podcenit","podepsat","podhled","podivit","podklad","podmanit","podnik","podoba","podpora","podraz","podstata","podvod","podzim","poezie","pohanka","pohnutka","pohovor","pohroma","pohyb","pointa","pojistka","pojmout","pokazit","pokles","pokoj","pokrok","pokuta","pokyn","poledne","polibek","polknout","poloha","polynom","pomalu","pominout","pomlka","pomoc","pomsta","pomyslet","ponechat","ponorka","ponurost","popadat","popel","popisek","poplach","poprosit","popsat","popud","poradce","porce","porod","porucha","poryv","posadit","posed","posila","poskok","poslanec","posoudit","pospolu","postava","posudek","posyp","potah","potkan","potlesk","potomek","potrava","potupa","potvora","poukaz","pouto","pouzdro","povaha","povidla","povlak","povoz","povrch","povstat","povyk","povzdech","pozdrav","pozemek","poznatek","pozor","pozvat","pracovat","prahory","praktika","prales","praotec","praporek","prase","pravda","princip","prkno","probudit","procento","prodej","profese","prohra","projekt","prolomit","promile","pronikat","propad","prorok","prosba","proton","proutek","provaz","prskavka","prsten","prudkost","prut","prvek","prvohory","psanec","psovod","pstruh","ptactvo","puberta","puch","pudl","pukavec","puklina","pukrle","pult","pumpa","punc","pupen","pusa","pusinka","pustina","putovat","putyka","pyramida","pysk","pytel","racek","rachot","radiace","radnice","radon","raft","ragby","raketa","rakovina","rameno","rampouch","rande","rarach","rarita","rasovna","rastr","ratolest","razance","razidlo","reagovat","reakce","recept","redaktor","referent","reflex","rejnok","reklama","rekord","rekrut","rektor","reputace","revize","revma","revolver","rezerva","riskovat","riziko","robotika","rodokmen","rohovka","rokle","rokoko","romaneto","ropovod","ropucha","rorejs","rosol","rostlina","rotmistr","rotoped","rotunda","roubenka","roucho","roup","roura","rovina","rovnice","rozbor","rozchod","rozdat","rozeznat","rozhodce","rozinka","rozjezd","rozkaz","rozloha","rozmar","rozpad","rozruch","rozsah","roztok","rozum","rozvod","rubrika","ruchadlo","rukavice","rukopis","ryba","rybolov","rychlost","rydlo","rypadlo","rytina","ryzost","sadista","sahat","sako","samec","samizdat","samota","sanitka","sardinka","sasanka","satelit","sazba","sazenice","sbor","schovat","sebranka","secese","sedadlo","sediment","sedlo","sehnat","sejmout","sekera","sekta","sekunda","sekvoje","semeno","seno","servis","sesadit","seshora","seskok","seslat","sestra","sesuv","sesypat","setba","setina","setkat","setnout","setrvat","sever","seznam","shoda","shrnout","sifon","silnice","sirka","sirotek","sirup","situace","skafandr","skalisko","skanzen","skaut","skeptik","skica","skladba","sklenice","sklo","skluz","skoba","skokan","skoro","skripta","skrz","skupina","skvost","skvrna","slabika","sladidlo","slanina","slast","slavnost","sledovat","slepec","sleva","slezina","slib","slina","sliznice","slon","sloupek","slovo","sluch","sluha","slunce","slupka","slza","smaragd","smetana","smilstvo","smlouva","smog","smrad","smrk","smrtka","smutek","smysl","snad","snaha","snob","sobota","socha","sodovka","sokol","sopka","sotva","souboj","soucit","soudce","souhlas","soulad","soumrak","souprava","soused","soutok","souviset","spalovna","spasitel","spis","splav","spodek","spojenec","spolu","sponzor","spornost","spousta","sprcha","spustit","sranda","sraz","srdce","srna","srnec","srovnat","srpen","srst","srub","stanice","starosta","statika","stavba","stehno","stezka","stodola","stolek","stopa","storno","stoupat","strach","stres","strhnout","strom","struna","studna","stupnice","stvol","styk","subjekt","subtropy","suchar","sudost","sukno","sundat","sunout","surikata","surovina","svah","svalstvo","svetr","svatba","svazek","svisle","svitek","svoboda","svodidlo","svorka","svrab","sykavka","sykot","synek","synovec","sypat","sypkost","syrovost","sysel","sytost","tabletka","tabule","tahoun","tajemno","tajfun","tajga","tajit","tajnost","taktika","tamhle","tampon","tancovat","tanec","tanker","tapeta","tavenina","tazatel","technika","tehdy","tekutina","telefon","temnota","tendence","tenista","tenor","teplota","tepna","teprve","terapie","termoska","textil","ticho","tiskopis","titulek","tkadlec","tkanina","tlapka","tleskat","tlukot","tlupa","tmel","toaleta","topinka","topol","torzo","touha","toulec","tradice","traktor","tramp","trasa","traverza","trefit","trest","trezor","trhavina","trhlina","trochu","trojice","troska","trouba","trpce","trpitel","trpkost","trubec","truchlit","truhlice","trus","trvat","tudy","tuhnout","tuhost","tundra","turista","turnaj","tuzemsko","tvaroh","tvorba","tvrdost","tvrz","tygr","tykev","ubohost","uboze","ubrat","ubrousek","ubrus","ubytovna","ucho","uctivost","udivit","uhradit","ujednat","ujistit","ujmout","ukazatel","uklidnit","uklonit","ukotvit","ukrojit","ulice","ulita","ulovit","umyvadlo","unavit","uniforma","uniknout","upadnout","uplatnit","uplynout","upoutat","upravit","uran","urazit","usednout","usilovat","usmrtit","usnadnit","usnout","usoudit","ustlat","ustrnout","utahovat","utkat","utlumit","utonout","utopenec","utrousit","uvalit","uvolnit","uvozovka","uzdravit","uzel","uzenina","uzlina","uznat","vagon","valcha","valoun","vana","vandal","vanilka","varan","varhany","varovat","vcelku","vchod","vdova","vedro","vegetace","vejce","velbloud","veletrh","velitel","velmoc","velryba","venkov","veranda","verze","veselka","veskrze","vesnice","vespodu","vesta","veterina","veverka","vibrace","vichr","videohra","vidina","vidle","vila","vinice","viset","vitalita","vize","vizitka","vjezd","vklad","vkus","vlajka","vlak","vlasec","vlevo","vlhkost","vliv","vlnovka","vloupat","vnucovat","vnuk","voda","vodivost","vodoznak","vodstvo","vojensky","vojna","vojsko","volant","volba","volit","volno","voskovka","vozidlo","vozovna","vpravo","vrabec","vracet","vrah","vrata","vrba","vrcholek","vrhat","vrstva","vrtule","vsadit","vstoupit","vstup","vtip","vybavit","vybrat","vychovat","vydat","vydra","vyfotit","vyhledat","vyhnout","vyhodit","vyhradit","vyhubit","vyjasnit","vyjet","vyjmout","vyklopit","vykonat","vylekat","vymazat","vymezit","vymizet","vymyslet","vynechat","vynikat","vynutit","vypadat","vyplatit","vypravit","vypustit","vyrazit","vyrovnat","vyrvat","vyslovit","vysoko","vystavit","vysunout","vysypat","vytasit","vytesat","vytratit","vyvinout","vyvolat","vyvrhel","vyzdobit","vyznat","vzadu","vzbudit","vzchopit","vzdor","vzduch","vzdychat","vzestup","vzhledem","vzkaz","vzlykat","vznik","vzorek","vzpoura","vztah","vztek","xylofon","zabrat","zabydlet","zachovat","zadarmo","zadusit","zafoukat","zahltit","zahodit","zahrada","zahynout","zajatec","zajet","zajistit","zaklepat","zakoupit","zalepit","zamezit","zamotat","zamyslet","zanechat","zanikat","zaplatit","zapojit","zapsat","zarazit","zastavit","zasunout","zatajit","zatemnit","zatknout","zaujmout","zavalit","zavelet","zavinit","zavolat","zavrtat","zazvonit","zbavit","zbrusu","zbudovat","zbytek","zdaleka","zdarma","zdatnost","zdivo","zdobit","zdroj","zdvih","zdymadlo","zelenina","zeman","zemina","zeptat","zezadu","zezdola","zhatit","zhltnout","zhluboka","zhotovit","zhruba","zima","zimnice","zjemnit","zklamat","zkoumat","zkratka","zkumavka","zlato","zlehka","zloba","zlom","zlost","zlozvyk","zmapovat","zmar","zmatek","zmije","zmizet","zmocnit","zmodrat","zmrzlina","zmutovat","znak","znalost","znamenat","znovu","zobrazit","zotavit","zoubek","zoufale","zplodit","zpomalit","zprava","zprostit","zprudka","zprvu","zrada","zranit","zrcadlo","zrnitost","zrno","zrovna","zrychlit","zrzavost","zticha","ztratit","zubovina","zubr","zvednout","zvenku","zvesela","zvon","zvrat","zvukovod","zvyk"]')},24573:function(eb){"use strict";eb.exports=JSON.parse('["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"]')},11848:function(eb){"use strict";eb.exports=JSON.parse('["abaisser","abandon","abdiquer","abeille","abolir","aborder","aboutir","aboyer","abrasif","abreuver","abriter","abroger","abrupt","absence","absolu","absurde","abusif","abyssal","académie","acajou","acarien","accabler","accepter","acclamer","accolade","accroche","accuser","acerbe","achat","acheter","aciduler","acier","acompte","acquérir","acronyme","acteur","actif","actuel","adepte","adéquat","adhésif","adjectif","adjuger","admettre","admirer","adopter","adorer","adoucir","adresse","adroit","adulte","adverbe","aérer","aéronef","affaire","affecter","affiche","affreux","affubler","agacer","agencer","agile","agiter","agrafer","agréable","agrume","aider","aiguille","ailier","aimable","aisance","ajouter","ajuster","alarmer","alchimie","alerte","algèbre","algue","aliéner","aliment","alléger","alliage","allouer","allumer","alourdir","alpaga","altesse","alvéole","amateur","ambigu","ambre","aménager","amertume","amidon","amiral","amorcer","amour","amovible","amphibie","ampleur","amusant","analyse","anaphore","anarchie","anatomie","ancien","anéantir","angle","angoisse","anguleux","animal","annexer","annonce","annuel","anodin","anomalie","anonyme","anormal","antenne","antidote","anxieux","apaiser","apéritif","aplanir","apologie","appareil","appeler","apporter","appuyer","aquarium","aqueduc","arbitre","arbuste","ardeur","ardoise","argent","arlequin","armature","armement","armoire","armure","arpenter","arracher","arriver","arroser","arsenic","artériel","article","aspect","asphalte","aspirer","assaut","asservir","assiette","associer","assurer","asticot","astre","astuce","atelier","atome","atrium","atroce","attaque","attentif","attirer","attraper","aubaine","auberge","audace","audible","augurer","aurore","automne","autruche","avaler","avancer","avarice","avenir","averse","aveugle","aviateur","avide","avion","aviser","avoine","avouer","avril","axial","axiome","badge","bafouer","bagage","baguette","baignade","balancer","balcon","baleine","balisage","bambin","bancaire","bandage","banlieue","bannière","banquier","barbier","baril","baron","barque","barrage","bassin","bastion","bataille","bateau","batterie","baudrier","bavarder","belette","bélier","belote","bénéfice","berceau","berger","berline","bermuda","besace","besogne","bétail","beurre","biberon","bicycle","bidule","bijou","bilan","bilingue","billard","binaire","biologie","biopsie","biotype","biscuit","bison","bistouri","bitume","bizarre","blafard","blague","blanchir","blessant","blinder","blond","bloquer","blouson","bobard","bobine","boire","boiser","bolide","bonbon","bondir","bonheur","bonifier","bonus","bordure","borne","botte","boucle","boueux","bougie","boulon","bouquin","bourse","boussole","boutique","boxeur","branche","brasier","brave","brebis","brèche","breuvage","bricoler","brigade","brillant","brioche","brique","brochure","broder","bronzer","brousse","broyeur","brume","brusque","brutal","bruyant","buffle","buisson","bulletin","bureau","burin","bustier","butiner","butoir","buvable","buvette","cabanon","cabine","cachette","cadeau","cadre","caféine","caillou","caisson","calculer","calepin","calibre","calmer","calomnie","calvaire","camarade","caméra","camion","campagne","canal","caneton","canon","cantine","canular","capable","caporal","caprice","capsule","capter","capuche","carabine","carbone","caresser","caribou","carnage","carotte","carreau","carton","cascade","casier","casque","cassure","causer","caution","cavalier","caverne","caviar","cédille","ceinture","céleste","cellule","cendrier","censurer","central","cercle","cérébral","cerise","cerner","cerveau","cesser","chagrin","chaise","chaleur","chambre","chance","chapitre","charbon","chasseur","chaton","chausson","chavirer","chemise","chenille","chéquier","chercher","cheval","chien","chiffre","chignon","chimère","chiot","chlorure","chocolat","choisir","chose","chouette","chrome","chute","cigare","cigogne","cimenter","cinéma","cintrer","circuler","cirer","cirque","citerne","citoyen","citron","civil","clairon","clameur","claquer","classe","clavier","client","cligner","climat","clivage","cloche","clonage","cloporte","cobalt","cobra","cocasse","cocotier","coder","codifier","coffre","cogner","cohésion","coiffer","coincer","colère","colibri","colline","colmater","colonel","combat","comédie","commande","compact","concert","conduire","confier","congeler","connoter","consonne","contact","convexe","copain","copie","corail","corbeau","cordage","corniche","corpus","correct","cortège","cosmique","costume","coton","coude","coupure","courage","couteau","couvrir","coyote","crabe","crainte","cravate","crayon","créature","créditer","crémeux","creuser","crevette","cribler","crier","cristal","critère","croire","croquer","crotale","crucial","cruel","crypter","cubique","cueillir","cuillère","cuisine","cuivre","culminer","cultiver","cumuler","cupide","curatif","curseur","cyanure","cycle","cylindre","cynique","daigner","damier","danger","danseur","dauphin","débattre","débiter","déborder","débrider","débutant","décaler","décembre","déchirer","décider","déclarer","décorer","décrire","décupler","dédale","déductif","déesse","défensif","défiler","défrayer","dégager","dégivrer","déglutir","dégrafer","déjeuner","délice","déloger","demander","demeurer","démolir","dénicher","dénouer","dentelle","dénuder","départ","dépenser","déphaser","déplacer","déposer","déranger","dérober","désastre","descente","désert","désigner","désobéir","dessiner","destrier","détacher","détester","détourer","détresse","devancer","devenir","deviner","devoir","diable","dialogue","diamant","dicter","différer","digérer","digital","digne","diluer","dimanche","diminuer","dioxyde","directif","diriger","discuter","disposer","dissiper","distance","divertir","diviser","docile","docteur","dogme","doigt","domaine","domicile","dompter","donateur","donjon","donner","dopamine","dortoir","dorure","dosage","doseur","dossier","dotation","douanier","double","douceur","douter","doyen","dragon","draper","dresser","dribbler","droiture","duperie","duplexe","durable","durcir","dynastie","éblouir","écarter","écharpe","échelle","éclairer","éclipse","éclore","écluse","école","économie","écorce","écouter","écraser","écrémer","écrivain","écrou","écume","écureuil","édifier","éduquer","effacer","effectif","effigie","effort","effrayer","effusion","égaliser","égarer","éjecter","élaborer","élargir","électron","élégant","éléphant","élève","éligible","élitisme","éloge","élucider","éluder","emballer","embellir","embryon","émeraude","émission","emmener","émotion","émouvoir","empereur","employer","emporter","emprise","émulsion","encadrer","enchère","enclave","encoche","endiguer","endosser","endroit","enduire","énergie","enfance","enfermer","enfouir","engager","engin","englober","énigme","enjamber","enjeu","enlever","ennemi","ennuyeux","enrichir","enrobage","enseigne","entasser","entendre","entier","entourer","entraver","énumérer","envahir","enviable","envoyer","enzyme","éolien","épaissir","épargne","épatant","épaule","épicerie","épidémie","épier","épilogue","épine","épisode","épitaphe","époque","épreuve","éprouver","épuisant","équerre","équipe","ériger","érosion","erreur","éruption","escalier","espadon","espèce","espiègle","espoir","esprit","esquiver","essayer","essence","essieu","essorer","estime","estomac","estrade","étagère","étaler","étanche","étatique","éteindre","étendoir","éternel","éthanol","éthique","ethnie","étirer","étoffer","étoile","étonnant","étourdir","étrange","étroit","étude","euphorie","évaluer","évasion","éventail","évidence","éviter","évolutif","évoquer","exact","exagérer","exaucer","exceller","excitant","exclusif","excuse","exécuter","exemple","exercer","exhaler","exhorter","exigence","exiler","exister","exotique","expédier","explorer","exposer","exprimer","exquis","extensif","extraire","exulter","fable","fabuleux","facette","facile","facture","faiblir","falaise","fameux","famille","farceur","farfelu","farine","farouche","fasciner","fatal","fatigue","faucon","fautif","faveur","favori","fébrile","féconder","fédérer","félin","femme","fémur","fendoir","féodal","fermer","féroce","ferveur","festival","feuille","feutre","février","fiasco","ficeler","fictif","fidèle","figure","filature","filetage","filière","filleul","filmer","filou","filtrer","financer","finir","fiole","firme","fissure","fixer","flairer","flamme","flasque","flatteur","fléau","flèche","fleur","flexion","flocon","flore","fluctuer","fluide","fluvial","folie","fonderie","fongible","fontaine","forcer","forgeron","formuler","fortune","fossile","foudre","fougère","fouiller","foulure","fourmi","fragile","fraise","franchir","frapper","frayeur","frégate","freiner","frelon","frémir","frénésie","frère","friable","friction","frisson","frivole","froid","fromage","frontal","frotter","fruit","fugitif","fuite","fureur","furieux","furtif","fusion","futur","gagner","galaxie","galerie","gambader","garantir","gardien","garnir","garrigue","gazelle","gazon","géant","gélatine","gélule","gendarme","général","génie","genou","gentil","géologie","géomètre","géranium","germe","gestuel","geyser","gibier","gicler","girafe","givre","glace","glaive","glisser","globe","gloire","glorieux","golfeur","gomme","gonfler","gorge","gorille","goudron","gouffre","goulot","goupille","gourmand","goutte","graduel","graffiti","graine","grand","grappin","gratuit","gravir","grenat","griffure","griller","grimper","grogner","gronder","grotte","groupe","gruger","grutier","gruyère","guépard","guerrier","guide","guimauve","guitare","gustatif","gymnaste","gyrostat","habitude","hachoir","halte","hameau","hangar","hanneton","haricot","harmonie","harpon","hasard","hélium","hématome","herbe","hérisson","hermine","héron","hésiter","heureux","hiberner","hibou","hilarant","histoire","hiver","homard","hommage","homogène","honneur","honorer","honteux","horde","horizon","horloge","hormone","horrible","houleux","housse","hublot","huileux","humain","humble","humide","humour","hurler","hydromel","hygiène","hymne","hypnose","idylle","ignorer","iguane","illicite","illusion","image","imbiber","imiter","immense","immobile","immuable","impact","impérial","implorer","imposer","imprimer","imputer","incarner","incendie","incident","incliner","incolore","indexer","indice","inductif","inédit","ineptie","inexact","infini","infliger","informer","infusion","ingérer","inhaler","inhiber","injecter","injure","innocent","inoculer","inonder","inscrire","insecte","insigne","insolite","inspirer","instinct","insulter","intact","intense","intime","intrigue","intuitif","inutile","invasion","inventer","inviter","invoquer","ironique","irradier","irréel","irriter","isoler","ivoire","ivresse","jaguar","jaillir","jambe","janvier","jardin","jauger","jaune","javelot","jetable","jeton","jeudi","jeunesse","joindre","joncher","jongler","joueur","jouissif","journal","jovial","joyau","joyeux","jubiler","jugement","junior","jupon","juriste","justice","juteux","juvénile","kayak","kimono","kiosque","label","labial","labourer","lacérer","lactose","lagune","laine","laisser","laitier","lambeau","lamelle","lampe","lanceur","langage","lanterne","lapin","largeur","larme","laurier","lavabo","lavoir","lecture","légal","léger","légume","lessive","lettre","levier","lexique","lézard","liasse","libérer","libre","licence","licorne","liège","lièvre","ligature","ligoter","ligue","limer","limite","limonade","limpide","linéaire","lingot","lionceau","liquide","lisière","lister","lithium","litige","littoral","livreur","logique","lointain","loisir","lombric","loterie","louer","lourd","loutre","louve","loyal","lubie","lucide","lucratif","lueur","lugubre","luisant","lumière","lunaire","lundi","luron","lutter","luxueux","machine","magasin","magenta","magique","maigre","maillon","maintien","mairie","maison","majorer","malaxer","maléfice","malheur","malice","mallette","mammouth","mandater","maniable","manquant","manteau","manuel","marathon","marbre","marchand","mardi","maritime","marqueur","marron","marteler","mascotte","massif","matériel","matière","matraque","maudire","maussade","mauve","maximal","méchant","méconnu","médaille","médecin","méditer","méduse","meilleur","mélange","mélodie","membre","mémoire","menacer","mener","menhir","mensonge","mentor","mercredi","mérite","merle","messager","mesure","métal","météore","méthode","métier","meuble","miauler","microbe","miette","mignon","migrer","milieu","million","mimique","mince","minéral","minimal","minorer","minute","miracle","miroiter","missile","mixte","mobile","moderne","moelleux","mondial","moniteur","monnaie","monotone","monstre","montagne","monument","moqueur","morceau","morsure","mortier","moteur","motif","mouche","moufle","moulin","mousson","mouton","mouvant","multiple","munition","muraille","murène","murmure","muscle","muséum","musicien","mutation","muter","mutuel","myriade","myrtille","mystère","mythique","nageur","nappe","narquois","narrer","natation","nation","nature","naufrage","nautique","navire","nébuleux","nectar","néfaste","négation","négliger","négocier","neige","nerveux","nettoyer","neurone","neutron","neveu","niche","nickel","nitrate","niveau","noble","nocif","nocturne","noirceur","noisette","nomade","nombreux","nommer","normatif","notable","notifier","notoire","nourrir","nouveau","novateur","novembre","novice","nuage","nuancer","nuire","nuisible","numéro","nuptial","nuque","nutritif","obéir","objectif","obliger","obscur","observer","obstacle","obtenir","obturer","occasion","occuper","océan","octobre","octroyer","octupler","oculaire","odeur","odorant","offenser","officier","offrir","ogive","oiseau","oisillon","olfactif","olivier","ombrage","omettre","onctueux","onduler","onéreux","onirique","opale","opaque","opérer","opinion","opportun","opprimer","opter","optique","orageux","orange","orbite","ordonner","oreille","organe","orgueil","orifice","ornement","orque","ortie","osciller","osmose","ossature","otarie","ouragan","ourson","outil","outrager","ouvrage","ovation","oxyde","oxygène","ozone","paisible","palace","palmarès","palourde","palper","panache","panda","pangolin","paniquer","panneau","panorama","pantalon","papaye","papier","papoter","papyrus","paradoxe","parcelle","paresse","parfumer","parler","parole","parrain","parsemer","partager","parure","parvenir","passion","pastèque","paternel","patience","patron","pavillon","pavoiser","payer","paysage","peigne","peintre","pelage","pélican","pelle","pelouse","peluche","pendule","pénétrer","pénible","pensif","pénurie","pépite","péplum","perdrix","perforer","période","permuter","perplexe","persil","perte","peser","pétale","petit","pétrir","peuple","pharaon","phobie","phoque","photon","phrase","physique","piano","pictural","pièce","pierre","pieuvre","pilote","pinceau","pipette","piquer","pirogue","piscine","piston","pivoter","pixel","pizza","placard","plafond","plaisir","planer","plaque","plastron","plateau","pleurer","plexus","pliage","plomb","plonger","pluie","plumage","pochette","poésie","poète","pointe","poirier","poisson","poivre","polaire","policier","pollen","polygone","pommade","pompier","ponctuel","pondérer","poney","portique","position","posséder","posture","potager","poteau","potion","pouce","poulain","poumon","pourpre","poussin","pouvoir","prairie","pratique","précieux","prédire","préfixe","prélude","prénom","présence","prétexte","prévoir","primitif","prince","prison","priver","problème","procéder","prodige","profond","progrès","proie","projeter","prologue","promener","propre","prospère","protéger","prouesse","proverbe","prudence","pruneau","psychose","public","puceron","puiser","pulpe","pulsar","punaise","punitif","pupitre","purifier","puzzle","pyramide","quasar","querelle","question","quiétude","quitter","quotient","racine","raconter","radieux","ragondin","raideur","raisin","ralentir","rallonge","ramasser","rapide","rasage","ratisser","ravager","ravin","rayonner","réactif","réagir","réaliser","réanimer","recevoir","réciter","réclamer","récolter","recruter","reculer","recycler","rédiger","redouter","refaire","réflexe","réformer","refrain","refuge","régalien","région","réglage","régulier","réitérer","rejeter","rejouer","relatif","relever","relief","remarque","remède","remise","remonter","remplir","remuer","renard","renfort","renifler","renoncer","rentrer","renvoi","replier","reporter","reprise","reptile","requin","réserve","résineux","résoudre","respect","rester","résultat","rétablir","retenir","réticule","retomber","retracer","réunion","réussir","revanche","revivre","révolte","révulsif","richesse","rideau","rieur","rigide","rigoler","rincer","riposter","risible","risque","rituel","rival","rivière","rocheux","romance","rompre","ronce","rondin","roseau","rosier","rotatif","rotor","rotule","rouge","rouille","rouleau","routine","royaume","ruban","rubis","ruche","ruelle","rugueux","ruiner","ruisseau","ruser","rustique","rythme","sabler","saboter","sabre","sacoche","safari","sagesse","saisir","salade","salive","salon","saluer","samedi","sanction","sanglier","sarcasme","sardine","saturer","saugrenu","saumon","sauter","sauvage","savant","savonner","scalpel","scandale","scélérat","scénario","sceptre","schéma","science","scinder","score","scrutin","sculpter","séance","sécable","sécher","secouer","sécréter","sédatif","séduire","seigneur","séjour","sélectif","semaine","sembler","semence","séminal","sénateur","sensible","sentence","séparer","séquence","serein","sergent","sérieux","serrure","sérum","service","sésame","sévir","sevrage","sextuple","sidéral","siècle","siéger","siffler","sigle","signal","silence","silicium","simple","sincère","sinistre","siphon","sirop","sismique","situer","skier","social","socle","sodium","soigneux","soldat","soleil","solitude","soluble","sombre","sommeil","somnoler","sonde","songeur","sonnette","sonore","sorcier","sortir","sosie","sottise","soucieux","soudure","souffle","soulever","soupape","source","soutirer","souvenir","spacieux","spatial","spécial","sphère","spiral","stable","station","sternum","stimulus","stipuler","strict","studieux","stupeur","styliste","sublime","substrat","subtil","subvenir","succès","sucre","suffixe","suggérer","suiveur","sulfate","superbe","supplier","surface","suricate","surmener","surprise","sursaut","survie","suspect","syllabe","symbole","symétrie","synapse","syntaxe","système","tabac","tablier","tactile","tailler","talent","talisman","talonner","tambour","tamiser","tangible","tapis","taquiner","tarder","tarif","tartine","tasse","tatami","tatouage","taupe","taureau","taxer","témoin","temporel","tenaille","tendre","teneur","tenir","tension","terminer","terne","terrible","tétine","texte","thème","théorie","thérapie","thorax","tibia","tiède","timide","tirelire","tiroir","tissu","titane","titre","tituber","toboggan","tolérant","tomate","tonique","tonneau","toponyme","torche","tordre","tornade","torpille","torrent","torse","tortue","totem","toucher","tournage","tousser","toxine","traction","trafic","tragique","trahir","train","trancher","travail","trèfle","tremper","trésor","treuil","triage","tribunal","tricoter","trilogie","triomphe","tripler","triturer","trivial","trombone","tronc","tropical","troupeau","tuile","tulipe","tumulte","tunnel","turbine","tuteur","tutoyer","tuyau","tympan","typhon","typique","tyran","ubuesque","ultime","ultrason","unanime","unifier","union","unique","unitaire","univers","uranium","urbain","urticant","usage","usine","usuel","usure","utile","utopie","vacarme","vaccin","vagabond","vague","vaillant","vaincre","vaisseau","valable","valise","vallon","valve","vampire","vanille","vapeur","varier","vaseux","vassal","vaste","vecteur","vedette","végétal","véhicule","veinard","véloce","vendredi","vénérer","venger","venimeux","ventouse","verdure","vérin","vernir","verrou","verser","vertu","veston","vétéran","vétuste","vexant","vexer","viaduc","viande","victoire","vidange","vidéo","vignette","vigueur","vilain","village","vinaigre","violon","vipère","virement","virtuose","virus","visage","viseur","vision","visqueux","visuel","vital","vitesse","viticole","vitrine","vivace","vivipare","vocation","voguer","voile","voisin","voiture","volaille","volcan","voltiger","volume","vorace","vortex","voter","vouloir","voyage","voyelle","wagon","xénon","yacht","zèbre","zénith","zeste","zoologie"]')},72841:function(eb){"use strict";eb.exports=JSON.parse('["abaco","abbaglio","abbinato","abete","abisso","abolire","abrasivo","abrogato","accadere","accenno","accusato","acetone","achille","acido","acqua","acre","acrilico","acrobata","acuto","adagio","addebito","addome","adeguato","aderire","adipe","adottare","adulare","affabile","affetto","affisso","affranto","aforisma","afoso","africano","agave","agente","agevole","aggancio","agire","agitare","agonismo","agricolo","agrumeto","aguzzo","alabarda","alato","albatro","alberato","albo","albume","alce","alcolico","alettone","alfa","algebra","aliante","alibi","alimento","allagato","allegro","allievo","allodola","allusivo","almeno","alogeno","alpaca","alpestre","altalena","alterno","alticcio","altrove","alunno","alveolo","alzare","amalgama","amanita","amarena","ambito","ambrato","ameba","america","ametista","amico","ammasso","ammenda","ammirare","ammonito","amore","ampio","ampliare","amuleto","anacardo","anagrafe","analista","anarchia","anatra","anca","ancella","ancora","andare","andrea","anello","angelo","angolare","angusto","anima","annegare","annidato","anno","annuncio","anonimo","anticipo","anzi","apatico","apertura","apode","apparire","appetito","appoggio","approdo","appunto","aprile","arabica","arachide","aragosta","araldica","arancio","aratura","arazzo","arbitro","archivio","ardito","arenile","argento","argine","arguto","aria","armonia","arnese","arredato","arringa","arrosto","arsenico","arso","artefice","arzillo","asciutto","ascolto","asepsi","asettico","asfalto","asino","asola","aspirato","aspro","assaggio","asse","assoluto","assurdo","asta","astenuto","astice","astratto","atavico","ateismo","atomico","atono","attesa","attivare","attorno","attrito","attuale","ausilio","austria","autista","autonomo","autunno","avanzato","avere","avvenire","avviso","avvolgere","azione","azoto","azzimo","azzurro","babele","baccano","bacino","baco","badessa","badilata","bagnato","baita","balcone","baldo","balena","ballata","balzano","bambino","bandire","baraonda","barbaro","barca","baritono","barlume","barocco","basilico","basso","batosta","battuto","baule","bava","bavosa","becco","beffa","belgio","belva","benda","benevole","benigno","benzina","bere","berlina","beta","bibita","bici","bidone","bifido","biga","bilancia","bimbo","binocolo","biologo","bipede","bipolare","birbante","birra","biscotto","bisesto","bisnonno","bisonte","bisturi","bizzarro","blando","blatta","bollito","bonifico","bordo","bosco","botanico","bottino","bozzolo","braccio","bradipo","brama","branca","bravura","bretella","brevetto","brezza","briglia","brillante","brindare","broccolo","brodo","bronzina","brullo","bruno","bubbone","buca","budino","buffone","buio","bulbo","buono","burlone","burrasca","bussola","busta","cadetto","caduco","calamaro","calcolo","calesse","calibro","calmo","caloria","cambusa","camerata","camicia","cammino","camola","campale","canapa","candela","cane","canino","canotto","cantina","capace","capello","capitolo","capogiro","cappero","capra","capsula","carapace","carcassa","cardo","carisma","carovana","carretto","cartolina","casaccio","cascata","caserma","caso","cassone","castello","casuale","catasta","catena","catrame","cauto","cavillo","cedibile","cedrata","cefalo","celebre","cellulare","cena","cenone","centesimo","ceramica","cercare","certo","cerume","cervello","cesoia","cespo","ceto","chela","chiaro","chicca","chiedere","chimera","china","chirurgo","chitarra","ciao","ciclismo","cifrare","cigno","cilindro","ciottolo","circa","cirrosi","citrico","cittadino","ciuffo","civetta","civile","classico","clinica","cloro","cocco","codardo","codice","coerente","cognome","collare","colmato","colore","colposo","coltivato","colza","coma","cometa","commando","comodo","computer","comune","conciso","condurre","conferma","congelare","coniuge","connesso","conoscere","consumo","continuo","convegno","coperto","copione","coppia","copricapo","corazza","cordata","coricato","cornice","corolla","corpo","corredo","corsia","cortese","cosmico","costante","cottura","covato","cratere","cravatta","creato","credere","cremoso","crescita","creta","criceto","crinale","crisi","critico","croce","cronaca","crostata","cruciale","crusca","cucire","cuculo","cugino","cullato","cupola","curatore","cursore","curvo","cuscino","custode","dado","daino","dalmata","damerino","daniela","dannoso","danzare","datato","davanti","davvero","debutto","decennio","deciso","declino","decollo","decreto","dedicato","definito","deforme","degno","delegare","delfino","delirio","delta","demenza","denotato","dentro","deposito","derapata","derivare","deroga","descritto","deserto","desiderio","desumere","detersivo","devoto","diametro","dicembre","diedro","difeso","diffuso","digerire","digitale","diluvio","dinamico","dinnanzi","dipinto","diploma","dipolo","diradare","dire","dirotto","dirupo","disagio","discreto","disfare","disgelo","disposto","distanza","disumano","dito","divano","divelto","dividere","divorato","doblone","docente","doganale","dogma","dolce","domato","domenica","dominare","dondolo","dono","dormire","dote","dottore","dovuto","dozzina","drago","druido","dubbio","dubitare","ducale","duna","duomo","duplice","duraturo","ebano","eccesso","ecco","eclissi","economia","edera","edicola","edile","editoria","educare","egemonia","egli","egoismo","egregio","elaborato","elargire","elegante","elencato","eletto","elevare","elfico","elica","elmo","elsa","eluso","emanato","emblema","emesso","emiro","emotivo","emozione","empirico","emulo","endemico","enduro","energia","enfasi","enoteca","entrare","enzima","epatite","epilogo","episodio","epocale","eppure","equatore","erario","erba","erboso","erede","eremita","erigere","ermetico","eroe","erosivo","errante","esagono","esame","esanime","esaudire","esca","esempio","esercito","esibito","esigente","esistere","esito","esofago","esortato","esoso","espanso","espresso","essenza","esso","esteso","estimare","estonia","estroso","esultare","etilico","etnico","etrusco","etto","euclideo","europa","evaso","evidenza","evitato","evoluto","evviva","fabbrica","faccenda","fachiro","falco","famiglia","fanale","fanfara","fango","fantasma","fare","farfalla","farinoso","farmaco","fascia","fastoso","fasullo","faticare","fato","favoloso","febbre","fecola","fede","fegato","felpa","feltro","femmina","fendere","fenomeno","fermento","ferro","fertile","fessura","festivo","fetta","feudo","fiaba","fiducia","fifa","figurato","filo","finanza","finestra","finire","fiore","fiscale","fisico","fiume","flacone","flamenco","flebo","flemma","florido","fluente","fluoro","fobico","focaccia","focoso","foderato","foglio","folata","folclore","folgore","fondente","fonetico","fonia","fontana","forbito","forchetta","foresta","formica","fornaio","foro","fortezza","forzare","fosfato","fosso","fracasso","frana","frassino","fratello","freccetta","frenata","fresco","frigo","frollino","fronde","frugale","frutta","fucilata","fucsia","fuggente","fulmine","fulvo","fumante","fumetto","fumoso","fune","funzione","fuoco","furbo","furgone","furore","fuso","futile","gabbiano","gaffe","galateo","gallina","galoppo","gambero","gamma","garanzia","garbo","garofano","garzone","gasdotto","gasolio","gastrico","gatto","gaudio","gazebo","gazzella","geco","gelatina","gelso","gemello","gemmato","gene","genitore","gennaio","genotipo","gergo","ghepardo","ghiaccio","ghisa","giallo","gilda","ginepro","giocare","gioiello","giorno","giove","girato","girone","gittata","giudizio","giurato","giusto","globulo","glutine","gnomo","gobba","golf","gomito","gommone","gonfio","gonna","governo","gracile","grado","grafico","grammo","grande","grattare","gravoso","grazia","greca","gregge","grifone","grigio","grinza","grotta","gruppo","guadagno","guaio","guanto","guardare","gufo","guidare","ibernato","icona","identico","idillio","idolo","idra","idrico","idrogeno","igiene","ignaro","ignorato","ilare","illeso","illogico","illudere","imballo","imbevuto","imbocco","imbuto","immane","immerso","immolato","impacco","impeto","impiego","importo","impronta","inalare","inarcare","inattivo","incanto","incendio","inchino","incisivo","incluso","incontro","incrocio","incubo","indagine","india","indole","inedito","infatti","infilare","inflitto","ingaggio","ingegno","inglese","ingordo","ingrosso","innesco","inodore","inoltrare","inondato","insano","insetto","insieme","insonnia","insulina","intasato","intero","intonaco","intuito","inumidire","invalido","invece","invito","iperbole","ipnotico","ipotesi","ippica","iride","irlanda","ironico","irrigato","irrorare","isolato","isotopo","isterico","istituto","istrice","italia","iterare","labbro","labirinto","lacca","lacerato","lacrima","lacuna","laddove","lago","lampo","lancetta","lanterna","lardoso","larga","laringe","lastra","latenza","latino","lattuga","lavagna","lavoro","legale","leggero","lembo","lentezza","lenza","leone","lepre","lesivo","lessato","lesto","letterale","leva","levigato","libero","lido","lievito","lilla","limatura","limitare","limpido","lineare","lingua","liquido","lira","lirica","lisca","lite","litigio","livrea","locanda","lode","logica","lombare","londra","longevo","loquace","lorenzo","loto","lotteria","luce","lucidato","lumaca","luminoso","lungo","lupo","luppolo","lusinga","lusso","lutto","macabro","macchina","macero","macinato","madama","magico","maglia","magnete","magro","maiolica","malafede","malgrado","malinteso","malsano","malto","malumore","mana","mancia","mandorla","mangiare","manifesto","mannaro","manovra","mansarda","mantide","manubrio","mappa","maratona","marcire","maretta","marmo","marsupio","maschera","massaia","mastino","materasso","matricola","mattone","maturo","mazurca","meandro","meccanico","mecenate","medesimo","meditare","mega","melassa","melis","melodia","meninge","meno","mensola","mercurio","merenda","merlo","meschino","mese","messere","mestolo","metallo","metodo","mettere","miagolare","mica","micelio","michele","microbo","midollo","miele","migliore","milano","milite","mimosa","minerale","mini","minore","mirino","mirtillo","miscela","missiva","misto","misurare","mitezza","mitigare","mitra","mittente","mnemonico","modello","modifica","modulo","mogano","mogio","mole","molosso","monastero","monco","mondina","monetario","monile","monotono","monsone","montato","monviso","mora","mordere","morsicato","mostro","motivato","motosega","motto","movenza","movimento","mozzo","mucca","mucosa","muffa","mughetto","mugnaio","mulatto","mulinello","multiplo","mummia","munto","muovere","murale","musa","muscolo","musica","mutevole","muto","nababbo","nafta","nanometro","narciso","narice","narrato","nascere","nastrare","naturale","nautica","naviglio","nebulosa","necrosi","negativo","negozio","nemmeno","neofita","neretto","nervo","nessuno","nettuno","neutrale","neve","nevrotico","nicchia","ninfa","nitido","nobile","nocivo","nodo","nome","nomina","nordico","normale","norvegese","nostrano","notare","notizia","notturno","novella","nucleo","nulla","numero","nuovo","nutrire","nuvola","nuziale","oasi","obbedire","obbligo","obelisco","oblio","obolo","obsoleto","occasione","occhio","occidente","occorrere","occultare","ocra","oculato","odierno","odorare","offerta","offrire","offuscato","oggetto","oggi","ognuno","olandese","olfatto","oliato","oliva","ologramma","oltre","omaggio","ombelico","ombra","omega","omissione","ondoso","onere","onice","onnivoro","onorevole","onta","operato","opinione","opposto","oracolo","orafo","ordine","orecchino","orefice","orfano","organico","origine","orizzonte","orma","ormeggio","ornativo","orologio","orrendo","orribile","ortensia","ortica","orzata","orzo","osare","oscurare","osmosi","ospedale","ospite","ossa","ossidare","ostacolo","oste","otite","otre","ottagono","ottimo","ottobre","ovale","ovest","ovino","oviparo","ovocito","ovunque","ovviare","ozio","pacchetto","pace","pacifico","padella","padrone","paese","paga","pagina","palazzina","palesare","pallido","palo","palude","pandoro","pannello","paolo","paonazzo","paprica","parabola","parcella","parere","pargolo","pari","parlato","parola","partire","parvenza","parziale","passivo","pasticca","patacca","patologia","pattume","pavone","peccato","pedalare","pedonale","peggio","peloso","penare","pendice","penisola","pennuto","penombra","pensare","pentola","pepe","pepita","perbene","percorso","perdonato","perforare","pergamena","periodo","permesso","perno","perplesso","persuaso","pertugio","pervaso","pesatore","pesista","peso","pestifero","petalo","pettine","petulante","pezzo","piacere","pianta","piattino","piccino","picozza","piega","pietra","piffero","pigiama","pigolio","pigro","pila","pilifero","pillola","pilota","pimpante","pineta","pinna","pinolo","pioggia","piombo","piramide","piretico","pirite","pirolisi","pitone","pizzico","placebo","planare","plasma","platano","plenario","pochezza","poderoso","podismo","poesia","poggiare","polenta","poligono","pollice","polmonite","polpetta","polso","poltrona","polvere","pomice","pomodoro","ponte","popoloso","porfido","poroso","porpora","porre","portata","posa","positivo","possesso","postulato","potassio","potere","pranzo","prassi","pratica","precluso","predica","prefisso","pregiato","prelievo","premere","prenotare","preparato","presenza","pretesto","prevalso","prima","principe","privato","problema","procura","produrre","profumo","progetto","prolunga","promessa","pronome","proposta","proroga","proteso","prova","prudente","prugna","prurito","psiche","pubblico","pudica","pugilato","pugno","pulce","pulito","pulsante","puntare","pupazzo","pupilla","puro","quadro","qualcosa","quasi","querela","quota","raccolto","raddoppio","radicale","radunato","raffica","ragazzo","ragione","ragno","ramarro","ramingo","ramo","randagio","rantolare","rapato","rapina","rappreso","rasatura","raschiato","rasente","rassegna","rastrello","rata","ravveduto","reale","recepire","recinto","recluta","recondito","recupero","reddito","redimere","regalato","registro","regola","regresso","relazione","remare","remoto","renna","replica","reprimere","reputare","resa","residente","responso","restauro","rete","retina","retorica","rettifica","revocato","riassunto","ribadire","ribelle","ribrezzo","ricarica","ricco","ricevere","riciclato","ricordo","ricreduto","ridicolo","ridurre","rifasare","riflesso","riforma","rifugio","rigare","rigettato","righello","rilassato","rilevato","rimanere","rimbalzo","rimedio","rimorchio","rinascita","rincaro","rinforzo","rinnovo","rinomato","rinsavito","rintocco","rinuncia","rinvenire","riparato","ripetuto","ripieno","riportare","ripresa","ripulire","risata","rischio","riserva","risibile","riso","rispetto","ristoro","risultato","risvolto","ritardo","ritegno","ritmico","ritrovo","riunione","riva","riverso","rivincita","rivolto","rizoma","roba","robotico","robusto","roccia","roco","rodaggio","rodere","roditore","rogito","rollio","romantico","rompere","ronzio","rosolare","rospo","rotante","rotondo","rotula","rovescio","rubizzo","rubrica","ruga","rullino","rumine","rumoroso","ruolo","rupe","russare","rustico","sabato","sabbiare","sabotato","sagoma","salasso","saldatura","salgemma","salivare","salmone","salone","saltare","saluto","salvo","sapere","sapido","saporito","saraceno","sarcasmo","sarto","sassoso","satellite","satira","satollo","saturno","savana","savio","saziato","sbadiglio","sbalzo","sbancato","sbarra","sbattere","sbavare","sbendare","sbirciare","sbloccato","sbocciato","sbrinare","sbruffone","sbuffare","scabroso","scadenza","scala","scambiare","scandalo","scapola","scarso","scatenare","scavato","scelto","scenico","scettro","scheda","schiena","sciarpa","scienza","scindere","scippo","sciroppo","scivolo","sclerare","scodella","scolpito","scomparto","sconforto","scoprire","scorta","scossone","scozzese","scriba","scrollare","scrutinio","scuderia","scultore","scuola","scuro","scusare","sdebitare","sdoganare","seccatura","secondo","sedano","seggiola","segnalato","segregato","seguito","selciato","selettivo","sella","selvaggio","semaforo","sembrare","seme","seminato","sempre","senso","sentire","sepolto","sequenza","serata","serbato","sereno","serio","serpente","serraglio","servire","sestina","setola","settimana","sfacelo","sfaldare","sfamato","sfarzoso","sfaticato","sfera","sfida","sfilato","sfinge","sfocato","sfoderare","sfogo","sfoltire","sforzato","sfratto","sfruttato","sfuggito","sfumare","sfuso","sgabello","sgarbato","sgonfiare","sgorbio","sgrassato","sguardo","sibilo","siccome","sierra","sigla","signore","silenzio","sillaba","simbolo","simpatico","simulato","sinfonia","singolo","sinistro","sino","sintesi","sinusoide","sipario","sisma","sistole","situato","slitta","slogatura","sloveno","smarrito","smemorato","smentito","smeraldo","smilzo","smontare","smottato","smussato","snellire","snervato","snodo","sobbalzo","sobrio","soccorso","sociale","sodale","soffitto","sogno","soldato","solenne","solido","sollazzo","solo","solubile","solvente","somatico","somma","sonda","sonetto","sonnifero","sopire","soppeso","sopra","sorgere","sorpasso","sorriso","sorso","sorteggio","sorvolato","sospiro","sosta","sottile","spada","spalla","spargere","spatola","spavento","spazzola","specie","spedire","spegnere","spelatura","speranza","spessore","spettrale","spezzato","spia","spigoloso","spillato","spinoso","spirale","splendido","sportivo","sposo","spranga","sprecare","spronato","spruzzo","spuntino","squillo","sradicare","srotolato","stabile","stacco","staffa","stagnare","stampato","stantio","starnuto","stasera","statuto","stelo","steppa","sterzo","stiletto","stima","stirpe","stivale","stizzoso","stonato","storico","strappo","stregato","stridulo","strozzare","strutto","stuccare","stufo","stupendo","subentro","succoso","sudore","suggerito","sugo","sultano","suonare","superbo","supporto","surgelato","surrogato","sussurro","sutura","svagare","svedese","sveglio","svelare","svenuto","svezia","sviluppo","svista","svizzera","svolta","svuotare","tabacco","tabulato","tacciare","taciturno","tale","talismano","tampone","tannino","tara","tardivo","targato","tariffa","tarpare","tartaruga","tasto","tattico","taverna","tavolata","tazza","teca","tecnico","telefono","temerario","tempo","temuto","tendone","tenero","tensione","tentacolo","teorema","terme","terrazzo","terzetto","tesi","tesserato","testato","tetro","tettoia","tifare","tigella","timbro","tinto","tipico","tipografo","tiraggio","tiro","titanio","titolo","titubante","tizio","tizzone","toccare","tollerare","tolto","tombola","tomo","tonfo","tonsilla","topazio","topologia","toppa","torba","tornare","torrone","tortora","toscano","tossire","tostatura","totano","trabocco","trachea","trafila","tragedia","tralcio","tramonto","transito","trapano","trarre","trasloco","trattato","trave","treccia","tremolio","trespolo","tributo","tricheco","trifoglio","trillo","trincea","trio","tristezza","triturato","trivella","tromba","trono","troppo","trottola","trovare","truccato","tubatura","tuffato","tulipano","tumulto","tunisia","turbare","turchino","tuta","tutela","ubicato","uccello","uccisore","udire","uditivo","uffa","ufficio","uguale","ulisse","ultimato","umano","umile","umorismo","uncinetto","ungere","ungherese","unicorno","unificato","unisono","unitario","unte","uovo","upupa","uragano","urgenza","urlo","usanza","usato","uscito","usignolo","usuraio","utensile","utilizzo","utopia","vacante","vaccinato","vagabondo","vagliato","valanga","valgo","valico","valletta","valoroso","valutare","valvola","vampata","vangare","vanitoso","vano","vantaggio","vanvera","vapore","varano","varcato","variante","vasca","vedetta","vedova","veduto","vegetale","veicolo","velcro","velina","velluto","veloce","venato","vendemmia","vento","verace","verbale","vergogna","verifica","vero","verruca","verticale","vescica","vessillo","vestale","veterano","vetrina","vetusto","viandante","vibrante","vicenda","vichingo","vicinanza","vidimare","vigilia","vigneto","vigore","vile","villano","vimini","vincitore","viola","vipera","virgola","virologo","virulento","viscoso","visione","vispo","vissuto","visura","vita","vitello","vittima","vivanda","vivido","viziare","voce","voga","volatile","volere","volpe","voragine","vulcano","zampogna","zanna","zappato","zattera","zavorra","zefiro","zelante","zelo","zenzero","zerbino","zibetto","zinco","zircone","zitto","zolla","zotico","zucchero","zufolo","zulu","zuppa"]')},94472:function(eb){"use strict";eb.exports=JSON.parse('["あいこくしん","あいさつ","あいだ","あおぞら","あかちゃん","あきる","あけがた","あける","あこがれる","あさい","あさひ","あしあと","あじわう","あずかる","あずき","あそぶ","あたえる","あたためる","あたりまえ","あたる","あつい","あつかう","あっしゅく","あつまり","あつめる","あてな","あてはまる","あひる","あぶら","あぶる","あふれる","あまい","あまど","あまやかす","あまり","あみもの","あめりか","あやまる","あゆむ","あらいぐま","あらし","あらすじ","あらためる","あらゆる","あらわす","ありがとう","あわせる","あわてる","あんい","あんがい","あんこ","あんぜん","あんてい","あんない","あんまり","いいだす","いおん","いがい","いがく","いきおい","いきなり","いきもの","いきる","いくじ","いくぶん","いけばな","いけん","いこう","いこく","いこつ","いさましい","いさん","いしき","いじゅう","いじょう","いじわる","いずみ","いずれ","いせい","いせえび","いせかい","いせき","いぜん","いそうろう","いそがしい","いだい","いだく","いたずら","いたみ","いたりあ","いちおう","いちじ","いちど","いちば","いちぶ","いちりゅう","いつか","いっしゅん","いっせい","いっそう","いったん","いっち","いってい","いっぽう","いてざ","いてん","いどう","いとこ","いない","いなか","いねむり","いのち","いのる","いはつ","いばる","いはん","いびき","いひん","いふく","いへん","いほう","いみん","いもうと","いもたれ","いもり","いやがる","いやす","いよかん","いよく","いらい","いらすと","いりぐち","いりょう","いれい","いれもの","いれる","いろえんぴつ","いわい","いわう","いわかん","いわば","いわゆる","いんげんまめ","いんさつ","いんしょう","いんよう","うえき","うえる","うおざ","うがい","うかぶ","うかべる","うきわ","うくらいな","うくれれ","うけたまわる","うけつけ","うけとる","うけもつ","うける","うごかす","うごく","うこん","うさぎ","うしなう","うしろがみ","うすい","うすぎ","うすぐらい","うすめる","うせつ","うちあわせ","うちがわ","うちき","うちゅう","うっかり","うつくしい","うったえる","うつる","うどん","うなぎ","うなじ","うなずく","うなる","うねる","うのう","うぶげ","うぶごえ","うまれる","うめる","うもう","うやまう","うよく","うらがえす","うらぐち","うらない","うりあげ","うりきれ","うるさい","うれしい","うれゆき","うれる","うろこ","うわき","うわさ","うんこう","うんちん","うんてん","うんどう","えいえん","えいが","えいきょう","えいご","えいせい","えいぶん","えいよう","えいわ","えおり","えがお","えがく","えきたい","えくせる","えしゃく","えすて","えつらん","えのぐ","えほうまき","えほん","えまき","えもじ","えもの","えらい","えらぶ","えりあ","えんえん","えんかい","えんぎ","えんげき","えんしゅう","えんぜつ","えんそく","えんちょう","えんとつ","おいかける","おいこす","おいしい","おいつく","おうえん","おうさま","おうじ","おうせつ","おうたい","おうふく","おうべい","おうよう","おえる","おおい","おおう","おおどおり","おおや","おおよそ","おかえり","おかず","おがむ","おかわり","おぎなう","おきる","おくさま","おくじょう","おくりがな","おくる","おくれる","おこす","おこなう","おこる","おさえる","おさない","おさめる","おしいれ","おしえる","おじぎ","おじさん","おしゃれ","おそらく","おそわる","おたがい","おたく","おだやか","おちつく","おっと","おつり","おでかけ","おとしもの","おとなしい","おどり","おどろかす","おばさん","おまいり","おめでとう","おもいで","おもう","おもたい","おもちゃ","おやつ","おやゆび","およぼす","おらんだ","おろす","おんがく","おんけい","おんしゃ","おんせん","おんだん","おんちゅう","おんどけい","かあつ","かいが","がいき","がいけん","がいこう","かいさつ","かいしゃ","かいすいよく","かいぜん","かいぞうど","かいつう","かいてん","かいとう","かいふく","がいへき","かいほう","かいよう","がいらい","かいわ","かえる","かおり","かかえる","かがく","かがし","かがみ","かくご","かくとく","かざる","がぞう","かたい","かたち","がちょう","がっきゅう","がっこう","がっさん","がっしょう","かなざわし","かのう","がはく","かぶか","かほう","かほご","かまう","かまぼこ","かめれおん","かゆい","かようび","からい","かるい","かろう","かわく","かわら","がんか","かんけい","かんこう","かんしゃ","かんそう","かんたん","かんち","がんばる","きあい","きあつ","きいろ","ぎいん","きうい","きうん","きえる","きおう","きおく","きおち","きおん","きかい","きかく","きかんしゃ","ききて","きくばり","きくらげ","きけんせい","きこう","きこえる","きこく","きさい","きさく","きさま","きさらぎ","ぎじかがく","ぎしき","ぎじたいけん","ぎじにってい","ぎじゅつしゃ","きすう","きせい","きせき","きせつ","きそう","きぞく","きぞん","きたえる","きちょう","きつえん","ぎっちり","きつつき","きつね","きてい","きどう","きどく","きない","きなが","きなこ","きぬごし","きねん","きのう","きのした","きはく","きびしい","きひん","きふく","きぶん","きぼう","きほん","きまる","きみつ","きむずかしい","きめる","きもだめし","きもち","きもの","きゃく","きやく","ぎゅうにく","きよう","きょうりゅう","きらい","きらく","きりん","きれい","きれつ","きろく","ぎろん","きわめる","ぎんいろ","きんかくじ","きんじょ","きんようび","ぐあい","くいず","くうかん","くうき","くうぐん","くうこう","ぐうせい","くうそう","ぐうたら","くうふく","くうぼ","くかん","くきょう","くげん","ぐこう","くさい","くさき","くさばな","くさる","くしゃみ","くしょう","くすのき","くすりゆび","くせげ","くせん","ぐたいてき","くださる","くたびれる","くちこみ","くちさき","くつした","ぐっすり","くつろぐ","くとうてん","くどく","くなん","くねくね","くのう","くふう","くみあわせ","くみたてる","くめる","くやくしょ","くらす","くらべる","くるま","くれる","くろう","くわしい","ぐんかん","ぐんしょく","ぐんたい","ぐんて","けあな","けいかく","けいけん","けいこ","けいさつ","げいじゅつ","けいたい","げいのうじん","けいれき","けいろ","けおとす","けおりもの","げきか","げきげん","げきだん","げきちん","げきとつ","げきは","げきやく","げこう","げこくじょう","げざい","けさき","げざん","けしき","けしごむ","けしょう","げすと","けたば","けちゃっぷ","けちらす","けつあつ","けつい","けつえき","けっこん","けつじょ","けっせき","けってい","けつまつ","げつようび","げつれい","けつろん","げどく","けとばす","けとる","けなげ","けなす","けなみ","けぬき","げねつ","けねん","けはい","げひん","けぶかい","げぼく","けまり","けみかる","けむし","けむり","けもの","けらい","けろけろ","けわしい","けんい","けんえつ","けんお","けんか","げんき","けんげん","けんこう","けんさく","けんしゅう","けんすう","げんそう","けんちく","けんてい","けんとう","けんない","けんにん","げんぶつ","けんま","けんみん","けんめい","けんらん","けんり","こあくま","こいぬ","こいびと","ごうい","こうえん","こうおん","こうかん","ごうきゅう","ごうけい","こうこう","こうさい","こうじ","こうすい","ごうせい","こうそく","こうたい","こうちゃ","こうつう","こうてい","こうどう","こうない","こうはい","ごうほう","ごうまん","こうもく","こうりつ","こえる","こおり","ごかい","ごがつ","ごかん","こくご","こくさい","こくとう","こくない","こくはく","こぐま","こけい","こける","ここのか","こころ","こさめ","こしつ","こすう","こせい","こせき","こぜん","こそだて","こたい","こたえる","こたつ","こちょう","こっか","こつこつ","こつばん","こつぶ","こてい","こてん","ことがら","ことし","ことば","ことり","こなごな","こねこね","このまま","このみ","このよ","ごはん","こひつじ","こふう","こふん","こぼれる","ごまあぶら","こまかい","ごますり","こまつな","こまる","こむぎこ","こもじ","こもち","こもの","こもん","こやく","こやま","こゆう","こゆび","こよい","こよう","こりる","これくしょん","ころっけ","こわもて","こわれる","こんいん","こんかい","こんき","こんしゅう","こんすい","こんだて","こんとん","こんなん","こんびに","こんぽん","こんまけ","こんや","こんれい","こんわく","ざいえき","さいかい","さいきん","ざいげん","ざいこ","さいしょ","さいせい","ざいたく","ざいちゅう","さいてき","ざいりょう","さうな","さかいし","さがす","さかな","さかみち","さがる","さぎょう","さくし","さくひん","さくら","さこく","さこつ","さずかる","ざせき","さたん","さつえい","ざつおん","ざっか","ざつがく","さっきょく","ざっし","さつじん","ざっそう","さつたば","さつまいも","さてい","さといも","さとう","さとおや","さとし","さとる","さのう","さばく","さびしい","さべつ","さほう","さほど","さます","さみしい","さみだれ","さむけ","さめる","さやえんどう","さゆう","さよう","さよく","さらだ","ざるそば","さわやか","さわる","さんいん","さんか","さんきゃく","さんこう","さんさい","ざんしょ","さんすう","さんせい","さんそ","さんち","さんま","さんみ","さんらん","しあい","しあげ","しあさって","しあわせ","しいく","しいん","しうち","しえい","しおけ","しかい","しかく","じかん","しごと","しすう","じだい","したうけ","したぎ","したて","したみ","しちょう","しちりん","しっかり","しつじ","しつもん","してい","してき","してつ","じてん","じどう","しなぎれ","しなもの","しなん","しねま","しねん","しのぐ","しのぶ","しはい","しばかり","しはつ","しはらい","しはん","しひょう","しふく","じぶん","しへい","しほう","しほん","しまう","しまる","しみん","しむける","じむしょ","しめい","しめる","しもん","しゃいん","しゃうん","しゃおん","じゃがいも","しやくしょ","しゃくほう","しゃけん","しゃこ","しゃざい","しゃしん","しゃせん","しゃそう","しゃたい","しゃちょう","しゃっきん","じゃま","しゃりん","しゃれい","じゆう","じゅうしょ","しゅくはく","じゅしん","しゅっせき","しゅみ","しゅらば","じゅんばん","しょうかい","しょくたく","しょっけん","しょどう","しょもつ","しらせる","しらべる","しんか","しんこう","じんじゃ","しんせいじ","しんちく","しんりん","すあげ","すあし","すあな","ずあん","すいえい","すいか","すいとう","ずいぶん","すいようび","すうがく","すうじつ","すうせん","すおどり","すきま","すくう","すくない","すける","すごい","すこし","ずさん","すずしい","すすむ","すすめる","すっかり","ずっしり","ずっと","すてき","すてる","すねる","すのこ","すはだ","すばらしい","ずひょう","ずぶぬれ","すぶり","すふれ","すべて","すべる","ずほう","すぼん","すまい","すめし","すもう","すやき","すらすら","するめ","すれちがう","すろっと","すわる","すんぜん","すんぽう","せあぶら","せいかつ","せいげん","せいじ","せいよう","せおう","せかいかん","せきにん","せきむ","せきゆ","せきらんうん","せけん","せこう","せすじ","せたい","せたけ","せっかく","せっきゃく","ぜっく","せっけん","せっこつ","せっさたくま","せつぞく","せつだん","せつでん","せっぱん","せつび","せつぶん","せつめい","せつりつ","せなか","せのび","せはば","せびろ","せぼね","せまい","せまる","せめる","せもたれ","せりふ","ぜんあく","せんい","せんえい","せんか","せんきょ","せんく","せんげん","ぜんご","せんさい","せんしゅ","せんすい","せんせい","せんぞ","せんたく","せんちょう","せんてい","せんとう","せんぬき","せんねん","せんぱい","ぜんぶ","ぜんぽう","せんむ","せんめんじょ","せんもん","せんやく","せんゆう","せんよう","ぜんら","ぜんりゃく","せんれい","せんろ","そあく","そいとげる","そいね","そうがんきょう","そうき","そうご","そうしん","そうだん","そうなん","そうび","そうめん","そうり","そえもの","そえん","そがい","そげき","そこう","そこそこ","そざい","そしな","そせい","そせん","そそぐ","そだてる","そつう","そつえん","そっかん","そつぎょう","そっけつ","そっこう","そっせん","そっと","そとがわ","そとづら","そなえる","そなた","そふぼ","そぼく","そぼろ","そまつ","そまる","そむく","そむりえ","そめる","そもそも","そよかぜ","そらまめ","そろう","そんかい","そんけい","そんざい","そんしつ","そんぞく","そんちょう","ぞんび","ぞんぶん","そんみん","たあい","たいいん","たいうん","たいえき","たいおう","だいがく","たいき","たいぐう","たいけん","たいこ","たいざい","だいじょうぶ","だいすき","たいせつ","たいそう","だいたい","たいちょう","たいてい","だいどころ","たいない","たいねつ","たいのう","たいはん","だいひょう","たいふう","たいへん","たいほ","たいまつばな","たいみんぐ","たいむ","たいめん","たいやき","たいよう","たいら","たいりょく","たいる","たいわん","たうえ","たえる","たおす","たおる","たおれる","たかい","たかね","たきび","たくさん","たこく","たこやき","たさい","たしざん","だじゃれ","たすける","たずさわる","たそがれ","たたかう","たたく","ただしい","たたみ","たちばな","だっかい","だっきゃく","だっこ","だっしゅつ","だったい","たてる","たとえる","たなばた","たにん","たぬき","たのしみ","たはつ","たぶん","たべる","たぼう","たまご","たまる","だむる","ためいき","ためす","ためる","たもつ","たやすい","たよる","たらす","たりきほんがん","たりょう","たりる","たると","たれる","たれんと","たろっと","たわむれる","だんあつ","たんい","たんおん","たんか","たんき","たんけん","たんご","たんさん","たんじょうび","だんせい","たんそく","たんたい","だんち","たんてい","たんとう","だんな","たんにん","だんねつ","たんのう","たんぴん","だんぼう","たんまつ","たんめい","だんれつ","だんろ","だんわ","ちあい","ちあん","ちいき","ちいさい","ちえん","ちかい","ちから","ちきゅう","ちきん","ちけいず","ちけん","ちこく","ちさい","ちしき","ちしりょう","ちせい","ちそう","ちたい","ちたん","ちちおや","ちつじょ","ちてき","ちてん","ちぬき","ちぬり","ちのう","ちひょう","ちへいせん","ちほう","ちまた","ちみつ","ちみどろ","ちめいど","ちゃんこなべ","ちゅうい","ちゆりょく","ちょうし","ちょさくけん","ちらし","ちらみ","ちりがみ","ちりょう","ちるど","ちわわ","ちんたい","ちんもく","ついか","ついたち","つうか","つうじょう","つうはん","つうわ","つかう","つかれる","つくね","つくる","つけね","つける","つごう","つたえる","つづく","つつじ","つつむ","つとめる","つながる","つなみ","つねづね","つのる","つぶす","つまらない","つまる","つみき","つめたい","つもり","つもる","つよい","つるぼ","つるみく","つわもの","つわり","てあし","てあて","てあみ","ていおん","ていか","ていき","ていけい","ていこく","ていさつ","ていし","ていせい","ていたい","ていど","ていねい","ていひょう","ていへん","ていぼう","てうち","ておくれ","てきとう","てくび","でこぼこ","てさぎょう","てさげ","てすり","てそう","てちがい","てちょう","てつがく","てつづき","でっぱ","てつぼう","てつや","でぬかえ","てぬき","てぬぐい","てのひら","てはい","てぶくろ","てふだ","てほどき","てほん","てまえ","てまきずし","てみじか","てみやげ","てらす","てれび","てわけ","てわたし","でんあつ","てんいん","てんかい","てんき","てんぐ","てんけん","てんごく","てんさい","てんし","てんすう","でんち","てんてき","てんとう","てんない","てんぷら","てんぼうだい","てんめつ","てんらんかい","でんりょく","でんわ","どあい","といれ","どうかん","とうきゅう","どうぐ","とうし","とうむぎ","とおい","とおか","とおく","とおす","とおる","とかい","とかす","ときおり","ときどき","とくい","とくしゅう","とくてん","とくに","とくべつ","とけい","とける","とこや","とさか","としょかん","とそう","とたん","とちゅう","とっきゅう","とっくん","とつぜん","とつにゅう","とどける","ととのえる","とない","となえる","となり","とのさま","とばす","どぶがわ","とほう","とまる","とめる","ともだち","ともる","どようび","とらえる","とんかつ","どんぶり","ないかく","ないこう","ないしょ","ないす","ないせん","ないそう","なおす","ながい","なくす","なげる","なこうど","なさけ","なたでここ","なっとう","なつやすみ","ななおし","なにごと","なにもの","なにわ","なのか","なふだ","なまいき","なまえ","なまみ","なみだ","なめらか","なめる","なやむ","ならう","ならび","ならぶ","なれる","なわとび","なわばり","にあう","にいがた","にうけ","におい","にかい","にがて","にきび","にくしみ","にくまん","にげる","にさんかたんそ","にしき","にせもの","にちじょう","にちようび","にっか","にっき","にっけい","にっこう","にっさん","にっしょく","にっすう","にっせき","にってい","になう","にほん","にまめ","にもつ","にやり","にゅういん","にりんしゃ","にわとり","にんい","にんか","にんき","にんげん","にんしき","にんずう","にんそう","にんたい","にんち","にんてい","にんにく","にんぷ","にんまり","にんむ","にんめい","にんよう","ぬいくぎ","ぬかす","ぬぐいとる","ぬぐう","ぬくもり","ぬすむ","ぬまえび","ぬめり","ぬらす","ぬんちゃく","ねあげ","ねいき","ねいる","ねいろ","ねぐせ","ねくたい","ねくら","ねこぜ","ねこむ","ねさげ","ねすごす","ねそべる","ねだん","ねつい","ねっしん","ねつぞう","ねったいぎょ","ねぶそく","ねふだ","ねぼう","ねほりはほり","ねまき","ねまわし","ねみみ","ねむい","ねむたい","ねもと","ねらう","ねわざ","ねんいり","ねんおし","ねんかん","ねんきん","ねんぐ","ねんざ","ねんし","ねんちゃく","ねんど","ねんぴ","ねんぶつ","ねんまつ","ねんりょう","ねんれい","のいず","のおづま","のがす","のきなみ","のこぎり","のこす","のこる","のせる","のぞく","のぞむ","のたまう","のちほど","のっく","のばす","のはら","のべる","のぼる","のみもの","のやま","のらいぬ","のらねこ","のりもの","のりゆき","のれん","のんき","ばあい","はあく","ばあさん","ばいか","ばいく","はいけん","はいご","はいしん","はいすい","はいせん","はいそう","はいち","ばいばい","はいれつ","はえる","はおる","はかい","ばかり","はかる","はくしゅ","はけん","はこぶ","はさみ","はさん","はしご","ばしょ","はしる","はせる","ぱそこん","はそん","はたん","はちみつ","はつおん","はっかく","はづき","はっきり","はっくつ","はっけん","はっこう","はっさん","はっしん","はったつ","はっちゅう","はってん","はっぴょう","はっぽう","はなす","はなび","はにかむ","はぶらし","はみがき","はむかう","はめつ","はやい","はやし","はらう","はろうぃん","はわい","はんい","はんえい","はんおん","はんかく","はんきょう","ばんぐみ","はんこ","はんしゃ","はんすう","はんだん","ぱんち","ぱんつ","はんてい","はんとし","はんのう","はんぱ","はんぶん","はんぺん","はんぼうき","はんめい","はんらん","はんろん","ひいき","ひうん","ひえる","ひかく","ひかり","ひかる","ひかん","ひくい","ひけつ","ひこうき","ひこく","ひさい","ひさしぶり","ひさん","びじゅつかん","ひしょ","ひそか","ひそむ","ひたむき","ひだり","ひたる","ひつぎ","ひっこし","ひっし","ひつじゅひん","ひっす","ひつぜん","ぴったり","ぴっちり","ひつよう","ひてい","ひとごみ","ひなまつり","ひなん","ひねる","ひはん","ひびく","ひひょう","ひほう","ひまわり","ひまん","ひみつ","ひめい","ひめじし","ひやけ","ひやす","ひよう","びょうき","ひらがな","ひらく","ひりつ","ひりょう","ひるま","ひるやすみ","ひれい","ひろい","ひろう","ひろき","ひろゆき","ひんかく","ひんけつ","ひんこん","ひんしゅ","ひんそう","ぴんち","ひんぱん","びんぼう","ふあん","ふいうち","ふうけい","ふうせん","ぷうたろう","ふうとう","ふうふ","ふえる","ふおん","ふかい","ふきん","ふくざつ","ふくぶくろ","ふこう","ふさい","ふしぎ","ふじみ","ふすま","ふせい","ふせぐ","ふそく","ぶたにく","ふたん","ふちょう","ふつう","ふつか","ふっかつ","ふっき","ふっこく","ぶどう","ふとる","ふとん","ふのう","ふはい","ふひょう","ふへん","ふまん","ふみん","ふめつ","ふめん","ふよう","ふりこ","ふりる","ふるい","ふんいき","ぶんがく","ぶんぐ","ふんしつ","ぶんせき","ふんそう","ぶんぽう","へいあん","へいおん","へいがい","へいき","へいげん","へいこう","へいさ","へいしゃ","へいせつ","へいそ","へいたく","へいてん","へいねつ","へいわ","へきが","へこむ","べにいろ","べにしょうが","へらす","へんかん","べんきょう","べんごし","へんさい","へんたい","べんり","ほあん","ほいく","ぼうぎょ","ほうこく","ほうそう","ほうほう","ほうもん","ほうりつ","ほえる","ほおん","ほかん","ほきょう","ぼきん","ほくろ","ほけつ","ほけん","ほこう","ほこる","ほしい","ほしつ","ほしゅ","ほしょう","ほせい","ほそい","ほそく","ほたて","ほたる","ぽちぶくろ","ほっきょく","ほっさ","ほったん","ほとんど","ほめる","ほんい","ほんき","ほんけ","ほんしつ","ほんやく","まいにち","まかい","まかせる","まがる","まける","まこと","まさつ","まじめ","ますく","まぜる","まつり","まとめ","まなぶ","まぬけ","まねく","まほう","まもる","まゆげ","まよう","まろやか","まわす","まわり","まわる","まんが","まんきつ","まんぞく","まんなか","みいら","みうち","みえる","みがく","みかた","みかん","みけん","みこん","みじかい","みすい","みすえる","みせる","みっか","みつかる","みつける","みてい","みとめる","みなと","みなみかさい","みねらる","みのう","みのがす","みほん","みもと","みやげ","みらい","みりょく","みわく","みんか","みんぞく","むいか","むえき","むえん","むかい","むかう","むかえ","むかし","むぎちゃ","むける","むげん","むさぼる","むしあつい","むしば","むじゅん","むしろ","むすう","むすこ","むすぶ","むすめ","むせる","むせん","むちゅう","むなしい","むのう","むやみ","むよう","むらさき","むりょう","むろん","めいあん","めいうん","めいえん","めいかく","めいきょく","めいさい","めいし","めいそう","めいぶつ","めいれい","めいわく","めぐまれる","めざす","めした","めずらしい","めだつ","めまい","めやす","めんきょ","めんせき","めんどう","もうしあげる","もうどうけん","もえる","もくし","もくてき","もくようび","もちろん","もどる","もらう","もんく","もんだい","やおや","やける","やさい","やさしい","やすい","やすたろう","やすみ","やせる","やそう","やたい","やちん","やっと","やっぱり","やぶる","やめる","ややこしい","やよい","やわらかい","ゆうき","ゆうびんきょく","ゆうべ","ゆうめい","ゆけつ","ゆしゅつ","ゆせん","ゆそう","ゆたか","ゆちゃく","ゆでる","ゆにゅう","ゆびわ","ゆらい","ゆれる","ようい","ようか","ようきゅう","ようじ","ようす","ようちえん","よかぜ","よかん","よきん","よくせい","よくぼう","よけい","よごれる","よさん","よしゅう","よそう","よそく","よっか","よてい","よどがわく","よねつ","よやく","よゆう","よろこぶ","よろしい","らいう","らくがき","らくご","らくさつ","らくだ","らしんばん","らせん","らぞく","らたい","らっか","られつ","りえき","りかい","りきさく","りきせつ","りくぐん","りくつ","りけん","りこう","りせい","りそう","りそく","りてん","りねん","りゆう","りゅうがく","りよう","りょうり","りょかん","りょくちゃ","りょこう","りりく","りれき","りろん","りんご","るいけい","るいさい","るいじ","るいせき","るすばん","るりがわら","れいかん","れいぎ","れいせい","れいぞうこ","れいとう","れいぼう","れきし","れきだい","れんあい","れんけい","れんこん","れんさい","れんしゅう","れんぞく","れんらく","ろうか","ろうご","ろうじん","ろうそく","ろくが","ろこつ","ろじうら","ろしゅつ","ろせん","ろてん","ろめん","ろれつ","ろんぎ","ろんぱ","ろんぶん","ろんり","わかす","わかめ","わかやま","わかれる","わしつ","わじまし","わすれもの","わらう","われる"]')},8013:function(eb){"use strict";eb.exports=JSON.parse('["가격","가끔","가난","가능","가득","가르침","가뭄","가방","가상","가슴","가운데","가을","가이드","가입","가장","가정","가족","가죽","각오","각자","간격","간부","간섭","간장","간접","간판","갈등","갈비","갈색","갈증","감각","감기","감소","감수성","감자","감정","갑자기","강남","강당","강도","강력히","강변","강북","강사","강수량","강아지","강원도","강의","강제","강조","같이","개구리","개나리","개방","개별","개선","개성","개인","객관적","거실","거액","거울","거짓","거품","걱정","건강","건물","건설","건조","건축","걸음","검사","검토","게시판","게임","겨울","견해","결과","결국","결론","결석","결승","결심","결정","결혼","경계","경고","경기","경력","경복궁","경비","경상도","경영","경우","경쟁","경제","경주","경찰","경치","경향","경험","계곡","계단","계란","계산","계속","계약","계절","계층","계획","고객","고구려","고궁","고급","고등학생","고무신","고민","고양이","고장","고전","고집","고춧가루","고통","고향","곡식","골목","골짜기","골프","공간","공개","공격","공군","공급","공기","공동","공무원","공부","공사","공식","공업","공연","공원","공장","공짜","공책","공통","공포","공항","공휴일","과목","과일","과장","과정","과학","관객","관계","관광","관념","관람","관련","관리","관습","관심","관점","관찰","광경","광고","광장","광주","괴로움","굉장히","교과서","교문","교복","교실","교양","교육","교장","교직","교통","교환","교훈","구경","구름","구멍","구별","구분","구석","구성","구속","구역","구입","구청","구체적","국가","국기","국내","국립","국물","국민","국수","국어","국왕","국적","국제","국회","군대","군사","군인","궁극적","권리","권위","권투","귀국","귀신","규정","규칙","균형","그날","그냥","그늘","그러나","그룹","그릇","그림","그제서야","그토록","극복","극히","근거","근교","근래","근로","근무","근본","근원","근육","근처","글씨","글자","금강산","금고","금년","금메달","금액","금연","금요일","금지","긍정적","기간","기관","기념","기능","기독교","기둥","기록","기름","기법","기본","기분","기쁨","기숙사","기술","기억","기업","기온","기운","기원","기적","기준","기침","기혼","기획","긴급","긴장","길이","김밥","김치","김포공항","깍두기","깜빡","깨달음","깨소금","껍질","꼭대기","꽃잎","나들이","나란히","나머지","나물","나침반","나흘","낙엽","난방","날개","날씨","날짜","남녀","남대문","남매","남산","남자","남편","남학생","낭비","낱말","내년","내용","내일","냄비","냄새","냇물","냉동","냉면","냉방","냉장고","넥타이","넷째","노동","노란색","노력","노인","녹음","녹차","녹화","논리","논문","논쟁","놀이","농구","농담","농민","농부","농업","농장","농촌","높이","눈동자","눈물","눈썹","뉴욕","느낌","늑대","능동적","능력","다방","다양성","다음","다이어트","다행","단계","단골","단독","단맛","단순","단어","단위","단점","단체","단추","단편","단풍","달걀","달러","달력","달리","닭고기","담당","담배","담요","담임","답변","답장","당근","당분간","당연히","당장","대규모","대낮","대단히","대답","대도시","대략","대량","대륙","대문","대부분","대신","대응","대장","대전","대접","대중","대책","대출","대충","대통령","대학","대한민국","대합실","대형","덩어리","데이트","도대체","도덕","도둑","도망","도서관","도심","도움","도입","도자기","도저히","도전","도중","도착","독감","독립","독서","독일","독창적","동화책","뒷모습","뒷산","딸아이","마누라","마늘","마당","마라톤","마련","마무리","마사지","마약","마요네즈","마을","마음","마이크","마중","마지막","마찬가지","마찰","마흔","막걸리","막내","막상","만남","만두","만세","만약","만일","만점","만족","만화","많이","말기","말씀","말투","맘대로","망원경","매년","매달","매력","매번","매스컴","매일","매장","맥주","먹이","먼저","먼지","멀리","메일","며느리","며칠","면담","멸치","명단","명령","명예","명의","명절","명칭","명함","모금","모니터","모델","모든","모범","모습","모양","모임","모조리","모집","모퉁이","목걸이","목록","목사","목소리","목숨","목적","목표","몰래","몸매","몸무게","몸살","몸속","몸짓","몸통","몹시","무관심","무궁화","무더위","무덤","무릎","무슨","무엇","무역","무용","무조건","무지개","무척","문구","문득","문법","문서","문제","문학","문화","물가","물건","물결","물고기","물론","물리학","물음","물질","물체","미국","미디어","미사일","미술","미역","미용실","미움","미인","미팅","미혼","민간","민족","민주","믿음","밀가루","밀리미터","밑바닥","바가지","바구니","바나나","바늘","바닥","바닷가","바람","바이러스","바탕","박물관","박사","박수","반대","반드시","반말","반발","반성","반응","반장","반죽","반지","반찬","받침","발가락","발걸음","발견","발달","발레","발목","발바닥","발생","발음","발자국","발전","발톱","발표","밤하늘","밥그릇","밥맛","밥상","밥솥","방금","방면","방문","방바닥","방법","방송","방식","방안","방울","방지","방학","방해","방향","배경","배꼽","배달","배드민턴","백두산","백색","백성","백인","백제","백화점","버릇","버섯","버튼","번개","번역","번지","번호","벌금","벌레","벌써","범위","범인","범죄","법률","법원","법적","법칙","베이징","벨트","변경","변동","변명","변신","변호사","변화","별도","별명","별일","병실","병아리","병원","보관","보너스","보라색","보람","보름","보상","보안","보자기","보장","보전","보존","보통","보편적","보험","복도","복사","복숭아","복습","볶음","본격적","본래","본부","본사","본성","본인","본질","볼펜","봉사","봉지","봉투","부근","부끄러움","부담","부동산","부문","부분","부산","부상","부엌","부인","부작용","부장","부정","부족","부지런히","부친","부탁","부품","부회장","북부","북한","분노","분량","분리","분명","분석","분야","분위기","분필","분홍색","불고기","불과","불교","불꽃","불만","불법","불빛","불안","불이익","불행","브랜드","비극","비난","비닐","비둘기","비디오","비로소","비만","비명","비밀","비바람","비빔밥","비상","비용","비율","비중","비타민","비판","빌딩","빗물","빗방울","빗줄기","빛깔","빨간색","빨래","빨리","사건","사계절","사나이","사냥","사람","사랑","사립","사모님","사물","사방","사상","사생활","사설","사슴","사실","사업","사용","사월","사장","사전","사진","사촌","사춘기","사탕","사투리","사흘","산길","산부인과","산업","산책","살림","살인","살짝","삼계탕","삼국","삼십","삼월","삼촌","상관","상금","상대","상류","상반기","상상","상식","상업","상인","상자","상점","상처","상추","상태","상표","상품","상황","새벽","색깔","색연필","생각","생명","생물","생방송","생산","생선","생신","생일","생활","서랍","서른","서명","서민","서비스","서양","서울","서적","서점","서쪽","서클","석사","석유","선거","선물","선배","선생","선수","선원","선장","선전","선택","선풍기","설거지","설날","설렁탕","설명","설문","설사","설악산","설치","설탕","섭씨","성공","성당","성명","성별","성인","성장","성적","성질","성함","세금","세미나","세상","세월","세종대왕","세탁","센터","센티미터","셋째","소규모","소극적","소금","소나기","소년","소득","소망","소문","소설","소속","소아과","소용","소원","소음","소중히","소지품","소질","소풍","소형","속담","속도","속옷","손가락","손길","손녀","손님","손등","손목","손뼉","손실","손질","손톱","손해","솔직히","솜씨","송아지","송이","송편","쇠고기","쇼핑","수건","수년","수단","수돗물","수동적","수면","수명","수박","수상","수석","수술","수시로","수업","수염","수영","수입","수준","수집","수출","수컷","수필","수학","수험생","수화기","숙녀","숙소","숙제","순간","순서","순수","순식간","순위","숟가락","술병","술집","숫자","스님","스물","스스로","스승","스웨터","스위치","스케이트","스튜디오","스트레스","스포츠","슬쩍","슬픔","습관","습기","승객","승리","승부","승용차","승진","시각","시간","시골","시금치","시나리오","시댁","시리즈","시멘트","시민","시부모","시선","시설","시스템","시아버지","시어머니","시월","시인","시일","시작","시장","시절","시점","시중","시즌","시집","시청","시합","시험","식구","식기","식당","식량","식료품","식물","식빵","식사","식생활","식초","식탁","식품","신고","신규","신념","신문","신발","신비","신사","신세","신용","신제품","신청","신체","신화","실감","실내","실력","실례","실망","실수","실습","실시","실장","실정","실질적","실천","실체","실컷","실태","실패","실험","실현","심리","심부름","심사","심장","심정","심판","쌍둥이","씨름","씨앗","아가씨","아나운서","아드님","아들","아쉬움","아스팔트","아시아","아울러","아저씨","아줌마","아직","아침","아파트","아프리카","아픔","아홉","아흔","악기","악몽","악수","안개","안경","안과","안내","안녕","안동","안방","안부","안주","알루미늄","알코올","암시","암컷","압력","앞날","앞문","애인","애정","액수","앨범","야간","야단","야옹","약간","약국","약속","약수","약점","약품","약혼녀","양념","양력","양말","양배추","양주","양파","어둠","어려움","어른","어젯밤","어쨌든","어쩌다가","어쩐지","언니","언덕","언론","언어","얼굴","얼른","얼음","얼핏","엄마","업무","업종","업체","엉덩이","엉망","엉터리","엊그제","에너지","에어컨","엔진","여건","여고생","여관","여군","여권","여대생","여덟","여동생","여든","여론","여름","여섯","여성","여왕","여인","여전히","여직원","여학생","여행","역사","역시","역할","연결","연구","연극","연기","연락","연설","연세","연속","연습","연애","연예인","연인","연장","연주","연출","연필","연합","연휴","열기","열매","열쇠","열심히","열정","열차","열흘","염려","엽서","영국","영남","영상","영양","영역","영웅","영원히","영하","영향","영혼","영화","옆구리","옆방","옆집","예감","예금","예방","예산","예상","예선","예술","예습","예식장","예약","예전","예절","예정","예컨대","옛날","오늘","오락","오랫동안","오렌지","오로지","오른발","오븐","오십","오염","오월","오전","오직","오징어","오페라","오피스텔","오히려","옥상","옥수수","온갖","온라인","온몸","온종일","온통","올가을","올림픽","올해","옷차림","와이셔츠","와인","완성","완전","왕비","왕자","왜냐하면","왠지","외갓집","외국","외로움","외삼촌","외출","외침","외할머니","왼발","왼손","왼쪽","요금","요일","요즘","요청","용기","용서","용어","우산","우선","우승","우연히","우정","우체국","우편","운동","운명","운반","운전","운행","울산","울음","움직임","웃어른","웃음","워낙","원고","원래","원서","원숭이","원인","원장","원피스","월급","월드컵","월세","월요일","웨이터","위반","위법","위성","위원","위험","위협","윗사람","유난히","유럽","유명","유물","유산","유적","유치원","유학","유행","유형","육군","육상","육십","육체","은행","음력","음료","음반","음성","음식","음악","음주","의견","의논","의문","의복","의식","의심","의외로","의욕","의원","의학","이것","이곳","이념","이놈","이달","이대로","이동","이렇게","이력서","이론적","이름","이민","이발소","이별","이불","이빨","이상","이성","이슬","이야기","이용","이웃","이월","이윽고","이익","이전","이중","이튿날","이틀","이혼","인간","인격","인공","인구","인근","인기","인도","인류","인물","인생","인쇄","인연","인원","인재","인종","인천","인체","인터넷","인하","인형","일곱","일기","일단","일대","일등","일반","일본","일부","일상","일생","일손","일요일","일월","일정","일종","일주일","일찍","일체","일치","일행","일회용","임금","임무","입대","입력","입맛","입사","입술","입시","입원","입장","입학","자가용","자격","자극","자동","자랑","자부심","자식","자신","자연","자원","자율","자전거","자정","자존심","자판","작가","작년","작성","작업","작용","작은딸","작품","잔디","잔뜩","잔치","잘못","잠깐","잠수함","잠시","잠옷","잠자리","잡지","장관","장군","장기간","장래","장례","장르","장마","장면","장모","장미","장비","장사","장소","장식","장애인","장인","장점","장차","장학금","재능","재빨리","재산","재생","재작년","재정","재채기","재판","재학","재활용","저것","저고리","저곳","저녁","저런","저렇게","저번","저울","저절로","저축","적극","적당히","적성","적용","적응","전개","전공","전기","전달","전라도","전망","전문","전반","전부","전세","전시","전용","전자","전쟁","전주","전철","전체","전통","전혀","전후","절대","절망","절반","절약","절차","점검","점수","점심","점원","점점","점차","접근","접시","접촉","젓가락","정거장","정도","정류장","정리","정말","정면","정문","정반대","정보","정부","정비","정상","정성","정오","정원","정장","정지","정치","정확히","제공","제과점","제대로","제목","제발","제법","제삿날","제안","제일","제작","제주도","제출","제품","제한","조각","조건","조금","조깅","조명","조미료","조상","조선","조용히","조절","조정","조직","존댓말","존재","졸업","졸음","종교","종로","종류","종소리","종업원","종종","종합","좌석","죄인","주관적","주름","주말","주머니","주먹","주문","주민","주방","주변","주식","주인","주일","주장","주전자","주택","준비","줄거리","줄기","줄무늬","중간","중계방송","중국","중년","중단","중독","중반","중부","중세","중소기업","중순","중앙","중요","중학교","즉석","즉시","즐거움","증가","증거","증권","증상","증세","지각","지갑","지경","지극히","지금","지급","지능","지름길","지리산","지방","지붕","지식","지역","지우개","지원","지적","지점","지진","지출","직선","직업","직원","직장","진급","진동","진로","진료","진리","진짜","진찰","진출","진통","진행","질문","질병","질서","짐작","집단","집안","집중","짜증","찌꺼기","차남","차라리","차량","차림","차별","차선","차츰","착각","찬물","찬성","참가","참기름","참새","참석","참여","참외","참조","찻잔","창가","창고","창구","창문","창밖","창작","창조","채널","채점","책가방","책방","책상","책임","챔피언","처벌","처음","천국","천둥","천장","천재","천천히","철도","철저히","철학","첫날","첫째","청년","청바지","청소","청춘","체계","체력","체온","체육","체중","체험","초등학생","초반","초밥","초상화","초순","초여름","초원","초저녁","초점","초청","초콜릿","촛불","총각","총리","총장","촬영","최근","최상","최선","최신","최악","최종","추석","추억","추진","추천","추측","축구","축소","축제","축하","출근","출발","출산","출신","출연","출입","출장","출판","충격","충고","충돌","충분히","충청도","취업","취직","취향","치약","친구","친척","칠십","칠월","칠판","침대","침묵","침실","칫솔","칭찬","카메라","카운터","칼국수","캐릭터","캠퍼스","캠페인","커튼","컨디션","컬러","컴퓨터","코끼리","코미디","콘서트","콜라","콤플렉스","콩나물","쾌감","쿠데타","크림","큰길","큰딸","큰소리","큰아들","큰어머니","큰일","큰절","클래식","클럽","킬로","타입","타자기","탁구","탁자","탄생","태권도","태양","태풍","택시","탤런트","터널","터미널","테니스","테스트","테이블","텔레비전","토론","토마토","토요일","통계","통과","통로","통신","통역","통일","통장","통제","통증","통합","통화","퇴근","퇴원","퇴직금","튀김","트럭","특급","특별","특성","특수","특징","특히","튼튼히","티셔츠","파란색","파일","파출소","판결","판단","판매","판사","팔십","팔월","팝송","패션","팩스","팩시밀리","팬티","퍼센트","페인트","편견","편의","편지","편히","평가","평균","평생","평소","평양","평일","평화","포스터","포인트","포장","포함","표면","표정","표준","표현","품목","품질","풍경","풍속","풍습","프랑스","프린터","플라스틱","피곤","피망","피아노","필름","필수","필요","필자","필통","핑계","하느님","하늘","하드웨어","하룻밤","하반기","하숙집","하순","하여튼","하지만","하천","하품","하필","학과","학교","학급","학기","학년","학력","학번","학부모","학비","학생","학술","학습","학용품","학원","학위","학자","학점","한계","한글","한꺼번에","한낮","한눈","한동안","한때","한라산","한마디","한문","한번","한복","한식","한여름","한쪽","할머니","할아버지","할인","함께","함부로","합격","합리적","항공","항구","항상","항의","해결","해군","해답","해당","해물","해석","해설","해수욕장","해안","핵심","핸드백","햄버거","햇볕","햇살","행동","행복","행사","행운","행위","향기","향상","향수","허락","허용","헬기","현관","현금","현대","현상","현실","현장","현재","현지","혈액","협력","형부","형사","형수","형식","형제","형태","형편","혜택","호기심","호남","호랑이","호박","호텔","호흡","혹시","홀로","홈페이지","홍보","홍수","홍차","화면","화분","화살","화요일","화장","화학","확보","확인","확장","확정","환갑","환경","환영","환율","환자","활기","활동","활발히","활용","활짝","회견","회관","회복","회색","회원","회장","회전","횟수","횡단보도","효율적","후반","후춧가루","훈련","훨씬","휴식","휴일","흉내","흐름","흑백","흑인","흔적","흔히","흥미","흥분","희곡","희망","희생","흰색","힘껏"]')},71945:function(eb){"use strict";eb.exports=JSON.parse('["abacate","abaixo","abalar","abater","abduzir","abelha","aberto","abismo","abotoar","abranger","abreviar","abrigar","abrupto","absinto","absoluto","absurdo","abutre","acabado","acalmar","acampar","acanhar","acaso","aceitar","acelerar","acenar","acervo","acessar","acetona","achatar","acidez","acima","acionado","acirrar","aclamar","aclive","acolhida","acomodar","acoplar","acordar","acumular","acusador","adaptar","adega","adentro","adepto","adequar","aderente","adesivo","adeus","adiante","aditivo","adjetivo","adjunto","admirar","adorar","adquirir","adubo","adverso","advogado","aeronave","afastar","aferir","afetivo","afinador","afivelar","aflito","afluente","afrontar","agachar","agarrar","agasalho","agenciar","agilizar","agiota","agitado","agora","agradar","agreste","agrupar","aguardar","agulha","ajoelhar","ajudar","ajustar","alameda","alarme","alastrar","alavanca","albergue","albino","alcatra","aldeia","alecrim","alegria","alertar","alface","alfinete","algum","alheio","aliar","alicate","alienar","alinhar","aliviar","almofada","alocar","alpiste","alterar","altitude","alucinar","alugar","aluno","alusivo","alvo","amaciar","amador","amarelo","amassar","ambas","ambiente","ameixa","amenizar","amido","amistoso","amizade","amolador","amontoar","amoroso","amostra","amparar","ampliar","ampola","anagrama","analisar","anarquia","anatomia","andaime","anel","anexo","angular","animar","anjo","anomalia","anotado","ansioso","anterior","anuidade","anunciar","anzol","apagador","apalpar","apanhado","apego","apelido","apertada","apesar","apetite","apito","aplauso","aplicada","apoio","apontar","aposta","aprendiz","aprovar","aquecer","arame","aranha","arara","arcada","ardente","areia","arejar","arenito","aresta","argiloso","argola","arma","arquivo","arraial","arrebate","arriscar","arroba","arrumar","arsenal","arterial","artigo","arvoredo","asfaltar","asilado","aspirar","assador","assinar","assoalho","assunto","astral","atacado","atadura","atalho","atarefar","atear","atender","aterro","ateu","atingir","atirador","ativo","atoleiro","atracar","atrevido","atriz","atual","atum","auditor","aumentar","aura","aurora","autismo","autoria","autuar","avaliar","avante","avaria","avental","avesso","aviador","avisar","avulso","axila","azarar","azedo","azeite","azulejo","babar","babosa","bacalhau","bacharel","bacia","bagagem","baiano","bailar","baioneta","bairro","baixista","bajular","baleia","baliza","balsa","banal","bandeira","banho","banir","banquete","barato","barbado","baronesa","barraca","barulho","baseado","bastante","batata","batedor","batida","batom","batucar","baunilha","beber","beijo","beirada","beisebol","beldade","beleza","belga","beliscar","bendito","bengala","benzer","berimbau","berlinda","berro","besouro","bexiga","bezerro","bico","bicudo","bienal","bifocal","bifurcar","bigorna","bilhete","bimestre","bimotor","biologia","biombo","biosfera","bipolar","birrento","biscoito","bisneto","bispo","bissexto","bitola","bizarro","blindado","bloco","bloquear","boato","bobagem","bocado","bocejo","bochecha","boicotar","bolada","boletim","bolha","bolo","bombeiro","bonde","boneco","bonita","borbulha","borda","boreal","borracha","bovino","boxeador","branco","brasa","braveza","breu","briga","brilho","brincar","broa","brochura","bronzear","broto","bruxo","bucha","budismo","bufar","bule","buraco","busca","busto","buzina","cabana","cabelo","cabide","cabo","cabrito","cacau","cacetada","cachorro","cacique","cadastro","cadeado","cafezal","caiaque","caipira","caixote","cajado","caju","calafrio","calcular","caldeira","calibrar","calmante","calota","camada","cambista","camisa","camomila","campanha","camuflar","canavial","cancelar","caneta","canguru","canhoto","canivete","canoa","cansado","cantar","canudo","capacho","capela","capinar","capotar","capricho","captador","capuz","caracol","carbono","cardeal","careca","carimbar","carneiro","carpete","carreira","cartaz","carvalho","casaco","casca","casebre","castelo","casulo","catarata","cativar","caule","causador","cautelar","cavalo","caverna","cebola","cedilha","cegonha","celebrar","celular","cenoura","censo","centeio","cercar","cerrado","certeiro","cerveja","cetim","cevada","chacota","chaleira","chamado","chapada","charme","chatice","chave","chefe","chegada","cheiro","cheque","chicote","chifre","chinelo","chocalho","chover","chumbo","chutar","chuva","cicatriz","ciclone","cidade","cidreira","ciente","cigana","cimento","cinto","cinza","ciranda","circuito","cirurgia","citar","clareza","clero","clicar","clone","clube","coado","coagir","cobaia","cobertor","cobrar","cocada","coelho","coentro","coeso","cogumelo","coibir","coifa","coiote","colar","coleira","colher","colidir","colmeia","colono","coluna","comando","combinar","comentar","comitiva","comover","complexo","comum","concha","condor","conectar","confuso","congelar","conhecer","conjugar","consumir","contrato","convite","cooperar","copeiro","copiador","copo","coquetel","coragem","cordial","corneta","coronha","corporal","correio","cortejo","coruja","corvo","cosseno","costela","cotonete","couro","couve","covil","cozinha","cratera","cravo","creche","credor","creme","crer","crespo","criada","criminal","crioulo","crise","criticar","crosta","crua","cruzeiro","cubano","cueca","cuidado","cujo","culatra","culminar","culpar","cultura","cumprir","cunhado","cupido","curativo","curral","cursar","curto","cuspir","custear","cutelo","damasco","datar","debater","debitar","deboche","debulhar","decalque","decimal","declive","decote","decretar","dedal","dedicado","deduzir","defesa","defumar","degelo","degrau","degustar","deitado","deixar","delator","delegado","delinear","delonga","demanda","demitir","demolido","dentista","depenado","depilar","depois","depressa","depurar","deriva","derramar","desafio","desbotar","descanso","desenho","desfiado","desgaste","desigual","deslize","desmamar","desova","despesa","destaque","desviar","detalhar","detentor","detonar","detrito","deusa","dever","devido","devotado","dezena","diagrama","dialeto","didata","difuso","digitar","dilatado","diluente","diminuir","dinastia","dinheiro","diocese","direto","discreta","disfarce","disparo","disquete","dissipar","distante","ditador","diurno","diverso","divisor","divulgar","dizer","dobrador","dolorido","domador","dominado","donativo","donzela","dormente","dorsal","dosagem","dourado","doutor","drenagem","drible","drogaria","duelar","duende","dueto","duplo","duquesa","durante","duvidoso","eclodir","ecoar","ecologia","edificar","edital","educado","efeito","efetivar","ejetar","elaborar","eleger","eleitor","elenco","elevador","eliminar","elogiar","embargo","embolado","embrulho","embutido","emenda","emergir","emissor","empatia","empenho","empinado","empolgar","emprego","empurrar","emulador","encaixe","encenado","enchente","encontro","endeusar","endossar","enfaixar","enfeite","enfim","engajado","engenho","englobar","engomado","engraxar","enguia","enjoar","enlatar","enquanto","enraizar","enrolado","enrugar","ensaio","enseada","ensino","ensopado","entanto","enteado","entidade","entortar","entrada","entulho","envergar","enviado","envolver","enxame","enxerto","enxofre","enxuto","epiderme","equipar","ereto","erguido","errata","erva","ervilha","esbanjar","esbelto","escama","escola","escrita","escuta","esfinge","esfolar","esfregar","esfumado","esgrima","esmalte","espanto","espelho","espiga","esponja","espreita","espumar","esquerda","estaca","esteira","esticar","estofado","estrela","estudo","esvaziar","etanol","etiqueta","euforia","europeu","evacuar","evaporar","evasivo","eventual","evidente","evoluir","exagero","exalar","examinar","exato","exausto","excesso","excitar","exclamar","executar","exemplo","exibir","exigente","exonerar","expandir","expelir","expirar","explanar","exposto","expresso","expulsar","externo","extinto","extrato","fabricar","fabuloso","faceta","facial","fada","fadiga","faixa","falar","falta","familiar","fandango","fanfarra","fantoche","fardado","farelo","farinha","farofa","farpa","fartura","fatia","fator","favorita","faxina","fazenda","fechado","feijoada","feirante","felino","feminino","fenda","feno","fera","feriado","ferrugem","ferver","festejar","fetal","feudal","fiapo","fibrose","ficar","ficheiro","figurado","fileira","filho","filme","filtrar","firmeza","fisgada","fissura","fita","fivela","fixador","fixo","flacidez","flamingo","flanela","flechada","flora","flutuar","fluxo","focal","focinho","fofocar","fogo","foguete","foice","folgado","folheto","forjar","formiga","forno","forte","fosco","fossa","fragata","fralda","frango","frasco","fraterno","freira","frente","fretar","frieza","friso","fritura","fronha","frustrar","fruteira","fugir","fulano","fuligem","fundar","fungo","funil","furador","furioso","futebol","gabarito","gabinete","gado","gaiato","gaiola","gaivota","galega","galho","galinha","galocha","ganhar","garagem","garfo","gargalo","garimpo","garoupa","garrafa","gasoduto","gasto","gata","gatilho","gaveta","gazela","gelado","geleia","gelo","gemada","gemer","gemido","generoso","gengiva","genial","genoma","genro","geologia","gerador","germinar","gesso","gestor","ginasta","gincana","gingado","girafa","girino","glacial","glicose","global","glorioso","goela","goiaba","golfe","golpear","gordura","gorjeta","gorro","gostoso","goteira","governar","gracejo","gradual","grafite","gralha","grampo","granada","gratuito","graveto","graxa","grego","grelhar","greve","grilo","grisalho","gritaria","grosso","grotesco","grudado","grunhido","gruta","guache","guarani","guaxinim","guerrear","guiar","guincho","guisado","gula","guloso","guru","habitar","harmonia","haste","haver","hectare","herdar","heresia","hesitar","hiato","hibernar","hidratar","hiena","hino","hipismo","hipnose","hipoteca","hoje","holofote","homem","honesto","honrado","hormonal","hospedar","humorado","iate","ideia","idoso","ignorado","igreja","iguana","ileso","ilha","iludido","iluminar","ilustrar","imagem","imediato","imenso","imersivo","iminente","imitador","imortal","impacto","impedir","implante","impor","imprensa","impune","imunizar","inalador","inapto","inativo","incenso","inchar","incidir","incluir","incolor","indeciso","indireto","indutor","ineficaz","inerente","infantil","infestar","infinito","inflamar","informal","infrator","ingerir","inibido","inicial","inimigo","injetar","inocente","inodoro","inovador","inox","inquieto","inscrito","inseto","insistir","inspetor","instalar","insulto","intacto","integral","intimar","intocado","intriga","invasor","inverno","invicto","invocar","iogurte","iraniano","ironizar","irreal","irritado","isca","isento","isolado","isqueiro","italiano","janeiro","jangada","janta","jararaca","jardim","jarro","jasmim","jato","javali","jazida","jejum","joaninha","joelhada","jogador","joia","jornal","jorrar","jovem","juba","judeu","judoca","juiz","julgador","julho","jurado","jurista","juro","justa","labareda","laboral","lacre","lactante","ladrilho","lagarta","lagoa","laje","lamber","lamentar","laminar","lampejo","lanche","lapidar","lapso","laranja","lareira","largura","lasanha","lastro","lateral","latido","lavanda","lavoura","lavrador","laxante","lazer","lealdade","lebre","legado","legendar","legista","leigo","leiloar","leitura","lembrete","leme","lenhador","lentilha","leoa","lesma","leste","letivo","letreiro","levar","leveza","levitar","liberal","libido","liderar","ligar","ligeiro","limitar","limoeiro","limpador","linda","linear","linhagem","liquidez","listagem","lisura","litoral","livro","lixa","lixeira","locador","locutor","lojista","lombo","lona","longe","lontra","lorde","lotado","loteria","loucura","lousa","louvar","luar","lucidez","lucro","luneta","lustre","lutador","luva","macaco","macete","machado","macio","madeira","madrinha","magnata","magreza","maior","mais","malandro","malha","malote","maluco","mamilo","mamoeiro","mamute","manada","mancha","mandato","manequim","manhoso","manivela","manobrar","mansa","manter","manusear","mapeado","maquinar","marcador","maresia","marfim","margem","marinho","marmita","maroto","marquise","marreco","martelo","marujo","mascote","masmorra","massagem","mastigar","matagal","materno","matinal","matutar","maxilar","medalha","medida","medusa","megafone","meiga","melancia","melhor","membro","memorial","menino","menos","mensagem","mental","merecer","mergulho","mesada","mesclar","mesmo","mesquita","mestre","metade","meteoro","metragem","mexer","mexicano","micro","migalha","migrar","milagre","milenar","milhar","mimado","minerar","minhoca","ministro","minoria","miolo","mirante","mirtilo","misturar","mocidade","moderno","modular","moeda","moer","moinho","moita","moldura","moleza","molho","molinete","molusco","montanha","moqueca","morango","morcego","mordomo","morena","mosaico","mosquete","mostarda","motel","motim","moto","motriz","muda","muito","mulata","mulher","multar","mundial","munido","muralha","murcho","muscular","museu","musical","nacional","nadador","naja","namoro","narina","narrado","nascer","nativa","natureza","navalha","navegar","navio","neblina","nebuloso","negativa","negociar","negrito","nervoso","neta","neural","nevasca","nevoeiro","ninar","ninho","nitidez","nivelar","nobreza","noite","noiva","nomear","nominal","nordeste","nortear","notar","noticiar","noturno","novelo","novilho","novo","nublado","nudez","numeral","nupcial","nutrir","nuvem","obcecado","obedecer","objetivo","obrigado","obscuro","obstetra","obter","obturar","ocidente","ocioso","ocorrer","oculista","ocupado","ofegante","ofensiva","oferenda","oficina","ofuscado","ogiva","olaria","oleoso","olhar","oliveira","ombro","omelete","omisso","omitir","ondulado","oneroso","ontem","opcional","operador","oponente","oportuno","oposto","orar","orbitar","ordem","ordinal","orfanato","orgasmo","orgulho","oriental","origem","oriundo","orla","ortodoxo","orvalho","oscilar","ossada","osso","ostentar","otimismo","ousadia","outono","outubro","ouvido","ovelha","ovular","oxidar","oxigenar","pacato","paciente","pacote","pactuar","padaria","padrinho","pagar","pagode","painel","pairar","paisagem","palavra","palestra","palheta","palito","palmada","palpitar","pancada","panela","panfleto","panqueca","pantanal","papagaio","papelada","papiro","parafina","parcial","pardal","parede","partida","pasmo","passado","pastel","patamar","patente","patinar","patrono","paulada","pausar","peculiar","pedalar","pedestre","pediatra","pedra","pegada","peitoral","peixe","pele","pelicano","penca","pendurar","peneira","penhasco","pensador","pente","perceber","perfeito","pergunta","perito","permitir","perna","perplexo","persiana","pertence","peruca","pescado","pesquisa","pessoa","petiscar","piada","picado","piedade","pigmento","pilastra","pilhado","pilotar","pimenta","pincel","pinguim","pinha","pinote","pintar","pioneiro","pipoca","piquete","piranha","pires","pirueta","piscar","pistola","pitanga","pivete","planta","plaqueta","platina","plebeu","plumagem","pluvial","pneu","poda","poeira","poetisa","polegada","policiar","poluente","polvilho","pomar","pomba","ponderar","pontaria","populoso","porta","possuir","postal","pote","poupar","pouso","povoar","praia","prancha","prato","praxe","prece","predador","prefeito","premiar","prensar","preparar","presilha","pretexto","prevenir","prezar","primata","princesa","prisma","privado","processo","produto","profeta","proibido","projeto","prometer","propagar","prosa","protetor","provador","publicar","pudim","pular","pulmonar","pulseira","punhal","punir","pupilo","pureza","puxador","quadra","quantia","quarto","quase","quebrar","queda","queijo","quente","querido","quimono","quina","quiosque","rabanada","rabisco","rachar","racionar","radial","raiar","rainha","raio","raiva","rajada","ralado","ramal","ranger","ranhura","rapadura","rapel","rapidez","raposa","raquete","raridade","rasante","rascunho","rasgar","raspador","rasteira","rasurar","ratazana","ratoeira","realeza","reanimar","reaver","rebaixar","rebelde","rebolar","recado","recente","recheio","recibo","recordar","recrutar","recuar","rede","redimir","redonda","reduzida","reenvio","refinar","refletir","refogar","refresco","refugiar","regalia","regime","regra","reinado","reitor","rejeitar","relativo","remador","remendo","remorso","renovado","reparo","repelir","repleto","repolho","represa","repudiar","requerer","resenha","resfriar","resgatar","residir","resolver","respeito","ressaca","restante","resumir","retalho","reter","retirar","retomada","retratar","revelar","revisor","revolta","riacho","rica","rigidez","rigoroso","rimar","ringue","risada","risco","risonho","robalo","rochedo","rodada","rodeio","rodovia","roedor","roleta","romano","roncar","rosado","roseira","rosto","rota","roteiro","rotina","rotular","rouco","roupa","roxo","rubro","rugido","rugoso","ruivo","rumo","rupestre","russo","sabor","saciar","sacola","sacudir","sadio","safira","saga","sagrada","saibro","salada","saleiro","salgado","saliva","salpicar","salsicha","saltar","salvador","sambar","samurai","sanar","sanfona","sangue","sanidade","sapato","sarda","sargento","sarjeta","saturar","saudade","saxofone","sazonal","secar","secular","seda","sedento","sediado","sedoso","sedutor","segmento","segredo","segundo","seiva","seleto","selvagem","semanal","semente","senador","senhor","sensual","sentado","separado","sereia","seringa","serra","servo","setembro","setor","sigilo","silhueta","silicone","simetria","simpatia","simular","sinal","sincero","singular","sinopse","sintonia","sirene","siri","situado","soberano","sobra","socorro","sogro","soja","solda","soletrar","solteiro","sombrio","sonata","sondar","sonegar","sonhador","sono","soprano","soquete","sorrir","sorteio","sossego","sotaque","soterrar","sovado","sozinho","suavizar","subida","submerso","subsolo","subtrair","sucata","sucesso","suco","sudeste","sufixo","sugador","sugerir","sujeito","sulfato","sumir","suor","superior","suplicar","suposto","suprimir","surdina","surfista","surpresa","surreal","surtir","suspiro","sustento","tabela","tablete","tabuada","tacho","tagarela","talher","talo","talvez","tamanho","tamborim","tampa","tangente","tanto","tapar","tapioca","tardio","tarefa","tarja","tarraxa","tatuagem","taurino","taxativo","taxista","teatral","tecer","tecido","teclado","tedioso","teia","teimar","telefone","telhado","tempero","tenente","tensor","tentar","termal","terno","terreno","tese","tesoura","testado","teto","textura","texugo","tiara","tigela","tijolo","timbrar","timidez","tingido","tinteiro","tiragem","titular","toalha","tocha","tolerar","tolice","tomada","tomilho","tonel","tontura","topete","tora","torcido","torneio","torque","torrada","torto","tostar","touca","toupeira","toxina","trabalho","tracejar","tradutor","trafegar","trajeto","trama","trancar","trapo","traseiro","tratador","travar","treino","tremer","trepidar","trevo","triagem","tribo","triciclo","tridente","trilogia","trindade","triplo","triturar","triunfal","trocar","trombeta","trova","trunfo","truque","tubular","tucano","tudo","tulipa","tupi","turbo","turma","turquesa","tutelar","tutorial","uivar","umbigo","unha","unidade","uniforme","urologia","urso","urtiga","urubu","usado","usina","usufruir","vacina","vadiar","vagaroso","vaidoso","vala","valente","validade","valores","vantagem","vaqueiro","varanda","vareta","varrer","vascular","vasilha","vassoura","vazar","vazio","veado","vedar","vegetar","veicular","veleiro","velhice","veludo","vencedor","vendaval","venerar","ventre","verbal","verdade","vereador","vergonha","vermelho","verniz","versar","vertente","vespa","vestido","vetorial","viaduto","viagem","viajar","viatura","vibrador","videira","vidraria","viela","viga","vigente","vigiar","vigorar","vilarejo","vinco","vinheta","vinil","violeta","virada","virtude","visitar","visto","vitral","viveiro","vizinho","voador","voar","vogal","volante","voleibol","voltagem","volumoso","vontade","vulto","vuvuzela","xadrez","xarope","xeque","xeretar","xerife","xingar","zangado","zarpar","zebu","zelador","zombar","zoologia","zumbido"]')},80659:function(eb){"use strict";eb.exports=JSON.parse('["ábaco","abdomen","abeja","abierto","abogado","abono","aborto","abrazo","abrir","abuelo","abuso","acabar","academia","acceso","acción","aceite","acelga","acento","aceptar","ácido","aclarar","acné","acoger","acoso","activo","acto","actriz","actuar","acudir","acuerdo","acusar","adicto","admitir","adoptar","adorno","aduana","adulto","aéreo","afectar","afición","afinar","afirmar","ágil","agitar","agonía","agosto","agotar","agregar","agrio","agua","agudo","águila","aguja","ahogo","ahorro","aire","aislar","ajedrez","ajeno","ajuste","alacrán","alambre","alarma","alba","álbum","alcalde","aldea","alegre","alejar","alerta","aleta","alfiler","alga","algodón","aliado","aliento","alivio","alma","almeja","almíbar","altar","alteza","altivo","alto","altura","alumno","alzar","amable","amante","amapola","amargo","amasar","ámbar","ámbito","ameno","amigo","amistad","amor","amparo","amplio","ancho","anciano","ancla","andar","andén","anemia","ángulo","anillo","ánimo","anís","anotar","antena","antiguo","antojo","anual","anular","anuncio","añadir","añejo","año","apagar","aparato","apetito","apio","aplicar","apodo","aporte","apoyo","aprender","aprobar","apuesta","apuro","arado","araña","arar","árbitro","árbol","arbusto","archivo","arco","arder","ardilla","arduo","área","árido","aries","armonía","arnés","aroma","arpa","arpón","arreglo","arroz","arruga","arte","artista","asa","asado","asalto","ascenso","asegurar","aseo","asesor","asiento","asilo","asistir","asno","asombro","áspero","astilla","astro","astuto","asumir","asunto","atajo","ataque","atar","atento","ateo","ático","atleta","átomo","atraer","atroz","atún","audaz","audio","auge","aula","aumento","ausente","autor","aval","avance","avaro","ave","avellana","avena","avestruz","avión","aviso","ayer","ayuda","ayuno","azafrán","azar","azote","azúcar","azufre","azul","baba","babor","bache","bahía","baile","bajar","balanza","balcón","balde","bambú","banco","banda","baño","barba","barco","barniz","barro","báscula","bastón","basura","batalla","batería","batir","batuta","baúl","bazar","bebé","bebida","bello","besar","beso","bestia","bicho","bien","bingo","blanco","bloque","blusa","boa","bobina","bobo","boca","bocina","boda","bodega","boina","bola","bolero","bolsa","bomba","bondad","bonito","bono","bonsái","borde","borrar","bosque","bote","botín","bóveda","bozal","bravo","brazo","brecha","breve","brillo","brinco","brisa","broca","broma","bronce","brote","bruja","brusco","bruto","buceo","bucle","bueno","buey","bufanda","bufón","búho","buitre","bulto","burbuja","burla","burro","buscar","butaca","buzón","caballo","cabeza","cabina","cabra","cacao","cadáver","cadena","caer","café","caída","caimán","caja","cajón","cal","calamar","calcio","caldo","calidad","calle","calma","calor","calvo","cama","cambio","camello","camino","campo","cáncer","candil","canela","canguro","canica","canto","caña","cañón","caoba","caos","capaz","capitán","capote","captar","capucha","cara","carbón","cárcel","careta","carga","cariño","carne","carpeta","carro","carta","casa","casco","casero","caspa","castor","catorce","catre","caudal","causa","cazo","cebolla","ceder","cedro","celda","célebre","celoso","célula","cemento","ceniza","centro","cerca","cerdo","cereza","cero","cerrar","certeza","césped","cetro","chacal","chaleco","champú","chancla","chapa","charla","chico","chiste","chivo","choque","choza","chuleta","chupar","ciclón","ciego","cielo","cien","cierto","cifra","cigarro","cima","cinco","cine","cinta","ciprés","circo","ciruela","cisne","cita","ciudad","clamor","clan","claro","clase","clave","cliente","clima","clínica","cobre","cocción","cochino","cocina","coco","código","codo","cofre","coger","cohete","cojín","cojo","cola","colcha","colegio","colgar","colina","collar","colmo","columna","combate","comer","comida","cómodo","compra","conde","conejo","conga","conocer","consejo","contar","copa","copia","corazón","corbata","corcho","cordón","corona","correr","coser","cosmos","costa","cráneo","cráter","crear","crecer","creído","crema","cría","crimen","cripta","crisis","cromo","crónica","croqueta","crudo","cruz","cuadro","cuarto","cuatro","cubo","cubrir","cuchara","cuello","cuento","cuerda","cuesta","cueva","cuidar","culebra","culpa","culto","cumbre","cumplir","cuna","cuneta","cuota","cupón","cúpula","curar","curioso","curso","curva","cutis","dama","danza","dar","dardo","dátil","deber","débil","década","decir","dedo","defensa","definir","dejar","delfín","delgado","delito","demora","denso","dental","deporte","derecho","derrota","desayuno","deseo","desfile","desnudo","destino","desvío","detalle","detener","deuda","día","diablo","diadema","diamante","diana","diario","dibujo","dictar","diente","dieta","diez","difícil","digno","dilema","diluir","dinero","directo","dirigir","disco","diseño","disfraz","diva","divino","doble","doce","dolor","domingo","don","donar","dorado","dormir","dorso","dos","dosis","dragón","droga","ducha","duda","duelo","dueño","dulce","dúo","duque","durar","dureza","duro","ébano","ebrio","echar","eco","ecuador","edad","edición","edificio","editor","educar","efecto","eficaz","eje","ejemplo","elefante","elegir","elemento","elevar","elipse","élite","elixir","elogio","eludir","embudo","emitir","emoción","empate","empeño","empleo","empresa","enano","encargo","enchufe","encía","enemigo","enero","enfado","enfermo","engaño","enigma","enlace","enorme","enredo","ensayo","enseñar","entero","entrar","envase","envío","época","equipo","erizo","escala","escena","escolar","escribir","escudo","esencia","esfera","esfuerzo","espada","espejo","espía","esposa","espuma","esquí","estar","este","estilo","estufa","etapa","eterno","ética","etnia","evadir","evaluar","evento","evitar","exacto","examen","exceso","excusa","exento","exigir","exilio","existir","éxito","experto","explicar","exponer","extremo","fábrica","fábula","fachada","fácil","factor","faena","faja","falda","fallo","falso","faltar","fama","familia","famoso","faraón","farmacia","farol","farsa","fase","fatiga","fauna","favor","fax","febrero","fecha","feliz","feo","feria","feroz","fértil","fervor","festín","fiable","fianza","fiar","fibra","ficción","ficha","fideo","fiebre","fiel","fiera","fiesta","figura","fijar","fijo","fila","filete","filial","filtro","fin","finca","fingir","finito","firma","flaco","flauta","flecha","flor","flota","fluir","flujo","flúor","fobia","foca","fogata","fogón","folio","folleto","fondo","forma","forro","fortuna","forzar","fosa","foto","fracaso","frágil","franja","frase","fraude","freír","freno","fresa","frío","frito","fruta","fuego","fuente","fuerza","fuga","fumar","función","funda","furgón","furia","fusil","fútbol","futuro","gacela","gafas","gaita","gajo","gala","galería","gallo","gamba","ganar","gancho","ganga","ganso","garaje","garza","gasolina","gastar","gato","gavilán","gemelo","gemir","gen","género","genio","gente","geranio","gerente","germen","gesto","gigante","gimnasio","girar","giro","glaciar","globo","gloria","gol","golfo","goloso","golpe","goma","gordo","gorila","gorra","gota","goteo","gozar","grada","gráfico","grano","grasa","gratis","grave","grieta","grillo","gripe","gris","grito","grosor","grúa","grueso","grumo","grupo","guante","guapo","guardia","guerra","guía","guiño","guion","guiso","guitarra","gusano","gustar","haber","hábil","hablar","hacer","hacha","hada","hallar","hamaca","harina","haz","hazaña","hebilla","hebra","hecho","helado","helio","hembra","herir","hermano","héroe","hervir","hielo","hierro","hígado","higiene","hijo","himno","historia","hocico","hogar","hoguera","hoja","hombre","hongo","honor","honra","hora","hormiga","horno","hostil","hoyo","hueco","huelga","huerta","hueso","huevo","huida","huir","humano","húmedo","humilde","humo","hundir","huracán","hurto","icono","ideal","idioma","ídolo","iglesia","iglú","igual","ilegal","ilusión","imagen","imán","imitar","impar","imperio","imponer","impulso","incapaz","índice","inerte","infiel","informe","ingenio","inicio","inmenso","inmune","innato","insecto","instante","interés","íntimo","intuir","inútil","invierno","ira","iris","ironía","isla","islote","jabalí","jabón","jamón","jarabe","jardín","jarra","jaula","jazmín","jefe","jeringa","jinete","jornada","joroba","joven","joya","juerga","jueves","juez","jugador","jugo","juguete","juicio","junco","jungla","junio","juntar","júpiter","jurar","justo","juvenil","juzgar","kilo","koala","labio","lacio","lacra","lado","ladrón","lagarto","lágrima","laguna","laico","lamer","lámina","lámpara","lana","lancha","langosta","lanza","lápiz","largo","larva","lástima","lata","látex","latir","laurel","lavar","lazo","leal","lección","leche","lector","leer","legión","legumbre","lejano","lengua","lento","leña","león","leopardo","lesión","letal","letra","leve","leyenda","libertad","libro","licor","líder","lidiar","lienzo","liga","ligero","lima","límite","limón","limpio","lince","lindo","línea","lingote","lino","linterna","líquido","liso","lista","litera","litio","litro","llaga","llama","llanto","llave","llegar","llenar","llevar","llorar","llover","lluvia","lobo","loción","loco","locura","lógica","logro","lombriz","lomo","lonja","lote","lucha","lucir","lugar","lujo","luna","lunes","lupa","lustro","luto","luz","maceta","macho","madera","madre","maduro","maestro","mafia","magia","mago","maíz","maldad","maleta","malla","malo","mamá","mambo","mamut","manco","mando","manejar","manga","maniquí","manjar","mano","manso","manta","mañana","mapa","máquina","mar","marco","marea","marfil","margen","marido","mármol","marrón","martes","marzo","masa","máscara","masivo","matar","materia","matiz","matriz","máximo","mayor","mazorca","mecha","medalla","medio","médula","mejilla","mejor","melena","melón","memoria","menor","mensaje","mente","menú","mercado","merengue","mérito","mes","mesón","meta","meter","método","metro","mezcla","miedo","miel","miembro","miga","mil","milagro","militar","millón","mimo","mina","minero","mínimo","minuto","miope","mirar","misa","miseria","misil","mismo","mitad","mito","mochila","moción","moda","modelo","moho","mojar","molde","moler","molino","momento","momia","monarca","moneda","monja","monto","moño","morada","morder","moreno","morir","morro","morsa","mortal","mosca","mostrar","motivo","mover","móvil","mozo","mucho","mudar","mueble","muela","muerte","muestra","mugre","mujer","mula","muleta","multa","mundo","muñeca","mural","muro","músculo","museo","musgo","música","muslo","nácar","nación","nadar","naipe","naranja","nariz","narrar","nasal","natal","nativo","natural","náusea","naval","nave","navidad","necio","néctar","negar","negocio","negro","neón","nervio","neto","neutro","nevar","nevera","nicho","nido","niebla","nieto","niñez","niño","nítido","nivel","nobleza","noche","nómina","noria","norma","norte","nota","noticia","novato","novela","novio","nube","nuca","núcleo","nudillo","nudo","nuera","nueve","nuez","nulo","número","nutria","oasis","obeso","obispo","objeto","obra","obrero","observar","obtener","obvio","oca","ocaso","océano","ochenta","ocho","ocio","ocre","octavo","octubre","oculto","ocupar","ocurrir","odiar","odio","odisea","oeste","ofensa","oferta","oficio","ofrecer","ogro","oído","oír","ojo","ola","oleada","olfato","olivo","olla","olmo","olor","olvido","ombligo","onda","onza","opaco","opción","ópera","opinar","oponer","optar","óptica","opuesto","oración","orador","oral","órbita","orca","orden","oreja","órgano","orgía","orgullo","oriente","origen","orilla","oro","orquesta","oruga","osadía","oscuro","osezno","oso","ostra","otoño","otro","oveja","óvulo","óxido","oxígeno","oyente","ozono","pacto","padre","paella","página","pago","país","pájaro","palabra","palco","paleta","pálido","palma","paloma","palpar","pan","panal","pánico","pantera","pañuelo","papá","papel","papilla","paquete","parar","parcela","pared","parir","paro","párpado","parque","párrafo","parte","pasar","paseo","pasión","paso","pasta","pata","patio","patria","pausa","pauta","pavo","payaso","peatón","pecado","pecera","pecho","pedal","pedir","pegar","peine","pelar","peldaño","pelea","peligro","pellejo","pelo","peluca","pena","pensar","peñón","peón","peor","pepino","pequeño","pera","percha","perder","pereza","perfil","perico","perla","permiso","perro","persona","pesa","pesca","pésimo","pestaña","pétalo","petróleo","pez","pezuña","picar","pichón","pie","piedra","pierna","pieza","pijama","pilar","piloto","pimienta","pino","pintor","pinza","piña","piojo","pipa","pirata","pisar","piscina","piso","pista","pitón","pizca","placa","plan","plata","playa","plaza","pleito","pleno","plomo","pluma","plural","pobre","poco","poder","podio","poema","poesía","poeta","polen","policía","pollo","polvo","pomada","pomelo","pomo","pompa","poner","porción","portal","posada","poseer","posible","poste","potencia","potro","pozo","prado","precoz","pregunta","premio","prensa","preso","previo","primo","príncipe","prisión","privar","proa","probar","proceso","producto","proeza","profesor","programa","prole","promesa","pronto","propio","próximo","prueba","público","puchero","pudor","pueblo","puerta","puesto","pulga","pulir","pulmón","pulpo","pulso","puma","punto","puñal","puño","pupa","pupila","puré","quedar","queja","quemar","querer","queso","quieto","química","quince","quitar","rábano","rabia","rabo","ración","radical","raíz","rama","rampa","rancho","rango","rapaz","rápido","rapto","rasgo","raspa","rato","rayo","raza","razón","reacción","realidad","rebaño","rebote","recaer","receta","rechazo","recoger","recreo","recto","recurso","red","redondo","reducir","reflejo","reforma","refrán","refugio","regalo","regir","regla","regreso","rehén","reino","reír","reja","relato","relevo","relieve","relleno","reloj","remar","remedio","remo","rencor","rendir","renta","reparto","repetir","reposo","reptil","res","rescate","resina","respeto","resto","resumen","retiro","retorno","retrato","reunir","revés","revista","rey","rezar","rico","riego","rienda","riesgo","rifa","rígido","rigor","rincón","riñón","río","riqueza","risa","ritmo","rito","rizo","roble","roce","rociar","rodar","rodeo","rodilla","roer","rojizo","rojo","romero","romper","ron","ronco","ronda","ropa","ropero","rosa","rosca","rostro","rotar","rubí","rubor","rudo","rueda","rugir","ruido","ruina","ruleta","rulo","rumbo","rumor","ruptura","ruta","rutina","sábado","saber","sabio","sable","sacar","sagaz","sagrado","sala","saldo","salero","salir","salmón","salón","salsa","salto","salud","salvar","samba","sanción","sandía","sanear","sangre","sanidad","sano","santo","sapo","saque","sardina","sartén","sastre","satán","sauna","saxofón","sección","seco","secreto","secta","sed","seguir","seis","sello","selva","semana","semilla","senda","sensor","señal","señor","separar","sepia","sequía","ser","serie","sermón","servir","sesenta","sesión","seta","setenta","severo","sexo","sexto","sidra","siesta","siete","siglo","signo","sílaba","silbar","silencio","silla","símbolo","simio","sirena","sistema","sitio","situar","sobre","socio","sodio","sol","solapa","soldado","soledad","sólido","soltar","solución","sombra","sondeo","sonido","sonoro","sonrisa","sopa","soplar","soporte","sordo","sorpresa","sorteo","sostén","sótano","suave","subir","suceso","sudor","suegra","suelo","sueño","suerte","sufrir","sujeto","sultán","sumar","superar","suplir","suponer","supremo","sur","surco","sureño","surgir","susto","sutil","tabaco","tabique","tabla","tabú","taco","tacto","tajo","talar","talco","talento","talla","talón","tamaño","tambor","tango","tanque","tapa","tapete","tapia","tapón","taquilla","tarde","tarea","tarifa","tarjeta","tarot","tarro","tarta","tatuaje","tauro","taza","tazón","teatro","techo","tecla","técnica","tejado","tejer","tejido","tela","teléfono","tema","temor","templo","tenaz","tender","tener","tenis","tenso","teoría","terapia","terco","término","ternura","terror","tesis","tesoro","testigo","tetera","texto","tez","tibio","tiburón","tiempo","tienda","tierra","tieso","tigre","tijera","tilde","timbre","tímido","timo","tinta","tío","típico","tipo","tira","tirón","titán","títere","título","tiza","toalla","tobillo","tocar","tocino","todo","toga","toldo","tomar","tono","tonto","topar","tope","toque","tórax","torero","tormenta","torneo","toro","torpedo","torre","torso","tortuga","tos","tosco","toser","tóxico","trabajo","tractor","traer","tráfico","trago","traje","tramo","trance","trato","trauma","trazar","trébol","tregua","treinta","tren","trepar","tres","tribu","trigo","tripa","triste","triunfo","trofeo","trompa","tronco","tropa","trote","trozo","truco","trueno","trufa","tubería","tubo","tuerto","tumba","tumor","túnel","túnica","turbina","turismo","turno","tutor","ubicar","úlcera","umbral","unidad","unir","universo","uno","untar","uña","urbano","urbe","urgente","urna","usar","usuario","útil","utopía","uva","vaca","vacío","vacuna","vagar","vago","vaina","vajilla","vale","válido","valle","valor","válvula","vampiro","vara","variar","varón","vaso","vecino","vector","vehículo","veinte","vejez","vela","velero","veloz","vena","vencer","venda","veneno","vengar","venir","venta","venus","ver","verano","verbo","verde","vereda","verja","verso","verter","vía","viaje","vibrar","vicio","víctima","vida","vídeo","vidrio","viejo","viernes","vigor","vil","villa","vinagre","vino","viñedo","violín","viral","virgo","virtud","visor","víspera","vista","vitamina","viudo","vivaz","vivero","vivir","vivo","volcán","volumen","volver","voraz","votar","voto","voz","vuelo","vulgar","yacer","yate","yegua","yema","yerno","yeso","yodo","yoga","yogur","zafiro","zanja","zapato","zarza","zona","zorro","zumo","zurdo"]')},18597:function(eb){"use strict";eb.exports={i8:"6.5.4"}},81438:function(eb){"use strict";eb.exports={i8:"6.6.1"}}},function(eb){var em=function(em){return eb(eb.s=em)};eb.O(0,[774,179],function(){return em(6840),em(96885)}),_N_E=eb.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/earn/ccn-f463fb340da453cc.js b/_next/static/chunks/pages/earn/ccn-43233038afe59255.js similarity index 98% rename from _next/static/chunks/pages/earn/ccn-f463fb340da453cc.js rename to _next/static/chunks/pages/earn/ccn-43233038afe59255.js index 8b7ee6f..7ed257e 100644 --- a/_next/static/chunks/pages/earn/ccn-f463fb340da453cc.js +++ b/_next/static/chunks/pages/earn/ccn-43233038afe59255.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[357],{89176:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/earn/ccn",function(){return t(62699)}])},58833:function(e,n,t){"use strict";t.d(n,{Z:function(){return d}});var i=t(85893),a=t(19521),r=t(67294),o=t(79632);let l=(0,a.ZP)(o.zx).attrs(e=>({...e,forwardedAs:"a",kind:"neon",variant:"textOnly",color:"main0"})).withConfig({displayName:"styles__StyledExternalLinkButton",componentId:"sc-16jaolm-0"})([""]),s=e=>{let{children:n,href:t,size:a="lg",...r}=e;return(0,i.jsx)(i.Fragment,{children:(0,i.jsxs)(l,{href:t,size:a,...r,target:"_blank",children:[n||t,(0,i.jsx)(c,{name:"square-up-right"})]})})};s.displayName="ExternalLinkButton";var d=(0,r.memo)(s),c=(0,a.ZP)(o.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-mpznlq-0"})({marginLeft:"0.625rem"})},28417:function(e,n,t){"use strict";t.d(n,{Z:function(){return h}});var i=t(85893),a=t(19521),r=t(67294),o=t(34816),l=t(43815),s=t(42983),d=t(13153),c=t(79632),m=t(87625);let p=e=>{let{title:n,nodes:t,...s}=e,p=(0,a.Fg)(),h=(0,r.useMemo)(()=>{let e=t||[],n=e.length,i=e.reduce((e,n)=>e+Number(n.score>=.8),0),a=e.reduce((e,n)=>e+Number(n.score>=.5&&n.score<.8),0),r=e.reduce((e,n)=>e+Number(n.score<.5),0),o=n-i-a-r;return[{label:"active nodes",value:"".concat(i," nodes"),percentage:i/n,gradient:"main1"},{label:"50% < 80%",value:"".concat(a," nodes"),percentage:a/n,gradient:"main2"},{label:"< 50%",value:"".concat(r," nodes"),percentage:r/n,color:"error"},{label:"other",value:"".concat(o," nodes"),percentage:o/n,color:"transparent"}]},[t]),w=p.color.disabled2,N=[...h].reverse();return(0,i.jsxs)(d.Z,{loading:!t,...s,children:[(0,i.jsx)(g,{forwardedAs:"h3",type:"info",color:"main0",children:n}),(0,i.jsxs)(x,{children:[(0,i.jsxs)(y,{width:100,height:100,margin:{},children:[(0,i.jsx)("defs",{children:(0,i.jsx)(m._,{data:h})}),(0,i.jsx)(o.b,{data:[{v:1}],dataKey:"v",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,isAnimationActive:!1,fill:w}),(0,i.jsx)(o.b,{data:N,dataKey:"percentage",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,children:N.map(e=>{let n="gr-".concat(e.gradient),t=e.gradient?"url(#".concat(n,")"):e.color?p.color[e.color]||e.color:void 0;return(0,i.jsx)(l.b,{fill:t},e.label)})}),(0,i.jsx)("text",{x:"50%",y:"50%",dominantBaseline:"central",textAnchor:"middle",className:"tp-body3 fs-24",fill:p.color.text,children:(null==t?void 0:t.length)||0})]}),(0,i.jsx)(f,{children:Array.from({length:2},(e,n)=>(0,i.jsx)(u,{children:h.slice(2*n,2*n+2).map(e=>(0,i.jsxs)(_,{children:[(0,i.jsx)(c.cu,{$color:"transparent"===e.color?w:e.color,$gradient:e.gradient,$size:"1.25rem"}),(0,i.jsxs)(v,{className:"tp-body3",children:[(0,i.jsx)("div",{children:e.value}),(0,i.jsx)(j,{className:"fs-10",children:e.label})]})]},e.label))},n))})]})]})};p.displayName="NetworkHealthChart";var h=(0,r.memo)(p),g=(0,a.ZP)(c.DU).withConfig({displayName:"cmp___StyledTextGradient",componentId:"sc-ghx7oa-0"})({margin:"0px",minHeight:"2rem"}),x=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-ghx7oa-1"})({display:"flex",flexDirection:"column",alignItems:"center"}),y=(0,a.ZP)(s.u).withConfig({displayName:"cmp___StyledPieChart",componentId:"sc-ghx7oa-2"})({marginTop:"0.75rem",marginBottom:"0.75rem",minHeight:"6.25rem"}),f=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-ghx7oa-3"})({marginTop:"0.25rem",display:"flex",width:"100%",alignItems:"stretch",justifyContent:"center",gap:"1.5rem"}),u=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-ghx7oa-4"})({display:"flex",flexDirection:"column",gap:"1rem"}),_=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-ghx7oa-5"})({display:"flex",alignItems:"center",gap:"0.75rem"}),v=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-ghx7oa-6"})({display:"flex",flexDirection:"column",justifyContent:"space-between",gap:"0.25rem",whiteSpace:"nowrap",fontStyle:"normal",lineHeight:"1rem !important"}),j=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv6",componentId:"sc-ghx7oa-7"})({opacity:"0.6"})},62699:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return eN}});var i=t(85893),a=t(19521),r=t(67294),o=t(9008),l=t.n(o),s=t(79632),d=t(94461),c=t(96272),m=t(38753),p=t(69797),h=t(51383),g=t(68461),x=t(90709),y=t(60202),f=t(11140),u=t(87931),_=t(33358),v=t(25675),j=t.n(v);let w=e=>{let{nodes:n,filteredNodes:t,lastVersion:a,nodesIssues:o,loadItemsDisabled:l,handleLoadItems:d,handleSortItems:c}=e,m=(0,r.useMemo)(()=>[{label:"",align:"center",width:0,cellProps:()=>({css:{padding:"0px !important"}}),hcellProps:()=>({css:{borderWidth:"0px !important",padding:"0px !important"}}),render:e=>(null==o?void 0:o[e.hash])?(0,i.jsx)(C,{children:"\xa0"}):null},{label:"SCORE",sortable:!0,sortBy:e=>e.score,render:e=>(0,i.jsx)(s.WG,{score:e.score})},{label:"LINKED",sortable:!0,sortBy:e=>e.resource_nodes.length,render:e=>(0,i.jsx)(x.ZP,{nodes:e.crnsData})},{label:"NAME",sortable:!0,sortBy:e=>e.name,render:e=>(0,i.jsx)(s.tJ,{hash:e.hash,name:e.name,picture:e.picture,apiServer:_.pf,ImageCmp:j()})},{label:"STAKED",sortable:!0,width:"100%",sortBy:e=>e.total_staked,render:e=>(0,i.jsx)(f.Z,{staked:e.total_staked,status:e.status,locked:e.locked})},{label:"EST. APY",render:e=>(0,i.jsx)(y.Z,{node:e,nodes:n})},{label:"VERSION",sortable:!0,sortBy:e=>{var n;return null===(n=e.metricsData)||void 0===n?void 0:n.version},render:e=>{var n;return(0,i.jsx)(s.pJ,{version:(null===(n=e.metricsData)||void 0===n?void 0:n.version)||"",lastVersion:a})}},{label:"",align:"right",render:e=>(0,i.jsx)(b,{children:(0,i.jsx)(u.Z,{kind:"neon",size:"md",variant:"secondary",color:"main0",href:"/earn/ccn/".concat(e.hash),children:"Info"})})}],[a,n,o]);return(0,i.jsx)(g.Z,{columns:m,data:t,infiniteScroll:!l,onLoadMore:d,onSort:c})};w.displayName="CoreChannelNodesTable";var N=(0,r.memo)(w),C=(0,a.ZP)(s.Cc).withConfig({displayName:"cmp___StyledNotificationBadge",componentId:"sc-1gsmq73-0"})({marginLeft:"auto !important",marginRight:"auto !important",display:"flex !important"}),b=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1gsmq73-1"})({display:"inline-flex",justifyContent:"flex-end",gap:"0.75rem"}),S=t(58833),I=t(32350),Z=t(41664),D=t.n(Z),P=t(33445),A=t(28417),k=t(47630),T=t(34816),R=t(43815),B=t(42983),E=t(13153),z=t(87625),W=t(7954);let H=e=>{let{nodes:n,...t}=e,o=(0,r.useMemo)(()=>new k.S,[]),l=(0,a.Fg)(),d=(0,r.useMemo)(()=>{let e=0;if(n){let t=o.activeNodes(n),i=o.totalPerDay(n);e=i/t.length}let t=30*e,i=t+e;return[{label:"per month",value:"".concat(t.toFixed(2)),percentage:t/i,gradient:"main1",color:""},{label:"per day",value:"".concat(e.toFixed(2)),percentage:e/i,gradient:"main2",color:""}]},[n,o]),c=l.color.disabled2;return(0,i.jsxs)(E.Z,{loading:!n,...t,children:[(0,i.jsx)(M,{forwardedAs:"h3",type:"info",color:"main0",children:"ESTIMATED REWARDS"}),(0,i.jsxs)(q,{children:[(0,i.jsxs)(L,{data:d,width:100,height:100,margin:{},children:[(0,i.jsx)("defs",{children:(0,i.jsx)(z._,{data:d})}),(0,i.jsx)(T.b,{data:[{v:1}],dataKey:"v",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,isAnimationActive:!1,fill:c}),(0,i.jsx)(T.b,{data:d,dataKey:"percentage",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,children:d.map(e=>{let n="gr-".concat(e.gradient),t=e.gradient?"url(#".concat(n,")"):e.color?l.color[e.color]||e.color:void 0;return(0,i.jsx)(R.b,{fill:t},e.label)})})]}),(0,i.jsx)(O,{children:d.map(e=>(0,i.jsxs)(K,{children:[(0,i.jsx)(s.cu,{$color:"transparent"===e.color?c:e.color,$gradient:e.gradient,$size:"1.25rem"}),(0,i.jsxs)($,{className:"tp-body3",children:[(0,i.jsx)(W.Z,{value:Number(e.value)}),(0,i.jsx)(G,{className:"fs-10",children:e.label})]})]},e.label))})]})]})};H.displayName="EstimatedNodeRewardsChart";var F=(0,r.memo)(H),M=(0,a.ZP)(s.DU).withConfig({displayName:"cmp___StyledTextGradient",componentId:"sc-8p9zt4-0"})({margin:"0px",minHeight:"2rem"}),q=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-8p9zt4-1"})({display:"flex",flexDirection:"column",alignItems:"center"}),L=(0,a.ZP)(B.u).withConfig({displayName:"cmp___StyledPieChart",componentId:"sc-8p9zt4-2"})({marginTop:"0.75rem",marginBottom:"0.75rem",minHeight:"6.25rem"}),O=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-8p9zt4-3"})({marginTop:"0.25rem",display:"flex",flexDirection:"column",gap:"1rem"}),K=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-8p9zt4-4"})({display:"flex",alignItems:"center",gap:"0.75rem"}),$=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-8p9zt4-5"})({display:"flex",flexDirection:"column",justifyContent:"space-between",gap:"0.25rem",whiteSpace:"nowrap",fontStyle:"normal",lineHeight:"1rem !important"}),G=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-8p9zt4-6"})({opacity:"0.6"}),J=t(76625),U=t(72479);let V=e=>{let{title:n,nodes:t,...o}=e,l=(0,a.Fg)(),d=(0,r.useMemo)(()=>{if(!t)return[];let[e,n]=t.reduce((e,n)=>{let t=n.resource_nodes.length,i=Math.max(U.B.maxLinkedPerNode-t,0);return e[0]+=t,e[1]+=i,e},[0,0]),i=e+n;return[{label:"linked CRNs",value:e,percentage:e/i,gradient:"main0"},{label:"free spots",value:n,percentage:n/i,color:"main1"}]},[t]),c=l.color.disabled2;return(0,i.jsxs)(E.Z,{loading:!t,...o,children:[(0,i.jsx)(Y,{forwardedAs:"h3",type:"info",color:"main0",children:n}),(0,i.jsxs)(Q,{children:[(0,i.jsxs)(ee,{data:d,width:100,height:100,margin:{},children:[(0,i.jsx)("defs",{children:(0,i.jsx)(z._,{data:d})}),(0,i.jsx)(T.b,{data:[{v:1}],dataKey:"v",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,isAnimationActive:!1,fill:c}),(0,i.jsx)(T.b,{data:d,dataKey:"percentage",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,children:d.map(e=>{let n="gr-".concat(e.gradient),t=e.gradient?"url(#".concat(n,")"):e.color?l.color[e.color]||e.color:void 0;return(0,i.jsx)(R.b,{fill:t},e.label)})})]}),(0,i.jsx)(en,{children:d.map(e=>(0,i.jsxs)(et,{children:[(0,i.jsx)(s.cu,{$color:"transparent"===e.color?c:e.color,$gradient:e.gradient,$size:"1.25rem"}),(0,i.jsxs)(ei,{className:"tp-body3",children:[(0,i.jsx)("div",{children:e.value}),(0,i.jsx)(ea,{className:"fs-10",children:e.label})]})]},e.label))})]})]})};V.displayName="AvailableCRNSpotChart";var X=(0,r.memo)(V),Y=(0,a.ZP)(s.DU).withConfig({displayName:"cmp___StyledTextGradient",componentId:"sc-1ksqyg5-0"})({margin:"0px",minHeight:"2rem"}),Q=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1ksqyg5-1"})({display:"flex",flexDirection:"column",alignItems:"center"}),ee=(0,a.ZP)(B.u).withConfig({displayName:"cmp___StyledPieChart",componentId:"sc-1ksqyg5-2"})({marginTop:"0.75rem",marginBottom:"0.75rem",minHeight:"6.25rem"}),en=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-1ksqyg5-3"})({marginTop:"0.25rem",display:"flex",flexDirection:"column",gap:"1rem"}),et=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-1ksqyg5-4"})({display:"flex",alignItems:"center",gap:"0.75rem"}),ei=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-1ksqyg5-5"})({display:"flex",flexDirection:"column",justifyContent:"space-between",gap:"0.25rem",whiteSpace:"nowrap",fontStyle:"normal",lineHeight:"1rem !important"}),ea=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-1ksqyg5-6"})({opacity:"0.6"});let er=e=>{let{account:n,accountBalance:t,nodes:a,userNodes:o,filteredUserNodes:g,paginatedSortedFilteredNodes:x,userNodesIssues:y,tabs:f,selectedTab:u,filter:_,lastVersion:v,loadItemsDisabled:j,handleLoadItems:w,handleSortItems:C,handleTabChange:b,handleFilterChange:Z}=function(e){let[n]=(0,d.mr)(),{account:t,balance:a=0}=n.connection,{nodes:o,filteredNodes:l,...g}=(0,c.v)(e),{userNodes:x}=(0,p.M)({nodes:o}),{userNodes:y}=(0,p.M)({nodes:l}),{nodesIssues:f,warningFlag:u}=(0,m.i)({nodes:y}),{sortedNodes:_}=(0,h.L)({nodesIssues:f,nodes:y}),[v,j]=(0,r.useState)(),w=v||((null==x?void 0:x.length)?"user":"nodes"),N=(0,r.useMemo)(()=>{let e=[{id:"nodes",name:"All core nodes"},{id:"user",name:"My core nodes",label:u?{label:(0,i.jsx)(s.Cc,{children:u}),position:"top"}:void 0}];return e},[u]),{list:C,loadItemsDisabled:b,handleLoadItems:S}=(0,s.fw)({list:l});return{...g,account:t,accountBalance:a,nodes:o,filteredNodes:l,userNodes:x,filteredUserNodes:_,selectedTab:w,tabs:N,userNodesIssues:f,paginatedSortedFilteredNodes:C,loadItemsDisabled:b,handleLoadItems:S,handleTabChange:j}}(e),{render:T}=(0,J.W)(),R=(0,i.jsx)(D(),{href:"/earn/ccn/new",passHref:!0,legacyBehavior:!0,children:(0,i.jsxs)(el,{color:"main0",kind:"neon",variant:"secondary",size:"md",disabled:!n||(t||0)<=k.S.minStakeToActivateNode,children:[(0,i.jsx)(s.JO,{name:"key"}),"Create core node"]})});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(l(),{children:[(0,i.jsx)("title",{children:"Aleph.im | Account"}),(0,i.jsx)("meta",{name:"description",content:"Aleph.im Account Dashboard"}),(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1"})]}),(0,i.jsx)("section",{children:(0,i.jsx)(es,{className:"tp-h5",children:"Core nodes"})}),(0,i.jsx)("section",{children:(0,i.jsx)(I.Z,{buttons:R,children:(0,i.jsxs)(ed,{children:[(0,i.jsxs)(ec,{children:[(0,i.jsx)(em,{children:(0,i.jsx)(A.Z,{nodes:a,title:"CCN NETWORK HEALTH"})}),(0,i.jsxs)(ep,{children:[(0,i.jsx)(eh,{children:(0,i.jsx)(F,{nodes:a})}),(0,i.jsx)(eg,{children:(0,i.jsx)(X,{title:"AVAILABLE CRN SPOTS",nodes:a})})]})]}),(0,i.jsxs)(ex,{children:[(0,i.jsxs)("div",{children:[(0,i.jsx)(ey,{className:"tp-h7",children:"What is a core node?"}),(0,i.jsx)("p",{className:"fs-16",children:"CCNs are the cornerstone of Aleph.im, responsible for the security and functionality of our peer-to-peer network. These dedicated nodes, backed by a commitment of 200,000 Aleph tokens, play a pivotal role in network control and governance. As non-custodial operators, they are at the forefront of Aleph.im's innovative ecosystem. For more information on how to set up a node and detailed technical and token requirements, please visit our"}),(0,i.jsx)(S.Z,{href:"https://docs.aleph.im/nodes/core/",size:"md",children:"Node Setup Guide"})]}),(0,i.jsx)(ef,{children:R})]})]})})}),(0,i.jsxs)(eu,{children:[(0,i.jsxs)(e_,{children:[(0,i.jsx)(ev,{children:(0,i.jsx)(s.mQ,{tabs:f,align:"left",selected:u,onTabChange:b})}),(0,i.jsx)(s.oi,{value:_,name:"filter-ccn",placeholder:"Search me",onChange:Z,icon:(0,i.jsx)(s.JO,{name:"search"})})]}),(0,i.jsxs)(ej,{children:[(0,i.jsx)(P.Z,{show:!T||!a}),T&&(0,i.jsx)(i.Fragment,{children:"user"===u?(0,i.jsx)(i.Fragment,{children:a&&g&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(N,{nodes:a,filteredNodes:g,nodesIssues:y,lastVersion:v}),(0,i.jsx)(ew,{children:n?(null==o?void 0:o.length)?"":"You have no core node running.":"Connect your wallet to see your core node running."})]})}):(0,i.jsx)(i.Fragment,{children:a&&(0,i.jsx)(N,{nodes:a,filteredNodes:x,lastVersion:v,loadItemsDisabled:j,handleLoadItems:w,handleSortItems:C})})})]})]})]})};er.displayName="CoreChannelNodesPage";var eo=(0,r.memo)(er),el=(0,a.ZP)(s.zx).withConfig({displayName:"cmp___StyledButton",componentId:"sc-yt8x4y-0"})({gap:"0.625rem"}),es=(0,a.ZP)("h1").withConfig({displayName:"cmp___StyledH",componentId:"sc-yt8x4y-1"})({marginBottom:"2rem"}),ed=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-yt8x4y-2"})({display:"flex",flexWrap:"wrap",alignItems:"flex-start",gap:"1.5rem","@media (min-width: 87.5rem)":{flexWrap:"nowrap"}}),ec=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-yt8x4y-3"})({order:"2",display:"flex",maxWidth:"100%",flex:"1 1 auto",flexWrap:"wrap",alignItems:"stretch",gap:"1.5rem","@media (min-width: 87.5rem)":{order:"0",flex:"none",flexWrap:"nowrap"}}),em=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-yt8x4y-4"})({maxWidth:"100%",flex:"1 1 auto","@media (min-width: 87.5rem)":{flex:"none"}}),ep=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-yt8x4y-5"})({display:"flex",flex:"1 1 auto",flexWrap:"wrap",alignItems:"stretch",gap:"1.5rem","@media (min-width: 36rem)":{flexWrap:"nowrap"},"@media (min-width: 87.5rem)":{flex:"none"}}),eh=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-yt8x4y-6"})({flex:"1 1 0%"}),eg=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv6",componentId:"sc-yt8x4y-7"})({flex:"1 1 0%"}),ex=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv7",componentId:"sc-yt8x4y-8"})({order:"1",display:"flex",flex:"1 1 auto",flexDirection:"column",justifyContent:"space-between",alignSelf:"stretch","@media (min-width: 87.5rem)":{order:"0"}}),ey=(0,a.ZP)("h1").withConfig({displayName:"cmp___StyledH2",componentId:"sc-yt8x4y-9"})({marginBottom:"0px"}),ef=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv8",componentId:"sc-yt8x4y-10"})({marginBottom:"1rem",marginTop:"1.5rem","@media (min-width: 87.5rem)":{marginBottom:"0px"}}),eu=(0,a.ZP)("section").withConfig({displayName:"cmp___StyledSection",componentId:"sc-yt8x4y-11"})({marginTop:"3.5rem"}),e_=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv9",componentId:"sc-yt8x4y-12"})({marginBottom:"2rem",display:"flex",flexDirection:"column",flexWrap:"wrap",alignItems:"stretch",justifyContent:"space-between",gap:"2.5rem","@media (min-width: 48rem)":{flexDirection:"row",alignItems:"flex-end"}}),ev=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv10",componentId:"sc-yt8x4y-13"})({display:"flex",flexDirection:"column",flexWrap:"wrap",alignItems:"flex-start",gap:"2.5rem","@media (min-width: 36rem)":{flexDirection:"row",alignItems:"center",gap:"1rem"}}),ej=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv11",componentId:"sc-yt8x4y-14"})({position:"relative"}),ew=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv12",componentId:"sc-yt8x4y-15"})({marginLeft:"1rem",marginRight:"1rem",marginTop:"2.5rem",marginBottom:"2.5rem",textAlign:"center",opacity:"0.6"}),eN=eo}},function(e){e.O(0,[959,983,431,774,888,179],function(){return e(e.s=89176)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[357],{89176:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/earn/ccn",function(){return t(62699)}])},58833:function(e,n,t){"use strict";t.d(n,{Z:function(){return d}});var i=t(85893),a=t(19521),r=t(67294),o=t(31515);let l=(0,a.ZP)(o.zx).attrs(e=>({...e,forwardedAs:"a",kind:"neon",variant:"textOnly",color:"main0"})).withConfig({displayName:"styles__StyledExternalLinkButton",componentId:"sc-16jaolm-0"})([""]),s=e=>{let{children:n,href:t,size:a="lg",...r}=e;return(0,i.jsx)(i.Fragment,{children:(0,i.jsxs)(l,{href:t,size:a,...r,target:"_blank",children:[n||t,(0,i.jsx)(c,{name:"square-up-right"})]})})};s.displayName="ExternalLinkButton";var d=(0,r.memo)(s),c=(0,a.ZP)(o.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-mpznlq-0"})({marginLeft:"0.625rem"})},28417:function(e,n,t){"use strict";t.d(n,{Z:function(){return h}});var i=t(85893),a=t(19521),r=t(67294),o=t(34816),l=t(43815),s=t(42983),d=t(13153),c=t(31515),m=t(87625);let p=e=>{let{title:n,nodes:t,...s}=e,p=(0,a.Fg)(),h=(0,r.useMemo)(()=>{let e=t||[],n=e.length,i=e.reduce((e,n)=>e+Number(n.score>=.8),0),a=e.reduce((e,n)=>e+Number(n.score>=.5&&n.score<.8),0),r=e.reduce((e,n)=>e+Number(n.score<.5),0),o=n-i-a-r;return[{label:"active nodes",value:"".concat(i," nodes"),percentage:i/n,gradient:"main1"},{label:"50% < 80%",value:"".concat(a," nodes"),percentage:a/n,gradient:"main2"},{label:"< 50%",value:"".concat(r," nodes"),percentage:r/n,color:"error"},{label:"other",value:"".concat(o," nodes"),percentage:o/n,color:"transparent"}]},[t]),w=p.color.disabled2,N=[...h].reverse();return(0,i.jsxs)(d.Z,{loading:!t,...s,children:[(0,i.jsx)(g,{forwardedAs:"h3",type:"info",color:"main0",children:n}),(0,i.jsxs)(x,{children:[(0,i.jsxs)(y,{width:100,height:100,margin:{},children:[(0,i.jsx)("defs",{children:(0,i.jsx)(m._,{data:h})}),(0,i.jsx)(o.b,{data:[{v:1}],dataKey:"v",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,isAnimationActive:!1,fill:w}),(0,i.jsx)(o.b,{data:N,dataKey:"percentage",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,children:N.map(e=>{let n="gr-".concat(e.gradient),t=e.gradient?"url(#".concat(n,")"):e.color?p.color[e.color]||e.color:void 0;return(0,i.jsx)(l.b,{fill:t},e.label)})}),(0,i.jsx)("text",{x:"50%",y:"50%",dominantBaseline:"central",textAnchor:"middle",className:"tp-body3 fs-24",fill:p.color.text,children:(null==t?void 0:t.length)||0})]}),(0,i.jsx)(f,{children:Array.from({length:2},(e,n)=>(0,i.jsx)(u,{children:h.slice(2*n,2*n+2).map(e=>(0,i.jsxs)(_,{children:[(0,i.jsx)(c.cu,{$color:"transparent"===e.color?w:e.color,$gradient:e.gradient,$size:"1.25rem"}),(0,i.jsxs)(v,{className:"tp-body3",children:[(0,i.jsx)("div",{children:e.value}),(0,i.jsx)(j,{className:"fs-10",children:e.label})]})]},e.label))},n))})]})]})};p.displayName="NetworkHealthChart";var h=(0,r.memo)(p),g=(0,a.ZP)(c.DU).withConfig({displayName:"cmp___StyledTextGradient",componentId:"sc-ghx7oa-0"})({margin:"0px",minHeight:"2rem"}),x=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-ghx7oa-1"})({display:"flex",flexDirection:"column",alignItems:"center"}),y=(0,a.ZP)(s.u).withConfig({displayName:"cmp___StyledPieChart",componentId:"sc-ghx7oa-2"})({marginTop:"0.75rem",marginBottom:"0.75rem",minHeight:"6.25rem"}),f=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-ghx7oa-3"})({marginTop:"0.25rem",display:"flex",width:"100%",alignItems:"stretch",justifyContent:"center",gap:"1.5rem"}),u=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-ghx7oa-4"})({display:"flex",flexDirection:"column",gap:"1rem"}),_=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-ghx7oa-5"})({display:"flex",alignItems:"center",gap:"0.75rem"}),v=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-ghx7oa-6"})({display:"flex",flexDirection:"column",justifyContent:"space-between",gap:"0.25rem",whiteSpace:"nowrap",fontStyle:"normal",lineHeight:"1rem !important"}),j=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv6",componentId:"sc-ghx7oa-7"})({opacity:"0.6"})},62699:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return eN}});var i=t(85893),a=t(19521),r=t(67294),o=t(9008),l=t.n(o),s=t(31515),d=t(94461),c=t(96272),m=t(38753),p=t(69797),h=t(51383),g=t(68461),x=t(90709),y=t(60202),f=t(11140),u=t(87931),_=t(33358),v=t(25675),j=t.n(v);let w=e=>{let{nodes:n,filteredNodes:t,lastVersion:a,nodesIssues:o,loadItemsDisabled:l,handleLoadItems:d,handleSortItems:c}=e,m=(0,r.useMemo)(()=>[{label:"",align:"center",width:0,cellProps:()=>({css:{padding:"0px !important"}}),hcellProps:()=>({css:{borderWidth:"0px !important",padding:"0px !important"}}),render:e=>(null==o?void 0:o[e.hash])?(0,i.jsx)(C,{children:"\xa0"}):null},{label:"SCORE",sortable:!0,sortBy:e=>e.score,render:e=>(0,i.jsx)(s.WG,{score:e.score})},{label:"LINKED",sortable:!0,sortBy:e=>e.resource_nodes.length,render:e=>(0,i.jsx)(x.ZP,{nodes:e.crnsData})},{label:"NAME",sortable:!0,sortBy:e=>e.name,render:e=>(0,i.jsx)(s.tJ,{hash:e.hash,name:e.name,picture:e.picture,apiServer:_.pf,ImageCmp:j()})},{label:"STAKED",sortable:!0,width:"100%",sortBy:e=>e.total_staked,render:e=>(0,i.jsx)(f.Z,{staked:e.total_staked,status:e.status,locked:e.locked})},{label:"EST. APY",render:e=>(0,i.jsx)(y.Z,{node:e,nodes:n})},{label:"VERSION",sortable:!0,sortBy:e=>{var n;return null===(n=e.metricsData)||void 0===n?void 0:n.version},render:e=>{var n;return(0,i.jsx)(s.pJ,{version:(null===(n=e.metricsData)||void 0===n?void 0:n.version)||"",lastVersion:a})}},{label:"",align:"right",render:e=>(0,i.jsx)(b,{children:(0,i.jsx)(u.Z,{kind:"neon",size:"md",variant:"secondary",color:"main0",href:"/earn/ccn/".concat(e.hash),children:"Info"})})}],[a,n,o]);return(0,i.jsx)(g.Z,{columns:m,data:t,infiniteScroll:!l,onLoadMore:d,onSort:c})};w.displayName="CoreChannelNodesTable";var N=(0,r.memo)(w),C=(0,a.ZP)(s.Cc).withConfig({displayName:"cmp___StyledNotificationBadge",componentId:"sc-1gsmq73-0"})({marginLeft:"auto !important",marginRight:"auto !important",display:"flex !important"}),b=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1gsmq73-1"})({display:"inline-flex",justifyContent:"flex-end",gap:"0.75rem"}),S=t(58833),I=t(32350),Z=t(41664),D=t.n(Z),P=t(33445),A=t(28417),k=t(47630),T=t(34816),R=t(43815),B=t(42983),E=t(13153),z=t(87625),W=t(7954);let H=e=>{let{nodes:n,...t}=e,o=(0,r.useMemo)(()=>new k.S,[]),l=(0,a.Fg)(),d=(0,r.useMemo)(()=>{let e=0;if(n){let t=o.activeNodes(n),i=o.totalPerDay(n);e=i/t.length}let t=30*e,i=t+e;return[{label:"per month",value:"".concat(t.toFixed(2)),percentage:t/i,gradient:"main1",color:""},{label:"per day",value:"".concat(e.toFixed(2)),percentage:e/i,gradient:"main2",color:""}]},[n,o]),c=l.color.disabled2;return(0,i.jsxs)(E.Z,{loading:!n,...t,children:[(0,i.jsx)(M,{forwardedAs:"h3",type:"info",color:"main0",children:"ESTIMATED REWARDS"}),(0,i.jsxs)(q,{children:[(0,i.jsxs)(L,{data:d,width:100,height:100,margin:{},children:[(0,i.jsx)("defs",{children:(0,i.jsx)(z._,{data:d})}),(0,i.jsx)(T.b,{data:[{v:1}],dataKey:"v",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,isAnimationActive:!1,fill:c}),(0,i.jsx)(T.b,{data:d,dataKey:"percentage",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,children:d.map(e=>{let n="gr-".concat(e.gradient),t=e.gradient?"url(#".concat(n,")"):e.color?l.color[e.color]||e.color:void 0;return(0,i.jsx)(R.b,{fill:t},e.label)})})]}),(0,i.jsx)(O,{children:d.map(e=>(0,i.jsxs)(K,{children:[(0,i.jsx)(s.cu,{$color:"transparent"===e.color?c:e.color,$gradient:e.gradient,$size:"1.25rem"}),(0,i.jsxs)($,{className:"tp-body3",children:[(0,i.jsx)(W.Z,{value:Number(e.value)}),(0,i.jsx)(G,{className:"fs-10",children:e.label})]})]},e.label))})]})]})};H.displayName="EstimatedNodeRewardsChart";var F=(0,r.memo)(H),M=(0,a.ZP)(s.DU).withConfig({displayName:"cmp___StyledTextGradient",componentId:"sc-8p9zt4-0"})({margin:"0px",minHeight:"2rem"}),q=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-8p9zt4-1"})({display:"flex",flexDirection:"column",alignItems:"center"}),L=(0,a.ZP)(B.u).withConfig({displayName:"cmp___StyledPieChart",componentId:"sc-8p9zt4-2"})({marginTop:"0.75rem",marginBottom:"0.75rem",minHeight:"6.25rem"}),O=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-8p9zt4-3"})({marginTop:"0.25rem",display:"flex",flexDirection:"column",gap:"1rem"}),K=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-8p9zt4-4"})({display:"flex",alignItems:"center",gap:"0.75rem"}),$=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-8p9zt4-5"})({display:"flex",flexDirection:"column",justifyContent:"space-between",gap:"0.25rem",whiteSpace:"nowrap",fontStyle:"normal",lineHeight:"1rem !important"}),G=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-8p9zt4-6"})({opacity:"0.6"}),J=t(76625),U=t(48107);let V=e=>{let{title:n,nodes:t,...o}=e,l=(0,a.Fg)(),d=(0,r.useMemo)(()=>{if(!t)return[];let[e,n]=t.reduce((e,n)=>{let t=n.resource_nodes.length,i=Math.max(U.B.maxLinkedPerNode-t,0);return e[0]+=t,e[1]+=i,e},[0,0]),i=e+n;return[{label:"linked CRNs",value:e,percentage:e/i,gradient:"main0"},{label:"free spots",value:n,percentage:n/i,color:"main1"}]},[t]),c=l.color.disabled2;return(0,i.jsxs)(E.Z,{loading:!t,...o,children:[(0,i.jsx)(Y,{forwardedAs:"h3",type:"info",color:"main0",children:n}),(0,i.jsxs)(Q,{children:[(0,i.jsxs)(ee,{data:d,width:100,height:100,margin:{},children:[(0,i.jsx)("defs",{children:(0,i.jsx)(z._,{data:d})}),(0,i.jsx)(T.b,{data:[{v:1}],dataKey:"v",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,isAnimationActive:!1,fill:c}),(0,i.jsx)(T.b,{data:d,dataKey:"percentage",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,children:d.map(e=>{let n="gr-".concat(e.gradient),t=e.gradient?"url(#".concat(n,")"):e.color?l.color[e.color]||e.color:void 0;return(0,i.jsx)(R.b,{fill:t},e.label)})})]}),(0,i.jsx)(en,{children:d.map(e=>(0,i.jsxs)(et,{children:[(0,i.jsx)(s.cu,{$color:"transparent"===e.color?c:e.color,$gradient:e.gradient,$size:"1.25rem"}),(0,i.jsxs)(ei,{className:"tp-body3",children:[(0,i.jsx)("div",{children:e.value}),(0,i.jsx)(ea,{className:"fs-10",children:e.label})]})]},e.label))})]})]})};V.displayName="AvailableCRNSpotChart";var X=(0,r.memo)(V),Y=(0,a.ZP)(s.DU).withConfig({displayName:"cmp___StyledTextGradient",componentId:"sc-1ksqyg5-0"})({margin:"0px",minHeight:"2rem"}),Q=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1ksqyg5-1"})({display:"flex",flexDirection:"column",alignItems:"center"}),ee=(0,a.ZP)(B.u).withConfig({displayName:"cmp___StyledPieChart",componentId:"sc-1ksqyg5-2"})({marginTop:"0.75rem",marginBottom:"0.75rem",minHeight:"6.25rem"}),en=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-1ksqyg5-3"})({marginTop:"0.25rem",display:"flex",flexDirection:"column",gap:"1rem"}),et=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-1ksqyg5-4"})({display:"flex",alignItems:"center",gap:"0.75rem"}),ei=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-1ksqyg5-5"})({display:"flex",flexDirection:"column",justifyContent:"space-between",gap:"0.25rem",whiteSpace:"nowrap",fontStyle:"normal",lineHeight:"1rem !important"}),ea=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-1ksqyg5-6"})({opacity:"0.6"});let er=e=>{let{account:n,accountBalance:t,nodes:a,userNodes:o,filteredUserNodes:g,paginatedSortedFilteredNodes:x,userNodesIssues:y,tabs:f,selectedTab:u,filter:_,lastVersion:v,loadItemsDisabled:j,handleLoadItems:w,handleSortItems:C,handleTabChange:b,handleFilterChange:Z}=function(e){let[n]=(0,d.mr)(),{account:t,balance:a=0}=n.connection,{nodes:o,filteredNodes:l,...g}=(0,c.v)(e),{userNodes:x}=(0,p.M)({nodes:o}),{userNodes:y}=(0,p.M)({nodes:l}),{nodesIssues:f,warningFlag:u}=(0,m.i)({nodes:y}),{sortedNodes:_}=(0,h.L)({nodesIssues:f,nodes:y}),[v,j]=(0,r.useState)(),w=v||((null==x?void 0:x.length)?"user":"nodes"),N=(0,r.useMemo)(()=>{let e=[{id:"nodes",name:"All core nodes"},{id:"user",name:"My core nodes",label:u?{label:(0,i.jsx)(s.Cc,{children:u}),position:"top"}:void 0}];return e},[u]),{list:C,loadItemsDisabled:b,handleLoadItems:S}=(0,s.fw)({list:l});return{...g,account:t,accountBalance:a,nodes:o,filteredNodes:l,userNodes:x,filteredUserNodes:_,selectedTab:w,tabs:N,userNodesIssues:f,paginatedSortedFilteredNodes:C,loadItemsDisabled:b,handleLoadItems:S,handleTabChange:j}}(e),{render:T}=(0,J.W)(),R=(0,i.jsx)(D(),{href:"/earn/ccn/new",passHref:!0,legacyBehavior:!0,children:(0,i.jsxs)(el,{color:"main0",kind:"neon",variant:"secondary",size:"md",disabled:!n||(t||0)<=k.S.minStakeToActivateNode,children:[(0,i.jsx)(s.JO,{name:"key"}),"Create core node"]})});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(l(),{children:[(0,i.jsx)("title",{children:"Aleph.im | Account"}),(0,i.jsx)("meta",{name:"description",content:"Aleph.im Account Dashboard"}),(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1"})]}),(0,i.jsx)("section",{children:(0,i.jsx)(es,{className:"tp-h5",children:"Core nodes"})}),(0,i.jsx)("section",{children:(0,i.jsx)(I.Z,{buttons:R,children:(0,i.jsxs)(ed,{children:[(0,i.jsxs)(ec,{children:[(0,i.jsx)(em,{children:(0,i.jsx)(A.Z,{nodes:a,title:"CCN NETWORK HEALTH"})}),(0,i.jsxs)(ep,{children:[(0,i.jsx)(eh,{children:(0,i.jsx)(F,{nodes:a})}),(0,i.jsx)(eg,{children:(0,i.jsx)(X,{title:"AVAILABLE CRN SPOTS",nodes:a})})]})]}),(0,i.jsxs)(ex,{children:[(0,i.jsxs)("div",{children:[(0,i.jsx)(ey,{className:"tp-h7",children:"What is a core node?"}),(0,i.jsx)("p",{className:"fs-16",children:"CCNs are the cornerstone of Aleph.im, responsible for the security and functionality of our peer-to-peer network. These dedicated nodes, backed by a commitment of 200,000 Aleph tokens, play a pivotal role in network control and governance. As non-custodial operators, they are at the forefront of Aleph.im's innovative ecosystem. For more information on how to set up a node and detailed technical and token requirements, please visit our"}),(0,i.jsx)(S.Z,{href:"https://docs.aleph.im/nodes/core/",size:"md",children:"Node Setup Guide"})]}),(0,i.jsx)(ef,{children:R})]})]})})}),(0,i.jsxs)(eu,{children:[(0,i.jsxs)(e_,{children:[(0,i.jsx)(ev,{children:(0,i.jsx)(s.mQ,{tabs:f,align:"left",selected:u,onTabChange:b})}),(0,i.jsx)(s.oi,{value:_,name:"filter-ccn",placeholder:"Search me",onChange:Z,icon:(0,i.jsx)(s.JO,{name:"search"})})]}),(0,i.jsxs)(ej,{children:[(0,i.jsx)(P.Z,{show:!T||!a}),T&&(0,i.jsx)(i.Fragment,{children:"user"===u?(0,i.jsx)(i.Fragment,{children:a&&g&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(N,{nodes:a,filteredNodes:g,nodesIssues:y,lastVersion:v}),(0,i.jsx)(ew,{children:n?(null==o?void 0:o.length)?"":"You have no core node running.":"Connect your wallet to see your core node running."})]})}):(0,i.jsx)(i.Fragment,{children:a&&(0,i.jsx)(N,{nodes:a,filteredNodes:x,lastVersion:v,loadItemsDisabled:j,handleLoadItems:w,handleSortItems:C})})})]})]})]})};er.displayName="CoreChannelNodesPage";var eo=(0,r.memo)(er),el=(0,a.ZP)(s.zx).withConfig({displayName:"cmp___StyledButton",componentId:"sc-yt8x4y-0"})({gap:"0.625rem"}),es=(0,a.ZP)("h1").withConfig({displayName:"cmp___StyledH",componentId:"sc-yt8x4y-1"})({marginBottom:"2rem"}),ed=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-yt8x4y-2"})({display:"flex",flexWrap:"wrap",alignItems:"flex-start",gap:"1.5rem","@media (min-width: 87.5rem)":{flexWrap:"nowrap"}}),ec=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-yt8x4y-3"})({order:"2",display:"flex",maxWidth:"100%",flex:"1 1 auto",flexWrap:"wrap",alignItems:"stretch",gap:"1.5rem","@media (min-width: 87.5rem)":{order:"0",flex:"none",flexWrap:"nowrap"}}),em=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-yt8x4y-4"})({maxWidth:"100%",flex:"1 1 auto","@media (min-width: 87.5rem)":{flex:"none"}}),ep=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-yt8x4y-5"})({display:"flex",flex:"1 1 auto",flexWrap:"wrap",alignItems:"stretch",gap:"1.5rem","@media (min-width: 36rem)":{flexWrap:"nowrap"},"@media (min-width: 87.5rem)":{flex:"none"}}),eh=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-yt8x4y-6"})({flex:"1 1 0%"}),eg=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv6",componentId:"sc-yt8x4y-7"})({flex:"1 1 0%"}),ex=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv7",componentId:"sc-yt8x4y-8"})({order:"1",display:"flex",flex:"1 1 auto",flexDirection:"column",justifyContent:"space-between",alignSelf:"stretch","@media (min-width: 87.5rem)":{order:"0"}}),ey=(0,a.ZP)("h1").withConfig({displayName:"cmp___StyledH2",componentId:"sc-yt8x4y-9"})({marginBottom:"0px"}),ef=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv8",componentId:"sc-yt8x4y-10"})({marginBottom:"1rem",marginTop:"1.5rem","@media (min-width: 87.5rem)":{marginBottom:"0px"}}),eu=(0,a.ZP)("section").withConfig({displayName:"cmp___StyledSection",componentId:"sc-yt8x4y-11"})({marginTop:"3.5rem"}),e_=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv9",componentId:"sc-yt8x4y-12"})({marginBottom:"2rem",display:"flex",flexDirection:"column",flexWrap:"wrap",alignItems:"stretch",justifyContent:"space-between",gap:"2.5rem","@media (min-width: 48rem)":{flexDirection:"row",alignItems:"flex-end"}}),ev=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv10",componentId:"sc-yt8x4y-13"})({display:"flex",flexDirection:"column",flexWrap:"wrap",alignItems:"flex-start",gap:"2.5rem","@media (min-width: 36rem)":{flexDirection:"row",alignItems:"center",gap:"1rem"}}),ej=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv11",componentId:"sc-yt8x4y-14"})({position:"relative"}),ew=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv12",componentId:"sc-yt8x4y-15"})({marginLeft:"1rem",marginRight:"1rem",marginTop:"2.5rem",marginBottom:"2.5rem",textAlign:"center",opacity:"0.6"}),eN=eo}},function(e){e.O(0,[959,983,431,774,888,179],function(){return e(e.s=89176)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/earn/ccn/[hash]-8c974a7b05fbc7d0.js b/_next/static/chunks/pages/earn/ccn/[hash]-4bef0dd4e26b1b45.js similarity index 99% rename from _next/static/chunks/pages/earn/ccn/[hash]-8c974a7b05fbc7d0.js rename to _next/static/chunks/pages/earn/ccn/[hash]-4bef0dd4e26b1b45.js index c4f65b4..1652bfa 100644 --- a/_next/static/chunks/pages/earn/ccn/[hash]-8c974a7b05fbc7d0.js +++ b/_next/static/chunks/pages/earn/ccn/[hash]-4bef0dd4e26b1b45.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[373],{18952:function(e,i,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/earn/ccn/[hash]",function(){return n(18743)}])},52984:function(e,i,n){"use strict";n.d(i,{Z:function(){return r}});var a=n(19521);let l=a.ZP.div.withConfig({displayName:"styles__StyledProgressBar",componentId:"sc-lav9ln-0"})(e=>{var i;let{theme:n,$color:l="main0",$gradient:r,$percent:t}=e,d=r?null===(i=n.gradient[r])||void 0===i?void 0:i.fn:void 0,s=d||n.color[l]||l,o=n.color.disabled2;return[{position:"relative",height:"0.125rem",width:"100%"},(0,a.iv)(["background-color:",";&:after{"," content:'';background-color:",";width:","%;}"],o,{position:"absolute",left:"0px",top:"0px",height:"100%"},s,100*t)]});var r=l},18743:function(e,i,n){"use strict";n.r(i),n.d(i,{default:function(){return F}});var a=n(85893),l=n(19521),r=n(67294),t=n(9008),d=n.n(t),s=n(41664),o=n.n(s),c=n(94461),u=n(11163),m=n(15457),h=n(10159),g=n(87536),N=n(56312),v=n(72479),j=n(79632),x=n(91421),p=n(73384),M=n(47630),f=n(34853),D=n(1218),C=n(68390),I=n(52984),y=n(90709),w=n(87931);let A=(0,l.ZP)(j.rs).withConfig({displayName:"styles__StyledSwitch",componentId:"sc-18t9uhh-0"})(["& span{background-image:url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNyAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgb3BhY2l0eT0iMC4zIj4KPHBhdGggZD0iTTEwLjA4MyA0LjY4NzVWNkgxMi43MDhWMTQuNzVIMC40NTgwMDhWNkg4LjMzMzAxVjQuNjg3NUM4LjMzMzAxIDIuNTI3MzQgMTAuMDgzIDAuNzUgMTIuMjcwNSAwLjc1QzE0LjQzMDcgMC43NSAxNi4yMDggMi41MjczNCAxNi4yMDggNC42ODc1VjZWNi44NzVIMTQuNDU4VjZWNC42ODc1QzE0LjQ1OCAzLjQ4NDM4IDEzLjQ3MzYgMi41IDEyLjI3MDUgMi41QzExLjA0IDIuNSAxMC4wODMgMy40ODQzOCAxMC4wODMgNC42ODc1WiIgZmlsbD0iIzE0MTMyNyIvPgo8L2c+Cjwvc3ZnPgo=');background-repeat:no-repeat;background-position:50%;&::after{background-image:url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgb3BhY2l0eT0iMC41Ij4KPHBhdGggZD0iTTUuNDc4NTIgNC42ODc1VjZIOS44NTM1MlY0LjY4NzVDOS44NTM1MiAzLjQ4NDM4IDguODY5MTQgMi41IDcuNjY2MDIgMi41QzYuNDM1NTUgMi41IDUuNDc4NTIgMy40ODQzOCA1LjQ3ODUyIDQuNjg3NVpNMy43Mjg1MiA2VjQuNjg3NUMzLjcyODUyIDIuNTI3MzQgNS40Nzg1MiAwLjc1IDcuNjY2MDIgMC43NUM5LjgyNjE3IDAuNzUgMTEuNjAzNSAyLjUyNzM0IDExLjYwMzUgNC42ODc1VjZIMTMuNzkxVjE0Ljc1SDEuNTQxMDJWNkgzLjcyODUyWiIgZmlsbD0iIzE0MTMyNyIvPgo8L2c+Cjwvc3ZnPgo='),linear-gradient(90deg,#00d1ff 0%,#0054ff 100%);background-repeat:no-repeat;background-position:50%;}}"]);var E=n(8978),T=n(77849),Z=n(43666),b=n(33358),_=n(25675),S=n.n(_),z=n(7954);let O=()=>{var e,i,n;let{node:l,baseLatency:t,aggregateLatency:s,fileDownloadLatency:_,metricsLatency:O,relativeETHHeightPercent:L,lastMetricsCheck:F,calculatedRewards:K,creationDate:J,isOwner:X,nameCtrl:$,descriptionCtrl:q,multiaddressCtrl:ee,pictureCtrl:ei,bannerCtrl:en,rewardCtrl:ea,managerCtrl:el,lockedCtrl:er,registrationUrlCtrl:et,isDirty:ed,account:es,isUnlinkableByUser:eo,handleUnlink:ec,handleRemove:eu,handleSubmit:em}=function(){let e=(0,u.useRouter)(),{hash:i}=e.query,[n]=(0,c.mr)(),{entities:a}=n.ccns,{node:l}=function(e){let{hash:i}=e,[n]=(0,c.mr)(),{entities:a}=n.ccns,l=(0,r.useMemo)(()=>{if(a)return a.filter(e=>e.hash===i)},[a,i]),[t]=l||[];return{node:t}}({hash:i}),t=(0,m._)({node:l,nodes:a}),d=(0,r.useMemo)(()=>new M.S,[]),s=(0,r.useMemo)(()=>l&&a?d.CCNRewardsPerDay(l,a)*(365/12):0,[l,a,d]),{aggregate_latency:o,file_download_latency:f,metrics_latency:D,eth_height_remaining:C}=(null==l?void 0:l.metricsData)||{},I=(0,r.useMemo)(()=>o?"".concat(Number(100*(o||0)).toFixed(2)," %"):void 0,[o]),y=(0,r.useMemo)(()=>f?"".concat(Number(100*(f||0)).toFixed(2)," %"):void 0,[f]),w=(0,r.useMemo)(()=>D?"".concat(Number(100*(D||0)).toFixed(2)," %"):void 0,[D]),A=(0,r.useMemo)(()=>{if(void 0!==C)return 0===C?0:Math.trunc((18643103-C)/18643103*10)/10},[C]),{isUnlinkableByUser:E,handleUnlink:T}=(0,p.i)(),Z=(0,r.useMemo)(()=>({hash:null==l?void 0:l.hash,name:null==l?void 0:l.name,picture:null==l?void 0:l.picture,banner:null==l?void 0:l.banner,description:null==l?void 0:l.description,reward:null==l?void 0:l.reward,authorized:null==l?void 0:l.authorized,locked:null==l?void 0:l.locked,registration_url:null==l?void 0:l.registration_url,manager:null==l?void 0:l.manager,multiaddress:null==l?void 0:l.multiaddress}),[l]),b=function(e){let{defaultValues:i}=e,[n,a]=(0,c.mr)(),{account:l}=n.connection,{entities:t}=n.ccns,d=(0,j.lm)(),s=(0,r.useMemo)(()=>new v.B(l),[l]),o=(0,r.useCallback)(async e=>{if(!s)throw Error("Manager not ready");if(!l)throw Error("Invalid account");let[,i]=await s.updateCoreChannelNode(e),n=null==t?void 0:t.find(e=>e.hash===i.hash),a=function(e,i){let n={...e||{},...i,virtual:Date.now()};return n}(n,i);return a},[l,s,t]),u=(0,r.useCallback)(async e=>{if(!d)throw Error("Notification not ready");d.add({variant:"success",title:"Success",text:'Your node "'.concat(e.hash,'" was updated successfully.')}),a(new x.Wy({name:"ccns",entities:[e]}))},[a,d]),{control:m,handleSubmit:p,formState:{errors:M,isDirty:f}}=(0,h.c)({defaultValues:i,onSubmit:o,onSuccess:u,resolver:(0,N.F)(v.B.updateCCNSchema),readyDeps:[i]}),D=(0,g.qo)({control:m}),C=(0,g.bc)({control:m,name:"name"}),I=(0,g.bc)({control:m,name:"description"}),y=(0,g.bc)({control:m,name:"multiaddress"}),w=(0,g.bc)({control:m,name:"picture"}),A=(0,g.bc)({control:m,name:"banner"}),E=(0,g.bc)({control:m,name:"reward"}),T=(0,g.bc)({control:m,name:"manager"}),Z=(0,g.bc)({control:m,name:"authorized"}),b=(0,g.bc)({control:m,name:"locked"}),_=(0,g.bc)({control:m,name:"registration_url"});return{values:D,control:m,nameCtrl:C,descriptionCtrl:I,multiaddressCtrl:y,pictureCtrl:w,bannerCtrl:A,rewardCtrl:E,managerCtrl:T,authorizedCtrl:Z,lockedCtrl:b,registrationUrlCtrl:_,errors:M,isDirty:f,handleSubmit:p}}({defaultValues:Z});return{aggregateLatency:I,fileDownloadLatency:y,metricsLatency:w,relativeETHHeightPercent:A,calculatedRewards:s,isUnlinkableByUser:E,handleUnlink:T,...b,...t}}();return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(d(),{children:[(0,a.jsx)("title",{children:"Aleph.im | CCN Detail"}),(0,a.jsx)("meta",{name:"description",content:"Aleph.im Compute Resource Node"}),(0,a.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1"})]}),(0,a.jsx)("section",{children:(0,a.jsx)(D.Z,{node:l,nameCtrl:$,descriptionCtrl:q,bannerCtrl:en,pictureCtrl:ei,isOwner:X})}),X&&(0,a.jsxs)(k,{children:[(0,a.jsxs)(j.zx,{kind:"flat",variant:"textOnly",size:"md",color:"error",onClick:eu,children:[(0,a.jsx)(j.JO,{name:"trash",color:"error",size:"lg"}),"remove node"]}),(0,a.jsx)(j.zx,{kind:"neon",variant:"primary",size:"md",color:"main2",onClick:em,disabled:!ed,children:"save changes"})]}),(0,a.jsx)(P,{children:(0,a.jsxs)(R,{children:[(0,a.jsxs)(H,{children:[(0,a.jsxs)(C.ZP,{title:"GENERAL INFO",children:[(0,a.jsx)(E.Z,{status:null==l?void 0:l.status}),(0,a.jsx)(C.HC,{name:"NAME",value:null==l?void 0:l.name}),(0,a.jsx)(C.HC,{name:"ASN",value:null==l?void 0:null===(e=l.metricsData)||void 0===e?void 0:e.as_name}),(0,a.jsx)(C.HC,{name:"OWNER",value:(0,a.jsx)(Z.Z,{href:(0,f.tz)({address:null==l?void 0:l.owner}),isOwner:!1,children:(null==l?void 0:l.owner)&&(0,f.zN)(null==l?void 0:l.owner)}),big:!0}),(0,a.jsx)(C.HC,{name:"REWARD ADDRESS",value:(0,a.jsx)(T.Z,{...ea.field,...ea.fieldState,placeholder:"address",isOwner:X,children:(0,a.jsx)(Z.Z,{href:(0,f.tz)({tokenAddress:ea.field.value}),isOwner:X,children:ea.field.value&&(0,f.zN)(ea.field.value)})}),big:!0}),(0,a.jsx)(C.HC,{name:"MULTI ADDRESS",value:(0,a.jsx)(T.Z,{...ee.field,...ee.fieldState,placeholder:"multi address",isOwner:X,children:(0,a.jsx)(Z.Z,{href:(0,f.k2)({multiaddress:ee.field.value}),isOwner:X,children:ee.field.value&&(0,f.zN)(ee.field.value)})}),big:!0})]}),(0,a.jsxs)(C.ZP,{title:"ADDITIONAL SETTINGS",children:[(0,a.jsx)(C.HC,{name:"MANAGER",value:(0,a.jsx)(T.Z,{...el.field,...el.fieldState,placeholder:"manager address",isOwner:X,children:(0,a.jsx)(Z.Z,{href:(0,f.tz)({address:el.field.value}),isOwner:X,children:el.field.value&&(0,f.zN)(el.field.value)})}),big:!0}),(0,a.jsx)(C.HC,{name:"REGISTRATION URL",value:(0,a.jsx)(T.Z,{...et.field,...et.fieldState,placeholder:"registration url",isOwner:X,children:(0,a.jsx)(Z.Z,{href:et.field.value,isOwner:X,children:et.field.value})}),big:!0}),(0,a.jsx)(C.HC,{name:er.field.value?"LOCKED":"UNLOCKED",value:(0,a.jsx)(A,{...er.field,...er.fieldState,checked:er.field.value,disabled:!X})})]})]}),(0,a.jsxs)(W,{children:[(0,a.jsxs)(C.ZP,{title:"REWARD INDICATORS",children:[(0,a.jsx)(C.HC,{name:"VERSION",value:null==l?void 0:null===(i=l.metricsData)||void 0===i?void 0:i.version}),(0,a.jsx)(C.HC,{name:"BASE LATENCY",value:t}),(0,a.jsx)(C.HC,{name:"AGGREGATE LATENCY",value:s}),(0,a.jsx)(C.HC,{name:"FILE DOWNLOAD LATENCY",value:_}),(0,a.jsx)(C.HC,{name:"METRICS LATENCY",value:O}),(0,a.jsx)(C.HC,{name:"ETH HEIGHT REMAINING",value:null==l?void 0:null===(n=l.metricsData)||void 0===n?void 0:n.eth_height_remaining}),(0,a.jsx)(I.Z,{$percent:L||0,$color:"main0"}),(0,a.jsx)(C.HC,{name:"LAST CHECK",value:F}),(0,a.jsx)(C.HC,{name:"linked resources",value:(0,a.jsx)(y.ZP,{nodes:null==l?void 0:l.crnsData,subfix:" linked"})})]}),(0,a.jsx)(C.ZP,{title:"POTENTIAL REWARD",children:(0,a.jsx)(C.HC,{name:"ESTIMATED MONTHLY REWARD",value:(0,a.jsx)(z.Z,{value:K})})})]}),(0,a.jsxs)(U,{children:[(0,a.jsx)(C.ZP,{title:"LINKED RESOURCES",children:Array.from({length:Math.max(v.B.maxLinkedPerNode,(null==l?void 0:l.crnsData.length)||0)},(e,i)=>{let n=null==l?void 0:l.crnsData[i];return(0,a.jsx)(Q,{children:n?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(y.Rr,{$score:n.score}),(0,a.jsx)(o(),{href:"/earn/crn/".concat(n.hash),legacyBehavior:!0,children:(0,a.jsx)(V,{hash:n.hash,name:n.name,picture:n.picture,apiServer:b.pf,ImageCmp:S()})}),eo(n)&&(0,a.jsx)("button",{onClick:()=>ec(n),children:(0,a.jsx)(j.JO,{name:"trash",color:"error"})})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(y.Rr,{}),(0,a.jsx)(G,{}),(0,a.jsx)(Y,{className:"fs-10",children:X?(0,a.jsx)(w.Z,{href:"/earn/crn",color:"main0",size:"md",kind:"neon",variant:"textOnly",children:(0,a.jsxs)("div",{children:[(0,a.jsx)(B,{name:"link"})," link now"]})}):(0,a.jsx)(a.Fragment,{children:"not linked"})})]})},i)})}),(0,a.jsxs)(C.ZP,{title:"PERFORMANCE",children:[(0,a.jsx)(C.HC,{name:"TOTAL STAKED",value:(0,a.jsx)(z.Z,{value:null==l?void 0:l.total_staked})}),(0,a.jsx)(C.HC,{name:"CREATION TIME",value:J})]})]})]})})]})};O.displayName="CoreChannelNodeDetailPage";var L=(0,r.memo)(O),k=(0,l.ZP)("section").withConfig({displayName:"cmp___StyledSection",componentId:"sc-55cyu2-0"})({marginTop:"2rem",marginBottom:"2rem",display:"flex",alignItems:"center",justifyContent:"flex-end",gap:"1.75rem"}),P=(0,l.ZP)("section").withConfig({displayName:"cmp___StyledSection2",componentId:"sc-55cyu2-1"})({marginTop:"2rem"}),R=(0,l.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-55cyu2-2"})({display:"flex",flexWrap:"wrap",gap:"2.25rem"}),H=(0,l.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-55cyu2-3"})({display:"flex",width:"33.333333%",minWidth:"20rem",flex:"1 1 0%",flexDirection:"column",gap:"2.25rem"}),W=(0,l.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-55cyu2-4"})({display:"flex",width:"33.333333%",minWidth:"20rem",flex:"1 1 0%",flexDirection:"column",gap:"2.25rem"}),U=(0,l.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-55cyu2-5"})({display:"flex",width:"33.333333%",minWidth:"20rem",flex:"1 1 0%",flexDirection:"column",gap:"2.25rem"}),Q=(0,l.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-55cyu2-6"})({display:"flex",alignItems:"center",gap:"0.75rem"}),G=(0,l.ZP)("div").withConfig({displayName:"cmp___StyledDiv6",componentId:"sc-55cyu2-7"})({height:"1.5rem",width:"1.5rem",borderRadius:"9999px",backgroundColor:"#C4C4C433"}),Y=(0,l.ZP)("div").withConfig({displayName:"cmp___StyledDiv7",componentId:"sc-55cyu2-8"})({lineHeight:"1rem"}),B=(0,l.ZP)(j.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-55cyu2-9"})({height:"0.875rem",width:"0.875rem"}),V=(0,l.ZP)(j.tJ).withConfig({displayName:"cmp___StyledNodeName",componentId:"sc-55cyu2-10"})({marginRight:"auto",width:"auto",cursor:"pointer"}),F=L}},function(e){e.O(0,[959,312,505,903,774,888,179],function(){return e(e.s=18952)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[373],{18952:function(e,i,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/earn/ccn/[hash]",function(){return n(18743)}])},52984:function(e,i,n){"use strict";n.d(i,{Z:function(){return r}});var a=n(19521);let l=a.ZP.div.withConfig({displayName:"styles__StyledProgressBar",componentId:"sc-lav9ln-0"})(e=>{var i;let{theme:n,$color:l="main0",$gradient:r,$percent:t}=e,d=r?null===(i=n.gradient[r])||void 0===i?void 0:i.fn:void 0,s=d||n.color[l]||l,o=n.color.disabled2;return[{position:"relative",height:"0.125rem",width:"100%"},(0,a.iv)(["background-color:",";&:after{"," content:'';background-color:",";width:","%;}"],o,{position:"absolute",left:"0px",top:"0px",height:"100%"},s,100*t)]});var r=l},18743:function(e,i,n){"use strict";n.r(i),n.d(i,{default:function(){return F}});var a=n(85893),l=n(19521),r=n(67294),t=n(9008),d=n.n(t),s=n(41664),o=n.n(s),c=n(94461),u=n(11163),m=n(15457),h=n(10159),g=n(87536),N=n(56312),v=n(48107),j=n(31515),x=n(91421),p=n(73384),M=n(47630),f=n(34853),D=n(1218),C=n(68390),I=n(52984),y=n(90709),w=n(87931);let A=(0,l.ZP)(j.rs).withConfig({displayName:"styles__StyledSwitch",componentId:"sc-18t9uhh-0"})(["& span{background-image:url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNyAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgb3BhY2l0eT0iMC4zIj4KPHBhdGggZD0iTTEwLjA4MyA0LjY4NzVWNkgxMi43MDhWMTQuNzVIMC40NTgwMDhWNkg4LjMzMzAxVjQuNjg3NUM4LjMzMzAxIDIuNTI3MzQgMTAuMDgzIDAuNzUgMTIuMjcwNSAwLjc1QzE0LjQzMDcgMC43NSAxNi4yMDggMi41MjczNCAxNi4yMDggNC42ODc1VjZWNi44NzVIMTQuNDU4VjZWNC42ODc1QzE0LjQ1OCAzLjQ4NDM4IDEzLjQ3MzYgMi41IDEyLjI3MDUgMi41QzExLjA0IDIuNSAxMC4wODMgMy40ODQzOCAxMC4wODMgNC42ODc1WiIgZmlsbD0iIzE0MTMyNyIvPgo8L2c+Cjwvc3ZnPgo=');background-repeat:no-repeat;background-position:50%;&::after{background-image:url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgb3BhY2l0eT0iMC41Ij4KPHBhdGggZD0iTTUuNDc4NTIgNC42ODc1VjZIOS44NTM1MlY0LjY4NzVDOS44NTM1MiAzLjQ4NDM4IDguODY5MTQgMi41IDcuNjY2MDIgMi41QzYuNDM1NTUgMi41IDUuNDc4NTIgMy40ODQzOCA1LjQ3ODUyIDQuNjg3NVpNMy43Mjg1MiA2VjQuNjg3NUMzLjcyODUyIDIuNTI3MzQgNS40Nzg1MiAwLjc1IDcuNjY2MDIgMC43NUM5LjgyNjE3IDAuNzUgMTEuNjAzNSAyLjUyNzM0IDExLjYwMzUgNC42ODc1VjZIMTMuNzkxVjE0Ljc1SDEuNTQxMDJWNkgzLjcyODUyWiIgZmlsbD0iIzE0MTMyNyIvPgo8L2c+Cjwvc3ZnPgo='),linear-gradient(90deg,#00d1ff 0%,#0054ff 100%);background-repeat:no-repeat;background-position:50%;}}"]);var E=n(8978),T=n(77849),Z=n(43666),b=n(33358),_=n(25675),S=n.n(_),z=n(7954);let O=()=>{var e,i,n;let{node:l,baseLatency:t,aggregateLatency:s,fileDownloadLatency:_,metricsLatency:O,relativeETHHeightPercent:L,lastMetricsCheck:F,calculatedRewards:K,creationDate:J,isOwner:X,nameCtrl:$,descriptionCtrl:q,multiaddressCtrl:ee,pictureCtrl:ei,bannerCtrl:en,rewardCtrl:ea,managerCtrl:el,lockedCtrl:er,registrationUrlCtrl:et,isDirty:ed,account:es,isUnlinkableByUser:eo,handleUnlink:ec,handleRemove:eu,handleSubmit:em}=function(){let e=(0,u.useRouter)(),{hash:i}=e.query,[n]=(0,c.mr)(),{entities:a}=n.ccns,{node:l}=function(e){let{hash:i}=e,[n]=(0,c.mr)(),{entities:a}=n.ccns,l=(0,r.useMemo)(()=>{if(a)return a.filter(e=>e.hash===i)},[a,i]),[t]=l||[];return{node:t}}({hash:i}),t=(0,m._)({node:l,nodes:a}),d=(0,r.useMemo)(()=>new M.S,[]),s=(0,r.useMemo)(()=>l&&a?d.CCNRewardsPerDay(l,a)*(365/12):0,[l,a,d]),{aggregate_latency:o,file_download_latency:f,metrics_latency:D,eth_height_remaining:C}=(null==l?void 0:l.metricsData)||{},I=(0,r.useMemo)(()=>o?"".concat(Number(100*(o||0)).toFixed(2)," %"):void 0,[o]),y=(0,r.useMemo)(()=>f?"".concat(Number(100*(f||0)).toFixed(2)," %"):void 0,[f]),w=(0,r.useMemo)(()=>D?"".concat(Number(100*(D||0)).toFixed(2)," %"):void 0,[D]),A=(0,r.useMemo)(()=>{if(void 0!==C)return 0===C?0:Math.trunc((18643103-C)/18643103*10)/10},[C]),{isUnlinkableByUser:E,handleUnlink:T}=(0,p.i)(),Z=(0,r.useMemo)(()=>({hash:null==l?void 0:l.hash,name:null==l?void 0:l.name,picture:null==l?void 0:l.picture,banner:null==l?void 0:l.banner,description:null==l?void 0:l.description,reward:null==l?void 0:l.reward,authorized:null==l?void 0:l.authorized,locked:null==l?void 0:l.locked,registration_url:null==l?void 0:l.registration_url,manager:null==l?void 0:l.manager,multiaddress:null==l?void 0:l.multiaddress}),[l]),b=function(e){let{defaultValues:i}=e,[n,a]=(0,c.mr)(),{account:l}=n.connection,{entities:t}=n.ccns,d=(0,j.lm)(),s=(0,r.useMemo)(()=>new v.B(l),[l]),o=(0,r.useCallback)(async e=>{if(!s)throw Error("Manager not ready");if(!l)throw Error("Invalid account");let[,i]=await s.updateCoreChannelNode(e),n=null==t?void 0:t.find(e=>e.hash===i.hash),a=function(e,i){let n={...e||{},...i,virtual:Date.now()};return n}(n,i);return a},[l,s,t]),u=(0,r.useCallback)(async e=>{if(!d)throw Error("Notification not ready");d.add({variant:"success",title:"Success",text:'Your node "'.concat(e.hash,'" was updated successfully.')}),a(new x.Wy({name:"ccns",entities:[e]}))},[a,d]),{control:m,handleSubmit:p,formState:{errors:M,isDirty:f}}=(0,h.c)({defaultValues:i,onSubmit:o,onSuccess:u,resolver:(0,N.F)(v.B.updateCCNSchema),readyDeps:[i]}),D=(0,g.qo)({control:m}),C=(0,g.bc)({control:m,name:"name"}),I=(0,g.bc)({control:m,name:"description"}),y=(0,g.bc)({control:m,name:"multiaddress"}),w=(0,g.bc)({control:m,name:"picture"}),A=(0,g.bc)({control:m,name:"banner"}),E=(0,g.bc)({control:m,name:"reward"}),T=(0,g.bc)({control:m,name:"manager"}),Z=(0,g.bc)({control:m,name:"authorized"}),b=(0,g.bc)({control:m,name:"locked"}),_=(0,g.bc)({control:m,name:"registration_url"});return{values:D,control:m,nameCtrl:C,descriptionCtrl:I,multiaddressCtrl:y,pictureCtrl:w,bannerCtrl:A,rewardCtrl:E,managerCtrl:T,authorizedCtrl:Z,lockedCtrl:b,registrationUrlCtrl:_,errors:M,isDirty:f,handleSubmit:p}}({defaultValues:Z});return{aggregateLatency:I,fileDownloadLatency:y,metricsLatency:w,relativeETHHeightPercent:A,calculatedRewards:s,isUnlinkableByUser:E,handleUnlink:T,...b,...t}}();return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(d(),{children:[(0,a.jsx)("title",{children:"Aleph.im | CCN Detail"}),(0,a.jsx)("meta",{name:"description",content:"Aleph.im Compute Resource Node"}),(0,a.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1"})]}),(0,a.jsx)("section",{children:(0,a.jsx)(D.Z,{node:l,nameCtrl:$,descriptionCtrl:q,bannerCtrl:en,pictureCtrl:ei,isOwner:X})}),X&&(0,a.jsxs)(k,{children:[(0,a.jsxs)(j.zx,{kind:"flat",variant:"textOnly",size:"md",color:"error",onClick:eu,children:[(0,a.jsx)(j.JO,{name:"trash",color:"error",size:"lg"}),"remove node"]}),(0,a.jsx)(j.zx,{kind:"neon",variant:"primary",size:"md",color:"main2",onClick:em,disabled:!ed,children:"save changes"})]}),(0,a.jsx)(P,{children:(0,a.jsxs)(R,{children:[(0,a.jsxs)(H,{children:[(0,a.jsxs)(C.ZP,{title:"GENERAL INFO",children:[(0,a.jsx)(E.Z,{status:null==l?void 0:l.status}),(0,a.jsx)(C.HC,{name:"NAME",value:null==l?void 0:l.name}),(0,a.jsx)(C.HC,{name:"ASN",value:null==l?void 0:null===(e=l.metricsData)||void 0===e?void 0:e.as_name}),(0,a.jsx)(C.HC,{name:"OWNER",value:(0,a.jsx)(Z.Z,{href:(0,f.tz)({address:null==l?void 0:l.owner}),isOwner:!1,children:(null==l?void 0:l.owner)&&(0,f.zN)(null==l?void 0:l.owner)}),big:!0}),(0,a.jsx)(C.HC,{name:"REWARD ADDRESS",value:(0,a.jsx)(T.Z,{...ea.field,...ea.fieldState,placeholder:"address",isOwner:X,children:(0,a.jsx)(Z.Z,{href:(0,f.tz)({tokenAddress:ea.field.value}),isOwner:X,children:ea.field.value&&(0,f.zN)(ea.field.value)})}),big:!0}),(0,a.jsx)(C.HC,{name:"MULTI ADDRESS",value:(0,a.jsx)(T.Z,{...ee.field,...ee.fieldState,placeholder:"multi address",isOwner:X,children:(0,a.jsx)(Z.Z,{href:(0,f.k2)({multiaddress:ee.field.value}),isOwner:X,children:ee.field.value&&(0,f.zN)(ee.field.value)})}),big:!0})]}),(0,a.jsxs)(C.ZP,{title:"ADDITIONAL SETTINGS",children:[(0,a.jsx)(C.HC,{name:"MANAGER",value:(0,a.jsx)(T.Z,{...el.field,...el.fieldState,placeholder:"manager address",isOwner:X,children:(0,a.jsx)(Z.Z,{href:(0,f.tz)({address:el.field.value}),isOwner:X,children:el.field.value&&(0,f.zN)(el.field.value)})}),big:!0}),(0,a.jsx)(C.HC,{name:"REGISTRATION URL",value:(0,a.jsx)(T.Z,{...et.field,...et.fieldState,placeholder:"registration url",isOwner:X,children:(0,a.jsx)(Z.Z,{href:et.field.value,isOwner:X,children:et.field.value})}),big:!0}),(0,a.jsx)(C.HC,{name:er.field.value?"LOCKED":"UNLOCKED",value:(0,a.jsx)(A,{...er.field,...er.fieldState,checked:er.field.value,disabled:!X})})]})]}),(0,a.jsxs)(W,{children:[(0,a.jsxs)(C.ZP,{title:"REWARD INDICATORS",children:[(0,a.jsx)(C.HC,{name:"VERSION",value:null==l?void 0:null===(i=l.metricsData)||void 0===i?void 0:i.version}),(0,a.jsx)(C.HC,{name:"BASE LATENCY",value:t}),(0,a.jsx)(C.HC,{name:"AGGREGATE LATENCY",value:s}),(0,a.jsx)(C.HC,{name:"FILE DOWNLOAD LATENCY",value:_}),(0,a.jsx)(C.HC,{name:"METRICS LATENCY",value:O}),(0,a.jsx)(C.HC,{name:"ETH HEIGHT REMAINING",value:null==l?void 0:null===(n=l.metricsData)||void 0===n?void 0:n.eth_height_remaining}),(0,a.jsx)(I.Z,{$percent:L||0,$color:"main0"}),(0,a.jsx)(C.HC,{name:"LAST CHECK",value:F}),(0,a.jsx)(C.HC,{name:"linked resources",value:(0,a.jsx)(y.ZP,{nodes:null==l?void 0:l.crnsData,subfix:" linked"})})]}),(0,a.jsx)(C.ZP,{title:"POTENTIAL REWARD",children:(0,a.jsx)(C.HC,{name:"ESTIMATED MONTHLY REWARD",value:(0,a.jsx)(z.Z,{value:K})})})]}),(0,a.jsxs)(U,{children:[(0,a.jsx)(C.ZP,{title:"LINKED RESOURCES",children:Array.from({length:Math.max(v.B.maxLinkedPerNode,(null==l?void 0:l.crnsData.length)||0)},(e,i)=>{let n=null==l?void 0:l.crnsData[i];return(0,a.jsx)(Q,{children:n?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(y.Rr,{$score:n.score}),(0,a.jsx)(o(),{href:"/earn/crn/".concat(n.hash),legacyBehavior:!0,children:(0,a.jsx)(V,{hash:n.hash,name:n.name,picture:n.picture,apiServer:b.pf,ImageCmp:S()})}),eo(n)&&(0,a.jsx)("button",{onClick:()=>ec(n),children:(0,a.jsx)(j.JO,{name:"trash",color:"error"})})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(y.Rr,{}),(0,a.jsx)(G,{}),(0,a.jsx)(Y,{className:"fs-10",children:X?(0,a.jsx)(w.Z,{href:"/earn/crn",color:"main0",size:"md",kind:"neon",variant:"textOnly",children:(0,a.jsxs)("div",{children:[(0,a.jsx)(B,{name:"link"})," link now"]})}):(0,a.jsx)(a.Fragment,{children:"not linked"})})]})},i)})}),(0,a.jsxs)(C.ZP,{title:"PERFORMANCE",children:[(0,a.jsx)(C.HC,{name:"TOTAL STAKED",value:(0,a.jsx)(z.Z,{value:null==l?void 0:l.total_staked})}),(0,a.jsx)(C.HC,{name:"CREATION TIME",value:J})]})]})]})})]})};O.displayName="CoreChannelNodeDetailPage";var L=(0,r.memo)(O),k=(0,l.ZP)("section").withConfig({displayName:"cmp___StyledSection",componentId:"sc-55cyu2-0"})({marginTop:"2rem",marginBottom:"2rem",display:"flex",alignItems:"center",justifyContent:"flex-end",gap:"1.75rem"}),P=(0,l.ZP)("section").withConfig({displayName:"cmp___StyledSection2",componentId:"sc-55cyu2-1"})({marginTop:"2rem"}),R=(0,l.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-55cyu2-2"})({display:"flex",flexWrap:"wrap",gap:"2.25rem"}),H=(0,l.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-55cyu2-3"})({display:"flex",width:"33.333333%",minWidth:"20rem",flex:"1 1 0%",flexDirection:"column",gap:"2.25rem"}),W=(0,l.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-55cyu2-4"})({display:"flex",width:"33.333333%",minWidth:"20rem",flex:"1 1 0%",flexDirection:"column",gap:"2.25rem"}),U=(0,l.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-55cyu2-5"})({display:"flex",width:"33.333333%",minWidth:"20rem",flex:"1 1 0%",flexDirection:"column",gap:"2.25rem"}),Q=(0,l.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-55cyu2-6"})({display:"flex",alignItems:"center",gap:"0.75rem"}),G=(0,l.ZP)("div").withConfig({displayName:"cmp___StyledDiv6",componentId:"sc-55cyu2-7"})({height:"1.5rem",width:"1.5rem",borderRadius:"9999px",backgroundColor:"#C4C4C433"}),Y=(0,l.ZP)("div").withConfig({displayName:"cmp___StyledDiv7",componentId:"sc-55cyu2-8"})({lineHeight:"1rem"}),B=(0,l.ZP)(j.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-55cyu2-9"})({height:"0.875rem",width:"0.875rem"}),V=(0,l.ZP)(j.tJ).withConfig({displayName:"cmp___StyledNodeName",componentId:"sc-55cyu2-10"})({marginRight:"auto",width:"auto",cursor:"pointer"}),F=L}},function(e){e.O(0,[959,312,505,903,774,888,179],function(){return e(e.s=18952)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/earn/ccn/new-59754ec9658cd3bd.js b/_next/static/chunks/pages/earn/ccn/new-363d9d46f11d2c63.js similarity index 95% rename from _next/static/chunks/pages/earn/ccn/new-59754ec9658cd3bd.js rename to _next/static/chunks/pages/earn/ccn/new-363d9d46f11d2c63.js index e943025..e90c865 100644 --- a/_next/static/chunks/pages/earn/ccn/new-59754ec9658cd3bd.js +++ b/_next/static/chunks/pages/earn/ccn/new-363d9d46f11d2c63.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[842],{93571:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/earn/ccn/new",function(){return t(41917)}])},87931:function(e,n,t){"use strict";t.d(n,{Z:function(){return c}});var r=t(85893),i=t(67294),a=t(41664),o=t.n(a),s=t(79632);let d=e=>{let{href:n,variant:t="secondary",color:i="main0",kind:a="default",size:d="md",disabled:c,children:l,...m}=e,u=(0,r.jsx)(s.zx,{as:"a",variant:t,color:i,kind:a,size:d,disabled:c,...m,children:l});return c?u:(0,r.jsx)(o(),{href:n,passHref:!0,legacyBehavior:!0,children:u})};d.displayName="ButtonLink";var c=(0,i.memo)(d)},58833:function(e,n,t){"use strict";t.d(n,{Z:function(){return c}});var r=t(85893),i=t(19521),a=t(67294),o=t(79632);let s=(0,i.ZP)(o.zx).attrs(e=>({...e,forwardedAs:"a",kind:"neon",variant:"textOnly",color:"main0"})).withConfig({displayName:"styles__StyledExternalLinkButton",componentId:"sc-16jaolm-0"})([""]),d=e=>{let{children:n,href:t,size:i="lg",...a}=e;return(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)(s,{href:t,size:i,...a,target:"_blank",children:[n||t,(0,r.jsx)(l,{name:"square-up-right"})]})})};d.displayName="ExternalLinkButton";var c=(0,a.memo)(d),l=(0,i.ZP)(o.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-mpznlq-0"})({marginLeft:"0.625rem"})},43291:function(e,n,t){"use strict";t.d(n,{Z:function(){return c}});var r=t(85893),i=t(67294),a=t(19521);let o=a.ZP.form.withConfig({displayName:"styles__StyledForm",componentId:"sc-1c33mus-0"})(["",""],{display:"flex",flex:"1 1 0%",flexDirection:"column",gap:"2rem"});var s=t(79632);let d=e=>{let{children:n,onSubmit:t,errors:i,...a}=e;return(0,r.jsxs)(o,{onSubmit:t,noValidate:!0,...a,children:[n,(0,r.jsx)("div",{children:(null==i?void 0:i.root)&&Object.values(i.root).map(e=>(0,r.jsx)(s.Xq,{error:e},e+""))})]})};var c=(0,i.memo)(d)},10159:function(e,n,t){"use strict";t.d(n,{c:function(){return s}});var r=t(79632),i=t(67294),a=t(87536),o=t(1604);function s(e){let{onSubmit:n,onSuccess:t,onError:s,readyDeps:d=[],...c}=e,l=(0,a.cI)(c);(0,i.useEffect)(()=>{"object"==typeof c.defaultValues&&l.reset(c.defaultValues)},[...d]);let[m,u]=(0,i.useState)({data:void 0,error:void 0,loading:!1}),[h,{onLoad:p,onSuccess:f,onError:y}]=(0,r.g7)({flushData:!0,state:m,setState:u,onSuccess:t,onError:s}),g=(0,i.useCallback)(async e=>{try{p();let t=await n(e);f(t)}catch(n){let e=n instanceof o.jm?Error("Validation error, check highlighted form fields"):(null==n?void 0:n.cause)||n;l.setError("root.serverError",{...e,message:null==e?void 0:e.message}),y(e)}},[l,y,p,n,f]),x=(0,i.useCallback)(async e=>{let n;if(console.log(e),!n){let t=function e(n){let[t]=Object.entries(n);if(!t)return;let[r,i]=t;if(Array.isArray(i)){let n=i[i.length-1];return e(n)}return[r,i]}(e);if(t){let[e,r]=t,i="string"==typeof r?r:(null==r?void 0:r.message)?": ".concat(r.message):(null==r?void 0:r.type)?': "'.concat(null==r?void 0:r.type,'" validation not satisfied'):"";n=Error('Error on field "'.concat(e,'"').concat(i))}}n||(n=Error("Validation error")),y(n)},[y]),_=(0,i.useMemo)(()=>l.handleSubmit(g,x),[l,g,x]);return{...l,requestState:h,handleSubmit:_}}},41917:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return I}});var r=t(85893),i=t(19521),a=t(67294),o=t(9008),s=t.n(o),d=t(43291),c=t(79632),l=t(94461),m=t(11163),u=t(10159),h=t(87536),p=t(56312),f=t(72479),y=t(91421);let g={name:"",multiaddress:""};var x=t(58833),_=t(87931);let v=()=>{let{nameCtrl:e,multiaddressCtrl:n,errors:t,handleSubmit:i}=function(){let e=(0,m.useRouter)(),[n,t]=(0,l.mr)(),{account:r}=n.connection,i=(0,c.lm)(),o=(0,a.useMemo)(()=>new f.B(r),[r]),s=(0,a.useCallback)(async e=>{if(!o)throw Error("Manager not ready");if(!r)throw Error("Invalid account");let n=await o.newCoreChannelNode(e),t=function(e,n,t){let r={hash:n,owner:t,reward:t,locked:!1,authorized:[],resource_nodes:[],crnsData:[],time:Date.now(),stakers:{},total_staked:0,status:"waiting",score:0,score_updated:!1,decentralization:0,performance:0,has_bonus:!1,...e,virtual:Date.now()};return r}(e,n,r.address);return t},[r,o]),d=(0,a.useCallback)(async n=>{if(!i)throw Error("Notification not ready");i.add({variant:"success",title:"Success",text:'Your node "'.concat(n.hash,'" was created successfully.')}),t(new y.Wy({name:"ccns",entities:[n]})),e.replace("/earn/ccn/".concat(n.hash))},[t,i,e]),{control:x,handleSubmit:_,formState:{errors:v}}=(0,u.c)({defaultValues:g,onSubmit:s,onSuccess:d,resolver:(0,p.F)(f.B.newCCNSchema)}),w=(0,h.qo)({control:x}),j=(0,h.bc)({control:x,name:"name"}),C=(0,h.bc)({control:x,name:"multiaddress"});return{values:w,control:x,nameCtrl:j,multiaddressCtrl:C,errors:v,handleSubmit:_}}();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(s(),{children:[(0,r.jsx)("title",{children:"Aleph.im | Create CCN"}),(0,r.jsx)("meta",{name:"description",content:"Aleph.im Create Core Channel Node"}),(0,r.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1"})]}),(0,r.jsx)("section",{children:(0,r.jsx)(j,{className:"tp-h5",children:"Create core node"})}),(0,r.jsxs)(C,{onSubmit:i,errors:t,children:[(0,r.jsxs)(N,{children:[(0,r.jsx)(c.NP,{as:"h2",number:"1",children:"Set a name"}),(0,r.jsx)(S,{children:"Your node name should be short and meaningful."}),(0,r.jsxs)(c.Jy,{children:[(0,r.jsx)(c.oi,{...e.field,...e.fieldState,required:!0,label:"Node name",placeholder:"Give it a name"}),(0,r.jsx)(b,{children:"You can change this later if you want, even add a picture and description."})]})]}),(0,r.jsxs)(k,{children:[(0,r.jsx)(c.NP,{as:"h2",number:"2",children:"Set multiaddress"}),(0,r.jsx)(P,{children:"The physical node has unique identifier called multiaddress. It links the physical node with the interface. Can be setup later on the info page of the node or here if the physical node is running. The link below explains in detail the install procedure and how to retrieve the multiaddress."}),(0,r.jsxs)(c.Jy,{children:[(0,r.jsx)(c.oi,{...n.field,...n.fieldState,required:!0,label:"Set multiaddress",placeholder:"/ip4/{ip-address}/tcp/4025/p2p/SmlS3hb..."}),(0,r.jsx)(E,{children:(0,r.jsx)(x.Z,{href:"https://docs.aleph.im/nodes/core/",size:"md",children:"How to create a node"})})]})]}),(0,r.jsxs)(Z,{children:[(0,r.jsx)(c.zx,{color:"main0",kind:"neon",variant:"primary",size:"md",type:"submit",children:"Create core node"}),(0,r.jsx)(_.Z,{size:"md",variant:"textOnly",href:"/earn/ccn",children:"Cancel"})]})]})]})};v.displayName="NewCoreChannelNodePage";var w=(0,a.memo)(v),j=(0,i.ZP)("h1").withConfig({displayName:"cmp___StyledH",componentId:"sc-2yv219-0"})({marginBottom:"2rem"}),C=(0,i.ZP)(d.Z).withConfig({displayName:"cmp___StyledForm",componentId:"sc-2yv219-1"})({maxWidth:"44.6875rem"}),N=(0,i.ZP)("section").withConfig({displayName:"cmp___StyledSection",componentId:"sc-2yv219-2"})({paddingLeft:"0px",paddingRight:"0px",paddingBottom:"1.5rem","@media (min-width: 48rem)":{paddingBottom:"2.5rem"}}),S=(0,i.ZP)("p").withConfig({displayName:"cmp___StyledP",componentId:"sc-2yv219-3"})({marginBottom:"1.5rem",marginTop:"0.25rem"}),b=(0,i.ZP)("p").withConfig({displayName:"cmp___StyledP2",componentId:"sc-2yv219-4"})({marginTop:"1rem"}),k=(0,i.ZP)("section").withConfig({displayName:"cmp___StyledSection2",componentId:"sc-2yv219-5"})({paddingLeft:"0px",paddingRight:"0px",paddingTop:"1.5rem",paddingBottom:"1.5rem","@media (min-width: 48rem)":{paddingTop:"2.5rem",paddingBottom:"2.5rem"}}),P=(0,i.ZP)("p").withConfig({displayName:"cmp___StyledP3",componentId:"sc-2yv219-6"})({marginBottom:"1.5rem",marginTop:"0.25rem"}),E=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-2yv219-7"})({marginTop:"0.5rem"}),Z=(0,i.ZP)("section").withConfig({displayName:"cmp___StyledSection3",componentId:"sc-2yv219-8"})({display:"flex",gap:"2.5rem"}),I=w},9008:function(e,n,t){e.exports=t(42636)}},function(e){e.O(0,[312,774,888,179],function(){return e(e.s=93571)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[842],{93571:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/earn/ccn/new",function(){return t(41917)}])},87931:function(e,n,t){"use strict";t.d(n,{Z:function(){return c}});var r=t(85893),i=t(67294),a=t(41664),o=t.n(a),s=t(31515);let d=e=>{let{href:n,variant:t="secondary",color:i="main0",kind:a="default",size:d="md",disabled:c,children:l,...m}=e,u=(0,r.jsx)(s.zx,{as:"a",variant:t,color:i,kind:a,size:d,disabled:c,...m,children:l});return c?u:(0,r.jsx)(o(),{href:n,passHref:!0,legacyBehavior:!0,children:u})};d.displayName="ButtonLink";var c=(0,i.memo)(d)},58833:function(e,n,t){"use strict";t.d(n,{Z:function(){return c}});var r=t(85893),i=t(19521),a=t(67294),o=t(31515);let s=(0,i.ZP)(o.zx).attrs(e=>({...e,forwardedAs:"a",kind:"neon",variant:"textOnly",color:"main0"})).withConfig({displayName:"styles__StyledExternalLinkButton",componentId:"sc-16jaolm-0"})([""]),d=e=>{let{children:n,href:t,size:i="lg",...a}=e;return(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)(s,{href:t,size:i,...a,target:"_blank",children:[n||t,(0,r.jsx)(l,{name:"square-up-right"})]})})};d.displayName="ExternalLinkButton";var c=(0,a.memo)(d),l=(0,i.ZP)(o.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-mpznlq-0"})({marginLeft:"0.625rem"})},43291:function(e,n,t){"use strict";t.d(n,{Z:function(){return c}});var r=t(85893),i=t(67294),a=t(19521);let o=a.ZP.form.withConfig({displayName:"styles__StyledForm",componentId:"sc-1c33mus-0"})(["",""],{display:"flex",flex:"1 1 0%",flexDirection:"column",gap:"2rem"});var s=t(31515);let d=e=>{let{children:n,onSubmit:t,errors:i,...a}=e;return(0,r.jsxs)(o,{onSubmit:t,noValidate:!0,...a,children:[n,(0,r.jsx)("div",{children:(null==i?void 0:i.root)&&Object.values(i.root).map(e=>(0,r.jsx)(s.Xq,{error:e},e+""))})]})};var c=(0,i.memo)(d)},10159:function(e,n,t){"use strict";t.d(n,{c:function(){return s}});var r=t(31515),i=t(67294),a=t(87536),o=t(1604);function s(e){let{onSubmit:n,onSuccess:t,onError:s,readyDeps:d=[],...c}=e,l=(0,a.cI)(c);(0,i.useEffect)(()=>{"object"==typeof c.defaultValues&&l.reset(c.defaultValues)},[...d]);let[m,u]=(0,i.useState)({data:void 0,error:void 0,loading:!1}),[h,{onLoad:p,onSuccess:f,onError:y}]=(0,r.g7)({flushData:!0,state:m,setState:u,onSuccess:t,onError:s}),g=(0,i.useCallback)(async e=>{try{p();let t=await n(e);f(t)}catch(n){let e=n instanceof o.jm?Error("Validation error, check highlighted form fields"):(null==n?void 0:n.cause)||n;l.setError("root.serverError",{...e,message:null==e?void 0:e.message}),y(e)}},[l,y,p,n,f]),x=(0,i.useCallback)(async e=>{let n;if(console.log(e),!n){let t=function e(n){let[t]=Object.entries(n);if(!t)return;let[r,i]=t;if(Array.isArray(i)){let n=i[i.length-1];return e(n)}return[r,i]}(e);if(t){let[e,r]=t,i="string"==typeof r?r:(null==r?void 0:r.message)?": ".concat(r.message):(null==r?void 0:r.type)?': "'.concat(null==r?void 0:r.type,'" validation not satisfied'):"";n=Error('Error on field "'.concat(e,'"').concat(i))}}n||(n=Error("Validation error")),y(n)},[y]),_=(0,i.useMemo)(()=>l.handleSubmit(g,x),[l,g,x]);return{...l,requestState:h,handleSubmit:_}}},41917:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return I}});var r=t(85893),i=t(19521),a=t(67294),o=t(9008),s=t.n(o),d=t(43291),c=t(31515),l=t(94461),m=t(11163),u=t(10159),h=t(87536),p=t(56312),f=t(48107),y=t(91421);let g={name:"",multiaddress:""};var x=t(58833),_=t(87931);let v=()=>{let{nameCtrl:e,multiaddressCtrl:n,errors:t,handleSubmit:i}=function(){let e=(0,m.useRouter)(),[n,t]=(0,l.mr)(),{account:r}=n.connection,i=(0,c.lm)(),o=(0,a.useMemo)(()=>new f.B(r),[r]),s=(0,a.useCallback)(async e=>{if(!o)throw Error("Manager not ready");if(!r)throw Error("Invalid account");let n=await o.newCoreChannelNode(e),t=function(e,n,t){let r={hash:n,owner:t,reward:t,locked:!1,authorized:[],resource_nodes:[],crnsData:[],time:Date.now(),stakers:{},total_staked:0,status:"waiting",score:0,score_updated:!1,decentralization:0,performance:0,has_bonus:!1,...e,virtual:Date.now()};return r}(e,n,r.address);return t},[r,o]),d=(0,a.useCallback)(async n=>{if(!i)throw Error("Notification not ready");i.add({variant:"success",title:"Success",text:'Your node "'.concat(n.hash,'" was created successfully.')}),t(new y.Wy({name:"ccns",entities:[n]})),e.replace("/earn/ccn/".concat(n.hash))},[t,i,e]),{control:x,handleSubmit:_,formState:{errors:v}}=(0,u.c)({defaultValues:g,onSubmit:s,onSuccess:d,resolver:(0,p.F)(f.B.newCCNSchema)}),w=(0,h.qo)({control:x}),j=(0,h.bc)({control:x,name:"name"}),C=(0,h.bc)({control:x,name:"multiaddress"});return{values:w,control:x,nameCtrl:j,multiaddressCtrl:C,errors:v,handleSubmit:_}}();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(s(),{children:[(0,r.jsx)("title",{children:"Aleph.im | Create CCN"}),(0,r.jsx)("meta",{name:"description",content:"Aleph.im Create Core Channel Node"}),(0,r.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1"})]}),(0,r.jsx)("section",{children:(0,r.jsx)(j,{className:"tp-h5",children:"Create core node"})}),(0,r.jsxs)(C,{onSubmit:i,errors:t,children:[(0,r.jsxs)(N,{children:[(0,r.jsx)(c.NP,{as:"h2",number:"1",children:"Set a name"}),(0,r.jsx)(S,{children:"Your node name should be short and meaningful."}),(0,r.jsxs)(c.Jy,{children:[(0,r.jsx)(c.oi,{...e.field,...e.fieldState,required:!0,label:"Node name",placeholder:"Give it a name"}),(0,r.jsx)(b,{children:"You can change this later if you want, even add a picture and description."})]})]}),(0,r.jsxs)(k,{children:[(0,r.jsx)(c.NP,{as:"h2",number:"2",children:"Set multiaddress"}),(0,r.jsx)(P,{children:"The physical node has unique identifier called multiaddress. It links the physical node with the interface. Can be setup later on the info page of the node or here if the physical node is running. The link below explains in detail the install procedure and how to retrieve the multiaddress."}),(0,r.jsxs)(c.Jy,{children:[(0,r.jsx)(c.oi,{...n.field,...n.fieldState,required:!0,label:"Set multiaddress",placeholder:"/ip4/{ip-address}/tcp/4025/p2p/SmlS3hb..."}),(0,r.jsx)(E,{children:(0,r.jsx)(x.Z,{href:"https://docs.aleph.im/nodes/core/",size:"md",children:"How to create a node"})})]})]}),(0,r.jsxs)(Z,{children:[(0,r.jsx)(c.zx,{color:"main0",kind:"neon",variant:"primary",size:"md",type:"submit",children:"Create core node"}),(0,r.jsx)(_.Z,{size:"md",variant:"textOnly",href:"/earn/ccn",children:"Cancel"})]})]})]})};v.displayName="NewCoreChannelNodePage";var w=(0,a.memo)(v),j=(0,i.ZP)("h1").withConfig({displayName:"cmp___StyledH",componentId:"sc-2yv219-0"})({marginBottom:"2rem"}),C=(0,i.ZP)(d.Z).withConfig({displayName:"cmp___StyledForm",componentId:"sc-2yv219-1"})({maxWidth:"44.6875rem"}),N=(0,i.ZP)("section").withConfig({displayName:"cmp___StyledSection",componentId:"sc-2yv219-2"})({paddingLeft:"0px",paddingRight:"0px",paddingBottom:"1.5rem","@media (min-width: 48rem)":{paddingBottom:"2.5rem"}}),S=(0,i.ZP)("p").withConfig({displayName:"cmp___StyledP",componentId:"sc-2yv219-3"})({marginBottom:"1.5rem",marginTop:"0.25rem"}),b=(0,i.ZP)("p").withConfig({displayName:"cmp___StyledP2",componentId:"sc-2yv219-4"})({marginTop:"1rem"}),k=(0,i.ZP)("section").withConfig({displayName:"cmp___StyledSection2",componentId:"sc-2yv219-5"})({paddingLeft:"0px",paddingRight:"0px",paddingTop:"1.5rem",paddingBottom:"1.5rem","@media (min-width: 48rem)":{paddingTop:"2.5rem",paddingBottom:"2.5rem"}}),P=(0,i.ZP)("p").withConfig({displayName:"cmp___StyledP3",componentId:"sc-2yv219-6"})({marginBottom:"1.5rem",marginTop:"0.25rem"}),E=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-2yv219-7"})({marginTop:"0.5rem"}),Z=(0,i.ZP)("section").withConfig({displayName:"cmp___StyledSection3",componentId:"sc-2yv219-8"})({display:"flex",gap:"2.5rem"}),I=w},9008:function(e,n,t){e.exports=t(42636)}},function(e){e.O(0,[312,774,888,179],function(){return e(e.s=93571)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/earn/crn-c10341a97392c86e.js b/_next/static/chunks/pages/earn/crn-6be23280004fa6c0.js similarity index 97% rename from _next/static/chunks/pages/earn/crn-c10341a97392c86e.js rename to _next/static/chunks/pages/earn/crn-6be23280004fa6c0.js index 42e7d29..2495533 100644 --- a/_next/static/chunks/pages/earn/crn-c10341a97392c86e.js +++ b/_next/static/chunks/pages/earn/crn-6be23280004fa6c0.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[828],{62640:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/earn/crn",function(){return n(27796)}])},87931:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var i=n(85893),r=n(67294),a=n(41664),o=n.n(a),l=n(79632);let s=e=>{let{href:t,variant:n="secondary",color:r="main0",kind:a="default",size:s="md",disabled:d,children:c,...m}=e,p=(0,i.jsx)(l.zx,{as:"a",variant:n,color:r,kind:a,size:s,disabled:d,...m,children:c});return d?p:(0,i.jsx)(o(),{href:t,passHref:!0,legacyBehavior:!0,children:p})};s.displayName="ButtonLink";var d=(0,r.memo)(s)},13153:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});var i=n(85893),r=n(67294),a=n(79632),o=n(19521);let l=o.ZP.div.attrs((0,a.PT)("fx-dark-main0")).withConfig({displayName:"styles__StyledContainer",componentId:"sc-1hw364q-0"})([""," background:#00000019 !important;"],{position:"relative",height:"100%",maxWidth:"100%",borderRadius:"1.5rem",padding:"1.5rem"}),s=o.ZP.div.withConfig({displayName:"styles__StyledContent",componentId:"sc-1hw364q-1"})([""," ",""],{maxWidth:"100%"},e=>{let{$disabled:t}=e;return t&&(0,o.iv)(["opacity:0.4;filter:grayscale(100%);"])}),d=e=>{let{children:t,disabled:n,loading:r,...a}=e;return(0,i.jsx)(l,{...a,children:(0,i.jsx)(s,{$disabled:n,children:t})})};d.displayName="Card1";var c=(0,r.memo)(d)},58833:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var i=n(85893),r=n(19521),a=n(67294),o=n(79632);let l=(0,r.ZP)(o.zx).attrs(e=>({...e,forwardedAs:"a",kind:"neon",variant:"textOnly",color:"main0"})).withConfig({displayName:"styles__StyledExternalLinkButton",componentId:"sc-16jaolm-0"})([""]),s=e=>{let{children:t,href:n,size:r="lg",...a}=e;return(0,i.jsx)(i.Fragment,{children:(0,i.jsxs)(l,{href:n,size:r,...a,target:"_blank",children:[t||n,(0,i.jsx)(c,{name:"square-up-right"})]})})};s.displayName="ExternalLinkButton";var d=(0,a.memo)(s),c=(0,r.ZP)(o.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-mpznlq-0"})({marginLeft:"0.625rem"})},28417:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var i=n(85893),r=n(19521),a=n(67294),o=n(34816),l=n(43815),s=n(42983),d=n(13153),c=n(79632),m=n(87625);let p=e=>{let{title:t,nodes:n,...s}=e,p=(0,r.Fg)(),u=(0,a.useMemo)(()=>{let e=n||[],t=e.length,i=e.reduce((e,t)=>e+Number(t.score>=.8),0),r=e.reduce((e,t)=>e+Number(t.score>=.5&&t.score<.8),0),a=e.reduce((e,t)=>e+Number(t.score<.5),0),o=t-i-r-a;return[{label:"active nodes",value:"".concat(i," nodes"),percentage:i/t,gradient:"main1"},{label:"50% < 80%",value:"".concat(r," nodes"),percentage:r/t,gradient:"main2"},{label:"< 50%",value:"".concat(a," nodes"),percentage:a/t,color:"error"},{label:"other",value:"".concat(o," nodes"),percentage:o/t,color:"transparent"}]},[n]),j=p.color.disabled2,C=[...u].reverse();return(0,i.jsxs)(d.Z,{loading:!n,...s,children:[(0,i.jsx)(h,{forwardedAs:"h3",type:"info",color:"main0",children:t}),(0,i.jsxs)(f,{children:[(0,i.jsxs)(g,{width:100,height:100,margin:{},children:[(0,i.jsx)("defs",{children:(0,i.jsx)(m._,{data:u})}),(0,i.jsx)(o.b,{data:[{v:1}],dataKey:"v",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,isAnimationActive:!1,fill:j}),(0,i.jsx)(o.b,{data:C,dataKey:"percentage",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,children:C.map(e=>{let t="gr-".concat(e.gradient),n=e.gradient?"url(#".concat(t,")"):e.color?p.color[e.color]||e.color:void 0;return(0,i.jsx)(l.b,{fill:n},e.label)})}),(0,i.jsx)("text",{x:"50%",y:"50%",dominantBaseline:"central",textAnchor:"middle",className:"tp-body3 fs-24",fill:p.color.text,children:(null==n?void 0:n.length)||0})]}),(0,i.jsx)(x,{children:Array.from({length:2},(e,t)=>(0,i.jsx)(y,{children:u.slice(2*t,2*t+2).map(e=>(0,i.jsxs)(v,{children:[(0,i.jsx)(c.cu,{$color:"transparent"===e.color?j:e.color,$gradient:e.gradient,$size:"1.25rem"}),(0,i.jsxs)(_,{className:"tp-body3",children:[(0,i.jsx)("div",{children:e.value}),(0,i.jsx)(w,{className:"fs-10",children:e.label})]})]},e.label))},t))})]})]})};p.displayName="NetworkHealthChart";var u=(0,a.memo)(p),h=(0,r.ZP)(c.DU).withConfig({displayName:"cmp___StyledTextGradient",componentId:"sc-ghx7oa-0"})({margin:"0px",minHeight:"2rem"}),f=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-ghx7oa-1"})({display:"flex",flexDirection:"column",alignItems:"center"}),g=(0,r.ZP)(s.u).withConfig({displayName:"cmp___StyledPieChart",componentId:"sc-ghx7oa-2"})({marginTop:"0.75rem",marginBottom:"0.75rem",minHeight:"6.25rem"}),x=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-ghx7oa-3"})({marginTop:"0.25rem",display:"flex",width:"100%",alignItems:"stretch",justifyContent:"center",gap:"1.5rem"}),y=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-ghx7oa-4"})({display:"flex",flexDirection:"column",gap:"1rem"}),v=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-ghx7oa-5"})({display:"flex",alignItems:"center",gap:"0.75rem"}),_=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-ghx7oa-6"})({display:"flex",flexDirection:"column",justifyContent:"space-between",gap:"0.25rem",whiteSpace:"nowrap",fontStyle:"normal",lineHeight:"1rem !important"}),w=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv6",componentId:"sc-ghx7oa-7"})({opacity:"0.6"})},33378:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});var i=n(85893),r=n(19521),a=n(67294);let o=r.ZP.div.withConfig({displayName:"styles__StyledDotIcon",componentId:"sc-1w2vi58-0"})(e=>{let{theme:t,$active:n}=e,i=n?t.color.main1:t.color.disabled2;return[{height:"0.75rem",width:"0.5rem"},(0,r.iv)(["background-color:",";"],i)]}),l=e=>{let{decentralization:t}=e,n=e=>(e+1)*.3;return(0,i.jsx)(d,{children:(0,i.jsx)(c,{children:Array.from({length:3},(e,r)=>(0,i.jsx)(o,{$active:t>=n(r)},r))})})};l.displayName="NodeDecentralization";var s=(0,a.memo)(l),d=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-sktw9k-0"})({display:"inline-flex",alignItems:"center",gap:"0.75rem"}),c=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-sktw9k-1"})({display:"flex",alignItems:"stretch",gap:"0.125rem"})},68461:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var i=n(85893),r=n(19521),a=n(67294),o=n(79632);let l=(0,r.ZP)(o.iA).attrs(e=>({borderType:"solid",oddRowNoise:!0,stickyHeader:!1,...e})).withConfig({displayName:"styles__StyledTable",componentId:"sc-gp6li6-0"})(["thead th{font-size:0.8125rem;","}td,th{padding:0.75rem 1rem;width:0;}tr,td{border:none;}"],{whiteSpace:"nowrap"}),s=e=>{let{children:t,...n}=e;return(0,i.jsx)(c,{children:(0,i.jsx)(l,{...n,children:t})})};s.displayName="NodesTable";var d=(0,a.memo)(s),c=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1mxy15q-0"})({maxWidth:"100%",overflowX:"auto"})},6309:function(e,t,n){"use strict";n.d(t,{t:function(){return d},Z:function(){return c}});var i=n(85893),r=n(67294),a=n(19521);let o=a.ZP.span.withConfig({displayName:"styles__StyledPrice",componentId:"sc-ouxjcu-0"})(["",""],{display:"inline-flex",alignItems:"center",gap:"0.25rem",whiteSpace:"nowrap"});var l=n(79632),s=n(34853);let d=e=>{let{value:t,...n}=e;return(0,i.jsxs)(o,{...n,children:[(0,s.RK)(t),(0,i.jsx)(l.TR,{color:"currentColor"})]})};d.displayName="Price";var c=(0,r.memo)(d)},32350:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});var i=n(85893),r=n(19521),a=n(67294),o=n(79632);r.ZP.div.withConfig({displayName:"styles__StyledContainer",componentId:"sc-7dtatc-0"})(["",""],e=>{let{$isOpen:t,$duration:n=500}=e;return(0,r.iv)(["display:grid;grid-template-rows:0fr;transition:grid-template-rows ","ms ease-in-out;",""],n,t&&(0,r.iv)(["grid-template-rows:1fr;"]))});let l=(0,r.ZP)(o.Gd).withConfig({displayName:"styles__StyledToggleContainer",componentId:"sc-7dtatc-1"})([""," transition-property:all !important;",""],{position:"relative",top:"-1.25rem",margin:"0px",padding:"0px"},e=>{let{open:t}=e;return t&&(0,r.iv)(["",""],{top:"0px",margin:"-4rem",padding:"4rem"})}),s=r.ZP.div.withConfig({displayName:"styles__StyledButtonsContainer",componentId:"sc-7dtatc-2"})(["",""],e=>{let{$open:t}=e;return(0,r.iv)([""," opacity:",";transition:opacity ease-in-out 400ms ","ms,visibility linear 0ms ","ms;"],{position:"absolute !important",top:"0px",display:"flex",flexDirection:"column",gap:"1.25rem"},t?1:0,t?600:0,t?600:0)}),d=e=>{let{buttons:t,children:n,...r}=e,[d,c]=(0,a.useState)(!0),f=(0,a.useCallback)(()=>c(e=>!e),[]),g=(0,a.useRef)(null),{shouldMount:x,stage:y}=(0,o.Yz)(!d,1e3),{shouldMount:v,stage:_}=(0,o.Yz)(d,1e3),w="enter"===y,{bounds:j}=(0,o.Bq)({ref:g,deps:[w]}),C=(null==j?void 0:j.height)||0;return(0,i.jsx)(m,{style:{minHeight:C},...r,children:(0,i.jsxs)(i.Fragment,{children:[v&&(0,i.jsxs)(l,{open:"enter"===_,duration:1e3,children:[n,(0,i.jsxs)(p,{color:"main0",kind:"neon",variant:"textOnly",size:"md",onClick:f,$_css:[{marginLeft:"auto !important",marginTop:"1.5rem !important",display:"flex !important",gap:"0.625rem"}],children:[(0,i.jsx)(u,{name:"sort-up"}),"collapse"]})]}),x&&(0,i.jsxs)(s,{ref:g,$open:w,children:[t,(0,i.jsxs)(h,{color:"main0",kind:"neon",variant:"secondary",size:"md",onClick:f,children:[(0,i.jsx)(o.JO,{name:"gauge"}),"open dashboard"]})]})]})})};d.displayName="ToggleDashboard";var c=(0,a.memo)(d),m=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-juc50-0"})({position:"relative",marginBottom:"3.5rem",marginTop:"2rem"}),p=(0,r.ZP)(o.zx).withConfig({displayName:"cmp___StyledButton",componentId:"sc-juc50-1"})(["",""],e=>e.$_css),u=(0,r.ZP)(o.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-juc50-2"})({height:"0.875rem",width:"0.875rem",paddingTop:"0.5rem"}),h=(0,r.ZP)(o.zx).withConfig({displayName:"cmp___StyledButton2",componentId:"sc-juc50-3"})({gap:"0.625rem"})},87625:function(e,t,n){"use strict";n.d(t,{_:function(){return a}});var i=n(85893),r=n(19521);function a(e){let{data:t}=e,n=(0,r.Fg)();return(0,i.jsx)(i.Fragment,{children:t.filter(e=>!!e.gradient).map((e,t)=>{if(!e.gradient)return null;let{colors:r,deg:a,stops:o}="string"==typeof e.gradient?n.gradient[e.gradient]:e.gradient,l="string"==typeof e.gradient?"gr-".concat(e.gradient):"gr-".concat(t);return(0,i.jsx)("linearGradient",{id:l,gradientTransform:"rotate(".concat(a+-90," 0.5 0.5)"),children:r.map((e,t)=>(0,i.jsx)("stop",{offset:"".concat(o[t],"%"),stopColor:e},e))},l)})})}},70235:function(e,t,n){"use strict";n.d(t,{L:function(){return o}});var i=n(67294),r=n(94461),a=n(77767);function o(e){var t;let{key:n,debounced:o=0}=e,[l,s]=(0,r.mr)(),d=l.filter,c=null===(t=d[n])||void 0===t?void 0:t.value,m=(0,i.useMemo)(()=>{var e;let t;return e=e=>e?s(new a.q6({key:n,value:e})):s(new a.xp({key:n})),n=>{clearTimeout(t),t=setTimeout(()=>e(n),o)}},[o,n,s]);return[c,m]}},67200:function(e,t,n){"use strict";n.d(t,{d:function(){return r}});var i=n(67294);function r(e){let{nodes:t}=e,n=(0,i.useMemo)(()=>{let e=t||Array.from({length:4},(e,t)=>({metricsData:{as_name:"Provider ".concat(t)}}));return e.reduce((e,t)=>{var n;let i=(null===(n=t.metricsData)||void 0===n?void 0:n.as_name)||"others";return e[i]=(e[i]||0)+1,e},{others:0})},[t]),r=(0,i.useMemo)(()=>Object.values(n).reduce((e,t)=>e+t,0),[n]),a=(0,i.useMemo)(()=>{let e=Object.entries(n).filter(e=>{let[t]=e;return"others"!==t}).sort((e,t)=>{let[,n]=e,[,i]=t;return i-n}),t=e.slice(0,3),i=e.slice(3),a=["others",n.others+i.reduce((e,t)=>{let[,n]=t;return e+n},0)];return[...t,a].map((e,t)=>{let[n,i]=e;return{tier:t+1,name:n,count:i,percentage:i/r,color:0===t?"error":1===t?"main2":2===t?"main0":"main1"}})},[n,r]);return{total:r,buckets:n,top:a}}},76625:function(e,t,n){"use strict";n.d(t,{W:function(){return r}});var i=n(67294);function r(){let[e,t]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{let e=setTimeout(()=>t(!0));return()=>clearTimeout(e)},[]),{render:e}}},73384:function(e,t,n){"use strict";n.d(t,{i:function(){return s}});var i=n(94461),r=n(72479),a=n(91421),o=n(79632),l=n(67294);function s(){let[e,t]=(0,i.mr)(),{account:n}=e.connection,{entities:s}=e.crns,{entities:d}=e.ccns,c=(0,l.useMemo)(()=>new r.B(n),[n]),m=(0,o.lm)(),p=(0,l.useCallback)(e=>"string"==typeof e?null==s?void 0:s.find(t=>t.hash===e):e,[s]),u=(0,l.useCallback)(e=>"string"==typeof e?null==d?void 0:d.find(t=>t.hash===e):e,[d]),h=(0,l.useCallback)(e=>{let t=p(e);return!!t&&c.isLinked(t)},[p,c]),f=(0,l.useCallback)((e,t)=>{let n=p(e),i=u(t);return!!n&&!!i&&c.isLinkableBy(n,i)[0]},[u,p,c]),g=(0,l.useCallback)(e=>{let t=p(e);if(!t)return!1;let n=u(t.parentData||t.parent||"");return!!n&&c.isUnlinkableBy(t,n)},[u,p,c]),x=(0,l.useCallback)(async(e,n)=>{try{if(!m)throw Error("Notification not ready");let i=p(e);if(!i)throw Error("Invalid CRN node");let r=u(n);if(!r)throw Error("Invalid CCN node");if(!f(i,r))throw Error("Not linkable node");await c.linkComputeResourceNode(i.hash),m.add({variant:"success",title:"Success",text:'Linked resource node "'.concat(i.hash,'" successfully.')});let[o,l]=function(e,t){let n={...t,virtual:Date.now()},i={...e,virtual:Date.now()};n.parent=i.hash,n.parentData=i;let r=i.crnsData.reduce((e,t)=>(e[t.hash]=t,e),{});return r[n.hash]=n,i.crnsData=Object.values(r),i.resource_nodes=Object.keys(r),[i,n]}(r,i);return t(new a.Wy({name:"ccns",entities:[o]})),t(new a.Wy({name:"crns",entities:[l]})),!0}catch(e){null==m||m.add({variant:"error",title:"Error",text:e.message})}return!1},[t,u,p,f,c,m]),y=(0,l.useCallback)(async e=>{try{if(!m)throw Error("Notification not ready");let n=p(e);if(!n)throw Error("Invalid CRN node");let i=u(n.parentData||n.parent||"");if(!i)throw Error("Invalid CCN node");if(!g(n))throw Error("Not unlinkable node");await c.unlinkComputeResourceNode(n.hash),m.add({variant:"success",title:"Success",text:'Unlinked resource node "'.concat(n.hash,'" successfully.')});let[r,o]=function(e,t){let n={...t,virtual:Date.now()},i={...e,virtual:Date.now()};n.parent="",n.parentData=void 0;let r=i.crnsData.filter(e=>e.hash!==n.hash);return i.crnsData=r,i.resource_nodes=r.map(e=>e.hash),[i,n]}(i,n);return t(new a.Wy({name:"ccns",entities:[r]})),t(new a.Wy({name:"crns",entities:[o]})),!0}catch(e){null==m||m.add({variant:"error",title:"Error",text:e.message})}return!1},[t,u,p,g,c,m]);return{isLinked:h,isLinkableByUser:f,isUnlinkableByUser:g,handleLink:x,handleUnlink:y}}},96264:function(e,t,n){"use strict";n.d(t,{O:function(){return o}});var i=n(67294),r=n(72479),a=n(94461);function o(e){let{nodes:t}=e,[n]=(0,a.mr)(),{account:o}=n.connection,l=(0,i.useMemo)(()=>new r.B(o),[o]),[s,d]=(0,i.useState)({}),[c,m]=(0,i.useState)(!0);return(0,i.useEffect)(()=>{(async function(){t&&(await Promise.allSettled(t.map(async e=>{let t=await l.getCRNspecs(e);d(n=>({...n,[e.hash]:{data:t,loading:!1,error:void 0}}))})),m(!1))})()},[l,t]),{specs:s,loading:c}}},51383:function(e,t,n){"use strict";n.d(t,{L:function(){return r}});var i=n(67294);function r(e){let{nodes:t,nodesIssues:n}=e,r=(0,i.useMemo)(()=>{if(t)return t.sort((e,t)=>{let i=n[e.hash]?1:0,r=n[t.hash]?1:0;return r-i})},[t,n]);return{sortedNodes:r}}},32998:function(e,t,n){"use strict";n.d(t,{g:function(){return r}});var i=n(67294);function r(e){let{list:t}=e,[n,r]=(0,i.useState)(),a=(0,i.useMemo)(()=>t&&n?n(t):t,[t,n]),o=(0,i.useCallback)(e=>r(()=>e),[]);return{list:a,handleSortItems:o}}},58193:function(e,t,n){"use strict";n.d(t,{h:function(){return o}});var i=n(94461),r=n(67294),a=n(69797);function o(){let{nodes:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[t]=(0,i.mr)(),{entities:n}=t.ccns,{userNodes:o}=(0,a.M)({nodes:e||n}),l=(0,r.useMemo)(()=>null==o?void 0:o[0],[o]);return{userNode:l}}},27796:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return eS}});var i=n(85893),r=n(19521),a=n(67294),o=n(9008),l=n.n(o),s=n(41664),d=n.n(s),c=n(79632),m=n(72479),p=n(94461),u=n(32998),h=n(70235),f=n(38753),g=n(69797),x=n(51383),y=n(58193),v=n(73384),_=n(11163),w=n(96264),j=n(68461),C=n(33378),N=n(47630),b=n(6309);let S=e=>{let{node:t}=e,n=(0,a.useMemo)(()=>{let e=new N.S;return e.CRNRewardsPerDay(t)*(365/12)},[t]),r=(0,a.useMemo)(()=>!t.parent,[t]);return(0,i.jsx)(i.Fragment,{children:r?(0,i.jsx)(i.Fragment,{children:"-"}):(0,i.jsxs)(D,{children:["~ ",(0,i.jsx)(b.t,{value:n}),"/M"]})})};S.displayName="CRNRewardsCell";var I=(0,a.memo)(S),D=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-yja46l-0"})({display:"inline-flex",alignItems:"center",gap:"0.5rem",whiteSpace:"nowrap"});let k=e=>{let{node:t,userNode:n,onLink:r,onUnlink:o}=e,{isLinkableByUser:l,isUnlinkableByUser:s,handleLink:d,handleUnlink:m}=(0,v.i)(),p=r||d,u=o||m,h=(0,a.useMemo)(()=>t&&n&&l(t,n),[l,t,n]),f=(0,a.useMemo)(()=>t&&s(t),[s,t]),g=(0,a.useCallback)(()=>{n&&(f?u(t.hash):p(t,n))},[p,u,f,t,n]);return(0,i.jsx)(i.Fragment,{children:f?(0,i.jsx)(c.zx,{kind:"neon",size:"md",variant:"secondary",color:"main2",onClick:g,children:"Unlink"}):(0,i.jsx)(c.zx,{kind:"neon",size:"md",variant:"secondary",color:"main0",onClick:g,disabled:!h,children:"Link"})})};k.displayName="LinkCRNButton";var Z=(0,a.memo)(k),P=n(87931),R=n(25675),T=n.n(R),B=n(33358);let M=e=>{let{filteredNodes:t,userNode:n,account:r,lastVersion:o,nodesIssues:l,loadItemsDisabled:s,handleLoadItems:d,handleSortItems:m,handleLink:p,handleUnlink:u}=e,h=(0,a.useMemo)(()=>[{label:"",align:"center",width:0,cellProps:()=>({css:{padding:"0px !important"}}),hcellProps:()=>({css:{borderWidth:"0px !important",padding:"0px !important"}}),render:e=>(null==l?void 0:l[e.hash])?(0,i.jsx)(L,{children:"\xa0"}):null},{label:"SCORE",sortable:!0,sortBy:e=>e.score,render:e=>(0,i.jsx)(c.WG,{score:e.score})},{label:"LINKED",sortable:!0,sortBy:e=>{var t;return null===(t=e.parentData)||void 0===t?void 0:t.name},render:e=>(0,i.jsx)(i.Fragment,{children:e.parentData?(0,i.jsx)(c.tJ,{hash:e.parentData.hash,name:e.parentData.name,picture:e.parentData.picture,apiServer:B.pf,ImageCmp:T()}):"-"})},{label:"NAME",sortable:!0,sortBy:e=>e.name,render:e=>(0,i.jsx)(c.tJ,{hash:e.hash,name:e.name,picture:e.picture,apiServer:B.pf,ImageCmp:T()})},{label:"DECENTRALIZED",sortable:!0,sortBy:e=>e.decentralization,render:e=>(0,i.jsx)(C.Z,{decentralization:e.decentralization})},{label:"EST. REWARDS",align:"right",render:e=>(0,i.jsx)(I,{node:e})},{label:"VERSION",sortable:!0,align:"right",width:"100%",sortBy:e=>{var t;return null===(t=e.metricsData)||void 0===t?void 0:t.version},render:e=>{var t;return(0,i.jsx)(c.pJ,{version:(null===(t=e.metricsData)||void 0===t?void 0:t.version)||"",lastVersion:o})}},{label:"",align:"right",render:e=>(0,i.jsxs)(A,{children:[(0,i.jsx)(Z,{node:e,userNode:n,account:r,onLink:p,onUnlink:u}),(0,i.jsx)(P.Z,{kind:"neon",size:"md",variant:"secondary",color:"main0",href:"/earn/crn/".concat(e.hash),children:"Info"})]})}],[r,o,l,p,u,n]);return(0,i.jsx)(j.Z,{columns:h,data:t,infiniteScroll:!s,onLoadMore:d,onSort:m})};M.displayName="ComputeResourceNodesTable";var E=(0,a.memo)(M),L=(0,r.ZP)(c.Cc).withConfig({displayName:"cmp___StyledNotificationBadge",componentId:"sc-1hivp77-0"})({marginLeft:"auto !important",marginRight:"auto !important",display:"flex !important"}),A=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1hivp77-1"})({display:"flex",justifyContent:"flex-end",gap:"0.75rem"}),z=n(58833),W=n(32350),O=n(33445),H=n(28417),F=n(13153),U=n(67200);let q=e=>{let{title:t,nodes:n,...r}=e,{top:o}=(0,U.d)({nodes:n}),l=(0,a.useMemo)(()=>o.map(e=>{let{name:t,count:n,percentage:i,color:r}=e;return{label:"".concat(n," nodes (").concat((100*i).toFixed(0),"%)"),value:t,percentage:i,color:r}}),[o]);return(0,i.jsxs)(F.Z,{loading:!n,...r,children:[(0,i.jsx)(G,{forwardedAs:"h3",type:"info",color:"main0",children:t}),(0,i.jsx)(J,{children:l.map(e=>(0,i.jsxs)(K,{children:[(0,i.jsx)(c.cu,{$color:e.color,$size:"1.25rem"}),(0,i.jsxs)(V,{className:"tp-body3",children:[(0,i.jsx)("div",{children:e.value}),(0,i.jsx)(X,{className:"fs-10",children:e.label})]})]},e.value))})]})};q.displayName="HostingProviderChart";var $=(0,a.memo)(q),G=(0,r.ZP)(c.DU).withConfig({displayName:"cmp___StyledTextGradient",componentId:"sc-1c9rl6q-0"})({margin:"0px",minHeight:"2rem"}),J=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1c9rl6q-1"})({marginTop:"0.25rem",display:"flex",flexDirection:"column",gap:"1rem"}),K=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-1c9rl6q-2"})({display:"flex",alignItems:"center",gap:"0.75rem"}),V=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-1c9rl6q-3"})({display:"flex",flexDirection:"column",justifyContent:"space-between",gap:"0.25rem",whiteSpace:"nowrap",fontStyle:"normal",lineHeight:"1rem !important"}),X=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-1c9rl6q-4"})({opacity:"0.6"}),Y=n(76625),Q=n(34853);let ee=e=>{let{title:t,resources:n,...r}=e,o=(0,a.useMemo)(()=>[{label:"CPU",value:(null==n?void 0:n.cpu)||"-",color:"main1"},{label:"RAM",value:(0,Q.eB)(null==n?void 0:n.ram,"MiB"),color:"main1"},{label:"HDD",value:(0,Q.eB)(null==n?void 0:n.hdd,"MiB"),color:"main1"}],[n]);return(0,i.jsxs)(F.Z,{loading:!n,...r,children:[(0,i.jsx)(en,{forwardedAs:"h3",type:"info",color:"main0",children:t}),(0,i.jsxs)(ei,{children:[o.map(e=>(0,i.jsxs)(er,{children:[(0,i.jsx)(c.cu,{$color:e.color,$size:"1.25rem"}),(0,i.jsxs)(ea,{className:"tp-body3",children:[(0,i.jsx)("div",{children:e.value}),(0,i.jsx)(eo,{className:"fs-10",children:e.label})]})]},e.label)),(0,i.jsxs)(el,{className:"fs-10 tp-body1",children:[(0,i.jsx)("div",{children:"Total amount of resources on the network."}),(null==n?void 0:n.nodes)&&(0,i.jsxs)("div",{children:["(Using ",null==n?void 0:n.nodes," active nodes of ",null==n?void 0:n.total,")"]})]})]})]})};ee.displayName="TotalNetworkResourcesChart";var et=(0,a.memo)(ee),en=(0,r.ZP)(c.DU).withConfig({displayName:"cmp___StyledTextGradient",componentId:"sc-vioslj-0"})({margin:"0px",minHeight:"2rem"}),ei=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-vioslj-1"})({marginTop:"0.25rem",display:"flex",flexDirection:"column",gap:"1rem"}),er=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-vioslj-2"})({display:"flex",alignItems:"center",gap:"0.75rem"}),ea=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-vioslj-3"})({display:"flex",flexDirection:"column",justifyContent:"space-between",gap:"0.25rem",whiteSpace:"nowrap",fontStyle:"normal",lineHeight:"1rem !important"}),eo=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-vioslj-4"})({opacity:"0.6"}),el=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-vioslj-5"})({opacity:"0.6"});let es=e=>{let{account:t,nodes:n,paginatedSortedFilteredNodes:r,userNodes:o,filteredUserNodes:s,userNodesIssues:j,userNode:C,tabs:N,selectedTab:b,filter:S,lastVersion:I,isLinkableOnly:D,isLinkableOnlyDisabled:k,totalResources:Z,loadItemsDisabled:P,handleLoadItems:R,handleSortItems:T,handleLink:B,handleUnlink:M,handleTabChange:L,handleFilterChange:A,handleLinkableOnlyChange:F}=function(e){let{nodes:t,filteredNodes:n,...r}=function(e){let{nodes:t}=e,[n]=(0,p.mr)(),{account:i,balance:r=0}=n.connection,{data:o}=n.lastCRNVersion,{entities:l}=n.crns,s=n.filter,[d,c]=(0,h.L)({key:"crnq",debounced:200}),[m,f]=(0,a.useState)(),g=(0,a.useCallback)(e=>{let t=e.target.value;f(t),c(t)},[c]);(0,a.useEffect)(()=>{void 0===m&&d&&f(d)},[d,m]);let x=(0,a.useCallback)((e,t)=>{if(t)return e?t.filter(t=>{var n,i;return(null===(n=t.name)||void 0===n?void 0:n.toLowerCase().includes(e.toLowerCase()))||((null===(i=t.parentData)||void 0===i?void 0:i.name)||"").toLowerCase().includes(e.toLowerCase())}):t},[]),y=(0,a.useMemo)(()=>{let e=t||l;if(e)return e.sort((e,t)=>t.score-e.score)},[t,l]),v=(0,a.useMemo)(()=>x(d,y),[x,d,y]),{list:_,handleSortItems:w}=(0,u.g)({list:v});return{account:i,accountBalance:r,nodes:y,filteredNodes:_,filter:m,lastVersion:o,filters:s,handleSortItems:w,handleFilterChange:g}}(e),{account:o}=r,l=(0,a.useMemo)(()=>new m.B(o),[o]),{userNode:s}=(0,y.h)(),[d,j]=(0,a.useState)(),C=(0,a.useCallback)(async e=>{let t=e.target.checked;j(t)},[]),{userNodes:N}=(0,g.M)({nodes:t}),{userNodes:b}=(0,g.M)({nodes:n}),{nodesIssues:S,warningFlag:I}=(0,f.i)({nodes:b}),{sortedNodes:D}=(0,x.L)({nodesIssues:S,nodes:b}),[k,Z]=(0,a.useState)(),P=k||((null==N?void 0:N.length)?"user":"nodes"),R=(0,a.useMemo)(()=>{let e=[{id:"nodes",name:"All compute nodes"},{id:"user",name:"My compute nodes",label:I?{label:(0,i.jsx)(c.Cc,{children:I}),position:"top"}:void 0}];return e},[I]),T=(0,a.useMemo)(()=>{if(n)return n.filter(e=>l.isLinkableBy(e,s)[0])},[n,l,s]),B=!(null==T?void 0:T.length)||"nodes"!==P,M=!B&&(void 0!==d?d:!!o),E=(0,a.useMemo)(()=>M&&o?T:n,[o,n,T,M]),{list:L,loadItemsDisabled:A,handleLoadItems:z}=(0,c.fw)({list:E}),W=(0,_.useRouter)(),{handleLink:O,handleUnlink:H}=(0,v.i)(),F=(0,a.useCallback)(async e=>{if(!(null==s?void 0:s.hash))return!1;let t=await O(e,s.hash);return t&&W.replace("/earn/ccn/".concat(s.hash)),t},[O,W,s]),U=(0,a.useCallback)(async e=>{let t=await H(e);return t&&(null==s?void 0:s.hash)&&W.replace("/earn/ccn/".concat(s.hash)),t},[H,W,s]),{specs:q}=(0,w.O)({nodes:t}),$=(0,a.useMemo)(()=>{let e=Object.values(q);return e.reduce((e,t)=>{var n,i,r;return e.cpu+=(null===(n=t.data)||void 0===n?void 0:n.cpu.count)||0,e.ram+=((null===(i=t.data)||void 0===i?void 0:i.mem.total_kB)||0)/1024,e.hdd+=((null===(r=t.data)||void 0===r?void 0:r.disk.total_kB)||0)/1024,e.nodes+=t.data?1:0,e.total+=1,e},{cpu:0,ram:0,hdd:0,nodes:0,total:0})},[q]);return{nodes:t,filteredNodes:E,userNodes:N,filteredUserNodes:D,userNodesIssues:S,userNode:s,selectedTab:P,tabs:R,isLinkableOnly:M,isLinkableOnlyDisabled:B,totalResources:$,paginatedSortedFilteredNodes:L,loadItemsDisabled:A,handleLoadItems:z,handleLink:F,handleUnlink:U,handleTabChange:Z,handleLinkableOnlyChange:C,...r}}(e),{render:U}=(0,Y.W)(),q=(0,i.jsx)(d(),{href:"/earn/crn/new",passHref:!0,legacyBehavior:!0,children:(0,i.jsxs)(ec,{color:"main0",kind:"neon",variant:"secondary",size:"md",disabled:!t,children:[(0,i.jsx)(c.JO,{name:"key"}),"Create compute node"]})});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(l(),{children:[(0,i.jsx)("title",{children:"Aleph.im | Account"}),(0,i.jsx)("meta",{name:"description",content:"Aleph.im Account Dashboard"}),(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1"})]}),(0,i.jsx)("section",{children:(0,i.jsx)(em,{className:"tp-h5",children:"Compute nodes"})}),(0,i.jsx)("section",{children:(0,i.jsx)(W.Z,{buttons:q,children:(0,i.jsxs)(ep,{children:[(0,i.jsxs)(eu,{children:[(0,i.jsx)(eh,{children:(0,i.jsx)(H.Z,{nodes:n,title:"CRN NETWORK HEALTH"})}),(0,i.jsxs)(ef,{children:[(0,i.jsx)(eg,{children:(0,i.jsx)($,{nodes:n,title:"TOP HOSTING PROVIDER"})}),(0,i.jsx)(ex,{children:(0,i.jsx)(et,{title:"TOTAL NETWORK RESOURCES",resources:Z})})]})]}),(0,i.jsxs)(ey,{children:[(0,i.jsxs)("div",{children:[(0,i.jsx)(ev,{className:"tp-h7",children:"What is a compute node?"}),(0,i.jsx)("p",{className:"fs-16",children:"Anyone can set up a Compute Resource Node (CRN) to contribute to our decentralized network. These nodes play a crucial role in our ecosystem, enabling various services. While no commitment is needed to establish a CRN, to unlock a minimum wage for your CRN, it needs the endorsement of a Core Channel Node (CCN). A CCN operator can vouch for up to five CRNs, ensuring fair and balanced participation."}),(0,i.jsx)(z.Z,{href:"https://docs.aleph.im/nodes/compute/",size:"md",children:"Node Setup Guide"})]}),(0,i.jsx)(e_,{children:q})]})]})})}),(0,i.jsxs)(ew,{children:[(0,i.jsxs)(ej,{children:[(0,i.jsxs)(eC,{children:[(0,i.jsx)(c.mQ,{tabs:N,align:"left",selected:b,onTabChange:L}),(0,i.jsx)(c.XZ,{label:"Ready to link",checked:D,onChange:F,size:"xs",disabled:k})]}),(0,i.jsx)(c.oi,{value:S,name:"filter-ccn",placeholder:"Search me",onChange:A,icon:(0,i.jsx)(c.JO,{name:"search"})})]}),(0,i.jsxs)(eN,{children:[(0,i.jsx)(O.Z,{show:!U||!n}),U&&(0,i.jsx)(i.Fragment,{children:"user"===b?(0,i.jsx)(i.Fragment,{children:n&&s&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(E,{nodes:n,filteredNodes:s,nodesIssues:j,userNode:C,account:t,lastVersion:I,handleLink:B,handleUnlink:M}),(0,i.jsx)(eb,{children:t?(null==o?void 0:o.length)?"":"You have no compute node running.":"Connect your wallet to see your compute node running."})]})}):(0,i.jsx)(i.Fragment,{children:n&&(0,i.jsx)(E,{nodes:n,filteredNodes:r,loadItemsDisabled:P,handleLoadItems:R,handleSortItems:T,userNode:C,account:t,lastVersion:I,handleLink:B,handleUnlink:M})})})]})]})]})};es.displayName="ComputeResourceNodesPage";var ed=(0,a.memo)(es),ec=(0,r.ZP)(c.zx).withConfig({displayName:"cmp___StyledButton",componentId:"sc-1m9xt13-0"})({gap:"0.625rem"}),em=(0,r.ZP)("h1").withConfig({displayName:"cmp___StyledH",componentId:"sc-1m9xt13-1"})({marginBottom:"2rem"}),ep=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1m9xt13-2"})({display:"flex",flexWrap:"wrap",alignItems:"flex-start",gap:"1.5rem","@media (min-width: 87.5rem)":{flexWrap:"nowrap"}}),eu=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-1m9xt13-3"})({order:"2",display:"flex",maxWidth:"100%",flex:"1 1 auto",flexWrap:"wrap",alignItems:"stretch",gap:"1.5rem","@media (min-width: 87.5rem)":{order:"0",flex:"none",flexWrap:"nowrap"}}),eh=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-1m9xt13-4"})({maxWidth:"100%",flex:"1 1 auto","@media (min-width: 87.5rem)":{flex:"none"}}),ef=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-1m9xt13-5"})({display:"flex",flex:"1 1 auto",flexWrap:"wrap",alignItems:"stretch",gap:"1.5rem","@media (min-width: 36rem)":{flexWrap:"nowrap"},"@media (min-width: 87.5rem)":{flex:"none"}}),eg=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-1m9xt13-6"})({flex:"1 1 0%"}),ex=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv6",componentId:"sc-1m9xt13-7"})({flex:"1 1 0%"}),ey=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv7",componentId:"sc-1m9xt13-8"})({display:"flex",flex:"1 1 auto",flexDirection:"column",justifyContent:"space-between",alignSelf:"stretch"}),ev=(0,r.ZP)("h1").withConfig({displayName:"cmp___StyledH2",componentId:"sc-1m9xt13-9"})({marginBottom:"0px"}),e_=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv8",componentId:"sc-1m9xt13-10"})({marginBottom:"1rem",marginTop:"1.5rem","@media (min-width: 87.5rem)":{marginBottom:"0px"}}),ew=(0,r.ZP)("section").withConfig({displayName:"cmp___StyledSection",componentId:"sc-1m9xt13-11"})({marginTop:"3.5rem"}),ej=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv9",componentId:"sc-1m9xt13-12"})({marginBottom:"2rem",display:"flex",flexDirection:"column",flexWrap:"wrap",alignItems:"stretch",justifyContent:"space-between",gap:"2.5rem","@media (min-width: 48rem)":{flexDirection:"row",alignItems:"flex-end"}}),eC=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv10",componentId:"sc-1m9xt13-13"})({display:"flex",flexDirection:"column",flexWrap:"wrap",alignItems:"flex-start",gap:"2.5rem","@media (min-width: 36rem)":{flexDirection:"row",alignItems:"center",gap:"1rem"}}),eN=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv11",componentId:"sc-1m9xt13-14"})({position:"relative"}),eb=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv12",componentId:"sc-1m9xt13-15"})({marginLeft:"1rem",marginRight:"1rem",marginTop:"2.5rem",marginBottom:"2.5rem",textAlign:"center",opacity:"0.6"}),eS=ed}},function(e){e.O(0,[959,983,774,888,179],function(){return e(e.s=62640)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[828],{62640:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/earn/crn",function(){return n(27796)}])},87931:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var i=n(85893),r=n(67294),a=n(41664),o=n.n(a),l=n(31515);let s=e=>{let{href:t,variant:n="secondary",color:r="main0",kind:a="default",size:s="md",disabled:d,children:c,...m}=e,p=(0,i.jsx)(l.zx,{as:"a",variant:n,color:r,kind:a,size:s,disabled:d,...m,children:c});return d?p:(0,i.jsx)(o(),{href:t,passHref:!0,legacyBehavior:!0,children:p})};s.displayName="ButtonLink";var d=(0,r.memo)(s)},13153:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});var i=n(85893),r=n(67294),a=n(31515),o=n(19521);let l=o.ZP.div.attrs((0,a.PT)("fx-dark-main0")).withConfig({displayName:"styles__StyledContainer",componentId:"sc-1hw364q-0"})([""," background:#00000019 !important;"],{position:"relative",height:"100%",maxWidth:"100%",borderRadius:"1.5rem",padding:"1.5rem"}),s=o.ZP.div.withConfig({displayName:"styles__StyledContent",componentId:"sc-1hw364q-1"})([""," ",""],{maxWidth:"100%"},e=>{let{$disabled:t}=e;return t&&(0,o.iv)(["opacity:0.4;filter:grayscale(100%);"])}),d=e=>{let{children:t,disabled:n,loading:r,...a}=e;return(0,i.jsx)(l,{...a,children:(0,i.jsx)(s,{$disabled:n,children:t})})};d.displayName="Card1";var c=(0,r.memo)(d)},58833:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var i=n(85893),r=n(19521),a=n(67294),o=n(31515);let l=(0,r.ZP)(o.zx).attrs(e=>({...e,forwardedAs:"a",kind:"neon",variant:"textOnly",color:"main0"})).withConfig({displayName:"styles__StyledExternalLinkButton",componentId:"sc-16jaolm-0"})([""]),s=e=>{let{children:t,href:n,size:r="lg",...a}=e;return(0,i.jsx)(i.Fragment,{children:(0,i.jsxs)(l,{href:n,size:r,...a,target:"_blank",children:[t||n,(0,i.jsx)(c,{name:"square-up-right"})]})})};s.displayName="ExternalLinkButton";var d=(0,a.memo)(s),c=(0,r.ZP)(o.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-mpznlq-0"})({marginLeft:"0.625rem"})},28417:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var i=n(85893),r=n(19521),a=n(67294),o=n(34816),l=n(43815),s=n(42983),d=n(13153),c=n(31515),m=n(87625);let p=e=>{let{title:t,nodes:n,...s}=e,p=(0,r.Fg)(),u=(0,a.useMemo)(()=>{let e=n||[],t=e.length,i=e.reduce((e,t)=>e+Number(t.score>=.8),0),r=e.reduce((e,t)=>e+Number(t.score>=.5&&t.score<.8),0),a=e.reduce((e,t)=>e+Number(t.score<.5),0),o=t-i-r-a;return[{label:"active nodes",value:"".concat(i," nodes"),percentage:i/t,gradient:"main1"},{label:"50% < 80%",value:"".concat(r," nodes"),percentage:r/t,gradient:"main2"},{label:"< 50%",value:"".concat(a," nodes"),percentage:a/t,color:"error"},{label:"other",value:"".concat(o," nodes"),percentage:o/t,color:"transparent"}]},[n]),j=p.color.disabled2,C=[...u].reverse();return(0,i.jsxs)(d.Z,{loading:!n,...s,children:[(0,i.jsx)(h,{forwardedAs:"h3",type:"info",color:"main0",children:t}),(0,i.jsxs)(f,{children:[(0,i.jsxs)(g,{width:100,height:100,margin:{},children:[(0,i.jsx)("defs",{children:(0,i.jsx)(m._,{data:u})}),(0,i.jsx)(o.b,{data:[{v:1}],dataKey:"v",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,isAnimationActive:!1,fill:j}),(0,i.jsx)(o.b,{data:C,dataKey:"percentage",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,children:C.map(e=>{let t="gr-".concat(e.gradient),n=e.gradient?"url(#".concat(t,")"):e.color?p.color[e.color]||e.color:void 0;return(0,i.jsx)(l.b,{fill:n},e.label)})}),(0,i.jsx)("text",{x:"50%",y:"50%",dominantBaseline:"central",textAnchor:"middle",className:"tp-body3 fs-24",fill:p.color.text,children:(null==n?void 0:n.length)||0})]}),(0,i.jsx)(x,{children:Array.from({length:2},(e,t)=>(0,i.jsx)(y,{children:u.slice(2*t,2*t+2).map(e=>(0,i.jsxs)(v,{children:[(0,i.jsx)(c.cu,{$color:"transparent"===e.color?j:e.color,$gradient:e.gradient,$size:"1.25rem"}),(0,i.jsxs)(_,{className:"tp-body3",children:[(0,i.jsx)("div",{children:e.value}),(0,i.jsx)(w,{className:"fs-10",children:e.label})]})]},e.label))},t))})]})]})};p.displayName="NetworkHealthChart";var u=(0,a.memo)(p),h=(0,r.ZP)(c.DU).withConfig({displayName:"cmp___StyledTextGradient",componentId:"sc-ghx7oa-0"})({margin:"0px",minHeight:"2rem"}),f=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-ghx7oa-1"})({display:"flex",flexDirection:"column",alignItems:"center"}),g=(0,r.ZP)(s.u).withConfig({displayName:"cmp___StyledPieChart",componentId:"sc-ghx7oa-2"})({marginTop:"0.75rem",marginBottom:"0.75rem",minHeight:"6.25rem"}),x=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-ghx7oa-3"})({marginTop:"0.25rem",display:"flex",width:"100%",alignItems:"stretch",justifyContent:"center",gap:"1.5rem"}),y=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-ghx7oa-4"})({display:"flex",flexDirection:"column",gap:"1rem"}),v=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-ghx7oa-5"})({display:"flex",alignItems:"center",gap:"0.75rem"}),_=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-ghx7oa-6"})({display:"flex",flexDirection:"column",justifyContent:"space-between",gap:"0.25rem",whiteSpace:"nowrap",fontStyle:"normal",lineHeight:"1rem !important"}),w=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv6",componentId:"sc-ghx7oa-7"})({opacity:"0.6"})},33378:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});var i=n(85893),r=n(19521),a=n(67294);let o=r.ZP.div.withConfig({displayName:"styles__StyledDotIcon",componentId:"sc-1w2vi58-0"})(e=>{let{theme:t,$active:n}=e,i=n?t.color.main1:t.color.disabled2;return[{height:"0.75rem",width:"0.5rem"},(0,r.iv)(["background-color:",";"],i)]}),l=e=>{let{decentralization:t}=e,n=e=>(e+1)*.3;return(0,i.jsx)(d,{children:(0,i.jsx)(c,{children:Array.from({length:3},(e,r)=>(0,i.jsx)(o,{$active:t>=n(r)},r))})})};l.displayName="NodeDecentralization";var s=(0,a.memo)(l),d=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-sktw9k-0"})({display:"inline-flex",alignItems:"center",gap:"0.75rem"}),c=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-sktw9k-1"})({display:"flex",alignItems:"stretch",gap:"0.125rem"})},68461:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var i=n(85893),r=n(19521),a=n(67294),o=n(31515);let l=(0,r.ZP)(o.iA).attrs(e=>({borderType:"solid",oddRowNoise:!0,stickyHeader:!1,...e})).withConfig({displayName:"styles__StyledTable",componentId:"sc-gp6li6-0"})(["thead th{font-size:0.8125rem;","}td,th{padding:0.75rem 1rem;width:0;}tr,td{border:none;}"],{whiteSpace:"nowrap"}),s=e=>{let{children:t,...n}=e;return(0,i.jsx)(c,{children:(0,i.jsx)(l,{...n,children:t})})};s.displayName="NodesTable";var d=(0,a.memo)(s),c=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1mxy15q-0"})({maxWidth:"100%",overflowX:"auto"})},6309:function(e,t,n){"use strict";n.d(t,{t:function(){return d},Z:function(){return c}});var i=n(85893),r=n(67294),a=n(19521);let o=a.ZP.span.withConfig({displayName:"styles__StyledPrice",componentId:"sc-ouxjcu-0"})(["",""],{display:"inline-flex",alignItems:"center",gap:"0.25rem",whiteSpace:"nowrap"});var l=n(31515),s=n(34853);let d=e=>{let{value:t,...n}=e;return(0,i.jsxs)(o,{...n,children:[(0,s.RK)(t),(0,i.jsx)(l.TR,{color:"currentColor"})]})};d.displayName="Price";var c=(0,r.memo)(d)},32350:function(e,t,n){"use strict";n.d(t,{Z:function(){return c}});var i=n(85893),r=n(19521),a=n(67294),o=n(31515);r.ZP.div.withConfig({displayName:"styles__StyledContainer",componentId:"sc-7dtatc-0"})(["",""],e=>{let{$isOpen:t,$duration:n=500}=e;return(0,r.iv)(["display:grid;grid-template-rows:0fr;transition:grid-template-rows ","ms ease-in-out;",""],n,t&&(0,r.iv)(["grid-template-rows:1fr;"]))});let l=(0,r.ZP)(o.Gd).withConfig({displayName:"styles__StyledToggleContainer",componentId:"sc-7dtatc-1"})([""," transition-property:all !important;",""],{position:"relative",top:"-1.25rem",margin:"0px",padding:"0px"},e=>{let{open:t}=e;return t&&(0,r.iv)(["",""],{top:"0px",margin:"-4rem",padding:"4rem"})}),s=r.ZP.div.withConfig({displayName:"styles__StyledButtonsContainer",componentId:"sc-7dtatc-2"})(["",""],e=>{let{$open:t}=e;return(0,r.iv)([""," opacity:",";transition:opacity ease-in-out 400ms ","ms,visibility linear 0ms ","ms;"],{position:"absolute !important",top:"0px",display:"flex",flexDirection:"column",gap:"1.25rem"},t?1:0,t?600:0,t?600:0)}),d=e=>{let{buttons:t,children:n,...r}=e,[d,c]=(0,a.useState)(!0),f=(0,a.useCallback)(()=>c(e=>!e),[]),g=(0,a.useRef)(null),{shouldMount:x,stage:y}=(0,o.Yz)(!d,1e3),{shouldMount:v,stage:_}=(0,o.Yz)(d,1e3),w="enter"===y,{bounds:j}=(0,o.Bq)({ref:g,deps:[w]}),C=(null==j?void 0:j.height)||0;return(0,i.jsx)(m,{style:{minHeight:C},...r,children:(0,i.jsxs)(i.Fragment,{children:[v&&(0,i.jsxs)(l,{open:"enter"===_,duration:1e3,children:[n,(0,i.jsxs)(p,{color:"main0",kind:"neon",variant:"textOnly",size:"md",onClick:f,$_css:[{marginLeft:"auto !important",marginTop:"1.5rem !important",display:"flex !important",gap:"0.625rem"}],children:[(0,i.jsx)(u,{name:"sort-up"}),"collapse"]})]}),x&&(0,i.jsxs)(s,{ref:g,$open:w,children:[t,(0,i.jsxs)(h,{color:"main0",kind:"neon",variant:"secondary",size:"md",onClick:f,children:[(0,i.jsx)(o.JO,{name:"gauge"}),"open dashboard"]})]})]})})};d.displayName="ToggleDashboard";var c=(0,a.memo)(d),m=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-juc50-0"})({position:"relative",marginBottom:"3.5rem",marginTop:"2rem"}),p=(0,r.ZP)(o.zx).withConfig({displayName:"cmp___StyledButton",componentId:"sc-juc50-1"})(["",""],e=>e.$_css),u=(0,r.ZP)(o.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-juc50-2"})({height:"0.875rem",width:"0.875rem",paddingTop:"0.5rem"}),h=(0,r.ZP)(o.zx).withConfig({displayName:"cmp___StyledButton2",componentId:"sc-juc50-3"})({gap:"0.625rem"})},87625:function(e,t,n){"use strict";n.d(t,{_:function(){return a}});var i=n(85893),r=n(19521);function a(e){let{data:t}=e,n=(0,r.Fg)();return(0,i.jsx)(i.Fragment,{children:t.filter(e=>!!e.gradient).map((e,t)=>{if(!e.gradient)return null;let{colors:r,deg:a,stops:o}="string"==typeof e.gradient?n.gradient[e.gradient]:e.gradient,l="string"==typeof e.gradient?"gr-".concat(e.gradient):"gr-".concat(t);return(0,i.jsx)("linearGradient",{id:l,gradientTransform:"rotate(".concat(a+-90," 0.5 0.5)"),children:r.map((e,t)=>(0,i.jsx)("stop",{offset:"".concat(o[t],"%"),stopColor:e},e))},l)})})}},70235:function(e,t,n){"use strict";n.d(t,{L:function(){return o}});var i=n(67294),r=n(94461),a=n(77767);function o(e){var t;let{key:n,debounced:o=0}=e,[l,s]=(0,r.mr)(),d=l.filter,c=null===(t=d[n])||void 0===t?void 0:t.value,m=(0,i.useMemo)(()=>{var e;let t;return e=e=>e?s(new a.q6({key:n,value:e})):s(new a.xp({key:n})),n=>{clearTimeout(t),t=setTimeout(()=>e(n),o)}},[o,n,s]);return[c,m]}},67200:function(e,t,n){"use strict";n.d(t,{d:function(){return r}});var i=n(67294);function r(e){let{nodes:t}=e,n=(0,i.useMemo)(()=>{let e=t||Array.from({length:4},(e,t)=>({metricsData:{as_name:"Provider ".concat(t)}}));return e.reduce((e,t)=>{var n;let i=(null===(n=t.metricsData)||void 0===n?void 0:n.as_name)||"others";return e[i]=(e[i]||0)+1,e},{others:0})},[t]),r=(0,i.useMemo)(()=>Object.values(n).reduce((e,t)=>e+t,0),[n]),a=(0,i.useMemo)(()=>{let e=Object.entries(n).filter(e=>{let[t]=e;return"others"!==t}).sort((e,t)=>{let[,n]=e,[,i]=t;return i-n}),t=e.slice(0,3),i=e.slice(3),a=["others",n.others+i.reduce((e,t)=>{let[,n]=t;return e+n},0)];return[...t,a].map((e,t)=>{let[n,i]=e;return{tier:t+1,name:n,count:i,percentage:i/r,color:0===t?"error":1===t?"main2":2===t?"main0":"main1"}})},[n,r]);return{total:r,buckets:n,top:a}}},76625:function(e,t,n){"use strict";n.d(t,{W:function(){return r}});var i=n(67294);function r(){let[e,t]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{let e=setTimeout(()=>t(!0));return()=>clearTimeout(e)},[]),{render:e}}},73384:function(e,t,n){"use strict";n.d(t,{i:function(){return s}});var i=n(94461),r=n(48107),a=n(91421),o=n(31515),l=n(67294);function s(){let[e,t]=(0,i.mr)(),{account:n}=e.connection,{entities:s}=e.crns,{entities:d}=e.ccns,c=(0,l.useMemo)(()=>new r.B(n),[n]),m=(0,o.lm)(),p=(0,l.useCallback)(e=>"string"==typeof e?null==s?void 0:s.find(t=>t.hash===e):e,[s]),u=(0,l.useCallback)(e=>"string"==typeof e?null==d?void 0:d.find(t=>t.hash===e):e,[d]),h=(0,l.useCallback)(e=>{let t=p(e);return!!t&&c.isLinked(t)},[p,c]),f=(0,l.useCallback)((e,t)=>{let n=p(e),i=u(t);return!!n&&!!i&&c.isLinkableBy(n,i)[0]},[u,p,c]),g=(0,l.useCallback)(e=>{let t=p(e);if(!t)return!1;let n=u(t.parentData||t.parent||"");return!!n&&c.isUnlinkableBy(t,n)},[u,p,c]),x=(0,l.useCallback)(async(e,n)=>{try{if(!m)throw Error("Notification not ready");let i=p(e);if(!i)throw Error("Invalid CRN node");let r=u(n);if(!r)throw Error("Invalid CCN node");if(!f(i,r))throw Error("Not linkable node");await c.linkComputeResourceNode(i.hash),m.add({variant:"success",title:"Success",text:'Linked resource node "'.concat(i.hash,'" successfully.')});let[o,l]=function(e,t){let n={...t,virtual:Date.now()},i={...e,virtual:Date.now()};n.parent=i.hash,n.parentData=i;let r=i.crnsData.reduce((e,t)=>(e[t.hash]=t,e),{});return r[n.hash]=n,i.crnsData=Object.values(r),i.resource_nodes=Object.keys(r),[i,n]}(r,i);return t(new a.Wy({name:"ccns",entities:[o]})),t(new a.Wy({name:"crns",entities:[l]})),!0}catch(e){null==m||m.add({variant:"error",title:"Error",text:e.message})}return!1},[t,u,p,f,c,m]),y=(0,l.useCallback)(async e=>{try{if(!m)throw Error("Notification not ready");let n=p(e);if(!n)throw Error("Invalid CRN node");let i=u(n.parentData||n.parent||"");if(!i)throw Error("Invalid CCN node");if(!g(n))throw Error("Not unlinkable node");await c.unlinkComputeResourceNode(n.hash),m.add({variant:"success",title:"Success",text:'Unlinked resource node "'.concat(n.hash,'" successfully.')});let[r,o]=function(e,t){let n={...t,virtual:Date.now()},i={...e,virtual:Date.now()};n.parent="",n.parentData=void 0;let r=i.crnsData.filter(e=>e.hash!==n.hash);return i.crnsData=r,i.resource_nodes=r.map(e=>e.hash),[i,n]}(i,n);return t(new a.Wy({name:"ccns",entities:[r]})),t(new a.Wy({name:"crns",entities:[o]})),!0}catch(e){null==m||m.add({variant:"error",title:"Error",text:e.message})}return!1},[t,u,p,g,c,m]);return{isLinked:h,isLinkableByUser:f,isUnlinkableByUser:g,handleLink:x,handleUnlink:y}}},96264:function(e,t,n){"use strict";n.d(t,{O:function(){return o}});var i=n(67294),r=n(48107),a=n(94461);function o(e){let{nodes:t}=e,[n]=(0,a.mr)(),{account:o}=n.connection,l=(0,i.useMemo)(()=>new r.B(o),[o]),[s,d]=(0,i.useState)({}),[c,m]=(0,i.useState)(!0);return(0,i.useEffect)(()=>{(async function(){t&&(await Promise.allSettled(t.map(async e=>{let t=await l.getCRNspecs(e);d(n=>({...n,[e.hash]:{data:t,loading:!1,error:void 0}}))})),m(!1))})()},[l,t]),{specs:s,loading:c}}},51383:function(e,t,n){"use strict";n.d(t,{L:function(){return r}});var i=n(67294);function r(e){let{nodes:t,nodesIssues:n}=e,r=(0,i.useMemo)(()=>{if(t)return t.sort((e,t)=>{let i=n[e.hash]?1:0,r=n[t.hash]?1:0;return r-i})},[t,n]);return{sortedNodes:r}}},32998:function(e,t,n){"use strict";n.d(t,{g:function(){return r}});var i=n(67294);function r(e){let{list:t}=e,[n,r]=(0,i.useState)(),a=(0,i.useMemo)(()=>t&&n?n(t):t,[t,n]),o=(0,i.useCallback)(e=>r(()=>e),[]);return{list:a,handleSortItems:o}}},58193:function(e,t,n){"use strict";n.d(t,{h:function(){return o}});var i=n(94461),r=n(67294),a=n(69797);function o(){let{nodes:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[t]=(0,i.mr)(),{entities:n}=t.ccns,{userNodes:o}=(0,a.M)({nodes:e||n}),l=(0,r.useMemo)(()=>null==o?void 0:o[0],[o]);return{userNode:l}}},27796:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return eS}});var i=n(85893),r=n(19521),a=n(67294),o=n(9008),l=n.n(o),s=n(41664),d=n.n(s),c=n(31515),m=n(48107),p=n(94461),u=n(32998),h=n(70235),f=n(38753),g=n(69797),x=n(51383),y=n(58193),v=n(73384),_=n(11163),w=n(96264),j=n(68461),C=n(33378),N=n(47630),b=n(6309);let S=e=>{let{node:t}=e,n=(0,a.useMemo)(()=>{let e=new N.S;return e.CRNRewardsPerDay(t)*(365/12)},[t]),r=(0,a.useMemo)(()=>!t.parent,[t]);return(0,i.jsx)(i.Fragment,{children:r?(0,i.jsx)(i.Fragment,{children:"-"}):(0,i.jsxs)(D,{children:["~ ",(0,i.jsx)(b.t,{value:n}),"/M"]})})};S.displayName="CRNRewardsCell";var I=(0,a.memo)(S),D=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-yja46l-0"})({display:"inline-flex",alignItems:"center",gap:"0.5rem",whiteSpace:"nowrap"});let k=e=>{let{node:t,userNode:n,onLink:r,onUnlink:o}=e,{isLinkableByUser:l,isUnlinkableByUser:s,handleLink:d,handleUnlink:m}=(0,v.i)(),p=r||d,u=o||m,h=(0,a.useMemo)(()=>t&&n&&l(t,n),[l,t,n]),f=(0,a.useMemo)(()=>t&&s(t),[s,t]),g=(0,a.useCallback)(()=>{n&&(f?u(t.hash):p(t,n))},[p,u,f,t,n]);return(0,i.jsx)(i.Fragment,{children:f?(0,i.jsx)(c.zx,{kind:"neon",size:"md",variant:"secondary",color:"main2",onClick:g,children:"Unlink"}):(0,i.jsx)(c.zx,{kind:"neon",size:"md",variant:"secondary",color:"main0",onClick:g,disabled:!h,children:"Link"})})};k.displayName="LinkCRNButton";var Z=(0,a.memo)(k),P=n(87931),R=n(25675),T=n.n(R),B=n(33358);let M=e=>{let{filteredNodes:t,userNode:n,account:r,lastVersion:o,nodesIssues:l,loadItemsDisabled:s,handleLoadItems:d,handleSortItems:m,handleLink:p,handleUnlink:u}=e,h=(0,a.useMemo)(()=>[{label:"",align:"center",width:0,cellProps:()=>({css:{padding:"0px !important"}}),hcellProps:()=>({css:{borderWidth:"0px !important",padding:"0px !important"}}),render:e=>(null==l?void 0:l[e.hash])?(0,i.jsx)(L,{children:"\xa0"}):null},{label:"SCORE",sortable:!0,sortBy:e=>e.score,render:e=>(0,i.jsx)(c.WG,{score:e.score})},{label:"LINKED",sortable:!0,sortBy:e=>{var t;return null===(t=e.parentData)||void 0===t?void 0:t.name},render:e=>(0,i.jsx)(i.Fragment,{children:e.parentData?(0,i.jsx)(c.tJ,{hash:e.parentData.hash,name:e.parentData.name,picture:e.parentData.picture,apiServer:B.pf,ImageCmp:T()}):"-"})},{label:"NAME",sortable:!0,sortBy:e=>e.name,render:e=>(0,i.jsx)(c.tJ,{hash:e.hash,name:e.name,picture:e.picture,apiServer:B.pf,ImageCmp:T()})},{label:"DECENTRALIZED",sortable:!0,sortBy:e=>e.decentralization,render:e=>(0,i.jsx)(C.Z,{decentralization:e.decentralization})},{label:"EST. REWARDS",align:"right",render:e=>(0,i.jsx)(I,{node:e})},{label:"VERSION",sortable:!0,align:"right",width:"100%",sortBy:e=>{var t;return null===(t=e.metricsData)||void 0===t?void 0:t.version},render:e=>{var t;return(0,i.jsx)(c.pJ,{version:(null===(t=e.metricsData)||void 0===t?void 0:t.version)||"",lastVersion:o})}},{label:"",align:"right",render:e=>(0,i.jsxs)(A,{children:[(0,i.jsx)(Z,{node:e,userNode:n,account:r,onLink:p,onUnlink:u}),(0,i.jsx)(P.Z,{kind:"neon",size:"md",variant:"secondary",color:"main0",href:"/earn/crn/".concat(e.hash),children:"Info"})]})}],[r,o,l,p,u,n]);return(0,i.jsx)(j.Z,{columns:h,data:t,infiniteScroll:!s,onLoadMore:d,onSort:m})};M.displayName="ComputeResourceNodesTable";var E=(0,a.memo)(M),L=(0,r.ZP)(c.Cc).withConfig({displayName:"cmp___StyledNotificationBadge",componentId:"sc-1hivp77-0"})({marginLeft:"auto !important",marginRight:"auto !important",display:"flex !important"}),A=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1hivp77-1"})({display:"flex",justifyContent:"flex-end",gap:"0.75rem"}),z=n(58833),W=n(32350),O=n(33445),H=n(28417),F=n(13153),U=n(67200);let q=e=>{let{title:t,nodes:n,...r}=e,{top:o}=(0,U.d)({nodes:n}),l=(0,a.useMemo)(()=>o.map(e=>{let{name:t,count:n,percentage:i,color:r}=e;return{label:"".concat(n," nodes (").concat((100*i).toFixed(0),"%)"),value:t,percentage:i,color:r}}),[o]);return(0,i.jsxs)(F.Z,{loading:!n,...r,children:[(0,i.jsx)(G,{forwardedAs:"h3",type:"info",color:"main0",children:t}),(0,i.jsx)(J,{children:l.map(e=>(0,i.jsxs)(K,{children:[(0,i.jsx)(c.cu,{$color:e.color,$size:"1.25rem"}),(0,i.jsxs)(V,{className:"tp-body3",children:[(0,i.jsx)("div",{children:e.value}),(0,i.jsx)(X,{className:"fs-10",children:e.label})]})]},e.value))})]})};q.displayName="HostingProviderChart";var $=(0,a.memo)(q),G=(0,r.ZP)(c.DU).withConfig({displayName:"cmp___StyledTextGradient",componentId:"sc-1c9rl6q-0"})({margin:"0px",minHeight:"2rem"}),J=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1c9rl6q-1"})({marginTop:"0.25rem",display:"flex",flexDirection:"column",gap:"1rem"}),K=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-1c9rl6q-2"})({display:"flex",alignItems:"center",gap:"0.75rem"}),V=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-1c9rl6q-3"})({display:"flex",flexDirection:"column",justifyContent:"space-between",gap:"0.25rem",whiteSpace:"nowrap",fontStyle:"normal",lineHeight:"1rem !important"}),X=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-1c9rl6q-4"})({opacity:"0.6"}),Y=n(76625),Q=n(34853);let ee=e=>{let{title:t,resources:n,...r}=e,o=(0,a.useMemo)(()=>[{label:"CPU",value:(null==n?void 0:n.cpu)||"-",color:"main1"},{label:"RAM",value:(0,Q.eB)(null==n?void 0:n.ram,"MiB"),color:"main1"},{label:"HDD",value:(0,Q.eB)(null==n?void 0:n.hdd,"MiB"),color:"main1"}],[n]);return(0,i.jsxs)(F.Z,{loading:!n,...r,children:[(0,i.jsx)(en,{forwardedAs:"h3",type:"info",color:"main0",children:t}),(0,i.jsxs)(ei,{children:[o.map(e=>(0,i.jsxs)(er,{children:[(0,i.jsx)(c.cu,{$color:e.color,$size:"1.25rem"}),(0,i.jsxs)(ea,{className:"tp-body3",children:[(0,i.jsx)("div",{children:e.value}),(0,i.jsx)(eo,{className:"fs-10",children:e.label})]})]},e.label)),(0,i.jsxs)(el,{className:"fs-10 tp-body1",children:[(0,i.jsx)("div",{children:"Total amount of resources on the network."}),(null==n?void 0:n.nodes)&&(0,i.jsxs)("div",{children:["(Using ",null==n?void 0:n.nodes," active nodes of ",null==n?void 0:n.total,")"]})]})]})]})};ee.displayName="TotalNetworkResourcesChart";var et=(0,a.memo)(ee),en=(0,r.ZP)(c.DU).withConfig({displayName:"cmp___StyledTextGradient",componentId:"sc-vioslj-0"})({margin:"0px",minHeight:"2rem"}),ei=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-vioslj-1"})({marginTop:"0.25rem",display:"flex",flexDirection:"column",gap:"1rem"}),er=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-vioslj-2"})({display:"flex",alignItems:"center",gap:"0.75rem"}),ea=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-vioslj-3"})({display:"flex",flexDirection:"column",justifyContent:"space-between",gap:"0.25rem",whiteSpace:"nowrap",fontStyle:"normal",lineHeight:"1rem !important"}),eo=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-vioslj-4"})({opacity:"0.6"}),el=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-vioslj-5"})({opacity:"0.6"});let es=e=>{let{account:t,nodes:n,paginatedSortedFilteredNodes:r,userNodes:o,filteredUserNodes:s,userNodesIssues:j,userNode:C,tabs:N,selectedTab:b,filter:S,lastVersion:I,isLinkableOnly:D,isLinkableOnlyDisabled:k,totalResources:Z,loadItemsDisabled:P,handleLoadItems:R,handleSortItems:T,handleLink:B,handleUnlink:M,handleTabChange:L,handleFilterChange:A,handleLinkableOnlyChange:F}=function(e){let{nodes:t,filteredNodes:n,...r}=function(e){let{nodes:t}=e,[n]=(0,p.mr)(),{account:i,balance:r=0}=n.connection,{data:o}=n.lastCRNVersion,{entities:l}=n.crns,s=n.filter,[d,c]=(0,h.L)({key:"crnq",debounced:200}),[m,f]=(0,a.useState)(),g=(0,a.useCallback)(e=>{let t=e.target.value;f(t),c(t)},[c]);(0,a.useEffect)(()=>{void 0===m&&d&&f(d)},[d,m]);let x=(0,a.useCallback)((e,t)=>{if(t)return e?t.filter(t=>{var n,i;return(null===(n=t.name)||void 0===n?void 0:n.toLowerCase().includes(e.toLowerCase()))||((null===(i=t.parentData)||void 0===i?void 0:i.name)||"").toLowerCase().includes(e.toLowerCase())}):t},[]),y=(0,a.useMemo)(()=>{let e=t||l;if(e)return e.sort((e,t)=>t.score-e.score)},[t,l]),v=(0,a.useMemo)(()=>x(d,y),[x,d,y]),{list:_,handleSortItems:w}=(0,u.g)({list:v});return{account:i,accountBalance:r,nodes:y,filteredNodes:_,filter:m,lastVersion:o,filters:s,handleSortItems:w,handleFilterChange:g}}(e),{account:o}=r,l=(0,a.useMemo)(()=>new m.B(o),[o]),{userNode:s}=(0,y.h)(),[d,j]=(0,a.useState)(),C=(0,a.useCallback)(async e=>{let t=e.target.checked;j(t)},[]),{userNodes:N}=(0,g.M)({nodes:t}),{userNodes:b}=(0,g.M)({nodes:n}),{nodesIssues:S,warningFlag:I}=(0,f.i)({nodes:b}),{sortedNodes:D}=(0,x.L)({nodesIssues:S,nodes:b}),[k,Z]=(0,a.useState)(),P=k||((null==N?void 0:N.length)?"user":"nodes"),R=(0,a.useMemo)(()=>{let e=[{id:"nodes",name:"All compute nodes"},{id:"user",name:"My compute nodes",label:I?{label:(0,i.jsx)(c.Cc,{children:I}),position:"top"}:void 0}];return e},[I]),T=(0,a.useMemo)(()=>{if(n)return n.filter(e=>l.isLinkableBy(e,s)[0])},[n,l,s]),B=!(null==T?void 0:T.length)||"nodes"!==P,M=!B&&(void 0!==d?d:!!o),E=(0,a.useMemo)(()=>M&&o?T:n,[o,n,T,M]),{list:L,loadItemsDisabled:A,handleLoadItems:z}=(0,c.fw)({list:E}),W=(0,_.useRouter)(),{handleLink:O,handleUnlink:H}=(0,v.i)(),F=(0,a.useCallback)(async e=>{if(!(null==s?void 0:s.hash))return!1;let t=await O(e,s.hash);return t&&W.replace("/earn/ccn/".concat(s.hash)),t},[O,W,s]),U=(0,a.useCallback)(async e=>{let t=await H(e);return t&&(null==s?void 0:s.hash)&&W.replace("/earn/ccn/".concat(s.hash)),t},[H,W,s]),{specs:q}=(0,w.O)({nodes:t}),$=(0,a.useMemo)(()=>{let e=Object.values(q);return e.reduce((e,t)=>{var n,i,r;return e.cpu+=(null===(n=t.data)||void 0===n?void 0:n.cpu.count)||0,e.ram+=((null===(i=t.data)||void 0===i?void 0:i.mem.total_kB)||0)/1024,e.hdd+=((null===(r=t.data)||void 0===r?void 0:r.disk.total_kB)||0)/1024,e.nodes+=t.data?1:0,e.total+=1,e},{cpu:0,ram:0,hdd:0,nodes:0,total:0})},[q]);return{nodes:t,filteredNodes:E,userNodes:N,filteredUserNodes:D,userNodesIssues:S,userNode:s,selectedTab:P,tabs:R,isLinkableOnly:M,isLinkableOnlyDisabled:B,totalResources:$,paginatedSortedFilteredNodes:L,loadItemsDisabled:A,handleLoadItems:z,handleLink:F,handleUnlink:U,handleTabChange:Z,handleLinkableOnlyChange:C,...r}}(e),{render:U}=(0,Y.W)(),q=(0,i.jsx)(d(),{href:"/earn/crn/new",passHref:!0,legacyBehavior:!0,children:(0,i.jsxs)(ec,{color:"main0",kind:"neon",variant:"secondary",size:"md",disabled:!t,children:[(0,i.jsx)(c.JO,{name:"key"}),"Create compute node"]})});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(l(),{children:[(0,i.jsx)("title",{children:"Aleph.im | Account"}),(0,i.jsx)("meta",{name:"description",content:"Aleph.im Account Dashboard"}),(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1"})]}),(0,i.jsx)("section",{children:(0,i.jsx)(em,{className:"tp-h5",children:"Compute nodes"})}),(0,i.jsx)("section",{children:(0,i.jsx)(W.Z,{buttons:q,children:(0,i.jsxs)(ep,{children:[(0,i.jsxs)(eu,{children:[(0,i.jsx)(eh,{children:(0,i.jsx)(H.Z,{nodes:n,title:"CRN NETWORK HEALTH"})}),(0,i.jsxs)(ef,{children:[(0,i.jsx)(eg,{children:(0,i.jsx)($,{nodes:n,title:"TOP HOSTING PROVIDER"})}),(0,i.jsx)(ex,{children:(0,i.jsx)(et,{title:"TOTAL NETWORK RESOURCES",resources:Z})})]})]}),(0,i.jsxs)(ey,{children:[(0,i.jsxs)("div",{children:[(0,i.jsx)(ev,{className:"tp-h7",children:"What is a compute node?"}),(0,i.jsx)("p",{className:"fs-16",children:"Anyone can set up a Compute Resource Node (CRN) to contribute to our decentralized network. These nodes play a crucial role in our ecosystem, enabling various services. While no commitment is needed to establish a CRN, to unlock a minimum wage for your CRN, it needs the endorsement of a Core Channel Node (CCN). A CCN operator can vouch for up to five CRNs, ensuring fair and balanced participation."}),(0,i.jsx)(z.Z,{href:"https://docs.aleph.im/nodes/compute/",size:"md",children:"Node Setup Guide"})]}),(0,i.jsx)(e_,{children:q})]})]})})}),(0,i.jsxs)(ew,{children:[(0,i.jsxs)(ej,{children:[(0,i.jsxs)(eC,{children:[(0,i.jsx)(c.mQ,{tabs:N,align:"left",selected:b,onTabChange:L}),(0,i.jsx)(c.XZ,{label:"Ready to link",checked:D,onChange:F,size:"xs",disabled:k})]}),(0,i.jsx)(c.oi,{value:S,name:"filter-ccn",placeholder:"Search me",onChange:A,icon:(0,i.jsx)(c.JO,{name:"search"})})]}),(0,i.jsxs)(eN,{children:[(0,i.jsx)(O.Z,{show:!U||!n}),U&&(0,i.jsx)(i.Fragment,{children:"user"===b?(0,i.jsx)(i.Fragment,{children:n&&s&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(E,{nodes:n,filteredNodes:s,nodesIssues:j,userNode:C,account:t,lastVersion:I,handleLink:B,handleUnlink:M}),(0,i.jsx)(eb,{children:t?(null==o?void 0:o.length)?"":"You have no compute node running.":"Connect your wallet to see your compute node running."})]})}):(0,i.jsx)(i.Fragment,{children:n&&(0,i.jsx)(E,{nodes:n,filteredNodes:r,loadItemsDisabled:P,handleLoadItems:R,handleSortItems:T,userNode:C,account:t,lastVersion:I,handleLink:B,handleUnlink:M})})})]})]})]})};es.displayName="ComputeResourceNodesPage";var ed=(0,a.memo)(es),ec=(0,r.ZP)(c.zx).withConfig({displayName:"cmp___StyledButton",componentId:"sc-1m9xt13-0"})({gap:"0.625rem"}),em=(0,r.ZP)("h1").withConfig({displayName:"cmp___StyledH",componentId:"sc-1m9xt13-1"})({marginBottom:"2rem"}),ep=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1m9xt13-2"})({display:"flex",flexWrap:"wrap",alignItems:"flex-start",gap:"1.5rem","@media (min-width: 87.5rem)":{flexWrap:"nowrap"}}),eu=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-1m9xt13-3"})({order:"2",display:"flex",maxWidth:"100%",flex:"1 1 auto",flexWrap:"wrap",alignItems:"stretch",gap:"1.5rem","@media (min-width: 87.5rem)":{order:"0",flex:"none",flexWrap:"nowrap"}}),eh=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-1m9xt13-4"})({maxWidth:"100%",flex:"1 1 auto","@media (min-width: 87.5rem)":{flex:"none"}}),ef=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-1m9xt13-5"})({display:"flex",flex:"1 1 auto",flexWrap:"wrap",alignItems:"stretch",gap:"1.5rem","@media (min-width: 36rem)":{flexWrap:"nowrap"},"@media (min-width: 87.5rem)":{flex:"none"}}),eg=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-1m9xt13-6"})({flex:"1 1 0%"}),ex=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv6",componentId:"sc-1m9xt13-7"})({flex:"1 1 0%"}),ey=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv7",componentId:"sc-1m9xt13-8"})({display:"flex",flex:"1 1 auto",flexDirection:"column",justifyContent:"space-between",alignSelf:"stretch"}),ev=(0,r.ZP)("h1").withConfig({displayName:"cmp___StyledH2",componentId:"sc-1m9xt13-9"})({marginBottom:"0px"}),e_=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv8",componentId:"sc-1m9xt13-10"})({marginBottom:"1rem",marginTop:"1.5rem","@media (min-width: 87.5rem)":{marginBottom:"0px"}}),ew=(0,r.ZP)("section").withConfig({displayName:"cmp___StyledSection",componentId:"sc-1m9xt13-11"})({marginTop:"3.5rem"}),ej=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv9",componentId:"sc-1m9xt13-12"})({marginBottom:"2rem",display:"flex",flexDirection:"column",flexWrap:"wrap",alignItems:"stretch",justifyContent:"space-between",gap:"2.5rem","@media (min-width: 48rem)":{flexDirection:"row",alignItems:"flex-end"}}),eC=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv10",componentId:"sc-1m9xt13-13"})({display:"flex",flexDirection:"column",flexWrap:"wrap",alignItems:"flex-start",gap:"2.5rem","@media (min-width: 36rem)":{flexDirection:"row",alignItems:"center",gap:"1rem"}}),eN=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv11",componentId:"sc-1m9xt13-14"})({position:"relative"}),eb=(0,r.ZP)("div").withConfig({displayName:"cmp___StyledDiv12",componentId:"sc-1m9xt13-15"})({marginLeft:"1rem",marginRight:"1rem",marginTop:"2.5rem",marginBottom:"2.5rem",textAlign:"center",opacity:"0.6"}),eS=ed}},function(e){e.O(0,[959,983,774,888,179],function(){return e(e.s=62640)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/earn/crn/[hash]-20887c281fb2db41.js b/_next/static/chunks/pages/earn/crn/[hash]-20887c281fb2db41.js deleted file mode 100644 index 600c42a..0000000 --- a/_next/static/chunks/pages/earn/crn/[hash]-20887c281fb2db41.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[265],{70805:function(e,n,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/earn/crn/[hash]",function(){return i(55089)}])},33378:function(e,n,i){"use strict";i.d(n,{Z:function(){return o}});var r=i(85893),t=i(19521),a=i(67294);let s=t.ZP.div.withConfig({displayName:"styles__StyledDotIcon",componentId:"sc-1w2vi58-0"})(e=>{let{theme:n,$active:i}=e,r=i?n.color.main1:n.color.disabled2;return[{height:"0.75rem",width:"0.5rem"},(0,t.iv)(["background-color:",";"],r)]}),l=e=>{let{decentralization:n}=e,i=e=>(e+1)*.3;return(0,r.jsx)(d,{children:(0,r.jsx)(c,{children:Array.from({length:3},(e,t)=>(0,r.jsx)(s,{$active:n>=i(t)},t))})})};l.displayName="NodeDecentralization";var o=(0,a.memo)(l),d=(0,t.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-sktw9k-0"})({display:"inline-flex",alignItems:"center",gap:"0.75rem"}),c=(0,t.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-sktw9k-1"})({display:"flex",alignItems:"stretch",gap:"0.125rem"})},67200:function(e,n,i){"use strict";i.d(n,{d:function(){return t}});var r=i(67294);function t(e){let{nodes:n}=e,i=(0,r.useMemo)(()=>{let e=n||Array.from({length:4},(e,n)=>({metricsData:{as_name:"Provider ".concat(n)}}));return e.reduce((e,n)=>{var i;let r=(null===(i=n.metricsData)||void 0===i?void 0:i.as_name)||"others";return e[r]=(e[r]||0)+1,e},{others:0})},[n]),t=(0,r.useMemo)(()=>Object.values(i).reduce((e,n)=>e+n,0),[i]),a=(0,r.useMemo)(()=>{let e=Object.entries(i).filter(e=>{let[n]=e;return"others"!==n}).sort((e,n)=>{let[,i]=e,[,r]=n;return r-i}),n=e.slice(0,3),r=e.slice(3),a=["others",i.others+r.reduce((e,n)=>{let[,i]=n;return e+i},0)];return[...n,a].map((e,n)=>{let[i,r]=e;return{tier:n+1,name:i,count:r,percentage:r/t,color:0===n?"error":1===n?"main2":2===n?"main0":"main1"}})},[i,t]);return{total:t,buckets:i,top:a}}},96264:function(e,n,i){"use strict";i.d(n,{O:function(){return s}});var r=i(67294),t=i(72479),a=i(94461);function s(e){let{nodes:n}=e,[i]=(0,a.mr)(),{account:s}=i.connection,l=(0,r.useMemo)(()=>new t.B(s),[s]),[o,d]=(0,r.useState)({}),[c,m]=(0,r.useState)(!0);return(0,r.useEffect)(()=>{(async function(){n&&(await Promise.allSettled(n.map(async e=>{let n=await l.getCRNspecs(e);d(i=>({...i,[e.hash]:{data:n,loading:!1,error:void 0}}))})),m(!1))})()},[l,n]),{specs:o,loading:c}}},58193:function(e,n,i){"use strict";i.d(n,{h:function(){return s}});var r=i(94461),t=i(67294),a=i(69797);function s(){let{nodes:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[n]=(0,r.mr)(),{entities:i}=n.ccns,{userNodes:s}=(0,a.M)({nodes:e||i}),l=(0,t.useMemo)(()=>null==s?void 0:s[0],[s]);return{userNode:l}}},55089:function(e,n,i){"use strict";i.r(n),i.d(n,{default:function(){return ea}});var r=i(85893),t=i(19521),a=i(67294),s=i(9008),l=i.n(s),o=i(94461),d=i(72479),c=i(11163),m=i(15457),u=i(58193),h=i(10159),p=i(87536),v=i(56312),f=i(79632),x=i(91421),j=i(73384),g=i(67200),y=i(96264),_=i(33358),w=i(34853),C=i(47630),N=i(41664),b=i.n(N),S=i(1218),k=i(68390),D=i(8978),P=i(33378),I=i(77849),E=i(43666),R=i(25675),Z=i.n(R),A=i(7954),M=i(87931),O=i(11505),T=i(90709);let H=()=>{var e,n,i;let{node:s,nodesOnSameASN:N,baseLatency:R,lastMetricsCheck:H,calculatedRewards:B,creationDate:ea,nameCtrl:es,descriptionCtrl:el,bannerCtrl:eo,pictureCtrl:ed,isOwner:ec,isDirty:em,rewardCtrl:eu,streamRewardCtrl:eh,addressCtrl:ep,asnTier:ev,nodeSpecs:ef,nodeIssue:ex,createInstanceUrl:ej,isLinked:eg,isLinkableByUser:ey,isUnlinkableByUser:e_,handleRemove:ew,handleSubmit:eC,handleLink:eN,handleUnlink:eb}=function(){let e=(0,c.useRouter)(),{hash:n}=e.query,[i]=(0,o.mr)(),{account:r}=i.connection,{entities:t}=i.crns,{node:s}=function(e){let{hash:n}=e,[i]=(0,o.mr)(),{entities:r}=i.crns,t=(0,a.useMemo)(()=>{if(r)return r.filter(e=>e.hash===n)},[r,n]),[s]=t||[];return{node:s}}({hash:n}),{userNode:l}=(0,u.h)(),N=(0,a.useMemo)(()=>new d.B(r),[r]),b=(0,a.useMemo)(()=>new C.S(r),[r]),S=(0,a.useMemo)(()=>s?b.CRNRewardsPerDay(s)*(365/12):0,[s,b]),k=(0,m._)({node:s,nodes:t}),{isLinked:D,isLinkableByUser:P,isUnlinkableByUser:I,handleLink:E,handleUnlink:R}=(0,j.i)(),Z=(0,a.useMemo)(()=>s&&D(s),[D,s]),A=(0,a.useMemo)(()=>s&&l&&P(s,l),[P,s,l]),M=(0,a.useMemo)(()=>s&&I(s),[I,s]),O=(0,a.useCallback)(async()=>{if(!s||!l)return!1;let n=await E(s.hash,l.hash);return n&&l&&e.replace("/earn/ccn/".concat(l.hash)),n},[E,e,s,l]),T=(0,a.useCallback)(async()=>{if(!s)return!1;let n=await R(s.hash);return n&&l&&e.replace("/earn/ccn/".concat(null==l?void 0:l.hash)),n},[R,e,s,l]),{top:H}=(0,g.d)({nodes:t}),B=H.find(e=>{var n;return e.name===(null==s?void 0:null===(n=s.metricsData)||void 0===n?void 0:n.as_name)}),z=(0,a.useMemo)(()=>{if(s)return[s]},[s]),{specs:F}=(0,y.O)({nodes:z}),{ips:W}=function(e){let{nodes:n}=e,[i]=(0,o.mr)(),{account:r}=i.connection,t=(0,a.useMemo)(()=>new d.B(r),[r]),[s,l]=(0,a.useState)({}),[c,m]=(0,a.useState)(!0);return(0,a.useEffect)(()=>{(async function(){n&&(await Promise.allSettled(n.filter(e=>!t.isStreamPaymentNotSupported(e)).map(async e=>{if(s[e.hash])return;let n=await t.getCRNips(e);l(i=>({...i,[e.hash]:{data:n,loading:!1,error:void 0}}))})),m(!1))})()},[s,t,n]),{ips:s,loading:c}}({nodes:z}),L=(0,a.useMemo)(()=>({cpu:1,ram:(0,w.Fx)(2,{from:"GiB",to:"MiB"}),storage:(0,w.Fx)(20,{from:"GiB",to:"MiB"})}),[]),U=(0,a.useMemo)(()=>{if(z)return z.reduce((e,n)=>{var i,r;let t=N.isStreamPaymentNotSupported(n);if(t)return e[n.hash]=t,e;let a=null===(i=F[n.hash])||void 0===i?void 0:i.data;if(a){let i=N.validateMinNodeSpecs(L,a);if(!i)return e[n.hash]=d.r.MinSpecs,e}let s=null===(r=W[n.hash])||void 0===r?void 0:r.data;if(s){let i=!!s.vm;if(!i)return e[n.hash]=d.r.IPV6,e}return a&&s&&(e[n.hash]=d.r.Valid),e},{})},[z,N,F,W,L]),G=(0,a.useMemo)(()=>{var e;if(s)return null===(e=F[s.hash])||void 0===e?void 0:e.data},[F,s]),Y=(0,a.useMemo)(()=>{if(s)return null==U?void 0:U[s.hash]},[U,s]),J=(0,a.useMemo)(()=>{if(s)return void 0===Y||Y?void 0:"".concat(_.RG,"?crn=").concat(s.hash)},[s,Y]),V=(0,a.useMemo)(()=>({hash:null==s?void 0:s.hash,name:null==s?void 0:s.name,description:null==s?void 0:s.description,reward:null==s?void 0:s.reward,stream_reward:null==s?void 0:s.stream_reward,authorized:null==s?void 0:s.authorized,locked:null==s?void 0:s.locked,registration_url:null==s?void 0:s.registration_url,picture:null==s?void 0:s.picture,banner:null==s?void 0:s.banner,address:null==s?void 0:s.address}),[s]),q=function(e){let{defaultValues:n}=e,[i,r]=(0,o.mr)(),{account:t}=i.connection,{entities:s}=i.crns,l=(0,f.lm)(),c=(0,a.useMemo)(()=>new d.B(t),[t]),m=(0,a.useCallback)(async e=>{if(!c)throw Error("Manager not ready");if(!t)throw Error("Invalid account");let[,n]=await c.updateComputeResourceNode(e),i=null==s?void 0:s.find(e=>e.hash===n.hash),r=function(e,n){let i={...e||{},...n,virtual:Date.now()};return i}(i,n);return r},[t,c,s]),u=(0,a.useCallback)(async e=>{if(!l)throw Error("Notification not ready");l.add({variant:"success",title:"Success",text:'Your node "'.concat(e.hash,'" was updated successfully.')}),r(new x.Wy({name:"crns",entities:[e]}))},[r,l]),{control:j,handleSubmit:g,formState:{errors:y,isDirty:_}}=(0,h.c)({defaultValues:n,onSubmit:m,onSuccess:u,resolver:(0,v.F)(d.B.updateCRNSchema),readyDeps:[n]}),w=(0,p.qo)({control:j}),C=(0,p.bc)({control:j,name:"name"}),N=(0,p.bc)({control:j,name:"description"}),b=(0,p.bc)({control:j,name:"address"}),S=(0,p.bc)({control:j,name:"picture"}),k=(0,p.bc)({control:j,name:"banner"}),D=(0,p.bc)({control:j,name:"reward"}),P=(0,p.bc)({control:j,name:"stream_reward"}),I=(0,p.bc)({control:j,name:"authorized"}),E=(0,p.bc)({control:j,name:"locked"}),R=(0,p.bc)({control:j,name:"registration_url"});return{values:w,control:j,nameCtrl:C,descriptionCtrl:N,addressCtrl:b,pictureCtrl:S,bannerCtrl:k,rewardCtrl:D,streamRewardCtrl:P,authorizedCtrl:I,lockedCtrl:E,registrationUrlCtrl:R,errors:y,isDirty:_,handleSubmit:g}}({defaultValues:V});return{nodes:t,node:s,userNode:l,calculatedRewards:S,asnTier:B,nodeSpecs:G,nodeIssue:Y,createInstanceUrl:J,isLinked:Z,isLinkableByUser:A,isUnlinkableByUser:M,handleLink:O,handleUnlink:T,...q,...k}}(),eS=(0,t.Fg)();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(l(),{children:[(0,r.jsx)("title",{children:"Aleph.im | CRN Detail"}),(0,r.jsx)("meta",{name:"description",content:"Aleph.im Compute Resource Node"}),(0,r.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1"})]}),(0,r.jsx)("section",{children:(0,r.jsx)(S.Z,{node:s,nameCtrl:es,descriptionCtrl:el,bannerCtrl:eo,pictureCtrl:ed,isOwner:ec})}),ec&&(0,r.jsxs)(z,{children:[(0,r.jsxs)(f.zx,{kind:"flat",variant:"textOnly",size:"md",color:"error",onClick:ew,children:[(0,r.jsx)(f.JO,{name:"trash",color:"error",size:"lg"}),"remove node"]}),(0,r.jsx)(f.zx,{kind:"neon",variant:"primary",size:"md",color:"main2",onClick:eC,disabled:!em,children:"save changes"})]}),(0,r.jsx)(F,{children:(0,r.jsxs)(W,{children:[(0,r.jsxs)(L,{children:[(0,r.jsxs)(k.ZP,{title:"GENERAL INFO",children:[(0,r.jsx)(D.Z,{status:null==s?void 0:s.status}),(0,r.jsx)(k.HC,{name:"NAME",value:null==s?void 0:s.name}),(0,r.jsx)(k.HC,{name:"ASN",value:null==s?void 0:null===(e=s.metricsData)||void 0===e?void 0:e.as_name}),(0,r.jsx)(k.HC,{name:"OWNER",value:(0,r.jsx)(E.Z,{href:(0,w.tz)({address:null==s?void 0:s.owner}),isOwner:!1,children:(null==s?void 0:s.owner)&&(0,w.zN)(null==s?void 0:s.owner)}),big:!0}),(0,r.jsx)(k.HC,{name:"REWARD ADDRESS",value:(0,r.jsx)(I.Z,{...eu.field,...eu.fieldState,placeholder:"reward address",isOwner:ec,children:(0,r.jsx)(E.Z,{href:(0,w.tz)({tokenAddress:eu.field.value}),isOwner:ec,children:eu.field.value&&(0,w.zN)(eu.field.value)})}),big:!0}),(0,r.jsx)(k.HC,{name:"STREAM REWARD ADDRESS",value:(0,r.jsx)(I.Z,{...eh.field,...eh.fieldState,placeholder:"PAYG reward address",isOwner:ec,children:(0,r.jsx)(E.Z,{href:(0,w.gl)({tokenAddress:eh.field.value}),isOwner:ec,children:eh.field.value&&(0,w.zN)(eh.field.value)})}),big:!0}),(0,r.jsx)(k.HC,{name:"ADDRESS",value:(0,r.jsx)(I.Z,{...ep.field,...ep.fieldState,placeholder:"address",isOwner:ec,children:(0,r.jsx)(E.Z,{href:null==s?void 0:s.address,isOwner:ec,children:null==s?void 0:s.address})}),big:!0})]}),(0,r.jsxs)(k.ZP,{title:"HARDWARE",children:[(0,r.jsx)(k.HC,{name:"CPU",value:null==ef?void 0:ef.properties.cpu.vendor}),(0,r.jsx)(k.HC,{name:"CPU ARCHITECTURE",value:null==ef?void 0:ef.properties.cpu.architecture}),(0,r.jsx)(k.HC,{name:"CPU COUNT",value:null==ef?void 0:ef.cpu.count}),(0,r.jsx)(k.HC,{name:"CPU FREQUENCY",value:"".concat((((null==ef?void 0:ef.cpu.core_frequencies.max)||0)/1024).toFixed(2)," GHz")}),(0,r.jsx)(k.HC,{name:"RAM",value:(0,w.eB)(null==ef?void 0:ef.mem.total_kB,"KiB")}),(0,r.jsx)(k.HC,{name:"HDD",value:(0,w.eB)(null==ef?void 0:ef.disk.total_kB,"KiB")}),(0,r.jsxs)(U,{children:[(0,r.jsx)(M.Z,{href:ej||"#",target:"_blank",kind:"neon",variant:"primary",size:"md",disabled:!ej,children:(0,r.jsxs)(r.Fragment,{children:["Create Instance",void 0===ex&&(0,r.jsx)(O.g4,{width:"1em",height:"1em",color:eS.color.background})]})}),!ej&&(0,r.jsx)(G,{className:"fs-10",children:ex?(0,r.jsx)(f.u,{my:"top-center",at:"bottom-center",content:(0,r.jsxs)("div",{className:"tp-body1 fs-12",children:[(0,r.jsx)("div",{className:"tp-body3 fs-16",children:"Why is my node unavailable?"}),(0,r.jsx)("div",{children:"A node may be not eligible for PAYG for the following reasons:"}),(0,r.jsxs)(Y,{children:[ex===d.r.IPV6&&(0,r.jsxs)("li",{children:[(0,r.jsx)("strong",{children:"IPv6 Egress Issue:"})," The node's compute resource (CRN) is unable to establish an IPv6 egress connection."]}),ex===d.r.MinSpecs&&(0,r.jsxs)("li",{children:[(0,r.jsx)("strong",{children:"Minimum Specifications:"})," The node does not meet the required minimum hardware or software specifications."]}),ex===d.r.Version&&(0,r.jsxs)("li",{children:[(0,r.jsx)("strong",{children:"Version Compatibility:"})," Only nodes with version 0.4.0 or higher are eligible for selection."]}),ex===d.r.RewardAddress&&(0,r.jsxs)("li",{children:[(0,r.jsx)("strong",{children:"Stream Reward Configuration:"})," ","The node lacks a configured stream reward address, which is necessary for operation."]})]})]}),children:(0,r.jsxs)(J,{children:["Not eligible for pay-as-you-go (PAYG)",(0,r.jsx)(V,{name:"exclamation-circle"})]})}):(0,r.jsx)(q,{children:"Not eligible for pay-as-you-go (PAYG)"})})]})]})]}),(0,r.jsxs)(K,{children:[(0,r.jsxs)(k.ZP,{title:"REWARD INDICATORS",children:[(0,r.jsx)(k.HC,{name:"NODES ON ASN",value:(0,r.jsxs)(X,{className:ev&&"text-".concat(ev.color),children:[N,!!ev&&(0,r.jsx)(f.JO,{name:"hexagon-exclamation",color:ev.color})]})}),(0,r.jsx)(k.HC,{name:"VERSION",value:null==s?void 0:null===(n=s.metricsData)||void 0===n?void 0:n.version}),(0,r.jsx)(k.HC,{name:"BASE LATENCY",value:R}),(0,r.jsx)(k.HC,{name:"LAST CHECK",value:H})]}),(0,r.jsx)(k.ZP,{title:"POTENTIAL REWARD",children:(0,r.jsx)(k.HC,{name:"ESTIMATED MONTHLY REWARD",value:(0,r.jsx)(A.Z,{value:B})})})]}),(0,r.jsxs)($,{children:[(0,r.jsx)(k.ZP,{title:"LINKED CORE NODE",children:(0,r.jsx)(Q,{children:eg?(0,r.jsxs)(r.Fragment,{children:[(null==s?void 0:s.parentData)&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(T.Rr,{$score:s.parentData.score}),(0,r.jsx)(b(),{href:"/earn/ccn/".concat(s.parentData.hash),legacyBehavior:!0,children:(0,r.jsx)(er,{hash:s.parentData.hash,name:s.parentData.name,picture:s.parentData.picture,apiServer:_.pf,ImageCmp:Z()})})]}),e_&&(0,r.jsx)("button",{onClick:eb,children:(0,r.jsx)(f.JO,{name:"trash",color:"error"})})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(T.Rr,{}),(0,r.jsx)(ee,{}),(0,r.jsx)(en,{className:"fs-10",children:ey?(0,r.jsx)(f.zx,{color:"main2",size:"md",kind:"neon",variant:"textOnly",onClick:eN,children:(0,r.jsxs)("div",{children:[(0,r.jsx)(ei,{name:"link"})," link now"]})}):(0,r.jsx)(r.Fragment,{children:"not linked"})})]})})}),(0,r.jsxs)(k.ZP,{title:"DECENTRALIZED SCORE",children:[(0,r.jsxs)(et,{className:ev&&"text-".concat(ev.color),children:[(0,r.jsx)(P.Z,{decentralization:(null==s?void 0:null===(i=s.scoreData)||void 0===i?void 0:i.decentralization)||0}),!!ev&&(0,r.jsx)(f.JO,{name:"hexagon-exclamation",color:ev.color})]}),!!ev&&(0,r.jsxs)("p",{className:"tp-body3 fs-10",children:["There are ",N," nodes on this ASN. Please consider to migrate your node to a different ASN."]})]}),(0,r.jsx)(k.ZP,{title:"PERFORMANCE",children:(0,r.jsx)(k.HC,{name:"CREATION TIME",value:ea})})]})]})})]})};H.displayName="ComputeResourceNodeDetailPage";var B=(0,a.memo)(H),z=(0,t.ZP)("section").withConfig({displayName:"cmp___StyledSection",componentId:"sc-b9jk28-0"})({marginTop:"2rem",marginBottom:"2rem",display:"flex",alignItems:"center",justifyContent:"flex-end",gap:"1.75rem"}),F=(0,t.ZP)("section").withConfig({displayName:"cmp___StyledSection2",componentId:"sc-b9jk28-1"})({marginTop:"2rem"}),W=(0,t.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-b9jk28-2"})({display:"flex",flexWrap:"wrap",gap:"2.25rem"}),L=(0,t.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-b9jk28-3"})({display:"flex",width:"33.333333%",minWidth:"20rem",flex:"1 1 0%",flexDirection:"column",gap:"2.25rem"}),U=(0,t.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-b9jk28-4"})({paddingTop:"1.5rem",textAlign:"center"}),G=(0,t.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-b9jk28-5"})({marginTop:"1rem"}),Y=(0,t.ZP)("ul").withConfig({displayName:"cmp___StyledUl",componentId:"sc-b9jk28-6"})({marginTop:"1rem",marginBottom:"1rem",listStyleType:"disc",paddingLeft:"1.5rem"}),J=(0,t.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-b9jk28-7"})({display:"flex",cursor:"help",alignItems:"center",justifyContent:"center"}),V=(0,t.ZP)(f.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-b9jk28-8"})({marginLeft:"0.5rem"}),q=(0,t.ZP)("div").withConfig({displayName:"cmp___StyledDiv6",componentId:"sc-b9jk28-9"})({textAlign:"center"}),K=(0,t.ZP)("div").withConfig({displayName:"cmp___StyledDiv7",componentId:"sc-b9jk28-10"})({display:"flex",width:"33.333333%",minWidth:"20rem",flex:"1 1 0%",flexDirection:"column",gap:"2.25rem"}),X=(0,t.ZP)("div").withConfig({displayName:"cmp___StyledDiv8",componentId:"sc-b9jk28-11"})({display:"flex",alignItems:"center",gap:"0.75rem"}),$=(0,t.ZP)("div").withConfig({displayName:"cmp___StyledDiv9",componentId:"sc-b9jk28-12"})({display:"flex",width:"33.333333%",minWidth:"20rem",flex:"1 1 0%",flexDirection:"column",gap:"2.25rem"}),Q=(0,t.ZP)("div").withConfig({displayName:"cmp___StyledDiv10",componentId:"sc-b9jk28-13"})({display:"flex",alignItems:"center",gap:"0.75rem"}),ee=(0,t.ZP)("div").withConfig({displayName:"cmp___StyledDiv11",componentId:"sc-b9jk28-14"})({height:"1.5rem",width:"1.5rem",borderRadius:"9999px",backgroundColor:"#C4C4C433"}),en=(0,t.ZP)("div").withConfig({displayName:"cmp___StyledDiv12",componentId:"sc-b9jk28-15"})({lineHeight:"1rem"}),ei=(0,t.ZP)(f.JO).withConfig({displayName:"cmp___StyledIcon2",componentId:"sc-b9jk28-16"})({height:"0.875rem",width:"0.875rem"}),er=(0,t.ZP)(f.tJ).withConfig({displayName:"cmp___StyledNodeName",componentId:"sc-b9jk28-17"})({marginRight:"auto",width:"auto",cursor:"pointer"}),et=(0,t.ZP)("div").withConfig({displayName:"cmp___StyledDiv13",componentId:"sc-b9jk28-18"})({display:"flex",alignItems:"center",gap:"0.75rem"}),ea=B}},function(e){e.O(0,[959,312,505,903,774,888,179],function(){return e(e.s=70805)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/earn/crn/[hash]-a599f582276bd6d2.js b/_next/static/chunks/pages/earn/crn/[hash]-a599f582276bd6d2.js new file mode 100644 index 0000000..616f4d4 --- /dev/null +++ b/_next/static/chunks/pages/earn/crn/[hash]-a599f582276bd6d2.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[265],{70805:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/earn/crn/[hash]",function(){return t(48833)}])},33378:function(e,n,t){"use strict";t.d(n,{Z:function(){return l}});var i=t(85893),a=t(19521),r=t(67294);let s=a.ZP.div.withConfig({displayName:"styles__StyledDotIcon",componentId:"sc-1w2vi58-0"})(e=>{let{theme:n,$active:t}=e,i=t?n.color.main1:n.color.disabled2;return[{height:"0.75rem",width:"0.5rem"},(0,a.iv)(["background-color:",";"],i)]}),o=e=>{let{decentralization:n}=e,t=e=>(e+1)*.3;return(0,i.jsx)(d,{children:(0,i.jsx)(c,{children:Array.from({length:3},(e,a)=>(0,i.jsx)(s,{$active:n>=t(a)},a))})})};o.displayName="NodeDecentralization";var l=(0,r.memo)(o),d=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-sktw9k-0"})({display:"inline-flex",alignItems:"center",gap:"0.75rem"}),c=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-sktw9k-1"})({display:"flex",alignItems:"stretch",gap:"0.125rem"})},67200:function(e,n,t){"use strict";t.d(n,{d:function(){return a}});var i=t(67294);function a(e){let{nodes:n}=e,t=(0,i.useMemo)(()=>{let e=n||Array.from({length:4},(e,n)=>({metricsData:{as_name:"Provider ".concat(n)}}));return e.reduce((e,n)=>{var t;let i=(null===(t=n.metricsData)||void 0===t?void 0:t.as_name)||"others";return e[i]=(e[i]||0)+1,e},{others:0})},[n]),a=(0,i.useMemo)(()=>Object.values(t).reduce((e,n)=>e+n,0),[t]),r=(0,i.useMemo)(()=>{let e=Object.entries(t).filter(e=>{let[n]=e;return"others"!==n}).sort((e,n)=>{let[,t]=e,[,i]=n;return i-t}),n=e.slice(0,3),i=e.slice(3),r=["others",t.others+i.reduce((e,n)=>{let[,t]=n;return e+t},0)];return[...n,r].map((e,n)=>{let[t,i]=e;return{tier:n+1,name:t,count:i,percentage:i/a,color:0===n?"error":1===n?"main2":2===n?"main0":"main1"}})},[t,a]);return{total:a,buckets:t,top:r}}},96264:function(e,n,t){"use strict";t.d(n,{O:function(){return s}});var i=t(67294),a=t(48107),r=t(94461);function s(e){let{nodes:n}=e,[t]=(0,r.mr)(),{account:s}=t.connection,o=(0,i.useMemo)(()=>new a.B(s),[s]),[l,d]=(0,i.useState)({}),[c,m]=(0,i.useState)(!0);return(0,i.useEffect)(()=>{(async function(){n&&(await Promise.allSettled(n.map(async e=>{let n=await o.getCRNspecs(e);d(t=>({...t,[e.hash]:{data:n,loading:!1,error:void 0}}))})),m(!1))})()},[o,n]),{specs:l,loading:c}}},58193:function(e,n,t){"use strict";t.d(n,{h:function(){return s}});var i=t(94461),a=t(67294),r=t(69797);function s(){let{nodes:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[n]=(0,i.mr)(),{entities:t}=n.ccns,{userNodes:s}=(0,r.M)({nodes:e||t}),o=(0,a.useMemo)(()=>null==s?void 0:s[0],[s]);return{userNode:o}}},48833:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return eP}});var i=t(85893),a=t(19521),r=t(67294),s=t(9008),o=t.n(s),l=t(94461),d=t(48107),c=t(11163),m=t.n(c),u=t(15457),h=t(58193),v=t(10159),p=t(87536),f=t(56312),w=t(31515),g=t(91421),x=t(73384),y=t(67200),C=t(96264),_=t(33358),j=t(34853),N=t(47630),b=t(1218),S=t(41664),P=t.n(S),I=t(68390),D=t(8978),T=t(33378),k=t(77849),O=t(43666),R=t(25675),Z=t.n(R),E=t(7954),M=t(87931),A=t(11505),z=t(90709);let B=e=>{var n,t,a;let{theme:r,node:s,nodesOnSameASN:o,baseLatency:l,lastMetricsCheck:c,calculatedRewards:m,creationDate:u,isOwner:h,rewardCtrl:v,streamRewardCtrl:p,addressCtrl:f,asnTier:g,nodeSpecs:x,nodeIssue:y,createInstanceUrl:C,isLinked:N,isLinkableByUser:b,isUnlinkableByUser:S,handleLink:R,handleUnlink:B}=e;return(0,i.jsx)(L,{children:(0,i.jsxs)(U,{children:[(0,i.jsxs)(F,{children:[(0,i.jsxs)(I.ZP,{title:"GENERAL INFO",children:[(0,i.jsx)(D.Z,{status:null==s?void 0:s.status}),(0,i.jsx)(I.HC,{name:"NAME",value:null==s?void 0:s.name}),(0,i.jsx)(I.HC,{name:"ASN",value:null==s?void 0:null===(n=s.metricsData)||void 0===n?void 0:n.as_name}),(0,i.jsx)(I.HC,{name:"OWNER",value:(0,i.jsx)(O.Z,{href:(0,j.tz)({address:null==s?void 0:s.owner}),isOwner:!1,children:(null==s?void 0:s.owner)&&(0,j.zN)(null==s?void 0:s.owner)}),big:!0}),(0,i.jsx)(I.HC,{name:"REWARD ADDRESS",value:(0,i.jsx)(k.Z,{...v.field,...v.fieldState,placeholder:"reward address",isOwner:h,children:(0,i.jsx)(O.Z,{href:(0,j.tz)({tokenAddress:v.field.value}),isOwner:h,children:v.field.value&&(0,j.zN)(v.field.value)})}),big:!0}),(0,i.jsx)(I.HC,{name:"STREAM REWARD ADDRESS",value:(0,i.jsx)(k.Z,{...p.field,...p.fieldState,placeholder:"PAYG reward address",isOwner:h,children:(0,i.jsx)(O.Z,{href:(0,j.gl)({tokenAddress:p.field.value}),isOwner:h,children:p.field.value&&(0,j.zN)(p.field.value)})}),big:!0}),(0,i.jsx)(I.HC,{name:"ADDRESS",value:(0,i.jsx)(k.Z,{...f.field,...f.fieldState,placeholder:"address",isOwner:h,children:(0,i.jsx)(O.Z,{href:null==s?void 0:s.address,isOwner:h,children:null==s?void 0:s.address})}),big:!0})]}),(0,i.jsxs)(I.ZP,{title:"HARDWARE",children:[(0,i.jsx)(I.HC,{name:"CPU",value:null==x?void 0:x.properties.cpu.vendor}),(0,i.jsx)(I.HC,{name:"CPU ARCHITECTURE",value:null==x?void 0:x.properties.cpu.architecture}),(0,i.jsx)(I.HC,{name:"CPU COUNT",value:null==x?void 0:x.cpu.count}),(0,i.jsx)(I.HC,{name:"CPU FREQUENCY",value:"".concat((((null==x?void 0:x.cpu.core_frequencies.max)||0)/1024).toFixed(2)," GHz")}),(0,i.jsx)(I.HC,{name:"RAM",value:(0,j.eB)(null==x?void 0:x.mem.total_kB,"KiB")}),(0,i.jsx)(I.HC,{name:"HDD",value:(0,j.eB)(null==x?void 0:x.disk.total_kB,"KiB")}),(0,i.jsxs)(W,{children:[(0,i.jsx)(M.Z,{href:C||"#",target:"_blank",kind:"neon",variant:"primary",size:"md",disabled:!C,children:(0,i.jsxs)(i.Fragment,{children:["Create Instance",void 0===y&&(0,i.jsx)(A.g4,{width:"1em",height:"1em",color:r.color.background})]})}),!C&&(0,i.jsx)(J,{className:"fs-10",children:y?(0,i.jsx)(w.u,{my:"top-center",at:"bottom-center",content:(0,i.jsxs)("div",{className:"tp-body1 fs-12",children:[(0,i.jsx)("div",{className:"tp-body3 fs-16",children:"Why is my node unavailable?"}),(0,i.jsx)("div",{children:"A node may be not eligible for PAYG for the following reasons:"}),(0,i.jsxs)(G,{children:[y===d.r.IPV6&&(0,i.jsxs)("li",{children:[(0,i.jsx)("strong",{children:"IPv6 Egress Issue:"})," The node's compute resource (CRN) is unable to establish an IPv6 egress connection."]}),y===d.r.MinSpecs&&(0,i.jsxs)("li",{children:[(0,i.jsx)("strong",{children:"Minimum Specifications:"})," The node does not meet the required minimum hardware or software specifications."]}),y===d.r.Version&&(0,i.jsxs)("li",{children:[(0,i.jsx)("strong",{children:"Version Compatibility:"})," Only nodes with version 0.4.0 or higher are eligible for selection."]}),y===d.r.RewardAddress&&(0,i.jsxs)("li",{children:[(0,i.jsx)("strong",{children:"Stream Reward Configuration:"})," ","The node lacks a configured stream reward address, which is necessary for operation."]})]})]}),children:(0,i.jsxs)(q,{children:["Not eligible for pay-as-you-go (PAYG)",(0,i.jsx)(Y,{name:"exclamation-circle"})]})}):(0,i.jsx)(V,{children:"Not eligible for pay-as-you-go (PAYG)"})})]})]})]}),(0,i.jsxs)(X,{children:[(0,i.jsxs)(I.ZP,{title:"REWARD INDICATORS",children:[(0,i.jsx)(I.HC,{name:"NODES ON ASN",value:(0,i.jsxs)($,{className:g&&"text-".concat(g.color),children:[o,!!g&&(0,i.jsx)(w.JO,{name:"hexagon-exclamation",color:g.color})]})}),(0,i.jsx)(I.HC,{name:"VERSION",value:null==s?void 0:null===(t=s.metricsData)||void 0===t?void 0:t.version}),(0,i.jsx)(I.HC,{name:"BASE LATENCY",value:l}),(0,i.jsx)(I.HC,{name:"LAST CHECK",value:c})]}),(0,i.jsx)(I.ZP,{title:"POTENTIAL REWARD",children:(0,i.jsx)(I.HC,{name:"ESTIMATED MONTHLY REWARD",value:(0,i.jsx)(E.Z,{value:m})})})]}),(0,i.jsxs)(K,{children:[(0,i.jsx)(I.ZP,{title:"LINKED CORE NODE",children:(0,i.jsx)(Q,{children:N?(0,i.jsxs)(i.Fragment,{children:[(null==s?void 0:s.parentData)&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(z.Rr,{$score:s.parentData.score}),(0,i.jsx)(P(),{href:"/earn/ccn/".concat(s.parentData.hash),legacyBehavior:!0,children:(0,i.jsx)(ei,{hash:s.parentData.hash,name:s.parentData.name,picture:s.parentData.picture,apiServer:_.pf,ImageCmp:Z()})})]}),S&&(0,i.jsx)("button",{onClick:B,children:(0,i.jsx)(w.JO,{name:"trash",color:"error"})})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(z.Rr,{}),(0,i.jsx)(ee,{}),(0,i.jsx)(en,{className:"fs-10",children:b?(0,i.jsx)(w.zx,{color:"main2",size:"md",kind:"neon",variant:"textOnly",onClick:R,children:(0,i.jsxs)("div",{children:[(0,i.jsx)(et,{name:"link"})," link now"]})}):(0,i.jsx)(i.Fragment,{children:"not linked"})})]})})}),(0,i.jsxs)(I.ZP,{title:"DECENTRALIZED SCORE",children:[(0,i.jsxs)(ea,{className:g&&"text-".concat(g.color),children:[(0,i.jsx)(T.Z,{decentralization:(null==s?void 0:null===(a=s.scoreData)||void 0===a?void 0:a.decentralization)||0}),!!g&&(0,i.jsx)(w.JO,{name:"hexagon-exclamation",color:g.color})]}),!!g&&(0,i.jsxs)("p",{className:"tp-body3 fs-10",children:["There are ",o," nodes on this ASN. Please consider to migrate your node to a different ASN."]})]}),(0,i.jsx)(I.ZP,{title:"PERFORMANCE",children:(0,i.jsx)(I.HC,{name:"CREATION TIME",value:u})})]})]})})};B.displayName="OverviewTabContent";var H=(0,r.memo)(B),L=(0,a.ZP)("section").withConfig({displayName:"OverviewTabContent___StyledSection",componentId:"sc-1mtmweg-0"})({marginTop:"2rem"}),U=(0,a.ZP)("div").withConfig({displayName:"OverviewTabContent___StyledDiv",componentId:"sc-1mtmweg-1"})({display:"flex",flexWrap:"wrap",gap:"2.25rem"}),F=(0,a.ZP)("div").withConfig({displayName:"OverviewTabContent___StyledDiv2",componentId:"sc-1mtmweg-2"})({display:"flex",width:"33.333333%",minWidth:"20rem",flex:"1 1 0%",flexDirection:"column",gap:"2.25rem"}),W=(0,a.ZP)("div").withConfig({displayName:"OverviewTabContent___StyledDiv3",componentId:"sc-1mtmweg-3"})({paddingTop:"1.5rem",textAlign:"center"}),J=(0,a.ZP)("div").withConfig({displayName:"OverviewTabContent___StyledDiv4",componentId:"sc-1mtmweg-4"})({marginTop:"1rem"}),G=(0,a.ZP)("ul").withConfig({displayName:"OverviewTabContent___StyledUl",componentId:"sc-1mtmweg-5"})({marginTop:"1rem",marginBottom:"1rem",listStyleType:"disc",paddingLeft:"1.5rem"}),q=(0,a.ZP)("div").withConfig({displayName:"OverviewTabContent___StyledDiv5",componentId:"sc-1mtmweg-6"})({display:"flex",cursor:"help",alignItems:"center",justifyContent:"center"}),Y=(0,a.ZP)(w.JO).withConfig({displayName:"OverviewTabContent___StyledIcon",componentId:"sc-1mtmweg-7"})({marginLeft:"0.5rem"}),V=(0,a.ZP)("div").withConfig({displayName:"OverviewTabContent___StyledDiv6",componentId:"sc-1mtmweg-8"})({textAlign:"center"}),X=(0,a.ZP)("div").withConfig({displayName:"OverviewTabContent___StyledDiv7",componentId:"sc-1mtmweg-9"})({display:"flex",width:"33.333333%",minWidth:"20rem",flex:"1 1 0%",flexDirection:"column",gap:"2.25rem"}),$=(0,a.ZP)("div").withConfig({displayName:"OverviewTabContent___StyledDiv8",componentId:"sc-1mtmweg-10"})({display:"flex",alignItems:"center",gap:"0.75rem"}),K=(0,a.ZP)("div").withConfig({displayName:"OverviewTabContent___StyledDiv9",componentId:"sc-1mtmweg-11"})({display:"flex",width:"33.333333%",minWidth:"20rem",flex:"1 1 0%",flexDirection:"column",gap:"2.25rem"}),Q=(0,a.ZP)("div").withConfig({displayName:"OverviewTabContent___StyledDiv10",componentId:"sc-1mtmweg-12"})({display:"flex",alignItems:"center",gap:"0.75rem"}),ee=(0,a.ZP)("div").withConfig({displayName:"OverviewTabContent___StyledDiv11",componentId:"sc-1mtmweg-13"})({height:"1.5rem",width:"1.5rem",borderRadius:"9999px",backgroundColor:"#C4C4C433"}),en=(0,a.ZP)("div").withConfig({displayName:"OverviewTabContent___StyledDiv12",componentId:"sc-1mtmweg-14"})({lineHeight:"1rem"}),et=(0,a.ZP)(w.JO).withConfig({displayName:"OverviewTabContent___StyledIcon2",componentId:"sc-1mtmweg-15"})({height:"0.875rem",width:"0.875rem"}),ei=(0,a.ZP)(w.tJ).withConfig({displayName:"OverviewTabContent___StyledNodeName",componentId:"sc-1mtmweg-16"})({marginRight:"auto",width:"auto",cursor:"pointer"}),ea=(0,a.ZP)("div").withConfig({displayName:"OverviewTabContent___StyledDiv13",componentId:"sc-1mtmweg-17"})({display:"flex",alignItems:"center",gap:"0.75rem"});let er=a.ZP.a.withConfig({displayName:"styles__StyledExternalLink",componentId:"sc-1rltozf-0"})(["",""],e=>{let{theme:n,$color:t="white",$typo:i,$underline:r=!1}=e;return(0,a.iv)(["color:",";text-decoration:",";",""],n.color[t],r?"underline":"none",i?(0,w.pX)(i):"")}),es=e=>{let{text:n,href:t,color:a,typo:r,underline:s,...o}=e;return(0,i.jsx)(i.Fragment,{children:(0,i.jsxs)(er,{href:t,target:"_blank",$color:a,$typo:r,$underline:s,...o,children:[n||t,(0,i.jsx)(el,{name:"square-up-right"})]})})};es.displayName="ExternalLink";var eo=(0,r.memo)(es),el=(0,a.ZP)(w.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-11m8lmb-0"})({marginLeft:"0.375rem"}),ed=t(92064),ec=t(81287);class em{async get(e){try{let n=await this.sdkClient.getMessage(e);return n}catch(e){throw ec.Z.RequestFailed(e)}}async getAll(e){try{let n=await this.sdkClient.getMessages(e);return n}catch(e){throw ec.Z.RequestFailed(e)}}async del(e){try{if(!(this.sdkClient instanceof ed.x))throw ec.Z.InvalidAccount;let n=await this.sdkClient.forget({hashes:[e.item_hash],channel:e.channel});return n}catch(e){throw ec.Z.RequestFailed(e)}}constructor(e,n=_.Nr,t=e?new ed.x(e,_.pf):new ed.O(_.pf)){this.account=e,this.channel=n,this.sdkClient=t}}var eu=t(92975),eh=t(18210);let ev=e=>{let{isOwner:n,documentName:t,documentCID:a,documentLink:s,termsAndConditionsCtrl:o,isLoadingHistoryMessages:l,policiesHistory:d,fileValue:c,removePoliciesDisabled:m,isCurrentVersion:u,handleFileChange:h,handleDownloadFile:v,handleRemovePolicies:p}=function(e){let{node:n,termsAndConditionsCtrl:t,handleRemovePolicies:i,...a}=e,{field:{onChange:s,value:o}}=t,[l,d]=(0,r.useState)(),[c,m]=(0,r.useState)(!0),[u,h]=(0,r.useState)(),[v,p]=(0,r.useState)(!0),f=(0,r.useMemo)(()=>new em,[]),w=(0,r.useMemo)(()=>new eh.p,[]),g=(0,r.useMemo)(()=>{if(!u)return;let e=null==u?void 0:u.entries().next().value;if(e)return e[1]},[u]),x=(0,r.useMemo)(()=>v?"":(null==g?void 0:g.name)||" ",[v,g]),y=(0,r.useMemo)(()=>v?"":(null==g?void 0:g.cid)||" ",[v,g]),C=(0,r.useMemo)(()=>v?"":g?"".concat(_.pf,"/api/v0/storage/raw/").concat(null==g?void 0:g.cid):" ",[v,g]),j=(0,r.useMemo)(()=>!(null==u?void 0:u.size),[u]),N=(0,r.useMemo)(()=>{if(o instanceof File)return o},[o]),b=(0,r.useCallback)(e=>!!g&&e===g,[g]),S=(0,r.useCallback)(e=>{let n=Array.isArray(e)?e[0]:e;s(n)},[s]),P=(0,r.useCallback)(async(e,n)=>{let t=await w.downloadFile(e),i=window.URL.createObjectURL(t),a=document.createElement("a");a.href=i,a.download=n,document.body.appendChild(a),a.click(),a.remove(),window.URL.revokeObjectURL(i)},[w]);return(0,r.useEffect)(()=>{let e=async()=>{if(m(!0),!f||!n)return d(void 0);try{let{messages:e}=await (null==f?void 0:f.getAll({messageTypes:[eu.Cs.post],refs:[n.hash],addresses:[n.owner]}));d(e)}catch(e){console.error(e)}finally{m(!1)}};e()},[f,n]),(0,r.useEffect)(()=>{let e=async()=>{if(p(!0),c||!f||!l)return h(void 0);try{let i=new Map;for(let a of l){var e,n,t;let r;let s=null===(e=a.content)||void 0===e?void 0:null===(n=e.content)||void 0===n?void 0:n.details.terms_and_conditions;if(!s)break;try{let{content:e}=await (null==f?void 0:f.get(s));r=e}catch(e){console.error(e)}r&&i.set(s,{time:new Date(1e3*a.content.time),cid:r.item_hash,name:null===(t=r.metadata)||void 0===t?void 0:t.name})}let a=new Map(Array.from(i).sort((e,n)=>{let[,{time:t}]=e,[,{time:i}]=n;return i.getTime()-t.getTime()}));h(a)}catch(e){console.error(e)}finally{p(!1)}};e()},[l,c,f]),{documentName:x,documentCID:y,documentLink:C,policiesHistory:u,termsAndConditionsCtrl:t,isLoadingHistoryMessages:v,fileValue:N,removePoliciesDisabled:j,isCurrentVersion:b,handleFileChange:S,handleDownloadFile:P,handleRemovePolicies:i,...a}}(e);return(0,i.jsx)(ef,{children:(0,i.jsxs)(w.X2,{count:1,xl:5,xlGap:"2rem",children:[(0,i.jsxs)(w.JX,{span:3,children:[(0,i.jsxs)(I.ZP,{title:"CURRENT VERSION",children:[(0,i.jsx)(I.HC,{name:"DOCUMENT NAME",value:t}),(0,i.jsx)(I.HC,{name:"CID",value:a}),(0,i.jsx)(I.HC,{name:"LINK",value:s})]}),n&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(ew,{kind:"flat",variant:"secondary",size:"md",color:"error",onClick:p,disabled:m,children:[(0,i.jsx)(w.JO,{name:"trash",color:m?"":"error",size:"lg"}),"remove policies"]}),(0,i.jsx)(w.S2,{...o.field,...o.fieldState,value:c,onChange:h}),(0,i.jsx)(eg,{className:"tp-info text-base",children:"Max. file size is 100 MB"})]})]}),(0,i.jsxs)(w.JX,{span:2,children:[(0,i.jsx)(ex,{className:"tp-h7",children:"History"}),l?(0,i.jsx)(w.$j,{}):d&&(0,i.jsx)("ol",{children:Array.from(d).map((e,n)=>{let[,t]=e;return(0,i.jsxs)(ey,{children:[(0,i.jsx)(eC,{className:"fs-12",children:u(t)?"Now":t.time.toLocaleDateString()}),(0,i.jsx)(eo,{text:t.name||(0,w.bs)(t.cid,12,6),href:"#",onClick:()=>v(t.cid,t.name||t.cid),target:"_self"}),n{let{theme:e,node:n,nodesOnSameASN:t,baseLatency:s,lastMetricsCheck:S,calculatedRewards:P,creationDate:I,nameCtrl:D,descriptionCtrl:T,bannerCtrl:k,pictureCtrl:O,isOwner:R,isDirty:Z,rewardCtrl:E,streamRewardCtrl:M,addressCtrl:A,termsAndConditionsCtrl:z,asnTier:B,nodeSpecs:L,nodeIssue:U,createInstanceUrl:F,isLinked:W,isLinkableByUser:J,isUnlinkableByUser:G,tabId:q,setTabId:Y,tabs:V,handleRemovePolicies:X,handleRemove:$,handleSubmit:K,handleLink:Q,handleUnlink:ee}=function(){let e=(0,a.Fg)(),n=(0,c.useRouter)(),{hash:t}=n.query,[i]=(0,l.mr)(),{account:s}=i.connection,{entities:o}=i.crns,{node:b}=function(e){let{hash:n}=e,[t]=(0,l.mr)(),{entities:i}=t.crns,a=(0,r.useMemo)(()=>{if(i)return i.filter(e=>e.hash===n)},[i,n]),[s]=a||[];return{node:s}}({hash:t}),{userNode:S}=(0,h.h)(),P=(0,r.useMemo)(()=>new d.B(s),[s]),I=(0,r.useMemo)(()=>new N.S(s),[s]),D=(0,r.useMemo)(()=>b?I.CRNRewardsPerDay(b)*(365/12):0,[b,I]),T=(0,u._)({node:b,nodes:o}),[k,O]=(0,r.useState)("overview"),R=(0,r.useMemo)(()=>[{id:"overview",name:"Overview"},{id:"policies",name:"Policies"}],[]),{isLinked:Z,isLinkableByUser:E,isUnlinkableByUser:M,handleLink:A,handleUnlink:z}=(0,x.i)(),B=(0,r.useMemo)(()=>b&&Z(b),[Z,b]),H=(0,r.useMemo)(()=>b&&S&&E(b,S),[E,b,S]),L=(0,r.useMemo)(()=>b&&M(b),[M,b]),U=(0,r.useCallback)(async()=>{if(!b||!S)return!1;let e=await A(b.hash,S.hash);return e&&S&&n.replace("/earn/ccn/".concat(S.hash)),e},[A,n,b,S]),F=(0,r.useCallback)(async()=>{if(!b)return!1;let e=await z(b.hash);return e&&S&&n.replace("/earn/ccn/".concat(null==S?void 0:S.hash)),e},[z,n,b,S]),{top:W}=(0,y.d)({nodes:o}),J=W.find(e=>{var n;return e.name===(null==b?void 0:null===(n=b.metricsData)||void 0===n?void 0:n.as_name)}),G=(0,r.useMemo)(()=>{if(b)return[b]},[b]),{specs:q}=(0,C.O)({nodes:G}),{ips:Y}=function(e){let{nodes:n}=e,[t]=(0,l.mr)(),{account:i}=t.connection,a=(0,r.useMemo)(()=>new d.B(i),[i]),[s,o]=(0,r.useState)({}),[c,m]=(0,r.useState)(!0);return(0,r.useEffect)(()=>{(async function(){n&&(await Promise.allSettled(n.filter(e=>!a.isStreamPaymentNotSupported(e)).map(async e=>{if(s[e.hash])return;let n=await a.getCRNips(e);o(t=>({...t,[e.hash]:{data:n,loading:!1,error:void 0}}))})),m(!1))})()},[s,a,n]),{ips:s,loading:c}}({nodes:G}),V=(0,r.useMemo)(()=>({cpu:1,ram:(0,j.Fx)(2,{from:"GiB",to:"MiB"}),storage:(0,j.Fx)(20,{from:"GiB",to:"MiB"})}),[]),X=(0,r.useMemo)(()=>{if(G)return G.reduce((e,n)=>{var t,i;let a=P.isStreamPaymentNotSupported(n);if(a)return e[n.hash]=a,e;let r=null===(t=q[n.hash])||void 0===t?void 0:t.data;if(r){let t=P.validateMinNodeSpecs(V,r);if(!t)return e[n.hash]=d.r.MinSpecs,e}let s=null===(i=Y[n.hash])||void 0===i?void 0:i.data;if(s){let t=!!s.vm;if(!t)return e[n.hash]=d.r.IPV6,e}return r&&s&&(e[n.hash]=d.r.Valid),e},{})},[G,P,q,Y,V]),$=(0,r.useMemo)(()=>{var e;if(b)return null===(e=q[b.hash])||void 0===e?void 0:e.data},[q,b]),K=(0,r.useMemo)(()=>{if(b)return null==X?void 0:X[b.hash]},[X,b]),Q=(0,r.useMemo)(()=>{if(b)return void 0===K||K?void 0:"".concat(_.RG,"?crn=").concat(b.hash)},[b,K]),ee=(0,r.useMemo)(()=>({hash:null==b?void 0:b.hash,name:null==b?void 0:b.name,description:null==b?void 0:b.description,reward:null==b?void 0:b.reward,stream_reward:null==b?void 0:b.stream_reward,authorized:null==b?void 0:b.authorized,locked:null==b?void 0:b.locked,registration_url:null==b?void 0:b.registration_url,picture:null==b?void 0:b.picture,banner:null==b?void 0:b.banner,address:null==b?void 0:b.address,terms_and_conditions:null==b?void 0:b.terms_and_conditions}),[b]),en=function(e){let{defaultValues:n}=e,[t,i]=(0,l.mr)(),{account:a}=t.connection,{entities:s}=t.crns,o=(0,w.lm)(),c=(0,r.useMemo)(()=>new d.B(a),[a]),m=(0,r.useCallback)(async e=>{if(!c)throw Error("Manager not ready");if(!a)throw Error("Invalid account");let[,n]=await c.updateComputeResourceNode(e),t=null==s?void 0:s.find(e=>e.hash===n.hash),i=function(e,n){let t={...e||{},...n,virtual:Date.now()};return t}(t,n);return i},[a,c,s]),u=(0,r.useCallback)(async e=>{if(!o)throw Error("Notification not ready");o.add({variant:"success",title:"Success",text:'Your node "'.concat(e.hash,'" was updated successfully.')}),i(new g.Wy({name:"crns",entities:[e]}))},[i,o]),{control:h,handleSubmit:x,formState:{errors:y,isDirty:C}}=(0,v.c)({defaultValues:n,onSubmit:m,onSuccess:u,resolver:(0,f.F)(d.B.updateCRNSchema),readyDeps:[n]}),_=(0,p.qo)({control:h}),j=(0,p.bc)({control:h,name:"name"}),N=(0,p.bc)({control:h,name:"description"}),b=(0,p.bc)({control:h,name:"address"}),S=(0,p.bc)({control:h,name:"picture"}),P=(0,p.bc)({control:h,name:"banner"}),I=(0,p.bc)({control:h,name:"reward"}),D=(0,p.bc)({control:h,name:"stream_reward"}),T=(0,p.bc)({control:h,name:"authorized"}),k=(0,p.bc)({control:h,name:"locked"}),O=(0,p.bc)({control:h,name:"registration_url"}),R=(0,p.bc)({control:h,name:"terms_and_conditions"});return{values:_,control:h,nameCtrl:j,descriptionCtrl:N,addressCtrl:b,pictureCtrl:S,bannerCtrl:P,rewardCtrl:I,streamRewardCtrl:D,authorizedCtrl:T,lockedCtrl:k,registrationUrlCtrl:O,termsAndConditionsCtrl:R,errors:y,isDirty:C,handleSubmit:x}}({defaultValues:ee}),et=(0,r.useCallback)(async()=>{await P.updateComputeResourceNode({...en.values,terms_and_conditions:""}),m().reload()},[en.values,P]);return{theme:e,nodes:o,node:b,userNode:S,calculatedRewards:D,asnTier:J,nodeSpecs:$,nodeIssue:K,createInstanceUrl:Q,isLinked:B,isLinkableByUser:H,isUnlinkableByUser:L,tabs:R,tabId:k,setTabId:O,handleRemovePolicies:et,handleLink:U,handleUnlink:F,...en,...T}}();return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(o(),{children:[(0,i.jsx)("title",{children:"Aleph.im | CRN Detail"}),(0,i.jsx)("meta",{name:"description",content:"Aleph.im Compute Resource Node"}),(0,i.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1"})]}),(0,i.jsx)("section",{children:(0,i.jsx)(b.Z,{node:n,nameCtrl:D,descriptionCtrl:T,bannerCtrl:k,pictureCtrl:O,isOwner:R})}),R&&(0,i.jsxs)(eb,{children:[(0,i.jsxs)(w.zx,{kind:"flat",variant:"textOnly",size:"md",color:"error",onClick:$,children:[(0,i.jsx)(w.JO,{name:"trash",color:"error",size:"lg"}),"remove node"]}),(0,i.jsx)(w.zx,{kind:"neon",variant:"primary",size:"md",color:"main2",onClick:K,disabled:!Z,children:"save changes"})]}),(0,i.jsx)(eS,{children:(0,i.jsx)(w.mQ,{selected:q,tabs:V,onTabChange:Y})}),"overview"===q?(0,i.jsx)(H,{theme:e,node:n,nodesOnSameASN:t,baseLatency:s,lastMetricsCheck:S,calculatedRewards:P,creationDate:I,isOwner:R,rewardCtrl:E,streamRewardCtrl:M,addressCtrl:A,asnTier:B,nodeSpecs:L,nodeIssue:U,createInstanceUrl:F,isLinked:W,isLinkableByUser:J,isUnlinkableByUser:G,handleLink:Q,handleUnlink:ee}):"policies"===q?(0,i.jsx)(ep,{node:n,isOwner:R,termsAndConditionsCtrl:z,handleRemovePolicies:X}):""]})};ej.displayName="ComputeResourceNodeDetailPage";var eN=(0,r.memo)(ej),eb=(0,a.ZP)("section").withConfig({displayName:"cmp___StyledSection",componentId:"sc-b9jk28-0"})({marginTop:"2rem",marginBottom:"2rem",display:"flex",alignItems:"center",justifyContent:"flex-end",gap:"1.75rem"}),eS=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-b9jk28-1"})({marginTop:"2rem",marginBottom:"2rem",display:"flex"}),eP=eN}},function(e){e.O(0,[959,312,505,903,774,888,179],function(){return e(e.s=70805)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/earn/crn/new-204c5886ffde58c5.js b/_next/static/chunks/pages/earn/crn/new-ded632509cf38049.js similarity index 95% rename from _next/static/chunks/pages/earn/crn/new-204c5886ffde58c5.js rename to _next/static/chunks/pages/earn/crn/new-ded632509cf38049.js index 5bc39da..6519280 100644 --- a/_next/static/chunks/pages/earn/crn/new-204c5886ffde58c5.js +++ b/_next/static/chunks/pages/earn/crn/new-ded632509cf38049.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[324],{32502:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/earn/crn/new",function(){return n(42389)}])},87931:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var r=n(85893),a=n(67294),i=n(41664),o=n.n(i),s=n(79632);let d=e=>{let{href:t,variant:n="secondary",color:a="main0",kind:i="default",size:d="md",disabled:l,children:c,...m}=e,u=(0,r.jsx)(s.zx,{as:"a",variant:n,color:a,kind:i,size:d,disabled:l,...m,children:c});return l?u:(0,r.jsx)(o(),{href:t,passHref:!0,legacyBehavior:!0,children:u})};d.displayName="ButtonLink";var l=(0,a.memo)(d)},58833:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var r=n(85893),a=n(19521),i=n(67294),o=n(79632);let s=(0,a.ZP)(o.zx).attrs(e=>({...e,forwardedAs:"a",kind:"neon",variant:"textOnly",color:"main0"})).withConfig({displayName:"styles__StyledExternalLinkButton",componentId:"sc-16jaolm-0"})([""]),d=e=>{let{children:t,href:n,size:a="lg",...i}=e;return(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)(s,{href:n,size:a,...i,target:"_blank",children:[t||n,(0,r.jsx)(c,{name:"square-up-right"})]})})};d.displayName="ExternalLinkButton";var l=(0,i.memo)(d),c=(0,a.ZP)(o.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-mpznlq-0"})({marginLeft:"0.625rem"})},43291:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var r=n(85893),a=n(67294),i=n(19521);let o=i.ZP.form.withConfig({displayName:"styles__StyledForm",componentId:"sc-1c33mus-0"})(["",""],{display:"flex",flex:"1 1 0%",flexDirection:"column",gap:"2rem"});var s=n(79632);let d=e=>{let{children:t,onSubmit:n,errors:a,...i}=e;return(0,r.jsxs)(o,{onSubmit:n,noValidate:!0,...i,children:[t,(0,r.jsx)("div",{children:(null==a?void 0:a.root)&&Object.values(a.root).map(e=>(0,r.jsx)(s.Xq,{error:e},e+""))})]})};var l=(0,a.memo)(d)},10159:function(e,t,n){"use strict";n.d(t,{c:function(){return s}});var r=n(79632),a=n(67294),i=n(87536),o=n(1604);function s(e){let{onSubmit:t,onSuccess:n,onError:s,readyDeps:d=[],...l}=e,c=(0,i.cI)(l);(0,a.useEffect)(()=>{"object"==typeof l.defaultValues&&c.reset(l.defaultValues)},[...d]);let[m,u]=(0,a.useState)({data:void 0,error:void 0,loading:!1}),[p,{onLoad:h,onSuccess:f,onError:y}]=(0,r.g7)({flushData:!0,state:m,setState:u,onSuccess:n,onError:s}),x=(0,a.useCallback)(async e=>{try{h();let n=await t(e);f(n)}catch(t){let e=t instanceof o.jm?Error("Validation error, check highlighted form fields"):(null==t?void 0:t.cause)||t;c.setError("root.serverError",{...e,message:null==e?void 0:e.message}),y(e)}},[c,y,h,t,f]),g=(0,a.useCallback)(async e=>{let t;if(console.log(e),!t){let n=function e(t){let[n]=Object.entries(t);if(!n)return;let[r,a]=n;if(Array.isArray(a)){let t=a[a.length-1];return e(t)}return[r,a]}(e);if(n){let[e,r]=n,a="string"==typeof r?r:(null==r?void 0:r.message)?": ".concat(r.message):(null==r?void 0:r.type)?': "'.concat(null==r?void 0:r.type,'" validation not satisfied'):"";t=Error('Error on field "'.concat(e,'"').concat(a))}}t||(t=Error("Validation error")),y(t)},[y]),_=(0,a.useMemo)(()=>c.handleSubmit(x,g),[c,x,g]);return{...c,requestState:p,handleSubmit:_}}},42389:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return I}});var r=n(85893),a=n(19521),i=n(67294),o=n(9008),s=n.n(o),d=n(43291),l=n(79632),c=n(94461),m=n(11163),u=n(10159),p=n(87536),h=n(56312),f=n(72479),y=n(91421);let x={name:"",address:""};var g=n(58833),_=n(87931);let w=()=>{let{nameCtrl:e,addressCtrl:t,errors:n,handleSubmit:a}=function(){let e=(0,m.useRouter)(),[t,n]=(0,c.mr)(),{account:r}=t.connection,a=(0,l.lm)(),o=(0,i.useMemo)(()=>new f.B(r),[r]),s=(0,i.useCallback)(async e=>{if(!o)throw Error("Manager not ready");if(!r)throw Error("Invalid account");let t=await o.newComputeResourceNode(e),n=function(e,t,n){let r={hash:t,owner:n,manager:n,reward:n,locked:!1,authorized:[],parent:null,time:Date.now(),status:"waiting",score:0,score_updated:!1,decentralization:0,performance:0,type:"compute",...e,virtual:Date.now()};return r}(e,t,r.address);return n},[r,o]),d=(0,i.useCallback)(async t=>{if(!a)throw Error("Notification not ready");a.add({variant:"success",title:"Success",text:'Your node "'.concat(t.hash,'" was created successfully.')}),n(new y.Wy({name:"crns",entities:[t]})),e.replace("/earn/crn/".concat(t.hash))},[n,a,e]),{control:g,handleSubmit:_,formState:{errors:w}}=(0,u.c)({defaultValues:x,onSubmit:s,onSuccess:d,resolver:(0,h.F)(f.B.newCRNSchema)}),v=(0,p.qo)({control:g}),j=(0,p.bc)({control:g,name:"name"}),b=(0,p.bc)({control:g,name:"address"});return{values:v,control:g,nameCtrl:j,addressCtrl:b,errors:w,handleSubmit:_}}();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(s(),{children:[(0,r.jsx)("title",{children:"Aleph.im | Create CRN"}),(0,r.jsx)("meta",{name:"description",content:"Aleph.im Create Compute Resource Node"}),(0,r.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1"})]}),(0,r.jsx)("section",{children:(0,r.jsx)(j,{className:"tp-h5",children:"Create compute resource node"})}),(0,r.jsxs)(b,{onSubmit:a,errors:n,children:[(0,r.jsxs)(N,{children:[(0,r.jsx)(l.NP,{as:"h2",number:"1",children:"Set a name"}),(0,r.jsx)(S,{children:"Your node name should be short and meaningful."}),(0,r.jsxs)(l.Jy,{children:[(0,r.jsx)(l.oi,{...e.field,...e.fieldState,required:!0,label:"Node name",placeholder:"Give it a name"}),(0,r.jsx)(C,{children:"You can change this later if you want, even add a picture and description."})]})]}),(0,r.jsxs)(P,{children:[(0,r.jsx)(l.NP,{as:"h2",number:"2",children:"Set address"}),(0,r.jsx)(E,{children:"The physical node has a unique identifier address. It links the wallet and interface to the physical node. This address is mandatory to proceed and the install procedure below will explain how to retrieve this address."}),(0,r.jsxs)(l.Jy,{children:[(0,r.jsx)(l.oi,{...t.field,...t.fieldState,required:!0,label:"Set address",placeholder:"https://my-domain.tld/"}),(0,r.jsx)(Z,{children:(0,r.jsx)(g.Z,{href:"https://docs.aleph.im/nodes/compute/",size:"md",children:"How to install your node and retrieve your address"})})]})]}),(0,r.jsxs)(k,{children:[(0,r.jsx)(l.zx,{color:"main0",kind:"neon",variant:"primary",size:"md",type:"submit",children:"Register compute node"}),(0,r.jsx)(_.Z,{size:"md",variant:"textOnly",href:"/earn/crn",children:"Cancel"})]})]})]})};w.displayName="NewComputeResourceNodePage";var v=(0,i.memo)(w),j=(0,a.ZP)("h1").withConfig({displayName:"cmp___StyledH",componentId:"sc-lx7b9a-0"})({marginBottom:"2rem"}),b=(0,a.ZP)(d.Z).withConfig({displayName:"cmp___StyledForm",componentId:"sc-lx7b9a-1"})({maxWidth:"44.6875rem"}),N=(0,a.ZP)("section").withConfig({displayName:"cmp___StyledSection",componentId:"sc-lx7b9a-2"})({paddingLeft:"0px",paddingRight:"0px",paddingBottom:"1.5rem","@media (min-width: 48rem)":{paddingBottom:"2.5rem"}}),S=(0,a.ZP)("p").withConfig({displayName:"cmp___StyledP",componentId:"sc-lx7b9a-3"})({marginBottom:"1.5rem",marginTop:"0.25rem"}),C=(0,a.ZP)("p").withConfig({displayName:"cmp___StyledP2",componentId:"sc-lx7b9a-4"})({marginTop:"1rem"}),P=(0,a.ZP)("section").withConfig({displayName:"cmp___StyledSection2",componentId:"sc-lx7b9a-5"})({paddingLeft:"0px",paddingRight:"0px",paddingTop:"1.5rem",paddingBottom:"1.5rem","@media (min-width: 48rem)":{paddingTop:"2.5rem",paddingBottom:"2.5rem"}}),E=(0,a.ZP)("p").withConfig({displayName:"cmp___StyledP3",componentId:"sc-lx7b9a-6"})({marginBottom:"1.5rem",marginTop:"0.25rem"}),Z=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-lx7b9a-7"})({marginTop:"0.5rem"}),k=(0,a.ZP)("section").withConfig({displayName:"cmp___StyledSection3",componentId:"sc-lx7b9a-8"})({display:"flex",gap:"2.5rem"}),I=v},9008:function(e,t,n){e.exports=n(42636)}},function(e){e.O(0,[312,774,888,179],function(){return e(e.s=32502)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[324],{32502:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/earn/crn/new",function(){return n(42389)}])},87931:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var r=n(85893),a=n(67294),i=n(41664),o=n.n(i),s=n(31515);let d=e=>{let{href:t,variant:n="secondary",color:a="main0",kind:i="default",size:d="md",disabled:l,children:c,...m}=e,u=(0,r.jsx)(s.zx,{as:"a",variant:n,color:a,kind:i,size:d,disabled:l,...m,children:c});return l?u:(0,r.jsx)(o(),{href:t,passHref:!0,legacyBehavior:!0,children:u})};d.displayName="ButtonLink";var l=(0,a.memo)(d)},58833:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var r=n(85893),a=n(19521),i=n(67294),o=n(31515);let s=(0,a.ZP)(o.zx).attrs(e=>({...e,forwardedAs:"a",kind:"neon",variant:"textOnly",color:"main0"})).withConfig({displayName:"styles__StyledExternalLinkButton",componentId:"sc-16jaolm-0"})([""]),d=e=>{let{children:t,href:n,size:a="lg",...i}=e;return(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)(s,{href:n,size:a,...i,target:"_blank",children:[t||n,(0,r.jsx)(c,{name:"square-up-right"})]})})};d.displayName="ExternalLinkButton";var l=(0,i.memo)(d),c=(0,a.ZP)(o.JO).withConfig({displayName:"cmp___StyledIcon",componentId:"sc-mpznlq-0"})({marginLeft:"0.625rem"})},43291:function(e,t,n){"use strict";n.d(t,{Z:function(){return l}});var r=n(85893),a=n(67294),i=n(19521);let o=i.ZP.form.withConfig({displayName:"styles__StyledForm",componentId:"sc-1c33mus-0"})(["",""],{display:"flex",flex:"1 1 0%",flexDirection:"column",gap:"2rem"});var s=n(31515);let d=e=>{let{children:t,onSubmit:n,errors:a,...i}=e;return(0,r.jsxs)(o,{onSubmit:n,noValidate:!0,...i,children:[t,(0,r.jsx)("div",{children:(null==a?void 0:a.root)&&Object.values(a.root).map(e=>(0,r.jsx)(s.Xq,{error:e},e+""))})]})};var l=(0,a.memo)(d)},10159:function(e,t,n){"use strict";n.d(t,{c:function(){return s}});var r=n(31515),a=n(67294),i=n(87536),o=n(1604);function s(e){let{onSubmit:t,onSuccess:n,onError:s,readyDeps:d=[],...l}=e,c=(0,i.cI)(l);(0,a.useEffect)(()=>{"object"==typeof l.defaultValues&&c.reset(l.defaultValues)},[...d]);let[m,u]=(0,a.useState)({data:void 0,error:void 0,loading:!1}),[p,{onLoad:h,onSuccess:f,onError:y}]=(0,r.g7)({flushData:!0,state:m,setState:u,onSuccess:n,onError:s}),x=(0,a.useCallback)(async e=>{try{h();let n=await t(e);f(n)}catch(t){let e=t instanceof o.jm?Error("Validation error, check highlighted form fields"):(null==t?void 0:t.cause)||t;c.setError("root.serverError",{...e,message:null==e?void 0:e.message}),y(e)}},[c,y,h,t,f]),g=(0,a.useCallback)(async e=>{let t;if(console.log(e),!t){let n=function e(t){let[n]=Object.entries(t);if(!n)return;let[r,a]=n;if(Array.isArray(a)){let t=a[a.length-1];return e(t)}return[r,a]}(e);if(n){let[e,r]=n,a="string"==typeof r?r:(null==r?void 0:r.message)?": ".concat(r.message):(null==r?void 0:r.type)?': "'.concat(null==r?void 0:r.type,'" validation not satisfied'):"";t=Error('Error on field "'.concat(e,'"').concat(a))}}t||(t=Error("Validation error")),y(t)},[y]),_=(0,a.useMemo)(()=>c.handleSubmit(x,g),[c,x,g]);return{...c,requestState:p,handleSubmit:_}}},42389:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return I}});var r=n(85893),a=n(19521),i=n(67294),o=n(9008),s=n.n(o),d=n(43291),l=n(31515),c=n(94461),m=n(11163),u=n(10159),p=n(87536),h=n(56312),f=n(48107),y=n(91421);let x={name:"",address:""};var g=n(58833),_=n(87931);let w=()=>{let{nameCtrl:e,addressCtrl:t,errors:n,handleSubmit:a}=function(){let e=(0,m.useRouter)(),[t,n]=(0,c.mr)(),{account:r}=t.connection,a=(0,l.lm)(),o=(0,i.useMemo)(()=>new f.B(r),[r]),s=(0,i.useCallback)(async e=>{if(!o)throw Error("Manager not ready");if(!r)throw Error("Invalid account");let t=await o.newComputeResourceNode(e),n=function(e,t,n){let r={hash:t,owner:n,manager:n,reward:n,locked:!1,authorized:[],parent:null,time:Date.now(),status:"waiting",score:0,score_updated:!1,decentralization:0,performance:0,type:"compute",...e,virtual:Date.now()};return r}(e,t,r.address);return n},[r,o]),d=(0,i.useCallback)(async t=>{if(!a)throw Error("Notification not ready");a.add({variant:"success",title:"Success",text:'Your node "'.concat(t.hash,'" was created successfully.')}),n(new y.Wy({name:"crns",entities:[t]})),e.replace("/earn/crn/".concat(t.hash))},[n,a,e]),{control:g,handleSubmit:_,formState:{errors:w}}=(0,u.c)({defaultValues:x,onSubmit:s,onSuccess:d,resolver:(0,h.F)(f.B.newCRNSchema)}),v=(0,p.qo)({control:g}),j=(0,p.bc)({control:g,name:"name"}),b=(0,p.bc)({control:g,name:"address"});return{values:v,control:g,nameCtrl:j,addressCtrl:b,errors:w,handleSubmit:_}}();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(s(),{children:[(0,r.jsx)("title",{children:"Aleph.im | Create CRN"}),(0,r.jsx)("meta",{name:"description",content:"Aleph.im Create Compute Resource Node"}),(0,r.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1"})]}),(0,r.jsx)("section",{children:(0,r.jsx)(j,{className:"tp-h5",children:"Create compute resource node"})}),(0,r.jsxs)(b,{onSubmit:a,errors:n,children:[(0,r.jsxs)(N,{children:[(0,r.jsx)(l.NP,{as:"h2",number:"1",children:"Set a name"}),(0,r.jsx)(S,{children:"Your node name should be short and meaningful."}),(0,r.jsxs)(l.Jy,{children:[(0,r.jsx)(l.oi,{...e.field,...e.fieldState,required:!0,label:"Node name",placeholder:"Give it a name"}),(0,r.jsx)(C,{children:"You can change this later if you want, even add a picture and description."})]})]}),(0,r.jsxs)(P,{children:[(0,r.jsx)(l.NP,{as:"h2",number:"2",children:"Set address"}),(0,r.jsx)(E,{children:"The physical node has a unique identifier address. It links the wallet and interface to the physical node. This address is mandatory to proceed and the install procedure below will explain how to retrieve this address."}),(0,r.jsxs)(l.Jy,{children:[(0,r.jsx)(l.oi,{...t.field,...t.fieldState,required:!0,label:"Set address",placeholder:"https://my-domain.tld/"}),(0,r.jsx)(Z,{children:(0,r.jsx)(g.Z,{href:"https://docs.aleph.im/nodes/compute/",size:"md",children:"How to install your node and retrieve your address"})})]})]}),(0,r.jsxs)(k,{children:[(0,r.jsx)(l.zx,{color:"main0",kind:"neon",variant:"primary",size:"md",type:"submit",children:"Register compute node"}),(0,r.jsx)(_.Z,{size:"md",variant:"textOnly",href:"/earn/crn",children:"Cancel"})]})]})]})};w.displayName="NewComputeResourceNodePage";var v=(0,i.memo)(w),j=(0,a.ZP)("h1").withConfig({displayName:"cmp___StyledH",componentId:"sc-lx7b9a-0"})({marginBottom:"2rem"}),b=(0,a.ZP)(d.Z).withConfig({displayName:"cmp___StyledForm",componentId:"sc-lx7b9a-1"})({maxWidth:"44.6875rem"}),N=(0,a.ZP)("section").withConfig({displayName:"cmp___StyledSection",componentId:"sc-lx7b9a-2"})({paddingLeft:"0px",paddingRight:"0px",paddingBottom:"1.5rem","@media (min-width: 48rem)":{paddingBottom:"2.5rem"}}),S=(0,a.ZP)("p").withConfig({displayName:"cmp___StyledP",componentId:"sc-lx7b9a-3"})({marginBottom:"1.5rem",marginTop:"0.25rem"}),C=(0,a.ZP)("p").withConfig({displayName:"cmp___StyledP2",componentId:"sc-lx7b9a-4"})({marginTop:"1rem"}),P=(0,a.ZP)("section").withConfig({displayName:"cmp___StyledSection2",componentId:"sc-lx7b9a-5"})({paddingLeft:"0px",paddingRight:"0px",paddingTop:"1.5rem",paddingBottom:"1.5rem","@media (min-width: 48rem)":{paddingTop:"2.5rem",paddingBottom:"2.5rem"}}),E=(0,a.ZP)("p").withConfig({displayName:"cmp___StyledP3",componentId:"sc-lx7b9a-6"})({marginBottom:"1.5rem",marginTop:"0.25rem"}),Z=(0,a.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-lx7b9a-7"})({marginTop:"0.5rem"}),k=(0,a.ZP)("section").withConfig({displayName:"cmp___StyledSection3",componentId:"sc-lx7b9a-8"})({display:"flex",gap:"2.5rem"}),I=v},9008:function(e,t,n){e.exports=n(42636)}},function(e){e.O(0,[312,774,888,179],function(){return e(e.s=32502)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/chunks/pages/earn/staking-6e6f1d4dfa147114.js b/_next/static/chunks/pages/earn/staking-7ca06960be4d9aab.js similarity index 99% rename from _next/static/chunks/pages/earn/staking-6e6f1d4dfa147114.js rename to _next/static/chunks/pages/earn/staking-7ca06960be4d9aab.js index 20fd51f..e87b727 100644 --- a/_next/static/chunks/pages/earn/staking-6e6f1d4dfa147114.js +++ b/_next/static/chunks/pages/earn/staking-7ca06960be4d9aab.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[838],{44994:function(e,t,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/earn/staking",function(){return a(82190)}])},82190:function(e,t,a){"use strict";a.r(t),a.d(t,{default:function(){return ew}});var n=a(85893),i=a(19521),s=a(67294),r=a(9008),l=a.n(r),o=a(79632),d=a(94461),c=a(72479),m=a(96272),p=a(38753),h=a(51383),u=a(87274),g=a(47630),x=a(91421),f=a(32998);let y=(0,i.ZP)(o.iA).attrs(e=>({...e,borderType:"solid",stickyHeader:!1})).withConfig({displayName:"styles__StyledTable",componentId:"sc-b7wjwz-0"})(["&&{thead{","}td,th{"," border-bottom:1px solid #ffffff22;&:first-child{","}&:last-child{","}}}"],{display:"none"},{width:"0px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",paddingLeft:"1rem",paddingRight:"1rem",paddingTop:"0.75rem",paddingBottom:"0.75rem"},{width:"66.666667%",maxWidth:"0rem",fontSize:"0.75rem",textTransform:"uppercase"},{textAlign:"right"});var w=a(13153),v=a(7954);let _=e=>{let{nodes:t,...a}=e,[i,r]=(0,s.useState)(1e3),l=(0,s.useCallback)(e=>{let t=e.target.value?Number(e.target.value):void 0;r(t)},[]),d=(0,s.useMemo)(()=>{let e=new g.S,a=e.totalPerAlephPerDay(t||[])*(i||0),s=100*e.currentAPY(t||[]);return[{name:"Rewards per day",value:(0,n.jsx)(v.Z,{value:a})},{name:"Current APY",value:"".concat(s.toFixed(2),"%")}]},[t,i]);return(0,n.jsxs)(w.Z,{loading:!t,...a,children:[(0,n.jsx)(j,{forwardedAs:"h3",type:"info",color:"main0",children:"REWARD CALCULATOR"}),(0,n.jsx)(S,{children:(0,n.jsx)(o.oi,{value:i,onChange:l,type:"number",name:"staked-amount",placeholder:"0",label:"Amount staked",buttonStyle:"wrapped"})}),(0,n.jsx)(y,{borderType:"solid",rowKey:e=>e.name,columns:[{label:"",render:e=>e.name},{label:"",render:e=>e.value}],data:d})]})};_.displayName="RewardCalculator";var k=(0,s.memo)(_),j=(0,i.ZP)(o.DU).withConfig({displayName:"cmp___StyledTextGradient",componentId:"sc-15iqn8s-0"})({marginBottom:"1.5rem"}),S=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-15iqn8s-1"})({marginBottom:"1rem"}),N=a(68461),b=a(90709),C=a(60202),P=a(11140);let I=e=>{let{node:t,account:a,accountBalance:i=0,onStake:r,onUnstake:l}=e,d=(0,s.useMemo)(()=>new c.B(a),[a]),m=(0,s.useMemo)(()=>d.isUserStake(t),[t,d]),p=(0,s.useMemo)(()=>{let[e]=d.isStakeableBy(t,i);return!e},[d,t,i]),h=(0,s.useCallback)(()=>{m?l(t.hash):r(t.hash)},[m,l,t.hash,r]);return(0,n.jsx)(n.Fragment,{children:m?(0,n.jsx)(o.zx,{kind:"neon",size:"md",variant:"secondary",color:"main2",onClick:h,children:"Unstake"}):(0,n.jsx)(o.zx,{kind:"neon",size:"md",variant:"secondary",color:"main0",onClick:h,disabled:p,children:"Stake"})})};I.displayName="StakeButton";var Z=(0,s.memo)(I);let A=e=>{let{amount:t,...a}=e;return(0,n.jsx)(v.Z,{value:t})};A.displayName="NodeAmount";var D=(0,s.memo)(A),B=a(87931),M=a(33358),E=a(25675),T=a.n(E);let W=e=>{let{nodes:t,filteredNodes:a,account:i,accountBalance:r,showStakedAmount:l,nodesIssues:d,loadItemsDisabled:c,handleLoadItems:m,handleSortItems:p,handleStake:h,handleUnstake:u}=e,g=(0,s.useMemo)(()=>{let e=[{label:"",align:"center",width:0,cellProps:()=>({css:{padding:"0px !important"}}),hcellProps:()=>({css:{borderWidth:"0px !important",padding:"0px !important"}}),render:e=>(null==d?void 0:d[e.hash])?(0,n.jsx)(U,{children:"\xa0"}):null},{label:"EST. APY",render:e=>(0,n.jsx)(C.Z,{node:e,nodes:t})},{label:"NAME",sortable:!0,sortBy:e=>e.name,render:e=>(0,n.jsx)(o.tJ,{hash:e.hash,name:e.name,picture:e.picture,apiServer:M.pf,ImageCmp:T()})},{label:"STAKED",sortable:!0,width:"100%",sortBy:e=>e.total_staked,render:e=>(0,n.jsx)(P.Z,{staked:e.total_staked,status:e.status,locked:e.locked})},{label:"LINKED",sortable:!0,sortBy:e=>e.resource_nodes.length,render:e=>(0,n.jsx)(b.ZP,{nodes:e.crnsData})},{label:"SCORE",sortable:!0,sortBy:e=>e.score,render:e=>(0,n.jsx)(o.WG,{score:e.score})},{label:"",align:"right",render:e=>(0,n.jsxs)(z,{children:[(0,n.jsx)(Z,{node:e,account:i,accountBalance:r,onStake:h,onUnstake:u}),(0,n.jsx)(B.Z,{kind:"neon",size:"md",variant:"secondary",color:"main0",href:"/earn/ccn/".concat(e.hash),children:"Info"})]})}];return l&&i&&e.splice(e.length-1,0,{label:"AMOUNT",sortable:!0,sortBy:e=>e.stakers[i.address]||0,render:e=>(0,n.jsx)(D,{amount:e.stakers[i.address]||0})}),e},[i,r,t,d,h,u,l]);return(0,n.jsx)(N.Z,{columns:g,data:a,infiniteScroll:!c,onLoadMore:m,onSort:p})};W.displayName="StakingNodesTable";var R=(0,s.memo)(W),U=(0,i.ZP)(o.Cc).withConfig({displayName:"cmp___StyledNotificationBadge",componentId:"sc-1pzgecm-0"})({marginLeft:"auto !important",marginRight:"auto !important",display:"flex !important"}),z=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1pzgecm-1"})({display:"flex",justifyContent:"flex-end",gap:"0.75rem"}),F=a(32350),O=a(33445),L=a(34816),K=a(43815),H=a(42983),Y=a(87625);let q=e=>{let{nodes:t,...a}=e,r=(0,s.useMemo)(()=>new g.S,[]),l=(0,i.Fg)(),d=(0,s.useMemo)(()=>{let e=r.totalStakedByOperators(t||[]),a=r.totalStaked(t||[]),n=a-e;return[{label:"Stakers",value:"".concat((n/1e6).toFixed(2),"M"),percentage:n/a,gradient:"main0"},{label:"Node operators",value:"".concat((e/1e6).toFixed(2),"M"),percentage:e/a,color:"main1"}]},[t,r]),c=l.color.disabled2;return(0,n.jsxs)(w.Z,{loading:!t,...a,children:[(0,n.jsx)(J,{forwardedAs:"h3",type:"info",color:"main0",children:"STAKED"}),(0,n.jsxs)(X,{children:[(0,n.jsxs)($,{data:d,width:100,height:100,margin:{},children:[(0,n.jsx)("defs",{children:(0,n.jsx)(Y._,{data:d})}),(0,n.jsx)(L.b,{data:[{v:1}],dataKey:"v",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,isAnimationActive:!1,fill:c}),(0,n.jsx)(L.b,{data:d,dataKey:"percentage",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,children:d.map(e=>{let t="gr-".concat(e.gradient),a=e.gradient?"url(#".concat(t,")"):e.color?l.color[e.color]||e.color:void 0;return(0,n.jsx)(K.b,{fill:a},e.label)})})]}),(0,n.jsx)(Q,{children:d.map(e=>(0,n.jsxs)(V,{children:[(0,n.jsx)(o.cu,{$color:"transparent"===e.color?c:e.color,$gradient:e.gradient,$size:"1.25rem"}),(0,n.jsxs)(ee,{className:"tp-body3",children:[(0,n.jsx)("div",{children:e.value}),(0,n.jsx)(et,{className:"fs-10",children:e.label})]})]},e.label))})]})]})};q.displayName="StakeChart";var G=(0,s.memo)(q),J=(0,i.ZP)(o.DU).withConfig({displayName:"cmp___StyledTextGradient",componentId:"sc-1x6nlsc-0"})({margin:"0px",minHeight:"2rem"}),X=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1x6nlsc-1"})({display:"flex",flexDirection:"column",alignItems:"center"}),$=(0,i.ZP)(H.u).withConfig({displayName:"cmp___StyledPieChart",componentId:"sc-1x6nlsc-2"})({marginTop:"0.75rem",marginBottom:"0.75rem",minHeight:"6.25rem"}),Q=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-1x6nlsc-3"})({marginTop:"0.25rem",display:"flex",flexDirection:"column",gap:"1rem"}),V=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-1x6nlsc-4"})({display:"flex",alignItems:"center",gap:"0.75rem"}),ee=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-1x6nlsc-5"})({display:"flex",flexDirection:"column",justifyContent:"space-between",gap:"0.25rem",whiteSpace:"nowrap",fontStyle:"normal",lineHeight:"1rem !important"}),et=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-1x6nlsc-6"})({opacity:"0.6"}),ea=a(76625);let en=e=>{let{account:t,accountBalance:a,nodes:i,paginatedSortedFilteredNodes:r,stakeNodes:y,filteredStakeNodes:w,tabs:v,selectedTab:_,filter:j,isStakeableOnly:S,isStakeableOnlyDisabled:N,nodesIssues:b,loadItemsDisabled:C,handleLoadItems:P,handleSortItems:I,handleTabChange:Z,handleFilterChange:A,handleStake:D,handleUnstake:B,handleStakeableOnlyChange:M}=function(e){let[t]=(0,d.mr)(),{account:a,balance:i=0}=t.connection,r=(0,s.useMemo)(()=>new c.B(a),[a]),{nodes:l,filteredNodes:y,...w}=(0,m.v)({...e,filterKey:"ccnsq"}),[v,_]=(0,s.useState)(),k=(0,s.useCallback)(async e=>{let t=e.target.checked;_(t)},[]),{stakeNodes:j}=(0,u.e)({nodes:l}),{stakeNodes:S}=(0,u.e)({nodes:y}),{nodesIssues:N,warningFlag:b}=(0,p.i)({nodes:S,isStaking:!0}),[C,P]=(0,s.useState)(),I=C||((null==j?void 0:j.length)?"user":"nodes"),Z=(0,s.useMemo)(()=>{let e=[{id:"nodes",name:"All core nodes"},{id:"user",name:"My stakes",label:b?{label:(0,n.jsx)(o.Cc,{children:b}),position:"top"}:void 0}];return e},[b]),A=(0,s.useMemo)(()=>{if(y)return y.filter(e=>r.isStakeableBy(e,i)[0])},[i,y,r]),D=!(null==A?void 0:A.length)||"nodes"!==I,B=!D&&(void 0!==v?v:!!a),M=(0,s.useMemo)(()=>B&&a?A:y,[B,y,a,A]),{sortedNodes:E}=(0,h.L)({nodesIssues:N,nodes:S}),{handleStake:T,handleUnstake:W}=function(){let[e,t]=(0,d.mr)(),{account:a,balance:n=0}=e.connection,{entities:i}=e.ccns,r=(0,s.useMemo)(()=>new g.S(a),[a]),l=(0,s.useMemo)(()=>new c.B(a),[a]),m=(0,o.lm)(),p=(0,s.useMemo)(()=>r.totalStakedByUser(i||[]),[i,r]),h=(0,s.useCallback)(async e=>{try{if(!m)throw Error("Notification not ready");if(!a)throw Error("Invalid account");let s=null==i?void 0:i.find(t=>t.hash===e);if(!s)throw Error("Invalid staking node");if(!l.isStakeableBy(s,n))throw Error("Not stakeable node");await r.stake(e),m.add({variant:"success",title:"Success",text:'Staked in "'.concat(e,'" successfully.')});let o=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,a=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0,s=[...e.filter(e=>i.isUserStake(e)),t],r=n/s.length,l=s.map(e=>({...e,stakers:{...e.stakers,[a]:r},virtual:Date.now()}));return l}(i,s,a.address,n,l);return t(new x.Wy({name:"ccns",entities:o})),!0}catch(e){null==m||m.add({variant:"error",title:"Error",text:e.message})}return!1},[a,n,t,l,i,m,r]),u=(0,s.useCallback)(async e=>{try{if(!m)throw Error("Notification not ready");if(!a)throw Error("Invalid account");let s=null==i?void 0:i.find(t=>t.hash===e);if(!s)throw Error("Invalid staking node");if(!l.isUserStake(s))throw Error("Not stakeable node");await r.unstake(e),m.add({variant:"success",title:"Success",text:'Unstaked from "'.concat(e,'" successfully.')});let o=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,a=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0,s=e.filter(e=>i.isUserStake(e)),r=n/(s.length-1),l=s.map(e=>{let n;if(e.hash===t.hash){let{[a]:t,...i}=e.stakers;n=i}else n={...e.stakers,[a]:r};return{...e,stakers:n,virtual:Date.now()}});return l}(i,s,a.address,n,l);return t(new x.Wy({name:"ccns",entities:o})),!0}catch(e){null==m||m.add({variant:"error",title:"Error",text:e.message})}return!1},[a,n,t,l,i,m,r]);return{userStake:p,handleStake:h,handleUnstake:u}}(),R=(0,s.useCallback)(async e=>{let t=await T(e);t&&P("user")},[T]),U=(0,s.useCallback)(async e=>{let t=await W(e);t&&(!j||j.length<=1)&&P("nodes")},[W,j]),z=(0,s.useMemo)(()=>{if(M)return M.sort((e,t)=>{let a=1-Math.min(e.total_staked/c.B.maxStakedPerNode,1),n=1-Math.min(t.total_staked/c.B.maxStakedPerNode,1),i=e.score+e.total_staked>=c.B.maxStakedPerNode?0:(e.score+a)/2,s=t.score+t.total_staked>=c.B.maxStakedPerNode?0:(t.score+n)/2;return s-i})},[M]),{list:F,handleSortItems:O}=(0,f.g)({list:z}),{list:L,loadItemsDisabled:K,handleLoadItems:H}=(0,o.fw)({list:F});return{...w,account:a,accountBalance:i,nodes:l,filteredNodes:M,stakeNodes:j,filteredStakeNodes:E,selectedTab:I,tabs:Z,isStakeableOnly:B,isStakeableOnlyDisabled:D,nodesIssues:N,paginatedSortedFilteredNodes:L,loadItemsDisabled:K,handleSortItems:O,handleLoadItems:H,handleTabChange:P,handleStake:R,handleUnstake:U,handleStakeableOnlyChange:k}}(e),{render:E}=(0,ea.W)();return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(l(),{children:[(0,n.jsx)("title",{children:"Aleph.im | Account"}),(0,n.jsx)("meta",{name:"description",content:"Aleph.im Account Dashboard"}),(0,n.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1"})]}),(0,n.jsx)("section",{children:(0,n.jsx)(es,{className:"tp-h5",children:"Staking"})}),(0,n.jsx)("section",{children:(0,n.jsx)(F.Z,{children:(0,n.jsxs)(er,{children:[(0,n.jsxs)(el,{children:[(0,n.jsx)(eo,{className:"tp-h7",children:"What is staking with Aleph.im?"}),(0,n.jsxs)("p",{className:"fs-16",children:["What is staking with Aleph.im? Staking is the heartbeat of our dynamic peer-to-peer network, driving security, decentralization, and rewards. With a minimum of 10,000 Aleph tokens, stakeholders form the network's foundation. Rewards are distributed every 10 days and are auto-compounded, allowing your stake to grow organically. The APY depends on factors like linked Compute Resource Nodes (CRNs) and node scoring, ensuring a fair and dynamic experience. Aleph.im staking empowers you to control the controllers, shaping decentralized connectivity while earning rewards. Plus, it's non-custodial."," ",(0,n.jsx)(ed,{className:"text-main1",children:"Join us today!"})]})]}),(0,n.jsxs)(ec,{children:[(0,n.jsx)(em,{children:(0,n.jsx)(k,{nodes:i})}),(0,n.jsx)(ep,{children:(0,n.jsx)(eh,{children:(0,n.jsx)(G,{nodes:i})})})]})]})})}),(0,n.jsxs)(eu,{children:[(0,n.jsxs)(eg,{children:[(0,n.jsxs)(ex,{children:[(0,n.jsx)(o.mQ,{tabs:v,align:"left",selected:_,onTabChange:Z}),(0,n.jsx)(o.XZ,{label:"Ready to stake",checked:S,onChange:M,size:"xs",disabled:N})]}),(0,n.jsx)(o.oi,{value:j,name:"filter-ccn",placeholder:"Search me",onChange:A,icon:(0,n.jsx)(o.JO,{name:"search"})})]}),(0,n.jsxs)(ef,{children:[(0,n.jsx)(O.Z,{show:!E||!i}),E&&(0,n.jsx)(n.Fragment,{children:"user"===_?(0,n.jsx)(n.Fragment,{children:i&&w?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(R,{nodes:i,filteredNodes:w,accountBalance:a,account:t,handleStake:D,handleUnstake:B,showStakedAmount:!0,nodesIssues:b}),(0,n.jsx)(ey,{children:t?(null==y?void 0:y.length)?"":"You are not staking.":"Connect your wallet to see your stakes."})]}):(0,n.jsx)(n.Fragment,{children:"No data"})}):(0,n.jsx)(n.Fragment,{children:i&&(0,n.jsx)(R,{nodes:i,filteredNodes:r,accountBalance:a,account:t,handleStake:D,handleUnstake:B,nodesIssues:b,loadItemsDisabled:C,handleLoadItems:P,handleSortItems:I})})})]})]})]})};en.displayName="StakingPage";var ei=(0,s.memo)(en),es=(0,i.ZP)("h1").withConfig({displayName:"cmp___StyledH",componentId:"sc-ujps5p-0"})({marginBottom:"2rem"}),er=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-ujps5p-1"})({display:"flex",flexWrap:"wrap",alignItems:"flex-start",gap:"1.5rem","@media (min-width: 87.5rem)":{flexWrap:"nowrap"}}),el=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-ujps5p-2"})({flex:"1 1 auto",alignSelf:"stretch"}),eo=(0,i.ZP)("h2").withConfig({displayName:"cmp___StyledH2",componentId:"sc-ujps5p-3"})({marginBottom:"0px"}),ed=(0,i.ZP)("strong").withConfig({displayName:"cmp___StyledStrong",componentId:"sc-ujps5p-4"})({fontWeight:"700"}),ec=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-ujps5p-5"})({display:"flex",maxWidth:"100%",flex:"1 1 auto",flexWrap:"wrap",alignItems:"stretch",gap:"1.5rem","@media (min-width: 87.5rem)":{flex:"none",flexWrap:"nowrap"}}),em=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-ujps5p-6"})({maxWidth:"100%",flex:"1 1 auto","@media (min-width: 87.5rem)":{flex:"none"}}),ep=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-ujps5p-7"})({display:"flex",flex:"1 1 auto",flexWrap:"wrap",alignItems:"stretch",gap:"1.5rem","@media (min-width: 36rem)":{flexWrap:"nowrap"},"@media (min-width: 87.5rem)":{flex:"none"}}),eh=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv6",componentId:"sc-ujps5p-8"})({flex:"1 1 0%"}),eu=(0,i.ZP)("section").withConfig({displayName:"cmp___StyledSection",componentId:"sc-ujps5p-9"})({marginTop:"3.5rem"}),eg=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv7",componentId:"sc-ujps5p-10"})({marginBottom:"2rem",display:"flex",flexDirection:"column",flexWrap:"wrap",alignItems:"stretch",justifyContent:"space-between",gap:"2.5rem","@media (min-width: 48rem)":{flexDirection:"row",alignItems:"flex-end"}}),ex=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv8",componentId:"sc-ujps5p-11"})({display:"flex",flexDirection:"column",flexWrap:"wrap",alignItems:"flex-start",gap:"2.5rem","@media (min-width: 36rem)":{flexDirection:"row",alignItems:"center",gap:"1rem"}}),ef=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv9",componentId:"sc-ujps5p-12"})({position:"relative"}),ey=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv10",componentId:"sc-ujps5p-13"})({marginLeft:"1rem",marginRight:"1rem",marginTop:"2.5rem",marginBottom:"2.5rem",textAlign:"center",opacity:"0.6"}),ew=ei}},function(e){e.O(0,[959,983,431,774,888,179],function(){return e(e.s=44994)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[838],{44994:function(e,t,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/earn/staking",function(){return a(82190)}])},82190:function(e,t,a){"use strict";a.r(t),a.d(t,{default:function(){return ew}});var n=a(85893),i=a(19521),s=a(67294),r=a(9008),l=a.n(r),o=a(31515),d=a(94461),c=a(48107),m=a(96272),p=a(38753),h=a(51383),u=a(87274),g=a(47630),x=a(91421),f=a(32998);let y=(0,i.ZP)(o.iA).attrs(e=>({...e,borderType:"solid",stickyHeader:!1})).withConfig({displayName:"styles__StyledTable",componentId:"sc-b7wjwz-0"})(["&&{thead{","}td,th{"," border-bottom:1px solid #ffffff22;&:first-child{","}&:last-child{","}}}"],{display:"none"},{width:"0px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",paddingLeft:"1rem",paddingRight:"1rem",paddingTop:"0.75rem",paddingBottom:"0.75rem"},{width:"66.666667%",maxWidth:"0rem",fontSize:"0.75rem",textTransform:"uppercase"},{textAlign:"right"});var w=a(13153),v=a(7954);let _=e=>{let{nodes:t,...a}=e,[i,r]=(0,s.useState)(1e3),l=(0,s.useCallback)(e=>{let t=e.target.value?Number(e.target.value):void 0;r(t)},[]),d=(0,s.useMemo)(()=>{let e=new g.S,a=e.totalPerAlephPerDay(t||[])*(i||0),s=100*e.currentAPY(t||[]);return[{name:"Rewards per day",value:(0,n.jsx)(v.Z,{value:a})},{name:"Current APY",value:"".concat(s.toFixed(2),"%")}]},[t,i]);return(0,n.jsxs)(w.Z,{loading:!t,...a,children:[(0,n.jsx)(j,{forwardedAs:"h3",type:"info",color:"main0",children:"REWARD CALCULATOR"}),(0,n.jsx)(S,{children:(0,n.jsx)(o.oi,{value:i,onChange:l,type:"number",name:"staked-amount",placeholder:"0",label:"Amount staked",buttonStyle:"wrapped"})}),(0,n.jsx)(y,{borderType:"solid",rowKey:e=>e.name,columns:[{label:"",render:e=>e.name},{label:"",render:e=>e.value}],data:d})]})};_.displayName="RewardCalculator";var k=(0,s.memo)(_),j=(0,i.ZP)(o.DU).withConfig({displayName:"cmp___StyledTextGradient",componentId:"sc-15iqn8s-0"})({marginBottom:"1.5rem"}),S=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-15iqn8s-1"})({marginBottom:"1rem"}),N=a(68461),b=a(90709),C=a(60202),P=a(11140);let I=e=>{let{node:t,account:a,accountBalance:i=0,onStake:r,onUnstake:l}=e,d=(0,s.useMemo)(()=>new c.B(a),[a]),m=(0,s.useMemo)(()=>d.isUserStake(t),[t,d]),p=(0,s.useMemo)(()=>{let[e]=d.isStakeableBy(t,i);return!e},[d,t,i]),h=(0,s.useCallback)(()=>{m?l(t.hash):r(t.hash)},[m,l,t.hash,r]);return(0,n.jsx)(n.Fragment,{children:m?(0,n.jsx)(o.zx,{kind:"neon",size:"md",variant:"secondary",color:"main2",onClick:h,children:"Unstake"}):(0,n.jsx)(o.zx,{kind:"neon",size:"md",variant:"secondary",color:"main0",onClick:h,disabled:p,children:"Stake"})})};I.displayName="StakeButton";var Z=(0,s.memo)(I);let A=e=>{let{amount:t,...a}=e;return(0,n.jsx)(v.Z,{value:t})};A.displayName="NodeAmount";var D=(0,s.memo)(A),B=a(87931),M=a(33358),E=a(25675),T=a.n(E);let W=e=>{let{nodes:t,filteredNodes:a,account:i,accountBalance:r,showStakedAmount:l,nodesIssues:d,loadItemsDisabled:c,handleLoadItems:m,handleSortItems:p,handleStake:h,handleUnstake:u}=e,g=(0,s.useMemo)(()=>{let e=[{label:"",align:"center",width:0,cellProps:()=>({css:{padding:"0px !important"}}),hcellProps:()=>({css:{borderWidth:"0px !important",padding:"0px !important"}}),render:e=>(null==d?void 0:d[e.hash])?(0,n.jsx)(U,{children:"\xa0"}):null},{label:"EST. APY",render:e=>(0,n.jsx)(C.Z,{node:e,nodes:t})},{label:"NAME",sortable:!0,sortBy:e=>e.name,render:e=>(0,n.jsx)(o.tJ,{hash:e.hash,name:e.name,picture:e.picture,apiServer:M.pf,ImageCmp:T()})},{label:"STAKED",sortable:!0,width:"100%",sortBy:e=>e.total_staked,render:e=>(0,n.jsx)(P.Z,{staked:e.total_staked,status:e.status,locked:e.locked})},{label:"LINKED",sortable:!0,sortBy:e=>e.resource_nodes.length,render:e=>(0,n.jsx)(b.ZP,{nodes:e.crnsData})},{label:"SCORE",sortable:!0,sortBy:e=>e.score,render:e=>(0,n.jsx)(o.WG,{score:e.score})},{label:"",align:"right",render:e=>(0,n.jsxs)(z,{children:[(0,n.jsx)(Z,{node:e,account:i,accountBalance:r,onStake:h,onUnstake:u}),(0,n.jsx)(B.Z,{kind:"neon",size:"md",variant:"secondary",color:"main0",href:"/earn/ccn/".concat(e.hash),children:"Info"})]})}];return l&&i&&e.splice(e.length-1,0,{label:"AMOUNT",sortable:!0,sortBy:e=>e.stakers[i.address]||0,render:e=>(0,n.jsx)(D,{amount:e.stakers[i.address]||0})}),e},[i,r,t,d,h,u,l]);return(0,n.jsx)(N.Z,{columns:g,data:a,infiniteScroll:!c,onLoadMore:m,onSort:p})};W.displayName="StakingNodesTable";var R=(0,s.memo)(W),U=(0,i.ZP)(o.Cc).withConfig({displayName:"cmp___StyledNotificationBadge",componentId:"sc-1pzgecm-0"})({marginLeft:"auto !important",marginRight:"auto !important",display:"flex !important"}),z=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1pzgecm-1"})({display:"flex",justifyContent:"flex-end",gap:"0.75rem"}),F=a(32350),O=a(33445),L=a(34816),K=a(43815),H=a(42983),Y=a(87625);let q=e=>{let{nodes:t,...a}=e,r=(0,s.useMemo)(()=>new g.S,[]),l=(0,i.Fg)(),d=(0,s.useMemo)(()=>{let e=r.totalStakedByOperators(t||[]),a=r.totalStaked(t||[]),n=a-e;return[{label:"Stakers",value:"".concat((n/1e6).toFixed(2),"M"),percentage:n/a,gradient:"main0"},{label:"Node operators",value:"".concat((e/1e6).toFixed(2),"M"),percentage:e/a,color:"main1"}]},[t,r]),c=l.color.disabled2;return(0,n.jsxs)(w.Z,{loading:!t,...a,children:[(0,n.jsx)(J,{forwardedAs:"h3",type:"info",color:"main0",children:"STAKED"}),(0,n.jsxs)(X,{children:[(0,n.jsxs)($,{data:d,width:100,height:100,margin:{},children:[(0,n.jsx)("defs",{children:(0,n.jsx)(Y._,{data:d})}),(0,n.jsx)(L.b,{data:[{v:1}],dataKey:"v",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,isAnimationActive:!1,fill:c}),(0,n.jsx)(L.b,{data:d,dataKey:"percentage",stroke:"transparent",innerRadius:"72%",outerRadius:"100%",startAngle:450,endAngle:90,children:d.map(e=>{let t="gr-".concat(e.gradient),a=e.gradient?"url(#".concat(t,")"):e.color?l.color[e.color]||e.color:void 0;return(0,n.jsx)(K.b,{fill:a},e.label)})})]}),(0,n.jsx)(Q,{children:d.map(e=>(0,n.jsxs)(V,{children:[(0,n.jsx)(o.cu,{$color:"transparent"===e.color?c:e.color,$gradient:e.gradient,$size:"1.25rem"}),(0,n.jsxs)(ee,{className:"tp-body3",children:[(0,n.jsx)("div",{children:e.value}),(0,n.jsx)(et,{className:"fs-10",children:e.label})]})]},e.label))})]})]})};q.displayName="StakeChart";var G=(0,s.memo)(q),J=(0,i.ZP)(o.DU).withConfig({displayName:"cmp___StyledTextGradient",componentId:"sc-1x6nlsc-0"})({margin:"0px",minHeight:"2rem"}),X=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-1x6nlsc-1"})({display:"flex",flexDirection:"column",alignItems:"center"}),$=(0,i.ZP)(H.u).withConfig({displayName:"cmp___StyledPieChart",componentId:"sc-1x6nlsc-2"})({marginTop:"0.75rem",marginBottom:"0.75rem",minHeight:"6.25rem"}),Q=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-1x6nlsc-3"})({marginTop:"0.25rem",display:"flex",flexDirection:"column",gap:"1rem"}),V=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-1x6nlsc-4"})({display:"flex",alignItems:"center",gap:"0.75rem"}),ee=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-1x6nlsc-5"})({display:"flex",flexDirection:"column",justifyContent:"space-between",gap:"0.25rem",whiteSpace:"nowrap",fontStyle:"normal",lineHeight:"1rem !important"}),et=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-1x6nlsc-6"})({opacity:"0.6"}),ea=a(76625);let en=e=>{let{account:t,accountBalance:a,nodes:i,paginatedSortedFilteredNodes:r,stakeNodes:y,filteredStakeNodes:w,tabs:v,selectedTab:_,filter:j,isStakeableOnly:S,isStakeableOnlyDisabled:N,nodesIssues:b,loadItemsDisabled:C,handleLoadItems:P,handleSortItems:I,handleTabChange:Z,handleFilterChange:A,handleStake:D,handleUnstake:B,handleStakeableOnlyChange:M}=function(e){let[t]=(0,d.mr)(),{account:a,balance:i=0}=t.connection,r=(0,s.useMemo)(()=>new c.B(a),[a]),{nodes:l,filteredNodes:y,...w}=(0,m.v)({...e,filterKey:"ccnsq"}),[v,_]=(0,s.useState)(),k=(0,s.useCallback)(async e=>{let t=e.target.checked;_(t)},[]),{stakeNodes:j}=(0,u.e)({nodes:l}),{stakeNodes:S}=(0,u.e)({nodes:y}),{nodesIssues:N,warningFlag:b}=(0,p.i)({nodes:S,isStaking:!0}),[C,P]=(0,s.useState)(),I=C||((null==j?void 0:j.length)?"user":"nodes"),Z=(0,s.useMemo)(()=>{let e=[{id:"nodes",name:"All core nodes"},{id:"user",name:"My stakes",label:b?{label:(0,n.jsx)(o.Cc,{children:b}),position:"top"}:void 0}];return e},[b]),A=(0,s.useMemo)(()=>{if(y)return y.filter(e=>r.isStakeableBy(e,i)[0])},[i,y,r]),D=!(null==A?void 0:A.length)||"nodes"!==I,B=!D&&(void 0!==v?v:!!a),M=(0,s.useMemo)(()=>B&&a?A:y,[B,y,a,A]),{sortedNodes:E}=(0,h.L)({nodesIssues:N,nodes:S}),{handleStake:T,handleUnstake:W}=function(){let[e,t]=(0,d.mr)(),{account:a,balance:n=0}=e.connection,{entities:i}=e.ccns,r=(0,s.useMemo)(()=>new g.S(a),[a]),l=(0,s.useMemo)(()=>new c.B(a),[a]),m=(0,o.lm)(),p=(0,s.useMemo)(()=>r.totalStakedByUser(i||[]),[i,r]),h=(0,s.useCallback)(async e=>{try{if(!m)throw Error("Notification not ready");if(!a)throw Error("Invalid account");let s=null==i?void 0:i.find(t=>t.hash===e);if(!s)throw Error("Invalid staking node");if(!l.isStakeableBy(s,n))throw Error("Not stakeable node");await r.stake(e),m.add({variant:"success",title:"Success",text:'Staked in "'.concat(e,'" successfully.')});let o=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,a=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0,s=[...e.filter(e=>i.isUserStake(e)),t],r=n/s.length,l=s.map(e=>({...e,stakers:{...e.stakers,[a]:r},virtual:Date.now()}));return l}(i,s,a.address,n,l);return t(new x.Wy({name:"ccns",entities:o})),!0}catch(e){null==m||m.add({variant:"error",title:"Error",text:e.message})}return!1},[a,n,t,l,i,m,r]),u=(0,s.useCallback)(async e=>{try{if(!m)throw Error("Notification not ready");if(!a)throw Error("Invalid account");let s=null==i?void 0:i.find(t=>t.hash===e);if(!s)throw Error("Invalid staking node");if(!l.isUserStake(s))throw Error("Not stakeable node");await r.unstake(e),m.add({variant:"success",title:"Success",text:'Unstaked from "'.concat(e,'" successfully.')});let o=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,a=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0,s=e.filter(e=>i.isUserStake(e)),r=n/(s.length-1),l=s.map(e=>{let n;if(e.hash===t.hash){let{[a]:t,...i}=e.stakers;n=i}else n={...e.stakers,[a]:r};return{...e,stakers:n,virtual:Date.now()}});return l}(i,s,a.address,n,l);return t(new x.Wy({name:"ccns",entities:o})),!0}catch(e){null==m||m.add({variant:"error",title:"Error",text:e.message})}return!1},[a,n,t,l,i,m,r]);return{userStake:p,handleStake:h,handleUnstake:u}}(),R=(0,s.useCallback)(async e=>{let t=await T(e);t&&P("user")},[T]),U=(0,s.useCallback)(async e=>{let t=await W(e);t&&(!j||j.length<=1)&&P("nodes")},[W,j]),z=(0,s.useMemo)(()=>{if(M)return M.sort((e,t)=>{let a=1-Math.min(e.total_staked/c.B.maxStakedPerNode,1),n=1-Math.min(t.total_staked/c.B.maxStakedPerNode,1),i=e.score+e.total_staked>=c.B.maxStakedPerNode?0:(e.score+a)/2,s=t.score+t.total_staked>=c.B.maxStakedPerNode?0:(t.score+n)/2;return s-i})},[M]),{list:F,handleSortItems:O}=(0,f.g)({list:z}),{list:L,loadItemsDisabled:K,handleLoadItems:H}=(0,o.fw)({list:F});return{...w,account:a,accountBalance:i,nodes:l,filteredNodes:M,stakeNodes:j,filteredStakeNodes:E,selectedTab:I,tabs:Z,isStakeableOnly:B,isStakeableOnlyDisabled:D,nodesIssues:N,paginatedSortedFilteredNodes:L,loadItemsDisabled:K,handleSortItems:O,handleLoadItems:H,handleTabChange:P,handleStake:R,handleUnstake:U,handleStakeableOnlyChange:k}}(e),{render:E}=(0,ea.W)();return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(l(),{children:[(0,n.jsx)("title",{children:"Aleph.im | Account"}),(0,n.jsx)("meta",{name:"description",content:"Aleph.im Account Dashboard"}),(0,n.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1"})]}),(0,n.jsx)("section",{children:(0,n.jsx)(es,{className:"tp-h5",children:"Staking"})}),(0,n.jsx)("section",{children:(0,n.jsx)(F.Z,{children:(0,n.jsxs)(er,{children:[(0,n.jsxs)(el,{children:[(0,n.jsx)(eo,{className:"tp-h7",children:"What is staking with Aleph.im?"}),(0,n.jsxs)("p",{className:"fs-16",children:["What is staking with Aleph.im? Staking is the heartbeat of our dynamic peer-to-peer network, driving security, decentralization, and rewards. With a minimum of 10,000 Aleph tokens, stakeholders form the network's foundation. Rewards are distributed every 10 days and are auto-compounded, allowing your stake to grow organically. The APY depends on factors like linked Compute Resource Nodes (CRNs) and node scoring, ensuring a fair and dynamic experience. Aleph.im staking empowers you to control the controllers, shaping decentralized connectivity while earning rewards. Plus, it's non-custodial."," ",(0,n.jsx)(ed,{className:"text-main1",children:"Join us today!"})]})]}),(0,n.jsxs)(ec,{children:[(0,n.jsx)(em,{children:(0,n.jsx)(k,{nodes:i})}),(0,n.jsx)(ep,{children:(0,n.jsx)(eh,{children:(0,n.jsx)(G,{nodes:i})})})]})]})})}),(0,n.jsxs)(eu,{children:[(0,n.jsxs)(eg,{children:[(0,n.jsxs)(ex,{children:[(0,n.jsx)(o.mQ,{tabs:v,align:"left",selected:_,onTabChange:Z}),(0,n.jsx)(o.XZ,{label:"Ready to stake",checked:S,onChange:M,size:"xs",disabled:N})]}),(0,n.jsx)(o.oi,{value:j,name:"filter-ccn",placeholder:"Search me",onChange:A,icon:(0,n.jsx)(o.JO,{name:"search"})})]}),(0,n.jsxs)(ef,{children:[(0,n.jsx)(O.Z,{show:!E||!i}),E&&(0,n.jsx)(n.Fragment,{children:"user"===_?(0,n.jsx)(n.Fragment,{children:i&&w?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(R,{nodes:i,filteredNodes:w,accountBalance:a,account:t,handleStake:D,handleUnstake:B,showStakedAmount:!0,nodesIssues:b}),(0,n.jsx)(ey,{children:t?(null==y?void 0:y.length)?"":"You are not staking.":"Connect your wallet to see your stakes."})]}):(0,n.jsx)(n.Fragment,{children:"No data"})}):(0,n.jsx)(n.Fragment,{children:i&&(0,n.jsx)(R,{nodes:i,filteredNodes:r,accountBalance:a,account:t,handleStake:D,handleUnstake:B,nodesIssues:b,loadItemsDisabled:C,handleLoadItems:P,handleSortItems:I})})})]})]})]})};en.displayName="StakingPage";var ei=(0,s.memo)(en),es=(0,i.ZP)("h1").withConfig({displayName:"cmp___StyledH",componentId:"sc-ujps5p-0"})({marginBottom:"2rem"}),er=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv",componentId:"sc-ujps5p-1"})({display:"flex",flexWrap:"wrap",alignItems:"flex-start",gap:"1.5rem","@media (min-width: 87.5rem)":{flexWrap:"nowrap"}}),el=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv2",componentId:"sc-ujps5p-2"})({flex:"1 1 auto",alignSelf:"stretch"}),eo=(0,i.ZP)("h2").withConfig({displayName:"cmp___StyledH2",componentId:"sc-ujps5p-3"})({marginBottom:"0px"}),ed=(0,i.ZP)("strong").withConfig({displayName:"cmp___StyledStrong",componentId:"sc-ujps5p-4"})({fontWeight:"700"}),ec=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv3",componentId:"sc-ujps5p-5"})({display:"flex",maxWidth:"100%",flex:"1 1 auto",flexWrap:"wrap",alignItems:"stretch",gap:"1.5rem","@media (min-width: 87.5rem)":{flex:"none",flexWrap:"nowrap"}}),em=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv4",componentId:"sc-ujps5p-6"})({maxWidth:"100%",flex:"1 1 auto","@media (min-width: 87.5rem)":{flex:"none"}}),ep=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv5",componentId:"sc-ujps5p-7"})({display:"flex",flex:"1 1 auto",flexWrap:"wrap",alignItems:"stretch",gap:"1.5rem","@media (min-width: 36rem)":{flexWrap:"nowrap"},"@media (min-width: 87.5rem)":{flex:"none"}}),eh=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv6",componentId:"sc-ujps5p-8"})({flex:"1 1 0%"}),eu=(0,i.ZP)("section").withConfig({displayName:"cmp___StyledSection",componentId:"sc-ujps5p-9"})({marginTop:"3.5rem"}),eg=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv7",componentId:"sc-ujps5p-10"})({marginBottom:"2rem",display:"flex",flexDirection:"column",flexWrap:"wrap",alignItems:"stretch",justifyContent:"space-between",gap:"2.5rem","@media (min-width: 48rem)":{flexDirection:"row",alignItems:"flex-end"}}),ex=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv8",componentId:"sc-ujps5p-11"})({display:"flex",flexDirection:"column",flexWrap:"wrap",alignItems:"flex-start",gap:"2.5rem","@media (min-width: 36rem)":{flexDirection:"row",alignItems:"center",gap:"1rem"}}),ef=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv9",componentId:"sc-ujps5p-12"})({position:"relative"}),ey=(0,i.ZP)("div").withConfig({displayName:"cmp___StyledDiv10",componentId:"sc-ujps5p-13"})({marginLeft:"1rem",marginRight:"1rem",marginTop:"2.5rem",marginBottom:"2.5rem",textAlign:"center",opacity:"0.6"}),ew=ei}},function(e){e.O(0,[959,983,431,774,888,179],function(){return e(e.s=44994)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/_next/static/dCwRf9WFAVgz1IXJV9rkW/_buildManifest.js b/_next/static/dCwRf9WFAVgz1IXJV9rkW/_buildManifest.js deleted file mode 100644 index b5f2043..0000000 --- a/_next/static/dCwRf9WFAVgz1IXJV9rkW/_buildManifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__BUILD_MANIFEST=function(a,e,s,n,c,r){return{__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":["static/chunks/pages/index-0dc2b74c7817864a.js"],"/_error":["static/chunks/pages/_error-3f6d1c55bb8051ab.js"],"/_loading":["static/chunks/pages/_loading-a4a5af135c6d517d.js"],"/earn":["static/chunks/pages/earn-67f6a5ef85aa3b7d.js"],"/earn/ccn":[a,s,n,"static/chunks/pages/earn/ccn-f463fb340da453cc.js"],"/earn/ccn/new":[e,"static/chunks/pages/earn/ccn/new-59754ec9658cd3bd.js"],"/earn/ccn/[hash]":[a,e,c,r,"static/chunks/pages/earn/ccn/[hash]-8c974a7b05fbc7d0.js"],"/earn/crn":[a,s,"static/chunks/pages/earn/crn-c10341a97392c86e.js"],"/earn/crn/new":[e,"static/chunks/pages/earn/crn/new-204c5886ffde58c5.js"],"/earn/crn/[hash]":[a,e,c,r,"static/chunks/pages/earn/crn/[hash]-20887c281fb2db41.js"],"/earn/staking":[a,s,n,"static/chunks/pages/earn/staking-6e6f1d4dfa147114.js"],sortedPages:["/","/_app","/_error","/_loading","/earn","/earn/ccn","/earn/ccn/new","/earn/ccn/[hash]","/earn/crn","/earn/crn/new","/earn/crn/[hash]","/earn/staking"]}}("static/chunks/959-07d961f513f799a1.js","static/chunks/312-a3e00b089592b88f.js","static/chunks/983-3ac0cd224a93f0b1.js","static/chunks/431-9d2d6aecf439e349.js","static/chunks/505-6dcc0e2dcbcf1875.js","static/chunks/903-ae8e1e2999ba79a3.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/earn/ccn/[hash]/index.html b/earn/ccn/[hash]/index.html index c584a70..ab730e8 100644 --- a/earn/ccn/[hash]/index.html +++ b/earn/ccn/[hash]/index.html @@ -1,4 +1,4 @@ -Aleph.im | CCN Detail

NONE

GENERAL INFO
STATUS
waiting
NAME
ASN
OWNER
NONE
REWARD ADDRESS
NONE
MULTI ADDRESS
NONE
ADDITIONAL SETTINGS
MANAGER
NONE
REGISTRATION URL
NONE
UNLOCKED
REWARD INDICATORS
VERSION
BASE LATENCY
AGGREGATE LATENCY
FILE DOWNLOAD LATENCY
METRICS LATENCY
ETH HEIGHT REMAINING
LAST CHECK
linked resources
of 5 linked
POTENTIAL REWARD
ESTIMATED MONTHLY REWARD
0
LINKED RESOURCES
not linked
not linked
not linked
not linked
not linked
PERFORMANCE
TOTAL STAKED
n/a
CREATION TIME
\ No newline at end of file +data-styled.g314[id="cmp__StyledCustomIcon-sc-123qbte-0"]{content:"kJrizP,gNFVDG,"}/*!sc*/ +

NONE

GENERAL INFO
STATUS
waiting
NAME
ASN
OWNER
NONE
REWARD ADDRESS
NONE
MULTI ADDRESS
NONE
ADDITIONAL SETTINGS
MANAGER
NONE
REGISTRATION URL
NONE
UNLOCKED
REWARD INDICATORS
VERSION
BASE LATENCY
AGGREGATE LATENCY
FILE DOWNLOAD LATENCY
METRICS LATENCY
ETH HEIGHT REMAINING
LAST CHECK
linked resources
of 5 linked
POTENTIAL REWARD
ESTIMATED MONTHLY REWARD
0
LINKED RESOURCES
not linked
not linked
not linked
not linked
not linked
PERFORMANCE
TOTAL STAKED
n/a
CREATION TIME
\ No newline at end of file diff --git a/earn/ccn/index.html b/earn/ccn/index.html index 7183998..1f64bd4 100644 --- a/earn/ccn/index.html +++ b/earn/ccn/index.html @@ -1,4 +1,4 @@ -Aleph.im | Account

Core nodes

CCN NETWORK HEALTH

Core nodes

CCN NETWORK HEALTH

What is a core node?

CCNs are the cornerstone of Aleph.im, responsible for the security and functionality of our peer-to-peer network. These dedicated nodes, backed by a commitment of 200,000 Aleph tokens, play a pivotal role in network control and governance. As non-custodial operators, they are at the forefront of Aleph.im's innovative ecosystem. For more information on how to set up a node and detailed technical and token requirements, please visit our

Node Setup Guide
\ No newline at end of file + 50.000000000000014,14 Z" role="img">

What is a core node?

CCNs are the cornerstone of Aleph.im, responsible for the security and functionality of our peer-to-peer network. These dedicated nodes, backed by a commitment of 200,000 Aleph tokens, play a pivotal role in network control and governance. As non-custodial operators, they are at the forefront of Aleph.im's innovative ecosystem. For more information on how to set up a node and detailed technical and token requirements, please visit our

Node Setup Guide
\ No newline at end of file diff --git a/earn/ccn/new/index.html b/earn/ccn/new/index.html index e38d7ab..7972d36 100644 --- a/earn/ccn/new/index.html +++ b/earn/ccn/new/index.html @@ -1,4 +1,4 @@ -Aleph.im | Create CCN

Create core node

01Set a name

Your node name should be short and meaningful.

Node name *

You can change this later if you want, even add a picture and description.

02Set multiaddress

The physical node has unique identifier called multiaddress. It links the physical node with the interface. Can be setup later on the info page of the node or here if the physical node is running. The link below explains in detail the install procedure and how to retrieve the multiaddress.

Set multiaddress *
Cancel
\ No newline at end of file +data-styled.g394[id="cmp__StyledCustomIcon-sc-123qbte-0"]{content:"kJrizP,gNFVDG,"}/*!sc*/ +

Create core node

01Set a name

Your node name should be short and meaningful.

Node name *

You can change this later if you want, even add a picture and description.

02Set multiaddress

The physical node has unique identifier called multiaddress. It links the physical node with the interface. Can be setup later on the info page of the node or here if the physical node is running. The link below explains in detail the install procedure and how to retrieve the multiaddress.

Set multiaddress *
Cancel
\ No newline at end of file diff --git a/earn/crn/[hash]/index.html b/earn/crn/[hash]/index.html index 2e9f44c..d71289b 100644 --- a/earn/crn/[hash]/index.html +++ b/earn/crn/[hash]/index.html @@ -1,4 +1,4 @@ -Aleph.im | CRN Detail

NONE

GENERAL INFO
STATUS
waiting
NAME
ASN
OWNER
NONE
REWARD ADDRESS
NONE
STREAM REWARD ADDRESS
NONE
ADDRESS
NONE
HARDWARE
CPU
CPU ARCHITECTURE
CPU COUNT
CPU FREQUENCY
0.00 GHz
RAM
n/a
HDD
n/a
Create Instance
Not eligible for pay-as-you-go (PAYG)
REWARD INDICATORS
NODES ON ASN
VERSION
BASE LATENCY
LAST CHECK
POTENTIAL REWARD
ESTIMATED MONTHLY REWARD
0
LINKED CORE NODE
not linked
DECENTRALIZED SCORE
PERFORMANCE
CREATION TIME
\ No newline at end of file +data-styled.g394[id="cmp__StyledCustomIcon-sc-123qbte-0"]{content:"kJrizP,gNFVDG,"}/*!sc*/ +

NONE

GENERAL INFO
STATUS
waiting
NAME
ASN
OWNER
NONE
REWARD ADDRESS
NONE
STREAM REWARD ADDRESS
NONE
ADDRESS
NONE
HARDWARE
CPU
CPU ARCHITECTURE
CPU COUNT
CPU FREQUENCY
0.00 GHz
RAM
n/a
HDD
n/a
Create Instance
Not eligible for pay-as-you-go (PAYG)
REWARD INDICATORS
NODES ON ASN
VERSION
BASE LATENCY
LAST CHECK
POTENTIAL REWARD
ESTIMATED MONTHLY REWARD
0
LINKED CORE NODE
not linked
DECENTRALIZED SCORE
PERFORMANCE
CREATION TIME
\ No newline at end of file diff --git a/earn/crn/index.html b/earn/crn/index.html index a33291b..16542b9 100644 --- a/earn/crn/index.html +++ b/earn/crn/index.html @@ -1,4 +1,4 @@ -Aleph.im | Account

Compute nodes

CRN NETWORK HEALTH

Compute nodes

CRN NETWORK HEALTH

0
0 nodes
active nodes
0 nodes
50% < 80%
0 nodes
< 50%
0 nodes
other

TOP HOSTING PROVIDER

Provider 0
1 nodes (25%)
Provider 1
1 nodes (25%)
Provider 2
1 nodes (25%)
others
1 nodes (25%)

TOTAL NETWORK RESOURCES

-
CPU
-
RAM
-
HDD
Total amount of resources on the network.
0

What is a compute node?

Anyone can set up a Compute Resource Node (CRN) to contribute to our decentralized network. These nodes play a crucial role in our ecosystem, enabling various services. While no commitment is needed to establish a CRN, to unlock a minimum wage for your CRN, it needs the endorsement of a Core Channel Node (CCN). A CCN operator can vouch for up to five CRNs, ensuring fair and balanced participation.

Node Setup Guide
\ No newline at end of file + 50.000000000000014,14 Z" role="img">0
0 nodes
active nodes
0 nodes
50% < 80%
0 nodes
< 50%
0 nodes
other

TOP HOSTING PROVIDER

Provider 0
1 nodes (25%)
Provider 1
1 nodes (25%)
Provider 2
1 nodes (25%)
others
1 nodes (25%)

TOTAL NETWORK RESOURCES

-
CPU
-
RAM
-
HDD
Total amount of resources on the network.
0

What is a compute node?

Anyone can set up a Compute Resource Node (CRN) to contribute to our decentralized network. These nodes play a crucial role in our ecosystem, enabling various services. While no commitment is needed to establish a CRN, to unlock a minimum wage for your CRN, it needs the endorsement of a Core Channel Node (CCN). A CCN operator can vouch for up to five CRNs, ensuring fair and balanced participation.

Node Setup Guide
\ No newline at end of file diff --git a/earn/crn/new/index.html b/earn/crn/new/index.html index 13762d7..3093e13 100644 --- a/earn/crn/new/index.html +++ b/earn/crn/new/index.html @@ -1,4 +1,4 @@ -Aleph.im | Create CRN

Create compute resource node

01Set a name

Your node name should be short and meaningful.

Node name *

You can change this later if you want, even add a picture and description.

02Set address

The physical node has a unique identifier address. It links the wallet and interface to the physical node. This address is mandatory to proceed and the install procedure below will explain how to retrieve this address.

Cancel
\ No newline at end of file +data-styled.g367[id="cmp__StyledCustomIcon-sc-123qbte-0"]{content:"kJrizP,gNFVDG,"}/*!sc*/ +

Create compute resource node

01Set a name

Your node name should be short and meaningful.

Node name *

You can change this later if you want, even add a picture and description.

02Set address

The physical node has a unique identifier address. It links the wallet and interface to the physical node. This address is mandatory to proceed and the install procedure below will explain how to retrieve this address.

Cancel
\ No newline at end of file diff --git a/earn/index.html b/earn/index.html index ab3f0de..a58be69 100644 --- a/earn/index.html +++ b/earn/index.html @@ -1,4 +1,4 @@ - \ No newline at end of file +data-styled.g367[id="cmp__StyledCustomIcon-sc-123qbte-0"]{content:"kJrizP,gNFVDG,"}/*!sc*/ + \ No newline at end of file diff --git a/earn/staking/index.html b/earn/staking/index.html index 4a6026e..41f186c 100644 --- a/earn/staking/index.html +++ b/earn/staking/index.html @@ -1,4 +1,4 @@ -Aleph.im | Account

Staking

What is staking with Aleph.im?

What is staking with Aleph.im? Staking is the heartbeat of our dynamic peer-to-peer network, driving security, decentralization, and rewards. With a minimum of 10,000 Aleph tokens, stakeholders form the network's foundation. Rewards are distributed every 10 days and are auto-compounded, allowing your stake to grow organically. The APY depends on factors like linked Compute Resource Nodes (CRNs) and node scoring, ensuring a fair and dynamic experience. Aleph.im staking empowers you to control the controllers, shaping decentralized connectivity while earning rewards. Plus, it's non-custodial. Join us today!

REWARD CALCULATOR

Amount staked
Rewards per day0
Current APY0.00%

STAKED

Staking

What is staking with Aleph.im?

What is staking with Aleph.im? Staking is the heartbeat of our dynamic peer-to-peer network, driving security, decentralization, and rewards. With a minimum of 10,000 Aleph tokens, stakeholders form the network's foundation. Rewards are distributed every 10 days and are auto-compounded, allowing your stake to grow organically. The APY depends on factors like linked Compute Resource Nodes (CRNs) and node scoring, ensuring a fair and dynamic experience. Aleph.im staking empowers you to control the controllers, shaping decentralized connectivity while earning rewards. Plus, it's non-custodial. Join us today!

REWARD CALCULATOR

Amount staked
Rewards per day0
Current APY0.00%

STAKED

0.00M
Stakers
0.00M
Node operators
\ No newline at end of file + 50.000000000000014,14 Z" role="img">
0.00M
Stakers
0.00M
Node operators
\ No newline at end of file diff --git a/index.html b/index.html index 64b708b..7dd4405 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ - \ No newline at end of file +data-styled.g367[id="cmp__StyledCustomIcon-sc-123qbte-0"]{content:"kJrizP,gNFVDG,"}/*!sc*/ + \ No newline at end of file